diff --git a/.github/workflows/pythonpackage.yml b/.github/workflows/pythonpackage.yml deleted file mode 100644 index 062d46523..000000000 --- a/.github/workflows/pythonpackage.yml +++ /dev/null @@ -1,155 +0,0 @@ -name: Build and update documentation - -# Daily at 23 pm -on: - schedule: - - cron: '0 23 * * *' - -# Branch where translation takes place -env: - BRANCH: '3.10' - -jobs: - - # Job to pull, build and push translations from Transifex to the repository - update: - if: (github.event_name == 'schedule' && github.repository == 'python/python-docs-pt-br') || (github.event_name != 'schedule') - runs-on: ubuntu-latest - strategy: - max-parallel: 4 - steps: - - uses: actions/checkout@v2 - with: - ref: ${{ env.BRANCH }} - - uses: actions/setup-python@v2 - with: - python-version: 3.8 - - run: sudo apt update - - run: sudo apt install -y gettext - - run: make tx-config - - name: Run make pull - run: | - if [[ -n "$TRANSIFEX_APIKEY" ]]; then - echo -e "[https://www.transifex.com]\n" \ - "api_hostname = https://api.transifex.com\n" \ - "hostname = https://www.transifex.com\n" \ - "password = $TRANSIFEX_APIKEY\n" \ - "username = api" \ - > ~/.transifexrc - fi - make pull - git status --short - env: - TRANSIFEX_APIKEY: ${{ secrets.TRANSIFEX_APIKEY }} - - run: make build CPYTHON_PATH=/tmp/cpython/ SPHINXERRORHANDLING='' - - name: Run make push - run: | - git config user.email "github-actions[bot]@users.noreply.github.com" - git config user.name "github-actions[bot]" - make push - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - - uses: appleboy/telegram-action@master - if: ${{ failure() }} - with: - to: ${{ secrets.TELEGRAM_TO }} - token: ${{ secrets.TELEGRAM_TOKEN }} - format: markdown - args: "❌ Falha na execução do workflow, job *${{ github.job }}* (ID *${{ github.run_id }}*). [Saiba mais sobre o erro...](https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }})" - - # Job to check spelling of translations - spellcheck: - if: (github.event_name == 'schedule' && github.repository == 'python/python-docs-pt-br') || (github.event_name != 'schedule') - needs: update - runs-on: ubuntu-latest - strategy: - max-parallel: 4 - steps: - - uses: actions/checkout@v2 - with: - ref: ${{ env.BRANCH }} - - uses: actions/setup-python@v2 - - run: sudo apt update - - run: sudo apt install -y gettext hunspell hunspell-pt-br - - name: Run make spell - run: | - make spell - cd .pospell/ - tar -czf ../pospell-out.tar.gz *.txt **/*.txt - - name: Update artifact spellchecking-output - uses: actions/upload-artifact@v2 - with: - name: spellchecking-output - path: pospell-out.tar.gz - - # Job to create a compendium to ease searching translated strings - compendium: - if: (github.event_name == 'schedule' && github.repository == 'python/python-docs-pt-br') || (github.event_name != 'schedule') - needs: update - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v2 - with: - ref: ${{ env.BRANCH }} - - uses: actions/setup-python@v2 - - run: pip install translate-toolkit powrap - - run: sudo apt update - - run: sudo apt install -y gettext - - run: pocompendium --correct compendium.po *.po **/*.po - - run: powrap --no-wrap compendium.po - - run: tar -czf compendium.tar.gz compendium.po - - name: Update artifact spellchecking-output - uses: actions/upload-artifact@v2 - with: - name: compendium - path: compendium.tar.gz - - # Job to merge translation from current BRANCH to older ones - merge: - if: (github.event_name == 'schedule' && github.repository == 'python/python-docs-pt-br') || (github.event_name != 'schedule') - needs: update - runs-on: ubuntu-latest - strategy: - max-parallel: 4 - steps: - - uses: actions/checkout@v2 - with: - ref: ${{ env.BRANCH }} - - run: git fetch --no-tags --prune --depth=1 origin +refs/heads/*:refs/remotes/origin/* - - uses: actions/setup-python@v2 - - run: sudo apt update - - run: sudo apt install -y gettext - - name: Run make push - run: | - git config user.email "github-actions[bot]@users.noreply.github.com" - git config user.name "github-actions[bot]" - make merge - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - - # Job to build translated documentation treating warnings as errors - build-warn-as-err: - if: (github.event_name == 'schedule' && github.repository == 'python/python-docs-pt-br') || (github.event_name != 'schedule') - needs: update - runs-on: ubuntu-latest - strategy: - max-parallel: 4 - steps: - - uses: actions/checkout@v2 - with: - ref: ${{ env.BRANCH }} - - uses: actions/setup-python@v2 - - run: make build CPYTHON_PATH=/tmp/cpython/ 2> >(tee -a build-log.txt >&2) - - name: Update artifact build-output - if: ${{ failure() }} - uses: actions/upload-artifact@v2 - with: - name: build-output - path: build-log.txt - - uses: appleboy/telegram-action@master - if: ${{ failure() }} - with: - to: ${{ secrets.TELEGRAM_TO }} - token: ${{ secrets.TELEGRAM_TOKEN }} - format: markdown - args: "❌ Falha na execução do workflow, job *${{ github.job }}* (ID *${{ github.run_id }}*). [Saiba mais sobre o erro...](https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }})" diff --git a/.gitignore b/.gitignore index 8489204af..2a2ef4431 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,9 @@ +# we want only the PO files *.mo -.tx/**/*.po -venv/ -.pospell/ +*.po~ + +# cpython checkout shouldn't be added +cpython/ + +# do not include potodo temporary file +.potodo/ diff --git a/.tx/config b/.tx/config index fa748feb0..76c2d8c75 100644 --- a/.tx/config +++ b/.tx/config @@ -1,2442 +1,3907 @@ [main] host = https://www.transifex.com -[python-newest.about] -trans.pt_BR = about.po -source_lang = en -type = PO - -[python-newest.bugs] -trans.pt_BR = bugs.po -source_lang = en -type = PO - -[python-newest.contents] -trans.pt_BR = contents.po -source_lang = en -type = PO - -[python-newest.copyright] -trans.pt_BR = copyright.po -source_lang = en -type = PO - -[python-newest.glossary_] -trans.pt_BR = glossary.po -source_lang = en -type = PO - -[python-newest.license] -trans.pt_BR = license.po -source_lang = en -type = PO - -[python-newest.sphinx] -trans.pt_BR = sphinx.po -source_lang = en -type = PO - -[python-newest.c-api--abstract] -trans.pt_BR = c-api/abstract.po -source_lang = en -type = PO - -[python-newest.c-api--allocation] -trans.pt_BR = c-api/allocation.po -source_lang = en -type = PO - -[python-newest.c-api--apiabiversion] -trans.pt_BR = c-api/apiabiversion.po -source_lang = en -type = PO - -[python-newest.c-api--arg] -trans.pt_BR = c-api/arg.po -source_lang = en -type = PO - -[python-newest.c-api--bool] -trans.pt_BR = c-api/bool.po -source_lang = en -type = PO - -[python-newest.c-api--buffer] -trans.pt_BR = c-api/buffer.po -source_lang = en -type = PO - -[python-newest.c-api--bytearray] -trans.pt_BR = c-api/bytearray.po -source_lang = en -type = PO - -[python-newest.c-api--bytes] -trans.pt_BR = c-api/bytes.po -source_lang = en -type = PO - -[python-newest.c-api--call] -trans.pt_BR = c-api/call.po -source_lang = en -type = PO - -[python-newest.c-api--capsule] -trans.pt_BR = c-api/capsule.po -source_lang = en -type = PO - -[python-newest.c-api--cell] -trans.pt_BR = c-api/cell.po -source_lang = en -type = PO - -[python-newest.c-api--code] -trans.pt_BR = c-api/code.po -source_lang = en -type = PO - -[python-newest.c-api--codec] -trans.pt_BR = c-api/codec.po -source_lang = en -type = PO - -[python-newest.c-api--complex] -trans.pt_BR = c-api/complex.po -source_lang = en -type = PO - -[python-newest.c-api--concrete] -trans.pt_BR = c-api/concrete.po -source_lang = en -type = PO - -[python-newest.c-api--contextvars] -trans.pt_BR = c-api/contextvars.po -source_lang = en -type = PO - -[python-newest.c-api--conversion] -trans.pt_BR = c-api/conversion.po -source_lang = en -type = PO - -[python-newest.c-api--coro] -trans.pt_BR = c-api/coro.po -source_lang = en -type = PO - -[python-newest.c-api--datetime] -trans.pt_BR = c-api/datetime.po -source_lang = en -type = PO - -[python-newest.c-api--descriptor] -trans.pt_BR = c-api/descriptor.po -source_lang = en -type = PO - -[python-newest.c-api--dict] -trans.pt_BR = c-api/dict.po -source_lang = en -type = PO - -[python-newest.c-api--exceptions] -trans.pt_BR = c-api/exceptions.po -source_lang = en -type = PO - -[python-newest.c-api--file] -trans.pt_BR = c-api/file.po -source_lang = en -type = PO - -[python-newest.c-api--float] -trans.pt_BR = c-api/float.po -source_lang = en -type = PO - -[python-newest.c-api--function] -trans.pt_BR = c-api/function.po -source_lang = en -type = PO - -[python-newest.c-api--gcsupport] -trans.pt_BR = c-api/gcsupport.po -source_lang = en -type = PO - -[python-newest.c-api--gen] -trans.pt_BR = c-api/gen.po -source_lang = en -type = PO - -[python-newest.c-api--import] -trans.pt_BR = c-api/import.po -source_lang = en -type = PO - -[python-newest.c-api--index] -trans.pt_BR = c-api/index.po -source_lang = en -type = PO - -[python-newest.c-api--init] -trans.pt_BR = c-api/init.po -source_lang = en -type = PO - -[python-newest.c-api--init_config] -trans.pt_BR = c-api/init_config.po -source_lang = en -type = PO - -[python-newest.c-api--intro] -trans.pt_BR = c-api/intro.po -source_lang = en -type = PO - -[python-newest.c-api--iter] -trans.pt_BR = c-api/iter.po -source_lang = en -type = PO - -[python-newest.c-api--iterator] -trans.pt_BR = c-api/iterator.po -source_lang = en -type = PO - -[python-newest.c-api--list] -trans.pt_BR = c-api/list.po -source_lang = en -type = PO - -[python-newest.c-api--long] -trans.pt_BR = c-api/long.po -source_lang = en -type = PO - -[python-newest.c-api--mapping] -trans.pt_BR = c-api/mapping.po -source_lang = en -type = PO - -[python-newest.c-api--marshal] -trans.pt_BR = c-api/marshal.po -source_lang = en -type = PO - -[python-newest.c-api--memory] -trans.pt_BR = c-api/memory.po -source_lang = en -type = PO - -[python-newest.c-api--memoryview] -trans.pt_BR = c-api/memoryview.po -source_lang = en -type = PO - -[python-newest.c-api--method] -trans.pt_BR = c-api/method.po -source_lang = en -type = PO - -[python-newest.c-api--module] -trans.pt_BR = c-api/module.po -source_lang = en -type = PO - -[python-newest.c-api--none] -trans.pt_BR = c-api/none.po -source_lang = en -type = PO - -[python-newest.c-api--number] -trans.pt_BR = c-api/number.po -source_lang = en -type = PO - -[python-newest.c-api--objbuffer] -trans.pt_BR = c-api/objbuffer.po -source_lang = en -type = PO - -[python-newest.c-api--object] -trans.pt_BR = c-api/object.po -source_lang = en -type = PO - -[python-newest.c-api--objimpl] -trans.pt_BR = c-api/objimpl.po -source_lang = en -type = PO - -[python-newest.c-api--refcounting] -trans.pt_BR = c-api/refcounting.po -source_lang = en -type = PO - -[python-newest.c-api--reflection] -trans.pt_BR = c-api/reflection.po -source_lang = en -type = PO - -[python-newest.c-api--sequence] -trans.pt_BR = c-api/sequence.po -source_lang = en -type = PO - -[python-newest.c-api--set] -trans.pt_BR = c-api/set.po -source_lang = en -type = PO - -[python-newest.c-api--slice] -trans.pt_BR = c-api/slice.po -source_lang = en -type = PO - -[python-newest.c-api--stable] -trans.pt_BR = c-api/stable.po -source_lang = en -type = PO - -[python-newest.c-api--structures] -trans.pt_BR = c-api/structures.po -source_lang = en -type = PO - -[python-newest.c-api--sys] -trans.pt_BR = c-api/sys.po -source_lang = en -type = PO - -[python-newest.c-api--tuple] -trans.pt_BR = c-api/tuple.po -source_lang = en -type = PO - -[python-newest.c-api--type] -trans.pt_BR = c-api/type.po -source_lang = en -type = PO - -[python-newest.c-api--typehints] -trans.pt_BR = c-api/typehints.po -source_lang = en -type = PO - -[python-newest.c-api--typeobj] -trans.pt_BR = c-api/typeobj.po -source_lang = en -type = PO - -[python-newest.c-api--unicode] -trans.pt_BR = c-api/unicode.po -source_lang = en -type = PO - -[python-newest.c-api--utilities] -trans.pt_BR = c-api/utilities.po -source_lang = en -type = PO - -[python-newest.c-api--veryhigh] -trans.pt_BR = c-api/veryhigh.po -source_lang = en -type = PO - -[python-newest.c-api--weakref] -trans.pt_BR = c-api/weakref.po -source_lang = en -type = PO - -[python-newest.distributing--index] -trans.pt_BR = distributing/index.po -source_lang = en -type = PO - -[python-newest.distutils--_setuptools_disclaimer] -trans.pt_BR = distutils/_setuptools_disclaimer.po -source_lang = en -type = PO - -[python-newest.distutils--apiref] -trans.pt_BR = distutils/apiref.po -source_lang = en -type = PO - -[python-newest.distutils--builtdist] -trans.pt_BR = distutils/builtdist.po -source_lang = en -type = PO - -[python-newest.distutils--commandref] -trans.pt_BR = distutils/commandref.po -source_lang = en -type = PO - -[python-newest.distutils--configfile] -trans.pt_BR = distutils/configfile.po -source_lang = en -type = PO - -[python-newest.distutils--examples] -trans.pt_BR = distutils/examples.po -source_lang = en -type = PO - -[python-newest.distutils--extending] -trans.pt_BR = distutils/extending.po -source_lang = en -type = PO - -[python-newest.distutils--index] -trans.pt_BR = distutils/index.po -source_lang = en -type = PO - -[python-newest.distutils--introduction] -trans.pt_BR = distutils/introduction.po -source_lang = en -type = PO - -[python-newest.distutils--packageindex] -trans.pt_BR = distutils/packageindex.po -source_lang = en -type = PO - -[python-newest.distutils--setupscript] -trans.pt_BR = distutils/setupscript.po -source_lang = en -type = PO - -[python-newest.distutils--sourcedist] -trans.pt_BR = distutils/sourcedist.po -source_lang = en -type = PO - -[python-newest.distutils--uploading] -trans.pt_BR = distutils/uploading.po -source_lang = en -type = PO - -[python-newest.extending--building] -trans.pt_BR = extending/building.po -source_lang = en -type = PO - -[python-newest.extending--embedding] -trans.pt_BR = extending/embedding.po -source_lang = en -type = PO - -[python-newest.extending--extending] -trans.pt_BR = extending/extending.po -source_lang = en -type = PO - -[python-newest.extending--index] -trans.pt_BR = extending/index.po -source_lang = en -type = PO - -[python-newest.extending--newtypes] -trans.pt_BR = extending/newtypes.po -source_lang = en -type = PO - -[python-newest.extending--newtypes_tutorial] -trans.pt_BR = extending/newtypes_tutorial.po -source_lang = en -type = PO - -[python-newest.extending--windows] -trans.pt_BR = extending/windows.po -source_lang = en -type = PO - -[python-newest.faq--design] -trans.pt_BR = faq/design.po -source_lang = en -type = PO - -[python-newest.faq--extending] -trans.pt_BR = faq/extending.po -source_lang = en -type = PO - -[python-newest.faq--general] -trans.pt_BR = faq/general.po -source_lang = en -type = PO - -[python-newest.faq--gui] -trans.pt_BR = faq/gui.po -source_lang = en -type = PO - -[python-newest.faq--index] -trans.pt_BR = faq/index.po -source_lang = en -type = PO - -[python-newest.faq--installed] -trans.pt_BR = faq/installed.po -source_lang = en -type = PO - -[python-newest.faq--library] -trans.pt_BR = faq/library.po -source_lang = en -type = PO - -[python-newest.faq--programming] -trans.pt_BR = faq/programming.po -source_lang = en -type = PO - -[python-newest.faq--windows] -trans.pt_BR = faq/windows.po -source_lang = en -type = PO - -[python-newest.howto--annotations] -trans.pt_BR = howto/annotations.po -source_lang = en -type = PO - -[python-newest.howto--argparse] -trans.pt_BR = howto/argparse.po -source_lang = en -type = PO - -[python-newest.howto--clinic] -trans.pt_BR = howto/clinic.po -source_lang = en -type = PO - -[python-newest.howto--cporting] -trans.pt_BR = howto/cporting.po -source_lang = en -type = PO - -[python-newest.howto--curses] -trans.pt_BR = howto/curses.po -source_lang = en -type = PO - -[python-newest.howto--descriptor] -trans.pt_BR = howto/descriptor.po -source_lang = en -type = PO - -[python-newest.howto--functional] -trans.pt_BR = howto/functional.po -source_lang = en -type = PO - -[python-newest.howto--index] -trans.pt_BR = howto/index.po -source_lang = en -type = PO - -[python-newest.howto--instrumentation] -trans.pt_BR = howto/instrumentation.po -source_lang = en -type = PO - -[python-newest.howto--ipaddress] -trans.pt_BR = howto/ipaddress.po -source_lang = en -type = PO - -[python-newest.howto--logging-cookbook] -trans.pt_BR = howto/logging-cookbook.po -source_lang = en -type = PO - -[python-newest.howto--logging] -trans.pt_BR = howto/logging.po -source_lang = en -type = PO - -[python-newest.howto--pyporting] -trans.pt_BR = howto/pyporting.po -source_lang = en -type = PO - -[python-newest.howto--regex] -trans.pt_BR = howto/regex.po -source_lang = en -type = PO - -[python-newest.howto--sockets] -trans.pt_BR = howto/sockets.po -source_lang = en -type = PO - -[python-newest.howto--sorting] -trans.pt_BR = howto/sorting.po -source_lang = en -type = PO - -[python-newest.howto--unicode] -trans.pt_BR = howto/unicode.po -source_lang = en -type = PO - -[python-newest.howto--urllib2] -trans.pt_BR = howto/urllib2.po -source_lang = en -type = PO - -[python-newest.install--index] -trans.pt_BR = install/index.po -source_lang = en -type = PO - -[python-newest.installing--index] -trans.pt_BR = installing/index.po -source_lang = en -type = PO - -[python-newest.library--2to3] -trans.pt_BR = library/2to3.po -source_lang = en -type = PO - -[python-newest.library--__future__] -trans.pt_BR = library/__future__.po -source_lang = en -type = PO - -[python-newest.library--__main__] -trans.pt_BR = library/__main__.po -source_lang = en -type = PO - -[python-newest.library--_thread] -trans.pt_BR = library/_thread.po -source_lang = en -type = PO - -[python-newest.library--abc] -trans.pt_BR = library/abc.po -source_lang = en -type = PO - -[python-newest.library--aifc] -trans.pt_BR = library/aifc.po -source_lang = en -type = PO - -[python-newest.library--allos] -trans.pt_BR = library/allos.po -source_lang = en -type = PO - -[python-newest.library--archiving] -trans.pt_BR = library/archiving.po -source_lang = en -type = PO - -[python-newest.library--argparse] -trans.pt_BR = library/argparse.po -source_lang = en -type = PO - -[python-newest.library--array] -trans.pt_BR = library/array.po -source_lang = en -type = PO - -[python-newest.library--ast] -trans.pt_BR = library/ast.po -source_lang = en -type = PO - -[python-newest.library--asynchat] -trans.pt_BR = library/asynchat.po -source_lang = en -type = PO - -[python-newest.library--asyncio-api-index] -trans.pt_BR = library/asyncio-api-index.po -source_lang = en -type = PO - -[python-newest.library--asyncio-dev] -trans.pt_BR = library/asyncio-dev.po -source_lang = en -type = PO - -[python-newest.library--asyncio-eventloop] -trans.pt_BR = library/asyncio-eventloop.po -source_lang = en -type = PO - -[python-newest.library--asyncio-exceptions] -trans.pt_BR = library/asyncio-exceptions.po -source_lang = en -type = PO - -[python-newest.library--asyncio-future] -trans.pt_BR = library/asyncio-future.po -source_lang = en -type = PO - -[python-newest.library--asyncio-llapi-index] -trans.pt_BR = library/asyncio-llapi-index.po -source_lang = en -type = PO - -[python-newest.library--asyncio-platforms] -trans.pt_BR = library/asyncio-platforms.po -source_lang = en -type = PO - -[python-newest.library--asyncio-policy] -trans.pt_BR = library/asyncio-policy.po -source_lang = en -type = PO - -[python-newest.library--asyncio-protocol] -trans.pt_BR = library/asyncio-protocol.po -source_lang = en -type = PO - -[python-newest.library--asyncio-queue] -trans.pt_BR = library/asyncio-queue.po -source_lang = en -type = PO - -[python-newest.library--asyncio-stream] -trans.pt_BR = library/asyncio-stream.po -source_lang = en -type = PO - -[python-newest.library--asyncio-subprocess] -trans.pt_BR = library/asyncio-subprocess.po -source_lang = en -type = PO - -[python-newest.library--asyncio-sync] -trans.pt_BR = library/asyncio-sync.po -source_lang = en -type = PO - -[python-newest.library--asyncio-task] -trans.pt_BR = library/asyncio-task.po -source_lang = en -type = PO - -[python-newest.library--asyncio] -trans.pt_BR = library/asyncio.po -source_lang = en -type = PO - -[python-newest.library--asyncore] -trans.pt_BR = library/asyncore.po -source_lang = en -type = PO - -[python-newest.library--atexit] -trans.pt_BR = library/atexit.po -source_lang = en -type = PO - -[python-newest.library--audioop] -trans.pt_BR = library/audioop.po -source_lang = en -type = PO - -[python-newest.library--audit_events] -trans.pt_BR = library/audit_events.po -source_lang = en -type = PO - -[python-newest.library--base64] -trans.pt_BR = library/base64.po -source_lang = en -type = PO - -[python-newest.library--bdb] -trans.pt_BR = library/bdb.po -source_lang = en -type = PO - -[python-newest.library--binary] -trans.pt_BR = library/binary.po -source_lang = en -type = PO - -[python-newest.library--binascii] -trans.pt_BR = library/binascii.po -source_lang = en -type = PO - -[python-newest.library--binhex] -trans.pt_BR = library/binhex.po -source_lang = en -type = PO - -[python-newest.library--bisect] -trans.pt_BR = library/bisect.po -source_lang = en -type = PO - -[python-newest.library--builtins] -trans.pt_BR = library/builtins.po -source_lang = en -type = PO - -[python-newest.library--bz2] -trans.pt_BR = library/bz2.po -source_lang = en -type = PO - -[python-newest.library--calendar] -trans.pt_BR = library/calendar.po -source_lang = en -type = PO - -[python-newest.library--cgi] -trans.pt_BR = library/cgi.po -source_lang = en -type = PO - -[python-newest.library--cgitb] -trans.pt_BR = library/cgitb.po -source_lang = en -type = PO - -[python-newest.library--chunk] -trans.pt_BR = library/chunk.po -source_lang = en -type = PO - -[python-newest.library--cmath] -trans.pt_BR = library/cmath.po -source_lang = en -type = PO - -[python-newest.library--cmd] -trans.pt_BR = library/cmd.po -source_lang = en -type = PO - -[python-newest.library--code] -trans.pt_BR = library/code.po -source_lang = en -type = PO - -[python-newest.library--codecs] -trans.pt_BR = library/codecs.po -source_lang = en -type = PO - -[python-newest.library--codeop] -trans.pt_BR = library/codeop.po -source_lang = en -type = PO - -[python-newest.library--collections_abc] -trans.pt_BR = library/collections.abc.po -source_lang = en -type = PO - -[python-newest.library--collections] -trans.pt_BR = library/collections.po -source_lang = en -type = PO - -[python-newest.library--colorsys] -trans.pt_BR = library/colorsys.po -source_lang = en -type = PO - -[python-newest.library--compileall] -trans.pt_BR = library/compileall.po -source_lang = en -type = PO - -[python-newest.library--concurrency] -trans.pt_BR = library/concurrency.po -source_lang = en -type = PO - -[python-newest.library--concurrent_futures] -trans.pt_BR = library/concurrent.futures.po -source_lang = en -type = PO - -[python-newest.library--concurrent] -trans.pt_BR = library/concurrent.po -source_lang = en -type = PO - -[python-newest.library--configparser] -trans.pt_BR = library/configparser.po -source_lang = en -type = PO - -[python-newest.library--constants] -trans.pt_BR = library/constants.po -source_lang = en -type = PO - -[python-newest.library--contextlib] -trans.pt_BR = library/contextlib.po -source_lang = en -type = PO - -[python-newest.library--contextvars] -trans.pt_BR = library/contextvars.po -source_lang = en -type = PO - -[python-newest.library--copy] -trans.pt_BR = library/copy.po -source_lang = en -type = PO - -[python-newest.library--copyreg] -trans.pt_BR = library/copyreg.po -source_lang = en -type = PO - -[python-newest.library--crypt] -trans.pt_BR = library/crypt.po -source_lang = en -type = PO - -[python-newest.library--crypto] -trans.pt_BR = library/crypto.po -source_lang = en -type = PO - -[python-newest.library--csv] -trans.pt_BR = library/csv.po -source_lang = en -type = PO - -[python-newest.library--ctypes] -trans.pt_BR = library/ctypes.po -source_lang = en -type = PO - -[python-newest.library--curses_ascii] -trans.pt_BR = library/curses.ascii.po -source_lang = en -type = PO - -[python-newest.library--curses_panel] -trans.pt_BR = library/curses.panel.po -source_lang = en -type = PO - -[python-newest.library--curses] -trans.pt_BR = library/curses.po -source_lang = en -type = PO - -[python-newest.library--custominterp] -trans.pt_BR = library/custominterp.po -source_lang = en -type = PO - -[python-newest.library--dataclasses] -trans.pt_BR = library/dataclasses.po -source_lang = en -type = PO - -[python-newest.library--datatypes] -trans.pt_BR = library/datatypes.po -source_lang = en -type = PO - -[python-newest.library--datetime] -trans.pt_BR = library/datetime.po -source_lang = en -type = PO - -[python-newest.library--dbm] -trans.pt_BR = library/dbm.po -source_lang = en -type = PO - -[python-newest.library--debug] -trans.pt_BR = library/debug.po -source_lang = en -type = PO - -[python-newest.library--decimal] -trans.pt_BR = library/decimal.po -source_lang = en -type = PO - -[python-newest.library--development] -trans.pt_BR = library/development.po -source_lang = en -type = PO - -[python-newest.library--devmode] -trans.pt_BR = library/devmode.po -source_lang = en -type = PO - -[python-newest.library--dialog] -trans.pt_BR = library/dialog.po -source_lang = en -type = PO - -[python-newest.library--difflib] -trans.pt_BR = library/difflib.po -source_lang = en -type = PO - -[python-newest.library--dis] -trans.pt_BR = library/dis.po -source_lang = en -type = PO - -[python-newest.library--distribution] -trans.pt_BR = library/distribution.po -source_lang = en -type = PO - -[python-newest.library--distutils] -trans.pt_BR = library/distutils.po -source_lang = en -type = PO - -[python-newest.library--doctest] -trans.pt_BR = library/doctest.po -source_lang = en -type = PO - -[python-newest.library--email_charset] -trans.pt_BR = library/email.charset.po -source_lang = en -type = PO - -[python-newest.library--email_compat32-message] -trans.pt_BR = library/email.compat32-message.po -source_lang = en -type = PO - -[python-newest.library--email_contentmanager] -trans.pt_BR = library/email.contentmanager.po -source_lang = en -type = PO - -[python-newest.library--email_encoders] -trans.pt_BR = library/email.encoders.po -source_lang = en -type = PO - -[python-newest.library--email_errors] -trans.pt_BR = library/email.errors.po -source_lang = en -type = PO - -[python-newest.library--email_examples] -trans.pt_BR = library/email.examples.po -source_lang = en -type = PO - -[python-newest.library--email_generator] -trans.pt_BR = library/email.generator.po -source_lang = en -type = PO - -[python-newest.library--email_header] -trans.pt_BR = library/email.header.po -source_lang = en -type = PO - -[python-newest.library--email_headerregistry] -trans.pt_BR = library/email.headerregistry.po -source_lang = en -type = PO - -[python-newest.library--email_iterators] -trans.pt_BR = library/email.iterators.po -source_lang = en -type = PO - -[python-newest.library--email_message] -trans.pt_BR = library/email.message.po -source_lang = en -type = PO - -[python-newest.library--email_mime] -trans.pt_BR = library/email.mime.po -source_lang = en -type = PO - -[python-newest.library--email_parser] -trans.pt_BR = library/email.parser.po -source_lang = en -type = PO - -[python-newest.library--email_policy] -trans.pt_BR = library/email.policy.po -source_lang = en -type = PO - -[python-newest.library--email] -trans.pt_BR = library/email.po -source_lang = en -type = PO - -[python-newest.library--email_utils] -trans.pt_BR = library/email.utils.po -source_lang = en -type = PO - -[python-newest.library--ensurepip] -trans.pt_BR = library/ensurepip.po -source_lang = en -type = PO - -[python-newest.library--enum] -trans.pt_BR = library/enum.po -source_lang = en -type = PO - -[python-newest.library--errno] -trans.pt_BR = library/errno.po -source_lang = en -type = PO - -[python-newest.library--exceptions] -trans.pt_BR = library/exceptions.po -source_lang = en -type = PO - -[python-newest.library--faulthandler] -trans.pt_BR = library/faulthandler.po -source_lang = en -type = PO - -[python-newest.library--fcntl] -trans.pt_BR = library/fcntl.po -source_lang = en -type = PO - -[python-newest.library--filecmp] -trans.pt_BR = library/filecmp.po -source_lang = en -type = PO - -[python-newest.library--fileformats] -trans.pt_BR = library/fileformats.po -source_lang = en -type = PO - -[python-newest.library--fileinput] -trans.pt_BR = library/fileinput.po -source_lang = en -type = PO - -[python-newest.library--filesys] -trans.pt_BR = library/filesys.po -source_lang = en -type = PO - -[python-newest.library--fnmatch] -trans.pt_BR = library/fnmatch.po -source_lang = en -type = PO - -[python-newest.library--fractions] -trans.pt_BR = library/fractions.po -source_lang = en -type = PO - -[python-newest.library--frameworks] -trans.pt_BR = library/frameworks.po -source_lang = en -type = PO - -[python-newest.library--ftplib] -trans.pt_BR = library/ftplib.po -source_lang = en -type = PO - -[python-newest.library--functional] -trans.pt_BR = library/functional.po -source_lang = en -type = PO - -[python-newest.library--functions] -trans.pt_BR = library/functions.po -source_lang = en -type = PO - -[python-newest.library--functools] -trans.pt_BR = library/functools.po -source_lang = en -type = PO - -[python-newest.library--gc] -trans.pt_BR = library/gc.po -source_lang = en -type = PO - -[python-newest.library--getopt] -trans.pt_BR = library/getopt.po -source_lang = en -type = PO - -[python-newest.library--getpass] -trans.pt_BR = library/getpass.po -source_lang = en -type = PO - -[python-newest.library--gettext] -trans.pt_BR = library/gettext.po -source_lang = en -type = PO - -[python-newest.library--glob] -trans.pt_BR = library/glob.po -source_lang = en -type = PO - -[python-newest.library--graphlib] -trans.pt_BR = library/graphlib.po -source_lang = en -type = PO - -[python-newest.library--grp] -trans.pt_BR = library/grp.po -source_lang = en -type = PO - -[python-newest.library--gzip] -trans.pt_BR = library/gzip.po -source_lang = en -type = PO - -[python-newest.library--hashlib] -trans.pt_BR = library/hashlib.po -source_lang = en -type = PO - -[python-newest.library--heapq] -trans.pt_BR = library/heapq.po -source_lang = en -type = PO - -[python-newest.library--hmac] -trans.pt_BR = library/hmac.po -source_lang = en -type = PO - -[python-newest.library--html_entities] -trans.pt_BR = library/html.entities.po -source_lang = en -type = PO - -[python-newest.library--html_parser] -trans.pt_BR = library/html.parser.po -source_lang = en -type = PO - -[python-newest.library--html] -trans.pt_BR = library/html.po -source_lang = en -type = PO - -[python-newest.library--http_client] -trans.pt_BR = library/http.client.po -source_lang = en -type = PO - -[python-newest.library--http_cookiejar] -trans.pt_BR = library/http.cookiejar.po -source_lang = en -type = PO - -[python-newest.library--http_cookies] -trans.pt_BR = library/http.cookies.po -source_lang = en -type = PO - -[python-newest.library--http] -trans.pt_BR = library/http.po -source_lang = en -type = PO - -[python-newest.library--http_server] -trans.pt_BR = library/http.server.po -source_lang = en -type = PO - -[python-newest.library--i18n] -trans.pt_BR = library/i18n.po -source_lang = en -type = PO - -[python-newest.library--idle] -trans.pt_BR = library/idle.po -source_lang = en -type = PO - -[python-newest.library--imaplib] -trans.pt_BR = library/imaplib.po -source_lang = en -type = PO - -[python-newest.library--imghdr] -trans.pt_BR = library/imghdr.po -source_lang = en -type = PO - -[python-newest.library--imp] -trans.pt_BR = library/imp.po -source_lang = en -type = PO - -[python-newest.library--importlib_metadata] -trans.pt_BR = library/importlib.metadata.po -source_lang = en -type = PO - -[python-newest.library--importlib] -trans.pt_BR = library/importlib.po -source_lang = en -type = PO - -[python-newest.library--index] -trans.pt_BR = library/index.po -source_lang = en -type = PO - -[python-newest.library--inspect] -trans.pt_BR = library/inspect.po -source_lang = en -type = PO - -[python-newest.library--internet] -trans.pt_BR = library/internet.po -source_lang = en -type = PO - -[python-newest.library--intro] -trans.pt_BR = library/intro.po -source_lang = en -type = PO - -[python-newest.library--io] -trans.pt_BR = library/io.po -source_lang = en -type = PO - -[python-newest.library--ipaddress] -trans.pt_BR = library/ipaddress.po -source_lang = en -type = PO - -[python-newest.library--ipc] -trans.pt_BR = library/ipc.po -source_lang = en -type = PO - -[python-newest.library--itertools] -trans.pt_BR = library/itertools.po -source_lang = en -type = PO - -[python-newest.library--json] -trans.pt_BR = library/json.po -source_lang = en -type = PO - -[python-newest.library--keyword] -trans.pt_BR = library/keyword.po -source_lang = en -type = PO - -[python-newest.library--language] -trans.pt_BR = library/language.po -source_lang = en -type = PO - -[python-newest.library--linecache] -trans.pt_BR = library/linecache.po -source_lang = en -type = PO - -[python-newest.library--locale] -trans.pt_BR = library/locale.po -source_lang = en -type = PO - -[python-newest.library--logging_config] -trans.pt_BR = library/logging.config.po -source_lang = en -type = PO - -[python-newest.library--logging_handlers] -trans.pt_BR = library/logging.handlers.po -source_lang = en -type = PO - -[python-newest.library--logging] -trans.pt_BR = library/logging.po -source_lang = en -type = PO - -[python-newest.library--lzma] -trans.pt_BR = library/lzma.po -source_lang = en -type = PO - -[python-newest.library--mailbox] -trans.pt_BR = library/mailbox.po -source_lang = en -type = PO - -[python-newest.library--mailcap] -trans.pt_BR = library/mailcap.po -source_lang = en -type = PO - -[python-newest.library--markup] -trans.pt_BR = library/markup.po -source_lang = en -type = PO - -[python-newest.library--marshal] -trans.pt_BR = library/marshal.po -source_lang = en -type = PO - -[python-newest.library--math] -trans.pt_BR = library/math.po -source_lang = en -type = PO - -[python-newest.library--mimetypes] -trans.pt_BR = library/mimetypes.po -source_lang = en -type = PO - -[python-newest.library--mm] -trans.pt_BR = library/mm.po -source_lang = en -type = PO - -[python-newest.library--mmap] -trans.pt_BR = library/mmap.po -source_lang = en -type = PO - -[python-newest.library--modulefinder] -trans.pt_BR = library/modulefinder.po -source_lang = en -type = PO - -[python-newest.library--modules] -trans.pt_BR = library/modules.po -source_lang = en -type = PO - -[python-newest.library--msilib] -trans.pt_BR = library/msilib.po -source_lang = en -type = PO - -[python-newest.library--msvcrt] -trans.pt_BR = library/msvcrt.po -source_lang = en -type = PO - -[python-newest.library--multiprocessing] -trans.pt_BR = library/multiprocessing.po -source_lang = en -type = PO - -[python-newest.library--multiprocessing_shared_memory] -trans.pt_BR = library/multiprocessing.shared_memory.po -source_lang = en -type = PO - -[python-newest.library--netdata] -trans.pt_BR = library/netdata.po -source_lang = en -type = PO - -[python-newest.library--netrc] -trans.pt_BR = library/netrc.po -source_lang = en -type = PO - -[python-newest.library--nis] -trans.pt_BR = library/nis.po -source_lang = en -type = PO - -[python-newest.library--nntplib] -trans.pt_BR = library/nntplib.po -source_lang = en -type = PO - -[python-newest.library--numbers] -trans.pt_BR = library/numbers.po -source_lang = en -type = PO - -[python-newest.library--numeric] -trans.pt_BR = library/numeric.po -source_lang = en -type = PO - -[python-newest.library--operator] -trans.pt_BR = library/operator.po -source_lang = en -type = PO - -[python-newest.library--optparse] -trans.pt_BR = library/optparse.po -source_lang = en -type = PO - -[python-newest.library--os_path] -trans.pt_BR = library/os.path.po -source_lang = en -type = PO - -[python-newest.library--os] -trans.pt_BR = library/os.po -source_lang = en -type = PO - -[python-newest.library--ossaudiodev] -trans.pt_BR = library/ossaudiodev.po -source_lang = en -type = PO - -[python-newest.library--pathlib] -trans.pt_BR = library/pathlib.po -source_lang = en -type = PO - -[python-newest.library--pdb] -trans.pt_BR = library/pdb.po -source_lang = en -type = PO - -[python-newest.library--persistence] -trans.pt_BR = library/persistence.po -source_lang = en -type = PO - -[python-newest.library--pickle] -trans.pt_BR = library/pickle.po -source_lang = en -type = PO - -[python-newest.library--pickletools] -trans.pt_BR = library/pickletools.po -source_lang = en -type = PO - -[python-newest.library--pipes] -trans.pt_BR = library/pipes.po -source_lang = en -type = PO - -[python-newest.library--pkgutil] -trans.pt_BR = library/pkgutil.po -source_lang = en -type = PO - -[python-newest.library--platform] -trans.pt_BR = library/platform.po -source_lang = en -type = PO - -[python-newest.library--plistlib] -trans.pt_BR = library/plistlib.po -source_lang = en -type = PO - -[python-newest.library--poplib] -trans.pt_BR = library/poplib.po -source_lang = en -type = PO - -[python-newest.library--posix] -trans.pt_BR = library/posix.po -source_lang = en -type = PO - -[python-newest.library--pprint] -trans.pt_BR = library/pprint.po -source_lang = en -type = PO - -[python-newest.library--profile] -trans.pt_BR = library/profile.po -source_lang = en -type = PO - -[python-newest.library--pty] -trans.pt_BR = library/pty.po -source_lang = en -type = PO - -[python-newest.library--pwd] -trans.pt_BR = library/pwd.po -source_lang = en -type = PO - -[python-newest.library--py_compile] -trans.pt_BR = library/py_compile.po -source_lang = en -type = PO - -[python-newest.library--pyclbr] -trans.pt_BR = library/pyclbr.po -source_lang = en -type = PO - -[python-newest.library--pydoc] -trans.pt_BR = library/pydoc.po -source_lang = en -type = PO - -[python-newest.library--pyexpat] -trans.pt_BR = library/pyexpat.po -source_lang = en -type = PO - -[python-newest.library--python] -trans.pt_BR = library/python.po -source_lang = en -type = PO - -[python-newest.library--queue] -trans.pt_BR = library/queue.po -source_lang = en -type = PO - -[python-newest.library--quopri] -trans.pt_BR = library/quopri.po -source_lang = en -type = PO - -[python-newest.library--random] -trans.pt_BR = library/random.po -source_lang = en -type = PO - -[python-newest.library--re] -trans.pt_BR = library/re.po -source_lang = en -type = PO - -[python-newest.library--readline] -trans.pt_BR = library/readline.po -source_lang = en -type = PO - -[python-newest.library--reprlib] -trans.pt_BR = library/reprlib.po -source_lang = en -type = PO - -[python-newest.library--resource] -trans.pt_BR = library/resource.po -source_lang = en -type = PO - -[python-newest.library--rlcompleter] -trans.pt_BR = library/rlcompleter.po -source_lang = en -type = PO - -[python-newest.library--runpy] -trans.pt_BR = library/runpy.po -source_lang = en -type = PO - -[python-newest.library--sched] -trans.pt_BR = library/sched.po -source_lang = en -type = PO - -[python-newest.library--secrets] -trans.pt_BR = library/secrets.po -source_lang = en -type = PO - -[python-newest.library--security_warnings] -trans.pt_BR = library/security_warnings.po -source_lang = en -type = PO - -[python-newest.library--select] -trans.pt_BR = library/select.po -source_lang = en -type = PO - -[python-newest.library--selectors] -trans.pt_BR = library/selectors.po -source_lang = en -type = PO - -[python-newest.library--shelve] -trans.pt_BR = library/shelve.po -source_lang = en -type = PO - -[python-newest.library--shlex] -trans.pt_BR = library/shlex.po -source_lang = en -type = PO - -[python-newest.library--shutil] -trans.pt_BR = library/shutil.po -source_lang = en -type = PO - -[python-newest.library--signal] -trans.pt_BR = library/signal.po -source_lang = en -type = PO - -[python-newest.library--site] -trans.pt_BR = library/site.po -source_lang = en -type = PO - -[python-newest.library--smtpd] -trans.pt_BR = library/smtpd.po -source_lang = en -type = PO - -[python-newest.library--smtplib] -trans.pt_BR = library/smtplib.po -source_lang = en -type = PO - -[python-newest.library--sndhdr] -trans.pt_BR = library/sndhdr.po -source_lang = en -type = PO - -[python-newest.library--socket] -trans.pt_BR = library/socket.po -source_lang = en -type = PO - -[python-newest.library--socketserver] -trans.pt_BR = library/socketserver.po -source_lang = en -type = PO - -[python-newest.library--spwd] -trans.pt_BR = library/spwd.po -source_lang = en -type = PO - -[python-newest.library--sqlite3] -trans.pt_BR = library/sqlite3.po -source_lang = en -type = PO - -[python-newest.library--ssl] -trans.pt_BR = library/ssl.po -source_lang = en -type = PO - -[python-newest.library--stat] -trans.pt_BR = library/stat.po -source_lang = en -type = PO - -[python-newest.library--statistics] -trans.pt_BR = library/statistics.po -source_lang = en -type = PO - -[python-newest.library--stdtypes] -trans.pt_BR = library/stdtypes.po -source_lang = en -type = PO - -[python-newest.library--string] -trans.pt_BR = library/string.po -source_lang = en -type = PO - -[python-newest.library--stringprep] -trans.pt_BR = library/stringprep.po -source_lang = en -type = PO - -[python-newest.library--struct] -trans.pt_BR = library/struct.po -source_lang = en -type = PO - -[python-newest.library--subprocess] -trans.pt_BR = library/subprocess.po -source_lang = en -type = PO - -[python-newest.library--sunau] -trans.pt_BR = library/sunau.po -source_lang = en -type = PO - -[python-newest.library--superseded] -trans.pt_BR = library/superseded.po -source_lang = en -type = PO - -[python-newest.library--symtable] -trans.pt_BR = library/symtable.po -source_lang = en -type = PO - -[python-newest.library--sys] -trans.pt_BR = library/sys.po -source_lang = en -type = PO - -[python-newest.library--sysconfig] -trans.pt_BR = library/sysconfig.po -source_lang = en -type = PO - -[python-newest.library--syslog] -trans.pt_BR = library/syslog.po -source_lang = en -type = PO - -[python-newest.library--tabnanny] -trans.pt_BR = library/tabnanny.po -source_lang = en -type = PO - -[python-newest.library--tarfile] -trans.pt_BR = library/tarfile.po -source_lang = en -type = PO - -[python-newest.library--telnetlib] -trans.pt_BR = library/telnetlib.po -source_lang = en -type = PO - -[python-newest.library--tempfile] -trans.pt_BR = library/tempfile.po -source_lang = en -type = PO - -[python-newest.library--termios] -trans.pt_BR = library/termios.po -source_lang = en -type = PO - -[python-newest.library--test] -trans.pt_BR = library/test.po -source_lang = en -type = PO - -[python-newest.library--text] -trans.pt_BR = library/text.po -source_lang = en -type = PO - -[python-newest.library--textwrap] -trans.pt_BR = library/textwrap.po -source_lang = en -type = PO - -[python-newest.library--threading] -trans.pt_BR = library/threading.po -source_lang = en -type = PO - -[python-newest.library--time] -trans.pt_BR = library/time.po -source_lang = en -type = PO - -[python-newest.library--timeit] -trans.pt_BR = library/timeit.po -source_lang = en -type = PO - -[python-newest.library--tk] -trans.pt_BR = library/tk.po -source_lang = en -type = PO - -[python-newest.library--tkinter_colorchooser] -trans.pt_BR = library/tkinter.colorchooser.po -source_lang = en -type = PO - -[python-newest.library--tkinter_dnd] -trans.pt_BR = library/tkinter.dnd.po -source_lang = en -type = PO - -[python-newest.library--tkinter_font] -trans.pt_BR = library/tkinter.font.po -source_lang = en -type = PO - -[python-newest.library--tkinter_messagebox] -trans.pt_BR = library/tkinter.messagebox.po -source_lang = en -type = PO - -[python-newest.library--tkinter] -trans.pt_BR = library/tkinter.po -source_lang = en -type = PO - -[python-newest.library--tkinter_scrolledtext] -trans.pt_BR = library/tkinter.scrolledtext.po -source_lang = en -type = PO - -[python-newest.library--tkinter_tix] -trans.pt_BR = library/tkinter.tix.po -source_lang = en -type = PO - -[python-newest.library--tkinter_ttk] -trans.pt_BR = library/tkinter.ttk.po -source_lang = en -type = PO - -[python-newest.library--token] -trans.pt_BR = library/token.po -source_lang = en -type = PO - -[python-newest.library--tokenize] -trans.pt_BR = library/tokenize.po -source_lang = en -type = PO - -[python-newest.library--trace] -trans.pt_BR = library/trace.po -source_lang = en -type = PO - -[python-newest.library--traceback] -trans.pt_BR = library/traceback.po -source_lang = en -type = PO - -[python-newest.library--tracemalloc] -trans.pt_BR = library/tracemalloc.po -source_lang = en -type = PO - -[python-newest.library--tty] -trans.pt_BR = library/tty.po -source_lang = en -type = PO - -[python-newest.library--turtle] -trans.pt_BR = library/turtle.po -source_lang = en -type = PO - -[python-newest.library--types] -trans.pt_BR = library/types.po -source_lang = en -type = PO - -[python-newest.library--typing] -trans.pt_BR = library/typing.po -source_lang = en -type = PO - -[python-newest.library--unicodedata] -trans.pt_BR = library/unicodedata.po -source_lang = en -type = PO - -[python-newest.library--unittest_mock-examples] -trans.pt_BR = library/unittest.mock-examples.po -source_lang = en -type = PO - -[python-newest.library--unittest_mock] -trans.pt_BR = library/unittest.mock.po -source_lang = en -type = PO - -[python-newest.library--unittest] -trans.pt_BR = library/unittest.po -source_lang = en -type = PO - -[python-newest.library--unix] -trans.pt_BR = library/unix.po -source_lang = en -type = PO - -[python-newest.library--urllib_error] -trans.pt_BR = library/urllib.error.po -source_lang = en -type = PO - -[python-newest.library--urllib_parse] -trans.pt_BR = library/urllib.parse.po -source_lang = en -type = PO - -[python-newest.library--urllib] -trans.pt_BR = library/urllib.po -source_lang = en -type = PO - -[python-newest.library--urllib_request] -trans.pt_BR = library/urllib.request.po -source_lang = en -type = PO - -[python-newest.library--urllib_robotparser] -trans.pt_BR = library/urllib.robotparser.po -source_lang = en -type = PO - -[python-newest.library--uu] -trans.pt_BR = library/uu.po -source_lang = en -type = PO - -[python-newest.library--uuid] -trans.pt_BR = library/uuid.po -source_lang = en -type = PO - -[python-newest.library--venv] -trans.pt_BR = library/venv.po -source_lang = en -type = PO - -[python-newest.library--warnings] -trans.pt_BR = library/warnings.po -source_lang = en -type = PO - -[python-newest.library--wave] -trans.pt_BR = library/wave.po -source_lang = en -type = PO - -[python-newest.library--weakref] -trans.pt_BR = library/weakref.po -source_lang = en -type = PO - -[python-newest.library--webbrowser] -trans.pt_BR = library/webbrowser.po -source_lang = en -type = PO - -[python-newest.library--windows] -trans.pt_BR = library/windows.po -source_lang = en -type = PO - -[python-newest.library--winreg] -trans.pt_BR = library/winreg.po -source_lang = en -type = PO - -[python-newest.library--winsound] -trans.pt_BR = library/winsound.po -source_lang = en -type = PO - -[python-newest.library--wsgiref] -trans.pt_BR = library/wsgiref.po -source_lang = en -type = PO - -[python-newest.library--xdrlib] -trans.pt_BR = library/xdrlib.po -source_lang = en -type = PO - -[python-newest.library--xml_dom_minidom] -trans.pt_BR = library/xml.dom.minidom.po -source_lang = en -type = PO - -[python-newest.library--xml_dom] -trans.pt_BR = library/xml.dom.po -source_lang = en -type = PO - -[python-newest.library--xml_dom_pulldom] -trans.pt_BR = library/xml.dom.pulldom.po -source_lang = en -type = PO - -[python-newest.library--xml_etree_elementtree] -trans.pt_BR = library/xml.etree.elementtree.po -source_lang = en -type = PO - -[python-newest.library--xml] -trans.pt_BR = library/xml.po -source_lang = en -type = PO - -[python-newest.library--xml_sax_handler] -trans.pt_BR = library/xml.sax.handler.po -source_lang = en -type = PO - -[python-newest.library--xml_sax] -trans.pt_BR = library/xml.sax.po -source_lang = en -type = PO - -[python-newest.library--xml_sax_reader] -trans.pt_BR = library/xml.sax.reader.po -source_lang = en -type = PO - -[python-newest.library--xml_sax_utils] -trans.pt_BR = library/xml.sax.utils.po -source_lang = en -type = PO - -[python-newest.library--xmlrpc_client] -trans.pt_BR = library/xmlrpc.client.po -source_lang = en -type = PO - -[python-newest.library--xmlrpc] -trans.pt_BR = library/xmlrpc.po -source_lang = en -type = PO - -[python-newest.library--xmlrpc_server] -trans.pt_BR = library/xmlrpc.server.po -source_lang = en -type = PO - -[python-newest.library--zipapp] -trans.pt_BR = library/zipapp.po -source_lang = en -type = PO - -[python-newest.library--zipfile] -trans.pt_BR = library/zipfile.po -source_lang = en -type = PO - -[python-newest.library--zipimport] -trans.pt_BR = library/zipimport.po -source_lang = en -type = PO - -[python-newest.library--zlib] -trans.pt_BR = library/zlib.po -source_lang = en -type = PO - -[python-newest.library--zoneinfo] -trans.pt_BR = library/zoneinfo.po -source_lang = en -type = PO - -[python-newest.reference--compound_stmts] -trans.pt_BR = reference/compound_stmts.po -source_lang = en -type = PO - -[python-newest.reference--datamodel] -trans.pt_BR = reference/datamodel.po -source_lang = en -type = PO - -[python-newest.reference--executionmodel] -trans.pt_BR = reference/executionmodel.po -source_lang = en -type = PO - -[python-newest.reference--expressions] -trans.pt_BR = reference/expressions.po -source_lang = en -type = PO - -[python-newest.reference--grammar] -trans.pt_BR = reference/grammar.po -source_lang = en -type = PO - -[python-newest.reference--import] -trans.pt_BR = reference/import.po -source_lang = en -type = PO - -[python-newest.reference--index] -trans.pt_BR = reference/index.po -source_lang = en -type = PO - -[python-newest.reference--introduction] -trans.pt_BR = reference/introduction.po -source_lang = en -type = PO - -[python-newest.reference--lexical_analysis] -trans.pt_BR = reference/lexical_analysis.po -source_lang = en -type = PO - -[python-newest.reference--simple_stmts] -trans.pt_BR = reference/simple_stmts.po -source_lang = en -type = PO - -[python-newest.reference--toplevel_components] -trans.pt_BR = reference/toplevel_components.po -source_lang = en -type = PO - -[python-newest.tutorial--appendix] -trans.pt_BR = tutorial/appendix.po -source_lang = en -type = PO - -[python-newest.tutorial--appetite] -trans.pt_BR = tutorial/appetite.po -source_lang = en -type = PO - -[python-newest.tutorial--classes] -trans.pt_BR = tutorial/classes.po -source_lang = en -type = PO - -[python-newest.tutorial--controlflow] -trans.pt_BR = tutorial/controlflow.po -source_lang = en -type = PO - -[python-newest.tutorial--datastructures] -trans.pt_BR = tutorial/datastructures.po -source_lang = en -type = PO - -[python-newest.tutorial--errors] -trans.pt_BR = tutorial/errors.po -source_lang = en -type = PO - -[python-newest.tutorial--floatingpoint] -trans.pt_BR = tutorial/floatingpoint.po -source_lang = en -type = PO - -[python-newest.tutorial--index] -trans.pt_BR = tutorial/index.po -source_lang = en -type = PO - -[python-newest.tutorial--inputoutput] -trans.pt_BR = tutorial/inputoutput.po -source_lang = en -type = PO - -[python-newest.tutorial--interactive] -trans.pt_BR = tutorial/interactive.po -source_lang = en -type = PO - -[python-newest.tutorial--interpreter] -trans.pt_BR = tutorial/interpreter.po -source_lang = en -type = PO - -[python-newest.tutorial--introduction] -trans.pt_BR = tutorial/introduction.po -source_lang = en -type = PO - -[python-newest.tutorial--modules] -trans.pt_BR = tutorial/modules.po -source_lang = en -type = PO - -[python-newest.tutorial--stdlib] -trans.pt_BR = tutorial/stdlib.po -source_lang = en -type = PO - -[python-newest.tutorial--stdlib2] -trans.pt_BR = tutorial/stdlib2.po -source_lang = en -type = PO - -[python-newest.tutorial--venv] -trans.pt_BR = tutorial/venv.po -source_lang = en -type = PO - -[python-newest.tutorial--whatnow] -trans.pt_BR = tutorial/whatnow.po -source_lang = en -type = PO - -[python-newest.using--cmdline] -trans.pt_BR = using/cmdline.po -source_lang = en -type = PO - -[python-newest.using--configure] -trans.pt_BR = using/configure.po -source_lang = en -type = PO - -[python-newest.using--editors] -trans.pt_BR = using/editors.po -source_lang = en -type = PO - -[python-newest.using--index] -trans.pt_BR = using/index.po -source_lang = en -type = PO - -[python-newest.using--mac] -trans.pt_BR = using/mac.po -source_lang = en -type = PO - -[python-newest.using--unix] -trans.pt_BR = using/unix.po -source_lang = en -type = PO - -[python-newest.using--windows] -trans.pt_BR = using/windows.po -source_lang = en -type = PO - -[python-newest.whatsnew--2_0] -trans.pt_BR = whatsnew/2.0.po -source_lang = en -type = PO - -[python-newest.whatsnew--2_1] -trans.pt_BR = whatsnew/2.1.po -source_lang = en -type = PO - -[python-newest.whatsnew--2_2] -trans.pt_BR = whatsnew/2.2.po -source_lang = en -type = PO - -[python-newest.whatsnew--2_3] -trans.pt_BR = whatsnew/2.3.po -source_lang = en -type = PO - -[python-newest.whatsnew--2_4] -trans.pt_BR = whatsnew/2.4.po -source_lang = en -type = PO - -[python-newest.whatsnew--2_5] -trans.pt_BR = whatsnew/2.5.po -source_lang = en -type = PO - -[python-newest.whatsnew--2_6] -trans.pt_BR = whatsnew/2.6.po -source_lang = en -type = PO - -[python-newest.whatsnew--2_7] -trans.pt_BR = whatsnew/2.7.po -source_lang = en -type = PO - -[python-newest.whatsnew--3_0] -trans.pt_BR = whatsnew/3.0.po -source_lang = en -type = PO - -[python-newest.whatsnew--3_1] -trans.pt_BR = whatsnew/3.1.po -source_lang = en -type = PO - -[python-newest.whatsnew--3_10] -trans.pt_BR = whatsnew/3.10.po -source_lang = en -type = PO - -[python-newest.whatsnew--3_2] -trans.pt_BR = whatsnew/3.2.po -source_lang = en -type = PO - -[python-newest.whatsnew--3_3] -trans.pt_BR = whatsnew/3.3.po -source_lang = en -type = PO - -[python-newest.whatsnew--3_4] -trans.pt_BR = whatsnew/3.4.po -source_lang = en -type = PO - -[python-newest.whatsnew--3_5] -trans.pt_BR = whatsnew/3.5.po -source_lang = en -type = PO - -[python-newest.whatsnew--3_6] -trans.pt_BR = whatsnew/3.6.po -source_lang = en -type = PO - -[python-newest.whatsnew--3_7] -trans.pt_BR = whatsnew/3.7.po -source_lang = en -type = PO - -[python-newest.whatsnew--3_8] -trans.pt_BR = whatsnew/3.8.po -source_lang = en -type = PO - -[python-newest.whatsnew--3_9] -trans.pt_BR = whatsnew/3.9.po -source_lang = en -type = PO - -[python-newest.whatsnew--changelog] -trans.pt_BR = whatsnew/changelog.po -source_lang = en -type = PO - -[python-newest.whatsnew--index] -trans.pt_BR = whatsnew/index.po -source_lang = en -type = PO +[o:python-doc:p:python-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310:r:library--binhex] +file_filter = library/binhex.po +type = PO +minimum_perc = 0 +resource_name = library--binhex +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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-310: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 db2cda83b..000000000 --- a/Makefile +++ /dev/null @@ -1,270 +0,0 @@ -# -# Makefile for Brazilian Portuguese Python Documentation -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -# -# based on: https://github.com/python/python-docs-fr/blob/3.8/Makefile -# - -################# -# Configuration - -# Main translation branch; please make sure it matches 'python-newest' -# project's version in 'python-docs' organization in Transifex -BRANCH := $(shell git branch --show-current) - -# Branches representing docs for older Python versions, which current -# translations should be merged into. Here some details: -# - STABLEBRANCH and OLDSTABLEBRANCHES differ in that STABLEBRANCH -# still gets its translated strings overwritten. -# - Not-yet-translated strings will still be merged on both variables -# - Leave STABLEBRANCH empty if Python stable branch is same as BRANCH. -# - Never use same version as in BRANCH -# - Check Python Docs versions still being built and published in: -# https://github.com/python/docsbuild-scripts/blob/master/build_docs.py -STABLEBRANCH := 3.9 -OLDSTABLEBRANCHES := 3.8 3.7 3.6 2.7 - -# Name of language team; should be python-docs-LANG, where LANG is the -# IETF language tag for your language; see Language Tag section in PEP 545 -LANGUAGE_TEAM := python-docs-pt-br - -# Language code in ISO 639; see Language Tag section in PEP 545, and -# Sphinx configuration's supported languages -LANGUAGE := pt_BR - -# Paths and URLs -UPSTREAM := https://github.com/python/cpython -PYTHON := $(shell which python3) -CPYTHON_PATH := $(shell realpath ../cpython) -POSPELL_TMP_DIR := .pospell -VENV := $(shell realpath ./venv) -WORKDIRS := $(VENV)/workdirs -CPYTHON_WORKDIR := $(WORKDIRS)/cpython -LOCALE_DIR := $(WORKDIRS)/locale - -# Settings for 'build' target -JOBS := auto -SPHINXERRORHANDLING := "-W" - -# -################# - -.PHONY: help -help: - @echo "Please use 'make ' where is one of:" - @echo " build Build an local version in html, with warnings as errors" - @echo " push Update translations and Transifex config in the repository" - @echo " pull Download translations from Transifex; calls 'venv'" - @echo " tx-config Recreate an up-to-date project .tx/config; calls 'pot'" - @echo " pot Create/Update POT files from source files" - @echo " serve Serve a built documentation on http://localhost:8000" - @echo " spell Check spelling, storing output in $(POSPELL_TMP_DIR)" - @echo " merge Merge $(BRANCH) branch's .po files into the following" - @echo " older branches: $(STABLEBRANCH) $(OLDSTABLEBRANCHES)" - @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. -.PHONY: build -build: setup - @echo "Building Python $(BRANCH) Documentation ..." - @$(MAKE) -C $(CPYTHON_WORKDIR)/Doc/ \ - VENVDIR=$(CPYTHON_WORKDIR)/Doc/venv \ - PYTHON=$(PYTHON) \ - SPHINXERRORHANDLING=$(SPHINXERRORHANDLING) \ - SPHINXOPTS='-q --keep-going -j$(JOBS) \ - -D locale_dirs=$(LOCALE_DIR) \ - -D language=$(LANGUAGE) \ - -D gettext_compact=0 \ - -D latex_engine=xelatex \ - -D latex_elements.inputenc= \ - -D latex_elements.fontenc=' \ - html - - @echo "Success! Open file://$(CPYTHON_WORKDIR)/Doc/build/html/index.html, " \ - "or run 'make serve' to see them in http://localhost:8000"; - - -# push: push changed translation files and Transifex config file to repository. -# Do nothing if there is no file changes. If GITHUB_TOKEN is set, then -# assumes we are in GitHub Actions, requiring different push args. -.PHONY: push -push: - @if ! git status -s | egrep '\.po|\.tx/config'; then \ - echo "Nothing to commit"; \ - exit 0; \ - else \ - git add *.po **/*.po .tx/config; \ - git commit -m 'Update translations from Transifex'; \ - if [ $(GITHUB_TOKEN) != "" ]; then \ - header="$(echo -n token:"$(GITHUB_TOKEN)" | base64)"; \ - git -c http.extraheader="AUTHORIZATION: basic $(header)" push; \ - else \ - git push; \ - fi; \ - 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. -.PHONY: pull -pull: venv - @$(VENV)/bin/tx pull --force --language=$(LANGUAGE) --parallel - @$(VENV)/bin/powrap --quiet *.po **/*.po - - -# tx-config: After running "pot", create a new Transifex config file by -# reading pot files generated, then tweak it to LANGUAGE. -.PHONY: tx-config -tx-config: TRANSIFEX_PROJECT := python-newest -tx-config: pot - @cd $(CPYTHON_WORKDIR)/Doc/locales; \ - rm -rf .tx; \ - $(VENV)/bin/sphinx-intl create-txconfig; \ - $(VENV)/bin/sphinx-intl update-txconfig-resources \ - --transifex-project-name=$(TRANSIFEX_PROJECT) \ - --locale-dir . \ - --pot-dir pot; - - @mkdir -p .tx - @sed $(CPYTHON_WORKDIR)/Doc/locales/.tx/config \ - -e '/^source_file/d' \ - -e 's|/LC_MESSAGES/||' \ - -e "s|^file_filter|trans.$(LANGUAGE)|" \ - > .tx/config - - -# pot: After running "setup" target, run a cpython Makefile's target -# to generate .pot files under $(CPYTHON_WORKDIR)/Doc/locales/pot. -.PHONY: pot -pot: setup - @$(MAKE) -C $(CPYTHON_WORKDIR)/Doc/ \ - VENVDIR=$(CPYTHON_WORKDIR)/Doc/venv \ - PYTHON=$(PYTHON) \ - ALLSPHINXOPTS='-E -b gettext \ - -D gettext_compact=0 \ - -d build/.doctrees . \ - locales/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. -.PHONY: setup -setup: venv - @if [ -z $(BRANCH) ]; then \ - echo "BRANCH is empty, should have git-branch. Unable to continue."; \ - exit 1; \ - fi - - @if ! [ -d $(CPYTHON_PATH) ]; then \ - echo "CPython repo not found; cloning ..."; \ - git clone --depth 1 --no-single-branch $(UPSTREAM) $(CPYTHON_PATH); \ - git -C $(CPYTHON_PATH) checkout $(BRANCH); \ - else \ - echo "CPython repo found; updating ..."; \ - git -C $(CPYTHON_PATH) checkout $(BRANCH); \ - git -C $(CPYTHON_PATH) pull --rebase; \ - fi - - @if ! [ -d $(CPYTHON_WORKDIR) ]; then \ - echo "Setting up CPython repo in workdir ..."; \ - rm -fr $(WORKDIRS); \ - mkdir -p $(WORKDIRS); \ - git clone $(CPYTHON_PATH) $(CPYTHON_WORKDIR); \ - $(MAKE) -C $(CPYTHON_WORKDIR)/Doc \ - VENVDIR=$(CPYTHON_WORKDIR)/Doc/venv \ - PYTHON=$(PYTHON) venv; \ - else \ - echo "CPython repo already ready in workdir"; \ - fi - - @echo "Setting up translation files in workdir ..." - @if ! [ -d $(LOCALE_DIR)/$(LANGUAGE)/LC_MESSAGES/ ]; then \ - mkdir -p $(LOCALE_DIR)/$(LANGUAGE)/LC_MESSAGES/; \ - fi - @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. -.PHONY: venv -venv: - @if [ ! -d $(VENV) ]; then \ - echo "Setting up $(LANGUAGE_TEAM)'s virtual environment ..."; \ - $(PYTHON) -m venv --prompt $(LANGUAGE_TEAM) $(VENV); \ - $(VENV)/bin/python -m pip install --upgrade pip; \ - fi - @$(VENV)/bin/pip install --upgrade --requirement requirements.txt - - -# serve: serve the documentation in a simple local web server, using cpython -# Makefile's "serve" target. Run "build" before using this target. -.PHONY: serve -serve: - @$(MAKE) -C $(CPYTHON_WORKDIR)/Doc serve - - -# 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. -.PHONY: spell - -SRCS := $(wildcard *.po **/*.po) -DESTS = $(addprefix $(POSPELL_TMP_DIR)/out/,$(patsubst %.po,%.txt,$(SRCS))) - -spell: venv $(DESTS) $(POSPELL_TMP_DIR)/typos.txt - -$(POSPELL_TMP_DIR)/out/%.txt: %.po dict - @echo "Checking $< ..." - @mkdir -p $(@D) - @$(VENV)/bin/pospell -l $(LANGUAGE) -p dict $< > $@ || true - -$(POSPELL_TMP_DIR)/typos.txt: - @echo "Gathering all typos in $(POSPELL_TMP_DIR)/typos.txt ..." - @cut -d: -f3- $(DESTS) | sort -u > $@ - - -# merge: merge translations from BRANCH (Python version currently aim of -# translation) into each branch listed by STABLEBRANCH and -# OLDSTABLEBRANCHES (branches of older Python versions) so that older -# versions of the Python Docs make at least some use the latest -# translations, if possible. OLDSTABLEBRANCHES has '--no-overwrite' -# flag so it does not overwrite translated strings, preserving history. -# After merging, git-push merged files (if any) to the target branch. -.PHONY: merge -merge: venv $(STABLEBRANCH) $(OLDSTABLEBRANCHES) - -$(OLDSTABLEBRANCHES): OVERWRITEFLAG = --no-overwrite -$(STABLEBRANCH) $(OLDSTABLEBRANCHES): - @if [ $@ == $(BRANCH) ]; then \ - echo "Ignoring attempt to pomerge '$(BRANCH)' into itself"; \ - else \ - echo "Merging translations from $(BRANCH) branch into $@ ..."; \ - $(VENV)/bin/pomerge --from-files *.po **/*.po; \ - git checkout $@; \ - $(VENV)/bin/pomerge $(OVERWRITEFLAG) --to-files *.po **/*.po; \ - $(VENV)/bin/powrap --modified *.po **/*.po; \ - if git status -s | egrep '\.po'; then \ - git add *.po **/*.po; \ - git commit -m "pomerge from $(BRANCH) branch into $@"; \ - git push; \ - fi; \ - git checkout $(BRANCH); \ - fi - - -# 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. -.PHONY: clean -clean: - rm -rf $(VENV) - rm -rf $(POSPELL_TMP_DIR) - find -name '*.mo' -delete diff --git a/README.md b/README.md index c952c7204..c06230697 100644 --- a/README.md +++ b/README.md @@ -1,26 +1,19 @@ # Brazilian Portuguese Translation of the Python Documentation -![Build and update documentation](https://github.com/python/python-docs-pt-br/workflows/Build%20and%20update%20documentation/badge.svg) +[![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.10 docs][docs_url]. -## Documentation Contribution Agreement +See list of incomplete translations in the [potodo.md][potodo] file. -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. +See [main][main] branch for scripts, docs, license and more info. + +[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.10/ +[workflow_badge]: https://github.com/python/python-docs-pt-br/workflows/python-310/badge.svg +[workflow_url]: https://github.com/python/python-docs-pt-br/actions?workflow=python-310 +[stats_badge]: https://img.shields.io/badge/dynamic/json?url=https%3A%2F%2Fgithub.com%2Fpython%2Fpython-docs-pt-br%2Fraw%2F3.10%2Fstats.json&query=completion&label=pt_BR +[transifex_url]: https://app.transifex.com/python-doc/python-newest/ -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 00ac66bc4..0b31d79af 100644 --- a/about.po +++ b/about.po @@ -1,29 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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 -# André Girol , 2021 -# Amanda Savluchinske , 2021 -# Adorilson Bezerra , 2021 +# python-doc bot, 2025 # #, 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 00:47+0000\n" -"Last-Translator: Adorilson Bezerra , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-10-11 17:05+0000\n" +"PO-Revision-Date: 2025-09-22 15:56+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../about.rst:3 msgid "About these documents" @@ -64,35 +62,35 @@ msgstr "" #: ../../about.rst:24 msgid "" -"the `Docutils `_ project for creating " +"the `Docutils `_ project for creating " "reStructuredText and the Docutils suite;" msgstr "" -"O projeto `Docutils `_ por criar " +"O projeto `Docutils `_ por criar " "reStructuredText e o pacote Docutils;" #: ../../about.rst:26 msgid "" -"Fredrik Lundh for his `Alternative Python Reference `_ project from which Sphinx got many good ideas." +"Fredrik Lundh for his Alternative Python Reference project from which Sphinx " +"got many good ideas." msgstr "" -"Fredrik Lundh por seu projeto `Referência Alternativa para Python `_ do qual Sphinx teve muitas ideias boas." +"Fredrik Lundh, pelo seu projeto de referência alternativa em Python, do qual " +"Sphinx pegou muitas boas ideias." -#: ../../about.rst:32 +#: ../../about.rst:31 msgid "Contributors to the Python Documentation" msgstr "Contribuidores da Documentação Python" -#: ../../about.rst:34 +#: ../../about.rst:33 msgid "" "Many people have contributed to the Python language, the Python standard " "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." -#: ../../about.rst:38 +#: ../../about.rst:37 msgid "" "It is only with the input and contributions of the Python community that " "Python has such wonderful documentation -- Thank You!" diff --git a/bugs.po b/bugs.po index ddfdc0de7..6b2f66ad0 100644 --- a/bugs.po +++ b/bugs.po @@ -1,27 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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: -# Felipefpl, 2021 -# Rafael Fontenelle , 2021 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.10\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-08-19 13:46+0000\n" -"PO-Revision-Date: 2021-06-28 00:47+0000\n" -"Last-Translator: Rafael Fontenelle , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:56+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../bugs.rst:5 msgid "Dealing with Bugs" @@ -35,7 +35,7 @@ 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 "" @@ -43,9 +43,9 @@ msgid "" "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" @@ -63,22 +63,30 @@ msgstr "" #: ../../bugs.rst:22 msgid "" +"You can also open a discussion item on our `Documentation Discourse forum " +"`_." +msgstr "" +"Você também pode abrir um item de discussão em nosso `fórum Discourse de " +"documentação `_." + +#: ../../bugs.rst:25 +msgid "" "If you're short on time, you can also email documentation bug reports to " "docs@python.org (behavioral bugs can be sent to python-list@python.org). " "'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:30 +#: ../../bugs.rst:33 msgid "`Documentation bugs`_" msgstr "`Bugs na documentação`_" -#: ../../bugs.rst:30 +#: ../../bugs.rst:33 msgid "" "A list of documentation bugs that have been submitted to the Python issue " "tracker." @@ -86,25 +94,25 @@ msgstr "" "Uma lista de bugs na documentação que foram submetidos no rastreador de " "problemas do Python." -#: ../../bugs.rst:33 +#: ../../bugs.rst:36 msgid "`Issue Tracking `_" msgstr "`Rastreando problemas `_" -#: ../../bugs.rst:33 +#: ../../bugs.rst:36 msgid "" "Overview of the process involved in reporting an improvement on the tracker." msgstr "" "Visão geral do processo envolvido em reportar uma melhoria no rastreador." -#: ../../bugs.rst:35 +#: ../../bugs.rst:39 msgid "" "`Helping with Documentation `_" msgstr "" -"`Ajudando com a Documentação `_" -#: ../../bugs.rst:36 +#: ../../bugs.rst:39 msgid "" "Comprehensive guide for individuals that are interested in contributing to " "Python documentation." @@ -113,73 +121,89 @@ msgstr "" "com a documentação do Python." #: ../../bugs.rst:41 +msgid "" +"`Documentation Translations `_" +msgstr "" +"`Tradução 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 " +"respectivos contatos iniciais." + +#: ../../bugs.rst:48 msgid "Using the Python issue tracker" msgstr "Usando o rastreador de problemas do Python" -#: ../../bugs.rst:43 +#: ../../bugs.rst:50 msgid "" -"Bug reports for Python itself should be submitted via the Python Bug Tracker " -"(https://bugs.python.org/). The bug tracker offers a web form which allows " -"pertinent information to be entered and submitted to the developers." +"Issue reports for Python itself should be submitted via the GitHub issues " +"tracker (https://github.com/python/cpython/issues). The GitHub issues " +"tracker offers a web form which allows pertinent information to be entered " +"and submitted to the developers." msgstr "" -"Relatórios sobre bugs no Python em si devem ser submetidos via Rastreador " -"dos Bugs do Python (https://bugs.python.org/). O rastreador dos bugs " -"oferece um formulário web o qual permite que informações pertinentes sejam " -"inseridas e submetidas aos 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:47 +#: ../../bugs.rst:55 msgid "" "The first step in filing a report is to determine whether the problem has " "already been reported. The advantage in doing so, aside from saving the " -"developers time, is that you learn what has been done to fix it; it may be " +"developers' time, is that you learn what has been done to fix it; it may be " "that the problem has already been fixed for the next release, or additional " "information is needed (in which case you are welcome to provide it if you " -"can!). To do this, search the bug database using the search box on the top " -"of the page." +"can!). To do this, search the tracker using the search box at the top of the " +"page." msgstr "" "O primeiro passo para preencher um relatório é determinar se o problema já " "foi reportado. A vantagem em fazê-lo além de poupar o tempo dos " "desenvolvedores é que você aprende o que foi feito para consertá-lo; pode " "ser que o problema já foi consertado para o próximo lançamento, ou que " "informação adicional seja necessária (nesse caso, você é bem-vindo para " -"fornecê-la se você puder!). Para fazer isso procure no banco de dados dos " -"bugs usando a caixa de busca no topo da página." +"fornecê-la se você puder!). Para fazer isso, procure no rastreador usando a " +"caixa de busca no topo da página." -#: ../../bugs.rst:54 +#: ../../bugs.rst:62 msgid "" -"If the problem you're reporting is not already in the bug tracker, go back " -"to the Python Bug Tracker and log in. If you don't already have a tracker " -"account, select the \"Register\" link or, if you use OpenID, one of the " -"OpenID provider logos in the sidebar. It is not possible to submit a bug " -"report anonymously." +"If the problem you're reporting is not already in the list, log in to " +"GitHub. If you don't already have a GitHub account, create a new account " +"using the \"Sign up\" link. It is not possible to submit a bug report " +"anonymously." msgstr "" -"Se o problema que você está reportando já não estiver no rastreador dos bugs " -"volte ao Rastreador dos Bugs do Python e faça o login. Se você não tem uma " -"conta no rastreador selecione o link \"Register\" ou se você usa OpenID use " -"um dos logos do fornecedor OpenID na barra lateral. Não é possível submeter " -"um relatório de bug anonimamente." +"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 \"Sign Up\". Não é possível enviar um relatório de bug " +"anonimamente." -#: ../../bugs.rst:59 +#: ../../bugs.rst:67 msgid "" -"Being now logged in, you can submit a bug. Select the \"Create New\" link " -"in the sidebar to open the bug reporting form." +"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 submeter um bug. Selecione o link " -"\"Create New\" na barra lateral para abrir o formulário de relatório do bug." +"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:62 +#: ../../bugs.rst:70 +msgid "The submission form has two fields, \"Title\" and \"Comment\"." +msgstr "O formulário de submissão tem dois campos, \"Title\" e \"Comment\"." + +#: ../../bugs.rst:72 msgid "" -"The submission form has a number of fields. For the \"Title\" field, enter " -"a *very* short description of the problem; less than ten words is good. In " -"the \"Type\" field, select the type of your problem; also select the " -"\"Component\" and \"Versions\" to which the bug relates." +"For the \"Title\" field, enter a *very* short description of the problem; " +"fewer than ten words is good." msgstr "" -"O formulário de submissão tem um número de campos. Para o campo \"Title\", " -"digite uma descrição *muito* curta do problema; menos de dez palavras é bom. " -"No campo \"Type\", selecione o tipo do seu problema; selecione também " -"\"Component\" e \"Versions\" aos quais o bug se refere." +"Para o campo \"Title\", insira uma descrição *muito* curta do problema; " +"menos de dez palavras é bom." -#: ../../bugs.rst:67 +#: ../../bugs.rst:75 msgid "" "In the \"Comment\" field, describe the problem in detail, including what you " "expected to happen and what did happen. Be sure to include whether any " @@ -187,30 +211,30 @@ 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)." -#: ../../bugs.rst:72 +#: ../../bugs.rst:80 msgid "" -"Each bug report will be assigned to a developer who will determine what " -"needs to be done to correct the problem. You will receive an update each " -"time action is taken on the bug." +"Each issue report will be reviewed by a developer who will determine what " +"needs to be done to correct the problem. You will receive an update each " +"time an action is taken on the issue." msgstr "" -"Cada relatório de bug será atribuído a um desenvolvedor que determinará o " -"que precisa ser feito para corrigir o problema. Você receberá uma " -"atualização cada vez que uma ação for tomada sobre o bug." +"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:81 +#: ../../bugs.rst:89 msgid "" "`How to Report Bugs Effectively `_" msgstr "" -"`Como Reportar Bugs Eficientemente `_" -#: ../../bugs.rst:80 +#: ../../bugs.rst:88 msgid "" "Article which goes into some detail about how to create a useful bug report. " "This describes what kind of information is useful and why it is useful." @@ -218,7 +242,7 @@ msgstr "" "Artigo que entra em algum detalhe sobre como criar um relatório de bug útil. " "Isto descreve qual tipo de informação é útil e por quê é útil." -#: ../../bugs.rst:84 +#: ../../bugs.rst:92 msgid "" "`Bug Writing Guidelines `_" @@ -226,7 +250,7 @@ msgstr "" "`Diretrizes para relatar bugs `_" -#: ../../bugs.rst:84 +#: ../../bugs.rst:92 msgid "" "Information about writing a good bug report. Some of this is specific to " "the Mozilla project, but describes general good practices." @@ -234,11 +258,11 @@ msgstr "" "Informação sobre como escrever um bom relatório de bug. Um pouco disto é " "específico do Projeto Mozilla, mas descreve boas práticas em geral." -#: ../../bugs.rst:90 +#: ../../bugs.rst:98 msgid "Getting started contributing to Python yourself" msgstr "Começando a contribuir com o Python por conta própria" -#: ../../bugs.rst:92 +#: ../../bugs.rst:100 msgid "" "Beyond just reporting bugs that you find, you are also welcome to submit " "patches to fix them. You can find more information on how to get started " @@ -246,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 56053e149..c999830bc 100644 --- a/c-api/abstract.po +++ b/c-api/abstract.po @@ -1,27 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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: -# Felipefpl, 2021 -# Rafael Fontenelle , 2021 +# python-doc bot, 2025 # #, 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 00:47+0000\n" -"Last-Translator: Rafael Fontenelle , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:56+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../c-api/abstract.rst:7 msgid "Abstract Objects Layer" @@ -34,11 +34,10 @@ 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 " -"criarã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 "" @@ -47,7 +46,6 @@ msgid "" "`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 0447d6623..d1fe1389f 100644 --- a/c-api/allocation.po +++ b/c-api/allocation.po @@ -1,36 +1,35 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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 -# Felipefpl, 2021 -# Rafael Fontenelle , 2021 +# python-doc bot, 2025 # #, 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 00:47+0000\n" -"Last-Translator: Rafael Fontenelle , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:56+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"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 "" -"Initialize a newly-allocated object *op* with its type and initial " +"Initialize a newly allocated object *op* with its type and initial " "reference. Returns the initialized object. If *type* indicates that the " "object participates in the cyclic garbage detector, it is added to the " "detector's set of observed objects. Other fields of the object are not " @@ -53,17 +52,13 @@ msgstr "" 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." +"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." -#: ../../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 " @@ -84,7 +79,7 @@ msgstr "" "diminuindo o numero de alocações, melhorando a eficiência do gerenciamento " "de memória." -#: ../../c-api/allocation.rst:53 +#: ../../c-api/allocation.rst:55 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:" @@ -98,7 +93,7 @@ msgstr "" "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:64 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 " @@ -108,10 +103,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:71 msgid ":c:func:`PyModule_Create`" msgstr ":c:func:`PyModule_Create`" -#: ../../c-api/allocation.rst:70 +#: ../../c-api/allocation.rst:72 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 e4df97272..1261e2d9d 100644 --- a/c-api/apiabiversion.po +++ b/c-api/apiabiversion.po @@ -1,33 +1,31 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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 , 2021 +# python-doc bot, 2025 # #, 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 00:47+0000\n" -"Last-Translator: Rafael Fontenelle , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:56+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../c-api/apiabiversion.rst:7 msgid "API and ABI Versioning" -msgstr "API e Versionamento ABI" +msgstr "API e Versionamento de ABI" #: ../../c-api/apiabiversion.rst:9 msgid "" diff --git a/c-api/arg.po b/c-api/arg.po index 77a2d9404..7f6b55553 100644 --- a/c-api/arg.po +++ b/c-api/arg.po @@ -1,34 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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 -# Welington Carlos , 2021 -# Tiago Henrique , 2021 -# Claudio Rogerio Carvalho Filho , 2021 -# Adson Rodrigues , 2021 -# Rafael Marques , 2021 -# Caio Carvalho , 2021 -# Julia Rizza , 2021 -# Rafael Fontenelle , 2021 +# python-doc bot, 2025 # #, 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 00:47+0000\n" -"Last-Translator: Rafael Fontenelle , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:56+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../c-api/arg.rst:6 msgid "Parsing arguments and building values" @@ -40,7 +33,7 @@ msgid "" "methods. Additional information and examples are available in :ref:" "`extending-index`." msgstr "" -"Essas funções são úteis ao criar suas próprias funções e métodos. " +"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-" "index`." @@ -53,9 +46,9 @@ msgid "" "functions." msgstr "" "As três primeiras funções descritas, :c:func:`PyArg_ParseTuple`, :c:func:" -"`PyArg_ParseTupleAndKeywords`, e :c:func:`PyArg_Parse`, todas usam o " -"*formato string* que são usados para contar a função sobre os argumentos " -"esperados. O formato string usa a mesma sintaxe para cada uma dessas funções." +"`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" @@ -72,19 +65,19 @@ msgid "" "Python object type that matches the format unit; and the entry in [square] " "brackets is the type of the C variable(s) whose address should be passed." msgstr "" -"Uma string consiste em zero ou mais \"unidades de formato\". Uma unidade de " -"formato descreve um objeto Python; geralmente é um único caractere ou uma " -"sequência entre parênteses de unidades de formato. Com algumas exceções, uma " -"unidade de formato que não é uma sequência entre parênteses normalmente " -"corresponde a um único argumento de endereço para essas funções. Na " -"descrição a seguir, o formulário citado é a unidade de formato; A entrada em " -"parênteses ( ) é o tipo de objeto Python que corresponde à unidade de " -"formato; E a entrada em colchetes [ ] é o tipo da variável(s) C cujo " -"endereço deve ser passado." +"Uma string de formato consiste em zero ou mais \"unidades de formato\". Uma " +"unidade de formato descreve um objeto Python; geralmente é um único " +"caractere ou uma sequência entre parênteses de unidades de formato. Com " +"algumas poucas exceções, uma unidade de formato que não é uma sequência " +"entre parênteses normalmente corresponde a um único argumento de endereço " +"para essas funções. Na descrição a seguir, a forma citada é a unidade de " +"formato; a entrada em parênteses ( ) é o tipo de objeto Python que " +"corresponde à unidade de formato; e a entrada em colchetes [ ] é o tipo da " +"variável(s) C cujo endereço deve ser passado." #: ../../c-api/arg.rst:31 msgid "Strings and buffers" -msgstr "Strings and buffers" +msgstr "Strings e buffers" #: ../../c-api/arg.rst:33 msgid "" @@ -92,55 +85,84 @@ msgid "" "don't have to provide raw storage for the returned unicode or bytes area." msgstr "" "Esses formatos permitem acessar um objeto como um pedaço contíguo de " -"memória. Você não precisa fornecer armazenamento bruto para a área retornada " -"unicode ou bytes." +"memória. Você não precisa fornecer armazenamento bruto para a área de " +"unicode ou bytes retornada." #: ../../c-api/arg.rst:37 -msgid "" -"In general, when a format sets a pointer to a buffer, the buffer is managed " -"by the corresponding Python object, and the buffer shares the lifetime of " -"this object. You won't have to release any memory yourself. The only " -"exceptions are ``es``, ``es#``, ``et`` and ``et#``." -msgstr "" -"Em geral, quando um formato define um ponteiro para um buffer, o buffer é " -"gerenciado pelo objeto Python correspondente e o buffer compartilha o tempo " -"de vida desse objeto. Você não terá que liberar nenhuma memória você mesmo. " -"As únicas exceções são ``es``, ``es#``, ``et`` e ``et#``" - -#: ../../c-api/arg.rst:42 -msgid "" -"However, when a :c:type:`Py_buffer` structure gets filled, the underlying " -"buffer is locked so that the caller can subsequently use the buffer even " -"inside a :c:type:`Py_BEGIN_ALLOW_THREADS` block without the risk of mutable " -"data being resized or destroyed. As a result, **you have to call** :c:func:" -"`PyBuffer_Release` after you have finished processing the data (or in any " -"early abort case)." -msgstr "" -"No entanto, quando uma estrutura de :c:type:`Py_buffer` é preenchida, o " -"buffer subjacente está bloqueado para que o chamador possa posteriormente " -"usar o buffer mesmo dentro de um bloco :c:type:`Py_BEGIN_ALLOW_THREADS` sem " -"o risco de dados mutáveis ​​serem redimensionados ou destruídos. Como " -"resultado, **você precisa chamar** :c:func:`PyBuffer_Release` depois de ter " -"concluído o processamento dos dados (ou em qualquer caso de aborto inicial)." - -#: ../../c-api/arg.rst:49 msgid "Unless otherwise stated, buffers are not NUL-terminated." msgstr "Salvo indicação em contrário, os buffers não são terminados em NUL." -#: ../../c-api/arg.rst:51 +#: ../../c-api/arg.rst:39 +msgid "There are three ways strings and buffers can be converted to C:" +msgstr "" +"Existem três maneiras pelas quais strings e buffers podem ser convertidos em " +"C:" + +#: ../../c-api/arg.rst:41 +msgid "" +"Formats such as ``y*`` and ``s*`` fill a :c:type:`Py_buffer` structure. This " +"locks the underlying buffer so that the caller can subsequently use the " +"buffer even inside a :c:type:`Py_BEGIN_ALLOW_THREADS` block without the risk " +"of mutable data being resized or destroyed. As a result, **you have to " +"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 "" +"The ``es``, ``es#``, ``et`` and ``et#`` formats allocate the result buffer. " +"**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 "" +"Other formats take a :class:`str` or a read-only :term:`bytes-like object`, " +"such as :class:`bytes`, and provide a ``const char *`` pointer to its " +"buffer. In this case the buffer is \"borrowed\": it is managed by the " +"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 "" -"Some formats require a read-only :term:`bytes-like object`, and set a " -"pointer instead of a buffer structure. They work by checking that the " -"object's :c:member:`PyBufferProcs.bf_releasebuffer` field is ``NULL``, which " -"disallows mutable objects such as :class:`bytearray`." +"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 "" -"Alguns formatos requerem um :term:`objeto byte ou similar ` somente leitura e definem um ponteiro em vez de uma estrutura de " -"buffer. Eles trabalham verificando se o campo do objeto :c:member:" -"`PyBufferProcs.bf_releasebuffer` é ``NULL``, o que não permite objetos " -"mutáveis, como :class:`bytearray`." +"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:58 +#: ../../c-api/arg.rst:67 +msgid "" +"Besides this ``bf_releasebuffer`` requirement, there is no check to verify " +"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 " @@ -148,17 +170,17 @@ msgid "" "`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:" +"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:83 +#: ../../c-api/arg.rst:98 msgid "``s`` (:class:`str`) [const char \\*]" msgstr "``s`` (:class:`str`) [const char \\*]" -#: ../../c-api/arg.rst:66 +#: ../../c-api/arg.rst:81 msgid "" "Convert a Unicode object to a C pointer to a character string. A pointer to " "an existing string is stored in the character pointer variable whose address " @@ -167,27 +189,27 @@ msgid "" "is raised. Unicode objects are converted to C strings using ``'utf-8'`` " "encoding. If this conversion fails, a :exc:`UnicodeError` is raised." msgstr "" -"Converte um objeto Unicode para um ponteiro em C de 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; 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." +"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 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." -#: ../../c-api/arg.rst:75 +#: ../../c-api/arg.rst:90 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*." 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:81 ../../c-api/arg.rst:148 +#: ../../c-api/arg.rst:96 ../../c-api/arg.rst:164 msgid "" "Previously, :exc:`TypeError` was raised when embedded null code points were " "encountered in the Python string." @@ -195,178 +217,175 @@ msgstr "" "Anteriormente, a exceção :exc:`TypeError` era levantada quando pontos de " "código nulo embutidos em string Python eram encontrados." -#: ../../c-api/arg.rst:89 +#: ../../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:86 +#: ../../c-api/arg.rst:101 msgid "" "This format accepts Unicode objects as well as bytes-like objects. It fills " "a :c:type:`Py_buffer` structure provided by the caller. In this case the " "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 NUL bytes embutidos. Objetos " +"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:96 +#: ../../c-api/arg.rst:111 msgid "" "``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:92 +#: ../../c-api/arg.rst:107 msgid "" -"Like ``s*``, except that it doesn't accept mutable objects. The result is " -"stored into two C variables, the first one a pointer to a C string, the " -"second one its length. The string may contain embedded null bytes. Unicode " -"objects are converted to C strings using ``'utf-8'`` encoding." +"Like ``s*``, except that it provides a :ref:`borrowed buffer `. The result is stored into two C variables, the first one a pointer " +"to a C string, the second one its length. The string may contain embedded " +"null bytes. Unicode objects are converted to C strings using ``'utf-8'`` " +"encoding." msgstr "" -"Como ``s*``, exceto os que não aceitam objetos mutáveis. O resultado é " -"armazenado em duas variáveis em C, a primeira é um ponteiro para uma string " -"em C, a segunda é o tamanho. A string deve conter bytes nulos embutidos. " -"Objetos Unicode são convertidos para strings em C usando codificação " -"``'utf-8'``." +"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:100 ../../c-api/arg.rst:565 +#: ../../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 \\*]" -#: ../../c-api/arg.rst:99 +#: ../../c-api/arg.rst:114 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:104 +#: ../../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:103 +#: ../../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:108 +#: ../../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:107 +#: ../../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:118 +#: ../../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:111 +#: ../../c-api/arg.rst:126 msgid "" -"This format converts a bytes-like object to a C pointer to a character " -"string; it does not accept Unicode objects. The bytes buffer must not " -"contain embedded null bytes; if it does, a :exc:`ValueError` exception is " -"raised." +"This format converts a bytes-like object to a C pointer to a :ref:`borrowed " +"` character string; it does not accept Unicode " +"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 byte ou similar para um ponteiro C para uma " -"string de caracteres; não aceita objetos Unicode. O buffer de bytes não pode " -"conter bytes nulos incorporados; se isso ocorrer uma exceção :exc:" -"`ValueError` será levantada." +"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:116 +#: ../../c-api/arg.rst:132 msgid "" "Previously, :exc:`TypeError` was raised when embedded null bytes were " "encountered in the bytes buffer." msgstr "" -"Anteriormente, :exc:`TypeError` foi levantado quando os bytes nulos " -"incorporados foram encontrados no buffer de bytes." +"Anteriormente, a exceção :exc:`TypeError` era levantada quando pontos de " +"código nulo embutidos em string Python eram encontrados no buffer de bytes." -#: ../../c-api/arg.rst:123 +#: ../../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:121 +#: ../../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 variação 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:127 +#: ../../c-api/arg.rst:143 msgid "" "``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:126 +#: ../../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:132 +#: ../../c-api/arg.rst:148 msgid "``S`` (:class:`bytes`) [PyBytesObject \\*]" msgstr "``S`` (:class:`bytes`) [PyBytesObject \\*]" -#: ../../c-api/arg.rst:130 +#: ../../c-api/arg.rst:146 msgid "" "Requires that the Python object is a :class:`bytes` object, without " "attempting any conversion. Raises :exc:`TypeError` if the object is not a " -"bytes object. The C variable may also be declared as :c:type:`PyObject*`." +"bytes object. The C variable may also be declared as :c:expr:`PyObject*`." msgstr "" "Exige que o objeto Python seja um objeto :class:`bytes`, sem tentar nenhuma " -"conversão. Levanta :exc:`TypeError` se o objeto não for um objeto byte.A " -"variável C pode ser declarada como :c:type:`PyObject*`." +"conversão. Levanta :exc:`TypeError` se o objeto não for um objeto byte. A " +"variável C pode ser declarada como :c:expr:`PyObject*`." -#: ../../c-api/arg.rst:137 +#: ../../c-api/arg.rst:153 msgid "``Y`` (:class:`bytearray`) [PyByteArrayObject \\*]" msgstr "``Y`` (:class:`bytearray`) [PyByteArrayObject \\*]" -#: ../../c-api/arg.rst:135 +#: ../../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:type:" +"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:type:" +"class:`bytearray`. A variável C apenas pode ser declarada como :c:expr:" "`PyObject*`." -#: ../../c-api/arg.rst:154 +#: ../../c-api/arg.rst:170 msgid "``u`` (:class:`str`) [const Py_UNICODE \\*]" msgstr "``u`` (:class:`str`) [const Py_UNICODE \\*]" -#: ../../c-api/arg.rst:140 +#: ../../c-api/arg.rst:156 msgid "" "Convert a Python Unicode object to a C pointer to a NUL-terminated buffer of " "Unicode characters. You must pass the address of a :c:type:`Py_UNICODE` " @@ -384,8 +403,8 @@ msgstr "" "16 ou 32 bits). A string Python não deve conter pontos de código nulos " "incorporados, se isso ocorrer uma exceção :exc:`ValueError` será levantada." -#: ../../c-api/arg.rst:155 ../../c-api/arg.rst:164 ../../c-api/arg.rst:172 -#: ../../c-api/arg.rst:180 +#: ../../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`." @@ -393,11 +412,11 @@ msgstr "" "Parte do estilo antigo :c:type:`Py_UNICODE` API; por favor migre o uso para :" "c:func:`PyUnicode_AsWideCharString`." -#: ../../c-api/arg.rst:163 +#: ../../c-api/arg.rst:179 msgid "``u#`` (:class:`str`) [const Py_UNICODE \\*, :c:type:`Py_ssize_t`]" msgstr "``u#`` (:class:`str`) [const Py_UNICODE \\*, :c:type:`Py_ssize_t`]" -#: ../../c-api/arg.rst:157 +#: ../../c-api/arg.rst:173 msgid "" "This variant on ``u`` stores into two C variables, the first one a pointer " "to a Unicode data buffer, the second one its length. This variant allows " @@ -407,11 +426,11 @@ msgstr "" "para um buffer Unicode de dados, a segunda para seu comprimento. Esta " "variante permite ponteiros para nulos." -#: ../../c-api/arg.rst:171 +#: ../../c-api/arg.rst:187 msgid "``Z`` (:class:`str` or ``None``) [const Py_UNICODE \\*]" msgstr "``Z`` (:class:`str` ou ``None``) [const Py_UNICODE \\*]" -#: ../../c-api/arg.rst:166 +#: ../../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``." @@ -419,7 +438,7 @@ 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:179 +#: ../../c-api/arg.rst:195 msgid "" "``Z#`` (:class:`str` or ``None``) [const Py_UNICODE \\*, :c:type:" "`Py_ssize_t`]" @@ -427,7 +446,7 @@ msgstr "" "``Z#`` (:class:`str` ou ``None``) [const Py_UNICODE \\*, :c:type:" "`Py_ssize_t`]" -#: ../../c-api/arg.rst:174 +#: ../../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``." @@ -435,27 +454,26 @@ 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:184 +#: ../../c-api/arg.rst:200 msgid "``U`` (:class:`str`) [PyObject \\*]" msgstr "``U`` (:class:`str`) [PyObject \\*]" -#: ../../c-api/arg.rst:182 +#: ../../c-api/arg.rst:198 msgid "" "Requires that the Python object is a Unicode object, without attempting any " "conversion. Raises :exc:`TypeError` if the object is not a Unicode object. " -"The C variable may also be declared as :c:type:`PyObject*`." +"The C variable may also be declared as :c:expr:`PyObject*`." msgstr "" "Exige que o objeto python seja um objeto Unicode, sem tentar alguma " "conversão. Levanta :exc:`TypeError` se o objeto não for um objeto Unicode. A " -"variável C deve ser declarada como :c:type:`PyObject*`." +"variável C deve ser declarada como :c:expr:`PyObject*`." -#: ../../c-api/arg.rst:190 +#: ../../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:187 +#: ../../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. " @@ -467,11 +485,11 @@ msgstr "" "pelo chamador. O buffer pode conter bytes nulos incorporados. O chamador " "deve chamar :c:func:`PyBuffer_Release` quando isso for feito com o buffer." -#: ../../c-api/arg.rst:207 +#: ../../c-api/arg.rst:223 msgid "``es`` (:class:`str`) [const char \\*encoding, char \\*\\*buffer]" msgstr "``es`` (:class:`str`) [const char \\*encoding, char \\*\\*buffer]" -#: ../../c-api/arg.rst:193 +#: ../../c-api/arg.rst:209 msgid "" "This variant on ``s`` is used for encoding Unicode into a character buffer. " "It only works for encoded data without embedded NUL bytes." @@ -480,26 +498,26 @@ msgstr "" "de caracteres. Ele só funciona para dados codificados sem NUL bytes " "incorporados." -#: ../../c-api/arg.rst:196 +#: ../../c-api/arg.rst:212 msgid "" "This format requires two arguments. The first is only used as input, and " -"must be a :c:type:`const char*` which points to the name of an encoding as a " +"must be a :c:expr:`const char*` which points to the name of an encoding as a " "NUL-terminated string, or ``NULL``, in which case ``'utf-8'`` encoding is " "used. An exception is raised if the named encoding is not known to Python. " -"The second argument must be a :c:type:`char**`; the value of the pointer it " +"The second argument must be a :c:expr:`char**`; the value of the pointer it " "references will be set to a buffer with the contents of the argument text. " "The text will be encoded in the encoding specified by the first argument." msgstr "" "Este formato exige dois argumentos. O primeiro é usado apenas como entrada e " -"deve ser a :c:type:`const char*` que aponta para o nome de uma codificação " +"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 é levantada se a codificação nomeada não " -"for conhecida pelo Python. O segundo argumento deve ser a :c:type:`char**`; " +"for conhecida pelo Python. O segundo argumento deve ser um :c:expr:`char**`; " "o valor do ponteiro a que ele faz referência será definido como um buffer " "com o conteúdo do texto do argumento. O texto será codificado na codificação " "especificada pelo primeiro argumento." -#: ../../c-api/arg.rst:204 +#: ../../c-api/arg.rst:220 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 " @@ -511,7 +529,7 @@ msgstr "" "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:212 +#: ../../c-api/arg.rst:228 msgid "" "``et`` (:class:`str`, :class:`bytes` or :class:`bytearray`) [const char " "\\*encoding, char \\*\\*buffer]" @@ -519,17 +537,17 @@ msgstr "" "``et`` (:class:`str`, :class:`bytes` ou :class:`bytearray`) [const char " "\\*encoding, char \\*\\*buffer]" -#: ../../c-api/arg.rst:210 +#: ../../c-api/arg.rst:226 msgid "" "Same as ``es`` except that byte string objects are passed through without " "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:243 +#: ../../c-api/arg.rst:259 msgid "" "``es#`` (:class:`str`) [const char \\*encoding, char \\*\\*buffer, :c:type:" "`Py_ssize_t` \\*buffer_length]" @@ -537,7 +555,7 @@ msgstr "" "``es#`` (:class:`str`) [const char \\*encoding, char \\*\\*buffer, :c:type:" "`Py_ssize_t` \\*buffer_length]" -#: ../../c-api/arg.rst:215 +#: ../../c-api/arg.rst:231 msgid "" "This variant on ``s#`` is used for encoding Unicode into a character buffer. " "Unlike the ``es`` format, this variant allows input data which contains NUL " @@ -547,38 +565,38 @@ msgstr "" "caracteres. Diferente do formato ``es``, essa variante permite a entrada de " "dados que contêm caracteres NUL." -#: ../../c-api/arg.rst:219 +#: ../../c-api/arg.rst:235 msgid "" "It requires three arguments. The first is only used as input, and must be " -"a :c:type:`const char*` which points to the name of an encoding as a NUL-" +"a :c:expr:`const char*` which points to the name of an encoding as a NUL-" "terminated string, or ``NULL``, in which case ``'utf-8'`` encoding is used. " "An exception is raised if the named encoding is not known to Python. The " -"second argument must be a :c:type:`char**`; the value of the pointer it " +"second argument must be a :c:expr:`char**`; the value of the pointer it " "references will be set to a buffer with the contents of the argument text. " "The text will be encoded in the encoding specified by the first argument. " "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:type:`const char*` que aponta para o nome de uma codificação como uma " +"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 a :c:type:`char**`; o valor do " +"pelo Python. O segundo argumento deve ser um :c:expr:`char**`; o valor do " "ponteiro a que ele faz referência será definido como um buffer com o " "conteúdo do texto do argumento. O texto será codificado na codificação " "especificada pelo primeiro argumento. O terceiro argumento deve ser um " "ponteiro para um número inteiro; o número inteiro referenciado será definido " "como o número de bytes no buffer de saída." -#: ../../c-api/arg.rst:229 +#: ../../c-api/arg.rst:245 msgid "There are two modes of operation:" msgstr "Há dois modos de operação:" -#: ../../c-api/arg.rst:231 +#: ../../c-api/arg.rst:247 msgid "" "If *\\*buffer* points a ``NULL`` pointer, the function will allocate a " -"buffer of the needed size, copy the encoded data into this buffer and set *" -"\\*buffer* to reference the newly allocated storage. The caller is " +"buffer of the needed size, copy the encoded data into this buffer and set " +"*\\*buffer* to reference the newly allocated storage. The caller is " "responsible for calling :c:func:`PyMem_Free` to free the allocated buffer " "after usage." msgstr "" @@ -588,7 +606,7 @@ msgstr "" "chamador é responsável por chamar :c:func:`PyMem_Free` para liberar o buffer " "alocado após o uso." -#: ../../c-api/arg.rst:236 +#: ../../c-api/arg.rst:252 msgid "" "If *\\*buffer* points to a non-``NULL`` pointer (an already allocated " "buffer), :c:func:`PyArg_ParseTuple` will use this location as the buffer and " @@ -603,7 +621,7 @@ msgstr "" "terminá-lo com NUL. Se o buffer não for suficientemente grande, um :exc:" "`ValueError` será definido." -#: ../../c-api/arg.rst:242 +#: ../../c-api/arg.rst:258 msgid "" "In both cases, *\\*buffer_length* is set to the length of the encoded data " "without the trailing NUL byte." @@ -611,7 +629,7 @@ msgstr "" "Em ambos os casos, o *\\*buffer_length* é definido como o comprimento dos " "dados codificados sem o byte NUL à direita." -#: ../../c-api/arg.rst:248 +#: ../../c-api/arg.rst:264 msgid "" "``et#`` (:class:`str`, :class:`bytes` or :class:`bytearray`) [const char " "\\*encoding, char \\*\\*buffer, :c:type:`Py_ssize_t` \\*buffer_length]" @@ -619,255 +637,257 @@ msgstr "" "``et#`` (:class:`str`, :class:`bytes` ou :class:`bytearray`) [const char " "\\*encoding, char \\*\\*buffer, :c:type:`Py_ssize_t` \\*buffer_length]" -#: ../../c-api/arg.rst:246 +#: ../../c-api/arg.rst:262 msgid "" "Same as ``es#`` except that byte string objects are passed through without " "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:251 +#: ../../c-api/arg.rst:267 msgid "Numbers" msgstr "Números" -#: ../../c-api/arg.rst:255 +#: ../../c-api/arg.rst:271 msgid "``b`` (:class:`int`) [unsigned char]" msgstr "``b`` (:class:`int`) [unsigned char]" -#: ../../c-api/arg.rst:254 +#: ../../c-api/arg.rst:270 msgid "" "Convert a nonnegative Python integer to an unsigned tiny int, stored in a C :" -"c:type:`unsigned char`." +"c:expr:`unsigned char`." msgstr "" -"Converte um inteiro Python não negativo em um inteiro pequeno não assinado " -"(unsigned tiny int), armazenado em um :c:type:`unsigned char` do C" +"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:259 ../../c-api/arg.rst:599 +#: ../../c-api/arg.rst:275 ../../c-api/arg.rst:618 msgid "``B`` (:class:`int`) [unsigned char]" msgstr "``B`` (:class:`int`) [unsigned char]" -#: ../../c-api/arg.rst:258 +#: ../../c-api/arg.rst:274 msgid "" "Convert a Python integer to a tiny int without overflow checking, stored in " -"a C :c:type:`unsigned char`." +"a C :c:expr:`unsigned char`." msgstr "" -"Converte um inteiro Python para um pequeno inteiro (tiny int) sem " -"verificação de estouro, armazenado em um :c:type:`unsigned char` do C." +"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:262 ../../c-api/arg.rst:593 +#: ../../c-api/arg.rst:278 ../../c-api/arg.rst:612 msgid "``h`` (:class:`int`) [short int]" msgstr "``h`` (:class:`int`) [short int]" -#: ../../c-api/arg.rst:262 -msgid "Convert a Python integer to a C :c:type:`short int`." -msgstr "Converte um inteiro Python para um :c:type:`short int` do C." +#: ../../c-api/arg.rst:278 +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:266 ../../c-api/arg.rst:602 +#: ../../c-api/arg.rst:282 ../../c-api/arg.rst:621 msgid "``H`` (:class:`int`) [unsigned short int]" msgstr "``H`` (:class:`int`) [unsigned short int]" -#: ../../c-api/arg.rst:265 +#: ../../c-api/arg.rst:281 msgid "" -"Convert a Python integer to a C :c:type:`unsigned short int`, without " +"Convert a Python integer to a C :c:expr:`unsigned short int`, without " "overflow checking." msgstr "" -"Converte um inteiro Python para um :c:type:`unsigned short int` do C, sem " +"Converte um inteiro Python para um :c:expr:`unsigned short int` do C, sem " "verificação de estouro." -#: ../../c-api/arg.rst:269 ../../c-api/arg.rst:587 +#: ../../c-api/arg.rst:285 ../../c-api/arg.rst:606 msgid "``i`` (:class:`int`) [int]" msgstr "``i`` (:class:`int`) [int]" -#: ../../c-api/arg.rst:269 -msgid "Convert a Python integer to a plain C :c:type:`int`." -msgstr "Converte um inteiro Python para um :c:type:`int` simples do C." +#: ../../c-api/arg.rst:285 +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:273 ../../c-api/arg.rst:605 +#: ../../c-api/arg.rst:289 ../../c-api/arg.rst:624 msgid "``I`` (:class:`int`) [unsigned int]" msgstr "``I`` (:class:`int`) [unsigned int]" -#: ../../c-api/arg.rst:272 +#: ../../c-api/arg.rst:288 msgid "" -"Convert a Python integer to a C :c:type:`unsigned int`, without overflow " +"Convert a Python integer to a C :c:expr:`unsigned int`, without overflow " "checking." msgstr "" -"Converte um inteiro Python para um :c:type:`unsigned int` do C, sem " +"Converte um inteiro Python para um :c:expr:`unsigned int` do C, sem " "verificação de estouro." -#: ../../c-api/arg.rst:276 ../../c-api/arg.rst:596 +#: ../../c-api/arg.rst:292 ../../c-api/arg.rst:615 msgid "``l`` (:class:`int`) [long int]" msgstr "``l`` (:class:`int`) [long int]" -#: ../../c-api/arg.rst:276 -msgid "Convert a Python integer to a C :c:type:`long int`." -msgstr "Converte um inteiro Python para um :c:type:`long int` do C." +#: ../../c-api/arg.rst:292 +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:280 ../../c-api/arg.rst:608 +#: ../../c-api/arg.rst:296 ../../c-api/arg.rst:627 msgid "``k`` (:class:`int`) [unsigned long]" msgstr "``k`` (:class:`int`) [unsigned long]" -#: ../../c-api/arg.rst:279 +#: ../../c-api/arg.rst:295 msgid "" -"Convert a Python integer to a C :c:type:`unsigned long` without overflow " +"Convert a Python integer to a C :c:expr:`unsigned long` without overflow " "checking." msgstr "" -"Converte um inteiro Python para um :c:type:`unsigned long` do C sem " +"Converte um inteiro Python para um :c:expr:`unsigned long` do C sem " "verificação de estouro." -#: ../../c-api/arg.rst:283 ../../c-api/arg.rst:611 +#: ../../c-api/arg.rst:299 ../../c-api/arg.rst:630 msgid "``L`` (:class:`int`) [long long]" msgstr "``L`` (:class:`int`) [longo longo]" -#: ../../c-api/arg.rst:283 -msgid "Convert a Python integer to a C :c:type:`long long`." -msgstr "Converte um inteiro Python para um :c:type:`long long` do C." +#: ../../c-api/arg.rst:299 +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:287 ../../c-api/arg.rst:614 +#: ../../c-api/arg.rst:303 ../../c-api/arg.rst:633 msgid "``K`` (:class:`int`) [unsigned long long]" msgstr "``K`` (:class:`int`) [unsigned long long]" -#: ../../c-api/arg.rst:286 +#: ../../c-api/arg.rst:302 msgid "" -"Convert a Python integer to a C :c:type:`unsigned long long` without " +"Convert a Python integer to a C :c:expr:`unsigned long long` without " "overflow checking." msgstr "" -"Converte um inteiro Python para um :c:type:`unsigned long long` do C sem " +"Converte um inteiro Python para um :c:expr:`unsigned long long` do C sem " "verificação de estouro." -#: ../../c-api/arg.rst:290 ../../c-api/arg.rst:617 -msgid "``n`` (:class:`int`) [Py_ssize_t]" -msgstr "``n`` (:class:`int`) [Py_ssize_t]" +#: ../../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`]" -#: ../../c-api/arg.rst:290 +#: ../../c-api/arg.rst:306 msgid "Convert a Python integer to a C :c:type:`Py_ssize_t`." msgstr "Converte um inteiro Python para um :c:type:`Py_ssize_t` do C." -#: ../../c-api/arg.rst:297 +#: ../../c-api/arg.rst:313 msgid "``c`` (:class:`bytes` or :class:`bytearray` of length 1) [char]" msgstr "``c`` (:class:`bytes` ou :class:`bytearray` de comprimento 1) [char]" -#: ../../c-api/arg.rst:293 +#: ../../c-api/arg.rst:309 msgid "" "Convert a Python byte, represented as a :class:`bytes` or :class:`bytearray` " -"object of length 1, to a C :c:type:`char`." +"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:type:`char` do C." +"`bytearray` de comprimento 1, para um :c:expr:`char` do C." -#: ../../c-api/arg.rst:296 +#: ../../c-api/arg.rst:312 msgid "Allow :class:`bytearray` objects." msgstr "Permite objetos :class:`bytearray`." -#: ../../c-api/arg.rst:301 ../../c-api/arg.rst:625 +#: ../../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]" -#: ../../c-api/arg.rst:300 +#: ../../c-api/arg.rst:316 msgid "" "Convert a Python character, represented as a :class:`str` object of length " -"1, to a C :c:type:`int`." +"1, to a C :c:expr:`int`." msgstr "" "Converte um caractere Python, representado como uma :class:`str` objeto de " -"comprimento 1, para um :c:type:`int` do C" +"comprimento 1, para um :c:expr:`int` do C" -#: ../../c-api/arg.rst:304 ../../c-api/arg.rst:631 +#: ../../c-api/arg.rst:320 ../../c-api/arg.rst:650 msgid "``f`` (:class:`float`) [float]" msgstr "``f``` (:class:`float`) [float]" -#: ../../c-api/arg.rst:304 -msgid "Convert a Python floating point number to a C :c:type:`float`." +#: ../../c-api/arg.rst:320 +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:type:`float` do C." +"Converte um número de ponto flutuante Python para um :c:expr:`float` do C." -#: ../../c-api/arg.rst:307 ../../c-api/arg.rst:628 +#: ../../c-api/arg.rst:323 ../../c-api/arg.rst:647 msgid "``d`` (:class:`float`) [double]" msgstr "``d`` (:class:`float`) [double]" -#: ../../c-api/arg.rst:307 -msgid "Convert a Python floating point number to a C :c:type:`double`." +#: ../../c-api/arg.rst:323 +msgid "Convert a Python floating point number to a C :c:expr:`double`." msgstr "" -"Converte um número de ponto flutuante Python para um :c:type:`double` do C." +"Converte um número de ponto flutuante Python para um :c:expr:`double` do C." -#: ../../c-api/arg.rst:310 +#: ../../c-api/arg.rst:326 msgid "``D`` (:class:`complex`) [Py_complex]" msgstr "``D`` (:class:`complex`) [Py_complex]" -#: ../../c-api/arg.rst:310 +#: ../../c-api/arg.rst:326 msgid "Convert a Python complex number to a C :c:type:`Py_complex` structure." msgstr "" "Converte um número complexo Python para uma estrutura C :c:type:`Py_complex`" -#: ../../c-api/arg.rst:313 +#: ../../c-api/arg.rst:329 msgid "Other objects" msgstr "Outros objetos" -#: ../../c-api/arg.rst:318 ../../c-api/arg.rst:642 +#: ../../c-api/arg.rst:336 ../../c-api/arg.rst:663 msgid "``O`` (object) [PyObject \\*]" msgstr "``O`` (objeto) [PyObject\\*]" -#: ../../c-api/arg.rst:316 +#: ../../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:325 +#: ../../c-api/arg.rst:343 msgid "``O!`` (object) [*typeobject*, PyObject \\*]" msgstr "``O!`` (objeto) [*typeobject*, PyObject \\*]" -#: ../../c-api/arg.rst:321 +#: ../../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 " -"second is the address of the C variable (of type :c:type:`PyObject*`) into " +"second is the address of the C variable (of type :c:expr:`PyObject*`) into " "which the object pointer is stored. If the Python object does not have the " "required type, :exc:`TypeError` is raised." 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:type:" +"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. " +"Python não tiver o tipo necessário, :exc:`TypeError` é levantada." -#: ../../c-api/arg.rst:350 ../../c-api/arg.rst:656 +#: ../../c-api/arg.rst:368 ../../c-api/arg.rst:677 msgid "``O&`` (object) [*converter*, *anything*]" msgstr "``O&`` (objeto) [*converter*, *anything*]" -#: ../../c-api/arg.rst:330 +#: ../../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 " -"of a C variable (of arbitrary type), converted to :c:type:`void *`. The " +"of a C variable (of arbitrary type), converted to :c:expr:`void *`. The " "*converter* function in turn is called as follows::" 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:type:" +"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:337 +#: ../../c-api/arg.rst:355 msgid "" "where *object* is the Python object to be converted and *address* is the :c:" -"type:`void*` argument that was passed to the :c:func:`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." +"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:type:`void*` que foi passado para a função :c:func:`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 " +"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:343 +#: ../../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 " @@ -881,15 +901,15 @@ msgstr "" "segunda chamada, o parâmetro *object* será ``NULL``; *address* terá o mesmo " "valor que na chamada original." -#: ../../c-api/arg.rst:349 +#: ../../c-api/arg.rst:367 msgid "``Py_CLEANUP_SUPPORTED`` was added." msgstr "109 ``Py_CLEANUP_SUPPORTED`` foi adicionado." -#: ../../c-api/arg.rst:359 +#: ../../c-api/arg.rst:377 msgid "``p`` (:class:`bool`) [int]" msgstr "``p`` (:class:`bool`) [int]" -#: ../../c-api/arg.rst:353 +#: ../../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 " @@ -903,11 +923,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:364 ../../c-api/arg.rst:659 +#: ../../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:362 +#: ../../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 " @@ -918,7 +938,7 @@ msgstr "" "unidades de formato individuais em *items*. As unidades de formato para " "sequências podem ser aninhadas." -#: ../../c-api/arg.rst:366 +#: ../../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 --- " @@ -933,7 +953,7 @@ msgstr "" "receber o valor (na verdade, a semântica é herdada de downcasts no C --- seu " "raio de ação pode variar)." -#: ../../c-api/arg.rst:372 +#: ../../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:" @@ -941,11 +961,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:380 +#: ../../c-api/arg.rst:398 msgid "``|``" msgstr "``|``" -#: ../../c-api/arg.rst:376 +#: ../../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 " @@ -959,11 +979,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:389 +#: ../../c-api/arg.rst:407 msgid "``$``" msgstr "``$``" -#: ../../c-api/arg.rst:383 +#: ../../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 " @@ -976,11 +996,11 @@ msgstr "" "então ``|`` deve sempre ser especificado antes de ``$`` na string de " "formatação." -#: ../../c-api/arg.rst:394 +#: ../../c-api/arg.rst:412 msgid "``:``" msgstr "``:``" -#: ../../c-api/arg.rst:392 +#: ../../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 " @@ -990,11 +1010,11 @@ 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:399 +#: ../../c-api/arg.rst:417 msgid "``;``" msgstr "``;``" -#: ../../c-api/arg.rst:397 +#: ../../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 ``;" @@ -1004,16 +1024,17 @@ msgstr "" "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:401 +#: ../../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:404 +#: ../../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 " @@ -1029,29 +1050,28 @@ 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:410 +#: ../../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 :c:func:`PyArg_Parse\\*` " -"functions return true, otherwise they return false and raise an appropriate " -"exception. When the :c:func:`PyArg_Parse\\*` functions fail due to " -"conversion failure in one of the format units, the variables at the " -"addresses corresponding to that and the following format units are left " -"untouched." +"the format must be exhausted. On success, the ``PyArg_Parse*`` functions " +"return true, otherwise they return false and raise an appropriate exception. " +"When the ``PyArg_Parse*`` functions fail due to conversion failure in one of " +"the format units, the variables at the addresses corresponding to that and " +"the following format units are left untouched." msgstr "" "Para a conversão funcionar, o objeto *arg* deve corresponder ao formato e o " -"formato deve estar completo. Em caso de sucesso, as funções :c:func:" -"`PyArg_Parse\\*` retornam verdadeiro, caso contrário retornam falso e " -"levantam uma exceção apropriada. Quando as funções :c:func:`PyArg_Parse\\*` " -"falham devido a uma falha de conversão em uma das unidades de formatação, as " -"variáveis nos endereços correspondentes àquela unidade e às unidades de " -"formatação seguintes são deixadas intocadas." - -#: ../../c-api/arg.rst:419 +"formato deve estar completo. Em caso de sucesso, as funções ``PyArg_Parse*`` " +"retornam verdadeiro, caso contrário retornam falso e levantam uma exceção " +"apropriada. Quando as funções ``PyArg_Parse*`` falham devido a uma falha de " +"conversão em uma das unidades de formatação, as variáveis nos endereços " +"correspondentes àquela unidade e às unidades de formatação seguintes são " +"deixadas intocadas." + +#: ../../c-api/arg.rst:438 msgid "API Functions" msgstr "Funções da API" -#: ../../c-api/arg.rst:423 +#: ../../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 +1081,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:430 +#: ../../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,7 +1089,7 @@ 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:436 +#: ../../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``-" @@ -1084,7 +1104,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:443 +#: ../../c-api/arg.rst:462 msgid "" "Added support for :ref:`positional-only parameters `." @@ -1092,7 +1112,7 @@ msgstr "" "Adicionado suporte para :ref:`positional-only parameters `." -#: ../../c-api/arg.rst:450 +#: ../../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 +1120,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:456 +#: ../../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 +1130,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:466 +#: ../../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 " @@ -1120,15 +1140,15 @@ msgid "" "does remain a convenient way to decompose other tuples, however, and may " "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 " +"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." -#: ../../c-api/arg.rst:477 +#: ../../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 " @@ -1137,7 +1157,7 @@ msgid "" "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 " "equal. Additional arguments must be passed to the function, each of which " -"should be a pointer to a :c:type:`PyObject*` variable; these will be filled " +"should be a pointer to a :c:expr:`PyObject*` variable; these will be filled " "in with the values from *args*; they will contain :term:`borrowed references " "`. The variables which correspond to optional parameters " "not given by *args* will not be filled in; these should be initialized by " @@ -1145,23 +1165,8 @@ msgid "" "a tuple or contains the wrong number of elements; an exception will be set " "if there was a failure." 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:" -"type:`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:492 + +#: ../../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::" @@ -1169,7 +1174,7 @@ msgstr "" "Este é um exemplo do uso dessa função, tirado das fontes do módulo auxiliar " "para referências fracas :mod:`_weakref`::" -#: ../../c-api/arg.rst:508 +#: ../../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,23 +1182,23 @@ msgstr "" "A chamada à :c:func:`PyArg_UnpackTuple` neste exemplo é inteiramente " "equivalente à chamada para :c:func:`PyArg_ParseTuple`::" -#: ../../c-api/arg.rst:516 +#: ../../c-api/arg.rst:535 msgid "Building values" msgstr "Construindo valores" -#: ../../c-api/arg.rst:520 +#: ../../c-api/arg.rst:539 msgid "" -"Create a new value based on a format string similar to those accepted by " -"the :c:func:`PyArg_Parse\\*` family of functions and a sequence of values. " -"Returns the value or ``NULL`` in the case of an error; an exception will be " -"raised if ``NULL`` is returned." +"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 " +"value or ``NULL`` in the case of an error; an exception will be raised if " +"``NULL`` is returned." msgstr "" "Cria um novo valor baseado em uma string de formatação similar àquelas " -"aceitas pela família de funções :c:func:`PyArg_Parse\\*` e uma sequência de " -"valores. Retorna o valor ou ``NULL`` em caso de erro; uma exceção será " -"levantada se ``NULL`` for retornado." +"aceitas pela família de funções ``PyArg_Parse*`` e uma sequência de valores. " +"Retorna o valor ou ``NULL`` em caso de erro; uma exceção será levantada se " +"``NULL`` for retornado." -#: ../../c-api/arg.rst:525 +#: ../../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,7 +1214,7 @@ msgstr "" "retornar uma tupla de tamanho 0 ou um, use parênteses na string de " "formatação." -#: ../../c-api/arg.rst:531 +#: ../../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. " @@ -1228,7 +1233,7 @@ msgstr "" "`free` para aquela memória uma vez que :c:func:`Py_BuildValue` tiver " "retornado." -#: ../../c-api/arg.rst:539 +#: ../../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 +1245,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:543 +#: ../../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 +1256,11 @@ msgstr "" "pode ser usado para tornar strings de formatação longas um pouco mais " "legíveis." -#: ../../c-api/arg.rst:549 +#: ../../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:548 +#: ../../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 +1269,13 @@ msgstr "" "usando codificação ``'utf-8'``. Se o ponteiro da string C é ``NULL``, " "``None`` é usado." -#: ../../c-api/arg.rst:554 +#: ../../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:552 +#: ../../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 +1285,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:558 +#: ../../c-api/arg.rst:577 msgid "``y`` (:class:`bytes`) [const char \\*]" msgstr "``y`` (:class:`bytes`) [const char \\*]" -#: ../../c-api/arg.rst:557 +#: ../../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 +1297,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:562 +#: ../../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:561 +#: ../../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 +1309,36 @@ 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:565 ../../c-api/arg.rst:581 +#: ../../c-api/arg.rst:584 ../../c-api/arg.rst:600 msgid "Same as ``s``." msgstr "O mesmo de ``s``." -#: ../../c-api/arg.rst:568 +#: ../../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:568 ../../c-api/arg.rst:584 +#: ../../c-api/arg.rst:587 ../../c-api/arg.rst:603 msgid "Same as ``s#``." msgstr "O mesmo de ``s#``." -#: ../../c-api/arg.rst:573 +#: ../../c-api/arg.rst:592 msgid "``u`` (:class:`str`) [const wchar_t \\*]" msgstr "``u`` (:class:`str`) [const wchar_t \\*]" -#: ../../c-api/arg.rst:571 +#: ../../c-api/arg.rst:590 msgid "" -"Convert a null-terminated :c:type:`wchar_t` buffer of Unicode (UTF-16 or " +"Convert a null-terminated :c:expr:`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: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:578 +#: ../../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:576 +#: ../../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,164 +1348,163 @@ msgstr "" "um objeto Python Unicode. Se o ponteiro do buffer Unicode é ``NULL``, o " "comprimento é ignorado e ``None`` é retornado." -#: ../../c-api/arg.rst:581 +#: ../../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:584 +#: ../../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:587 -msgid "Convert a plain C :c:type:`int` to a Python integer object." -msgstr "Converte um simples :c:type:`int` do C em um objeto inteiro do Python." +#: ../../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:590 +#: ../../c-api/arg.rst:609 msgid "``b`` (:class:`int`) [char]" msgstr "``b`` (:class:`int`) [char]" -#: ../../c-api/arg.rst:590 -msgid "Convert a plain C :c:type:`char` to a Python integer object." +#: ../../c-api/arg.rst:609 +msgid "Convert a plain C :c:expr:`char` to a Python integer object." msgstr "" -"Converte um simples :c:type:`char` do C em um objeto inteiro do Python. " +"Converte um simples :c:expr:`char` do C em um objeto inteiro do Python." -#: ../../c-api/arg.rst:593 -msgid "Convert a plain C :c:type:`short int` to a Python integer object." +#: ../../c-api/arg.rst:612 +msgid "Convert a plain C :c:expr:`short int` to a Python integer object." msgstr "" -"Converte um simples :c:type:`short int` do C em um objeto inteiro do Python. " +"Converte um simples :c:expr:`short int` do C em um objeto inteiro do Python." -#: ../../c-api/arg.rst:596 -msgid "Convert a C :c:type:`long int` to a Python integer object." -msgstr "Converte um :c:type:`long int` do C em um objeto inteiro do Python. " +#: ../../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:599 -msgid "Convert a C :c:type:`unsigned char` to a Python integer object." +#: ../../c-api/arg.rst:618 +msgid "Convert a C :c:expr:`unsigned char` to a Python integer object." msgstr "" -"Converte um :c:type:`unsigned char` do C em um objeto inteiro do Python. " +"Converte um :c:expr:`unsigned char` do C em um objeto inteiro do Python." -#: ../../c-api/arg.rst:602 -msgid "Convert a C :c:type:`unsigned short int` to a Python integer object." +#: ../../c-api/arg.rst:621 +msgid "Convert a C :c:expr:`unsigned short int` to a Python integer object." msgstr "" -"Converte um :c:type:`unsigned short int` do C em um objeto inteiro do " -"Python. " +"Converte um :c:expr:`unsigned short int` do C em um objeto inteiro do Python." -#: ../../c-api/arg.rst:605 -msgid "Convert a C :c:type:`unsigned int` to a Python integer object." +#: ../../c-api/arg.rst:624 +msgid "Convert a C :c:expr:`unsigned int` to a Python integer object." msgstr "" -"Converte um :c:type:`unsigned int` do C em um objeto inteiro do Python. " +"Converte um :c:expr:`unsigned int` do C em um objeto inteiro do Python." -#: ../../c-api/arg.rst:608 -msgid "Convert a C :c:type:`unsigned long` to a Python integer object." +#: ../../c-api/arg.rst:627 +msgid "Convert a C :c:expr:`unsigned long` to a Python integer object." msgstr "" -"Converte um :c:type:`unsigned long` do C em um objeto inteiro do Python. " +"Converte um :c:expr:`unsigned long` do C em um objeto inteiro do Python." -#: ../../c-api/arg.rst:611 -msgid "Convert a C :c:type:`long long` to a Python integer object." -msgstr "Converte um :c:type:`long long` do C em um objeto inteiro do Python. " +#: ../../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:614 -msgid "Convert a C :c:type:`unsigned long long` to a Python integer object." +#: ../../c-api/arg.rst:633 +msgid "Convert a C :c:expr:`unsigned long long` to a Python integer object." msgstr "" -"Converte um :c:type:`unsigned long long` do C em um objeto inteiro do " -"Python. " +"Converte um :c:expr:`unsigned long long` do C em um objeto inteiro do Python." -#: ../../c-api/arg.rst:617 +#: ../../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. " +msgstr "Converte um :c:type:`Py_ssize_t` do C em um objeto inteiro do Python." -#: ../../c-api/arg.rst:621 +#: ../../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:620 +#: ../../c-api/arg.rst:639 msgid "" -"Convert a C :c:type:`int` representing a byte to a Python :class:`bytes` " +"Convert a C :c:expr:`int` representing a byte to a Python :class:`bytes` " "object of length 1." msgstr "" -"Converte um :c:type:`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:624 +#: ../../c-api/arg.rst:643 msgid "" -"Convert a C :c:type:`int` representing a character to Python :class:`str` " +"Convert a C :c:expr:`int` representing a character to Python :class:`str` " "object of length 1." msgstr "" -"Converte um :c:type:`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:628 -msgid "Convert a C :c:type:`double` to a Python floating point number." +#: ../../c-api/arg.rst:647 +msgid "Convert a C :c:expr:`double` to a Python floating point number." msgstr "" -"Converte um :c:type:`double` do C em um número ponto flutuante do Python. " +"Converte um :c:expr:`double` do C em um número ponto flutuante do Python." -#: ../../c-api/arg.rst:631 -msgid "Convert a C :c:type:`float` to a Python floating point number." +#: ../../c-api/arg.rst:650 +msgid "Convert a C :c:expr:`float` to a Python floating point number." msgstr "" -"Converte um :c:type:`float` do C em um número ponto flutuante do Python. " +"Converte um :c:expr:`float` do C em um número ponto flutuante do Python." -#: ../../c-api/arg.rst:634 +#: ../../c-api/arg.rst:653 msgid "``D`` (:class:`complex`) [Py_complex \\*]" msgstr "``D`` (:class:`complex`) [Py_complex \\*]" -#: ../../c-api/arg.rst:634 +#: ../../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:637 +#: ../../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." +"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 (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." +"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:645 +#: ../../c-api/arg.rst:666 msgid "``S`` (object) [PyObject \\*]" msgstr "``S`` (objeto) [PyObject \\*]" -#: ../../c-api/arg.rst:645 +#: ../../c-api/arg.rst:666 msgid "Same as ``O``." msgstr "O mesmo que ``O``." -#: ../../c-api/arg.rst:650 +#: ../../c-api/arg.rst:671 msgid "``N`` (object) [PyObject \\*]" msgstr "``N`` (objeto) [PyObject \\*]" -#: ../../c-api/arg.rst:648 +#: ../../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:653 +#: ../../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:type:" +"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:type:" +"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:659 +#: ../../c-api/arg.rst:680 msgid "" "Convert a sequence of C values to a Python tuple with the same number of " "items." @@ -1511,11 +1512,11 @@ msgstr "" "Converte uma sequência de valores C para uma tupla Python com o mesmo número " "de itens." -#: ../../c-api/arg.rst:662 +#: ../../c-api/arg.rst:683 msgid "``[items]`` (:class:`list`) [*matching-items*]" msgstr "``[items]`` (:class:`list`) [*matching-items*]" -#: ../../c-api/arg.rst:662 +#: ../../c-api/arg.rst:683 msgid "" "Convert a sequence of C values to a Python list with the same number of " "items." @@ -1523,11 +1524,11 @@ msgstr "" "Converte uma sequência de valores C para uma lista Python com o mesmo número " "de itens." -#: ../../c-api/arg.rst:667 +#: ../../c-api/arg.rst:688 msgid "``{items}`` (:class:`dict`) [*matching-items*]" msgstr "``{items}`` (:class:`dict`) [*matching-items*]" -#: ../../c-api/arg.rst:665 +#: ../../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 " @@ -1537,7 +1538,7 @@ msgstr "" "valores consecutivos do C adiciona um item ao dicionário, servindo como " "chave e valor, respectivamente." -#: ../../c-api/arg.rst:669 +#: ../../c-api/arg.rst:690 msgid "" "If there is an error in the format string, the :exc:`SystemError` exception " "is set and ``NULL`` returned." @@ -1545,7 +1546,7 @@ msgstr "" "Se existir um erro na string de formatação, a exceção :exc:`SystemError` é " "definida e ``NULL`` é retornado." -#: ../../c-api/arg.rst:674 +#: ../../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 09b798f38..a342d1d55 100644 --- a/c-api/bool.po +++ b/c-api/bool.po @@ -1,27 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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.10\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-06-29 12:56+0000\n" -"PO-Revision-Date: 2021-06-28 00:47+0000\n" -"Last-Translator: Italo Penaforte , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:56+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../c-api/bool.rst:6 msgid "Boolean Objects" diff --git a/c-api/buffer.po b/c-api/buffer.po index ad9567967..264a9e11f 100644 --- a/c-api/buffer.po +++ b/c-api/buffer.po @@ -1,38 +1,31 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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 -# (Douglas da Silva) , 2021 -# Julio Gadioli Soares , 2021 -# felipe caridade , 2021 -# Danielle Farias , 2021 -# Julia Rizza , 2021 -# Nícolas Prado , 2021 -# Leandro Braga , 2021 +# python-doc bot, 2025 # #, 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 00:47+0000\n" -"Last-Translator: Leandro Braga , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:56+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"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 "" @@ -42,11 +35,11 @@ msgid "" "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." +"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 "" @@ -124,20 +117,20 @@ 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 "" @@ -146,7 +139,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 @@ -172,7 +165,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 "" @@ -221,16 +214,17 @@ 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 " @@ -240,7 +234,7 @@ msgstr "" "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 " @@ -252,7 +246,7 @@ 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 " @@ -264,7 +258,7 @@ msgstr "" "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." @@ -272,7 +266,7 @@ 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." @@ -281,7 +275,7 @@ msgstr "" "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 " @@ -293,7 +287,7 @@ msgstr "" "``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." @@ -303,7 +297,7 @@ msgstr "" "* 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 " @@ -311,9 +305,9 @@ msgid "" 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``." +"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 " @@ -323,11 +317,11 @@ 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 " @@ -340,7 +334,7 @@ msgstr "" "member:`~Py_buffer.strides` e :c:member:`~Py_buffer.suboffsets` DEVEM ser " "``NULL``." -#: ../../c-api/buffer.rst:163 +#: ../../c-api/buffer.rst:165 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 " @@ -351,7 +345,7 @@ msgstr "" "multidimensionais DEVEM ser capazes de lidar com dimensões :c:macro:" "`PyBUF_MAX_NDIM`." -#: ../../c-api/buffer.rst:169 +#: ../../c-api/buffer.rst:171 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 " @@ -363,7 +357,7 @@ msgstr "" "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:176 msgid "" "Shape values are restricted to ``shape[n] >= 0``. The case ``shape[n] == 0`` " "requires special attention. See `complex arrays`_ for further information." @@ -371,11 +365,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:180 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:184 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." @@ -384,7 +378,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:188 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] <= " @@ -395,11 +389,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:192 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:196 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 " @@ -414,7 +408,7 @@ msgstr "" "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:203 msgid "" "If all suboffsets are negative (i.e. no de-referencing is needed), then this " "field must be ``NULL`` (the default value)." @@ -422,7 +416,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:206 msgid "" "This type of array representation is used by the Python Imaging Library " "(PIL). See `complex arrays`_ for further information how to access elements " @@ -432,11 +426,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:210 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:214 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 " @@ -449,11 +443,11 @@ msgstr "" "ser liberados quando o buffer é liberado. O consumidor NÃO DEVE alterar esse " "valor." -#: ../../c-api/buffer.rst:221 +#: ../../c-api/buffer.rst:223 msgid "Buffer request types" msgstr "Tipos de solicitação do buffer" -#: ../../c-api/buffer.rst:223 +#: ../../c-api/buffer.rst:225 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 " @@ -466,18 +460,18 @@ 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:230 msgid "" "All :c:data:`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." -#: ../../c-api/buffer.rst:232 +#: ../../c-api/buffer.rst:234 msgid "request-independent fields" msgstr "campos independentes do pedido" -#: ../../c-api/buffer.rst:233 +#: ../../c-api/buffer.rst:235 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:" @@ -489,11 +483,11 @@ msgstr "" "`~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:241 msgid "readonly, format" msgstr "apenas em formato" -#: ../../c-api/buffer.rst:243 +#: ../../c-api/buffer.rst:245 msgid "" "Controls the :c:member:`~Py_buffer.readonly` field. If set, the exporter " "MUST provide a writable buffer or else report failure. Otherwise, the " @@ -505,7 +499,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:252 msgid "" "Controls the :c:member:`~Py_buffer.format` field. If set, this field MUST be " "filled in correctly. Otherwise, this field MUST be ``NULL``." @@ -514,7 +508,7 @@ msgstr "" "DEVE ser preenchido corretamente. Caso contrário, este campo DEVE ser " "``NULL``." -#: ../../c-api/buffer.rst:254 +#: ../../c-api/buffer.rst:256 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:" @@ -526,7 +520,7 @@ msgstr "" "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:260 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)." @@ -535,11 +529,11 @@ msgstr "" "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:265 msgid "shape, strides, suboffsets" msgstr "forma, avanços, suboffsets" -#: ../../c-api/buffer.rst:265 +#: ../../c-api/buffer.rst:267 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 " @@ -549,57 +543,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:274 ../../c-api/buffer.rst:298 +#: ../../c-api/buffer.rst:323 msgid "Request" msgstr "Solicitação" -#: ../../c-api/buffer.rst:272 ../../c-api/buffer.rst:296 -#: ../../c-api/buffer.rst:321 +#: ../../c-api/buffer.rst:274 ../../c-api/buffer.rst:298 +#: ../../c-api/buffer.rst:323 msgid "shape" msgstr "Forma" -#: ../../c-api/buffer.rst:272 ../../c-api/buffer.rst:296 -#: ../../c-api/buffer.rst:321 +#: ../../c-api/buffer.rst:274 ../../c-api/buffer.rst:298 +#: ../../c-api/buffer.rst:323 msgid "strides" msgstr "Avanços" -#: ../../c-api/buffer.rst:272 ../../c-api/buffer.rst:296 -#: ../../c-api/buffer.rst:321 +#: ../../c-api/buffer.rst:274 ../../c-api/buffer.rst:298 +#: ../../c-api/buffer.rst:323 msgid "suboffsets" -msgstr "" +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:276 ../../c-api/buffer.rst:278 +#: ../../c-api/buffer.rst:280 ../../c-api/buffer.rst:300 +#: ../../c-api/buffer.rst:302 ../../c-api/buffer.rst:304 +#: ../../c-api/buffer.rst:306 ../../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:339 msgid "yes" msgstr "sim" -#: ../../c-api/buffer.rst:274 ../../c-api/buffer.rst:323 -#: ../../c-api/buffer.rst:325 +#: ../../c-api/buffer.rst:276 ../../c-api/buffer.rst:325 +#: ../../c-api/buffer.rst:327 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:278 ../../c-api/buffer.rst:280 +#: ../../c-api/buffer.rst:282 ../../c-api/buffer.rst:300 +#: ../../c-api/buffer.rst:302 ../../c-api/buffer.rst:304 +#: ../../c-api/buffer.rst:306 ../../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:339 msgid "NULL" msgstr "NULL" -#: ../../c-api/buffer.rst:287 +#: ../../c-api/buffer.rst:289 msgid "contiguity requests" msgstr "requisições contíguas" -#: ../../c-api/buffer.rst:289 +#: ../../c-api/buffer.rst:291 msgid "" "C or Fortran :term:`contiguity ` can be explicitly requested, " "with and without stride information. Without stride information, the buffer " @@ -609,32 +603,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:298 ../../c-api/buffer.rst:323 msgid "contig" -msgstr "" +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:300 ../../c-api/buffer.rst:306 +#: ../../c-api/buffer.rst:337 ../../c-api/buffer.rst:339 msgid "C" msgstr "C" -#: ../../c-api/buffer.rst:300 +#: ../../c-api/buffer.rst:302 msgid "F" msgstr "F" -#: ../../c-api/buffer.rst:302 +#: ../../c-api/buffer.rst:304 msgid "C or F" msgstr "C ou F" -#: ../../c-api/buffer.rst:304 +#: ../../c-api/buffer.rst:306 msgid ":c:macro:`PyBUF_ND`" msgstr ":c:macro:`PyBUF_ND`" -#: ../../c-api/buffer.rst:309 +#: ../../c-api/buffer.rst:311 msgid "compound requests" msgstr "requisições compostas" -#: ../../c-api/buffer.rst:311 +#: ../../c-api/buffer.rst:313 msgid "" "All possible requests are fully defined by some combination of the flags in " "the previous section. For convenience, the buffer protocol provides " @@ -645,7 +639,7 @@ msgstr "" "protocolo do buffer fornece combinações frequentemente utilizadas como " "sinalizadores únicos." -#: ../../c-api/buffer.rst:315 +#: ../../c-api/buffer.rst:317 msgid "" "In the following table *U* stands for undefined contiguity. The consumer " "would have to call :c:func:`PyBuffer_IsContiguous` to determine contiguity." @@ -653,39 +647,39 @@ 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:323 msgid "readonly" msgstr "readonly" -#: ../../c-api/buffer.rst:321 +#: ../../c-api/buffer.rst:323 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: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 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:325 ../../c-api/buffer.rst:329 +#: ../../c-api/buffer.rst:333 ../../c-api/buffer.rst:337 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:327 ../../c-api/buffer.rst:331 +#: ../../c-api/buffer.rst:335 ../../c-api/buffer.rst:339 msgid "1 or 0" msgstr "1 ou 0" -#: ../../c-api/buffer.rst:342 +#: ../../c-api/buffer.rst:344 msgid "Complex arrays" msgstr "Vetores Complexos" -#: ../../c-api/buffer.rst:345 +#: ../../c-api/buffer.rst:347 msgid "NumPy-style: shape and strides" msgstr "Estilo NumPy: forma e avanços" -#: ../../c-api/buffer.rst:347 +#: ../../c-api/buffer.rst:349 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." @@ -695,7 +689,7 @@ msgstr "" "`~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:352 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 " @@ -707,7 +701,7 @@ msgstr "" "`~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:356 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-" @@ -717,7 +711,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:366 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 " @@ -727,11 +721,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:400 msgid "PIL-style: shape, strides and suboffsets" msgstr "Estilo-PIL: forma, avanços e suboffsets" -#: ../../c-api/buffer.rst:400 +#: ../../c-api/buffer.rst:402 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 " @@ -750,129 +744,186 @@ 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:411 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`` " "strides and suboffsets::" msgstr "" +"Esta é uma função que retorna um ponteiro para o elemento em uma matriz N-D " +"apontada por um índice N-dimensional onde existem ambos passos e " +"subconjuntos não-``NULL``::" -#: ../../c-api/buffer.rst:428 +#: ../../c-api/buffer.rst:430 msgid "Buffer-related functions" -msgstr "" +msgstr "Funções relacionadas ao Buffer" -#: ../../c-api/buffer.rst:432 +#: ../../c-api/buffer.rst:434 msgid "" "Return ``1`` if *obj* supports the buffer interface otherwise ``0``. When " "``1`` is returned, it doesn't guarantee that :c:func:`PyObject_GetBuffer` " "will succeed. This function always succeeds." msgstr "" +"Retorna ``1`` se *obj* oferece suporte à interface de buffer, se não, ``0``. " +"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:441 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``." 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-" +">obj`` para ``NULL`` e retornar ``-1``." -#: ../../c-api/buffer.rst:444 +#: ../../c-api/buffer.rst:446 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 " "redirect requests to a single object, ``view->obj`` MAY refer to this object " "instead of *exporter* (See :ref:`Buffer Object Structures `)." msgstr "" +"Em caso de sucesso, preenche *view*, define ``view->obj`` para uma nova " +"referência para *exporter* e retorna 0. No caso de provedores de buffer " +"encadeados que redirecionam requisições para um único objeto, ``view->obj`` " +"DEVE se referir a este objeto em vez de *exporter* (Veja :ref:`Buffer Object " +"Structures `)." -#: ../../c-api/buffer.rst:449 +#: ../../c-api/buffer.rst:451 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." 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." -#: ../../c-api/buffer.rst:457 +#: ../../c-api/buffer.rst:459 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 "" +"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:464 msgid "" "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`." -#: ../../c-api/buffer.rst:467 +#: ../../c-api/buffer.rst:470 msgid "" "Return the implied :c:data:`~Py_buffer.itemsize` from :c:data:`~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." -#: ../../c-api/buffer.rst:475 +#: ../../c-api/buffer.rst:478 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 " "one (*order* is ``'A'``). Return ``0`` otherwise. This function always " "succeeds." msgstr "" +"Retorna ``1`` se a memória definida pela *view* é :term:`contígua " +"` no estilo C (*order* é ``'C'``) ou no estilo Fortran (*order* é " +"``'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:485 msgid "" "Get the memory area pointed to by the *indices* inside the given *view*. " "*indices* must point to an array of ``view->ndim`` indices." 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:491 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 " "success, ``-1`` on error." msgstr "" +"Copia *len* bytes contíguos de *buf* para *view*. *fort* pode ser ``'C'`` ou " +"``'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:498 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 " "ordering or either one). ``0`` is returned on success, ``-1`` on error." msgstr "" +"Copia *len* bytes de *src* para sua representação contígua em *buf*. *order* " +"pode ser ``'C'`` ou ``'F'`` ou ``'A'`` (para ordenação estilo C, Fortran ou " +"qualquer uma). O retorno é ``0`` em caso de sucesso e ``-1`` em caso de " +"falha." -#: ../../c-api/buffer.rst:499 +#: ../../c-api/buffer.rst:502 msgid "This function fails if *len* != *src->len*." -msgstr "" +msgstr "Esta função falha se *len* != *src->len*." -#: ../../c-api/buffer.rst:504 +#: ../../c-api/buffer.rst:507 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 " "given shape with the given number of bytes per element." msgstr "" +"Preenche o array *strides* com byte-strides de um array :term:`contíguo` " +"(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:511 +#: ../../c-api/buffer.rst:514 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 " "a sequence of unsigned bytes." msgstr "" +"Manipula requisições de buffer para um exportador que quer expor *buf* de " +"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:515 +#: ../../c-api/buffer.rst:518 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-" "only and :c:macro:`PyBUF_WRITABLE` is set in *flags*." msgstr "" +"O argumento *flags* indica o tipo de requisição. Esta função sempre preenche " +"*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:519 +#: ../../c-api/buffer.rst:522 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``;" 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``;" -#: ../../c-api/buffer.rst:523 +#: ../../c-api/buffer.rst:526 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 " "unmodified. Otherwise, *exporter* MUST be ``NULL``." msgstr "" +"Se esta função é usada como parte de um :ref:`getbufferproc`, *exporter* DEVE ser definida para o objeto de exportação e " +"*flags* deve ser passado sem modificações. Caso contrário, *exporter* DEVE " +"ser ``NULL``." diff --git a/c-api/bytearray.po b/c-api/bytearray.po index 82ef5fb0f..fe5307179 100644 --- a/c-api/bytearray.po +++ b/c-api/bytearray.po @@ -1,32 +1,31 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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 -# msilvavieira, 2021 +# python-doc bot, 2025 # #, 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 00:47+0000\n" -"Last-Translator: msilvavieira, 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:56+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"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 "" @@ -74,7 +73,7 @@ msgstr "" "Retorna um novo objeto bytearray, *o*, que implementa o :ref:`protocolo de " "buffer`." -#: ../../c-api/bytearray.rst:50 +#: ../../c-api/bytearray.rst:48 msgid "" "Create a new bytearray object from *string* and its length, *len*. On " "failure, ``NULL`` is returned." @@ -82,44 +81,44 @@ msgstr "" "Cria um novo objeto bytearray a partir de *string* e seu comprimento, *len*. " "Em caso de falha, ``NULL`` é retornado." -#: ../../c-api/bytearray.rst:56 +#: ../../c-api/bytearray.rst:54 msgid "" "Concat bytearrays *a* and *b* and return a new bytearray with the result." msgstr "" "Concatena os bytearrays *a* e *b* e retorna um novo bytearray com o " "resultado." -#: ../../c-api/bytearray.rst:61 +#: ../../c-api/bytearray.rst:59 msgid "Return the size of *bytearray* after checking for a ``NULL`` pointer." msgstr "" "Retorna o tamanho de *bytearray* após verificar se há um ponteiro ``NULL``." -#: ../../c-api/bytearray.rst:66 +#: ../../c-api/bytearray.rst:64 msgid "" "Return the contents of *bytearray* as a char array after checking for a " "``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:73 +#: ../../c-api/bytearray.rst:71 msgid "Resize the internal buffer of *bytearray* to *len*." msgstr "Redimensiona o buffer interno de *bytearray* para o tamanho *len*." -#: ../../c-api/bytearray.rst:76 +#: ../../c-api/bytearray.rst:74 msgid "Macros" msgstr "Macros" -#: ../../c-api/bytearray.rst:78 +#: ../../c-api/bytearray.rst:76 msgid "These macros trade safety for speed and they don't check pointers." msgstr "" "Estas macros trocam segurança por velocidade e não verificam os ponteiros." -#: ../../c-api/bytearray.rst:82 +#: ../../c-api/bytearray.rst:80 msgid "Macro version of :c:func:`PyByteArray_AsString`." msgstr "Versão macro de :c:func:`PyByteArray_AsString`." -#: ../../c-api/bytearray.rst:87 +#: ../../c-api/bytearray.rst:85 msgid "Macro version of :c:func:`PyByteArray_Size`." msgstr "Versão macro de :c:func:`PyByteArray_Size`." diff --git a/c-api/bytes.po b/c-api/bytes.po index 92ddb03ff..d77ea5504 100644 --- a/c-api/bytes.po +++ b/c-api/bytes.po @@ -1,39 +1,36 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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 -# Tiago Henrique , 2021 -# Claudio Rogerio Carvalho Filho , 2021 -# Julio Gadioli Soares , 2021 +# python-doc bot, 2025 # #, 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 00:47+0000\n" -"Last-Translator: Julio Gadioli Soares , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:56+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../c-api/bytes.rst:6 msgid "Bytes Objects" -msgstr "Objetos Bytes" +msgstr "Objetos bytes" #: ../../c-api/bytes.rst:8 msgid "" "These functions raise :exc:`TypeError` when expecting a bytes parameter and " -"are called with a non-bytes parameter." +"called with a non-bytes parameter." msgstr "" "Estas funções levantam :exc:`TypeError` quando se espera um parâmetro bytes " "e são chamados com um parâmetro que não é bytes." @@ -189,8 +186,8 @@ msgid ":attr:`%zd`" msgstr ":attr:`%zd`" #: ../../c-api/bytes.rst:87 -msgid "Py_ssize_t" -msgstr "Py_ssize_t" +msgid ":c:type:`\\ Py_ssize_t`" +msgstr ":c:type:`\\ Py_ssize_t`" #: ../../c-api/bytes.rst:87 msgid "Equivalent to ``printf(\"%zd\")``. [1]_" @@ -246,9 +243,9 @@ msgstr "const void\\*" #: ../../c-api/bytes.rst:102 msgid "" -"The hex representation of a C pointer. Mostly equivalent to ``printf(\"%p" -"\")`` except that it is guaranteed to start with the literal ``0x`` " -"regardless of what the platform's ``printf`` yields." +"The hex representation of a C pointer. Mostly equivalent to " +"``printf(\"%p\")`` except that it is guaranteed to start with the literal " +"``0x`` regardless of what the platform's ``printf`` yields." msgstr "" "A representação hexadecimal de um ponteiro C. Principalmente equivalente a " "``printf(\"%p\")`` exceto que é garantido que comece com o literal ``0x`` " @@ -350,7 +347,7 @@ msgstr "" "modificados de forma alguma, a menos que o objeto tenha sido criado apenas " "usando ``PyBytes_FromStringAndSize(NULL, size)``. Não deve ser desalinhado. " "Se *obj* não é um objeto bytes, :c:func:`PyBytes_AsStringAndSize` retorna " -"``-1`` e eleva :exc:`TypeError`." +"``-1`` e levanta :exc:`TypeError`." #: ../../c-api/bytes.rst:173 msgid "" @@ -378,12 +375,12 @@ msgstr "" #: ../../c-api/bytes.rst:189 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 msgid "" @@ -394,17 +391,17 @@ msgid "" "address of an existing bytes object as an lvalue (it may be written into), " "and the new size desired. On success, *\\*bytes* holds the resized bytes " "object and ``0`` is returned; the address in *\\*bytes* may differ from its " -"input value. If the reallocation fails, the original bytes object at *" -"\\*bytes* is deallocated, *\\*bytes* is set to ``NULL``, :exc:`MemoryError` " +"input value. If the reallocation fails, the original bytes object at " +"*\\*bytes* is deallocated, *\\*bytes* is set to ``NULL``, :exc:`MemoryError` " "is set, and ``-1`` is returned." msgstr "" -"Uma maneira de redimensionar um objeto de bytes, mesmo que seja \"imutável" -"\". Use isso apenas para construir um novo objeto de bytes; não use isso se " -"os bytes já puderem ser conhecidos em outras partes do código. É um erro " -"invocar essa função se o refcount no objeto de bytes de entrada não for um. " -"Passe o endereço de um objeto de bytes existente como um lvalue (pode ser " -"gravado) e o novo tamanho desejado. Em caso de sucesso, *\\*bytes* mantém o " -"objeto de bytes redimensionados e ``0`` é retornado; o endereço em *" -"\\*bytes* pode diferir do seu valor de entrada. Se a realocação falhar, o " +"Uma maneira de redimensionar um objeto de bytes, mesmo que seja " +"\"imutável\". Use isso apenas para construir um novo objeto de bytes; não " +"use isso se os bytes já puderem ser conhecidos em outras partes do código. É " +"um erro invocar essa função se o refcount no objeto de bytes de entrada não " +"for um. Passe o endereço de um objeto de bytes existente como um lvalue " +"(pode ser gravado) e o novo tamanho desejado. Em caso de sucesso, *\\*bytes* " +"mantém o objeto de bytes redimensionados e ``0`` é retornado; o endereço em " +"*\\*bytes* pode diferir do seu valor de entrada. Se a realocação falhar, o " "objeto de bytes originais em *\\*bytes* é desalocado, *\\*bytes* é definido " "como ``NULL``, :exc:`MemoryError` é definido e ``-1`` é retornado." diff --git a/c-api/call.po b/c-api/call.po index a6d18f356..cd10410b2 100644 --- a/c-api/call.po +++ b/c-api/call.po @@ -1,28 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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 -# Alexandre B A Villares, 2021 -# Renan Lopes , 2021 +# python-doc bot, 2025 # #, 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 00:47+0000\n" -"Last-Translator: Renan Lopes , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-23 17:01+0000\n" +"PO-Revision-Date: 2025-09-22 15:56+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../c-api/call.rst:6 msgid "Call Protocol" @@ -42,6 +41,8 @@ msgid "" "Instances of classes that set :c:member:`~PyTypeObject.tp_call` are " "callable. The signature of the slot is::" msgstr "" +"Instâncias de classe que definem :c:member:`~PyTypeObject.tp_call` são " +"chamáveis. A assinatura do slot é::" #: ../../c-api/call.rst:19 msgid "" @@ -50,18 +51,28 @@ msgid "" "code. *args* must be non-NULL (use an empty tuple if there are no arguments) " "but *kwargs* may be *NULL* if there are no keyword arguments." msgstr "" +"Uma chamada é feita usando uma tupla para os argumentos posicionais e um " +"dicionário para os argumentos nomeados, similar a ``callable(*args, " +"**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." 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." #: ../../c-api/call.rst:29 msgid "" -"To call an object, use :c:func:`PyObject_Call` or other :ref:`call API `." +"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:`API de " +"chamada `." #: ../../c-api/call.rst:36 msgid "The Vectorcall Protocol" @@ -72,6 +83,8 @@ msgid "" "The vectorcall protocol was introduced in :pep:`590` as an additional " "protocol for making calls more efficient." msgstr "" +"O protocolo vectorcall foi introduzido pela :pep:`590` como um protocolo " +"adicional para tornar invocações mais eficientes." #: ../../c-api/call.rst:43 msgid "" @@ -84,12 +97,23 @@ msgid "" "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:" #: ../../c-api/call.rst:57 msgid "" "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." #: ../../c-api/call.rst:60 msgid "" @@ -98,6 +122,10 @@ msgid "" "args tuple and kwargs dict anyway, then there is no point in implementing " "vectorcall." msgstr "" +"Uma classe não deve implementar vectorcall se for mais lento que *tp_call*. " +"Por exemplo, se o chamador precisa converter os argumentos para uma tupla " +"args e um dicionário kwargs de qualquer forma, então não é necessário " +"implementar vectorcall." #: ../../c-api/call.rst:65 msgid "" @@ -107,35 +135,44 @@ msgid "" "*vectorcallfunc* appears. This is a pointer to a function with the following " "signature:" msgstr "" +"Classes podem implementar o protocolo de chamada de vetor ativando a flag :" +"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:" #: ../../c-api/call.rst:73 msgid "*callable* is the object being called." -msgstr "" +msgstr "*callable* é o objeto sendo chamado." #: ../../c-api/call.rst:75 msgid "" "*args* is a C array consisting of the positional arguments followed by the" -msgstr "" +msgstr "*args* é um array C formado pelos argumentos posicionais seguidos de" #: ../../c-api/call.rst:75 msgid "" "values of the keyword arguments. This can be *NULL* if there are no " "arguments." msgstr "" +"valores dos argumentos nomeados. Este pode ser *NULL* se não existirem " +"argumentos." #: ../../c-api/call.rst:79 msgid "*nargsf* is the number of positional arguments plus possibly the" -msgstr "" +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 " "positional arguments from *nargsf*, use :c:func:`PyVectorcall_NARGS`." msgstr "" +"Sinalizador :const:`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 msgid "*kwnames* is a tuple containing the names of the keyword arguments;" -msgstr "" +msgstr "*kwnames* é uma tupla contendo os nomes dos argumentos nomeados;" #: ../../c-api/call.rst:82 msgid "" @@ -143,6 +180,9 @@ msgid "" "(instances of ``str`` or a subclass) and they must be unique. If there are " "no keyword arguments, then *kwnames* can instead be *NULL*." msgstr "" +"em outras palavras, as chaves do dicionário kwargs. Estes nomes devem ser " +"strings (instâncias de ``str`` ou uma subclasse) e eles devem ser únicos. Se " +"não existem argumentos nomeados, então *kwnames* deve então ser *NULL*." #: ../../c-api/call.rst:89 msgid "" @@ -151,12 +191,18 @@ msgid "" "argument 1 (not 0) in the allocated vector. The callee must restore the " "value of ``args[-1]`` before returning." msgstr "" +"Se esse sinalizador é definido em um argumento *nargsf* do vectorcall, deve " +"ser permitido ao chamado temporariamente mudar ``args[-1]``. Em outras " +"palavras, *args* aponta para o argumento 1 (não 0) no vetor alocado. O " +"chamado deve restaurar o valor de ``args[-1]`` antes de retornar." #: ../../c-api/call.rst:94 msgid "" "For :c:func:`PyObject_VectorcallMethod`, this flag means instead that " "``args[0]`` may be changed." msgstr "" +"Para :c:func:`PyObject_VectorcallMethod`, este sinalizador significa que " +"``args[0]`` pode ser alterado." #: ../../c-api/call.rst:97 msgid "" @@ -165,6 +211,10 @@ msgid "" "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." #: ../../c-api/call.rst:102 msgid "" @@ -172,6 +222,9 @@ msgid "" "call>` 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." #: ../../c-api/call.rst:109 msgid "" @@ -203,6 +256,9 @@ msgid "" "`: 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*." #: ../../c-api/call.rst:128 msgid "" @@ -210,346 +266,414 @@ msgid "" "callee should use *Py_EnterRecursiveCall* and *Py_LeaveRecursiveCall* if " "needed." msgstr "" +"Por questão de eficiência, este não é o caso de chamadas utilizando o " +"vectorcall: o que chama deve utilizar *Py_EnterRecursiveCall* e " +"*Py_LeaveRecursiveCall* se necessário." #: ../../c-api/call.rst:134 msgid "Vectorcall Support API" -msgstr "" +msgstr "API de suporte à chamada de vetores" #: ../../c-api/call.rst:138 msgid "" "Given a vectorcall *nargsf* argument, return the actual number of arguments. " "Currently equivalent to::" msgstr "" +"Dado um argumento de chamada de vetor *nargsf*, retorna o número real de " +"argumentos. Atualmente equivalente a::" #: ../../c-api/call.rst:144 msgid "" "However, the function ``PyVectorcall_NARGS`` should be used to allow for " "future extensions." msgstr "" +"Entretanto, a função ``PyVectorcall_NARGS`` deve ser usada para permitir " +"para futuras extensões." -#: ../../c-api/call.rst:147 ../../c-api/call.rst:161 ../../c-api/call.rst:175 -#: ../../c-api/call.rst:259 ../../c-api/call.rst:346 ../../c-api/call.rst:360 -#: ../../c-api/call.rst:375 ../../c-api/call.rst:391 ../../c-api/call.rst:413 -msgid "This function is not part of the :ref:`limited API `." -msgstr "" - -#: ../../c-api/call.rst:153 +#: ../../c-api/call.rst:151 msgid "" "If *op* does not support the vectorcall protocol (either because the type " "does not or because the specific instance does not), return *NULL*. " "Otherwise, return the vectorcall function pointer stored in *op*. This " "function never raises an exception." msgstr "" +"Se *op* não suporta o protocolo de chamada de vetor (seja porque o tipo ou a " +"instância específica não suportam), retorne *NULL*. Se não, retorne o " +"ponteiro da função chamada de vetor armazenado em *op*. Esta função nunca " +"levanta uma exceção." -#: ../../c-api/call.rst:158 +#: ../../c-api/call.rst:156 msgid "" "This is mostly useful to check whether or not *op* supports vectorcall, " "which can be done by checking ``PyVectorcall_Function(op) != NULL``." 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:167 +#: ../../c-api/call.rst:163 msgid "" "Call *callable*'s :c:type:`vectorcallfunc` with positional and keyword " "arguments given in a tuple and dict, respectively." 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:170 +#: ../../c-api/call.rst:166 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``." 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 checa a flag :const:`Py_TPFLAGS_HAVE_VECTORCALL` e não retorna para " +"``tp_call``." -#: ../../c-api/call.rst:183 +#: ../../c-api/call.rst:177 msgid "Object Calling API" -msgstr "" +msgstr "API de chamada de objetos" -#: ../../c-api/call.rst:185 +#: ../../c-api/call.rst:179 msgid "" "Various functions are available for calling a Python object. Each converts " "its arguments to a convention supported by the called object – either " -"*tp_call* or vectorcall. In order to do as litle conversion as possible, " +"*tp_call* or vectorcall. In order to do as little conversion as possible, " "pick one that best fits the format of data you have available." msgstr "" +"Várias funções estão disponíveis para chamar um objeto Python. Cada uma " +"converte seus argumentos para uma convenção suportada pelo objeto chamado – " +"seja *tp_call* ou chamada de vetor. Para fazer o mínimo possível de " +"conversões, escolha um que melhor se adapte ao formato de dados que você tem " +"disponível." -#: ../../c-api/call.rst:191 +#: ../../c-api/call.rst:185 msgid "" "The following table summarizes the available functions; please see " "individual documentation for details." msgstr "" +"A tabela a seguir resume as funções disponíveis; por favor, veja a " +"documentação individual para detalhes." -#: ../../c-api/call.rst:195 +#: ../../c-api/call.rst:189 msgid "Function" -msgstr "Função " +msgstr "Função" -#: ../../c-api/call.rst:195 +#: ../../c-api/call.rst:189 msgid "callable" -msgstr "" +msgstr "chamável" -#: ../../c-api/call.rst:195 +#: ../../c-api/call.rst:189 msgid "args" -msgstr "" +msgstr "args" -#: ../../c-api/call.rst:195 +#: ../../c-api/call.rst:189 msgid "kwargs" -msgstr "" +msgstr "kwargs" -#: ../../c-api/call.rst:197 +#: ../../c-api/call.rst:191 msgid ":c:func:`PyObject_Call`" -msgstr "" +msgstr ":c:func:`PyObject_Call`" -#: ../../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:209 -#: ../../c-api/call.rst:217 ../../c-api/call.rst:219 +#: ../../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 msgid "``PyObject *``" -msgstr "" +msgstr "``PyObject *``" -#: ../../c-api/call.rst:197 +#: ../../c-api/call.rst:191 msgid "tuple" -msgstr "" +msgstr "tupla" -#: ../../c-api/call.rst:197 ../../c-api/call.rst:219 +#: ../../c-api/call.rst:191 ../../c-api/call.rst:213 msgid "dict/``NULL``" -msgstr "" +msgstr "dict/``NULL``" -#: ../../c-api/call.rst:199 +#: ../../c-api/call.rst:193 msgid ":c:func:`PyObject_CallNoArgs`" -msgstr "" +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:211 ../../c-api/call.rst:213 ../../c-api/call.rst:215 msgid "---" -msgstr "" +msgstr "---" -#: ../../c-api/call.rst:201 +#: ../../c-api/call.rst:195 msgid ":c:func:`PyObject_CallOneArg`" -msgstr "" +msgstr ":c:func:`PyObject_CallOneArg`" -#: ../../c-api/call.rst:201 ../../c-api/call.rst:215 +#: ../../c-api/call.rst:195 ../../c-api/call.rst:209 msgid "1 object" -msgstr "" +msgstr "1 objeto" -#: ../../c-api/call.rst:203 +#: ../../c-api/call.rst:197 msgid ":c:func:`PyObject_CallObject`" -msgstr "" +msgstr ":c:func:`PyObject_CallObject`" -#: ../../c-api/call.rst:203 +#: ../../c-api/call.rst:197 msgid "tuple/``NULL``" -msgstr "" +msgstr "tupla/``NULL``" -#: ../../c-api/call.rst:205 +#: ../../c-api/call.rst:199 msgid ":c:func:`PyObject_CallFunction`" -msgstr "" +msgstr ":c:func:`PyObject_CallFunction`" -#: ../../c-api/call.rst:205 ../../c-api/call.rst:207 +#: ../../c-api/call.rst:199 ../../c-api/call.rst:201 msgid "format" -msgstr "formato" +msgstr "format" -#: ../../c-api/call.rst:207 +#: ../../c-api/call.rst:201 msgid ":c:func:`PyObject_CallMethod`" -msgstr "" +msgstr ":c:func:`PyObject_CallMethod`" -#: ../../c-api/call.rst:207 +#: ../../c-api/call.rst:201 msgid "obj + ``char*``" -msgstr "" +msgstr "obj + ``char*``" -#: ../../c-api/call.rst:209 +#: ../../c-api/call.rst:203 msgid ":c:func:`PyObject_CallFunctionObjArgs`" -msgstr "" +msgstr ":c:func:`PyObject_CallFunctionObjArgs`" -#: ../../c-api/call.rst:209 ../../c-api/call.rst:211 +#: ../../c-api/call.rst:203 ../../c-api/call.rst:205 msgid "variadic" -msgstr "" +msgstr "variádica" -#: ../../c-api/call.rst:211 +#: ../../c-api/call.rst:205 msgid ":c:func:`PyObject_CallMethodObjArgs`" -msgstr "" +msgstr ":c:func:`PyObject_CallMethodObjArgs`" -#: ../../c-api/call.rst:211 ../../c-api/call.rst:213 ../../c-api/call.rst:215 +#: ../../c-api/call.rst:205 ../../c-api/call.rst:207 ../../c-api/call.rst:209 msgid "obj + name" -msgstr "" +msgstr "obj + nome" -#: ../../c-api/call.rst:213 +#: ../../c-api/call.rst:207 msgid ":c:func:`PyObject_CallMethodNoArgs`" -msgstr "" +msgstr ":c:func:`PyObject_CallMethodNoArgs`" -#: ../../c-api/call.rst:215 +#: ../../c-api/call.rst:209 msgid ":c:func:`PyObject_CallMethodOneArg`" -msgstr "" +msgstr ":c:func:`PyObject_CallMethodOneArg`" -#: ../../c-api/call.rst:217 +#: ../../c-api/call.rst:211 msgid ":c:func:`PyObject_Vectorcall`" -msgstr "" +msgstr ":c:func:`PyObject_Vectorcall`" -#: ../../c-api/call.rst:217 ../../c-api/call.rst:219 ../../c-api/call.rst:221 +#: ../../c-api/call.rst:211 ../../c-api/call.rst:213 ../../c-api/call.rst:215 msgid "vectorcall" -msgstr "" +msgstr "vectorcall" -#: ../../c-api/call.rst:219 +#: ../../c-api/call.rst:213 msgid ":c:func:`PyObject_VectorcallDict`" -msgstr "" +msgstr ":c:func:`PyObject_VectorcallDict`" -#: ../../c-api/call.rst:221 +#: ../../c-api/call.rst:215 msgid ":c:func:`PyObject_VectorcallMethod`" -msgstr "" +msgstr ":c:func:`PyObject_VectorcallMethod`" -#: ../../c-api/call.rst:221 +#: ../../c-api/call.rst:215 msgid "arg + name" -msgstr "" +msgstr "arg + nome" -#: ../../c-api/call.rst:227 +#: ../../c-api/call.rst:221 msgid "" "Call a callable Python object *callable*, with arguments given by the tuple " "*args*, and named arguments given by the dictionary *kwargs*." 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:230 +#: ../../c-api/call.rst:224 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*." msgstr "" +"*args* não deve ser *NULL*; use uma tupla vazia se não precisar de " +"argumentos. Se nenhum argumento nomeado é necessário, *kwargs* pode ser " +"*NULL*." -#: ../../c-api/call.rst:233 ../../c-api/call.rst:245 ../../c-api/call.rst:256 -#: ../../c-api/call.rst:269 ../../c-api/call.rst:281 ../../c-api/call.rst:301 -#: ../../c-api/call.rst:320 ../../c-api/call.rst:334 ../../c-api/call.rst:343 -#: ../../c-api/call.rst:357 ../../c-api/call.rst:372 ../../c-api/call.rst:410 +#: ../../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 msgid "" "Return the result of the call on success, or raise an exception and return " "*NULL* on failure." msgstr "" +"Retorna o resultado da chamada em sucesso, ou levanta uma exceção e retorna " +"*NULL* em caso de falha." -#: ../../c-api/call.rst:236 +#: ../../c-api/call.rst:230 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:242 +#: ../../c-api/call.rst:236 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." 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:253 +#: ../../c-api/call.rst:247 msgid "" "Call a callable Python object *callable* with exactly 1 positional argument " "*arg* and no keyword arguments." msgstr "" +"Chama um objeto Python chamável de *callable* com exatamente 1 argumento " +"posicional *arg* e nenhum argumento nomeado." -#: ../../c-api/call.rst:266 +#: ../../c-api/call.rst:258 msgid "" "Call a callable Python object *callable*, with arguments given by the tuple " "*args*. If no arguments are needed, then *args* can be *NULL*." 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:272 ../../c-api/call.rst:284 +#: ../../c-api/call.rst:264 ../../c-api/call.rst:276 msgid "This is the equivalent of the Python expression: ``callable(*args)``." -msgstr "" +msgstr "Este é o equivalente da expressão Python: ``callable(*args)``." -#: ../../c-api/call.rst:277 +#: ../../c-api/call.rst:269 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` " "style format string. The format can be *NULL*, indicating that no arguments " "are provided." msgstr "" +"Chama um objeto Python chamável de *callable*, com um número variável de " +"argumentos C. Os argumentos C são descritos usando uma string de estilo no " +"formato :c:func:`Py_BuildValue`. O formato pode ser *NULL*, indicando que " +"nenhum argumento foi provido." -#: ../../c-api/call.rst:286 +#: ../../c-api/call.rst:278 msgid "" -"Note that if you only pass :c:type:`PyObject *` args, :c:func:" +"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." -#: ../../c-api/call.rst:289 +#: ../../c-api/call.rst:281 msgid "The type of *format* was changed from ``char *``." -msgstr "" +msgstr "O tipo de *format* foi mudado de ``char *``." -#: ../../c-api/call.rst:295 +#: ../../c-api/call.rst:287 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 "" +"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:299 +#: ../../c-api/call.rst:291 msgid "The format can be *NULL*, indicating that no arguments are provided." -msgstr "" +msgstr "O formato pode ser *NULL*, indicado que nenhum argumento foi provido." -#: ../../c-api/call.rst:304 +#: ../../c-api/call.rst:296 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:307 +#: ../../c-api/call.rst:299 msgid "" -"Note that if you only pass :c:type:`PyObject *` args, :c:func:" +"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." -#: ../../c-api/call.rst:310 +#: ../../c-api/call.rst:302 msgid "The types of *name* and *format* were changed from ``char *``." -msgstr "" +msgstr "Os tipos de *name* e *format* foram mudados de ``char *``." -#: ../../c-api/call.rst:316 +#: ../../c-api/call.rst:308 msgid "" -"Call a callable Python object *callable*, with a variable number of :c:type:" +"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:323 +#: ../../c-api/call.rst:315 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:329 +#: ../../c-api/call.rst:321 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:type:`PyObject *` arguments. The arguments are provided as a " +"number of :c:expr:`PyObject *` arguments. The arguments are provided as a " "variable number of parameters followed by *NULL*." msgstr "" +"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:340 +#: ../../c-api/call.rst:332 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*." 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:353 +#: ../../c-api/call.rst:343 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 " "*name*." 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:367 +#: ../../c-api/call.rst:355 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*." 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 " +"chamará diretamente a função vectorcall armazenada em *callable*." -#: ../../c-api/call.rst:381 +#: ../../c-api/call.rst:367 msgid "" "Call *callable* with positional arguments passed exactly as in the " "vectorcall_ protocol, but with keyword arguments passed as a dictionary " "*kwdict*. The *args* array contains only the positional arguments." msgstr "" +"Chama *callable* com argumentos posicionais passados exatamente como no " +"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:385 +#: ../../c-api/call.rst:371 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 " "already has a dictionary ready to use for the keyword arguments, but not a " "tuple for the positional arguments." msgstr "" +"Independentemente de qual protocolo é usado internamente, uma conversão de " +"argumentos precisa ser feita. Portanto, esta função só deve ser usada se o " +"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:397 +#: ../../c-api/call.rst:381 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 " @@ -560,18 +684,29 @@ msgid "" "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`." -#: ../../c-api/call.rst:406 +#: ../../c-api/call.rst:390 msgid "" "If the object has the :const:`Py_TPFLAGS_METHOD_DESCRIPTOR` feature, this " "will call the unbound method object with the full *args* vector as arguments." msgstr "" +"Se o objeto tem a feature :const:`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:419 +#: ../../c-api/call.rst:401 msgid "Call Support API" -msgstr "" +msgstr "API de suporte a chamadas" -#: ../../c-api/call.rst:423 +#: ../../c-api/call.rst:405 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 6531922c2..30ec52715 100644 --- a/c-api/capsule.po +++ b/c-api/capsule.po @@ -1,28 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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.10\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-06-29 12:56+0000\n" -"PO-Revision-Date: 2021-06-28 00:47+0000\n" -"Last-Translator: Claudio Rogerio Carvalho Filho , " -"2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:56+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../c-api/capsule.rst:6 msgid "Capsules" @@ -38,7 +37,7 @@ msgstr "" #: ../../c-api/capsule.rst:17 msgid "" "This subtype of :c:type:`PyObject` represents an opaque value, useful for C " -"extension modules who need to pass an opaque value (as a :c:type:`void*` " +"extension modules who need to pass an opaque value (as a :c:expr:`void*` " "pointer) through Python code to other C code. It is often used to make a C " "function pointer defined in one module available to other modules, so the " "regular import mechanism can be used to access C APIs defined in dynamically " @@ -46,7 +45,7 @@ msgid "" 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:" -"type:`void*`) através do código Python para outro código 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 " diff --git a/c-api/cell.po b/c-api/cell.po index a43d8d282..724f4d94f 100644 --- a/c-api/cell.po +++ b/c-api/cell.po @@ -1,30 +1,31 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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.10\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-06-29 12:56+0000\n" -"PO-Revision-Date: 2021-06-28 00:47+0000\n" -"Last-Translator: Rafael Fontenelle , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:56+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../c-api/cell.rst:6 msgid "Cell Objects" -msgstr "Objeto célula " +msgstr "Objeto célula" #: ../../c-api/cell.rst:8 msgid "" @@ -37,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 5b565e0dd..15d861c6d 100644 --- a/c-api/code.po +++ b/c-api/code.po @@ -1,27 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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.10\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-06-29 12:56+0000\n" -"PO-Revision-Date: 2021-06-28 00:48+0000\n" -"Last-Translator: Rafael Fontenelle , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:56+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../c-api/code.rst:8 msgid "Code Objects" diff --git a/c-api/codec.po b/c-api/codec.po index 6d954eeec..5df57e363 100644 --- a/c-api/codec.po +++ b/c-api/codec.po @@ -1,28 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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 -# Tiago Henrique , 2021 -# Hildeberto Abreu Magalhães , 2021 +# python-doc bot, 2025 # #, 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 00:48+0000\n" -"Last-Translator: Hildeberto Abreu Magalhães , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:56+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../c-api/codec.rst:4 msgid "Codec registry and support functions" @@ -186,7 +185,7 @@ msgstr "" #: ../../c-api/codec.rst:98 msgid "Return ``0`` on success, ``-1`` on error." -msgstr "Retorna``0`` em caso de sucesso, ``-1`` em caso de erro." +msgstr "Retorna ``0`` em caso de sucesso, ``-1`` em caso de erro." #: ../../c-api/codec.rst:102 msgid "" @@ -204,7 +203,7 @@ msgstr "Levanta *exc* como uma exceção." #: ../../c-api/codec.rst:112 msgid "Ignore the unicode error, skipping the faulty input." -msgstr "Ignora o erro de unicode, ignorando a entrada que causou o erro. " +msgstr "Ignora o erro de unicode, ignorando a entrada que causou o erro." #: ../../c-api/codec.rst:116 msgid "Replace the unicode encode error with ``?`` or ``U+FFFD``." diff --git a/c-api/complex.po b/c-api/complex.po index a94ec57cf..fb9749e88 100644 --- a/c-api/complex.po +++ b/c-api/complex.po @@ -1,31 +1,31 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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 -# Renan Lopes , 2021 +# python-doc bot, 2025 # #, 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 00:48+0000\n" -"Last-Translator: Renan Lopes , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:56+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"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 "" @@ -34,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." @@ -79,7 +79,7 @@ msgid "" "`Py_complex` representation." msgstr "" "Retorna a diferença entre dois números complexos, utilizando a representação " -"C :c:type:`Py_complex`:" +"C :c:type:`Py_complex`." #: ../../c-api/complex.rst:51 msgid "" @@ -87,7 +87,7 @@ msgid "" "`Py_complex` representation." msgstr "" "Retorna a negação do número complexo *num*, utilizando a representação C :c:" -"type:`Py_complex` " +"type:`Py_complex`." #: ../../c-api/complex.rst:57 msgid "" @@ -119,7 +119,7 @@ msgid "" "`Py_complex` representation." msgstr "" "Retorna a exponenciação de *num* por *exp*, utilizando a representação C :c:" -"type:`Py_complex` " +"type:`Py_complex`" #: ../../c-api/complex.rst:75 msgid "" @@ -177,12 +177,12 @@ msgid "Return a new :c:type:`PyComplexObject` object from *real* and *imag*." msgstr "Retorna um novo objeto :c:type:`PyComplexObject` de *real* e *imag*." #: ../../c-api/complex.rst:118 -msgid "Return the real part of *op* as a C :c:type:`double`." -msgstr "Retorna a parte real de *op* como um :c:type:`double` C." +msgid "Return the real part of *op* as a C :c:expr:`double`." +msgstr "Retorna a parte real de *op* como um :c:expr:`double` C." #: ../../c-api/complex.rst:123 -msgid "Return the imaginary part of *op* as a C :c:type:`double`." -msgstr "Retorna a parte imaginária de *op* como um :c:type:`double` C." +msgid "Return the imaginary part of *op* as a C :c:expr:`double`." +msgstr "Retorna a parte imaginária de *op* como um :c:expr:`double` C." #: ../../c-api/complex.rst:128 msgid "Return the :c:type:`Py_complex` value of the complex number *op*." diff --git a/c-api/concrete.po b/c-api/concrete.po index 8c3db6001..e61d6da1b 100644 --- a/c-api/concrete.po +++ b/c-api/concrete.po @@ -1,28 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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.10\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-06-29 12:56+0000\n" -"PO-Revision-Date: 2021-06-28 00:48+0000\n" -"Last-Translator: Claudio Rogerio Carvalho Filho , " -"2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:56+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../c-api/concrete.rst:8 msgid "Concrete Objects Layer" @@ -92,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" diff --git a/c-api/contextvars.po b/c-api/contextvars.po index ecb1f430e..684512a33 100644 --- a/c-api/contextvars.po +++ b/c-api/contextvars.po @@ -1,34 +1,31 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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 -# Vinicius Gubiani Ferreira , 2021 -# Alexsandro Matias de Almeida , 2021 -# Leandro Braga , 2021 +# python-doc bot, 2025 # #, 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 00:48+0000\n" -"Last-Translator: Leandro Braga , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:56+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"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 msgid "" diff --git a/c-api/conversion.po b/c-api/conversion.po index 07a419027..158e3ac8a 100644 --- a/c-api/conversion.po +++ b/c-api/conversion.po @@ -1,27 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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: -# Raul Lima , 2021 -# Rafael Fontenelle , 2021 +# python-doc bot, 2025 # #, 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 00:48+0000\n" -"Last-Translator: Rafael Fontenelle , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:56+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../c-api/conversion.rst:6 msgid "String conversion and formatting" @@ -29,7 +29,7 @@ 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 "" @@ -47,9 +47,9 @@ msgid "" "*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 "" @@ -68,31 +68,35 @@ msgid "" "The wrappers ensure that ``str[size-1]`` is always ``'\\0'`` upon return. " "They never write more than *size* bytes (including the trailing ``'\\0'``) " "into str. Both functions require that ``str != NULL``, ``size > 0``, " -"``format != NULL`` and ``size < INT_MAX``." +"``format != NULL`` and ``size < INT_MAX``. Note that this means there is no " +"equivalent to the C99 ``n = snprintf(NULL, 0, ...)`` which would determine " +"the necessary buffer size." msgstr "" "Os invólucros garantem que ``str[size-1]`` seja sempre ``'\\0'`` no retorno. " "Eles nunca escrevem mais do que *size* bytes (incluindo o ``'\\0'`` ao " "final) em str. Ambas as funções exigem que ``str != NULL``, ``size > 0``, " -"``format != NULL`` e ``size < INT_MAX``." +"``format != NULL`` e ``size < INT_MAX``. Note que isso significa que não há " +"equivalente ao ``n = snprintf(NULL, 0, ...)`` do C99 que determinaria o " +"tamanho de buffer necessário." -#: ../../c-api/conversion.rst:33 +#: ../../c-api/conversion.rst:34 msgid "" "The return value (*rv*) for these functions should be interpreted as follows:" msgstr "" "O valor de retorno (*rv*) para essas funções deve ser interpretado da " "seguinte forma:" -#: ../../c-api/conversion.rst:35 +#: ../../c-api/conversion.rst:36 msgid "" "When ``0 <= rv < size``, the output conversion was successful and *rv* " "characters were written to *str* (excluding the trailing ``'\\0'`` byte at " "``str[rv]``)." msgstr "" -"Quando``0 <= rv < size``, a conversão de saída foi bem-sucedida e os " +"Quando ``0 <= rv < size``, a conversão de saída foi bem-sucedida e os " "caracteres de *rv* foram escritos em *str* (excluindo o ``'\\0'`` byte em " "``str[rv]``)." -#: ../../c-api/conversion.rst:39 +#: ../../c-api/conversion.rst:40 msgid "" "When ``rv >= size``, the output conversion was truncated and a buffer with " "``rv + 1`` bytes would have been needed to succeed. ``str[size-1]`` is " @@ -102,7 +106,7 @@ msgstr "" "``rv + 1`` bytes teria sido necessário para ter sucesso. ``str[size-1]`` é " "``'\\0'`` neste caso." -#: ../../c-api/conversion.rst:43 +#: ../../c-api/conversion.rst:44 msgid "" "When ``rv < 0``, \"something bad happened.\" ``str[size-1]`` is ``'\\0'`` in " "this case too, but the rest of *str* is undefined. The exact cause of the " @@ -112,7 +116,7 @@ msgstr "" "neste caso também, mas o resto de *str* é indefinido. A causa exata do erro " "depende da plataforma subjacente." -#: ../../c-api/conversion.rst:48 +#: ../../c-api/conversion.rst:49 msgid "" "The following functions provide locale-independent string to number " "conversions." @@ -120,21 +124,21 @@ msgstr "" "As funções a seguir fornecem strings independentes de localidade para " "conversões de números." -#: ../../c-api/conversion.rst:52 +#: ../../c-api/conversion.rst:53 msgid "" -"Convert a string ``s`` to a :c:type:`double`, raising a Python exception on " +"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 " "have leading or trailing whitespace. The conversion is independent of the " "current locale." msgstr "" -"Converte uma string ``s`` em :c:type:`double`, levantando uma exceção Python " +"Converte uma string ``s`` em :c:expr:`double`, levantando uma exceção Python " "em caso de falha. O conjunto de strings aceitas corresponde ao conjunto de " "strings aceito pelo construtor :func:`float` do Python, exceto que ``s`` não " "deve ter espaços em branco à esquerda ou à direita. A conversão é " "independente da localidade atual." -#: ../../c-api/conversion.rst:58 +#: ../../c-api/conversion.rst:59 msgid "" "If ``endptr`` is ``NULL``, convert the whole string. Raise :exc:" "`ValueError` and return ``-1.0`` if the string is not a valid representation " @@ -144,7 +148,7 @@ msgstr "" "`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:62 +#: ../../c-api/conversion.rst:63 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 " @@ -152,13 +156,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:69 +#: ../../c-api/conversion.rst:70 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 " @@ -173,10 +177,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:77 +#: ../../c-api/conversion.rst:78 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``." @@ -184,26 +188,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:86 +#: ../../c-api/conversion.rst:87 msgid "" -"Convert a :c:type:`double` *val* to a string using supplied *format_code*, " +"Convert a :c:expr:`double` *val* to a string using supplied *format_code*, " "*precision*, and *flags*." msgstr "" -"Converte um :c:type:`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:89 +#: ../../c-api/conversion.rst:90 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 " +"``'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:94 +#: ../../c-api/conversion.rst:95 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:" @@ -211,7 +215,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:97 +#: ../../c-api/conversion.rst:98 msgid "" "``Py_DTSF_SIGN`` means to always precede the returned string with a sign " "character, even if *val* is non-negative." @@ -219,7 +223,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:100 +#: ../../c-api/conversion.rst:101 msgid "" "``Py_DTSF_ADD_DOT_0`` means to ensure that the returned string will not look " "like an integer." @@ -227,7 +231,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:103 +#: ../../c-api/conversion.rst:104 msgid "" "``Py_DTSF_ALT`` means to apply \"alternate\" formatting rules. See the " "documentation for the :c:func:`PyOS_snprintf` ``'#'`` specifier for details." @@ -236,7 +240,7 @@ msgstr "" "Veja a documentação para o especificador ``'#'`` de :c:func:`PyOS_snprintf` " "para detalhes." -#: ../../c-api/conversion.rst:107 +#: ../../c-api/conversion.rst:108 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 " @@ -248,7 +252,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:111 +#: ../../c-api/conversion.rst:112 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 " @@ -258,7 +262,7 @@ 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:120 +#: ../../c-api/conversion.rst:121 msgid "" "Case insensitive comparison of strings. The function works almost " "identically to :c:func:`strcmp` except that it ignores the case." @@ -266,7 +270,7 @@ 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." -#: ../../c-api/conversion.rst:126 +#: ../../c-api/conversion.rst:127 msgid "" "Case insensitive comparison of strings. The function works almost " "identically to :c:func:`strncmp` except that it ignores the case." diff --git a/c-api/coro.po b/c-api/coro.po index d902f9b65..03892c4ae 100644 --- a/c-api/coro.po +++ b/c-api/coro.po @@ -1,26 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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.10\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-06-29 12:56+0000\n" -"PO-Revision-Date: 2021-06-28 00:48+0000\n" -"Last-Translator: Rafael Fontenelle , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:56+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../c-api/coro.rst:6 msgid "Coroutine Objects" diff --git a/c-api/datetime.po b/c-api/datetime.po index 1cfd2176b..8ed2b0808 100644 --- a/c-api/datetime.po +++ b/c-api/datetime.po @@ -1,28 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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: -# Adjamilton Júnior , 2021 -# Claudio Rogerio Carvalho Filho , 2021 -# Rafael Fontenelle , 2021 +# python-doc bot, 2025 # #, 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 00:48+0000\n" -"Last-Translator: Rafael Fontenelle , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:57+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../c-api/datetime.rst:6 msgid "DateTime Objects" @@ -77,8 +76,8 @@ 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 msgid "" @@ -95,8 +94,8 @@ 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 msgid "" @@ -113,8 +112,8 @@ 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 msgid "" @@ -131,8 +130,8 @@ 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 msgid "" @@ -149,8 +148,8 @@ 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 msgid "Macros to create objects:" @@ -207,7 +206,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:137 +#: ../../c-api/datetime.rst:138 msgid "" "Return a :class:`datetime.timezone` object with an unnamed fixed offset " "represented by the *offset* argument." @@ -215,7 +214,7 @@ msgstr "" "Retorna um objeto :class:`datetime.timezone` com um deslocamento fixo sem " "nome representado pelo argumento *offset*." -#: ../../c-api/datetime.rst:144 +#: ../../c-api/datetime.rst:146 msgid "" "Return a :class:`datetime.timezone` object with a fixed offset represented " "by the *offset* argument and with tzname *name*." @@ -223,7 +222,7 @@ msgstr "" "Retorna um objeto :class:`datetime.timezone` com um deslocamento fixo " "representado pelo argumento *offset* e com tzname *name*." -#: ../../c-api/datetime.rst:150 +#: ../../c-api/datetime.rst:152 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:" @@ -235,19 +234,19 @@ msgstr "" "`PyDateTime_DateTime`). O argumento não deve ser ``NULL`` e o tipo não está " "marcado:" -#: ../../c-api/datetime.rst:157 +#: ../../c-api/datetime.rst:159 msgid "Return the year, as a positive int." msgstr "Retorna o ano, como um inteiro positivo." -#: ../../c-api/datetime.rst:162 +#: ../../c-api/datetime.rst:164 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:167 +#: ../../c-api/datetime.rst:169 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:170 +#: ../../c-api/datetime.rst:172 msgid "" "Macros to extract fields from datetime objects. The argument must be an " "instance of :c:data:`PyDateTime_DateTime`, including subclasses. The " @@ -257,27 +256,31 @@ msgstr "" "uma instância de :c:data:`PyDateTime_DateTime`, incluindo subclasses. O " "argumento não deve ser ``NULL`` e o tipo não é verificado:" -#: ../../c-api/datetime.rst:176 ../../c-api/datetime.rst:205 +#: ../../c-api/datetime.rst:178 ../../c-api/datetime.rst:216 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:181 ../../c-api/datetime.rst:210 +#: ../../c-api/datetime.rst:183 ../../c-api/datetime.rst:221 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:186 ../../c-api/datetime.rst:215 +#: ../../c-api/datetime.rst:188 ../../c-api/datetime.rst:226 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:191 ../../c-api/datetime.rst:220 +#: ../../c-api/datetime.rst:193 ../../c-api/datetime.rst:231 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:195 ../../c-api/datetime.rst:224 +#: ../../c-api/datetime.rst:198 ../../c-api/datetime.rst:236 +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 msgid "Return the tzinfo (which may be ``None``)." msgstr "Retorna o tzinfo (que pode ser ``None``)." -#: ../../c-api/datetime.rst:199 +#: ../../c-api/datetime.rst:210 msgid "" "Macros to extract fields from time objects. The argument must be an " "instance of :c:data:`PyDateTime_Time`, including subclasses. The argument " @@ -287,7 +290,7 @@ msgstr "" "instância de :c:data:`PyDateTime_Time`, incluindo subclasses. O argumento " "não deve ser ``NULL`` e o tipo não é verificado:" -#: ../../c-api/datetime.rst:229 +#: ../../c-api/datetime.rst:248 msgid "" "Macros to extract fields from time delta objects. The argument must be an " "instance of :c:data:`PyDateTime_Delta`, including subclasses. The argument " @@ -297,23 +300,23 @@ msgstr "" "instância de :c:data:`PyDateTime_Delta`, incluindo subclasses. O argumento " "não deve ser ``NULL``, e o tipo não é checado:" -#: ../../c-api/datetime.rst:235 +#: ../../c-api/datetime.rst:254 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:242 +#: ../../c-api/datetime.rst:261 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:249 +#: ../../c-api/datetime.rst:268 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:254 +#: ../../c-api/datetime.rst:273 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:258 +#: ../../c-api/datetime.rst:277 msgid "" "Create and return a new :class:`datetime.datetime` object given an argument " "tuple suitable for passing to :meth:`datetime.datetime.fromtimestamp()`." @@ -322,7 +325,7 @@ msgstr "" "argumentos adequada para passar para :meth:`datetime.datetime." "fromtimestamp()`." -#: ../../c-api/datetime.rst:264 +#: ../../c-api/datetime.rst:283 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 91a02c2fe..17bce0841 100644 --- a/c-api/descriptor.po +++ b/c-api/descriptor.po @@ -1,31 +1,31 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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.10\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-06-29 12:56+0000\n" -"PO-Revision-Date: 2021-06-28 00:48+0000\n" -"Last-Translator: Rafael Fontenelle , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-11-01 17:13+0000\n" +"PO-Revision-Date: 2025-09-22 15:57+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"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 a402305cf..ce336064e 100644 --- a/c-api/dict.po +++ b/c-api/dict.po @@ -1,28 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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 -# Aline Balogh , 2021 -# Rafael Fontenelle , 2021 +# python-doc bot, 2025 # #, 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 00:48+0000\n" -"Last-Translator: Rafael Fontenelle , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:57+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../c-api/dict.rst:6 msgid "Dictionary Objects" @@ -75,7 +74,7 @@ msgstr "" #: ../../c-api/dict.rst:48 msgid "Empty an existing dictionary of all key-value pairs." -msgstr "Esvazia um dicionário existente de todos os pares chave-valor. " +msgstr "Esvazia um dicionário existente de todos os pares chave-valor." #: ../../c-api/dict.rst:53 msgid "" @@ -106,25 +105,26 @@ msgstr "" #: ../../c-api/dict.rst:75 msgid "" "Insert *val* into the dictionary *p* using *key* as a key. *key* should be " -"a :c:type:`const char*`. The key object is created using " +"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*." msgstr "" "Insere *val* no dicionário *p* usando *key* como uma chave. *key* deve ser " -"a :c:type:`const char*`. O objeto chave é criado usando " +"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*." #: ../../c-api/dict.rst:83 msgid "" -"Remove the entry in dictionary *p* with key *key*. *key* must be 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 " -"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 msgid "" @@ -160,7 +160,7 @@ 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 @@ -176,10 +176,10 @@ msgstr "" #: ../../c-api/dict.rst:120 msgid "" "This is the same as :c:func:`PyDict_GetItem`, but *key* is specified as a :c:" -"type:`const char*`, rather than a :c:type:`PyObject*`." +"expr:`const char*`, rather than a :c:expr:`PyObject*`." msgstr "" "É o mesmo que :c:func:`PyDict_GetItem`, mas *key* é especificada como um :c:" -"type:`const char*`, em vez de um :c:type:`PyObject*`." +"expr:`const char*`, em vez de um :c:expr:`PyObject*`." #: ../../c-api/dict.rst:123 msgid "" @@ -240,7 +240,7 @@ msgid "" "`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:type:" +"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 " @@ -252,7 +252,7 @@ msgstr "" "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:type:`PyObject*` que serão preenchidas com cada chave e valor, " +"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 " @@ -287,7 +287,7 @@ msgstr "" "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." +"``0`` em caso de sucesso ou ``-1`` se uma exceção foi levantada." #: ../../c-api/dict.rst:221 msgid "" diff --git a/c-api/exceptions.po b/c-api/exceptions.po index 37375df02..0e8e52ceb 100644 --- a/c-api/exceptions.po +++ b/c-api/exceptions.po @@ -1,39 +1,33 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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 -# Claudio Rogerio Carvalho Filho , 2021 -# Alexsandro Matias de Almeida , 2021 -# Rafael Fontenelle , 2021 -# (Douglas da Silva) , 2021 -# Misael borges , 2021 -# Richard Nixon , 2021 -# Renan Lopes , 2021 -# Willian C Lopes , 2021 -# Hildeberto Abreu Magalhães , 2021 +# python-doc bot, 2025 +# Gustavo Reis, 2025 +# Rafael Fontenelle , 2025 # #, 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 00:48+0000\n" -"Last-Translator: Hildeberto Abreu Magalhães , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-11-13 17:25+0000\n" +"PO-Revision-Date: 2025-09-22 15:57+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=2; plural=(n > 1);\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 "" @@ -44,18 +38,18 @@ msgid "" "occurred. Most C API functions don't clear this on success, but will set it " "to indicate the cause of the error on failure. Most C API functions also " "return an error indicator, usually ``NULL`` if they are supposed to return a " -"pointer, or ``-1`` if they return an integer (exception: the :c:func:`PyArg_" -"\\*` functions return ``1`` for success and ``0`` for failure)." +"pointer, or ``-1`` if they return an integer (exception: the ``PyArg_*`` " +"functions return ``1`` for success and ``0`` for failure)." 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:" +"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 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, or ``-1`` se " -"retornarem um número inteiro (exceção: as funções :c:func:`PyArg_\\*` " -"retornam ``1`` em caso de sucesso e ``0`` em caso de falha)" +"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 +59,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,10 +95,14 @@ 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" -msgstr "Impressão e limpeza " +msgstr "Impressão e limpeza" #: ../../c-api/exceptions.rst:49 msgid "" @@ -121,6 +119,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 "" @@ -139,14 +141,14 @@ msgstr "" #: ../../c-api/exceptions.rst:70 msgid "Alias for ``PyErr_PrintEx(1)``." -msgstr "Alias para``PyErr_PrintEx(1)``." +msgstr "Apelido para ``PyErr_PrintEx(1)``." #: ../../c-api/exceptions.rst:75 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 "" @@ -169,7 +171,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,47 +187,60 @@ 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." msgstr "" "Essa função é semelhante à :c:func:`PyErr_SetString` mas permite especificar " -"um objeto Python arbitrário para o valor da exceção. " +"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." 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." 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. " +"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,7 +250,7 @@ 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 " @@ -249,7 +264,7 @@ msgid "" "``return PyErr_SetFromErrno(type);`` when the system call returns an error." msgstr "" -#: ../../c-api/exceptions.rst:166 +#: ../../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 " @@ -257,46 +272,54 @@ msgid "" "is used to define the :attr:`filename` attribute of the exception instance." msgstr "" -#: ../../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 :c:data:`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:234 ../../c-api/exceptions.rst:243 +#: ../../c-api/exceptions.rst:201 ../../c-api/exceptions.rst:209 +#: ../../c-api/exceptions.rst:218 ../../c-api/exceptions.rst:226 +#: ../../c-api/exceptions.rst:235 ../../c-api/exceptions.rst:244 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 " @@ -306,13 +329,13 @@ msgstr "" "arquivo é dados como uma String C. O nome do arquivo é decodificado a partir " "do sistema de arquivos (:func:`os.fsdecode`)." -#: ../../c-api/exceptions.rst:222 +#: ../../c-api/exceptions.rst:223 msgid "" "Similar to :c:func:`PyErr_SetFromWindowsErrWithFilenameObject`, with an " "additional parameter specifying the exception type to be raised." msgstr "" -#: ../../c-api/exceptions.rst:230 +#: ../../c-api/exceptions.rst:231 msgid "" "Similar to :c:func:`PyErr_SetExcFromWindowsErrWithFilenameObject`, but " "accepts a second filename object." @@ -320,56 +343,80 @@ msgstr "" "Similar à :c:func:`PyErr_SetExcFromWindowsErrWithFilenameObject`, mas aceita " "um segundo caminho do objeto." -#: ../../c-api/exceptions.rst:240 +#: ../../c-api/exceptions.rst:241 msgid "" "Similar to :c:func:`PyErr_SetFromWindowsErrWithFilename`, with an additional " "parameter specifying the exception type to be raised." msgstr "" "Similar à :c:func:`PyErr_SetFromWindowsErrWithFilename`, com um parâmetro " -"adicional especificando o tipo de exceção a ser gerado. " +"adicional especificando o tipo de exceção a ser gerado." -#: ../../c-api/exceptions.rst:248 +#: ../../c-api/exceptions.rst:249 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:259 +msgid "" +"Much like :c:func:`PyErr_SetImportError` but this function allows for " +"specifying a subclass of :exc:`ImportError` to raise." +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:258 +#: ../../c-api/exceptions.rst:267 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:268 +#: ../../c-api/exceptions.rst:277 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:276 +#: ../../c-api/exceptions.rst:285 msgid "" -"Like :c:func:`PyErr_SyntaxLocationEx`, but the col_offset parameter is " +"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. " +"Como :c:func:`PyErr_SyntaxLocationEx`, mas o parâmetro *col_offset* é " +"omitido." -#: ../../c-api/exceptions.rst:282 +#: ../../c-api/exceptions.rst:291 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:289 +#: ../../c-api/exceptions.rst:298 msgid "Issuing warnings" -msgstr "Emitindo advertências" +msgstr "Emitindo avisos" -#: ../../c-api/exceptions.rst:291 +#: ../../c-api/exceptions.rst:300 msgid "" "Use these functions to issue warnings from C code. They mirror similar " "functions exported by the Python :mod:`warnings` module. They normally " @@ -384,8 +431,21 @@ msgid "" "exception handling (for example, :c:func:`Py_DECREF` owned references and " "return an error value)." msgstr "" - -#: ../../c-api/exceptions.rst:306 +"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:315 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. " @@ -394,8 +454,14 @@ msgid "" "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:313 +#: ../../c-api/exceptions.rst:322 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 " @@ -403,68 +469,76 @@ msgid "" "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:319 +#: ../../c-api/exceptions.rst:328 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:325 -msgid "" -"Much like :c:func:`PyErr_SetImportError` but this function allows for " -"specifying a subclass of :exc:`ImportError` to raise." -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:333 +#: ../../c-api/exceptions.rst:335 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* " +"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:344 +#: ../../c-api/exceptions.rst:346 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`." 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:351 +#: ../../c-api/exceptions.rst:353 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." msgstr "" -#: ../../c-api/exceptions.rst:360 +#: ../../c-api/exceptions.rst:362 msgid "" "Function similar to :c:func:`PyErr_WarnFormat`, but *category* is :exc:" "`ResourceWarning` and it passes *source* to :func:`warnings.WarningMessage`." msgstr "" -#: ../../c-api/exceptions.rst:367 +#: ../../c-api/exceptions.rst:369 msgid "Querying the error indicator" msgstr "Consultando o indicador de erro" -#: ../../c-api/exceptions.rst:371 +#: ../../c-api/exceptions.rst:373 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 :c:func:`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." +"*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." msgstr "" -#: ../../c-api/exceptions.rst:377 +#: ../../c-api/exceptions.rst:379 msgid "The caller must hold the GIL." msgstr "" -#: ../../c-api/exceptions.rst:381 +#: ../../c-api/exceptions.rst:383 msgid "" "Do not compare the return value to a specific exception; use :c:func:" "`PyErr_ExceptionMatches` instead, shown below. (The comparison could easily " @@ -472,14 +546,14 @@ msgid "" "of a class exception, or it may be a subclass of the expected exception.)" msgstr "" -#: ../../c-api/exceptions.rst:389 +#: ../../c-api/exceptions.rst:391 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:396 +#: ../../c-api/exceptions.rst:398 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 " @@ -487,7 +561,7 @@ msgid "" "tuple (and recursively in subtuples) are searched for a match." msgstr "" -#: ../../c-api/exceptions.rst:404 +#: ../../c-api/exceptions.rst:406 msgid "" "Retrieve the error indicator into three variables whose addresses are " "passed. If the error indicator is not set, set all three variables to " @@ -496,7 +570,7 @@ msgid "" "the type object is not." msgstr "" -#: ../../c-api/exceptions.rst:411 +#: ../../c-api/exceptions.rst:413 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." @@ -506,7 +580,7 @@ msgstr "" "exceções ou pelo código que precisa salvar e restaurar temporariamente o " "indicador de erro. Por exemplo::" -#: ../../c-api/exceptions.rst:426 +#: ../../c-api/exceptions.rst:428 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 " @@ -519,14 +593,14 @@ msgid "" "function. I warned you.)" msgstr "" -#: ../../c-api/exceptions.rst:438 +#: ../../c-api/exceptions.rst:440 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:445 +#: ../../c-api/exceptions.rst:447 msgid "" "Under certain circumstances, the values returned by :c:func:`PyErr_Fetch` " "below can be \"unnormalized\", meaning that ``*exc`` is a class object but " @@ -536,14 +610,14 @@ msgid "" "improve performance." msgstr "" -#: ../../c-api/exceptions.rst:453 +#: ../../c-api/exceptions.rst:455 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::" msgstr "" -#: ../../c-api/exceptions.rst:464 +#: ../../c-api/exceptions.rst:466 msgid "" "Retrieve the exception info, as known from ``sys.exc_info()``. This refers " "to an exception that was *already caught*, not to an exception that was " @@ -551,7 +625,7 @@ msgid "" "may be ``NULL``. Does not modify the exception info state." msgstr "" -#: ../../c-api/exceptions.rst:471 +#: ../../c-api/exceptions.rst:473 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 " @@ -559,7 +633,7 @@ msgid "" "exception state." msgstr "" -#: ../../c-api/exceptions.rst:481 +#: ../../c-api/exceptions.rst:483 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 " @@ -568,7 +642,7 @@ msgid "" "about the three arguments, see :c:func:`PyErr_Restore`." msgstr "" -#: ../../c-api/exceptions.rst:489 +#: ../../c-api/exceptions.rst:491 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 " @@ -576,15 +650,15 @@ msgid "" "state." msgstr "" -#: ../../c-api/exceptions.rst:498 +#: ../../c-api/exceptions.rst:500 msgid "Signal Handling" msgstr "Tratamento de sinal" -#: ../../c-api/exceptions.rst:508 +#: ../../c-api/exceptions.rst:510 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:510 +#: ../../c-api/exceptions.rst:512 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 " @@ -592,7 +666,7 @@ msgid "" "module is supported, this can invoke a signal handler written in Python." msgstr "" -#: ../../c-api/exceptions.rst:515 +#: ../../c-api/exceptions.rst:517 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 " @@ -601,44 +675,44 @@ msgid "" "`PyErr_CheckSignals()` invocation)." msgstr "" -#: ../../c-api/exceptions.rst:521 +#: ../../c-api/exceptions.rst:523 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 "" -#: ../../c-api/exceptions.rst:524 +#: ../../c-api/exceptions.rst:526 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:528 +#: ../../c-api/exceptions.rst:530 msgid "" "The default Python signal handler for :const:`SIGINT` raises the :exc:" "`KeyboardInterrupt` exception." msgstr "" -#: ../../c-api/exceptions.rst:539 +#: ../../c-api/exceptions.rst:541 msgid "" "Simulate the effect of a :const:`SIGINT` signal arriving. This is equivalent " "to ``PyErr_SetInterruptEx(SIGINT)``." msgstr "" -#: ../../c-api/exceptions.rst:543 ../../c-api/exceptions.rst:570 +#: ../../c-api/exceptions.rst:545 ../../c-api/exceptions.rst:572 msgid "" "This function is async-signal-safe. It can be called without the :term:" "`GIL` and from a C signal handler." msgstr "" -#: ../../c-api/exceptions.rst:553 +#: ../../c-api/exceptions.rst:555 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." msgstr "" -#: ../../c-api/exceptions.rst:557 +#: ../../c-api/exceptions.rst:559 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 " @@ -646,27 +720,27 @@ msgid "" "interrupt an operation)." msgstr "" -#: ../../c-api/exceptions.rst:562 +#: ../../c-api/exceptions.rst:564 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." msgstr "" -#: ../../c-api/exceptions.rst:565 +#: ../../c-api/exceptions.rst:567 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:578 +#: ../../c-api/exceptions.rst:580 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:582 +#: ../../c-api/exceptions.rst:584 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 " @@ -676,17 +750,17 @@ msgstr "" "O valor ``-1`` desabilita o recurso; este é o estado inicial. Isso é " "equivalente à :func:`signal.set_wakeup_fd` em Python, mas sem nenhuma " "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. " +"só deve ser chamada a partir da thread principal." -#: ../../c-api/exceptions.rst:587 +#: ../../c-api/exceptions.rst:589 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:592 +#: ../../c-api/exceptions.rst:594 msgid "Exception Classes" msgstr "Classes de exceção" -#: ../../c-api/exceptions.rst:596 +#: ../../c-api/exceptions.rst:598 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 " @@ -695,7 +769,7 @@ msgid "" "(accessible in C as :c:data:`PyExc_Exception`)." msgstr "" -#: ../../c-api/exceptions.rst:602 +#: ../../c-api/exceptions.rst:604 msgid "" "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 " @@ -705,25 +779,25 @@ msgid "" "variables and methods." msgstr "" -#: ../../c-api/exceptions.rst:611 +#: ../../c-api/exceptions.rst:613 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:619 +#: ../../c-api/exceptions.rst:621 msgid "Exception Objects" msgstr "Objeto Exceção" -#: ../../c-api/exceptions.rst:623 +#: ../../c-api/exceptions.rst:625 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``." msgstr "" -#: ../../c-api/exceptions.rst:630 +#: ../../c-api/exceptions.rst:632 msgid "" "Set the traceback associated with the exception to *tb*. Use ``Py_None`` to " "clear it." @@ -731,7 +805,7 @@ 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:636 +#: ../../c-api/exceptions.rst:638 msgid "" "Return the context (another exception instance during whose handling *ex* " "was raised) associated with the exception as a new reference, as accessible " @@ -739,100 +813,100 @@ msgid "" "this returns ``NULL``." msgstr "" -#: ../../c-api/exceptions.rst:644 +#: ../../c-api/exceptions.rst:646 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:651 +#: ../../c-api/exceptions.rst:653 msgid "" "Return the cause (either an exception instance, or :const:`None`, set by " "``raise ... from ...``) associated with the exception as a new reference, as " "accessible from Python through :attr:`__cause__`." msgstr "" -#: ../../c-api/exceptions.rst:658 +#: ../../c-api/exceptions.rst:660 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*." msgstr "" -#: ../../c-api/exceptions.rst:662 +#: ../../c-api/exceptions.rst:664 msgid "" ":attr:`__suppress_context__` is implicitly set to ``True`` by this function." msgstr "" ":attr:`__suppress_context__` para essa função é definido ``True`` , " -"implicitamente. " +"implicitamente." -#: ../../c-api/exceptions.rst:668 +#: ../../c-api/exceptions.rst:670 msgid "Unicode Exception Objects" msgstr "Objetos de exceção Unicode" -#: ../../c-api/exceptions.rst:670 +#: ../../c-api/exceptions.rst:672 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:674 +#: ../../c-api/exceptions.rst:676 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 "" -#: ../../c-api/exceptions.rst:680 +#: ../../c-api/exceptions.rst:682 msgid "" "Create a :class:`UnicodeEncodeError` object with the attributes *encoding*, " "*object*, *length*, *start*, *end* and *reason*. *encoding* and *reason* are " "UTF-8 encoded strings." msgstr "" -#: ../../c-api/exceptions.rst:684 ../../c-api/exceptions.rst:694 +#: ../../c-api/exceptions.rst:686 ../../c-api/exceptions.rst:696 msgid "3.11" msgstr "3.11" -#: ../../c-api/exceptions.rst:686 +#: ../../c-api/exceptions.rst:688 msgid "" "``Py_UNICODE`` is deprecated since Python 3.3. Please migrate to " "``PyObject_CallFunction(PyExc_UnicodeEncodeError, \"sOnns\", ...)``." msgstr "" -#: ../../c-api/exceptions.rst:691 +#: ../../c-api/exceptions.rst:693 msgid "" "Create a :class:`UnicodeTranslateError` object with the attributes *object*, " "*length*, *start*, *end* and *reason*. *reason* is a UTF-8 encoded string." msgstr "" -#: ../../c-api/exceptions.rst:696 +#: ../../c-api/exceptions.rst:698 msgid "" "``Py_UNICODE`` is deprecated since Python 3.3. Please migrate to " "``PyObject_CallFunction(PyExc_UnicodeTranslateError, \"Onns\", ...)``." msgstr "" -#: ../../c-api/exceptions.rst:702 +#: ../../c-api/exceptions.rst:704 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:708 +#: ../../c-api/exceptions.rst:710 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:714 +#: ../../c-api/exceptions.rst:716 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`` " +"Get the *start* attribute of the given exception object and place it into " +"*\\*start*. *start* must not be ``NULL``. Return ``0`` on success, ``-1`` " "on failure." msgstr "" "Obtém o atributo *start* do objeto da exceção coloca-o em *\\*start*. " "*start* não deve ser ``NULL``. Retorna ``0`` se não der erro, ``-1`` caso dê " "erro." -#: ../../c-api/exceptions.rst:722 +#: ../../c-api/exceptions.rst:724 msgid "" "Set the *start* attribute of the given exception object to *start*. Return " "``0`` on success, ``-1`` on failure." @@ -840,37 +914,37 @@ 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:729 +#: ../../c-api/exceptions.rst:731 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 " +"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 " "failure." msgstr "" "Obtenha o atributo *end* dado no objeto de exceção e coloque *\\*end*. O " "*end* não deve ser ``NULL``. Em caso de sucesso, retorna ``0``, em caso de " "falha, retorna ``-1``." -#: ../../c-api/exceptions.rst:737 +#: ../../c-api/exceptions.rst:739 msgid "" "Set the *end* attribute of the given exception object to *end*. Return " "``0`` on success, ``-1`` on failure." msgstr "" -#: ../../c-api/exceptions.rst:744 +#: ../../c-api/exceptions.rst:746 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:750 +#: ../../c-api/exceptions.rst:752 msgid "" "Set the *reason* attribute of the given exception object to *reason*. " "Return ``0`` on success, ``-1`` on failure." msgstr "" -#: ../../c-api/exceptions.rst:757 +#: ../../c-api/exceptions.rst:759 msgid "Recursion Control" msgstr "Controle de recursão" -#: ../../c-api/exceptions.rst:759 +#: ../../c-api/exceptions.rst:761 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 " @@ -880,44 +954,44 @@ msgid "" "recursion handling." msgstr "" -#: ../../c-api/exceptions.rst:768 +#: ../../c-api/exceptions.rst:770 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. " +"executada." -#: ../../c-api/exceptions.rst:770 +#: ../../c-api/exceptions.rst:772 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." msgstr "" -#: ../../c-api/exceptions.rst:774 +#: ../../c-api/exceptions.rst:776 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:778 +#: ../../c-api/exceptions.rst:780 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:782 ../../c-api/exceptions.rst:790 +#: ../../c-api/exceptions.rst:784 ../../c-api/exceptions.rst:792 msgid "This function is now also available in the limited API." msgstr "" -#: ../../c-api/exceptions.rst:787 +#: ../../c-api/exceptions.rst:789 msgid "" "Ends a :c:func:`Py_EnterRecursiveCall`. Must be called once for each " "*successful* invocation of :c:func:`Py_EnterRecursiveCall`." msgstr "" -#: ../../c-api/exceptions.rst:793 +#: ../../c-api/exceptions.rst:795 msgid "" "Properly implementing :c:member:`~PyTypeObject.tp_repr` for container types " "requires special recursion handling. In addition to protecting the stack, :" @@ -926,15 +1000,15 @@ msgid "" "Effectively, these are the C equivalent to :func:`reprlib.recursive_repr`." msgstr "" -#: ../../c-api/exceptions.rst:801 +#: ../../c-api/exceptions.rst:803 msgid "" "Called at the beginning of the :c:member:`~PyTypeObject.tp_repr` " "implementation to detect cycles." msgstr "" "Chamado no início da implementação :c:member:`~PyTypeObject.tp_repr` para " -"detectar ciclos. " +"detectar ciclos." -#: ../../c-api/exceptions.rst:804 +#: ../../c-api/exceptions.rst:806 msgid "" "If the object has already been processed, the function returns a positive " "integer. In that case the :c:member:`~PyTypeObject.tp_repr` implementation " @@ -942,7 +1016,7 @@ msgid "" "`dict` objects return ``{...}`` and :class:`list` objects return ``[...]``." msgstr "" -#: ../../c-api/exceptions.rst:810 +#: ../../c-api/exceptions.rst:812 msgid "" "The function will return a negative integer if the recursion limit is " "reached. In that case the :c:member:`~PyTypeObject.tp_repr` implementation " @@ -952,483 +1026,479 @@ msgstr "" "Nesse caso a implementação :c:member:`~PyTypeObject.tp_repr` deverá, " "normalmente,. retornar ``NULL``." -#: ../../c-api/exceptions.rst:814 +#: ../../c-api/exceptions.rst:816 msgid "" "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. " +"`~PyTypeObject.tp_repr` poderá continuar normalmente." -#: ../../c-api/exceptions.rst:819 +#: ../../c-api/exceptions.rst:821 msgid "" "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. " +"de :c:func:`Py_ReprEnter` que retorna zero." -#: ../../c-api/exceptions.rst:826 +#: ../../c-api/exceptions.rst:828 msgid "Standard Exceptions" msgstr "Exceções Padrão" -#: ../../c-api/exceptions.rst:828 +#: ../../c-api/exceptions.rst:830 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:type:`PyObject*`; they are all class objects. For completeness, here are " +"c:expr:`PyObject*`; they are all class objects. For completeness, here are " "all the variables:" msgstr "" -#: ../../c-api/exceptions.rst:889 ../../c-api/exceptions.rst:1022 -#: ../../c-api/exceptions.rst:1067 +#: ../../c-api/exceptions.rst:891 ../../c-api/exceptions.rst:1024 +#: ../../c-api/exceptions.rst:1069 msgid "C Name" msgstr "Nome C" -#: ../../c-api/exceptions.rst:889 ../../c-api/exceptions.rst:1067 +#: ../../c-api/exceptions.rst:891 ../../c-api/exceptions.rst:1069 msgid "Python Name" msgstr "Nome Python" -#: ../../c-api/exceptions.rst:889 ../../c-api/exceptions.rst:1022 -#: ../../c-api/exceptions.rst:1067 +#: ../../c-api/exceptions.rst:891 ../../c-api/exceptions.rst:1024 +#: ../../c-api/exceptions.rst:1069 msgid "Notes" msgstr "Notas" -#: ../../c-api/exceptions.rst:891 +#: ../../c-api/exceptions.rst:893 msgid ":c:data:`PyExc_BaseException`" msgstr ":c:data:`PyExc_BaseException`" -#: ../../c-api/exceptions.rst:891 +#: ../../c-api/exceptions.rst:893 msgid ":exc:`BaseException`" msgstr ":exc:`BaseException`" -#: ../../c-api/exceptions.rst:891 ../../c-api/exceptions.rst:893 -#: ../../c-api/exceptions.rst:895 ../../c-api/exceptions.rst:941 -#: ../../c-api/exceptions.rst:953 ../../c-api/exceptions.rst:1069 -msgid "\\(1)" -msgstr "\\(1)" +#: ../../c-api/exceptions.rst:893 ../../c-api/exceptions.rst:895 +#: ../../c-api/exceptions.rst:897 ../../c-api/exceptions.rst:943 +#: ../../c-api/exceptions.rst:955 +msgid "[1]_" +msgstr "[1]_" -#: ../../c-api/exceptions.rst:893 +#: ../../c-api/exceptions.rst:895 msgid ":c:data:`PyExc_Exception`" msgstr ":c:data:`PyExc_Exception`" -#: ../../c-api/exceptions.rst:893 +#: ../../c-api/exceptions.rst:895 msgid ":exc:`Exception`" msgstr ":exc:`Exception`" -#: ../../c-api/exceptions.rst:895 +#: ../../c-api/exceptions.rst:897 msgid ":c:data:`PyExc_ArithmeticError`" msgstr ":c:data:`PyExc_ArithmeticError`" -#: ../../c-api/exceptions.rst:895 +#: ../../c-api/exceptions.rst:897 msgid ":exc:`ArithmeticError`" msgstr ":exc:`ArithmeticError`" -#: ../../c-api/exceptions.rst:897 +#: ../../c-api/exceptions.rst:899 msgid ":c:data:`PyExc_AssertionError`" msgstr ":c:data:`PyExc_AssertionError`" -#: ../../c-api/exceptions.rst:897 +#: ../../c-api/exceptions.rst:899 msgid ":exc:`AssertionError`" msgstr ":exc:`AssertionError`" -#: ../../c-api/exceptions.rst:899 +#: ../../c-api/exceptions.rst:901 msgid ":c:data:`PyExc_AttributeError`" msgstr ":c:data:`PyExc_AttributeError`" -#: ../../c-api/exceptions.rst:899 +#: ../../c-api/exceptions.rst:901 msgid ":exc:`AttributeError`" msgstr ":exc:`AttributeError`" -#: ../../c-api/exceptions.rst:901 +#: ../../c-api/exceptions.rst:903 msgid ":c:data:`PyExc_BlockingIOError`" msgstr ":c:data:`PyExc_BlockingIOError`" -#: ../../c-api/exceptions.rst:901 +#: ../../c-api/exceptions.rst:903 msgid ":exc:`BlockingIOError`" msgstr ":exc:`BlockingIOError`" -#: ../../c-api/exceptions.rst:903 +#: ../../c-api/exceptions.rst:905 msgid ":c:data:`PyExc_BrokenPipeError`" msgstr ":c:data:`PyExc_BrokenPipeError`" -#: ../../c-api/exceptions.rst:903 +#: ../../c-api/exceptions.rst:905 msgid ":exc:`BrokenPipeError`" msgstr ":exc:`BrokenPipeError`" -#: ../../c-api/exceptions.rst:905 +#: ../../c-api/exceptions.rst:907 msgid ":c:data:`PyExc_BufferError`" msgstr ":c:data:`PyExc_BufferError`" -#: ../../c-api/exceptions.rst:905 +#: ../../c-api/exceptions.rst:907 msgid ":exc:`BufferError`" msgstr ":exc:`BufferError`" -#: ../../c-api/exceptions.rst:907 +#: ../../c-api/exceptions.rst:909 msgid ":c:data:`PyExc_ChildProcessError`" msgstr ":c:data:`PyExc_ChildProcessError`" -#: ../../c-api/exceptions.rst:907 +#: ../../c-api/exceptions.rst:909 msgid ":exc:`ChildProcessError`" msgstr ":exc:`ChildProcessError`" -#: ../../c-api/exceptions.rst:909 +#: ../../c-api/exceptions.rst:911 msgid ":c:data:`PyExc_ConnectionAbortedError`" msgstr ":c:data:`PyExc_ConnectionAbortedError`" -#: ../../c-api/exceptions.rst:909 +#: ../../c-api/exceptions.rst:911 msgid ":exc:`ConnectionAbortedError`" msgstr ":exc:`ConnectionAbortedError`" -#: ../../c-api/exceptions.rst:911 +#: ../../c-api/exceptions.rst:913 msgid ":c:data:`PyExc_ConnectionError`" msgstr ":c:data:`PyExc_ConnectionError`" -#: ../../c-api/exceptions.rst:911 +#: ../../c-api/exceptions.rst:913 msgid ":exc:`ConnectionError`" msgstr ":exc:`ConnectionError`" -#: ../../c-api/exceptions.rst:913 +#: ../../c-api/exceptions.rst:915 msgid ":c:data:`PyExc_ConnectionRefusedError`" msgstr ":c:data:`PyExc_ConnectionRefusedError`" -#: ../../c-api/exceptions.rst:913 +#: ../../c-api/exceptions.rst:915 msgid ":exc:`ConnectionRefusedError`" msgstr ":exc:`ConnectionRefusedError`" -#: ../../c-api/exceptions.rst:915 +#: ../../c-api/exceptions.rst:917 msgid ":c:data:`PyExc_ConnectionResetError`" msgstr ":c:data:`PyExc_ConnectionResetError`" -#: ../../c-api/exceptions.rst:915 +#: ../../c-api/exceptions.rst:917 msgid ":exc:`ConnectionResetError`" msgstr ":exc:`ConnectionResetError`" -#: ../../c-api/exceptions.rst:917 +#: ../../c-api/exceptions.rst:919 msgid ":c:data:`PyExc_EOFError`" msgstr ":c:data:`PyExc_EOFError`" -#: ../../c-api/exceptions.rst:917 +#: ../../c-api/exceptions.rst:919 msgid ":exc:`EOFError`" msgstr ":exc:`EOFError`" -#: ../../c-api/exceptions.rst:919 +#: ../../c-api/exceptions.rst:921 msgid ":c:data:`PyExc_FileExistsError`" msgstr ":c:data:`PyExc_FileExistsError`" -#: ../../c-api/exceptions.rst:919 +#: ../../c-api/exceptions.rst:921 msgid ":exc:`FileExistsError`" msgstr ":exc:`FileExistsError`" -#: ../../c-api/exceptions.rst:921 +#: ../../c-api/exceptions.rst:923 msgid ":c:data:`PyExc_FileNotFoundError`" msgstr ":c:data:`PyExc_FileNotFoundError`" -#: ../../c-api/exceptions.rst:921 +#: ../../c-api/exceptions.rst:923 msgid ":exc:`FileNotFoundError`" msgstr ":exc:`FileNotFoundError`" -#: ../../c-api/exceptions.rst:923 +#: ../../c-api/exceptions.rst:925 msgid ":c:data:`PyExc_FloatingPointError`" msgstr ":c:data:`PyExc_FloatingPointError`" -#: ../../c-api/exceptions.rst:923 +#: ../../c-api/exceptions.rst:925 msgid ":exc:`FloatingPointError`" msgstr ":exc:`FloatingPointError`" -#: ../../c-api/exceptions.rst:925 +#: ../../c-api/exceptions.rst:927 msgid ":c:data:`PyExc_GeneratorExit`" msgstr ":c:data:`PyExc_GeneratorExit`" -#: ../../c-api/exceptions.rst:925 +#: ../../c-api/exceptions.rst:927 msgid ":exc:`GeneratorExit`" msgstr ":exc:`GeneratorExit`" -#: ../../c-api/exceptions.rst:927 +#: ../../c-api/exceptions.rst:929 msgid ":c:data:`PyExc_ImportError`" msgstr ":c:data:`PyExc_ImportError`" -#: ../../c-api/exceptions.rst:927 +#: ../../c-api/exceptions.rst:929 msgid ":exc:`ImportError`" msgstr ":exc:`ImportError`" -#: ../../c-api/exceptions.rst:929 +#: ../../c-api/exceptions.rst:931 msgid ":c:data:`PyExc_IndentationError`" msgstr ":c:data:`PyExc_IndentationError`" -#: ../../c-api/exceptions.rst:929 +#: ../../c-api/exceptions.rst:931 msgid ":exc:`IndentationError`" msgstr ":exc:`IndentationError`" -#: ../../c-api/exceptions.rst:931 +#: ../../c-api/exceptions.rst:933 msgid ":c:data:`PyExc_IndexError`" msgstr ":c:data:`PyExc_IndexError`" -#: ../../c-api/exceptions.rst:931 +#: ../../c-api/exceptions.rst:933 msgid ":exc:`IndexError`" msgstr ":exc:`IndexError`" -#: ../../c-api/exceptions.rst:933 +#: ../../c-api/exceptions.rst:935 msgid ":c:data:`PyExc_InterruptedError`" msgstr ":c:data:`PyExc_InterruptedError`" -#: ../../c-api/exceptions.rst:933 +#: ../../c-api/exceptions.rst:935 msgid ":exc:`InterruptedError`" msgstr ":exc:`InterruptedError`" -#: ../../c-api/exceptions.rst:935 +#: ../../c-api/exceptions.rst:937 msgid ":c:data:`PyExc_IsADirectoryError`" msgstr ":c:data:`PyExc_IsADirectoryError`" -#: ../../c-api/exceptions.rst:935 +#: ../../c-api/exceptions.rst:937 msgid ":exc:`IsADirectoryError`" msgstr ":exc:`IsADirectoryError`" -#: ../../c-api/exceptions.rst:937 +#: ../../c-api/exceptions.rst:939 msgid ":c:data:`PyExc_KeyError`" msgstr ":c:data:`PyExc_KeyError`" -#: ../../c-api/exceptions.rst:937 +#: ../../c-api/exceptions.rst:939 msgid ":exc:`KeyError`" msgstr ":exc:`KeyError`" -#: ../../c-api/exceptions.rst:939 +#: ../../c-api/exceptions.rst:941 msgid ":c:data:`PyExc_KeyboardInterrupt`" msgstr ":c:data:`PyExc_KeyboardInterrupt`" -#: ../../c-api/exceptions.rst:939 +#: ../../c-api/exceptions.rst:941 msgid ":exc:`KeyboardInterrupt`" msgstr ":exc:`KeyboardInterrupt`" -#: ../../c-api/exceptions.rst:941 +#: ../../c-api/exceptions.rst:943 msgid ":c:data:`PyExc_LookupError`" msgstr ":c:data:`PyExc_LookupError`" -#: ../../c-api/exceptions.rst:941 +#: ../../c-api/exceptions.rst:943 msgid ":exc:`LookupError`" msgstr ":exc:`LookupError`" -#: ../../c-api/exceptions.rst:943 +#: ../../c-api/exceptions.rst:945 msgid ":c:data:`PyExc_MemoryError`" msgstr ":c:data:`PyExc_MemoryError`" -#: ../../c-api/exceptions.rst:943 +#: ../../c-api/exceptions.rst:945 msgid ":exc:`MemoryError`" msgstr ":exc:`MemoryError`" -#: ../../c-api/exceptions.rst:945 +#: ../../c-api/exceptions.rst:947 msgid ":c:data:`PyExc_ModuleNotFoundError`" msgstr ":c:data:`PyExc_ModuleNotFoundError`" -#: ../../c-api/exceptions.rst:945 +#: ../../c-api/exceptions.rst:947 msgid ":exc:`ModuleNotFoundError`" msgstr ":exc:`ModuleNotFoundError`" -#: ../../c-api/exceptions.rst:947 +#: ../../c-api/exceptions.rst:949 msgid ":c:data:`PyExc_NameError`" msgstr ":c:data:`PyExc_NameError`" -#: ../../c-api/exceptions.rst:947 +#: ../../c-api/exceptions.rst:949 msgid ":exc:`NameError`" msgstr ":exc:`NameError`" -#: ../../c-api/exceptions.rst:949 +#: ../../c-api/exceptions.rst:951 msgid ":c:data:`PyExc_NotADirectoryError`" msgstr ":c:data:`PyExc_NotADirectoryError`" -#: ../../c-api/exceptions.rst:949 +#: ../../c-api/exceptions.rst:951 msgid ":exc:`NotADirectoryError`" msgstr ":exc:`NotADirectoryError`" -#: ../../c-api/exceptions.rst:951 +#: ../../c-api/exceptions.rst:953 msgid ":c:data:`PyExc_NotImplementedError`" msgstr ":c:data:`PyExc_NotImplementedError`" -#: ../../c-api/exceptions.rst:951 +#: ../../c-api/exceptions.rst:953 msgid ":exc:`NotImplementedError`" msgstr ":exc:`NotImplementedError`" -#: ../../c-api/exceptions.rst:953 +#: ../../c-api/exceptions.rst:955 msgid ":c:data:`PyExc_OSError`" msgstr ":c:data:`PyExc_OSError`" -#: ../../c-api/exceptions.rst:953 +#: ../../c-api/exceptions.rst:955 msgid ":exc:`OSError`" msgstr ":exc:`OSError`" -#: ../../c-api/exceptions.rst:955 +#: ../../c-api/exceptions.rst:957 msgid ":c:data:`PyExc_OverflowError`" msgstr ":c:data:`PyExc_OverflowError`" -#: ../../c-api/exceptions.rst:955 +#: ../../c-api/exceptions.rst:957 msgid ":exc:`OverflowError`" msgstr ":exc:`OverflowError`" -#: ../../c-api/exceptions.rst:957 +#: ../../c-api/exceptions.rst:959 msgid ":c:data:`PyExc_PermissionError`" msgstr ":c:data:`PyExc_PermissionError`" -#: ../../c-api/exceptions.rst:957 +#: ../../c-api/exceptions.rst:959 msgid ":exc:`PermissionError`" msgstr ":exc:`PermissionError`" -#: ../../c-api/exceptions.rst:959 +#: ../../c-api/exceptions.rst:961 msgid ":c:data:`PyExc_ProcessLookupError`" msgstr ":c:data:`PyExc_ProcessLookupError`" -#: ../../c-api/exceptions.rst:959 +#: ../../c-api/exceptions.rst:961 msgid ":exc:`ProcessLookupError`" msgstr ":exc:`ProcessLookupError`" -#: ../../c-api/exceptions.rst:961 +#: ../../c-api/exceptions.rst:963 msgid ":c:data:`PyExc_RecursionError`" msgstr ":c:data:`PyExc_RecursionError`" -#: ../../c-api/exceptions.rst:961 +#: ../../c-api/exceptions.rst:963 msgid ":exc:`RecursionError`" msgstr ":exc:`RecursionError`" -#: ../../c-api/exceptions.rst:963 +#: ../../c-api/exceptions.rst:965 msgid ":c:data:`PyExc_ReferenceError`" msgstr ":c:data:`PyExc_ReferenceError`" -#: ../../c-api/exceptions.rst:963 +#: ../../c-api/exceptions.rst:965 msgid ":exc:`ReferenceError`" msgstr ":exc:`ReferenceError`" -#: ../../c-api/exceptions.rst:963 -msgid "\\(2)" -msgstr "\\(2)" - -#: ../../c-api/exceptions.rst:965 +#: ../../c-api/exceptions.rst:967 msgid ":c:data:`PyExc_RuntimeError`" msgstr ":c:data:`PyExc_RuntimeError`" -#: ../../c-api/exceptions.rst:965 +#: ../../c-api/exceptions.rst:967 msgid ":exc:`RuntimeError`" msgstr ":exc:`RuntimeError`" -#: ../../c-api/exceptions.rst:967 +#: ../../c-api/exceptions.rst:969 msgid ":c:data:`PyExc_StopAsyncIteration`" msgstr ":c:data:`PyExc_StopAsyncIteration`" -#: ../../c-api/exceptions.rst:967 +#: ../../c-api/exceptions.rst:969 msgid ":exc:`StopAsyncIteration`" msgstr ":exc:`StopAsyncIteration`" -#: ../../c-api/exceptions.rst:969 +#: ../../c-api/exceptions.rst:971 msgid ":c:data:`PyExc_StopIteration`" msgstr ":c:data:`PyExc_StopIteration`" -#: ../../c-api/exceptions.rst:969 +#: ../../c-api/exceptions.rst:971 msgid ":exc:`StopIteration`" msgstr ":exc:`StopIteration`" -#: ../../c-api/exceptions.rst:971 +#: ../../c-api/exceptions.rst:973 msgid ":c:data:`PyExc_SyntaxError`" msgstr ":c:data:`PyExc_SyntaxError`" -#: ../../c-api/exceptions.rst:971 +#: ../../c-api/exceptions.rst:973 msgid ":exc:`SyntaxError`" msgstr ":exc:`SyntaxError`" -#: ../../c-api/exceptions.rst:973 +#: ../../c-api/exceptions.rst:975 msgid ":c:data:`PyExc_SystemError`" msgstr ":c:data:`PyExc_SystemError`" -#: ../../c-api/exceptions.rst:973 +#: ../../c-api/exceptions.rst:975 msgid ":exc:`SystemError`" msgstr ":exc:`SystemError`" -#: ../../c-api/exceptions.rst:975 +#: ../../c-api/exceptions.rst:977 msgid ":c:data:`PyExc_SystemExit`" msgstr ":c:data:`PyExc_SystemExit`" -#: ../../c-api/exceptions.rst:975 +#: ../../c-api/exceptions.rst:977 msgid ":exc:`SystemExit`" msgstr ":exc:`SystemExit`" -#: ../../c-api/exceptions.rst:977 +#: ../../c-api/exceptions.rst:979 msgid ":c:data:`PyExc_TabError`" msgstr ":c:data:`PyExc_TabError`" -#: ../../c-api/exceptions.rst:977 +#: ../../c-api/exceptions.rst:979 msgid ":exc:`TabError`" msgstr ":exc:`TabError`" -#: ../../c-api/exceptions.rst:979 +#: ../../c-api/exceptions.rst:981 msgid ":c:data:`PyExc_TimeoutError`" msgstr ":c:data:`PyExc_TimeoutError`" -#: ../../c-api/exceptions.rst:979 +#: ../../c-api/exceptions.rst:981 msgid ":exc:`TimeoutError`" msgstr ":exc:`TimeoutError`" -#: ../../c-api/exceptions.rst:981 +#: ../../c-api/exceptions.rst:983 msgid ":c:data:`PyExc_TypeError`" msgstr ":c:data:`PyExc_TypeError`" -#: ../../c-api/exceptions.rst:981 +#: ../../c-api/exceptions.rst:983 msgid ":exc:`TypeError`" msgstr ":exc:`TypeError`" -#: ../../c-api/exceptions.rst:983 +#: ../../c-api/exceptions.rst:985 msgid ":c:data:`PyExc_UnboundLocalError`" msgstr ":c:data:`PyExc_UnboundLocalError`" -#: ../../c-api/exceptions.rst:983 +#: ../../c-api/exceptions.rst:985 msgid ":exc:`UnboundLocalError`" msgstr ":exc:`UnboundLocalError`" -#: ../../c-api/exceptions.rst:985 +#: ../../c-api/exceptions.rst:987 msgid ":c:data:`PyExc_UnicodeDecodeError`" msgstr ":c:data:`PyExc_UnicodeDecodeError`" -#: ../../c-api/exceptions.rst:985 +#: ../../c-api/exceptions.rst:987 msgid ":exc:`UnicodeDecodeError`" msgstr ":exc:`UnicodeDecodeError`" -#: ../../c-api/exceptions.rst:987 +#: ../../c-api/exceptions.rst:989 msgid ":c:data:`PyExc_UnicodeEncodeError`" msgstr ":c:data:`PyExc_UnicodeEncodeError`" -#: ../../c-api/exceptions.rst:987 +#: ../../c-api/exceptions.rst:989 msgid ":exc:`UnicodeEncodeError`" msgstr ":exc:`UnicodeEncodeError`" -#: ../../c-api/exceptions.rst:989 +#: ../../c-api/exceptions.rst:991 msgid ":c:data:`PyExc_UnicodeError`" msgstr ":c:data:`PyExc_UnicodeError`" -#: ../../c-api/exceptions.rst:989 +#: ../../c-api/exceptions.rst:991 msgid ":exc:`UnicodeError`" msgstr ":exc:`UnicodeError`" -#: ../../c-api/exceptions.rst:991 +#: ../../c-api/exceptions.rst:993 msgid ":c:data:`PyExc_UnicodeTranslateError`" msgstr ":c:data:`PyExc_UnicodeTranslateError`" -#: ../../c-api/exceptions.rst:991 +#: ../../c-api/exceptions.rst:993 msgid ":exc:`UnicodeTranslateError`" msgstr ":exc:`UnicodeTranslateError`" -#: ../../c-api/exceptions.rst:993 +#: ../../c-api/exceptions.rst:995 msgid ":c:data:`PyExc_ValueError`" msgstr ":c:data:`PyExc_ValueError`" -#: ../../c-api/exceptions.rst:993 +#: ../../c-api/exceptions.rst:995 msgid ":exc:`ValueError`" msgstr ":exc:`ValueError`" -#: ../../c-api/exceptions.rst:995 +#: ../../c-api/exceptions.rst:997 msgid ":c:data:`PyExc_ZeroDivisionError`" msgstr ":c:data:`PyExc_ZeroDivisionError`" -#: ../../c-api/exceptions.rst:995 +#: ../../c-api/exceptions.rst:997 msgid ":exc:`ZeroDivisionError`" msgstr ":exc:`ZeroDivisionError`" -#: ../../c-api/exceptions.rst:998 +#: ../../c-api/exceptions.rst:1000 msgid "" ":c:data:`PyExc_BlockingIOError`, :c:data:`PyExc_BrokenPipeError`, :c:data:" "`PyExc_ChildProcessError`, :c:data:`PyExc_ConnectionError`, :c:data:" @@ -1445,50 +1515,50 @@ msgstr "" "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`." +"`PyExc_PermissionError`, :c:data:`PyExc_ProcessLookupError` e :c:data:" +"`PyExc_TimeoutError` foram introduzidos seguindo a :pep:`3151`." -#: ../../c-api/exceptions.rst:1008 +#: ../../c-api/exceptions.rst:1010 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:1011 +#: ../../c-api/exceptions.rst:1013 msgid ":c:data:`PyExc_ModuleNotFoundError`." msgstr ":c:data:`PyExc_ModuleNotFoundError`." -#: ../../c-api/exceptions.rst:1014 +#: ../../c-api/exceptions.rst:1016 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:1024 +#: ../../c-api/exceptions.rst:1026 msgid ":c:data:`PyExc_EnvironmentError`" msgstr ":c:data:`PyExc_EnvironmentError`" -#: ../../c-api/exceptions.rst:1026 +#: ../../c-api/exceptions.rst:1028 msgid ":c:data:`PyExc_IOError`" msgstr ":c:data:`PyExc_IOError`" -#: ../../c-api/exceptions.rst:1028 +#: ../../c-api/exceptions.rst:1030 msgid ":c:data:`PyExc_WindowsError`" msgstr ":c:data:`PyExc_WindowsError`" -#: ../../c-api/exceptions.rst:1028 -msgid "\\(3)" -msgstr "\\(3)" +#: ../../c-api/exceptions.rst:1030 +msgid "[2]_" +msgstr "[2]_" -#: ../../c-api/exceptions.rst:1031 +#: ../../c-api/exceptions.rst:1033 msgid "These aliases used to be separate exception types." msgstr "Esses aliases costumavam ser tipos de exceção separados." -#: ../../c-api/exceptions.rst:1034 ../../c-api/exceptions.rst:1095 +#: ../../c-api/exceptions.rst:1036 ../../c-api/exceptions.rst:1097 msgid "Notes:" msgstr "Notas:" -#: ../../c-api/exceptions.rst:1037 +#: ../../c-api/exceptions.rst:1039 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:1040 +#: ../../c-api/exceptions.rst:1042 msgid "" "Only defined on Windows; protect code that uses this by testing that the " "preprocessor macro ``MS_WINDOWS`` is defined." @@ -1496,110 +1566,114 @@ 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:1046 +#: ../../c-api/exceptions.rst:1048 msgid "Standard Warning Categories" msgstr "Categorias de aviso padrão" -#: ../../c-api/exceptions.rst:1048 +#: ../../c-api/exceptions.rst:1050 msgid "" "All standard Python warning categories are available as global variables " "whose names are ``PyExc_`` followed by the Python exception name. These have " -"the type :c:type:`PyObject*`; they are all class objects. For completeness, " +"the type :c:expr:`PyObject*`; they are all class objects. For completeness, " "here are all the variables:" msgstr "" -#: ../../c-api/exceptions.rst:1069 +#: ../../c-api/exceptions.rst:1071 msgid ":c:data:`PyExc_Warning`" msgstr ":c:data:`PyExc_Warning`" -#: ../../c-api/exceptions.rst:1069 +#: ../../c-api/exceptions.rst:1071 msgid ":exc:`Warning`" msgstr ":exc:`Warning`" #: ../../c-api/exceptions.rst:1071 +msgid "[3]_" +msgstr "[3]_" + +#: ../../c-api/exceptions.rst:1073 msgid ":c:data:`PyExc_BytesWarning`" msgstr ":c:data:`PyExc_BytesWarning`" -#: ../../c-api/exceptions.rst:1071 +#: ../../c-api/exceptions.rst:1073 msgid ":exc:`BytesWarning`" msgstr ":exc:`BytesWarning`" -#: ../../c-api/exceptions.rst:1073 +#: ../../c-api/exceptions.rst:1075 msgid ":c:data:`PyExc_DeprecationWarning`" msgstr ":c:data:`PyExc_DeprecationWarning`" -#: ../../c-api/exceptions.rst:1073 +#: ../../c-api/exceptions.rst:1075 msgid ":exc:`DeprecationWarning`" msgstr ":exc:`DeprecationWarning`" -#: ../../c-api/exceptions.rst:1075 +#: ../../c-api/exceptions.rst:1077 msgid ":c:data:`PyExc_FutureWarning`" msgstr ":c:data:`PyExc_FutureWarning`" -#: ../../c-api/exceptions.rst:1075 +#: ../../c-api/exceptions.rst:1077 msgid ":exc:`FutureWarning`" msgstr ":exc:`FutureWarning`" -#: ../../c-api/exceptions.rst:1077 +#: ../../c-api/exceptions.rst:1079 msgid ":c:data:`PyExc_ImportWarning`" msgstr ":c:data:`PyExc_ImportWarning`" -#: ../../c-api/exceptions.rst:1077 +#: ../../c-api/exceptions.rst:1079 msgid ":exc:`ImportWarning`" msgstr ":exc:`ImportWarning`" -#: ../../c-api/exceptions.rst:1079 +#: ../../c-api/exceptions.rst:1081 msgid ":c:data:`PyExc_PendingDeprecationWarning`" msgstr ":c:data:`PyExc_PendingDeprecationWarning`" -#: ../../c-api/exceptions.rst:1079 +#: ../../c-api/exceptions.rst:1081 msgid ":exc:`PendingDeprecationWarning`" msgstr ":exc:`PendingDeprecationWarning`" -#: ../../c-api/exceptions.rst:1081 +#: ../../c-api/exceptions.rst:1083 msgid ":c:data:`PyExc_ResourceWarning`" msgstr ":c:data:`PyExc_ResourceWarning`" -#: ../../c-api/exceptions.rst:1081 +#: ../../c-api/exceptions.rst:1083 msgid ":exc:`ResourceWarning`" msgstr ":exc:`ResourceWarning`" -#: ../../c-api/exceptions.rst:1083 +#: ../../c-api/exceptions.rst:1085 msgid ":c:data:`PyExc_RuntimeWarning`" msgstr ":c:data:`PyExc_RuntimeWarning`" -#: ../../c-api/exceptions.rst:1083 +#: ../../c-api/exceptions.rst:1085 msgid ":exc:`RuntimeWarning`" msgstr ":exc:`RuntimeWarning`" -#: ../../c-api/exceptions.rst:1085 +#: ../../c-api/exceptions.rst:1087 msgid ":c:data:`PyExc_SyntaxWarning`" msgstr ":c:data:`PyExc_SyntaxWarning`" -#: ../../c-api/exceptions.rst:1085 +#: ../../c-api/exceptions.rst:1087 msgid ":exc:`SyntaxWarning`" msgstr ":exc:`SyntaxWarning`" -#: ../../c-api/exceptions.rst:1087 +#: ../../c-api/exceptions.rst:1089 msgid ":c:data:`PyExc_UnicodeWarning`" msgstr ":c:data:`PyExc_UnicodeWarning`" -#: ../../c-api/exceptions.rst:1087 +#: ../../c-api/exceptions.rst:1089 msgid ":exc:`UnicodeWarning`" msgstr ":exc:`UnicodeWarning`" -#: ../../c-api/exceptions.rst:1089 +#: ../../c-api/exceptions.rst:1091 msgid ":c:data:`PyExc_UserWarning`" msgstr ":c:data:`PyExc_UserWarning`" -#: ../../c-api/exceptions.rst:1089 +#: ../../c-api/exceptions.rst:1091 msgid ":exc:`UserWarning`" msgstr ":exc:`UserWarning`" -#: ../../c-api/exceptions.rst:1092 +#: ../../c-api/exceptions.rst:1094 msgid ":c:data:`PyExc_ResourceWarning`." msgstr ":c:data:`PyExc_ResourceWarning`." -#: ../../c-api/exceptions.rst:1098 +#: ../../c-api/exceptions.rst:1100 msgid "This is a base class for other standard warning categories." msgstr "Esta é uma classe base para outras categorias de aviso padrão." diff --git a/c-api/file.po b/c-api/file.po index c5bd7666f..b37236c6b 100644 --- a/c-api/file.po +++ b/c-api/file.po @@ -1,26 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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.10\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-06-29 12:56+0000\n" -"PO-Revision-Date: 2021-06-28 00:48+0000\n" -"Last-Translator: Rafael Fontenelle , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:57+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../c-api/file.rst:6 msgid "File Objects" @@ -29,7 +30,7 @@ msgstr "Objetos arquivos" #: ../../c-api/file.rst:10 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:type:`FILE*`) support " +"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 " @@ -38,13 +39,13 @@ msgid "" "`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:type:" +"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`." +"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 "" @@ -78,13 +79,13 @@ msgstr "Ignora atributo *name*." #: ../../c-api/file.rst:41 msgid "" -"Return the file descriptor associated with *p* as an :c:type:`int`. If the " +"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." msgstr "" -"Retorna o descritor de arquivo associado a *p* como um :c:type:`int`. Se o " +"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. " @@ -122,10 +123,10 @@ msgstr "" #: ../../c-api/file.rst:68 msgid "" -"The handler is a function of type :c:type:`PyObject *(\\*)(PyObject *path, " +"The handler is a function of type :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:type:`PyObject *(\\*)(PyObject *path, " +"O manipulador é uma função do tipo :c:expr:`PyObject *(\\*)(PyObject *path, " "void *userData)`, sendo *path* garantido como sendo :c:type:" "`PyUnicodeObject`." @@ -169,8 +170,8 @@ 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 msgid "" diff --git a/c-api/float.po b/c-api/float.po index 8385fcd0b..3d23c86b2 100644 --- a/c-api/float.po +++ b/c-api/float.po @@ -1,26 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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.10\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-06-29 12:56+0000\n" -"PO-Revision-Date: 2021-06-28 00:48+0000\n" -"Last-Translator: Rafael Fontenelle , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:57+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../c-api/float.rst:6 msgid "Floating Point Objects" @@ -63,8 +64,8 @@ msgid "" "Create a :c:type:`PyFloatObject` object based on the string value in *str*, " "or ``NULL`` on failure." msgstr "" -"Cria um objeto :c:type:`PyFloatObject` baseado em uma string de valor \"str" -"\" ou ``NULL`` em falha." +"Cria um objeto :c:type:`PyFloatObject` baseado em uma string de valor " +"\"str\" ou ``NULL`` em falha." #: ../../c-api/float.rst:42 msgid "" @@ -73,19 +74,13 @@ msgstr "Cria um objeto :c:type:`PyFloatObject` de *v* ou ``NULL`` em falha." #: ../../c-api/float.rst:47 msgid "" -"Return a C :c:type:`double` representation of the contents of *pyfloat*. If " +"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." msgstr "" -"Retorna uma representação C :c:type:`double` do conteúdo de *pyfloat*. Se " -"*pyfloat* não é um objeto de ponto flutuante do Python, mas possui o método :" -"meth:`__float__`, esse método será chamado primeiro para converter *pyfloat* " -"em um ponto flutuante. Se ``__float__()`` não estiver definido, ele voltará " -"a :meth:`__index__`. Este método retorna ``-1.0`` em caso de falha, " -"portanto, deve-se chamar :c:func:`PyErr_Occurred` para verificar se há erros." #: ../../c-api/float.rst:54 msgid "Use :meth:`__index__` if available." @@ -93,10 +88,10 @@ msgstr "Usa :meth:`__index__`, se disponível." #: ../../c-api/float.rst:60 msgid "" -"Return a C :c:type:`double` representation of the contents of *pyfloat*, but " +"Return a C :c:expr:`double` representation of the contents of *pyfloat*, but " "without error checking." msgstr "" -"Retorna uma representação C :c:type:`double` do conteúdo de *pyfloat*, mas " +"Retorna uma representação C :c:expr:`double` do conteúdo de *pyfloat*, mas " "sem verificação de erro." #: ../../c-api/float.rst:66 @@ -106,20 +101,20 @@ 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:type:" +"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:type:" +"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:type:`double`." +"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:type:" +"Retorna o ponto flutuante positivo mínimo normalizado *DBL_MIN* como :c:expr:" "`double` do C." diff --git a/c-api/function.po b/c-api/function.po index 1770c954b..b6fe1ef30 100644 --- a/c-api/function.po +++ b/c-api/function.po @@ -1,31 +1,31 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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: -# Italo Penaforte , 2021 -# Rafael Fontenelle , 2021 +# python-doc bot, 2025 # #, 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 00:48+0000\n" -"Last-Translator: Rafael Fontenelle , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:57+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"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." @@ -42,7 +42,7 @@ msgid "" "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 "" @@ -50,9 +50,9 @@ msgid "" "`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:" +"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 " -"tem sucesso." +"obtém sucesso." #: ../../c-api/function.rst:34 msgid "" @@ -60,7 +60,7 @@ 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 @@ -89,7 +89,7 @@ msgstr "" #: ../../c-api/function.rst:54 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:59 msgid "Return the globals dictionary associated with the function object *op*." @@ -116,29 +116,29 @@ 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:79 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:82 ../../c-api/function.rst:96 #: ../../c-api/function.rst:110 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:87 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:93 msgid "" diff --git a/c-api/gcsupport.po b/c-api/gcsupport.po index 10eba3134..ee5f333b5 100644 --- a/c-api/gcsupport.po +++ b/c-api/gcsupport.po @@ -1,41 +1,47 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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.10\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-06-29 12:56+0000\n" -"PO-Revision-Date: 2021-06-28 00:48+0000\n" -"Last-Translator: Claudio Rogerio Carvalho Filho , " -"2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-23 17:01+0000\n" +"PO-Revision-Date: 2025-09-22 15:57+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../c-api/gcsupport.rst:6 msgid "Supporting Cyclic Garbage Collection" -msgstr "Suporte a Coleta de Lixo Cíclica" +msgstr "Suporte a Coleta Cíclica de Lixo" #: ../../c-api/gcsupport.rst:8 msgid "" "Python's support for detecting and collecting garbage which involves " -"circular references requires support from object types which are \"containers" -"\" for other objects which may also be containers. Types which do not store " -"references to other objects, or which only store references to atomic types " -"(such as numbers or strings), do not need to provide any explicit support " -"for garbage collection." -msgstr "" +"circular references requires support from object types which are " +"\"containers\" for other objects which may also be containers. Types which " +"do not store references to other objects, or which only store references to " +"atomic types (such as numbers or strings), do not need to provide any " +"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ê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." #: ../../c-api/gcsupport.rst:15 msgid "" @@ -45,6 +51,11 @@ msgid "" "instances of the type are mutable, a :c:member:`~PyTypeObject.tp_clear` " "implementation must also be provided." msgstr "" +"Para criar um tipo contêiner, 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 :c:member:`~PyTypeObject.tp_traverse` manipulador. Se as " +"instâncias do tipo forem mutáveis, uma :c:member:`~PyTypeObject.tp_clear` " +"implementação também deverá ser fornecida." #: ../../c-api/gcsupport.rst:24 msgid "" @@ -52,31 +63,61 @@ msgid "" "documented here. For convenience these objects will be referred to as " "container objects." msgstr "" +"Objetos com esse tipo de sinalizador definido devem estar em conformidade " +"com regras documentadas aqui. Por conveniência esses objetos serão " +"referenciados como objetos de contêiner." #: ../../c-api/gcsupport.rst:28 msgid "Constructors for container types must conform to two rules:" -msgstr "" +msgstr "Construtores para tipos de contêiner devem obedecer a duas regras:" #: ../../c-api/gcsupport.rst:30 msgid "" "The memory for the object must be allocated using :c:func:`PyObject_GC_New` " "or :c:func:`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 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 " +"contêineres foram inicializados, deve-se chamar :c:func:`PyObject_GC_Track`." + +#: ../../c-api/gcsupport.rst:36 +msgid "" +"Similarly, the deallocator for the object must conform to a similar pair of " +"rules:" +msgstr "" +"Da mesma forma, o desalocador para o objeto deve estar em conformidade com " +"regras semelhantes:" -#: ../../c-api/gcsupport.rst:37 +#: ../../c-api/gcsupport.rst:39 +msgid "" +"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 contêineres sejam " +"invalidados, :c:func:`PyObject_GC_UnTrack` deve ser chamado." + +#: ../../c-api/gcsupport.rst:42 +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`." + +#: ../../c-api/gcsupport.rst:45 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." msgstr "" -#: ../../c-api/gcsupport.rst:41 +#: ../../c-api/gcsupport.rst:49 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 " @@ -87,26 +128,26 @@ msgid "" "include the :const:`Py_TPFLAGS_HAVE_GC` flag." msgstr "" -#: ../../c-api/gcsupport.rst:51 +#: ../../c-api/gcsupport.rst:59 msgid "" "Analogous to :c:func:`PyObject_New` but for container objects with the :" "const:`Py_TPFLAGS_HAVE_GC` flag set." msgstr "" -#: ../../c-api/gcsupport.rst:57 +#: ../../c-api/gcsupport.rst:65 msgid "" "Analogous to :c:func:`PyObject_NewVar` but for container objects with the :" "const:`Py_TPFLAGS_HAVE_GC` flag set." msgstr "" -#: ../../c-api/gcsupport.rst:63 +#: ../../c-api/gcsupport.rst:71 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." msgstr "" -#: ../../c-api/gcsupport.rst:69 +#: ../../c-api/gcsupport.rst:77 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 " @@ -115,55 +156,38 @@ msgid "" "usually near the end of the constructor." msgstr "" -#: ../../c-api/gcsupport.rst:78 +#: ../../c-api/gcsupport.rst:86 msgid "" "Returns non-zero if the object implements the garbage collector protocol, " "otherwise returns 0." msgstr "" -#: ../../c-api/gcsupport.rst:81 +#: ../../c-api/gcsupport.rst:89 msgid "" "The object cannot be tracked by the garbage collector if this function " "returns 0." msgstr "" -#: ../../c-api/gcsupport.rst:86 +#: ../../c-api/gcsupport.rst:94 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:89 +#: ../../c-api/gcsupport.rst:97 msgid "This is analogous to the Python function :func:`gc.is_tracked`." msgstr "" -#: ../../c-api/gcsupport.rst:96 +#: ../../c-api/gcsupport.rst:104 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:99 +#: ../../c-api/gcsupport.rst:107 msgid "This is analogous to the Python function :func:`gc.is_finalized`." msgstr "" -#: ../../c-api/gcsupport.rst:103 -msgid "" -"Similarly, the deallocator for the object must conform to a similar pair of " -"rules:" -msgstr "" - -#: ../../c-api/gcsupport.rst:106 -msgid "" -"Before fields which refer to other containers are invalidated, :c:func:" -"`PyObject_GC_UnTrack` must be called." -msgstr "" - -#: ../../c-api/gcsupport.rst:109 -msgid "" -"The object's memory must be deallocated using :c:func:`PyObject_GC_Del`." -msgstr "" - #: ../../c-api/gcsupport.rst:114 msgid "" "Releases memory allocated to an object using :c:func:`PyObject_GC_New` or :c:" @@ -251,7 +275,7 @@ msgstr "" #: ../../c-api/gcsupport.rst:191 msgid "Controlling the Garbage Collector State" -msgstr "" +msgstr "Controlando o estado do coletor de lixo" #: ../../c-api/gcsupport.rst:193 msgid "" diff --git a/c-api/gen.po b/c-api/gen.po index 400f418e9..2c734ced4 100644 --- a/c-api/gen.po +++ b/c-api/gen.po @@ -1,26 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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.10\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-06-29 12:56+0000\n" -"PO-Revision-Date: 2021-06-28 00:48+0000\n" -"Last-Translator: Rafael Fontenelle , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:57+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../c-api/gen.rst:6 msgid "Generator Objects" diff --git a/c-api/import.po b/c-api/import.po index e6dd9875d..57e601f66 100644 --- a/c-api/import.po +++ b/c-api/import.po @@ -1,27 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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 -# Ozeas Santos , 2021 +# python-doc bot, 2025 # #, 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 00:48+0000\n" -"Last-Translator: Ozeas Santos , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:57+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../c-api/import.rst:6 msgid "Importing Modules" @@ -70,10 +70,10 @@ msgid "" "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 msgid "" @@ -398,16 +398,16 @@ msgstr "" #: ../../c-api/import.rst:264 msgid "" -"This pointer is initialized to point to an array of :c:type:`struct _frozen` " +"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 " "frozen module is imported, it is searched in this table. Third-party code " "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:" -"type:`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 " +"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:272 diff --git a/c-api/index.po b/c-api/index.po index bf7820f79..78f016346 100644 --- a/c-api/index.po +++ b/c-api/index.po @@ -1,27 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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.10\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-06-29 12:56+0000\n" -"PO-Revision-Date: 2021-06-28 00:48+0000\n" -"Last-Translator: Marco Rougeth , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:57+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../c-api/index.rst:5 msgid "Python/C API Reference Manual" diff --git a/c-api/init.po b/c-api/init.po index 664837276..032fd8f34 100644 --- a/c-api/init.po +++ b/c-api/init.po @@ -1,37 +1,32 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, Python Software 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 -# Rafael Marques , 2021 -# Willian C Lopes , 2021 -# Leandro Morales, 2021 -# Andre Weber, 2021 -# Rafael Fontenelle , 2021 +# python-doc bot, 2025 +# Rafael Fontenelle , 2025 # #, 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 00:49+0000\n" -"Last-Translator: Rafael Fontenelle , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2026-03-30 02:17+0000\n" +"PO-Revision-Date: 2025-09-22 15:57+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=2; plural=(n > 1);\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 `." @@ -40,7 +35,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 "" @@ -49,17 +44,21 @@ msgid "" "exception of a few functions and the :ref:`global configuration variables " "`." msgstr "" +"Em uma aplicação que incorpora Python, a função :c:func:`Py_Initialize` deve " +"ser chamada antes de usar qualquer outra função da API Python/C; com exceção " +"de algumas funções e as :ref:`variáveis globais de configuração `." #: ../../c-api/init.rst:22 msgid "" "The following functions can be safely called before Python is initialized:" msgstr "" "As seguintes funções podem ser seguramente chamadas antes da inicialização " -"do Python. " +"do Python." #: ../../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`" @@ -115,7 +114,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`" @@ -214,7 +213,7 @@ msgid "" "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:" +"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." @@ -224,17 +223,20 @@ msgid "" "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``." #: ../../c-api/init.rst:90 msgid "Set by the :option:`-b` option." -msgstr "Defina pela opção :option:`-b`." +msgstr "Definida pela opção :option:`-b`." #: ../../c-api/init.rst:94 msgid "" "Turn on parser debugging output (for expert only, depending on compilation " "options)." msgstr "" -"Ative a saída de depuração do analisador sintático, (somente para " +"Ativa a saída de depuração do analisador sintático (somente para " "especialistas, dependendo das opções de compilação)." #: ../../c-api/init.rst:97 @@ -242,7 +244,7 @@ msgid "" "Set by the :option:`-d` option and the :envvar:`PYTHONDEBUG` environment " "variable." msgstr "" -"Configure com a opção :option:`-d` e a variável de ambiente :envvar:" +"Definida pela a opção :option:`-d` e a variável de ambiente :envvar:" "`PYTHONDEBUG`." #: ../../c-api/init.rst:102 @@ -250,18 +252,24 @@ msgid "" "If set to non-zero, Python won't try to write ``.pyc`` files on the import " "of source modules." msgstr "" +"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 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`." #: ../../c-api/init.rst:110 msgid "" "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`." #: ../../c-api/init.rst:113 msgid "Private flag used by ``_freeze_importlib`` and ``frozenmain`` programs." @@ -274,12 +282,16 @@ msgid "" "Set to ``1`` if the :envvar:`PYTHONHASHSEED` environment variable is set to " "a non-empty string." msgstr "" +"Definida como ``1`` se a variável de ambiente :envvar:`PYTHONHASHSEED` " +"estiver definida como uma string não vazia." #: ../../c-api/init.rst:120 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." #: ../../c-api/init.rst:125 msgid "" @@ -291,7 +303,7 @@ msgstr "" #: ../../c-api/init.rst:128 msgid "Set by the :option:`-E` and :option:`-I` options." -msgstr "Defina pelas opções :option:`-E` e :option:`-I`." +msgstr "Definida pelas opções :option:`-E` e :option:`-I`." #: ../../c-api/init.rst:132 msgid "" @@ -299,26 +311,34 @@ msgid "" "used, enter interactive mode after executing the script or the command, even " "when :data:`sys.stdin` does not appear to be a terminal." msgstr "" +"Quando um script é passado como primeiro argumento ou a opção :option:`-c` é " +"usada, entre no modo interativo após executar o script ou o comando, mesmo " +"quando :data:`sys.stdin` não parece ser um terminal." #: ../../c-api/init.rst:136 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`." #: ../../c-api/init.rst:141 msgid "Set by the :option:`-i` option." -msgstr "Defina pela opção :option:`-i`." +msgstr "Definida pela opção :option:`-i`." #: ../../c-api/init.rst:145 msgid "" "Run Python in isolated mode. In isolated mode :data:`sys.path` contains " "neither the script's directory nor the user's site-packages directory." msgstr "" +"Executa o Python no modo isolado. No modo isolado, :data:`sys.path` não " +"contém nem o diretório do script nem o diretório de pacotes de sites do " +"usuário." #: ../../c-api/init.rst:148 msgid "Set by the :option:`-I` option." -msgstr "Defina pela opção :option:`-I`." +msgstr "Definida pela opção :option:`-I`." #: ../../c-api/init.rst:154 msgid "" @@ -326,12 +346,18 @@ msgid "" "handler, instead of the UTF-8 encoding with ``surrogatepass`` error handler, " "for the :term:`filesystem encoding and error handler`." 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`." #: ../../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." #: ../../c-api/init.rst:161 msgid "See :pep:`529` for more details." @@ -346,16 +372,20 @@ msgid "" "If the flag is non-zero, use :class:`io.FileIO` instead of :class:" "`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`." #: ../../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." #: ../../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 "" @@ -364,55 +394,61 @@ msgid "" "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." -msgstr "Defina pela opção :option:`-S`." +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`." 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." msgstr "" +"Definida pelas opções :option:`-s` e :option:`-I`, e pela variável de " +"ambiente :envvar:`PYTHONNOUSERSITE`." #: ../../c-api/init.rst:196 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`." #: ../../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 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." #: ../../c-api/init.rst:203 msgid "Set by the :option:`-q` option." -msgstr "Defina pela opção :option:`-q`." +msgstr "Definida pela opção :option:`-q`." #: ../../c-api/init.rst:209 msgid "Force the stdout and stderr streams to be unbuffered." -msgstr "Force os fluxos stdout e stderr a não serem armazenados em buffer." +msgstr "Força os fluxos stdout e stderr a não serem armazenados em buffer." #: ../../c-api/init.rst:211 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`." #: ../../c-api/init.rst:216 msgid "" @@ -421,12 +457,19 @@ msgid "" "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 "" +"Exibe uma mensagem cada vez que um módulo é inicializado, mostrando o local " +"(nome do arquivo ou módulo embutido) de onde ele é carregado. Se maior ou " +"igual a ``2``, 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." #: ../../c-api/init.rst:221 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`." #: ../../c-api/init.rst:226 msgid "Initializing and finalizing the interpreter" @@ -440,7 +483,7 @@ msgid "" 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; " -"veja :ref:`Before Python Initialization 1 ` para algumas " +"veja :ref:`Antes da Inicialização do Python ` para algumas " "exceções." #: ../../c-api/init.rst:248 @@ -458,6 +501,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 "" @@ -472,6 +517,9 @@ 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 "" @@ -495,6 +543,13 @@ 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 "" @@ -516,16 +571,20 @@ msgid "" "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 "" @@ -591,11 +650,9 @@ msgstr "" #: ../../c-api/init.rst:367 ../../c-api/init.rst:511 ../../c-api/init.rst:617 #: ../../c-api/init.rst:644 ../../c-api/init.rst:661 msgid "" -"Use :c:func:`Py_DecodeLocale` to decode a bytes string to get a :c:type:" +"Use :c:func:`Py_DecodeLocale` to decode a bytes string to get a :c:expr:" "`wchar_*` string." msgstr "" -"Utiliza :c:func:`Py_DecodeLocale` para decodificar uma string de bytes para " -"obter uma string tipo :c:type:`wchar_*`." #: ../../c-api/init.rst:375 msgid "" @@ -610,11 +667,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:382 ../../c-api/init.rst:401 ../../c-api/init.rst:442 #: ../../c-api/init.rst:461 ../../c-api/init.rst:487 ../../c-api/init.rst:674 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:388 msgid "" @@ -624,10 +684,10 @@ msgid "" "example, if the program name is ``'/usr/local/bin/python'``, the prefix is " "``'/usr/local'``. The returned string points into static storage; the caller " "should not modify its value. This corresponds to the :makevar:`prefix` " -"variable in the top-level :file:`Makefile` and the ``--prefix`` argument to " -"the :program:`configure` script at build time. The value is available to " -"Python code as ``sys.prefix``. It is only useful on Unix. See also the next " -"function." +"variable in the top-level :file:`Makefile` and the :option:`--prefix` " +"argument to the :program:`configure` script at build time. The value is " +"available to Python code as ``sys.prefix``. It is only useful on Unix. See " +"also the next function." msgstr "" #: ../../c-api/init.rst:407 @@ -652,6 +712,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:423 msgid "" @@ -666,6 +732,17 @@ 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:434 msgid "" @@ -674,6 +751,10 @@ msgid "" "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:452 msgid "" @@ -690,7 +771,7 @@ msgid "" "name (set by :c:func:`Py_SetProgramName` above) and some environment " "variables. The returned string consists of a series of directory names " "separated by a platform dependent delimiter character. The delimiter " -"character is ``':'`` on Unix and Mac OS X, ``';'`` on Windows. The returned " +"character is ``':'`` on Unix and macOS, ``';'`` on Windows. The returned " "string points into static storage; the caller should not modify its value. " "The list :data:`sys.path` is initialized with this value on interpreter " "startup; it can be (and usually is) modified later to change the search path " @@ -704,8 +785,8 @@ msgid "" "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 Mac OS X, " -"``';'`` on Windows." +"dependent delimiter character, which is ``':'`` on Unix and macOS, ``';'`` " +"on Windows." msgstr "" #: ../../c-api/init.rst:506 @@ -743,22 +824,34 @@ msgstr "" #: ../../c-api/init.rst:531 msgid "" "The first word (up to the first space character) is the current Python " -"version; the first three 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`." +"version; the first characters are the major and minor version separated by a " +"period. The returned string points into static storage; the caller should " +"not modify its value. The value is available to Python code as :data:`sys." +"version`." msgstr "" +"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:541 msgid "" "Return the platform identifier for the current platform. On Unix, this is " "formed from the \"official\" name of the operating system, converted to " "lower case, followed by the major revision number; e.g., for Solaris 2.x, " -"which is also known as SunOS 5.x, the value is ``'sunos5'``. On Mac OS X, " -"it is ``'darwin'``. On Windows, it is ``'win'``. The returned string " -"points into static storage; the caller should not modify its value. The " -"value is available to Python code as ``sys.platform``." +"which is also known as SunOS 5.x, the value is ``'sunos5'``. On macOS, it " +"is ``'darwin'``. On Windows, it is ``'win'``. The returned string points " +"into static storage; the caller should not modify its value. The value is " +"available to Python code as ``sys.platform``." msgstr "" +"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:552 msgid "" @@ -770,13 +863,16 @@ msgstr "" #: ../../c-api/init.rst:554 msgid "``'Copyright 1991-1995 Stichting Mathematisch Centrum, Amsterdam'``" -msgstr "" +msgstr "``'Copyright 1991-1995 Stichting Mathematisch Centrum, Amsterdam'``" #: ../../c-api/init.rst:558 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:564 msgid "" @@ -792,6 +888,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:578 msgid "" @@ -811,6 +910,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:605 msgid "" @@ -828,6 +934,9 @@ msgid "" "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:612 msgid "" @@ -835,6 +944,10 @@ 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:621 msgid "" @@ -850,6 +963,9 @@ msgid "" "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:640 msgid "" @@ -857,10 +973,13 @@ msgid "" "``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:647 msgid "The *updatepath* value depends on :option:`-I`." -msgstr "" +msgstr "O valor *updatepath* depende de :option:`-I`." #: ../../c-api/init.rst:652 msgid "" @@ -868,6 +987,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:656 msgid "" @@ -876,6 +998,10 @@ 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:667 msgid "" @@ -886,7 +1012,7 @@ msgstr "" #: ../../c-api/init.rst:681 msgid "Thread State and the Global Interpreter Lock" -msgstr "" +msgstr "Estado de thread e a trava global do interpretador" #: ../../c-api/init.rst:688 msgid "" @@ -909,6 +1035,13 @@ msgid "" "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:709 msgid "" @@ -927,12 +1060,12 @@ 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:726 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:736 msgid "" @@ -940,10 +1073,12 @@ msgid "" "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:740 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:752 msgid "" @@ -968,7 +1103,7 @@ msgstr "" #: ../../c-api/init.rst:772 msgid "Non-Python created threads" -msgstr "" +msgstr "Threads não-Python criadas" #: ../../c-api/init.rst:774 msgid "" @@ -997,14 +1132,17 @@ msgid "" "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:803 msgid "" -"Note that the :c:func:`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 :c:func:" -"`PyGILState_\\*` API is unsupported." +"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." msgstr "" #: ../../c-api/init.rst:813 @@ -1019,6 +1157,12 @@ 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:821 msgid "" @@ -1081,16 +1225,13 @@ msgstr "" #: ../../c-api/init.rst:869 msgid "" "This data structure represents the state of a single thread. The only " -"public data member is :attr:`interp` (:c:type:`PyInterpreterState *`), which " +"public data member is :attr:`interp` (:c:expr:`PyInterpreterState *`), which " "points to this thread's interpreter state." msgstr "" -"Esta estrutura de dados representa o estado de uma tarefa. O único membro de " -"dados público é :attr:`interp` (:c:type:`PyInterpreterState *`), que aponta " -"para o estado do interpretador desta tarefa." #: ../../c-api/init.rst:882 msgid "Deprecated function which does nothing." -msgstr "" +msgstr "Função descontinuada que não faz nada." #: ../../c-api/init.rst:884 msgid "" @@ -1184,6 +1325,15 @@ msgid "" "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:964 msgid "" @@ -1247,6 +1397,10 @@ msgid "" "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:1028 msgid "" @@ -1255,12 +1409,18 @@ msgid "" "`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:1036 msgid "" "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:1042 msgid "" @@ -1268,6 +1428,9 @@ msgid "" "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:1048 msgid "Low-level API" @@ -1294,6 +1457,8 @@ msgid "" "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:1067 msgid "" @@ -1306,6 +1471,8 @@ msgid "" "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:1075 msgid "" @@ -1458,7 +1625,7 @@ msgstr "" #: ../../c-api/init.rst:1223 msgid "" -"The type of the *id* parameter changed from :c:type:`long` to :c:type:" +"The type of the *id* parameter changed from :c:expr:`long` to :c:expr:" "`unsigned long`." msgstr "" @@ -1652,10 +1819,10 @@ msgstr "" #: ../../c-api/init.rst:1411 msgid "" -"Also note that combining this functionality with :c:func:`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-" +"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 " @@ -1664,7 +1831,7 @@ msgstr "" #: ../../c-api/init.rst:1422 msgid "Asynchronous Notifications" -msgstr "" +msgstr "Notificações assíncronas" #: ../../c-api/init.rst:1424 msgid "" @@ -1961,7 +2128,7 @@ msgid "" "(TLS) which wraps the underlying native TLS implementation to support the " "Python-level thread local storage API (:class:`threading.local`). The " "CPython C level APIs are similar to those offered by pthreads and Windows: " -"use a thread key and functions to associate a :c:type:`void*` value per " +"use a thread key and functions to associate a :c:expr:`void*` value per " "thread." msgstr "" @@ -1980,8 +2147,8 @@ msgstr "" #: ../../c-api/init.rst:1669 msgid "" "None of these API functions handle memory management on behalf of the :c:" -"type:`void*` values. You need to allocate and deallocate them yourself. If " -"the :c:type:`void*` values happen to be :c:type:`PyObject*`, these functions " +"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 "" @@ -1993,7 +2160,7 @@ msgstr "" 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:type:`int` to represent thread keys." +"instead of :c:expr:`int` to represent thread keys." msgstr "" #: ../../c-api/init.rst:1685 @@ -2013,6 +2180,8 @@ 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:1701 msgid "" @@ -2022,7 +2191,7 @@ msgstr "" #: ../../c-api/init.rst:1706 msgid "Dynamic Allocation" -msgstr "" +msgstr "Alocação dinâmica" #: ../../c-api/init.rst:1708 msgid "" @@ -2036,17 +2205,19 @@ 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." 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:1722 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`." +"have been unassigned. This is a no-op if the *key* argument is ``NULL``." msgstr "" #: ../../c-api/init.rst:1728 msgid "" -"A freed key becomes a dangling pointer, you should reset the key to `NULL`." +"A freed key becomes a dangling pointer. You should reset the key to `NULL`." msgstr "" #: ../../c-api/init.rst:1733 @@ -2075,6 +2246,11 @@ 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:1758 msgid "" @@ -2087,14 +2263,14 @@ msgstr "" #: ../../c-api/init.rst:1767 msgid "" -"Return a zero value to indicate successfully associating a :c:type:`void*` " +"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:type:`void*` value." +"mapping of the key to a :c:expr:`void*` value." msgstr "" #: ../../c-api/init.rst:1774 msgid "" -"Return the :c:type:`void*` value associated with a TSS key in the current " +"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 "" diff --git a/c-api/init_config.po b/c-api/init_config.po index f6b870cd6..ba28bc3e3 100644 --- a/c-api/init_config.po +++ b/c-api/init_config.po @@ -1,34 +1,32 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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 -# Italo Penaforte , 2021 -# And Past , 2021 -# Hélio Júnior , 2021 +# python-doc bot, 2025 +# Gustavo Reis, 2025 # #, 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 00:49+0000\n" -"Last-Translator: Hélio Júnior , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-11-23 17:17+0000\n" +"PO-Revision-Date: 2025-09-22 15:57+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=2; plural=(n > 1);\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 "" @@ -36,32 +34,45 @@ msgid "" "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`." #: ../../c-api/init_config.rst:15 msgid "There are two kinds of configuration:" -msgstr "" +msgstr "Existem dois tipos de configuração:" #: ../../c-api/init_config.rst:17 msgid "" "The :ref:`Python Configuration ` can be used to build a " "customized Python which behaves as the regular Python. For example, " -"environments variables and command line arguments are used to configure " +"environment variables and command line arguments are used to configure " "Python." msgstr "" +"A :ref:`Python Configuration ` pode ser usada para " +"construir um Python personalizado que se comporta como um Python comum. Por " +"exemplo, variáveis de ambiente e argumento de linha de comando são usados " +"para configurar Python." #: ../../c-api/init_config.rst:22 msgid "" "The :ref:`Isolated Configuration ` can be used to embed " "Python into an application. It isolates Python from the system. For example, " -"environments variables are ignored, the LC_CTYPE locale is left unchanged " -"and no signal handler is registred." +"environment variables are ignored, the LC_CTYPE locale is left unchanged and " +"no signal handler is registered." msgstr "" +"A :ref:`Configuração isolada ` pode ser usada para " +"incorporar Python em uma aplicação. Isso isola Python de um sistema. Por " +"exemplo, variáveis de ambiente são ignoradas, a variável local LC_CTYPE fica " +"inalterada e nenhum manipulador de sinal é registrado." #: ../../c-api/init_config.rst:27 msgid "" "The :c:func:`Py_RunMain` function can be used to write a customized Python " "program." msgstr "" +"A função :c:func:`Py_RunMain` pode ser usada para escrever um programa " +"Python personalizado." #: ../../c-api/init_config.rst:30 msgid "" @@ -80,6 +91,7 @@ msgstr "Exemplo" #: ../../c-api/init_config.rst:39 msgid "Example of customized Python always running in isolated mode::" msgstr "" +"Exemplo de Python personalizado sendo executado sempre em um modo isolado:" #: ../../c-api/init_config.rst:76 msgid "PyWideStringList" @@ -128,11 +140,11 @@ 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:519 msgid "Structure fields:" -msgstr "Campos de estrutura" +msgstr "Campos de estrutura:" #: ../../c-api/init_config.rst:108 msgid "List length." -msgstr "Comprimento da lista. " +msgstr "Comprimento da lista." #: ../../c-api/init_config.rst:112 msgid "List items." @@ -179,7 +191,7 @@ msgstr "Erro de inicialização com uma mensagem." #: ../../c-api/init_config.rst:148 msgid "*err_msg* must not be ``NULL``." -msgstr "" +msgstr "*err_msg* não deve ser ``NULL``." #: ../../c-api/init_config.rst:152 msgid "Memory allocation failure (out of memory)." @@ -237,7 +249,7 @@ msgstr "PyPreConfig" #: ../../c-api/init_config.rst:211 msgid "Structure used to preinitialize Python." -msgstr "" +msgstr "Estrutura usada para pré-inicializar o Python." #: ../../c-api/init_config.rst:213 msgid "Function to initialize a preconfiguration:" @@ -261,47 +273,61 @@ msgstr "" #: ../../c-api/init_config.rst:229 msgid "Name of the Python memory allocators:" -msgstr "" +msgstr "Nome de alocadores de memória em Python:" #: ../../c-api/init_config.rst:231 msgid "" "``PYMEM_ALLOCATOR_NOT_SET`` (``0``): don't change memory allocators (use " "defaults)." msgstr "" +"``PYMEM_ALLOCATOR_NOT_SET`` (``0``): não altera os alocadores de memória " +"(usa o padrão)." #: ../../c-api/init_config.rst:233 msgid "" "``PYMEM_ALLOCATOR_DEFAULT`` (``1``): :ref:`default memory allocators " "`." msgstr "" +"``PYMEM_ALLOCATOR_DEFAULT`` (``1``): :ref:`alocadores de memória padrão " +"`." #: ../../c-api/init_config.rst:235 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 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 msgid "" "``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 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 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 msgid "" @@ -309,6 +335,9 @@ msgid "" "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 msgid "See :ref:`Memory Management `." @@ -316,11 +345,11 @@ msgstr "Veja :ref:`Gerenciamento de memória `." #: ../../c-api/init_config.rst:253 msgid "Default: ``PYMEM_ALLOCATOR_NOT_SET``." -msgstr "" +msgstr "Padrão: ``PYMEM_ALLOCATOR_NOT_SET``." #: ../../c-api/init_config.rst:257 -msgid "Set the LC_CTYPE locale to the user preferred locale?" -msgstr "" +msgid "Set the LC_CTYPE locale to the user preferred locale." +msgstr "Define a localidade LC_CTYPE para a localidade preferida do usuário." #: ../../c-api/init_config.rst:259 msgid "" @@ -330,12 +359,13 @@ msgstr "" #: ../../c-api/init_config.rst:262 ../../c-api/init_config.rst:273 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:627 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 msgid "If equals to 2, coerce the C locale." @@ -349,6 +379,7 @@ msgstr "" #: ../../c-api/init_config.rst:275 ../../c-api/init_config.rst:281 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 msgid "If non-zero, emit a warning if the C locale is coerced." @@ -361,41 +392,43 @@ msgid "" msgstr "" #: ../../c-api/init_config.rst:288 ../../c-api/init_config.rst:633 -#: ../../c-api/init_config.rst:675 ../../c-api/init_config.rst:1094 +#: ../../c-api/init_config.rst:675 ../../c-api/init_config.rst:1093 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 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:798 +#: ../../c-api/init_config.rst:294 ../../c-api/init_config.rst:797 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 msgid "If non-zero:" -msgstr "" +msgstr "Se não zero:" #: ../../c-api/init_config.rst:300 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 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 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 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:811 +#: ../../c-api/init_config.rst:307 ../../c-api/init_config.rst:810 msgid "" "Only available on Windows. ``#ifdef MS_WINDOWS`` macro can be used for " "Windows specific code." @@ -405,14 +438,14 @@ msgstr "" #: ../../c-api/init_config.rst:310 ../../c-api/init_config.rst:588 #: ../../c-api/init_config.rst:595 ../../c-api/init_config.rst:646 -#: ../../c-api/init_config.rst:756 ../../c-api/init_config.rst:770 -#: ../../c-api/init_config.rst:784 ../../c-api/init_config.rst:814 -#: ../../c-api/init_config.rst:828 ../../c-api/init_config.rst:881 -#: ../../c-api/init_config.rst:930 ../../c-api/init_config.rst:990 -#: ../../c-api/init_config.rst:1029 ../../c-api/init_config.rst:1058 -#: ../../c-api/init_config.rst:1129 +#: ../../c-api/init_config.rst:755 ../../c-api/init_config.rst:769 +#: ../../c-api/init_config.rst:783 ../../c-api/init_config.rst:813 +#: ../../c-api/init_config.rst:827 ../../c-api/init_config.rst:880 +#: ../../c-api/init_config.rst:929 ../../c-api/init_config.rst:989 +#: ../../c-api/init_config.rst:1028 ../../c-api/init_config.rst:1057 +#: ../../c-api/init_config.rst:1128 msgid "Default: ``0``." -msgstr "" +msgstr "Padrão: ``0``." #: ../../c-api/init_config.rst:314 msgid "" @@ -423,7 +456,7 @@ msgid "" 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:" +"forma que o Python regular analisa argumentos de linha de comando: veja :ref:" "`Argumentos de linha de comando `." #: ../../c-api/init_config.rst:323 @@ -431,14 +464,17 @@ msgid "" "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:1103 +#: ../../c-api/init_config.rst:326 ../../c-api/init_config.rst:1102 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 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 msgid "" @@ -449,66 +485,78 @@ msgstr "" #: ../../c-api/init_config.rst:335 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:341 msgid "Preinitialize Python with PyPreConfig" -msgstr "" +msgstr "Pré-inicializar Python com PyPreConfig" #: ../../c-api/init_config.rst:343 msgid "The preinitialization of Python:" -msgstr "" +msgstr "A pré-inicialização do Python:" #: ../../c-api/init_config.rst:345 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:346 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:347 msgid "" "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:350 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:353 msgid "Functions to preinitialize Python:" -msgstr "" +msgstr "Funções para pré-inicializar Python:" #: ../../c-api/init_config.rst:357 ../../c-api/init_config.rst:363 #: ../../c-api/init_config.rst:372 msgid "Preinitialize Python from *preconfig* preconfiguration." -msgstr "" +msgstr "Pré-inicializa o Python a partir da pré-configuração *preconfig*." #: ../../c-api/init_config.rst:359 ../../c-api/init_config.rst:368 #: ../../c-api/init_config.rst:377 msgid "*preconfig* must not be ``NULL``." -msgstr "" +msgstr "*preconfig* não pode ser ``NULL``.." #: ../../c-api/init_config.rst:365 msgid "" "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:374 msgid "" "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:379 ../../c-api/init_config.rst:1191 +#: ../../c-api/init_config.rst:379 ../../c-api/init_config.rst:1190 msgid "" "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:382 msgid "" @@ -519,6 +567,12 @@ msgid "" "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:389 msgid "" @@ -527,6 +581,11 @@ msgid "" "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:394 msgid "" @@ -535,12 +594,18 @@ msgid "" "``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:399 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:421 msgid "PyConfig" @@ -548,13 +613,15 @@ msgstr "PyConfig" #: ../../c-api/init_config.rst:425 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:427 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:430 msgid "Structure methods:" @@ -607,13 +674,13 @@ msgstr "" #: ../../c-api/init_config.rst:478 msgid "Read all Python configuration." -msgstr "" +msgstr "Lê toda a configuração do Python." #: ../../c-api/init_config.rst:480 msgid "Fields which are already initialized are left unchanged." -msgstr "" +msgstr "Campos que já estão inicializados permanecem inalterados." -#: ../../c-api/init_config.rst:482 ../../c-api/init_config.rst:910 +#: ../../c-api/init_config.rst:482 ../../c-api/init_config.rst:909 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 " @@ -631,7 +698,7 @@ msgstr "" #: ../../c-api/init_config.rst:498 msgid "Release configuration memory." -msgstr "" +msgstr "Libera memória de configuração." #: ../../c-api/init_config.rst:500 msgid "" @@ -644,19 +711,19 @@ msgstr "" #: ../../c-api/init_config.rst:506 msgid ":c:member:`PyConfig.dev_mode`" -msgstr "" +msgstr ":c:member:`PyConfig.dev_mode`" #: ../../c-api/init_config.rst:507 msgid ":c:member:`PyConfig.isolated`" -msgstr "" +msgstr ":c:member:`PyConfig.isolated`" #: ../../c-api/init_config.rst:508 msgid ":c:member:`PyConfig.parse_argv`" -msgstr "" +msgstr ":c:member:`PyConfig.parse_argv`" #: ../../c-api/init_config.rst:509 msgid ":c:member:`PyConfig.use_environment`" -msgstr "" +msgstr ":c:member:`PyConfig.use_environment`" #: ../../c-api/init_config.rst:511 msgid "" @@ -692,12 +759,12 @@ msgstr "" #: ../../c-api/init_config.rst:533 ../../c-api/init_config.rst:541 #: ../../c-api/init_config.rst:553 ../../c-api/init_config.rst:561 #: ../../c-api/init_config.rst:653 ../../c-api/init_config.rst:662 -#: ../../c-api/init_config.rst:745 ../../c-api/init_config.rst:851 -#: ../../c-api/init_config.rst:949 ../../c-api/init_config.rst:967 -#: ../../c-api/init_config.rst:981 ../../c-api/init_config.rst:998 -#: ../../c-api/init_config.rst:1010 ../../c-api/init_config.rst:1018 +#: ../../c-api/init_config.rst:744 ../../c-api/init_config.rst:850 +#: ../../c-api/init_config.rst:948 ../../c-api/init_config.rst:966 +#: ../../c-api/init_config.rst:980 ../../c-api/init_config.rst:997 +#: ../../c-api/init_config.rst:1009 ../../c-api/init_config.rst:1017 msgid "Default: ``NULL``." -msgstr "" +msgstr "Padrão: ``NULL``." #: ../../c-api/init_config.rst:535 msgid "See also the :c:member:`~PyConfig.orig_argv` member." @@ -705,12 +772,12 @@ msgstr "" #: ../../c-api/init_config.rst:539 msgid ":data:`sys.base_exec_prefix`." -msgstr "" +msgstr ":data:`sys.base_exec_prefix`." #: ../../c-api/init_config.rst:543 ../../c-api/init_config.rst:555 #: ../../c-api/init_config.rst:563 ../../c-api/init_config.rst:655 -#: ../../c-api/init_config.rst:664 ../../c-api/init_config.rst:868 -#: ../../c-api/init_config.rst:951 +#: ../../c-api/init_config.rst:664 ../../c-api/init_config.rst:867 +#: ../../c-api/init_config.rst:950 msgid "Part of the :ref:`Python Path Configuration ` output." msgstr "" @@ -746,10 +813,10 @@ msgstr "" msgid "stdin is always opened in buffered mode." msgstr "" -#: ../../c-api/init_config.rst:575 ../../c-api/init_config.rst:1046 -#: ../../c-api/init_config.rst:1161 +#: ../../c-api/init_config.rst:575 ../../c-api/init_config.rst:1045 +#: ../../c-api/init_config.rst:1160 msgid "Default: ``1``." -msgstr "" +msgstr "Padrão: ``1``." #: ../../c-api/init_config.rst:579 msgid "" @@ -782,7 +849,7 @@ msgstr "" #: ../../c-api/init_config.rst:604 msgid "Valid values:" -msgstr "" +msgstr "Valores válidos:" #: ../../c-api/init_config.rst:606 msgid "" @@ -834,7 +901,7 @@ msgid "If non-zero, enable the :ref:`Python Development Mode `." msgstr "" #: ../../c-api/init_config.rst:637 -msgid "Dump Python refererences?" +msgid "Dump Python references?" msgstr "" #: ../../c-api/init_config.rst:639 @@ -905,237 +972,239 @@ msgstr "" #: ../../c-api/init_config.rst:691 msgid "" "``\"ascii\"`` if Python detects that ``nl_langinfo(CODESET)`` announces the " -"ASCII encoding (or Roman8 encoding on HP-UX), whereas the ``mbstowcs()`` " -"function decodes from a different encoding (usually Latin1)." +"ASCII encoding, whereas the ``mbstowcs()`` function decodes from a different " +"encoding (usually Latin1)." msgstr "" -#: ../../c-api/init_config.rst:695 +#: ../../c-api/init_config.rst:694 msgid "``\"utf-8\"`` if ``nl_langinfo(CODESET)`` returns an empty string." msgstr "" -#: ../../c-api/init_config.rst:696 +#: ../../c-api/init_config.rst:695 msgid "" "Otherwise, use the :term:`locale encoding`: ``nl_langinfo(CODESET)`` result." msgstr "" -#: ../../c-api/init_config.rst:699 +#: ../../c-api/init_config.rst:698 msgid "" -"At Python statup, the encoding name is normalized to the Python codec name. " +"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:702 +#: ../../c-api/init_config.rst:701 msgid "See also the :c:member:`~PyConfig.filesystem_errors` member." msgstr "" -#: ../../c-api/init_config.rst:706 +#: ../../c-api/init_config.rst:705 msgid "" ":term:`Filesystem error handler `: :" "func:`sys.getfilesystemencodeerrors`." msgstr "" -#: ../../c-api/init_config.rst:709 +#: ../../c-api/init_config.rst:708 msgid "" "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:713 +#: ../../c-api/init_config.rst:712 msgid "On other platforms: use ``\"surrogateescape\"`` by default." msgstr "" -#: ../../c-api/init_config.rst:715 +#: ../../c-api/init_config.rst:714 msgid "Supported error handlers:" msgstr "" -#: ../../c-api/init_config.rst:717 +#: ../../c-api/init_config.rst:716 msgid "``\"strict\"``" -msgstr "" +msgstr "``\"strict\"``" -#: ../../c-api/init_config.rst:718 +#: ../../c-api/init_config.rst:717 msgid "``\"surrogateescape\"``" -msgstr "" +msgstr "``\"surrogateescape\"``" -#: ../../c-api/init_config.rst:719 +#: ../../c-api/init_config.rst:718 msgid "``\"surrogatepass\"`` (only supported with the UTF-8 encoding)" msgstr "" -#: ../../c-api/init_config.rst:721 +#: ../../c-api/init_config.rst:720 msgid "See also the :c:member:`~PyConfig.filesystem_encoding` member." msgstr "" -#: ../../c-api/init_config.rst:726 +#: ../../c-api/init_config.rst:725 msgid "Randomized hash function seed." msgstr "" -#: ../../c-api/init_config.rst:728 +#: ../../c-api/init_config.rst:727 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:731 +#: ../../c-api/init_config.rst:730 msgid "Set by the :envvar:`PYTHONHASHSEED` environment variable." msgstr "" -#: ../../c-api/init_config.rst:733 +#: ../../c-api/init_config.rst:732 msgid "" "Default *use_hash_seed* value: ``-1`` in Python mode, ``0`` in isolated mode." msgstr "" -#: ../../c-api/init_config.rst:738 +#: ../../c-api/init_config.rst:737 msgid "Python home directory." msgstr "" -#: ../../c-api/init_config.rst:740 +#: ../../c-api/init_config.rst:739 msgid "" "If :c:func:`Py_SetPythonHome` has been called, use its argument if it is not " "``NULL``." msgstr "" -#: ../../c-api/init_config.rst:743 +#: ../../c-api/init_config.rst:742 msgid "Set by the :envvar:`PYTHONHOME` environment variable." msgstr "" -#: ../../c-api/init_config.rst:747 ../../c-api/init_config.rst:840 -#: ../../c-api/init_config.rst:853 ../../c-api/init_config.rst:942 -#: ../../c-api/init_config.rst:969 +#: ../../c-api/init_config.rst:746 ../../c-api/init_config.rst:839 +#: ../../c-api/init_config.rst:852 ../../c-api/init_config.rst:941 +#: ../../c-api/init_config.rst:968 msgid "Part of the :ref:`Python Path Configuration ` input." msgstr "" -#: ../../c-api/init_config.rst:751 +#: ../../c-api/init_config.rst:750 msgid "If non-zero, profile import time." msgstr "" -#: ../../c-api/init_config.rst:753 +#: ../../c-api/init_config.rst:752 msgid "" "Set the ``1`` by the :option:`-X importtime <-X>` option and the :envvar:" "`PYTHONPROFILEIMPORTTIME` environment variable." msgstr "" -#: ../../c-api/init_config.rst:760 +#: ../../c-api/init_config.rst:759 msgid "Enter interactive mode after executing a script or a command." msgstr "" -#: ../../c-api/init_config.rst:762 +#: ../../c-api/init_config.rst:761 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 the script " "or the command, even when :data:`sys.stdin` does not appear to be a terminal." msgstr "" -#: ../../c-api/init_config.rst:767 +#: ../../c-api/init_config.rst:766 msgid "" "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:774 +#: ../../c-api/init_config.rst:773 msgid "Install Python signal handlers?" msgstr "" -#: ../../c-api/init_config.rst:776 ../../c-api/init_config.rst:916 -#: ../../c-api/init_config.rst:940 ../../c-api/init_config.rst:1113 +#: ../../c-api/init_config.rst:775 ../../c-api/init_config.rst:915 +#: ../../c-api/init_config.rst:939 ../../c-api/init_config.rst:1112 msgid "Default: ``1`` in Python mode, ``0`` in isolated mode." msgstr "" -#: ../../c-api/init_config.rst:780 +#: ../../c-api/init_config.rst:779 msgid "If greater than 0, enable the interactive mode (REPL)." msgstr "" -#: ../../c-api/init_config.rst:782 +#: ../../c-api/init_config.rst:781 msgid "Incremented by the :option:`-i` command line option." msgstr "" -#: ../../c-api/init_config.rst:788 +#: ../../c-api/init_config.rst:787 msgid "If greater than 0, enable isolated mode:" msgstr "" -#: ../../c-api/init_config.rst:790 +#: ../../c-api/init_config.rst:789 msgid "" ":data:`sys.path` contains neither the script's directory (computed from " "``argv[0]`` or the current directory) nor the user's site-packages directory." msgstr "" -#: ../../c-api/init_config.rst:793 +#: ../../c-api/init_config.rst:792 msgid "" "Python REPL doesn't import :mod:`readline` nor enable default readline " "configuration on interactive prompts." msgstr "" -#: ../../c-api/init_config.rst:795 +#: ../../c-api/init_config.rst:794 msgid "" "Set :c:member:`~PyConfig.use_environment` and :c:member:`~PyConfig." "user_site_directory` to 0." msgstr "" -#: ../../c-api/init_config.rst:800 +#: ../../c-api/init_config.rst:799 msgid "See also :c:member:`PyPreConfig.isolated`." -msgstr "" +msgstr "Veja também :c:member:`PyPreConfig.isolated`." -#: ../../c-api/init_config.rst:804 +#: ../../c-api/init_config.rst:803 msgid "" "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:808 +#: ../../c-api/init_config.rst:807 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." -#: ../../c-api/init_config.rst:816 +#: ../../c-api/init_config.rst:815 msgid "See also the :pep:`528` (Change Windows console encoding to UTF-8)." msgstr "" -#: ../../c-api/init_config.rst:820 +#: ../../c-api/init_config.rst:819 msgid "" "If non-zero, dump statistics on :ref:`Python pymalloc memory allocator " "` at exit." msgstr "" -#: ../../c-api/init_config.rst:823 +#: ../../c-api/init_config.rst:822 msgid "Set to ``1`` by the :envvar:`PYTHONMALLOCSTATS` environment variable." msgstr "" -#: ../../c-api/init_config.rst:825 +#: ../../c-api/init_config.rst:824 msgid "" "The option is ignored if Python is :option:`configured using the --without-" "pymalloc option <--without-pymalloc>`." msgstr "" -#: ../../c-api/init_config.rst:832 +#: ../../c-api/init_config.rst:831 msgid "Platform library directory name: :data:`sys.platlibdir`." msgstr "" -#: ../../c-api/init_config.rst:834 +#: ../../c-api/init_config.rst:833 msgid "Set by the :envvar:`PYTHONPLATLIBDIR` environment variable." msgstr "" -#: ../../c-api/init_config.rst:836 +#: ../../c-api/init_config.rst:835 msgid "" "Default: value of the ``PLATLIBDIR`` macro which is set by the :option:" -"`configure --with-platlibdir option <--with-platlibdir>` (default: ``\"lib" -"\"``)." +"`configure --with-platlibdir option <--with-platlibdir>` (default: " +"``\"lib\"``)." msgstr "" -#: ../../c-api/init_config.rst:846 +#: ../../c-api/init_config.rst:845 msgid "" "Module search paths (:data:`sys.path`) as a string separated by ``DELIM`` (:" "data:`os.path.pathsep`)." msgstr "" -#: ../../c-api/init_config.rst:849 +#: ../../c-api/init_config.rst:848 msgid "Set by the :envvar:`PYTHONPATH` environment variable." msgstr "" -#: ../../c-api/init_config.rst:858 +#: ../../c-api/init_config.rst:857 msgid "Module search paths: :data:`sys.path`." msgstr "" -#: ../../c-api/init_config.rst:860 +#: ../../c-api/init_config.rst:859 msgid "" "If :c:member:`~PyConfig.module_search_paths_set` is equal to 0, the function " "calculating the :ref:`Python Path Configuration ` " @@ -1143,41 +1212,41 @@ msgid "" "`~PyConfig.module_search_paths_set` to ``1``." msgstr "" -#: ../../c-api/init_config.rst:865 +#: ../../c-api/init_config.rst:864 msgid "" "Default: empty list (``module_search_paths``) and ``0`` " "(``module_search_paths_set``)." msgstr "" -#: ../../c-api/init_config.rst:872 +#: ../../c-api/init_config.rst:871 msgid "Compilation optimization level:" msgstr "" -#: ../../c-api/init_config.rst:874 +#: ../../c-api/init_config.rst:873 msgid "``0``: Peephole optimizer, set ``__debug__`` to ``True``." msgstr "" -#: ../../c-api/init_config.rst:875 +#: ../../c-api/init_config.rst:874 msgid "``1``: Level 0, remove assertions, set ``__debug__`` to ``False``." msgstr "" -#: ../../c-api/init_config.rst:876 +#: ../../c-api/init_config.rst:875 msgid "``2``: Level 1, strip docstrings." msgstr "" -#: ../../c-api/init_config.rst:878 +#: ../../c-api/init_config.rst:877 msgid "" "Incremented by the :option:`-O` command line option. Set to the :envvar:" "`PYTHONOPTIMIZE` environment variable value." msgstr "" -#: ../../c-api/init_config.rst:885 +#: ../../c-api/init_config.rst:884 msgid "" "The list of the original command line arguments passed to the Python " "executable: :data:`sys.orig_argv`." msgstr "" -#: ../../c-api/init_config.rst:888 +#: ../../c-api/init_config.rst:887 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` " @@ -1186,356 +1255,356 @@ msgid "" "parse_argv` is non-zero)." msgstr "" -#: ../../c-api/init_config.rst:895 +#: ../../c-api/init_config.rst:894 msgid "" "See also the :c:member:`~PyConfig.argv` member and the :c:func:" "`Py_GetArgcArgv` function." msgstr "" -#: ../../c-api/init_config.rst:898 ../../c-api/init_config.rst:1148 -#: ../../c-api/init_config.rst:1167 +#: ../../c-api/init_config.rst:897 ../../c-api/init_config.rst:1147 +#: ../../c-api/init_config.rst:1166 msgid "Default: empty list." -msgstr "" +msgstr "Padrão: lista vazia." -#: ../../c-api/init_config.rst:904 +#: ../../c-api/init_config.rst:903 msgid "Parse command line arguments?" msgstr "" -#: ../../c-api/init_config.rst:906 +#: ../../c-api/init_config.rst:905 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:918 +#: ../../c-api/init_config.rst:917 msgid "" "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:924 +#: ../../c-api/init_config.rst:923 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:927 +#: ../../c-api/init_config.rst:926 msgid "" "Incremented by the :option:`-d` command line option. Set to the :envvar:" "`PYTHONDEBUG` environment variable value." msgstr "" -#: ../../c-api/init_config.rst:934 +#: ../../c-api/init_config.rst:933 msgid "" "On Unix, if non-zero, calculating the :ref:`Python Path Configuration ` can log warnings into ``stderr``. If equals to 0, suppress " "these warnings." msgstr "" -#: ../../c-api/init_config.rst:938 +#: ../../c-api/init_config.rst:937 msgid "It has no effect on Windows." msgstr "" -#: ../../c-api/init_config.rst:946 +#: ../../c-api/init_config.rst:945 msgid "" "The site-specific directory prefix where the platform independent Python " "files are installed: :data:`sys.prefix`." msgstr "" -#: ../../c-api/init_config.rst:955 +#: ../../c-api/init_config.rst:954 msgid "" "Program name used to initialize :c:member:`~PyConfig.executable` and in " "early error messages during Python initialization." msgstr "" -#: ../../c-api/init_config.rst:958 +#: ../../c-api/init_config.rst:957 msgid "If :func:`Py_SetProgramName` has been called, use its argument." msgstr "" -#: ../../c-api/init_config.rst:959 +#: ../../c-api/init_config.rst:958 msgid "On macOS, use :envvar:`PYTHONEXECUTABLE` environment variable if set." msgstr "" -#: ../../c-api/init_config.rst:960 +#: ../../c-api/init_config.rst:959 msgid "" "If the ``WITH_NEXT_FRAMEWORK`` macro is defined, use :envvar:" "`__PYVENV_LAUNCHER__` environment variable if set." msgstr "" -#: ../../c-api/init_config.rst:962 +#: ../../c-api/init_config.rst:961 msgid "" "Use ``argv[0]`` of :c:member:`~PyConfig.argv` if available and non-empty." msgstr "" -#: ../../c-api/init_config.rst:964 +#: ../../c-api/init_config.rst:963 msgid "" "Otherwise, use ``L\"python\"`` on Windows, or ``L\"python3\"`` on other " "platforms." msgstr "" -#: ../../c-api/init_config.rst:973 +#: ../../c-api/init_config.rst:972 msgid "" "Directory where cached ``.pyc`` files are written: :data:`sys." "pycache_prefix`." msgstr "" -#: ../../c-api/init_config.rst:976 +#: ../../c-api/init_config.rst:975 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:979 +#: ../../c-api/init_config.rst:978 msgid "If ``NULL``, :data:`sys.pycache_prefix` is set to ``None``." msgstr "" -#: ../../c-api/init_config.rst:985 +#: ../../c-api/init_config.rst:984 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:988 +#: ../../c-api/init_config.rst:987 msgid "Incremented by the :option:`-q` command line option." msgstr "" -#: ../../c-api/init_config.rst:994 +#: ../../c-api/init_config.rst:993 msgid "Value of the :option:`-c` command line option." msgstr "" -#: ../../c-api/init_config.rst:996 ../../c-api/init_config.rst:1008 -#: ../../c-api/init_config.rst:1016 +#: ../../c-api/init_config.rst:995 ../../c-api/init_config.rst:1007 +#: ../../c-api/init_config.rst:1015 msgid "Used by :c:func:`Py_RunMain`." msgstr "" -#: ../../c-api/init_config.rst:1002 +#: ../../c-api/init_config.rst:1001 msgid "" "Filename passed on the command line: trailing command line argument without :" "option:`-c` or :option:`-m`." msgstr "" -#: ../../c-api/init_config.rst:1005 +#: ../../c-api/init_config.rst:1004 msgid "" "For example, it is set to ``script.py`` by the ``python3 script.py arg`` " "command." msgstr "" -#: ../../c-api/init_config.rst:1014 +#: ../../c-api/init_config.rst:1013 msgid "Value of the :option:`-m` command line option." msgstr "" -#: ../../c-api/init_config.rst:1022 +#: ../../c-api/init_config.rst:1021 msgid "Show total reference count at exit?" msgstr "" -#: ../../c-api/init_config.rst:1024 +#: ../../c-api/init_config.rst:1023 msgid "Set to 1 by :option:`-X showrefcount <-X>` command line option." msgstr "" -#: ../../c-api/init_config.rst:1026 +#: ../../c-api/init_config.rst:1025 msgid "" "Need a :ref:`debug build of Python ` (the ``Py_REF_DEBUG`` " "macro must be defined)." msgstr "" -#: ../../c-api/init_config.rst:1033 +#: ../../c-api/init_config.rst:1032 msgid "Import the :mod:`site` module at startup?" msgstr "" -#: ../../c-api/init_config.rst:1035 +#: ../../c-api/init_config.rst:1034 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:1038 +#: ../../c-api/init_config.rst:1037 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:1041 +#: ../../c-api/init_config.rst:1040 msgid "Set to ``0`` by the :option:`-S` command line option." msgstr "" -#: ../../c-api/init_config.rst:1043 +#: ../../c-api/init_config.rst:1042 msgid "" ":data:`sys.flags.no_site` is set to the inverted value of :c:member:" "`~PyConfig.site_import`." msgstr "" -#: ../../c-api/init_config.rst:1050 +#: ../../c-api/init_config.rst:1049 msgid "" "If non-zero, skip the first line of the :c:member:`PyConfig.run_filename` " "source." msgstr "" -#: ../../c-api/init_config.rst:1053 +#: ../../c-api/init_config.rst:1052 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:1056 +#: ../../c-api/init_config.rst:1055 msgid "Set to ``1`` by the :option:`-x` command line option." msgstr "" -#: ../../c-api/init_config.rst:1063 +#: ../../c-api/init_config.rst:1062 msgid "" "Encoding and encoding errors of :data:`sys.stdin`, :data:`sys.stdout` and :" -"data:`sys.stderr` (but :data:`sys.stderr` always uses ``\"backslashreplace" -"\"`` error handler)." +"data:`sys.stderr` (but :data:`sys.stderr` always uses " +"``\"backslashreplace\"`` error handler)." msgstr "" -#: ../../c-api/init_config.rst:1067 +#: ../../c-api/init_config.rst:1066 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:1070 +#: ../../c-api/init_config.rst:1069 msgid "" "Use the :envvar:`PYTHONIOENCODING` environment variable if it is non-empty." msgstr "" -#: ../../c-api/init_config.rst:1073 +#: ../../c-api/init_config.rst:1072 msgid "Default encoding:" -msgstr "" +msgstr "Codificação padrão:" -#: ../../c-api/init_config.rst:1075 +#: ../../c-api/init_config.rst:1074 msgid "``\"UTF-8\"`` if :c:member:`PyPreConfig.utf8_mode` is non-zero." msgstr "" -#: ../../c-api/init_config.rst:1076 +#: ../../c-api/init_config.rst:1075 msgid "Otherwise, use the :term:`locale encoding`." msgstr "" -#: ../../c-api/init_config.rst:1078 +#: ../../c-api/init_config.rst:1077 msgid "Default error handler:" -msgstr "" +msgstr "Tratador de erros padrão:" -#: ../../c-api/init_config.rst:1080 +#: ../../c-api/init_config.rst:1079 msgid "On Windows: use ``\"surrogateescape\"``." msgstr "" -#: ../../c-api/init_config.rst:1081 +#: ../../c-api/init_config.rst:1080 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:1083 +#: ../../c-api/init_config.rst:1082 msgid "``\"strict\"`` otherwise." msgstr "" -#: ../../c-api/init_config.rst:1087 +#: ../../c-api/init_config.rst:1086 msgid "Enable tracemalloc?" msgstr "" -#: ../../c-api/init_config.rst:1089 +#: ../../c-api/init_config.rst:1088 msgid "If non-zero, call :func:`tracemalloc.start` at startup." msgstr "" -#: ../../c-api/init_config.rst:1091 +#: ../../c-api/init_config.rst:1090 msgid "" "Set by :option:`-X tracemalloc=N <-X>` command line option and by the :" "envvar:`PYTHONTRACEMALLOC` environment variable." msgstr "" -#: ../../c-api/init_config.rst:1098 +#: ../../c-api/init_config.rst:1097 msgid "Use :ref:`environment variables `?" msgstr "" -#: ../../c-api/init_config.rst:1100 +#: ../../c-api/init_config.rst:1099 msgid "" "If equals to zero, ignore the :ref:`environment variables `." msgstr "" -#: ../../c-api/init_config.rst:1107 +#: ../../c-api/init_config.rst:1106 msgid "If non-zero, add the user site directory to :data:`sys.path`." msgstr "" -#: ../../c-api/init_config.rst:1109 +#: ../../c-api/init_config.rst:1108 msgid "Set to ``0`` by the :option:`-s` and :option:`-I` command line options." msgstr "" -#: ../../c-api/init_config.rst:1111 +#: ../../c-api/init_config.rst:1110 msgid "Set to ``0`` by the :envvar:`PYTHONNOUSERSITE` environment variable." msgstr "" -#: ../../c-api/init_config.rst:1117 +#: ../../c-api/init_config.rst:1116 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:1121 +#: ../../c-api/init_config.rst:1120 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:1125 +#: ../../c-api/init_config.rst:1124 msgid "Incremented by the :option:`-v` command line option." msgstr "" -#: ../../c-api/init_config.rst:1127 +#: ../../c-api/init_config.rst:1126 msgid "Set to the :envvar:`PYTHONVERBOSE` environment variable value." msgstr "" -#: ../../c-api/init_config.rst:1133 +#: ../../c-api/init_config.rst:1132 msgid "" "Options of the :mod:`warnings` module to build warnings filters, lowest to " "highest priority: :data:`sys.warnoptions`." msgstr "" -#: ../../c-api/init_config.rst:1136 +#: ../../c-api/init_config.rst:1135 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:1141 +#: ../../c-api/init_config.rst:1140 msgid "" "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:1144 +#: ../../c-api/init_config.rst:1143 msgid "" "The :envvar:`PYTHONWARNINGS` environment variable can also be used to add " "warning options. Multiple options can be specified, separated by commas (``," "``)." msgstr "" -#: ../../c-api/init_config.rst:1152 +#: ../../c-api/init_config.rst:1151 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:1155 +#: ../../c-api/init_config.rst:1154 msgid "" "Set to ``0`` by the :option:`-B` command line option and the :envvar:" "`PYTHONDONTWRITEBYTECODE` environment variable." msgstr "" -#: ../../c-api/init_config.rst:1158 +#: ../../c-api/init_config.rst:1157 msgid "" ":data:`sys.dont_write_bytecode` is initialized to the inverted value of :c:" "member:`~PyConfig.write_bytecode`." msgstr "" -#: ../../c-api/init_config.rst:1165 +#: ../../c-api/init_config.rst:1164 msgid "Values of the :option:`-X` command line options: :data:`sys._xoptions`." msgstr "" -#: ../../c-api/init_config.rst:1169 +#: ../../c-api/init_config.rst:1168 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 " @@ -1543,29 +1612,29 @@ msgid "" "c:member:`~PyConfig.argv`." msgstr "" -#: ../../c-api/init_config.rst:1174 +#: ../../c-api/init_config.rst:1173 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:1179 +#: ../../c-api/init_config.rst:1178 msgid "The ``show_alloc_count`` field has been removed." msgstr "" -#: ../../c-api/init_config.rst:1183 +#: ../../c-api/init_config.rst:1182 msgid "Initialization with PyConfig" msgstr "" -#: ../../c-api/init_config.rst:1185 +#: ../../c-api/init_config.rst:1184 msgid "Function to initialize Python:" msgstr "" -#: ../../c-api/init_config.rst:1189 +#: ../../c-api/init_config.rst:1188 msgid "Initialize Python from *config* configuration." msgstr "" -#: ../../c-api/init_config.rst:1194 +#: ../../c-api/init_config.rst:1193 msgid "" "If :c:func:`PyImport_FrozenModules`, :c:func:`PyImport_AppendInittab` or :c:" "func:`PyImport_ExtendInittab` are used, they must be set or called after " @@ -1574,42 +1643,42 @@ msgid "" "`PyImport_ExtendInittab` must be called before each Python initialization." msgstr "" -#: ../../c-api/init_config.rst:1201 +#: ../../c-api/init_config.rst:1200 msgid "" "The current configuration (``PyConfig`` type) is stored in " "``PyInterpreterState.config``." msgstr "" -#: ../../c-api/init_config.rst:1204 +#: ../../c-api/init_config.rst:1203 msgid "Example setting the program name::" msgstr "" -#: ../../c-api/init_config.rst:1232 +#: ../../c-api/init_config.rst:1231 msgid "" "More complete example modifying the default configuration, read the " "configuration, and then override some parameters::" msgstr "" -#: ../../c-api/init_config.rst:1283 +#: ../../c-api/init_config.rst:1282 msgid "Isolated Configuration" msgstr "" -#: ../../c-api/init_config.rst:1285 +#: ../../c-api/init_config.rst:1284 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." msgstr "" -#: ../../c-api/init_config.rst:1290 +#: ../../c-api/init_config.rst:1289 msgid "" -"This configuration ignores global configuration variables, environments " +"This configuration ignores global configuration variables, environment " "variables, command line arguments (:c:member:`PyConfig.argv` is not parsed) " "and user site directory. The C standard streams (ex: ``stdout``) and the " "LC_CTYPE locale are left unchanged. Signal handlers are not installed." msgstr "" -#: ../../c-api/init_config.rst:1295 +#: ../../c-api/init_config.rst:1294 msgid "" "Configuration files are still used with this configuration. Set the :ref:" "`Python Path Configuration ` (\"output fields\") to ignore " @@ -1617,108 +1686,108 @@ msgid "" "configuration." msgstr "" -#: ../../c-api/init_config.rst:1304 +#: ../../c-api/init_config.rst:1303 msgid "Python Configuration" -msgstr "" +msgstr "Configuração do Python" -#: ../../c-api/init_config.rst:1306 +#: ../../c-api/init_config.rst:1305 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." msgstr "" -#: ../../c-api/init_config.rst:1310 +#: ../../c-api/init_config.rst:1309 msgid "" "Environments variables and command line arguments are used to configure " "Python, whereas global configuration variables are ignored." msgstr "" -#: ../../c-api/init_config.rst:1313 +#: ../../c-api/init_config.rst:1312 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." msgstr "" -#: ../../c-api/init_config.rst:1322 +#: ../../c-api/init_config.rst:1321 msgid "Python Path Configuration" msgstr "" -#: ../../c-api/init_config.rst:1324 +#: ../../c-api/init_config.rst:1323 msgid ":c:type:`PyConfig` contains multiple fields for the path configuration:" msgstr "" -#: ../../c-api/init_config.rst:1326 +#: ../../c-api/init_config.rst:1325 msgid "Path configuration inputs:" msgstr "" -#: ../../c-api/init_config.rst:1328 +#: ../../c-api/init_config.rst:1327 msgid ":c:member:`PyConfig.home`" msgstr ":c:member:`PyConfig.home`" -#: ../../c-api/init_config.rst:1329 +#: ../../c-api/init_config.rst:1328 msgid ":c:member:`PyConfig.platlibdir`" -msgstr "" +msgstr ":c:member:`PyConfig.platlibdir`" -#: ../../c-api/init_config.rst:1330 +#: ../../c-api/init_config.rst:1329 msgid ":c:member:`PyConfig.pathconfig_warnings`" msgstr ":c:member:`PyConfig.pathconfig_warnings`" -#: ../../c-api/init_config.rst:1331 +#: ../../c-api/init_config.rst:1330 msgid ":c:member:`PyConfig.program_name`" msgstr ":c:member:`PyConfig.program_name`" -#: ../../c-api/init_config.rst:1332 +#: ../../c-api/init_config.rst:1331 msgid ":c:member:`PyConfig.pythonpath_env`" msgstr ":c:member:`PyConfig.pythonpath_env`" -#: ../../c-api/init_config.rst:1333 +#: ../../c-api/init_config.rst:1332 msgid "current working directory: to get absolute paths" msgstr "" -#: ../../c-api/init_config.rst:1334 +#: ../../c-api/init_config.rst:1333 msgid "" "``PATH`` environment variable to get the program full path (from :c:member:" "`PyConfig.program_name`)" msgstr "" -#: ../../c-api/init_config.rst:1336 +#: ../../c-api/init_config.rst:1335 msgid "``__PYVENV_LAUNCHER__`` environment variable" msgstr "" -#: ../../c-api/init_config.rst:1337 +#: ../../c-api/init_config.rst:1336 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)." +"(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:1341 +#: ../../c-api/init_config.rst:1340 msgid "Path configuration output fields:" msgstr "" -#: ../../c-api/init_config.rst:1343 +#: ../../c-api/init_config.rst:1342 msgid ":c:member:`PyConfig.base_exec_prefix`" msgstr ":c:member:`PyConfig.base_exec_prefix`" -#: ../../c-api/init_config.rst:1344 +#: ../../c-api/init_config.rst:1343 msgid ":c:member:`PyConfig.base_executable`" msgstr ":c:member:`PyConfig.base_executable`" -#: ../../c-api/init_config.rst:1345 +#: ../../c-api/init_config.rst:1344 msgid ":c:member:`PyConfig.base_prefix`" msgstr ":c:member:`PyConfig.base_prefix`" -#: ../../c-api/init_config.rst:1346 +#: ../../c-api/init_config.rst:1345 msgid ":c:member:`PyConfig.exec_prefix`" msgstr ":c:member:`PyConfig.exec_prefix`" -#: ../../c-api/init_config.rst:1347 +#: ../../c-api/init_config.rst:1346 msgid ":c:member:`PyConfig.executable`" msgstr ":c:member:`PyConfig.executable`" -#: ../../c-api/init_config.rst:1348 +#: ../../c-api/init_config.rst:1347 msgid "" ":c:member:`PyConfig.module_search_paths_set`, :c:member:`PyConfig." "module_search_paths`" @@ -1726,11 +1795,11 @@ msgstr "" ":c:member:`PyConfig.module_search_paths_set`, :c:member:`PyConfig." "module_search_paths`" -#: ../../c-api/init_config.rst:1350 +#: ../../c-api/init_config.rst:1349 msgid ":c:member:`PyConfig.prefix`" msgstr ":c:member:`PyConfig.prefix`" -#: ../../c-api/init_config.rst:1352 +#: ../../c-api/init_config.rst:1351 msgid "" "If at least one \"output field\" is not set, Python calculates the path " "configuration to fill unset fields. If :c:member:`~PyConfig." @@ -1739,7 +1808,7 @@ msgid "" "module_search_paths_set` is set to 1." msgstr "" -#: ../../c-api/init_config.rst:1358 +#: ../../c-api/init_config.rst:1357 msgid "" "It is possible to completely ignore the function calculating the default " "path configuration by setting explicitly all path configuration output " @@ -1749,52 +1818,52 @@ msgid "" "well." msgstr "" -#: ../../c-api/init_config.rst:1365 +#: ../../c-api/init_config.rst:1364 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:1368 +#: ../../c-api/init_config.rst:1367 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." msgstr "" -#: ../../c-api/init_config.rst:1372 +#: ../../c-api/init_config.rst:1371 msgid ":c:func:`Py_RunMain` and :c:func:`Py_Main` modify :data:`sys.path`:" msgstr "" -#: ../../c-api/init_config.rst:1374 +#: ../../c-api/init_config.rst:1373 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`." msgstr "" -#: ../../c-api/init_config.rst:1377 +#: ../../c-api/init_config.rst:1376 msgid "If :c:member:`~PyConfig.isolated` is zero:" msgstr "" -#: ../../c-api/init_config.rst:1379 +#: ../../c-api/init_config.rst:1378 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:1381 +#: ../../c-api/init_config.rst:1380 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:1383 +#: ../../c-api/init_config.rst:1382 msgid "Otherwise, prepend an empty string to :data:`sys.path`." msgstr "" -#: ../../c-api/init_config.rst:1385 +#: ../../c-api/init_config.rst:1384 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." @@ -1803,156 +1872,156 @@ msgid "" "data:`sys.path`." msgstr "" -#: ../../c-api/init_config.rst:1391 +#: ../../c-api/init_config.rst:1390 msgid "The following configuration files are used by the path configuration:" msgstr "" -#: ../../c-api/init_config.rst:1393 +#: ../../c-api/init_config.rst:1392 msgid "``pyvenv.cfg``" msgstr "``pyvenv.cfg``" -#: ../../c-api/init_config.rst:1394 +#: ../../c-api/init_config.rst:1393 msgid "``python._pth`` (Windows only)" msgstr "" -#: ../../c-api/init_config.rst:1395 +#: ../../c-api/init_config.rst:1394 msgid "``pybuilddir.txt`` (Unix only)" msgstr "" -#: ../../c-api/init_config.rst:1397 +#: ../../c-api/init_config.rst:1396 msgid "" "The ``__PYVENV_LAUNCHER__`` environment variable is used to set :c:member:" "`PyConfig.base_executable`" msgstr "" -#: ../../c-api/init_config.rst:1402 +#: ../../c-api/init_config.rst:1401 msgid "Py_RunMain()" -msgstr "" +msgstr "Py_RunMain()" -#: ../../c-api/init_config.rst:1406 +#: ../../c-api/init_config.rst:1405 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." msgstr "" -#: ../../c-api/init_config.rst:1411 +#: ../../c-api/init_config.rst:1410 msgid "By default and when if :option:`-i` option is used, run the REPL." msgstr "" -#: ../../c-api/init_config.rst:1413 +#: ../../c-api/init_config.rst:1412 msgid "" "Finally, finalizes Python and returns an exit status that can be passed to " "the ``exit()`` function." msgstr "" -#: ../../c-api/init_config.rst:1416 +#: ../../c-api/init_config.rst:1415 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:1422 +#: ../../c-api/init_config.rst:1421 msgid "Py_GetArgcArgv()" -msgstr "" +msgstr "Py_GetArgcArgv()" -#: ../../c-api/init_config.rst:1426 +#: ../../c-api/init_config.rst:1425 msgid "Get the original command line arguments, before Python modified them." msgstr "" -#: ../../c-api/init_config.rst:1428 +#: ../../c-api/init_config.rst:1427 msgid "See also :c:member:`PyConfig.orig_argv` member." msgstr "" -#: ../../c-api/init_config.rst:1432 +#: ../../c-api/init_config.rst:1431 msgid "Multi-Phase Initialization Private Provisional API" msgstr "" -#: ../../c-api/init_config.rst:1434 +#: ../../c-api/init_config.rst:1433 msgid "" "This section is a private provisional API introducing multi-phase " -"initialization, the core feature of the :pep:`432`:" +"initialization, the core feature of :pep:`432`:" msgstr "" -#: ../../c-api/init_config.rst:1437 +#: ../../c-api/init_config.rst:1436 msgid "\"Core\" initialization phase, \"bare minimum Python\":" msgstr "" -#: ../../c-api/init_config.rst:1439 +#: ../../c-api/init_config.rst:1438 msgid "Builtin types;" msgstr "" -#: ../../c-api/init_config.rst:1440 +#: ../../c-api/init_config.rst:1439 msgid "Builtin exceptions;" msgstr "" -#: ../../c-api/init_config.rst:1441 +#: ../../c-api/init_config.rst:1440 msgid "Builtin and frozen modules;" msgstr "" -#: ../../c-api/init_config.rst:1442 +#: ../../c-api/init_config.rst:1441 msgid "" "The :mod:`sys` module is only partially initialized (ex: :data:`sys.path` " "doesn't exist yet)." msgstr "" -#: ../../c-api/init_config.rst:1445 +#: ../../c-api/init_config.rst:1444 msgid "\"Main\" initialization phase, Python is fully initialized:" msgstr "" -#: ../../c-api/init_config.rst:1447 +#: ../../c-api/init_config.rst:1446 msgid "Install and configure :mod:`importlib`;" msgstr "" -#: ../../c-api/init_config.rst:1448 +#: ../../c-api/init_config.rst:1447 msgid "Apply the :ref:`Path Configuration `;" msgstr "" -#: ../../c-api/init_config.rst:1449 +#: ../../c-api/init_config.rst:1448 msgid "Install signal handlers;" msgstr "" -#: ../../c-api/init_config.rst:1450 +#: ../../c-api/init_config.rst:1449 msgid "" "Finish :mod:`sys` module initialization (ex: create :data:`sys.stdout` and :" "data:`sys.path`);" msgstr "" -#: ../../c-api/init_config.rst:1452 +#: ../../c-api/init_config.rst:1451 msgid "" "Enable optional features like :mod:`faulthandler` and :mod:`tracemalloc`;" msgstr "" -#: ../../c-api/init_config.rst:1453 +#: ../../c-api/init_config.rst:1452 msgid "Import the :mod:`site` module;" msgstr "" -#: ../../c-api/init_config.rst:1454 +#: ../../c-api/init_config.rst:1453 msgid "etc." msgstr "etc." -#: ../../c-api/init_config.rst:1456 +#: ../../c-api/init_config.rst:1455 msgid "Private provisional API:" msgstr "" -#: ../../c-api/init_config.rst:1458 +#: ../../c-api/init_config.rst:1457 msgid "" ":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:1460 +#: ../../c-api/init_config.rst:1459 msgid "" ":c:member:`PyConfig._isolated_interpreter`: if non-zero, disallow threads, " "subprocesses and fork." msgstr "" -#: ../../c-api/init_config.rst:1465 +#: ../../c-api/init_config.rst:1464 msgid "" "Move to the \"Main\" initialization phase, finish the Python initialization." msgstr "" -#: ../../c-api/init_config.rst:1467 +#: ../../c-api/init_config.rst:1466 msgid "" "No module is imported during the \"Core\" phase and the ``importlib`` module " "is not configured: the :ref:`Path Configuration ` is only " @@ -1961,14 +2030,14 @@ msgid "" "maybe install a custom :data:`sys.meta_path` importer or an import hook, etc." msgstr "" -#: ../../c-api/init_config.rst:1473 +#: ../../c-api/init_config.rst:1472 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:1477 +#: ../../c-api/init_config.rst:1476 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 " @@ -1976,7 +2045,7 @@ msgid "" "until a proper public API is designed." msgstr "" -#: ../../c-api/init_config.rst:1482 +#: ../../c-api/init_config.rst:1481 msgid "" "Example running Python code between \"Core\" and \"Main\" initialization " "phases::" diff --git a/c-api/intro.po b/c-api/intro.po index 9c179ee4f..e0bb8637c 100644 --- a/c-api/intro.po +++ b/c-api/intro.po @@ -1,30 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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 -# Leticia Portella , 2021 -# Italo Penaforte , 2021 -# felipe caridade , 2021 -# Rafael Fontenelle , 2021 +# python-doc bot, 2025 # #, 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 00:49+0000\n" -"Last-Translator: Rafael Fontenelle , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:57+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../c-api/intro.rst:8 msgid "Introduction" @@ -102,7 +99,7 @@ msgstr "" #: ../../c-api/intro.rst:46 msgid "Include Files" -msgstr "Incluir arquivos" +msgstr "Arquivos de inclusão" #: ../../c-api/intro.rst:48 msgid "" @@ -170,21 +167,21 @@ msgstr "" 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 :envvar:`prefix` and :envvar:" -"`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 :envvar:`prefix` is the installation directory " +"`{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/" -"` e :file:`{exec_prefix}/include/pythonversion/`, onde :envvar:`prefix` e :" -"envvar:`exec_prefix` são definidos pelos parâmetros correspondentes ao " -"script :program:`configure` e *version* do Python é ``'%d.%d' % sys." -"version_info[:2]``. No Windows, os cabeçalhos são instalados em :file:" -"`{prefix}/include`, onde :envvar:`prefix` é o diretório de instalação " -"especificado para o instalador." +"` e :file:`{exec_prefix}/include/pythonversion/`, onde :option:`prefix <--" +"prefix>` e :option:`exec_prefix <--exec-prefix>` são definidos pelos " +"parâmetros correspondentes ao script :program:`configure` e *version* do " +"Python é ``'%d.%d' % sys.version_info[:2]``. No Windows, os cabeçalhos são " +"instalados em :file:`{prefix}/include`, onde ``prefix`` é o diretório de " +"instalação especificado para o instalador." #: ../../c-api/intro.rst:88 msgid "" @@ -192,15 +189,16 @@ msgid "" "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 :" -"envvar:`prefix` include the platform specific headers from :envvar:" -"`exec_prefix`." +"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 " -"cabeçalhos independentes da plataforma em :envvar:`prefix` incluem os " -"cabeçalhos específicos da plataforma de :envvar:`exec_prefix`." +"cabeçalhos independentes da plataforma em :option:`prefix <--prefix>` " +"incluem os cabeçalhos específicos da plataforma de :option:`exec_prefix <--" +"exec-prefix>`." #: ../../c-api/intro.rst:95 msgid "" @@ -380,26 +378,26 @@ msgstr "Objetos, tipos e contagens de referências" #: ../../c-api/intro.rst:231 msgid "" "Most Python/C API functions have one or more arguments as well as a return " -"value of type :c:type:`PyObject*`. This type is a pointer to an opaque data " +"value of type :c:expr:`PyObject*`. This type is a pointer to an opaque data " "type representing an arbitrary Python object. Since all Python object types " "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:type:`PyObject*` can " +"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 "" "A maioria das funções da API Python/C tem um ou mais argumentos, bem como um " -"valor de retorno do tipo :c:type:`PyObject*`. Este tipo é um ponteiro para " +"valor de retorno do tipo :c:expr:`PyObject*`. Este tipo é um ponteiro para " "um tipo de dados opaco que representa um objeto Python arbitrário. Como " "todos os tipos de objeto Python são tratados da mesma maneira pela linguagem " "Python na maioria das situações (por exemplo, atribuições, regras de escopo " "e passagem de argumento), é adequado que eles sejam representados por um " "único tipo C. Quase todos os objetos Python vivem na pilha: você nunca " "declara uma variável automática ou estática do tipo :c:type:`PyObject`, " -"variáveis de apenas ponteiro do tipo :c:type:`PyObject*` podem ser " +"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`." @@ -429,132 +427,137 @@ msgstr "Contagens de referências" #: ../../c-api/intro.rst:255 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:270 -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:" +"(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:272 +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 " +"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 " -"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 " -"hold the reference count as there are distinct memory locations in virtual " -"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:284 -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:298 +"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 hold the reference " +"count as there are distinct memory locations in virtual memory (assuming " +"``sizeof(Py_ssize_t) >= sizeof(void*)``). Thus, the reference count " +"increment is a simple operation." +msgstr "" +"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:288 +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:304 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:306 +#: ../../c-api/intro.rst:312 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:316 +#: ../../c-api/intro.rst:323 msgid "Reference Count Details" msgstr "Detalhes da contagem de referências" -#: ../../c-api/intro.rst:318 +#: ../../c-api/intro.rst:325 msgid "" "The reference count behavior of functions in the Python/C API is best " "explained in terms of *ownership of references*. Ownership pertains to " @@ -562,30 +565,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 " +"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 Python/C é " +"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:331 +#: ../../c-api/intro.rst:338 msgid "" "Conversely, when a calling function passes in a reference to an object, " "there are two possibilities: the function *steals* a reference to the " @@ -596,10 +599,10 @@ 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:341 +#: ../../c-api/intro.rst:348 msgid "" "Few functions steal references; the two notable exceptions are :c:func:" "`PyList_SetItem` and :c:func:`PyTuple_SetItem`, which steal a reference to " @@ -619,7 +622,7 @@ msgstr "" "(esquecendo o tratamento de erros por enquanto; uma maneira melhor de " "codificar isso é mostrada abaixo)::" -#: ../../c-api/intro.rst:356 +#: ../../c-api/intro.rst:363 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 " @@ -632,7 +635,7 @@ msgstr "" "func:`Py_INCREF` para obter outra referência antes de chamar a função de " "roubo de referência." -#: ../../c-api/intro.rst:361 +#: ../../c-api/intro.rst:368 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 " @@ -644,7 +647,7 @@ msgstr "" "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:366 +#: ../../c-api/intro.rst:373 msgid "" "Equivalent code for populating a list can be written using :c:func:" "`PyList_New` and :c:func:`PyList_SetItem`." @@ -652,7 +655,7 @@ msgstr "" "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:369 +#: ../../c-api/intro.rst:376 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:" @@ -667,26 +670,25 @@ msgstr "" "código acima podem ser substituídos pelos seguintes (que também cuidam da " "verificação de erros)::" -#: ../../c-api/intro.rst:380 +#: ../../c-api/intro.rst:387 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:410 +#: ../../c-api/intro.rst:417 msgid "" "The situation is slightly different for function return values. While " "passing a reference to most functions does not change your ownership " @@ -708,7 +710,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:419 +#: ../../c-api/intro.rst:426 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 " @@ -726,7 +728,7 @@ msgstr "" "func:`PySequence_GetItem` (que leva exatamente os mesmos argumentos), você " "possui uma referência ao objeto retornado." -#: ../../c-api/intro.rst:431 +#: ../../c-api/intro.rst:438 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`, " @@ -736,33 +738,45 @@ msgstr "" "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:495 +#: ../../c-api/intro.rst:502 msgid "Types" msgstr "Tipos" -#: ../../c-api/intro.rst:497 +#: ../../c-api/intro.rst:504 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:type:`int`, :c:type:`long`, :c:type:" -"`double` and :c:type:`char*`. A few structure types are used to describe " +"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:type:`int`, :c:type:" -"`long`, :c:type:`double` e :c:type:`char*`. Alguns tipos de estrutura são " +"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:509 +#: ../../c-api/intro.rst:514 +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 " +"type). See :pep:`353` for details. ``PY_SSIZE_T_MAX`` is the largest " +"positive value of type :c:type:`Py_ssize_t`." +msgstr "" +"Um tipo integral assinado tal que ``sizeof(Py_ssize_t) == sizeof(size_t)``. " +"C99 não define tal coisa diretamente (size_t é um tipo integral não " +"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:523 msgid "Exceptions" msgstr "Exceções" -#: ../../c-api/intro.rst:511 +#: ../../c-api/intro.rst:525 msgid "" "The Python programmer only needs to deal with exceptions if specific error " "handling is required; unhandled exceptions are automatically propagated to " @@ -776,7 +790,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:519 +#: ../../c-api/intro.rst:533 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 " @@ -803,7 +817,7 @@ msgstr "" "para erros com :c:func:`PyErr_Occurred`. Essas exceções são sempre " "documentadas explicitamente." -#: ../../c-api/intro.rst:534 +#: ../../c-api/intro.rst:548 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 " @@ -825,7 +839,7 @@ msgstr "" "(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:544 +#: ../../c-api/intro.rst:558 msgid "" "The full exception state consists of three objects (all of which can be " "``NULL``): the exception type, the corresponding exception value, and the " @@ -839,15 +853,15 @@ msgid "" 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." +"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:556 +#: ../../c-api/intro.rst:570 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." @@ -872,7 +886,7 @@ msgstr "" "indesejada para objetos que são referenciados pelos quadros de pilha no " "traceback." -#: ../../c-api/intro.rst:567 +#: ../../c-api/intro.rst:581 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 " @@ -890,7 +904,7 @@ msgstr "" "acabou de ser gerada e perderia informações importantes sobre a causa exata " "do erro." -#: ../../c-api/intro.rst:576 +#: ../../c-api/intro.rst:590 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 " @@ -904,11 +918,11 @@ msgstr "" "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:591 +#: ../../c-api/intro.rst:605 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:643 +#: ../../c-api/intro.rst:657 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:" @@ -931,11 +945,11 @@ msgstr "" "``-1`` (falha) e apenas definido para sucesso após a chamada final feita ser " "bem sucedida." -#: ../../c-api/intro.rst:657 +#: ../../c-api/intro.rst:671 msgid "Embedding Python" msgstr "Incorporando Python" -#: ../../c-api/intro.rst:659 +#: ../../c-api/intro.rst:673 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 " @@ -948,7 +962,7 @@ msgstr "" "maior parte da funcionalidade do interpretador só pode ser usada após a " "inicialização do interpretador." -#: ../../c-api/intro.rst:672 +#: ../../c-api/intro.rst:686 msgid "" "The basic initialization function is :c:func:`Py_Initialize`. This " "initializes the table of loaded modules, and creates the fundamental " @@ -960,20 +974,20 @@ msgstr "" "`builtins`, :mod:`__main__` e :mod:`sys`. Ela também inicializa o caminho de " "pesquisa de módulos (``sys.path``)." -#: ../../c-api/intro.rst:679 +#: ../../c-api/intro.rst:693 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, it must be set explicitly with a call to ``PySys_SetArgvEx(argc, " "argv, updatepath)`` after the call to :c:func:`Py_Initialize`." 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, ela deve ser definida explicitamente com uma " -"chamada com ``PySys_SetArgvEx(argc, argv, updatepath)`` após a chamada de :c:" -"func:`Py_Initialize`." +":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, ela deve ser definida " +"explicitamente com uma chamada com ``PySys_SetArgvEx(argc, argv, " +"updatepath)`` após a chamada de :c:func:`Py_Initialize`." -#: ../../c-api/intro.rst:684 +#: ../../c-api/intro.rst:698 msgid "" "On most systems (in particular, on Unix and Windows, although the details " "are slightly different), :c:func:`Py_Initialize` calculates the module " @@ -986,15 +1000,15 @@ 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`)." -#: ../../c-api/intro.rst:693 +#: ../../c-api/intro.rst:707 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/" @@ -1012,7 +1026,7 @@ 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:708 +#: ../../c-api/intro.rst:722 msgid "" "The embedding application can steer the search by calling " "``Py_SetProgramName(file)`` *before* calling :c:func:`Py_Initialize`. Note " @@ -1030,7 +1044,7 @@ msgstr "" "`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:718 +#: ../../c-api/intro.rst:732 msgid "" "Sometimes, it is desirable to \"uninitialize\" Python. For instance, the " "application may want to start over (make another call to :c:func:" @@ -1054,11 +1068,11 @@ msgstr "" "Python, por exemplo, a memória alocada por módulos de extensão atualmente " "não pode ser liberada." -#: ../../c-api/intro.rst:732 +#: ../../c-api/intro.rst:746 msgid "Debugging Builds" msgstr "Compilações de depuração" -#: ../../c-api/intro.rst:734 +#: ../../c-api/intro.rst:748 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 " @@ -1069,24 +1083,24 @@ 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:738 +#: ../../c-api/intro.rst:752 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 " +"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 " "arquivo :file:`Misc/SpecialBuilds.txt` na distribuição do código-fonte do " "Python. Estão disponíveis compilações que oferecem suporte ao rastreamento " "de contagens de referências, depuração do alocador de memória ou criação de " -"perfil de baixo nível do loop do interpretador principal. Apenas as " +"perfil de baixo nível do laço do interpretador principal. Apenas as " "compilações usadas com mais frequência serão descritas no restante desta " "seção." -#: ../../c-api/intro.rst:744 +#: ../../c-api/intro.rst:758 msgid "" "Compiling the interpreter with the :c:macro:`Py_DEBUG` macro defined " "produces what is generally meant by :ref:`a debug build of Python `." @@ -1113,7 +1127,7 @@ msgstr "" "extras são realizadas, consulte :ref:`Compilação de Depuração do Python " "`." -#: ../../c-api/intro.rst:755 +#: ../../c-api/intro.rst:769 msgid "" "Defining :c:macro:`Py_TRACE_REFS` enables reference tracing (see the :option:" "`configure --with-trace-refs option <--with-trace-refs>`). When defined, a " @@ -1130,7 +1144,7 @@ msgstr "" "existentes são impressas. (No modo interativo, isso acontece após cada " "instrução executada pelo interpretador.)" -#: ../../c-api/intro.rst:762 +#: ../../c-api/intro.rst:776 msgid "" "Please refer to :file:`Misc/SpecialBuilds.txt` in the Python source " "distribution for more detailed information." diff --git a/c-api/iter.po b/c-api/iter.po index 722e6ebd7..d81adce37 100644 --- a/c-api/iter.po +++ b/c-api/iter.po @@ -1,28 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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 -# Italo Penaforte , 2021 +# python-doc bot, 2025 # #, 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 00:49+0000\n" -"Last-Translator: Italo Penaforte , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:57+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../c-api/iter.rst:6 msgid "Iterator Protocol" @@ -34,57 +33,71 @@ msgstr "Existem duas funções especificas para trabalhar com iteradores." #: ../../c-api/iter.rst:12 msgid "" -"Return non-zero if the object *o* supports the iterator protocol, 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 " +"sempre é bem-sucedida." #: ../../c-api/iter.rst:17 msgid "" -"Returns non-zero if the object 'obj' provides :class:`AsyncIterator` " -"protocols, and ``0`` otherwise. This function always succeeds." +"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." #: ../../c-api/iter.rst:24 msgid "" -"Return the next value from the iteration *o*. The object must be an " -"iterator (it is up to the caller to check this). If there are no remaining " -"values, returns ``NULL`` with no exception set. If an error occurs while " -"retrieving the item, returns ``NULL`` and passes along the exception." +"Return the next value from the iterator *o*. The object must be an iterator " +"according to :c:func:`PyIter_Check` (it is up to the caller to check this). " +"If there are no remaining values, returns ``NULL`` with no exception set. If " +"an error occurs while retrieving the item, returns ``NULL`` and passes along " +"the exception." msgstr "" -"Retorna o próximo valor da iteração *o*. O objeto deve ser um iterador (cabe " -"ao chamador verificar isso). Se não houver valores restantes, retorna " -"``NULL`` sem nenhuma exceção. Se ocorrer um erro ao recuperar o item, " -"retornará ``NULL`` e passará a exceção." +"Retorna o próximo valor do iterador *o*. O objeto deve ser um iterador de " +"acordo com :c:func:`PyIter_Check` (cabe ao chamador verificar isso). Se não " +"houver valores restantes, retorna ``NULL`` sem nenhuma exceção definida. Se " +"ocorrer um erro ao recuperar o item, retorna ``NULL`` e passa a exceção." -#: ../../c-api/iter.rst:29 +#: ../../c-api/iter.rst:30 msgid "" "To write a loop which iterates over an iterator, the C code should look " "something like this::" msgstr "" -"Para escrever um loop que itere sobre um iterador, o código C deve ser algo " -"como isto ::" +"Para escrever um laço que itere sobre um iterador, o código C deve ser algo " +"como isto::" -#: ../../c-api/iter.rst:58 +#: ../../c-api/iter.rst:59 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`." -#: ../../c-api/iter.rst:65 +#: ../../c-api/iter.rst:66 msgid "Sends the *arg* value into the iterator *iter*. Returns:" -msgstr "" +msgstr "Envia o valor *arg* para o iterador *iter*. Retorna:" -#: ../../c-api/iter.rst:67 +#: ../../c-api/iter.rst:68 msgid "" "``PYGEN_RETURN`` if iterator returns. Return value is returned via *presult*." msgstr "" +"``PYGEN_RETURN`` se o iterador retornar. O valor de retorno é retornado via " +"*presult*." -#: ../../c-api/iter.rst:68 +#: ../../c-api/iter.rst:69 msgid "" "``PYGEN_NEXT`` if iterator yields. Yielded value is returned via *presult*." msgstr "" +"``PYGEN_NEXT`` se o iterador render. O valor produzido é retornado via " +"*presult*." -#: ../../c-api/iter.rst:69 +#: ../../c-api/iter.rst:70 msgid "" "``PYGEN_ERROR`` if iterator has raised and exception. *presult* is set to " "``NULL``." msgstr "" +"``PYGEN_ERROR`` se o iterador tiver levantado uma exceção. *presult* é " +"definido como ``NULL``." diff --git a/c-api/iterator.po b/c-api/iterator.po index 8b1e8006a..c084ea9af 100644 --- a/c-api/iterator.po +++ b/c-api/iterator.po @@ -1,27 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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: -# Felipefpl, 2021 -# Rafael Fontenelle , 2021 +# python-doc bot, 2025 # #, 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 00:49+0000\n" -"Last-Translator: Rafael Fontenelle , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:57+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../c-api/iterator.rst:6 msgid "Iterator Objects" diff --git a/c-api/list.po b/c-api/list.po index 1f29aa96a..f9b3253ac 100644 --- a/c-api/list.po +++ b/c-api/list.po @@ -1,28 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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 -# Livia Cavalcanti , 2021 +# python-doc bot, 2025 # #, 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 00:49+0000\n" -"Last-Translator: Livia Cavalcanti , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:57+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../c-api/list.rst:6 msgid "List Objects" @@ -206,5 +205,5 @@ msgid "" "Return a new tuple object containing the contents of *list*; equivalent to " "``tuple(list)``." msgstr "" -"Retorna um novo objeto tupla contendo os conteúdos de *list*; equivale " -"a``tuple(list)``." +"Retorna um novo objeto tupla contendo os conteúdos de *list*; equivale a " +"``tuple(list)``." diff --git a/c-api/long.po b/c-api/long.po index 8ae958c14..249bf3624 100644 --- a/c-api/long.po +++ b/c-api/long.po @@ -1,27 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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.10\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-06-29 12:56+0000\n" -"PO-Revision-Date: 2021-06-28 00:49+0000\n" -"Last-Translator: Raphael Mendonça, 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:57+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../c-api/long.rst:6 msgid "Integer Objects" @@ -83,19 +83,19 @@ msgstr "" #: ../../c-api/long.rst:43 msgid "" "The current implementation keeps an array of integer objects for all " -"integers between ``-5`` and ``256``, when you create an int in that range " +"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, " +"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:type:`unsigned long`, " +"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:type:`unsigned long` " +"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 @@ -116,18 +116,18 @@ msgstr "" #: ../../c-api/long.rst:68 msgid "" -"Return a new :c:type:`PyLongObject` object from a C :c:type:`long long`, or " +"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:type:`long long` C ou " +"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:type:`unsigned long " +"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:type:`unsigned long " +"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 @@ -160,7 +160,14 @@ msgstr "" "sublinhados simples após um especificador de base e entre dígitos são " "ignorados. Se não houver dígitos, :exc:`ValueError` será levantada." -#: ../../c-api/long.rst:99 +#: ../../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 " +"call those from C using :c:func:`PyObject_CallMethod`." +msgstr "" + +#: ../../c-api/long.rst:103 msgid "" "Convert a sequence of Unicode digits in the string *u* to a Python integer " "value." @@ -168,7 +175,7 @@ msgstr "" "Converte uma sequência de dígitos Unicode na string *u* para um valor " "inteiro Python." -#: ../../c-api/long.rst:107 +#: ../../c-api/long.rst:111 msgid "" "Create a Python integer from the pointer *p*. The pointer value can be " "retrieved from the resulting value using :c:func:`PyLong_AsVoidPtr`." @@ -176,39 +183,37 @@ msgstr "" "Cria um inteiro Python a partir do ponteiro *p*. O valor do ponteiro pode " "ser recuperado do valor resultante usando :c:func:`PyLong_AsVoidPtr`." -#: ../../c-api/long.rst:118 ../../c-api/long.rst:136 +#: ../../c-api/long.rst:122 ../../c-api/long.rst:140 msgid "" -"Return a C :c:type:`long` representation of *obj*. If *obj* is not an " +"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`." msgstr "" -#: ../../c-api/long.rst:122 +#: ../../c-api/long.rst:126 msgid "" "Raise :exc:`OverflowError` if the value of *obj* is out of range for a :c:" -"type:`long`." +"expr:`long`." msgstr "" -"Levanta :exc:`OverflowError` se o valor de *obj* estiver fora do intervalo " -"de um :c:type:`long`." -#: ../../c-api/long.rst:125 ../../c-api/long.rst:145 ../../c-api/long.rst:166 -#: ../../c-api/long.rst:186 ../../c-api/long.rst:209 +#: ../../c-api/long.rst:129 ../../c-api/long.rst:149 ../../c-api/long.rst:170 +#: ../../c-api/long.rst:190 ../../c-api/long.rst:213 msgid "Returns ``-1`` on error. Use :c:func:`PyErr_Occurred` to disambiguate." msgstr "" "Retorna ``-1`` no caso de erro. Use :c:func:`PyErr_Occurred` para " "desambiguar." -#: ../../c-api/long.rst:127 ../../c-api/long.rst:147 ../../c-api/long.rst:168 -#: ../../c-api/long.rst:190 ../../c-api/long.rst:274 ../../c-api/long.rst:294 +#: ../../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." -#: ../../c-api/long.rst:130 ../../c-api/long.rst:150 ../../c-api/long.rst:171 -#: ../../c-api/long.rst:193 ../../c-api/long.rst:277 ../../c-api/long.rst:297 +#: ../../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__`." msgstr "" -#: ../../c-api/long.rst:140 +#: ../../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 " @@ -221,22 +226,20 @@ msgstr "" "outra exceção ocorrer, define *\\*overflow* para ``0`` e retorne ``-1`` como " "de costume." -#: ../../c-api/long.rst:159 ../../c-api/long.rst:177 +#: ../../c-api/long.rst:163 ../../c-api/long.rst:181 msgid "" -"Return a C :c:type:`long long` representation of *obj*. If *obj* is not an " +"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`." msgstr "" -#: ../../c-api/long.rst:163 +#: ../../c-api/long.rst:167 msgid "" "Raise :exc:`OverflowError` if the value of *obj* is out of range for a :c:" -"type:`long long`." +"expr:`long long`." msgstr "" -"Levanta :exc:`OverflowError` se o valor de *obj* estiver fora do intervalo " -"de um :c:type:`long long`." -#: ../../c-api/long.rst:181 +#: ../../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 " @@ -249,7 +252,7 @@ msgstr "" "outra exceção ocorrer, define *\\*overflow* para ``0`` e retorne ``-1`` como " "de costume." -#: ../../c-api/long.rst:203 +#: ../../c-api/long.rst:207 msgid "" "Return a C :c:type:`Py_ssize_t` representation of *pylong*. *pylong* must " "be an instance of :c:type:`PyLongObject`." @@ -257,7 +260,7 @@ msgstr "" "Retorna uma representação de :c:type:`Py_ssize_t` C de *pylong*. *pylong* " "deve ser uma instância de :c:type:`PyLongObject`." -#: ../../c-api/long.rst:206 +#: ../../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`." @@ -265,23 +268,19 @@ msgstr "" "Levanta :exc:`OverflowError` se o valor de *pylong* estiver fora do " "intervalo de um :c:type:`Py_ssize_t`." -#: ../../c-api/long.rst:218 +#: ../../c-api/long.rst:222 msgid "" -"Return a C :c:type:`unsigned long` representation of *pylong*. *pylong* " +"Return a C :c:expr:`unsigned long` representation of *pylong*. *pylong* " "must be an instance of :c:type:`PyLongObject`." msgstr "" -"Retorna uma representação de :c:type:`unsigned long` C de *pylong*. *pylong* " -"deve ser uma instância de :c:type:`PyLongObject`." -#: ../../c-api/long.rst:221 +#: ../../c-api/long.rst:225 msgid "" "Raise :exc:`OverflowError` if the value of *pylong* is out of range for a :c:" -"type:`unsigned long`." +"expr:`unsigned long`." msgstr "" -"Levanta :exc:`OverflowError` se o valor de *pylong* estiver fora do " -"intervalo de um :c:type:`unsigned long`." -#: ../../c-api/long.rst:224 +#: ../../c-api/long.rst:228 msgid "" "Returns ``(unsigned long)-1`` on error. Use :c:func:`PyErr_Occurred` to " "disambiguate." @@ -289,7 +288,7 @@ msgstr "" "Retorna ``(unsigned long)-1`` no caso de erro. Use :c:func:`PyErr_Occurred` " "para desambiguar." -#: ../../c-api/long.rst:234 +#: ../../c-api/long.rst:238 msgid "" "Return a C :c:type:`size_t` representation of *pylong*. *pylong* must be an " "instance of :c:type:`PyLongObject`." @@ -297,7 +296,7 @@ msgstr "" "Retorna uma representação de :c:type:`size_t` C de *pylong*. *pylong* deve " "ser uma instância de :c:type:`PyLongObject`." -#: ../../c-api/long.rst:237 +#: ../../c-api/long.rst:241 msgid "" "Raise :exc:`OverflowError` if the value of *pylong* is out of range for a :c:" "type:`size_t`." @@ -305,7 +304,7 @@ msgstr "" "Levanta :exc:`OverflowError` se o valor de *pylong* estiver fora do " "intervalo de um :c:type:`size_t`." -#: ../../c-api/long.rst:240 +#: ../../c-api/long.rst:244 msgid "" "Returns ``(size_t)-1`` on error. Use :c:func:`PyErr_Occurred` to " "disambiguate." @@ -313,23 +312,19 @@ msgstr "" "Retorna ``(size)-1`` no caso de erro. Use :c:func:`PyErr_Occurred` para " "desambiguar." -#: ../../c-api/long.rst:249 +#: ../../c-api/long.rst:253 msgid "" -"Return a C :c:type:`unsigned long long` representation of *pylong*. " +"Return a C :c:expr:`unsigned long long` representation of *pylong*. " "*pylong* must be an instance of :c:type:`PyLongObject`." msgstr "" -"Retorna uma representação de :c:type:`unsigned long long` C de *pylong*. " -"*pylong* deve ser uma instância de :c:type:`PyLongObject`." -#: ../../c-api/long.rst:252 +#: ../../c-api/long.rst:256 msgid "" "Raise :exc:`OverflowError` if the value of *pylong* is out of range for an :" -"c:type:`unsigned long long`." +"c:expr:`unsigned long long`." msgstr "" -"Levanta :exc:`OverflowError` se o valor de *pylong* estiver fora do " -"intervalo de um :c:type:`unsigned long long`." -#: ../../c-api/long.rst:255 +#: ../../c-api/long.rst:259 msgid "" "Returns ``(unsigned long long)-1`` on error. Use :c:func:`PyErr_Occurred` to " "disambiguate." @@ -337,29 +332,27 @@ msgstr "" "Retorna ``(unsigned long long)-1`` no caso de erro. Use :c:func:" "`PyErr_Occurred` para desambiguar." -#: ../../c-api/long.rst:258 +#: ../../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`." -#: ../../c-api/long.rst:264 +#: ../../c-api/long.rst:268 msgid "" -"Return a C :c:type:`unsigned long` representation of *obj*. If *obj* is not " +"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`." msgstr "" -#: ../../c-api/long.rst:268 +#: ../../c-api/long.rst:272 msgid "" -"If the value of *obj* is out of range for an :c:type:`unsigned long`, return " +"If the value of *obj* is out of range for an :c:expr:`unsigned long`, return " "the reduction of that value modulo ``ULONG_MAX + 1``." msgstr "" -"Se o valor de *obj* estiver fora do intervalo para um :c:type:`unsigned " -"long`, retorna a redução desse módulo de valor ``ULONG_MAX + 1``." -#: ../../c-api/long.rst:271 +#: ../../c-api/long.rst:275 msgid "" "Returns ``(unsigned long)-1`` on error. Use :c:func:`PyErr_Occurred` to " "disambiguate." @@ -367,22 +360,20 @@ msgstr "" "Retorna ``(unsigned long)-1`` no caso de erro. Use :c:func:`PyErr_Occurred` " "para desambiguar." -#: ../../c-api/long.rst:283 +#: ../../c-api/long.rst:287 msgid "" -"Return a C :c:type:`unsigned long long` representation of *obj*. If *obj* " +"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`." msgstr "" -#: ../../c-api/long.rst:288 +#: ../../c-api/long.rst:292 msgid "" -"If the value of *obj* is out of range for an :c:type:`unsigned long long`, " +"If the value of *obj* is out of range for an :c:expr:`unsigned long long`, " "return the reduction of that value modulo ``ULLONG_MAX + 1``." msgstr "" -"Se o valor de *obj* estiver fora do intervalo para um :c:type:`unsigned long " -"long`, retorna a redução desse módulo de valor ``ULLONG_MAX + 1``." -#: ../../c-api/long.rst:291 +#: ../../c-api/long.rst:295 msgid "" "Returns ``(unsigned long long)-1`` on error. Use :c:func:`PyErr_Occurred` " "to disambiguate." @@ -390,42 +381,34 @@ msgstr "" "Retorna ``(unsigned long long)-1`` no caso de erro. Use :c:func:" "`PyErr_Occurred` para desambiguar." -#: ../../c-api/long.rst:303 +#: ../../c-api/long.rst:307 msgid "" -"Return a C :c:type:`double` representation of *pylong*. *pylong* must be an " +"Return a C :c:expr:`double` representation of *pylong*. *pylong* must be an " "instance of :c:type:`PyLongObject`." msgstr "" -"Retorna uma representação de :c:type:`double` C de *pylong*. *pylong* deve " -"ser uma instância de :c:type:`PyLongObject`." -#: ../../c-api/long.rst:306 +#: ../../c-api/long.rst:310 msgid "" "Raise :exc:`OverflowError` if the value of *pylong* is out of range for a :c:" -"type:`double`." +"expr:`double`." msgstr "" -"Levanta :exc:`OverflowError` se o valor de *pylong* estiver fora do " -"intervalo de um :c:type:`double`." -#: ../../c-api/long.rst:309 +#: ../../c-api/long.rst:313 msgid "" "Returns ``-1.0`` on error. Use :c:func:`PyErr_Occurred` to disambiguate." msgstr "" "Retorna ``-1.0`` no caso de erro. Use :c:func:`PyErr_Occurred` para " "desambiguar." -#: ../../c-api/long.rst:314 +#: ../../c-api/long.rst:318 msgid "" -"Convert a Python integer *pylong* to a C :c:type:`void` pointer. If *pylong* " +"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:type:`void` pointer for values created with :" +"assured to produce a usable :c:expr:`void` pointer for values created with :" "c:func:`PyLong_FromVoidPtr`." msgstr "" -"Converte um inteiro Python *pylong* em um ponteiro :c:type:`void` C. Se " -"*pylong* não puder ser convertido, uma :exc:`OverflowError` será levantada. " -"Isso só é garantido para produzir um ponteiro utilizável :c:type:`void` para " -"valores criados com :c:func:`PyLong_FromVoidPtr`." -#: ../../c-api/long.rst:319 +#: ../../c-api/long.rst:323 msgid "" "Returns ``NULL`` on error. Use :c:func:`PyErr_Occurred` to disambiguate." msgstr "" diff --git a/c-api/mapping.po b/c-api/mapping.po index 0a2a3eaf1..098a39e8d 100644 --- a/c-api/mapping.po +++ b/c-api/mapping.po @@ -1,26 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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.10\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-06-29 12:56+0000\n" -"PO-Revision-Date: 2021-06-28 00:49+0000\n" -"Last-Translator: Rafael Fontenelle , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:57+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../c-api/mapping.rst:6 msgid "Mapping Protocol" @@ -36,15 +37,16 @@ msgstr "" #: ../../c-api/mapping.rst:14 msgid "" -"Return ``1`` if the object provides mapping protocol or supports slicing, " -"and ``0`` otherwise. Note that it returns ``1`` for Python classes with a :" -"meth:`__getitem__` method since in general case it is impossible to " -"determine what type of keys it supports. This function always succeeds." +"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 " +"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 no caso geral é " -"impossível determinar que tipo de chaves ele suporta. Esta função sempre tem " +"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." #: ../../c-api/mapping.rst:25 diff --git a/c-api/marshal.po b/c-api/marshal.po index b493a440f..c4a62daf7 100644 --- a/c-api/marshal.po +++ b/c-api/marshal.po @@ -1,26 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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.10\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-06-29 12:56+0000\n" -"PO-Revision-Date: 2021-06-28 00:49+0000\n" -"Last-Translator: Rafael Fontenelle , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:57+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../c-api/marshal.rst:6 msgid "Data marshalling support" @@ -53,23 +54,31 @@ msgid "" "``Py_MARSHAL_VERSION`` indicates the current file format (currently 2)." msgstr "" "O módulo possui suporte a duas versões do formato de dados: a versão 0 é a " -"versão histórica, a versão 1 compartilha sequências de caracteres internas " -"no arquivo e após a desserialização. A versão 2 usa um formato binário para " -"números de ponto flutuante. ``Py_MARSHAL_VERSION`` indica o formato do " -"arquivo atual (atualmente 2)." +"versão histórica, a versão 1 compartilha strings internas no arquivo e após " +"a desserialização. A versão 2 usa um formato binário para números de ponto " +"flutuante. ``Py_MARSHAL_VERSION`` indica o formato do arquivo atual " +"(atualmente 2)." #: ../../c-api/marshal.rst:24 msgid "" -"Marshal a :c:type:`long` integer, *value*, to *file*. This will only write " +"Marshal a :c:expr:`long` integer, *value*, to *file*. This will only write " "the least-significant 32 bits of *value*; regardless of the size of the " -"native :c:type:`long` type. *version* indicates the file format." +"native :c:expr:`long` type. *version* indicates the file format." msgstr "" -"Aplica *marshalling* em um inteiro :c:type:`long`, *value*, para *file*. " +"Aplica *marshalling* em um inteiro :c:expr:`long`, *value*, para *file*. " "Isso escreverá apenas os 32 bits menos significativos de *value*; " -"independentemente do tamanho do tipo nativo :c:type:`long`. *version* indica " +"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." @@ -77,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." @@ -85,23 +94,23 @@ 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:type:`long` from the data stream in a :c:type:`FILE*` opened " +"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, " -"regardless of the native size of :c:type:`long`." +"regardless of the native size of :c:expr:`long`." msgstr "" -"Retorna um :c:type:`long` C do fluxo de dados em um :c:type:`FILE*` aberto " +"Retorna um :c:expr:`long` C do fluxo de dados em um :c:expr:`FILE*` aberto " "para leitura. Somente um valor de 32 bits pode ser lido usando essa função, " -"independentemente do tamanho nativo de :c:type:`long`." +"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``." @@ -109,26 +118,26 @@ 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:type:`short` from the data stream in a :c:type:`FILE*` opened " +"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, " -"regardless of the native size of :c:type:`short`." +"regardless of the native size of :c:expr:`short`." msgstr "" -"Retorna um :c:type:`short` C do fluxo de dados em um :c:type:`FILE*` aberto " +"Retorna um :c:expr:`short` C do fluxo de dados em um :c:expr:`FILE*` aberto " "para leitura. Somente um valor de 16 bits pode ser lido usando essa função, " -"independentemente do tamanho nativo de :c:type:`short`." +"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:type:`FILE*` opened for " +"Return a Python object from the data stream in a :c:expr:`FILE*` opened for " "reading." msgstr "" -"Retorna um objeto Python do fluxo de dados em um :c:type:`FILE*` aberto para " +"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``." @@ -136,9 +145,9 @@ msgstr "" "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:type:`FILE*` opened for " +"Return a Python object from the data stream in a :c:expr:`FILE*` opened for " "reading. Unlike :c:func:`PyMarshal_ReadObjectFromFile`, this function " "assumes that no further objects will be read from the file, allowing it to " "aggressively load file data into memory so that the de-serialization can " @@ -146,15 +155,15 @@ msgid "" "file. Only use these variant if you are certain that you won't be reading " "anything else from the file." msgstr "" -"Retorna um objeto Python do fluxo de dados em um :c:type:`FILE*` aberto para " +"Retorna um objeto Python do fluxo de dados em um :c:expr:`FILE*` aberto para " "leitura. Diferentemente de :c:func:`PyMarshal_ReadObjectFromFile`, essa " "função presume que nenhum objeto adicional será lido do arquivo, permitindo " -"que ele carregue agressivamente os dados do arquivo na memória, para que a " +"que ela carregue agressivamente os dados do arquivo na memória, para que a " "desserialização possa operar a partir de dados na memória em vez de ler um " "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 a28b7cdc1..b173639c0 100644 --- a/c-api/memory.po +++ b/c-api/memory.po @@ -1,31 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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 -# Marco Rougeth , 2021 -# Welington Carlos , 2021 -# Claudio Rogerio Carvalho Filho , 2021 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.10\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-07-04 12:52+0000\n" -"PO-Revision-Date: 2021-06-28 00:49+0000\n" -"Last-Translator: Claudio Rogerio Carvalho Filho , " -"2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:57+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../c-api/memory.rst:8 msgid "Memory Management" @@ -43,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 "" @@ -57,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 "" @@ -95,7 +109,7 @@ msgid "" "extended with new object types written in C. Another reason for using the " "Python heap is the desire to *inform* the Python memory manager about the " "memory needs of the extension module. Even when the requested memory is used " -"exclusively for internal, highly-specific purposes, delegating all memory " +"exclusively for internal, highly specific purposes, delegating all memory " "requests to the Python memory manager causes the interpreter to have a more " "accurate image of its memory footprint as a whole. Consequently, under " "certain circumstances, the Python memory manager may or may not trigger " @@ -122,7 +136,7 @@ msgstr "" msgid "Allocator Domains" msgstr "" -#: ../../c-api/memory.rst:98 +#: ../../c-api/memory.rst:100 msgid "" "All allocating functions belong to one of three different \"domains\" (see " "also :c:type:`PyMemAllocatorDomain`). These domains represent different " @@ -138,11 +152,11 @@ msgid "" "`PyObject_Malloc` for allocating memory for buffers." msgstr "" -#: ../../c-api/memory.rst:110 +#: ../../c-api/memory.rst:112 msgid "The three allocation domains are:" msgstr "" -#: ../../c-api/memory.rst:112 +#: ../../c-api/memory.rst:114 msgid "" "Raw domain: intended for allocating memory for general-purpose memory " "buffers where the allocation *must* go to the system allocator or where the " @@ -150,20 +164,20 @@ msgid "" "directly to the system." msgstr "" -#: ../../c-api/memory.rst:117 +#: ../../c-api/memory.rst:119 msgid "" "\"Mem\" domain: intended for allocating memory for Python buffers and " "general-purpose memory buffers where the allocation must be performed with " "the :term:`GIL` held. The memory is taken from the Python private heap." msgstr "" -#: ../../c-api/memory.rst:121 +#: ../../c-api/memory.rst:123 msgid "" "Object domain: intended for allocating memory belonging to Python objects. " "The memory is taken from the Python private heap." msgstr "" -#: ../../c-api/memory.rst:124 +#: ../../c-api/memory.rst:126 msgid "" "When freeing memory previously allocated by the allocating functions " "belonging to a given domain,the matching specific deallocating functions " @@ -171,18 +185,18 @@ msgid "" "allocated using :c:func:`PyMem_Malloc`." msgstr "" -#: ../../c-api/memory.rst:129 +#: ../../c-api/memory.rst:131 msgid "Raw Memory Interface" msgstr "" -#: ../../c-api/memory.rst:131 +#: ../../c-api/memory.rst:133 msgid "" "The following function sets are wrappers to the system allocator. These " "functions are thread-safe, the :term:`GIL ` does " "not need to be held." msgstr "" -#: ../../c-api/memory.rst:135 +#: ../../c-api/memory.rst:137 msgid "" "The :ref:`default raw memory allocator ` uses the " "following functions: :c:func:`malloc`, :c:func:`calloc`, :c:func:`realloc` " @@ -190,63 +204,63 @@ msgid "" "zero bytes." msgstr "" -#: ../../c-api/memory.rst:144 ../../c-api/memory.rst:215 -#: ../../c-api/memory.rst:323 +#: ../../c-api/memory.rst:146 ../../c-api/memory.rst:217 +#: ../../c-api/memory.rst:325 msgid "" -"Allocates *n* bytes and returns a pointer of type :c:type:`void*` to the " +"Allocates *n* bytes and returns a pointer of type :c:expr:`void*` to the " "allocated memory, or ``NULL`` if the request fails." msgstr "" -#: ../../c-api/memory.rst:147 +#: ../../c-api/memory.rst:149 msgid "" "Requesting zero bytes returns a distinct non-``NULL`` pointer if possible, " "as if ``PyMem_RawMalloc(1)`` had been called instead. The memory will not " "have been initialized in any way." msgstr "" -#: ../../c-api/memory.rst:154 ../../c-api/memory.rst:225 -#: ../../c-api/memory.rst:333 +#: ../../c-api/memory.rst:156 ../../c-api/memory.rst:227 +#: ../../c-api/memory.rst:335 msgid "" "Allocates *nelem* elements each whose size in bytes is *elsize* and returns " -"a pointer of type :c:type:`void*` to the allocated memory, or ``NULL`` if " +"a pointer of type :c:expr:`void*` to the allocated memory, or ``NULL`` if " "the request fails. The memory is initialized to zeros." msgstr "" -#: ../../c-api/memory.rst:158 +#: ../../c-api/memory.rst:160 msgid "" "Requesting zero elements or elements of size zero bytes returns a distinct " "non-``NULL`` pointer if possible, as if ``PyMem_RawCalloc(1, 1)`` had been " "called instead." msgstr "" -#: ../../c-api/memory.rst:167 ../../c-api/memory.rst:238 -#: ../../c-api/memory.rst:346 +#: ../../c-api/memory.rst:169 ../../c-api/memory.rst:240 +#: ../../c-api/memory.rst:348 msgid "" "Resizes the memory block pointed to by *p* to *n* bytes. The contents will " "be unchanged to the minimum of the old and the new sizes." msgstr "" -#: ../../c-api/memory.rst:170 +#: ../../c-api/memory.rst:172 msgid "" "If *p* is ``NULL``, the call is equivalent to ``PyMem_RawMalloc(n)``; else " "if *n* is equal to zero, the memory block is resized but is not freed, and " "the returned pointer is non-``NULL``." msgstr "" -#: ../../c-api/memory.rst:174 +#: ../../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`." msgstr "" -#: ../../c-api/memory.rst:178 +#: ../../c-api/memory.rst:180 msgid "" "If the request fails, :c:func:`PyMem_RawRealloc` returns ``NULL`` and *p* " "remains a valid pointer to the previous memory area." msgstr "" -#: ../../c-api/memory.rst:184 +#: ../../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:" @@ -254,73 +268,73 @@ msgid "" "called before, undefined behavior occurs." msgstr "" -#: ../../c-api/memory.rst:189 ../../c-api/memory.rst:259 -#: ../../c-api/memory.rst:367 +#: ../../c-api/memory.rst:191 ../../c-api/memory.rst:261 +#: ../../c-api/memory.rst:369 msgid "If *p* is ``NULL``, no operation is performed." msgstr "" -#: ../../c-api/memory.rst:195 +#: ../../c-api/memory.rst:197 msgid "Memory Interface" msgstr "Interface da Memória" -#: ../../c-api/memory.rst:197 ../../c-api/memory.rst:303 +#: ../../c-api/memory.rst:199 ../../c-api/memory.rst:305 msgid "" "The following function sets, modeled after the ANSI C standard, but " "specifying behavior when requesting zero bytes, are available for allocating " "and releasing memory from the Python heap." msgstr "" -#: ../../c-api/memory.rst:201 +#: ../../c-api/memory.rst:203 msgid "" "The :ref:`default memory allocator ` uses the :" "ref:`pymalloc memory allocator `." msgstr "" -#: ../../c-api/memory.rst:206 ../../c-api/memory.rst:318 +#: ../../c-api/memory.rst:208 ../../c-api/memory.rst:320 msgid "" "The :term:`GIL ` must be held when using these " "functions." msgstr "" -#: ../../c-api/memory.rst:211 +#: ../../c-api/memory.rst:213 msgid "" "The default allocator is now pymalloc instead of system :c:func:`malloc`." msgstr "" -#: ../../c-api/memory.rst:218 +#: ../../c-api/memory.rst:220 msgid "" "Requesting zero bytes returns a distinct non-``NULL`` pointer if possible, " "as if ``PyMem_Malloc(1)`` had been called instead. The memory will not have " "been initialized in any way." msgstr "" -#: ../../c-api/memory.rst:229 +#: ../../c-api/memory.rst:231 msgid "" "Requesting zero elements or elements of size zero bytes returns a distinct " "non-``NULL`` pointer if possible, as if ``PyMem_Calloc(1, 1)`` had been " "called instead." msgstr "" -#: ../../c-api/memory.rst:241 +#: ../../c-api/memory.rst:243 msgid "" "If *p* is ``NULL``, the call is equivalent to ``PyMem_Malloc(n)``; else if " "*n* is equal to zero, the memory block is resized but is not freed, and the " "returned pointer is non-``NULL``." msgstr "" -#: ../../c-api/memory.rst:245 +#: ../../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`." msgstr "" -#: ../../c-api/memory.rst:248 +#: ../../c-api/memory.rst:250 msgid "" "If the request fails, :c:func:`PyMem_Realloc` returns ``NULL`` and *p* " "remains a valid pointer to the previous memory area." msgstr "" -#: ../../c-api/memory.rst:254 +#: ../../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:" @@ -328,122 +342,127 @@ msgid "" "undefined behavior occurs." msgstr "" -#: ../../c-api/memory.rst:261 +#: ../../c-api/memory.rst:263 msgid "" "The following type-oriented macros are provided for convenience. Note that " "*TYPE* refers to any C type." msgstr "" -#: ../../c-api/memory.rst:267 +#: ../../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:type:`TYPE*`. The memory will not " +"of memory. Returns a pointer cast to :c:expr:`TYPE*`. The memory will not " "have been initialized in any way." msgstr "" -#: ../../c-api/memory.rst:274 +#: ../../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:type:`TYPE*`. On " +"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." msgstr "" -#: ../../c-api/memory.rst:279 +#: ../../c-api/memory.rst:281 msgid "" "This is a C preprocessor macro; *p* is always reassigned. Save the original " "value of *p* to avoid losing memory when handling errors." msgstr "" -#: ../../c-api/memory.rst:285 +#: ../../c-api/memory.rst:287 msgid "Same as :c:func:`PyMem_Free`." msgstr "" -#: ../../c-api/memory.rst:287 +#: ../../c-api/memory.rst:289 msgid "" "In addition, the following macro sets are provided for calling the Python " "memory allocator directly, without involving the C API functions listed " "above. However, note that their use does not preserve binary compatibility " "across Python versions and is therefore deprecated in extension modules." 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:292 +#: ../../c-api/memory.rst:294 msgid "``PyMem_MALLOC(size)``" msgstr "``PyMem_MALLOC(size)``" -#: ../../c-api/memory.rst:293 +#: ../../c-api/memory.rst:295 msgid "``PyMem_NEW(type, size)``" msgstr "``PyMem_NEW(type, size)``" -#: ../../c-api/memory.rst:294 +#: ../../c-api/memory.rst:296 msgid "``PyMem_REALLOC(ptr, size)``" msgstr "``PyMem_REALLOC(ptr, size)``" -#: ../../c-api/memory.rst:295 +#: ../../c-api/memory.rst:297 msgid "``PyMem_RESIZE(ptr, type, size)``" -msgstr "" +msgstr "``PyMem_RESIZE(ptr, type, size)``" -#: ../../c-api/memory.rst:296 +#: ../../c-api/memory.rst:298 msgid "``PyMem_FREE(ptr)``" msgstr "``PyMem_FREE(ptr)``" -#: ../../c-api/memory.rst:297 +#: ../../c-api/memory.rst:299 msgid "``PyMem_DEL(ptr)``" msgstr "``PyMem_DEL(ptr)``" -#: ../../c-api/memory.rst:301 +#: ../../c-api/memory.rst:303 msgid "Object allocators" -msgstr "" +msgstr "Alocadores de objeto" -#: ../../c-api/memory.rst:308 +#: ../../c-api/memory.rst:310 msgid "" "There is no guarantee that the memory returned by these allocators can be " -"successfully casted to a Python object when intercepting the allocating " +"successfully cast to a Python object when intercepting the allocating " "functions in this domain by the methods described in the :ref:`Customize " "Memory Allocators ` section." msgstr "" -#: ../../c-api/memory.rst:313 +#: ../../c-api/memory.rst:315 msgid "" "The :ref:`default object allocator ` uses the :" "ref:`pymalloc memory allocator `." msgstr "" -#: ../../c-api/memory.rst:326 +#: ../../c-api/memory.rst:328 msgid "" "Requesting zero bytes returns a distinct non-``NULL`` pointer if possible, " "as if ``PyObject_Malloc(1)`` had been called instead. The memory will not " "have been initialized in any way." msgstr "" -#: ../../c-api/memory.rst:337 +#: ../../c-api/memory.rst:339 msgid "" "Requesting zero elements or elements of size zero bytes returns a distinct " "non-``NULL`` pointer if possible, as if ``PyObject_Calloc(1, 1)`` had been " "called instead." msgstr "" -#: ../../c-api/memory.rst:349 +#: ../../c-api/memory.rst:351 msgid "" "If *p* is ``NULL``, the call is equivalent to ``PyObject_Malloc(n)``; else " "if *n* is equal to zero, the memory block is resized but is not freed, and " "the returned pointer is non-``NULL``." msgstr "" -#: ../../c-api/memory.rst:353 +#: ../../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`." msgstr "" -#: ../../c-api/memory.rst:356 +#: ../../c-api/memory.rst:358 msgid "" "If the request fails, :c:func:`PyObject_Realloc` returns ``NULL`` and *p* " "remains a valid pointer to the previous memory area." msgstr "" -#: ../../c-api/memory.rst:362 +#: ../../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:" @@ -451,270 +470,294 @@ msgid "" "called before, undefined behavior occurs." msgstr "" -#: ../../c-api/memory.rst:373 +#: ../../c-api/memory.rst:375 msgid "Default Memory Allocators" -msgstr "" +msgstr "Alocadores de memória padrão" -#: ../../c-api/memory.rst:375 +#: ../../c-api/memory.rst:377 msgid "Default memory allocators:" -msgstr "" +msgstr "Alocadores de memória padrão:" -#: ../../c-api/memory.rst:378 +#: ../../c-api/memory.rst:380 msgid "Configuration" msgstr "Configuração" -#: ../../c-api/memory.rst:378 +#: ../../c-api/memory.rst:380 msgid "Name" msgstr "Nome" -#: ../../c-api/memory.rst:378 +#: ../../c-api/memory.rst:380 msgid "PyMem_RawMalloc" -msgstr "" +msgstr "PyMem_RawMalloc" -#: ../../c-api/memory.rst:378 +#: ../../c-api/memory.rst:380 msgid "PyMem_Malloc" -msgstr "" +msgstr "PyMem_Malloc" -#: ../../c-api/memory.rst:378 +#: ../../c-api/memory.rst:380 msgid "PyObject_Malloc" -msgstr "" +msgstr "PyObject_Malloc" -#: ../../c-api/memory.rst:380 +#: ../../c-api/memory.rst:382 msgid "Release build" msgstr "" -#: ../../c-api/memory.rst:380 +#: ../../c-api/memory.rst:382 msgid "``\"pymalloc\"``" msgstr "``\"pymalloc\"``" -#: ../../c-api/memory.rst:380 ../../c-api/memory.rst:382 +#: ../../c-api/memory.rst:382 ../../c-api/memory.rst:384 msgid "``malloc``" msgstr "``malloc``" -#: ../../c-api/memory.rst:380 +#: ../../c-api/memory.rst:382 msgid "``pymalloc``" msgstr "``pymalloc``" -#: ../../c-api/memory.rst:381 +#: ../../c-api/memory.rst:383 msgid "Debug build" msgstr "" -#: ../../c-api/memory.rst:381 +#: ../../c-api/memory.rst:383 msgid "``\"pymalloc_debug\"``" msgstr "``\"pymalloc_debug\"``" -#: ../../c-api/memory.rst:381 ../../c-api/memory.rst:383 +#: ../../c-api/memory.rst:383 ../../c-api/memory.rst:385 msgid "``malloc`` + debug" msgstr "" -#: ../../c-api/memory.rst:381 +#: ../../c-api/memory.rst:383 msgid "``pymalloc`` + debug" msgstr "" -#: ../../c-api/memory.rst:382 +#: ../../c-api/memory.rst:384 msgid "Release build, without pymalloc" msgstr "" -#: ../../c-api/memory.rst:382 +#: ../../c-api/memory.rst:384 msgid "``\"malloc\"``" msgstr "``\"malloc\"``" -#: ../../c-api/memory.rst:383 +#: ../../c-api/memory.rst:385 msgid "Debug build, without pymalloc" msgstr "" -#: ../../c-api/memory.rst:383 +#: ../../c-api/memory.rst:385 msgid "``\"malloc_debug\"``" msgstr "``\"malloc_debug\"``" -#: ../../c-api/memory.rst:386 +#: ../../c-api/memory.rst:388 msgid "Legend:" -msgstr "" +msgstr "Legenda:" -#: ../../c-api/memory.rst:388 +#: ../../c-api/memory.rst:390 msgid "Name: value for :envvar:`PYTHONMALLOC` environment variable." msgstr "" -#: ../../c-api/memory.rst:389 +#: ../../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`." msgstr "" -#: ../../c-api/memory.rst:391 +#: ../../c-api/memory.rst:393 msgid "``pymalloc``: :ref:`pymalloc memory allocator `." msgstr "" -#: ../../c-api/memory.rst:392 +#: ../../c-api/memory.rst:394 msgid "" "\"+ debug\": with :ref:`debug hooks on the Python memory allocators `." msgstr "" -#: ../../c-api/memory.rst:394 +#: ../../c-api/memory.rst:396 msgid "\"Debug build\": :ref:`Python build in debug mode `." msgstr "" -#: ../../c-api/memory.rst:399 +#: ../../c-api/memory.rst:401 msgid "Customize Memory Allocators" -msgstr "" +msgstr "Alocadores de memória" -#: ../../c-api/memory.rst:405 +#: ../../c-api/memory.rst:407 msgid "" -"Structure used to describe a memory block allocator. The structure has four " -"fields:" +"Structure used to describe a memory block allocator. The structure has the " +"following fields:" msgstr "" -#: ../../c-api/memory.rst:409 ../../c-api/memory.rst:626 +#: ../../c-api/memory.rst:411 ../../c-api/memory.rst:647 msgid "Field" msgstr "Campo" -#: ../../c-api/memory.rst:409 ../../c-api/memory.rst:626 +#: ../../c-api/memory.rst:411 ../../c-api/memory.rst:647 msgid "Meaning" msgstr "Significado" -#: ../../c-api/memory.rst:411 ../../c-api/memory.rst:628 +#: ../../c-api/memory.rst:413 ../../c-api/memory.rst:649 msgid "``void *ctx``" msgstr "``void *ctx``" -#: ../../c-api/memory.rst:411 ../../c-api/memory.rst:628 +#: ../../c-api/memory.rst:413 ../../c-api/memory.rst:649 msgid "user context passed as first argument" msgstr "" -#: ../../c-api/memory.rst:413 +#: ../../c-api/memory.rst:415 msgid "``void* malloc(void *ctx, size_t size)``" msgstr "``void* malloc(void *ctx, size_t size)``" -#: ../../c-api/memory.rst:413 +#: ../../c-api/memory.rst:415 msgid "allocate a memory block" msgstr "" -#: ../../c-api/memory.rst:415 +#: ../../c-api/memory.rst:417 msgid "``void* calloc(void *ctx, size_t nelem, size_t elsize)``" msgstr "``void* calloc(void *ctx, size_t nelem, size_t elsize)``" -#: ../../c-api/memory.rst:415 +#: ../../c-api/memory.rst:417 msgid "allocate a memory block initialized with zeros" msgstr "" -#: ../../c-api/memory.rst:418 +#: ../../c-api/memory.rst:420 msgid "``void* realloc(void *ctx, void *ptr, size_t new_size)``" msgstr "``void* realloc(void *ctx, void *ptr, size_t new_size)``" -#: ../../c-api/memory.rst:418 +#: ../../c-api/memory.rst:420 msgid "allocate or resize a memory block" msgstr "" -#: ../../c-api/memory.rst:420 +#: ../../c-api/memory.rst:422 msgid "``void free(void *ctx, void *ptr)``" msgstr "``void free(void *ctx, void *ptr)``" -#: ../../c-api/memory.rst:420 +#: ../../c-api/memory.rst:422 msgid "free a memory block" msgstr "" -#: ../../c-api/memory.rst:423 +#: ../../c-api/memory.rst:425 msgid "" "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." -#: ../../c-api/memory.rst:430 +#: ../../c-api/memory.rst:432 msgid "Enum used to identify an allocator domain. Domains:" msgstr "" -#: ../../c-api/memory.rst:434 ../../c-api/memory.rst:443 -#: ../../c-api/memory.rst:452 +#: ../../c-api/memory.rst:436 ../../c-api/memory.rst:445 +#: ../../c-api/memory.rst:454 msgid "Functions:" msgstr "Funções:" -#: ../../c-api/memory.rst:436 +#: ../../c-api/memory.rst:438 msgid ":c:func:`PyMem_RawMalloc`" msgstr ":c:func:`PyMem_RawMalloc`" -#: ../../c-api/memory.rst:437 +#: ../../c-api/memory.rst:439 msgid ":c:func:`PyMem_RawRealloc`" msgstr ":c:func:`PyMem_RawRealloc`" -#: ../../c-api/memory.rst:438 +#: ../../c-api/memory.rst:440 msgid ":c:func:`PyMem_RawCalloc`" msgstr ":c:func:`PyMem_RawCalloc`" -#: ../../c-api/memory.rst:439 +#: ../../c-api/memory.rst:441 msgid ":c:func:`PyMem_RawFree`" msgstr ":c:func:`PyMem_RawFree`" -#: ../../c-api/memory.rst:445 +#: ../../c-api/memory.rst:447 msgid ":c:func:`PyMem_Malloc`," msgstr ":c:func:`PyMem_Malloc`," -#: ../../c-api/memory.rst:446 +#: ../../c-api/memory.rst:448 msgid ":c:func:`PyMem_Realloc`" msgstr ":c:func:`PyMem_Realloc`" -#: ../../c-api/memory.rst:447 +#: ../../c-api/memory.rst:449 msgid ":c:func:`PyMem_Calloc`" msgstr ":c:func:`PyMem_Calloc`" -#: ../../c-api/memory.rst:448 +#: ../../c-api/memory.rst:450 msgid ":c:func:`PyMem_Free`" msgstr ":c:func:`PyMem_Free`" -#: ../../c-api/memory.rst:454 +#: ../../c-api/memory.rst:456 msgid ":c:func:`PyObject_Malloc`" msgstr ":c:func:`PyObject_Malloc`" -#: ../../c-api/memory.rst:455 +#: ../../c-api/memory.rst:457 msgid ":c:func:`PyObject_Realloc`" msgstr ":c:func:`PyObject_Realloc`" -#: ../../c-api/memory.rst:456 +#: ../../c-api/memory.rst:458 msgid ":c:func:`PyObject_Calloc`" msgstr ":c:func:`PyObject_Calloc`" -#: ../../c-api/memory.rst:457 +#: ../../c-api/memory.rst:459 msgid ":c:func:`PyObject_Free`" msgstr ":c:func:`PyObject_Free`" -#: ../../c-api/memory.rst:461 +#: ../../c-api/memory.rst:463 msgid "Get the memory block allocator of the specified domain." msgstr "" -#: ../../c-api/memory.rst:466 +#: ../../c-api/memory.rst:468 msgid "Set the memory block allocator of the specified domain." msgstr "" -#: ../../c-api/memory.rst:468 +#: ../../c-api/memory.rst:470 msgid "" "The new allocator must return a distinct non-``NULL`` pointer when " "requesting zero bytes." msgstr "" -#: ../../c-api/memory.rst:471 +#: ../../c-api/memory.rst:473 msgid "" "For the :c:data:`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:475 +#: ../../c-api/memory.rst:477 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:482 +#: ../../c-api/memory.rst:484 +msgid ":c:func:`PyMem_SetAllocator` does have the following contract:" +msgstr "" + +#: ../../c-api/memory.rst:486 +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." +msgstr "" + +#: ../../c-api/memory.rst:494 +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**." +msgstr "" + +#: ../../c-api/memory.rst:503 msgid "" "Setup :ref:`debug hooks in the Python memory allocators ` " "to detect memory errors." msgstr "" -#: ../../c-api/memory.rst:489 +#: ../../c-api/memory.rst:510 msgid "Debug hooks on the Python memory allocators" msgstr "" -#: ../../c-api/memory.rst:491 +#: ../../c-api/memory.rst:512 msgid "" "When :ref:`Python is built in debug mode `, the :c:func:" "`PyMem_SetupDebugHooks` function is called at the :ref:`Python " @@ -722,19 +765,19 @@ msgid "" "allocators to detect memory errors." msgstr "" -#: ../../c-api/memory.rst:496 +#: ../../c-api/memory.rst:517 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:499 +#: ../../c-api/memory.rst:520 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:502 +#: ../../c-api/memory.rst:523 msgid "" "These debug hooks fill dynamically allocated memory blocks with special, " "recognizable bit patterns. Newly allocated memory is filled with the byte " @@ -744,25 +787,25 @@ msgid "" "these bytes are unlikely to be valid addresses, floats, or ASCII strings." msgstr "" -#: ../../c-api/memory.rst:509 +#: ../../c-api/memory.rst:530 msgid "Runtime checks:" msgstr "Checagens em Tempo de Execução:" -#: ../../c-api/memory.rst:511 +#: ../../c-api/memory.rst:532 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:513 +#: ../../c-api/memory.rst:534 msgid "Detect write before the start of the buffer (buffer underflow)." msgstr "" -#: ../../c-api/memory.rst:514 +#: ../../c-api/memory.rst:535 msgid "Detect write after the end of the buffer (buffer overflow)." msgstr "" -#: ../../c-api/memory.rst:515 +#: ../../c-api/memory.rst:536 msgid "" "Check that the :term:`GIL ` is held when allocator " "functions of :c:data:`PYMEM_DOMAIN_OBJ` (ex: :c:func:`PyObject_Malloc`) and :" @@ -772,7 +815,7 @@ msgstr "" "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:520 +#: ../../c-api/memory.rst:541 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 " @@ -780,59 +823,59 @@ msgid "" "memory block was traced." msgstr "" -#: ../../c-api/memory.rst:525 +#: ../../c-api/memory.rst:546 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 " "represents the address returned by a malloc-like or realloc-like function " -"(``p[i:j]`` means the slice of bytes from ``*(p+i)`` inclusive up to ``*(p" -"+j)`` exclusive; note that the treatment of negative indices differs from a " -"Python slice):" +"(``p[i:j]`` means the slice of bytes from ``*(p+i)`` inclusive up to " +"``*(p+j)`` exclusive; note that the treatment of negative indices differs " +"from a Python slice):" msgstr "" -#: ../../c-api/memory.rst:532 +#: ../../c-api/memory.rst:553 msgid "``p[-2*S:-S]``" -msgstr "" +msgstr "``p[-2*S:-S]``" -#: ../../c-api/memory.rst:532 +#: ../../c-api/memory.rst:553 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:539 +#: ../../c-api/memory.rst:560 msgid "``p[-S]``" -msgstr "" +msgstr "``p[-S]``" -#: ../../c-api/memory.rst:535 +#: ../../c-api/memory.rst:556 msgid "API identifier (ASCII character):" msgstr "" -#: ../../c-api/memory.rst:537 +#: ../../c-api/memory.rst:558 msgid "``'r'`` for :c:data:`PYMEM_DOMAIN_RAW`." msgstr "" -#: ../../c-api/memory.rst:538 +#: ../../c-api/memory.rst:559 msgid "``'m'`` for :c:data:`PYMEM_DOMAIN_MEM`." msgstr "" -#: ../../c-api/memory.rst:539 +#: ../../c-api/memory.rst:560 msgid "``'o'`` for :c:data:`PYMEM_DOMAIN_OBJ`." msgstr "" -#: ../../c-api/memory.rst:542 +#: ../../c-api/memory.rst:563 msgid "``p[-S+1:0]``" -msgstr "" +msgstr "``p[-S+1:0]``" -#: ../../c-api/memory.rst:542 +#: ../../c-api/memory.rst:563 msgid "Copies of PYMEM_FORBIDDENBYTE. Used to catch under- writes and reads." msgstr "" -#: ../../c-api/memory.rst:551 +#: ../../c-api/memory.rst:572 msgid "``p[0:N]``" -msgstr "" +msgstr "``p[0:N]``" -#: ../../c-api/memory.rst:545 +#: ../../c-api/memory.rst:566 msgid "" "The requested memory, filled with copies of PYMEM_CLEANBYTE, used to catch " "reference to uninitialized memory. When a realloc-like function is called " @@ -843,25 +886,25 @@ msgid "" "bytes are also filled with PYMEM_DEADBYTE." msgstr "" -#: ../../c-api/memory.rst:554 +#: ../../c-api/memory.rst:575 msgid "``p[N:N+S]``" -msgstr "" +msgstr "``p[N:N+S]``" -#: ../../c-api/memory.rst:554 +#: ../../c-api/memory.rst:575 msgid "Copies of PYMEM_FORBIDDENBYTE. Used to catch over- writes and reads." msgstr "" -#: ../../c-api/memory.rst:565 +#: ../../c-api/memory.rst:586 msgid "``p[N+S:N+2*S]``" -msgstr "" +msgstr "``p[N+S:N+2*S]``" -#: ../../c-api/memory.rst:557 +#: ../../c-api/memory.rst:578 msgid "" "Only used if the ``PYMEM_DEBUG_SERIALNO`` macro is defined (not defined by " "default)." msgstr "" -#: ../../c-api/memory.rst:560 +#: ../../c-api/memory.rst:581 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, " @@ -871,7 +914,7 @@ msgid "" "incremented, and exists so you can set such a breakpoint easily." msgstr "" -#: ../../c-api/memory.rst:567 +#: ../../c-api/memory.rst:588 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, " @@ -884,7 +927,7 @@ msgid "" "getting used)." msgstr "" -#: ../../c-api/memory.rst:576 +#: ../../c-api/memory.rst:597 msgid "" "The :c:func:`PyMem_SetupDebugHooks` function now also works on Python " "compiled in release mode. On error, the debug hooks now use :mod:" @@ -893,7 +936,7 @@ msgid "" "`PYMEM_DOMAIN_OBJ` and :c:data:`PYMEM_DOMAIN_MEM` domains are called." msgstr "" -#: ../../c-api/memory.rst:584 +#: ../../c-api/memory.rst:605 msgid "" "Byte patterns ``0xCB`` (``PYMEM_CLEANBYTE``), ``0xDB`` (``PYMEM_DEADBYTE``) " "and ``0xFB`` (``PYMEM_FORBIDDENBYTE``) have been replaced with ``0xCD``, " @@ -901,11 +944,11 @@ msgid "" "``malloc()`` and ``free()``." msgstr "" -#: ../../c-api/memory.rst:594 +#: ../../c-api/memory.rst:615 msgid "The pymalloc allocator" msgstr "" -#: ../../c-api/memory.rst:596 +#: ../../c-api/memory.rst:617 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 " @@ -914,114 +957,114 @@ msgid "" "512 bytes." msgstr "" -#: ../../c-api/memory.rst:601 +#: ../../c-api/memory.rst:622 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." msgstr "" -#: ../../c-api/memory.rst:605 +#: ../../c-api/memory.rst:626 msgid "The arena allocator uses the following functions:" msgstr "" -#: ../../c-api/memory.rst:607 +#: ../../c-api/memory.rst:628 msgid ":c:func:`VirtualAlloc` and :c:func:`VirtualFree` on Windows," msgstr ":c:func:`VirtualAlloc` e :c:func:`VirtualFree` no Windows," -#: ../../c-api/memory.rst:608 +#: ../../c-api/memory.rst:629 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:609 +#: ../../c-api/memory.rst:630 msgid ":c:func:`malloc` and :c:func:`free` otherwise." msgstr ":c:func:`malloc` e :c:func:`free` do contrário." -#: ../../c-api/memory.rst:611 +#: ../../c-api/memory.rst:632 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``)." msgstr "" -#: ../../c-api/memory.rst:616 +#: ../../c-api/memory.rst:637 msgid "Customize pymalloc Arena Allocator" msgstr "" -#: ../../c-api/memory.rst:622 +#: ../../c-api/memory.rst:643 msgid "" "Structure used to describe an arena allocator. The structure has three " "fields:" msgstr "" -#: ../../c-api/memory.rst:630 +#: ../../c-api/memory.rst:651 msgid "``void* alloc(void *ctx, size_t size)``" msgstr "``void* alloc(void *ctx, size_t size)``" -#: ../../c-api/memory.rst:630 +#: ../../c-api/memory.rst:651 msgid "allocate an arena of size bytes" msgstr "" -#: ../../c-api/memory.rst:632 +#: ../../c-api/memory.rst:653 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:632 +#: ../../c-api/memory.rst:653 msgid "free an arena" msgstr "" -#: ../../c-api/memory.rst:637 +#: ../../c-api/memory.rst:658 msgid "Get the arena allocator." msgstr "" -#: ../../c-api/memory.rst:641 +#: ../../c-api/memory.rst:662 msgid "Set the arena allocator." msgstr "" -#: ../../c-api/memory.rst:645 +#: ../../c-api/memory.rst:666 msgid "tracemalloc C API" msgstr "" -#: ../../c-api/memory.rst:651 +#: ../../c-api/memory.rst:672 msgid "Track an allocated memory block in the :mod:`tracemalloc` module." msgstr "" -#: ../../c-api/memory.rst:653 +#: ../../c-api/memory.rst:674 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:656 +#: ../../c-api/memory.rst:677 msgid "If memory block is already tracked, update the existing trace." msgstr "" -#: ../../c-api/memory.rst:660 +#: ../../c-api/memory.rst:681 msgid "" "Untrack an allocated memory block in the :mod:`tracemalloc` module. Do " "nothing if the block was not tracked." msgstr "" -#: ../../c-api/memory.rst:663 +#: ../../c-api/memory.rst:684 msgid "Return ``-2`` if tracemalloc is disabled, otherwise return ``0``." msgstr "" -#: ../../c-api/memory.rst:669 +#: ../../c-api/memory.rst:690 msgid "Examples" msgstr "Exemplos" -#: ../../c-api/memory.rst:671 +#: ../../c-api/memory.rst:692 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:684 +#: ../../c-api/memory.rst:705 msgid "The same code using the type-oriented function set::" msgstr "" -#: ../../c-api/memory.rst:696 +#: ../../c-api/memory.rst:717 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 " @@ -1031,14 +1074,14 @@ msgid "" "different allocators operating on different heaps. ::" msgstr "" -#: ../../c-api/memory.rst:711 +#: ../../c-api/memory.rst:732 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`." msgstr "" -#: ../../c-api/memory.rst:715 +#: ../../c-api/memory.rst:736 msgid "" "These will be explained in the next chapter on defining and implementing new " "object types in C." diff --git a/c-api/memoryview.po b/c-api/memoryview.po index 53b752ffb..40007c23b 100644 --- a/c-api/memoryview.po +++ b/c-api/memoryview.po @@ -1,28 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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.10\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-06-29 12:56+0000\n" -"PO-Revision-Date: 2021-06-28 00:49+0000\n" -"Last-Translator: Claudio Rogerio Carvalho Filho , " -"2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:57+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../c-api/memoryview.rst:9 msgid "MemoryView objects" diff --git a/c-api/method.po b/c-api/method.po index 5397e1eca..c91b86b28 100644 --- a/c-api/method.po +++ b/c-api/method.po @@ -1,29 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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 -# Adorilson Bezerra , 2021 -# Cássio Nomura , 2021 +# python-doc bot, 2025 # #, 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 00:49+0000\n" -"Last-Translator: Cássio Nomura , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:57+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../c-api/method.rst:6 msgid "Instance Method Objects" @@ -59,12 +57,12 @@ msgstr "" #: ../../c-api/method.rst:30 msgid "" -"Return a new instance method object, with *func* being any callable object " +"Return a new instance method object, with *func* being any callable object. " "*func* is the function that will be called when the instance method is " "called." msgstr "" "Retorna um novo objeto de método de instância, com *func* sendo qualquer " -"objeto chamável *func* é a função que será chamada quando o método de " +"objeto chamável. *func* é a função que será chamada quando o método de " "instância for chamado." #: ../../c-api/method.rst:37 diff --git a/c-api/module.po b/c-api/module.po index e1e048c75..40843e300 100644 --- a/c-api/module.po +++ b/c-api/module.po @@ -1,50 +1,55 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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 -# i17obot , 2021 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.10\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-08-05 13:13+0000\n" -"PO-Revision-Date: 2021-06-28 00:49+0000\n" -"Last-Translator: i17obot , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-23 17:01+0000\n" +"PO-Revision-Date: 2025-09-22 15:57+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../c-api/module.rst:6 msgid "Module Objects" -msgstr "Objeto Module" +msgstr "Objetos do Módulo" #: ../../c-api/module.rst:15 msgid "" "This instance of :c:type:`PyTypeObject` represents the Python module type. " "This is exposed to Python programs as ``types.ModuleType``." msgstr "" +"Esta instância de :c:type:`PyTypeObject` representa o tipo de módulo Python. " +"Isso é exposto a programas Python como ``types.ModuleType``." #: ../../c-api/module.rst:21 msgid "" "Return true if *p* is a module object, or a subtype of a module object. This " "function always succeeds." msgstr "" +"Retorna true se *p* for um objeto de módulo ou um subtipo de um objeto de " +"módulo. Esta função sempre é bem-sucedida." #: ../../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." 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." #: ../../c-api/module.rst:40 msgid "" @@ -54,16 +59,23 @@ msgid "" "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__`." #: ../../c-api/module.rst:48 msgid ":attr:`__package__` and :attr:`__loader__` are set to ``None``." -msgstr "" +msgstr ":attr:`__package__` e :attr:`__loader__` são definidos como ``None``." #: ../../c-api/module.rst:54 msgid "" "Similar to :c:func:`PyModule_NewObject`, but the name is a UTF-8 encoded " "string instead of a Unicode object." msgstr "" +"Semelhante a :c:func:`PyModule_NewObject`, mas o nome é uma string " +"codificada em UTF-8 em vez de um objeto Unicode." #: ../../c-api/module.rst:62 msgid "" @@ -72,13 +84,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 :c:func:`PyModule_\\*` and :c:func:" -"`PyObject_\\*` functions rather than directly manipulate a module's :attr:" -"`~object.__dict__`." +"It is recommended extensions use other ``PyModule_*`` and ``PyObject_*`` " +"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 "" @@ -86,12 +105,17 @@ 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 "" "Similar to :c:func:`PyModule_GetNameObject` but return the name encoded to " "``'utf-8'``." msgstr "" +"Semelhante a :c:func:`PyModule_GetNameObject` mas retorna o nome codificado " +"em ``'utf-8'``" #: ../../c-api/module.rst:91 msgid "" @@ -99,12 +123,17 @@ msgid "" "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`." #: ../../c-api/module.rst:98 msgid "" "Return a pointer to the :c:type:`PyModuleDef` struct from which the module " "was created, or ``NULL`` if the module wasn't created from a definition." msgstr "" +"Retorna um ponteiro para a estrutura :c:type:`PyModuleDef` da qual o módulo " +"foi criado, ou ``NULL`` se o módulo não foi criado de uma definição." #: ../../c-api/module.rst:108 msgid "" @@ -113,12 +142,18 @@ msgid "" "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 " +"for uma string unicode, levanta :exc:`SystemError` e retorna ``NULL``; Caso " +"contrário, retorna uma referência a um objeto Unicode." #: ../../c-api/module.rst:118 msgid "" "Similar to :c:func:`PyModule_GetFilenameObject` but return the filename " "encoded to 'utf-8'." msgstr "" +"Semelhante a :c:func:`PyModule_GetFilenameObject` mas retorna o nome do " +"arquivo codificado em 'utf-8'." #: ../../c-api/module.rst:121 msgid "" @@ -128,7 +163,7 @@ msgstr "" #: ../../c-api/module.rst:129 msgid "Initializing C modules" -msgstr "" +msgstr "Inicializando módulos C" #: ../../c-api/module.rst:131 msgid "" @@ -137,6 +172,11 @@ msgid "" "initialization function is added using :c:func:`PyImport_AppendInittab`). " "See :ref:`building` or :ref:`extending-with-embedding` for details." 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." #: ../../c-api/module.rst:136 msgid "" @@ -144,6 +184,10 @@ msgid "" "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 " +"solicitar \"inicialização multifásica\" retornando a própria estrutura de " +"definição." #: ../../c-api/module.rst:142 msgid "" @@ -151,20 +195,25 @@ msgid "" "module object. There is usually only one statically initialized variable of " "this type for each module." msgstr "" +"A estrutura de definição de módulo, que contém todas as informações " +"necessária para criar um objeto de módulo. Geralmente, há apenas uma " +"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 "" +msgstr "Sempre inicializa este membro para :const:`PyModuleDef_HEAD_INIT`." #: ../../c-api/module.rst:152 msgid "Name for the new module." -msgstr "" +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." msgstr "" +"Docstring para o módulo; geralmente uma variável docstring criada com :c:" +"macro:`PyDoc_STRVAR` é usada." #: ../../c-api/module.rst:161 msgid "" @@ -172,6 +221,10 @@ 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 "" @@ -185,6 +238,8 @@ 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 "" @@ -193,16 +248,23 @@ msgid "" "its state. Non-negative ``m_size`` is required for multi-phase " "initialization." msgstr "" +"Defini-lo como um valor não negativo significa que o módulo pode ser " +"reinicializado e especifica a quantidade adicional de memória necessária " +"para seu estado. ``m_size`` não negativo é necessário para inicialização " +"multifásica." #: ../../c-api/module.rst:177 msgid "See :PEP:`3121` for more details." -msgstr "" +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." 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 "" @@ -210,18 +272,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 @@ -237,13 +306,15 @@ msgstr "" #: ../../c-api/module.rst:209 ../../c-api/module.rst:230 #: ../../c-api/module.rst:245 msgid "No longer called before the module state is allocated." -msgstr "" +msgstr "Não é mais chamado antes que o estado do módulo seja alocado." #: ../../c-api/module.rst:214 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 "" @@ -253,16 +324,23 @@ 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 "" "A function to call during deallocation of the module object, or ``NULL`` if " "not needed." msgstr "" +"Uma função para ser chamada durante a desalocação do objeto do módulo, ou " +"``NULL`` se não for necessário." #: ../../c-api/module.rst:249 msgid "Single-phase initialization" -msgstr "" +msgstr "inicialização de fase única" #: ../../c-api/module.rst:251 msgid "" @@ -270,6 +348,9 @@ msgid "" "directly. This is referred to as \"single-phase initialization\", and uses " "one of the following two module creation functions:" msgstr "" +"A função de inicialização do módulo pode criar e retornar o objeto do módulo " +"diretamente. Isso é chamado de \"inicialização de fase única\" e usa uma das " +"duas funções de criação de módulo a seguir:" #: ../../c-api/module.rst:257 msgid "" @@ -277,6 +358,9 @@ msgid "" "like :c:func:`PyModule_Create2` with *module_api_version* set to :const:" "`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`" #: ../../c-api/module.rst:264 msgid "" @@ -290,6 +374,8 @@ 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." #: ../../c-api/module.rst:273 msgid "" @@ -300,7 +386,7 @@ msgstr "" #: ../../c-api/module.rst:279 msgid "Multi-phase initialization" -msgstr "" +msgstr "Inicialização multifásica" #: ../../c-api/module.rst:281 msgid "" @@ -345,6 +431,8 @@ msgid "" "Ensures a module definition is a properly initialized Python object that " "correctly reports its type and reference count." msgstr "" +"Garante que uma definição de módulo é um objeto Python devidamente " +"inicializado que reporta corretamente seu tipo e contagem de referências." #: ../../c-api/module.rst:312 msgid "Returns *def* cast to ``PyObject*``, or ``NULL`` if an error occurred." @@ -359,10 +447,11 @@ msgstr "" #: ../../c-api/module.rst:323 msgid "A slot ID, chosen from the available values explained below." msgstr "" +"Um ID de lot, escolhido a partir dos valores disponíveis explicados abaixo." #: ../../c-api/module.rst:327 msgid "Value of the slot, whose meaning depends on the slot ID." -msgstr "" +msgstr "Valor do slot, cujo significado depende do ID do slot." #: ../../c-api/module.rst:331 msgid "The *m_slots* array must be terminated by a slot with id 0." @@ -370,7 +459,7 @@ msgstr "" #: ../../c-api/module.rst:333 msgid "The available slot types are:" -msgstr "" +msgstr "Os tipos de slot disponíveis são:" #: ../../c-api/module.rst:337 msgid "" @@ -397,6 +486,8 @@ msgid "" "Multiple ``Py_mod_create`` slots may not be specified in one module " "definition." msgstr "" +"Múltiplos slots ``Py_mod_create`` podem não estar especificados em uma " +"definição de módulo." #: ../../c-api/module.rst:354 msgid "" @@ -430,14 +521,17 @@ msgid "" "If multiple ``Py_mod_exec`` slots are specified, they are processed in the " "order they appear in the *m_slots* array." 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 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 msgid "Low-level module creation functions" -msgstr "" +msgstr "Funções de criação de módulo de baixo nível" #: ../../c-api/module.rst:384 msgid "" @@ -449,17 +543,17 @@ msgstr "" #: ../../c-api/module.rst:391 msgid "" -"Create a new module object, given the definition in *module* and the " -"ModuleSpec *spec*. This behaves like :c:func:`PyModule_FromDefAndSpec2` " -"with *module_api_version* set to :const:`PYTHON_API_VERSION`." +"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`." msgstr "" #: ../../c-api/module.rst:399 msgid "" -"Create a new module object, given the definition in *module* and the " -"ModuleSpec *spec*, assuming the API version *module_api_version*. If that " -"version does not match the version of the running interpreter, a :exc:" -"`RuntimeWarning` is emitted." +"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 " +"not match the version of the running interpreter, a :exc:`RuntimeWarning` is " +"emitted." msgstr "" #: ../../c-api/module.rst:406 @@ -529,6 +623,8 @@ msgid "" "The example can also be written without checking explicitly if *obj* is " "``NULL``::" msgstr "" +"O exemplo também pode ser escrito sem verificar explicitamente se *obj* é " +"``NULL``::" #: ../../c-api/module.rst:483 ../../c-api/module.rst:540 msgid "" @@ -552,7 +648,7 @@ msgstr "" #: ../../c-api/module.rst:500 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 diff --git a/c-api/none.po b/c-api/none.po index 76e4e6710..cc141bed9 100644 --- a/c-api/none.po +++ b/c-api/none.po @@ -1,27 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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.10\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-06-29 12:56+0000\n" -"PO-Revision-Date: 2021-06-28 00:49+0000\n" -"Last-Translator: Claudio Rogerio Carvalho Filho , " -"2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:57+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../c-api/none.rst:6 msgid "The ``None`` Object" diff --git a/c-api/number.po b/c-api/number.po index d6f21d3fb..7aa793fb4 100644 --- a/c-api/number.po +++ b/c-api/number.po @@ -1,26 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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.10\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-06-29 12:56+0000\n" -"PO-Revision-Date: 2021-06-28 00:49+0000\n" -"Last-Translator: Rafael Fontenelle , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:57+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../c-api/number.rst:6 msgid "Number Protocol" @@ -52,7 +53,7 @@ msgid "" "This is the equivalent of the Python expression ``o1 - o2``." msgstr "" "Retorna o resultado da subtração de *o2* por *o1*, ou ``NULL`` em caso de " -"falha. Este é o equivalente da expressão Python ``o1 - o2``. " +"falha. Este é o equivalente da expressão Python ``o1 - o2``." #: ../../c-api/number.rst:32 msgid "" @@ -73,10 +74,8 @@ msgstr "" #: ../../c-api/number.rst:46 msgid "" "Return the floor of *o1* divided by *o2*, or ``NULL`` on failure. This is " -"equivalent to the \"classic\" division of integers." +"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 à divisão \"clássica\" de inteiros." #: ../../c-api/number.rst:52 msgid "" @@ -84,7 +83,8 @@ msgid "" "by *o2*, or ``NULL`` on failure. The return value is \"approximate\" " "because binary floating point numbers are approximate; it is not possible to " "represent all real numbers in base two. This function can return a floating " -"point value when passed two integers." +"point value when passed two integers. This is the equivalent of the Python " +"expression ``o1 / o2``." msgstr "" #: ../../c-api/number.rst:61 @@ -203,17 +203,18 @@ msgid "" "because binary floating point numbers are approximate; it is not possible to " "represent all real numbers in base two. This function can return a floating " "point value when passed two integers. The operation is done *in-place* when " -"*o1* supports it." +"*o1* supports it. This is the equivalent of the Python statement ``o1 /= " +"o2``." msgstr "" -#: ../../c-api/number.rst:187 +#: ../../c-api/number.rst:188 msgid "" "Returns the remainder of dividing *o1* by *o2*, or ``NULL`` on failure. The " "operation is done *in-place* when *o1* supports it. This is the equivalent " "of the Python statement ``o1 %= o2``." msgstr "" -#: ../../c-api/number.rst:196 +#: ../../c-api/number.rst:197 msgid "" "See the built-in function :func:`pow`. Returns ``NULL`` on failure. The " "operation is done *in-place* when *o1* supports it. This is the equivalent " @@ -223,60 +224,60 @@ msgid "" "an illegal memory access)." msgstr "" -#: ../../c-api/number.rst:205 +#: ../../c-api/number.rst:206 msgid "" "Returns the result of left shifting *o1* by *o2* on success, or ``NULL`` on " "failure. The operation is done *in-place* when *o1* supports it. This is " "the equivalent of the Python statement ``o1 <<= o2``." msgstr "" -#: ../../c-api/number.rst:212 +#: ../../c-api/number.rst:213 msgid "" "Returns the result of right shifting *o1* by *o2* on success, or ``NULL`` on " "failure. The operation is done *in-place* when *o1* supports it. This is " "the equivalent of the Python statement ``o1 >>= o2``." msgstr "" -#: ../../c-api/number.rst:219 +#: ../../c-api/number.rst:220 msgid "" "Returns the \"bitwise and\" of *o1* and *o2* on success and ``NULL`` on " "failure. The operation is done *in-place* when *o1* supports it. This is " "the equivalent of the Python statement ``o1 &= o2``." msgstr "" -#: ../../c-api/number.rst:226 +#: ../../c-api/number.rst:227 msgid "" "Returns the \"bitwise exclusive or\" of *o1* by *o2* on success, or ``NULL`` " "on failure. The operation is done *in-place* when *o1* supports it. This " "is the equivalent of the Python statement ``o1 ^= o2``." msgstr "" -#: ../../c-api/number.rst:233 +#: ../../c-api/number.rst:234 msgid "" "Returns the \"bitwise or\" of *o1* and *o2* on success, or ``NULL`` on " "failure. The operation is done *in-place* when *o1* supports it. This is " "the equivalent of the Python statement ``o1 |= o2``." msgstr "" -#: ../../c-api/number.rst:242 +#: ../../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 "" -#: ../../c-api/number.rst:250 +#: ../../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 "" -#: ../../c-api/number.rst:256 +#: ../../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." msgstr "" -#: ../../c-api/number.rst:259 +#: ../../c-api/number.rst:260 msgid "" "The result always has exact type :class:`int`. Previously, the result could " "have been an instance of a subclass of ``int``." @@ -284,7 +285,7 @@ msgstr "" "O resultado sempre tem o tipo exato :class:`int`. Anteriormente, o resultado " "poderia ter sido uma instância de uma subclasse de ``int``." -#: ../../c-api/number.rst:266 +#: ../../c-api/number.rst:267 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 " @@ -293,25 +294,26 @@ msgid "" "`PyNumber_Index` first." msgstr "" -#: ../../c-api/number.rst:275 +#: ../../c-api/number.rst:276 msgid "" -"Returns *o* converted to a Py_ssize_t value if *o* can be interpreted as an " -"integer. If the call fails, an exception is raised and ``-1`` is returned." +"Returns *o* converted to a :c:type:`Py_ssize_t` value if *o* can be " +"interpreted as an integer. If the call fails, an exception is raised and " +"``-1`` is returned." msgstr "" -#: ../../c-api/number.rst:278 +#: ../../c-api/number.rst:279 msgid "" -"If *o* can be converted to a Python int but the attempt to convert to a " -"Py_ssize_t value would raise an :exc:`OverflowError`, then the *exc* " +"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 "" -#: ../../c-api/number.rst:288 +#: ../../c-api/number.rst:289 msgid "" -"Returns ``1`` if *o* is an index integer (has the nb_index slot of the " -"tp_as_number structure filled in), and ``0`` otherwise. This function always " -"succeeds." +"Returns ``1`` if *o* is an index integer (has the ``nb_index`` slot of the " +"``tp_as_number`` structure filled in), and ``0`` otherwise. This function " +"always succeeds." msgstr "" diff --git a/c-api/objbuffer.po b/c-api/objbuffer.po index 4dcae5e75..ca54da8d8 100644 --- a/c-api/objbuffer.po +++ b/c-api/objbuffer.po @@ -1,28 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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.10\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-07-29 13:22+0000\n" -"PO-Revision-Date: 2021-07-29 13:25+0000\n" -"Last-Translator: Claudio Rogerio Carvalho Filho , " -"2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:57+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../c-api/objbuffer.rst:4 msgid "Old Buffer Protocol" diff --git a/c-api/object.po b/c-api/object.po index 758633bf1..5a065b7fb 100644 --- a/c-api/object.po +++ b/c-api/object.po @@ -1,26 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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.10\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-06-29 12:56+0000\n" -"PO-Revision-Date: 2021-06-28 00:49+0000\n" -"Last-Translator: Rafael Fontenelle , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:57+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../c-api/object.rst:6 msgid "Object Protocol" @@ -37,12 +38,9 @@ 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 "" @@ -98,7 +96,7 @@ msgid "" "descriptors don't. Otherwise, an :exc:`AttributeError` is raised." msgstr "" -#: ../../c-api/object.rst:79 ../../c-api/object.rst:90 +#: ../../c-api/object.rst:79 ../../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 " @@ -107,17 +105,18 @@ msgstr "" #: ../../c-api/object.rst:84 msgid "" -"If *v* is ``NULL``, the attribute is deleted, however this feature is " -"deprecated in favour of using :c:func:`PyObject_DelAttr`." +"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:95 +#: ../../c-api/object.rst:96 msgid "" -"If *v* is ``NULL``, the attribute is deleted, however this feature is " -"deprecated in favour of using :c:func:`PyObject_DelAttrString`." +"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:101 +#: ../../c-api/object.rst:102 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 " @@ -129,25 +128,25 @@ msgid "" "returned." msgstr "" -#: ../../c-api/object.rst:113 ../../c-api/object.rst:119 +#: ../../c-api/object.rst:114 ../../c-api/object.rst:120 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:125 +#: ../../c-api/object.rst:126 msgid "" "A generic implementation for the getter of a ``__dict__`` descriptor. It " "creates the dictionary if necessary." msgstr "" -#: ../../c-api/object.rst:133 +#: ../../c-api/object.rst:134 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:141 +#: ../../c-api/object.rst:142 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:" @@ -158,7 +157,7 @@ msgid "" "failure." msgstr "" -#: ../../c-api/object.rst:151 +#: ../../c-api/object.rst:152 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:" @@ -169,13 +168,26 @@ msgid "" "to *opid*." msgstr "" -#: ../../c-api/object.rst:160 +#: ../../c-api/object.rst:161 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`." msgstr "" -#: ../../c-api/object.rst:167 +#: ../../c-api/object.rst:166 +msgid "" +"Format *obj* using *format_spec*. This is equivalent to the Python " +"expression ``format(obj, format_spec)``." +msgstr "" + +#: ../../c-api/object.rst:169 +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:177 msgid "" "Compute a string representation of object *o*. Returns the string " "representation on success, ``NULL`` on failure. This is the equivalent of " @@ -183,13 +195,15 @@ msgid "" "function." msgstr "" -#: ../../c-api/object.rst:171 ../../c-api/object.rst:195 +#: ../../c-api/object.rst:181 ../../c-api/object.rst:205 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:179 +#: ../../c-api/object.rst:189 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:" @@ -198,7 +212,7 @@ msgid "" "Called by the :func:`ascii` built-in function." msgstr "" -#: ../../c-api/object.rst:190 +#: ../../c-api/object.rst:200 msgid "" "Compute a string representation of object *o*. Returns the string " "representation on success, ``NULL`` on failure. This is the equivalent of " @@ -206,7 +220,7 @@ msgid "" "function and, therefore, by the :func:`print` function." msgstr "" -#: ../../c-api/object.rst:204 +#: ../../c-api/object.rst:214 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 " @@ -215,20 +229,20 @@ msgid "" "bytes object." msgstr "" -#: ../../c-api/object.rst:213 +#: ../../c-api/object.rst:223 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:216 ../../c-api/object.rst:235 +#: ../../c-api/object.rst:226 ../../c-api/object.rst:245 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:220 +#: ../../c-api/object.rst:230 msgid "" "If *cls* has a :meth:`~class.__subclasscheck__` method, it will be called to " "determine the subclass status as described in :pep:`3119`. Otherwise, " @@ -236,91 +250,91 @@ msgid "" "e. contained in ``cls.__mro__``." msgstr "" -#: ../../c-api/object.rst:225 +#: ../../c-api/object.rst:235 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)." msgstr "" -#: ../../c-api/object.rst:232 +#: ../../c-api/object.rst:242 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:239 +#: ../../c-api/object.rst:249 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:243 +#: ../../c-api/object.rst:253 msgid "" "An instance *inst* can override what is considered its class by having a :" "attr:`__class__` attribute." msgstr "" -#: ../../c-api/object.rst:246 +#: ../../c-api/object.rst:256 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)." msgstr "" -#: ../../c-api/object.rst:255 +#: ../../c-api/object.rst:265 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:258 +#: ../../c-api/object.rst:268 msgid "" -"The return type is now Py_hash_t. This is a signed integer the same size as " -"Py_ssize_t." +"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:265 +#: ../../c-api/object.rst:275 msgid "" -"Set a :exc:`TypeError` indicating that ``type(o)`` is not hashable and " -"return ``-1``. This function receives special treatment when stored in a " +"Set a :exc:`TypeError` indicating that ``type(o)`` is not :term:`hashable` " +"and return ``-1``. This function receives special treatment when stored in a " "``tp_hash`` slot, allowing a type to explicitly indicate to the interpreter " "that it is not hashable." msgstr "" -#: ../../c-api/object.rst:273 +#: ../../c-api/object.rst:283 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:280 +#: ../../c-api/object.rst:290 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:289 +#: ../../c-api/object.rst:299 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 common expression ``o-" -">ob_type``, which returns a pointer of type :c:type:`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:300 +#: ../../c-api/object.rst:311 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:309 +#: ../../c-api/object.rst:320 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, " @@ -328,7 +342,7 @@ msgid "" "``len(o)``." msgstr "" -#: ../../c-api/object.rst:316 +#: ../../c-api/object.rst:327 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 " @@ -337,26 +351,26 @@ msgid "" "defaultvalue)``." msgstr "" -#: ../../c-api/object.rst:326 +#: ../../c-api/object.rst:337 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:332 +#: ../../c-api/object.rst:343 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:340 +#: ../../c-api/object.rst:351 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:346 +#: ../../c-api/object.rst:357 msgid "" "This is equivalent to the Python expression ``dir(o)``, returning a " "(possibly empty) list of strings appropriate for the object argument, or " @@ -366,7 +380,7 @@ msgid "" "`PyErr_Occurred` will return false." msgstr "" -#: ../../c-api/object.rst:355 +#: ../../c-api/object.rst:366 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 " @@ -374,7 +388,7 @@ msgid "" "object cannot be iterated." msgstr "" -#: ../../c-api/object.rst:363 +#: ../../c-api/object.rst:374 msgid "" "This is the equivalent to the Python expression ``aiter(o)``. Takes an :" "class:`AsyncIterable` object and returns an :class:`AsyncIterator` for it. " diff --git a/c-api/objimpl.po b/c-api/objimpl.po index e033e7b13..1641b0ebb 100644 --- a/c-api/objimpl.po +++ b/c-api/objimpl.po @@ -1,28 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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.10\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-06-29 12:56+0000\n" -"PO-Revision-Date: 2021-06-28 00:49+0000\n" -"Last-Translator: Claudio Rogerio Carvalho Filho , " -"2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:57+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../c-api/objimpl.rst:7 msgid "Object Implementation Support" diff --git a/c-api/refcounting.po b/c-api/refcounting.po index 0a669bacb..60c5d5a41 100644 --- a/c-api/refcounting.po +++ b/c-api/refcounting.po @@ -1,32 +1,31 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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.10\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-06-29 12:56+0000\n" -"PO-Revision-Date: 2021-06-28 00:50+0000\n" -"Last-Translator: Claudio Rogerio Carvalho Filho , " -"2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:57+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"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 "" @@ -37,95 +36,111 @@ 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 " "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). " @@ -148,54 +163,43 @@ msgstr "" "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 "" +"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 "" + +#: ../../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`, and the same warning applies." +"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`, e o mesmo aviso se aplica." -#: ../../c-api/refcounting.rst:102 +#: ../../c-api/refcounting.rst:120 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." +"It is a good idea to use this macro whenever releasing a reference to an " +"object that might be traversed during garbage collection." 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:125 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." +"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 "" -"É 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:113 +#: ../../c-api/refcounting.rst:132 msgid "" -"The following functions are for runtime dynamic embedding of Python: " -"``Py_IncRef(PyObject *o)``, ``Py_DecRef(PyObject *o)``. They are simply " -"exported function versions of :c:func:`Py_XINCREF` and :c:func:`Py_XDECREF`, " -"respectively." +"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 "" -"As seguintes funções são para incorporação dinâmica de Python em tempo de " -"execução: ``Py_IncRef(PyObject *o)``, ``Py_DecRef(PyObject *o)``. Elas são " -"simplesmente versões de função exportadas de :c:func:`Py_XINCREF` e :c:func:" -"`Py_XDECREF`, respectivamente." -#: ../../c-api/refcounting.rst:118 +#: ../../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:" diff --git a/c-api/reflection.po b/c-api/reflection.po index 60066af5d..9141c57af 100644 --- a/c-api/reflection.po +++ b/c-api/reflection.po @@ -1,28 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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 -# Ruan Aragão , 2021 -# Rafael Fontenelle , 2021 +# python-doc bot, 2025 # #, 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 00:50+0000\n" -"Last-Translator: Rafael Fontenelle , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:57+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../c-api/reflection.rst:6 msgid "Reflection" @@ -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 "" @@ -115,6 +114,6 @@ msgid "" "`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 :" +"*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 80d8db629..5bc412df5 100644 --- a/c-api/sequence.po +++ b/c-api/sequence.po @@ -1,27 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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 -# Adorilson Bezerra , 2021 +# python-doc bot, 2025 # #, 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 00:50+0000\n" -"Last-Translator: Adorilson Bezerra , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:57+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../c-api/sequence.rst:6 msgid "Sequence Protocol" @@ -29,25 +29,20 @@ msgstr "Protocolo de sequência" #: ../../c-api/sequence.rst:11 msgid "" -"Return ``1`` if the object provides 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 case it is " -"impossible to determine what the type of keys it supports. This function " -"always succeeds." +"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." msgstr "" -"Retorna ``1`` se o objeto fornecer protocolo de sequência e ``0`` caso " -"contrário. Note que ele retorna ``1`` para classes Python com um método :" -"meth:`__getitem__` a menos que sejam subclasses de :class:`dict` já que no " -"caso geral é impossível determinar que tipo de chaves ela suporta. Esta " -"função sempre tem 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 "" @@ -55,7 +50,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 "" @@ -64,8 +59,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 "" @@ -74,8 +68,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 "" @@ -84,16 +78,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 "" @@ -101,7 +95,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 "" @@ -111,16 +105,15 @@ 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, however this feature is " -"deprecated in favour of using :c:func:`PySequence_DelItem`." +"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 é excluído, no entanto, este recurso foi " +"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 @@ -128,8 +121,8 @@ 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 "" @@ -137,7 +130,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 "" @@ -145,7 +138,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 "" @@ -153,6 +146,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 "" @@ -160,12 +156,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 "" @@ -173,6 +174,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 "" @@ -181,6 +185,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 "" @@ -189,6 +197,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 "" @@ -196,33 +208,47 @@ 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 gotten " -"by calling :c:func:`PySequence_Size` on *o*, but :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." 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 "" @@ -230,6 +256,9 @@ 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 "" @@ -238,3 +267,6 @@ msgid "" "`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." diff --git a/c-api/set.po b/c-api/set.po index 08ac50e18..b2bc779f4 100644 --- a/c-api/set.po +++ b/c-api/set.po @@ -1,28 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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 -# Vitor Buxbaum Orlandi, 2021 +# python-doc bot, 2025 # #, 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 00:50+0000\n" -"Last-Translator: Vitor Buxbaum Orlandi, 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:57+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../c-api/set.rst:6 msgid "Set Objects" @@ -31,14 +30,14 @@ msgstr "Objeto Set" #: ../../c-api/set.rst:15 msgid "" "This section details the public API for :class:`set` and :class:`frozenset` " -"objects. Any functionality not listed below is best accessed using the " -"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:" +"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`)." msgstr "" "Esta seção detalha a API pública para os objetos :class:`set` e :class:" @@ -46,7 +45,7 @@ msgstr "" "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`, and :c:func:`PyObject_GetIter`) ou o protocolo abstrato de " +"`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:" @@ -59,9 +58,9 @@ msgid "" "`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 are subject to change. All " -"access should be done through the documented API rather than by manipulating " -"the values in the structure." +"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:" @@ -69,9 +68,9 @@ msgstr "" "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 está sujeito a alterações. Todo o acesso deve ser " -"feito por meio da API documentada, em vez de manipular os valores na " -"estrutura." +"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 "" @@ -216,7 +215,7 @@ msgstr "" #: ../../c-api/set.rst:133 msgid "" "Add *key* to a :class:`set` instance. Also works with :class:`frozenset` " -"instances (like :c:func:`PyTuple_SetItem` it can be used to fill-in the " +"instances (like :c:func:`PyTuple_SetItem` it can be used to fill in the " "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 " diff --git a/c-api/slice.po b/c-api/slice.po index efe25de79..d1a97d5f7 100644 --- a/c-api/slice.po +++ b/c-api/slice.po @@ -1,28 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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.10\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-06-29 12:56+0000\n" -"PO-Revision-Date: 2021-06-28 00:50+0000\n" -"Last-Translator: Claudio Rogerio Carvalho Filho , " -"2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:57+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../c-api/slice.rst:6 msgid "Slice Objects" diff --git a/c-api/stable.po b/c-api/stable.po index c0f74c907..a8fdcd4e9 100644 --- a/c-api/stable.po +++ b/c-api/stable.po @@ -1,31 +1,31 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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.10\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-06-29 12:56+0000\n" -"PO-Revision-Date: 2021-06-28 00:50+0000\n" -"Last-Translator: Claudio Rogerio Carvalho Filho , " -"2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:57+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"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 "" @@ -44,6 +44,11 @@ msgid "" "work on 3.10.8 and vice versa, but will need to be compiled separately for " "3.9.x and 3.10.x." msgstr "" +"A Interface Binário 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.10.x." #: ../../c-api/stable.rst:21 msgid "" @@ -53,7 +58,7 @@ 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 "" @@ -83,6 +88,8 @@ 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 "" @@ -99,12 +106,18 @@ 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 msgid "" @@ -112,6 +125,9 @@ msgid "" "``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 msgid "" @@ -121,6 +137,13 @@ 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 msgid "" @@ -128,16 +151,21 @@ msgid "" "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 msgid "Limited API Scope and Performance" -msgstr "" +msgstr "Escopo e Desempenho da API Limitada" #: ../../c-api/stable.rst:79 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 msgid "" @@ -145,6 +173,10 @@ msgid "" "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 msgid "" @@ -153,6 +185,10 @@ msgid "" "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 msgid "" @@ -163,10 +199,17 @@ 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 msgid "Limited API Caveats" -msgstr "" +msgstr "Limitações da API Limitada" #: ../../c-api/stable.rst:103 msgid "" @@ -185,18 +228,30 @@ 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 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 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 msgid "" @@ -205,6 +260,10 @@ msgid "" "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 msgid "" @@ -214,10 +273,15 @@ 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 msgid "Platform Considerations" -msgstr "" +msgstr "Considerações da plataforma" #: ../../c-api/stable.rst:138 msgid "" @@ -234,10 +298,15 @@ msgid "" "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 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:" diff --git a/c-api/structures.po b/c-api/structures.po index 4c4a9095a..8147d3ea6 100644 --- a/c-api/structures.po +++ b/c-api/structures.po @@ -1,34 +1,32 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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 -# Welington Carlos , 2021 -# Claudio Rogerio Carvalho Filho , 2021 -# Juliana Karoline , 2021 +# python-doc bot, 2025 +# Rafael Fontenelle , 2025 # #, 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 00:50+0000\n" -"Last-Translator: Juliana Karoline , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-11-17 17:31+0000\n" +"PO-Revision-Date: 2025-09-22 15:57+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=2; plural=(n > 1);\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 "" @@ -36,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 "" @@ -57,7 +57,7 @@ msgid "" "In a normal \"release\" build, it contains only the object's reference count " "and a pointer to the corresponding type object. Nothing is actually declared " "to be a :c:type:`PyObject`, but every pointer to a Python object can be cast " -"to a :c:type:`PyObject*`. Access to the members must be done by using the " +"to a :c:expr:`PyObject*`. Access to the members must be done by using the " "macros :c:macro:`Py_REFCNT` and :c:macro:`Py_TYPE`." msgstr "" @@ -69,16 +69,23 @@ msgid "" "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 :attr:" +"`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 "" @@ -86,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 "" @@ -123,7 +134,7 @@ msgid "Return a :term:`borrowed reference`." msgstr "" #: ../../c-api/structures.rst:102 -msgid "The :c:func:`Py_SET_TYPE` function must be used to set an object type." +msgid "Use the :c:func:`Py_SET_TYPE` function to set an object type." msgstr "" #: ../../c-api/structures.rst:107 @@ -138,7 +149,7 @@ msgstr "" #: ../../c-api/structures.rst:122 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:124 msgid "" @@ -155,7 +166,7 @@ msgid "Get the size of the Python object *o*." msgstr "" #: ../../c-api/structures.rst:140 -msgid "The :c:func:`Py_SET_SIZE` function must be used to set an object size." +msgid "Use the :c:func:`Py_SET_SIZE` function to set an object size." msgstr "" #: ../../c-api/structures.rst:145 @@ -182,7 +193,7 @@ msgstr "" #: ../../c-api/structures.rst:174 msgid "" "Type of the functions used to implement most Python callables in C. " -"Functions of this type take two :c:type:`PyObject*` parameters and return " +"Functions of this type take two :c:expr:`PyObject*` parameters and return " "one such value. If the return value is ``NULL``, an exception shall have " "been set. If not ``NULL``, the return value is interpreted as the return " "value of the function as exposed in Python. The function must return a new " @@ -191,7 +202,7 @@ msgstr "" #: ../../c-api/structures.rst:181 msgid "The function signature is::" -msgstr "" +msgstr "A assinatura da função é::" #: ../../c-api/structures.rst:188 msgid "" @@ -224,101 +235,54 @@ msgid "" "has four fields:" msgstr "" -#: ../../c-api/structures.rst:239 ../../c-api/structures.rst:397 -#: ../../c-api/structures.rst:493 -msgid "Field" -msgstr "Campo" - -#: ../../c-api/structures.rst:239 ../../c-api/structures.rst:397 -#: ../../c-api/structures.rst:493 -msgid "C Type" -msgstr "Tipo em C" - -#: ../../c-api/structures.rst:239 ../../c-api/structures.rst:397 -#: ../../c-api/structures.rst:493 -msgid "Meaning" -msgstr "Significado" - -#: ../../c-api/structures.rst:241 -msgid ":attr:`ml_name`" -msgstr ":attr:`ml_name`" - -#: ../../c-api/structures.rst:241 ../../c-api/structures.rst:249 -#: ../../c-api/structures.rst:399 ../../c-api/structures.rst:412 -#: ../../c-api/structures.rst:428 ../../c-api/structures.rst:495 -#: ../../c-api/structures.rst:503 -msgid "const char \\*" -msgstr "" - -#: ../../c-api/structures.rst:241 +#: ../../c-api/structures.rst:240 msgid "name of the method" msgstr "" -#: ../../c-api/structures.rst:243 -msgid ":attr:`ml_meth`" -msgstr ":attr:`ml_meth`" - -#: ../../c-api/structures.rst:243 -msgid "PyCFunction" -msgstr "" - -#: ../../c-api/structures.rst:243 +#: ../../c-api/structures.rst:244 msgid "pointer to the C implementation" msgstr "" -#: ../../c-api/structures.rst:246 -msgid ":attr:`ml_flags`" -msgstr ":attr:`ml_flags`" - -#: ../../c-api/structures.rst:246 ../../c-api/structures.rst:401 -#: ../../c-api/structures.rst:408 ../../c-api/structures.rst:424 -msgid "int" -msgstr "int" - -#: ../../c-api/structures.rst:246 -msgid "flag bits indicating how the call should be constructed" +#: ../../c-api/structures.rst:248 +msgid "flags bits indicating how the call should be constructed" msgstr "" -#: ../../c-api/structures.rst:249 -msgid ":attr:`ml_doc`" -msgstr ":attr:`ml_doc`" - -#: ../../c-api/structures.rst:249 ../../c-api/structures.rst:412 +#: ../../c-api/structures.rst:252 ../../c-api/structures.rst:411 msgid "points to the contents of the docstring" msgstr "" -#: ../../c-api/structures.rst:253 +#: ../../c-api/structures.rst:254 msgid "" -"The :attr:`ml_meth` is a C function pointer. The functions may be of " -"different types, but they always return :c:type:`PyObject*`. If the " +"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 " -"first parameter as :c:type:`PyObject*`, it is common that the method " +"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:260 +#: ../../c-api/structures.rst:261 msgid "" -"The :attr:`ml_flags` field is a bitfield which can include the following " +"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." msgstr "" -#: ../../c-api/structures.rst:264 +#: ../../c-api/structures.rst:265 msgid "There are these calling conventions:" msgstr "" -#: ../../c-api/structures.rst:268 +#: ../../c-api/structures.rst:269 msgid "" "This is the typical calling convention, where the methods have the type :c:" -"type:`PyCFunction`. The function expects two :c:type:`PyObject*` values. The " +"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:278 +#: ../../c-api/structures.rst:279 msgid "" "Methods with these flags must be of type :c:type:`PyCFunctionWithKeywords`. " "The function expects three parameters: *self*, *args*, *kwargs* where " @@ -327,50 +291,46 @@ msgid "" "using :c:func:`PyArg_ParseTupleAndKeywords`." msgstr "" -#: ../../c-api/structures.rst:287 +#: ../../c-api/structures.rst:288 msgid "" "Fast calling convention supporting only positional arguments. The methods " "have the type :c:type:`_PyCFunctionFast`. The first parameter is *self*, the " -"second parameter is a C array of :c:type:`PyObject*` values indicating the " +"second parameter is a C array of :c:expr:`PyObject*` values indicating the " "arguments and the third parameter is the number of arguments (the length of " "the array)." msgstr "" -#: ../../c-api/structures.rst:297 +#: ../../c-api/structures.rst:298 msgid "``METH_FASTCALL`` is now part of the stable ABI." msgstr "" -#: ../../c-api/structures.rst:302 +#: ../../c-api/structures.rst:303 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:type:`PyObject*` parameter which is a tuple " +"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:312 -msgid "This is not part of the :ref:`limited API `." -msgstr "" - -#: ../../c-api/structures.rst:319 +#: ../../c-api/structures.rst:318 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)``." msgstr "" -#: ../../c-api/structures.rst:323 +#: ../../c-api/structures.rst:322 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:332 +#: ../../c-api/structures.rst:331 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 " @@ -379,16 +339,16 @@ msgid "" "the second parameter will be ``NULL``." msgstr "" -#: ../../c-api/structures.rst:341 +#: ../../c-api/structures.rst:340 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:type:`PyObject*` parameter representing the single " +"parameter, and a :c:expr:`PyObject*` parameter representing the single " "argument." msgstr "" -#: ../../c-api/structures.rst:347 +#: ../../c-api/structures.rst:346 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 " @@ -396,27 +356,27 @@ msgid "" "any given method." msgstr "" -#: ../../c-api/structures.rst:357 +#: ../../c-api/structures.rst:356 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:367 +#: ../../c-api/structures.rst:366 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:371 +#: ../../c-api/structures.rst:370 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:377 +#: ../../c-api/structures.rst:376 msgid "" "The method will be loaded in place of existing definitions. Without " "*METH_COEXIST*, the default is to skip repeated definitions. Since slot " @@ -429,194 +389,217 @@ msgid "" "calls." msgstr "" -#: ../../c-api/structures.rst:389 +#: ../../c-api/structures.rst:388 msgid "Accessing attributes of extension types" msgstr "" -#: ../../c-api/structures.rst:393 +#: ../../c-api/structures.rst:392 msgid "" "Structure which describes an attribute of a type which corresponds to a C " "struct member. Its fields are:" msgstr "" -#: ../../c-api/structures.rst:399 +#: ../../c-api/structures.rst:396 ../../c-api/structures.rst:492 +msgid "Field" +msgstr "Campo" + +#: ../../c-api/structures.rst:396 ../../c-api/structures.rst:492 +msgid "C Type" +msgstr "Tipo em C" + +#: ../../c-api/structures.rst:396 ../../c-api/structures.rst:492 +msgid "Meaning" +msgstr "Significado" + +#: ../../c-api/structures.rst:398 msgid ":attr:`name`" msgstr ":attr:`name`" -#: ../../c-api/structures.rst:399 +#: ../../c-api/structures.rst:398 ../../c-api/structures.rst:411 +#: ../../c-api/structures.rst:427 ../../c-api/structures.rst:494 +#: ../../c-api/structures.rst:502 +msgid "const char \\*" +msgstr "" + +#: ../../c-api/structures.rst:398 msgid "name of the member" msgstr "" -#: ../../c-api/structures.rst:401 +#: ../../c-api/structures.rst:400 msgid ":attr:`!type`" msgstr ":attr:`!type`" -#: ../../c-api/structures.rst:401 +#: ../../c-api/structures.rst:400 ../../c-api/structures.rst:407 +#: ../../c-api/structures.rst:423 +msgid "int" +msgstr "int" + +#: ../../c-api/structures.rst:400 msgid "the type of the member in the C struct" msgstr "" -#: ../../c-api/structures.rst:404 +#: ../../c-api/structures.rst:403 msgid ":attr:`offset`" msgstr ":attr:`offset`" -#: ../../c-api/structures.rst:404 ../../c-api/structures.rst:440 +#: ../../c-api/structures.rst:403 ../../c-api/structures.rst:439 msgid "Py_ssize_t" msgstr "Py_ssize_t" -#: ../../c-api/structures.rst:404 +#: ../../c-api/structures.rst:403 msgid "" "the offset in bytes that the member is located on the type's object struct" msgstr "" -#: ../../c-api/structures.rst:408 +#: ../../c-api/structures.rst:407 msgid ":attr:`flags`" msgstr ":attr:`flags`" -#: ../../c-api/structures.rst:408 +#: ../../c-api/structures.rst:407 msgid "flag bits indicating if the field should be read-only or writable" msgstr "" -#: ../../c-api/structures.rst:412 +#: ../../c-api/structures.rst:411 msgid ":attr:`doc`" msgstr ":attr:`doc`" -#: ../../c-api/structures.rst:416 +#: ../../c-api/structures.rst:415 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:421 +#: ../../c-api/structures.rst:420 msgid "Macro name" msgstr "" -#: ../../c-api/structures.rst:421 +#: ../../c-api/structures.rst:420 msgid "C type" -msgstr "C type" +msgstr "Tipo em C" -#: ../../c-api/structures.rst:423 +#: ../../c-api/structures.rst:422 msgid "T_SHORT" -msgstr "" +msgstr "T_SHORT" -#: ../../c-api/structures.rst:423 +#: ../../c-api/structures.rst:422 msgid "short" msgstr "" -#: ../../c-api/structures.rst:424 +#: ../../c-api/structures.rst:423 msgid "T_INT" -msgstr "" +msgstr "T_INT" -#: ../../c-api/structures.rst:425 +#: ../../c-api/structures.rst:424 msgid "T_LONG" -msgstr "" +msgstr "T_LONG" -#: ../../c-api/structures.rst:425 +#: ../../c-api/structures.rst:424 msgid "long" msgstr "long" -#: ../../c-api/structures.rst:426 +#: ../../c-api/structures.rst:425 msgid "T_FLOAT" -msgstr "" +msgstr "T_FLOAT" -#: ../../c-api/structures.rst:426 +#: ../../c-api/structures.rst:425 msgid "float" -msgstr "float" +msgstr "ponto flutuante" -#: ../../c-api/structures.rst:427 +#: ../../c-api/structures.rst:426 msgid "T_DOUBLE" -msgstr "" +msgstr "T_DOUBLE" -#: ../../c-api/structures.rst:427 +#: ../../c-api/structures.rst:426 msgid "double" msgstr "double" -#: ../../c-api/structures.rst:428 +#: ../../c-api/structures.rst:427 msgid "T_STRING" -msgstr "" +msgstr "T_STRING" -#: ../../c-api/structures.rst:429 +#: ../../c-api/structures.rst:428 msgid "T_OBJECT" msgstr "" -#: ../../c-api/structures.rst:429 ../../c-api/structures.rst:430 +#: ../../c-api/structures.rst:428 ../../c-api/structures.rst:429 msgid "PyObject \\*" msgstr "" -#: ../../c-api/structures.rst:430 +#: ../../c-api/structures.rst:429 msgid "T_OBJECT_EX" -msgstr "" +msgstr "T_OBJECT_EX" -#: ../../c-api/structures.rst:431 +#: ../../c-api/structures.rst:430 msgid "T_CHAR" msgstr "T_CHAR" -#: ../../c-api/structures.rst:431 ../../c-api/structures.rst:432 -#: ../../c-api/structures.rst:437 +#: ../../c-api/structures.rst:430 ../../c-api/structures.rst:431 +#: ../../c-api/structures.rst:436 msgid "char" msgstr "char" -#: ../../c-api/structures.rst:432 +#: ../../c-api/structures.rst:431 msgid "T_BYTE" msgstr "T_BYTE" -#: ../../c-api/structures.rst:433 +#: ../../c-api/structures.rst:432 msgid "T_UBYTE" msgstr "T_UBYTE" -#: ../../c-api/structures.rst:433 +#: ../../c-api/structures.rst:432 msgid "unsigned char" msgstr "unsigned char" -#: ../../c-api/structures.rst:434 +#: ../../c-api/structures.rst:433 msgid "T_UINT" msgstr "T_UINT" -#: ../../c-api/structures.rst:434 +#: ../../c-api/structures.rst:433 msgid "unsigned int" msgstr "unsigned int" -#: ../../c-api/structures.rst:435 +#: ../../c-api/structures.rst:434 msgid "T_USHORT" msgstr "T_USHORT" -#: ../../c-api/structures.rst:435 +#: ../../c-api/structures.rst:434 msgid "unsigned short" msgstr "unsigned short" -#: ../../c-api/structures.rst:436 +#: ../../c-api/structures.rst:435 msgid "T_ULONG" msgstr "T_ULONG" -#: ../../c-api/structures.rst:436 +#: ../../c-api/structures.rst:435 msgid "unsigned long" msgstr "unsigned long" -#: ../../c-api/structures.rst:437 +#: ../../c-api/structures.rst:436 msgid "T_BOOL" msgstr "T_BOOL" -#: ../../c-api/structures.rst:438 +#: ../../c-api/structures.rst:437 msgid "T_LONGLONG" -msgstr "" +msgstr "T_LONGLONG" -#: ../../c-api/structures.rst:438 +#: ../../c-api/structures.rst:437 msgid "long long" -msgstr "" +msgstr "long long" -#: ../../c-api/structures.rst:439 +#: ../../c-api/structures.rst:438 msgid "T_ULONGLONG" msgstr "" -#: ../../c-api/structures.rst:439 +#: ../../c-api/structures.rst:438 msgid "unsigned long long" msgstr "unsigned long long" -#: ../../c-api/structures.rst:440 +#: ../../c-api/structures.rst:439 msgid "T_PYSSIZET" -msgstr "" +msgstr "T_PYSSIZET" -#: ../../c-api/structures.rst:443 +#: ../../c-api/structures.rst:442 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:" @@ -626,7 +609,7 @@ msgid "" "than :c:macro:`T_OBJECT`." msgstr "" -#: ../../c-api/structures.rst:450 +#: ../../c-api/structures.rst:449 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:" @@ -635,7 +618,7 @@ msgid "" "are set to ``NULL``)." msgstr "" -#: ../../c-api/structures.rst:458 +#: ../../c-api/structures.rst:457 msgid "" "Heap allocated types (created using :c:func:`PyType_FromSpec` or similar), " "``PyMemberDef`` may contain definitions for the special members " @@ -646,99 +629,99 @@ msgid "" "``T_PYSSIZET`` and ``READONLY``, for example::" msgstr "" -#: ../../c-api/structures.rst:475 +#: ../../c-api/structures.rst:474 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:482 +#: ../../c-api/structures.rst:481 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:489 +#: ../../c-api/structures.rst:488 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:495 +#: ../../c-api/structures.rst:494 msgid "name" msgstr "nome" -#: ../../c-api/structures.rst:495 +#: ../../c-api/structures.rst:494 msgid "attribute name" msgstr "" -#: ../../c-api/structures.rst:497 +#: ../../c-api/structures.rst:496 msgid "get" msgstr "" -#: ../../c-api/structures.rst:497 +#: ../../c-api/structures.rst:496 msgid "getter" msgstr "" -#: ../../c-api/structures.rst:497 -msgid "C Function to get the attribute" +#: ../../c-api/structures.rst:496 +msgid "C function to get the attribute" msgstr "" -#: ../../c-api/structures.rst:499 +#: ../../c-api/structures.rst:498 msgid "set" -msgstr "" +msgstr "set" -#: ../../c-api/structures.rst:499 +#: ../../c-api/structures.rst:498 msgid "setter" msgstr "" -#: ../../c-api/structures.rst:499 +#: ../../c-api/structures.rst:498 msgid "" "optional C function to set or delete the attribute, if omitted the attribute " "is readonly" msgstr "" -#: ../../c-api/structures.rst:503 +#: ../../c-api/structures.rst:502 msgid "doc" msgstr "" -#: ../../c-api/structures.rst:503 +#: ../../c-api/structures.rst:502 msgid "optional docstring" msgstr "" -#: ../../c-api/structures.rst:505 +#: ../../c-api/structures.rst:504 msgid "closure" msgstr "" -#: ../../c-api/structures.rst:505 +#: ../../c-api/structures.rst:504 msgid "void \\*" msgstr "" -#: ../../c-api/structures.rst:505 +#: ../../c-api/structures.rst:504 msgid "" "optional function pointer, providing additional data for getter and setter" msgstr "" -#: ../../c-api/structures.rst:510 +#: ../../c-api/structures.rst:509 msgid "" -"The ``get`` function takes one :c:type:`PyObject*` parameter (the instance) " +"The ``get`` function takes one :c:expr:`PyObject*` parameter (the instance) " "and a function pointer (the associated ``closure``)::" msgstr "" -#: ../../c-api/structures.rst:515 +#: ../../c-api/structures.rst:514 msgid "" "It should return a new reference on success or ``NULL`` with a set exception " "on failure." msgstr "" -#: ../../c-api/structures.rst:518 +#: ../../c-api/structures.rst:517 msgid "" -"``set`` functions take two :c:type:`PyObject*` parameters (the instance and " +"``set`` functions take two :c:expr:`PyObject*` parameters (the instance and " "the value to be set) and a function pointer (the associated ``closure``)::" msgstr "" -#: ../../c-api/structures.rst:523 +#: ../../c-api/structures.rst:522 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." diff --git a/c-api/sys.po b/c-api/sys.po index 7f989d18e..b8ee7fb3a 100644 --- a/c-api/sys.po +++ b/c-api/sys.po @@ -1,43 +1,50 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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: -# Italo Penaforte , 2021 -# Rafael Fontenelle , 2021 +# python-doc bot, 2025 +# Rafael Fontenelle , 2025 # #, 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 00:50+0000\n" -"Last-Translator: Rafael Fontenelle , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-11-21 17:56+0000\n" +"PO-Revision-Date: 2025-09-22 15:57+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=2; plural=(n > 1);\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 msgid "" "Return the file system representation for *path*. If the object is a :class:" -"`str` or :class:`bytes` object, then its reference count is incremented. If " -"the object implements the :class:`os.PathLike` interface, then :meth:`~os." -"PathLike.__fspath__` is returned as long as it is a :class:`str` or :class:" -"`bytes` object. Otherwise :exc:`TypeError` is raised and ``NULL`` is " -"returned." +"`str` or :class:`bytes` object, then a new :term:`strong reference` is " +"returned. If the object implements the :class:`os.PathLike` interface, then :" +"meth:`~os.PathLike.__fspath__` is returned as long as it is a :class:`str` " +"or :class:`bytes` object. Otherwise :exc:`TypeError` is raised and ``NULL`` " +"is returned." msgstr "" +"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:23 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 " @@ -47,22 +54,29 @@ msgid "" "``''`` or ``'???'``." msgstr "" -#: ../../c-api/sys.rst:31 +#: ../../c-api/sys.rst:32 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:38 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:48 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 " @@ -70,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:55 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:65 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 " @@ -86,38 +108,50 @@ 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:72 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:80 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`." 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:87 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:92 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:98 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 " @@ -131,180 +165,234 @@ msgstr "" "Microsoft Visual C++). :const:`USE_STACKCHECK` será definido " "automaticamente; você nunca deve mudar a definição em seu próprio código." -#: ../../c-api/sys.rst:106 +#: ../../c-api/sys.rst:107 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:" -"type:`void (\\*)(int)`." +"expr:`void (\\*)(int)`." 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 ligue para " -"essas funções diretamente! :c:type:`PyOS_sighandler_t` é um alias de typedef " -"para :c:type:`void (\\*)(int)`." -#: ../../c-api/sys.rst:114 +#: ../../c-api/sys.rst:115 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:type:`void (\\*)(int)`." +"`PyOS_sighandler_t` is a typedef alias for :c:expr:`void (\\*)(int)`." msgstr "" -"Defina o manipulador de sinal para que o sinal *i* seja *h*; Devolva o " -"antigo manipulador de sinal. Este é um invólucro fino em torno de :c:func:" -"`sigaction` ou :c:func:`signal`. Não ligue para essas funções diretamente! :" -"c:type:`PyOS_sighandler_t` é um alias de typedef para :c:type:`void (\\*)" -"(int)`." -#: ../../c-api/sys.rst:122 +#: ../../c-api/sys.rst:123 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 `." 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:127 ../../c-api/sys.rst:194 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." 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:131 msgid "" "Decode a byte string from the :term:`filesystem encoding and error handler`. " "If the error handler is :ref:`surrogateescape error handler " -"`, undecodable bytes are decoded as characters in range U" -"+DC80..U+DCFF; and if a byte sequence can be decoded as a surrogate " +"`, undecodable bytes are decoded as characters in range " +"U+DC80..U+DCFF; and if a byte sequence can be decoded as a surrogate " "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:138 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``" 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:142 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:146 ../../c-api/sys.rst:186 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`." 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:150 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:153 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:158 msgid "" "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:163 ../../c-api/sys.rst:205 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:208 +#: ../../c-api/sys.rst:167 msgid "" "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:174 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:179 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" +"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:183 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:190 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:200 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:216 -msgid "System Functions" +#: ../../c-api/sys.rst:209 +msgid "" +"The function now uses the UTF-8 encoding on Windows if :c:data:" +"`Py_LegacyWindowsFSEncodingFlag` is zero." msgstr "" -#: ../../c-api/sys.rst:218 +#: ../../c-api/sys.rst:217 +msgid "System Functions" +msgstr "Funções de sistema" + +#: ../../c-api/sys.rst:219 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:225 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:230 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:236 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:241 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:245 +#: ../../c-api/sys.rst:246 msgid "Append *unicode* to :data:`sys.warnoptions`." msgstr "" -#: ../../c-api/sys.rst:247 +#: ../../c-api/sys.rst:248 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:" @@ -313,20 +401,22 @@ msgid "" "Unicode objects." msgstr "" -#: ../../c-api/sys.rst:255 +#: ../../c-api/sys.rst:256 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)." msgstr "" -#: ../../c-api/sys.rst:261 +#: ../../c-api/sys.rst:262 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:264 +#: ../../c-api/sys.rst:265 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 " @@ -336,52 +426,74 @@ 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:272 +#: ../../c-api/sys.rst:273 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:277 +#: ../../c-api/sys.rst:278 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:282 +#: ../../c-api/sys.rst:283 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." 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:290 +#: ../../c-api/sys.rst:291 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:297 +#: ../../c-api/sys.rst:298 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:305 +#: ../../c-api/sys.rst:306 msgid "" "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:314 +#: ../../c-api/sys.rst:315 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:317 +#: ../../c-api/sys.rst:318 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 " @@ -392,31 +504,41 @@ msgid "" "leaks.)" msgstr "" -#: ../../c-api/sys.rst:325 +#: ../../c-api/sys.rst:326 msgid "" -"Note that ``#`` format characters should always be treated as " -"``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:328 +#: ../../c-api/sys.rst:329 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:334 +#: ../../c-api/sys.rst:335 msgid "" -"Require ``Py_ssize_t`` for ``#`` format characters. Previously, an " +"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:340 +#: ../../c-api/sys.rst:341 msgid "" "Append the callable *hook* to the list of active auditing hooks. Return zero " -"for success and non-zero on failure. If the runtime has been initialized, " +"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:346 +#: ../../c-api/sys.rst:347 msgid "" "The *userData* pointer is passed into the hook function. Since hook " "functions may be called from different runtimes, this pointer should not " @@ -426,36 +548,39 @@ 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:350 +#: ../../c-api/sys.rst:351 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)." 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:355 +#: ../../c-api/sys.rst:356 msgid "" -"The hook function is of type :c:type:`int (*)(const char *event, PyObject " +"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." msgstr "" -#: ../../c-api/sys.rst:360 +#: ../../c-api/sys.rst:361 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:365 -msgid "" -"Raises an :ref:`auditing event ` ``sys.addaudithook`` with no " -"arguments." -msgstr "" - -#: ../../c-api/sys.rst:367 +#: ../../c-api/sys.rst:368 msgid "" "If the interpreter is initialized, this function raises a auditing event " "``sys.addaudithook`` with no arguments. If any existing hooks raise an " @@ -464,11 +589,11 @@ msgid "" "hook has been added unless they control all existing hooks." msgstr "" -#: ../../c-api/sys.rst:379 +#: ../../c-api/sys.rst:380 msgid "Process Control" -msgstr "" +msgstr "Controle de processos" -#: ../../c-api/sys.rst:386 +#: ../../c-api/sys.rst:387 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 " @@ -478,29 +603,36 @@ msgid "" "file:`core` file." msgstr "" -#: ../../c-api/sys.rst:393 +#: ../../c-api/sys.rst:394 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:397 +#: ../../c-api/sys.rst:398 msgid "Log the function name automatically." -msgstr "" +msgstr "Registra o nome da função automaticamente." -#: ../../c-api/sys.rst:407 +#: ../../c-api/sys.rst:408 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." 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:411 +#: ../../c-api/sys.rst:412 msgid "Errors from finalization no longer ignored." -msgstr "" +msgstr "Erros da finalização não são mais ignorados." -#: ../../c-api/sys.rst:421 +#: ../../c-api/sys.rst:422 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 " @@ -511,3 +643,11 @@ 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*." diff --git a/c-api/tuple.po b/c-api/tuple.po index 1b1ece0b7..fd03e409f 100644 --- a/c-api/tuple.po +++ b/c-api/tuple.po @@ -1,32 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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 -# Welington Carlos , 2021 -# Claudio Rogerio Carvalho Filho , 2021 -# Juliana Karoline , 2021 -# Alexandre B A Villares, 2021 -# Vitor Buxbaum Orlandi, 2021 +# python-doc bot, 2025 # #, 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 00:50+0000\n" -"Last-Translator: Vitor Buxbaum Orlandi, 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:57+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../c-api/tuple.rst:6 msgid "Tuple Objects" @@ -173,8 +168,8 @@ 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`." @@ -284,15 +279,10 @@ msgstr "número de campos visíveis para o lado Python (se usado como tupla)" #: ../../c-api/tuple.rst:163 msgid "" "Describes a field of a struct sequence. As a struct sequence is modeled as a " -"tuple, all fields are typed as :c:type:`PyObject*`. The index in the :attr:" +"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." 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:" -"type:`PyObject *`. O índice no vetor :attr:`fields` do :c:type:" -"`PyStructSequence_Desc` determina qual campo da sequência de estrutura é " -"descrito." #: ../../c-api/tuple.rst:171 msgid "" @@ -346,7 +336,7 @@ msgstr "" #: ../../c-api/tuple.rst:213 ../../c-api/tuple.rst:222 msgid "This function \"steals\" a reference to *o*." -msgstr "Esta função \"rouba\" uma referência a *o*. " +msgstr "Esta função \"rouba\" uma referência a *o*." #: ../../c-api/tuple.rst:218 msgid "Macro equivalent of :c:func:`PyStructSequence_SetItem`." diff --git a/c-api/type.po b/c-api/type.po index a1b5e18e6..d6c4e6887 100644 --- a/c-api/type.po +++ b/c-api/type.po @@ -1,27 +1,28 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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 +# Gustavo Reis, 2025 # #, 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 00:50+0000\n" -"Last-Translator: Marco Rougeth , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-10-31 17:16+0000\n" +"PO-Revision-Date: 2025-09-22 15:57+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=2; plural=(n > 1);\n" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../c-api/type.rst:6 msgid "Type Objects" @@ -66,14 +67,10 @@ msgstr "Limpa o cache de pesquisa interno. Retorna a marcação de versão atual #: ../../c-api/type.rst:42 msgid "" "Return the :c:member:`~PyTypeObject.tp_flags` member of *type*. This " -"function is primarily meant for use with `Py_LIMITED_API`; the individual " +"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." msgstr "" -"Retorna o membro :c:member:`~PyTypeObject.tp_flags` de *type*. Esta função " -"deve ser usada principalmente com `Py_LIMITED_API`; os bits sinalizadores " -"individuais têm garantia de estabilidade em todas as versões do Python, mas " -"o acesso a :c:member:`~PyTypeObject.tp_flags` não faz parte da API limitada." #: ../../c-api/type.rst:49 msgid "The return type is now ``unsigned long`` rather than ``long``." @@ -185,6 +182,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:127 msgid "" @@ -224,6 +223,8 @@ 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:158 msgid "Creating Heap-Allocated Types" @@ -254,7 +255,7 @@ 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 retreived with :" +"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 "" @@ -365,7 +366,7 @@ msgstr ":c:member:`~PyTypeObject.tp_weaklist`" #: ../../c-api/type.rst:254 msgid ":c:member:`~PyTypeObject.tp_vectorcall`" -msgstr "" +msgstr ":c:member:`~PyTypeObject.tp_vectorcall`" #: ../../c-api/type.rst:255 msgid "" @@ -407,7 +408,7 @@ msgid "" msgstr "" #: ../../c-api/type.rst:275 -msgid "Slots in :c:type:`PyBufferProcs` in may be set in the unlimited API." +msgid "Slots in :c:type:`PyBufferProcs` may be set in the unlimited API." msgstr "" #: ../../c-api/type.rst:279 diff --git a/c-api/typehints.po b/c-api/typehints.po index 1cb644b75..f14e9a18a 100644 --- a/c-api/typehints.po +++ b/c-api/typehints.po @@ -1,27 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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 -# Vitor Buxbaum Orlandi, 2021 +# python-doc bot, 2025 # #, 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 00:50+0000\n" -"Last-Translator: Vitor Buxbaum Orlandi, 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:57+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../c-api/typehints.rst:6 msgid "Objects for Type Hinting" @@ -42,8 +42,8 @@ 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:type:" -"`PyTypeObject*`, and *args* can be a :c:type:`PyTupleObject*` or any " +"``__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 " @@ -51,11 +51,11 @@ msgid "" "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:type:" -"`PyTypeObject*`, e *args* pode ser um :c:type:`PyTupleObject*` ou qualquer " +"``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 " diff --git a/c-api/typeobj.po b/c-api/typeobj.po index 7a6ce1dbe..325082843 100644 --- a/c-api/typeobj.po +++ b/c-api/typeobj.po @@ -1,30 +1,28 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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 -# Marco Rougeth , 2021 -# Claudio Rogerio Carvalho Filho , 2021 -# (Douglas da Silva) , 2021 +# python-doc bot, 2025 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.10\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-08-05 13:13+0000\n" -"PO-Revision-Date: 2021-06-28 00:50+0000\n" -"Last-Translator: (Douglas da Silva) , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-10-13 17:33+0000\n" +"PO-Revision-Date: 2025-09-22 15:57+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=2; plural=(n > 1);\n" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../c-api/typeobj.rst:6 msgid "Type Objects" @@ -34,20 +32,19 @@ msgstr "Objetos tipo" msgid "" "Perhaps one of the most important structures of the Python object system is " "the structure that defines a new type: the :c:type:`PyTypeObject` " -"structure. Type objects can be handled using any of the :c:func:`PyObject_" -"\\*` or :c:func:`PyType_\\*` functions, but do not offer much that's " -"interesting to most Python applications. These objects are fundamental to " -"how objects behave, so they are very important to the interpreter itself and " -"to any extension module that implements new types." +"structure. Type objects can be handled using any of the ``PyObject_*`` or " +"``PyType_*`` functions, but do not offer much that's interesting to most " +"Python applications. These objects are fundamental to how objects behave, so " +"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 de tipo podem ser manipulados usando qualquer uma das funções :c:" -"func:`PyObject_\\*` ou :c:func:`PyType_\\*`, mas não oferecem muita coisa " -"interessante para a maioria dos aplicativos 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." +"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 "" @@ -58,12 +55,12 @@ 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 "" @@ -86,9 +83,9 @@ msgstr "\"slots tp\"" msgid "PyTypeObject Slot [#slots]_" msgstr "Slot de PyTypeObject [#slots]_" -#: ../../c-api/typeobj.rst:40 ../../c-api/typeobj.rst:193 +#: ../../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" @@ -153,9 +150,9 @@ 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:408 -msgid "Py_ssize_t" -msgstr "Py_ssize_t" +#: ../../c-api/typeobj.rst:414 +msgid ":c:type:`Py_ssize_t`" +msgstr ":c:type:`Py_ssize_t`" #: ../../c-api/typeobj.rst:48 msgid ":c:member:`~PyTypeObject.tp_itemsize`" @@ -166,7 +163,7 @@ msgid ":c:member:`~PyTypeObject.tp_dealloc`" msgstr ":c:member:`~PyTypeObject.tp_dealloc`" #: ../../c-api/typeobj.rst:50 ../../c-api/typeobj.rst:142 -#: ../../c-api/typeobj.rst:146 ../../c-api/typeobj.rst:338 +#: ../../c-api/typeobj.rst:146 ../../c-api/typeobj.rst:344 msgid ":c:type:`destructor`" msgstr ":c:type:`destructor`" @@ -178,7 +175,7 @@ msgstr ":c:member:`~PyTypeObject.tp_vectorcall_offset`" msgid "(:c:member:`~PyTypeObject.tp_getattr`)" msgstr "(:c:member:`~PyTypeObject.tp_getattr`)" -#: ../../c-api/typeobj.rst:54 ../../c-api/typeobj.rst:362 +#: ../../c-api/typeobj.rst:54 ../../c-api/typeobj.rst:368 msgid ":c:type:`getattrfunc`" msgstr ":c:type:`getattrfunc`" @@ -197,7 +194,7 @@ msgstr "G" msgid "(:c:member:`~PyTypeObject.tp_setattr`)" msgstr "(:c:member:`~PyTypeObject.tp_setattr`)" -#: ../../c-api/typeobj.rst:57 ../../c-api/typeobj.rst:367 +#: ../../c-api/typeobj.rst:57 ../../c-api/typeobj.rst:373 msgid ":c:type:`setattrfunc`" msgstr ":c:type:`setattrfunc`" @@ -229,7 +226,7 @@ msgid ":c:member:`~PyTypeObject.tp_repr`" msgstr ":c:member:`~PyTypeObject.tp_repr`" #: ../../c-api/typeobj.rst:62 ../../c-api/typeobj.rst:74 -#: ../../c-api/typeobj.rst:360 +#: ../../c-api/typeobj.rst:366 msgid ":c:type:`reprfunc`" msgstr ":c:type:`reprfunc`" @@ -265,7 +262,7 @@ msgstr ":c:type:`PyMappingMethods` *" msgid ":c:member:`~PyTypeObject.tp_hash`" msgstr ":c:member:`~PyTypeObject.tp_hash`" -#: ../../c-api/typeobj.rst:70 ../../c-api/typeobj.rst:396 +#: ../../c-api/typeobj.rst:70 ../../c-api/typeobj.rst:402 msgid ":c:type:`hashfunc`" msgstr ":c:type:`hashfunc`" @@ -277,8 +274,8 @@ msgstr "__hash__" msgid ":c:member:`~PyTypeObject.tp_call`" msgstr ":c:member:`~PyTypeObject.tp_call`" -#: ../../c-api/typeobj.rst:72 ../../c-api/typeobj.rst:229 -#: ../../c-api/typeobj.rst:232 ../../c-api/typeobj.rst:432 +#: ../../c-api/typeobj.rst:72 ../../c-api/typeobj.rst:235 +#: ../../c-api/typeobj.rst:238 ../../c-api/typeobj.rst:438 msgid ":c:type:`ternaryfunc`" msgstr ":c:type:`ternaryfunc`" @@ -298,7 +295,7 @@ msgstr "__str__" msgid ":c:member:`~PyTypeObject.tp_getattro`" msgstr ":c:member:`~PyTypeObject.tp_getattro`" -#: ../../c-api/typeobj.rst:76 ../../c-api/typeobj.rst:373 +#: ../../c-api/typeobj.rst:76 ../../c-api/typeobj.rst:379 msgid ":c:type:`getattrofunc`" msgstr ":c:type:`getattrofunc`" @@ -306,7 +303,7 @@ msgstr ":c:type:`getattrofunc`" msgid ":c:member:`~PyTypeObject.tp_setattro`" msgstr ":c:member:`~PyTypeObject.tp_setattro`" -#: ../../c-api/typeobj.rst:79 ../../c-api/typeobj.rst:378 +#: ../../c-api/typeobj.rst:79 ../../c-api/typeobj.rst:384 msgid ":c:type:`setattrofunc`" msgstr ":c:type:`setattrofunc`" @@ -345,7 +342,7 @@ msgstr "__doc__" msgid ":c:member:`~PyTypeObject.tp_traverse`" msgstr ":c:member:`~PyTypeObject.tp_traverse`" -#: ../../c-api/typeobj.rst:88 ../../c-api/typeobj.rst:342 +#: ../../c-api/typeobj.rst:88 ../../c-api/typeobj.rst:348 msgid ":c:type:`traverseproc`" msgstr ":c:type:`traverseproc`" @@ -354,7 +351,7 @@ msgid ":c:member:`~PyTypeObject.tp_clear`" msgstr ":c:member:`~PyTypeObject.tp_clear`" #: ../../c-api/typeobj.rst:90 ../../c-api/typeobj.rst:130 -#: ../../c-api/typeobj.rst:240 ../../c-api/typeobj.rst:421 +#: ../../c-api/typeobj.rst:246 ../../c-api/typeobj.rst:427 msgid ":c:type:`inquiry`" msgstr ":c:type:`inquiry`" @@ -362,7 +359,7 @@ msgstr ":c:type:`inquiry`" msgid ":c:member:`~PyTypeObject.tp_richcompare`" msgstr ":c:member:`~PyTypeObject.tp_richcompare`" -#: ../../c-api/typeobj.rst:92 ../../c-api/typeobj.rst:398 +#: ../../c-api/typeobj.rst:92 ../../c-api/typeobj.rst:404 msgid ":c:type:`richcmpfunc`" msgstr ":c:type:`richcmpfunc`" @@ -378,7 +375,7 @@ msgstr ":c:member:`~PyTypeObject.tp_weaklistoffset`" msgid ":c:member:`~PyTypeObject.tp_iter`" msgstr ":c:member:`~PyTypeObject.tp_iter`" -#: ../../c-api/typeobj.rst:101 ../../c-api/typeobj.rst:404 +#: ../../c-api/typeobj.rst:101 ../../c-api/typeobj.rst:410 msgid ":c:type:`getiterfunc`" msgstr ":c:type:`getiterfunc`" @@ -390,7 +387,7 @@ msgstr "__iter__" msgid ":c:member:`~PyTypeObject.tp_iternext`" msgstr ":c:member:`~PyTypeObject.tp_iternext`" -#: ../../c-api/typeobj.rst:103 ../../c-api/typeobj.rst:406 +#: ../../c-api/typeobj.rst:103 ../../c-api/typeobj.rst:412 msgid ":c:type:`iternextfunc`" msgstr ":c:type:`iternextfunc`" @@ -441,14 +438,14 @@ 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:333 ../../c-api/typeobj.rst:0 -#: ../../c-api/typeobj.rst:348 ../../c-api/typeobj.rst:360 -#: ../../c-api/typeobj.rst:362 ../../c-api/typeobj.rst:373 -#: ../../c-api/typeobj.rst:384 ../../c-api/typeobj.rst:396 -#: ../../c-api/typeobj.rst:398 ../../c-api/typeobj.rst:404 -#: ../../c-api/typeobj.rst:406 ../../c-api/typeobj.rst:408 -#: ../../c-api/typeobj.rst:423 ../../c-api/typeobj.rst:427 -#: ../../c-api/typeobj.rst:432 ../../c-api/typeobj.rst:438 +#: ../../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:429 ../../c-api/typeobj.rst:433 +#: ../../c-api/typeobj.rst:438 ../../c-api/typeobj.rst:444 msgid ":c:type:`PyObject` *" msgstr ":c:type:`PyObject` *" @@ -460,7 +457,7 @@ msgstr "__dict__" msgid ":c:member:`~PyTypeObject.tp_descr_get`" msgstr ":c:member:`~PyTypeObject.tp_descr_get`" -#: ../../c-api/typeobj.rst:115 ../../c-api/typeobj.rst:384 +#: ../../c-api/typeobj.rst:115 ../../c-api/typeobj.rst:390 msgid ":c:type:`descrgetfunc`" msgstr ":c:type:`descrgetfunc`" @@ -472,7 +469,7 @@ msgstr "__get__" msgid ":c:member:`~PyTypeObject.tp_descr_set`" msgstr ":c:member:`~PyTypeObject.tp_descr_set`" -#: ../../c-api/typeobj.rst:117 ../../c-api/typeobj.rst:390 +#: ../../c-api/typeobj.rst:117 ../../c-api/typeobj.rst:396 msgid ":c:type:`descrsetfunc`" msgstr ":c:type:`descrsetfunc`" @@ -488,7 +485,7 @@ msgstr ":c:member:`~PyTypeObject.tp_dictoffset`" msgid ":c:member:`~PyTypeObject.tp_init`" msgstr ":c:member:`~PyTypeObject.tp_init`" -#: ../../c-api/typeobj.rst:122 ../../c-api/typeobj.rst:354 +#: ../../c-api/typeobj.rst:122 ../../c-api/typeobj.rst:360 msgid ":c:type:`initproc`" msgstr ":c:type:`initproc`" @@ -500,7 +497,7 @@ msgstr "__init__" msgid ":c:member:`~PyTypeObject.tp_alloc`" msgstr ":c:member:`~PyTypeObject.tp_alloc`" -#: ../../c-api/typeobj.rst:124 ../../c-api/typeobj.rst:333 +#: ../../c-api/typeobj.rst:124 ../../c-api/typeobj.rst:339 msgid ":c:type:`allocfunc`" msgstr ":c:type:`allocfunc`" @@ -508,7 +505,7 @@ msgstr ":c:type:`allocfunc`" msgid ":c:member:`~PyTypeObject.tp_new`" msgstr ":c:member:`~PyTypeObject.tp_new`" -#: ../../c-api/typeobj.rst:126 ../../c-api/typeobj.rst:348 +#: ../../c-api/typeobj.rst:126 ../../c-api/typeobj.rst:354 msgid ":c:type:`newfunc`" msgstr ":c:type:`newfunc`" @@ -520,7 +517,7 @@ msgstr "__new__" msgid ":c:member:`~PyTypeObject.tp_free`" msgstr ":c:member:`~PyTypeObject.tp_free`" -#: ../../c-api/typeobj.rst:128 ../../c-api/typeobj.rst:340 +#: ../../c-api/typeobj.rst:128 ../../c-api/typeobj.rst:346 msgid ":c:type:`freefunc`" msgstr ":c:type:`freefunc`" @@ -554,23 +551,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" @@ -582,552 +579,574 @@ 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`" -msgstr "" +msgstr ":c:member:`~PyTypeObject.tp_vectorcall`" #: ../../c-api/typeobj.rst:148 msgid ":c:type:`vectorcallfunc`" +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:152 +#: ../../c-api/typeobj.rst:155 msgid "" -"A slot name in parentheses indicates it is (effectively) deprecated. Names " -"in angle brackets should be treated as read-only. Names in square brackets " -"are for internal use only. \"\" (as a prefix) means the field is required " -"(must be non-``NULL``)." +"**<>**: Names in angle brackets should be initially set to ``NULL`` and " +"treated as read-only." msgstr "" -#: ../../c-api/typeobj.rst:156 +#: ../../c-api/typeobj.rst:158 +msgid "**[]**: Names in square brackets are for internal use only." +msgstr "" + +#: ../../c-api/typeobj.rst:160 +msgid "" +"**** (as a prefix) means the field is required (must be non-``NULL``)." +msgstr "" + +#: ../../c-api/typeobj.rst:162 msgid "Columns:" msgstr "" -#: ../../c-api/typeobj.rst:158 +#: ../../c-api/typeobj.rst:164 msgid "**\"O\"**: set on :c:type:`PyBaseObject_Type`" msgstr "" -#: ../../c-api/typeobj.rst:160 +#: ../../c-api/typeobj.rst:166 msgid "**\"T\"**: set on :c:type:`PyType_Type`" msgstr "" -#: ../../c-api/typeobj.rst:162 +#: ../../c-api/typeobj.rst:168 msgid "**\"D\"**: default (if slot is set to ``NULL``)" msgstr "" -#: ../../c-api/typeobj.rst:172 +#: ../../c-api/typeobj.rst:178 msgid "**\"I\"**: inheritance" msgstr "" -#: ../../c-api/typeobj.rst:181 +#: ../../c-api/typeobj.rst:187 msgid "" "Note that some slots are effectively inherited through the normal attribute " "lookup chain." msgstr "" -#: ../../c-api/typeobj.rst:187 +#: ../../c-api/typeobj.rst:193 msgid "sub-slots" msgstr "" -#: ../../c-api/typeobj.rst:193 +#: ../../c-api/typeobj.rst:199 msgid "Slot" msgstr "" -#: ../../c-api/typeobj.rst:193 +#: ../../c-api/typeobj.rst:199 msgid "special methods" msgstr "" -#: ../../c-api/typeobj.rst:196 +#: ../../c-api/typeobj.rst:202 msgid ":c:member:`~PyAsyncMethods.am_await`" msgstr ":c:member:`~PyAsyncMethods.am_await`" -#: ../../c-api/typeobj.rst:196 ../../c-api/typeobj.rst:198 -#: ../../c-api/typeobj.rst:200 ../../c-api/typeobj.rst:234 -#: ../../c-api/typeobj.rst:236 ../../c-api/typeobj.rst:238 -#: ../../c-api/typeobj.rst:242 ../../c-api/typeobj.rst:269 -#: ../../c-api/typeobj.rst:273 ../../c-api/typeobj.rst:283 -#: ../../c-api/typeobj.rst:423 +#: ../../c-api/typeobj.rst:202 ../../c-api/typeobj.rst:204 +#: ../../c-api/typeobj.rst:206 ../../c-api/typeobj.rst:240 +#: ../../c-api/typeobj.rst:242 ../../c-api/typeobj.rst:244 +#: ../../c-api/typeobj.rst:248 ../../c-api/typeobj.rst:275 +#: ../../c-api/typeobj.rst:279 ../../c-api/typeobj.rst:289 +#: ../../c-api/typeobj.rst:429 msgid ":c:type:`unaryfunc`" msgstr ":c:type:`unaryfunc`" -#: ../../c-api/typeobj.rst:196 +#: ../../c-api/typeobj.rst:202 msgid "__await__" -msgstr "" +msgstr "__await__" -#: ../../c-api/typeobj.rst:198 +#: ../../c-api/typeobj.rst:204 msgid ":c:member:`~PyAsyncMethods.am_aiter`" msgstr ":c:member:`~PyAsyncMethods.am_aiter`" -#: ../../c-api/typeobj.rst:198 +#: ../../c-api/typeobj.rst:204 msgid "__aiter__" -msgstr "" +msgstr "__aiter__" -#: ../../c-api/typeobj.rst:200 +#: ../../c-api/typeobj.rst:206 msgid ":c:member:`~PyAsyncMethods.am_anext`" msgstr ":c:member:`~PyAsyncMethods.am_anext`" -#: ../../c-api/typeobj.rst:200 +#: ../../c-api/typeobj.rst:206 msgid "__anext__" -msgstr "" +msgstr "__anext__" -#: ../../c-api/typeobj.rst:202 +#: ../../c-api/typeobj.rst:208 msgid ":c:member:`~PyAsyncMethods.am_send`" -msgstr "" +msgstr ":c:member:`~PyAsyncMethods.am_send`" -#: ../../c-api/typeobj.rst:202 +#: ../../c-api/typeobj.rst:208 msgid ":c:type:`sendfunc`" -msgstr "" +msgstr ":c:type:`sendfunc`" -#: ../../c-api/typeobj.rst:206 +#: ../../c-api/typeobj.rst:212 msgid ":c:member:`~PyNumberMethods.nb_add`" msgstr ":c:member:`~PyNumberMethods.nb_add`" -#: ../../c-api/typeobj.rst:206 ../../c-api/typeobj.rst:209 -#: ../../c-api/typeobj.rst:211 ../../c-api/typeobj.rst:214 -#: ../../c-api/typeobj.rst:216 ../../c-api/typeobj.rst:219 -#: ../../c-api/typeobj.rst:221 ../../c-api/typeobj.rst:224 -#: ../../c-api/typeobj.rst:226 ../../c-api/typeobj.rst:244 -#: ../../c-api/typeobj.rst:247 ../../c-api/typeobj.rst:249 -#: ../../c-api/typeobj.rst:252 ../../c-api/typeobj.rst:254 -#: ../../c-api/typeobj.rst:257 ../../c-api/typeobj.rst:259 -#: ../../c-api/typeobj.rst:262 ../../c-api/typeobj.rst:264 -#: ../../c-api/typeobj.rst:267 ../../c-api/typeobj.rst:275 -#: ../../c-api/typeobj.rst:277 ../../c-api/typeobj.rst:279 -#: ../../c-api/typeobj.rst:281 ../../c-api/typeobj.rst:285 -#: ../../c-api/typeobj.rst:288 ../../c-api/typeobj.rst:294 -#: ../../c-api/typeobj.rst:303 ../../c-api/typeobj.rst:314 -#: ../../c-api/typeobj.rst:427 +#: ../../c-api/typeobj.rst:212 ../../c-api/typeobj.rst:215 +#: ../../c-api/typeobj.rst:217 ../../c-api/typeobj.rst:220 +#: ../../c-api/typeobj.rst:222 ../../c-api/typeobj.rst:225 +#: ../../c-api/typeobj.rst:227 ../../c-api/typeobj.rst:230 +#: ../../c-api/typeobj.rst:232 ../../c-api/typeobj.rst:250 +#: ../../c-api/typeobj.rst:253 ../../c-api/typeobj.rst:255 +#: ../../c-api/typeobj.rst:258 ../../c-api/typeobj.rst:260 +#: ../../c-api/typeobj.rst:263 ../../c-api/typeobj.rst:265 +#: ../../c-api/typeobj.rst:268 ../../c-api/typeobj.rst:270 +#: ../../c-api/typeobj.rst:273 ../../c-api/typeobj.rst:281 +#: ../../c-api/typeobj.rst:283 ../../c-api/typeobj.rst:285 +#: ../../c-api/typeobj.rst:287 ../../c-api/typeobj.rst:291 +#: ../../c-api/typeobj.rst:294 ../../c-api/typeobj.rst:300 +#: ../../c-api/typeobj.rst:309 ../../c-api/typeobj.rst:320 +#: ../../c-api/typeobj.rst:433 msgid ":c:type:`binaryfunc`" msgstr ":c:type:`binaryfunc`" -#: ../../c-api/typeobj.rst:206 +#: ../../c-api/typeobj.rst:212 msgid "__add__ __radd__" msgstr "" -#: ../../c-api/typeobj.rst:209 +#: ../../c-api/typeobj.rst:215 msgid ":c:member:`~PyNumberMethods.nb_inplace_add`" msgstr ":c:member:`~PyNumberMethods.nb_inplace_add`" -#: ../../c-api/typeobj.rst:209 ../../c-api/typeobj.rst:314 +#: ../../c-api/typeobj.rst:215 ../../c-api/typeobj.rst:320 msgid "__iadd__" -msgstr "" +msgstr "__iadd__" -#: ../../c-api/typeobj.rst:211 +#: ../../c-api/typeobj.rst:217 msgid ":c:member:`~PyNumberMethods.nb_subtract`" msgstr ":c:member:`~PyNumberMethods.nb_subtract`" -#: ../../c-api/typeobj.rst:211 +#: ../../c-api/typeobj.rst:217 msgid "__sub__ __rsub__" msgstr "" -#: ../../c-api/typeobj.rst:214 +#: ../../c-api/typeobj.rst:220 msgid ":c:member:`~PyNumberMethods.nb_inplace_subtract`" msgstr ":c:member:`~PyNumberMethods.nb_inplace_subtract`" -#: ../../c-api/typeobj.rst:214 -msgid "__sub__" +#: ../../c-api/typeobj.rst:220 +msgid "__isub__" msgstr "" -#: ../../c-api/typeobj.rst:216 +#: ../../c-api/typeobj.rst:222 msgid ":c:member:`~PyNumberMethods.nb_multiply`" msgstr ":c:member:`~PyNumberMethods.nb_multiply`" -#: ../../c-api/typeobj.rst:216 +#: ../../c-api/typeobj.rst:222 msgid "__mul__ __rmul__" msgstr "" -#: ../../c-api/typeobj.rst:219 +#: ../../c-api/typeobj.rst:225 msgid ":c:member:`~PyNumberMethods.nb_inplace_multiply`" msgstr ":c:member:`~PyNumberMethods.nb_inplace_multiply`" -#: ../../c-api/typeobj.rst:219 ../../c-api/typeobj.rst:305 -msgid "__mul__" -msgstr "" +#: ../../c-api/typeobj.rst:225 ../../c-api/typeobj.rst:322 +msgid "__imul__" +msgstr "__imul__" -#: ../../c-api/typeobj.rst:221 +#: ../../c-api/typeobj.rst:227 msgid ":c:member:`~PyNumberMethods.nb_remainder`" msgstr ":c:member:`~PyNumberMethods.nb_remainder`" -#: ../../c-api/typeobj.rst:221 +#: ../../c-api/typeobj.rst:227 msgid "__mod__ __rmod__" msgstr "" -#: ../../c-api/typeobj.rst:224 +#: ../../c-api/typeobj.rst:230 msgid ":c:member:`~PyNumberMethods.nb_inplace_remainder`" msgstr ":c:member:`~PyNumberMethods.nb_inplace_remainder`" -#: ../../c-api/typeobj.rst:224 -msgid "__mod__" +#: ../../c-api/typeobj.rst:230 +msgid "__imod__" msgstr "" -#: ../../c-api/typeobj.rst:226 +#: ../../c-api/typeobj.rst:232 msgid ":c:member:`~PyNumberMethods.nb_divmod`" msgstr ":c:member:`~PyNumberMethods.nb_divmod`" -#: ../../c-api/typeobj.rst:226 +#: ../../c-api/typeobj.rst:232 msgid "__divmod__ __rdivmod__" msgstr "" -#: ../../c-api/typeobj.rst:229 +#: ../../c-api/typeobj.rst:235 msgid ":c:member:`~PyNumberMethods.nb_power`" msgstr ":c:member:`~PyNumberMethods.nb_power`" -#: ../../c-api/typeobj.rst:229 +#: ../../c-api/typeobj.rst:235 msgid "__pow__ __rpow__" msgstr "" -#: ../../c-api/typeobj.rst:232 +#: ../../c-api/typeobj.rst:238 msgid ":c:member:`~PyNumberMethods.nb_inplace_power`" msgstr ":c:member:`~PyNumberMethods.nb_inplace_power`" -#: ../../c-api/typeobj.rst:232 -msgid "__pow__" +#: ../../c-api/typeobj.rst:238 +msgid "__ipow__" msgstr "" -#: ../../c-api/typeobj.rst:234 +#: ../../c-api/typeobj.rst:240 msgid ":c:member:`~PyNumberMethods.nb_negative`" msgstr ":c:member:`~PyNumberMethods.nb_negative`" -#: ../../c-api/typeobj.rst:234 +#: ../../c-api/typeobj.rst:240 msgid "__neg__" -msgstr "" +msgstr "__neg__" -#: ../../c-api/typeobj.rst:236 +#: ../../c-api/typeobj.rst:242 msgid ":c:member:`~PyNumberMethods.nb_positive`" msgstr ":c:member:`~PyNumberMethods.nb_positive`" -#: ../../c-api/typeobj.rst:236 +#: ../../c-api/typeobj.rst:242 msgid "__pos__" -msgstr "" +msgstr "__pos__" -#: ../../c-api/typeobj.rst:238 +#: ../../c-api/typeobj.rst:244 msgid ":c:member:`~PyNumberMethods.nb_absolute`" msgstr ":c:member:`~PyNumberMethods.nb_absolute`" -#: ../../c-api/typeobj.rst:238 +#: ../../c-api/typeobj.rst:244 msgid "__abs__" -msgstr "" +msgstr "__abs__" -#: ../../c-api/typeobj.rst:240 +#: ../../c-api/typeobj.rst:246 msgid ":c:member:`~PyNumberMethods.nb_bool`" msgstr ":c:member:`~PyNumberMethods.nb_bool`" -#: ../../c-api/typeobj.rst:240 +#: ../../c-api/typeobj.rst:246 msgid "__bool__" -msgstr "" +msgstr "__bool__" -#: ../../c-api/typeobj.rst:242 +#: ../../c-api/typeobj.rst:248 msgid ":c:member:`~PyNumberMethods.nb_invert`" msgstr ":c:member:`~PyNumberMethods.nb_invert`" -#: ../../c-api/typeobj.rst:242 +#: ../../c-api/typeobj.rst:248 msgid "__invert__" -msgstr "" +msgstr "__invert__" -#: ../../c-api/typeobj.rst:244 +#: ../../c-api/typeobj.rst:250 msgid ":c:member:`~PyNumberMethods.nb_lshift`" msgstr ":c:member:`~PyNumberMethods.nb_lshift`" -#: ../../c-api/typeobj.rst:244 +#: ../../c-api/typeobj.rst:250 msgid "__lshift__ __rlshift__" msgstr "" -#: ../../c-api/typeobj.rst:247 +#: ../../c-api/typeobj.rst:253 msgid ":c:member:`~PyNumberMethods.nb_inplace_lshift`" msgstr ":c:member:`~PyNumberMethods.nb_inplace_lshift`" -#: ../../c-api/typeobj.rst:247 -msgid "__lshift__" +#: ../../c-api/typeobj.rst:253 +msgid "__ilshift__" msgstr "" -#: ../../c-api/typeobj.rst:249 +#: ../../c-api/typeobj.rst:255 msgid ":c:member:`~PyNumberMethods.nb_rshift`" msgstr ":c:member:`~PyNumberMethods.nb_rshift`" -#: ../../c-api/typeobj.rst:249 +#: ../../c-api/typeobj.rst:255 msgid "__rshift__ __rrshift__" msgstr "" -#: ../../c-api/typeobj.rst:252 +#: ../../c-api/typeobj.rst:258 msgid ":c:member:`~PyNumberMethods.nb_inplace_rshift`" msgstr ":c:member:`~PyNumberMethods.nb_inplace_rshift`" -#: ../../c-api/typeobj.rst:252 -msgid "__rshift__" +#: ../../c-api/typeobj.rst:258 +msgid "__irshift__" msgstr "" -#: ../../c-api/typeobj.rst:254 +#: ../../c-api/typeobj.rst:260 msgid ":c:member:`~PyNumberMethods.nb_and`" msgstr ":c:member:`~PyNumberMethods.nb_and`" -#: ../../c-api/typeobj.rst:254 +#: ../../c-api/typeobj.rst:260 msgid "__and__ __rand__" msgstr "" -#: ../../c-api/typeobj.rst:257 +#: ../../c-api/typeobj.rst:263 msgid ":c:member:`~PyNumberMethods.nb_inplace_and`" msgstr ":c:member:`~PyNumberMethods.nb_inplace_and`" -#: ../../c-api/typeobj.rst:257 -msgid "__and__" +#: ../../c-api/typeobj.rst:263 +msgid "__iand__" msgstr "" -#: ../../c-api/typeobj.rst:259 +#: ../../c-api/typeobj.rst:265 msgid ":c:member:`~PyNumberMethods.nb_xor`" msgstr ":c:member:`~PyNumberMethods.nb_xor`" -#: ../../c-api/typeobj.rst:259 +#: ../../c-api/typeobj.rst:265 msgid "__xor__ __rxor__" msgstr "" -#: ../../c-api/typeobj.rst:262 +#: ../../c-api/typeobj.rst:268 msgid ":c:member:`~PyNumberMethods.nb_inplace_xor`" msgstr ":c:member:`~PyNumberMethods.nb_inplace_xor`" -#: ../../c-api/typeobj.rst:262 -msgid "__xor__" +#: ../../c-api/typeobj.rst:268 +msgid "__ixor__" msgstr "" -#: ../../c-api/typeobj.rst:264 +#: ../../c-api/typeobj.rst:270 msgid ":c:member:`~PyNumberMethods.nb_or`" msgstr ":c:member:`~PyNumberMethods.nb_or`" -#: ../../c-api/typeobj.rst:264 +#: ../../c-api/typeobj.rst:270 msgid "__or__ __ror__" msgstr "" -#: ../../c-api/typeobj.rst:267 +#: ../../c-api/typeobj.rst:273 msgid ":c:member:`~PyNumberMethods.nb_inplace_or`" msgstr ":c:member:`~PyNumberMethods.nb_inplace_or`" -#: ../../c-api/typeobj.rst:267 -msgid "__or__" +#: ../../c-api/typeobj.rst:273 +msgid "__ior__" msgstr "" -#: ../../c-api/typeobj.rst:269 +#: ../../c-api/typeobj.rst:275 msgid ":c:member:`~PyNumberMethods.nb_int`" msgstr ":c:member:`~PyNumberMethods.nb_int`" -#: ../../c-api/typeobj.rst:269 +#: ../../c-api/typeobj.rst:275 msgid "__int__" -msgstr "" +msgstr "__int__" -#: ../../c-api/typeobj.rst:271 +#: ../../c-api/typeobj.rst:277 msgid ":c:member:`~PyNumberMethods.nb_reserved`" msgstr ":c:member:`~PyNumberMethods.nb_reserved`" -#: ../../c-api/typeobj.rst:271 ../../c-api/typeobj.rst:338 -#: ../../c-api/typeobj.rst:340 ../../c-api/typeobj.rst:0 -#: ../../c-api/typeobj.rst:421 +#: ../../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 msgid "void *" -msgstr "" +msgstr "void *" -#: ../../c-api/typeobj.rst:273 +#: ../../c-api/typeobj.rst:279 msgid ":c:member:`~PyNumberMethods.nb_float`" msgstr ":c:member:`~PyNumberMethods.nb_float`" -#: ../../c-api/typeobj.rst:273 +#: ../../c-api/typeobj.rst:279 msgid "__float__" -msgstr "" +msgstr "__float__" -#: ../../c-api/typeobj.rst:275 +#: ../../c-api/typeobj.rst:281 msgid ":c:member:`~PyNumberMethods.nb_floor_divide`" msgstr ":c:member:`~PyNumberMethods.nb_floor_divide`" -#: ../../c-api/typeobj.rst:275 ../../c-api/typeobj.rst:277 +#: ../../c-api/typeobj.rst:281 msgid "__floordiv__" -msgstr "" +msgstr "__floordiv__" -#: ../../c-api/typeobj.rst:277 +#: ../../c-api/typeobj.rst:283 msgid ":c:member:`~PyNumberMethods.nb_inplace_floor_divide`" msgstr ":c:member:`~PyNumberMethods.nb_inplace_floor_divide`" -#: ../../c-api/typeobj.rst:279 +#: ../../c-api/typeobj.rst:283 +msgid "__ifloordiv__" +msgstr "" + +#: ../../c-api/typeobj.rst:285 msgid ":c:member:`~PyNumberMethods.nb_true_divide`" msgstr ":c:member:`~PyNumberMethods.nb_true_divide`" -#: ../../c-api/typeobj.rst:279 ../../c-api/typeobj.rst:281 +#: ../../c-api/typeobj.rst:285 msgid "__truediv__" -msgstr "" +msgstr "__truediv__" -#: ../../c-api/typeobj.rst:281 +#: ../../c-api/typeobj.rst:287 msgid ":c:member:`~PyNumberMethods.nb_inplace_true_divide`" msgstr ":c:member:`~PyNumberMethods.nb_inplace_true_divide`" -#: ../../c-api/typeobj.rst:283 +#: ../../c-api/typeobj.rst:287 +msgid "__itruediv__" +msgstr "" + +#: ../../c-api/typeobj.rst:289 msgid ":c:member:`~PyNumberMethods.nb_index`" msgstr ":c:member:`~PyNumberMethods.nb_index`" -#: ../../c-api/typeobj.rst:283 +#: ../../c-api/typeobj.rst:289 msgid "__index__" -msgstr "" +msgstr "__index__" -#: ../../c-api/typeobj.rst:285 +#: ../../c-api/typeobj.rst:291 msgid ":c:member:`~PyNumberMethods.nb_matrix_multiply`" msgstr ":c:member:`~PyNumberMethods.nb_matrix_multiply`" -#: ../../c-api/typeobj.rst:285 +#: ../../c-api/typeobj.rst:291 msgid "__matmul__ __rmatmul__" msgstr "" -#: ../../c-api/typeobj.rst:288 +#: ../../c-api/typeobj.rst:294 msgid ":c:member:`~PyNumberMethods.nb_inplace_matrix_multiply`" msgstr ":c:member:`~PyNumberMethods.nb_inplace_matrix_multiply`" -#: ../../c-api/typeobj.rst:288 -msgid "__matmul__" +#: ../../c-api/typeobj.rst:294 +msgid "__imatmul__" msgstr "" -#: ../../c-api/typeobj.rst:292 +#: ../../c-api/typeobj.rst:298 msgid ":c:member:`~PyMappingMethods.mp_length`" msgstr ":c:member:`~PyMappingMethods.mp_length`" -#: ../../c-api/typeobj.rst:292 ../../c-api/typeobj.rst:301 -#: ../../c-api/typeobj.rst:408 +#: ../../c-api/typeobj.rst:298 ../../c-api/typeobj.rst:307 +#: ../../c-api/typeobj.rst:414 msgid ":c:type:`lenfunc`" msgstr ":c:type:`lenfunc`" -#: ../../c-api/typeobj.rst:292 ../../c-api/typeobj.rst:301 +#: ../../c-api/typeobj.rst:298 ../../c-api/typeobj.rst:307 msgid "__len__" -msgstr "" +msgstr "__len__" -#: ../../c-api/typeobj.rst:294 +#: ../../c-api/typeobj.rst:300 msgid ":c:member:`~PyMappingMethods.mp_subscript`" msgstr ":c:member:`~PyMappingMethods.mp_subscript`" -#: ../../c-api/typeobj.rst:294 ../../c-api/typeobj.rst:307 +#: ../../c-api/typeobj.rst:300 ../../c-api/typeobj.rst:313 msgid "__getitem__" -msgstr "" +msgstr "__getitem__" -#: ../../c-api/typeobj.rst:296 +#: ../../c-api/typeobj.rst:302 msgid ":c:member:`~PyMappingMethods.mp_ass_subscript`" msgstr ":c:member:`~PyMappingMethods.mp_ass_subscript`" -#: ../../c-api/typeobj.rst:296 ../../c-api/typeobj.rst:453 +#: ../../c-api/typeobj.rst:302 ../../c-api/typeobj.rst:460 msgid ":c:type:`objobjargproc`" msgstr ":c:type:`objobjargproc`" -#: ../../c-api/typeobj.rst:296 +#: ../../c-api/typeobj.rst:302 msgid "__setitem__, __delitem__" msgstr "" -#: ../../c-api/typeobj.rst:301 +#: ../../c-api/typeobj.rst:307 msgid ":c:member:`~PySequenceMethods.sq_length`" msgstr ":c:member:`~PySequenceMethods.sq_length`" -#: ../../c-api/typeobj.rst:303 +#: ../../c-api/typeobj.rst:309 msgid ":c:member:`~PySequenceMethods.sq_concat`" msgstr ":c:member:`~PySequenceMethods.sq_concat`" -#: ../../c-api/typeobj.rst:303 +#: ../../c-api/typeobj.rst:309 msgid "__add__" -msgstr "" +msgstr "__add__" -#: ../../c-api/typeobj.rst:305 +#: ../../c-api/typeobj.rst:311 msgid ":c:member:`~PySequenceMethods.sq_repeat`" msgstr ":c:member:`~PySequenceMethods.sq_repeat`" -#: ../../c-api/typeobj.rst:305 ../../c-api/typeobj.rst:307 -#: ../../c-api/typeobj.rst:316 ../../c-api/typeobj.rst:438 +#: ../../c-api/typeobj.rst:311 ../../c-api/typeobj.rst:313 +#: ../../c-api/typeobj.rst:322 ../../c-api/typeobj.rst:444 msgid ":c:type:`ssizeargfunc`" msgstr ":c:type:`ssizeargfunc`" -#: ../../c-api/typeobj.rst:307 +#: ../../c-api/typeobj.rst:311 +msgid "__mul__" +msgstr "__mul__" + +#: ../../c-api/typeobj.rst:313 msgid ":c:member:`~PySequenceMethods.sq_item`" msgstr ":c:member:`~PySequenceMethods.sq_item`" -#: ../../c-api/typeobj.rst:309 +#: ../../c-api/typeobj.rst:315 msgid ":c:member:`~PySequenceMethods.sq_ass_item`" msgstr ":c:member:`~PySequenceMethods.sq_ass_item`" -#: ../../c-api/typeobj.rst:309 ../../c-api/typeobj.rst:443 +#: ../../c-api/typeobj.rst:315 ../../c-api/typeobj.rst:449 msgid ":c:type:`ssizeobjargproc`" msgstr ":c:type:`ssizeobjargproc`" -#: ../../c-api/typeobj.rst:309 +#: ../../c-api/typeobj.rst:315 msgid "__setitem__ __delitem__" msgstr "" -#: ../../c-api/typeobj.rst:312 +#: ../../c-api/typeobj.rst:318 msgid ":c:member:`~PySequenceMethods.sq_contains`" msgstr ":c:member:`~PySequenceMethods.sq_contains`" -#: ../../c-api/typeobj.rst:312 ../../c-api/typeobj.rst:448 +#: ../../c-api/typeobj.rst:318 ../../c-api/typeobj.rst:455 msgid ":c:type:`objobjproc`" msgstr ":c:type:`objobjproc`" -#: ../../c-api/typeobj.rst:312 +#: ../../c-api/typeobj.rst:318 msgid "__contains__" -msgstr "" +msgstr "__contains__" -#: ../../c-api/typeobj.rst:314 +#: ../../c-api/typeobj.rst:320 msgid ":c:member:`~PySequenceMethods.sq_inplace_concat`" msgstr ":c:member:`~PySequenceMethods.sq_inplace_concat`" -#: ../../c-api/typeobj.rst:316 +#: ../../c-api/typeobj.rst:322 msgid ":c:member:`~PySequenceMethods.sq_inplace_repeat`" msgstr ":c:member:`~PySequenceMethods.sq_inplace_repeat`" -#: ../../c-api/typeobj.rst:316 -msgid "__imul__" -msgstr "" - -#: ../../c-api/typeobj.rst:320 +#: ../../c-api/typeobj.rst:326 msgid ":c:member:`~PyBufferProcs.bf_getbuffer`" msgstr ":c:member:`~PyBufferProcs.bf_getbuffer`" -#: ../../c-api/typeobj.rst:320 +#: ../../c-api/typeobj.rst:326 msgid ":c:func:`getbufferproc`" msgstr ":c:func:`getbufferproc`" -#: ../../c-api/typeobj.rst:322 +#: ../../c-api/typeobj.rst:328 msgid ":c:member:`~PyBufferProcs.bf_releasebuffer`" msgstr ":c:member:`~PyBufferProcs.bf_releasebuffer`" -#: ../../c-api/typeobj.rst:322 +#: ../../c-api/typeobj.rst:328 msgid ":c:func:`releasebufferproc`" msgstr ":c:func:`releasebufferproc`" -#: ../../c-api/typeobj.rst:328 +#: ../../c-api/typeobj.rst:334 msgid "slot typedefs" msgstr "" -#: ../../c-api/typeobj.rst:331 +#: ../../c-api/typeobj.rst:337 msgid "typedef" -msgstr "" +msgstr "typedef" -#: ../../c-api/typeobj.rst:331 +#: ../../c-api/typeobj.rst:337 msgid "Parameter Types" msgstr "" -#: ../../c-api/typeobj.rst:331 +#: ../../c-api/typeobj.rst:337 msgid "Return Type" msgstr "" -#: ../../c-api/typeobj.rst:338 ../../c-api/typeobj.rst:340 -#: ../../c-api/typeobj.rst:416 +#: ../../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:342 ../../c-api/typeobj.rst:354 -#: ../../c-api/typeobj.rst:367 ../../c-api/typeobj.rst:378 -#: ../../c-api/typeobj.rst:390 ../../c-api/typeobj.rst:0 -#: ../../c-api/typeobj.rst:410 ../../c-api/typeobj.rst:421 -#: ../../c-api/typeobj.rst:443 ../../c-api/typeobj.rst:448 -#: ../../c-api/typeobj.rst:453 +#: ../../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:416 ../../c-api/typeobj.rst:427 +#: ../../c-api/typeobj.rst:449 ../../c-api/typeobj.rst:455 +#: ../../c-api/typeobj.rst:460 msgid "int" msgstr "int" -#: ../../c-api/typeobj.rst:396 +#: ../../c-api/typeobj.rst:402 msgid "Py_hash_t" -msgstr "" +msgstr "Py_hash_t" -#: ../../c-api/typeobj.rst:410 +#: ../../c-api/typeobj.rst:416 msgid ":c:type:`getbufferproc`" msgstr ":c:type:`getbufferproc`" @@ -1135,40 +1154,39 @@ msgstr ":c:type:`getbufferproc`" msgid ":c:type:`Py_buffer` *" msgstr "" -#: ../../c-api/typeobj.rst:416 +#: ../../c-api/typeobj.rst:422 msgid ":c:type:`releasebufferproc`" msgstr ":c:type:`releasebufferproc`" -#: ../../c-api/typeobj.rst:460 +#: ../../c-api/typeobj.rst:467 msgid "See :ref:`slot-typedefs` below for more detail." msgstr "" -#: ../../c-api/typeobj.rst:464 +#: ../../c-api/typeobj.rst:471 msgid "PyTypeObject Definition" msgstr "" -#: ../../c-api/typeobj.rst:466 +#: ../../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 " "definition found there:" msgstr "" -#: ../../c-api/typeobj.rst:476 +#: ../../c-api/typeobj.rst:483 msgid "PyObject Slots" msgstr "" -#: ../../c-api/typeobj.rst:478 +#: ../../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." +"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." msgstr "" -#: ../../c-api/typeobj.rst:487 +#: ../../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 " @@ -1178,46 +1196,46 @@ msgid "" "as references." msgstr "" -#: ../../c-api/typeobj.rst:494 ../../c-api/typeobj.rst:517 -#: ../../c-api/typeobj.rst:539 ../../c-api/typeobj.rst:553 -#: ../../c-api/typeobj.rst:597 ../../c-api/typeobj.rst:640 -#: ../../c-api/typeobj.rst:686 ../../c-api/typeobj.rst:730 -#: ../../c-api/typeobj.rst:749 ../../c-api/typeobj.rst:766 -#: ../../c-api/typeobj.rst:784 ../../c-api/typeobj.rst:808 -#: ../../c-api/typeobj.rst:825 ../../c-api/typeobj.rst:837 -#: ../../c-api/typeobj.rst:849 ../../c-api/typeobj.rst:882 -#: ../../c-api/typeobj.rst:900 ../../c-api/typeobj.rst:920 -#: ../../c-api/typeobj.rst:941 ../../c-api/typeobj.rst:967 -#: ../../c-api/typeobj.rst:986 ../../c-api/typeobj.rst:1002 -#: ../../c-api/typeobj.rst:1039 ../../c-api/typeobj.rst:1050 -#: ../../c-api/typeobj.rst:1060 ../../c-api/typeobj.rst:1070 -#: ../../c-api/typeobj.rst:1084 ../../c-api/typeobj.rst:1102 -#: ../../c-api/typeobj.rst:1125 ../../c-api/typeobj.rst:1172 -#: ../../c-api/typeobj.rst:1187 ../../c-api/typeobj.rst:1206 -#: ../../c-api/typeobj.rst:1225 ../../c-api/typeobj.rst:1247 -#: ../../c-api/typeobj.rst:1263 ../../c-api/typeobj.rst:1331 -#: ../../c-api/typeobj.rst:1398 ../../c-api/typeobj.rst:1457 -#: ../../c-api/typeobj.rst:1487 ../../c-api/typeobj.rst:1519 -#: ../../c-api/typeobj.rst:1542 ../../c-api/typeobj.rst:1555 -#: ../../c-api/typeobj.rst:1570 ../../c-api/typeobj.rst:1584 -#: ../../c-api/typeobj.rst:1614 ../../c-api/typeobj.rst:1634 -#: ../../c-api/typeobj.rst:1660 ../../c-api/typeobj.rst:1678 -#: ../../c-api/typeobj.rst:1718 ../../c-api/typeobj.rst:1769 -#: ../../c-api/typeobj.rst:1786 ../../c-api/typeobj.rst:1827 -#: ../../c-api/typeobj.rst:1849 ../../c-api/typeobj.rst:1881 -#: ../../c-api/typeobj.rst:1898 ../../c-api/typeobj.rst:1909 -#: ../../c-api/typeobj.rst:1919 ../../c-api/typeobj.rst:1928 -#: ../../c-api/typeobj.rst:1938 ../../c-api/typeobj.rst:1952 -#: ../../c-api/typeobj.rst:1990 ../../c-api/typeobj.rst:2007 +#: ../../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:706 ../../c-api/typeobj.rst:744 +#: ../../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:1424 ../../c-api/typeobj.rst:1483 +#: ../../c-api/typeobj.rst:1513 ../../c-api/typeobj.rst:1545 +#: ../../c-api/typeobj.rst:1568 ../../c-api/typeobj.rst:1581 +#: ../../c-api/typeobj.rst:1596 ../../c-api/typeobj.rst:1610 +#: ../../c-api/typeobj.rst:1640 ../../c-api/typeobj.rst:1660 +#: ../../c-api/typeobj.rst:1686 ../../c-api/typeobj.rst:1704 +#: ../../c-api/typeobj.rst:1744 ../../c-api/typeobj.rst:1795 +#: ../../c-api/typeobj.rst:1812 ../../c-api/typeobj.rst:1853 +#: ../../c-api/typeobj.rst:1875 ../../c-api/typeobj.rst:1907 +#: ../../c-api/typeobj.rst:1935 ../../c-api/typeobj.rst:1948 +#: ../../c-api/typeobj.rst:1958 ../../c-api/typeobj.rst:1967 +#: ../../c-api/typeobj.rst:1977 ../../c-api/typeobj.rst:1991 +#: ../../c-api/typeobj.rst:2037 ../../c-api/typeobj.rst:2060 msgid "**Inheritance:**" msgstr "" -#: ../../c-api/typeobj.rst:496 ../../c-api/typeobj.rst:555 -#: ../../c-api/typeobj.rst:599 +#: ../../c-api/typeobj.rst:503 ../../c-api/typeobj.rst:562 +#: ../../c-api/typeobj.rst:606 msgid "This field is not inherited by subtypes." msgstr "" -#: ../../c-api/typeobj.rst:501 +#: ../../c-api/typeobj.rst:508 msgid "" "This is the type's type, in other words its metatype. It is initialized by " "the argument to the ``PyObject_HEAD_INIT`` macro, and its value should " @@ -1229,7 +1247,7 @@ msgid "" "doing anything else. This is typically done like this::" msgstr "" -#: ../../c-api/typeobj.rst:512 +#: ../../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 " @@ -1237,31 +1255,31 @@ msgid "" "will not change this field if it is non-zero." msgstr "" -#: ../../c-api/typeobj.rst:519 ../../c-api/typeobj.rst:688 -#: ../../c-api/typeobj.rst:810 ../../c-api/typeobj.rst:902 -#: ../../c-api/typeobj.rst:922 ../../c-api/typeobj.rst:1521 -#: ../../c-api/typeobj.rst:1544 ../../c-api/typeobj.rst:1662 -#: ../../c-api/typeobj.rst:1680 ../../c-api/typeobj.rst:1771 -#: ../../c-api/typeobj.rst:1883 ../../c-api/typeobj.rst:1992 +#: ../../c-api/typeobj.rst:526 ../../c-api/typeobj.rst:708 +#: ../../c-api/typeobj.rst:824 ../../c-api/typeobj.rst:916 +#: ../../c-api/typeobj.rst:936 ../../c-api/typeobj.rst:1547 +#: ../../c-api/typeobj.rst:1570 ../../c-api/typeobj.rst:1688 +#: ../../c-api/typeobj.rst:1706 ../../c-api/typeobj.rst:1797 +#: ../../c-api/typeobj.rst:1909 ../../c-api/typeobj.rst:2039 msgid "This field is inherited by subtypes." msgstr "" -#: ../../c-api/typeobj.rst:525 +#: ../../c-api/typeobj.rst:532 msgid "" "These fields are only present when the macro ``Py_TRACE_REFS`` is defined " "(see the :option:`configure --with-trace-refs option <--with-trace-refs>`)." msgstr "" -#: ../../c-api/typeobj.rst:528 +#: ../../c-api/typeobj.rst:535 msgid "" "Their initialization to ``NULL`` is taken care of by the " "``PyObject_HEAD_INIT`` macro. For :ref:`statically allocated objects " "`, these fields always remain ``NULL``. For :ref:`dynamically " "allocated objects `, these two fields are used to link the " -"object into a doubly-linked list of *all* live objects on the heap." +"object into a doubly linked list of *all* live objects on the heap." msgstr "" -#: ../../c-api/typeobj.rst:534 +#: ../../c-api/typeobj.rst:541 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 " @@ -1269,26 +1287,26 @@ msgid "" "`PYTHONDUMPREFS` is set." msgstr "" -#: ../../c-api/typeobj.rst:541 +#: ../../c-api/typeobj.rst:548 msgid "These fields are not inherited by subtypes." msgstr "" -#: ../../c-api/typeobj.rst:545 +#: ../../c-api/typeobj.rst:552 msgid "PyVarObject Slots" msgstr "" -#: ../../c-api/typeobj.rst:549 +#: ../../c-api/typeobj.rst:556 msgid "" "For :ref:`statically allocated type objects `, this should be " "initialized to zero. For :ref:`dynamically allocated type objects `, this field has a special internal meaning." msgstr "" -#: ../../c-api/typeobj.rst:559 +#: ../../c-api/typeobj.rst:566 msgid "PyTypeObject Slots" msgstr "" -#: ../../c-api/typeobj.rst:561 +#: ../../c-api/typeobj.rst:568 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 " @@ -1296,7 +1314,7 @@ msgid "" "`PyBaseObject_Type` and :c:type:`PyType_Type` effectively act as defaults.)" msgstr "" -#: ../../c-api/typeobj.rst:568 +#: ../../c-api/typeobj.rst:575 msgid "" "Pointer to a NUL-terminated string containing the name of the type. For " "types that are accessible as module globals, the string should be the full " @@ -1308,14 +1326,14 @@ msgid "" "tp_name` initializer ``\"P.Q.M.T\"``." msgstr "" -#: ../../c-api/typeobj.rst:576 +#: ../../c-api/typeobj.rst:583 msgid "" "For :ref:`dynamically allocated type objects `, this should just " "be the type name, and the module name explicitly stored in the type dict as " "the value for key ``'__module__'``." msgstr "" -#: ../../c-api/typeobj.rst:581 +#: ../../c-api/typeobj.rst:588 msgid "" "For :ref:`statically allocated type objects `, the *tp_name* " "field should contain a dot. Everything before the last dot is made " @@ -1323,7 +1341,7 @@ msgid "" "last dot is made accessible as the :attr:`~definition.__name__` attribute." msgstr "" -#: ../../c-api/typeobj.rst:587 +#: ../../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:" @@ -1333,19 +1351,19 @@ msgid "" "created with pydoc." msgstr "" -#: ../../c-api/typeobj.rst:593 +#: ../../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`)." msgstr "" -#: ../../c-api/typeobj.rst:605 +#: ../../c-api/typeobj.rst:612 msgid "" "These fields allow calculating the size in bytes of instances of the type." msgstr "" -#: ../../c-api/typeobj.rst:607 +#: ../../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 " @@ -1354,7 +1372,7 @@ msgid "" "in :c:member:`~PyTypeObject.tp_basicsize`." msgstr "" -#: ../../c-api/typeobj.rst:612 +#: ../../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." @@ -1368,7 +1386,7 @@ msgid "" "instances, yet those instances have a meaningful :attr:`ob_size` field)." msgstr "" -#: ../../c-api/typeobj.rst:623 +#: ../../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 " @@ -1379,8 +1397,16 @@ msgid "" "declare the instance layout. The basic size does not include the GC header " "size." msgstr "" +"O tamanho básico inclui os campos na instância declarados pela macro :c:" +"macro:`PyObject_HEAD` ou :c:macro:`PyObject_VAR_HEAD` (o que for usado para " +"declarar a estrutura da instância) e isso, por sua vez, inclui os campos :" +"attr:`_ob_prev` e :attr:`_ob_next` se estiverem presentes. Isso significa " +"que a única maneira correta de obter um inicializador para o :c:member:" +"`~PyTypeObject.tp_basicsize` é usar o operador ``sizeof`` na estrutura usada " +"para declarar o layout da instância. O tamanho básico não inclui o tamanho " +"do cabeçalho do coletor de lixo." -#: ../../c-api/typeobj.rst:631 +#: ../../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:" @@ -1391,12 +1417,12 @@ msgid "" "alignment requirement for ``double``)." msgstr "" -#: ../../c-api/typeobj.rst:638 +#: ../../c-api/typeobj.rst:645 msgid "" "For any type with variable-length instances, this field must not be ``NULL``." msgstr "" -#: ../../c-api/typeobj.rst:642 +#: ../../c-api/typeobj.rst:649 msgid "" "These fields are inherited separately by subtypes. If the base type has a " "non-zero :c:member:`~PyTypeObject.tp_itemsize`, it is generally not safe to " @@ -1404,7 +1430,7 @@ msgid "" "subtype (though this depends on the implementation of the base type)." msgstr "" -#: ../../c-api/typeobj.rst:650 +#: ../../c-api/typeobj.rst:657 msgid "" "A pointer to the instance destructor function. This function must be " "defined unless the type guarantees that its instances will never be " @@ -1412,7 +1438,7 @@ msgid "" "The function signature is::" msgstr "" -#: ../../c-api/typeobj.rst:656 +#: ../../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, " @@ -1430,36 +1456,43 @@ msgid "" "allocated using :c:func:`PyObject_GC_New` or :c:func:`PyObject_GC_NewVar`." msgstr "" -#: ../../c-api/typeobj.rst:671 +#: ../../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." +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:" +"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:693 +#: ../../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:698 +#: ../../c-api/typeobj.rst:718 msgid "" "This field is only used if the flag :const:`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:702 +#: ../../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 " "instance falls back to :c:member:`~PyTypeObject.tp_call`." msgstr "" -#: ../../c-api/typeobj.rst:706 +#: ../../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 " @@ -1467,7 +1500,7 @@ msgid "" "`PyVectorcall_Call`." msgstr "" -#: ../../c-api/typeobj.rst:713 +#: ../../c-api/typeobj.rst:733 msgid "" "It is not recommended for :ref:`heap types ` to implement the " "vectorcall protocol. When a user sets :attr:`__call__` in Python code, only " @@ -1475,20 +1508,13 @@ msgid "" "function." msgstr "" -#: ../../c-api/typeobj.rst:720 -msgid "" -"The semantics of the ``tp_vectorcall_offset`` slot are provisional and " -"expected to be finalized in Python 3.9. If you use vectorcall, plan for " -"updating your code for Python 3.9." -msgstr "" - -#: ../../c-api/typeobj.rst:726 +#: ../../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:732 +#: ../../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 " @@ -1497,11 +1523,11 @@ msgid "" "for :ref:`heap types ` (including subclasses defined in Python)." msgstr "" -#: ../../c-api/typeobj.rst:743 +#: ../../c-api/typeobj.rst:757 msgid "An optional pointer to the get-attribute-string function." msgstr "" -#: ../../c-api/typeobj.rst:745 +#: ../../c-api/typeobj.rst:759 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, " @@ -1509,11 +1535,11 @@ msgid "" "attribute name." msgstr "" -#: ../../c-api/typeobj.rst:751 ../../c-api/typeobj.rst:943 +#: ../../c-api/typeobj.rst:765 ../../c-api/typeobj.rst:957 msgid "Group: :attr:`tp_getattr`, :attr:`tp_getattro`" msgstr "" -#: ../../c-api/typeobj.rst:753 +#: ../../c-api/typeobj.rst:767 msgid "" "This field is inherited by subtypes together with :c:member:`~PyTypeObject." "tp_getattro`: a subtype inherits both :c:member:`~PyTypeObject.tp_getattr` " @@ -1522,12 +1548,12 @@ msgid "" "tp_getattro` are both ``NULL``." msgstr "" -#: ../../c-api/typeobj.rst:760 ../../c-api/typeobj.rst:956 +#: ../../c-api/typeobj.rst:774 ../../c-api/typeobj.rst:970 msgid "" "An optional pointer to the function for setting and deleting attributes." msgstr "" -#: ../../c-api/typeobj.rst:762 +#: ../../c-api/typeobj.rst:776 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, " @@ -1535,11 +1561,11 @@ msgid "" "attribute name." msgstr "" -#: ../../c-api/typeobj.rst:768 ../../c-api/typeobj.rst:969 +#: ../../c-api/typeobj.rst:782 ../../c-api/typeobj.rst:983 msgid "Group: :attr:`tp_setattr`, :attr:`tp_setattro`" msgstr "" -#: ../../c-api/typeobj.rst:770 +#: ../../c-api/typeobj.rst:784 msgid "" "This field is inherited by subtypes together with :c:member:`~PyTypeObject." "tp_setattro`: a subtype inherits both :c:member:`~PyTypeObject.tp_setattr` " @@ -1548,34 +1574,34 @@ msgid "" "tp_setattro` are both ``NULL``." msgstr "" -#: ../../c-api/typeobj.rst:777 +#: ../../c-api/typeobj.rst:791 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:781 +#: ../../c-api/typeobj.rst:795 msgid "Formerly known as ``tp_compare`` and ``tp_reserved``." msgstr "" -#: ../../c-api/typeobj.rst:786 +#: ../../c-api/typeobj.rst:800 msgid "" "The :c:member:`~PyTypeObject.tp_as_async` field is not inherited, but the " "contained fields are inherited individually." msgstr "" -#: ../../c-api/typeobj.rst:794 +#: ../../c-api/typeobj.rst:808 msgid "" "An optional pointer to a function that implements the built-in function :" "func:`repr`." msgstr "" -#: ../../c-api/typeobj.rst:797 +#: ../../c-api/typeobj.rst:811 msgid "The signature is the same as for :c:func:`PyObject_Repr`::" msgstr "" -#: ../../c-api/typeobj.rst:801 +#: ../../c-api/typeobj.rst:815 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 " @@ -1584,87 +1610,87 @@ msgid "" "``'>'`` from which both the type and the value of the object can be deduced." msgstr "" -#: ../../c-api/typeobj.rst:812 ../../c-api/typeobj.rst:924 -#: ../../c-api/typeobj.rst:949 ../../c-api/typeobj.rst:975 -#: ../../c-api/typeobj.rst:1017 ../../c-api/typeobj.rst:1466 -#: ../../c-api/typeobj.rst:1618 ../../c-api/typeobj.rst:1639 -#: ../../c-api/typeobj.rst:1737 ../../c-api/typeobj.rst:1773 -#: ../../c-api/typeobj.rst:1791 ../../c-api/typeobj.rst:1833 -#: ../../c-api/typeobj.rst:1854 ../../c-api/typeobj.rst:1885 +#: ../../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:1492 +#: ../../c-api/typeobj.rst:1644 ../../c-api/typeobj.rst:1665 +#: ../../c-api/typeobj.rst:1763 ../../c-api/typeobj.rst:1799 +#: ../../c-api/typeobj.rst:1817 ../../c-api/typeobj.rst:1859 +#: ../../c-api/typeobj.rst:1880 ../../c-api/typeobj.rst:1911 msgid "**Default:**" -msgstr "" +msgstr "**Padrão:**" -#: ../../c-api/typeobj.rst:814 +#: ../../c-api/typeobj.rst:828 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:821 +#: ../../c-api/typeobj.rst:835 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:827 +#: ../../c-api/typeobj.rst:841 msgid "" "The :c:member:`~PyTypeObject.tp_as_number` field is not inherited, but the " "contained fields are inherited individually." msgstr "" -#: ../../c-api/typeobj.rst:833 +#: ../../c-api/typeobj.rst:847 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:839 +#: ../../c-api/typeobj.rst:853 msgid "" "The :c:member:`~PyTypeObject.tp_as_sequence` field is not inherited, but the " "contained fields are inherited individually." msgstr "" -#: ../../c-api/typeobj.rst:845 +#: ../../c-api/typeobj.rst:859 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:851 +#: ../../c-api/typeobj.rst:865 msgid "" "The :c:member:`~PyTypeObject.tp_as_mapping` field is not inherited, but the " "contained fields are inherited individually." msgstr "" -#: ../../c-api/typeobj.rst:859 +#: ../../c-api/typeobj.rst:873 msgid "" "An optional pointer to a function that implements the built-in function :" "func:`hash`." msgstr "" -#: ../../c-api/typeobj.rst:862 +#: ../../c-api/typeobj.rst:876 msgid "The signature is the same as for :c:func:`PyObject_Hash`::" msgstr "" -#: ../../c-api/typeobj.rst:866 +#: ../../c-api/typeobj.rst:880 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:870 +#: ../../c-api/typeobj.rst:884 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`." msgstr "" -#: ../../c-api/typeobj.rst:874 +#: ../../c-api/typeobj.rst:888 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 " @@ -1675,11 +1701,11 @@ msgid "" "`PyObject_HashNotImplemented`." msgstr "" -#: ../../c-api/typeobj.rst:884 ../../c-api/typeobj.rst:1459 +#: ../../c-api/typeobj.rst:898 ../../c-api/typeobj.rst:1485 msgid "Group: :attr:`tp_hash`, :attr:`tp_richcompare`" msgstr "" -#: ../../c-api/typeobj.rst:886 +#: ../../c-api/typeobj.rst:900 msgid "" "This field is inherited by subtypes together with :c:member:`~PyTypeObject." "tp_richcompare`: a subtype inherits both of :c:member:`~PyTypeObject." @@ -1688,14 +1714,14 @@ msgid "" "are both ``NULL``." msgstr "" -#: ../../c-api/typeobj.rst:894 +#: ../../c-api/typeobj.rst:908 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:907 +#: ../../c-api/typeobj.rst:921 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 " @@ -1704,11 +1730,11 @@ msgid "" "this handler.)" msgstr "" -#: ../../c-api/typeobj.rst:912 +#: ../../c-api/typeobj.rst:926 msgid "The signature is the same as for :c:func:`PyObject_Str`::" msgstr "" -#: ../../c-api/typeobj.rst:916 +#: ../../c-api/typeobj.rst:930 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 " @@ -1716,28 +1742,28 @@ msgid "" "function." msgstr "" -#: ../../c-api/typeobj.rst:926 +#: ../../c-api/typeobj.rst:940 msgid "" "When this field is not set, :c:func:`PyObject_Repr` is called to return a " "string representation." msgstr "" -#: ../../c-api/typeobj.rst:932 +#: ../../c-api/typeobj.rst:946 msgid "An optional pointer to the get-attribute function." msgstr "" -#: ../../c-api/typeobj.rst:934 +#: ../../c-api/typeobj.rst:948 msgid "The signature is the same as for :c:func:`PyObject_GetAttr`::" msgstr "" -#: ../../c-api/typeobj.rst:938 +#: ../../c-api/typeobj.rst:952 msgid "" "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:945 +#: ../../c-api/typeobj.rst:959 msgid "" "This field is inherited by subtypes together with :c:member:`~PyTypeObject." "tp_getattr`: a subtype inherits both :c:member:`~PyTypeObject.tp_getattr` " @@ -1746,15 +1772,15 @@ msgid "" "tp_getattro` are both ``NULL``." msgstr "" -#: ../../c-api/typeobj.rst:951 +#: ../../c-api/typeobj.rst:965 msgid ":c:type:`PyBaseObject_Type` uses :c:func:`PyObject_GenericGetAttr`." msgstr "" -#: ../../c-api/typeobj.rst:958 +#: ../../c-api/typeobj.rst:972 msgid "The signature is the same as for :c:func:`PyObject_SetAttr`::" msgstr "" -#: ../../c-api/typeobj.rst:962 +#: ../../c-api/typeobj.rst:976 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:" @@ -1762,7 +1788,7 @@ msgid "" "attributes." msgstr "" -#: ../../c-api/typeobj.rst:971 +#: ../../c-api/typeobj.rst:985 msgid "" "This field is inherited by subtypes together with :c:member:`~PyTypeObject." "tp_setattr`: a subtype inherits both :c:member:`~PyTypeObject.tp_setattr` " @@ -1771,24 +1797,24 @@ msgid "" "tp_setattro` are both ``NULL``." msgstr "" -#: ../../c-api/typeobj.rst:977 +#: ../../c-api/typeobj.rst:991 msgid ":c:type:`PyBaseObject_Type` uses :c:func:`PyObject_GenericSetAttr`." msgstr "" -#: ../../c-api/typeobj.rst:982 +#: ../../c-api/typeobj.rst:996 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:988 +#: ../../c-api/typeobj.rst:1002 msgid "" "The :c:member:`~PyTypeObject.tp_as_buffer` field is not inherited, but the " "contained fields are inherited individually." msgstr "" -#: ../../c-api/typeobj.rst:994 +#: ../../c-api/typeobj.rst:1008 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 " @@ -1800,7 +1826,7 @@ msgid "" "accessed and must be considered to have a zero or ``NULL`` value instead." msgstr "" -#: ../../c-api/typeobj.rst:1004 +#: ../../c-api/typeobj.rst:1018 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 " @@ -1815,17 +1841,17 @@ msgid "" "the subtype exist and have ``NULL`` values." msgstr "" -#: ../../c-api/typeobj.rst:1019 +#: ../../c-api/typeobj.rst:1033 msgid "" ":c:type:`PyBaseObject_Type` uses ``Py_TPFLAGS_DEFAULT | " "Py_TPFLAGS_BASETYPE``." msgstr "" -#: ../../c-api/typeobj.rst:1022 +#: ../../c-api/typeobj.rst:1036 msgid "**Bit Masks:**" msgstr "" -#: ../../c-api/typeobj.rst:1024 +#: ../../c-api/typeobj.rst:1038 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." @@ -1834,7 +1860,7 @@ msgid "" "zero." msgstr "" -#: ../../c-api/typeobj.rst:1031 +#: ../../c-api/typeobj.rst:1045 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 " @@ -1845,32 +1871,32 @@ msgid "" "gets INCREF'ed or DECREF'ed)." msgstr "" -#: ../../c-api/typeobj.rst:1041 ../../c-api/typeobj.rst:1052 -#: ../../c-api/typeobj.rst:1062 ../../c-api/typeobj.rst:1072 -#: ../../c-api/typeobj.rst:1104 +#: ../../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 msgid "???" -msgstr "" +msgstr "???" -#: ../../c-api/typeobj.rst:1046 +#: ../../c-api/typeobj.rst:1060 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:1057 +#: ../../c-api/typeobj.rst:1071 msgid "" "This bit is set when the type object has been fully initialized by :c:func:" "`PyType_Ready`." msgstr "" -#: ../../c-api/typeobj.rst:1067 +#: ../../c-api/typeobj.rst:1081 msgid "" "This bit is set while :c:func:`PyType_Ready` is in the process of " "initializing the type object." msgstr "" -#: ../../c-api/typeobj.rst:1077 +#: ../../c-api/typeobj.rst:1091 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 " @@ -1880,13 +1906,13 @@ msgid "" "tp_clear` are present in the type object." msgstr "" -#: ../../c-api/typeobj.rst:1086 ../../c-api/typeobj.rst:1333 -#: ../../c-api/typeobj.rst:1400 +#: ../../c-api/typeobj.rst:1100 ../../c-api/typeobj.rst:1358 +#: ../../c-api/typeobj.rst:1426 msgid "" "Group: :const:`Py_TPFLAGS_HAVE_GC`, :attr:`tp_traverse`, :attr:`tp_clear`" msgstr "" -#: ../../c-api/typeobj.rst:1088 +#: ../../c-api/typeobj.rst:1102 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:" @@ -1895,48 +1921,48 @@ msgid "" "``NULL`` values." msgstr "" -#: ../../c-api/typeobj.rst:1098 +#: ../../c-api/typeobj.rst:1112 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`." msgstr "" -#: ../../c-api/typeobj.rst:1109 +#: ../../c-api/typeobj.rst:1123 msgid "This bit indicates that objects behave like unbound methods." msgstr "" -#: ../../c-api/typeobj.rst:1111 +#: ../../c-api/typeobj.rst:1125 msgid "If this flag is set for ``type(meth)``, then:" msgstr "" -#: ../../c-api/typeobj.rst:1113 +#: ../../c-api/typeobj.rst:1127 msgid "" "``meth.__get__(obj, cls)(*args, **kwds)`` (with ``obj`` not None) must be " "equivalent to ``meth(obj, *args, **kwds)``." msgstr "" -#: ../../c-api/typeobj.rst:1116 +#: ../../c-api/typeobj.rst:1130 msgid "" "``meth.__get__(None, cls)(*args, **kwds)`` must be equivalent to " "``meth(*args, **kwds)``." msgstr "" -#: ../../c-api/typeobj.rst:1119 +#: ../../c-api/typeobj.rst:1133 msgid "" "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:1127 +#: ../../c-api/typeobj.rst:1141 msgid "" "This flag is never inherited by :ref:`heap types `. For " "extension types, it is inherited whenever :c:member:`~PyTypeObject." "tp_descr_get` is inherited." msgstr "" -#: ../../c-api/typeobj.rst:1144 +#: ../../c-api/typeobj.rst:1158 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 " @@ -1946,68 +1972,82 @@ msgid "" "behave differently depending on what kind of check is used." msgstr "" -#: ../../c-api/typeobj.rst:1155 +#: ../../c-api/typeobj.rst:1169 msgid "" "This bit is set when the :c:member:`~PyTypeObject.tp_finalize` slot is " "present in the type structure." msgstr "" -#: ../../c-api/typeobj.rst:1160 +#: ../../c-api/typeobj.rst:1174 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." msgstr "" -#: ../../c-api/typeobj.rst:1168 +#: ../../c-api/typeobj.rst:1182 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:1174 +#: ../../c-api/typeobj.rst:1188 msgid "" "This bit is inherited for :ref:`static subtypes ` if :c:member:" "`~PyTypeObject.tp_call` is also inherited. :ref:`Heap types ` do " "not inherit ``Py_TPFLAGS_HAVE_VECTORCALL``." msgstr "" -#: ../../c-api/typeobj.rst:1182 +#: ../../c-api/typeobj.rst:1196 msgid "" "This bit is set for type objects that are immutable: type attributes cannot " "be set nor deleted." msgstr "" -#: ../../c-api/typeobj.rst:1184 +#: ../../c-api/typeobj.rst:1198 msgid "" ":c:func:`PyType_Ready` automatically applies this flag to :ref:`static types " "`." msgstr "" -#: ../../c-api/typeobj.rst:1189 ../../c-api/typeobj.rst:1208 +#: ../../c-api/typeobj.rst:1203 msgid "This flag is not inherited." msgstr "" -#: ../../c-api/typeobj.rst:1195 +#: ../../c-api/typeobj.rst:1209 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." msgstr "" -#: ../../c-api/typeobj.rst:1199 +#: ../../c-api/typeobj.rst:1213 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:1202 +#: ../../c-api/typeobj.rst:1216 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." msgstr "" -#: ../../c-api/typeobj.rst:1215 +#: ../../c-api/typeobj.rst:1222 +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 +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 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 " @@ -2015,23 +2055,23 @@ msgid "" "unset when registering :class:`collections.abc.Sequence`." msgstr "" -#: ../../c-api/typeobj.rst:1222 ../../c-api/typeobj.rst:1244 +#: ../../c-api/typeobj.rst:1247 ../../c-api/typeobj.rst:1269 msgid "" ":const:`Py_TPFLAGS_MAPPING` and :const:`Py_TPFLAGS_SEQUENCE` are mutually " -"exclusive; it is an error enable both flags simultaneously." +"exclusive; it is an error to enable both flags simultaneously." msgstr "" -#: ../../c-api/typeobj.rst:1227 +#: ../../c-api/typeobj.rst:1252 msgid "" "This flag is inherited by types that do not already set :const:" "`Py_TPFLAGS_SEQUENCE`." msgstr "" -#: ../../c-api/typeobj.rst:1230 ../../c-api/typeobj.rst:1252 +#: ../../c-api/typeobj.rst:1255 ../../c-api/typeobj.rst:1277 msgid ":pep:`634` -- Structural Pattern Matching: Specification" -msgstr "" +msgstr ":pep:`634` -- Structural Pattern Matching: Specification" -#: ../../c-api/typeobj.rst:1237 +#: ../../c-api/typeobj.rst:1262 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 " @@ -2039,37 +2079,37 @@ msgid "" "unset when registering :class:`collections.abc.Mapping`." msgstr "" -#: ../../c-api/typeobj.rst:1249 +#: ../../c-api/typeobj.rst:1274 msgid "" "This flag is inherited by types that do not already set :const:" "`Py_TPFLAGS_MAPPING`." msgstr "" -#: ../../c-api/typeobj.rst:1259 +#: ../../c-api/typeobj.rst:1284 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:1265 +#: ../../c-api/typeobj.rst:1290 msgid "This field is *not* inherited by subtypes." msgstr "" -#: ../../c-api/typeobj.rst:1270 +#: ../../c-api/typeobj.rst:1295 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 " "signature is::" msgstr "" -#: ../../c-api/typeobj.rst:1275 ../../c-api/typeobj.rst:1395 +#: ../../c-api/typeobj.rst:1300 ../../c-api/typeobj.rst:1421 msgid "" "More information about Python's garbage collection scheme can be found in " "section :ref:`supporting-cycle-detection`." msgstr "" -#: ../../c-api/typeobj.rst:1278 +#: ../../c-api/typeobj.rst:1303 msgid "" "The :c:member:`~PyTypeObject.tp_traverse` pointer is used by the garbage " "collector to detect reference cycles. A typical implementation of a :c:" @@ -2079,7 +2119,7 @@ msgid "" "`_thread` extension module::" msgstr "" -#: ../../c-api/typeobj.rst:1293 +#: ../../c-api/typeobj.rst:1318 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`` " @@ -2087,14 +2127,14 @@ msgid "" "part of a reference cycle." msgstr "" -#: ../../c-api/typeobj.rst:1297 +#: ../../c-api/typeobj.rst:1322 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:1302 +#: ../../c-api/typeobj.rst:1327 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:" @@ -2123,14 +2163,14 @@ msgid "" "superclass). If they do not, the type object may not be garbage-collected." msgstr "" -#: ../../c-api/typeobj.rst:1326 +#: ../../c-api/typeobj.rst:1351 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:1335 +#: ../../c-api/typeobj.rst:1360 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:" @@ -2138,14 +2178,14 @@ msgid "" "are all inherited from the base type if they are all zero in the subtype." msgstr "" -#: ../../c-api/typeobj.rst:1343 +#: ../../c-api/typeobj.rst:1368 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::" msgstr "" -#: ../../c-api/typeobj.rst:1348 +#: ../../c-api/typeobj.rst:1373 msgid "" "The :c:member:`~PyTypeObject.tp_clear` member function is used to break " "reference cycles in cyclic garbage detected by the garbage collector. Taken " @@ -2160,7 +2200,7 @@ msgid "" "good reason to avoid implementing :c:member:`~PyTypeObject.tp_clear`." msgstr "" -#: ../../c-api/typeobj.rst:1358 +#: ../../c-api/typeobj.rst:1383 msgid "" "Implementations of :c:member:`~PyTypeObject.tp_clear` should drop the " "instance's references to those of its members that may be Python objects, " @@ -2168,22 +2208,22 @@ msgid "" "example::" msgstr "" -#: ../../c-api/typeobj.rst:1372 +#: ../../c-api/typeobj.rst:1397 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:1383 +#: ../../c-api/typeobj.rst:1409 msgid "" "Note that :c:member:`~PyTypeObject.tp_clear` is not *always* called before " "an instance is deallocated. For example, when reference counting is enough " @@ -2191,7 +2231,7 @@ msgid "" "is not involved and :c:member:`~PyTypeObject.tp_dealloc` is called directly." msgstr "" -#: ../../c-api/typeobj.rst:1389 +#: ../../c-api/typeobj.rst:1415 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 " @@ -2201,7 +2241,7 @@ msgid "" "invoke :c:member:`~PyTypeObject.tp_clear`." msgstr "" -#: ../../c-api/typeobj.rst:1402 +#: ../../c-api/typeobj.rst:1428 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:" @@ -2209,18 +2249,18 @@ msgid "" "are all inherited from the base type if they are all zero in the subtype." msgstr "" -#: ../../c-api/typeobj.rst:1410 +#: ../../c-api/typeobj.rst:1436 msgid "" "An optional pointer to the rich comparison function, whose signature is::" msgstr "" -#: ../../c-api/typeobj.rst:1414 +#: ../../c-api/typeobj.rst:1440 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:1417 +#: ../../c-api/typeobj.rst:1443 msgid "" "The function should return the result of the comparison (usually ``Py_True`` " "or ``Py_False``). If the comparison is undefined, it must return " @@ -2228,74 +2268,74 @@ msgid "" "set an exception condition." msgstr "" -#: ../../c-api/typeobj.rst:1422 +#: ../../c-api/typeobj.rst:1448 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`:" msgstr "" -#: ../../c-api/typeobj.rst:1426 +#: ../../c-api/typeobj.rst:1452 msgid "Constant" msgstr "Constante" -#: ../../c-api/typeobj.rst:1426 +#: ../../c-api/typeobj.rst:1452 msgid "Comparison" msgstr "Comparação" -#: ../../c-api/typeobj.rst:1428 +#: ../../c-api/typeobj.rst:1454 msgid ":const:`Py_LT`" msgstr ":const:`Py_LT`" -#: ../../c-api/typeobj.rst:1428 +#: ../../c-api/typeobj.rst:1454 msgid "``<``" msgstr "``<``" -#: ../../c-api/typeobj.rst:1430 +#: ../../c-api/typeobj.rst:1456 msgid ":const:`Py_LE`" msgstr ":const:`Py_LE`" -#: ../../c-api/typeobj.rst:1430 +#: ../../c-api/typeobj.rst:1456 msgid "``<=``" msgstr "``<=``" -#: ../../c-api/typeobj.rst:1432 +#: ../../c-api/typeobj.rst:1458 msgid ":const:`Py_EQ`" msgstr ":const:`Py_EQ`" -#: ../../c-api/typeobj.rst:1432 +#: ../../c-api/typeobj.rst:1458 msgid "``==``" msgstr "``==``" -#: ../../c-api/typeobj.rst:1434 +#: ../../c-api/typeobj.rst:1460 msgid ":const:`Py_NE`" msgstr ":const:`Py_NE`" -#: ../../c-api/typeobj.rst:1434 +#: ../../c-api/typeobj.rst:1460 msgid "``!=``" msgstr "``!=``" -#: ../../c-api/typeobj.rst:1436 +#: ../../c-api/typeobj.rst:1462 msgid ":const:`Py_GT`" msgstr ":const:`Py_GT`" -#: ../../c-api/typeobj.rst:1436 +#: ../../c-api/typeobj.rst:1462 msgid "``>``" msgstr "``>``" -#: ../../c-api/typeobj.rst:1438 +#: ../../c-api/typeobj.rst:1464 msgid ":const:`Py_GE`" msgstr ":const:`Py_GE`" -#: ../../c-api/typeobj.rst:1438 +#: ../../c-api/typeobj.rst:1464 msgid "``>=``" msgstr "``>=``" -#: ../../c-api/typeobj.rst:1441 +#: ../../c-api/typeobj.rst:1467 msgid "" "The following macro is defined to ease writing rich comparison functions:" msgstr "" -#: ../../c-api/typeobj.rst:1445 +#: ../../c-api/typeobj.rst:1471 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 " @@ -2303,15 +2343,15 @@ msgid "" "specifies the requested operation, as for :c:func:`PyObject_RichCompare`." msgstr "" -#: ../../c-api/typeobj.rst:1451 -msgid "The return value's reference count is properly incremented." +#: ../../c-api/typeobj.rst:1477 +msgid "The returned value is a new :term:`strong reference`." msgstr "" -#: ../../c-api/typeobj.rst:1453 +#: ../../c-api/typeobj.rst:1479 msgid "On error, sets an exception and returns ``NULL`` from the function." msgstr "" -#: ../../c-api/typeobj.rst:1461 +#: ../../c-api/typeobj.rst:1487 msgid "" "This field is inherited by subtypes together with :c:member:`~PyTypeObject." "tp_hash`: a subtype inherits :c:member:`~PyTypeObject.tp_richcompare` and :c:" @@ -2319,7 +2359,7 @@ msgid "" "tp_richcompare` and :c:member:`~PyTypeObject.tp_hash` are both ``NULL``." msgstr "" -#: ../../c-api/typeobj.rst:1468 +#: ../../c-api/typeobj.rst:1494 msgid "" ":c:type:`PyBaseObject_Type` provides a :attr:`tp_richcompare` " "implementation, which may be inherited. However, if only :attr:`tp_hash` is " @@ -2327,23 +2367,23 @@ msgid "" "will not be able to participate in any comparisons." msgstr "" -#: ../../c-api/typeobj.rst:1477 +#: ../../c-api/typeobj.rst:1503 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 :c:func:`PyWeakref_\\*` " -"functions. The instance structure needs to include a field of type :c:type:" +"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``." msgstr "" -#: ../../c-api/typeobj.rst:1484 +#: ../../c-api/typeobj.rst:1510 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:1489 +#: ../../c-api/typeobj.rst:1515 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 " @@ -2352,7 +2392,7 @@ msgid "" "not be a problem." msgstr "" -#: ../../c-api/typeobj.rst:1494 +#: ../../c-api/typeobj.rst:1520 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 " @@ -2361,7 +2401,7 @@ msgid "" "tp_weaklistoffset` of that slot's offset." msgstr "" -#: ../../c-api/typeobj.rst:1499 +#: ../../c-api/typeobj.rst:1525 msgid "" "When a type's :attr:`__slots__` declaration contains a slot named :attr:" "`__weakref__`, that slot becomes the weak reference list head for instances " @@ -2369,31 +2409,31 @@ msgid "" "`~PyTypeObject.tp_weaklistoffset`." msgstr "" -#: ../../c-api/typeobj.rst:1504 +#: ../../c-api/typeobj.rst:1530 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." msgstr "" -#: ../../c-api/typeobj.rst:1511 +#: ../../c-api/typeobj.rst:1537 msgid "" -"An optional pointer to a function that returns an iterator for the object. " -"Its presence normally signals that the instances of this type are iterable " -"(although sequences may be iterable without this function)." +"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)." msgstr "" -#: ../../c-api/typeobj.rst:1515 +#: ../../c-api/typeobj.rst:1541 msgid "This function has the same signature as :c:func:`PyObject_GetIter`::" msgstr "" -#: ../../c-api/typeobj.rst:1526 +#: ../../c-api/typeobj.rst:1552 msgid "" -"An optional pointer to a function that returns the next item in an 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:1531 +#: ../../c-api/typeobj.rst:1557 msgid "" "When the iterator is exhausted, it must return ``NULL``; a :exc:" "`StopIteration` exception may or may not be set. When another error occurs, " @@ -2401,74 +2441,74 @@ msgid "" "this type are iterators." msgstr "" -#: ../../c-api/typeobj.rst:1536 +#: ../../c-api/typeobj.rst:1562 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:1540 +#: ../../c-api/typeobj.rst:1566 msgid "This function has the same signature as :c:func:`PyIter_Next`." msgstr "" -#: ../../c-api/typeobj.rst:1549 +#: ../../c-api/typeobj.rst:1575 msgid "" "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:1552 +#: ../../c-api/typeobj.rst:1578 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:1557 +#: ../../c-api/typeobj.rst:1583 msgid "" "This field is not inherited by subtypes (methods are inherited through a " "different mechanism)." msgstr "" -#: ../../c-api/typeobj.rst:1563 +#: ../../c-api/typeobj.rst:1589 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." msgstr "" -#: ../../c-api/typeobj.rst:1567 +#: ../../c-api/typeobj.rst:1593 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:1572 +#: ../../c-api/typeobj.rst:1598 msgid "" "This field is not inherited by subtypes (members are inherited through a " "different mechanism)." msgstr "" -#: ../../c-api/typeobj.rst:1578 +#: ../../c-api/typeobj.rst:1604 msgid "" "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:1581 +#: ../../c-api/typeobj.rst:1607 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:1586 +#: ../../c-api/typeobj.rst:1612 msgid "" "This field is not inherited by subtypes (computed attributes are inherited " "through a different mechanism)." msgstr "" -#: ../../c-api/typeobj.rst:1592 +#: ../../c-api/typeobj.rst:1618 msgid "" "An optional pointer to a base type from which type properties are " "inherited. At this level, only single inheritance is supported; multiple " @@ -2476,7 +2516,7 @@ msgid "" "metatype." msgstr "" -#: ../../c-api/typeobj.rst:1600 +#: ../../c-api/typeobj.rst:1626 msgid "" "Slot initialization is subject to the rules of initializing globals. C99 " "requires the initializers to be \"address constants\". Function designators " @@ -2484,7 +2524,7 @@ msgid "" "valid C99 address constants." msgstr "" -#: ../../c-api/typeobj.rst:1605 +#: ../../c-api/typeobj.rst:1631 msgid "" "However, the unary '&' operator applied to a non-static variable like :c:" "func:`PyBaseObject_Type` is not required to produce an address constant. " @@ -2492,27 +2532,27 @@ msgid "" "strictly standard conforming in this particular behavior." msgstr "" -#: ../../c-api/typeobj.rst:1611 +#: ../../c-api/typeobj.rst:1637 msgid "" "Consequently, :c:member:`~PyTypeObject.tp_base` should be set in the " "extension module's init function." msgstr "" -#: ../../c-api/typeobj.rst:1616 +#: ../../c-api/typeobj.rst:1642 msgid "This field is not inherited by subtypes (obviously)." msgstr "" -#: ../../c-api/typeobj.rst:1620 +#: ../../c-api/typeobj.rst:1646 msgid "" "This field defaults to ``&PyBaseObject_Type`` (which to Python programmers " "is known as the type :class:`object`)." msgstr "" -#: ../../c-api/typeobj.rst:1626 +#: ../../c-api/typeobj.rst:1652 msgid "The type's dictionary is stored here by :c:func:`PyType_Ready`." msgstr "" -#: ../../c-api/typeobj.rst:1628 +#: ../../c-api/typeobj.rst:1654 msgid "" "This field should normally be initialized to ``NULL`` before PyType_Ready is " "called; it may also be initialized to a dictionary containing initial " @@ -2521,45 +2561,45 @@ msgid "" "they don't correspond to overloaded operations (like :meth:`__add__`)." msgstr "" -#: ../../c-api/typeobj.rst:1636 +#: ../../c-api/typeobj.rst:1662 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:1641 +#: ../../c-api/typeobj.rst:1667 msgid "" "If this field is ``NULL``, :c:func:`PyType_Ready` will assign a new " "dictionary to it." msgstr "" -#: ../../c-api/typeobj.rst:1646 +#: ../../c-api/typeobj.rst:1672 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." msgstr "" -#: ../../c-api/typeobj.rst:1652 +#: ../../c-api/typeobj.rst:1678 msgid "An optional pointer to a \"descriptor get\" function." msgstr "" -#: ../../c-api/typeobj.rst:1654 ../../c-api/typeobj.rst:1670 -#: ../../c-api/typeobj.rst:1752 ../../c-api/typeobj.rst:1782 -#: ../../c-api/typeobj.rst:1806 +#: ../../c-api/typeobj.rst:1680 ../../c-api/typeobj.rst:1696 +#: ../../c-api/typeobj.rst:1778 ../../c-api/typeobj.rst:1808 +#: ../../c-api/typeobj.rst:1832 msgid "The function signature is::" -msgstr "" +msgstr "A assinatura da função é::" -#: ../../c-api/typeobj.rst:1667 +#: ../../c-api/typeobj.rst:1693 msgid "" "An optional pointer to a function for setting and deleting a descriptor's " "value." msgstr "" -#: ../../c-api/typeobj.rst:1674 +#: ../../c-api/typeobj.rst:1700 msgid "The *value* argument is set to ``NULL`` to delete the value." msgstr "" -#: ../../c-api/typeobj.rst:1685 +#: ../../c-api/typeobj.rst:1711 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 " @@ -2567,13 +2607,13 @@ msgid "" "func:`PyObject_GenericGetAttr`." msgstr "" -#: ../../c-api/typeobj.rst:1690 +#: ../../c-api/typeobj.rst:1716 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:1693 +#: ../../c-api/typeobj.rst:1719 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, " @@ -2589,13 +2629,13 @@ msgid "" "the very end of the structure." msgstr "" -#: ../../c-api/typeobj.rst:1705 +#: ../../c-api/typeobj.rst:1731 msgid "" "The real dictionary offset in an instance can be computed from a negative :c:" "member:`~PyTypeObject.tp_dictoffset` as follows::" msgstr "" -#: ../../c-api/typeobj.rst:1712 +#: ../../c-api/typeobj.rst:1738 msgid "" "where :c:member:`~PyTypeObject.tp_basicsize`, :c:member:`~PyTypeObject." "tp_itemsize` and :c:member:`~PyTypeObject.tp_dictoffset` are taken from the " @@ -2605,7 +2645,7 @@ msgid "" "it is done for you by :c:func:`_PyObject_GetDictPtr`.)" msgstr "" -#: ../../c-api/typeobj.rst:1720 +#: ../../c-api/typeobj.rst:1746 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 " @@ -2614,7 +2654,7 @@ msgid "" "should not be a problem." msgstr "" -#: ../../c-api/typeobj.rst:1725 +#: ../../c-api/typeobj.rst:1751 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, " @@ -2622,14 +2662,14 @@ msgid "" "`~PyTypeObject.tp_dictoffset` is set to that slot's offset." msgstr "" -#: ../../c-api/typeobj.rst:1730 +#: ../../c-api/typeobj.rst:1756 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:1733 +#: ../../c-api/typeobj.rst:1759 msgid "" "(Adding a slot named :attr:`~object.__dict__` to the :attr:`__slots__` " "declaration does not have the expected effect, it just causes confusion. " @@ -2637,17 +2677,17 @@ msgid "" "though.)" msgstr "" -#: ../../c-api/typeobj.rst:1739 +#: ../../c-api/typeobj.rst:1765 msgid "" "This slot has no default. For :ref:`static types `, if the " "field is ``NULL`` then no :attr:`__dict__` gets created for instances." msgstr "" -#: ../../c-api/typeobj.rst:1745 +#: ../../c-api/typeobj.rst:1771 msgid "An optional pointer to an instance initialization function." msgstr "" -#: ../../c-api/typeobj.rst:1747 +#: ../../c-api/typeobj.rst:1773 msgid "" "This function corresponds to the :meth:`__init__` method of classes. Like :" "meth:`__init__`, it is possible to create an instance without calling :meth:" @@ -2655,14 +2695,14 @@ msgid "" "meth:`__init__` method again." msgstr "" -#: ../../c-api/typeobj.rst:1756 +#: ../../c-api/typeobj.rst:1782 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__`." msgstr "" -#: ../../c-api/typeobj.rst:1760 +#: ../../c-api/typeobj.rst:1786 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 :" @@ -2674,43 +2714,43 @@ msgid "" "subtype's :c:member:`~PyTypeObject.tp_init` is called." msgstr "" -#: ../../c-api/typeobj.rst:1767 +#: ../../c-api/typeobj.rst:1793 msgid "Returns ``0`` on success, ``-1`` and sets an exception on error." msgstr "" -#: ../../c-api/typeobj.rst:1775 +#: ../../c-api/typeobj.rst:1801 msgid "" "For :ref:`static types ` this field does not have a default." msgstr "" -#: ../../c-api/typeobj.rst:1780 +#: ../../c-api/typeobj.rst:1806 msgid "An optional pointer to an instance allocation function." msgstr "" -#: ../../c-api/typeobj.rst:1788 +#: ../../c-api/typeobj.rst:1814 msgid "" "This field is inherited by static subtypes, but not by dynamic subtypes " "(subtypes created by a class statement)." msgstr "" -#: ../../c-api/typeobj.rst:1793 +#: ../../c-api/typeobj.rst:1819 msgid "" "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:1797 +#: ../../c-api/typeobj.rst:1823 msgid "" "For static subtypes, :c:type:`PyBaseObject_Type` uses :c:func:" "`PyType_GenericAlloc`. That is the recommended value for all statically " "defined types." msgstr "" -#: ../../c-api/typeobj.rst:1804 +#: ../../c-api/typeobj.rst:1830 msgid "An optional pointer to an instance creation function." msgstr "" -#: ../../c-api/typeobj.rst:1810 +#: ../../c-api/typeobj.rst:1836 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 " @@ -2719,7 +2759,7 @@ msgid "" "that type (but not an unrelated type)." msgstr "" -#: ../../c-api/typeobj.rst:1816 +#: ../../c-api/typeobj.rst:1842 msgid "" "The :c:member:`~PyTypeObject.tp_new` function should call ``subtype-" ">tp_alloc(subtype, nitems)`` to allocate space for the object, and then do " @@ -2731,20 +2771,20 @@ msgid "" "be deferred to :c:member:`~PyTypeObject.tp_init`." msgstr "" -#: ../../c-api/typeobj.rst:1824 +#: ../../c-api/typeobj.rst:1850 msgid "" "Set the :const:`Py_TPFLAGS_DISALLOW_INSTANTIATION` flag to disallow creating " "instances of the type in Python." msgstr "" -#: ../../c-api/typeobj.rst:1829 +#: ../../c-api/typeobj.rst:1855 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``." msgstr "" -#: ../../c-api/typeobj.rst:1835 +#: ../../c-api/typeobj.rst:1861 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 " @@ -2752,39 +2792,39 @@ msgid "" "factory function." msgstr "" -#: ../../c-api/typeobj.rst:1843 +#: ../../c-api/typeobj.rst:1869 msgid "" "An optional pointer to an instance deallocation function. Its signature is::" msgstr "" -#: ../../c-api/typeobj.rst:1847 +#: ../../c-api/typeobj.rst:1873 msgid "" "An initializer that is compatible with this signature is :c:func:" "`PyObject_Free`." msgstr "" -#: ../../c-api/typeobj.rst:1851 +#: ../../c-api/typeobj.rst:1877 msgid "" "This field is inherited by static subtypes, but not by dynamic subtypes " "(subtypes created by a class statement)" msgstr "" -#: ../../c-api/typeobj.rst:1856 +#: ../../c-api/typeobj.rst:1882 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." msgstr "" -#: ../../c-api/typeobj.rst:1860 +#: ../../c-api/typeobj.rst:1886 msgid "For static subtypes, :c:type:`PyBaseObject_Type` uses PyObject_Del." msgstr "" -#: ../../c-api/typeobj.rst:1865 +#: ../../c-api/typeobj.rst:1891 msgid "An optional pointer to a function called by the garbage collector." msgstr "" -#: ../../c-api/typeobj.rst:1867 +#: ../../c-api/typeobj.rst:1893 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 " @@ -2796,76 +2836,90 @@ msgid "" "instance. The signature is::" msgstr "" -#: ../../c-api/typeobj.rst:1877 +#: ../../c-api/typeobj.rst:1903 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 `.)" msgstr "" -#: ../../c-api/typeobj.rst:1887 +#: ../../c-api/typeobj.rst:1913 msgid "" "This slot has no default. If this field is ``NULL``, :const:" "`Py_TPFLAGS_HAVE_GC` is used as the functional equivalent." msgstr "" -#: ../../c-api/typeobj.rst:1893 +#: ../../c-api/typeobj.rst:1919 msgid "Tuple of base types." msgstr "" -#: ../../c-api/typeobj.rst:1895 +#: ../../c-api/typeobj.rst:1921 ../../c-api/typeobj.rst:1945 msgid "" -"This is set for types created by a class statement. It should be ``NULL`` " -"for statically defined types." +"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:1900 ../../c-api/typeobj.rst:1921 -#: ../../c-api/typeobj.rst:1930 ../../c-api/typeobj.rst:1940 -#: ../../c-api/typeobj.rst:1954 +#: ../../c-api/typeobj.rst:1924 +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." +msgstr "" + +#: ../../c-api/typeobj.rst:1931 +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:1937 ../../c-api/typeobj.rst:1960 +#: ../../c-api/typeobj.rst:1969 ../../c-api/typeobj.rst:1979 +#: ../../c-api/typeobj.rst:1993 msgid "This field is not inherited." msgstr "" -#: ../../c-api/typeobj.rst:1905 +#: ../../c-api/typeobj.rst:1942 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:1911 +#: ../../c-api/typeobj.rst:1950 msgid "" "This field is not inherited; it is calculated fresh by :c:func:" "`PyType_Ready`." msgstr "" -#: ../../c-api/typeobj.rst:1917 +#: ../../c-api/typeobj.rst:1956 msgid "Unused. Internal use only." msgstr "" -#: ../../c-api/typeobj.rst:1926 +#: ../../c-api/typeobj.rst:1965 msgid "List of weak references to subclasses. Internal use only." msgstr "" -#: ../../c-api/typeobj.rst:1935 +#: ../../c-api/typeobj.rst:1974 msgid "" "Weak reference list head, for weak references to this type object. Not " "inherited. Internal use only." msgstr "" -#: ../../c-api/typeobj.rst:1945 +#: ../../c-api/typeobj.rst:1984 msgid "" "This field is deprecated. Use :c:member:`~PyTypeObject.tp_finalize` instead." msgstr "" -#: ../../c-api/typeobj.rst:1950 +#: ../../c-api/typeobj.rst:1989 msgid "Used to index into the method cache. Internal use only." msgstr "" -#: ../../c-api/typeobj.rst:1959 +#: ../../c-api/typeobj.rst:1998 msgid "" "An optional pointer to an instance finalization function. Its signature is::" msgstr "" -#: ../../c-api/typeobj.rst:1963 +#: ../../c-api/typeobj.rst:2002 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 " @@ -2875,24 +2929,38 @@ msgid "" "object in a sane state." msgstr "" -#: ../../c-api/typeobj.rst:1970 +#: ../../c-api/typeobj.rst:2009 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:1987 +#: ../../c-api/typeobj.rst:2026 +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." +msgstr "" + +#: ../../c-api/typeobj.rst:2045 msgid "" -"For this field to be taken into account (even through inheritance), you must " -"also set the :const:`Py_TPFLAGS_HAVE_FINALIZE` flags bit." +"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." msgstr "" -#: ../../c-api/typeobj.rst:1996 +#: ../../c-api/typeobj.rst:2049 msgid "\"Safe object finalization\" (:pep:`442`)" -msgstr "\"Safe object finalization\" (:pep:`442`)" +msgstr "\"Finalização segura de objetos\" (:pep:`442`)" -#: ../../c-api/typeobj.rst:2001 +#: ../../c-api/typeobj.rst:2054 msgid "" "Vectorcall function to use for calls of this type object. In other words, it " "is used to implement :ref:`vectorcall ` for ``type.__call__``. " @@ -2900,74 +2968,61 @@ msgid "" "attr:`__new__` and :attr:`__init__` is used." msgstr "" -#: ../../c-api/typeobj.rst:2009 +#: ../../c-api/typeobj.rst:2062 msgid "This field is never inherited." msgstr "" -#: ../../c-api/typeobj.rst:2011 +#: ../../c-api/typeobj.rst:2064 msgid "(the field exists since 3.8 but it's only used since 3.9)" msgstr "" -#: ../../c-api/typeobj.rst:2014 -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." -msgstr "" - -#: ../../c-api/typeobj.rst:2028 +#: ../../c-api/typeobj.rst:2070 msgid "Static Types" msgstr "" -#: ../../c-api/typeobj.rst:2030 +#: ../../c-api/typeobj.rst:2072 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`." msgstr "" -#: ../../c-api/typeobj.rst:2034 +#: ../../c-api/typeobj.rst:2076 msgid "" "This results in types that are limited relative to types defined in Python:" msgstr "" -#: ../../c-api/typeobj.rst:2036 +#: ../../c-api/typeobj.rst:2078 msgid "" "Static types are limited to one base, i.e. they cannot use multiple " "inheritance." msgstr "" -#: ../../c-api/typeobj.rst:2038 +#: ../../c-api/typeobj.rst:2080 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:2040 +#: ../../c-api/typeobj.rst:2082 msgid "" "Static type objects are shared across :ref:`sub-interpreters `, so they should not include any subinterpreter-" "specific state." msgstr "" -#: ../../c-api/typeobj.rst:2044 +#: ../../c-api/typeobj.rst:2086 msgid "" -"Also, since :c:type:`PyTypeObject` is not part of the :ref:`stable ABI " -"`, any extension modules using static types must be compiled for a " -"specific Python minor version." +"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." msgstr "" -#: ../../c-api/typeobj.rst:2052 +#: ../../c-api/typeobj.rst:2094 msgid "Heap Types" -msgstr "" +msgstr "Tipos no heap" -#: ../../c-api/typeobj.rst:2054 +#: ../../c-api/typeobj.rst:2096 msgid "" "An alternative to :ref:`static types ` is *heap-allocated " "types*, or *heap types* for short, which correspond closely to classes " @@ -2975,29 +3030,29 @@ msgid "" "`Py_TPFLAGS_HEAPTYPE` flag set." msgstr "" -#: ../../c-api/typeobj.rst:2059 +#: ../../c-api/typeobj.rst:2101 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`." msgstr "" -#: ../../c-api/typeobj.rst:2067 +#: ../../c-api/typeobj.rst:2109 msgid "Number Object Structures" msgstr "" -#: ../../c-api/typeobj.rst:2074 +#: ../../c-api/typeobj.rst:2116 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:2080 ../../c-api/typeobj.rst:2404 +#: ../../c-api/typeobj.rst:2122 ../../c-api/typeobj.rst:2446 msgid "Here is the structure definition::" msgstr "" -#: ../../c-api/typeobj.rst:2127 +#: ../../c-api/typeobj.rst:2169 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 " @@ -3007,30 +3062,30 @@ msgid "" "and set an exception." msgstr "" -#: ../../c-api/typeobj.rst:2136 +#: ../../c-api/typeobj.rst:2178 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." msgstr "" -#: ../../c-api/typeobj.rst:2181 +#: ../../c-api/typeobj.rst:2223 msgid "Mapping Object Structures" msgstr "" -#: ../../c-api/typeobj.rst:2188 +#: ../../c-api/typeobj.rst:2230 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:2193 +#: ../../c-api/typeobj.rst:2235 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." msgstr "" -#: ../../c-api/typeobj.rst:2199 +#: ../../c-api/typeobj.rst:2241 msgid "" "This function is used by :c:func:`PyObject_GetItem` and :c:func:" "`PySequence_GetSlice`, and has the same signature as :c:func:`!" @@ -3038,7 +3093,7 @@ msgid "" "`PyMapping_Check` function to return ``1``, it can be ``NULL`` otherwise." msgstr "" -#: ../../c-api/typeobj.rst:2207 +#: ../../c-api/typeobj.rst:2249 msgid "" "This function is used by :c:func:`PyObject_SetItem`, :c:func:" "`PyObject_DelItem`, :c:func:`PyObject_SetSlice` and :c:func:" @@ -3048,17 +3103,17 @@ msgid "" "deletion." msgstr "" -#: ../../c-api/typeobj.rst:2218 +#: ../../c-api/typeobj.rst:2260 msgid "Sequence Object Structures" msgstr "" -#: ../../c-api/typeobj.rst:2225 +#: ../../c-api/typeobj.rst:2267 msgid "" "This structure holds pointers to the functions which an object uses to " "implement the sequence protocol." msgstr "" -#: ../../c-api/typeobj.rst:2230 +#: ../../c-api/typeobj.rst:2272 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 " @@ -3066,21 +3121,21 @@ msgid "" "member:`~PySequenceMethods.sq_ass_item` slots." msgstr "" -#: ../../c-api/typeobj.rst:2237 +#: ../../c-api/typeobj.rst:2279 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:2243 +#: ../../c-api/typeobj.rst:2285 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:2249 +#: ../../c-api/typeobj.rst:2291 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 " @@ -3089,7 +3144,7 @@ msgid "" "``1``, it can be ``NULL`` otherwise." msgstr "" -#: ../../c-api/typeobj.rst:2255 +#: ../../c-api/typeobj.rst:2297 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 " @@ -3097,7 +3152,7 @@ msgid "" "the index is passed as is to the function." msgstr "" -#: ../../c-api/typeobj.rst:2262 +#: ../../c-api/typeobj.rst:2304 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:" @@ -3106,14 +3161,14 @@ msgid "" "``NULL`` if the object does not support item assignment and deletion." msgstr "" -#: ../../c-api/typeobj.rst:2271 +#: ../../c-api/typeobj.rst:2313 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:2278 +#: ../../c-api/typeobj.rst:2320 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 " @@ -3123,7 +3178,7 @@ msgid "" "c:member:`~PyNumberMethods.nb_inplace_add` slot." msgstr "" -#: ../../c-api/typeobj.rst:2287 +#: ../../c-api/typeobj.rst:2329 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 " @@ -3133,72 +3188,72 @@ msgid "" "via the :c:member:`~PyNumberMethods.nb_inplace_multiply` slot." msgstr "" -#: ../../c-api/typeobj.rst:2298 +#: ../../c-api/typeobj.rst:2340 msgid "Buffer Object Structures" msgstr "" -#: ../../c-api/typeobj.rst:2306 +#: ../../c-api/typeobj.rst:2348 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:2312 ../../c-api/typeobj.rst:2361 -#: ../../c-api/typeobj.rst:2415 ../../c-api/typeobj.rst:2426 -#: ../../c-api/typeobj.rst:2437 ../../c-api/typeobj.rst:2446 +#: ../../c-api/typeobj.rst:2354 ../../c-api/typeobj.rst:2403 +#: ../../c-api/typeobj.rst:2457 ../../c-api/typeobj.rst:2468 +#: ../../c-api/typeobj.rst:2480 ../../c-api/typeobj.rst:2489 msgid "The signature of this function is::" msgstr "" -#: ../../c-api/typeobj.rst:2316 +#: ../../c-api/typeobj.rst:2358 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:2320 +#: ../../c-api/typeobj.rst:2362 msgid "" "Check if the request can be met. If not, raise :c:data:`PyExc_BufferError`, " -"set :c:data:`view->obj` to ``NULL`` and return ``-1``." +"set :c:expr:`view->obj` to ``NULL`` and return ``-1``." msgstr "" -#: ../../c-api/typeobj.rst:2323 +#: ../../c-api/typeobj.rst:2365 msgid "Fill in the requested fields." msgstr "" -#: ../../c-api/typeobj.rst:2325 +#: ../../c-api/typeobj.rst:2367 msgid "Increment an internal counter for the number of exports." msgstr "" -#: ../../c-api/typeobj.rst:2327 +#: ../../c-api/typeobj.rst:2369 msgid "" -"Set :c:data:`view->obj` to *exporter* and increment :c:data:`view->obj`." +"Set :c:expr:`view->obj` to *exporter* and increment :c:expr:`view->obj`." msgstr "" -#: ../../c-api/typeobj.rst:2329 +#: ../../c-api/typeobj.rst:2371 msgid "Return ``0``." msgstr "Retorna ``0``." -#: ../../c-api/typeobj.rst:2331 +#: ../../c-api/typeobj.rst:2373 msgid "" "If *exporter* is part of a chain or tree of buffer providers, two main " "schemes can be used:" msgstr "" -#: ../../c-api/typeobj.rst:2334 +#: ../../c-api/typeobj.rst:2376 msgid "" "Re-export: Each member of the tree acts as the exporting object and sets :c:" -"data:`view->obj` to a new reference to itself." +"expr:`view->obj` to a new reference to itself." msgstr "" -#: ../../c-api/typeobj.rst:2337 +#: ../../c-api/typeobj.rst:2379 msgid "" "Redirect: The buffer request is redirected to the root object of the tree. " -"Here, :c:data:`view->obj` will be a new reference to the root object." +"Here, :c:expr:`view->obj` will be a new reference to the root object." msgstr "" -#: ../../c-api/typeobj.rst:2341 +#: ../../c-api/typeobj.rst:2383 msgid "" "The individual fields of *view* are described in section :ref:`Buffer " "structure `, the rules how an exporter must react to " @@ -3206,7 +3261,7 @@ msgid "" "types>`." msgstr "" -#: ../../c-api/typeobj.rst:2346 +#: ../../c-api/typeobj.rst:2388 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:" @@ -3215,19 +3270,19 @@ msgid "" "internal` are read-only for the consumer." msgstr "" -#: ../../c-api/typeobj.rst:2353 +#: ../../c-api/typeobj.rst:2395 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:2356 +#: ../../c-api/typeobj.rst:2398 msgid "" ":c:func:`PyObject_GetBuffer` is the interface for the consumer that wraps " "this function." msgstr "" -#: ../../c-api/typeobj.rst:2365 +#: ../../c-api/typeobj.rst:2407 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 " @@ -3235,15 +3290,15 @@ msgid "" "these optional steps:" msgstr "" -#: ../../c-api/typeobj.rst:2370 +#: ../../c-api/typeobj.rst:2412 msgid "Decrement an internal counter for the number of exports." msgstr "" -#: ../../c-api/typeobj.rst:2372 +#: ../../c-api/typeobj.rst:2414 msgid "If the counter is ``0``, free all memory associated with *view*." msgstr "" -#: ../../c-api/typeobj.rst:2374 +#: ../../c-api/typeobj.rst:2416 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 " @@ -3251,67 +3306,68 @@ msgid "" "*view* argument." msgstr "" -#: ../../c-api/typeobj.rst:2380 +#: ../../c-api/typeobj.rst:2422 msgid "" -"This function MUST NOT decrement :c:data:`view->obj`, since that is done " +"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:2385 +#: ../../c-api/typeobj.rst:2427 msgid "" ":c:func:`PyBuffer_Release` is the interface for the consumer that wraps this " "function." msgstr "" -#: ../../c-api/typeobj.rst:2393 +#: ../../c-api/typeobj.rst:2435 msgid "Async Object Structures" msgstr "" -#: ../../c-api/typeobj.rst:2401 +#: ../../c-api/typeobj.rst:2443 msgid "" "This structure holds pointers to the functions required to implement :term:" "`awaitable` and :term:`asynchronous iterator` objects." msgstr "" -#: ../../c-api/typeobj.rst:2419 +#: ../../c-api/typeobj.rst:2461 msgid "" -"The returned object must be an iterator, i.e. :c:func:`PyIter_Check` must " -"return ``1`` for it." +"The returned object must be an :term:`iterator`, i.e. :c:func:`PyIter_Check` " +"must return ``1`` for it." msgstr "" -#: ../../c-api/typeobj.rst:2422 +#: ../../c-api/typeobj.rst:2464 msgid "" "This slot may be set to ``NULL`` if an object is not an :term:`awaitable`." msgstr "" -#: ../../c-api/typeobj.rst:2430 +#: ../../c-api/typeobj.rst:2472 msgid "" -"Must return an :term:`awaitable` object. See :meth:`__anext__` for details." +"Must return an :term:`asynchronous iterator` object. See :meth:`__anext__` " +"for details." msgstr "" -#: ../../c-api/typeobj.rst:2432 +#: ../../c-api/typeobj.rst:2475 msgid "" "This slot may be set to ``NULL`` if an object does not implement " "asynchronous iteration protocol." msgstr "" -#: ../../c-api/typeobj.rst:2441 +#: ../../c-api/typeobj.rst:2484 msgid "" "Must return an :term:`awaitable` object. See :meth:`__anext__` for details. " "This slot may be set to ``NULL``." msgstr "" -#: ../../c-api/typeobj.rst:2450 +#: ../../c-api/typeobj.rst:2493 msgid "" "See :c:func:`PyIter_Send` for details. This slot may be set to ``NULL``." msgstr "" -#: ../../c-api/typeobj.rst:2459 +#: ../../c-api/typeobj.rst:2502 msgid "Slot Type typedefs" msgstr "" -#: ../../c-api/typeobj.rst:2463 +#: ../../c-api/typeobj.rst:2506 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 " @@ -3325,80 +3381,80 @@ msgid "" "member:`~PyTypeObject.tp_basicsize`." msgstr "" -#: ../../c-api/typeobj.rst:2473 +#: ../../c-api/typeobj.rst:2516 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`." msgstr "" -#: ../../c-api/typeobj.rst:2480 +#: ../../c-api/typeobj.rst:2523 msgid "See :c:member:`~PyTypeObject.tp_free`." msgstr "" -#: ../../c-api/typeobj.rst:2484 +#: ../../c-api/typeobj.rst:2527 msgid "See :c:member:`~PyTypeObject.tp_new`." msgstr "" -#: ../../c-api/typeobj.rst:2488 +#: ../../c-api/typeobj.rst:2531 msgid "See :c:member:`~PyTypeObject.tp_init`." msgstr "" -#: ../../c-api/typeobj.rst:2492 +#: ../../c-api/typeobj.rst:2535 msgid "See :c:member:`~PyTypeObject.tp_repr`." msgstr "" -#: ../../c-api/typeobj.rst:2496 ../../c-api/typeobj.rst:2505 +#: ../../c-api/typeobj.rst:2539 ../../c-api/typeobj.rst:2548 msgid "Return the value of the named attribute for the object." msgstr "" -#: ../../c-api/typeobj.rst:2500 ../../c-api/typeobj.rst:2511 +#: ../../c-api/typeobj.rst:2543 ../../c-api/typeobj.rst:2554 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:2507 +#: ../../c-api/typeobj.rst:2550 msgid "See :c:member:`~PyTypeObject.tp_getattro`." msgstr "" -#: ../../c-api/typeobj.rst:2514 +#: ../../c-api/typeobj.rst:2557 msgid "See :c:member:`~PyTypeObject.tp_setattro`." msgstr "" -#: ../../c-api/typeobj.rst:2518 -msgid "See :c:member:`~PyTypeObject.tp_descrget`." +#: ../../c-api/typeobj.rst:2561 +msgid "See :c:member:`~PyTypeObject.tp_descr_get`." msgstr "" -#: ../../c-api/typeobj.rst:2522 -msgid "See :c:member:`~PyTypeObject.tp_descrset`." +#: ../../c-api/typeobj.rst:2565 +msgid "See :c:member:`~PyTypeObject.tp_descr_set`." msgstr "" -#: ../../c-api/typeobj.rst:2526 +#: ../../c-api/typeobj.rst:2569 msgid "See :c:member:`~PyTypeObject.tp_hash`." msgstr "" -#: ../../c-api/typeobj.rst:2530 +#: ../../c-api/typeobj.rst:2573 msgid "See :c:member:`~PyTypeObject.tp_richcompare`." msgstr "" -#: ../../c-api/typeobj.rst:2534 +#: ../../c-api/typeobj.rst:2577 msgid "See :c:member:`~PyTypeObject.tp_iter`." msgstr "" -#: ../../c-api/typeobj.rst:2538 +#: ../../c-api/typeobj.rst:2581 msgid "See :c:member:`~PyTypeObject.tp_iternext`." msgstr "" -#: ../../c-api/typeobj.rst:2552 +#: ../../c-api/typeobj.rst:2595 msgid "See :c:member:`~PyAsyncMethods.am_send`." msgstr "" -#: ../../c-api/typeobj.rst:2568 +#: ../../c-api/typeobj.rst:2611 msgid "Examples" msgstr "Exemplos" -#: ../../c-api/typeobj.rst:2570 +#: ../../c-api/typeobj.rst:2613 msgid "" "The following are simple examples of Python type definitions. They include " "common usage you may encounter. Some demonstrate tricky corner cases. For " @@ -3406,33 +3462,33 @@ msgid "" "and :ref:`new-types-topics`." msgstr "" -#: ../../c-api/typeobj.rst:2575 +#: ../../c-api/typeobj.rst:2618 msgid "A basic :ref:`static type `::" msgstr "" -#: ../../c-api/typeobj.rst:2592 +#: ../../c-api/typeobj.rst:2635 msgid "" "You may also find older code (especially in the CPython code base) with a " "more verbose initializer::" msgstr "" -#: ../../c-api/typeobj.rst:2636 +#: ../../c-api/typeobj.rst:2679 msgid "A type that supports weakrefs, instance dicts, and hashing::" msgstr "" -#: ../../c-api/typeobj.rst:2663 +#: ../../c-api/typeobj.rst:2706 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::" msgstr "" -#: ../../c-api/typeobj.rst:2682 +#: ../../c-api/typeobj.rst:2725 msgid "" "The simplest :ref:`static type ` with fixed-length instances::" msgstr "" -#: ../../c-api/typeobj.rst:2693 +#: ../../c-api/typeobj.rst:2736 msgid "" "The simplest :ref:`static type ` with variable-length " "instances::" diff --git a/c-api/unicode.po b/c-api/unicode.po index ecc54bc78..c0b83e723 100644 --- a/c-api/unicode.po +++ b/c-api/unicode.po @@ -1,31 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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 -# Juliana Karoline , 2021 -# Marco Rougeth , 2021 -# Tiago Henrique , 2021 -# Claudio Rogerio Carvalho Filho , 2021 -# Julio Gadioli Soares , 2021 +# python-doc bot, 2025 # #, 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 00:50+0000\n" -"Last-Translator: Julio Gadioli Soares , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:57+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../c-api/unicode.rst:6 msgid "Unicode Objects and Codecs" @@ -33,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 "" @@ -44,11 +40,17 @@ 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 "" -":c:type:`Py_UNICODE*` and UTF-8 representations are created on demand and " -"cached in the Unicode object. The :c:type:`Py_UNICODE*` representation is " +":c:expr:`Py_UNICODE*` and UTF-8 representations are created on demand and " +"cached in the Unicode object. The :c:expr:`Py_UNICODE*` representation is " "deprecated and inefficient." msgstr "" @@ -68,7 +70,7 @@ 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:type:" +"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 "" @@ -82,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 "" @@ -96,10 +100,14 @@ 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:type:`wchar_t`, which is a 16-bit type or 32-bit " +"This is a typedef of :c:expr:`wchar_t`, which is a 16-bit type or 32-bit " "type depending on the platform." msgstr "" @@ -109,6 +117,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 "" @@ -116,6 +127,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 "" @@ -174,7 +189,7 @@ 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." @@ -208,12 +223,15 @@ msgid "" "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:194 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 *o*, which must be in the " +"\"canonical\" representation. This is less efficient than :c:func:" +"`PyUnicode_READ` if you do multiple consecutive reads." msgstr "" #: ../../c-api/unicode.rst:203 @@ -249,7 +267,7 @@ 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:type:`const char *`. The *o* argument has to be a Unicode " +"pointer to :c:expr:`const char *`. The *o* argument has to be a Unicode " "object (not checked)." msgstr "" @@ -273,16 +291,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:258 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:264 msgid "Unicode Character Properties" -msgstr "" +msgstr "Propriedade de caracteres Unicode" #: ../../c-api/unicode.rst:266 msgid "" @@ -290,53 +312,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:273 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:278 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:283 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:288 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:293 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:298 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:303 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:308 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:313 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:318 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:323 msgid "" @@ -441,6 +468,10 @@ msgid "" "`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:429 msgid "" @@ -547,7 +578,7 @@ msgstr ":attr:`%li`" #: ../../c-api/unicode.rst:478 msgid "Equivalent to ``printf(\"%li\")``. [1]_" -msgstr "" +msgstr "Equivalente a ``printf(\"%li\")``. [1]_" #: ../../c-api/unicode.rst:481 msgid ":attr:`%lu`" @@ -567,11 +598,11 @@ msgstr ":attr:`%lld`" #: ../../c-api/unicode.rst:484 ../../c-api/unicode.rst:487 msgid "long long" -msgstr "" +msgstr "long long" #: ../../c-api/unicode.rst:484 msgid "Equivalent to ``printf(\"%lld\")``. [1]_" -msgstr "" +msgstr "Equivalente a ``printf(\"%lld\")``. [1]_" #: ../../c-api/unicode.rst:487 msgid ":attr:`%lli`" @@ -579,7 +610,7 @@ msgstr ":attr:`%lli`" #: ../../c-api/unicode.rst:487 msgid "Equivalent to ``printf(\"%lli\")``. [1]_" -msgstr "" +msgstr "Equivalente a ``printf(\"%lli\")``. [1]_" #: ../../c-api/unicode.rst:490 msgid ":attr:`%llu`" @@ -591,15 +622,15 @@ msgstr "unsigned long long" #: ../../c-api/unicode.rst:490 msgid "Equivalent to ``printf(\"%llu\")``. [1]_" -msgstr "" +msgstr "Equivalente a ``printf(\"%llu\")``. [1]_" #: ../../c-api/unicode.rst:493 msgid ":attr:`%zd`" msgstr ":attr:`%zd`" #: ../../c-api/unicode.rst:493 ../../c-api/unicode.rst:496 -msgid "Py_ssize_t" -msgstr "Py_ssize_t" +msgid ":c:type:`\\ Py_ssize_t`" +msgstr ":c:type:`\\ Py_ssize_t`" #: ../../c-api/unicode.rst:493 msgid "Equivalent to ``printf(\"%zd\")``. [1]_" @@ -611,7 +642,7 @@ msgstr ":attr:`%zi`" #: ../../c-api/unicode.rst:496 msgid "Equivalent to ``printf(\"%zi\")``. [1]_" -msgstr "" +msgstr "Equivalente a ``printf(\"%zi\")``. [1]_" #: ../../c-api/unicode.rst:499 msgid ":attr:`%zu`" @@ -663,9 +694,9 @@ msgstr "const void\\*" #: ../../c-api/unicode.rst:511 msgid "" -"The hex representation of a C pointer. Mostly equivalent to ``printf(\"%p" -"\")`` except that it is guaranteed to start with the literal ``0x`` " -"regardless of what the platform's ``printf`` yields." +"The hex representation of a C pointer. Mostly equivalent to " +"``printf(\"%p\")`` except that it is guaranteed to start with the literal " +"``0x`` regardless of what the platform's ``printf`` yields." msgstr "" "A representação hexadecimal de um ponteiro C. Principalmente equivalente a " "``printf(\"%p\")`` exceto que é garantido que comece com o literal ``0x`` " @@ -754,8 +785,8 @@ msgstr "" #: ../../c-api/unicode.rst:557 msgid "" -"Support width and precision formatter for ``\"%s\"``, ``\"%A\"``, ``\"%U" -"\"``, ``\"%V\"``, ``\"%S\"``, ``\"%R\"`` added." +"Support width and precision formatter for ``\"%s\"``, ``\"%A\"``, " +"``\"%U\"``, ``\"%V\"``, ``\"%S\"``, ``\"%R\"`` added." msgstr "" #: ../../c-api/unicode.rst:564 @@ -802,8 +833,8 @@ msgstr "" #: ../../c-api/unicode.rst:610 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:613 @@ -905,7 +936,7 @@ msgstr "" #: ../../c-api/unicode.rst:708 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: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 " @@ -937,7 +968,7 @@ msgstr "" msgid "" "Like :c:func:`PyUnicode_AsUnicode`, but also saves the :c:func:`Py_UNICODE` " "array length (excluding the extra null terminator) in *size*. Note that the " -"resulting :c:type:`Py_UNICODE*` string may contain embedded null code " +"resulting :c:expr:`Py_UNICODE*` string may contain embedded null code " "points, which would cause the string to be truncated when used in most C " "functions." msgstr "" @@ -973,9 +1004,9 @@ msgstr "" #: ../../c-api/unicode.rst:778 msgid "" "Decode a string from UTF-8 on Android and VxWorks, or from the current " -"locale encoding on other platforms. The supported error handlers are ``" -"\"strict\"`` and ``\"surrogateescape\"`` (:pep:`383`). The decoder uses ``" -"\"strict\"`` error handler if *errors* is ``NULL``. *str* must end with a " +"locale encoding on other platforms. The supported error handlers are " +"``\"strict\"`` and ``\"surrogateescape\"`` (:pep:`383`). The decoder uses " +"``\"strict\"`` error handler if *errors* is ``NULL``. *str* must end with a " "null character but cannot contain embedded null characters." msgstr "" @@ -1011,10 +1042,10 @@ msgstr "" #: ../../c-api/unicode.rst:814 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." +"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." msgstr "" #: ../../c-api/unicode.rst:821 @@ -1054,7 +1085,7 @@ 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:type:`PyBytesObject*` which must be released when it " +"*result* must be a :c:expr:`PyBytesObject*` which must be released when it " "is no longer used." msgstr "" @@ -1074,7 +1105,7 @@ 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:type:`PyUnicodeObject*` " +"objects are output as-is. *result* must be a :c:expr:`PyUnicodeObject*` " "which must be released when it is no longer used." msgstr "" @@ -1133,26 +1164,26 @@ msgid "wchar_t Support" msgstr "" #: ../../c-api/unicode.rst:942 -msgid ":c:type:`wchar_t` support for platforms which support it:" +msgid ":c:expr:`wchar_t` support for platforms which support it:" msgstr "" #: ../../c-api/unicode.rst:946 msgid "" -"Create a Unicode object from the :c:type:`wchar_t` buffer *w* of the given " +"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." msgstr "" #: ../../c-api/unicode.rst:954 msgid "" -"Copy the Unicode object contents into the :c:type:`wchar_t` buffer *w*. At " -"most *size* :c:type:`wchar_t` characters are copied (excluding a possibly " -"trailing null termination character). Return the number of :c:type:" +"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:type:`wchar_t*` string may or may not be null-terminated. It " -"is the responsibility of the caller to make sure that the :c:type:`wchar_t*` " +"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:type:`wchar_t*` string might contain null characters, which " +"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 "" @@ -1161,23 +1192,23 @@ 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:type:`wchar_t` string " +"character) into *\\*size*. Note that the resulting :c:expr:`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:type:" +"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:975 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 " +"`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:982 msgid "" -"Raises a :exc:`ValueError` if *size* is ``NULL`` and the :c:type:`wchar_t*` " +"Raises a :exc:`ValueError` if *size* is ``NULL`` and the :c:expr:`wchar_t*` " "string contains null characters." msgstr "" @@ -1218,7 +1249,7 @@ msgstr "" #: ../../c-api/unicode.rst:1011 msgid "" -"The codecs all use a similar interface. Only deviation from the following " +"The codecs all use a similar interface. Only deviations from the following " "generic ones are documented for simplicity." msgstr "" @@ -1257,7 +1288,7 @@ msgid "" "``NULL`` if an exception was raised by the codec." msgstr "" -#: ../../c-api/unicode.rst:1052 ../../c-api/unicode.rst:1312 +#: ../../c-api/unicode.rst:1052 ../../c-api/unicode.rst:1313 msgid "" "Part of the old-style :c:type:`Py_UNICODE` API; please migrate to using :c:" "func:`PyUnicode_AsEncodedString`." @@ -1311,57 +1342,59 @@ msgstr "" 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 " -"is not responsible for deallocating the buffer." +"is not responsible for deallocating the buffer. The buffer is deallocated " +"and pointers to it become invalid when the Unicode object is garbage " +"collected." msgstr "" -#: ../../c-api/unicode.rst:1100 ../../c-api/unicode.rst:1113 +#: ../../c-api/unicode.rst:1101 ../../c-api/unicode.rst:1114 msgid "The return type is now ``const char *`` rather of ``char *``." msgstr "" -#: ../../c-api/unicode.rst:1103 +#: ../../c-api/unicode.rst:1104 msgid "This function is a part of the :ref:`limited API `." msgstr "" -#: ../../c-api/unicode.rst:1109 +#: ../../c-api/unicode.rst:1110 msgid "As :c:func:`PyUnicode_AsUTF8AndSize`, but does not store the size." msgstr "" -#: ../../c-api/unicode.rst:1119 +#: ../../c-api/unicode.rst:1120 msgid "" "Encode the :c:type:`Py_UNICODE` buffer *s* of the given *size* using UTF-8 " "and return a Python bytes object. Return ``NULL`` if an exception was " "raised by the codec." msgstr "" -#: ../../c-api/unicode.rst:1126 +#: ../../c-api/unicode.rst:1127 msgid "" "Part of the old-style :c:type:`Py_UNICODE` API; please migrate to using :c:" "func:`PyUnicode_AsUTF8String`, :c:func:`PyUnicode_AsUTF8AndSize` or :c:func:" "`PyUnicode_AsEncodedString`." msgstr "" -#: ../../c-api/unicode.rst:1130 +#: ../../c-api/unicode.rst:1131 msgid "UTF-32 Codecs" msgstr "" -#: ../../c-api/unicode.rst:1132 +#: ../../c-api/unicode.rst:1133 msgid "These are the UTF-32 codec APIs:" msgstr "" -#: ../../c-api/unicode.rst:1138 +#: ../../c-api/unicode.rst:1139 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:1142 ../../c-api/unicode.rst:1215 +#: ../../c-api/unicode.rst:1143 ../../c-api/unicode.rst:1216 msgid "" "If *byteorder* is non-``NULL``, the decoder starts decoding using the given " "byte order::" msgstr "" -#: ../../c-api/unicode.rst:1149 +#: ../../c-api/unicode.rst:1150 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 " @@ -1369,22 +1402,22 @@ msgid "" "``-1`` or ``1``, any byte order mark is copied to the output." msgstr "" -#: ../../c-api/unicode.rst:1154 ../../c-api/unicode.rst:1228 +#: ../../c-api/unicode.rst:1155 msgid "" "After completion, *\\*byteorder* is set to the current byte order at the end " "of input data." msgstr "" -#: ../../c-api/unicode.rst:1157 ../../c-api/unicode.rst:1231 +#: ../../c-api/unicode.rst:1158 ../../c-api/unicode.rst:1232 msgid "If *byteorder* is ``NULL``, the codec starts in native order mode." msgstr "" -#: ../../c-api/unicode.rst:1159 ../../c-api/unicode.rst:1195 -#: ../../c-api/unicode.rst:1233 ../../c-api/unicode.rst:1270 +#: ../../c-api/unicode.rst:1160 ../../c-api/unicode.rst:1196 +#: ../../c-api/unicode.rst:1234 ../../c-api/unicode.rst:1271 msgid "Return ``NULL`` if an exception was raised by the codec." msgstr "" -#: ../../c-api/unicode.rst:1165 +#: ../../c-api/unicode.rst:1166 msgid "" "If *consumed* is ``NULL``, behave like :c:func:`PyUnicode_DecodeUTF32`. If " "*consumed* is not ``NULL``, :c:func:`PyUnicode_DecodeUTF32Stateful` will not " @@ -1393,53 +1426,53 @@ msgid "" "number of bytes that have been decoded will be stored in *consumed*." msgstr "" -#: ../../c-api/unicode.rst:1174 +#: ../../c-api/unicode.rst:1175 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:1182 +#: ../../c-api/unicode.rst:1183 msgid "" "Return a Python bytes object holding the UTF-32 encoded value of the Unicode " "data in *s*. Output is written according to the following byte order::" msgstr "" -#: ../../c-api/unicode.rst:1189 ../../c-api/unicode.rst:1263 +#: ../../c-api/unicode.rst:1190 ../../c-api/unicode.rst:1264 msgid "" "If byteorder is ``0``, the output string will always start with the Unicode " "BOM mark (U+FEFF). In the other two modes, no BOM mark is prepended." msgstr "" -#: ../../c-api/unicode.rst:1192 +#: ../../c-api/unicode.rst:1193 msgid "" "If ``Py_UNICODE_WIDE`` is not defined, surrogate pairs will be output as a " "single code point." msgstr "" -#: ../../c-api/unicode.rst:1199 +#: ../../c-api/unicode.rst:1200 msgid "" "Part of the old-style :c:type:`Py_UNICODE` API; please migrate to using :c:" "func:`PyUnicode_AsUTF32String` or :c:func:`PyUnicode_AsEncodedString`." msgstr "" -#: ../../c-api/unicode.rst:1203 +#: ../../c-api/unicode.rst:1204 msgid "UTF-16 Codecs" msgstr "" -#: ../../c-api/unicode.rst:1205 +#: ../../c-api/unicode.rst:1206 msgid "These are the UTF-16 codec APIs:" msgstr "" -#: ../../c-api/unicode.rst:1211 +#: ../../c-api/unicode.rst:1212 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:1222 +#: ../../c-api/unicode.rst:1223 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 " @@ -1448,7 +1481,13 @@ msgid "" "result in either a ``\\ufeff`` or a ``\\ufffe`` character)." msgstr "" -#: ../../c-api/unicode.rst:1239 +#: ../../c-api/unicode.rst:1229 +msgid "" +"After completion, ``*byteorder`` is set to the current byte order at the end " +"of input data." +msgstr "" + +#: ../../c-api/unicode.rst:1240 msgid "" "If *consumed* is ``NULL``, behave like :c:func:`PyUnicode_DecodeUTF16`. If " "*consumed* is not ``NULL``, :c:func:`PyUnicode_DecodeUTF16Stateful` will not " @@ -1458,47 +1497,47 @@ msgid "" "*consumed*." msgstr "" -#: ../../c-api/unicode.rst:1248 +#: ../../c-api/unicode.rst:1249 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:1256 +#: ../../c-api/unicode.rst:1257 msgid "" "Return a Python bytes object holding the UTF-16 encoded value of the Unicode " "data in *s*. Output is written according to the following byte order::" msgstr "" -#: ../../c-api/unicode.rst:1266 +#: ../../c-api/unicode.rst:1267 msgid "" "If ``Py_UNICODE_WIDE`` is defined, a single :c:type:`Py_UNICODE` value may " "get represented as a surrogate pair. If it is not defined, each :c:type:" "`Py_UNICODE` values is interpreted as a UCS-2 character." msgstr "" -#: ../../c-api/unicode.rst:1274 +#: ../../c-api/unicode.rst:1275 msgid "" "Part of the old-style :c:type:`Py_UNICODE` API; please migrate to using :c:" "func:`PyUnicode_AsUTF16String` or :c:func:`PyUnicode_AsEncodedString`." msgstr "" -#: ../../c-api/unicode.rst:1278 +#: ../../c-api/unicode.rst:1279 msgid "UTF-7 Codecs" msgstr "" -#: ../../c-api/unicode.rst:1280 +#: ../../c-api/unicode.rst:1281 msgid "These are the UTF-7 codec APIs:" msgstr "" -#: ../../c-api/unicode.rst:1285 +#: ../../c-api/unicode.rst:1286 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." msgstr "" -#: ../../c-api/unicode.rst:1292 +#: ../../c-api/unicode.rst:1293 msgid "" "If *consumed* is ``NULL``, behave like :c:func:`PyUnicode_DecodeUTF7`. If " "*consumed* is not ``NULL``, trailing incomplete UTF-7 base-64 sections will " @@ -1506,14 +1545,14 @@ msgid "" "of bytes that have been decoded will be stored in *consumed*." msgstr "" -#: ../../c-api/unicode.rst:1301 +#: ../../c-api/unicode.rst:1302 msgid "" "Encode the :c:type:`Py_UNICODE` buffer of the given size using UTF-7 and " "return a Python bytes object. Return ``NULL`` if an exception was raised by " "the codec." msgstr "" -#: ../../c-api/unicode.rst:1305 +#: ../../c-api/unicode.rst:1306 msgid "" "If *base64SetO* is nonzero, \"Set O\" (punctuation that has no otherwise " "special meaning) will be encoded in base-64. If *base64WhiteSpace* is " @@ -1521,173 +1560,173 @@ msgid "" "the Python \"utf-7\" codec." msgstr "" -#: ../../c-api/unicode.rst:1316 +#: ../../c-api/unicode.rst:1317 msgid "Unicode-Escape Codecs" msgstr "" -#: ../../c-api/unicode.rst:1318 +#: ../../c-api/unicode.rst:1319 msgid "These are the \"Unicode Escape\" codec APIs:" msgstr "" -#: ../../c-api/unicode.rst:1324 +#: ../../c-api/unicode.rst:1325 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." msgstr "" -#: ../../c-api/unicode.rst:1330 +#: ../../c-api/unicode.rst:1331 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:1337 +#: ../../c-api/unicode.rst:1338 msgid "" "Encode the :c:type:`Py_UNICODE` buffer of the given *size* using Unicode-" "Escape and return a bytes object. Return ``NULL`` if an exception was " "raised by the codec." msgstr "" -#: ../../c-api/unicode.rst:1342 +#: ../../c-api/unicode.rst:1343 msgid "" "Part of the old-style :c:type:`Py_UNICODE` API; please migrate to using :c:" "func:`PyUnicode_AsUnicodeEscapeString`." msgstr "" -#: ../../c-api/unicode.rst:1346 +#: ../../c-api/unicode.rst:1347 msgid "Raw-Unicode-Escape Codecs" msgstr "" -#: ../../c-api/unicode.rst:1348 +#: ../../c-api/unicode.rst:1349 msgid "These are the \"Raw Unicode Escape\" codec APIs:" msgstr "" -#: ../../c-api/unicode.rst:1354 +#: ../../c-api/unicode.rst:1355 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." msgstr "" -#: ../../c-api/unicode.rst:1360 +#: ../../c-api/unicode.rst:1361 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:1368 +#: ../../c-api/unicode.rst:1369 msgid "" "Encode the :c:type:`Py_UNICODE` buffer of the given *size* using Raw-Unicode-" "Escape and return a bytes object. Return ``NULL`` if an exception was " "raised by the codec." msgstr "" -#: ../../c-api/unicode.rst:1374 +#: ../../c-api/unicode.rst:1375 msgid "" "Part of the old-style :c:type:`Py_UNICODE` API; please migrate to using :c:" "func:`PyUnicode_AsRawUnicodeEscapeString` or :c:func:" "`PyUnicode_AsEncodedString`." msgstr "" -#: ../../c-api/unicode.rst:1378 +#: ../../c-api/unicode.rst:1379 msgid "Latin-1 Codecs" msgstr "" -#: ../../c-api/unicode.rst:1380 +#: ../../c-api/unicode.rst:1381 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:1386 +#: ../../c-api/unicode.rst:1387 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." msgstr "" -#: ../../c-api/unicode.rst:1392 +#: ../../c-api/unicode.rst:1393 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:1399 +#: ../../c-api/unicode.rst:1400 msgid "" "Encode the :c:type:`Py_UNICODE` buffer of the given *size* using Latin-1 and " "return a Python bytes object. Return ``NULL`` if an exception was raised by " "the codec." msgstr "" -#: ../../c-api/unicode.rst:1406 +#: ../../c-api/unicode.rst:1407 msgid "" "Part of the old-style :c:type:`Py_UNICODE` API; please migrate to using :c:" "func:`PyUnicode_AsLatin1String` or :c:func:`PyUnicode_AsEncodedString`." msgstr "" -#: ../../c-api/unicode.rst:1410 +#: ../../c-api/unicode.rst:1411 msgid "ASCII Codecs" msgstr "" -#: ../../c-api/unicode.rst:1412 +#: ../../c-api/unicode.rst:1413 msgid "" "These are the ASCII codec APIs. Only 7-bit ASCII data is accepted. All " "other codes generate errors." msgstr "" -#: ../../c-api/unicode.rst:1418 +#: ../../c-api/unicode.rst:1419 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." msgstr "" -#: ../../c-api/unicode.rst:1424 +#: ../../c-api/unicode.rst:1425 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:1431 +#: ../../c-api/unicode.rst:1432 msgid "" "Encode the :c:type:`Py_UNICODE` buffer of the given *size* using ASCII and " "return a Python bytes object. Return ``NULL`` if an exception was raised by " "the codec." msgstr "" -#: ../../c-api/unicode.rst:1438 +#: ../../c-api/unicode.rst:1439 msgid "" "Part of the old-style :c:type:`Py_UNICODE` API; please migrate to using :c:" "func:`PyUnicode_AsASCIIString` or :c:func:`PyUnicode_AsEncodedString`." msgstr "" -#: ../../c-api/unicode.rst:1442 +#: ../../c-api/unicode.rst:1443 msgid "Character Map Codecs" msgstr "" -#: ../../c-api/unicode.rst:1444 +#: ../../c-api/unicode.rst:1445 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 mapping to " +"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." msgstr "" -#: ../../c-api/unicode.rst:1450 +#: ../../c-api/unicode.rst:1451 msgid "These are the mapping codec APIs:" msgstr "" -#: ../../c-api/unicode.rst:1455 +#: ../../c-api/unicode.rst:1456 msgid "" "Create a Unicode object by decoding *size* bytes of the encoded string *s* " "using the given *mapping* object. Return ``NULL`` if an exception was " "raised by the codec." msgstr "" -#: ../../c-api/unicode.rst:1459 +#: ../../c-api/unicode.rst:1460 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 " @@ -1697,14 +1736,14 @@ msgid "" "treated as undefined mappings and cause an error." msgstr "" -#: ../../c-api/unicode.rst:1470 +#: ../../c-api/unicode.rst:1471 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:1474 +#: ../../c-api/unicode.rst:1475 msgid "" "The *mapping* object must map Unicode ordinal integers to bytes objects, " "integers in the range from 0 to 255 or ``None``. Unmapped character " @@ -1712,68 +1751,68 @@ msgid "" "``None`` are treated as \"undefined mapping\" and cause an error." msgstr "" -#: ../../c-api/unicode.rst:1483 +#: ../../c-api/unicode.rst:1484 msgid "" "Encode the :c:type:`Py_UNICODE` buffer of the given *size* using the given " "*mapping* object and return the result as a bytes object. Return ``NULL`` " "if an exception was raised by the codec." msgstr "" -#: ../../c-api/unicode.rst:1490 +#: ../../c-api/unicode.rst:1491 msgid "" "Part of the old-style :c:type:`Py_UNICODE` API; please migrate to using :c:" "func:`PyUnicode_AsCharmapString` or :c:func:`PyUnicode_AsEncodedString`." msgstr "" -#: ../../c-api/unicode.rst:1493 +#: ../../c-api/unicode.rst:1494 msgid "The following codec API is special in that maps Unicode to Unicode." msgstr "" -#: ../../c-api/unicode.rst:1497 +#: ../../c-api/unicode.rst:1498 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:1501 +#: ../../c-api/unicode.rst:1502 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:1504 +#: ../../c-api/unicode.rst:1505 msgid "" "Mapping tables need only provide the :meth:`__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:1508 +#: ../../c-api/unicode.rst:1509 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:1515 +#: ../../c-api/unicode.rst:1516 msgid "" "Translate a :c:type:`Py_UNICODE` buffer of the given *size* by applying a " "character *mapping* table to it and return the resulting Unicode object. " "Return ``NULL`` when an exception was raised by the codec." msgstr "" -#: ../../c-api/unicode.rst:1522 +#: ../../c-api/unicode.rst:1523 msgid "" "Part of the old-style :c:type:`Py_UNICODE` API; please migrate to using :c:" "func:`PyUnicode_Translate`. or :ref:`generic codec based API `" msgstr "" -#: ../../c-api/unicode.rst:1526 +#: ../../c-api/unicode.rst:1527 msgid "MBCS codecs for Windows" msgstr "" -#: ../../c-api/unicode.rst:1528 +#: ../../c-api/unicode.rst:1529 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 " @@ -1781,13 +1820,13 @@ msgid "" "is defined by the user settings on the machine running the codec." msgstr "" -#: ../../c-api/unicode.rst:1535 +#: ../../c-api/unicode.rst:1536 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." msgstr "" -#: ../../c-api/unicode.rst:1542 +#: ../../c-api/unicode.rst:1543 msgid "" "If *consumed* is ``NULL``, behave like :c:func:`PyUnicode_DecodeMBCS`. If " "*consumed* is not ``NULL``, :c:func:`PyUnicode_DecodeMBCSStateful` will not " @@ -1795,58 +1834,58 @@ msgid "" "will be stored in *consumed*." msgstr "" -#: ../../c-api/unicode.rst:1550 +#: ../../c-api/unicode.rst:1551 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:1557 +#: ../../c-api/unicode.rst:1558 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." msgstr "" -#: ../../c-api/unicode.rst:1566 +#: ../../c-api/unicode.rst:1567 msgid "" "Encode the :c:type:`Py_UNICODE` buffer of the given *size* using MBCS and " "return a Python bytes object. Return ``NULL`` if an exception was raised by " "the codec." msgstr "" -#: ../../c-api/unicode.rst:1573 +#: ../../c-api/unicode.rst:1574 msgid "" "Part of the old-style :c:type:`Py_UNICODE` API; please migrate to using :c:" "func:`PyUnicode_AsMBCSString`, :c:func:`PyUnicode_EncodeCodePage` or :c:func:" "`PyUnicode_AsEncodedString`." msgstr "" -#: ../../c-api/unicode.rst:1577 +#: ../../c-api/unicode.rst:1578 msgid "Methods & Slots" msgstr "" -#: ../../c-api/unicode.rst:1583 +#: ../../c-api/unicode.rst:1584 msgid "Methods and Slot Functions" msgstr "" -#: ../../c-api/unicode.rst:1585 +#: ../../c-api/unicode.rst:1586 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:1589 +#: ../../c-api/unicode.rst:1590 msgid "They all return ``NULL`` or ``-1`` if an exception occurs." msgstr "" -#: ../../c-api/unicode.rst:1594 +#: ../../c-api/unicode.rst:1595 msgid "Concat two strings giving a new Unicode string." msgstr "" -#: ../../c-api/unicode.rst:1599 +#: ../../c-api/unicode.rst:1600 msgid "" "Split a string giving a list of Unicode strings. If *sep* is ``NULL``, " "splitting will be done at all whitespace substrings. Otherwise, splits " @@ -1855,27 +1894,27 @@ msgid "" "list." msgstr "" -#: ../../c-api/unicode.rst:1607 +#: ../../c-api/unicode.rst:1608 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 *keepend* is ``0``, the line " "break characters are not included in the resulting strings." msgstr "" -#: ../../c-api/unicode.rst:1614 +#: ../../c-api/unicode.rst:1615 msgid "" "Join a sequence of strings using the given *separator* and return the " "resulting Unicode string." msgstr "" -#: ../../c-api/unicode.rst:1621 +#: ../../c-api/unicode.rst:1622 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." msgstr "" -#: ../../c-api/unicode.rst:1629 +#: ../../c-api/unicode.rst:1630 msgid "" "Return the first position of *substr* in ``str[start:end]`` using the given " "*direction* (*direction* == ``1`` means to do a forward search, *direction* " @@ -1884,7 +1923,7 @@ msgid "" "indicates that an error occurred and an exception has been set." msgstr "" -#: ../../c-api/unicode.rst:1639 +#: ../../c-api/unicode.rst:1640 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, " @@ -1893,36 +1932,36 @@ msgid "" "``-2`` indicates that an error occurred and an exception has been set." msgstr "" -#: ../../c-api/unicode.rst:1647 +#: ../../c-api/unicode.rst:1648 msgid "*start* and *end* are now adjusted to behave like ``str[start:end]``." msgstr "" -#: ../../c-api/unicode.rst:1654 +#: ../../c-api/unicode.rst:1655 msgid "" "Return the number of non-overlapping occurrences of *substr* in ``str[start:" "end]``. Return ``-1`` if an error occurred." msgstr "" -#: ../../c-api/unicode.rst:1661 +#: ../../c-api/unicode.rst:1662 msgid "" "Replace at most *maxcount* occurrences of *substr* in *str* with *replstr* " "and return the resulting Unicode object. *maxcount* == ``-1`` means replace " "all occurrences." msgstr "" -#: ../../c-api/unicode.rst:1668 +#: ../../c-api/unicode.rst:1669 msgid "" "Compare two strings and return ``-1``, ``0``, ``1`` for less than, equal, " "and greater than, respectively." msgstr "" -#: ../../c-api/unicode.rst:1671 +#: ../../c-api/unicode.rst:1672 msgid "" "This function returns ``-1`` upon failure, so one should call :c:func:" "`PyErr_Occurred` to check for errors." msgstr "" -#: ../../c-api/unicode.rst:1677 +#: ../../c-api/unicode.rst:1678 msgid "" "Compare a Unicode object, *uni*, with *string* and return ``-1``, ``0``, " "``1`` for less than, equal, and greater than, respectively. It is best to " @@ -1930,64 +1969,64 @@ msgid "" "string as ISO-8859-1 if it contains non-ASCII characters." msgstr "" -#: ../../c-api/unicode.rst:1682 +#: ../../c-api/unicode.rst:1683 msgid "This function does not raise exceptions." msgstr "" -#: ../../c-api/unicode.rst:1687 +#: ../../c-api/unicode.rst:1688 msgid "Rich compare two Unicode strings and return one of the following:" msgstr "" -#: ../../c-api/unicode.rst:1689 +#: ../../c-api/unicode.rst:1690 msgid "``NULL`` in case an exception was raised" msgstr "" -#: ../../c-api/unicode.rst:1690 +#: ../../c-api/unicode.rst:1691 msgid ":const:`Py_True` or :const:`Py_False` for successful comparisons" msgstr "" -#: ../../c-api/unicode.rst:1691 +#: ../../c-api/unicode.rst:1692 msgid ":const:`Py_NotImplemented` in case the type combination is unknown" msgstr "" -#: ../../c-api/unicode.rst:1693 +#: ../../c-api/unicode.rst:1694 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`." msgstr "" -#: ../../c-api/unicode.rst:1699 +#: ../../c-api/unicode.rst:1700 msgid "" "Return a new string object from *format* and *args*; this is analogous to " "``format % args``." msgstr "" -#: ../../c-api/unicode.rst:1705 +#: ../../c-api/unicode.rst:1706 msgid "" "Check whether *element* is contained in *container* and return true or false " "accordingly." msgstr "" -#: ../../c-api/unicode.rst:1708 +#: ../../c-api/unicode.rst:1709 msgid "" "*element* has to coerce to a one element Unicode string. ``-1`` is returned " "if there was an error." msgstr "" -#: ../../c-api/unicode.rst:1714 +#: ../../c-api/unicode.rst:1715 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 " -"the object after the call if and only if you owned it before the call.)" +"is an existing interned string that is the same as *\\*string*, it sets " +"*\\*string* 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 *\\*string* 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:1727 +#: ../../c-api/unicode.rst:1728 msgid "" "A combination of :c:func:`PyUnicode_FromString` and :c:func:" "`PyUnicode_InternInPlace`, returning either a new Unicode string object that " diff --git a/c-api/utilities.po b/c-api/utilities.po index 00b04749e..98af5908e 100644 --- a/c-api/utilities.po +++ b/c-api/utilities.po @@ -1,27 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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.10\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-06-29 12:56+0000\n" -"PO-Revision-Date: 2021-06-28 00:50+0000\n" -"Last-Translator: Claudio Rogerio Carvalho Filho , " -"2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:57+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../c-api/utilities.rst:7 msgid "Utilities" diff --git a/c-api/veryhigh.po b/c-api/veryhigh.po index 969259ed1..f1e0ebfae 100644 --- a/c-api/veryhigh.po +++ b/c-api/veryhigh.po @@ -1,31 +1,31 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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.10\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-06-29 12:56+0000\n" -"PO-Revision-Date: 2021-06-28 00:50+0000\n" -"Last-Translator: Claudio Rogerio Carvalho Filho , " -"2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:57+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"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 "" @@ -33,6 +33,9 @@ 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 "" @@ -44,12 +47,12 @@ msgstr "" #: ../../c-api/veryhigh.rst:19 msgid "" -"Note also that several of these functions take :c:type:`FILE*` parameters. " -"One particular issue which needs to be handled carefully is that the :c:type:" +"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 " "incompatible. Under Windows (at least), it is possible for dynamically " "linked extensions to actually use different libraries, so care should be " -"taken that :c:type:`FILE*` parameters are only passed to these functions if " +"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 "" @@ -83,18 +86,25 @@ 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 "" @@ -103,16 +113,28 @@ msgid "" "`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." +"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:82 +#: ../../c-api/veryhigh.rst:84 msgid "" "This is a simplified interface to :c:func:`PyRun_SimpleStringFlags` below, " -"leaving the :c:type:`PyCompilerFlags`\\* argument set to ``NULL``." +"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:88 +#: ../../c-api/veryhigh.rst:90 msgid "" "Executes the Python source code from *command* in the :mod:`__main__` module " "according to the *flags* argument. If :mod:`__main__` does not already " @@ -120,27 +142,37 @@ 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:94 +#: ../../c-api/veryhigh.rst:96 msgid "" "Note that if an otherwise unhandled :exc:`SystemExit` is raised, this " "function will not return ``-1``, but exit the process, as long as " "``Py_InspectFlag`` is not set." msgstr "" -#: ../../c-api/veryhigh.rst:101 +#: ../../c-api/veryhigh.rst:103 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:107 +#: ../../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:113 +#: ../../c-api/veryhigh.rst:115 msgid "" "Similar to :c:func:`PyRun_SimpleStringFlags`, but the Python source code is " "read from *fp* instead of an in-memory string. *filename* should be the name " @@ -148,29 +180,43 @@ 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:120 +#: ../../c-api/veryhigh.rst:122 msgid "" -"On Windows, *fp* should be opened as binary mode (e.g. ``fopen(filename, \"rb" -"\")``). Otherwise, Python may not handle script file with LF line ending " +"On Windows, *fp* should be opened as binary mode (e.g. ``fopen(filename, " +"\"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:126 +#: ../../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:132 +#: ../../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`." 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:137 +#: ../../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 " @@ -178,22 +224,34 @@ msgid "" "`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:146 +#: ../../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:152 +#: ../../c-api/veryhigh.rst:154 msgid "" "Read and execute statements from a file associated with an interactive " "device until EOF is reached. The user will be prompted using ``sys.ps1`` " "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:160 +#: ../../c-api/veryhigh.rst:162 msgid "" "Can be set to point to a function with the prototype ``int func(void)``. " "The function will be called when Python's interpreter prompt is about to " @@ -202,8 +260,14 @@ 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:171 +#: ../../c-api/veryhigh.rst:173 msgid "" "Can be set to point to a function with the prototype ``char *func(FILE " "*stdin, FILE *stdout, char *prompt)``, overriding the default function used " @@ -213,27 +277,42 @@ 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:180 +#: ../../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." 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:183 +#: ../../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`." 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:190 +#: ../../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:196 +#: ../../c-api/veryhigh.rst:198 msgid "" "Execute Python source code from *str* in the context specified by the " "objects *globals* and *locals* with the compiler flags specified by " @@ -241,32 +320,46 @@ 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:202 +#: ../../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:208 +#: ../../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:214 +#: ../../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:220 +#: ../../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:226 +#: ../../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 " @@ -274,20 +367,29 @@ msgid "" "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:235 +#: ../../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:241 +#: ../../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:247 +#: ../../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 " @@ -298,7 +400,7 @@ msgid "" "returns ``NULL`` if the code cannot be parsed or compiled." msgstr "" -#: ../../c-api/veryhigh.rst:255 +#: ../../c-api/veryhigh.rst:257 msgid "" "The integer *optimize* specifies the optimization level of the compiler; a " "value of ``-1`` selects the optimization level of the interpreter as given " @@ -306,21 +408,33 @@ 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:266 +#: ../../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:273 +#: ../../c-api/veryhigh.rst:275 msgid "" "This is a simplified interface to :c:func:`PyEval_EvalCodeEx`, with just the " "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:280 +#: ../../c-api/veryhigh.rst:282 msgid "" "Evaluate a precompiled code object, given a particular environment for its " "evaluation. This environment consists of a dictionary of global variables, " @@ -328,20 +442,27 @@ 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:289 +#: ../../c-api/veryhigh.rst:291 msgid "" "The C structure of the objects used to describe frame objects. The fields of " "this type are subject to change at any time." msgstr "" -#: ../../c-api/veryhigh.rst:295 +#: ../../c-api/veryhigh.rst:297 msgid "" "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:301 +#: ../../c-api/veryhigh.rst:303 msgid "" "This is the main, unvarnished function of Python interpretation. The code " "object associated with the execution frame *f* is executed, interpreting " @@ -350,76 +471,105 @@ 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:308 +#: ../../c-api/veryhigh.rst:310 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:315 +#: ../../c-api/veryhigh.rst:317 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:323 +#: ../../c-api/veryhigh.rst:325 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:331 +#: ../../c-api/veryhigh.rst:333 msgid "" "The start symbol from the Python grammar for sequences of statements as read " "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:340 +#: ../../c-api/veryhigh.rst:342 msgid "" "The start symbol from the Python grammar for a single statement; for use " "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:347 +#: ../../c-api/veryhigh.rst:349 msgid "" "This is the structure used to hold compiler flags. In cases where code is " "only being compiled, it is passed as ``int flags``, and in cases where code " "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:352 +#: ../../c-api/veryhigh.rst:354 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." msgstr "" -#: ../../c-api/veryhigh.rst:358 +#: ../../c-api/veryhigh.rst:360 msgid "Compiler flags." -msgstr "" +msgstr "Sinalizadores do compilador." -#: ../../c-api/veryhigh.rst:362 +#: ../../c-api/veryhigh.rst:364 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:365 +#: ../../c-api/veryhigh.rst:367 msgid "" "The field is ignored by default, it is used if and only if ``PyCF_ONLY_AST`` " "flag is set in *cf_flags*." msgstr "" -#: ../../c-api/veryhigh.rst:368 +#: ../../c-api/veryhigh.rst:370 msgid "Added *cf_feature_version* field." -msgstr "" +msgstr "Adicionado campo *cf_feature_version*." -#: ../../c-api/veryhigh.rst:374 +#: ../../c-api/veryhigh.rst:376 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`." diff --git a/c-api/weakref.po b/c-api/weakref.po index 4699fd981..14229db97 100644 --- a/c-api/weakref.po +++ b/c-api/weakref.po @@ -1,32 +1,31 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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.10\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-06-29 12:56+0000\n" -"PO-Revision-Date: 2021-06-28 00:50+0000\n" -"Last-Translator: Claudio Rogerio Carvalho Filho , " -"2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:57+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"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 "" @@ -70,15 +69,15 @@ msgid "" "a callable object that receives notification when *ob* is garbage collected; " "it should accept a single parameter, which will be the weak reference object " "itself. *callback* may also be ``None`` or ``NULL``. If *ob* is not a " -"weakly-referencable object, or if *callback* is not callable, ``None``, or " +"weakly referencable object, or if *callback* is not callable, ``None``, or " "``NULL``, this will return ``NULL`` and raise :exc:`TypeError`." msgstr "" -"Retorna um objeto de referência fraco para o objeto *ob*. Isso sempre " +"Retorna um objeto de referência fraca para o objeto *ob*. Isso sempre " "retornará uma nova referência, mas não é garantido para criar um novo " "objeto; um objeto de referência existente pode ser retornado. O segundo " "parâmetro, *callback*, pode ser um objeto chamável que recebe notificação " "quando *ob* for lixo coletado; ele deve aceitar um único parâmetro, que será " -"o objeto de referência fraco propriamente dito. *callback* também pode ser " +"o objeto de referência fraca propriamente dito. *callback* também pode ser " "``None`` ou ``NULL``. Se *ob* não for um objeto fracamente referenciável, ou " "se *callback* não for um chamável, ``None``, ou ``NULL``, isso retornará " "``NULL`` e levantará a :exc:`TypeError`." @@ -91,15 +90,15 @@ msgid "" "can be a callable object that receives notification when *ob* is garbage " "collected; it should accept a single parameter, which will be the weak " "reference object itself. *callback* may also be ``None`` or ``NULL``. If " -"*ob* is not a weakly-referencable object, or if *callback* is not callable, " +"*ob* is not a weakly referencable object, or if *callback* is not callable, " "``None``, or ``NULL``, this will return ``NULL`` and raise :exc:`TypeError`." msgstr "" -"Retorna um objeto de proxy de referência fraco para o objeto *ob*. Isso " +"Retorna um objeto de proxy de referência fraca para o objeto *ob*. Isso " "sempre retornará uma nova referência, mas não é garantido para criar um novo " "objeto; um objeto de proxy existente pode ser retornado. O segundo " "parâmetro, *callback*, pode ser um objeto chamável que recebe notificação " "quando *ob* for lixo coletado; ele deve aceitar um único parâmetro, que será " -"o objeto de referência fraco propriamente dito. *callback* também pode ser " +"o objeto de referência fraca propriamente dito. *callback* também pode ser " "``None`` ou ``NULL``. Se *ob* não for um objeto fracamente referenciável, ou " "se *callback* não for um chamável, ``None``, ou ``NULL``, isso retornará " "``NULL`` e levantará a :exc:`TypeError`." @@ -119,6 +118,10 @@ msgid "" "except when it cannot be destroyed before the last usage of the borrowed " "reference." msgstr "" +"Esta função retorna uma :term:`referência emprestada` para o objeto " +"referenciado. Isso significa que você deve sempre chamar :c:func:`Py_INCREF` " +"no objeto, exceto quando ele não puder ser destruído antes do último uso da " +"referência emprestada." #: ../../c-api/weakref.rst:69 msgid "" @@ -127,3 +130,21 @@ msgid "" msgstr "" "Semelhante a :c:func:`PyWeakref_GetObject`, mas implementado como uma macro " "que não verifica erros." + +#: ../../c-api/weakref.rst:75 +msgid "" +"This function is called by the :c:member:`~PyTypeObject.tp_dealloc` handler " +"to clear weak references." +msgstr "" +"Esta função é chamada pelo tratador :c:member:`~PyTypeObject.tp_dealloc` " +"para limpar referências fracas." + +#: ../../c-api/weakref.rst:78 +msgid "" +"This iterates through the weak references for *object* and calls callbacks " +"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." diff --git a/contents.po b/contents.po index bfad03973..c3753c346 100644 --- a/contents.po +++ b/contents.po @@ -1,26 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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.10\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-06-29 12:56+0000\n" -"PO-Revision-Date: 2021-06-28 00:47+0000\n" -"Last-Translator: Erick Simões , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:57+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../contents.rst:3 msgid "Python Documentation contents" diff --git a/copyright.po b/copyright.po index 3592aa590..28436498c 100644 --- a/copyright.po +++ b/copyright.po @@ -1,28 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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 -# Ademar Nowasky Junior , 2021 +# python-doc bot, 2025 # #, 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 00:47+0000\n" -"Last-Translator: Ademar Nowasky Junior , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:57+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../copyright.rst:3 msgid "Copyright" @@ -33,9 +32,9 @@ msgid "Python and this documentation is:" msgstr "Python e essa documentação é:" #: ../../copyright.rst:7 -msgid "Copyright © 2001-2021 Python Software Foundation. All rights reserved." +msgid "Copyright © 2001-2023 Python Software Foundation. All rights reserved." msgstr "" -"Copyright © 2001-2021 Python Software Foundation. Todos os direitos " +"Copyright © 2001-2023 Python Software Foundation. Todos os direitos " "reservados." #: ../../copyright.rst:9 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 538b2ede0..2b21b833f 100644 --- a/distributing/index.po +++ b/distributing/index.po @@ -1,28 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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 -# Ruan Aragão , 2021 +# python-doc bot, 2025 # #, 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 00:50+0000\n" -"Last-Translator: Ruan Aragão , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:57+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../distributing/index.rst:5 msgid "Distributing Python Modules" @@ -87,10 +86,10 @@ msgstr "Termos chave" #: ../../distributing/index.rst:34 msgid "" -"the `Python Packaging Index `__ is a public repository of " +"the `Python Package Index `__ is a public repository of " "open source licensed packages made available for use by other Python users" msgstr "" -"`Python Packaging Index `__ é um repositório público de " +"`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" @@ -235,10 +234,10 @@ msgstr "" #: ../../distributing/index.rst:104 msgid "" -"For POSIX users (including Mac OS X and Linux users), these instructions " -"assume the use of a :term:`virtual environment`." +"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 Mac OS X e Linux), essas instruções " +"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 @@ -279,8 +278,8 @@ msgid "`Building and packaging the project`_" msgstr "`Compilando e empacotando o projeto`_" #: ../../distributing/index.rst:130 -msgid "`Uploading the project to the Python Packaging Index`_" -msgstr "`Enviando o projeto para o Python Packaging Index`_" +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`_" @@ -303,9 +302,8 @@ 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:153 -msgid "check the Python Packaging Index to see if the name is already in use" -msgstr "" -"verifique o \"Python Packaging Index\" para ver se o nome já está em uso" +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:154 msgid "" diff --git a/distutils/_setuptools_disclaimer.po b/distutils/_setuptools_disclaimer.po index c3d4d7f89..df710059e 100644 --- a/distutils/_setuptools_disclaimer.po +++ b/distutils/_setuptools_disclaimer.po @@ -1,26 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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.10\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-06-29 12:56+0000\n" -"PO-Revision-Date: 2021-06-28 00:51+0000\n" -"Last-Translator: Rafael Fontenelle , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:57+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../distutils/_setuptools_disclaimer.rst:3 msgid "" diff --git a/distutils/apiref.po b/distutils/apiref.po index a7985c03f..1b49ddc4c 100644 --- a/distutils/apiref.po +++ b/distutils/apiref.po @@ -1,33 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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: -# 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.10\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-06-29 12:56+0000\n" -"PO-Revision-Date: 2021-06-28 00:51+0000\n" -"Last-Translator: Claudio Rogerio Carvalho Filho , " -"2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:57+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../distutils/apiref.rst:5 msgid "API Reference" @@ -94,7 +88,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" @@ -605,7 +599,7 @@ msgstr "" #: ../../distutils/apiref.rst:284 msgid "a boolean" -msgstr "" +msgstr "um valor booleano" #: ../../distutils/apiref.rst:292 msgid "" @@ -1083,8 +1077,8 @@ msgid "" "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.)" +"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.)" msgstr "" #: ../../distutils/apiref.rst:675 @@ -1574,14 +1568,14 @@ msgstr "" #: ../../distutils/apiref.rst:1122 msgid "" -"For Mac OS X systems the OS version reflects the minimal version on which " +"For macOS systems the OS version reflects the minimal version on which " "binaries will run (that is, the value of ``MACOSX_DEPLOYMENT_TARGET`` during " "the build of Python), not the OS version of the current system." msgstr "" #: ../../distutils/apiref.rst:1126 msgid "" -"For universal binary builds on Mac OS X the architecture value reflects the " +"For universal binary builds on macOS the architecture value reflects the " "universal binary status instead of the architecture of the current " "processor. For 32-bit universal binaries the architecture is ``fat``, for 64-" "bit universal binaries the architecture is ``fat64``, and for 4-way " @@ -1592,7 +1586,7 @@ msgid "" msgstr "" #: ../../distutils/apiref.rst:1135 -msgid "Examples of returned values on Mac OS X:" +msgid "Examples of returned values on macOS:" msgstr "" #: ../../distutils/apiref.rst:1137 @@ -1693,7 +1687,7 @@ msgstr "" #: ../../distutils/apiref.rst:1201 msgid "" -"Note that this is not a fully-fledged string interpolation function. A valid " +"Note that this is not a full-fledged string interpolation function. A valid " "``$variable`` can consist only of upper and lower case letters, numbers and " "an underscore. No { } or ( ) style quoting is available." msgstr "" diff --git a/distutils/builtdist.po b/distutils/builtdist.po index 2156e2a62..4a4535f18 100644 --- a/distutils/builtdist.po +++ b/distutils/builtdist.po @@ -1,32 +1,28 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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 -# Claudio Rogerio Carvalho Filho , 2021 -# (Douglas da Silva) , 2021 -# Misael borges , 2021 -# i17obot , 2021 -# Danilo Lima , 2021 +# python-doc bot, 2025 +# Rafael Fontenelle , 2025 # #, 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 00:51+0000\n" -"Last-Translator: Danilo Lima , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-11-13 17:25+0000\n" +"PO-Revision-Date: 2025-09-22 15:57+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=2; plural=(n > 1);\n" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../distutils/builtdist.rst:5 msgid "Creating Built Distributions" @@ -193,7 +189,7 @@ msgstr "``tar``" #: ../../distutils/builtdist.rst:89 msgid "tar file (:file:`.tar`)" -msgstr "" +msgstr "arquivo tar (:file:`.tar`)" #: ../../distutils/builtdist.rst:91 msgid "``zip``" @@ -201,7 +197,7 @@ msgstr "``zip``" #: ../../distutils/builtdist.rst:91 msgid "zip file (:file:`.zip`)" -msgstr "" +msgstr "arquivo zip (:file:`.zip`)" #: ../../distutils/builtdist.rst:91 msgid "(2),(4)" @@ -279,12 +275,12 @@ msgstr "" 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:" +"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:" msgstr "" #: ../../distutils/builtdist.rst:135 @@ -499,7 +495,7 @@ msgstr "``packager``" #: ../../distutils/builtdist.rst:236 ../../distutils/builtdist.rst:238 #: ../../distutils/builtdist.rst:240 ../../distutils/builtdist.rst:242 msgid "(none)" -msgstr "" +msgstr "(nenhuma)" #: ../../distutils/builtdist.rst:230 msgid "Provides" diff --git a/distutils/commandref.po b/distutils/commandref.po index eec817ff9..87b8eb0d6 100644 --- a/distutils/commandref.po +++ b/distutils/commandref.po @@ -1,28 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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 -# Danilo Lima , 2021 +# python-doc bot, 2025 # #, 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 00:51+0000\n" -"Last-Translator: Danilo Lima , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:57+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../distutils/commandref.rst:5 msgid "Command Reference" diff --git a/distutils/configfile.po b/distutils/configfile.po index 29a3470c6..b28216c65 100644 --- a/distutils/configfile.po +++ b/distutils/configfile.po @@ -1,27 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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 -# Adorilson Bezerra , 2021 +# python-doc bot, 2025 # #, 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 00:51+0000\n" -"Last-Translator: Adorilson Bezerra , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:57+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../distutils/configfile.rst:5 msgid "Writing the Setup Configuration File" diff --git a/distutils/examples.po b/distutils/examples.po index 1e1f62ea7..a065864f6 100644 --- a/distutils/examples.po +++ b/distutils/examples.po @@ -1,27 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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 -# Richard Nixon , 2021 +# python-doc bot, 2025 # #, 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 00:51+0000\n" -"Last-Translator: Richard Nixon , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:57+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../distutils/examples.rst:5 msgid "Distutils Examples" diff --git a/distutils/extending.po b/distutils/extending.po index 5f644d424..29e6b73f8 100644 --- a/distutils/extending.po +++ b/distutils/extending.po @@ -1,28 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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.10\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-06-29 12:56+0000\n" -"PO-Revision-Date: 2021-06-28 00:51+0000\n" -"Last-Translator: Claudio Rogerio Carvalho Filho , " -"2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:57+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../distutils/extending.rst:5 msgid "Extending Distutils" @@ -77,7 +76,7 @@ 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, subclassificando diretamente o comando que eles " +"`Command` indiretamente, criando subclasses diretamente do comando que eles " "estão substituindo. Os comandos são necessários para derivar de :class:" "`Command`." @@ -139,10 +138,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 " diff --git a/distutils/index.po b/distutils/index.po index 99e025702..7280382d7 100644 --- a/distutils/index.po +++ b/distutils/index.po @@ -1,28 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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 -# Ruan Aragão , 2021 +# python-doc bot, 2025 # #, 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 00:51+0000\n" -"Last-Translator: Ruan Aragão , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:57+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../distutils/index.rst:5 msgid "Distributing Python Modules (Legacy version)" @@ -59,6 +58,10 @@ msgid "" "removed with the package. See the :ref:`What's New ` " "entry for more information." msgstr "" +"Todo o pacote ``distutils`` foi descontinuado e será removido no Python " +"3.12. Esta documentação é mantida apenas como referência e será removida com " +"o pacote. Veja a entrada no :ref:`O que há de novo ` " +"para mais informações." #: ../../distutils/_setuptools_disclaimer.rst:3 msgid "" @@ -93,8 +96,8 @@ msgid "" "capabilities that ``setuptools`` builds on to allow Python developers to " "make Python modules and extensions readily available to a wider audience." msgstr "" -"Este documento descreve os Utilitários de Distribuição do Python (\"Distutils" -"\") do ponto de vista do desenvolvedor do módulo, descrevendo os recursos " -"subjacentes que o ``setuptools`` constrói para permitir que os " +"Este documento descreve os Utilitários de Distribuição do Python " +"(\"Distutils\") do ponto de vista do desenvolvedor do módulo, descrevendo os " +"recursos subjacentes que o ``setuptools`` constrói para permitir que os " "desenvolvedores do Python disponibilizem módulos e extensões do Python " "prontamente disponíveis para um público mais amplo." diff --git a/distutils/introduction.po b/distutils/introduction.po index 8603674b6..9b2cba941 100644 --- a/distutils/introduction.po +++ b/distutils/introduction.po @@ -1,29 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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 -# Claudio Rogerio Carvalho Filho , 2021 -# Bruno Caldas , 2021 +# python-doc bot, 2025 # #, 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 00:51+0000\n" -"Last-Translator: Bruno Caldas , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:57+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../distutils/introduction.rst:5 msgid "An Introduction to Distutils" @@ -75,7 +73,7 @@ msgstr "escrever um script setup (:file:`setup.py` através da conversão)" #: ../../distutils/introduction.rst:27 msgid "(optional) write a setup configuration file" -msgstr "(opcional) escrever um arquivo Setup de configuração " +msgstr "(opcional) escrever um arquivo Setup de configuração" #: ../../distutils/introduction.rst:29 msgid "create a source distribution" diff --git a/distutils/packageindex.po b/distutils/packageindex.po index f8aafbbfa..552cdfdde 100644 --- a/distutils/packageindex.po +++ b/distutils/packageindex.po @@ -1,28 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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.10\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-06-29 12:56+0000\n" -"PO-Revision-Date: 2021-06-28 00:51+0000\n" -"Last-Translator: Claudio Rogerio Carvalho Filho , " -"2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:57+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../distutils/packageindex.rst:7 msgid "The Python Package Index (PyPI)" diff --git a/distutils/setupscript.po b/distutils/setupscript.po index 90b2e48b6..3714dd5a3 100644 --- a/distutils/setupscript.po +++ b/distutils/setupscript.po @@ -1,31 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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 -# 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.10\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-06-29 12:56+0000\n" -"PO-Revision-Date: 2021-06-28 00:51+0000\n" -"Last-Translator: Danilo Lima , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:57+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../distutils/setupscript.rst:5 msgid "Writing the Setup Script" @@ -511,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``" diff --git a/distutils/sourcedist.po b/distutils/sourcedist.po index 207761aa7..23574fadc 100644 --- a/distutils/sourcedist.po +++ b/distutils/sourcedist.po @@ -1,32 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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 -# Claudio Rogerio Carvalho Filho , 2021 -# (Douglas da Silva) , 2021 -# Misael borges , 2021 -# i17obot , 2021 -# Danilo Lima , 2021 +# python-doc bot, 2025 # #, 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 00:51+0000\n" -"Last-Translator: Danilo Lima , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:57+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../distutils/sourcedist.rst:5 msgid "Creating a Source Distribution" @@ -88,7 +83,7 @@ msgstr "``zip``" #: ../../distutils/sourcedist.rst:29 msgid "zip file (:file:`.zip`)" -msgstr "" +msgstr "arquivo zip (:file:`.zip`)" #: ../../distutils/sourcedist.rst:29 msgid "(1),(3)" @@ -114,6 +109,11 @@ msgstr "``bztar``" msgid "bzip2'ed tar file (:file:`.tar.bz2`)" msgstr "" +#: ../../distutils/sourcedist.rst:34 ../../distutils/sourcedist.rst:37 +#: ../../distutils/sourcedist.rst:43 +msgid "\\(5)" +msgstr "\\(5)" + #: ../../distutils/sourcedist.rst:37 msgid "``xztar``" msgstr "``xztar``" @@ -131,8 +131,8 @@ msgid "compressed tar file (:file:`.tar.Z`)" msgstr "" #: ../../distutils/sourcedist.rst:40 -msgid "\\(4)" -msgstr "\\(4)" +msgid "(4),(5)" +msgstr "" #: ../../distutils/sourcedist.rst:43 msgid "``tar``" @@ -140,7 +140,7 @@ msgstr "``tar``" #: ../../distutils/sourcedist.rst:43 msgid "tar file (:file:`.tar`)" -msgstr "" +msgstr "arquivo tar (:file:`.tar`)" #: ../../distutils/sourcedist.rst:46 msgid "Added support for the ``xztar`` format." @@ -172,20 +172,26 @@ msgstr "" #: ../../distutils/sourcedist.rst:65 msgid "" +"deprecated by `PEP 527 `_; `PyPI " +"`_ only accepts ``.zip`` and ``.tar.gz`` files." +msgstr "" + +#: ../../distutils/sourcedist.rst:68 +msgid "" "When using any ``tar`` format (``gztar``, ``bztar``, ``xztar``, ``ztar`` or " "``tar``), under Unix you can specify the ``owner`` and ``group`` names that " "will be set for each member of the archive." msgstr "" -#: ../../distutils/sourcedist.rst:69 +#: ../../distutils/sourcedist.rst:72 msgid "For example, if you want all files of the archive to be owned by root::" msgstr "" -#: ../../distutils/sourcedist.rst:77 +#: ../../distutils/sourcedist.rst:80 msgid "Specifying the files to distribute" msgstr "" -#: ../../distutils/sourcedist.rst:79 +#: ../../distutils/sourcedist.rst:82 msgid "" "If you don't supply an explicit list of files (or instructions on how to " "generate one), the :command:`sdist` command puts a minimal default set into " @@ -195,7 +201,7 @@ msgstr "" "como gerá-la), o comando :command:`sdist` coloca um conjunto padrão mínimo " "na distribuição fonte:" -#: ../../distutils/sourcedist.rst:83 +#: ../../distutils/sourcedist.rst:86 msgid "" "all Python source files implied by the ``py_modules`` and ``packages`` " "options" @@ -203,20 +209,20 @@ msgstr "" "todos os arquivos fonte Python implícitos nas opções ``py_modules`` e " "``packages``" -#: ../../distutils/sourcedist.rst:86 +#: ../../distutils/sourcedist.rst:89 msgid "" "all C source files mentioned in the ``ext_modules`` or ``libraries`` options" msgstr "" "todos os arquivos fonte C mencionados nas opções ``ext_modules`` ou " "``libraries``" -#: ../../distutils/sourcedist.rst:92 +#: ../../distutils/sourcedist.rst:95 msgid "" "scripts identified by the ``scripts`` option See :ref:`distutils-installing-" "scripts`." msgstr "" -#: ../../distutils/sourcedist.rst:95 +#: ../../distutils/sourcedist.rst:98 msgid "" "anything that looks like a test script: :file:`test/test\\*.py` (currently, " "the Distutils don't do anything with test scripts except include them in " @@ -228,26 +234,26 @@ msgstr "" "los em distribuições fonte, mas no futuro haverá um padrão para teste de " "distribuições de módulo Python)" -#: ../../distutils/sourcedist.rst:100 +#: ../../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 " "script), and :file:`setup.cfg`." msgstr "" -#: ../../distutils/sourcedist.rst:104 +#: ../../distutils/sourcedist.rst:107 msgid "" "all files that matches the ``package_data`` metadata. See :ref:`distutils-" "installing-package-data`." msgstr "" -#: ../../distutils/sourcedist.rst:107 +#: ../../distutils/sourcedist.rst:110 msgid "" "all files that matches the ``data_files`` metadata. See :ref:`distutils-" "additional-files`." msgstr "" -#: ../../distutils/sourcedist.rst:110 +#: ../../distutils/sourcedist.rst:113 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 " @@ -267,7 +273,7 @@ msgstr "" "processa este modelo e gera um manifesto baseado em suas instruções e no que " "ele encontra no sistema de arquivos." -#: ../../distutils/sourcedist.rst:118 +#: ../../distutils/sourcedist.rst:121 msgid "" "If you prefer to roll your own manifest file, the format is simple: one " "filename per line, regular files (or symlinks to them) only. If you do " @@ -275,31 +281,31 @@ msgid "" "set of files described above does not apply in this case." msgstr "" -#: ../../distutils/sourcedist.rst:123 +#: ../../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`." msgstr "" -#: ../../distutils/sourcedist.rst:128 +#: ../../distutils/sourcedist.rst:131 msgid "" ":file:`MANIFEST` files start with a comment indicating they are generated. " "Files without this comment are not overwritten or removed." msgstr "" -#: ../../distutils/sourcedist.rst:132 +#: ../../distutils/sourcedist.rst:135 msgid "" ":command:`sdist` will read a :file:`MANIFEST` file if no :file:`MANIFEST.in` " "exists, like it used to do." msgstr "" -#: ../../distutils/sourcedist.rst:136 +#: ../../distutils/sourcedist.rst:139 msgid "" ":file:`README.rst` is now included in the list of distutils standard READMEs." msgstr "" -#: ../../distutils/sourcedist.rst:140 +#: ../../distutils/sourcedist.rst:143 msgid "" "The manifest template has one command per line, where each command specifies " "a set of files to include or exclude from the source distribution. For an " @@ -309,7 +315,7 @@ msgstr "" "um conjunto de arquivos para incluir ou excluir da distribuição fonte. Por " "exemplo, voltamos novamente para o próprio modelo de manifesto do Distutils:" -#: ../../distutils/sourcedist.rst:150 +#: ../../distutils/sourcedist.rst:153 msgid "" "The meanings should be fairly clear: include all files in the distribution " "root matching :file:`\\*.txt`, all files anywhere under the :file:`examples` " @@ -322,7 +328,7 @@ msgid "" "language; see section :ref:`sdist-cmd`." msgstr "" -#: ../../distutils/sourcedist.rst:160 +#: ../../distutils/sourcedist.rst:163 msgid "" "The order of commands in the manifest template matters: initially, we have " "the list of default files as described above, and each command in the " @@ -336,17 +342,17 @@ msgstr "" "totalmente o modelo de manifesto, removemos os arquivos que não devem ser " "incluídos na distribuição fonte:" -#: ../../distutils/sourcedist.rst:166 +#: ../../distutils/sourcedist.rst:169 msgid "all files in the Distutils \"build\" tree (default :file:`build/`)" msgstr "" -#: ../../distutils/sourcedist.rst:168 +#: ../../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`" msgstr "" -#: ../../distutils/sourcedist.rst:171 +#: ../../distutils/sourcedist.rst:174 msgid "" "Now we have our complete list of files, which is written to the manifest for " "future reference, and then used to build the source distribution archive(s)." @@ -355,14 +361,14 @@ msgstr "" "para referência futura e usada para construir o(s) arquivo(s) de " "distribuição fonte." -#: ../../distutils/sourcedist.rst:174 +#: ../../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`." msgstr "" -#: ../../distutils/sourcedist.rst:178 +#: ../../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 " @@ -372,7 +378,7 @@ msgstr "" "comando :command:`sdist` constrói a lista de arquivos a serem incluídos na " "distribuição fonte Distutils:" -#: ../../distutils/sourcedist.rst:182 +#: ../../distutils/sourcedist.rst:185 msgid "" "include all Python source files in the :file:`distutils` and :file:" "`distutils/command` subdirectories (because packages corresponding to those " @@ -384,29 +390,29 @@ msgstr "" "diretórios foram mencionados na opção ``packages`` no script de configuração " "-- consulte a seção :ref:`setup-script`)" -#: ../../distutils/sourcedist.rst:187 +#: ../../distutils/sourcedist.rst:190 msgid "" "include :file:`README.txt`, :file:`setup.py`, and :file:`setup.cfg` " "(standard files)" msgstr "" -#: ../../distutils/sourcedist.rst:190 +#: ../../distutils/sourcedist.rst:193 msgid "include :file:`test/test\\*.py` (standard files)" msgstr "" -#: ../../distutils/sourcedist.rst:192 +#: ../../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)" msgstr "" -#: ../../distutils/sourcedist.rst:195 +#: ../../distutils/sourcedist.rst:198 msgid "" "include anything matching :file:`\\*.txt` or :file:`\\*.py` in the sub-tree " "under :file:`examples`," msgstr "" -#: ../../distutils/sourcedist.rst:198 +#: ../../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 " @@ -414,14 +420,14 @@ msgid "" "manifest template comes after the ``recursive-include`` command" msgstr "" -#: ../../distutils/sourcedist.rst:203 +#: ../../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" msgstr "" -#: ../../distutils/sourcedist.rst:207 +#: ../../distutils/sourcedist.rst:210 msgid "" "Just like in the setup script, file and directory names in the manifest " "template should always be slash-separated; the Distutils will take care of " @@ -429,54 +435,54 @@ msgid "" "the manifest template is portable across operating systems." msgstr "" -#: ../../distutils/sourcedist.rst:216 +#: ../../distutils/sourcedist.rst:219 msgid "Manifest-related options" msgstr "" -#: ../../distutils/sourcedist.rst:218 +#: ../../distutils/sourcedist.rst:221 msgid "" "The normal course of operations for the :command:`sdist` command is as " "follows:" msgstr "" -#: ../../distutils/sourcedist.rst:220 +#: ../../distutils/sourcedist.rst:223 msgid "" "if the manifest file (:file:`MANIFEST` by default) exists and the first line " "does not have a comment indicating it is generated from :file:`MANIFEST.in`, " "then it is used as is, unaltered" msgstr "" -#: ../../distutils/sourcedist.rst:224 +#: ../../distutils/sourcedist.rst:227 msgid "" "if the manifest file doesn't exist or has been previously automatically " "generated, read :file:`MANIFEST.in` and create the manifest" msgstr "" -#: ../../distutils/sourcedist.rst:227 +#: ../../distutils/sourcedist.rst:230 msgid "" "if neither :file:`MANIFEST` nor :file:`MANIFEST.in` exist, create a manifest " "with just the default file set" msgstr "" -#: ../../distutils/sourcedist.rst:230 +#: ../../distutils/sourcedist.rst:233 msgid "" "use the list of files now in :file:`MANIFEST` (either just generated or read " "in) to create the source distribution archive(s)" msgstr "" -#: ../../distutils/sourcedist.rst:233 +#: ../../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." msgstr "" -#: ../../distutils/sourcedist.rst:237 +#: ../../distutils/sourcedist.rst:240 msgid "" "Second, you might just want to (re)generate the manifest, but not create a " "source distribution::" msgstr "" -#: ../../distutils/sourcedist.rst:242 +#: ../../distutils/sourcedist.rst:245 msgid ":option:`!-o` is a shortcut for :option:`!--manifest-only`." msgstr "" diff --git a/distutils/uploading.po b/distutils/uploading.po index f46e5c2a0..723746801 100644 --- a/distutils/uploading.po +++ b/distutils/uploading.po @@ -1,28 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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.10\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-06-29 12:56+0000\n" -"PO-Revision-Date: 2021-06-28 00:51+0000\n" -"Last-Translator: Claudio Rogerio Carvalho Filho , " -"2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:57+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../distutils/uploading.rst:5 msgid "Uploading Packages to the Package Index" diff --git a/extending/building.po b/extending/building.po index e054e6bd6..bc23502d8 100644 --- a/extending/building.po +++ b/extending/building.po @@ -1,26 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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.10\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-06-29 12:56+0000\n" -"PO-Revision-Date: 2021-06-28 00:51+0000\n" -"Last-Translator: Rafael Fontenelle , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:57+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../extending/building.rst:7 msgid "Building C and C++ Extensions" @@ -53,7 +54,7 @@ msgstr "A função de inicialização tem a assinatura:" #: ../../extending/building.rst:20 msgid "" -"It returns either a fully-initialized module, or a :c:type:`PyModuleDef` " +"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:" diff --git a/extending/embedding.po b/extending/embedding.po index 009f20fce..bc51810af 100644 --- a/extending/embedding.po +++ b/extending/embedding.po @@ -1,28 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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 -# Claudio Rogerio Carvalho Filho , 2021 +# python-doc bot, 2025 # #, 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 00:51+0000\n" -"Last-Translator: Claudio Rogerio Carvalho Filho , " -"2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:57+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../extending/embedding.rst:8 msgid "Embedding Python in Another Application" @@ -40,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 "" @@ -49,6 +57,12 @@ 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 "" @@ -268,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++" @@ -311,8 +326,8 @@ msgstr "" #: ../../extending/embedding.rst:304 msgid "" -"``pythonX.Y-config --ldflags`` will give you the recommended flags when " -"linking:" +"``pythonX.Y-config --ldflags --embed`` will give you the recommended flags " +"when linking:" msgstr "" #: ../../extending/embedding.rst:313 diff --git a/extending/extending.po b/extending/extending.po index 0c22676d0..8732bd49f 100644 --- a/extending/extending.po +++ b/extending/extending.po @@ -1,30 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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 -# Mariana Costa , 2021 -# Julia Rizza , 2021 -# Melissa Weber Mendonça , 2021 +# python-doc bot, 2025 # #, 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 00:51+0000\n" -"Last-Translator: Melissa Weber Mendonça , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:57+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../extending/extending.rst:8 msgid "Extending Python with C or C++" @@ -38,7 +35,7 @@ msgid "" "they can call C library functions and system calls." msgstr "" "É muito fácil adicionar novos módulos embutidos ao Python, se você souber " -"programar em C. Você pode adicionar :dfn:'módulos de extensão' para fazer " +"programar em C. Você pode adicionar :dfn:`módulos de extensão` para fazer " "duas coisas que não podem ser feitas diretamente no Python: eles podem " "implementar novos nos tipos de objetos embutidos e eles podem chamar funções " "da biblioteca C e chamadas do sistema." @@ -54,7 +51,7 @@ msgstr "" "Interface) define um conjunto de funções, macros e variáveis que fornecem " "acesso à maior parte dos aspectos do sistema de tempo de execução do " "Python. A API do Python pode ser incorporada em um arquivo fonte em C com a " -"inclusão do cabeçalho ``\"Python.h\"``. " +"inclusão do cabeçalho ``\"Python.h\"``." #: ../../extending/extending.rst:20 msgid "" @@ -145,15 +142,15 @@ 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." +"É 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 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." @@ -165,6 +162,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 "" @@ -179,6 +179,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 "" @@ -204,30 +206,29 @@ msgstr "" #: ../../extending/extending.rst:126 msgid "Intermezzo: Errors and Exceptions" -msgstr "" +msgstr "Intermezzo: erros e exceções" #: ../../extending/extending.rst:128 msgid "" "An important convention throughout the Python interpreter is the following: " "when a function fails, it should set an exception condition and return an " -"error value (usually a ``NULL`` pointer). Exceptions are stored in a static " -"global variable inside the interpreter; if this variable is ``NULL`` no " -"exception has occurred. A second global variable stores the \"associated " -"value\" of the exception (the second argument to :keyword:`raise`). A third " -"variable contains the stack traceback in case the error originated in Python " -"code. These three variables are the C equivalents of the result in Python " -"of :meth:`sys.exc_info` (see the section on module :mod:`sys` in the Python " -"Library Reference). It is important to know about them to understand how " -"errors are passed around." +"error value (usually ``-1`` or a ``NULL`` pointer). Exception information " +"is stored in three members of the interpreter's thread state. These are " +"``NULL`` if there is no exception. Otherwise they are the C equivalents of " +"the members of the Python tuple returned by :meth:`sys.exc_info`. These are " +"the exception type, exception instance, and a traceback object. It is " +"important to know about them to understand how errors are passed around." msgstr "" -#: ../../extending/extending.rst:139 +#: ../../extending/extending.rst:137 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:141 +#: ../../extending/extending.rst:139 msgid "" "The most common one is :c:func:`PyErr_SetString`. Its arguments are an " "exception object and a C string. The exception object is usually a " @@ -236,7 +237,7 @@ msgid "" "and stored as the \"associated value\" of the exception." msgstr "" -#: ../../extending/extending.rst:147 +#: ../../extending/extending.rst:145 msgid "" "Another useful function is :c:func:`PyErr_SetFromErrno`, which only takes an " "exception argument and constructs the associated value by inspection of the " @@ -246,7 +247,7 @@ msgid "" "to any of these functions." msgstr "" -#: ../../extending/extending.rst:154 +#: ../../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 " @@ -255,30 +256,29 @@ msgid "" "since you should be able to tell from the return value." msgstr "" -#: ../../extending/extending.rst:160 +#: ../../extending/extending.rst:158 msgid "" "When a function *f* that calls another function *g* detects that the latter " "fails, *f* should itself return an error value (usually ``NULL`` or " -"``-1``). It should *not* call one of the :c:func:`PyErr_\\*` functions --- " -"one has already been called by *g*. *f*'s caller is then supposed to also " -"return an error indication to *its* caller, again *without* calling :c:func:" -"`PyErr_\\*`, and so on --- the most detailed cause of the error was already " -"reported by the function that first detected it. Once the error reaches the " -"Python interpreter's main loop, this aborts the currently executing Python " -"code and tries to find an exception handler specified by the Python " -"programmer." +"``-1``). It should *not* call one of the ``PyErr_*`` functions --- one has " +"already been called by *g*. *f*'s caller is then supposed to also return an " +"error indication to *its* caller, again *without* calling ``PyErr_*``, and " +"so on --- the most detailed cause of the error was already reported by the " +"function that first detected it. Once the error reaches the Python " +"interpreter's main loop, this aborts the currently executing Python code and " +"tries to find an exception handler specified by the Python programmer." msgstr "" -#: ../../extending/extending.rst:170 +#: ../../extending/extending.rst:168 msgid "" "(There are situations where a module can actually give a more detailed error " -"message by calling another :c:func:`PyErr_\\*` function, and in such cases " -"it is fine to do so. As a general rule, however, this is not necessary, and " -"can cause information about the cause of the error to be lost: most " -"operations can fail for a variety of reasons.)" +"message by calling another ``PyErr_*`` function, and in such cases it is " +"fine to do so. As a general rule, however, this is not necessary, and can " +"cause information about the cause of the error to be lost: most operations " +"can fail for a variety of reasons.)" msgstr "" -#: ../../extending/extending.rst:176 +#: ../../extending/extending.rst:174 msgid "" "To ignore an exception set by a function call that failed, the exception " "condition must be cleared explicitly by calling :c:func:`PyErr_Clear`. The " @@ -287,7 +287,7 @@ msgid "" "itself (possibly by trying something else, or pretending nothing went wrong)." msgstr "" -#: ../../extending/extending.rst:182 +#: ../../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:" @@ -296,7 +296,7 @@ msgid "" "so this note is only relevant to those who call :c:func:`malloc` directly." msgstr "" -#: ../../extending/extending.rst:188 +#: ../../extending/extending.rst:186 msgid "" "Also note that, with the important exception of :c:func:`PyArg_ParseTuple` " "and friends, functions that return an integer status usually return a " @@ -304,14 +304,14 @@ msgid "" "calls." msgstr "" -#: ../../extending/extending.rst:192 +#: ../../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 " "return an error indicator!" msgstr "" -#: ../../extending/extending.rst:196 +#: ../../extending/extending.rst:194 msgid "" "The choice of which exception to raise is entirely yours. There are " "predeclared C objects corresponding to all built-in Python exceptions, such " @@ -324,19 +324,19 @@ msgid "" "satisfy other conditions, :c:data:`PyExc_ValueError` is appropriate." msgstr "" -#: ../../extending/extending.rst:206 +#: ../../extending/extending.rst:204 msgid "" "You can also define a new exception that is unique to your module. For this, " "you usually declare a static object variable at the beginning of your file::" msgstr "" -#: ../../extending/extending.rst:211 +#: ../../extending/extending.rst:209 msgid "" "and initialize it in your module's initialization function (:c:func:" "`PyInit_spam`) with an exception object::" msgstr "" -#: ../../extending/extending.rst:235 +#: ../../extending/extending.rst:233 msgid "" "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 " @@ -344,7 +344,7 @@ msgid "" "``NULL``), described in :ref:`bltin-exceptions`." msgstr "" -#: ../../extending/extending.rst:240 +#: ../../extending/extending.rst:238 msgid "" "Note also that the :c:data:`SpamError` variable retains a reference to the " "newly created exception class; this is intentional! Since the exception " @@ -355,29 +355,29 @@ msgid "" "unintended side effects." msgstr "" -#: ../../extending/extending.rst:247 +#: ../../extending/extending.rst:245 msgid "" "We discuss the use of ``PyMODINIT_FUNC`` as a function return type later in " "this sample." msgstr "" -#: ../../extending/extending.rst:250 +#: ../../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::" msgstr "" -#: ../../extending/extending.rst:273 +#: ../../extending/extending.rst:271 msgid "Back to the Example" -msgstr "" +msgstr "De volta ao exemplo" -#: ../../extending/extending.rst:275 +#: ../../extending/extending.rst:273 msgid "" "Going back to our example function, you should now be able to understand " "this statement::" msgstr "" -#: ../../extending/extending.rst:281 +#: ../../extending/extending.rst:279 msgid "" "It returns ``NULL`` (the error indicator for functions returning object " "pointers) if an error is detected in the argument list, relying on the " @@ -388,50 +388,52 @@ msgid "" "properly be declared as ``const char *command``)." msgstr "" -#: ../../extending/extending.rst:289 +#: ../../extending/extending.rst:287 msgid "" "The next statement is a call to the Unix function :c:func:`system`, passing " "it the string we just got from :c:func:`PyArg_ParseTuple`::" msgstr "" -#: ../../extending/extending.rst:294 +#: ../../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`. ::" msgstr "" -#: ../../extending/extending.rst:299 +#: ../../extending/extending.rst:297 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:302 +#: ../../extending/extending.rst:300 msgid "" "If you have a C function that returns no useful argument (a function " -"returning :c:type:`void`), the corresponding Python function must return " +"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)::" msgstr "" -#: ../../extending/extending.rst:310 +#: ../../extending/extending.rst:308 msgid "" ":c:data:`Py_None` is the C name for the special Python object ``None``. It " "is a genuine Python object rather than a ``NULL`` pointer, which means " "\"error\" in most contexts, as we have seen." msgstr "" -#: ../../extending/extending.rst:318 +#: ../../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:320 +#: ../../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\"::" msgstr "" -#: ../../extending/extending.rst:331 +#: ../../extending/extending.rst:329 msgid "" "Note the third entry (``METH_VARARGS``). This is a flag telling the " "interpreter the calling convention to be used for the C function. It should " @@ -440,14 +442,14 @@ msgid "" "is used." msgstr "" -#: ../../extending/extending.rst:336 +#: ../../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." msgstr "" -#: ../../extending/extending.rst:340 +#: ../../extending/extending.rst:338 msgid "" "The :const:`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 " @@ -456,12 +458,14 @@ msgid "" "to such a function." msgstr "" -#: ../../extending/extending.rst:346 +#: ../../extending/extending.rst:344 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:357 +#: ../../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:" @@ -469,14 +473,14 @@ msgid "" "only non-\\ ``static`` item defined in the module file::" msgstr "" -#: ../../extending/extending.rst:368 +#: ../../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\"``." msgstr "" -#: ../../extending/extending.rst:372 +#: ../../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 " @@ -490,7 +494,7 @@ msgid "" "then gets inserted into ``sys.modules``." msgstr "" -#: ../../extending/extending.rst:383 +#: ../../extending/extending.rst:381 msgid "" "When embedding Python, the :c:func:`PyInit_spam` function is not called " "automatically unless there's an entry in the :c:data:`PyImport_Inittab` " @@ -498,7 +502,7 @@ msgid "" "`PyImport_AppendInittab`, optionally followed by an import of the module::" msgstr "" -#: ../../extending/extending.rst:427 +#: ../../extending/extending.rst:425 msgid "" "Removing entries from ``sys.modules`` or importing compiled modules into " "multiple interpreters within a process (or following a :c:func:`fork` " @@ -507,14 +511,14 @@ msgid "" "initializing internal data structures." msgstr "" -#: ../../extending/extending.rst:433 +#: ../../extending/extending.rst:431 msgid "" "A more substantial example module is included in the Python source " "distribution as :file:`Modules/xxmodule.c`. This file may be used as a " "template or simply read as an example." msgstr "" -#: ../../extending/extending.rst:439 +#: ../../extending/extending.rst:437 msgid "" "Unlike our ``spam`` example, ``xxmodule`` uses *multi-phase initialization* " "(new in Python 3.5), where a PyModuleDef structure is returned from " @@ -522,11 +526,11 @@ msgid "" "For details on multi-phase initialization, see :PEP:`489`." msgstr "" -#: ../../extending/extending.rst:448 +#: ../../extending/extending.rst:446 msgid "Compilation and Linkage" -msgstr "" +msgstr "Compilação e vinculação" -#: ../../extending/extending.rst:450 +#: ../../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 " @@ -535,8 +539,15 @@ msgid "" "`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:457 +#: ../../extending/extending.rst:455 msgid "" "If you can't use dynamic loading, or if you want to make your module a " "permanent part of the Python interpreter, you will have to change the " @@ -546,7 +557,7 @@ msgid "" "line to the file :file:`Modules/Setup.local` describing your file:" msgstr "" -#: ../../extending/extending.rst:468 +#: ../../extending/extending.rst:466 msgid "" "and rebuild the interpreter by running :program:`make` in the toplevel " "directory. You can also run :program:`make` in the :file:`Modules/` " @@ -555,17 +566,17 @@ msgid "" "the :file:`Setup` file.)" msgstr "" -#: ../../extending/extending.rst:474 +#: ../../extending/extending.rst:472 msgid "" "If your module requires additional libraries to link with, these can be " "listed on the line in the configuration file as well, for instance:" msgstr "" -#: ../../extending/extending.rst:485 +#: ../../extending/extending.rst:483 msgid "Calling Python Functions from C" -msgstr "" +msgstr "Chamando funções Python de C" -#: ../../extending/extending.rst:487 +#: ../../extending/extending.rst:485 msgid "" "So far we have concentrated on making C functions callable from Python. The " "reverse is also useful: calling Python functions from C. This is especially " @@ -575,8 +586,16 @@ 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:495 +#: ../../extending/extending.rst:493 msgid "" "Fortunately, the Python interpreter is easily called recursively, and there " "is a standard interface to call a Python function. (I won't dwell on how to " @@ -584,8 +603,14 @@ 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:501 +#: ../../extending/extending.rst:499 msgid "" "Calling a Python function is easy. First, the Python program must somehow " "pass you the Python function object. You should provide a function (or some " @@ -595,7 +620,7 @@ msgid "" "function might be part of a module definition::" msgstr "" -#: ../../extending/extending.rst:531 +#: ../../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 :" @@ -603,7 +628,7 @@ msgid "" "section :ref:`parsetuple`." msgstr "" -#: ../../extending/extending.rst:536 +#: ../../extending/extending.rst:534 msgid "" "The macros :c:func:`Py_XINCREF` and :c:func:`Py_XDECREF` increment/decrement " "the reference count of an object and are safe in the presence of ``NULL`` " @@ -611,7 +636,7 @@ msgid "" "info on them in section :ref:`refcounts`." msgstr "" -#: ../../extending/extending.rst:543 +#: ../../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 " @@ -623,7 +648,7 @@ msgid "" "or more format codes between parentheses. For example::" msgstr "" -#: ../../extending/extending.rst:563 +#: ../../extending/extending.rst:561 msgid "" ":c:func:`PyObject_CallObject` returns a Python object pointer: this is the " "return value of the Python function. :c:func:`PyObject_CallObject` is " @@ -632,7 +657,7 @@ msgid "" "`Py_DECREF`\\ -ed immediately after the :c:func:`PyObject_CallObject` call." msgstr "" -#: ../../extending/extending.rst:570 +#: ../../extending/extending.rst:568 msgid "" "The return value of :c:func:`PyObject_CallObject` is \"new\": either it is a " "brand new object, or it is an existing object whose reference count has been " @@ -641,7 +666,7 @@ msgid "" "not interested in its value." msgstr "" -#: ../../extending/extending.rst:576 +#: ../../extending/extending.rst:574 msgid "" "Before you do this, however, it is important to check that the return value " "isn't ``NULL``. If it is, the Python function terminated by raising an " @@ -652,7 +677,7 @@ msgid "" "should be cleared by calling :c:func:`PyErr_Clear`. For example::" msgstr "" -#: ../../extending/extending.rst:589 +#: ../../extending/extending.rst:587 msgid "" "Depending on the desired interface to the Python callback function, you may " "also have to provide an argument list to :c:func:`PyObject_CallObject`. In " @@ -664,7 +689,7 @@ msgid "" "you want to pass an integral event code, you might use the following code::" msgstr "" -#: ../../extending/extending.rst:608 +#: ../../extending/extending.rst:606 msgid "" "Note the placement of ``Py_DECREF(arglist)`` immediately after the call, " "before the error check! Also note that strictly speaking this code is not " @@ -672,22 +697,22 @@ msgid "" "checked." msgstr "" -#: ../../extending/extending.rst:612 +#: ../../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. ::" msgstr "" -#: ../../extending/extending.rst:630 +#: ../../extending/extending.rst:628 msgid "Extracting Parameters in Extension Functions" -msgstr "" +msgstr "Extraindo parâmetros em funções de extensão" -#: ../../extending/extending.rst:634 +#: ../../extending/extending.rst:632 msgid "The :c:func:`PyArg_ParseTuple` function is declared as follows::" msgstr "" -#: ../../extending/extending.rst:638 +#: ../../extending/extending.rst:636 msgid "" "The *arg* argument must be a tuple object containing an argument list passed " "from Python to a C function. The *format* argument must be a format string, " @@ -695,8 +720,13 @@ 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:644 +#: ../../extending/extending.rst:642 msgid "" "Note that while :c:func:`PyArg_ParseTuple` checks that the Python arguments " "have the required types, it cannot check the validity of the addresses of C " @@ -704,7 +734,7 @@ msgid "" "probably crash or at least overwrite random bits in memory. So be careful!" msgstr "" -#: ../../extending/extending.rst:649 +#: ../../extending/extending.rst:647 msgid "" "Note that any Python object references which are provided to the caller are " "*borrowed* references; do not decrement their reference count!" @@ -713,20 +743,20 @@ msgstr "" "chamador são referências *emprestadas*; não decremente a contagem de " "referências delas!" -#: ../../extending/extending.rst:652 +#: ../../extending/extending.rst:650 msgid "Some example calls::" -msgstr "" +msgstr "Alguns exemplos de chamadas::" -#: ../../extending/extending.rst:722 +#: ../../extending/extending.rst:720 msgid "Keyword Parameters for Extension Functions" -msgstr "" +msgstr "Parâmetros nomeados para funções de extensão" -#: ../../extending/extending.rst:726 +#: ../../extending/extending.rst:724 msgid "" "The :c:func:`PyArg_ParseTupleAndKeywords` function is declared as follows::" msgstr "" -#: ../../extending/extending.rst:731 +#: ../../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 " @@ -738,30 +768,32 @@ msgid "" "raises an appropriate exception." msgstr "" -#: ../../extending/extending.rst:741 +#: ../../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." msgstr "" -#: ../../extending/extending.rst:747 +#: ../../extending/extending.rst:745 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:802 +#: ../../extending/extending.rst:800 msgid "Building Arbitrary Values" -msgstr "" +msgstr "Construindo valores arbitrários" -#: ../../extending/extending.rst:804 +#: ../../extending/extending.rst:802 msgid "" "This function is the counterpart to :c:func:`PyArg_ParseTuple`. It is " "declared as follows::" msgstr "" -#: ../../extending/extending.rst:809 +#: ../../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, " @@ -769,7 +801,7 @@ msgid "" "object, suitable for returning from a C function called from Python." msgstr "" -#: ../../extending/extending.rst:814 +#: ../../extending/extending.rst:812 msgid "" "One difference with :c:func:`PyArg_ParseTuple`: while the latter requires " "its first argument to be a tuple (since Python argument lists are always " @@ -781,16 +813,16 @@ msgid "" "parenthesize the format string." msgstr "" -#: ../../extending/extending.rst:822 +#: ../../extending/extending.rst:820 msgid "" "Examples (to the left the call, to the right the resulting Python value):" msgstr "" -#: ../../extending/extending.rst:848 +#: ../../extending/extending.rst:846 msgid "Reference Counts" msgstr "Contagens de referências" -#: ../../extending/extending.rst:850 +#: ../../extending/extending.rst:848 msgid "" "In languages like C or C++, the programmer is responsible for dynamic " "allocation and deallocation of memory on the heap. In C, this is done using " @@ -799,7 +831,7 @@ msgid "" "restrict the following discussion to the C case." msgstr "" -#: ../../extending/extending.rst:856 +#: ../../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:" @@ -814,7 +846,7 @@ msgid "" "crashes." msgstr "" -#: ../../extending/extending.rst:867 +#: ../../extending/extending.rst:865 msgid "" "Common causes of memory leaks are unusual paths through the code. For " "instance, a function may allocate a block of memory, do some calculation, " @@ -830,8 +862,22 @@ msgid "" "happening by having a coding convention or strategy that minimizes this kind " "of errors." msgstr "" - -#: ../../extending/extending.rst:880 +"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 "" "Since Python makes heavy use of :c:func:`malloc` and :c:func:`free`, it " "needs a strategy to avoid memory leaks as well as the use of freed memory. " @@ -842,7 +888,7 @@ msgid "" "reference to the object has been deleted and the object is freed." msgstr "" -#: ../../extending/extending.rst:888 +#: ../../extending/extending.rst:886 msgid "" "An alternative strategy is called :dfn:`automatic garbage collection`. " "(Sometimes, reference counting is also referred to as a garbage collection " @@ -858,7 +904,7 @@ msgid "" "with reference counts." msgstr "" -#: ../../extending/extending.rst:900 +#: ../../extending/extending.rst:898 msgid "" "While Python uses the traditional reference counting implementation, it also " "offers a cycle detector that works to detect reference cycles. This allows " @@ -871,8 +917,20 @@ 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 "" - -#: ../../extending/extending.rst:911 +"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." @@ -880,11 +938,11 @@ msgid "" "disable the detector at runtime." msgstr "" -#: ../../extending/extending.rst:920 +#: ../../extending/extending.rst:918 msgid "Reference Counting in Python" -msgstr "" +msgstr "Contagem de referências no Python" -#: ../../extending/extending.rst:922 +#: ../../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:" @@ -895,7 +953,7 @@ msgid "" "object." msgstr "" -#: ../../extending/extending.rst:929 +#: ../../extending/extending.rst:927 msgid "" "The big question now remains: when to use ``Py_INCREF(x)`` and " "``Py_DECREF(x)``? Let's first introduce some terms. Nobody \"owns\" an " @@ -908,7 +966,7 @@ msgid "" "reference creates a memory leak." msgstr "" -#: ../../extending/extending.rst:938 +#: ../../extending/extending.rst:936 msgid "" "It is also possible to :dfn:`borrow` [#]_ a reference to an object. The " "borrower of a reference should not call :c:func:`Py_DECREF`. The borrower " @@ -917,7 +975,7 @@ msgid "" "risks using freed memory and should be avoided completely [#]_." msgstr "" -#: ../../extending/extending.rst:944 +#: ../../extending/extending.rst:942 msgid "" "The advantage of borrowing over owning a reference is that you don't need to " "take care of disposing of the reference on all possible paths through the " @@ -928,7 +986,7 @@ msgid "" "borrowed has in fact disposed of it." msgstr "" -#: ../../extending/extending.rst:952 +#: ../../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 " @@ -937,18 +995,21 @@ msgid "" "properly, as well as the previous owner)." msgstr "" -#: ../../extending/extending.rst:962 +#: ../../extending/extending.rst:960 msgid "Ownership Rules" -msgstr "" +msgstr "Regras de propriedade" -#: ../../extending/extending.rst:964 +#: ../../extending/extending.rst:962 msgid "" "Whenever an object reference is passed into or out of a function, it is part " "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:968 +#: ../../extending/extending.rst:966 msgid "" "Most functions that return a reference to an object pass on ownership with " "the reference. In particular, all functions whose function it is to create " @@ -959,7 +1020,7 @@ msgid "" "reference to a cached item." msgstr "" -#: ../../extending/extending.rst:976 +#: ../../extending/extending.rst:974 msgid "" "Many functions that extract objects from other objects also transfer " "ownership with the reference, for instance :c:func:" @@ -970,14 +1031,14 @@ msgid "" "list or dictionary." msgstr "" -#: ../../extending/extending.rst:983 +#: ../../extending/extending.rst:981 msgid "" "The function :c:func:`PyImport_AddModule` also returns a borrowed reference, " "even though it may actually create the object it returns: this is possible " "because an owned reference to the object is stored in ``sys.modules``." msgstr "" -#: ../../extending/extending.rst:987 +#: ../../extending/extending.rst:985 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 " @@ -988,7 +1049,7 @@ msgid "" "don't take over ownership --- they are \"normal.\")" msgstr "" -#: ../../extending/extending.rst:995 +#: ../../extending/extending.rst:993 msgid "" "When a C function is called from Python, it borrows references to its " "arguments from the caller. The caller owns a reference to the object, so " @@ -997,18 +1058,21 @@ msgid "" "turned into an owned reference by calling :c:func:`Py_INCREF`." msgstr "" -#: ../../extending/extending.rst:1001 +#: ../../extending/extending.rst:999 msgid "" "The object reference returned from a C function that is called from Python " "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:1009 +#: ../../extending/extending.rst:1007 msgid "Thin Ice" -msgstr "" +msgstr "Gelo fino" -#: ../../extending/extending.rst:1011 +#: ../../extending/extending.rst:1009 msgid "" "There are a few situations where seemingly harmless use of a borrowed " "reference can lead to problems. These all have to do with implicit " @@ -1016,21 +1080,24 @@ msgid "" "dispose of it." msgstr "" -#: ../../extending/extending.rst:1015 +#: ../../extending/extending.rst:1013 msgid "" "The first and most important case to know about is using :c:func:`Py_DECREF` " "on an unrelated object while borrowing a reference to a list item. For " "instance::" msgstr "" -#: ../../extending/extending.rst:1027 +#: ../../extending/extending.rst:1025 msgid "" "This function first borrows a reference to ``list[0]``, then replaces " "``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:1031 +#: ../../extending/extending.rst:1029 msgid "" "Let's follow the control flow into :c:func:`PyList_SetItem`. The list owns " "references to all its items, so when item 1 is replaced, it has to dispose " @@ -1040,7 +1107,7 @@ msgid "" "count of 1, disposing of it will call its :meth:`__del__` method." msgstr "" -#: ../../extending/extending.rst:1038 +#: ../../extending/extending.rst:1036 msgid "" "Since it is written in Python, the :meth:`__del__` method can execute " "arbitrary Python code. Could it perhaps do something to invalidate the " @@ -1051,20 +1118,22 @@ msgid "" "associated with it, thereby invalidating ``item``." msgstr "" -#: ../../extending/extending.rst:1046 +#: ../../extending/extending.rst:1044 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:1060 +#: ../../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..." msgstr "" -#: ../../extending/extending.rst:1064 +#: ../../extending/extending.rst:1062 msgid "" "The second case of problems with a borrowed reference is a variant involving " "threads. Normally, multiple threads in the Python interpreter can't get in " @@ -1077,11 +1146,11 @@ msgid "" "previous one::" msgstr "" -#: ../../extending/extending.rst:1087 +#: ../../extending/extending.rst:1085 msgid "NULL Pointers" -msgstr "" +msgstr "Ponteiros NULL" -#: ../../extending/extending.rst:1089 +#: ../../extending/extending.rst:1087 msgid "" "In general, functions that take object references as arguments do not expect " "you to pass them ``NULL`` pointers, and will dump core (or cause later core " @@ -1093,21 +1162,21 @@ msgid "" "more slowly." msgstr "" -#: ../../extending/extending.rst:1097 +#: ../../extending/extending.rst:1095 msgid "" "It is better to test for ``NULL`` only at the \"source:\" when a pointer " "that may be ``NULL`` is received, for example, from :c:func:`malloc` or from " "a function that may raise an exception." msgstr "" -#: ../../extending/extending.rst:1101 +#: ../../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." msgstr "" -#: ../../extending/extending.rst:1105 +#: ../../extending/extending.rst:1103 msgid "" "The macros for checking for a particular object type (``Pytype_Check()``) " "don't check for ``NULL`` pointers --- again, there is much code that calls " @@ -1116,24 +1185,24 @@ msgid "" "variants with ``NULL`` checking." msgstr "" -#: ../../extending/extending.rst:1111 +#: ../../extending/extending.rst:1109 msgid "" "The C function calling mechanism guarantees that the argument list passed to " "C functions (``args`` in the examples) is never ``NULL`` --- in fact it " "guarantees that it is always a tuple [#]_." msgstr "" -#: ../../extending/extending.rst:1115 +#: ../../extending/extending.rst:1113 msgid "" "It is a severe error to ever let a ``NULL`` pointer \"escape\" to the Python " "user." msgstr "" -#: ../../extending/extending.rst:1126 +#: ../../extending/extending.rst:1124 msgid "Writing Extensions in C++" -msgstr "" +msgstr "Escrevendo extensões em C++" -#: ../../extending/extending.rst:1128 +#: ../../extending/extending.rst:1126 msgid "" "It is possible to write extension modules in C++. Some restrictions apply. " "If the main program (the Python interpreter) is compiled and linked by the C " @@ -1145,12 +1214,22 @@ msgid "" "`` --- they use this form already if the symbol ``__cplusplus`` is defined " "(all recent C++ compilers define this symbol)." msgstr "" - -#: ../../extending/extending.rst:1142 +"É 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:1147 +#: ../../extending/extending.rst:1145 msgid "" "Many extension modules just provide new functions and types to be used from " "Python, but sometimes the code in an extension module can be useful for " @@ -1160,8 +1239,16 @@ 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:1155 +#: ../../extending/extending.rst:1153 msgid "" "At first sight this seems easy: just write the functions (without declaring " "them ``static``, of course), provide an appropriate header file, and " @@ -1176,8 +1263,21 @@ msgid "" "if symbols are globally visible, the module whose functions one wishes to " "call might not have been loaded yet!" msgstr "" - -#: ../../extending/extending.rst:1167 +"À 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 "" "Portability therefore requires not to make any assumptions about symbol " "visibility. This means that all symbols in extension modules should be " @@ -1186,12 +1286,19 @@ 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:1174 +#: ../../extending/extending.rst:1172 msgid "" "Python provides a special mechanism to pass C-level information (pointers) " "from one extension module to another one: Capsules. A Capsule is a Python " -"data type which stores a pointer (:c:type:`void \\*`). Capsules can only be " +"data type which stores a pointer (:c:expr:`void \\*`). Capsules can only be " "created and accessed via their C API, but they can be passed around like any " "other Python object. In particular, they can be assigned to a name in an " "extension module's namespace. Other extension modules can then import this " @@ -1199,7 +1306,7 @@ msgid "" "the Capsule." msgstr "" -#: ../../extending/extending.rst:1182 +#: ../../extending/extending.rst:1180 msgid "" "There are many ways in which Capsules can be used to export the C API of an " "extension module. Each function could get its own Capsule, or all C API " @@ -1208,24 +1315,32 @@ 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:1188 +#: ../../extending/extending.rst:1186 msgid "" "Whichever method you choose, it's important to name your Capsules properly. " -"The function :c:func:`PyCapsule_New` takes a name parameter (:c:type:`const " +"The function :c:func:`PyCapsule_New` takes a name parameter (:c:expr:`const " "char \\*`); you're permitted to pass in a ``NULL`` name, but we strongly " "encourage you to specify a name. Properly named Capsules provide a degree " "of runtime type-safety; there is no feasible way to tell one unnamed Capsule " "from another." msgstr "" -#: ../../extending/extending.rst:1195 +#: ../../extending/extending.rst:1193 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:1200 +#: ../../extending/extending.rst:1198 msgid "" "The convenience function :c:func:`PyCapsule_Import` makes it easy to load a " "C API provided via a Capsule, but only if the Capsule's name matches this " @@ -1233,18 +1348,18 @@ msgid "" "the Capsule they load contains the correct C API." msgstr "" -#: ../../extending/extending.rst:1205 +#: ../../extending/extending.rst:1203 msgid "" "The following example demonstrates an approach that puts most of the burden " "on the writer of the exporting module, which is appropriate for commonly " "used library modules. It stores all C API pointers (just one in the " -"example!) in an array of :c:type:`void` pointers which becomes the value of " +"example!) in an array of :c:expr:`void` pointers which becomes the value of " "a Capsule. The header file corresponding to the module provides a macro that " "takes care of importing the module and retrieving its C API pointers; client " "modules only have to call this macro before accessing the C API." msgstr "" -#: ../../extending/extending.rst:1213 +#: ../../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` " @@ -1254,25 +1369,25 @@ msgid "" "function :c:func:`PySpam_System` is also exported to other extension modules." msgstr "" -#: ../../extending/extending.rst:1220 +#: ../../extending/extending.rst:1218 msgid "" "The function :c:func:`PySpam_System` is a plain C function, declared " "``static`` like everything else::" msgstr "" -#: ../../extending/extending.rst:1229 +#: ../../extending/extending.rst:1227 msgid "The function :c:func:`spam_system` is modified in a trivial way::" msgstr "" -#: ../../extending/extending.rst:1243 +#: ../../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:1247 +#: ../../extending/extending.rst:1245 msgid "two more lines must be added::" -msgstr "" +msgstr "mais duas linhas devem ser adicionadas::" -#: ../../extending/extending.rst:1252 +#: ../../extending/extending.rst:1250 msgid "" "The ``#define`` is used to tell the header file that it is being included in " "the exporting module, not a client module. Finally, the module's " @@ -1280,33 +1395,35 @@ msgid "" "array::" msgstr "" -#: ../../extending/extending.rst:1282 +#: ../../extending/extending.rst:1280 msgid "" "Note that ``PySpam_API`` is declared ``static``; otherwise the pointer array " "would disappear when :func:`PyInit_spam` terminates!" msgstr "" -#: ../../extending/extending.rst:1285 +#: ../../extending/extending.rst:1283 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:1336 +#: ../../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::" msgstr "" -#: ../../extending/extending.rst:1354 +#: ../../extending/extending.rst:1352 msgid "" "The main disadvantage of this approach is that the file :file:`spammodule.h` " "is rather complicated. However, the basic structure is the same for each " "function that is exported, so it has to be learned only once." msgstr "" -#: ../../extending/extending.rst:1358 +#: ../../extending/extending.rst:1356 msgid "" "Finally it should be mentioned that Capsules offer additional functionality, " "which is especially useful for memory allocation and deallocation of the " @@ -1315,31 +1432,41 @@ 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:1366 +#: ../../extending/extending.rst:1364 msgid "Footnotes" msgstr "Notas de rodapé" -#: ../../extending/extending.rst:1367 +#: ../../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." 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:1370 +#: ../../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:1373 +#: ../../extending/extending.rst:1371 msgid "" "Checking that the reference count is at least 1 **does not work** --- the " "reference count itself could be in freed memory and may thus be reused for " "another object!" msgstr "" -#: ../../extending/extending.rst:1377 +#: ../../extending/extending.rst:1375 msgid "" "These guarantees don't hold when you use the \"old\" style calling " "convention --- this is still found in much existing code." diff --git a/extending/index.po b/extending/index.po index c730395d1..40453df06 100644 --- a/extending/index.po +++ b/extending/index.po @@ -1,30 +1,31 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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.10\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-06-29 12:56+0000\n" -"PO-Revision-Date: 2021-06-28 00:52+0000\n" -"Last-Translator: Rafael Fontenelle , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:57+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"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 "" @@ -41,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 "" @@ -76,24 +77,24 @@ msgstr "Ferramentas de terceiros recomendadas" #: ../../extending/index.rst:28 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 `_, `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 " -"`Cython `_, `cffi `_, `SWIG " -"`_ e `Numba `_ oferecem " -"abordagens mais simples e sofisticadas para criar extensões C e C++ para " -"Python." +"`Cython `_, `cffi `_, " +"`SWIG `_ e `Numba `_ " +"oferecem abordagens mais simples e sofisticadas para criar extensões C e C++ " +"para Python." #: ../../extending/index.rst:40 msgid "" "`Python Packaging User Guide: Binary Extensions `_" msgstr "" -"Guia do Usuário de Empacotamento do Python: Extensões Binárias `_" #: ../../extending/index.rst:38 diff --git a/extending/newtypes.po b/extending/newtypes.po index 7587475e3..eae34a0ef 100644 --- a/extending/newtypes.po +++ b/extending/newtypes.po @@ -1,30 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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 -# Welington Carlos , 2021 -# Claudio Rogerio Carvalho Filho , 2021 +# python-doc bot, 2025 # #, 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 00:52+0000\n" -"Last-Translator: Claudio Rogerio Carvalho Filho , " -"2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:57+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../extending/newtypes.rst:7 msgid "Defining Extension Types: Assorted Topics" @@ -100,7 +97,13 @@ msgid "" "of this function::" msgstr "" -#: ../../extending/newtypes.rst:83 +#: ../../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::" +msgstr "" + +#: ../../extending/newtypes.rst:95 msgid "" "One important requirement of the deallocator function is that it leaves any " "pending exceptions alone. This is important since deallocators are " @@ -115,7 +118,7 @@ msgid "" "c:func:`PyErr_Fetch` and :c:func:`PyErr_Restore` functions::" msgstr "" -#: ../../extending/newtypes.rst:122 +#: ../../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:" @@ -128,43 +131,43 @@ msgid "" "tp_dealloc` again, causing a double free and a crash." msgstr "" -#: ../../extending/newtypes.rst:131 +#: ../../extending/newtypes.rst:143 msgid "" "Starting with Python 3.4, it is recommended not to put any complex " "finalization code in :c:member:`~PyTypeObject.tp_dealloc`, and instead use " "the new :c:member:`~PyTypeObject.tp_finalize` type method." msgstr "" -#: ../../extending/newtypes.rst:136 +#: ../../extending/newtypes.rst:148 msgid ":pep:`442` explains the new finalization scheme." msgstr "" -#: ../../extending/newtypes.rst:143 +#: ../../extending/newtypes.rst:155 msgid "Object Presentation" msgstr "" -#: ../../extending/newtypes.rst:145 +#: ../../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." msgstr "" -#: ../../extending/newtypes.rst:154 +#: ../../extending/newtypes.rst:166 msgid "" "The :c:member:`~PyTypeObject.tp_repr` handler should return a string object " "containing a representation of the instance for which it is called. Here is " "a simple example::" msgstr "" -#: ../../extending/newtypes.rst:165 +#: ../../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." +"`~PyTypeObject.tp_name` and a uniquely identifying value for the object." msgstr "" -#: ../../extending/newtypes.rst:169 +#: ../../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`; " @@ -175,15 +178,15 @@ msgid "" "the :c:member:`~PyTypeObject.tp_repr` handler is used instead." msgstr "" -#: ../../extending/newtypes.rst:176 +#: ../../extending/newtypes.rst:188 msgid "Here is a simple example::" msgstr "" -#: ../../extending/newtypes.rst:188 +#: ../../extending/newtypes.rst:200 msgid "Attribute Management" msgstr "" -#: ../../extending/newtypes.rst:190 +#: ../../extending/newtypes.rst:202 msgid "" "For every object which can support attributes, the corresponding type must " "provide the functions that control how the attributes are resolved. There " @@ -193,55 +196,55 @@ msgid "" "handler is ``NULL``." msgstr "" -#: ../../extending/newtypes.rst:196 +#: ../../extending/newtypes.rst:208 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:type:" -"`char\\*`, while the other accepts a :c:type:`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:208 +#: ../../extending/newtypes.rst:220 msgid "" "If accessing attributes of an object is always a simple operation (this will " "be explained shortly), there are generic implementations which can be used " -"to provide the :c:type:`PyObject\\*` version of the attribute management " +"to provide the :c:expr:`PyObject*` version of the attribute management " "functions. The actual need for type-specific attribute handlers almost " "completely disappeared starting with Python 2.2, though there are many " "examples which have not been updated to use some of the new generic " "mechanism that is available." msgstr "" -#: ../../extending/newtypes.rst:219 +#: ../../extending/newtypes.rst:231 msgid "Generic Attribute Management" msgstr "" -#: ../../extending/newtypes.rst:221 +#: ../../extending/newtypes.rst:233 msgid "" "Most extension types only use *simple* attributes. So, what makes the " "attributes simple? There are only a couple of conditions that must be met:" msgstr "" -#: ../../extending/newtypes.rst:224 +#: ../../extending/newtypes.rst:236 msgid "" "The name of the attributes must be known when :c:func:`PyType_Ready` is " "called." msgstr "" -#: ../../extending/newtypes.rst:227 +#: ../../extending/newtypes.rst:239 msgid "" "No special processing is needed to record that an attribute was looked up or " "set, nor do actions need to be taken based on the value." msgstr "" -#: ../../extending/newtypes.rst:230 +#: ../../extending/newtypes.rst:242 msgid "" "Note that this list does not place any restrictions on the values of the " "attributes, when the values are computed, or how relevant data is stored." msgstr "" -#: ../../extending/newtypes.rst:233 +#: ../../extending/newtypes.rst:245 msgid "" "When :c:func:`PyType_Ready` is called, it uses three tables referenced by " "the type object to create :term:`descriptor`\\s which are placed in the " @@ -253,18 +256,18 @@ msgid "" "``NULL`` as well, allowing the base type to handle attributes." msgstr "" -#: ../../extending/newtypes.rst:241 +#: ../../extending/newtypes.rst:253 msgid "The tables are declared as three fields of the type object::" msgstr "" -#: ../../extending/newtypes.rst:247 +#: ../../extending/newtypes.rst:259 msgid "" "If :c:member:`~PyTypeObject.tp_methods` is not ``NULL``, it must refer to an " "array of :c:type:`PyMethodDef` structures. Each entry in the table is an " "instance of this structure::" msgstr "" -#: ../../extending/newtypes.rst:258 +#: ../../extending/newtypes.rst:270 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 " @@ -272,7 +275,7 @@ msgid "" "attr:`ml_name` field of the sentinel must be ``NULL``." msgstr "" -#: ../../extending/newtypes.rst:263 +#: ../../extending/newtypes.rst:275 msgid "" "The second table is used to define attributes which map directly to data " "stored in the instance. A variety of primitive C types are supported, and " @@ -280,7 +283,7 @@ msgid "" "defined as::" msgstr "" -#: ../../extending/newtypes.rst:275 +#: ../../extending/newtypes.rst:287 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 " @@ -291,39 +294,39 @@ msgid "" "accessed." msgstr "" -#: ../../extending/newtypes.rst:282 +#: ../../extending/newtypes.rst:294 msgid "" "The following flag constants are defined in :file:`structmember.h`; they may " "be combined using bitwise-OR." msgstr "" -#: ../../extending/newtypes.rst:286 +#: ../../extending/newtypes.rst:298 msgid "Constant" msgstr "Constante" -#: ../../extending/newtypes.rst:286 +#: ../../extending/newtypes.rst:298 msgid "Meaning" msgstr "Significado" -#: ../../extending/newtypes.rst:288 +#: ../../extending/newtypes.rst:300 msgid ":const:`READONLY`" msgstr ":const:`READONLY`" -#: ../../extending/newtypes.rst:288 +#: ../../extending/newtypes.rst:300 msgid "Never writable." msgstr "" -#: ../../extending/newtypes.rst:290 +#: ../../extending/newtypes.rst:302 msgid ":const:`PY_AUDIT_READ`" msgstr "" -#: ../../extending/newtypes.rst:290 +#: ../../extending/newtypes.rst:302 msgid "" "Emit an ``object.__getattr__`` :ref:`audit events ` before " "reading." msgstr "" -#: ../../extending/newtypes.rst:295 +#: ../../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:" @@ -331,7 +334,7 @@ msgid "" "`READ_RESTRICTED` will also raise an audit event." msgstr "" -#: ../../extending/newtypes.rst:308 +#: ../../extending/newtypes.rst:320 msgid "" "An interesting advantage of using the :c:member:`~PyTypeObject.tp_members` " "table to build descriptors that are used at runtime is that any attribute " @@ -341,39 +344,39 @@ msgid "" "`__doc__` attribute." msgstr "" -#: ../../extending/newtypes.rst:314 +#: ../../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." msgstr "" -#: ../../extending/newtypes.rst:328 +#: ../../extending/newtypes.rst:340 msgid "Type-specific Attribute Management" msgstr "" -#: ../../extending/newtypes.rst:330 +#: ../../extending/newtypes.rst:342 msgid "" -"For simplicity, only the :c:type:`char\\*` version will be demonstrated " +"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:" -"type:`char\\*` and :c:type:`PyObject\\*` flavors of the interface. This " +"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 " "functionality, you'll understand what needs to be done." msgstr "" -#: ../../extending/newtypes.rst:338 +#: ../../extending/newtypes.rst:350 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." msgstr "" -#: ../../extending/newtypes.rst:342 +#: ../../extending/newtypes.rst:354 msgid "Here is an example::" msgstr "Aqui está um exemplo::" -#: ../../extending/newtypes.rst:358 +#: ../../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 " @@ -383,11 +386,11 @@ msgid "" "should be set to ``NULL``. ::" msgstr "" -#: ../../extending/newtypes.rst:372 +#: ../../extending/newtypes.rst:384 msgid "Object Comparison" msgstr "" -#: ../../extending/newtypes.rst:378 +#: ../../extending/newtypes.rst:390 msgid "" "The :c:member:`~PyTypeObject.tp_richcompare` handler is called when " "comparisons are needed. It is analogous to the :ref:`rich comparison " @@ -395,34 +398,34 @@ msgid "" "`PyObject_RichCompare` and :c:func:`PyObject_RichCompareBool`." msgstr "" -#: ../../extending/newtypes.rst:383 +#: ../../extending/newtypes.rst:395 msgid "" "This function is called with two Python objects and the operator as " "arguments, where the operator is one of ``Py_EQ``, ``Py_NE``, ``Py_LE``, " -"``Py_GT``, ``Py_LT`` or ``Py_GT``. It should compare the two objects with " +"``Py_GE``, ``Py_LT`` or ``Py_GT``. It should compare the two objects with " "respect to the specified operator and return ``Py_True`` or ``Py_False`` if " "the comparison is successful, ``Py_NotImplemented`` to indicate that " "comparison is not implemented and the other object's comparison method " "should be tried, or ``NULL`` if an exception was set." msgstr "" -#: ../../extending/newtypes.rst:391 +#: ../../extending/newtypes.rst:403 msgid "" "Here is a sample implementation, for a datatype that is considered equal if " "the size of an internal pointer is equal::" msgstr "" -#: ../../extending/newtypes.rst:421 +#: ../../extending/newtypes.rst:433 msgid "Abstract Protocol Support" msgstr "" -#: ../../extending/newtypes.rst:423 +#: ../../extending/newtypes.rst:435 msgid "" "Python supports a variety of *abstract* 'protocols;' the specific interfaces " "provided to use these interfaces are documented in :ref:`abstract`." msgstr "" -#: ../../extending/newtypes.rst:427 +#: ../../extending/newtypes.rst:439 msgid "" "A number of these abstract interfaces were defined early in the development " "of the Python implementation. In particular, the number, mapping, and " @@ -437,7 +440,7 @@ msgid "" "slot, but a slot may still be unfilled.) ::" msgstr "" -#: ../../extending/newtypes.rst:442 +#: ../../extending/newtypes.rst:454 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 " @@ -448,13 +451,13 @@ msgid "" "distribution. ::" msgstr "" -#: ../../extending/newtypes.rst:451 +#: ../../extending/newtypes.rst:463 msgid "" "This function, if you choose to provide it, should return a hash number for " "an instance of your data type. Here is a simple example::" msgstr "" -#: ../../extending/newtypes.rst:464 +#: ../../extending/newtypes.rst:476 msgid "" ":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, " @@ -462,7 +465,7 @@ msgid "" "computation is successful, as seen above." msgstr "" -#: ../../extending/newtypes.rst:473 +#: ../../extending/newtypes.rst:485 msgid "" "This function is called when an instance of your data type is \"called\", " "for example, if ``obj1`` is an instance of your data type and the Python " @@ -470,23 +473,23 @@ msgid "" "handler is invoked." msgstr "" -#: ../../extending/newtypes.rst:477 +#: ../../extending/newtypes.rst:489 msgid "This function takes three arguments:" msgstr "" -#: ../../extending/newtypes.rst:479 +#: ../../extending/newtypes.rst:491 msgid "" "*self* is the instance of the data type which is the subject of the call. If " "the call is ``obj1('hello')``, then *self* is ``obj1``." msgstr "" -#: ../../extending/newtypes.rst:482 +#: ../../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." msgstr "" -#: ../../extending/newtypes.rst:485 +#: ../../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:" @@ -495,11 +498,11 @@ msgid "" "`TypeError` with a message saying that keyword arguments are not supported." msgstr "" -#: ../../extending/newtypes.rst:491 +#: ../../extending/newtypes.rst:503 msgid "Here is a toy ``tp_call`` implementation::" msgstr "" -#: ../../extending/newtypes.rst:517 +#: ../../extending/newtypes.rst:529 msgid "" "These functions provide support for the iterator protocol. Both handlers " "take exactly one parameter, the instance for which they are being called, " @@ -510,21 +513,21 @@ msgid "" "__next__` method." msgstr "" -#: ../../extending/newtypes.rst:524 +#: ../../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:" msgstr "" -#: ../../extending/newtypes.rst:528 +#: ../../extending/newtypes.rst:540 msgid "" "For collections (such as lists and tuples) which can support multiple " "independent iterators, a new iterator should be created and returned by each " "call to :c:member:`~PyTypeObject.tp_iter`." msgstr "" -#: ../../extending/newtypes.rst:531 +#: ../../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." @@ -532,7 +535,7 @@ msgid "" "therefore implement the :c:member:`~PyTypeObject.tp_iternext` handler." msgstr "" -#: ../../extending/newtypes.rst:536 +#: ../../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:" @@ -547,64 +550,64 @@ msgid "" "``NULL``." msgstr "" -#: ../../extending/newtypes.rst:552 +#: ../../extending/newtypes.rst:564 msgid "Weak Reference Support" msgstr "" -#: ../../extending/newtypes.rst:554 +#: ../../extending/newtypes.rst:566 msgid "" "One of the goals of Python's weak reference implementation is to allow any " "type to participate in the weak reference mechanism without incurring the " "overhead on performance-critical objects (such as numbers)." msgstr "" -#: ../../extending/newtypes.rst:559 +#: ../../extending/newtypes.rst:571 msgid "Documentation for the :mod:`weakref` module." -msgstr "" +msgstr "Documentação do módulo :mod:`weakref`." -#: ../../extending/newtypes.rst:561 +#: ../../extending/newtypes.rst:573 msgid "" "For an object to be weakly referencable, the extension type must do two " "things:" msgstr "" -#: ../../extending/newtypes.rst:563 +#: ../../extending/newtypes.rst:575 msgid "" -"Include a :c:type:`PyObject\\*` field in the C object structure dedicated to " +"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`)." msgstr "" -#: ../../extending/newtypes.rst:568 +#: ../../extending/newtypes.rst:580 msgid "" "Set the :c:member:`~PyTypeObject.tp_weaklistoffset` type member to the " "offset of the aforementioned field in the C object structure, so that the " "interpreter knows how to access and modify that field." msgstr "" -#: ../../extending/newtypes.rst:572 +#: ../../extending/newtypes.rst:584 msgid "" "Concretely, here is how a trivial object structure would be augmented with " "the required field::" msgstr "" -#: ../../extending/newtypes.rst:580 -msgid "And the corresponding member in the statically-declared type object::" +#: ../../extending/newtypes.rst:592 +msgid "And the corresponding member in the statically declared type object::" msgstr "" -#: ../../extending/newtypes.rst:588 +#: ../../extending/newtypes.rst:600 msgid "" "The only further addition is that ``tp_dealloc`` needs to clear any weak " "references (by calling :c:func:`PyObject_ClearWeakRefs`) if the field is non-" "``NULL``::" msgstr "" -#: ../../extending/newtypes.rst:604 +#: ../../extending/newtypes.rst:616 msgid "More Suggestions" msgstr "" -#: ../../extending/newtypes.rst:606 +#: ../../extending/newtypes.rst:618 msgid "" "In order to learn how to implement any specific method for your new data " "type, get the :term:`CPython` source code. Go to the :file:`Objects` " @@ -613,26 +616,26 @@ msgid "" "function you want to implement." msgstr "" -#: ../../extending/newtypes.rst:612 +#: ../../extending/newtypes.rst:624 msgid "" "When you need to verify that an object is a concrete instance of the type " "you are implementing, use the :c:func:`PyObject_TypeCheck` function. A " "sample of its use might be something like the following::" msgstr "" -#: ../../extending/newtypes.rst:623 +#: ../../extending/newtypes.rst:635 msgid "Download CPython source releases." msgstr "" -#: ../../extending/newtypes.rst:623 +#: ../../extending/newtypes.rst:635 msgid "https://www.python.org/downloads/source/" -msgstr "" +msgstr "https://www.python.org/downloads/source/" -#: ../../extending/newtypes.rst:625 +#: ../../extending/newtypes.rst:637 msgid "" "The CPython project on GitHub, where the CPython source code is developed." msgstr "" -#: ../../extending/newtypes.rst:626 +#: ../../extending/newtypes.rst:638 msgid "https://github.com/python/cpython" -msgstr "" +msgstr "https://github.com/python/cpython" diff --git a/extending/newtypes_tutorial.po b/extending/newtypes_tutorial.po index 9a8227f53..379ea78d2 100644 --- a/extending/newtypes_tutorial.po +++ b/extending/newtypes_tutorial.po @@ -1,28 +1,28 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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 -# felipe caridade , 2021 +# python-doc bot, 2025 +# Rainer Terroso, 2025 # #, 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 00:52+0000\n" -"Last-Translator: felipe caridade , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-11-19 18:20+0000\n" +"PO-Revision-Date: 2025-09-22 15:57+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=2; plural=(n > 1);\n" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../extending/newtypes_tutorial.rst:7 msgid "Defining Extension Types: Tutorial" @@ -36,11 +36,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,7 +50,7 @@ msgstr "O básico" #: ../../extending/newtypes_tutorial.rst:26 msgid "" "The :term:`CPython` runtime sees all Python objects as variables of type :c:" -"type:`PyObject\\*`, which serves as a \"base type\" for all Python objects. " +"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 " @@ -57,6 +58,14 @@ msgid "" "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 "" @@ -80,21 +89,27 @@ msgid "" "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." msgstr "" +"O que o **objeto** :class:`Custom` contém: esta é a estrutura do " +"``CustomObject``, que é alocada uma vez a acada instância :class:`Custom`." #: ../../extending/newtypes_tutorial.rst:55 msgid "" @@ -118,17 +133,27 @@ msgid "" "This is what a Custom object will contain. ``PyObject_HEAD`` is mandatory " "at the start of each object struct and defines a field called ``ob_base`` of " "type :c:type:`PyObject`, containing a pointer to a type object and a " -"reference count (these can be accessed using the macros :c:macro:`Py_REFCNT` " -"and :c:macro:`Py_TYPE` respectively). The reason for the macro is to " +"reference count (these can be accessed using the macros :c:macro:`Py_TYPE` " +"and :c:macro:`Py_REFCNT` respectively). The reason for the macro is to " "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 "" @@ -136,6 +161,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. ::" @@ -147,6 +175,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 "" @@ -155,6 +187,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::" @@ -165,12 +201,16 @@ 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 "" @@ -212,11 +252,17 @@ 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 "" @@ -254,7 +300,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 "" @@ -272,8 +318,8 @@ 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 "" @@ -329,10 +375,13 @@ 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 "" @@ -359,10 +408,13 @@ 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 "" @@ -384,24 +436,37 @@ msgid "" "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." 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 "" @@ -410,6 +475,10 @@ 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 "" @@ -429,10 +498,12 @@ 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 "" @@ -469,9 +540,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;" @@ -490,17 +561,23 @@ msgid "" "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 "" @@ -508,6 +585,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 "" @@ -519,6 +599,14 @@ 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 "" @@ -561,7 +649,7 @@ msgstr "" #: ../../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 "" @@ -622,7 +710,7 @@ msgstr "" #: ../../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::" @@ -634,6 +722,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::" @@ -644,6 +735,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 "" @@ -654,6 +747,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 "" @@ -661,6 +761,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" @@ -672,6 +775,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 "" @@ -680,6 +787,10 @@ 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 "" @@ -703,6 +814,8 @@ 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 "" @@ -719,18 +832,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 "" @@ -741,10 +862,16 @@ 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 "" @@ -752,6 +879,9 @@ msgid "" "`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 "" @@ -762,6 +892,12 @@ msgid "" "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 "" @@ -775,10 +911,14 @@ msgid "" "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" -msgstr "Subclassificando outros tipos" +msgstr "Criando subclasses de outros tipos" #: ../../extending/newtypes_tutorial.rst:796 msgid "" @@ -787,6 +927,11 @@ 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 "" @@ -809,6 +954,9 @@ 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 "" @@ -831,6 +979,12 @@ msgid "" "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 "" @@ -849,6 +1003,11 @@ msgid "" "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 "" @@ -873,6 +1032,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 "" @@ -886,7 +1047,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 f404dc881..ebb8f4500 100644 --- a/extending/windows.po +++ b/extending/windows.po @@ -1,28 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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 -# felipe caridade , 2021 +# python-doc bot, 2025 # #, 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 00:52+0000\n" -"Last-Translator: felipe caridade , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:57+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../extending/windows.rst:8 msgid "Building C and C++ Extensions on Windows" @@ -196,10 +195,10 @@ msgid "" 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 " +"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 vinculador para B e C. :file:`A.lib` não " +"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." @@ -222,24 +221,23 @@ msgstr "Usando DLLs na prática" #: ../../extending/windows.rst:108 msgid "" "Windows Python is built in Microsoft Visual C++; using other compilers may " -"or may not work (though Borland seems to). The rest of this section is MSVC+" -"+ specific." +"or may not work. The rest of this section is MSVC++ specific." msgstr "" "O Python para Windows é criado no Microsoft Visual C++; o uso de outros " -"compiladores pode ou não funcionar (embora o Borland pareça). O restante " -"desta seção é específico do MSVC++." +"compiladores pode ou não funcionar. O restante desta seção é específico do " +"MSVC++." -#: ../../extending/windows.rst:112 +#: ../../extending/windows.rst:111 msgid "" "When creating DLLs in Windows, you must pass :file:`pythonXY.lib` to the " "linker. To build two DLLs, spam and ni (which uses C functions found in " "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:119 +#: ../../extending/windows.rst:118 msgid "" "The first command created three files: :file:`spam.obj`, :file:`spam.dll` " "and :file:`spam.lib`. :file:`Spam.dll` does not contain any Python " @@ -251,7 +249,7 @@ msgstr "" "(como :c:func:`PyArg_ParseTuple`), mas sabe como encontrar o código Python " "graças a :file:`pythonXY.lib`." -#: ../../extending/windows.rst:124 +#: ../../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 " @@ -261,7 +259,7 @@ msgstr "" "sabe como encontrar as funções necessárias do spam e também do executável do " "Python." -#: ../../extending/windows.rst:128 +#: ../../extending/windows.rst:127 msgid "" "Not every identifier is exported to the lookup table. If you want any other " "modules (including Python) to be able to see your identifiers, you have to " @@ -274,7 +272,7 @@ msgstr "" "_declspec(dllexport) initspam(void)`` ou ``PyObject _declspec(dllexport) " "*NiGetSpamData(void)``." -#: ../../extending/windows.rst:133 +#: ../../extending/windows.rst:132 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 " diff --git a/faq/design.po b/faq/design.po index 86577017f..3dc0b6297 100644 --- a/faq/design.po +++ b/faq/design.po @@ -1,36 +1,31 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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 -# Fernando, 2021 -# Aline Balogh , 2021 -# Amanda Savluchinske , 2021 -# Alexsandro Matias de Almeida , 2021 +# python-doc bot, 2025 # #, 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 00:52+0000\n" -"Last-Translator: Alexsandro Matias de Almeida , " -"2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:57+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"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" @@ -38,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 recuo para agrupamento de declarações?" +msgstr "Por que o Python usa indentação para agrupamento de instruções?" #: ../../faq/design.rst:13 msgid "" @@ -57,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 "" @@ -98,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?" @@ -111,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::" @@ -136,6 +139,13 @@ msgid "" "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 "" @@ -165,12 +175,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?" @@ -187,6 +201,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 "" @@ -195,6 +213,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?" @@ -222,6 +244,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 "" @@ -252,6 +284,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?" @@ -263,15 +310,15 @@ msgstr "A partir do Python 3.8, você pode!" #: ../../faq/design.rst:158 msgid "" -"Assignment expressions using the walrus operator `:=` assign a variable in " +"Assignment expressions using the walrus operator ``:=`` assign a variable in " "an expression::" msgstr "" -"Expressões de atribuição usando o operador morsa `\\:=` atribuem uma " +"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 "" @@ -293,6 +340,12 @@ 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 "" @@ -305,10 +358,19 @@ msgid "" "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:207 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?" @@ -346,6 +408,11 @@ 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 "" @@ -354,12 +421,20 @@ msgid "" "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 "" @@ -369,10 +444,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 "" @@ -399,6 +480,9 @@ 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?" @@ -417,47 +501,65 @@ msgid "" "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:279 +#: ../../faq/design.rst:276 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::" 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:291 +#: ../../faq/design.rst:288 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:297 +#: ../../faq/design.rst:294 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:299 +#: ../../faq/design.rst:296 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:304 +#: ../../faq/design.rst:301 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:309 +#: ../../faq/design.rst:306 msgid "Why can't lambda expressions contain statements?" msgstr "Por que expressões lambda não podem conter instruções?" -#: ../../faq/design.rst:311 +#: ../../faq/design.rst:308 msgid "" "Python lambda expressions cannot contain statements because Python's " "syntactic framework can't handle statements nested inside expressions. " @@ -472,11 +574,11 @@ 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:317 +#: ../../faq/design.rst:314 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 " -"locally-defined function is that you don't need to invent a name for the " +"locally defined function is that you don't need to invent a name for the " "function -- but that's just a local variable to which the function object " "(which is exactly the same type of object that a lambda expression yields) " "is assigned!" @@ -488,26 +590,29 @@ msgstr "" "(que é exatamente do mesmo tipo de um objeto que uma expressão lambda " "carrega) é atribuído!" -#: ../../faq/design.rst:325 +#: ../../faq/design.rst:322 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:327 +#: ../../faq/design.rst:324 msgid "" -"`Cython `_ compiles a modified version of Python with " -"optional annotations into C extensions. `Nuitka `_ " +"`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. For compiling to Java you can consider `VOC `_." +"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:335 +#: ../../faq/design.rst:331 msgid "How does Python manage memory?" msgstr "Como o Python gerencia memória?" -#: ../../faq/design.rst:337 +#: ../../faq/design.rst:333 msgid "" "The details of Python memory management depend on the implementation. The " "standard implementation of Python, :term:`CPython`, uses reference counting " @@ -517,23 +622,37 @@ 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:345 +#: ../../faq/design.rst:341 msgid "" -"Other implementations (such as `Jython `_ or `PyPy " -"`_), however, can rely on a different mechanism such as " -"a full-blown garbage collector. This difference can cause some subtle " +"Other implementations (such as `Jython `_ or `PyPy " +"`_), however, can rely on a different mechanism such " +"as a full-blown garbage collector. This difference can cause some subtle " "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:351 +#: ../../faq/design.rst:347 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:358 +#: ../../faq/design.rst:354 msgid "" "Indeed, using CPython's reference counting and destructor scheme, each new " "assignment to *f* closes the previous file. With a traditional GC, however, " @@ -541,20 +660,24 @@ msgid "" "possibly long intervals." msgstr "" -#: ../../faq/design.rst:363 +#: ../../faq/design.rst:359 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:373 +#: ../../faq/design.rst:369 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:375 +#: ../../faq/design.rst:371 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 " @@ -562,8 +685,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:381 +#: ../../faq/design.rst:377 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 " @@ -573,11 +701,11 @@ msgid "" "with anything that implements malloc() and free() properly." msgstr "" -#: ../../faq/design.rst:390 +#: ../../faq/design.rst:386 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:392 +#: ../../faq/design.rst:388 msgid "" "Objects referenced from the global namespaces of Python modules are not " "always deallocated when Python exits. This may happen if there are circular " @@ -586,18 +714,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:399 +#: ../../faq/design.rst:395 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:404 +#: ../../faq/design.rst:400 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:406 +#: ../../faq/design.rst:402 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 " @@ -607,7 +743,7 @@ msgid "" "numbers." msgstr "" -#: ../../faq/design.rst:413 +#: ../../faq/design.rst:409 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 " @@ -617,7 +753,7 @@ msgid "" "added another file or two to the directory." msgstr "" -#: ../../faq/design.rst:420 +#: ../../faq/design.rst:416 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 " @@ -625,46 +761,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:427 +#: ../../faq/design.rst:423 msgid "How are lists implemented in CPython?" msgstr "Como as listas são implementadas no CPython?" -#: ../../faq/design.rst:429 +#: ../../faq/design.rst:425 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:433 +#: ../../faq/design.rst:429 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:436 +#: ../../faq/design.rst:432 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:443 +#: ../../faq/design.rst:439 msgid "How are dictionaries implemented in CPython?" msgstr "Como são os dicionários implementados no CPython?" -#: ../../faq/design.rst:445 +#: ../../faq/design.rst:441 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:449 +#: ../../faq/design.rst:445 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 " @@ -677,11 +834,11 @@ msgid "" "key." msgstr "" -#: ../../faq/design.rst:460 +#: ../../faq/design.rst:456 msgid "Why must dictionary keys be immutable?" msgstr "Por que chaves de dicionário devem ser imutáveis?" -#: ../../faq/design.rst:462 +#: ../../faq/design.rst:458 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 " @@ -693,49 +850,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:471 +#: ../../faq/design.rst:467 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:475 +#: ../../faq/design.rst:471 msgid "Some unacceptable solutions that have been proposed:" msgstr "Algumas soluções inaceitáveis que foram propostas:" -#: ../../faq/design.rst:477 +#: ../../faq/design.rst:473 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:483 +#: ../../faq/design.rst:479 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`." 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:487 +#: ../../faq/design.rst:483 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:491 +#: ../../faq/design.rst:487 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:496 +#: ../../faq/design.rst:492 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 " @@ -744,8 +929,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:502 +#: ../../faq/design.rst:498 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 " @@ -755,14 +946,17 @@ msgid "" "in the dictionary (or other structure). ::" msgstr "" -#: ../../faq/design.rst:526 +#: ../../faq/design.rst:522 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:530 +#: ../../faq/design.rst:526 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__() == " @@ -770,8 +964,13 @@ msgid "" "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:535 +#: ../../faq/design.rst:531 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 " @@ -779,11 +978,11 @@ msgid "" "of not meeting them correctly. Consider yourself warned." msgstr "" -#: ../../faq/design.rst:542 +#: ../../faq/design.rst:538 msgid "Why doesn't list.sort() return the sorted list?" msgstr "Por que lista.sort() não retorna a lista ordenada?" -#: ../../faq/design.rst:544 +#: ../../faq/design.rst:540 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 " @@ -799,7 +998,7 @@ msgstr "" "quando você precisar de uma cópia ordenada mas também precisar manter a " "versão não ordenada." -#: ../../faq/design.rst:550 +#: ../../faq/design.rst:546 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 " @@ -811,19 +1010,23 @@ msgstr "" "ordena e retorna. Por exemplo, aqui é como se itera em cima das chaves de um " "dicionário de maneira ordenada::" -#: ../../faq/design.rst:560 +#: ../../faq/design.rst:556 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:562 +#: ../../faq/design.rst:558 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:567 +#: ../../faq/design.rst:563 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` " @@ -832,14 +1035,22 @@ msgid "" "`~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:574 +#: ../../faq/design.rst:570 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:577 +#: ../../faq/design.rst:573 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 " @@ -850,8 +1061,17 @@ msgid "" "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:585 +#: ../../faq/design.rst:581 msgid "" "An appropriate testing discipline can help build large complex applications " "in Python as well as having interface specifications would. In fact, it can " @@ -862,7 +1082,7 @@ msgid "" "correctly, but it's trivial to check this property in a test suite." msgstr "" -#: ../../faq/design.rst:593 +#: ../../faq/design.rst:589 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 " @@ -870,12 +1090,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:601 +#: ../../faq/design.rst:597 msgid "Why is there no goto?" -msgstr "" +msgstr "Por que não há goto?" -#: ../../faq/design.rst:603 +#: ../../faq/design.rst:599 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 " @@ -885,7 +1110,7 @@ msgid "" "containing ``continue`` and ``break``)." msgstr "" -#: ../../faq/design.rst:610 +#: ../../faq/design.rst:606 msgid "" "One can also use exceptions to provide a \"structured goto\" that works even " "across function calls. Many feel that exceptions can conveniently emulate " @@ -893,25 +1118,28 @@ msgid "" "other languages. For example::" msgstr "" -#: ../../faq/design.rst:626 +#: ../../faq/design.rst:622 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:631 +#: ../../faq/design.rst:627 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:633 +#: ../../faq/design.rst:629 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:637 +#: ../../faq/design.rst:633 msgid "" "Raw strings were designed to ease creating input for processors (chiefly " "regular expression engines) that want to do their own backslash escape " @@ -920,35 +1148,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:644 +#: ../../faq/design.rst:640 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:649 +#: ../../faq/design.rst:645 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:657 +#: ../../faq/design.rst:653 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:659 +#: ../../faq/design.rst:655 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:667 +#: ../../faq/design.rst:663 msgid "In Python, such a construct would be ambiguous." -msgstr "" +msgstr "Em Python, tal construção seria ambígua." -#: ../../faq/design.rst:669 +#: ../../faq/design.rst:665 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 " @@ -960,7 +1200,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:674 +#: ../../faq/design.rst:670 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 " @@ -974,11 +1214,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:680 +#: ../../faq/design.rst:676 msgid "For instance, take the following incomplete snippet::" -msgstr "" +msgstr "Por exemplo, pegue o seguinte trecho incompleto::" -#: ../../faq/design.rst:686 +#: ../../faq/design.rst:682 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 " @@ -987,7 +1227,7 @@ msgid "" "the dynamic nature of Python makes such choices much harder." msgstr "" -#: ../../faq/design.rst:692 +#: ../../faq/design.rst:688 msgid "" "The primary benefit of \"with\" and similar language features (reduction of " "code volume) can, however, easily be achieved in Python by assignment. " @@ -997,38 +1237,38 @@ 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:699 +#: ../../faq/design.rst:695 msgid "write this::" msgstr "escreva isso::" -#: ../../faq/design.rst:706 +#: ../../faq/design.rst:702 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:712 +#: ../../faq/design.rst:708 msgid "Why don't generators support the with statement?" -msgstr "" +msgstr "Por que os geradores não suportam a instrução with?" -#: ../../faq/design.rst:714 +#: ../../faq/design.rst:710 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 " "iterator run to completion, no closing is needed. When it is, wrap it as " -"\"contextlib.closing(generator)\" in the 'with' statment." +"\"contextlib.closing(generator)\" in the 'with' statement." msgstr "" -#: ../../faq/design.rst:721 +#: ../../faq/design.rst:717 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:723 +#: ../../faq/design.rst:719 msgid "" "The colon is required primarily to enhance readability (one of the results " "of the experimental ABC language). Consider this::" @@ -1036,21 +1276,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:729 +#: ../../faq/design.rst:725 msgid "versus ::" msgstr "versus ::" -#: ../../faq/design.rst:734 +#: ../../faq/design.rst:730 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:737 +#: ../../faq/design.rst:733 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 " @@ -1062,11 +1302,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:743 +#: ../../faq/design.rst:739 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:745 +#: ../../faq/design.rst:741 msgid "" "Python lets you add a trailing comma at the end of lists, tuples, and " "dictionaries::" @@ -1074,11 +1314,11 @@ msgstr "" "O Python deixa você adicionar uma vírgula ao final de listas, tuplas e " "dicionários::" -#: ../../faq/design.rst:756 +#: ../../faq/design.rst:752 msgid "There are several reasons to allow this." msgstr "Existem várias razões para permitir isso." -#: ../../faq/design.rst:758 +#: ../../faq/design.rst:754 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 " @@ -1090,7 +1330,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:763 +#: ../../faq/design.rst:759 msgid "" "Accidentally omitting the comma can lead to errors that are hard to " "diagnose. For example::" @@ -1098,7 +1338,7 @@ msgstr "" "Acidentalmente omitir a vírgula pode levar a erros que são difíceis de " "diagnosticar. Por exemplo::" -#: ../../faq/design.rst:773 +#: ../../faq/design.rst:769 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 " @@ -1107,7 +1347,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:776 +#: ../../faq/design.rst:772 msgid "" "Allowing the trailing comma may also make programmatic code generation " "easier." diff --git a/faq/extending.po b/faq/extending.po index 77a9ebd92..ed6da7b3f 100644 --- a/faq/extending.po +++ b/faq/extending.po @@ -1,31 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, Python Software 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.10\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-06-29 12:56+0000\n" -"PO-Revision-Date: 2021-06-28 00:52+0000\n" -"Last-Translator: Alexsandro Matias de Almeida , " -"2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2026-01-03 17:03+0000\n" +"PO-Revision-Date: 2025-09-22 15:57+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../faq/extending.rst:3 msgid "Extending/Embedding FAQ" @@ -61,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 " @@ -74,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 "" @@ -86,7 +82,7 @@ msgstr "" #: ../../faq/extending.rst:44 msgid "" -"`Cython `_ and its relative `Pyrex `_ 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 " @@ -97,9 +93,9 @@ msgstr "" msgid "" "If you need to interface to some C or C++ library for which no Python " "extension currently exists, you can try wrapping the library's data types " -"and functions with a tool such as `SWIG `_. `SIP " -"`__, `CXX `_ `Boost `_. `SIP " +"`__, `CXX `_ `Boost `_, or `Weave `_ are also alternatives " "for wrapping C++ libraries." msgstr "" @@ -117,10 +113,18 @@ msgid "" "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 "" @@ -128,6 +132,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?" @@ -155,6 +162,9 @@ msgid "" "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 "" @@ -165,6 +175,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?" @@ -174,11 +190,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 "" @@ -187,6 +203,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 "" @@ -194,12 +214,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 "" @@ -208,12 +233,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 "" @@ -222,10 +253,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:" @@ -233,11 +269,12 @@ 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 "" @@ -247,22 +284,31 @@ msgid "" "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 "" @@ -273,14 +319,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 "" @@ -288,30 +340,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 "" @@ -328,11 +389,11 @@ msgstr "" msgid "For Debian, run ``apt-get install python-dev``." msgstr "" -#: ../../faq/extending.rst:259 +#: ../../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:261 +#: ../../faq/extending.rst:260 msgid "" "Sometimes you want to emulate the Python interactive interpreter's behavior, " "where it gives you a continuation prompt when the input is incomplete (e.g. " @@ -340,14 +401,22 @@ 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:267 +#: ../../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:270 +#: ../../faq/extending.rst:269 msgid "" "The easiest way to do it in C is to call :c:func:`PyRun_InteractiveLoop` " "(perhaps in a separate thread) and let the Python interpreter handle the " @@ -355,48 +424,52 @@ 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 "" -"However sometimes you have to run the embedded Python interpreter in the " -"same thread as your rest application and you can't allow the :c:func:" -"`PyRun_InteractiveLoop` to stop while waiting for user input. A solution is " -"trying to compile the received string with :c:func:`Py_CompileString`. If it " -"compiles without errors, try to execute the returned code object by calling :" -"c:func:`PyEval_EvalCode`. Otherwise save the input for later. If the " -"compilation fails, find out if it's an error or just more input is required " -"- by extracting the message string from the exception tuple and comparing it " -"to the string \"unexpected EOF while parsing\". Here is a complete example " -"using the GNU readline library (you may want to ignore **SIGINT** while " -"calling readline())::" -msgstr "" - -#: ../../faq/extending.rst:401 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:403 +#: ../../faq/extending.rst:278 msgid "" "To dynamically load g++ extension modules, you must recompile Python, relink " "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:409 +#: ../../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:411 +#: ../../faq/extending.rst:286 msgid "" "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:414 +#: ../../faq/extending.rst:289 msgid "" -"The Boost Python Library (BPL, http://www.boost.org/libs/python/doc/index." +"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 a5edf16dd..9d6dc3663 100644 --- a/faq/general.po +++ b/faq/general.po @@ -1,31 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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 -# Bruno Leuenroth , 2021 -# Adorilson Bezerra , 2021 -# felipe caridade , 2021 -# Vitor Buxbaum Orlandi, 2021 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.10\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-07-27 13:07+0000\n" -"PO-Revision-Date: 2021-06-28 00:52+0000\n" -"Last-Translator: Vitor Buxbaum Orlandi, 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:57+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../faq/general.rst:5 msgid "General Python FAQ" @@ -218,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." @@ -285,22 +281,39 @@ msgid "How does the Python version numbering scheme work?" msgstr "Como funciona o esquema de numeração de versões do Python?" #: ../../faq/general.rst:128 +msgid "Python versions are numbered \"A.B.C\" or \"A.B\":" +msgstr "As versões de Python são enumeradas como \"A.B.C\" ou \"A.B\":" + +#: ../../faq/general.rst:130 +msgid "" +"*A* is the major version number -- it is only incremented for really major " +"changes in the language." +msgstr "" +"*A* é o número da versão principal - sendo incrementada apenas em grandes " +"mudanças na linguagem." + +#: ../../faq/general.rst:132 msgid "" -"Python versions are numbered A.B.C or A.B. A is the major version number -- " -"it is only incremented for really major changes in the language. B is the " -"minor version number, incremented for less earth-shattering changes. C is " -"the micro-level -- it is incremented for each bugfix release. See :pep:`6` " -"for more information about bugfix releases." +"*B* is the minor version number -- it is incremented for less earth-" +"shattering changes." msgstr "" -"As versões do Python são numeradas na forma A.B.C ou A.B. A é o número da " -"versão principal -- só é incrementado quando ocorre mudanças realmente " -"importantes na linguagem. O B é o número da versão menor, incrementado " -"quando ocorre mudanças menores. O C é o micro-nível -- é incrementado para " -"cada versão de correções de erros. Veja a :pep:`6` para obter mais " -"informações sobre as versões de correções de erros." +"*B* é o número da versão menor - sendo incrementada apenas para mudanças " +"menos estruturais." #: ../../faq/general.rst:134 msgid "" +"*C* is the micro version number -- it is incremented for each bugfix release." +msgstr "" +"*C* é o número para micro versão -- sendo incrementada apenas para " +"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 " @@ -319,24 +332,37 @@ msgstr "" "lançamento são congeladas, sem alterações, exceto quando necessário para " "corrigir erros críticos." -#: ../../faq/general.rst:142 -msgid "" -"Alpha, beta and release candidate versions have an additional suffix. The " -"suffix for an alpha version is \"aN\" for some small number N, the suffix " -"for a beta version is \"bN\" for some small number N, and the suffix for a " -"release candidate version is \"rcN\" for some small number N. 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." +#: ../../faq/general.rst:146 +msgid "Alpha, beta and release candidate versions have an additional suffix:" msgstr "" -"As versões de lançamento alfa, beta e candidata possuem um sufixo adicional. " -"O sufixo para uma versão alfa é \"aN\" para algum número pequeno N, o sufixo " -"para uma versão beta é \"bN\" para algum número pequeno N e o sufixo para " -"uma versão candidata a ser lançada é \"rcN\" para algum pequeno número N. Em " -"outras palavras, todas as versões rotuladas como 2.0aN precedem as versões " -"rotuladas como 2.0bN, que precedem as versões rotuladas como 2.0rcN e " -"*essas* precederam a 2.0." +"As versões alpha, beta e candidata a lançamento possuem um sufixo adicional:" + +#: ../../faq/general.rst:148 +msgid "The suffix for an alpha version is \"aN\" for some small number *N*." +msgstr "O sufixo para uma versão alfa é \"aN\" para algum número pequeno *N*." #: ../../faq/general.rst:149 +msgid "The suffix for a beta version is \"bN\" for some small number *N*." +msgstr "O sufixo para uma versão beta é \"bN\" para algum número pequeno *N*." + +#: ../../faq/general.rst:150 +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 +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 msgid "" "You may also find version numbers with a \"+\" suffix, e.g. \"2.2+\". These " "are unreleased versions, built directly from the CPython development " @@ -350,7 +376,7 @@ 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:154 +#: ../../faq/general.rst:160 msgid "" "See also the documentation for :data:`sys.version`, :data:`sys.hexversion`, " "and :data:`sys.version_info`." @@ -358,11 +384,11 @@ msgstr "" "Veja também a documentação para :data:`sys.version`, :data:`sys.hexversion`, " "e :data:`sys.version_info`." -#: ../../faq/general.rst:159 +#: ../../faq/general.rst:165 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:161 +#: ../../faq/general.rst:167 msgid "" "The latest Python source distribution is always available from python.org, " "at https://www.python.org/downloads/. The latest development sources can be " @@ -372,7 +398,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:165 +#: ../../faq/general.rst:171 msgid "" "The source distribution is a gzipped tar file containing the complete C " "source, Sphinx-formatted documentation, Python library modules, example " @@ -385,7 +411,7 @@ msgstr "" "distribuível. A fonte compilará e executará sem a necessidade de " "configurações extras na maioria das plataformas UNIX." -#: ../../faq/general.rst:170 +#: ../../faq/general.rst:176 msgid "" "Consult the `Getting Started section of the Python Developer's Guide " "`__ for more information on getting the " @@ -395,11 +421,11 @@ msgstr "" "devguide.python.org/setup/>`__ para obter mais informações sobre como obter " "o código-fonte e compilá-lo." -#: ../../faq/general.rst:176 +#: ../../faq/general.rst:182 msgid "How do I get documentation on Python?" msgstr "Como faço para obter a documentação do Python?" -#: ../../faq/general.rst:180 +#: ../../faq/general.rst:186 msgid "" "The standard documentation for the current stable version of Python is " "available at https://docs.python.org/3/. PDF, plain text, and downloadable " @@ -410,22 +436,23 @@ msgstr "" "HTML para download também estão disponíveis em https://docs.python.org/3/" "download.html." -#: ../../faq/general.rst:184 +#: ../../faq/general.rst:190 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." +"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 " +"de documentação Sphinx `__. Os fonte do " "reStructuredText para documentação fazem parte da distribuição fonte do " "Python." -#: ../../faq/general.rst:190 +#: ../../faq/general.rst:196 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:192 +#: ../../faq/general.rst:198 msgid "" "There are numerous tutorials and books available. The standard " "documentation includes :ref:`tutorial-index`." @@ -433,7 +460,7 @@ msgstr "" "Existem inúmeros tutoriais e livros disponíveis. A documentação padrão " "inclui :ref:`tutorial-index`." -#: ../../faq/general.rst:195 +#: ../../faq/general.rst:201 msgid "" "Consult `the Beginner's Guide `_ to find information for beginning Python programmers, " @@ -443,11 +470,11 @@ msgstr "" "BeginnersGuide>`_ para encontrar informações para quem está começando agora " "na programação Python, incluindo uma lista com tutoriais." -#: ../../faq/general.rst:200 +#: ../../faq/general.rst:206 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:202 +#: ../../faq/general.rst:208 msgid "" "There is a newsgroup, :newsgroup:`comp.lang.python`, and a mailing list, " "`python-list `_. The " @@ -464,7 +491,7 @@ msgstr "" "centenas de postagens todos os dias, e os leitores do Usenet geralmente são " "mais capazes de lidar com esse volume." -#: ../../faq/general.rst:209 +#: ../../faq/general.rst:215 msgid "" "Announcements of new software releases and events can be found in comp.lang." "python.announce, a low-traffic moderated list that receives about five " @@ -477,7 +504,7 @@ msgstr "" "python-announce `_." -#: ../../faq/general.rst:214 +#: ../../faq/general.rst:220 msgid "" "More info about other mailing lists and newsgroups can be found at https://" "www.python.org/community/lists/." @@ -485,11 +512,11 @@ 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:219 +#: ../../faq/general.rst:225 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:221 +#: ../../faq/general.rst:227 msgid "" "Alpha and beta releases are available from https://www.python.org/" "downloads/. All releases are announced on the comp.lang.python and comp." @@ -501,7 +528,7 @@ msgstr "" "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:226 +#: ../../faq/general.rst:232 msgid "" "You can also access the development version of Python through Git. See `The " "Python Developer's Guide `_ for details." @@ -510,11 +537,11 @@ msgstr "" "Git. Veja `O Guia do Desenvolvedor Python `_ " "para detalhes." -#: ../../faq/general.rst:231 +#: ../../faq/general.rst:237 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:233 +#: ../../faq/general.rst:239 msgid "" "To report a bug or submit a patch, please use the Roundup installation at " "https://bugs.python.org/." @@ -522,7 +549,7 @@ msgstr "" "Para reportar um erro ou enviar uma correção, use o Roundup rodando em " "https://bugs.python.org/." -#: ../../faq/general.rst:236 +#: ../../faq/general.rst:242 msgid "" "You must have a Roundup account to report bugs; this makes it possible for " "us to contact you if we have follow-up questions. It will also enable " @@ -539,7 +566,7 @@ msgstr "" "senha do Roundup através do `procedimento para recuperar senha `_." -#: ../../faq/general.rst:242 +#: ../../faq/general.rst:248 msgid "" "For more information on how Python is developed, consult `the Python " "Developer's Guide `_." @@ -547,25 +574,25 @@ msgstr "" "Para mais informações sobre como o Python é desenvolvido, consulte `o Guia " "do Desenvolvedor Python `_." -#: ../../faq/general.rst:247 +#: ../../faq/general.rst:253 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:255 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:257 msgid "" -"The very first article about Python was written in 1991 and is now quite " -"outdated." +"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 o mesmo se " -"encontra bastante desatualizado." +"O `primeiro artigo `_ sobre Python foi escrito " +"em 1991 e atualmente se encontra bastante desatualizado." -#: ../../faq/general.rst:254 +#: ../../faq/general.rst:260 msgid "" "Guido van Rossum and Jelke de Boer, \"Interactively Testing Remote Servers " "Using the Python Programming Language\", CWI Quarterly, Volume 4, Issue 4 " @@ -575,11 +602,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:266 msgid "Are there any books on Python?" msgstr "Existem alguns livros sobre o Python?" -#: ../../faq/general.rst:262 +#: ../../faq/general.rst:268 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." @@ -588,7 +615,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:271 msgid "" "You can also search online bookstores for \"Python\" and filter out the " "Monty Python references; or perhaps search for \"Python\" and \"language\"." @@ -597,25 +624,25 @@ msgstr "" "referências a respeito do Monty Python; ou talvez procure por \"Python\" e " "\"linguagem\"." -#: ../../faq/general.rst:270 +#: ../../faq/general.rst:276 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:278 msgid "" "The Python project's infrastructure is located all over the world and is " -"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:283 msgid "Why is it called Python?" msgstr "Por que o nome Python?" -#: ../../faq/general.rst:279 +#: ../../faq/general.rst:285 msgid "" "When he began implementing Python, Guido van Rossum was also reading the " "published scripts from `\"Monty Python's Flying Circus\" `_. There are two production-ready " @@ -680,18 +707,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 " +"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:322 msgid "How many people are using Python?" msgstr "Quantas pessoas usam o Python?" -#: ../../faq/general.rst:318 +#: ../../faq/general.rst:324 msgid "" "There are probably millions of users, though it's difficult to obtain an " "exact count." @@ -699,7 +726,7 @@ msgstr "" "Provavelmente existem milhões de usuários, embora seja difícil obter uma " "contagem exata." -#: ../../faq/general.rst:321 +#: ../../faq/general.rst:327 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 " @@ -710,7 +737,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:331 msgid "" "The comp.lang.python newsgroup is very active, but not all Python users post " "to the group or even read it." @@ -718,11 +745,11 @@ 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:336 msgid "Have any significant projects been done in Python?" msgstr "Existe algum projeto significativo feito em Python?" -#: ../../faq/general.rst:332 +#: ../../faq/general.rst:338 msgid "" "See https://www.python.org/about/success for a list of projects that use " "Python. Consulting the proceedings for `past Python conferences `_ revelará as contribuições de " "várias empresas e de diferentes organizações." -#: ../../faq/general.rst:337 +#: ../../faq/general.rst:343 msgid "" "High-profile Python projects include `the Mailman mailing list manager " -"`_ and `the Zope application server `_. Several Linux distributions, most notably `Red Hat `_ 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 " +"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:352 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:354 msgid "" "See https://www.python.org/dev/peps/ for the Python Enhancement Proposals " "(PEPs). PEPs are design documents describing a suggested new feature for " @@ -769,7 +796,7 @@ msgstr "" "\"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:360 msgid "" "New development is discussed on `the python-dev mailing list `_." @@ -777,11 +804,11 @@ msgstr "" "Novos desenvolvimentos são discutidos na `lista de discussão python-dev " "`_." -#: ../../faq/general.rst:359 +#: ../../faq/general.rst:365 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:367 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 " @@ -797,7 +824,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:374 msgid "" "Providing a gradual upgrade path is necessary if a feature has to be " "changed. :pep:`5` describes the procedure followed for introducing backward-" @@ -808,16 +835,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:380 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:382 msgid "Yes." msgstr "Sim." -#: ../../faq/general.rst:378 +#: ../../faq/general.rst:384 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 " @@ -841,7 +868,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:394 msgid "" "For a student who has never programmed before, using a statically typed " "language seems unnatural. It presents additional complexity that the " @@ -861,7 +888,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:402 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 " @@ -884,7 +911,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:411 msgid "" "Python's interactive interpreter enables students to test language features " "while they're programming. They can keep a window with the interpreter " @@ -897,7 +924,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:440 msgid "" "With the interpreter, documentation is never far from the student as they " "are programming." @@ -905,26 +932,26 @@ msgstr "" "Com o interpretador, a documentação nunca está longe do aluno quando estão " "programando." -#: ../../faq/general.rst:437 +#: ../../faq/general.rst:443 msgid "" "There are also good IDEs for Python. IDLE is a cross-platform IDE for " -"Python that is written in Python using Tkinter. PythonWin is a Windows-" -"specific IDE. Emacs users will be happy to know that there is a very good " -"Python mode for Emacs. All of these programming environments provide syntax " -"highlighting, auto-indenting, and access to the interactive interpreter " -"while coding. Consult `the Python wiki `_ for a full list of Python editing environments." +"Python that is written in Python using Tkinter. Emacs users will be happy to " +"know that there is a very good Python mode for Emacs. All of these " +"programming environments provide syntax highlighting, auto-indenting, and " +"access to the interactive interpreter while coding. Consult `the Python " +"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. O PythonWin é uma IDE " -"específica para o Windows. 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 +"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:451 msgid "" "If you want to discuss Python's use in education, you may be interested in " "joining `the edu-sig mailing list , YEAR. # # Translators: -# Raphael Mendonça, 2021 -# Claudio Rogerio Carvalho Filho , 2021 -# Italo Penaforte , 2021 -# Rafael Fontenelle , 2021 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.10\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-08-17 13:45+0000\n" -"PO-Revision-Date: 2021-06-28 00:52+0000\n" -"Last-Translator: Rafael Fontenelle , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:57+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../faq/gui.rst:5 msgid "Graphic User Interface FAQ" @@ -48,8 +46,7 @@ msgid "" "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 Mac OS X, Windows, and Unix " -"platforms." +"tk>`_. 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 é " @@ -57,7 +54,7 @@ msgstr "" "das `distribuições binárias `_ do Python) " "e usar. Para obter mais informações sobre o Tk, incluindo ponteiros para a " "fonte, consulte a `página inicial do Tcl/Tk `_. Tcl/Tk é " -"totalmente portátil para as plataformas Mac OS X, Windows e Unix." +"totalmente portátil para as plataformas macOS, Windows e Unix." #: ../../faq/gui.rst:28 msgid "" @@ -106,13 +103,13 @@ msgstr "" msgid "" "To get truly stand-alone applications, the Tcl scripts that form the library " "have to be integrated into the application as well. One tool supporting that " -"is SAM (stand-alone modules), which is part of the Tix distribution (http://" +"is SAM (stand-alone modules), which is part of the Tix distribution (https://" "tix.sourceforge.net/)." msgstr "" "Para obter aplicativos verdadeiramente autônomos, os scripts Tcl que formam " "a biblioteca também precisam ser integrados no aplicativo. Uma ferramenta " "que suporta isso é SAM (módulos autônomos), que faz parte da distribuição " -"Tix (http://tix.sourceforge.net/)." +"Tix (https://tix.sourceforge.net/)." #: ../../faq/gui.rst:54 msgid "" diff --git a/faq/index.po b/faq/index.po index 4d590961e..9ce714a9b 100644 --- a/faq/index.po +++ b/faq/index.po @@ -1,26 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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.10\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-06-29 12:56+0000\n" -"PO-Revision-Date: 2021-06-28 00:52+0000\n" -"Last-Translator: Ruan Aragão , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:57+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../faq/index.rst:5 msgid "Python Frequently Asked Questions" diff --git a/faq/installed.po b/faq/installed.po index 9ecae8b8d..e572444fc 100644 --- a/faq/installed.po +++ b/faq/installed.po @@ -1,29 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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 -# Tiago Henrique , 2021 -# Claudio Rogerio Carvalho Filho , 2021 -# Bruno Leuenroth , 2021 +# python-doc bot, 2025 # #, 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 00:52+0000\n" -"Last-Translator: Bruno Leuenroth , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:57+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../faq/installed.rst:3 msgid "\"Why is Python Installed on my Computer?\" FAQ" @@ -103,11 +101,11 @@ msgstr "" #: ../../faq/installed.rst:32 msgid "" -"Many Unix-compatible operating systems, such as Mac OS X and some Linux " +"Many Unix-compatible operating systems, such as macOS and some Linux " "distributions, have Python installed by default; it's included in the base " "installation." msgstr "" -"Muitos sistemas operacionais derivados do Unix, como Mac OS X e algumas " +"Muitos sistemas operacionais derivados do Unix, como macOS e algumas " "distribuições Linux, possuem o python instalado por padrão; está incluído na " "instalação base." diff --git a/faq/library.po b/faq/library.po index 5c3b0c73f..9122a61f7 100644 --- a/faq/library.po +++ b/faq/library.po @@ -1,32 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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 -# Claudio Rogerio Carvalho Filho , 2021 -# Adson Rodrigues , 2021 -# Alexandre B A Villares, 2021 -# Mariana Costa , 2021 -# Willian C Lopes , 2021 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.10\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-07-27 13:07+0000\n" -"PO-Revision-Date: 2021-06-28 00:52+0000\n" -"Last-Translator: Willian C Lopes , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:57+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../faq/library.rst:5 msgid "Library and Extension FAQ" @@ -61,6 +56,10 @@ msgid "" "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?" @@ -114,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 @@ -139,7 +138,7 @@ msgid "" "interpreter is installed on your platform." msgstr "" "como a primeira linha do seu arquivo, usando o endereço do caminho onde o " -"interpretador Python está instalado. " +"interpretador Python está instalado." #: ../../faq/library.rst:64 msgid "" @@ -150,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 @@ -169,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 "" @@ -189,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 "" @@ -199,20 +205,18 @@ 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:109 -msgid "" -"For Windows: use `the consolelib module `_." -msgstr "" -"Para Windows: use `o módulo consolelib `_." - -#: ../../faq/library.rst:114 +#: ../../faq/library.rst:111 msgid "Is there an equivalent to C's onexit() in Python?" msgstr "Existe a função onexit() equivalente ao C no Python?" -#: ../../faq/library.rst:116 +#: ../../faq/library.rst:113 msgid "" "The :mod:`atexit` module provides a register function that is similar to " "C's :c:func:`onexit`." @@ -220,11 +224,11 @@ msgstr "" "O módulo :mod:`atexit` fornece uma função de registro similar ao :c:func:" "`onexit` do C." -#: ../../faq/library.rst:121 +#: ../../faq/library.rst:118 msgid "Why don't my signal handlers work?" msgstr "Por que o meu manipulador de sinal não funciona?" -#: ../../faq/library.rst:123 +#: ../../faq/library.rst:120 msgid "" "The most common problem is that the signal handler is declared with the " "wrong argument list. It is called as ::" @@ -232,29 +236,29 @@ msgstr "" "O maior problema é que o manipulador de sinal é declarado com uma lista de " "argumentos incorretos. Isso é chamado como ::" -#: ../../faq/library.rst:128 +#: ../../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:135 +#: ../../faq/library.rst:132 msgid "Common tasks" msgstr "Tarefas comuns" -#: ../../faq/library.rst:138 +#: ../../faq/library.rst:135 msgid "How do I test a Python program or component?" msgstr "Como testar um programa ou componente Python?" -#: ../../faq/library.rst:140 +#: ../../faq/library.rst:137 msgid "" "Python comes with two testing frameworks. The :mod:`doctest` module finds " "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." -#: ../../faq/library.rst:144 +#: ../../faq/library.rst:141 msgid "" "The :mod:`unittest` module is a fancier testing framework modelled on Java " "and Smalltalk testing frameworks." @@ -262,7 +266,7 @@ msgstr "" "O módulo :mod:`unittest` é uma estrutura de teste mais sofisticada, modelada " "nas estruturas de teste do Java e do Smalltalk." -#: ../../faq/library.rst:147 +#: ../../faq/library.rst:144 msgid "" "To make testing easier, you should use good modular design in your program. " "Your program should have almost all functionality encapsulated in either " @@ -272,16 +276,23 @@ 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:155 +#: ../../faq/library.rst:152 msgid "The \"global main logic\" of your program may be as simple as ::" msgstr "A lógica principal do seu programa pode tão simples quanto ::" -#: ../../faq/library.rst:160 +#: ../../faq/library.rst:157 msgid "at the bottom of the main module of your program." -msgstr "no botão do módulo principal do seus programa. " +msgstr "no botão do módulo principal do seus programa." -#: ../../faq/library.rst:162 +#: ../../faq/library.rst:159 msgid "" "Once your program is organized as a tractable collection of function and " "class behaviours, you should write test functions that exercise the " @@ -292,14 +303,25 @@ 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:170 +#: ../../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:176 +#: ../../faq/library.rst:173 msgid "" "Even programs that interact with complex external interfaces may be tested " "when the external interfaces are unavailable by using \"fake\" interfaces " @@ -309,58 +331,58 @@ msgstr "" "que interagem com interfaces externas complexas podem ser testados usando as " "interfaces \"falsas\" implementadas no Python." -#: ../../faq/library.rst:182 +#: ../../faq/library.rst:179 msgid "How do I create documentation from doc strings?" -msgstr "Como faço para criar uma documentação de doc strings? " +msgstr "Como faço para criar uma documentação de doc strings?" -#: ../../faq/library.rst:184 +#: ../../faq/library.rst:181 msgid "" "The :mod:`pydoc` module can create HTML from the doc strings in your Python " "source code. An alternative for creating API documentation purely from " -"docstrings is `epydoc `_. `Sphinx `_ can also include docstring content." +"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:191 +#: ../../faq/library.rst:188 msgid "How do I get a single keypress at a time?" msgstr "Como faço para pressionar uma tecla de cada vez?" -#: ../../faq/library.rst:193 +#: ../../faq/library.rst:190 msgid "" "For Unix variants there are several solutions. It's straightforward to do " "this using curses, but curses is a fairly large module to learn." msgstr "" "Para variantes do Unix existem várias soluções. Apesar de ser um módulo " -"grande para aprender, é simples fazer isso usando o módulo curses. " +"grande para aprender, é simples fazer isso usando o módulo curses." -#: ../../faq/library.rst:237 +#: ../../faq/library.rst:234 msgid "Threads" msgstr "Threads" -#: ../../faq/library.rst:240 +#: ../../faq/library.rst:237 msgid "How do I program using threads?" msgstr "Como faço para programar usando threads?" -#: ../../faq/library.rst:242 +#: ../../faq/library.rst:239 msgid "" "Be sure to use the :mod:`threading` module and not the :mod:`_thread` " "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:246 -msgid "" -"Aahz has a set of slides from his threading tutorial that are helpful; see " -"http://www.pythoncraft.com/OSCON2001/." -msgstr "" -"Aahz tem um conjunto de tutoriais threading que são úteis; veja em: http://" -"www.pythoncraft.com/OSCON2001/." - -#: ../../faq/library.rst:251 +#: ../../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:253 +#: ../../faq/library.rst:247 msgid "" "As soon as the main thread exits, all threads are killed. Your main thread " "is running too quickly, giving the threads no time to do any work." @@ -369,7 +391,7 @@ msgstr "" "thread principal está sendo executada tão rápida que não está dando tempo " "para realizar qualquer trabalho." -#: ../../faq/library.rst:256 +#: ../../faq/library.rst:250 msgid "" "A simple fix is to add a sleep to the end of the program that's long enough " "for all the threads to finish::" @@ -377,20 +399,24 @@ msgstr "" "Uma solução simples é adicionar um tempo de espera no final do programa até " "que todos os threads sejam concluídos::" -#: ../../faq/library.rst:271 +#: ../../faq/library.rst:265 msgid "" "But now (on many platforms) the threads don't run in parallel, but appear to " "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:275 +#: ../../faq/library.rst:269 msgid "A simple fix is to add a tiny sleep to the start of the run function::" msgstr "" "Uma solução simples é adicionar um pequeno tempo de espera no início da " "função::" -#: ../../faq/library.rst:288 +#: ../../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:" @@ -398,18 +424,25 @@ msgid "" "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:296 +#: ../../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:298 +#: ../../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:301 +#: ../../faq/library.rst:295 msgid "" "Or, if you want fine control over the dispatching algorithm, you can write " "your own logic manually. Use the :mod:`queue` module to create a queue " @@ -418,28 +451,35 @@ 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:308 +#: ../../faq/library.rst:302 msgid "Here's a trivial example::" msgstr "Aqui está um exemplo simples::" -#: ../../faq/library.rst:346 +#: ../../faq/library.rst:340 msgid "When run, this will produce the following output:" msgstr "Quando executado, isso produzirá a seguinte saída:" -#: ../../faq/library.rst:364 +#: ../../faq/library.rst:358 msgid "" "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:369 +#: ../../faq/library.rst:363 msgid "What kinds of global value mutation are thread-safe?" msgstr "Que tipos de variáveis globais mutáveis são seguras para thread?" -#: ../../faq/library.rst:371 +#: ../../faq/library.rst:365 msgid "" "A :term:`global interpreter lock` (GIL) is used internally to ensure that " "only one thread runs in the Python VM at a time. In general, Python offers " @@ -448,26 +488,39 @@ 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:378 +#: ../../faq/library.rst:372 msgid "" "In theory, this means an exact accounting requires an exact understanding of " "the PVM bytecode implementation. In practice, it means that operations on " "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:383 +#: ../../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:398 +#: ../../faq/library.rst:392 msgid "These aren't::" msgstr "Esses não são::" -#: ../../faq/library.rst:405 +#: ../../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 " @@ -475,19 +528,24 @@ msgid "" "and lists. When in doubt, use a mutex!" msgstr "" -#: ../../faq/library.rst:412 +#: ../../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:416 +#: ../../faq/library.rst:410 msgid "" "The :term:`global interpreter lock` (GIL) is often seen as a hindrance to " "Python's deployment on high-end multiprocessor server machines, because a " "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:421 +#: ../../faq/library.rst:415 msgid "" "Back in the days of Python 1.5, Greg Stein actually implemented a " "comprehensive patch set (the \"free threading\" patches) that removed the " @@ -498,8 +556,16 @@ 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:429 +#: ../../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 " @@ -509,8 +575,15 @@ msgid "" "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:437 +#: ../../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 " @@ -518,8 +591,13 @@ msgid "" "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:443 +#: ../../faq/library.rst:437 msgid "" "It has been suggested that the GIL should be a per-interpreter-state lock " "rather than truly global; interpreters then wouldn't be able to share " @@ -530,16 +608,29 @@ 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:452 +#: ../../faq/library.rst:446 msgid "" "And I doubt that it can even be done in finite time, because the same " "problem exists for 3rd party extensions. It is likely that 3rd party " "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:457 +#: ../../faq/library.rst:451 msgid "" "And finally, once you have multiple interpreters not sharing any state, what " "have you gained over running each interpreter in a separate process?" @@ -548,25 +639,25 @@ msgstr "" "compartilham seu estado, o que você ganhou ao executar processos separados " "em cada interpretador?" -#: ../../faq/library.rst:462 +#: ../../faq/library.rst:456 msgid "Input and Output" msgstr "Entrada e Saída" -#: ../../faq/library.rst:465 +#: ../../faq/library.rst:459 msgid "How do I delete a file? (And other file questions...)" msgstr "Como faço para excluir um arquivo? (E outras perguntas sobre arquivos)" -#: ../../faq/library.rst:467 +#: ../../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." 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." -#: ../../faq/library.rst:471 +#: ../../faq/library.rst:465 msgid "" "To remove a directory, use :func:`os.rmdir`; use :func:`os.mkdir` to create " "one. ``os.makedirs(path)`` will create any intermediate directories in " @@ -574,35 +665,61 @@ 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:477 +#: ../../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:479 +#: ../../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)." 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:484 +#: ../../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`." 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:490 +#: ../../faq/library.rst:484 msgid "How do I copy a file?" msgstr "Como eu copio um arquivo?" -#: ../../faq/library.rst:492 +#: ../../faq/library.rst:486 msgid "" -"The :mod:`shutil` module contains a :func:`~shutil.copyfile` function. Note " -"that on MacOS 9 it doesn't copy the resource fork and Finder info." +"The :mod:`shutil` module contains a :func:`~shutil.copyfile` function. Note " +"that on Windows NTFS volumes, it does not copy `alternate data streams " +"`_ nor " +"`resource forks `__ on macOS " +"HFS+ volumes, though both are now rarely used. It also doesn't copy file " +"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?" @@ -614,12 +731,17 @@ msgid "" "`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 "" @@ -627,12 +749,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 "" @@ -641,11 +768,14 @@ 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?" -msgstr "" -"Porque não consigo usar os os.read() em um encadeamento com os.popen(); " +msgstr "Por que não consigo usar os.read() em um encadeamento com os.popen()?" #: ../../faq/library.rst:531 msgid "" @@ -655,18 +785,23 @@ msgid "" "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?" msgstr "Como acesso a porta serial (RS232)?" #: ../../faq/library.rst:620 -msgid "For Win32, POSIX (Linux, BSD, etc.), Jython:" -msgstr "Para Win32, POSIX (Linux, BSD, etc.), Jython:" +msgid "For Win32, OSX, Linux, BSD, Jython, IronPython:" +msgstr "Para Win32, OSX, Linux, BSD, Jython, IronPython:" #: ../../faq/library.rst:622 -msgid "http://pyserial.sourceforge.net" -msgstr "http://pyserial.sourceforge.net" +msgid "https://pypi.org/project/pyserial/" +msgstr "" #: ../../faq/library.rst:624 msgid "For Unix, see a Usenet post by Mitch Chapman:" @@ -685,6 +820,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 "" @@ -694,6 +831,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 "" @@ -702,6 +844,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 "" @@ -709,10 +855,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" @@ -720,7 +870,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 "" @@ -728,6 +878,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 "" @@ -740,7 +893,8 @@ msgstr "" #: ../../faq/library.rst:672 msgid "" "Cameron Laird maintains a useful set of pages about Python web technologies " -"at 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 @@ -768,7 +922,7 @@ msgstr "" #: ../../faq/library.rst:705 msgid ":ref:`urllib-howto` for extensive examples." -msgstr ":ref:`urllib-howto` para mais exemplos. " +msgstr ":ref:`urllib-howto` para mais exemplos." #: ../../faq/library.rst:709 msgid "What module should I use to help with generating HTML?" @@ -779,8 +933,8 @@ msgid "" "You can find a collection of useful links on the `Web Programming wiki page " "`_." msgstr "" -"Você pode encontrar uma coleção de links úteis na página wiki de programação " -"da Web `_." +"Você pode encontrar uma coleção de links úteis na `página wiki " +"WebProgramming `_." #: ../../faq/library.rst:718 msgid "How do I send mail from a Python script?" @@ -805,10 +959,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 "" @@ -864,6 +1022,10 @@ msgid "" "`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 msgid "" @@ -872,8 +1034,8 @@ msgid "" "DatabaseProgramming>`_ for details." msgstr "" "Suporte para a maioria dos bancos de dados relacionais está disponível. Para " -"mais detalhes, veja a página wiki de programação de banco de dados em " -"https://wiki.python.org/moin/DatabaseProgramming>` " +"mais detalhes, veja a `página wiki DatabaseProgramming `_ para detalhes." #: ../../faq/library.rst:806 msgid "How do you implement persistent objects in Python?" @@ -886,6 +1048,11 @@ msgid "" "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 msgid "Mathematics and Numerics" @@ -925,19 +1092,24 @@ msgstr "``uniform(a, b)`` escolhe um número float no intervalo [a, b)." 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 msgid "Some higher-level functions operate on sequences directly, such as:" msgstr "" -"Algumas funções de nível elevado operam diretamente em sequencia, como: " +"Algumas funções de nível elevado operam diretamente em sequencia, como:" #: ../../faq/library.rst:836 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 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 msgid "" diff --git a/faq/programming.po b/faq/programming.po index 92b211d30..4d6857a9f 100644 --- a/faq/programming.po +++ b/faq/programming.po @@ -1,37 +1,31 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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 -# Marco Rougeth , 2021 -# Claudio Rogerio Carvalho Filho , 2021 -# Aline Balogh , 2021 -# Augusta Carla Klug , 2021 -# Adorilson Bezerra , 2021 -# Leonardo Mendes, 2021 -# Rafael Fontenelle , 2021 +# python-doc bot, 2025 # #, 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 00:52+0000\n" -"Last-Translator: Rafael Fontenelle , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:57+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"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" @@ -39,17 +33,17 @@ 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:57 +#: ../../faq/programming.rst:17 ../../faq/programming.rst:58 msgid "Yes." msgstr "Sim." @@ -59,7 +53,7 @@ msgid "" "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." +"func:`breakpoint` permite que você caia em qualquer um desses pontos." #: ../../faq/programming.rst:22 msgid "" @@ -68,23 +62,24 @@ 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 "" "The IDLE interactive development environment, which is part of the standard " -"Python distribution (normally available as Tools/scripts/idle), includes a " +"Python distribution (normally available as `Tools/scripts/idle3 `_), includes a " "graphical debugger." msgstr "" -"O Ambiente de Desenvolvimento Interativo IDLE, que faz parte da distribuição " -"padrão do Python (normalmente disponível em Tools/scripts/idle), inclui um " -"depurador gráfico." +"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:31 +#: ../../faq/programming.rst:32 msgid "" "PythonWin is a Python IDE that includes a GUI debugger based on pdb. The " "PythonWin debugger colors breakpoints and has quite a few cool features such " @@ -93,22 +88,22 @@ 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:38 +#: ../../faq/programming.rst:39 msgid "" -"`Eric `_ is an IDE built on PyQt and " +"`Eric `_ is an IDE built on PyQt and " "the Scintilla editing component." msgstr "" -"O `Eric `_ é uma IDE construída com o " -"PyQt e fazendo uso do componente de edição Scintilla." +"`Eric `_ é uma IDE construída com " +"PyQt e o componente de edição Scintilla." -#: ../../faq/programming.rst:41 +#: ../../faq/programming.rst:42 msgid "" "`trepan3k `_ is a gdb-like " "debugger." @@ -116,50 +111,51 @@ msgstr "" "`trepan3k `_ é um depurador " "similar ao gdb." -#: ../../faq/programming.rst:43 +#: ../../faq/programming.rst:44 msgid "" "`Visual Studio Code `_ is an IDE with " "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:46 +#: ../../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:49 +#: ../../faq/programming.rst:50 msgid "`Wing IDE `_" msgstr "`Wing IDE `_" -#: ../../faq/programming.rst:50 +#: ../../faq/programming.rst:51 msgid "`Komodo IDE `_" msgstr "`Komodo IDE `_" -#: ../../faq/programming.rst:51 +#: ../../faq/programming.rst:52 msgid "`PyCharm `_" msgstr "`PyCharm `_" -#: ../../faq/programming.rst:55 +#: ../../faq/programming.rst:56 msgid "Are there tools to help find bugs or perform static analysis?" msgstr "" "Existem ferramentas para ajudar a encontrar bugs ou fazer análise estática " "de desempenho?" -#: ../../faq/programming.rst:59 +#: ../../faq/programming.rst:60 msgid "" -"`Pylint `_ and `Pyflakes `_ do basic checking that will help you catch bugs sooner." +"`Pylint `_ and `Pyflakes " +"`_ do basic checking that will help you " +"catch bugs sooner." msgstr "" -"`Pylint `_ e `Pyflakes `_ fazem análises básicas que irão ajudar você a capturar os bugs " -"rapidamente." +"`Pylint `_ e `Pyflakes " +"`_ fazem verificações básicas que te " +"ajudarão a encontrar erros mais cedo." -#: ../../faq/programming.rst:63 +#: ../../faq/programming.rst:64 msgid "" "Static type checkers such as `Mypy `_, `Pyre `_, and `Pytype `_ can " @@ -169,11 +165,11 @@ msgstr "" "`_, e `Pytype `_ " "podem verificar as dicas de tipo no código-fonte Python." -#: ../../faq/programming.rst:72 +#: ../../faq/programming.rst:73 msgid "How can I create a stand-alone binary from a Python script?" msgstr "Como posso criar um binário independente a partir de um script Python?" -#: ../../faq/programming.rst:74 +#: ../../faq/programming.rst:75 msgid "" "You don't need the ability to compile Python to C code if all you want is a " "stand-alone program that users can download and run without having to " @@ -185,23 +181,24 @@ 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:80 +#: ../../faq/programming.rst:81 msgid "" "One is to use the freeze tool, which is included in the Python source tree " -"as ``Tools/freeze``. It converts Python byte code to C arrays; a C compiler " -"you can embed all your modules into a new program, which is then linked with " -"the standard Python modules." +"as `Tools/freeze `_. It converts Python byte code to C arrays; with a C compiler you " +"can embed all your modules into a new program, which is then linked with the " +"standard Python modules." msgstr "" -"Um deles é usar a ferramenta de freeze, que está inclusa na árvore de origem " -"do Python como ``Tools/freeze``. A mesma converte o código bytecode do " -"Python em matrizes C; com um compilador C poderás incorporar todos os " -"módulos em um novo programa, que será então vinculado aos módulos padrão do " -"Python." +"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:85 +#: ../../faq/programming.rst:87 msgid "" "It works by scanning your source recursively for import statements (in both " "forms) and looking for the modules in the standard Python path as well as in " @@ -213,17 +210,18 @@ 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:94 +#: ../../faq/programming.rst:96 msgid "" "The following packages can help with the creation of console and GUI " "executables:" @@ -231,82 +229,82 @@ msgstr "" "Os pacotes a seguir podem ajudar com a criação dos executáveis do console e " "da GUI:" -#: ../../faq/programming.rst:97 +#: ../../faq/programming.rst:99 msgid "`Nuitka `_ (Cross-platform)" msgstr "`Nuitka `_ (Multiplataforma)" -#: ../../faq/programming.rst:98 -msgid "`PyInstaller `_ (Cross-platform)" -msgstr "`PyInstaller `_ (Multiplataforma)" +#: ../../faq/programming.rst:100 +msgid "`PyInstaller `_ (Cross-platform)" +msgstr "`PyInstaller `_ (Multiplataforma)" -#: ../../faq/programming.rst:99 +#: ../../faq/programming.rst:101 msgid "" "`PyOxidizer `_ (Cross-platform)" msgstr "" "`PyOxidizer `_ " "(Multiplataforma)" -#: ../../faq/programming.rst:100 +#: ../../faq/programming.rst:102 msgid "" "`cx_Freeze `_ (Cross-platform)" msgstr "" "`cx_Freeze `_ (Multiplataforma)" -#: ../../faq/programming.rst:101 +#: ../../faq/programming.rst:103 msgid "`py2app `_ (macOS only)" msgstr "`py2app `_ (somente macOS)" -#: ../../faq/programming.rst:102 -msgid "`py2exe `_ (Windows only)" -msgstr "`py2exe `_ (somente Windows)" +#: ../../faq/programming.rst:104 +msgid "`py2exe `_ (Windows only)" +msgstr "`py2exe `_ (somente Windows)" -#: ../../faq/programming.rst:105 +#: ../../faq/programming.rst:107 msgid "Are there coding standards or a style guide for Python programs?" msgstr "" "Existem padrões para a codificação ou um guia de estilo utilizado pela " "comunidade Python?" -#: ../../faq/programming.rst:107 +#: ../../faq/programming.rst:109 msgid "" "Yes. The coding style required for standard library modules is documented " "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:112 +#: ../../faq/programming.rst:114 msgid "Core Language" -msgstr "Núcleo da Linguagem" +msgstr "Núcleo da linguagem" -#: ../../faq/programming.rst:115 +#: ../../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:117 +#: ../../faq/programming.rst:121 msgid "" -"It can be a surprise to get the UnboundLocalError in previously working code " -"when it is modified by adding an assignment statement somewhere in the body " -"of a function." +"It can be a surprise to get the :exc:`UnboundLocalError` in previously " +"working code when it is modified by adding an assignment statement somewhere " +"in the body of a function." msgstr "" -"Talvez você se surpreenda ao receber UnboundLocalError num código que " -"anteriormente funcionava quando este for modificado e adicionando uma " -"declaração de atribuição em algum lugar no corpo de uma função." +"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:121 +#: ../../faq/programming.rst:125 msgid "This code:" msgstr "Este código:" -#: ../../faq/programming.rst:129 +#: ../../faq/programming.rst:134 msgid "works, but this code:" msgstr "funciona, mas este código:" -#: ../../faq/programming.rst:136 -msgid "results in an UnboundLocalError:" -msgstr "resultará em um UnboundLocalError:" +#: ../../faq/programming.rst:141 +msgid "results in an :exc:`!UnboundLocalError`:" +msgstr "resulta em uma :exc:`!UnboundLocalError`:" -#: ../../faq/programming.rst:143 +#: ../../faq/programming.rst:148 msgid "" "This is because when you make an assignment to a variable in a scope, that " "variable becomes local to that scope and shadows any similarly named " @@ -315,45 +313,44 @@ 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:150 +#: ../../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:161 +#: ../../faq/programming.rst:167 msgid "" "This explicit declaration is required in order to remind you that (unlike " "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:168 +#: ../../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:185 +#: ../../faq/programming.rst:192 msgid "What are the rules for local and global variables in Python?" msgstr "Quais são as regras para variáveis locais e globais em Python?" -#: ../../faq/programming.rst:187 +#: ../../faq/programming.rst:194 msgid "" "In Python, variables that are only referenced inside a function are " "implicitly global. If a variable is assigned a value anywhere within the " @@ -362,10 +359,10 @@ 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:191 +#: ../../faq/programming.rst:198 msgid "" "Though a bit surprising at first, a moment's consideration explains this. " "On one hand, requiring :keyword:`global` for assigned variables provides a " @@ -384,35 +381,35 @@ msgstr "" "importado. Essa desordem anularia a utilidade da declaração de ``global`` " "para identificar efeitos colaterais." -#: ../../faq/programming.rst:201 +#: ../../faq/programming.rst:208 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:203 +#: ../../faq/programming.rst:210 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:210 +#: ../../faq/programming.rst:217 msgid "" "This gives you a list that contains 5 lambdas that calculate ``x**2``. You " "might expect that, when called, they would return, respectively, ``0``, " "``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:220 +#: ../../faq/programming.rst:227 msgid "" "This happens because ``x`` is not local to the lambdas, but is defined in " "the outer scope, and it is accessed when the lambda is called --- not when " @@ -420,22 +417,22 @@ 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:230 +#: ../../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:237 +#: ../../faq/programming.rst:244 msgid "" "Here, ``n=x`` creates a new variable ``n`` local to the lambda and computed " "when the lambda is defined so that it has the same value that ``x`` had at " @@ -443,14 +440,14 @@ 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::" -#: ../../faq/programming.rst:248 +#: ../../faq/programming.rst:255 msgid "" "Note that this behaviour is not peculiar to lambdas, but applies to regular " "functions too." @@ -458,11 +455,11 @@ msgstr "" "Observe que esse comportamento não é peculiar dos lambdas, o mesmo também " "ocorre com as funções regulares." -#: ../../faq/programming.rst:253 +#: ../../faq/programming.rst:260 msgid "How do I share global variables across modules?" msgstr "Como definir variáveis globais dentro de módulos?" -#: ../../faq/programming.rst:255 +#: ../../faq/programming.rst:262 msgid "" "The canonical way to share information across modules within a single " "program is to create a special module (often called config or cfg). Just " @@ -474,47 +471,47 @@ 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:" -#: ../../faq/programming.rst:261 +#: ../../faq/programming.rst:268 msgid "config.py::" msgstr "config.py::" -#: ../../faq/programming.rst:265 +#: ../../faq/programming.rst:272 msgid "mod.py::" msgstr "mod.py::" -#: ../../faq/programming.rst:270 +#: ../../faq/programming.rst:277 msgid "main.py::" msgstr "main.py::" -#: ../../faq/programming.rst:276 +#: ../../faq/programming.rst:283 msgid "" -"Note that using a module is also the basis for implementing the Singleton " +"Note that using a module is also the basis for implementing the singleton " "design pattern, for the same reason." msgstr "" -"Observe o uso de um único módulo também é, por definição, a implementação do " -"Design Patterns Singleton!" +"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:281 +#: ../../faq/programming.rst:288 msgid "What are the \"best practices\" for using import in a module?" msgstr "" "Quais são as \"melhores práticas\" quando fazemos uso da importação de " "módulos?" -#: ../../faq/programming.rst:283 +#: ../../faq/programming.rst:290 msgid "" "In general, don't use ``from modulename import *``. Doing so clutters the " "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:287 +#: ../../faq/programming.rst:294 msgid "" "Import modules at the top of a file. Doing so makes it clear what other " "modules your code requires and avoids questions of whether the module name " @@ -522,35 +519,37 @@ 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." -#: ../../faq/programming.rst:292 +#: ../../faq/programming.rst:299 msgid "It's good practice if you import modules in the following order:" msgstr "É uma boa prática importar os módulos na seguinte ordem:" -#: ../../faq/programming.rst:294 -msgid "standard library modules -- e.g. ``sys``, ``os``, ``getopt``, ``re``" +#: ../../faq/programming.rst:301 +msgid "" +"standard library modules -- e.g. :mod:`sys`, :mod:`os`, :mod:`argparse`, :" +"mod:`re`" msgstr "" -"módulos de biblioteca padrão, por exemplo: ``sys``, ``os``, ``getopt``, " -"``re``" +"módulos da biblioteca padrão -- por exemplo: :mod:`sys`, :mod:`os`, :mod:" +"`argparse` e :mod:`re`" -#: ../../faq/programming.rst:295 +#: ../../faq/programming.rst:302 msgid "" "third-party library modules (anything installed in Python's site-packages " -"directory) -- e.g. mx.DateTime, ZODB, PIL.Image, etc." +"directory) -- e.g. :mod:`!dateutil`, :mod:`!requests`, :mod:`!PIL.Image`" msgstr "" -"módulos e biblioteca de terceiros (qualquer instalação feita contida no " -"repositório de códigos na pasta site-packages) - por exemplo mx.DateTime, " -"ZODB, PIL.Image, etc." +"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:297 -msgid "locally-developed modules" +#: ../../faq/programming.rst:304 +msgid "locally developed modules" msgstr "módulos desenvolvidos localmente" -#: ../../faq/programming.rst:299 +#: ../../faq/programming.rst:306 msgid "" "It is sometimes necessary to move imports to a function or class to avoid " "problems with circular imports. Gordon McMillan says:" @@ -558,7 +557,7 @@ msgstr "" "Às vezes, é necessário transferir as importações para uma função ou classe " "para evitar problemas com importação circular. Gordon McMillan diz:" -#: ../../faq/programming.rst:302 +#: ../../faq/programming.rst:309 msgid "" "Circular imports are fine where both modules use the \"import \" " "form of import. They fail when the 2nd module wants to grab a name out of " @@ -566,13 +565,13 @@ 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:308 +#: ../../faq/programming.rst:315 msgid "" "In this case, if the second module is only used in one function, then the " "import can easily be moved into that function. By the time the import is " @@ -585,7 +584,7 @@ msgstr "" "inicialização e o segundo módulo poderá ser importado sem maiores " "complicações." -#: ../../faq/programming.rst:313 +#: ../../faq/programming.rst:320 msgid "" "It may also be necessary to move imports out of the top level of code if " "some of the modules are platform-specific. In that case, it may not even be " @@ -600,7 +599,7 @@ msgstr "" "importar os módulos que são específicos de cada plataforma antes de " "necessitar utilizar os mesmos." -#: ../../faq/programming.rst:318 +#: ../../faq/programming.rst:325 msgid "" "Only move imports into a local scope, such as inside a function definition, " "if it's necessary to solve a problem such as avoiding a circular import or " @@ -614,23 +613,23 @@ 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:331 +#: ../../faq/programming.rst:338 msgid "Why are default values shared between objects?" msgstr "Por que os valores padrão são compartilhados entre objetos?" -#: ../../faq/programming.rst:333 +#: ../../faq/programming.rst:340 msgid "" "This type of bug commonly bites neophyte programmers. Consider this " "function::" @@ -638,18 +637,18 @@ msgstr "" "Este tipo de erro geralmente pega programadores neófitos. Considere esta " "função::" -#: ../../faq/programming.rst:340 +#: ../../faq/programming.rst:347 msgid "" "The first time you call this function, ``mydict`` contains a single item. " "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:344 +#: ../../faq/programming.rst:351 msgid "" "It is often expected that a function call creates new objects for default " "values. This is not what happens. Default values are created exactly once, " @@ -657,13 +656,13 @@ 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:349 +#: ../../faq/programming.rst:356 msgid "" "By definition, immutable objects such as numbers, strings, tuples, and " "``None``, are safe from change. Changes to mutable objects such as " @@ -674,7 +673,7 @@ msgstr "" "mutáveis, como dicionários, listas e instâncias de classe, podem levar à " "confusão." -#: ../../faq/programming.rst:353 +#: ../../faq/programming.rst:360 msgid "" "Because of this feature, it is good programming practice to not use mutable " "objects as default values. Instead, use ``None`` as the default value and " @@ -684,14 +683,14 @@ 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:361 +#: ../../faq/programming.rst:368 msgid "but::" msgstr "mas::" -#: ../../faq/programming.rst:367 +#: ../../faq/programming.rst:374 msgid "" "This feature can be useful. When you have a function that's time-consuming " "to compute, a common technique is to cache the parameters and the resulting " @@ -699,28 +698,28 @@ 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::" -#: ../../faq/programming.rst:382 +#: ../../faq/programming.rst:389 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:387 +#: ../../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:389 +#: ../../faq/programming.rst:396 msgid "" "Collect the arguments using the ``*`` and ``**`` specifiers in the " "function's parameter list; this gives you the positional arguments as a " @@ -733,25 +732,26 @@ msgstr "" "também, passar esses argumentos ao invocar outra função usando ``*`` e " "``**``::" -#: ../../faq/programming.rst:408 +#: ../../faq/programming.rst:415 msgid "What is the difference between arguments and parameters?" msgstr "Qual a diferença entre argumentos e parâmetros?" -#: ../../faq/programming.rst:410 +#: ../../faq/programming.rst:417 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 types " -"of arguments a function can accept. For example, given the function " -"definition::" +"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 tipos de argumentos que uma " -"função pode receber. Por exemplo, dada a definição da função::" +"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:418 +#: ../../faq/programming.rst:426 msgid "" "*foo*, *bar* and *kwargs* are parameters of ``func``. However, when calling " "``func``, for example::" @@ -759,50 +759,50 @@ msgstr "" "*foo*, *bar* e *kwargs* são parâmetros de ``func``. Dessa forma, ao invocar " "``func``, por exemplo::" -#: ../../faq/programming.rst:423 +#: ../../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:427 +#: ../../faq/programming.rst:435 msgid "Why did changing list 'y' also change list 'x'?" msgstr "Por que ao alterar a lista 'y' também altera a lista 'x'?" -#: ../../faq/programming.rst:429 +#: ../../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:439 +#: ../../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:441 +#: ../../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:443 +#: ../../faq/programming.rst:451 msgid "" "Variables are simply names that refer to objects. Doing ``y = x`` doesn't " "create a copy of the list -- it creates a new variable ``y`` that refers to " "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:447 +#: ../../faq/programming.rst:455 msgid "" "Lists are :term:`mutable`, which means that you can change their content." msgstr "" "Listas são objetos :term:`mutáveis `, o que significa que você pode " "alterar o seu conteúdo." -#: ../../faq/programming.rst:449 +#: ../../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 " @@ -812,11 +812,11 @@ msgstr "" "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:453 +#: ../../faq/programming.rst:461 msgid "If we instead assign an immutable object to ``x``::" msgstr "Se por acaso, atribuímos um objeto imutável a ``x``::" -#: ../../faq/programming.rst:463 +#: ../../faq/programming.rst:471 msgid "" "we can see that in this case ``x`` and ``y`` are not equal anymore. This is " "because integers are :term:`immutable`, and when we do ``x = x + 1`` we are " @@ -826,37 +826,37 @@ 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:471 +#: ../../faq/programming.rst:479 msgid "" "Some operations (for example ``y.append(10)`` and ``y.sort()``) mutate the " "object, whereas superficially similar operations (for example ``y = y + " -"[10]`` and ``sorted(y)``) create a new object. In general in Python (and in " -"all cases in the standard library) a method that mutates an object will " -"return ``None`` to help avoid getting the two types of operations confused. " -"So if you mistakenly write ``y.sort()`` thinking it 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." +"[10]`` and :func:`sorted(y) `) create a new object. In general in " +"Python (and in all cases in the standard library) a method that mutates an " +"object will return ``None`` to help avoid getting the two types of " +"operations confused. So if you mistakenly write ``y.sort()`` thinking it " +"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 ``sorted(y)``) cria um novo objeto. Em geral em Python (e em " -"todos os casos na biblioteca padrão) um método que transforma 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." +"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:480 +#: ../../faq/programming.rst:488 msgid "" "However, there is one class of operations where the same operation sometimes " "has different behaviors with different types: the augmented assignment " @@ -868,25 +868,25 @@ 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:487 +#: ../../faq/programming.rst:495 msgid "In other words:" msgstr "Em outras palavras:" -#: ../../faq/programming.rst:489 +#: ../../faq/programming.rst:497 msgid "" "If we have a mutable object (:class:`list`, :class:`dict`, :class:`set`, " "etc.), we can use some specific operations to mutate it and all the " "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:492 +#: ../../faq/programming.rst:500 msgid "" "If we have an immutable object (:class:`str`, :class:`int`, :class:`tuple`, " "etc.), all the variables that refer to it will always see the same value, " @@ -894,24 +894,24 @@ msgid "" "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." +"`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:497 +#: ../../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:502 +#: ../../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:504 +#: ../../faq/programming.rst:512 msgid "" "Remember that arguments are passed by assignment in Python. Since " "assignment just creates references to objects, there's no alias between an " @@ -919,92 +919,92 @@ 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:509 +#: ../../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:520 +#: ../../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:522 +#: ../../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:524 +#: ../../faq/programming.rst:532 msgid "By passing a mutable (changeable in-place) object::" msgstr "" "Pela passagem de um objeto mutável (que possa ser alterado internamente)::" -#: ../../faq/programming.rst:535 +#: ../../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:546 +#: ../../faq/programming.rst:554 msgid "Or bundle up values in a class instance::" msgstr "Ou agrupando valores numa instância de classe::" -#: ../../faq/programming.rst:563 +#: ../../faq/programming.rst:571 msgid "There's almost never a good reason to get this complicated." msgstr "Quase nunca existe uma boa razão para complicar isso." -#: ../../faq/programming.rst:565 +#: ../../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:569 +#: ../../faq/programming.rst:577 msgid "How do you make a higher order function in Python?" msgstr "Como fazer uma função de ordem superior em Python?" -#: ../../faq/programming.rst:571 +#: ../../faq/programming.rst:579 msgid "" "You have two choices: you can use nested scopes or you can use callable " "objects. For example, suppose you wanted to define ``linear(a,b)`` which " "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:580 +#: ../../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:590 +#: ../../faq/programming.rst:598 msgid "In both cases, ::" msgstr "Em ambos os casos::" -#: ../../faq/programming.rst:594 +#: ../../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:596 +#: ../../faq/programming.rst:604 msgid "" "The callable object approach has the disadvantage that it is a bit slower " "and results in slightly longer code. However, note that a collection of " "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:605 +#: ../../faq/programming.rst:613 msgid "Object can encapsulate state for several methods::" msgstr "Objetos podem encapsular o estado para vários métodos::" -#: ../../faq/programming.rst:623 +#: ../../faq/programming.rst:631 msgid "" "Here ``inc()``, ``dec()`` and ``reset()`` act like functions which share the " "same counting variable." @@ -1012,11 +1012,11 @@ msgstr "" "Aqui ``inc()``, ``dec()`` e ``reset()`` funcionam como funções que " "compartilham a mesma variável contadora." -#: ../../faq/programming.rst:628 +#: ../../faq/programming.rst:636 msgid "How do I copy an object in Python?" msgstr "Como faço para copiar um objeto no Python?" -#: ../../faq/programming.rst:630 +#: ../../faq/programming.rst:638 msgid "" "In general, try :func:`copy.copy` or :func:`copy.deepcopy` for the general " "case. Not all objects can be copied, but most can." @@ -1025,7 +1025,7 @@ msgstr "" "`copy.deepcopy` para casos gerais. Nem todos os objetos podem ser copiados, " "mas a maioria poderá." -#: ../../faq/programming.rst:633 +#: ../../faq/programming.rst:641 msgid "" "Some objects can be copied more easily. Dictionaries have a :meth:`~dict." "copy` method::" @@ -1033,29 +1033,29 @@ msgstr "" "Alguns objetos podem ser copiados com mais facilidade. Os dicionários têm um " "método :meth:`~dict.copy`::" -#: ../../faq/programming.rst:638 +#: ../../faq/programming.rst:646 msgid "Sequences can be copied by slicing::" msgstr "As sequências podem ser copiadas através do uso de fatiamento::" -#: ../../faq/programming.rst:644 +#: ../../faq/programming.rst:652 msgid "How can I find the methods or attributes of an object?" msgstr "Como posso encontrar os métodos ou atributos de um objeto?" -#: ../../faq/programming.rst:646 +#: ../../faq/programming.rst:654 msgid "" -"For an instance x of a user-defined class, ``dir(x)`` returns an " -"alphabetized list of the names containing the instance attributes and " +"For an instance ``x`` of a user-defined class, :func:`dir(x) ` returns " +"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, ``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." +"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:652 +#: ../../faq/programming.rst:660 msgid "How can my code discover the name of an object?" msgstr "Como que o meu código pode descobrir o nome de um objeto?" -#: ../../faq/programming.rst:654 +#: ../../faq/programming.rst:662 msgid "" "Generally speaking, it can't, because objects don't really have names. " "Essentially, assignment always binds a name to a value; the same is true of " @@ -1067,19 +1067,21 @@ msgstr "" "verdade para as instruções ``def`` e ``class``, mas nesse caso o valor é um " "chamável. Considere o seguinte código::" -#: ../../faq/programming.rst:670 +#: ../../faq/programming.rst:678 msgid "" "Arguably the class has a name: even though it is bound to two names and " -"invoked through the name B the created instance is still reported as an " -"instance of class A. However, it is impossible to say whether the " -"instance's name is a or b, since both names are bound to the same value." +"invoked through the name ``B`` the created instance is still reported as an " +"instance of class ``A``. However, it is impossible to say whether the " +"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." +"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:675 +#: ../../faq/programming.rst:683 msgid "" "Generally speaking it should not be necessary for your code to \"know the " "names\" of particular values. Unless you are deliberately writing " @@ -1087,11 +1089,11 @@ 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." -#: ../../faq/programming.rst:680 +#: ../../faq/programming.rst:688 msgid "" "In comp.lang.python, Fredrik Lundh once gave an excellent analogy in answer " "to this question:" @@ -1099,7 +1101,7 @@ msgstr "" "Em comp.lang.python, Fredrik Lundh deu uma excelente analogia em resposta a " "esta pergunta:" -#: ../../faq/programming.rst:683 +#: ../../faq/programming.rst:691 msgid "" "The same way as you get the name of that cat you found on your porch: the " "cat (object) itself cannot tell you its name, and it doesn't really care -- " @@ -1108,27 +1110,27 @@ 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)..." -#: ../../faq/programming.rst:688 +#: ../../faq/programming.rst:696 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:693 +#: ../../faq/programming.rst:701 msgid "What's up with the comma operator's precedence?" msgstr "O que há com a precedência do operador vírgula?" -#: ../../faq/programming.rst:695 +#: ../../faq/programming.rst:703 msgid "Comma is not an operator in Python. Consider this session::" msgstr "A vírgula não é um operador em Python. Considere este código::" -#: ../../faq/programming.rst:700 +#: ../../faq/programming.rst:708 msgid "" "Since the comma is not an operator, but a separator between expressions the " "above is evaluated as if you had entered::" @@ -1136,11 +1138,11 @@ msgstr "" "Uma vez que a vírgula não seja um operador, mas um separador entre as " "expressões acima, o código será avaliado como se tivéssemos entrado::" -#: ../../faq/programming.rst:705 +#: ../../faq/programming.rst:713 msgid "not::" msgstr "não::" -#: ../../faq/programming.rst:709 +#: ../../faq/programming.rst:717 msgid "" "The same is true of the various assignment operators (``=``, ``+=`` etc). " "They are not truly operators but syntactic delimiters in assignment " @@ -1150,69 +1152,72 @@ msgstr "" "etc). Eles não são operadores de verdade mas delimitadores sintáticos em " "instruções de atribuição." -#: ../../faq/programming.rst:714 +#: ../../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:716 +#: ../../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:723 +#: ../../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:728 +#: ../../faq/programming.rst:736 msgid "" "However, this idiom is unsafe, as it can give wrong results when *on_true* " "has a false boolean value. Therefore, it is always better to use the ``... " "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:734 +#: ../../faq/programming.rst:742 msgid "Is it possible to write obfuscated one-liners in Python?" msgstr "É possível escrever instruções de uma só linha ofuscadas em Python?" -#: ../../faq/programming.rst:736 +#: ../../faq/programming.rst:744 msgid "" "Yes. Usually this is done by nesting :keyword:`lambda` within :keyword:`!" -"lambda`. See the following three examples, due to Ulf Bartelt::" +"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, devido a Ulf Bartelt::" +"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:763 +#: ../../faq/programming.rst:771 msgid "Don't try this at home, kids!" msgstr "Não tente isso em casa, crianças!" -#: ../../faq/programming.rst:769 +#: ../../faq/programming.rst:777 msgid "What does the slash(/) in the parameter list of a function mean?" msgstr "O que a barra(/) na lista de parâmetros de uma função significa?" -#: ../../faq/programming.rst:771 +#: ../../faq/programming.rst:779 msgid "" "A slash in the argument list of a function denotes that the parameters prior " "to it are positional-only. Positional-only parameters are the ones without " -"an externally-usable name. Upon calling a function that accepts positional-" +"an externally usable name. Upon calling a function that accepts positional-" "only parameters, arguments are mapped to parameters based solely on their " "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 são somente-posicionais. Parâmetros somente-posicionais são " -"aqueles sem um 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 se parece com isto::" +"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:784 +#: ../../faq/programming.rst:792 msgid "" "The slash at the end of the parameter list means that both parameters are " "positional-only. Thus, calling :func:`divmod` with keyword arguments would " @@ -1222,15 +1227,15 @@ msgstr "" "são somente-posicionais. Assim, chamar :func:`divmod` com argumentos " "nomeados levaria a um erro::" -#: ../../faq/programming.rst:795 +#: ../../faq/programming.rst:803 msgid "Numbers and strings" -msgstr "Números e Strings" +msgstr "Números e strings" -#: ../../faq/programming.rst:798 +#: ../../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:800 +#: ../../faq/programming.rst:808 msgid "" "To specify an octal digit, precede the octal value with a zero, and then a " "lower or uppercase \"o\". For example, to set the variable \"a\" to the " @@ -1240,7 +1245,7 @@ msgstr "" "zero e, em seguida, um \"o\" minúsculo ou maiúsculo. Por exemplo, para " "definir a variável \"a\" para o valor octal \"10\" (8 em decimal), digite::" -#: ../../faq/programming.rst:808 +#: ../../faq/programming.rst:816 msgid "" "Hexadecimal is just as easy. Simply precede the hexadecimal number with a " "zero, and then a lower or uppercase \"x\". Hexadecimal digits can be " @@ -1251,19 +1256,19 @@ msgstr "" "ser especificados em letras maiúsculas e minúsculas. Por exemplo, no " "interpretador Python::" -#: ../../faq/programming.rst:821 +#: ../../faq/programming.rst:829 msgid "Why does -22 // 10 return -3?" msgstr "Por que -22 // 10 retorna -3?" -#: ../../faq/programming.rst:823 +#: ../../faq/programming.rst:831 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:828 +#: ../../faq/programming.rst:836 msgid "" "then integer division has to return the floor. C also requires that " "identity to hold, and then compilers that truncate ``i // j`` need to make " @@ -1273,7 +1278,7 @@ msgstr "" "identidade seja mantida, e então os compiladores que truncarem ``i // j`` " "precisam fazer com que ``i % j`` tenham o mesmo sinal que ``i``." -#: ../../faq/programming.rst:832 +#: ../../faq/programming.rst:840 msgid "" "There are few real use cases for ``i % j`` when ``j`` is negative. When " "``j`` is positive, there are many, and in virtually all of them it's more " @@ -1287,11 +1292,29 @@ msgstr "" "há 200 horas? ``-190 % 12 == 2`` é útil, enquanto ``-190 % 12 == -10`` é um " "bug esperando para morder." -#: ../../faq/programming.rst:840 +#: ../../faq/programming.rst:848 +msgid "How do I get int literal attribute instead of SyntaxError?" +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::" +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 "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:842 +#: ../../faq/programming.rst:871 msgid "" "For integers, use the built-in :func:`int` type constructor, e.g. " "``int('144') == 144``. Similarly, :func:`float` converts to floating-point, " @@ -1301,7 +1324,7 @@ msgstr "" "144``. Da mesma forma, :func:`float` converterá para um valor do tipo ponto " "flutuante, por exemplo ``float('144') == 144.0``." -#: ../../faq/programming.rst:846 +#: ../../faq/programming.rst:875 msgid "" "By default, these interpret the number as decimal, so that ``int('0144') == " "144`` holds true, and ``int('0x144')`` raises :exc:`ValueError`. " @@ -1317,7 +1340,7 @@ msgstr "" "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:853 +#: ../../faq/programming.rst:882 msgid "" "Do not use the built-in function :func:`eval` if all you need is to convert " "strings to numbers. :func:`eval` will be significantly slower and it " @@ -1333,41 +1356,42 @@ msgstr "" "poderia passar ``__import__('os').system(\"rm -rf $HOME\")`` que apagaria " "seu diretório pessoal." -#: ../../faq/programming.rst:860 +#: ../../faq/programming.rst:889 msgid "" ":func:`eval` also has the effect of interpreting numbers as Python " "expressions, so that e.g. ``eval('09')`` gives a syntax error because Python " "does not allow leading '0' in a decimal number (except '0')." 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:866 +#: ../../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:868 +#: ../../faq/programming.rst:897 msgid "" -"To convert, e.g., the number 144 to the string '144', use the built-in type " -"constructor :func:`str`. If you want a hexadecimal or octal 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}\"." +"To convert, e.g., the number ``144`` to the string ``'144'``, use the built-" +"in type constructor :func:`str`. If you want a hexadecimal or octal " +"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'``." msgstr "" -"Para converter, por exemplo, o número 144 para a string '144', use o " -"construtor de tipo embutido :func:`str`. Caso queiras uma representação " +"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 extravagante, veja as seções :ref:`f-strings` e :ref:" +"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:877 +#: ../../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:879 +#: ../../faq/programming.rst:908 msgid "" "You can't, because strings are immutable. In most situations, you should " "simply construct a new string from the various parts you want to assemble it " @@ -1375,38 +1399,37 @@ 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:909 +#: ../../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:911 +#: ../../faq/programming.rst:940 msgid "There are various techniques." msgstr "Existem várias técnicas." -#: ../../faq/programming.rst:913 +#: ../../faq/programming.rst:942 msgid "" "The best is to use a dictionary that maps strings to functions. The primary " "advantage of this technique is that the strings do not need to match the " "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:928 +#: ../../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:933 +#: ../../faq/programming.rst:962 msgid "" "Note that :func:`getattr` works on any object, including classes, class " "instances, modules, and so on." @@ -1414,23 +1437,23 @@ msgstr "" "Observe que a função :func:`getattr` funciona com qualquer objeto, incluindo " "classes, instâncias de classe, módulos e assim por diante." -#: ../../faq/programming.rst:936 +#: ../../faq/programming.rst:965 msgid "This is used in several places in the standard library, like this::" msgstr "A mesma é usado em vários lugares na biblioteca padrão, como este::" -#: ../../faq/programming.rst:949 +#: ../../faq/programming.rst:978 msgid "Use :func:`locals` to resolve the function name::" msgstr "Use :func:`locals` para determinar o nome da função::" -#: ../../faq/programming.rst:961 +#: ../../faq/programming.rst:990 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:963 +#: ../../faq/programming.rst:992 msgid "" "You can use ``S.rstrip(\"\\r\\n\")`` to remove all occurrences of any line " "terminator from the end of the string ``S`` without removing other trailing " @@ -1438,13 +1461,13 @@ 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:975 +#: ../../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." @@ -1452,20 +1475,20 @@ msgstr "" "Geralmente isso só é desejado ao ler um texto linha por linha, usando ``S." "rstrip()`` dessa maneira funciona bem." -#: ../../faq/programming.rst:980 +#: ../../faq/programming.rst:1009 msgid "Is there a scanf() or sscanf() equivalent?" msgstr "Existe uma função scanf() ou sscanf() ou algo equivalente?" -#: ../../faq/programming.rst:982 +#: ../../faq/programming.rst:1011 msgid "Not as such." msgstr "Não como tal." -#: ../../faq/programming.rst:984 +#: ../../faq/programming.rst:1013 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`. ``split()`` supports an optional \"sep\" " +"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 "" @@ -1473,61 +1496,114 @@ msgstr "" "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 ``split()`` suporta um parâmetro \"sep\" " +"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:990 +#: ../../faq/programming.rst:1019 msgid "" "For more complicated input parsing, regular expressions are more powerful " -"than C's :c:func:`sscanf` and better suited for the task." +"than C's ``sscanf`` and better suited for the task." msgstr "" -"Para entradas de textos mais complicadas, as expressões regulares são mais " -"poderosas do que as funções C's :c:func:`sscanf` e mais adequadas para essa " +"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:995 +#: ../../faq/programming.rst:1024 msgid "What does 'UnicodeDecodeError' or 'UnicodeEncodeError' error mean?" msgstr "O que significa o erro 'UnicodeDecodeError' ou 'UnicodeEncodeError'?" -#: ../../faq/programming.rst:997 +#: ../../faq/programming.rst:1026 msgid "See the :ref:`unicode-howto`." msgstr "Consulte :ref:`unicode-howto`." -#: ../../faq/programming.rst:1001 +#: ../../faq/programming.rst:1032 +msgid "Can I end a raw string with an odd number of backslashes?" +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 "" +"Note that while a backslash will \"escape\" a quote for the purposes of " +"determining where the raw string ends, no escaping occurs when interpreting " +"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:1004 +#: ../../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:1006 +#: ../../faq/programming.rst:1075 msgid "" "That's a tough one, in general. First, here are a list of things to " "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:1009 +#: ../../faq/programming.rst:1078 msgid "" "Performance characteristics vary across Python implementations. This FAQ " "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:1011 +#: ../../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:1013 +#: ../../faq/programming.rst:1082 msgid "" "You should always find the hot spots in your program *before* attempting to " "optimize any code (see the :mod:`profile` module)." @@ -1535,15 +1611,15 @@ msgstr "" "Sempre devemos encontrar os hot spots em nosso programa *antes de* tentar " "otimizar qualquer código (veja o módulo :mod:`profile`)." -#: ../../faq/programming.rst:1015 +#: ../../faq/programming.rst:1084 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:1017 +#: ../../faq/programming.rst:1086 msgid "" "It is highly recommended to have good code coverage (through unit testing or " "any other technique) before potentially introducing regressions hidden in " @@ -1553,7 +1629,7 @@ msgstr "" "unidade ou qualquer outra técnica) antes de potencialmente apresentar " "regressões escondidas em otimizações sofisticadas." -#: ../../faq/programming.rst:1021 +#: ../../faq/programming.rst:1090 msgid "" "That being said, there are many tricks to speed up Python code. Here are " "some general principles which go a long way towards reaching acceptable " @@ -1563,7 +1639,7 @@ msgstr "" "estão alguns dos principais tópicos e que geralmente ajudam a atingir níveis " "de desempenho aceitáveis:" -#: ../../faq/programming.rst:1025 +#: ../../faq/programming.rst:1094 msgid "" "Making your algorithms faster (or changing to faster ones) can yield much " "larger benefits than trying to sprinkle micro-optimization tricks all over " @@ -1573,15 +1649,15 @@ msgstr "" "benefícios maiores que tentar encaixar várias micro-otimizações no seu " "código." -#: ../../faq/programming.rst:1029 +#: ../../faq/programming.rst:1098 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:1032 +#: ../../faq/programming.rst:1101 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 " @@ -1592,14 +1668,14 @@ msgid "" "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)." -#: ../../faq/programming.rst:1040 +#: ../../faq/programming.rst:1109 msgid "" "Abstractions tend to create indirections and force the interpreter to work " "more. If the levels of indirection outweigh the amount of useful work done, " @@ -1613,10 +1689,10 @@ msgstr "" "excessiva, especialmente sob a forma de pequenas funções ou métodos (que " "também são muitas vezes prejudiciais à legibilidade)." -#: ../../faq/programming.rst:1046 +#: ../../faq/programming.rst:1115 msgid "" "If you have reached the limit of what pure Python can allow, there are tools " -"to take you further away. For example, `Cython `_ can " +"to take you further away. For example, `Cython `_ can " "compile a slightly modified version of Python code into a C extension, and " "can be used on many different platforms. Cython can take advantage of " "compilation (and optional type annotations) to make your code significantly " @@ -1625,39 +1701,39 @@ msgid "" "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 podes :ref:" +"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:1056 +#: ../../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:1062 +#: ../../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:1064 +#: ../../faq/programming.rst:1133 msgid "" ":class:`str` and :class:`bytes` objects are immutable, therefore " "concatenating many strings together is inefficient as each concatenation " "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:1069 +#: ../../faq/programming.rst:1138 msgid "" "To accumulate many :class:`str` objects, the recommended idiom is to place " "them into a list and call :meth:`str.join` at the end::" @@ -1665,30 +1741,30 @@ msgstr "" "Para juntar vários objetos :class:`str`, a linguagem recomendada colocá-los " "numa lista e invocar o método :meth:`str.join`::" -#: ../../faq/programming.rst:1077 +#: ../../faq/programming.rst:1146 msgid "(another reasonably efficient idiom is to use :class:`io.StringIO`)" msgstr "" "(outra forma razoavelmente eficiente é usar a classe :class:`io.StringIO`)" -#: ../../faq/programming.rst:1079 +#: ../../faq/programming.rst:1148 msgid "" "To accumulate many :class:`bytes` objects, the recommended idiom is to " "extend a :class:`bytearray` object using in-place concatenation (the ``+=`` " "operator)::" msgstr "" "Para juntar vários objetos :class:`bytes`, a forma recomendada é estender " -"uma classe :class:`bytearray` usando a concatenação local (com o operador ``" -"+=``)::" +"uma classe :class:`bytearray` usando a concatenação local (com o operador " +"``+=``)::" -#: ../../faq/programming.rst:1088 +#: ../../faq/programming.rst:1157 msgid "Sequences (Tuples/Lists)" -msgstr "Sequencias (Tuples/Lists)" +msgstr "Sequencias (Tuplas/Listas)" -#: ../../faq/programming.rst:1091 +#: ../../faq/programming.rst:1160 msgid "How do I convert between tuples and lists?" msgstr "Como faço para converter tuplas em listas?" -#: ../../faq/programming.rst:1093 +#: ../../faq/programming.rst:1162 msgid "" "The type constructor ``tuple(seq)`` converts any sequence (actually, any " "iterable) into a tuple with the same items in the same order." @@ -1696,7 +1772,7 @@ msgstr "" "O construtor de tipo ``tuple(seq)`` converte qualquer sequência (na verdade, " "qualquer iterável) numa tupla com os mesmos itens na mesma ordem." -#: ../../faq/programming.rst:1096 +#: ../../faq/programming.rst:1165 msgid "" "For example, ``tuple([1, 2, 3])`` yields ``(1, 2, 3)`` and ``tuple('abc')`` " "yields ``('a', 'b', 'c')``. If the argument is a tuple, it does not make a " @@ -1709,7 +1785,7 @@ msgstr "" "func:`tuple` quando você não tiver certeza que determinado objeto já é uma " "tupla." -#: ../../faq/programming.rst:1101 +#: ../../faq/programming.rst:1170 msgid "" "The type constructor ``list(seq)`` converts any sequence or iterable into a " "list with the same items in the same order. For example, ``list((1, 2, " @@ -1721,11 +1797,11 @@ msgstr "" "3))`` produz ``[1, 2, 3]`` e ``list('abc')`` produz ``['a', 'b', 'c']``. Se " "o argumento for uma lista, o meso fará uma cópia como em ``seq[:]``." -#: ../../faq/programming.rst:1108 +#: ../../faq/programming.rst:1177 msgid "What's a negative index?" msgstr "O que é um índice negativo?" -#: ../../faq/programming.rst:1110 +#: ../../faq/programming.rst:1179 msgid "" "Python sequences are indexed with positive numbers and negative numbers. " "For positive numbers 0 is the first index 1 is the second index and so " @@ -1733,23 +1809,31 @@ 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:1115 +#: ../../faq/programming.rst:1184 msgid "" "Using negative indices can be very convenient. For example ``S[:-1]`` is " "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:1121 +#: ../../faq/programming.rst:1190 msgid "How do I iterate over a sequence in reverse order?" msgstr "Como que eu itero uma sequência na ordem inversa?" -#: ../../faq/programming.rst:1123 +#: ../../faq/programming.rst:1192 msgid "Use the :func:`reversed` built-in function::" msgstr "Use a função embutida :func:`reversed`::" -#: ../../faq/programming.rst:1128 +#: ../../faq/programming.rst:1197 msgid "" "This won't touch your original sequence, but build a new copy with reversed " "order to iterate over." @@ -1757,25 +1841,29 @@ msgstr "" "Isso não vai alterar sua sequência original, mas construir uma nova cópia " "com a ordem inversa para iteração." -#: ../../faq/programming.rst:1133 +#: ../../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:1135 +#: ../../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:1137 +#: ../../faq/programming.rst:1206 msgid "https://code.activestate.com/recipes/52560/" msgstr "https://code.activestate.com/recipes/52560/" -#: ../../faq/programming.rst:1139 +#: ../../faq/programming.rst:1208 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:1151 +#: ../../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 ::" @@ -1784,7 +1872,7 @@ msgstr "" "(isto é, eles são todos :term:`hasheáveis `) isso é muitas vezes " "mais rápido ::" -#: ../../faq/programming.rst:1156 +#: ../../faq/programming.rst:1225 msgid "" "This converts the list into a set, thereby removing duplicates, and then " "back into a list." @@ -1792,75 +1880,93 @@ msgstr "" "Isso converte a lista em um conjunto, deste modo removendo itens duplicados, " "e depois de volta em uma lista." -#: ../../faq/programming.rst:1161 +#: ../../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:1163 +#: ../../faq/programming.rst:1232 msgid "" "As with removing duplicates, explicitly iterating in reverse with a delete " "condition is one possibility. However, it is easier and faster to use slice " "replacement with an implicit or explicit forward iteration. Here are three " "variations.::" 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:1172 +#: ../../faq/programming.rst:1241 msgid "The list comprehension may be fastest." msgstr "A compreensão de lista pode ser a mais rápida." -#: ../../faq/programming.rst:1176 +#: ../../faq/programming.rst:1245 msgid "How do you make an array in Python?" msgstr "Como fazer um vetor em Python?" -#: ../../faq/programming.rst:1178 +#: ../../faq/programming.rst:1247 msgid "Use a list::" msgstr "Utilize uma lista::" -#: ../../faq/programming.rst:1182 +#: ../../faq/programming.rst:1251 msgid "" "Lists are equivalent to C or Pascal arrays in their time complexity; the " "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:1185 +#: ../../faq/programming.rst:1254 msgid "" "The ``array`` module also provides methods for creating arrays of fixed " "types with compact representations, but they are slower to index than " -"lists. Also note that NumPy and other third party packages define array-" -"like structures with various characteristics as well." +"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:1190 +#: ../../faq/programming.rst:1260 msgid "" -"To get Lisp-style linked lists, you can emulate cons cells using tuples::" +"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:1194 +#: ../../faq/programming.rst:1264 msgid "" "If mutability is desired, you could use lists instead of tuples. Here the " -"analogue of lisp car is ``lisp_list[0]`` and the analogue of cdr is " +"analogue of a Lisp *car* is ``lisp_list[0]`` and the analogue of *cdr* is " "``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:1203 +#: ../../faq/programming.rst:1273 msgid "How do I create a multidimensional list?" msgstr "Como faço para criar uma lista multidimensional?" -#: ../../faq/programming.rst:1205 +#: ../../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:1209 +#: ../../faq/programming.rst:1279 msgid "This looks correct if you print it:" msgstr "Isso parece correto se você imprimir:" -#: ../../faq/programming.rst:1220 +#: ../../faq/programming.rst:1290 msgid "But when you assign a value, it shows up in multiple places:" msgstr "Mas quando atribuíres um valor, o mesmo aparecerá em vários lugares:" -#: ../../faq/programming.rst:1232 +#: ../../faq/programming.rst:1302 msgid "" "The reason is that replicating a list with ``*`` doesn't create copies, it " "only creates references to the existing objects. The ``*3`` creates a list " @@ -1872,63 +1978,69 @@ msgstr "" "referências para a mesma lista que contém 2 itens cada. Mudanças numa linha " "serão mostradas em todas as linhas, o que certamente não é o que você deseja." -#: ../../faq/programming.rst:1237 +#: ../../faq/programming.rst:1307 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:1244 +#: ../../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:1250 +#: ../../faq/programming.rst:1320 msgid "" -"Or, you can use an extension that provides a matrix datatype; `NumPy `_ is the best known." +"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 forneça um tipo de dados de Array; " -"`NumPy `_ é o melhor conhecido." +"Ou você pode usar uma extensão que provê um tipo de dados matrix; `NumPy " +"`_ é o mais conhecido." -#: ../../faq/programming.rst:1255 +#: ../../faq/programming.rst:1325 msgid "How do I apply a method to a sequence of objects?" msgstr "Como eu aplico um método para uma sequência de objetos?" -#: ../../faq/programming.rst:1257 +#: ../../faq/programming.rst:1327 msgid "Use a list comprehension::" msgstr "Usando compreensão de lista::" -#: ../../faq/programming.rst:1264 +#: ../../faq/programming.rst:1334 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:1266 +#: ../../faq/programming.rst:1336 msgid "" "This is because of a combination of the fact that augmented assignment " "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:1270 +#: ../../faq/programming.rst:1340 msgid "" "This discussion applies in general when augmented assignment operators are " "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:1274 +#: ../../faq/programming.rst:1344 msgid "If you wrote::" msgstr "Se você escrever::" -#: ../../faq/programming.rst:1282 +#: ../../faq/programming.rst:1352 msgid "" "The reason for the exception should be immediately clear: ``1`` is added to " "the object ``a_tuple[0]`` points to (``1``), producing the result object, " @@ -1936,8 +2048,13 @@ 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:1288 +#: ../../faq/programming.rst:1358 msgid "" "Under the covers, what this augmented assignment statement is doing is " "approximately this::" @@ -1945,99 +2062,123 @@ msgstr "" "Por baixo, o que a instrução de atribuição aumentada está fazendo é " "aproximadamente isso::" -#: ../../faq/programming.rst:1297 +#: ../../faq/programming.rst:1367 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:1300 +#: ../../faq/programming.rst:1370 msgid "When you write something like::" msgstr "Quando você escreve algo como::" -#: ../../faq/programming.rst:1308 +#: ../../faq/programming.rst:1378 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:1314 +#: ../../faq/programming.rst:1384 msgid "" "To see why this happens, you need to know that (a) if an object implements " -"an ``__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, ``__iadd__`` is equivalent to " -"calling ``extend`` on the list and returning the list. That's why we say " -"that for lists, ``+=`` is a \"shorthand\" for ``list.extend``::" +"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`::" msgstr "" -#: ../../faq/programming.rst:1326 +#: ../../faq/programming.rst:1397 msgid "This is equivalent to::" msgstr "Isso equivale a::" -#: ../../faq/programming.rst:1331 +#: ../../faq/programming.rst:1402 msgid "" "The object pointed to by a_list has been mutated, and the pointer to the " "mutated object is assigned back to ``a_list``. The end result of the " "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:1336 +#: ../../faq/programming.rst:1407 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:1344 +#: ../../faq/programming.rst:1415 msgid "" -"The ``__iadd__`` succeeds, and thus the list is extended, but even though " -"``result`` points to the same object that ``a_tuple[0]`` already points to, " -"that final assignment still results in an error, because tuples are " -"immutable." +"The :meth:`!__iadd__` succeeds, and thus the list is extended, but even " +"though ``result`` points to the same object that ``a_tuple[0]`` already " +"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:1350 +#: ../../faq/programming.rst:1421 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:1352 +#: ../../faq/programming.rst:1423 msgid "" "The technique, attributed to Randal Schwartz of the Perl community, sorts " "the elements of a list by a metric which maps each element to its \"sort " "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:1361 +#: ../../faq/programming.rst:1432 msgid "How can I sort one list by values from another list?" msgstr "Como eu posso ordenar uma lista pelos valores de outra lista?" -#: ../../faq/programming.rst:1363 +#: ../../faq/programming.rst:1434 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:1378 +#: ../../faq/programming.rst:1449 msgid "Objects" msgstr "Objetos" -#: ../../faq/programming.rst:1381 +#: ../../faq/programming.rst:1452 msgid "What is a class?" msgstr "O que é uma classe?" -#: ../../faq/programming.rst:1383 +#: ../../faq/programming.rst:1454 msgid "" "A class is the particular object type created by executing a class " "statement. Class objects are used as templates to create instance objects, " "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:1387 +#: ../../faq/programming.rst:1458 msgid "" "A class can be based on one or more other classes, called its base " "class(es). It then inherits the attributes and methods of its base classes. " @@ -2046,35 +2187,49 @@ 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:1396 +#: ../../faq/programming.rst:1467 msgid "What is a method?" msgstr "O que é um método?" -#: ../../faq/programming.rst:1398 +#: ../../faq/programming.rst:1469 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 " "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:1408 +#: ../../faq/programming.rst:1479 msgid "What is self?" msgstr "O que é o self?" -#: ../../faq/programming.rst:1410 +#: ../../faq/programming.rst:1481 msgid "" "Self is merely a conventional name for the first argument of a method. A " "method defined as ``meth(self, a, b, c)`` should be called as ``x.meth(a, b, " "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:1415 +#: ../../faq/programming.rst:1486 msgid "See also :ref:`why-self`." msgstr "Veja também :ref:`why-self`." -#: ../../faq/programming.rst:1419 +#: ../../faq/programming.rst:1490 msgid "" "How do I check if an object is an instance of a given class or of a subclass " "of it?" @@ -2082,24 +2237,35 @@ msgstr "" "Como eu verifico se um objeto é uma instância de uma dada classe ou de uma " "subclasse dela?" -#: ../../faq/programming.rst:1421 +#: ../../faq/programming.rst:1492 msgid "" -"Use the built-in function ``isinstance(obj, cls)``. You can check if an " -"object is an instance of any of a number of classes by providing a tuple " -"instead of a single class, e.g. ``isinstance(obj, (class1, class2, ...))``, " -"and can also check whether an object is one of Python's built-in types, e.g. " -"``isinstance(obj, str)`` or ``isinstance(obj, (int, float, complex))``." +"Use the built-in function :func:`isinstance(obj, cls) `. You " +"can check if an object is an instance of any of a number of classes by " +"providing a tuple instead of a single class, e.g. ``isinstance(obj, (class1, " +"class2, ...))``, and can also check whether an object is one of Python's " +"built-in types, e.g. ``isinstance(obj, str)`` or ``isinstance(obj, (int, " +"float, complex))``." 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:1427 +#: ../../faq/programming.rst:1499 msgid "" "Note that :func:`isinstance` also checks for virtual inheritance from an :" "term:`abstract base class`. So, the test will return ``True`` for a " "registered class even if hasn't directly or indirectly inherited from it. " "To test for \"true inheritance\", scan the :term:`MRO` of the class:" 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:1462 +#: ../../faq/programming.rst:1534 msgid "" "Note that most programs do not use :func:`isinstance` on user-defined " "classes very often. If you are developing the classes yourself, a more " @@ -2108,18 +2274,26 @@ 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:1476 +#: ../../faq/programming.rst:1548 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:1491 +#: ../../faq/programming.rst:1563 msgid "What is delegation?" -msgstr "O que é delegation?" +msgstr "O que é delegação?" -#: ../../faq/programming.rst:1493 +#: ../../faq/programming.rst:1565 msgid "" "Delegation is an object oriented technique (also called a design pattern). " "Let's say you have an object ``x`` and want to change the behaviour of just " @@ -2127,124 +2301,173 @@ 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:1499 +#: ../../faq/programming.rst:1571 msgid "" "Python programmers can easily implement delegation. For example, the " "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:1514 +#: ../../faq/programming.rst:1586 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 ``__getattr__`` " -"method; consult :ref:`the language reference ` for more " -"information about controlling attribute access." +"_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:1521 +#: ../../faq/programming.rst:1593 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:" -"`__setattr__` method too, and it must do so carefully. The basic " -"implementation of :meth:`__setattr__` is roughly equivalent to the " +"`~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:1532 +#: ../../faq/programming.rst:1604 msgid "" -"Most :meth:`__setattr__` implementations must modify ``self.__dict__`` to " -"store local state for self without causing an infinite recursion." +"Most :meth:`!__setattr__` implementations must modify :meth:`self.__dict__ " +"` to store local state for self without causing an infinite " +"recursion." msgstr "" -#: ../../faq/programming.rst:1537 +#: ../../faq/programming.rst:1610 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:1539 +#: ../../faq/programming.rst:1612 msgid "Use the built-in :func:`super` function::" msgstr "Use a função embutida :func:`super`::" -#: ../../faq/programming.rst:1545 +#: ../../faq/programming.rst:1618 msgid "" "In the example, :func:`super` will automatically determine the instance from " "which it was called (the ``self`` value), look up the :term:`method " "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:1552 +#: ../../faq/programming.rst:1625 msgid "How can I organize my code to make it easier to change the base class?" msgstr "" "Como eu posso organizar meu código para facilitar a troca da classe base?" -#: ../../faq/programming.rst:1554 +#: ../../faq/programming.rst:1627 msgid "" "You could assign the base class to an alias and derive from the alias. Then " "all you have to change is the value assigned to the alias. Incidentally, " "this trick is also handy if you want to decide dynamically (e.g. depending " "on availability of resources) which base class to use. Example::" 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:1569 +#: ../../faq/programming.rst:1642 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:1571 +#: ../../faq/programming.rst:1644 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:1574 +#: ../../faq/programming.rst:1647 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:1586 +#: ../../faq/programming.rst:1659 msgid "" "``c.count`` also refers to ``C.count`` for any ``c`` such that " "``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:1590 +#: ../../faq/programming.rst:1663 msgid "" "Caution: within a method of C, an assignment like ``self.count = 42`` " "creates a new and unrelated instance named \"count\" in ``self``'s own " "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:1597 +#: ../../faq/programming.rst:1670 msgid "Static methods are possible::" msgstr "Métodos estáticos são possíveis::" -#: ../../faq/programming.rst:1605 +#: ../../faq/programming.rst:1678 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:1611 +#: ../../faq/programming.rst:1684 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:1616 +#: ../../faq/programming.rst:1689 msgid "How can I overload constructors (or methods) in Python?" msgstr "Como eu posso sobrecarregar construtores (ou métodos) em Python?" -#: ../../faq/programming.rst:1618 +#: ../../faq/programming.rst:1691 msgid "" "This answer actually applies to all methods, but the question usually comes " "up first in the context of constructors." @@ -2252,37 +2475,37 @@ msgstr "" "Essa resposta na verdade se aplica para todos os métodos, mas a pergunta " "normalmente aparece primeiro no contexto de construtores." -#: ../../faq/programming.rst:1621 +#: ../../faq/programming.rst:1694 msgid "In C++ you'd write" -msgstr "Em C++ escreveríamos " +msgstr "Em C++ escreveríamos" -#: ../../faq/programming.rst:1630 +#: ../../faq/programming.rst:1703 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:1640 +#: ../../faq/programming.rst:1713 msgid "This is not entirely equivalent, but close enough in practice." msgstr "Isso não é inteiramente equivalente, mas já está bem próximo." -#: ../../faq/programming.rst:1642 +#: ../../faq/programming.rst:1715 msgid "You could also try a variable-length argument list, e.g. ::" msgstr "" "Você também pode tentar uma lista de argumentos de comprimento variável, por " "exemplo::" -#: ../../faq/programming.rst:1647 +#: ../../faq/programming.rst:1720 msgid "The same approach works for all method definitions." msgstr "A mesma abordagem funciona para todas as definições de métodos." -#: ../../faq/programming.rst:1651 +#: ../../faq/programming.rst:1724 msgid "I try to use __spam and I get an error about _SomeClassName__spam." msgstr "Eu tentei usar __spam e recebi um erro sobre _SomeClassName__spam." -#: ../../faq/programming.rst:1653 +#: ../../faq/programming.rst:1726 msgid "" "Variable names with double leading underscores are \"mangled\" to provide a " "simple but effective way to define class private variables. Any identifier " @@ -2291,8 +2514,14 @@ 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:1659 +#: ../../faq/programming.rst:1732 msgid "" "This doesn't guarantee privacy: an outside user can still deliberately " "access the \"_classname__spam\" attribute, and private values are visible in " @@ -2300,78 +2529,108 @@ msgid "" "private variable names at all." msgstr "" -#: ../../faq/programming.rst:1666 +#: ../../faq/programming.rst:1739 msgid "My class defines __del__ but it is not called when I delete the object." msgstr "" "Minha classe define __del__, mas o mesmo não é chamado quando eu excluo o " "objeto." -#: ../../faq/programming.rst:1668 +#: ../../faq/programming.rst:1741 msgid "There are several possible reasons for this." msgstr "Há várias razões possíveis para isto." -#: ../../faq/programming.rst:1670 +#: ../../faq/programming.rst:1743 msgid "" -"The del statement does not necessarily call :meth:`__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:1674 +#: ../../faq/programming.rst:1747 msgid "" "If your data structures contain circular links (e.g. a tree where each child " "has a parent reference and each parent has a list of children) the reference " "counts will never go back to zero. Once in a while Python runs an algorithm " "to detect such cycles, but the garbage collector might run some time after " -"the last reference to your data structure vanishes, so your :meth:`__del__` " +"the last reference to your data structure vanishes, so your :meth:`!__del__` " "method may be called at an inconvenient and random time. This is " "inconvenient if you're trying to reproduce a problem. Worse, the order in " -"which object's :meth:`__del__` methods are executed is arbitrary. You can " +"which object's :meth:`!__del__` methods are executed is arbitrary. You can " "run :func:`gc.collect` to force a collection, but there *are* pathological " "cases where objects will never be collected." msgstr "" +"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:1685 +#: ../../faq/programming.rst:1758 msgid "" "Despite the cycle collector, it's still a good idea to define an explicit " "``close()`` method on objects to be called whenever you're done with them. " "The ``close()`` method can then remove attributes that refer to subobjects. " -"Don't call :meth:`__del__` directly -- :meth:`__del__` should call " +"Don't call :meth:`!__del__` directly -- :meth:`!__del__` should call " "``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:1692 +#: ../../faq/programming.rst:1765 msgid "" "Another way to avoid cyclical references is to use the :mod:`weakref` " "module, which allows you to point to objects without incrementing their " "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:1705 +#: ../../faq/programming.rst:1778 msgid "" -"Finally, if your :meth:`__del__` method raises an exception, a warning " +"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:1710 +#: ../../faq/programming.rst:1783 msgid "How do I get a list of all instances of a given class?" msgstr "" "Como eu consigo pegar uma lista de todas as instâncias de uma dada classe?" -#: ../../faq/programming.rst:1712 +#: ../../faq/programming.rst:1785 msgid "" "Python does not keep track of all instances of a class (or of a built-in " "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:1718 +#: ../../faq/programming.rst:1791 msgid "Why does the result of ``id()`` appear to be not unique?" msgstr "Por que o resultado de ``id()`` aparenta não ser único?" -#: ../../faq/programming.rst:1720 +#: ../../faq/programming.rst:1793 msgid "" "The :func:`id` builtin returns an integer that is guaranteed to be unique " "during the lifetime of the object. Since in CPython, this is the object's " @@ -2379,177 +2638,270 @@ 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:1731 +#: ../../faq/programming.rst:1804 msgid "" "The two ids belong to different integer objects that are created before, and " "deleted immediately after execution of the ``id()`` call. To be sure that " "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:1744 +#: ../../faq/programming.rst:1817 msgid "When can I rely on identity tests with the *is* operator?" -msgstr "" -"Quando eu posso depender dos testes de identidade com o operador *is*? " +msgstr "Quando eu posso depender dos testes de identidade com o operador *is*?" -#: ../../faq/programming.rst:1746 +#: ../../faq/programming.rst:1819 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:1749 +#: ../../faq/programming.rst:1822 msgid "" "The most important property of an identity test is that an object is always " "identical to itself, ``a is a`` always returns ``True``. Identity tests are " "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:1754 +#: ../../faq/programming.rst:1827 msgid "" "However, identity tests can *only* be substituted for equality tests when " "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:1758 +#: ../../faq/programming.rst:1831 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:1761 +#: ../../faq/programming.rst:1834 msgid "" "2) Putting an object in a container that stores object references does not " "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:1765 +#: ../../faq/programming.rst:1838 msgid "" "3) If an object is a singleton, it means that only one instance of that " "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:1769 +#: ../../faq/programming.rst:1842 msgid "" "In most other circumstances, identity tests are inadvisable and equality " "tests are preferred. In particular, identity tests should not be used to " "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:1786 +#: ../../faq/programming.rst:1859 msgid "Likewise, new instances of mutable containers are never identical::" msgstr "" "Do mesmo jeito, novas instâncias de contêineres mutáveis nunca são " "idênticas::" -#: ../../faq/programming.rst:1793 +#: ../../faq/programming.rst:1866 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:1796 +#: ../../faq/programming.rst:1869 msgid "" "1) As recommended by :pep:`8`, an identity test is the preferred way to " "check for ``None``. This reads like plain English in code and avoids " "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:1800 +#: ../../faq/programming.rst:1873 msgid "" "2) Detecting optional arguments can be tricky when ``None`` is a valid input " -"value. In those situations, you can create an singleton sentinel object " +"value. In those situations, you can create a singleton sentinel object " "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:1816 +#: ../../faq/programming.rst:1889 msgid "" "3) Container implementations sometimes need to augment equality tests with " "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:1820 +#: ../../faq/programming.rst:1893 msgid "" "For example, here is the implementation of :meth:`collections.abc.Sequence." "__contains__`::" msgstr "" -#: ../../faq/programming.rst:1830 -msgid "How do I cache method calls?" +#: ../../faq/programming.rst:1904 +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:1906 +msgid "" +"When subclassing an immutable type, override the :meth:`~object.__new__` " +"method instead of the :meth:`~object.__init__` method. The latter only runs " +"*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:1832 +#: ../../faq/programming.rst:1911 +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:1937 +msgid "The classes can be used like this:" +msgstr "As classes podem ser usadas da seguinte forma:" + +#: ../../faq/programming.rst:1952 +msgid "How do I cache method calls?" +msgstr "Como faço para armazenar em cache as chamadas de um método?" + +#: ../../faq/programming.rst:1954 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." 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:1837 +#: ../../faq/programming.rst:1959 msgid "" "The *cached_property* approach only works with methods that do not take any " "arguments. It does not create a reference to the instance. The cached " "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:1841 +#: ../../faq/programming.rst:1963 msgid "" -"The advantage is that when an instance is not longer used, the cached method " +"The advantage is that when an instance is no longer used, the cached method " "result will be released right away. The disadvantage is that if instances " "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:1846 +#: ../../faq/programming.rst:1968 msgid "" -"The *lru_cache* approach works with methods that have hashable arguments. " -"It creates a reference to the instance unless special efforts are made to " -"pass in weak references." +"The *lru_cache* approach works with methods that have :term:`hashable` " +"arguments. It creates a reference to the instance unless special efforts " +"are made to pass in weak references." msgstr "" +"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:1850 +#: ../../faq/programming.rst:1972 msgid "" "The advantage of the least recently used algorithm is that the cache is " "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:1855 +#: ../../faq/programming.rst:1977 msgid "This example shows the various techniques::" msgstr "Esse exemplo mostra as várias técnicas::" -#: ../../faq/programming.rst:1879 +#: ../../faq/programming.rst:2001 msgid "" "The above example assumes that the *station_id* never changes. If the " "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:1884 +#: ../../faq/programming.rst:2006 msgid "" "The *lru_cache* approach can be made to work, but the class needs to define " "the *__eq__* and *__hash__* methods so the cache can detect relevant " "attribute updates::" msgstr "" -#: ../../faq/programming.rst:1910 +#: ../../faq/programming.rst:2032 msgid "Modules" msgstr "Módulos" -#: ../../faq/programming.rst:1913 +#: ../../faq/programming.rst:2035 msgid "How do I create a .pyc file?" msgstr "Como faço para criar um arquivo .pyc?" -#: ../../faq/programming.rst:1915 +#: ../../faq/programming.rst:2037 msgid "" "When a module is imported for the first time (or when the source file has " "changed since the current compiled file was created) a ``.pyc`` file " @@ -2559,8 +2911,16 @@ 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:1923 +#: ../../faq/programming.rst:2045 msgid "" "One reason that a ``.pyc`` file may not be created is a permissions problem " "with the directory containing the source file, meaning that the " @@ -2568,8 +2928,13 @@ 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:1928 +#: ../../faq/programming.rst:2050 msgid "" "Unless the :envvar:`PYTHONDONTWRITEBYTECODE` environment variable is set, " "creation of a .pyc file is automatic if you're importing a module and Python " @@ -2577,8 +2942,13 @@ 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:1933 +#: ../../faq/programming.rst:2055 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." @@ -2587,40 +2957,59 @@ msgid "" "``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:1940 +#: ../../faq/programming.rst:2062 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." 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:1944 +#: ../../faq/programming.rst:2066 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:1950 +#: ../../faq/programming.rst:2072 msgid "" "This will write the ``.pyc`` to a ``__pycache__`` subdirectory in the same " "location as ``foo.py`` (or you can override that with the optional parameter " "``cfile``)." 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:1954 +#: ../../faq/programming.rst:2076 msgid "" "You can also automatically compile all files in a directory or directories " "using the :mod:`compileall` module. You can do it from the shell prompt by " "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:1963 +#: ../../faq/programming.rst:2085 msgid "How do I find the current module name?" msgstr "Como encontro o nome do módulo atual?" -#: ../../faq/programming.rst:1965 +#: ../../faq/programming.rst:2087 msgid "" "A module can find out its own module name by looking at the predefined " "global variable ``__name__``. If this has the value ``'__main__'``, the " @@ -2628,80 +3017,94 @@ 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:1980 +#: ../../faq/programming.rst:2102 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:1982 +#: ../../faq/programming.rst:2104 msgid "Suppose you have the following modules:" msgstr "Suponha que tenhas os seguintes módulos:" -#: ../../faq/programming.rst:1984 +#: ../../faq/programming.rst:2106 msgid ":file:`foo.py`::" -msgstr "" +msgstr ":file:`foo.py`::" -#: ../../faq/programming.rst:1989 +#: ../../faq/programming.rst:2111 msgid ":file:`bar.py`::" -msgstr "" +msgstr ":file:`bar.py`::" -#: ../../faq/programming.rst:1994 +#: ../../faq/programming.rst:2116 msgid "The problem is that the interpreter will perform the following steps:" msgstr "O problema é que o interpretador vai realizar os seguintes passos:" -#: ../../faq/programming.rst:1996 +#: ../../faq/programming.rst:2118 msgid "main imports ``foo``" -msgstr "" +msgstr "Programa principal importa ``foo``" -#: ../../faq/programming.rst:1997 +#: ../../faq/programming.rst:2119 msgid "Empty globals for ``foo`` are created" -msgstr "" +msgstr "São criados globais vazios para ``foo``" -#: ../../faq/programming.rst:1998 +#: ../../faq/programming.rst:2120 msgid "``foo`` is compiled and starts executing" -msgstr "" +msgstr "``foo`` é compilado e começa a ser executado" -#: ../../faq/programming.rst:1999 +#: ../../faq/programming.rst:2121 msgid "``foo`` imports ``bar``" -msgstr "" +msgstr "``foo`` importa ``bar``" -#: ../../faq/programming.rst:2000 +#: ../../faq/programming.rst:2122 msgid "Empty globals for ``bar`` are created" -msgstr "" +msgstr "São criados globais vazios para ``bar``" -#: ../../faq/programming.rst:2001 +#: ../../faq/programming.rst:2123 msgid "``bar`` is compiled and starts executing" -msgstr "" +msgstr "``bar`` é compilado e começa a ser executado" -#: ../../faq/programming.rst:2002 +#: ../../faq/programming.rst:2124 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:2003 +#: ../../faq/programming.rst:2125 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:2005 +#: ../../faq/programming.rst:2127 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:2008 +#: ../../faq/programming.rst:2130 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:2011 +#: ../../faq/programming.rst:2133 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:2013 +#: ../../faq/programming.rst:2135 msgid "" "Guido van Rossum recommends avoiding all uses of ``from import ..." "``, and placing all code inside functions. Initializations of global " @@ -2709,57 +3112,69 @@ msgid "" "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:2018 +#: ../../faq/programming.rst:2140 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:2020 +#: ../../faq/programming.rst:2142 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:2022 +#: ../../faq/programming.rst:2144 msgid "``import`` statements" -msgstr "Declaração ``import``" +msgstr "instruções ``import``" -#: ../../faq/programming.rst:2023 +#: ../../faq/programming.rst:2145 msgid "" "active code (including globals that are initialized from imported values)." msgstr "" "código ativo (incluindo globais que são inicializadas de valores importados)" -#: ../../faq/programming.rst:2025 +#: ../../faq/programming.rst:2147 msgid "" -"van Rossum doesn't like this approach much because the imports appear in a " +"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 as importações aparecem em " -"lugares estranhos, mas funciona." +"Van Rossum não gosta muito dessa abordagem porque a importação aparece em um " +"lugar estranho, mas ela funciona." -#: ../../faq/programming.rst:2028 +#: ../../faq/programming.rst:2150 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:2031 +#: ../../faq/programming.rst:2153 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:2035 +#: ../../faq/programming.rst:2157 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:2037 +#: ../../faq/programming.rst:2159 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:2044 +#: ../../faq/programming.rst:2166 msgid "" "When I edit an imported module and reimport it, the changes don't show up. " "Why does this happen?" @@ -2767,7 +3182,7 @@ msgstr "" "Quando eu edito um módulo importado e o reimporto, as mudanças não aparecem. " "Por que isso acontece?" -#: ../../faq/programming.rst:2046 +#: ../../faq/programming.rst:2168 msgid "" "For reasons of efficiency as well as consistency, Python only reads the " "module file on the first time a module is imported. If it didn't, in a " @@ -2775,27 +3190,36 @@ 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:2056 +#: ../../faq/programming.rst:2178 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:2061 +#: ../../faq/programming.rst:2183 msgid "" "will continue to work with the old version of the imported objects. If the " "module contains class definitions, existing class instances will *not* be " "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:2074 +#: ../../faq/programming.rst:2196 msgid "" "The nature of the problem is made clear if you print out the \"identity\" of " "the class objects::" msgstr "" "A natureza do problema fica clara se você exibir a \"identidade\" dos " -"objetos da classe:: " +"objetos da classe::" diff --git a/faq/windows.po b/faq/windows.po index 239699fb1..61f112868 100644 --- a/faq/windows.po +++ b/faq/windows.po @@ -1,32 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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 -# Ruan Aragão , 2021 -# Adorilson Bezerra , 2021 -# Amanda Savluchinske , 2021 -# Raul Lima , 2021 -# Hortencia_Arliane , 2021 +# python-doc bot, 2025 # #, 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 00:52+0000\n" -"Last-Translator: Hortencia_Arliane , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:57+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../faq/windows.rst:9 msgid "Python on Windows FAQ" @@ -54,18 +49,18 @@ msgstr "" #: ../../faq/windows.rst:28 msgid "" "Unless you use some sort of integrated development environment, you will end " -"up *typing* Windows commands into what is variously referred to as a \"DOS " -"window\" or \"Command prompt window\". Usually you can create such a window " -"from your search bar by searching for ``cmd``. You should be able to " -"recognize when you have started such a window because you will see a Windows " -"\"command prompt\", which usually looks like this:" +"up *typing* Windows commands into what is referred to as a \"Command prompt " +"window\". Usually you can create such a window from your search bar by " +"searching for ``cmd``. You should be able to recognize when you have " +"started such a window because you will see a Windows \"command prompt\", " +"which usually looks like this:" msgstr "" "A menos que você use algum tipo de ambiente de desenvolvimento integrado, " "você vai acabar digitando os comandos do Windows no que é chamado \"janela " "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:" +"reconhecer quando iniciar porque você verá um \"Prompt de Comando do " +"Windows\", que geralmente tem esta forma:" #: ../../faq/windows.rst:39 msgid "" @@ -168,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 @@ -181,7 +176,7 @@ msgstr "" #: ../../faq/windows.rst:114 msgid "How do I make Python scripts executable?" -msgstr "Como eu faço para criar programas Python executáveis? " +msgstr "Como eu faço para criar programas Python executáveis?" #: ../../faq/windows.rst:116 msgid "" @@ -249,7 +244,7 @@ msgstr "" #: ../../faq/windows.rst:148 msgid "Is a ``*.pyd`` file the same as a DLL?" -msgstr "Um arquivo ``*.pyd`` é o mesmo que um DLL? " +msgstr "Um arquivo ``*.pyd`` é o mesmo que um DLL?" #: ../../faq/windows.rst:150 msgid "" @@ -300,18 +295,18 @@ msgstr "" #: ../../faq/windows.rst:170 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." +"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." 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 " +"**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 " "próprios. (Este é o primeiro fato chave não documentado.) Em vez disso, " -"vincule a :file:`python{NN}.dll`; normalmente é instalado em ``C:\\Windows" -"\\System``. *NN* é a versão do Python, um número como \"33\" para o Python " -"3.3." +"vincule a :file:`python{NN}.dll`; normalmente é instalado em ``C:" +"\\Windows\\System``. *NN* é a versão do Python, um número como \"33\" para o " +"Python 3.3." #: ../../faq/windows.rst:176 msgid "" @@ -326,7 +321,7 @@ msgstr "" "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.)" +"ligador.)" #: ../../faq/windows.rst:182 msgid "" @@ -347,29 +342,21 @@ msgstr "" "ponteiros transparente para qualquer código C que chama rotinas na API C do " "Python." -#: ../../faq/windows.rst:189 -msgid "" -"Borland note: convert :file:`python{NN}.lib` to OMF format using Coff2Omf." -"exe first." -msgstr "" -"Nota da Borland: converter :file:`python{NN}.lib` ao formato OMF usando " -"Coff2Omf.exe primeiro." - -#: ../../faq/windows.rst:194 +#: ../../faq/windows.rst:191 msgid "" "If you use SWIG, it is easy to create a Python \"extension module\" that " "will make the app's data and methods available to Python. SWIG will handle " "just about all the grungy details for you. The result is C code that you " -"link *into* your .exe file (!) You do _not_ have to create a DLL file, and " -"this also simplifies linking." +"link *into* your .exe file (!) You do **not** have to create a DLL file, " +"and this also simplifies linking." msgstr "" "Se você usa SWIG, é fácil criar um \"módulo de extensão\" do Python que " "disponibilizará os dados e os métodos da aplicação para o Python. O SWIG " "cuidará de todos os detalhes obscuros para você. O resultado é o código C " -"que você vincula *ao* arquivo.exe (!) Você _não_ precisa criar um arquivo " +"que você vincula *ao* arquivo.exe (!) Você **não** precisa criar um arquivo " "DLL, o que também simplifica a vinculação." -#: ../../faq/windows.rst:200 +#: ../../faq/windows.rst:197 msgid "" "SWIG will create an init function (a C function) whose name depends on the " "name of the extension module. For example, if the name of the module is " @@ -383,7 +370,7 @@ msgstr "" "função init será chamada initleoc(). Isso inicializa uma classe auxiliar " "principalmente oculta usada pela classe shadow." -#: ../../faq/windows.rst:206 +#: ../../faq/windows.rst:203 msgid "" "The reason you can link the C code in step 2 into your .exe file is that " "calling the initialization function is equivalent to importing the module " @@ -393,7 +380,7 @@ msgstr "" "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:210 +#: ../../faq/windows.rst:207 msgid "" "In short, you can use the following code to initialize the Python " "interpreter with your extension module." @@ -401,7 +388,7 @@ msgstr "" "Em suma, você pode utilizar o código a seguir para inicializar o " "interpretador Python com seu módulo de extensão." -#: ../../faq/windows.rst:221 +#: ../../faq/windows.rst:218 msgid "" "There are two problems with Python's C API which will become apparent if you " "use a compiler other than MSVC, the compiler used to build pythonNN.dll." @@ -410,27 +397,27 @@ msgstr "" "você utiliza um compilador que não seja o MSVC, o compilador utilizado no " "pythonNN.dll." -#: ../../faq/windows.rst:224 +#: ../../faq/windows.rst:221 msgid "" -"Problem 1: The so-called \"Very High Level\" functions that take FILE * " +"Problem 1: The so-called \"Very High Level\" functions that take ``FILE *`` " "arguments will not work in a multi-compiler environment because each " -"compiler's notion of a struct FILE will be different. From an " -"implementation standpoint these are very _low_ level functions." +"compiler's notion of a ``struct FILE`` will be different. From an " +"implementation standpoint these are very low level functions." msgstr "" "Problema 1: As chamadas funções de \"Nível Muito Alto\" que recebem " -"argumentos FILE * não funcionarão em um ambiente com vários compiladores " -"porque a noção de cada struct FILE de um compilador será diferente. Do ponto " -"de vista da implementação, essas são funções de nível muito baixo." +"argumentos ``FILE *`` não funcionarão em um ambiente com vários compiladores " +"porque a noção de cada ``struct FILE`` de um compilador será diferente. Do " +"ponto de vista da implementação, essas são funções de nível muito baixo." -#: ../../faq/windows.rst:229 +#: ../../faq/windows.rst:226 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:238 +#: ../../faq/windows.rst:235 msgid "" "Alas, Py_None is a macro that expands to a reference to a complex data " "structure called _Py_NoneStruct inside pythonNN.dll. Again, this code will " @@ -441,7 +428,7 @@ msgstr "" "Novamente, esse código falhará em um ambiente com vários compiladores. " "Substitua esse código por:" -#: ../../faq/windows.rst:246 +#: ../../faq/windows.rst:243 msgid "" "It may be possible to use SWIG's ``%typemap`` command to make the change " "automatically, though I have not been able to get this to work (I'm a " @@ -451,7 +438,7 @@ msgstr "" "automaticamente, embora eu não tenha conseguido fazer isso funcionar (eu sou " "um completo novato em SWIG)." -#: ../../faq/windows.rst:250 +#: ../../faq/windows.rst:247 msgid "" "Using a Python shell script to put up a Python interpreter window from " "inside your Windows app is not a good idea; the resulting window will be " @@ -471,12 +458,12 @@ msgstr "" "gravação; portanto, tudo que você precisa é de um objeto Python (definido no " "seu módulo de extensão) que contenha métodos read() e write()." -#: ../../faq/windows.rst:259 +#: ../../faq/windows.rst:256 msgid "How do I keep editors from inserting tabs into my Python source?" msgstr "" "Como eu impeço editores de adicionarem tabulações na minha source do Python?" -#: ../../faq/windows.rst:261 +#: ../../faq/windows.rst:258 msgid "" "The FAQ does not recommend using tabs, and the Python style guide, :pep:`8`, " "recommends 4 spaces for distributed Python code; this is also the Emacs " @@ -486,7 +473,7 @@ msgstr "" "de estilo Python, \\:pep\\:`8`, recomenda 4 espaços para código de Python " "distribuído; esse também é o padrão do python-mode do Emacs." -#: ../../faq/windows.rst:265 +#: ../../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 :" @@ -500,7 +487,7 @@ msgstr "" "arquivo \"Default\", defina \"Tab size\" e \"Indent size\" para 4 e " "selecione o botão de opção \"Insert spaces\"." -#: ../../faq/windows.rst:270 +#: ../../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:" @@ -511,11 +498,11 @@ msgstr "" "esquerda. Você também pode executar o módulo :mod:`tabnanny` para verificar " "uma árvore de diretórios no modo em lote." -#: ../../faq/windows.rst:277 +#: ../../faq/windows.rst:274 msgid "How do I check for a keypress without blocking?" msgstr "Como faço para verificar uma tecla pressionada sem bloquear?" -#: ../../faq/windows.rst:279 +#: ../../faq/windows.rst:276 msgid "" "Use the :mod:`msvcrt` module. This is a standard Windows-specific extension " "module. It defines a function ``kbhit()`` which checks whether a keyboard " @@ -524,3 +511,22 @@ msgstr "" "Use o módulo :mod:`msvcrt`. Este é um módulo de extensão padrão específico " "do Windows. Ele define uma função ``kbhit()`` que verifica se um toque no " "teclado está presente, e ``getch()`` que recebe um caractere sem ecoá-lo." + +#: ../../faq/windows.rst:281 +msgid "How do I solve the missing api-ms-win-crt-runtime-l1-1-0.dll error?" +msgstr "Como resolvo o erro da api-ms-win-crt-runtime-l1-1-0.dll ausente?" + +#: ../../faq/windows.rst:283 +msgid "" +"This can occur on Python 3.5 and later when using Windows 8.1 or earlier " +"without all updates having been installed. First ensure your operating " +"system is supported and is up to date, and if that does not resolve the " +"issue, visit the `Microsoft support page `_ for guidance on manually installing the C Runtime update." +msgstr "" +"Isso pode ocorrer no Python 3.5 e posterior ao usar o Windows 8.1 ou " +"anterior sem que todas as atualizações tenham sido instaladas. Primeiro, " +"certifique-se de que seu sistema operacional seja compatível e esteja " +"atualizado e, se isso não resolver o problema, visite a `página de suporte " +"da Microsoft `_ para " +"obter orientação sobre como instalar manualmente a atualização do C Runtime." diff --git a/glossary.po b/glossary.po index 266828c66..3d275f0ff 100644 --- a/glossary.po +++ b/glossary.po @@ -1,34 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, Python Software 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 -# Rafael Fontenelle , 2021 -# Adorilson Bezerra , 2021 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.10\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-07-26 13:07+0000\n" -"PO-Revision-Date: 2021-06-28 00:47+0000\n" -"Last-Translator: Adorilson Bezerra , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2026-02-07 17:18+0000\n" +"PO-Revision-Date: 2025-09-22 15:57+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../glossary.rst:5 msgid "Glossary" @@ -111,17 +104,17 @@ msgid "" "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`." +"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" @@ -143,8 +136,8 @@ 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." @@ -178,9 +171,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 "" @@ -191,8 +184,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 @@ -204,8 +197,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 "" @@ -338,19 +331,33 @@ msgstr "atributo" #: ../../glossary.rst:139 msgid "" -"A value associated with an object which is referenced by name using dotted " -"expressions. For example, if an object *o* has an attribute *a* it would be " -"referenced as *o.a*." +"A value associated with an object which is usually referenced by name using " +"dotted expressions. For example, if an object *o* has an attribute *a* it " +"would be referenced as *o.a*." +msgstr "" +"Um valor associado a um objeto que é geralmente referenciado pelo nome " +"separado por um ponto. Por exemplo, se um objeto *o* tem um atributo *a* " +"esse seria referenciado como *o.a*." + +#: ../../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`." msgstr "" -"Um valor associado a um objeto que é referenciado pelo nome separado por um " -"ponto. Por exemplo, se um objeto *o* tem um atributo *a* esse seria " -"referenciado como *o.a*." +"É 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`." -#: ../../glossary.rst:142 +#: ../../glossary.rst:149 msgid "awaitable" msgstr "aguardável" -#: ../../glossary.rst:144 +#: ../../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 :" @@ -360,24 +367,24 @@ msgstr "" "uma :term:`corrotina` ou um objeto com um método :meth:`__await__`. Veja " "também a :pep:`492`." -#: ../../glossary.rst:147 +#: ../../glossary.rst:154 msgid "BDFL" msgstr "BDFL" -#: ../../glossary.rst:149 +#: ../../glossary.rst:156 msgid "" "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:151 +#: ../../glossary.rst:158 msgid "binary file" msgstr "arquivo binário" -#: ../../glossary.rst:153 +#: ../../glossary.rst:160 msgid "" "A :term:`file object` able to read and write :term:`bytes-like objects " "`. Examples of binary files are files opened in binary " @@ -391,7 +398,7 @@ msgstr "" "data:`sys.stdin.buffer`, :data:`sys.stdout.buffer` e instâncias de :class:" "`io.BytesIO` e :class:`gzip.GzipFile`." -#: ../../glossary.rst:160 +#: ../../glossary.rst:167 msgid "" "See also :term:`text file` for a file object able to read and write :class:" "`str` objects." @@ -399,24 +406,23 @@ msgstr "" "Veja também :term:`arquivo texto ` para um objeto arquivo capaz " "de ler e gravar em objetos :class:`str`." -#: ../../glossary.rst:162 +#: ../../glossary.rst:169 msgid "borrowed reference" msgstr "referência emprestada" -#: ../../glossary.rst:164 +#: ../../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:169 +#: ../../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 " @@ -430,11 +436,11 @@ msgstr "" "emprestada. A função :c:func:`Py_NewRef` pode ser usada para criar uma nova :" "term:`referência forte`." -#: ../../glossary.rst:174 +#: ../../glossary.rst:182 msgid "bytes-like object" -msgstr "objeto byte ou similar" +msgstr "objeto bytes ou similar" -#: ../../glossary.rst:176 +#: ../../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`, " @@ -443,14 +449,14 @@ msgid "" "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, " +"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:183 +#: ../../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 " @@ -460,18 +466,19 @@ msgid "" "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 " +"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 byte ou similar para somente leitura\"); exemplos disso " -"incluem :class:`bytes` e a :class:`memoryview` de um objeto :class:`bytes`." +"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:191 +#: ../../glossary.rst:199 msgid "bytecode" msgstr "bytecode" -#: ../../glossary.rst:193 +#: ../../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 " @@ -492,7 +499,7 @@ msgstr "" "bytecodes sejam executados entre máquinas virtuais Python diferentes, nem " "que se mantenham estáveis entre versões de Python." -#: ../../glossary.rst:203 +#: ../../glossary.rst:211 msgid "" "A list of bytecode instructions can be found in the documentation for :ref:" "`the dis module `." @@ -500,11 +507,33 @@ msgstr "" "Uma lista de instruções bytecode pode ser encontrada na documentação para :" "ref:`o módulo dis `." -#: ../../glossary.rst:205 +#: ../../glossary.rst:213 +msgid "callable" +msgstr "chamável" + +#: ../../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::" +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: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 " +"also a callable." +msgstr "" +"Uma :term:`função`, e por extensão um :term:`método`, é um chamável. Uma " +"instância de uma classe que implementa o método :meth:`~object.__call__` " +"também é um chamável." + +#: ../../glossary.rst:223 msgid "callback" msgstr "função de retorno" -#: ../../glossary.rst:207 +#: ../../glossary.rst:225 msgid "" "A subroutine function which is passed as an argument to be executed at some " "point in the future." @@ -512,11 +541,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:209 +#: ../../glossary.rst:227 msgid "class" msgstr "classe" -#: ../../glossary.rst:211 +#: ../../glossary.rst:229 msgid "" "A template for creating user-defined objects. Class definitions normally " "contain method definitions which operate on instances of the class." @@ -525,11 +554,11 @@ msgstr "" "classe normalmente contém definições de métodos que operam sobre instâncias " "da classe." -#: ../../glossary.rst:214 +#: ../../glossary.rst:232 msgid "class variable" msgstr "variável de classe" -#: ../../glossary.rst:216 +#: ../../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)." @@ -537,11 +566,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:218 +#: ../../glossary.rst:236 msgid "coercion" msgstr "coerção" -#: ../../glossary.rst:220 +#: ../../glossary.rst:238 msgid "" "The implicit conversion of an instance of one type to another during an " "operation which involves two arguments of the same type. For example, " @@ -562,11 +591,11 @@ msgstr "" "valor pelo programador, por exemplo, ``float(3)+4.5`` em vez de apenas " "``3+4.5``." -#: ../../glossary.rst:228 +#: ../../glossary.rst:246 msgid "complex number" msgstr "número complexo" -#: ../../glossary.rst:230 +#: ../../glossary.rst:248 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 " @@ -590,11 +619,11 @@ msgstr "" "sabe se irá precisar deles, é quase certo que você pode ignorá-los sem " "problemas." -#: ../../glossary.rst:240 +#: ../../glossary.rst:258 msgid "context manager" msgstr "gerenciador de contexto" -#: ../../glossary.rst:242 +#: ../../glossary.rst:260 msgid "" "An object which controls the environment seen in a :keyword:`with` statement " "by defining :meth:`__enter__` and :meth:`__exit__` methods. See :pep:`343`." @@ -603,11 +632,11 @@ msgstr "" "meio da definição dos métodos :meth:`__enter__` e :meth:`__exit__`. Veja :" "pep:`343`." -#: ../../glossary.rst:245 +#: ../../glossary.rst:263 msgid "context variable" msgstr "variável de contexto" -#: ../../glossary.rst:247 +#: ../../glossary.rst:265 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 " @@ -623,11 +652,11 @@ msgstr "" "variáveis de contexto é acompanhar as variáveis em tarefas assíncronas " "simultâneas. Veja :mod:`contextvars`." -#: ../../glossary.rst:254 +#: ../../glossary.rst:272 msgid "contiguous" msgstr "contíguo" -#: ../../glossary.rst:258 +#: ../../glossary.rst:276 msgid "" "A buffer is considered contiguous exactly if it is either *C-contiguous* or " "*Fortran contiguous*. Zero-dimensional buffers are C and Fortran " @@ -645,11 +674,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:266 +#: ../../glossary.rst:284 msgid "coroutine" msgstr "corrotina" -#: ../../glossary.rst:268 +#: ../../glossary.rst:286 msgid "" "Coroutines are a more generalized form of subroutines. Subroutines are " "entered at one point and exited at another point. Coroutines can be " @@ -661,11 +690,11 @@ 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:273 +#: ../../glossary.rst:291 msgid "coroutine function" msgstr "função de corrotina" -#: ../../glossary.rst:275 +#: ../../glossary.rst:293 msgid "" "A function which returns a :term:`coroutine` object. A coroutine function " "may be defined with the :keyword:`async def` statement, and may contain :" @@ -677,11 +706,11 @@ msgstr "" "conter as palavras chaves :keyword:`await`, :keyword:`async for`, e :keyword:" "`async with`. Isso foi introduzido pela :pep:`492`." -#: ../../glossary.rst:280 +#: ../../glossary.rst:298 msgid "CPython" msgstr "CPython" -#: ../../glossary.rst:282 +#: ../../glossary.rst:300 msgid "" "The canonical implementation of the Python programming language, as " "distributed on `python.org `_. The term \"CPython\" " @@ -693,11 +722,11 @@ msgstr "" "\"CPython\" é usado quando necessário distinguir esta implementação de " "outras como Jython ou IronPython." -#: ../../glossary.rst:286 +#: ../../glossary.rst:304 msgid "decorator" msgstr "decorador" -#: ../../glossary.rst:288 +#: ../../glossary.rst:306 msgid "" "A function returning another function, usually applied as a function " "transformation using the ``@wrapper`` syntax. Common examples for " @@ -707,7 +736,7 @@ msgstr "" "transformação de função usando a sintaxe ``@wrapper``. Exemplos comuns para " "decoradores são :func:`classmethod` e :func:`staticmethod`." -#: ../../glossary.rst:292 +#: ../../glossary.rst:310 msgid "" "The decorator syntax is merely syntactic sugar, the following two function " "definitions are semantically equivalent::" @@ -715,7 +744,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:303 +#: ../../glossary.rst:321 msgid "" "The same concept exists for classes, but is less commonly used there. See " "the documentation for :ref:`function definitions ` and :ref:`class " @@ -725,11 +754,11 @@ 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:306 +#: ../../glossary.rst:324 msgid "descriptor" msgstr "descritor" -#: ../../glossary.rst:308 +#: ../../glossary.rst:326 msgid "" "Any object which defines the methods :meth:`__get__`, :meth:`__set__`, or :" "meth:`__delete__`. When a class attribute is a descriptor, its special " @@ -752,7 +781,7 @@ msgstr "" "propriedades, métodos de classe, métodos estáticos e referências para " "superclasses." -#: ../../glossary.rst:318 +#: ../../glossary.rst:336 msgid "" "For more information about descriptors' methods, see :ref:`descriptors` or " "the :ref:`Descriptor How To Guide `." @@ -760,11 +789,11 @@ msgstr "" "Para obter mais informações sobre os métodos dos descritores, veja: :ref:" "`descriptors` ou o :ref:`Guia de Descritores `." -#: ../../glossary.rst:320 +#: ../../glossary.rst:338 msgid "dictionary" msgstr "dicionário" -#: ../../glossary.rst:322 +#: ../../glossary.rst:340 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 " @@ -775,11 +804,11 @@ msgstr "" "e :meth:`__eq__`. Dicionários são estruturas chamadas de hash na linguagem " "Perl." -#: ../../glossary.rst:325 +#: ../../glossary.rst:343 msgid "dictionary comprehension" msgstr "compreensão de dicionário" -#: ../../glossary.rst:327 +#: ../../glossary.rst:345 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 " @@ -791,11 +820,11 @@ 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:331 +#: ../../glossary.rst:349 msgid "dictionary view" msgstr "visão de dicionário" -#: ../../glossary.rst:333 +#: ../../glossary.rst:351 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 " @@ -810,11 +839,11 @@ msgstr "" "dicionário a se tornar uma lista completa use ``list(dictview)``. Veja :ref:" "`dict-views`." -#: ../../glossary.rst:339 +#: ../../glossary.rst:357 msgid "docstring" msgstr "docstring" -#: ../../glossary.rst:341 +#: ../../glossary.rst:359 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 " @@ -829,11 +858,11 @@ msgstr "" "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:347 +#: ../../glossary.rst:365 msgid "duck-typing" msgstr "tipagem pato" -#: ../../glossary.rst:349 +#: ../../glossary.rst:367 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 " @@ -851,17 +880,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:358 +#: ../../glossary.rst:376 msgid "EAFP" msgstr "EAFP" -#: ../../glossary.rst:360 +#: ../../glossary.rst:378 msgid "" "Easier to ask for forgiveness than permission. This common Python coding " "style assumes the existence of valid keys or attributes and catches " @@ -872,17 +901,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." -#: ../../glossary.rst:366 +#: ../../glossary.rst:384 msgid "expression" msgstr "expressão" -#: ../../glossary.rst:368 +#: ../../glossary.rst:386 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, " @@ -901,11 +930,11 @@ msgstr "" "como, por exemplo, :keyword:`while`. Atribuições também são instruções, não " "expressões." -#: ../../glossary.rst:375 +#: ../../glossary.rst:393 msgid "extension module" msgstr "módulo de extensão" -#: ../../glossary.rst:377 +#: ../../glossary.rst:395 msgid "" "A module written in C or C++, using Python's C API to interact with the core " "and with user code." @@ -913,11 +942,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:379 +#: ../../glossary.rst:397 msgid "f-string" msgstr "f-string" -#: ../../glossary.rst:381 +#: ../../glossary.rst:399 msgid "" "String literals prefixed with ``'f'`` or ``'F'`` are commonly called \"f-" "strings\" which is short for :ref:`formatted string literals `. " @@ -927,11 +956,11 @@ msgstr "" "strings\" que é uma abreviação de :ref:`formatted string literals `. Veja também :pep:`498`." -#: ../../glossary.rst:384 +#: ../../glossary.rst:402 msgid "file object" msgstr "objeto arquivo" -#: ../../glossary.rst:386 +#: ../../glossary.rst:404 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 " @@ -948,7 +977,7 @@ msgstr "" "soquetes, pipes, etc.). Objetos arquivo também são chamados de :dfn:`objetos " "arquivo ou similares` ou :dfn:`fluxos`." -#: ../../glossary.rst:394 +#: ../../glossary.rst:412 msgid "" "There are actually three categories of file objects: raw :term:`binary files " "`, buffered :term:`binary files ` and :term:`text " @@ -962,19 +991,19 @@ msgstr "" "módulo :mod:`io`. A forma canônica para criar um objeto arquivo é usando a " "função :func:`open`." -#: ../../glossary.rst:399 +#: ../../glossary.rst:417 msgid "file-like object" msgstr "objeto arquivo ou similar" -#: ../../glossary.rst:401 +#: ../../glossary.rst:419 msgid "A synonym for :term:`file object`." msgstr "Um sinônimo do termo :term:`objeto arquivo`." -#: ../../glossary.rst:402 +#: ../../glossary.rst:420 msgid "filesystem encoding and error handler" msgstr "tratador de erros e codificação do sistema de arquivos" -#: ../../glossary.rst:404 +#: ../../glossary.rst:422 msgid "" "Encoding and error handler used by Python to decode bytes from the operating " "system and encode Unicode to the operating system." @@ -982,7 +1011,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:407 +#: ../../glossary.rst:425 msgid "" "The filesystem encoding must guarantee to successfully decode all bytes " "below 128. If the file system encoding fails to provide this guarantee, API " @@ -993,7 +1022,7 @@ msgstr "" "arquivos falhar em fornecer essa garantia, as funções da API podem levantar :" "exc:`UnicodeError`." -#: ../../glossary.rst:411 +#: ../../glossary.rst:429 msgid "" "The :func:`sys.getfilesystemencoding` and :func:`sys." "getfilesystemencodeerrors` functions can be used to get the filesystem " @@ -1003,7 +1032,7 @@ msgstr "" "getfilesystemencodeerrors` podem ser usadas para obter o tratador de erros e " "codificação do sistema de arquivos." -#: ../../glossary.rst:415 +#: ../../glossary.rst:433 msgid "" "The :term:`filesystem encoding and error handler` are configured at Python " "startup by the :c:func:`PyConfig_Read` function: see :c:member:`~PyConfig." @@ -1015,15 +1044,15 @@ msgstr "" "veja os membros :c:member:`~PyConfig.filesystem_encoding` e :c:member:" "`~PyConfig.filesystem_errors` do :c:type:`PyConfig`." -#: ../../glossary.rst:420 +#: ../../glossary.rst:438 msgid "See also the :term:`locale encoding`." msgstr "Veja também :term:`codificação da localidade`." -#: ../../glossary.rst:421 +#: ../../glossary.rst:439 msgid "finder" msgstr "localizador" -#: ../../glossary.rst:423 +#: ../../glossary.rst:441 msgid "" "An object that tries to find the :term:`loader` for a module that is being " "imported." @@ -1031,7 +1060,7 @@ msgstr "" "Um objeto que tenta encontrar o :term:`carregador` para um módulo que está " "sendo importado." -#: ../../glossary.rst:426 +#: ../../glossary.rst:444 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 " @@ -1042,15 +1071,15 @@ msgstr "" "term:`localizadores de entrada de caminho ` para uso com :" "data:`sys.path_hooks`." -#: ../../glossary.rst:430 +#: ../../glossary.rst:448 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:431 +#: ../../glossary.rst:449 msgid "floor division" msgstr "divisão pelo piso" -#: ../../glossary.rst:433 +#: ../../glossary.rst:451 msgid "" "Mathematical division that rounds down to nearest integer. The floor " "division operator is ``//``. For example, the expression ``11 // 4`` " @@ -1064,11 +1093,11 @@ msgstr "" "de ponto flutuante. Note que ``(-11) // 4`` é ``-3`` porque é ``-2.75`` " "arredondado *para baixo*. Consulte a :pep:`238`." -#: ../../glossary.rst:438 +#: ../../glossary.rst:456 msgid "function" msgstr "função" -#: ../../glossary.rst:440 +#: ../../glossary.rst:458 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 " @@ -1080,15 +1109,15 @@ msgstr "" "usados na execução do corpo. Veja também :term:`parâmetro`, :term:`método` e " "a seção :ref:`function`." -#: ../../glossary.rst:444 +#: ../../glossary.rst:462 msgid "function annotation" msgstr "anotação de função" -#: ../../glossary.rst:446 +#: ../../glossary.rst:464 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:448 +#: ../../glossary.rst:466 msgid "" "Function annotations are usually used for :term:`type hints `: " "for example, this function is expected to take two :class:`int` arguments " @@ -1098,11 +1127,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:456 +#: ../../glossary.rst:474 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:458 +#: ../../glossary.rst:476 msgid "" "See :term:`variable annotation` and :pep:`484`, which describe this " "functionality. Also see :ref:`annotations-howto` for best practices on " @@ -1112,11 +1141,11 @@ msgstr "" "funcionalidade. Veja também :ref:`annotations-howto` para as melhores " "práticas sobre como trabalhar com anotações." -#: ../../glossary.rst:462 +#: ../../glossary.rst:480 msgid "__future__" msgstr "__future__" -#: ../../glossary.rst:464 +#: ../../glossary.rst:482 msgid "" "A :ref:`future statement `, ``from __future__ import ``, " "directs the compiler to compile the current module using syntax or semantics " @@ -1126,12 +1155,18 @@ msgid "" "feature was first added to the language and when it will (or did) become the " "default::" msgstr "" +"A :ref:`instrução future `, ``from __future__ import ``, " +"direciona o compilador a compilar o módulo atual usando sintaxe ou semântica " +"que será padrão em uma versão futura de Python. O módulo :mod:`__future__` " +"documenta os possíveis valores de *feature*. Importando esse módulo e " +"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:475 +#: ../../glossary.rst:493 msgid "garbage collection" msgstr "coleta de lixo" -#: ../../glossary.rst:477 +#: ../../glossary.rst:495 msgid "" "The process of freeing memory when it is not used anymore. Python performs " "garbage collection via reference counting and a cyclic garbage collector " @@ -1144,11 +1179,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:483 +#: ../../glossary.rst:501 msgid "generator" msgstr "gerador" -#: ../../glossary.rst:485 +#: ../../glossary.rst:503 msgid "" "A function which returns a :term:`generator iterator`. It looks like a " "normal function except that it contains :keyword:`yield` expressions for " @@ -1161,7 +1196,7 @@ msgstr "" "um laço \"for\" ou que podem ser obtidos um de cada vez com a função :func:" "`next`." -#: ../../glossary.rst:490 +#: ../../glossary.rst:508 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 " @@ -1171,15 +1206,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:493 +#: ../../glossary.rst:511 msgid "generator iterator" msgstr "iterador gerador" -#: ../../glossary.rst:495 +#: ../../glossary.rst:513 msgid "An object created by a :term:`generator` function." msgstr "Um objeto criado por uma função :term:`geradora `." -#: ../../glossary.rst:497 +#: ../../glossary.rst:515 msgid "" "Each :keyword:`yield` temporarily suspends processing, remembering the " "location execution state (including local variables and pending try-" @@ -1192,11 +1227,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:504 +#: ../../glossary.rst:522 msgid "generator expression" msgstr "expressão geradora" -#: ../../glossary.rst:506 +#: ../../glossary.rst:524 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 " @@ -1208,11 +1243,11 @@ msgstr "" "uma cláusula :keyword:`!if` opcional. A expressão combinada gera valores " "para uma função encapsuladora::" -#: ../../glossary.rst:513 +#: ../../glossary.rst:531 msgid "generic function" msgstr "função genérica" -#: ../../glossary.rst:515 +#: ../../glossary.rst:533 msgid "" "A function composed of multiple functions implementing the same operation " "for different types. Which implementation should be used during a call is " @@ -1222,7 +1257,7 @@ msgstr "" "diferentes tipos. Qual implementação deverá ser usada durante a execução é " "determinada pelo algoritmo de despacho." -#: ../../glossary.rst:519 +#: ../../glossary.rst:537 msgid "" "See also the :term:`single dispatch` glossary entry, the :func:`functools." "singledispatch` decorator, and :pep:`443`." @@ -1230,41 +1265,41 @@ msgstr "" "Veja também a entrada :term:`despacho único` no glossário, o decorador :func:" "`functools.singledispatch`, e a :pep:`443`." -#: ../../glossary.rst:521 +#: ../../glossary.rst:539 msgid "generic type" msgstr "tipo genérico" -#: ../../glossary.rst:523 +#: ../../glossary.rst:541 msgid "" -"A :term:`type` that can be parameterized; typically a container like :class:" -"`list`. Used for :term:`type hints ` and :term:`annotations " -"`." +"A :term:`type` that can be parameterized; typically a :ref:`container " +"class` such as :class:`list` or :class:`dict`. Used for :" +"term:`type hints ` and :term:`annotations `." msgstr "" -"Um :term:`tipo` que pode ser parametrizado; tipicamente um contêiner como :" -"class:`list`. Usado para :term:`dicas de tipo` e :term:`anotações " -"`." +"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:527 +#: ../../glossary.rst:546 msgid "" -"See :pep:`483` for more details, and :mod:`typing` or :ref:`generic alias " -"type ` for its uses." +"For more details, see :ref:`generic alias types`, :pep:" +"`483`, :pep:`484`, :pep:`585`, and the :mod:`typing` module." msgstr "" -"Veja :pep:`483` para mais detalhes e :mod:`typing` ou :ref:`tipo de alias " -"genérico ` para seus usuários." +"Para mais detalhes, veja :ref:`tipo apelido genérico `, :" +"pep:`483`, :pep:`484`, :pep:`585`, e o módulo :mod:`typing`." -#: ../../glossary.rst:529 +#: ../../glossary.rst:548 msgid "GIL" msgstr "GIL" -#: ../../glossary.rst:531 +#: ../../glossary.rst:550 msgid "See :term:`global interpreter lock`." -msgstr "Veja :term:`bloqueio global do interpretador`." +msgstr "Veja :term:`trava global do interpretador`." -#: ../../glossary.rst:532 +#: ../../glossary.rst:551 msgid "global interpreter lock" -msgstr "bloqueio global do interpretador" +msgstr "trava global do interpretador" -#: ../../glossary.rst:534 +#: ../../glossary.rst:553 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 " @@ -1279,22 +1314,23 @@ 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:543 +#: ../../glossary.rst:562 msgid "" "However, some extension modules, either standard or third-party, are " -"designed so as to release the GIL when doing computationally-intensive tasks " +"designed so as to release the GIL when doing computationally intensive tasks " "such as compression or hashing. Also, the GIL is always released when doing " "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:548 +#: ../../glossary.rst:567 msgid "" "Past efforts to create a \"free-threaded\" interpreter (one which locks " "shared data at a much finer granularity) have not been successful because " @@ -1309,11 +1345,11 @@ msgstr "" "desempenho acabaria tornando a implementação muito mais complicada e bem " "mais difícil de manter." -#: ../../glossary.rst:554 +#: ../../glossary.rst:573 msgid "hash-based pyc" msgstr "pyc baseado em hash" -#: ../../glossary.rst:556 +#: ../../glossary.rst:575 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-" @@ -1323,11 +1359,11 @@ msgstr "" "arquivo de código-fonte foi modificado pela última vez, para determinar a " "sua validade. Veja :ref:`pyc-invalidation`." -#: ../../glossary.rst:559 +#: ../../glossary.rst:578 msgid "hashable" msgstr "hasheável" -#: ../../glossary.rst:561 +#: ../../glossary.rst:580 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 " @@ -1339,7 +1375,7 @@ msgstr "" "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." -#: ../../glossary.rst:566 +#: ../../glossary.rst:585 msgid "" "Hashability makes an object usable as a dictionary key and a set member, " "because these data structures use the hash value internally." @@ -1348,7 +1384,7 @@ msgstr "" "dicionário e como um membro de conjunto, pois estas estruturas de dados " "utilizam os valores de hash internamente." -#: ../../glossary.rst:569 +#: ../../glossary.rst:588 msgid "" "Most of Python's immutable built-in objects are hashable; mutable containers " "(such as lists or dictionaries) are not; immutable containers (such as " @@ -1357,33 +1393,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:576 +#: ../../glossary.rst:595 msgid "IDLE" msgstr "IDLE" -#: ../../glossary.rst:578 +#: ../../glossary.rst:597 msgid "" -"An Integrated Development Environment for Python. IDLE is a basic editor " -"and interpreter environment which ships with the standard distribution of " -"Python." +"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 integrado para Python. 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:581 +#: ../../glossary.rst:600 msgid "immutable" msgstr "imutável" -#: ../../glossary.rst:583 +#: ../../glossary.rst:602 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 " @@ -1397,11 +1432,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:588 +#: ../../glossary.rst:607 msgid "import path" msgstr "caminho de importação" -#: ../../glossary.rst:590 +#: ../../glossary.rst:609 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 " @@ -1414,11 +1449,11 @@ msgstr "" "partir de :data:`sys.path`, mas para subpacotes ela também pode vir do " "atributo ``__path__`` de pacotes-pai." -#: ../../glossary.rst:595 +#: ../../glossary.rst:614 msgid "importing" msgstr "importação" -#: ../../glossary.rst:597 +#: ../../glossary.rst:616 msgid "" "The process by which Python code in one module is made available to Python " "code in another module." @@ -1426,11 +1461,11 @@ 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:599 +#: ../../glossary.rst:618 msgid "importer" msgstr "importador" -#: ../../glossary.rst:601 +#: ../../glossary.rst:620 msgid "" "An object that both finds and loads a module; both a :term:`finder` and :" "term:`loader` object." @@ -1438,11 +1473,11 @@ msgstr "" "Um objeto que localiza e carrega um módulo; Tanto um :term:`localizador` e o " "objeto :term:`carregador`." -#: ../../glossary.rst:603 +#: ../../glossary.rst:622 msgid "interactive" msgstr "interativo" -#: ../../glossary.rst:605 +#: ../../glossary.rst:624 msgid "" "Python has an interactive interpreter which means you can enter statements " "and expressions at the interpreter prompt, immediately execute them and see " @@ -1458,11 +1493,11 @@ msgstr "" "de testar novas ideias ou aprender mais sobre módulos e pacotes (lembre-se " "do comando ``help(x)``)." -#: ../../glossary.rst:611 +#: ../../glossary.rst:630 msgid "interpreted" msgstr "interpretado" -#: ../../glossary.rst:613 +#: ../../glossary.rst:632 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. " @@ -1480,11 +1515,11 @@ msgstr "" "geralmente serem executados mais lentamente. Veja também :term:`interativo " "`." -#: ../../glossary.rst:620 +#: ../../glossary.rst:639 msgid "interpreter shutdown" msgstr "desligamento do interpretador" -#: ../../glossary.rst:622 +#: ../../glossary.rst:641 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 " @@ -1505,7 +1540,7 @@ msgstr "" "depende podem não funcionar mais (exemplos comuns são os módulos de " "bibliotecas, ou os mecanismos de avisos)." -#: ../../glossary.rst:631 +#: ../../glossary.rst:650 msgid "" "The main reason for interpreter shutdown is that the ``__main__`` module or " "the script being run has finished executing." @@ -1513,11 +1548,11 @@ 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:633 +#: ../../glossary.rst:652 msgid "iterable" msgstr "iterável" -#: ../../glossary.rst:635 +#: ../../glossary.rst:654 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`, " @@ -1533,7 +1568,7 @@ msgstr "" "que você definir com um método :meth:`__iter__` ou com um método :meth:" "`__getitem__` que implemente a semântica de :term:`Sequência `." -#: ../../glossary.rst:642 +#: ../../glossary.rst:661 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 " @@ -1555,11 +1590,11 @@ msgstr "" "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:652 +#: ../../glossary.rst:671 msgid "iterator" msgstr "iterador" -#: ../../glossary.rst:654 +#: ../../glossary.rst:673 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 :" @@ -1579,28 +1614,36 @@ 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` exception " -"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:669 +"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:688 msgid "More information can be found in :ref:`typeiter`." msgstr "Mais informações podem ser encontradas em :ref:`typeiter`." -#: ../../glossary.rst:670 +#: ../../glossary.rst:692 +msgid "" +"CPython does not consistently apply the requirement that an iterator define :" +"meth:`__iter__`." +msgstr "" +"O CPython não aplica consistentemente o requisito que um iterador define :" +"meth:`__iter__`." + +#: ../../glossary.rst:694 msgid "key function" msgstr "função chave" -#: ../../glossary.rst:672 +#: ../../glossary.rst:696 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 " @@ -1611,19 +1654,19 @@ msgstr "" "para produzir uma chave de ordenação que leva o locale em consideração para " "fins de ordenação." -#: ../../glossary.rst:677 +#: ../../glossary.rst:701 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 " +"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:683 +#: ../../glossary.rst:707 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. " @@ -1643,19 +1686,19 @@ msgstr "" "o :func:`~operator.methodcaller`. Consulte o :ref:`HowTo de Ordenação " "` para ver exemplos de como criar e utilizar funções chave." -#: ../../glossary.rst:691 +#: ../../glossary.rst:715 msgid "keyword argument" msgstr "argumento nomeado" -#: ../../glossary.rst:693 ../../glossary.rst:982 +#: ../../glossary.rst:717 ../../glossary.rst:1006 msgid "See :term:`argument`." msgstr "Veja :term:`argumento`." -#: ../../glossary.rst:694 +#: ../../glossary.rst:718 msgid "lambda" msgstr "lambda" -#: ../../glossary.rst:696 +#: ../../glossary.rst:720 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 " @@ -1665,11 +1708,11 @@ msgstr "" "é avaliada quando a função é chamada. A sintaxe para criar uma função lambda " "é ``lambda [parameters]: expression``" -#: ../../glossary.rst:699 +#: ../../glossary.rst:723 msgid "LBYL" msgstr "LBYL" -#: ../../glossary.rst:701 +#: ../../glossary.rst:725 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` " @@ -1682,7 +1725,7 @@ msgstr "" "contrasta com a abordagem :term:`EAFP` e é caracterizada pela presença de " "muitas instruções :keyword:`if`." -#: ../../glossary.rst:706 +#: ../../glossary.rst:730 msgid "" "In a multi-threaded environment, the LBYL approach can risk introducing a " "race condition between \"the looking\" and \"the leaping\". For example, " @@ -1694,13 +1737,13 @@ 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." +"problema pode ser resolvido com travas ou usando a abordagem EAFP." -#: ../../glossary.rst:711 +#: ../../glossary.rst:735 msgid "locale encoding" msgstr "codificação da localidade" -#: ../../glossary.rst:713 +#: ../../glossary.rst:737 msgid "" "On Unix, it is the encoding of the LC_CTYPE locale. It can be set with " "``locale.setlocale(locale.LC_CTYPE, new_locale)``." @@ -1708,11 +1751,11 @@ msgstr "" "No Unix, é a codificação da localidade do LC_CTYPE, que pode ser definida " "com ``locale.setlocale(locale.LC_CTYPE, new_locale)``." -#: ../../glossary.rst:716 +#: ../../glossary.rst:740 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:718 +#: ../../glossary.rst:742 msgid "" "``locale.getpreferredencoding(False)`` can be used to get the locale " "encoding." @@ -1720,7 +1763,7 @@ msgstr "" "``locale.getpreferredencoding(False)`` pode ser usado para obter da " "codificação da localidade." -#: ../../glossary.rst:721 +#: ../../glossary.rst:745 msgid "" "Python uses the :term:`filesystem encoding and error handler` to convert " "between Unicode filenames and bytes filenames." @@ -1728,11 +1771,11 @@ msgstr "" "Python usa :term:`tratador de erros e codificação do sistema de arquivos` " "para converter entre nomes de arquivos e nomes de arquivos de bytes Unicode." -#: ../../glossary.rst:723 +#: ../../glossary.rst:747 msgid "list" msgstr "lista" -#: ../../glossary.rst:725 +#: ../../glossary.rst:749 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 " @@ -1742,11 +1785,11 @@ msgstr "" "de um vetor em outras linguagens do que uma lista encadeada, como o acesso " "aos elementos é da ordem O(1)." -#: ../../glossary.rst:728 +#: ../../glossary.rst:752 msgid "list comprehension" msgstr "compreensão de lista" -#: ../../glossary.rst:730 +#: ../../glossary.rst:754 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 " @@ -1761,11 +1804,11 @@ msgstr "" "keyword:`if` é opcional. Se omitida, todos os elementos no ``range(256)`` " "serão processados." -#: ../../glossary.rst:736 +#: ../../glossary.rst:760 msgid "loader" msgstr "carregador" -#: ../../glossary.rst:738 +#: ../../glossary.rst:762 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:" @@ -1777,19 +1820,19 @@ msgstr "" "`localizador`. Veja a :pep:`302` para detalhes e :class:`importlib.abc." "Loader` para um :term:`classe base abstrata`." -#: ../../glossary.rst:742 +#: ../../glossary.rst:766 msgid "magic method" msgstr "método mágico" -#: ../../glossary.rst:746 +#: ../../glossary.rst:770 msgid "An informal synonym for :term:`special method`." msgstr "Um sinônimo informal para um :term:`método especial`." -#: ../../glossary.rst:747 +#: ../../glossary.rst:771 msgid "mapping" msgstr "mapeamento" -#: ../../glossary.rst:749 +#: ../../glossary.rst:773 msgid "" "A container object that supports arbitrary key lookups and implements the " "methods specified in the :class:`~collections.abc.Mapping` or :class:" @@ -1805,11 +1848,11 @@ msgstr "" "`collections.defaultdict`, :class:`collections.OrderedDict` e :class:" "`collections.Counter`." -#: ../../glossary.rst:755 +#: ../../glossary.rst:779 msgid "meta path finder" msgstr "localizador de metacaminho" -#: ../../glossary.rst:757 +#: ../../glossary.rst:781 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 `." -#: ../../glossary.rst:761 +#: ../../glossary.rst:785 msgid "" "See :class:`importlib.abc.MetaPathFinder` for the methods that meta path " "finders implement." @@ -1827,11 +1870,11 @@ msgstr "" "Veja :class:`importlib.abc.MetaPathFinder` para os métodos que localizadores " "de metacaminho implementam." -#: ../../glossary.rst:763 +#: ../../glossary.rst:787 msgid "metaclass" msgstr "metaclasse" -#: ../../glossary.rst:765 +#: ../../glossary.rst:789 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 " @@ -1854,15 +1897,15 @@ msgstr "" "atributos, para incluir proteção contra acesso concorrente, rastrear a " "criação de objetos, implementar singletons, dentre muitas outras tarefas." -#: ../../glossary.rst:775 +#: ../../glossary.rst:799 msgid "More information can be found in :ref:`metaclasses`." msgstr "Mais informações podem ser encontradas em :ref:`metaclasses`." -#: ../../glossary.rst:776 +#: ../../glossary.rst:800 msgid "method" msgstr "método" -#: ../../glossary.rst:778 +#: ../../glossary.rst:802 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 " @@ -1874,11 +1917,11 @@ msgstr "" "objeto como seu primeiro :term:`argumento` (que comumente é chamado de " "``self``). Veja :term:`função` e :term:`escopo aninhado`." -#: ../../glossary.rst:782 +#: ../../glossary.rst:806 msgid "method resolution order" msgstr "ordem de resolução de métodos" -#: ../../glossary.rst:784 +#: ../../glossary.rst:808 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:788 +#: ../../glossary.rst:812 msgid "module" msgstr "módulo" -#: ../../glossary.rst:790 +#: ../../glossary.rst:814 msgid "" "An object that serves as an organizational unit of Python code. Modules " "have a namespace containing arbitrary Python objects. Modules are loaded " @@ -1905,15 +1948,15 @@ msgstr "" "módulos são carregados pelo Python através do processo de :term:" "`importação`." -#: ../../glossary.rst:794 +#: ../../glossary.rst:818 msgid "See also :term:`package`." msgstr "Veja também :term:`pacote`." -#: ../../glossary.rst:795 +#: ../../glossary.rst:819 msgid "module spec" -msgstr "módulo spec" +msgstr "spec de módulo" -#: ../../glossary.rst:797 +#: ../../glossary.rst:821 msgid "" "A namespace containing the import-related information used to load a module. " "An instance of :class:`importlib.machinery.ModuleSpec`." @@ -1922,19 +1965,19 @@ msgstr "" "usadas para carregar um módulo. Uma instância de :class:`importlib.machinery." "ModuleSpec`." -#: ../../glossary.rst:799 +#: ../../glossary.rst:823 msgid "MRO" msgstr "MRO" -#: ../../glossary.rst:801 +#: ../../glossary.rst:825 msgid "See :term:`method resolution order`." msgstr "Veja :term:`ordem de resolução de métodos`." -#: ../../glossary.rst:802 +#: ../../glossary.rst:826 msgid "mutable" msgstr "mutável" -#: ../../glossary.rst:804 +#: ../../glossary.rst:828 msgid "" "Mutable objects can change their value but keep their :func:`id`. See also :" "term:`immutable`." @@ -1942,11 +1985,11 @@ msgstr "" "Objeto mutável é aquele que pode modificar seus valor mas manter seu :func:" "`id`. Veja também :term:`imutável`." -#: ../../glossary.rst:806 +#: ../../glossary.rst:830 msgid "named tuple" msgstr "tupla nomeada" -#: ../../glossary.rst:808 +#: ../../glossary.rst:832 msgid "" "The term \"named tuple\" applies to any type or class that inherits from " "tuple and whose indexable elements are also accessible using named " @@ -1956,7 +1999,7 @@ 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:812 +#: ../../glossary.rst:836 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." @@ -1966,7 +2009,7 @@ msgstr "" "retornados por :func:`time.localtime` e :func:`os.stat`. Outro exemplo é :" "data:`sys.float_info`::" -#: ../../glossary.rst:823 +#: ../../glossary.rst:847 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 " @@ -1983,11 +2026,11 @@ msgstr "" "adiciona alguns métodos extras, que podem não ser encontrados quando foi " "escrita manualmente, ou em tuplas nomeadas embutidas." -#: ../../glossary.rst:830 +#: ../../glossary.rst:854 msgid "namespace" msgstr "espaço de nomes" -#: ../../glossary.rst:832 +#: ../../glossary.rst:856 msgid "" "The place where a variable is stored. Namespaces are implemented as " "dictionaries. There are the local, global and built-in namespaces as well " @@ -2010,11 +2053,11 @@ msgstr "" "claro que estas funções são implementadas pelos módulos :mod:`random` e :mod:" "`itertools` respectivamente." -#: ../../glossary.rst:842 +#: ../../glossary.rst:866 msgid "namespace package" msgstr "pacote de espaço de nomes" -#: ../../glossary.rst:844 +#: ../../glossary.rst:868 msgid "" "A :pep:`420` :term:`package` which serves only as a container for " "subpackages. Namespace packages may have no physical representation, and " @@ -2026,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:849 +#: ../../glossary.rst:873 msgid "See also :term:`module`." msgstr "Veja também :term:`módulo`." -#: ../../glossary.rst:850 +#: ../../glossary.rst:874 msgid "nested scope" msgstr "escopo aninhado" -#: ../../glossary.rst:852 +#: ../../glossary.rst:876 msgid "" "The ability to refer to a variable in an enclosing definition. For " "instance, a function defined inside another function can refer to variables " @@ -2051,11 +2094,11 @@ msgstr "" "escrever para o espaço de nomes global. O :keyword:`nonlocal` permite " "escrita para escopos externos." -#: ../../glossary.rst:859 +#: ../../glossary.rst:883 msgid "new-style class" msgstr "classe estilo novo" -#: ../../glossary.rst:861 +#: ../../glossary.rst:885 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, " @@ -2068,11 +2111,11 @@ msgstr "" "descritores, propriedades, :meth:`__getattribute__`, métodos de classe, e " "métodos estáticos." -#: ../../glossary.rst:865 +#: ../../glossary.rst:889 msgid "object" msgstr "objeto" -#: ../../glossary.rst:867 +#: ../../glossary.rst:891 msgid "" "Any data with state (attributes or value) and defined behavior (methods). " "Also the ultimate base class of any :term:`new-style class`." @@ -2081,30 +2124,30 @@ msgstr "" "definidos (métodos). Também a última classe base de qualquer :term:`classe " "estilo novo`." -#: ../../glossary.rst:870 +#: ../../glossary.rst:894 msgid "package" msgstr "pacote" -#: ../../glossary.rst:872 +#: ../../glossary.rst:896 msgid "" "A Python :term:`module` which can contain submodules or recursively, " -"subpackages. Technically, a package is a Python module with an ``__path__`` " +"subpackages. Technically, a package is a Python module with a ``__path__`` " "attribute." msgstr "" "Um :term:`módulo` Python é capaz de conter submódulos ou recursivamente, " "subpacotes. Tecnicamente, um pacote é um módulo Python com um atributo " "``__path__``." -#: ../../glossary.rst:876 +#: ../../glossary.rst:900 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:877 +#: ../../glossary.rst:901 msgid "parameter" msgstr "parâmetro" -#: ../../glossary.rst:879 +#: ../../glossary.rst:903 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 " @@ -2114,7 +2157,7 @@ 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:883 +#: ../../glossary.rst:907 msgid "" ":dfn:`positional-or-keyword`: specifies an argument that can be passed " "either :term:`positionally ` or as a :term:`keyword argument " @@ -2125,7 +2168,7 @@ msgstr "" "term:`posicional ` quanto :term:`nomeado `. Esse é o " "tipo padrão de parâmetro, por exemplo *foo* e *bar* a seguir::" -#: ../../glossary.rst:892 +#: ../../glossary.rst:916 msgid "" ":dfn:`positional-only`: specifies an argument that can be supplied only by " "position. Positional-only parameters can be defined by including a ``/`` " @@ -2135,9 +2178,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:901 +#: ../../glossary.rst:925 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-" @@ -2148,10 +2191,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:909 +#: ../../glossary.rst:933 msgid "" ":dfn:`var-positional`: specifies that an arbitrary sequence of positional " "arguments can be provided (in addition to any positional arguments already " @@ -2164,7 +2207,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:917 +#: ../../glossary.rst:941 msgid "" ":dfn:`var-keyword`: specifies that arbitrarily many keyword arguments can be " "provided (in addition to any keyword arguments already accepted by other " @@ -2172,11 +2215,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:923 +#: ../../glossary.rst:947 msgid "" "Parameters can specify both optional and required arguments, as well as " "default values for some optional arguments." @@ -2184,22 +2227,22 @@ msgstr "" "Parâmetros podem especificar tanto argumentos opcionais quanto obrigatórios, " "assim como valores padrão para alguns argumentos opcionais." -#: ../../glossary.rst:926 +#: ../../glossary.rst:950 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`." 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:930 +#: ../../glossary.rst:954 msgid "path entry" msgstr "entrada de caminho" -#: ../../glossary.rst:932 +#: ../../glossary.rst:956 msgid "" "A single location on the :term:`import path` which the :term:`path based " "finder` consults to find modules for importing." @@ -2207,11 +2250,11 @@ 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:934 +#: ../../glossary.rst:958 msgid "path entry finder" msgstr "localizador de entrada de caminho" -#: ../../glossary.rst:936 +#: ../../glossary.rst:960 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:" @@ -2221,7 +2264,7 @@ msgstr "" "(ou seja, um :term:`gancho de entrada de caminho`) que sabe como localizar " "os módulos :term:`entrada de caminho`." -#: ../../glossary.rst:940 +#: ../../glossary.rst:964 msgid "" "See :class:`importlib.abc.PathEntryFinder` for the methods that path entry " "finders implement." @@ -2229,11 +2272,11 @@ msgstr "" "Veja :class:`importlib.abc.PathEntryFinder` para os métodos que " "localizadores de entrada de caminho implementam." -#: ../../glossary.rst:942 +#: ../../glossary.rst:966 msgid "path entry hook" msgstr "gancho de entrada de caminho" -#: ../../glossary.rst:944 +#: ../../glossary.rst:968 msgid "" "A callable on the :data:`sys.path_hook` list which returns a :term:`path " "entry finder` if it knows how to find modules on a specific :term:`path " @@ -2243,23 +2286,23 @@ msgstr "" "de entrada de caminho` caso saiba como localizar módulos em uma :term:" "`entrada de caminho` específica." -#: ../../glossary.rst:947 +#: ../../glossary.rst:971 msgid "path based finder" msgstr "localizador baseado no caminho" -#: ../../glossary.rst:949 +#: ../../glossary.rst:973 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:951 +#: ../../glossary.rst:975 msgid "path-like object" msgstr "objeto caminho ou similar" -#: ../../glossary.rst:953 +#: ../../glossary.rst:977 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 " @@ -2279,11 +2322,11 @@ msgstr "" "fsencode` podem ser usadas para garantir um :class:`str` ou :class:`bytes` " "como resultado, respectivamente. Introduzido na :pep:`519`." -#: ../../glossary.rst:961 +#: ../../glossary.rst:985 msgid "PEP" msgstr "PEP" -#: ../../glossary.rst:963 +#: ../../glossary.rst:987 msgid "" "Python Enhancement Proposal. A PEP is a design document providing " "information to the Python community, or describing a new feature for Python " @@ -2295,7 +2338,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:969 +#: ../../glossary.rst:993 msgid "" "PEPs are intended to be the primary mechanisms for proposing major new " "features, for collecting community input on an issue, and for documenting " @@ -2309,15 +2352,15 @@ msgstr "" "Python. O autor da PEP é responsável por construir um consenso dentro da " "comunidade e documentar opiniões dissidentes." -#: ../../glossary.rst:975 +#: ../../glossary.rst:999 msgid "See :pep:`1`." msgstr "Veja :pep:`1`." -#: ../../glossary.rst:976 +#: ../../glossary.rst:1000 msgid "portion" msgstr "porção" -#: ../../glossary.rst:978 +#: ../../glossary.rst:1002 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`." @@ -2326,15 +2369,15 @@ msgstr "" "um arquivo zip) que contribuem para um pacote de espaço de nomes, conforme " "definido em :pep:`420`." -#: ../../glossary.rst:980 +#: ../../glossary.rst:1004 msgid "positional argument" msgstr "argumento posicional" -#: ../../glossary.rst:983 +#: ../../glossary.rst:1007 msgid "provisional API" msgstr "API provisória" -#: ../../glossary.rst:985 +#: ../../glossary.rst:1009 msgid "" "A provisional API is one which has been deliberately excluded from the " "standard library's backwards compatibility guarantees. While major changes " @@ -2353,7 +2396,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:994 +#: ../../glossary.rst:1018 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 " @@ -2364,7 +2407,7 @@ msgstr "" "encontrar uma resolução retroativa compatível para quaisquer problemas " "encontrados." -#: ../../glossary.rst:998 +#: ../../glossary.rst:1022 msgid "" "This process allows the standard library to continue to evolve over time, " "without locking in problematic design errors for extended periods of time. " @@ -2374,19 +2417,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:1001 +#: ../../glossary.rst:1025 msgid "provisional package" msgstr "pacote provisório" -#: ../../glossary.rst:1003 +#: ../../glossary.rst:1027 msgid "See :term:`provisional API`." msgstr "Veja :term:`API provisória`." -#: ../../glossary.rst:1004 +#: ../../glossary.rst:1028 msgid "Python 3000" msgstr "Python 3000" -#: ../../glossary.rst:1006 +#: ../../glossary.rst:1030 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 " @@ -2396,11 +2439,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:1009 +#: ../../glossary.rst:1033 msgid "Pythonic" msgstr "Pythônico" -#: ../../glossary.rst:1011 +#: ../../glossary.rst:1035 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 " @@ -2409,22 +2452,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:1021 +#: ../../glossary.rst:1045 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:1025 +#: ../../glossary.rst:1049 msgid "qualified name" msgstr "nome qualificado" -#: ../../glossary.rst:1027 +#: ../../glossary.rst:1051 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 " @@ -2437,7 +2481,7 @@ msgstr "" "funções e classes de nível superior, o nome qualificado é o mesmo que o nome " "do objeto::" -#: ../../glossary.rst:1044 +#: ../../glossary.rst:1068 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." @@ -2447,11 +2491,11 @@ msgstr "" "significa todo o caminho pontilhado para o módulo, incluindo quaisquer " "pacotes pai, por exemplo: ``email.mime.text``::" -#: ../../glossary.rst:1051 +#: ../../glossary.rst:1075 msgid "reference count" msgstr "contagem de referências" -#: ../../glossary.rst:1053 +#: ../../glossary.rst:1077 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 " @@ -2467,11 +2511,11 @@ msgstr "" "que programadores podem chamar para retornar a contagem de referências para " "um objeto em particular." -#: ../../glossary.rst:1059 +#: ../../glossary.rst:1083 msgid "regular package" msgstr "pacote regular" -#: ../../glossary.rst:1061 +#: ../../glossary.rst:1085 msgid "" "A traditional :term:`package`, such as a directory containing an ``__init__." "py`` file." @@ -2479,15 +2523,15 @@ msgstr "" "Um :term:`pacote` tradicional, como um diretório contendo um arquivo " "``__init__.py``." -#: ../../glossary.rst:1064 +#: ../../glossary.rst:1088 msgid "See also :term:`namespace package`." msgstr "Veja também :term:`pacote de espaço de nomes`." -#: ../../glossary.rst:1065 +#: ../../glossary.rst:1089 msgid "__slots__" msgstr "__slots__" -#: ../../glossary.rst:1067 +#: ../../glossary.rst:1091 msgid "" "A declaration inside a class that saves memory by pre-declaring space for " "instance attributes and eliminating instance dictionaries. Though popular, " @@ -2501,11 +2545,11 @@ 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:1072 +#: ../../glossary.rst:1096 msgid "sequence" msgstr "sequência" -#: ../../glossary.rst:1074 +#: ../../glossary.rst:1098 msgid "" "An :term:`iterable` which supports efficient element access using integer " "indices via the :meth:`__getitem__` special method and defines a :meth:" @@ -2524,7 +2568,7 @@ msgstr "" "sequência porque a busca usa uma chave :term:`imutável` arbitrária em vez de " "inteiros." -#: ../../glossary.rst:1083 +#: ../../glossary.rst:1107 msgid "" "The :class:`collections.abc.Sequence` abstract base class defines a much " "richer interface that goes beyond just :meth:`__getitem__` and :meth:" @@ -2538,11 +2582,11 @@ msgstr "" "e :meth:`__reversed__`. Tipos que implementam essa interface podem ser " "explicitamente registrados usando :func:`~abc.ABCMeta.register`." -#: ../../glossary.rst:1090 +#: ../../glossary.rst:1114 msgid "set comprehension" msgstr "compreensão de conjunto" -#: ../../glossary.rst:1092 +#: ../../glossary.rst:1116 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 " @@ -2554,11 +2598,11 @@ msgstr "" "'abracadabra' if c not in 'abc'}`` gera um conjunto de strings ``{'r', 'd'}" "``. Veja :ref:`comprehensions`." -#: ../../glossary.rst:1096 +#: ../../glossary.rst:1120 msgid "single dispatch" msgstr "despacho único" -#: ../../glossary.rst:1098 +#: ../../glossary.rst:1122 msgid "" "A form of :term:`generic function` dispatch where the implementation is " "chosen based on the type of a single argument." @@ -2566,11 +2610,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:1100 +#: ../../glossary.rst:1124 msgid "slice" msgstr "fatia" -#: ../../glossary.rst:1102 +#: ../../glossary.rst:1126 msgid "" "An object usually containing a portion of a :term:`sequence`. A slice is " "created using the subscript notation, ``[]`` with colons between numbers " @@ -2582,11 +2626,11 @@ 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:1106 +#: ../../glossary.rst:1130 msgid "special method" msgstr "método especial" -#: ../../glossary.rst:1110 +#: ../../glossary.rst:1134 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 " @@ -2598,11 +2642,11 @@ msgstr "" "iniciando e terminando com dois underscores. Métodos especiais estão " "documentados em :ref:`specialnames`." -#: ../../glossary.rst:1114 +#: ../../glossary.rst:1138 msgid "statement" msgstr "instrução" -#: ../../glossary.rst:1116 +#: ../../glossary.rst:1140 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 :" @@ -2612,21 +2656,23 @@ msgstr "" "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:1119 +#: ../../glossary.rst:1143 msgid "strong reference" msgstr "referência forte" -#: ../../glossary.rst:1121 +#: ../../glossary.rst:1145 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:1125 +#: ../../glossary.rst:1151 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 " @@ -2638,23 +2684,46 @@ msgstr "" "na referência forte antes de sair do escopo da referência forte, para evitar " "o vazamento de uma referência." -#: ../../glossary.rst:1130 +#: ../../glossary.rst:1156 msgid "See also :term:`borrowed reference`." msgstr "Veja também :term:`referência emprestada`." -#: ../../glossary.rst:1131 +#: ../../glossary.rst:1157 msgid "text encoding" msgstr "codificador de texto" -#: ../../glossary.rst:1133 -msgid "A codec which encodes Unicode strings to bytes." -msgstr "Um codec que codifica strings Unicode para bytes." +#: ../../glossary.rst:1159 +msgid "" +"A string in Python is a sequence of Unicode code points (in range " +"``U+0000``--``U+10FFFF``). To store or transfer a string, it needs to be " +"serialized as a sequence of bytes." +msgstr "" +"Uma string em Python é uma sequência de pontos de código Unicode (no " +"intervalo ``U+0000``--``U+10FFFF``). Para armazenar ou transferir uma " +"string, ela precisa ser serializada como uma sequência de bytes." -#: ../../glossary.rst:1134 +#: ../../glossary.rst:1163 +msgid "" +"Serializing a string into a sequence of bytes is known as \"encoding\", and " +"recreating the string from the sequence of bytes is known as \"decoding\"." +msgstr "" +"A serialização de uma string em uma sequência de bytes é conhecida como " +"\"codificação\" e a recriação da string a partir de uma sequência de bytes é " +"conhecida como \"decodificação\"." + +#: ../../glossary.rst:1166 +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\"." + +#: ../../glossary.rst:1169 msgid "text file" msgstr "arquivo texto" -#: ../../glossary.rst:1136 +#: ../../glossary.rst:1171 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:" @@ -2669,19 +2738,19 @@ msgstr "" "``'w'``), :data:`sys.stdin`, :data:`sys.stdout`, e instâncias de :class:`io." "StringIO`." -#: ../../glossary.rst:1143 +#: ../../glossary.rst:1178 msgid "" "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:1145 +#: ../../glossary.rst:1180 msgid "triple-quoted string" msgstr "aspas triplas" -#: ../../glossary.rst:1147 +#: ../../glossary.rst:1182 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 " @@ -2699,11 +2768,11 @@ msgstr "" "caractere de continuação, fazendo-as especialmente úteis quando escrevemos " "documentação em docstrings." -#: ../../glossary.rst:1154 +#: ../../glossary.rst:1189 msgid "type" msgstr "tipo" -#: ../../glossary.rst:1156 +#: ../../glossary.rst:1191 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." @@ -2713,45 +2782,45 @@ msgstr "" "tem um tipo. Um tipo de objeto é acessível pelo atributo :attr:`~instância." "__class__` ou pode ser recuperado com ``type(obj)``." -#: ../../glossary.rst:1160 +#: ../../glossary.rst:1195 msgid "type alias" -msgstr "tipo alias" +msgstr "apelido de tipo" -#: ../../glossary.rst:1162 +#: ../../glossary.rst:1197 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:1164 +#: ../../glossary.rst:1199 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:1171 +#: ../../glossary.rst:1206 msgid "could be made more readable like this::" msgstr "pode tornar-se mais legível desta forma::" -#: ../../glossary.rst:1178 ../../glossary.rst:1192 +#: ../../glossary.rst:1213 ../../glossary.rst:1227 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:1179 +#: ../../glossary.rst:1214 msgid "type hint" msgstr "dica de tipo" -#: ../../glossary.rst:1181 +#: ../../glossary.rst:1216 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:1184 +#: ../../glossary.rst:1219 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 " @@ -2761,20 +2830,20 @@ msgstr "" "úteis para ferramentas de análise de tipos estático, e ajudam IDEs a " "completar e refatorar código." -#: ../../glossary.rst:1188 +#: ../../glossary.rst:1223 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." +"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:1193 +#: ../../glossary.rst:1228 msgid "universal newlines" msgstr "novas linhas universais" -#: ../../glossary.rst:1195 +#: ../../glossary.rst:1230 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 " @@ -2788,22 +2857,22 @@ msgstr "" "no Macintosh ``'\\r'``. Veja :pep:`278` e :pep:`3116`, bem como :func:`bytes." "splitlines` para uso adicional." -#: ../../glossary.rst:1200 +#: ../../glossary.rst:1235 msgid "variable annotation" msgstr "anotação de variável" -#: ../../glossary.rst:1202 +#: ../../glossary.rst:1237 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:1204 +#: ../../glossary.rst:1239 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:1209 +#: ../../glossary.rst:1244 msgid "" "Variable annotations are usually used for :term:`type hints `: " "for example this variable is expected to take :class:`int` values::" @@ -2812,12 +2881,12 @@ msgstr "" "`: por exemplo, espera-se que esta variável receba valores do " "tipo :class:`int`::" -#: ../../glossary.rst:1215 +#: ../../glossary.rst:1250 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:1217 +#: ../../glossary.rst:1252 msgid "" "See :term:`function annotation`, :pep:`484` and :pep:`526`, which describe " "this functionality. Also see :ref:`annotations-howto` for best practices on " @@ -2827,11 +2896,11 @@ msgstr "" "funcionalidade. Veja também :ref:`annotations-howto` para as melhores " "práticas sobre como trabalhar com anotações." -#: ../../glossary.rst:1221 +#: ../../glossary.rst:1256 msgid "virtual environment" msgstr "ambiente virtual" -#: ../../glossary.rst:1223 +#: ../../glossary.rst:1258 msgid "" "A cooperatively isolated runtime environment that allows Python users and " "applications to install and upgrade Python distribution packages without " @@ -2842,15 +2911,15 @@ msgstr "" "instalarem e atualizarem pacotes Python sem interferir no comportamento de " "outras aplicações Python em execução no mesmo sistema." -#: ../../glossary.rst:1228 +#: ../../glossary.rst:1263 msgid "See also :mod:`venv`." msgstr "Veja também :mod:`venv`." -#: ../../glossary.rst:1229 +#: ../../glossary.rst:1264 msgid "virtual machine" msgstr "máquina virtual" -#: ../../glossary.rst:1231 +#: ../../glossary.rst:1266 msgid "" "A computer defined entirely in software. Python's virtual machine executes " "the :term:`bytecode` emitted by the bytecode compiler." @@ -2858,11 +2927,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:1233 +#: ../../glossary.rst:1268 msgid "Zen of Python" msgstr "Zen do Python" -#: ../../glossary.rst:1235 +#: ../../glossary.rst:1270 msgid "" "Listing of Python design principles and philosophies that are helpful in " "understanding and using the language. The listing can be found by typing " diff --git a/howto/annotations.po b/howto/annotations.po index 6a0a077ff..960750a35 100644 --- a/howto/annotations.po +++ b/howto/annotations.po @@ -1,31 +1,31 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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 -# Hemílio Lauro , 2021 +# python-doc bot, 2025 # #, 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 00:52+0000\n" -"Last-Translator: Hemílio Lauro , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:57+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"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 "" +msgstr "Boas práticas para anotações" #: ../../howto/annotations.rst:0 msgid "author" @@ -33,7 +33,7 @@ msgstr "autor" #: ../../howto/annotations.rst:7 msgid "Larry Hastings" -msgstr "" +msgstr "Larry Hastings" #: ../../howto/annotations.rstNone msgid "Abstract" @@ -46,6 +46,10 @@ msgid "" "``__annotations__`` on Python objects, we encourage you to follow the " "guidelines described below." msgstr "" +"Este documento foi projetado para encapsular as melhores práticas para " +"trabalhar com anotações. Se você escrever um código Python que examina " +"``__annotations__`` nos objetos Python, nós o encorajamos a seguir as " +"diretrizes descritas abaixo." #: ../../howto/annotations.rst:16 msgid "" @@ -55,6 +59,12 @@ msgid "" "and older, other best practices for ``__annotations__`` that apply to any " "Python version, and quirks of ``__annotations__``." msgstr "" +"Este documento está dividido em quatro seções: melhores práticas para " +"acessar as anotações de um objeto no Python na versão 3.10 e versões mais " +"recente, melhores práticas para acessar as anotações de um objeto no Python " +"na versão 3.9 e versões mais antiga, outras melhores práticas para " +"``__annotations__`` para qualquer versão do Python e peculiaridades do " +"``__annotations__``." #: ../../howto/annotations.rst:26 msgid "" @@ -63,10 +73,16 @@ msgid "" "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 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 recentes" #: ../../howto/annotations.rst:35 msgid "" @@ -76,6 +92,11 @@ msgid "" "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, " +"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 "" @@ -87,6 +108,13 @@ msgid "" "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 "" @@ -96,19 +124,43 @@ msgid "" "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 "" +"Before Python 3.10, accessing ``__annotations__`` on a class that defines no " +"annotations but that has a parent class with annotations would return the " +"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:62 +#: ../../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" -#: ../../howto/annotations.rst:64 +#: ../../howto/annotations.rst:70 msgid "" "In Python 3.9 and older, accessing the annotations dict of an object is much " "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:69 +#: ../../howto/annotations.rst:75 msgid "" "Best practice for accessing the annotations dict of other objects--" "functions, other callables, and modules--is the same as best practice for " @@ -116,8 +168,13 @@ 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:76 +#: ../../howto/annotations.rst:82 msgid "" "Unfortunately, this isn't best practice for classes. The problem is that, " "since ``__annotations__`` is optional on classes, and because classes can " @@ -125,12 +182,18 @@ 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:92 +#: ../../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:95 +#: ../../howto/annotations.rst:101 msgid "" "Your code will have to have a separate code path if the object you're " "examining is a class (``isinstance(o, type)``). In that case, best practice " @@ -139,82 +202,116 @@ 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:103 +#: ../../howto/annotations.rst:109 msgid "" "To put it all together, here is some sample code that safely accesses the " "``__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:112 +#: ../../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." 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:117 +#: ../../howto/annotations.rst:123 msgid "" "Note that some exotic or malformed type objects may not have a ``__dict__`` " "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:123 +#: ../../howto/annotations.rst:129 msgid "Manually Un-Stringizing Stringized Annotations" -msgstr "" +msgstr "Recuperando manualmente anotações transformadas em strings" -#: ../../howto/annotations.rst:125 +#: ../../howto/annotations.rst:131 msgid "" "In situations where some annotations may be \"stringized\", and you wish to " "evaluate those strings to produce the Python values they represent, it " "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:131 +#: ../../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." 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:137 +#: ../../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:140 +#: ../../howto/annotations.rst:146 msgid "" "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:142 +#: ../../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`." 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:145 +#: ../../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." 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:149 +#: ../../howto/annotations.rst:155 msgid "" "If ``o`` is a callable (but not a class), use ``o.__globals__`` as the " "globals when calling :func:`eval`." msgstr "" -#: ../../howto/annotations.rst:152 +#: ../../howto/annotations.rst:158 msgid "" "However, not all string values used as annotations can be successfully " "turned into Python values by :func:`eval`. String values could theoretically " @@ -222,64 +319,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:159 +#: ../../howto/annotations.rst:165 msgid "" -":pep:`604` union types using `|`, before support for this was added to " +":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:161 +#: ../../howto/annotations.rst:167 msgid "" "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:164 +#: ../../howto/annotations.rst:170 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:172 +#: ../../howto/annotations.rst:178 msgid "Best Practices For ``__annotations__`` In Any Python Version" -msgstr "" +msgstr "Melhores práticas para ``__annotations__`` em qualquer versão Python" -#: ../../howto/annotations.rst:174 +#: ../../howto/annotations.rst:180 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:177 +#: ../../howto/annotations.rst:183 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:180 +#: ../../howto/annotations.rst:186 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:184 +#: ../../howto/annotations.rst:190 msgid "You should avoid modifying ``__annotations__`` dicts." -msgstr "" +msgstr "Evite modificar o dicionário ``__annotations__``." -#: ../../howto/annotations.rst:186 +#: ../../howto/annotations.rst:192 msgid "" "You should avoid deleting the ``__annotations__`` attribute of an object." -msgstr "" +msgstr "Evite deletar o atributo ``__annotations__`` de um objeto." -#: ../../howto/annotations.rst:191 +#: ../../howto/annotations.rst:197 msgid "``__annotations__`` Quirks" -msgstr "" +msgstr "Peculiaridades de ``__annotations__``" -#: ../../howto/annotations.rst:193 +#: ../../howto/annotations.rst:199 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 " @@ -290,14 +407,25 @@ 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:203 +#: ../../howto/annotations.rst:209 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:206 +#: ../../howto/annotations.rst:212 msgid "" "In all versions of Python 3, you can set ``__annotations__`` on a function " "object to ``None``. However, subsequently accessing the annotations on that " @@ -307,17 +435,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:214 +#: ../../howto/annotations.rst:220 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:225 +#: ../../howto/annotations.rst:231 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 9c15422f1..979332f17 100644 --- a/howto/argparse.po +++ b/howto/argparse.po @@ -1,30 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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 -# Humberto Rocha , 2021 -# Hemílio Lauro , 2021 -# i17obot , 2021 +# python-doc bot, 2025 # #, 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 00:52+0000\n" -"Last-Translator: i17obot , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-23 17:01+0000\n" +"PO-Revision-Date: 2025-09-22 15:57+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../howto/argparse.rst:3 msgid "Argparse Tutorial" @@ -44,8 +41,8 @@ msgid "" "the recommended command-line parsing module in the Python standard library." msgstr "" "Este tutorial pretende ser uma introdução gentil ao :mod:`argparse` --- o " -"módulo para fazer a Análise de Linha de Comando e que é recomendado e faz " -"parte da Biblioteca Padrão do Python." +"módulo recomendado na biblioteca padrão do Python para fazer a análise de " +"linha de comando." #: ../../howto/argparse.rst:14 msgid "" @@ -70,7 +67,7 @@ msgid "" "introductory tutorial by making use of the :command:`ls` command:" msgstr "" "Demonstraremos o tipo de funcionalidade que vamos explorar neste tutorial " -"introdutório fazendo uso do comando :command:`ls`: " +"introdutório fazendo uso do comando :command:`ls`:" #: ../../howto/argparse.rst:46 msgid "A few concepts we can learn from the four commands:" @@ -95,6 +92,14 @@ msgid "" "position is *what you want copied,* and the second position is *where you " "want it copied to*." msgstr "" +"Se quisermos além do que ele fornece por padrão, contamos um pouco mais. " +"Neste caso, queremos que ele exiba um diretório diferente, ``pypy``. O que " +"fizemos foi especificar o que é conhecido como argumento posicional. Ele é " +"chamado assim porque o programa deve saber o que fazer com o valor, apenas " +"com base em onde ele aparece na linha de comando. Este conceito é mais " +"relevante para um comando como :command:`cp`, cujo uso mais básico é ``cp " +"SRC DEST``. A primeira posição é *o que você deseja copiar* e a segunda " +"posição é *para onde você deseja copiar*." #: ../../howto/argparse.rst:60 msgid "" @@ -102,6 +107,10 @@ msgid "" "display more info for each file instead of just showing the file names. The " "``-l`` in that case is known as an optional argument." msgstr "" +"Agora, digamos que queremos mudar o comportamento do programa. Em nosso " +"exemplo, exibimos mais informações para cada arquivo em vez de apenas " +"mostrar os nomes dos arquivos. O ``-l`` nesse caso é conhecido como um " +"argumento opcional." #: ../../howto/argparse.rst:64 msgid "" @@ -115,7 +124,7 @@ msgstr "" #: ../../howto/argparse.rst:70 msgid "The basics" -msgstr "O Básico" +msgstr "O básico" #: ../../howto/argparse.rst:72 msgid "Let us start with a very simple example which does (almost) nothing::" @@ -124,7 +133,7 @@ msgstr "Comecemos com um exemplo muito simples que irá fazer (quase) nada::" #: ../../howto/argparse.rst:78 ../../howto/argparse.rst:186 #: ../../howto/argparse.rst:207 msgid "Following is a result of running the code:" -msgstr "Seguir temos o resultado da execução do código:" +msgstr "A seguir, temos o resultado da execução do código:" #: ../../howto/argparse.rst:95 ../../howto/argparse.rst:252 #: ../../howto/argparse.rst:296 @@ -144,7 +153,7 @@ msgid "" "The second one starts to display the usefulness of the :mod:`argparse` " "module. We have done almost nothing, but already we get a nice help message." msgstr "" -"O segundo começa a exibir as utilidades do módulo :mod:`argparse` . Não " +"O segundo começa a exibir as utilidades do módulo :mod:`argparse`. Não " "fizemos quase nada, mas já recebemos uma boa mensagem de ajuda." #: ../../howto/argparse.rst:103 @@ -155,13 +164,13 @@ msgid "" "also for free." msgstr "" "A opção ``--help``, que também pode ser encurtada para ``-h``, é a única " -"opção que obtemos livremente (ou seja, não é necessário determina-la). " +"opção que obtemos livremente (ou seja, não é necessário determiná-la). " "Determinar qualquer outra coisa resulta num erro. Mas mesmo assim, recebemos " -"uma mensagem de utilização bastante útil, também de graça." +"uma mensagem de uso bastante útil, também de graça." #: ../../howto/argparse.rst:110 msgid "Introducing Positional arguments" -msgstr "Introdução ao uso dos Argumentos Posicionais" +msgstr "Apresentando os argumentos posicionais" #: ../../howto/argparse.rst:112 msgid "An example::" @@ -206,6 +215,10 @@ msgid "" "also notice that its name matches the string argument given to the method, " "``echo``." msgstr "" +"A variável é uma forma de \"mágica\" que :mod:`argparse` executa de brinde " +"(ou seja, não é necessário especificar em qual variável esse valor é " +"armazenado). Você também notará que seu nome corresponde ao argumento string " +"dado ao método, ``echo``." #: ../../howto/argparse.rst:154 msgid "" @@ -215,6 +228,11 @@ msgid "" "than by guessing or by reading the source code. So, let's make it a bit more " "useful::" msgstr "" +"Observe, no entanto, que, embora a tela de ajuda pareça boa e tudo, " +"atualmente não é tão útil quanto poderia ser. Por exemplo, vemos que temos " +"``echo`` como um argumento posicional, mas não sabemos o que ele faz, além " +"de adivinhar ou ler o código-fonte. Então, vamos torná-lo um pouco mais " +"útil::" #: ../../howto/argparse.rst:165 msgid "And we get:" @@ -222,7 +240,7 @@ msgstr "E, iremos obter:" #: ../../howto/argparse.rst:178 msgid "Now, how about doing something even more useful::" -msgstr "" +msgstr "Agora, que tal fazer algo ainda mais útil::" #: ../../howto/argparse.rst:196 msgid "" @@ -230,33 +248,42 @@ msgid "" "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 " +"dizer ao :mod:`argparse` para tratar essa entrada como um inteiro::" #: ../../howto/argparse.rst:217 msgid "" "That went well. The program now even helpfully quits on bad illegal input " "before proceeding." msgstr "" +"Correu bem. O programa agora até fecha com ajuda de entrada ilegal ruim " +"antes de prosseguir." #: ../../howto/argparse.rst:222 msgid "Introducing Optional arguments" -msgstr "" +msgstr "Apresentando os argumentos opcionais" #: ../../howto/argparse.rst:224 msgid "" "So far we have been playing with positional arguments. Let us have a look on " "how to add optional ones::" msgstr "" +"Até agora, jogamos com argumentos posicionais. Vamos dar uma olhada em como " +"adicionar opcionais::" #: ../../howto/argparse.rst:234 ../../howto/argparse.rst:280 #: ../../howto/argparse.rst:396 ../../howto/argparse.rst:430 msgid "And the output:" -msgstr "E a saída: " +msgstr "E a saída:" #: ../../howto/argparse.rst:254 msgid "" "The program is written so as to display something when ``--verbosity`` is " "specified and display nothing when not." msgstr "" +"O programa é escrito de forma a exibir algo quando ``--verbosity`` é " +"especificado e não exibir nada quando não for." #: ../../howto/argparse.rst:257 msgid "" @@ -266,16 +293,23 @@ msgid "" "``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 :attr:`args.verbosity`, recebe " +"``None`` como valor, razão pela qual falha no teste de verdade da instrução :" +"keyword:`if`." #: ../../howto/argparse.rst:263 msgid "The help message is a bit different." -msgstr "" +msgstr "A mensagem de ajuda é um pouco diferente." #: ../../howto/argparse.rst:265 msgid "" "When using the ``--verbosity`` option, one must also specify some value, any " "value." msgstr "" +"Ao usar a opção ``--verbosity``, deve-se também especificar algum valor, " +"qualquer valor." #: ../../howto/argparse.rst:268 msgid "" @@ -283,6 +317,9 @@ msgid "" "for our simple program, only two values are actually useful, ``True`` or " "``False``. Let's modify the code accordingly::" msgstr "" +"O exemplo acima aceita valores inteiros arbitrários para ``--verbosity``, " +"mas para nosso programa simples, apenas dois valores são realmente úteis, " +"``True`` ou ``False``. Vamos modificar o código de acordo::" #: ../../howto/argparse.rst:298 msgid "" @@ -292,20 +329,28 @@ msgid "" "This means that, if the option is specified, assign the value ``True`` to :" "data:`args.verbose`. Not specifying it implies ``False``." msgstr "" +"A opção agora é mais um sinalizador do que algo que requer um valor. Até " +"mudamos o nome da opção para corresponder a essa ideia. Observe que agora " +"especificamos uma nova palavra reservada, ``action``, e damos a ela o valor " +"``\"store_true\"``. Isso significa que, se a opção for especificada, atribui " +"o valor ``True`` para :data:`args.verbose`. Não especificá-la implica em " +"``False``." #: ../../howto/argparse.rst:305 msgid "" "It complains when you specify a value, in true spirit of what flags actually " "are." msgstr "" +"Ele reclama quando você especifica um valor, no verdadeiro espírito do que " +"os sinalizadores realmente são." #: ../../howto/argparse.rst:308 msgid "Notice the different help text." -msgstr "" +msgstr "Observe o texto de ajuda diferente." #: ../../howto/argparse.rst:312 msgid "Short options" -msgstr "Opções Curtas" +msgstr "Opções curtas" #: ../../howto/argparse.rst:314 msgid "" @@ -313,40 +358,44 @@ msgid "" "yet touched on the topic of short versions of the options. It's quite " "simple::" msgstr "" +"Se você estiver familiarizado com o uso da linha de comando, notará que " +"ainda não toquei no tópico das versões curtas das opções. É bem simples::" #: ../../howto/argparse.rst:326 msgid "And here goes:" -msgstr "" +msgstr "E aqui vai:" #: ../../howto/argparse.rst:339 msgid "Note that the new ability is also reflected in the help text." -msgstr "" +msgstr "Observe que a nova habilidade também é refletida no texto de ajuda." #: ../../howto/argparse.rst:343 msgid "Combining Positional and Optional arguments" -msgstr "" +msgstr "Combinando argumentos posicionais e opcionais" #: ../../howto/argparse.rst:345 msgid "Our program keeps growing in complexity::" -msgstr "" +msgstr "Nosso programa continua crescendo em complexidade::" #: ../../howto/argparse.rst:360 msgid "And now the output:" -msgstr "E agora o que foi enviado para a saída padrão." +msgstr "E agora a saída:" #: ../../howto/argparse.rst:374 msgid "We've brought back a positional argument, hence the complaint." -msgstr "" +msgstr "Trouxemos de volta um argumento posicional, daí a reclamação." #: ../../howto/argparse.rst:376 msgid "Note that the order does not matter." -msgstr "" +msgstr "Observe que a ordem não importa." #: ../../howto/argparse.rst:378 msgid "" "How about we give this program of ours back the ability to have multiple " "verbosity values, and actually get to use them::" msgstr "" +"Que tal devolvermos a este nosso programa a capacidade de ter vários valores " +"de verbosidade e realmente usá-los::" #: ../../howto/argparse.rst:412 msgid "" @@ -354,12 +403,17 @@ msgid "" "Let's fix it by restricting the values the ``--verbosity`` option can " "accept::" msgstr "" +"Todos eles parecem bons, exceto o último, que expõe um bug em nosso " +"programa. Vamos corrigi-lo restringindo os valores que a opção ``--" +"verbosity`` pode aceitar::" #: ../../howto/argparse.rst:448 msgid "" "Note that the change also reflects both in the error message as well as the " "help string." msgstr "" +"Observe que a alteração também reflete tanto na mensagem de erro quanto na " +"string de ajuda." #: ../../howto/argparse.rst:451 msgid "" @@ -367,40 +421,54 @@ msgid "" "pretty common. It also matches the way the CPython executable handles its " "own verbosity argument (check the output of ``python --help``)::" msgstr "" +"Agora, vamos usar uma abordagem diferente de brincar com a verbosidade, que " +"é bastante comum. Ele também corresponde à maneira como o executável do " +"CPython trata seu próprio argumento de verbosidade (verifique a saída de " +"``python --help``)::" #: ../../howto/argparse.rst:470 msgid "" "We have introduced another action, \"count\", to count the number of " "occurrences of specific options." msgstr "" +"Introduzimos outra ação, \"contar\", para contar o número de ocorrências de " +"opções específicas." #: ../../howto/argparse.rst:499 msgid "" "Yes, it's now more of a flag (similar to ``action=\"store_true\"``) in the " "previous version of our script. That should explain the complaint." msgstr "" +"Sim, agora é mais um sinalizador (semelhante a ``action=\"store_true\"``) na " +"versão anterior do nosso script. Isso deve explicar a reclamação." #: ../../howto/argparse.rst:502 msgid "It also behaves similar to \"store_true\" action." -msgstr "" +msgstr "Ele também se comporta de maneira semelhante à ação \"store_true\"." #: ../../howto/argparse.rst:504 msgid "" "Now here's a demonstration of what the \"count\" action gives. You've " "probably seen this sort of usage before." msgstr "" +"Agora aqui está uma demonstração do que a ação \"contar\" oferece. Você " +"provavelmente já viu esse tipo de uso antes." #: ../../howto/argparse.rst:507 msgid "" "And if you don't specify the ``-v`` flag, that flag is considered to have " "``None`` value." msgstr "" +"E se você não especificar o sinalizador ``-v``, esse sinalizador será " +"considerado como tendo valor ``None``." #: ../../howto/argparse.rst:510 msgid "" "As should be expected, specifying the long form of the flag, we should get " "the same output." msgstr "" +"Como deve ser esperado, especificando a forma longa do sinalizador, devemos " +"obter a mesma saída." #: ../../howto/argparse.rst:513 msgid "" @@ -408,10 +476,14 @@ msgid "" "has acquired, but that can always be fixed by improving the documentation " "for our script (e.g. via the ``help`` keyword argument)." msgstr "" +"Infelizmente, nossa saída de ajuda não é muito informativa sobre a nova " +"habilidade que nosso script adquiriu, mas isso sempre pode ser corrigido " +"melhorando a documentação de nosso script (por exemplo, através do argumento " +"nomeado ``help``)." #: ../../howto/argparse.rst:517 msgid "That last output exposes a bug in our program." -msgstr "" +msgstr "Essa última saída expõe um bug em nosso programa." #: ../../howto/argparse.rst:520 msgid "Let's fix::" @@ -426,10 +498,12 @@ msgid "" "First output went well, and fixes the bug we had before. That is, we want " "any value >= 2 to be as verbose as possible." msgstr "" +"A primeira saída correu bem e corrige o bug que tínhamos antes. Ou seja, " +"queremos que qualquer valor >= 2 seja o mais detalhado possível." #: ../../howto/argparse.rst:557 msgid "Third output not so good." -msgstr "O terceiro resultado não é tão bom." +msgstr "A terceira saída não está tão boa." #: ../../howto/argparse.rst:559 msgid "Let's fix that bug::" @@ -443,6 +517,11 @@ msgid "" "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. " +"Lembre-se que por padrão, se um argumento opcional não for especificado, ele " +"obtém o valor ``None``, e isso não pode ser comparado a um valor int (daí a " +"exceção :exc:`TypeError`)." #: ../../howto/argparse.rst:583 msgid "And:" @@ -454,16 +533,20 @@ msgid "" "scratched the surface. The :mod:`argparse` module is very powerful, and " "we'll explore a bit more of it before we end this tutorial." msgstr "" +"Você pode ir muito longe apenas com o que aprendemos até agora, e nós apenas " +"arranhamos a superfície. O módulo :mod:`argparse` é muito poderoso, e vamos " +"explorar um pouco mais antes de terminar este tutorial." #: ../../howto/argparse.rst:597 msgid "Getting a little more advanced" -msgstr "" +msgstr "Avançando um pouco mais" #: ../../howto/argparse.rst:599 msgid "" "What if we wanted to expand our tiny program to perform other powers, not " "just squares::" msgstr "" +"E se quiséssemos expandir nosso pequeno programa, ampliando seu potencial::" #: ../../howto/argparse.rst:616 ../../howto/argparse.rst:654 msgid "Output:" @@ -475,10 +558,13 @@ msgid "" "that gets displayed. The following example instead uses verbosity level to " "display *more* text instead::" msgstr "" +"Observe que até agora estamos usando o nível de verbosidade para *alterar* o " +"texto que é exibido. O exemplo a seguir usa o nível de verbosidade para " +"exibir *mais* texto::" #: ../../howto/argparse.rst:668 msgid "Conflicting options" -msgstr "Opções Conflitantes" +msgstr "Opções conflitantes" #: ../../howto/argparse.rst:670 msgid "" @@ -489,12 +575,20 @@ msgid "" "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:" +"`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:696 msgid "" "Our program is now simpler, and we've lost some functionality for the sake " "of demonstration. Anyways, here's the output:" msgstr "" +"Nosso programa agora está mais simples e perdemos algumas funcionalidades " +"para demonstração. De qualquer forma, aqui está a saída:" #: ../../howto/argparse.rst:714 msgid "" @@ -502,12 +596,17 @@ msgid "" "the sort of flexibility you get, i.e. mixing long form options with short " "form ones." msgstr "" +"Isso deve ser fácil de seguir. Eu adicionei essa última saída para que você " +"possa ver o tipo de flexibilidade que obtém, ou seja, misturar opções de " +"formato longo com formatos curtos." #: ../../howto/argparse.rst:718 msgid "" "Before we conclude, you probably want to tell your users the main purpose of " "your program, just in case they don't know::" msgstr "" +"Antes de concluirmos, você provavelmente quer dizer aos seus usuários o " +"propósito principal do seu programa, caso eles não saibam::" #: ../../howto/argparse.rst:739 msgid "" @@ -515,6 +614,8 @@ msgid "" "tells us that we can either use ``-v`` or ``-q``, but not both at the same " "time:" msgstr "" +"Observe essa pequena diferença no texto de uso. Observe o ``[-v | -q]``, que " +"nos diz que podemos usar ``-v`` ou ``-q``, mas não ambos ao mesmo tempo:" #: ../../howto/argparse.rst:761 msgid "Conclusion" @@ -526,3 +627,7 @@ msgid "" "quite detailed and thorough, and full of examples. Having gone through this " "tutorial, you should easily digest them without feeling overwhelmed." msgstr "" +"O módulo :mod:`argparse` oferece muito mais do que o mostrado aqui. Sua " +"documentação é bastante detalhada e completo, e cheia de exemplos. Tendo " +"passado por este tutorial, você deve digeri-la facilmente sem se sentir " +"sobrecarregado." diff --git a/howto/clinic.po b/howto/clinic.po index d7345f73e..2fdac530c 100644 --- a/howto/clinic.po +++ b/howto/clinic.po @@ -1,35 +1,29 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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 -# Claudio Rogerio Carvalho Filho , 2021 -# (Douglas da Silva) , 2021 -# Juliana Karoline , 2021 -# i17obot , 2021 -# Marco Rougeth , 2021 -# Rafael Fontenelle , 2021 +# python-doc bot, 2025 # #, 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 00:52+0000\n" -"Last-Translator: Rafael Fontenelle , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:57+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" -#: ../../howto/clinic.rst:5 +#: ../../howto/clinic.rst:7 msgid "Argument Clinic How-To" msgstr "How-To - Clínica de Argumento" @@ -37,15 +31,15 @@ msgstr "How-To - Clínica de Argumento" msgid "author" msgstr "autor" -#: ../../howto/clinic.rst:7 +#: ../../howto/clinic.rst:9 msgid "Larry Hastings" -msgstr "" +msgstr "Larry Hastings" #: ../../howto/clinic.rstNone msgid "Abstract" msgstr "Resumo" -#: ../../howto/clinic.rst:12 +#: ../../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 " @@ -54,7 +48,7 @@ msgid "" "Argument Clinic usage." msgstr "" -#: ../../howto/clinic.rst:19 +#: ../../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 " @@ -65,11 +59,11 @@ msgid "" "totally incompatible and break all your code." msgstr "" -#: ../../howto/clinic.rst:29 +#: ../../howto/clinic.rst:31 msgid "The Goals Of Argument Clinic" msgstr "" -#: ../../howto/clinic.rst:31 +#: ../../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 " @@ -80,7 +74,7 @@ msgid "" "*kwargs``) magically converted into the C variables and types you need." msgstr "" -#: ../../howto/clinic.rst:41 +#: ../../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 " @@ -88,7 +82,7 @@ msgid "" "places. When you use Argument Clinic, you don't have to repeat yourself." msgstr "" -#: ../../howto/clinic.rst:47 +#: ../../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 " @@ -100,14 +94,14 @@ msgid "" "parsing library. That would make for the fastest argument parsing possible!)" msgstr "" -#: ../../howto/clinic.rst:59 +#: ../../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:64 +#: ../../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 " @@ -115,7 +109,7 @@ msgid "" "builtin. With Argument Clinic, that's a thing of the past!" msgstr "" -#: ../../howto/clinic.rst:70 +#: ../../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 " @@ -124,36 +118,36 @@ msgid "" "things with all the information you give it." msgstr "" -#: ../../howto/clinic.rst:80 +#: ../../howto/clinic.rst:82 msgid "Basic Concepts And Usage" msgstr "" -#: ../../howto/clinic.rst:82 +#: ../../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:89 +#: ../../howto/clinic.rst:91 msgid "" "Argument Clinic will scan over the file looking for lines that look exactly " "like this:" msgstr "" -#: ../../howto/clinic.rst:96 +#: ../../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:103 +#: ../../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:107 +#: ../../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 " @@ -161,7 +155,7 @@ msgid "" "this:" msgstr "" -#: ../../howto/clinic.rst:120 +#: ../../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 " @@ -169,7 +163,7 @@ msgid "" "change either." msgstr "" -#: ../../howto/clinic.rst:124 +#: ../../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 " @@ -178,38 +172,38 @@ msgid "" "output.)" msgstr "" -#: ../../howto/clinic.rst:129 +#: ../../howto/clinic.rst:131 msgid "" "For the sake of clarity, here's the terminology we'll use with Argument " "Clinic:" msgstr "" -#: ../../howto/clinic.rst:131 +#: ../../howto/clinic.rst:133 msgid "" "The first line of the comment (``/*[clinic input]``) is the *start line*." msgstr "" -#: ../../howto/clinic.rst:132 +#: ../../howto/clinic.rst:134 msgid "" "The last line of the initial comment (``[clinic start generated code]*/``) " "is the *end line*." msgstr "" -#: ../../howto/clinic.rst:133 +#: ../../howto/clinic.rst:135 msgid "" "The last line (``/*[clinic end generated code: checksum=...]*/``) is the " "*checksum line*." msgstr "" -#: ../../howto/clinic.rst:134 +#: ../../howto/clinic.rst:136 msgid "In between the start line and the end line is the *input*." msgstr "" -#: ../../howto/clinic.rst:135 +#: ../../howto/clinic.rst:137 msgid "In between the end line and the checksum line is the *output*." msgstr "" -#: ../../howto/clinic.rst:136 +#: ../../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 " @@ -217,11 +211,11 @@ msgid "" "it's still considered a block.)" msgstr "" -#: ../../howto/clinic.rst:143 +#: ../../howto/clinic.rst:145 msgid "Converting Your First Function" msgstr "" -#: ../../howto/clinic.rst:145 +#: ../../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 " @@ -232,30 +226,30 @@ msgid "" "keep it simple for this walkthrough so you can learn." msgstr "" -#: ../../howto/clinic.rst:154 +#: ../../howto/clinic.rst:156 msgid "Let's dive in!" msgstr "" -#: ../../howto/clinic.rst:156 +#: ../../howto/clinic.rst:158 msgid "" "Make sure you're working with a freshly updated checkout of the CPython " "trunk." msgstr "" -#: ../../howto/clinic.rst:159 +#: ../../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:164 +#: ../../howto/clinic.rst:166 msgid "" "If the call to the ``PyArg_Parse`` function uses any of the following format " "units:" msgstr "" -#: ../../howto/clinic.rst:176 +#: ../../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 " @@ -263,7 +257,7 @@ msgid "" "your first function." msgstr "" -#: ../../howto/clinic.rst:181 +#: ../../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 " @@ -273,11 +267,11 @@ msgid "" "polymorphic parameters." msgstr "" -#: ../../howto/clinic.rst:188 +#: ../../howto/clinic.rst:190 msgid "Add the following boilerplate above the function, creating our block::" msgstr "" -#: ../../howto/clinic.rst:193 +#: ../../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 " @@ -285,7 +279,7 @@ msgid "" "80 characters. (Argument Clinic will preserve indents inside the docstring.)" msgstr "" -#: ../../howto/clinic.rst:199 +#: ../../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 " @@ -293,14 +287,14 @@ msgid "" "automatically based on the function's signature.)" msgstr "" -#: ../../howto/clinic.rst:205 ../../howto/clinic.rst:226 -#: ../../howto/clinic.rst:250 ../../howto/clinic.rst:308 -#: ../../howto/clinic.rst:348 ../../howto/clinic.rst:375 -#: ../../howto/clinic.rst:481 ../../howto/clinic.rst:533 +#: ../../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:211 +#: ../../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 " @@ -308,13 +302,13 @@ msgid "" "docstring." msgstr "" -#: ../../howto/clinic.rst:216 +#: ../../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:219 +#: ../../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 " @@ -323,7 +317,7 @@ msgid "" "it should include the class name too." msgstr "" -#: ../../howto/clinic.rst:234 +#: ../../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 " @@ -333,47 +327,47 @@ msgid "" "next to each other.)" msgstr "" -#: ../../howto/clinic.rst:242 +#: ../../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:246 +#: ../../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:266 +#: ../../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:270 +#: ../../howto/clinic.rst:272 msgid "The general form of these parameter lines is as follows:" msgstr "" -#: ../../howto/clinic.rst:276 +#: ../../howto/clinic.rst:278 msgid "If the parameter has a default value, add that after the converter:" msgstr "" -#: ../../howto/clinic.rst:283 +#: ../../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:287 +#: ../../howto/clinic.rst:289 msgid "Add a blank line below the parameters." msgstr "" -#: ../../howto/clinic.rst:289 +#: ../../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. " @@ -382,7 +376,7 @@ msgid "" "easier." msgstr "" -#: ../../howto/clinic.rst:296 +#: ../../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 " @@ -392,58 +386,58 @@ msgid "" "For more on format units please see :ref:`arg-parsing`.)" msgstr "" -#: ../../howto/clinic.rst:305 +#: ../../howto/clinic.rst:307 msgid "" "For multicharacter format units like ``z#``, use the entire two-or-three " "character string." msgstr "" -#: ../../howto/clinic.rst:323 +#: ../../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:328 +#: ../../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:333 +#: ../../howto/clinic.rst:335 msgid "(``_pickle.Pickler.dump`` has neither, so our sample is unchanged.)" msgstr "" -#: ../../howto/clinic.rst:336 +#: ../../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:340 +#: ../../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:344 +#: ../../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:364 +#: ../../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:368 +#: ../../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. " @@ -453,34 +447,34 @@ msgid "" "you wish." msgstr "" -#: ../../howto/clinic.rst:392 +#: ../../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:411 +#: ../../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:415 +#: ../../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:421 +#: ../../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:424 +#: ../../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:" @@ -488,21 +482,21 @@ msgid "" "Clinic calls the *exact* same function." msgstr "" -#: ../../howto/clinic.rst:430 +#: ../../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:435 +#: ../../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:440 +#: ../../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 " @@ -510,27 +504,27 @@ msgid "" "two invocations." msgstr "" -#: ../../howto/clinic.rst:445 +#: ../../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:452 +#: ../../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:455 +#: ../../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:460 +#: ../../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 " @@ -541,20 +535,20 @@ msgid "" "used different names for these variables, fix it." msgstr "" -#: ../../howto/clinic.rst:468 +#: ../../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:477 +#: ../../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:522 +#: ../../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 " @@ -564,87 +558,87 @@ msgid "" "to the implementation.)" msgstr "" -#: ../../howto/clinic.rst:529 +#: ../../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:542 +#: ../../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." +"there should be no externally visible change to Python's behavior." msgstr "" -#: ../../howto/clinic.rst:546 +#: ../../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:549 +#: ../../howto/clinic.rst:551 msgid "" "Congratulations, you've ported your first function to work with Argument " "Clinic!" msgstr "" -#: ../../howto/clinic.rst:552 +#: ../../howto/clinic.rst:554 msgid "Advanced Topics" msgstr "Tópicos Avançados" -#: ../../howto/clinic.rst:554 +#: ../../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:559 +#: ../../howto/clinic.rst:561 msgid "Symbolic default values" msgstr "" -#: ../../howto/clinic.rst:561 +#: ../../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:564 +#: ../../howto/clinic.rst:566 msgid "Numeric constants (integer and float)" msgstr "" -#: ../../howto/clinic.rst:565 +#: ../../howto/clinic.rst:567 msgid "String constants" msgstr "Constantes de strings" -#: ../../howto/clinic.rst:566 +#: ../../howto/clinic.rst:568 msgid "``True``, ``False``, and ``None``" msgstr "" -#: ../../howto/clinic.rst:567 +#: ../../howto/clinic.rst:569 msgid "" "Simple symbolic constants like ``sys.maxsize``, which must start with the " "name of the module" msgstr "" -#: ../../howto/clinic.rst:570 +#: ../../howto/clinic.rst:572 msgid "" "In case you're curious, this is implemented in ``from_builtin()`` in ``Lib/" "inspect.py``." msgstr "" -#: ../../howto/clinic.rst:573 +#: ../../howto/clinic.rst:575 msgid "" "(In the future, this may need to get even more elaborate, to allow full " "expressions like ``CONSTANT - 1``.)" msgstr "" -#: ../../howto/clinic.rst:578 +#: ../../howto/clinic.rst:580 msgid "Renaming the C functions and variables generated by Argument Clinic" msgstr "" -#: ../../howto/clinic.rst:580 +#: ../../howto/clinic.rst:582 msgid "" "Argument Clinic automatically names the functions it generates for you. " "Occasionally this may cause a problem, if the generated name collides with " @@ -656,19 +650,19 @@ msgid "" "impl function." msgstr "" -#: ../../howto/clinic.rst:588 +#: ../../howto/clinic.rst:590 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:596 +#: ../../howto/clinic.rst:598 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:600 +#: ../../howto/clinic.rst:602 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 " @@ -676,21 +670,21 @@ msgid "" "using the same ``\"as\"`` syntax::" msgstr "" -#: ../../howto/clinic.rst:614 +#: ../../howto/clinic.rst:616 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:617 +#: ../../howto/clinic.rst:619 msgid "You can use this to rename the ``self`` parameter too!" msgstr "" -#: ../../howto/clinic.rst:621 +#: ../../howto/clinic.rst:623 msgid "Converting functions using PyArg_UnpackTuple" msgstr "" -#: ../../howto/clinic.rst:623 +#: ../../howto/clinic.rst:625 msgid "" "To convert a function parsing its arguments with :c:func:" "`PyArg_UnpackTuple`, simply write out all the arguments, specifying each as " @@ -699,17 +693,17 @@ msgid "" "a line by itself after the last argument)." msgstr "" -#: ../../howto/clinic.rst:629 +#: ../../howto/clinic.rst:631 msgid "" "Currently the generated code will use :c:func:`PyArg_ParseTuple`, but this " "will change soon." msgstr "" -#: ../../howto/clinic.rst:633 +#: ../../howto/clinic.rst:635 msgid "Optional Groups" msgstr "" -#: ../../howto/clinic.rst:635 +#: ../../howto/clinic.rst:637 msgid "" "Some legacy functions have a tricky approach to parsing their arguments: " "they count the number of positional arguments, then use a ``switch`` " @@ -720,7 +714,7 @@ msgid "" "created." msgstr "" -#: ../../howto/clinic.rst:642 +#: ../../howto/clinic.rst:644 msgid "" "While functions using this approach can often be converted to use :c:func:" "`PyArg_ParseTupleAndKeywords`, optional arguments, and default values, it's " @@ -734,7 +728,7 @@ msgid "" "pass in ``x`` you may not pass in ``y`` either.)" msgstr "" -#: ../../howto/clinic.rst:654 +#: ../../howto/clinic.rst:656 msgid "" "In any case, the goal of Argument Clinic is to support argument parsing for " "all existing CPython builtins without changing their semantics. Therefore " @@ -744,7 +738,7 @@ msgid "" "required arguments. They can *only* be used with positional-only parameters." msgstr "" -#: ../../howto/clinic.rst:662 +#: ../../howto/clinic.rst:664 msgid "" "Optional groups are *only* intended for use when converting functions that " "make multiple calls to :c:func:`PyArg_ParseTuple`! Functions that use *any* " @@ -755,7 +749,7 @@ msgid "" "possible." msgstr "" -#: ../../howto/clinic.rst:671 +#: ../../howto/clinic.rst:673 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 " @@ -764,11 +758,11 @@ msgid "" "optional::" msgstr "" -#: ../../howto/clinic.rst:700 +#: ../../howto/clinic.rst:702 msgid "Notes:" msgstr "Notas:" -#: ../../howto/clinic.rst:702 +#: ../../howto/clinic.rst:704 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 " @@ -781,33 +775,33 @@ msgid "" "I mean whether or not the parameters received arguments in this invocation.)" msgstr "" -#: ../../howto/clinic.rst:713 +#: ../../howto/clinic.rst:715 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:716 +#: ../../howto/clinic.rst:718 msgid "" "In the case of ambiguity, the argument parsing code favors parameters on the " "left (before the required parameters)." msgstr "" -#: ../../howto/clinic.rst:719 +#: ../../howto/clinic.rst:721 msgid "Optional groups can only contain positional-only parameters." msgstr "" -#: ../../howto/clinic.rst:721 +#: ../../howto/clinic.rst:723 msgid "" "Optional groups are *only* intended for legacy code. Please do not use " "optional groups for new code." msgstr "" -#: ../../howto/clinic.rst:726 +#: ../../howto/clinic.rst:728 msgid "Using real Argument Clinic converters, instead of \"legacy converters\"" msgstr "" -#: ../../howto/clinic.rst:728 +#: ../../howto/clinic.rst:730 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 " @@ -816,38 +810,38 @@ msgid "" "be clear, their use is acceptable when porting code for Python 3.4." msgstr "" -#: ../../howto/clinic.rst:735 +#: ../../howto/clinic.rst:737 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:739 +#: ../../howto/clinic.rst:741 msgid "" "The proper converters are far easier to read and clearer in their intent." msgstr "" -#: ../../howto/clinic.rst:740 +#: ../../howto/clinic.rst:742 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:743 +#: ../../howto/clinic.rst:745 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:747 +#: ../../howto/clinic.rst:749 msgid "" "Therefore, if you don't mind a little extra effort, please use the normal " "converters instead of legacy converters." msgstr "" -#: ../../howto/clinic.rst:750 +#: ../../howto/clinic.rst:752 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 " @@ -855,45 +849,45 @@ msgid "" "parentheses. Thus ``bool`` and ``bool()`` are exactly the same converters." msgstr "" -#: ../../howto/clinic.rst:756 +#: ../../howto/clinic.rst:758 msgid "" "All arguments to Argument Clinic converters are keyword-only. All Argument " "Clinic converters accept the following arguments:" msgstr "" -#: ../../howto/clinic.rst:764 ../../howto/clinic.rst:1314 +#: ../../howto/clinic.rst:766 ../../howto/clinic.rst:1316 msgid "``c_default``" msgstr "``c_default``" -#: ../../howto/clinic.rst:760 +#: ../../howto/clinic.rst:762 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." +"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:769 +#: ../../howto/clinic.rst:771 msgid "``annotation``" msgstr "``annotation``" -#: ../../howto/clinic.rst:767 +#: ../../howto/clinic.rst:769 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:771 +#: ../../howto/clinic.rst:773 msgid "" "In addition, some converters accept additional arguments. Here is a list of " "these arguments, along with their meanings:" msgstr "" -#: ../../howto/clinic.rst:780 +#: ../../howto/clinic.rst:782 msgid "``accept``" msgstr "``accept``" -#: ../../howto/clinic.rst:775 +#: ../../howto/clinic.rst:777 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-" @@ -901,68 +895,68 @@ msgid "" "shown in the legacy converter table.)" msgstr "" -#: ../../howto/clinic.rst:780 +#: ../../howto/clinic.rst:782 msgid "To accept ``None``, add ``NoneType`` to this set." msgstr "" -#: ../../howto/clinic.rst:785 +#: ../../howto/clinic.rst:787 msgid "``bitwise``" msgstr "``bitwise``" -#: ../../howto/clinic.rst:783 +#: ../../howto/clinic.rst:785 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:790 ../../howto/clinic.rst:1328 +#: ../../howto/clinic.rst:792 ../../howto/clinic.rst:1330 msgid "``converter``" msgstr "``converter``" -#: ../../howto/clinic.rst:788 +#: ../../howto/clinic.rst:790 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:795 +#: ../../howto/clinic.rst:797 msgid "``encoding``" msgstr "``encoding``" -#: ../../howto/clinic.rst:793 +#: ../../howto/clinic.rst:795 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:799 +#: ../../howto/clinic.rst:801 msgid "``subclass_of``" msgstr "``subclass_of``" -#: ../../howto/clinic.rst:798 +#: ../../howto/clinic.rst:800 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:804 ../../howto/clinic.rst:1300 +#: ../../howto/clinic.rst:806 ../../howto/clinic.rst:1302 msgid "``type``" msgstr "``type``" -#: ../../howto/clinic.rst:802 +#: ../../howto/clinic.rst:804 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 *\"``." +"type that will be used to declare the variable. Default value is " +"``\"PyObject *\"``." msgstr "" -#: ../../howto/clinic.rst:810 +#: ../../howto/clinic.rst:812 msgid "``zeroes``" msgstr "``zeroes``" -#: ../../howto/clinic.rst:807 +#: ../../howto/clinic.rst:809 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 " @@ -970,7 +964,7 @@ msgid "" "``_length``." msgstr "" -#: ../../howto/clinic.rst:812 +#: ../../howto/clinic.rst:814 msgid "" "Please note, not every possible combination of arguments will work. Usually " "these arguments are implemented by specific ``PyArg_ParseTuple`` *format " @@ -981,350 +975,350 @@ msgid "" "least, not yet.)" msgstr "" -#: ../../howto/clinic.rst:820 +#: ../../howto/clinic.rst:822 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:825 +#: ../../howto/clinic.rst:827 msgid "``'B'``" msgstr "``'B'``" -#: ../../howto/clinic.rst:825 +#: ../../howto/clinic.rst:827 msgid "``unsigned_char(bitwise=True)``" msgstr "``unsigned_char(bitwise=True)``" -#: ../../howto/clinic.rst:826 +#: ../../howto/clinic.rst:828 msgid "``'b'``" msgstr "``'b'``" -#: ../../howto/clinic.rst:826 +#: ../../howto/clinic.rst:828 msgid "``unsigned_char``" msgstr "``unsigned_char``" -#: ../../howto/clinic.rst:827 +#: ../../howto/clinic.rst:829 msgid "``'c'``" msgstr "``'c'``" -#: ../../howto/clinic.rst:827 +#: ../../howto/clinic.rst:829 msgid "``char``" msgstr "``char``" -#: ../../howto/clinic.rst:828 +#: ../../howto/clinic.rst:830 msgid "``'C'``" msgstr "``'C'``" -#: ../../howto/clinic.rst:828 +#: ../../howto/clinic.rst:830 msgid "``int(accept={str})``" msgstr "``int(accept={str})``" -#: ../../howto/clinic.rst:829 +#: ../../howto/clinic.rst:831 msgid "``'d'``" msgstr "``'d'``" -#: ../../howto/clinic.rst:829 +#: ../../howto/clinic.rst:831 msgid "``double``" msgstr "``double``" -#: ../../howto/clinic.rst:830 +#: ../../howto/clinic.rst:832 msgid "``'D'``" msgstr "``'D'``" -#: ../../howto/clinic.rst:830 +#: ../../howto/clinic.rst:832 msgid "``Py_complex``" msgstr "``Py_complex``" -#: ../../howto/clinic.rst:831 +#: ../../howto/clinic.rst:833 msgid "``'es'``" msgstr "``'es'``" -#: ../../howto/clinic.rst:831 +#: ../../howto/clinic.rst:833 msgid "``str(encoding='name_of_encoding')``" msgstr "``str(encoding='name_of_encoding')``" -#: ../../howto/clinic.rst:832 +#: ../../howto/clinic.rst:834 msgid "``'es#'``" msgstr "``'es#'``" -#: ../../howto/clinic.rst:832 +#: ../../howto/clinic.rst:834 msgid "``str(encoding='name_of_encoding', zeroes=True)``" msgstr "" -#: ../../howto/clinic.rst:833 +#: ../../howto/clinic.rst:835 msgid "``'et'``" msgstr "``'et'``" -#: ../../howto/clinic.rst:833 +#: ../../howto/clinic.rst:835 msgid "``str(encoding='name_of_encoding', accept={bytes, bytearray, str})``" msgstr "" -#: ../../howto/clinic.rst:834 +#: ../../howto/clinic.rst:836 msgid "``'et#'``" msgstr "``'et#'``" -#: ../../howto/clinic.rst:834 +#: ../../howto/clinic.rst:836 msgid "" "``str(encoding='name_of_encoding', accept={bytes, bytearray, str}, " "zeroes=True)``" msgstr "" -#: ../../howto/clinic.rst:835 +#: ../../howto/clinic.rst:837 msgid "``'f'``" msgstr "``'f'``" -#: ../../howto/clinic.rst:835 +#: ../../howto/clinic.rst:837 msgid "``float``" msgstr "``float``" -#: ../../howto/clinic.rst:836 +#: ../../howto/clinic.rst:838 msgid "``'h'``" msgstr "``'h'``" -#: ../../howto/clinic.rst:836 +#: ../../howto/clinic.rst:838 msgid "``short``" msgstr "``short``" -#: ../../howto/clinic.rst:837 +#: ../../howto/clinic.rst:839 msgid "``'H'``" msgstr "``'H'``" -#: ../../howto/clinic.rst:837 +#: ../../howto/clinic.rst:839 msgid "``unsigned_short(bitwise=True)``" msgstr "``unsigned_short(bitwise=True)``" -#: ../../howto/clinic.rst:838 +#: ../../howto/clinic.rst:840 msgid "``'i'``" msgstr "``'i'``" -#: ../../howto/clinic.rst:838 +#: ../../howto/clinic.rst:840 msgid "``int``" msgstr "``int``" -#: ../../howto/clinic.rst:839 +#: ../../howto/clinic.rst:841 msgid "``'I'``" msgstr "``'I'``" -#: ../../howto/clinic.rst:839 +#: ../../howto/clinic.rst:841 msgid "``unsigned_int(bitwise=True)``" msgstr "``unsigned_int(bitwise=True)``" -#: ../../howto/clinic.rst:840 +#: ../../howto/clinic.rst:842 msgid "``'k'``" msgstr "``'k'``" -#: ../../howto/clinic.rst:840 +#: ../../howto/clinic.rst:842 msgid "``unsigned_long(bitwise=True)``" msgstr "``unsigned_long(bitwise=True)``" -#: ../../howto/clinic.rst:841 +#: ../../howto/clinic.rst:843 msgid "``'K'``" msgstr "``'K'``" -#: ../../howto/clinic.rst:841 +#: ../../howto/clinic.rst:843 msgid "``unsigned_long_long(bitwise=True)``" msgstr "``unsigned_long_long(bitwise=True)``" -#: ../../howto/clinic.rst:842 +#: ../../howto/clinic.rst:844 msgid "``'l'``" msgstr "``'l'``" -#: ../../howto/clinic.rst:842 +#: ../../howto/clinic.rst:844 msgid "``long``" msgstr "``long``" -#: ../../howto/clinic.rst:843 +#: ../../howto/clinic.rst:845 msgid "``'L'``" msgstr "``'L'``" -#: ../../howto/clinic.rst:843 +#: ../../howto/clinic.rst:845 msgid "``long long``" msgstr "" -#: ../../howto/clinic.rst:844 +#: ../../howto/clinic.rst:846 msgid "``'n'``" msgstr "``'n'``" -#: ../../howto/clinic.rst:844 +#: ../../howto/clinic.rst:846 msgid "``Py_ssize_t``" msgstr "``Py_ssize_t``" -#: ../../howto/clinic.rst:845 +#: ../../howto/clinic.rst:847 msgid "``'O'``" msgstr "``'O'``" -#: ../../howto/clinic.rst:845 +#: ../../howto/clinic.rst:847 msgid "``object``" msgstr "``object``" -#: ../../howto/clinic.rst:846 +#: ../../howto/clinic.rst:848 msgid "``'O!'``" msgstr "``'O!'``" -#: ../../howto/clinic.rst:846 +#: ../../howto/clinic.rst:848 msgid "``object(subclass_of='&PySomething_Type')``" msgstr "``object(subclass_of='&PySomething_Type')``" -#: ../../howto/clinic.rst:847 +#: ../../howto/clinic.rst:849 msgid "``'O&'``" msgstr "``'O&'``" -#: ../../howto/clinic.rst:847 +#: ../../howto/clinic.rst:849 msgid "``object(converter='name_of_c_function')``" msgstr "``object(converter='name_of_c_function')``" -#: ../../howto/clinic.rst:848 +#: ../../howto/clinic.rst:850 msgid "``'p'``" msgstr "``'p'``" -#: ../../howto/clinic.rst:848 +#: ../../howto/clinic.rst:850 msgid "``bool``" msgstr "``bool``" -#: ../../howto/clinic.rst:849 +#: ../../howto/clinic.rst:851 msgid "``'S'``" msgstr "``'S'``" -#: ../../howto/clinic.rst:849 +#: ../../howto/clinic.rst:851 msgid "``PyBytesObject``" msgstr "``PyBytesObject``" -#: ../../howto/clinic.rst:850 +#: ../../howto/clinic.rst:852 msgid "``'s'``" msgstr "``'s'``" -#: ../../howto/clinic.rst:850 +#: ../../howto/clinic.rst:852 msgid "``str``" msgstr "``str``" -#: ../../howto/clinic.rst:851 +#: ../../howto/clinic.rst:853 msgid "``'s#'``" msgstr "``'s#'``" -#: ../../howto/clinic.rst:851 +#: ../../howto/clinic.rst:853 msgid "``str(zeroes=True)``" msgstr "``str(zeroes=True)``" -#: ../../howto/clinic.rst:852 +#: ../../howto/clinic.rst:854 msgid "``'s*'``" msgstr "``'s*'``" -#: ../../howto/clinic.rst:852 +#: ../../howto/clinic.rst:854 msgid "``Py_buffer(accept={buffer, str})``" msgstr "" -#: ../../howto/clinic.rst:853 +#: ../../howto/clinic.rst:855 msgid "``'U'``" msgstr "``'U'``" -#: ../../howto/clinic.rst:853 +#: ../../howto/clinic.rst:855 msgid "``unicode``" msgstr "``unicode``" -#: ../../howto/clinic.rst:854 +#: ../../howto/clinic.rst:856 msgid "``'u'``" msgstr "``'u'``" -#: ../../howto/clinic.rst:854 +#: ../../howto/clinic.rst:856 msgid "``Py_UNICODE``" msgstr "``Py_UNICODE``" -#: ../../howto/clinic.rst:855 +#: ../../howto/clinic.rst:857 msgid "``'u#'``" msgstr "``'u#'``" -#: ../../howto/clinic.rst:855 +#: ../../howto/clinic.rst:857 msgid "``Py_UNICODE(zeroes=True)``" msgstr "``Py_UNICODE(zeroes=True)``" -#: ../../howto/clinic.rst:856 +#: ../../howto/clinic.rst:858 msgid "``'w*'``" msgstr "``'w*'``" -#: ../../howto/clinic.rst:856 +#: ../../howto/clinic.rst:858 msgid "``Py_buffer(accept={rwbuffer})``" msgstr "``Py_buffer(accept={rwbuffer})``" -#: ../../howto/clinic.rst:857 +#: ../../howto/clinic.rst:859 msgid "``'Y'``" msgstr "``'Y'``" -#: ../../howto/clinic.rst:857 +#: ../../howto/clinic.rst:859 msgid "``PyByteArrayObject``" msgstr "``PyByteArrayObject``" -#: ../../howto/clinic.rst:858 +#: ../../howto/clinic.rst:860 msgid "``'y'``" msgstr "``'y'``" -#: ../../howto/clinic.rst:858 +#: ../../howto/clinic.rst:860 msgid "``str(accept={bytes})``" msgstr "``str(accept={bytes})``" -#: ../../howto/clinic.rst:859 +#: ../../howto/clinic.rst:861 msgid "``'y#'``" msgstr "``'y#'``" -#: ../../howto/clinic.rst:859 +#: ../../howto/clinic.rst:861 msgid "``str(accept={robuffer}, zeroes=True)``" msgstr "" -#: ../../howto/clinic.rst:860 +#: ../../howto/clinic.rst:862 msgid "``'y*'``" msgstr "``'y*'``" -#: ../../howto/clinic.rst:860 +#: ../../howto/clinic.rst:862 msgid "``Py_buffer``" msgstr "``Py_buffer``" -#: ../../howto/clinic.rst:861 +#: ../../howto/clinic.rst:863 msgid "``'Z'``" msgstr "``'Z'``" -#: ../../howto/clinic.rst:861 +#: ../../howto/clinic.rst:863 msgid "``Py_UNICODE(accept={str, NoneType})``" msgstr "" -#: ../../howto/clinic.rst:862 +#: ../../howto/clinic.rst:864 msgid "``'Z#'``" msgstr "``'Z#'``" -#: ../../howto/clinic.rst:862 +#: ../../howto/clinic.rst:864 msgid "``Py_UNICODE(accept={str, NoneType}, zeroes=True)``" msgstr "" -#: ../../howto/clinic.rst:863 +#: ../../howto/clinic.rst:865 msgid "``'z'``" msgstr "``'z'``" -#: ../../howto/clinic.rst:863 +#: ../../howto/clinic.rst:865 msgid "``str(accept={str, NoneType})``" msgstr "" -#: ../../howto/clinic.rst:864 +#: ../../howto/clinic.rst:866 msgid "``'z#'``" msgstr "``'z#'``" -#: ../../howto/clinic.rst:864 +#: ../../howto/clinic.rst:866 msgid "``str(accept={str, NoneType}, zeroes=True)``" msgstr "" -#: ../../howto/clinic.rst:865 +#: ../../howto/clinic.rst:867 msgid "``'z*'``" msgstr "``'z*'``" -#: ../../howto/clinic.rst:865 +#: ../../howto/clinic.rst:867 msgid "``Py_buffer(accept={buffer, str, NoneType})``" msgstr "" -#: ../../howto/clinic.rst:868 +#: ../../howto/clinic.rst:870 msgid "" "As an example, here's our sample ``pickle.Pickler.dump`` using the proper " "converter::" msgstr "" -#: ../../howto/clinic.rst:881 +#: ../../howto/clinic.rst:883 msgid "" "One advantage of real converters is that they're more flexible than legacy " "converters. For example, the ``unsigned_int`` converter (and all the " @@ -1333,7 +1327,7 @@ msgid "" "negative numbers. You just can't do that with a legacy converter!" msgstr "" -#: ../../howto/clinic.rst:887 +#: ../../howto/clinic.rst:889 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 " @@ -1341,11 +1335,11 @@ msgid "" "converters`` to see the full list." msgstr "" -#: ../../howto/clinic.rst:893 +#: ../../howto/clinic.rst:895 msgid "Py_buffer" msgstr "" -#: ../../howto/clinic.rst:895 +#: ../../howto/clinic.rst:897 msgid "" "When using the ``Py_buffer`` converter (or the ``'s*'``, ``'w*'``, ``'*y'``, " "or ``'z*'`` legacy converters), you *must* not call :c:func:" @@ -1353,17 +1347,17 @@ msgid "" "that does it for you (in the parsing function)." msgstr "" -#: ../../howto/clinic.rst:903 +#: ../../howto/clinic.rst:905 msgid "Advanced converters" msgstr "" -#: ../../howto/clinic.rst:905 +#: ../../howto/clinic.rst:907 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:908 +#: ../../howto/clinic.rst:910 msgid "" "The trick is, all those format units take arguments—either conversion " "functions, or types, or strings specifying an encoding. (But \"legacy " @@ -1374,7 +1368,7 @@ msgid "" "units that start with ``e``)." msgstr "" -#: ../../howto/clinic.rst:916 +#: ../../howto/clinic.rst:918 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 " @@ -1383,7 +1377,7 @@ msgid "" "``object(type='PyUnicodeObject *', subclass_of='&PyUnicode_Type')``." msgstr "" -#: ../../howto/clinic.rst:922 +#: ../../howto/clinic.rst:924 msgid "" "One possible problem with using Argument Clinic: it takes away some possible " "flexibility for the format units starting with ``e``. When writing a " @@ -1396,31 +1390,31 @@ msgid "" "strings for parameters whose format units start with ``e``." msgstr "" -#: ../../howto/clinic.rst:935 +#: ../../howto/clinic.rst:937 msgid "Parameter default values" msgstr "" -#: ../../howto/clinic.rst:937 +#: ../../howto/clinic.rst:939 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:946 +#: ../../howto/clinic.rst:948 msgid "They can also use any of Python's built-in constants:" msgstr "" -#: ../../howto/clinic.rst:954 +#: ../../howto/clinic.rst:956 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:959 +#: ../../howto/clinic.rst:961 msgid "The ``NULL`` default value" msgstr "" -#: ../../howto/clinic.rst:961 +#: ../../howto/clinic.rst:963 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 " @@ -1430,11 +1424,11 @@ msgid "" "with ``NULL``." msgstr "" -#: ../../howto/clinic.rst:969 +#: ../../howto/clinic.rst:971 msgid "Expressions specified as default values" msgstr "" -#: ../../howto/clinic.rst:971 +#: ../../howto/clinic.rst:973 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 " @@ -1442,11 +1436,11 @@ msgid "" "obvious semantics." msgstr "" -#: ../../howto/clinic.rst:976 +#: ../../howto/clinic.rst:978 msgid "Consider the following example:" msgstr "" -#: ../../howto/clinic.rst:982 +#: ../../howto/clinic.rst:984 msgid "" "``sys.maxsize`` can have different values on different platforms. Therefore " "Argument Clinic can't simply evaluate that expression locally and hard-code " @@ -1454,14 +1448,14 @@ msgid "" "at runtime, when the user asks for the function's signature." msgstr "" -#: ../../howto/clinic.rst:987 +#: ../../howto/clinic.rst:989 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:995 +#: ../../howto/clinic.rst:997 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. " @@ -1470,7 +1464,7 @@ msgid "" "Python itself.)" msgstr "" -#: ../../howto/clinic.rst:1000 +#: ../../howto/clinic.rst:1002 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 " @@ -1478,7 +1472,7 @@ msgid "" "expression in C, using the ``c_default`` parameter to the converter:" msgstr "" -#: ../../howto/clinic.rst:1009 +#: ../../howto/clinic.rst:1011 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 " @@ -1486,38 +1480,38 @@ msgid "" "expressions to specify values that are guaranteed to be valid at runtime!" msgstr "" -#: ../../howto/clinic.rst:1014 +#: ../../howto/clinic.rst:1016 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:1018 +#: ../../howto/clinic.rst:1020 msgid "Function calls." msgstr "" -#: ../../howto/clinic.rst:1019 +#: ../../howto/clinic.rst:1021 msgid "Inline if statements (``3 if foo else 5``)." msgstr "" -#: ../../howto/clinic.rst:1020 +#: ../../howto/clinic.rst:1022 msgid "Automatic sequence unpacking (``*[1, 2, 3]``)." msgstr "" -#: ../../howto/clinic.rst:1021 +#: ../../howto/clinic.rst:1023 msgid "List/set/dict comprehensions and generator expressions." msgstr "" -#: ../../howto/clinic.rst:1022 +#: ../../howto/clinic.rst:1024 msgid "Tuple/list/set/dict literals." msgstr "" -#: ../../howto/clinic.rst:1027 +#: ../../howto/clinic.rst:1029 msgid "Using a return converter" msgstr "" -#: ../../howto/clinic.rst:1029 +#: ../../howto/clinic.rst:1031 msgid "" "By default the impl function Argument Clinic generates for you returns " "``PyObject *``. But your C function often computes some C type, then " @@ -1527,14 +1521,14 @@ msgid "" "too?" msgstr "" -#: ../../howto/clinic.rst:1035 +#: ../../howto/clinic.rst:1037 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 ``PyObject *``." msgstr "" -#: ../../howto/clinic.rst:1039 +#: ../../howto/clinic.rst:1041 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 " @@ -1544,13 +1538,13 @@ msgid "" "parentheses." msgstr "" -#: ../../howto/clinic.rst:1045 +#: ../../howto/clinic.rst:1047 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:1048 +#: ../../howto/clinic.rst:1050 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-" @@ -1563,18 +1557,18 @@ msgid "" "you return like normal." msgstr "" -#: ../../howto/clinic.rst:1057 +#: ../../howto/clinic.rst:1059 msgid "Currently Argument Clinic supports only a few return converters:" msgstr "" -#: ../../howto/clinic.rst:1072 +#: ../../howto/clinic.rst:1074 msgid "" "None of these take parameters. For the first three, return -1 to indicate " "error. For ``DecodeFSDefault``, the return type is ``const char *``; return " "a ``NULL`` pointer to indicate an error." msgstr "" -#: ../../howto/clinic.rst:1076 +#: ../../howto/clinic.rst:1078 msgid "" "(There's also an experimental ``NoneType`` converter, which lets you return " "``Py_None`` on success or ``NULL`` on failure, without having to increment " @@ -1582,117 +1576,117 @@ msgid "" "be worth using.)" msgstr "" -#: ../../howto/clinic.rst:1081 +#: ../../howto/clinic.rst:1083 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:1087 +#: ../../howto/clinic.rst:1089 msgid "Cloning existing functions" msgstr "" -#: ../../howto/clinic.rst:1089 +#: ../../howto/clinic.rst:1091 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:1093 +#: ../../howto/clinic.rst:1095 msgid "its parameters, including" msgstr "" -#: ../../howto/clinic.rst:1095 +#: ../../howto/clinic.rst:1097 msgid "their names," msgstr "" -#: ../../howto/clinic.rst:1097 +#: ../../howto/clinic.rst:1099 msgid "their converters, with all parameters," msgstr "" -#: ../../howto/clinic.rst:1099 +#: ../../howto/clinic.rst:1101 msgid "their default values," msgstr "" -#: ../../howto/clinic.rst:1101 +#: ../../howto/clinic.rst:1103 msgid "their per-parameter docstrings," msgstr "" -#: ../../howto/clinic.rst:1103 +#: ../../howto/clinic.rst:1105 msgid "" "their *kind* (whether they're positional only, positional or keyword, or " "keyword only), and" msgstr "" -#: ../../howto/clinic.rst:1106 +#: ../../howto/clinic.rst:1108 msgid "its return converter." msgstr "" -#: ../../howto/clinic.rst:1108 +#: ../../howto/clinic.rst:1110 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:1111 +#: ../../howto/clinic.rst:1113 msgid "Here's the syntax for cloning a function::" msgstr "" -#: ../../howto/clinic.rst:1119 +#: ../../howto/clinic.rst:1121 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:1123 +#: ../../howto/clinic.rst:1125 msgid "" -"Sorry, there's no syntax for partially-cloning a function, or cloning a " +"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:1126 +#: ../../howto/clinic.rst:1128 msgid "" "Also, the function you are cloning from must have been previously defined in " "the current file." msgstr "" -#: ../../howto/clinic.rst:1130 +#: ../../howto/clinic.rst:1132 msgid "Calling Python code" msgstr "" -#: ../../howto/clinic.rst:1132 +#: ../../howto/clinic.rst:1134 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:1136 +#: ../../howto/clinic.rst:1138 msgid "" "A Python block uses different delimiter lines than an Argument Clinic " "function block. It looks like this::" msgstr "" -#: ../../howto/clinic.rst:1143 +#: ../../howto/clinic.rst:1145 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." +"All text written to stdout inside the block is redirected into the " +"\"output\" after the block." msgstr "" -#: ../../howto/clinic.rst:1147 +#: ../../howto/clinic.rst:1149 msgid "" "As an example, here's a Python block that adds a static integer variable to " "the C code::" msgstr "" -#: ../../howto/clinic.rst:1158 +#: ../../howto/clinic.rst:1160 msgid "Using a \"self converter\"" msgstr "Usando um \"auto conversor\"" -#: ../../howto/clinic.rst:1160 +#: ../../howto/clinic.rst:1162 msgid "" "Argument Clinic automatically adds a \"self\" parameter for you using a " "default converter. It automatically sets the ``type`` of this parameter to " @@ -1703,13 +1697,13 @@ msgid "" "a subclass thereof." msgstr "" -#: ../../howto/clinic.rst:1169 +#: ../../howto/clinic.rst:1171 msgid "" "What's the point? This lets you override the type of ``self``, or give it a " "different default name." msgstr "" -#: ../../howto/clinic.rst:1172 +#: ../../howto/clinic.rst:1174 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 " @@ -1717,18 +1711,18 @@ msgid "" "want to use as the ``type`` parameter::" msgstr "" -#: ../../howto/clinic.rst:1188 +#: ../../howto/clinic.rst:1190 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:1210 +#: ../../howto/clinic.rst:1212 msgid "Using a \"defining class\" converter" msgstr "" -#: ../../howto/clinic.rst:1212 +#: ../../howto/clinic.rst:1214 msgid "" "Argument Clinic facilitates gaining access to the defining class of a " "method. This is useful for :ref:`heap type ` methods that need " @@ -1738,25 +1732,25 @@ msgid "" "example from a module method." msgstr "" -#: ../../howto/clinic.rst:1218 +#: ../../howto/clinic.rst:1220 msgid "" "Example from ``Modules/zlibmodule.c``. First, ``defining_class`` is added " "to the clinic input::" msgstr "" -#: ../../howto/clinic.rst:1230 +#: ../../howto/clinic.rst:1232 msgid "" "After running the Argument Clinic tool, the following function signature is " "generated::" msgstr "" -#: ../../howto/clinic.rst:1240 +#: ../../howto/clinic.rst:1242 msgid "" "The following code can now use ``PyType_GetModuleState(cls)`` to fetch the " "module state::" msgstr "" -#: ../../howto/clinic.rst:1246 +#: ../../howto/clinic.rst:1248 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. " @@ -1764,13 +1758,13 @@ msgid "" "appear in the ``__text_signature__``." msgstr "" -#: ../../howto/clinic.rst:1251 +#: ../../howto/clinic.rst:1253 msgid "" "The ``defining_class`` converter is not compatible with ``__init__`` and " "``__new__`` methods, which cannot use the ``METH_METHOD`` convention." msgstr "" -#: ../../howto/clinic.rst:1254 +#: ../../howto/clinic.rst:1256 msgid "" "It is not possible to use ``defining_class`` with slot methods. In order to " "fetch the module state from such methods, use ``_PyType_GetModuleByDef`` to " @@ -1779,15 +1773,15 @@ msgid "" "c``::" msgstr "" -#: ../../howto/clinic.rst:1269 +#: ../../howto/clinic.rst:1271 msgid "See also :pep:`573`." msgstr "" -#: ../../howto/clinic.rst:1273 +#: ../../howto/clinic.rst:1275 msgid "Writing a custom converter" msgstr "" -#: ../../howto/clinic.rst:1275 +#: ../../howto/clinic.rst:1277 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 " @@ -1796,7 +1790,7 @@ msgid "" "a :c:func:`PyArg_ParseTuple` \"converter function\"." msgstr "" -#: ../../howto/clinic.rst:1281 +#: ../../howto/clinic.rst:1283 msgid "" "Your converter class should be named ``*something*_converter``. If the name " "follows this convention, then your converter class will be automatically " @@ -1805,7 +1799,7 @@ msgid "" "metaclass.)" msgstr "" -#: ../../howto/clinic.rst:1287 +#: ../../howto/clinic.rst:1289 msgid "" "You shouldn't subclass ``CConverter.__init__``. Instead, you should write a " "``converter_init()`` function. ``converter_init()`` always accepts a " @@ -1814,118 +1808,118 @@ msgid "" "passed along to your ``converter_init()``." msgstr "" -#: ../../howto/clinic.rst:1294 +#: ../../howto/clinic.rst:1296 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:1298 +#: ../../howto/clinic.rst:1300 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:1304 +#: ../../howto/clinic.rst:1306 msgid "``default``" msgstr "``default``" -#: ../../howto/clinic.rst:1303 +#: ../../howto/clinic.rst:1305 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:1309 +#: ../../howto/clinic.rst:1311 msgid "``py_default``" msgstr "``py_default``" -#: ../../howto/clinic.rst:1307 +#: ../../howto/clinic.rst:1309 msgid "" "``default`` as it should appear in Python code, as a string. Or ``None`` if " "there is no default." msgstr "" -#: ../../howto/clinic.rst:1312 +#: ../../howto/clinic.rst:1314 msgid "" "``default`` as it should appear in C code, as a string. Or ``None`` if there " "is no default." msgstr "" -#: ../../howto/clinic.rst:1325 +#: ../../howto/clinic.rst:1327 msgid "``c_ignored_default``" msgstr "``c_ignored_default``" -#: ../../howto/clinic.rst:1317 +#: ../../howto/clinic.rst:1319 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 " +"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:1328 +#: ../../howto/clinic.rst:1330 msgid "The name of the C converter function, as a string." msgstr "" -#: ../../howto/clinic.rst:1333 +#: ../../howto/clinic.rst:1335 msgid "``impl_by_reference``" msgstr "``impl_by_reference``" -#: ../../howto/clinic.rst:1331 +#: ../../howto/clinic.rst:1333 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:1339 +#: ../../howto/clinic.rst:1341 msgid "``parse_by_reference``" msgstr "``parse_by_reference``" -#: ../../howto/clinic.rst:1336 +#: ../../howto/clinic.rst:1338 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:1341 +#: ../../howto/clinic.rst:1343 msgid "" "Here's the simplest example of a custom converter, from ``Modules/zlibmodule." "c``::" msgstr "" -#: ../../howto/clinic.rst:1352 +#: ../../howto/clinic.rst:1354 msgid "" "This block adds a converter to Argument Clinic named ``ssize_t``. " -"Parameters declared as ``ssize_t`` will be declared as 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 " +"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:1358 +#: ../../howto/clinic.rst:1360 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:1364 +#: ../../howto/clinic.rst:1366 msgid "Writing a custom return converter" msgstr "" -#: ../../howto/clinic.rst:1366 +#: ../../howto/clinic.rst:1368 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:1370 +#: ../../howto/clinic.rst:1372 msgid "" "Return converters must subclass ``CReturnConverter``. There are no examples " "yet of custom return converters, because they are not widely used yet. If " @@ -1934,59 +1928,59 @@ msgid "" "its subclasses." msgstr "" -#: ../../howto/clinic.rst:1378 +#: ../../howto/clinic.rst:1380 msgid "METH_O and METH_NOARGS" msgstr "" -#: ../../howto/clinic.rst:1380 +#: ../../howto/clinic.rst:1382 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:1392 +#: ../../howto/clinic.rst:1394 msgid "" "To convert a function using ``METH_NOARGS``, just don't specify any " "arguments." msgstr "" -#: ../../howto/clinic.rst:1395 +#: ../../howto/clinic.rst:1397 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:1399 +#: ../../howto/clinic.rst:1401 msgid "tp_new and tp_init functions" msgstr "" -#: ../../howto/clinic.rst:1401 +#: ../../howto/clinic.rst:1403 msgid "" "You can convert ``tp_new`` and ``tp_init`` functions. Just name them " "``__new__`` or ``__init__`` as appropriate. Notes:" msgstr "" -#: ../../howto/clinic.rst:1404 +#: ../../howto/clinic.rst:1406 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:1408 +#: ../../howto/clinic.rst:1410 msgid "No ``PyMethodDef`` ``#define`` is generated for these functions." msgstr "" -#: ../../howto/clinic.rst:1410 +#: ../../howto/clinic.rst:1412 msgid "``__init__`` functions return ``int``, not ``PyObject *``." msgstr "" -#: ../../howto/clinic.rst:1412 +#: ../../howto/clinic.rst:1414 msgid "Use the docstring as the class docstring." msgstr "" -#: ../../howto/clinic.rst:1414 +#: ../../howto/clinic.rst:1416 msgid "" "Although ``__new__`` and ``__init__`` functions must always accept both the " "``args`` and ``kwargs`` objects, when converting you may specify any " @@ -1995,11 +1989,11 @@ msgid "" "it receives any.)" msgstr "" -#: ../../howto/clinic.rst:1421 +#: ../../howto/clinic.rst:1423 msgid "Changing and redirecting Clinic's output" msgstr "" -#: ../../howto/clinic.rst:1423 +#: ../../howto/clinic.rst:1425 msgid "" "It can be inconvenient to have Clinic's output interspersed with your " "conventional hand-edited C code. Luckily, Clinic is configurable: you can " @@ -2008,7 +2002,7 @@ msgid "" "Clinic's generated output." msgstr "" -#: ../../howto/clinic.rst:1429 +#: ../../howto/clinic.rst:1431 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 " @@ -2020,15 +2014,15 @@ msgid "" "rearranging your code to fix definition-before-use problems.)" msgstr "" -#: ../../howto/clinic.rst:1438 +#: ../../howto/clinic.rst:1440 msgid "Let's start with defining some terminology:" msgstr "" -#: ../../howto/clinic.rst:1465 +#: ../../howto/clinic.rst:1467 msgid "*field*" msgstr "" -#: ../../howto/clinic.rst:1441 +#: ../../howto/clinic.rst:1443 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 " @@ -2036,7 +2030,7 @@ msgid "" "function definition:" msgstr "" -#: ../../howto/clinic.rst:1456 +#: ../../howto/clinic.rst:1458 msgid "" "All the names are of the form ``\"_\"``, where ``\"\"`` is the " "semantic object represented (the parsing function, the impl function, the " @@ -2044,50 +2038,50 @@ msgid "" "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.)" +"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:1499 +#: ../../howto/clinic.rst:1501 msgid "*destination*" msgstr "" -#: ../../howto/clinic.rst:1468 +#: ../../howto/clinic.rst:1470 msgid "" "A destination is a place Clinic can write output to. There are five built-" "in destinations:" msgstr "" -#: ../../howto/clinic.rst:1473 ../../howto/clinic.rst:1548 -#: ../../howto/clinic.rst:1626 +#: ../../howto/clinic.rst:1475 ../../howto/clinic.rst:1550 +#: ../../howto/clinic.rst:1628 msgid "``block``" msgstr "``block``" -#: ../../howto/clinic.rst:1472 +#: ../../howto/clinic.rst:1474 msgid "" "The default destination: printed in the output section of the current Clinic " "block." msgstr "" -#: ../../howto/clinic.rst:1479 ../../howto/clinic.rst:1575 -#: ../../howto/clinic.rst:1629 +#: ../../howto/clinic.rst:1481 ../../howto/clinic.rst:1577 +#: ../../howto/clinic.rst:1631 msgid "``buffer``" msgstr "``buffer``" -#: ../../howto/clinic.rst:1476 +#: ../../howto/clinic.rst:1478 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:1490 ../../howto/clinic.rst:1561 -#: ../../howto/clinic.rst:1655 +#: ../../howto/clinic.rst:1492 ../../howto/clinic.rst:1563 +#: ../../howto/clinic.rst:1657 msgid "``file``" msgstr "``file``" -#: ../../howto/clinic.rst:1482 +#: ../../howto/clinic.rst:1484 msgid "" "A separate \"clinic file\" that will be created automatically by Clinic. The " "filename chosen for the file is ``{basename}.clinic{extension}``, where " @@ -2096,65 +2090,65 @@ msgid "" "for ``_pickle.c`` would be written to ``_pickle.clinic.c``.)" msgstr "" -#: ../../howto/clinic.rst:1489 +#: ../../howto/clinic.rst:1491 msgid "" "**Important: When using a** ``file`` **destination, you** *must check in* " "**the generated file!**" msgstr "" -#: ../../howto/clinic.rst:1495 ../../howto/clinic.rst:1588 -#: ../../howto/clinic.rst:1659 +#: ../../howto/clinic.rst:1497 ../../howto/clinic.rst:1590 +#: ../../howto/clinic.rst:1661 msgid "``two-pass``" msgstr "``two-pass``" -#: ../../howto/clinic.rst:1493 +#: ../../howto/clinic.rst:1495 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:1499 ../../howto/clinic.rst:1622 +#: ../../howto/clinic.rst:1501 ../../howto/clinic.rst:1624 msgid "``suppress``" msgstr "``suppress``" -#: ../../howto/clinic.rst:1498 +#: ../../howto/clinic.rst:1500 msgid "The text is suppressed—thrown away." msgstr "" -#: ../../howto/clinic.rst:1501 +#: ../../howto/clinic.rst:1503 msgid "Clinic defines five new directives that let you reconfigure its output." msgstr "" -#: ../../howto/clinic.rst:1503 +#: ../../howto/clinic.rst:1505 msgid "The first new directive is ``dump``:" msgstr "" -#: ../../howto/clinic.rst:1509 +#: ../../howto/clinic.rst:1511 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:1513 +#: ../../howto/clinic.rst:1515 msgid "" "The second new directive is ``output``. The most basic form of ``output`` " "is like this:" msgstr "" -#: ../../howto/clinic.rst:1520 +#: ../../howto/clinic.rst:1522 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:1524 +#: ../../howto/clinic.rst:1526 msgid "``output`` has a number of other functions:" msgstr "" -#: ../../howto/clinic.rst:1533 +#: ../../howto/clinic.rst:1535 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 " @@ -2163,25 +2157,25 @@ msgid "" "when you wish to restore the previous configuration." msgstr "" -#: ../../howto/clinic.rst:1540 +#: ../../howto/clinic.rst:1542 msgid "" "``output preset`` sets Clinic's output to one of several built-in preset " "configurations, as follows:" msgstr "" -#: ../../howto/clinic.rst:1544 +#: ../../howto/clinic.rst:1546 msgid "" "Clinic's original starting configuration. Writes everything immediately " "after the input block." msgstr "" -#: ../../howto/clinic.rst:1547 +#: ../../howto/clinic.rst:1549 msgid "" "Suppress the ``parser_prototype`` and ``docstring_prototype``, write " "everything else to ``block``." msgstr "" -#: ../../howto/clinic.rst:1551 +#: ../../howto/clinic.rst:1553 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 " @@ -2189,17 +2183,17 @@ msgid "" "declarations for various ``typedef`` and ``PyTypeObject`` definitions." msgstr "" -#: ../../howto/clinic.rst:1557 +#: ../../howto/clinic.rst:1559 msgid "" "Suppress the ``parser_prototype`` and ``docstring_prototype``, write the " "``impl_definition`` to ``block``, and write everything else to ``file``." msgstr "" -#: ../../howto/clinic.rst:1561 +#: ../../howto/clinic.rst:1563 msgid "The default filename is ``\"{dirname}/clinic/{basename}.h\"``." msgstr "" -#: ../../howto/clinic.rst:1564 +#: ../../howto/clinic.rst:1566 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 " @@ -2209,14 +2203,14 @@ msgid "" "static ``PyMethodDef`` arrays defined in the middle of the file." msgstr "" -#: ../../howto/clinic.rst:1573 +#: ../../howto/clinic.rst:1575 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:1578 +#: ../../howto/clinic.rst:1580 msgid "" "Similar to the ``buffer`` preset, but writes forward declarations to the " "``two-pass`` buffer, and definitions to the ``buffer``. This is similar to " @@ -2225,18 +2219,18 @@ msgid "" "near the end just like you would when using the ``buffer`` preset." msgstr "" -#: ../../howto/clinic.rst:1585 +#: ../../howto/clinic.rst:1587 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:1599 +#: ../../howto/clinic.rst:1601 msgid "``partial-buffer``" msgstr "``partial-buffer``" -#: ../../howto/clinic.rst:1591 +#: ../../howto/clinic.rst:1593 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 " @@ -2246,137 +2240,137 @@ msgid "" "preset." msgstr "" -#: ../../howto/clinic.rst:1598 +#: ../../howto/clinic.rst:1600 msgid "" "Suppresses the ``impl_prototype``, write the ``docstring_definition`` and " "``parser_definition`` to ``buffer``, write everything else to ``block``." msgstr "" -#: ../../howto/clinic.rst:1601 +#: ../../howto/clinic.rst:1603 msgid "The third new directive is ``destination``:" msgstr "" -#: ../../howto/clinic.rst:1607 +#: ../../howto/clinic.rst:1609 msgid "This performs an operation on the destination named ``name``." msgstr "" -#: ../../howto/clinic.rst:1609 +#: ../../howto/clinic.rst:1611 msgid "There are two defined subcommands: ``new`` and ``clear``." msgstr "" -#: ../../howto/clinic.rst:1611 +#: ../../howto/clinic.rst:1613 msgid "The ``new`` subcommand works like this:" msgstr "" -#: ../../howto/clinic.rst:1617 +#: ../../howto/clinic.rst:1619 msgid "" "This creates a new destination with name ```` and type ````." msgstr "" -#: ../../howto/clinic.rst:1619 +#: ../../howto/clinic.rst:1621 msgid "There are five destination types:" msgstr "" -#: ../../howto/clinic.rst:1622 +#: ../../howto/clinic.rst:1624 msgid "Throws the text away." msgstr "" -#: ../../howto/clinic.rst:1625 +#: ../../howto/clinic.rst:1627 msgid "" "Writes the text to the current block. This is what Clinic originally did." msgstr "" -#: ../../howto/clinic.rst:1629 +#: ../../howto/clinic.rst:1631 msgid "A simple text buffer, like the \"buffer\" builtin destination above." msgstr "" -#: ../../howto/clinic.rst:1632 +#: ../../howto/clinic.rst:1634 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:1635 +#: ../../howto/clinic.rst:1637 msgid "destination new " msgstr "" -#: ../../howto/clinic.rst:1637 +#: ../../howto/clinic.rst:1639 msgid "" "The template can use three strings internally that will be replaced by bits " "of the filename:" msgstr "" -#: ../../howto/clinic.rst:1640 +#: ../../howto/clinic.rst:1642 msgid "{path}" msgstr "{path}" -#: ../../howto/clinic.rst:1641 +#: ../../howto/clinic.rst:1643 msgid "The full path to the file, including directory and full filename." msgstr "" -#: ../../howto/clinic.rst:1642 +#: ../../howto/clinic.rst:1644 msgid "{dirname}" msgstr "" -#: ../../howto/clinic.rst:1643 +#: ../../howto/clinic.rst:1645 msgid "The name of the directory the file is in." msgstr "" -#: ../../howto/clinic.rst:1644 +#: ../../howto/clinic.rst:1646 msgid "{basename}" msgstr "" -#: ../../howto/clinic.rst:1645 +#: ../../howto/clinic.rst:1647 msgid "Just the name of the file, not including the directory." msgstr "" -#: ../../howto/clinic.rst:1647 +#: ../../howto/clinic.rst:1649 msgid "{basename_root}" msgstr "" -#: ../../howto/clinic.rst:1647 +#: ../../howto/clinic.rst:1649 msgid "" "Basename with the extension clipped off (everything up to but not including " "the last '.')." msgstr "" -#: ../../howto/clinic.rst:1651 +#: ../../howto/clinic.rst:1653 msgid "{basename_extension}" msgstr "" -#: ../../howto/clinic.rst:1650 +#: ../../howto/clinic.rst:1652 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:1653 +#: ../../howto/clinic.rst:1655 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:1658 +#: ../../howto/clinic.rst:1660 msgid "A two-pass buffer, like the \"two-pass\" builtin destination above." msgstr "" -#: ../../howto/clinic.rst:1661 +#: ../../howto/clinic.rst:1663 msgid "The ``clear`` subcommand works like this:" msgstr "" -#: ../../howto/clinic.rst:1667 +#: ../../howto/clinic.rst:1669 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:1671 +#: ../../howto/clinic.rst:1673 msgid "The fourth new directive is ``set``:" msgstr "" -#: ../../howto/clinic.rst:1678 +#: ../../howto/clinic.rst:1680 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; " @@ -2384,35 +2378,35 @@ msgid "" "output." msgstr "" -#: ../../howto/clinic.rst:1682 +#: ../../howto/clinic.rst:1684 msgid "Both of these support two format strings:" msgstr "" -#: ../../howto/clinic.rst:1685 +#: ../../howto/clinic.rst:1687 msgid "``{block comment start}``" msgstr "" -#: ../../howto/clinic.rst:1685 +#: ../../howto/clinic.rst:1687 msgid "" "Turns into the string ``/*``, the start-comment text sequence for C files." msgstr "" -#: ../../howto/clinic.rst:1688 +#: ../../howto/clinic.rst:1690 msgid "``{block comment end}``" msgstr "" -#: ../../howto/clinic.rst:1688 +#: ../../howto/clinic.rst:1690 msgid "" "Turns into the string ``*/``, the end-comment text sequence for C files." msgstr "" -#: ../../howto/clinic.rst:1690 +#: ../../howto/clinic.rst:1692 msgid "" "The final new directive is one you shouldn't need to use directly, called " "``preserve``:" msgstr "" -#: ../../howto/clinic.rst:1697 +#: ../../howto/clinic.rst:1699 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 " @@ -2421,36 +2415,36 @@ msgid "" "gets overwritten." msgstr "" -#: ../../howto/clinic.rst:1704 +#: ../../howto/clinic.rst:1706 msgid "The #ifdef trick" msgstr "O truque de #ifdef" -#: ../../howto/clinic.rst:1706 +#: ../../howto/clinic.rst:1708 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:1717 +#: ../../howto/clinic.rst:1719 msgid "" "And then in the ``PyMethodDef`` structure at the bottom the existing code " "will have:" msgstr "" -#: ../../howto/clinic.rst:1726 +#: ../../howto/clinic.rst:1728 msgid "" "In this scenario, you should enclose the body of your impl function inside " "the ``#ifdef``, like so::" msgstr "" -#: ../../howto/clinic.rst:1740 +#: ../../howto/clinic.rst:1742 msgid "" "Then, remove those three lines from the ``PyMethodDef`` structure, replacing " "them with the macro Argument Clinic generated:" msgstr "" -#: ../../howto/clinic.rst:1747 +#: ../../howto/clinic.rst:1749 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 " @@ -2458,27 +2452,27 @@ msgid "" "uppercased, and ``\"_METHODDEF\"`` added to the end.)" msgstr "" -#: ../../howto/clinic.rst:1752 +#: ../../howto/clinic.rst:1754 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:1755 +#: ../../howto/clinic.rst:1757 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:1763 +#: ../../howto/clinic.rst:1765 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:1767 +#: ../../howto/clinic.rst:1769 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 " @@ -2486,24 +2480,24 @@ msgid "" "the whole point!)" msgstr "" -#: ../../howto/clinic.rst:1771 +#: ../../howto/clinic.rst:1773 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:1779 +#: ../../howto/clinic.rst:1781 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:1786 +#: ../../howto/clinic.rst:1788 msgid "Using Argument Clinic in Python files" msgstr "" -#: ../../howto/clinic.rst:1788 +#: ../../howto/clinic.rst:1790 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 " @@ -2511,7 +2505,7 @@ msgid "" "Clinic to run Python blocks lets you use Python as a Python preprocessor!" msgstr "" -#: ../../howto/clinic.rst:1793 +#: ../../howto/clinic.rst:1795 msgid "" "Since Python comments are different from C comments, Argument Clinic blocks " "embedded in Python files look slightly different. They look like this:" diff --git a/howto/cporting.po b/howto/cporting.po index 3785f96dc..e08cb6d98 100644 --- a/howto/cporting.po +++ b/howto/cporting.po @@ -1,26 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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.10\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-06-29 12:56+0000\n" -"PO-Revision-Date: 2021-06-28 00:52+0000\n" -"Last-Translator: Rafael Fontenelle , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:57+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../howto/cporting.rst:7 msgid "Porting Extension Modules to Python 3" diff --git a/howto/curses.po b/howto/curses.po index 8aa3a8682..319825cb0 100644 --- a/howto/curses.po +++ b/howto/curses.po @@ -1,32 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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 -# Claudio Rogerio Carvalho Filho , 2021 -# Marciel Leal , 2021 -# Aline Balogh , 2021 -# 82596da39877db21448335599650eb68_ac09920 <1d2e18e2f37f0ba6c4f06b239e0670bd_848591>, 2021 -# Danilo Lima , 2021 +# python-doc bot, 2025 # #, 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 00:53+0000\n" -"Last-Translator: Danilo Lima , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:57+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../howto/curses.rst:5 msgid "Curses Programming with Python" @@ -58,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:18 msgid "What is curses?" @@ -75,13 +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. \n" -"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:28 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:36 @@ -137,38 +131,29 @@ 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:56 msgid "" "The Windows version of Python doesn't include the :mod:`curses` module. A " "ported version called `UniCurses `_ is " -"available. You could also try `the Console module `_ written by Fredrik Lundh, which doesn't use the same " -"API as curses but provides cursor-addressable text output and full support " -"for mouse and keyboard input." -msgstr "" -"A versão do Python para Windows não inclui o módulo :mod:`curses`. Uma " -"versão portada chamada `UniCurses `_ " -"está disponível. Você também pode experimentar o módulo `Console `_ escrito por Fredrik Lundh, que não " -"utiliza a mesma API que a biblioteca curses mas fornece saída de texto " -"endereçada ao cursor e suporte completo a entradas via mouse e teclado." - -#: ../../howto/curses.rst:66 +"available." +msgstr "" + +#: ../../howto/curses.rst:62 msgid "The Python curses module" msgstr "O módulo curses de Python" -#: ../../howto/curses.rst:68 +#: ../../howto/curses.rst:64 msgid "" "The Python module is a fairly simple wrapper over the C functions provided " "by curses; if you're already familiar with curses programming in C, it's " @@ -186,23 +171,23 @@ msgstr "" "e :c:func:`mvwaddstr` num único método :meth:`~curses.window.addstr`. Você " "verá isso em mais detalhes posteriormente." -#: ../../howto/curses.rst:76 +#: ../../howto/curses.rst:72 msgid "" "This HOWTO is an introduction to writing text-mode programs with curses and " "Python. It doesn't attempt to be a complete guide to the curses API; for " "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:83 +#: ../../howto/curses.rst:79 msgid "Starting and ending a curses application" msgstr "Começando e terminando uma aplicação curses" -#: ../../howto/curses.rst:85 +#: ../../howto/curses.rst:81 msgid "" "Before doing anything, curses must be initialized. This is done by calling " "the :func:`~curses.initscr` function, which will determine the terminal " @@ -218,17 +203,17 @@ msgstr "" "func:`initscr` retorna um objeto janela representando a tela inteira; isso é " "geralmente chamado ``stdscr`` depois do nome da variável C correspondente. ::" -#: ../../howto/curses.rst:96 +#: ../../howto/curses.rst:92 msgid "" "Usually curses applications turn off automatic echoing of keys to the " "screen, in order to be able to read keys and only display them under certain " "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:103 +#: ../../howto/curses.rst:99 msgid "" "Applications will also commonly need to react to keys instantly, without " "requiring the Enter key to be pressed; this is called cbreak mode, as " @@ -238,7 +223,7 @@ msgstr "" "sem requisitar que a tecla Enter seja pressionada; isto é chamado de modo " "cbreak, ao contrário do modo de entrada buferizada usual. ::" -#: ../../howto/curses.rst:109 +#: ../../howto/curses.rst:105 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 " @@ -254,7 +239,7 @@ msgstr "" "valor especial como :const:`curses.KEY_LEFT`. Para permitir que curses faça " "esse trabalho, você precisará habilitar o modo keypad. ::" -#: ../../howto/curses.rst:118 +#: ../../howto/curses.rst:114 msgid "" "Terminating a curses application is much easier than starting one. You'll " "need to call::" @@ -262,17 +247,17 @@ msgstr "" "Finalizar uma aplicação curses é mais fácil do que iniciar uma. Você " "precisará executar::" -#: ../../howto/curses.rst:125 +#: ../../howto/curses.rst:121 msgid "" "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:131 +#: ../../howto/curses.rst:127 msgid "" "A common problem when debugging a curses application is to get your terminal " "messed up when the application dies without restoring the terminal to its " @@ -280,14 +265,14 @@ 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:137 +#: ../../howto/curses.rst:133 msgid "" "In Python you can avoid these complications and make debugging much easier " "by importing the :func:`curses.wrapper` function and using it like this::" @@ -296,7 +281,7 @@ msgstr "" "mais simples importando a função :func:`curses.wrapper` e utilizando-a desta " "forma::" -#: ../../howto/curses.rst:156 +#: ../../howto/curses.rst:152 msgid "" "The :func:`~curses.wrapper` function takes a callable object and does the " "initializations described above, also initializing colors if color support " @@ -318,21 +303,21 @@ msgstr "" "Portanto, seu terminal não será deixado num estado engraçado numa exceção e " "você poderá ler as mensagens e rastreamentos da exceção." -#: ../../howto/curses.rst:168 +#: ../../howto/curses.rst:164 msgid "Windows and Pads" msgstr "Janelas e Pads" -#: ../../howto/curses.rst:170 +#: ../../howto/curses.rst:166 msgid "" "Windows are the basic abstraction in curses. A window object represents a " "rectangular area of the screen, and supports methods to display text, erase " "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:174 +#: ../../howto/curses.rst:170 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 " @@ -348,7 +333,7 @@ msgstr "" "func:`~curses.newwin` cria uma nova janela de um dado tamanho, retornando o " "novo objeto janela. ::" -#: ../../howto/curses.rst:185 +#: ../../howto/curses.rst:181 msgid "" "Note that the coordinate system used in curses is unusual. Coordinates are " "always passed in the order *y,x*, and the top-left corner of a window is " @@ -364,7 +349,7 @@ msgstr "" "da maioria das aplicações computacionais, mas tem sido parte da curses desde " "que ela foi inicialmente escrita, e agora é tarde demais para mudar isso." -#: ../../howto/curses.rst:193 +#: ../../howto/curses.rst:189 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* " @@ -373,10 +358,10 @@ msgid "" 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." +"Coordenadas válidas vão variar de ``(0,0)`` até ``(curses.LINES - 1, curses." "COLS - 1)``." -#: ../../howto/curses.rst:198 +#: ../../howto/curses.rst:194 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:" @@ -386,7 +371,7 @@ msgstr "" "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:203 +#: ../../howto/curses.rst:199 msgid "" "This is because curses was originally written with slow 300-baud terminal " "connections in mind; with these terminals, minimizing the time required to " @@ -404,7 +389,7 @@ msgstr "" "numa janela e então limpar a janela, não há a necessidade de enviar o texto " "original porque eles nunca estão visíveis." -#: ../../howto/curses.rst:212 +#: ../../howto/curses.rst:208 msgid "" "In practice, explicitly telling curses to redraw a window doesn't really " "complicate programming with curses much. Most programs go into a flurry of " @@ -421,7 +406,7 @@ msgstr "" "do usuário, ao chamar primeiro ``stdscr.refresh()`` ou o método :meth:" "`refresh` de alguma outra janela relevante." -#: ../../howto/curses.rst:220 +#: ../../howto/curses.rst:216 msgid "" "A pad is a special case of a window; it can be larger than the actual " "display screen, and only a portion of the pad displayed at a time. Creating " @@ -434,7 +419,7 @@ msgstr "" "altura e largura, enquanto atualizar o pad requer dar as coordenadas da área " "na tela onde uma subseção do pad será exibida. ::" -#: ../../howto/curses.rst:241 +#: ../../howto/curses.rst:237 msgid "" "The :meth:`refresh` call displays a section of the pad in the rectangle " "extending from coordinate (5,5) to coordinate (20,75) on the screen; the " @@ -448,7 +433,7 @@ msgstr "" "diferença, blocos são exatamente como janelas comuns e suportam os mesmos " "métodos." -#: ../../howto/curses.rst:247 +#: ../../howto/curses.rst:243 msgid "" "If you have multiple windows and pads on screen there is a more efficient " "way to update the screen and prevent annoying screen flicker as each part of " @@ -458,7 +443,7 @@ msgstr "" "atualizar a tela e prevenir piscadas irritantes como se parte da tela fosse " "atualizada. :meth:`refresh` na realidade faz duas coisas:" -#: ../../howto/curses.rst:252 +#: ../../howto/curses.rst:248 msgid "" "Calls the :meth:`~curses.window.noutrefresh` method of each window to update " "an underlying data structure representing the desired state of the screen." @@ -467,15 +452,15 @@ msgstr "" "atualizar uma estrutura de dados subjacente representando o estado desejado " "da tela." -#: ../../howto/curses.rst:255 +#: ../../howto/curses.rst:251 msgid "" "Calls the function :func:`~curses.doupdate` function to change the physical " "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:258 +#: ../../howto/curses.rst:254 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." @@ -484,11 +469,11 @@ msgstr "" "para atualizar a estrutura de dados, e então chamar :func:`doupdate` para " "atualizar a tela." -#: ../../howto/curses.rst:264 +#: ../../howto/curses.rst:260 msgid "Displaying Text" msgstr "Exibindo texto" -#: ../../howto/curses.rst:266 +#: ../../howto/curses.rst:262 msgid "" "From a C programmer's point of view, curses may sometimes look like a twisty " "maze of functions, all subtly different. For example, :c:func:`addstr` " @@ -507,7 +492,7 @@ msgstr "" "``stdscr`` por padrão. :c:func:`mvwaddstr` permite especificar tanto uma " "janela quanto uma coordenada." -#: ../../howto/curses.rst:275 +#: ../../howto/curses.rst:271 msgid "" "Fortunately the Python interface hides all these details. ``stdscr`` is a " "window object like any other, and methods such as :meth:`~curses.window." @@ -518,27 +503,27 @@ msgstr "" "um objeto de janela como qualquer outro, e métodos como :meth:`~curses." "window.addstr` aceitam múltiplas formas de argumentos." -#: ../../howto/curses.rst:281 +#: ../../howto/curses.rst:277 msgid "Form" msgstr "Forma" -#: ../../howto/curses.rst:281 ../../howto/curses.rst:350 +#: ../../howto/curses.rst:277 ../../howto/curses.rst:346 msgid "Description" msgstr "Descrição" -#: ../../howto/curses.rst:283 +#: ../../howto/curses.rst:279 msgid "*str* or *ch*" msgstr "*str* ou *ch*" -#: ../../howto/curses.rst:283 +#: ../../howto/curses.rst:279 msgid "Display the string *str* or character *ch* at the current position" msgstr "Mostra a string *str* ou caractere *ch* na posição atual." -#: ../../howto/curses.rst:286 +#: ../../howto/curses.rst:282 msgid "*str* or *ch*, *attr*" msgstr "*str* ou *ch*, *attr*" -#: ../../howto/curses.rst:286 +#: ../../howto/curses.rst:282 msgid "" "Display the string *str* or character *ch*, using attribute *attr* at the " "current position" @@ -546,19 +531,19 @@ msgstr "" "Mostra a string *str* ou caractere *ch*, usando o atributo *attr* na posição " "atual." -#: ../../howto/curses.rst:290 +#: ../../howto/curses.rst:286 msgid "*y*, *x*, *str* or *ch*" msgstr "*y*, *x*, *str* ou *ch*" -#: ../../howto/curses.rst:290 +#: ../../howto/curses.rst:286 msgid "Move to position *y,x* within the window, and display *str* or *ch*" msgstr "Move para a posição *y,x* dentro da janela, e exibe *str* ou *ch*" -#: ../../howto/curses.rst:293 +#: ../../howto/curses.rst:289 msgid "*y*, *x*, *str* or *ch*, *attr*" msgstr "*y*, *x*, *str* ou *ch*, *attr*" -#: ../../howto/curses.rst:293 +#: ../../howto/curses.rst:289 msgid "" "Move to position *y,x* within the window, and display *str* or *ch*, using " "attribute *attr*" @@ -566,7 +551,7 @@ msgstr "" "Mover para a posição *y,x* dentro da janela, e exibir *str* ou *ch*, usando " "o atributo *attr*" -#: ../../howto/curses.rst:297 +#: ../../howto/curses.rst:293 msgid "" "Attributes allow displaying text in highlighted forms such as boldface, " "underline, reverse code, or in color. They'll be explained in more detail " @@ -576,7 +561,7 @@ msgstr "" "sublinhado, código invertido, ou colorido. Elas serão explicadas em mais " "detalhes na próxima subseção." -#: ../../howto/curses.rst:302 +#: ../../howto/curses.rst:298 msgid "" "The :meth:`~curses.window.addstr` method takes a Python string or bytestring " "as the value to be displayed. The contents of bytestrings are sent to the " @@ -591,7 +576,7 @@ msgstr "" "codificação padrão do sistema como retornado por :func:`locale." "getpreferredencoding`." -#: ../../howto/curses.rst:309 +#: ../../howto/curses.rst:305 msgid "" "The :meth:`~curses.window.addch` methods take a character, which can be " "either a string of length 1, a bytestring of length 1, or an integer." @@ -600,7 +585,7 @@ msgstr "" "tanto uma string de comprimento 1, um bytestring de comprimento 1, ou um " "inteiro." -#: ../../howto/curses.rst:312 +#: ../../howto/curses.rst:308 msgid "" "Constants are provided for extension characters; these constants are " "integers greater than 255. For example, :const:`ACS_PLMINUS` is a +/- " @@ -612,7 +597,7 @@ msgstr "" "+/-, e :const:`ACS_ULCORNER` é o canto superior esquerdo de uma caixa (útil " "para desenhar bordas). Você pode usar o caractere Unicode apropriado." -#: ../../howto/curses.rst:318 +#: ../../howto/curses.rst:314 msgid "" "Windows remember where the cursor was left after the last operation, so if " "you leave out the *y,x* coordinates, the string or character will be " @@ -630,7 +615,7 @@ msgstr "" "local onde ele não será uma distração; pode ser confuso ter o cursor " "piscando em um local aparentemente aleatório." -#: ../../howto/curses.rst:326 +#: ../../howto/curses.rst:322 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 " @@ -646,19 +631,24 @@ msgstr "" "*bool* é verdadeiro, a biblioteca curses tentará suprimir o cursor piscando, " "e você não precisará se preocupar ao deixá-lo em localizações incomuns." -#: ../../howto/curses.rst:335 +#: ../../howto/curses.rst:331 msgid "Attributes and Color" msgstr "Atributos e Cor" -#: ../../howto/curses.rst:337 +#: ../../howto/curses.rst:333 msgid "" "Characters can be displayed in different ways. Status lines in a text-based " "application are commonly shown in reverse video, or a text viewer may need " "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:342 +#: ../../howto/curses.rst:338 msgid "" "An attribute is an integer, each bit representing a different attribute. " "You can try to display text with multiple attribute bits set, but curses " @@ -667,73 +657,84 @@ 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:350 +#: ../../howto/curses.rst:346 msgid "Attribute" msgstr "Atributo" -#: ../../howto/curses.rst:352 +#: ../../howto/curses.rst:348 msgid ":const:`A_BLINK`" msgstr ":const:`A_BLINK`" -#: ../../howto/curses.rst:352 +#: ../../howto/curses.rst:348 msgid "Blinking text" -msgstr "" +msgstr "Texto piscante" -#: ../../howto/curses.rst:354 +#: ../../howto/curses.rst:350 msgid ":const:`A_BOLD`" msgstr ":const:`A_BOLD`" -#: ../../howto/curses.rst:354 +#: ../../howto/curses.rst:350 msgid "Extra bright or bold text" -msgstr "" +msgstr "Texto em negrito ou brilho extra" -#: ../../howto/curses.rst:356 +#: ../../howto/curses.rst:352 msgid ":const:`A_DIM`" msgstr ":const:`A_DIM`" -#: ../../howto/curses.rst:356 +#: ../../howto/curses.rst:352 msgid "Half bright text" -msgstr "" +msgstr "Texto em brilho médio" -#: ../../howto/curses.rst:358 +#: ../../howto/curses.rst:354 msgid ":const:`A_REVERSE`" msgstr ":const:`A_REVERSE`" -#: ../../howto/curses.rst:358 +#: ../../howto/curses.rst:354 msgid "Reverse-video text" -msgstr "" +msgstr "Texto em vídeo reverso" -#: ../../howto/curses.rst:360 +#: ../../howto/curses.rst:356 msgid ":const:`A_STANDOUT`" msgstr ":const:`A_STANDOUT`" -#: ../../howto/curses.rst:360 +#: ../../howto/curses.rst:356 msgid "The best highlighting mode available" -msgstr "" +msgstr "O modo mais destacado disponível" -#: ../../howto/curses.rst:362 +#: ../../howto/curses.rst:358 msgid ":const:`A_UNDERLINE`" msgstr ":const:`A_UNDERLINE`" -#: ../../howto/curses.rst:362 +#: ../../howto/curses.rst:358 msgid "Underlined text" msgstr "Texto sublinhado" -#: ../../howto/curses.rst:365 +#: ../../howto/curses.rst:361 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:372 +#: ../../howto/curses.rst:368 msgid "" "The curses library also supports color on those terminals that provide it. " "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:376 +#: ../../howto/curses.rst:372 msgid "" "To use color, you must call the :func:`~curses.start_color` function soon " "after calling :func:`~curses.initscr`, to initialize the default color set " @@ -744,8 +745,16 @@ 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:386 +#: ../../howto/curses.rst:382 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 " @@ -754,20 +763,30 @@ msgid "" "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:393 +#: ../../howto/curses.rst:389 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:398 +#: ../../howto/curses.rst:394 msgid "" "As I said before, a color pair consists of a foreground and background " "color. The ``init_pair(n, f, b)`` function changes the definition of color " "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:403 +#: ../../howto/curses.rst:399 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:" @@ -775,21 +794,31 @@ msgid "" "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:409 +#: ../../howto/curses.rst:405 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:414 +#: ../../howto/curses.rst:410 msgid "" "When you change a color pair, any text already displayed using that color " "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:420 +#: ../../howto/curses.rst:416 msgid "" "Very fancy terminals can change the definitions of the actual colors to a " "given RGB value. This lets you change color 1, which is usually red, to " @@ -800,12 +829,21 @@ msgid "" "there. If you're lucky enough to have such a talented terminal, consult " "your system's man pages for more information." msgstr "" - -#: ../../howto/curses.rst:431 +"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:427 msgid "User Input" msgstr "Entrada de usuário" -#: ../../howto/curses.rst:433 +#: ../../howto/curses.rst:429 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 " @@ -813,27 +851,35 @@ msgid "" "of widgets.)" msgstr "" -#: ../../howto/curses.rst:438 +#: ../../howto/curses.rst:434 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:440 +#: ../../howto/curses.rst:436 msgid "" ":meth:`~curses.window.getch` refreshes the screen and then waits for the " "user to hit a key, displaying the key if :func:`~curses.echo` has been " "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:445 +#: ../../howto/curses.rst:441 msgid "" ":meth:`~curses.window.getkey` does the same thing but converts the integer " "to a string. Individual characters are returned as 1-character strings, and " "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:450 +#: ../../howto/curses.rst:446 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:" @@ -845,7 +891,7 @@ msgid "" "tenths of a second), curses raises an exception." msgstr "" -#: ../../howto/curses.rst:460 +#: ../../howto/curses.rst:456 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 " @@ -855,7 +901,7 @@ msgid "" "program may look something like this::" msgstr "" -#: ../../howto/curses.rst:476 +#: ../../howto/curses.rst:472 msgid "" "The :mod:`curses.ascii` module supplies ASCII class membership functions " "that take either integer or 1-character string arguments; these may be " @@ -864,8 +910,15 @@ 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:483 +#: ../../howto/curses.rst:479 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 " @@ -873,33 +926,48 @@ msgid "" "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:494 +#: ../../howto/curses.rst:490 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::" 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:518 +#: ../../howto/curses.rst:514 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:522 +#: ../../howto/curses.rst:518 msgid "For More Information" msgstr "Para mais informações" -#: ../../howto/curses.rst:524 +#: ../../howto/curses.rst:520 msgid "" "This HOWTO doesn't cover some advanced topics, such as reading the contents " "of the screen or capturing mouse events from an xterm instance, but the " "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:529 +#: ../../howto/curses.rst:525 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 " @@ -908,7 +976,7 @@ msgid "" "const:`ACS_\\*` characters available to you." msgstr "" -#: ../../howto/curses.rst:536 +#: ../../howto/curses.rst:532 msgid "" "Because the curses API is so large, some functions aren't supported in the " "Python interface. Often this isn't because they're difficult to implement, " @@ -917,32 +985,48 @@ msgid "" "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:544 +#: ../../howto/curses.rst:540 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:546 +#: ../../howto/curses.rst:542 msgid "`The ncurses man page `_" -msgstr "" +msgstr "`Página man do ncurses `_" -#: ../../howto/curses.rst:547 +#: ../../howto/curses.rst:543 msgid "" -"`The ncurses FAQ `_" +"`The ncurses FAQ `_" msgstr "" +"`FAQ do ncurses `_" -#: ../../howto/curses.rst:548 +#: ../../howto/curses.rst:544 msgid "" "`\"Use curses... don't swear\" `_: 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:550 +#: ../../howto/curses.rst:546 msgid "" -"`\"Console Applications with Urwid\" `_: video of a PyCon CA 2012 talk " -"demonstrating some applications written using Urwid." +"`\"Console 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 f7459bb2d..5467bc7ef 100644 --- a/howto/descriptor.po +++ b/howto/descriptor.po @@ -1,33 +1,31 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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 -# Claudio Rogerio Carvalho Filho , 2021 -# i17obot , 2021 +# python-doc bot, 2025 # #, 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 00:53+0000\n" -"Last-Translator: i17obot , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:57+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../howto/descriptor.rst:5 msgid "Descriptor HowTo Guide" -msgstr "HowTo - Guia de descritores " +msgstr "HowTo - Guia de descritores" #: ../../howto/descriptor.rst:0 msgid "Author" @@ -66,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 "" @@ -103,15 +101,15 @@ msgstr "" #: ../../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" @@ -146,6 +144,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 "" @@ -295,7 +297,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" @@ -323,18 +325,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 "" @@ -342,6 +352,9 @@ 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 "" @@ -350,20 +363,26 @@ msgid "" "`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 "" @@ -372,6 +391,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 "" @@ -387,11 +410,11 @@ 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 "" @@ -415,25 +438,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" @@ -444,16 +469,22 @@ 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 "" @@ -474,6 +505,14 @@ 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 "" @@ -486,7 +525,7 @@ msgstr "" #: ../../howto/descriptor.rst:522 msgid "Descriptor protocol" -msgstr "" +msgstr "Protocolo Descriptor" #: ../../howto/descriptor.rst:524 msgid "``descr.__get__(self, obj, type=None) -> value``" @@ -506,6 +545,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 "" @@ -523,6 +565,12 @@ 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 "" @@ -534,19 +582,23 @@ 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)``." 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 "" @@ -561,10 +613,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 "" @@ -579,38 +633,37 @@ msgid "" "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:700 +#: ../../howto/descriptor.rst:719 msgid "" -"Interestingly, attribute lookup doesn't call :meth:`object.__getattribute__` " -"directly. Instead, both the dot operator and the :func:`getattr` function " -"perform attribute lookup by way of a helper function:" +"Note, there is no :meth:`__getattr__` hook in the :meth:`__getattribute__` " +"code. That is why calling :meth:`__getattribute__` directly or with " +"``super().__getattribute__`` will bypass :meth:`__getattr__` entirely." msgstr "" -#: ../../howto/descriptor.rst:747 +#: ../../howto/descriptor.rst:723 msgid "" -"So if :meth:`__getattr__` exists, it is called whenever :meth:" -"`__getattribute__` raises :exc:`AttributeError` (either directly or in one " -"of the descriptor calls)." +"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:" msgstr "" -#: ../../howto/descriptor.rst:750 -msgid "" -"Also, if a user calls :meth:`object.__getattribute__` directly, the :meth:" -"`__getattr__` hook is bypassed entirely." -msgstr "" - -#: ../../howto/descriptor.rst:755 +#: ../../howto/descriptor.rst:773 msgid "Invocation from a class" -msgstr "" +msgstr "Invocação de uma classe" -#: ../../howto/descriptor.rst:757 +#: ../../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." @@ -618,35 +671,41 @@ msgid "" "through the class's :term:`method resolution order`." msgstr "" -#: ../../howto/descriptor.rst:762 +#: ../../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:764 +#: ../../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`." msgstr "" -#: ../../howto/descriptor.rst:769 +#: ../../howto/descriptor.rst:787 msgid "Invocation from super" -msgstr "" +msgstr "Invocação de super" -#: ../../howto/descriptor.rst:771 +#: ../../howto/descriptor.rst:789 msgid "" "The logic for super's dotted lookup is in the :meth:`__getattribute__` " "method for object returned by :class:`super()`." msgstr "" -#: ../../howto/descriptor.rst:774 +#: ../../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." 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:779 +#: ../../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 " @@ -654,37 +713,39 @@ msgid "" "#cooperation>`_." msgstr "" -#: ../../howto/descriptor.rst:786 +#: ../../howto/descriptor.rst:804 msgid "Summary of invocation logic" -msgstr "" +msgstr "Resumo da lógica de invocação" -#: ../../howto/descriptor.rst:788 +#: ../../howto/descriptor.rst:806 msgid "" "The mechanism for descriptors is embedded in the :meth:`__getattribute__()` " "methods for :class:`object`, :class:`type`, and :func:`super`." msgstr "" -#: ../../howto/descriptor.rst:791 +#: ../../howto/descriptor.rst:809 msgid "The important points to remember are:" -msgstr "" +msgstr "Os pontos importantes para lembrar são:" -#: ../../howto/descriptor.rst:793 +#: ../../howto/descriptor.rst:811 msgid "Descriptors are invoked by the :meth:`__getattribute__` method." msgstr "" -#: ../../howto/descriptor.rst:795 +#: ../../howto/descriptor.rst:813 msgid "" "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:798 +#: ../../howto/descriptor.rst:816 msgid "" "Overriding :meth:`__getattribute__` prevents automatic descriptor calls " "because all the descriptor logic is in that method." msgstr "" -#: ../../howto/descriptor.rst:801 +#: ../../howto/descriptor.rst:819 msgid "" ":meth:`object.__getattribute__` and :meth:`type.__getattribute__` make " "different calls to :meth:`__get__`. The first includes the instance and may " @@ -692,19 +753,21 @@ msgid "" "includes the class." msgstr "" -#: ../../howto/descriptor.rst:806 +#: ../../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:808 +#: ../../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:812 +#: ../../howto/descriptor.rst:830 msgid "Automatic name notification" -msgstr "" +msgstr "Notificação automática de nome" -#: ../../howto/descriptor.rst:814 +#: ../../howto/descriptor.rst:832 msgid "" "Sometimes it is desirable for a descriptor to know what class variable name " "it was assigned to. When a new class is created, the :class:`type` " @@ -714,96 +777,116 @@ msgid "" "and the *name* is the class variable the descriptor was assigned to." msgstr "" -#: ../../howto/descriptor.rst:821 +#: ../../howto/descriptor.rst:839 msgid "" "The implementation details are in :c:func:`type_new()` and :c:func:" "`set_names()` in :source:`Objects/typeobject.c`." msgstr "" -#: ../../howto/descriptor.rst:824 +#: ../../howto/descriptor.rst:842 msgid "" "Since the update logic is in :meth:`type.__new__`, notifications only take " "place at the time of class creation. If descriptors are added to the class " "afterwards, :meth:`__set_name__` will need to be called manually." msgstr "" -#: ../../howto/descriptor.rst:830 +#: ../../howto/descriptor.rst:848 msgid "ORM example" -msgstr "" +msgstr "Exemplo de ORM" -#: ../../howto/descriptor.rst:832 +#: ../../howto/descriptor.rst:850 msgid "" -"The following code is simplified skeleton showing how data descriptors could " -"be used to implement an `object relational mapping `_." +"The following code is a simplified skeleton showing how data descriptors " +"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:836 +#: ../../howto/descriptor.rst:854 msgid "" "The essential idea is that the data is stored in an external database. The " "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:855 +#: ../../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:" msgstr "" -#: ../../howto/descriptor.rst:880 +#: ../../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:885 +#: ../../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:930 +#: ../../howto/descriptor.rst:948 msgid "Pure Python Equivalents" -msgstr "" +msgstr "Equivalentes de Python puro" -#: ../../howto/descriptor.rst:932 +#: ../../howto/descriptor.rst:950 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." +"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:939 +#: ../../howto/descriptor.rst:957 msgid "Properties" msgstr "Propriedades" -#: ../../howto/descriptor.rst:941 +#: ../../howto/descriptor.rst:959 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:946 +#: ../../howto/descriptor.rst:964 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:970 +#: ../../howto/descriptor.rst:988 msgid "" "To see how :func:`property` is implemented in terms of the descriptor " "protocol, here is a pure Python equivalent:" msgstr "" -#: ../../howto/descriptor.rst:1073 +#: ../../howto/descriptor.rst:1091 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:1077 +#: ../../howto/descriptor.rst:1095 msgid "" "For instance, a spreadsheet class may grant access to a cell value through " "``Cell('b10').value``. Subsequent improvements to the program require the " @@ -812,38 +895,54 @@ 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:1094 +#: ../../howto/descriptor.rst:1112 msgid "" "Either the built-in :func:`property` or our :func:`Property` equivalent " "would work in this example." msgstr "" -#: ../../howto/descriptor.rst:1099 +#: ../../howto/descriptor.rst:1117 msgid "Functions and methods" -msgstr "" +msgstr "Funções e métodos" -#: ../../howto/descriptor.rst:1101 +#: ../../howto/descriptor.rst:1119 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:1104 +#: ../../howto/descriptor.rst:1122 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:1109 +#: ../../howto/descriptor.rst:1127 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:1126 +#: ../../howto/descriptor.rst:1144 msgid "" "To support automatic creation of methods, functions include the :meth:" "`__get__` method for binding methods during attribute access. This means " @@ -851,58 +950,68 @@ msgid "" "dotted lookup from an instance. Here's how it works:" msgstr "" -#: ../../howto/descriptor.rst:1142 +#: ../../howto/descriptor.rst:1160 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:1151 +#: ../../howto/descriptor.rst:1169 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:1158 +#: ../../howto/descriptor.rst:1176 msgid "" "Accessing the function through the class dictionary does not invoke :meth:" "`__get__`. Instead, it just returns the underlying function object::" msgstr "" -#: ../../howto/descriptor.rst:1164 +#: ../../howto/descriptor.rst:1182 msgid "" "Dotted access from a class calls :meth:`__get__` which just returns the " "underlying function unchanged::" msgstr "" -#: ../../howto/descriptor.rst:1170 +#: ../../howto/descriptor.rst:1188 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:1177 +#: ../../howto/descriptor.rst:1195 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:1186 +#: ../../howto/descriptor.rst:1204 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:1191 +#: ../../howto/descriptor.rst:1209 msgid "Kinds of methods" -msgstr "" +msgstr "Tipos de métodos" -#: ../../howto/descriptor.rst:1193 +#: ../../howto/descriptor.rst:1211 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:1196 +#: ../../howto/descriptor.rst:1214 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 " @@ -910,55 +1019,55 @@ msgid "" "f(*args)`` becomes ``f(*args)``." msgstr "" -#: ../../howto/descriptor.rst:1201 +#: ../../howto/descriptor.rst:1219 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:1204 +#: ../../howto/descriptor.rst:1222 msgid "Transformation" msgstr "Transformação" -#: ../../howto/descriptor.rst:1204 +#: ../../howto/descriptor.rst:1222 msgid "Called from an object" -msgstr "" +msgstr "Chamada de um objeto" -#: ../../howto/descriptor.rst:1204 +#: ../../howto/descriptor.rst:1222 msgid "Called from a class" -msgstr "" +msgstr "Chamada de uma classe" -#: ../../howto/descriptor.rst:1207 +#: ../../howto/descriptor.rst:1225 msgid "function" msgstr "função" -#: ../../howto/descriptor.rst:1207 +#: ../../howto/descriptor.rst:1225 msgid "f(obj, \\*args)" msgstr "f(obj, \\*args)" -#: ../../howto/descriptor.rst:1207 ../../howto/descriptor.rst:1209 +#: ../../howto/descriptor.rst:1225 ../../howto/descriptor.rst:1227 msgid "f(\\*args)" msgstr "f(\\*args)" -#: ../../howto/descriptor.rst:1209 +#: ../../howto/descriptor.rst:1227 msgid "staticmethod" msgstr "staticmethod" -#: ../../howto/descriptor.rst:1211 +#: ../../howto/descriptor.rst:1229 msgid "classmethod" msgstr "classmethod" -#: ../../howto/descriptor.rst:1211 +#: ../../howto/descriptor.rst:1229 msgid "f(type(obj), \\*args)" msgstr "f(type(obj), \\*args)" -#: ../../howto/descriptor.rst:1211 +#: ../../howto/descriptor.rst:1229 msgid "f(cls, \\*args)" -msgstr "" +msgstr "f(cls, \\*args)" -#: ../../howto/descriptor.rst:1216 +#: ../../howto/descriptor.rst:1234 msgid "Static methods" -msgstr "" +msgstr "Métodos estáticos" -#: ../../howto/descriptor.rst:1218 +#: ../../howto/descriptor.rst:1236 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." @@ -967,13 +1076,13 @@ msgid "" "a class." msgstr "" -#: ../../howto/descriptor.rst:1224 +#: ../../howto/descriptor.rst:1242 msgid "" "Good candidates for static methods are methods that do not reference the " "``self`` variable." msgstr "" -#: ../../howto/descriptor.rst:1227 +#: ../../howto/descriptor.rst:1245 msgid "" "For instance, a statistics package may include a container class for " "experimental data. The class provides normal methods for computing the " @@ -985,30 +1094,30 @@ msgid "" "``s.erf(1.5) --> .9332`` or ``Sample.erf(1.5) --> .9332``." msgstr "" -#: ../../howto/descriptor.rst:1236 +#: ../../howto/descriptor.rst:1254 msgid "" "Since static methods return the underlying function with no changes, the " "example calls are unexciting:" msgstr "" -#: ../../howto/descriptor.rst:1253 +#: ../../howto/descriptor.rst:1271 msgid "" "Using the non-data descriptor protocol, a pure Python version of :func:" "`staticmethod` would look like this:" msgstr "" -#: ../../howto/descriptor.rst:1285 +#: ../../howto/descriptor.rst:1310 msgid "Class methods" -msgstr "" +msgstr "Métodos de classe" -#: ../../howto/descriptor.rst:1287 +#: ../../howto/descriptor.rst:1312 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:1305 +#: ../../howto/descriptor.rst:1330 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 " @@ -1017,17 +1126,17 @@ msgid "" "of keys. The pure Python equivalent is:" msgstr "" -#: ../../howto/descriptor.rst:1322 +#: ../../howto/descriptor.rst:1347 msgid "Now a new dictionary of unique keys can be constructed like this:" msgstr "" -#: ../../howto/descriptor.rst:1332 +#: ../../howto/descriptor.rst:1357 msgid "" "Using the non-data descriptor protocol, a pure Python version of :func:" "`classmethod` would look like this:" msgstr "" -#: ../../howto/descriptor.rst:1381 +#: ../../howto/descriptor.rst:1406 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 " @@ -1035,30 +1144,30 @@ msgid "" "together:" msgstr "" -#: ../../howto/descriptor.rst:1401 +#: ../../howto/descriptor.rst:1426 msgid "Member objects and __slots__" msgstr "" -#: ../../howto/descriptor.rst:1403 +#: ../../howto/descriptor.rst:1428 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:1407 +#: ../../howto/descriptor.rst:1432 msgid "" "1. Provides immediate detection of bugs due to misspelled attribute " "assignments. Only attribute names specified in ``__slots__`` are allowed:" msgstr "" -#: ../../howto/descriptor.rst:1423 +#: ../../howto/descriptor.rst:1448 msgid "" "2. Helps create immutable objects where descriptors manage access to private " "attributes stored in ``__slots__``:" msgstr "" -#: ../../howto/descriptor.rst:1458 +#: ../../howto/descriptor.rst:1483 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 " @@ -1066,19 +1175,19 @@ msgid "" "only matters when a large number of instances are going to be created." msgstr "" -#: ../../howto/descriptor.rst:1463 +#: ../../howto/descriptor.rst:1488 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:1466 +#: ../../howto/descriptor.rst:1491 msgid "" "5. Blocks tools like :func:`functools.cached_property` which require an " "instance dictionary to function correctly:" msgstr "" -#: ../../howto/descriptor.rst:1488 +#: ../../howto/descriptor.rst:1513 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 " @@ -1088,36 +1197,36 @@ msgid "" "managed by member descriptors:" msgstr "" -#: ../../howto/descriptor.rst:1531 +#: ../../howto/descriptor.rst:1558 msgid "" "The :meth:`type.__new__` method takes care of adding member objects to class " "variables:" msgstr "" -#: ../../howto/descriptor.rst:1547 +#: ../../howto/descriptor.rst:1574 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:1582 +#: ../../howto/descriptor.rst:1609 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:1596 +#: ../../howto/descriptor.rst:1623 msgid "" "At this point, the metaclass has loaded member objects for *x* and *y*::" msgstr "" -#: ../../howto/descriptor.rst:1617 +#: ../../howto/descriptor.rst:1644 msgid "" "When instances are created, they have a ``slot_values`` list where the " "attributes are stored:" msgstr "" -#: ../../howto/descriptor.rst:1629 +#: ../../howto/descriptor.rst:1656 msgid "Misspelled or unassigned attributes will raise an exception:" msgstr "" diff --git a/howto/functional.po b/howto/functional.po index 45cc4b0fc..05f19b535 100644 --- a/howto/functional.po +++ b/howto/functional.po @@ -1,37 +1,32 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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 -# Ruan Aragão , 2021 -# Vinicius Gubiani Ferreira , 2021 -# i17obot , 2021 -# ApenasRR Mesmo , 2021 -# Raphael Mendonça, 2021 -# Italo Penaforte , 2021 -# Rafael Fontenelle , 2021 +# python-doc bot, 2025 +# Rafael Fontenelle , 2025 # #, 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 00:53+0000\n" -"Last-Translator: Rafael Fontenelle , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-11-13 17:25+0000\n" +"PO-Revision-Date: 2025-09-22 15:57+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=2; plural=(n > 1);\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 Funcionado COMO FAZER" +msgstr "Programação Funcional" #: ../../howto/functional.rst:0 msgid "Author" @@ -81,7 +76,7 @@ msgstr "" msgid "" "Programming languages support decomposing problems in several different ways:" msgstr "" -"As linguagens de programação suportam decompor problemas de diversas " +"As linguagens de programação permitem decompor problemas de diversas " "maneiras diferentes:" #: ../../howto/functional.rst:24 @@ -90,9 +85,9 @@ msgid "" "instructions that tell the computer what to do with the program's input. C, " "Pascal, and even Unix shells are procedural languages." msgstr "" -"A Maioria das linguagens de programação são **procedural**: os programas são " -"listas de instruções que dizem ao computador o que fazer com as entradas do " -"programa. C, Pascal, e mesmo o Unix shells são linguagens procedurais." +"A Maioria das linguagens de programação são **procedurais**: os programas " +"são listas de instruções que dizem ao computador o que fazer com as entradas " +"do programa. C, Pascal, e mesmo o Unix shells são linguagens procedurais." #: ../../howto/functional.rst:28 msgid "" @@ -119,11 +114,12 @@ msgid "" "and Python are languages that support object-oriented programming, but don't " "force the use of object-oriented features." msgstr "" -"Os programas ** orientados a objetos ** manipulam coleções de objetos. Os " +"Os programas **orientados a objetos** manipulam coleções de objetos. Os " "objetos têm estado interno e métodos de suporte que consultam ou modificam " "esse estado interno de alguma forma. Smalltalk e Java são linguagens " "orientadas a objetos. C++ e Python são idiomas que suportam programação " -"orientada a objetos, mas não forçam o uso de recursos orientados a objetos." +"orientada a objetos, mas não forçam o uso de recursos de orientação a " +"objetos." #: ../../howto/functional.rst:41 msgid "" @@ -185,21 +181,21 @@ msgstr "" msgid "" "Some languages are very strict about purity and don't even have assignment " "statements such as ``a=3`` or ``c = a + b``, but it's difficult to avoid all " -"side effects. Printing to the screen or writing to a disk file are side " -"effects, for example. For example, in Python a call to the :func:`print` " -"or :func:`time.sleep` function both return no useful value; they're only " -"called for their side effects of sending some text to the screen or pausing " -"execution for a second." -msgstr "" -"Algumas linguagens são muito rigorosas quanto à pureza e nem sequer possuem " -"instruções de atribuição como ``a=3`` ou ``c = a + b``, mas é difícil evitar " -"todos os efeitos colaterais. A impressão na tela ou a gravação em um arquivo " -"de disco são efeitos colaterais, por exemplo. Por exemplo, em Python, uma " -"chamada para a função :func:`print` ou :func:`time.sleep` não retorna nenhum " -"valor útil; Eles só são chamados por seus efeitos colaterais de enviar algum " -"texto para a tela ou interromper a execução por um segundo." - -#: ../../howto/functional.rst:74 +"side effects, such as printing to the screen or writing to a disk file. " +"Another example is a call to the :func:`print` or :func:`time.sleep` " +"function, neither of which returns a useful value. Both are called only for " +"their side effects of sending some text to the screen or pausing execution " +"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 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 "" "Python programs written in functional style usually won't go to the extreme " "of avoiding all I/O or all assignments; instead, they'll provide a " @@ -215,7 +211,7 @@ msgstr "" "usará atribuições para variáveis locais, mas não modificará variáveis " "globais ou terá outros efeitos colaterais." -#: ../../howto/functional.rst:80 +#: ../../howto/functional.rst:79 msgid "" "Functional programming can be considered the opposite of object-oriented " "programming. Objects are little capsules containing some internal state " @@ -236,7 +232,7 @@ msgstr "" "que levam e retornam instâncias que representam objetos em seu aplicativo " "(mensagens de e-mail, transações, etc.)." -#: ../../howto/functional.rst:89 +#: ../../howto/functional.rst:88 msgid "" "Functional design may seem like an odd constraint to work under. Why should " "you avoid objects and side effects? There are theoretical and practical " @@ -246,27 +242,27 @@ msgstr "" "baixo. Por que você deve evitar objetos e efeitos colaterais? Existem " "vantagens teóricas e práticas para o estilo funcional:" -#: ../../howto/functional.rst:93 +#: ../../howto/functional.rst:92 msgid "Formal provability." msgstr "Probabilidade formal." -#: ../../howto/functional.rst:94 +#: ../../howto/functional.rst:93 msgid "Modularity." msgstr "Modularidade." -#: ../../howto/functional.rst:95 +#: ../../howto/functional.rst:94 msgid "Composability." msgstr "Componibilidade." -#: ../../howto/functional.rst:96 +#: ../../howto/functional.rst:95 msgid "Ease of debugging and testing." msgstr "Fácil de depurar e testar." -#: ../../howto/functional.rst:100 +#: ../../howto/functional.rst:99 msgid "Formal provability" msgstr "Probabilidade formal" -#: ../../howto/functional.rst:102 +#: ../../howto/functional.rst:101 msgid "" "A theoretical benefit is that it's easier to construct a mathematical proof " "that a functional program is correct." @@ -274,7 +270,7 @@ msgstr "" "Um benefício teórico é que é mais fácil construir uma prova matemática de " "que um programa funcional é correto." -#: ../../howto/functional.rst:105 +#: ../../howto/functional.rst:104 msgid "" "For a long time researchers have been interested in finding ways to " "mathematically prove programs correct. This is different from testing a " @@ -290,7 +286,7 @@ msgstr "" "parece certo; O objetivo é uma prova rigorosa de que um programa produz o " "resultado certo para todas as entradas possíveis." -#: ../../howto/functional.rst:112 +#: ../../howto/functional.rst:111 msgid "" "The technique used to prove programs correct is to write down " "**invariants**, properties of the input data and of the program's variables " @@ -309,7 +305,7 @@ msgstr "" "programa, em que ponto as invariantes devem corresponder às condições " "desejadas na saída do programa." -#: ../../howto/functional.rst:120 +#: ../../howto/functional.rst:119 msgid "" "Functional programming's avoidance of assignments arose because assignments " "are difficult to handle with this technique; assignments can break " @@ -321,7 +317,7 @@ msgstr "" "verdadeiras antes da atribuição sem produzir novos invariantes que possam " "ser propagados para a frente." -#: ../../howto/functional.rst:125 +#: ../../howto/functional.rst:124 msgid "" "Unfortunately, proving programs correct is largely impractical and not " "relevant to Python software. Even trivial programs require proofs that are " @@ -342,11 +338,11 @@ msgstr "" "Talvez haja um erro nisso, e você acredita erroneamente que você provou o " "programa corretamente." -#: ../../howto/functional.rst:136 +#: ../../howto/functional.rst:135 msgid "Modularity" msgstr "Modularidade" -#: ../../howto/functional.rst:138 +#: ../../howto/functional.rst:137 msgid "" "A more practical benefit of functional programming is that it forces you to " "break apart your problem into small pieces. Programs are more modular as a " @@ -360,15 +356,15 @@ msgstr "" "faz uma coisa do que uma grande função que realiza uma transformação " "complicada. Pequenas funções também são mais fáceis de ler e verificar erros." -#: ../../howto/functional.rst:146 +#: ../../howto/functional.rst:145 msgid "Ease of debugging and testing" msgstr "Fácil de depurar e testar" -#: ../../howto/functional.rst:148 +#: ../../howto/functional.rst:147 msgid "Testing and debugging a functional-style program is easier." msgstr "Testar e depurar um programa de estilo funcional é mais fácil." -#: ../../howto/functional.rst:150 +#: ../../howto/functional.rst:149 msgid "" "Debugging is simplified because functions are generally small and clearly " "specified. When a program doesn't work, each function is an interface point " @@ -382,7 +378,7 @@ msgstr "" "pode observar as entradas e saídas intermediárias para isolar rapidamente a " "função responsável por um erro." -#: ../../howto/functional.rst:155 +#: ../../howto/functional.rst:154 msgid "" "Testing is easier because each function is a potential subject for a unit " "test. Functions don't depend on system state that needs to be replicated " @@ -395,11 +391,11 @@ msgstr "" "sintetizar a entrada certa e depois verificar se o resultado corresponde às " "expectativas." -#: ../../howto/functional.rst:162 +#: ../../howto/functional.rst:161 msgid "Composability" msgstr "Componibilidade" -#: ../../howto/functional.rst:164 +#: ../../howto/functional.rst:163 msgid "" "As you work on a functional-style program, you'll write a number of " "functions with varying inputs and outputs. Some of these functions will be " @@ -417,7 +413,7 @@ msgstr "" "no diretório, ou uma função que leva um nome de arquivo e retorna seu " "conteúdo, pode ser aplicada em muitas situações diferentes." -#: ../../howto/functional.rst:171 +#: ../../howto/functional.rst:170 msgid "" "Over time you'll form a personal library of utilities. Often you'll " "assemble new programs by arranging existing functions in a new configuration " @@ -427,11 +423,11 @@ msgstr "" "você montará novos programas organizando funções existentes em uma nova " "configuração e escrevendo algumas funções especializadas para a tarefa atual." -#: ../../howto/functional.rst:179 +#: ../../howto/functional.rst:178 msgid "Iterators" msgstr "Iteradores" -#: ../../howto/functional.rst:181 +#: ../../howto/functional.rst:180 msgid "" "I'll start by looking at a Python language feature that's an important " "foundation for writing functional-style programs: iterators." @@ -439,7 +435,7 @@ msgstr "" "Começarei por olhar para um recurso de linguagem Python que é uma base " "importante para escrever programas de estilo funcional: iteradores." -#: ../../howto/functional.rst:184 +#: ../../howto/functional.rst:183 msgid "" "An iterator is an object representing a stream of data; this object returns " "the data one element at a time. A Python iterator must support a method " @@ -457,7 +453,7 @@ msgstr "" "iteradores não precisam ser finitos; no entanto, é perfeitamente razoável " "escrever um iterador que produza um fluxo infinito de dados." -#: ../../howto/functional.rst:192 +#: ../../howto/functional.rst:191 msgid "" "The built-in :func:`iter` function takes an arbitrary object and tries to " "return an iterator that will return the object's contents or elements, " @@ -473,11 +469,11 @@ msgstr "" "dicionários mais comuns. Um objeto é chamado :term:`iterable` se você pode " "obter um iterador para ele." -#: ../../howto/functional.rst:199 +#: ../../howto/functional.rst:198 msgid "You can experiment with the iteration interface manually:" msgstr "Você pode experimentar a interface de iteração manualmente:" -#: ../../howto/functional.rst:217 +#: ../../howto/functional.rst:216 msgid "" "Python expects iterable objects in several different contexts, the most " "important being the :keyword:`for` statement. In the statement ``for X in " @@ -489,7 +485,7 @@ msgstr "" "ser um iterador ou algum objeto para o qual :func:`iter` pode criar um " "iterador. Estas duas declarações são equivalentes::" -#: ../../howto/functional.rst:229 +#: ../../howto/functional.rst:228 msgid "" "Iterators can be materialized as lists or tuples by using the :func:`list` " "or :func:`tuple` constructor functions:" @@ -497,19 +493,19 @@ msgstr "" "Iteradores também podem ser materializados como listas ou tuplas, utilizando " "funções de construção :func:`list` ou :func:`tuple`:" -#: ../../howto/functional.rst:238 +#: ../../howto/functional.rst:237 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:247 +#: ../../howto/functional.rst:246 msgid "" "Built-in functions such as :func:`max` and :func:`min` can take a single " -"iterator argument and will return the largest or smallest element. The ``" -"\"in\"`` and ``\"not in\"`` operators also support iterators: ``X in " +"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 " @@ -523,7 +519,7 @@ msgstr "" "`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:255 +#: ../../howto/functional.rst:254 msgid "" "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. Iterator " @@ -541,11 +537,11 @@ msgstr "" "precisa fazer algo diferente com o mesmo fluxo, você terá que criar um novo " "iterador." -#: ../../howto/functional.rst:265 +#: ../../howto/functional.rst:264 msgid "Data Types That Support Iterators" msgstr "Tipos de Dados que Suportam Iteradores" -#: ../../howto/functional.rst:267 +#: ../../howto/functional.rst:266 msgid "" "We've already seen how lists and tuples support iterators. In fact, any " "Python sequence type, such as strings, will automatically support creation " @@ -555,7 +551,7 @@ msgstr "" "sequência de Python, como strings, suportará automaticamente a criação de um " "iterador." -#: ../../howto/functional.rst:271 +#: ../../howto/functional.rst:270 msgid "" "Calling :func:`iter` on a dictionary returns an iterator that will loop over " "the dictionary's keys::" @@ -563,14 +559,17 @@ msgstr "" "Chamar :func:`iter` em um dicionário retorna um iterador que irá percorrer " "as chaves do dicionário::" -#: ../../howto/functional.rst:291 +#: ../../howto/functional.rst:290 msgid "" "Note that starting with Python 3.7, dictionary iteration order is guaranteed " "to be the same as the insertion order. In earlier versions, the behaviour " "was unspecified and could vary between implementations." msgstr "" +"Note que a partir de Python 3.7, a ordem de iteração em um dicionário é " +"garantidamente a mesma que a ordem de inserção. Em versões anteriores, o " +"comportamento não era especificado e podia variar entre implementações." -#: ../../howto/functional.rst:295 +#: ../../howto/functional.rst:294 msgid "" "Applying :func:`iter` to a dictionary always loops over the keys, but " "dictionaries have methods that return other iterators. If you want to " @@ -583,7 +582,7 @@ msgstr "" "explicitamente os métodos :meth:`~dict.values` ou :meth:`~dict.items` para " "obter um iterador apropriado." -#: ../../howto/functional.rst:301 +#: ../../howto/functional.rst:300 msgid "" "The :func:`dict` constructor can accept an iterator that returns a finite " "stream of ``(key, value)`` tuples:" @@ -591,7 +590,7 @@ msgstr "" "O construtor :func:`dict` pode aceitar um iterador que retorna um fluxo " "finito de tuplas ``(chave, valor)``:" -#: ../../howto/functional.rst:308 +#: ../../howto/functional.rst:307 msgid "" "Files also support iteration by calling the :meth:`~io.TextIOBase.readline` " "method until there are no more lines in the file. This means you can read " @@ -601,7 +600,7 @@ msgstr "" "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:316 +#: ../../howto/functional.rst:315 msgid "" "Sets can take their contents from an iterable and let you iterate over the " "set's elements::" @@ -609,11 +608,11 @@ msgstr "" "Os conjuntos podem tirar seus conteúdos de uma iterável e permitir que você " "faça uma iteração sobre os elementos do conjunto::" -#: ../../howto/functional.rst:326 +#: ../../howto/functional.rst:331 msgid "Generator expressions and list comprehensions" msgstr "Expressões do gerador e compreensões de lista" -#: ../../howto/functional.rst:328 +#: ../../howto/functional.rst:333 msgid "" "Two common operations on an iterator's output are 1) performing some " "operation for every element, 2) selecting a subset of elements that meet " @@ -628,27 +627,27 @@ msgstr "" "extrair todas as sequências de caracteres que contenham uma determinada " "substring." -#: ../../howto/functional.rst:334 +#: ../../howto/functional.rst:339 msgid "" "List comprehensions and generator expressions (short form: \"listcomps\" and " "\"genexps\") are a concise notation for such operations, borrowed from the " "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: \"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 strings com o seguinte " -"código::" +"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 " +"strings com o seguinte código::" -#: ../../howto/functional.rst:347 +#: ../../howto/functional.rst:352 msgid "" "You can select only certain elements by adding an ``\"if\"`` condition::" msgstr "" "Você pode selecionar apenas determinados elementos adicionando uma condição " "``\"if\"``::" -#: ../../howto/functional.rst:352 +#: ../../howto/functional.rst:357 msgid "" "With a list comprehension, you get back a Python list; ``stripped_list`` is " "a list containing the resulting lines, not an iterator. Generator " @@ -667,7 +666,7 @@ msgstr "" "uma quantidade muito grande de dados. As expressões do gerador são " "preferíveis nessas situações." -#: ../../howto/functional.rst:359 +#: ../../howto/functional.rst:364 msgid "" "Generator expressions are surrounded by parentheses (\"()\") and list " "comprehensions are surrounded by square brackets (\"[]\"). Generator " @@ -677,7 +676,7 @@ msgstr "" "compreensões da lista são cercadas por colchetes (\"[]\"). As expressões do " "gerador têm a forma::" -#: ../../howto/functional.rst:372 +#: ../../howto/functional.rst:378 msgid "" "Again, for a list comprehension only the outside brackets are different " "(square brackets instead of parentheses)." @@ -685,7 +684,7 @@ msgstr "" "Novamente, para uma compreensão de lista, apenas os suportes externos são " "diferentes (colchetes em vez de parênteses)." -#: ../../howto/functional.rst:375 +#: ../../howto/functional.rst:381 msgid "" "The elements of the generated output will be the successive values of " "``expression``. The ``if`` clauses are all optional; if present, " @@ -697,7 +696,7 @@ msgstr "" "``expression`` só é avaliado e adicionado ao resultado quando ``condition`` " "é verdadeiro." -#: ../../howto/functional.rst:379 +#: ../../howto/functional.rst:385 msgid "" "Generator expressions always have to be written inside parentheses, but the " "parentheses signalling a function call also count. If you want to create an " @@ -708,7 +707,7 @@ msgstr "" "quiser criar um iterador que será imediatamente passado para uma função, " "você pode escrever::" -#: ../../howto/functional.rst:385 +#: ../../howto/functional.rst:391 msgid "" "The ``for...in`` clauses contain the sequences to be iterated over. The " "sequences do not have to be the same length, because they are iterated over " @@ -724,7 +723,7 @@ msgstr "" "então percorrido para cada par resultante de elementos de ``sequence1`` e " "``sequence2``." -#: ../../howto/functional.rst:391 +#: ../../howto/functional.rst:397 msgid "" "To put it another way, a list comprehension or generator expression is " "equivalent to the following Python code::" @@ -732,7 +731,7 @@ msgstr "" "Em outras palavras, uma lista de compreensão ou expressão do gerador é " "equivalente ao seguinte código Python::" -#: ../../howto/functional.rst:408 +#: ../../howto/functional.rst:414 msgid "" "This means that when there are multiple ``for...in`` clauses but no ``if`` " "clauses, the length of the resulting output will be equal to the product of " @@ -744,7 +743,7 @@ msgstr "" "comprimentos de todas as sequências. Se você tiver duas listas de " "comprimento 3, a lista de saída tem 9 elementos de comprimento:" -#: ../../howto/functional.rst:420 +#: ../../howto/functional.rst:426 msgid "" "To avoid introducing an ambiguity into Python's grammar, if ``expression`` " "is creating a tuple, it must be surrounded with parentheses. The first list " @@ -755,11 +754,11 @@ msgstr "" "parênteses. A primeira lista de compreensão abaixo é um erro de sintaxe, " "enquanto o segundo está correto::" -#: ../../howto/functional.rst:431 +#: ../../howto/functional.rst:437 msgid "Generators" msgstr "Geradores" -#: ../../howto/functional.rst:433 +#: ../../howto/functional.rst:439 msgid "" "Generators are a special class of functions that simplify the task of " "writing iterators. Regular functions compute a value and return it, but " @@ -770,7 +769,7 @@ msgstr "" "retornam, mas os geradores retornam um iterador que retorna um fluxo de " "valores." -#: ../../howto/functional.rst:437 +#: ../../howto/functional.rst:443 msgid "" "You're doubtless familiar with how regular function calls work in Python or " "C. When you call a function, it gets a private namespace where its local " @@ -792,11 +791,11 @@ msgstr "" "E se você pudesse retomar a função onde ele deixou? Isto é o que os " "geradores fornecem; Eles podem ser pensados como funções resumíveis." -#: ../../howto/functional.rst:446 +#: ../../howto/functional.rst:452 msgid "Here's the simplest example of a generator function:" msgstr "Aqui está um exemplo simples de uma função geradora:" -#: ../../howto/functional.rst:452 +#: ../../howto/functional.rst:458 msgid "" "Any function containing a :keyword:`yield` keyword is a generator function; " "this is detected by Python's :term:`bytecode` compiler which compiles the " @@ -806,7 +805,7 @@ msgstr "" "de gerador; isso é detectado pelo compilador de :term:`bytecode` do Python, " "que compila a função especialmente como resultado." -#: ../../howto/functional.rst:456 +#: ../../howto/functional.rst:462 msgid "" "When you call a generator function, it doesn't return a single value; " "instead it returns a generator object that supports the iterator protocol. " @@ -826,11 +825,11 @@ msgstr "" "chamada ao método do gerador :meth:`~generator.__next__`, a função irá " "continuar a ser executada." -#: ../../howto/functional.rst:465 +#: ../../howto/functional.rst:471 msgid "Here's a sample usage of the ``generate_ints()`` generator:" msgstr "Aqui está um uso simples do gerador ``generate_ints()``" -#: ../../howto/functional.rst:482 +#: ../../howto/functional.rst:488 msgid "" "You could equally write ``for i in generate_ints(5)``, or ``a, b, c = " "generate_ints(3)``." @@ -838,7 +837,7 @@ msgstr "" "Você pode igualmente escrever ``for i in generate_ints(5)``, ou ``a, b, c = " "generate_ints(3)``." -#: ../../howto/functional.rst:485 +#: ../../howto/functional.rst:491 msgid "" "Inside a generator function, ``return value`` causes " "``StopIteration(value)`` to be raised from the :meth:`~generator.__next__` " @@ -851,7 +850,7 @@ msgstr "" "alcançada, a procissão dos valores termina e o gerador não pode render mais " "valores." -#: ../../howto/functional.rst:490 +#: ../../howto/functional.rst:496 msgid "" "You could achieve the effect of generators manually by writing your own " "class and storing all the local variables of the generator as instance " @@ -868,7 +867,7 @@ msgstr "" "um gerador moderadamente complicado, escrever uma classe correspondente pode " "ser muito mais complicado." -#: ../../howto/functional.rst:498 +#: ../../howto/functional.rst:504 msgid "" "The test suite included with Python's library, :source:`Lib/test/" "test_generators.py`, contains a number of more interesting examples. Here's " @@ -880,7 +879,7 @@ msgstr "" "gerador que implementa uma passagem em ordem de uma árvore usando geradores " "de forma recursiva. ::" -#: ../../howto/functional.rst:514 +#: ../../howto/functional.rst:520 msgid "" "Two other examples in ``test_generators.py`` produce solutions for the N-" "Queens problem (placing N queens on an NxN chess board so that no queen " @@ -894,11 +893,11 @@ msgstr "" "rota que leva um cavalo para cada quadrado de um tabuleiro de xadrez NxN sem " "visitar nenhum quadrado duas vezes)." -#: ../../howto/functional.rst:522 +#: ../../howto/functional.rst:528 msgid "Passing values into a generator" msgstr "Passando valores para um gerador" -#: ../../howto/functional.rst:524 +#: ../../howto/functional.rst:530 msgid "" "In Python 2.4 and earlier, generators only produced output. Once a " "generator's code was invoked to create an iterator, there was no way to pass " @@ -914,7 +913,7 @@ msgstr "" "para uma variável global ou passando em algum objeto mutável que os " "chamadores então modifiquem, mas essas abordagens são desordenadas." -#: ../../howto/functional.rst:531 +#: ../../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 " @@ -924,7 +923,7 @@ msgstr "" "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:537 +#: ../../howto/functional.rst:543 msgid "" "I recommend that you **always** put parentheses around a ``yield`` " "expression when you're doing something with the returned value, as in the " @@ -936,7 +935,7 @@ msgstr "" "como no exemplo acima. Os parênteses nem sempre são necessários, mas é mais " "fácil adicioná-los sempre em vez de ter que lembrar quando são necessários." -#: ../../howto/functional.rst:542 +#: ../../howto/functional.rst:548 msgid "" "(:pep:`342` explains the exact rules, which are that a ``yield``-expression " "must always be parenthesized except when it occurs at the top-level " @@ -950,7 +949,7 @@ msgstr "" "escrever ``val = yield i``, mas tem que usar parênteses quando há uma " "operação, como em ``val = (yield i) + 12``.)" -#: ../../howto/functional.rst:548 +#: ../../howto/functional.rst:554 msgid "" "Values are sent into a generator by calling its :meth:`send(value) " "` method. This method resumes the generator's code and the " @@ -962,7 +961,7 @@ msgstr "" "expressão ``yield`` retorna o valor especificado. Se o método regular :meth:" "`~generator.__next__` for chamado, o ``yield`` retorna ``None``." -#: ../../howto/functional.rst:553 +#: ../../howto/functional.rst:559 msgid "" "Here's a simple counter that increments by 1 and allows changing the value " "of the internal counter." @@ -970,11 +969,11 @@ msgstr "" "Aqui está um contador simples que aumenta em 1 e permite alterar o valor do " "contador interno." -#: ../../howto/functional.rst:568 +#: ../../howto/functional.rst:574 msgid "And here's an example of changing the counter:" msgstr "E aqui um exemplo de mudança de contador:" -#: ../../howto/functional.rst:585 +#: ../../howto/functional.rst:591 msgid "" "Because ``yield`` will often be returning ``None``, you should always check " "for this case. Don't just use its value in expressions unless you're sure " @@ -986,20 +985,23 @@ msgstr "" "certeza de que o método :meth:`~generator.send` será o único método usado " "para retomar a função do gerador." -#: ../../howto/functional.rst:590 +#: ../../howto/functional.rst:596 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:593 +#: ../../howto/functional.rst:599 msgid "" -":meth:`throw(type, value=None, traceback=None) ` is used to " -"raise an exception inside the generator; the exception is raised by the " -"``yield`` expression where the generator's execution is paused." +":meth:`throw(value) ` is used to raise an exception inside " +"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:597 +#: ../../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 " @@ -1010,20 +1012,25 @@ msgid "" "collected." msgstr "" -#: ../../howto/functional.rst:605 +#: ../../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`." 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:608 +#: ../../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:611 +#: ../../howto/functional.rst:617 msgid "" "Generators also become **coroutines**, a more generalized form of " "subroutines. Subroutines are entered at one point and exited at another " @@ -1031,38 +1038,49 @@ 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:618 +#: ../../howto/functional.rst:624 msgid "Built-in functions" msgstr "Funções embutidas" -#: ../../howto/functional.rst:620 +#: ../../howto/functional.rst:626 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:622 +#: ../../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:634 +#: ../../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:626 +#: ../../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:636 +#: ../../howto/functional.rst:642 msgid "You can of course achieve the same effect with a list comprehension." msgstr "" "É claro que você pode alcançar o mesmo efeito com uma compreensão de lista." -#: ../../howto/functional.rst:638 +#: ../../howto/functional.rst:644 msgid "" ":func:`filter(predicate, iter) ` returns an iterator over all the " "sequence elements that meet a certain condition, and is similarly duplicated " @@ -1070,25 +1088,30 @@ 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:651 +#: ../../howto/functional.rst:657 msgid "This can also be written as a list comprehension:" msgstr "isso também pode ser escrito como uma compreensão de lista:" -#: ../../howto/functional.rst:657 +#: ../../howto/functional.rst:663 msgid "" ":func:`enumerate(iter, start=0) ` counts off the elements in the " "iterable returning 2-tuples containing the count (from *start*) and each " "element. ::" msgstr "" -#: ../../howto/functional.rst:667 +#: ../../howto/functional.rst:673 msgid "" ":func:`enumerate` is often used when looping through a list and recording " "the indexes at which certain conditions are met::" msgstr "" -#: ../../howto/functional.rst:675 +#: ../../howto/functional.rst:681 msgid "" ":func:`sorted(iterable, key=None, reverse=False) ` collects all the " "elements of the iterable into a list, sorts the list, and returns the sorted " @@ -1096,12 +1119,12 @@ msgid "" "constructed list's :meth:`~list.sort` method. ::" msgstr "" -#: ../../howto/functional.rst:690 +#: ../../howto/functional.rst:696 msgid "" "(For a more detailed discussion of sorting, see the :ref:`sortinghowto`.)" msgstr "" -#: ../../howto/functional.rst:693 +#: ../../howto/functional.rst:699 msgid "" "The :func:`any(iter) ` and :func:`all(iter) ` built-ins look at " "the truth values of an iterable's contents. :func:`any` returns ``True`` if " @@ -1109,13 +1132,13 @@ msgid "" "``True`` if all of the elements are true values:" msgstr "" -#: ../../howto/functional.rst:712 +#: ../../howto/functional.rst:718 msgid "" ":func:`zip(iterA, iterB, ...) ` takes one element from each iterable " "and returns them in a tuple::" msgstr "" -#: ../../howto/functional.rst:718 +#: ../../howto/functional.rst:724 msgid "" "It doesn't construct an in-memory list and exhaust all the input iterators " "before returning; instead tuples are constructed and returned only if " @@ -1123,57 +1146,57 @@ msgid "" "evaluation `__.)" msgstr "" -#: ../../howto/functional.rst:723 +#: ../../howto/functional.rst:729 msgid "" "This iterator is intended to be used with iterables that are all of the same " "length. If the iterables are of different lengths, the resulting stream " "will be the same length as the shortest iterable. ::" msgstr "" -#: ../../howto/functional.rst:730 +#: ../../howto/functional.rst:736 msgid "" "You should avoid doing this, though, because an element may be taken from " "the longer iterators and discarded. This means you can't go on to use the " "iterators further because you risk skipping a discarded element." msgstr "" -#: ../../howto/functional.rst:736 +#: ../../howto/functional.rst:742 msgid "The itertools module" msgstr "O módulo itertools" -#: ../../howto/functional.rst:738 +#: ../../howto/functional.rst:744 msgid "" -"The :mod:`itertools` module contains a number of commonly-used iterators as " +"The :mod:`itertools` module contains a number of commonly used iterators as " "well as functions for combining several iterators. This section will " "introduce the module's contents by showing small examples." msgstr "" -#: ../../howto/functional.rst:742 +#: ../../howto/functional.rst:748 msgid "The module's functions fall into a few broad classes:" msgstr "" -#: ../../howto/functional.rst:744 +#: ../../howto/functional.rst:750 msgid "Functions that create a new iterator based on an existing iterator." msgstr "Funções que criam um novo iterador com base em um iterador existente." -#: ../../howto/functional.rst:745 +#: ../../howto/functional.rst:751 msgid "Functions for treating an iterator's elements as function arguments." msgstr "" "Funções para tratar os elementos de um iterador como argumentos de funções." -#: ../../howto/functional.rst:746 +#: ../../howto/functional.rst:752 msgid "Functions for selecting portions of an iterator's output." msgstr "Funções para selecionar partes da saída de um iterador." -#: ../../howto/functional.rst:747 +#: ../../howto/functional.rst:753 msgid "A function for grouping an iterator's output." msgstr "" -#: ../../howto/functional.rst:750 +#: ../../howto/functional.rst:756 msgid "Creating new iterators" msgstr "Criando novos iteradores" -#: ../../howto/functional.rst:752 +#: ../../howto/functional.rst:758 msgid "" ":func:`itertools.count(start, step) ` returns an infinite " "stream of evenly spaced values. You can optionally supply the starting " @@ -1181,7 +1204,7 @@ msgid "" "defaults to 1::" msgstr "" -#: ../../howto/functional.rst:763 +#: ../../howto/functional.rst:769 msgid "" ":func:`itertools.cycle(iter) ` saves a copy of the contents " "of a provided iterable and returns a new iterator that returns its elements " @@ -1189,14 +1212,14 @@ msgid "" "infinitely. ::" msgstr "" -#: ../../howto/functional.rst:770 +#: ../../howto/functional.rst:776 msgid "" ":func:`itertools.repeat(elem, [n]) ` returns the provided " "element *n* times, or returns the element endlessly if *n* is not " "provided. ::" msgstr "" -#: ../../howto/functional.rst:778 +#: ../../howto/functional.rst:784 msgid "" ":func:`itertools.chain(iterA, iterB, ...) ` takes an " "arbitrary number of iterables as input, and returns all the elements of the " @@ -1204,7 +1227,7 @@ msgid "" "the iterables have been exhausted. ::" msgstr "" -#: ../../howto/functional.rst:786 +#: ../../howto/functional.rst:792 msgid "" ":func:`itertools.islice(iter, [start], stop, [step]) ` " "returns a stream that's a slice of the iterator. With a single *stop* " @@ -1215,7 +1238,7 @@ msgid "" "*step*. ::" msgstr "" -#: ../../howto/functional.rst:800 +#: ../../howto/functional.rst:806 msgid "" ":func:`itertools.tee(iter, [n]) ` replicates an iterator; it " "returns *n* independent iterators that will all return the contents of the " @@ -1225,11 +1248,11 @@ msgid "" "and one of the new iterators is consumed more than the others. ::" msgstr "" -#: ../../howto/functional.rst:819 +#: ../../howto/functional.rst:825 msgid "Calling functions on elements" msgstr "" -#: ../../howto/functional.rst:821 +#: ../../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) ` assumes that the " "iterable will return a stream of tuples, and calls *func* using these tuples " "as the arguments::" msgstr "" -#: ../../howto/functional.rst:839 +#: ../../howto/functional.rst:845 msgid "Selecting elements" msgstr "Selecionando elementos" -#: ../../howto/functional.rst:841 +#: ../../howto/functional.rst:847 msgid "" "Another group of functions chooses a subset of an iterator's elements based " "on a predicate." msgstr "" -#: ../../howto/functional.rst:844 +#: ../../howto/functional.rst:850 msgid "" ":func:`itertools.filterfalse(predicate, iter) ` is " "the opposite of :func:`filter`, returning all elements for which the " "predicate returns false::" msgstr "" -#: ../../howto/functional.rst:851 +#: ../../howto/functional.rst:857 msgid "" ":func:`itertools.takewhile(predicate, iter) ` returns " "elements for as long as the predicate returns true. Once the predicate " "returns false, the iterator will signal the end of its results. ::" msgstr "" -#: ../../howto/functional.rst:864 +#: ../../howto/functional.rst:870 msgid "" ":func:`itertools.dropwhile(predicate, iter) ` discards " "elements while the predicate returns true, and then returns the rest of the " "iterable's results. ::" msgstr "" -#: ../../howto/functional.rst:874 +#: ../../howto/functional.rst:880 msgid "" ":func:`itertools.compress(data, selectors) ` takes two " "iterators and returns only those elements of *data* for which the " @@ -1284,18 +1307,18 @@ msgid "" "is exhausted::" msgstr "" -#: ../../howto/functional.rst:883 +#: ../../howto/functional.rst:889 msgid "Combinatoric functions" msgstr "" -#: ../../howto/functional.rst:885 +#: ../../howto/functional.rst:891 msgid "" "The :func:`itertools.combinations(iterable, r) ` " "returns an iterator giving all possible *r*-tuple combinations of the " "elements contained in *iterable*. ::" msgstr "" -#: ../../howto/functional.rst:900 +#: ../../howto/functional.rst:906 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 " @@ -1304,25 +1327,25 @@ msgid "" "constraint on the order, returning all possible arrangements of length *r*::" msgstr "" -#: ../../howto/functional.rst:919 +#: ../../howto/functional.rst:925 msgid "" "If you don't supply a value for *r* the length of the iterable is used, " "meaning that all the elements are permuted." msgstr "" -#: ../../howto/functional.rst:922 +#: ../../howto/functional.rst:928 msgid "" "Note that these functions produce all of the possible combinations by " "position and don't require that the contents of *iterable* are unique::" msgstr "" -#: ../../howto/functional.rst:929 +#: ../../howto/functional.rst:935 msgid "" "The identical tuple ``('a', 'a', 'b')`` occurs twice, but the two 'a' " "strings came from different positions." msgstr "" -#: ../../howto/functional.rst:932 +#: ../../howto/functional.rst:938 msgid "" "The :func:`itertools.combinations_with_replacement(iterable, r) ` function relaxes a different constraint: " @@ -1331,11 +1354,11 @@ msgid "" "the second element is selected. ::" msgstr "" -#: ../../howto/functional.rst:947 +#: ../../howto/functional.rst:953 msgid "Grouping elements" msgstr "Agrupando elementos" -#: ../../howto/functional.rst:949 +#: ../../howto/functional.rst:955 msgid "" "The last function I'll discuss, :func:`itertools.groupby(iter, " "key_func=None) `, is the most complicated. " @@ -1344,14 +1367,14 @@ msgid "" "key is simply each element itself." msgstr "" -#: ../../howto/functional.rst:954 +#: ../../howto/functional.rst:960 msgid "" ":func:`~itertools.groupby` collects all the consecutive elements from the " "underlying iterable that have the same key value, and returns a stream of 2-" "tuples containing a key value and an iterator for the elements with that key." msgstr "" -#: ../../howto/functional.rst:982 +#: ../../howto/functional.rst:988 msgid "" ":func:`~itertools.groupby` assumes that the underlying iterable's contents " "will already be sorted based on the key. Note that the returned iterators " @@ -1359,11 +1382,11 @@ msgid "" "iterator-1 before requesting iterator-2 and its corresponding key." msgstr "" -#: ../../howto/functional.rst:989 +#: ../../howto/functional.rst:995 msgid "The functools module" msgstr "O módulo functools" -#: ../../howto/functional.rst:991 +#: ../../howto/functional.rst:997 msgid "" "The :mod:`functools` module in Python 2.5 contains some higher-order " "functions. A **higher-order function** takes one or more functions as input " @@ -1371,7 +1394,7 @@ msgid "" "func:`functools.partial` function." msgstr "" -#: ../../howto/functional.rst:996 +#: ../../howto/functional.rst:1002 msgid "" "For programs written in a functional style, you'll sometimes want to " "construct variants of existing functions that have some of the parameters " @@ -1381,7 +1404,7 @@ msgid "" "\"partial function application\"." msgstr "" -#: ../../howto/functional.rst:1002 +#: ../../howto/functional.rst:1008 msgid "" "The constructor for :func:`~functools.partial` takes the arguments " "``(function, arg1, arg2, ..., kwarg1=value1, kwarg2=value2)``. The " @@ -1389,11 +1412,11 @@ msgid "" "with the filled-in arguments." msgstr "" -#: ../../howto/functional.rst:1007 +#: ../../howto/functional.rst:1013 msgid "Here's a small but realistic example::" msgstr "Aqui está um pequeno mas bem realístico exemplo::" -#: ../../howto/functional.rst:1019 +#: ../../howto/functional.rst:1025 msgid "" ":func:`functools.reduce(func, iter, [initial_value]) ` " "cumulatively performs an operation on all the iterable's elements and, " @@ -1408,20 +1431,20 @@ msgid "" "``func(initial_value, A)`` is the first calculation. ::" msgstr "" -#: ../../howto/functional.rst:1043 +#: ../../howto/functional.rst:1049 msgid "" "If you use :func:`operator.add` with :func:`functools.reduce`, you'll add up " "all the elements of the iterable. This case is so common that there's a " "special built-in called :func:`sum` to compute it:" msgstr "" -#: ../../howto/functional.rst:1055 +#: ../../howto/functional.rst:1061 msgid "" "For many uses of :func:`functools.reduce`, though, it can be clearer to just " "write the obvious :keyword:`for` loop::" msgstr "" -#: ../../howto/functional.rst:1067 +#: ../../howto/functional.rst:1073 msgid "" "A related function is :func:`itertools.accumulate(iterable, func=operator." "add) `. It performs the same calculation, but instead " @@ -1429,11 +1452,11 @@ msgid "" "that also yields each partial result::" msgstr "" -#: ../../howto/functional.rst:1080 +#: ../../howto/functional.rst:1086 msgid "The operator module" msgstr "O módulo operator" -#: ../../howto/functional.rst:1082 +#: ../../howto/functional.rst:1088 msgid "" "The :mod:`operator` module was mentioned earlier. It contains a set of " "functions corresponding to Python's operators. These functions are often " @@ -1441,54 +1464,54 @@ msgid "" "functions that perform a single operation." msgstr "" -#: ../../howto/functional.rst:1087 +#: ../../howto/functional.rst:1093 msgid "Some of the functions in this module are:" msgstr "Algumas funcionalidades desse módulo são:" -#: ../../howto/functional.rst:1089 +#: ../../howto/functional.rst:1095 msgid "" "Math operations: ``add()``, ``sub()``, ``mul()``, ``floordiv()``, " "``abs()``, ..." msgstr "" -#: ../../howto/functional.rst:1090 +#: ../../howto/functional.rst:1096 msgid "Logical operations: ``not_()``, ``truth()``." msgstr "" -#: ../../howto/functional.rst:1091 +#: ../../howto/functional.rst:1097 msgid "Bitwise operations: ``and_()``, ``or_()``, ``invert()``." msgstr "" -#: ../../howto/functional.rst:1092 +#: ../../howto/functional.rst:1098 msgid "" "Comparisons: ``eq()``, ``ne()``, ``lt()``, ``le()``, ``gt()``, and ``ge()``." msgstr "" -#: ../../howto/functional.rst:1093 +#: ../../howto/functional.rst:1099 msgid "Object identity: ``is_()``, ``is_not()``." msgstr "" -#: ../../howto/functional.rst:1095 +#: ../../howto/functional.rst:1101 msgid "Consult the operator module's documentation for a complete list." msgstr "" -#: ../../howto/functional.rst:1099 +#: ../../howto/functional.rst:1105 msgid "Small functions and the lambda expression" msgstr "Pequenas funções e as expressões lambda" -#: ../../howto/functional.rst:1101 +#: ../../howto/functional.rst:1107 msgid "" "When writing functional-style programs, you'll often need little functions " "that act as predicates or that combine elements in some way." msgstr "" -#: ../../howto/functional.rst:1104 +#: ../../howto/functional.rst:1110 msgid "" "If there's a Python built-in or a module function that's suitable, you don't " "need to define a new function at all::" msgstr "" -#: ../../howto/functional.rst:1110 +#: ../../howto/functional.rst:1116 msgid "" "If the function you need doesn't exist, you need to write it. One way to " "write small functions is to use the :keyword:`lambda` expression. " @@ -1497,19 +1520,19 @@ msgid "" "expression::" msgstr "" -#: ../../howto/functional.rst:1119 +#: ../../howto/functional.rst:1125 msgid "" "An alternative is to just use the ``def`` statement and define a function in " "the usual way::" msgstr "" -#: ../../howto/functional.rst:1128 +#: ../../howto/functional.rst:1134 msgid "" "Which alternative is preferable? That's a style question; my usual course " "is to avoid using ``lambda``." msgstr "" -#: ../../howto/functional.rst:1131 +#: ../../howto/functional.rst:1137 msgid "" "One reason for my preference is that ``lambda`` is quite limited in the " "functions it can define. The result has to be computable as a single " @@ -1526,7 +1549,7 @@ msgstr "" "complicada que é difícil de ler. Rápido, o que o seguinte código está " "fazendo? ::" -#: ../../howto/functional.rst:1141 +#: ../../howto/functional.rst:1147 msgid "" "You can figure it out, but it takes time to disentangle the expression to " "figure out what's going on. Using a short nested ``def`` statements makes " @@ -1536,25 +1559,25 @@ msgstr "" "descobrir o que está acontecendo. Usar uma breve instrução de ``def`` " "aninhada torna as coisas um pouco melhor::" -#: ../../howto/functional.rst:1151 +#: ../../howto/functional.rst:1157 msgid "But it would be best of all if I had simply used a ``for`` loop::" msgstr "" "Mas seria o melhor de tudo se eu tivesse usado simplesmente um bucle " "``for``::" -#: ../../howto/functional.rst:1157 +#: ../../howto/functional.rst:1163 msgid "Or the :func:`sum` built-in and a generator expression::" msgstr "Ou o :func:`sum` embutida e uma expressão do gerador::" -#: ../../howto/functional.rst:1161 +#: ../../howto/functional.rst:1167 msgid "" "Many uses of :func:`functools.reduce` are clearer when written as ``for`` " "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:1163 +#: ../../howto/functional.rst:1169 msgid "" "Fredrik Lundh once suggested the following set of rules for refactoring uses " "of ``lambda``:" @@ -1562,15 +1585,15 @@ msgstr "" "Fredrik Lundh sugeriu uma vez o seguinte conjunto de regras para refatoração " "de usos de ``lambda``:" -#: ../../howto/functional.rst:1166 +#: ../../howto/functional.rst:1172 msgid "Write a lambda function." msgstr "Escrever uma função lambda." -#: ../../howto/functional.rst:1167 +#: ../../howto/functional.rst:1173 msgid "Write a comment explaining what the heck that lambda does." msgstr "Escreva um comentário explicando o que o lambda faz." -#: ../../howto/functional.rst:1168 +#: ../../howto/functional.rst:1174 msgid "" "Study the comment for a while, and think of a name that captures the essence " "of the comment." @@ -1578,15 +1601,15 @@ msgstr "" "Estude o comentário por um tempo e pense em um nome que capture a essência " "do comentário." -#: ../../howto/functional.rst:1170 +#: ../../howto/functional.rst:1176 msgid "Convert the lambda to a def statement, using that name." msgstr "Converta a lambda para uma declaração de definição, usando esse nome." -#: ../../howto/functional.rst:1171 +#: ../../howto/functional.rst:1177 msgid "Remove the comment." msgstr "Remover o comentário." -#: ../../howto/functional.rst:1173 +#: ../../howto/functional.rst:1179 msgid "" "I really like these rules, but you're free to disagree about whether this " "lambda-free style is better." @@ -1594,11 +1617,11 @@ msgstr "" "Eu realmente gosto dessas regras, mas você está livre para discordar sobre " "se esse estilo sem lambda é melhor." -#: ../../howto/functional.rst:1178 +#: ../../howto/functional.rst:1184 msgid "Revision History and Acknowledgements" msgstr "Histórico de Revisão e Reconhecimentos" -#: ../../howto/functional.rst:1180 +#: ../../howto/functional.rst:1186 msgid "" "The author would like to thank the following people for offering " "suggestions, corrections and assistance with various drafts of this article: " @@ -1610,16 +1633,16 @@ msgstr "" "Nick Efford, Raymond Hettinger, Jim Jewett, Mike Krell, Leandro Lameiro, " "Jussi Salmela, Collin Winter, Blake Winton." -#: ../../howto/functional.rst:1185 +#: ../../howto/functional.rst:1191 msgid "Version 0.1: posted June 30 2006." msgstr "Versão 0.1: publicado em 30 de junho de 2006." -#: ../../howto/functional.rst:1187 +#: ../../howto/functional.rst:1193 msgid "Version 0.11: posted July 1 2006. Typo fixes." msgstr "" "Versão 0.11: publicado em 1º de julho de 2006. Correções de erros de escrita." -#: ../../howto/functional.rst:1189 +#: ../../howto/functional.rst:1195 msgid "" "Version 0.2: posted July 10 2006. Merged genexp and listcomp sections into " "one. Typo fixes." @@ -1627,14 +1650,14 @@ msgstr "" "Versão 0.2: publicado em 10 de julho de 2006. Incorporou as seções genexp e " "listcomp em uma. Correções de erros de escrita." -#: ../../howto/functional.rst:1192 +#: ../../howto/functional.rst:1198 msgid "" "Version 0.21: Added more references suggested on the tutor mailing list." msgstr "" "Versão 0.21: adicionou mais referências sugeridas na lista de " "correspondência do tutor." -#: ../../howto/functional.rst:1194 +#: ../../howto/functional.rst:1200 msgid "" "Version 0.30: Adds a section on the ``functional`` module written by Collin " "Winter; adds short section on the operator module; a few other edits." @@ -1642,15 +1665,15 @@ msgstr "" "Versão 0.30: Adiciona uma seção no módulo ``functional`` escrito por Collin " "Winter; Adiciona seção curta no módulo do operador; Algumas outras edições." -#: ../../howto/functional.rst:1199 +#: ../../howto/functional.rst:1205 msgid "References" msgstr "Referências" -#: ../../howto/functional.rst:1202 +#: ../../howto/functional.rst:1208 msgid "General" msgstr "Geral" -#: ../../howto/functional.rst:1204 +#: ../../howto/functional.rst:1210 msgid "" "**Structure and Interpretation of Computer Programs**, by Harold Abelson and " "Gerald Jay Sussman with Julie Sussman. Full text at https://mitpress.mit." @@ -1668,17 +1691,14 @@ msgstr "" "abordagens de design descritas nestes capítulos são aplicáveis ao código " "Python de estilo funcional." -#: ../../howto/functional.rst:1212 +#: ../../howto/functional.rst:1218 msgid "" -"http://www.defmacro.org/ramblings/fp.html: A general introduction to " +"https://www.defmacro.org/ramblings/fp.html: A general introduction to " "functional programming that uses Java examples and has a lengthy historical " "introduction." msgstr "" -"http://www.defmacro.org/ramblings/fp.html: Uma introdução geral sobre " -"programação funcional que utiliza exemplos Java e tem uma introdução " -"histórica longa." -#: ../../howto/functional.rst:1215 +#: ../../howto/functional.rst:1221 msgid "" "https://en.wikipedia.org/wiki/Functional_programming: General Wikipedia " "entry describing functional programming." @@ -1686,33 +1706,29 @@ msgstr "" "https://pt.wikipedia.org/wiki/Programação_funcional: Informação geral do " "Wikipédia para descrever programação funcional." -#: ../../howto/functional.rst:1218 +#: ../../howto/functional.rst:1224 msgid "https://en.wikipedia.org/wiki/Coroutine: Entry for coroutines." msgstr "https://pt.wikipedia.org/wiki/Corrotina: Entrada para corrotinas." -#: ../../howto/functional.rst:1220 +#: ../../howto/functional.rst:1226 msgid "" "https://en.wikipedia.org/wiki/Currying: Entry for the concept of currying." msgstr "" "https://pt.wikipedia.org/wiki/Currying: Entrada para o conceito de currying." -#: ../../howto/functional.rst:1223 +#: ../../howto/functional.rst:1229 msgid "Python-specific" msgstr "Python-specific" -#: ../../howto/functional.rst:1225 +#: ../../howto/functional.rst:1231 msgid "" -"http://gnosis.cx/TPiP/: The first chapter of David Mertz's book :title-" +"https://gnosis.cx/TPiP/: The first chapter of David Mertz's book :title-" "reference:`Text Processing in Python` discusses functional programming for " "text processing, in the section titled \"Utilizing Higher-Order Functions in " "Text Processing\"." msgstr "" -"http://gnosis.cx/TPiP/: O primeiro capítulo do livro de David Mertz :title-" -"reference:`Text Processing in Python` onde discute programação funcional " -"para processamento de texto, em uma secção intitulada \"Utilizing Higher-" -"Order Functions in Text Processing\"." -#: ../../howto/functional.rst:1230 +#: ../../howto/functional.rst:1236 msgid "" "Mertz also wrote a 3-part series of articles on functional programming for " "IBM's DeveloperWorks site; see `part 1 `__," msgstr "" -#: ../../howto/functional.rst:1238 +#: ../../howto/functional.rst:1244 msgid "Python documentation" msgstr "Documentação do Python" -#: ../../howto/functional.rst:1240 +#: ../../howto/functional.rst:1246 msgid "Documentation for the :mod:`itertools` module." msgstr "Documentação para o módulo :mod:`itertools`." -#: ../../howto/functional.rst:1242 +#: ../../howto/functional.rst:1248 msgid "Documentation for the :mod:`functools` module." msgstr "" -#: ../../howto/functional.rst:1244 +#: ../../howto/functional.rst:1250 msgid "Documentation for the :mod:`operator` module." msgstr "Documentação para o módulo :mod:`operator`." -#: ../../howto/functional.rst:1246 +#: ../../howto/functional.rst:1252 msgid ":pep:`289`: \"Generator Expressions\"" msgstr ":pep:`289`: \"Gerador de Expressões\"" -#: ../../howto/functional.rst:1248 +#: ../../howto/functional.rst:1254 msgid "" ":pep:`342`: \"Coroutines via Enhanced Generators\" describes the new " "generator features in Python 2.5." diff --git a/howto/index.po b/howto/index.po index f6e07409b..32ff8673e 100644 --- a/howto/index.po +++ b/howto/index.po @@ -1,28 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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.10\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-06-29 12:56+0000\n" -"PO-Revision-Date: 2021-06-28 00:53+0000\n" -"Last-Translator: Claudio Rogerio Carvalho Filho , " -"2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:57+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../howto/index.rst:3 msgid "Python HOWTOs" diff --git a/howto/instrumentation.po b/howto/instrumentation.po index 552cb924e..aa5a7d2b3 100644 --- a/howto/instrumentation.po +++ b/howto/instrumentation.po @@ -1,30 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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 -# Hemílio Lauro , 2021 -# i17obot , 2021 +# python-doc bot, 2025 # #, 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 00:53+0000\n" -"Last-Translator: i17obot , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:57+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../howto/instrumentation.rst:7 msgid "Instrumenting CPython with DTrace and SystemTap" @@ -48,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 "" @@ -67,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 "" @@ -75,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 "" @@ -86,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 "" @@ -107,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 "" @@ -120,21 +140,27 @@ 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 "" "The above metadata contains information for SystemTap describing how it can " -"patch strategically-placed machine code instructions to enable the tracing " +"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 "" @@ -143,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 "" @@ -162,33 +192,40 @@ 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 msgid "name of executable" -msgstr "" +msgstr "nome do executável" #: ../../howto/instrumentation.rst:253 msgid "PID of process" -msgstr "" +msgstr "PID do processo" #: ../../howto/instrumentation.rst:255 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 msgid "" @@ -196,47 +233,60 @@ msgid "" "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 msgid "should instead read:" -msgstr "" +msgstr "deve ler-se em vez disso:" #: ../../howto/instrumentation.rst:271 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 msgid "Available static markers" -msgstr "" +msgstr "Marcadores estáticos disponíveis" #: ../../howto/instrumentation.rst:279 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 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``:" +"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 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 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 msgid "``$arg3`` : ``int`` line number" -msgstr "" +msgstr "``$arg3`` : número da linha como ``int``" #: ../../howto/instrumentation.rst:295 msgid "" @@ -255,6 +305,9 @@ msgid "" "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`." @@ -271,18 +324,25 @@ 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 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 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 msgid "" @@ -290,33 +350,46 @@ msgid "" "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 msgid "SystemTap Tapsets" -msgstr "" +msgstr "Tapsets de SystemTap" #: ../../howto/instrumentation.rst:347 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." +"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 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 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 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 msgid "" @@ -325,6 +398,9 @@ msgid "" "``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 msgid "Examples" @@ -336,10 +412,16 @@ msgid "" "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 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 " +"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 c9678589d..d91614b9e 100644 --- a/howto/ipaddress.po +++ b/howto/ipaddress.po @@ -1,31 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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 -# 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.10\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-07-27 13:07+0000\n" -"PO-Revision-Date: 2021-06-28 00:53+0000\n" -"Last-Translator: i17obot , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:57+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../howto/ipaddress.rst:9 msgid "An introduction to the ipaddress module" @@ -71,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 "" @@ -86,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 "" @@ -94,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 "" @@ -107,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 "" @@ -120,10 +137,13 @@ 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 "" @@ -136,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 "" @@ -151,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 "" @@ -159,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 "" @@ -167,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 "" @@ -190,16 +237,28 @@ msgid "" "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 "" @@ -207,32 +266,38 @@ msgid "" "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 "" @@ -241,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" @@ -271,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 "" @@ -288,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 "" @@ -302,6 +384,12 @@ 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 "" @@ -311,12 +399,19 @@ msgid "" "`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 "" @@ -324,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/logging-cookbook.po b/howto/logging-cookbook.po index b69399a07..41e8e4762 100644 --- a/howto/logging-cookbook.po +++ b/howto/logging-cookbook.po @@ -1,33 +1,31 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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: -# Katyanna Moura , 2021 -# Marco Rougeth , 2021 -# Claudio Rogerio Carvalho Filho , 2021 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.10\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-07-27 13:07+0000\n" -"PO-Revision-Date: 2021-06-28 00:53+0000\n" -"Last-Translator: Claudio Rogerio Carvalho Filho , " -"2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:57+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"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" @@ -40,16 +38,18 @@ msgstr "Vinay Sajip " #: ../../howto/logging-cookbook.rst:9 msgid "" "This page contains a number of recipes related to logging, which have been " -"found useful in the past." +"found useful in the past. For links to tutorial and reference information, " +"please see :ref:`cookbook-ref-links`." msgstr "" -"Esta página contém diversas receitas relacionadas ao logging e, que no " -"passado, utilizamos e foram consideradas úteis." +"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:15 +#: ../../howto/logging-cookbook.rst:16 msgid "Using logging in multiple modules" msgstr "Usando logging em vários módulos" -#: ../../howto/logging-cookbook.rst:17 +#: ../../howto/logging-cookbook.rst:18 msgid "" "Multiple calls to ``logging.getLogger('someLogger')`` return a reference to " "the same logger object. This is true not only within the same module, but " @@ -60,40 +60,53 @@ 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:55 +#: ../../howto/logging-cookbook.rst:56 msgid "Here is the auxiliary module::" -msgstr "" +msgstr "Aqui está o módulo auxiliar::" -#: ../../howto/logging-cookbook.rst:75 +#: ../../howto/logging-cookbook.rst:76 msgid "The output looks like this:" -msgstr "" +msgstr "O resultado deve ser algo assim:" -#: ../../howto/logging-cookbook.rst:101 +#: ../../howto/logging-cookbook.rst:102 msgid "Logging from multiple threads" -msgstr "" +msgstr "Registro de eventos de várias threads" -#: ../../howto/logging-cookbook.rst:103 +#: ../../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:132 +#: ../../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:154 +#: ../../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:158 +#: ../../howto/logging-cookbook.rst:159 msgid "Multiple handlers and formatters" -msgstr "" +msgstr "Múltiplos manipuladores e formatadores" -#: ../../howto/logging-cookbook.rst:160 +#: ../../howto/logging-cookbook.rst:161 msgid "" "Loggers are plain Python objects. The :meth:`~Logger.addHandler` method has " "no minimum or maximum quota for the number of handlers you may add. " @@ -104,15 +117,26 @@ 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:193 +#: ../../howto/logging-cookbook.rst:194 msgid "" "Notice that the 'application' code does not care about multiple handlers. " "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:196 +#: ../../howto/logging-cookbook.rst:197 msgid "" "The ability to create new handlers with higher- or lower-severity filters " "can be very helpful when writing and testing an application. Instead of " @@ -123,12 +147,21 @@ msgid "" "to happen is to modify the severity level of the logger and/or handler to " "debug." msgstr "" - -#: ../../howto/logging-cookbook.rst:207 +"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" msgstr "" -#: ../../howto/logging-cookbook.rst:209 +#: ../../howto/logging-cookbook.rst:210 msgid "" "Let's say you want to log to console and file with different message formats " "and in differing circumstances. Say you want to log messages with levels of " @@ -137,53 +170,132 @@ msgid "" "console messages should not. Here's how you can achieve this::" msgstr "" -#: ../../howto/logging-cookbook.rst:247 +#: ../../howto/logging-cookbook.rst:248 msgid "When you run this, on the console you will see" msgstr "" -#: ../../howto/logging-cookbook.rst:256 +#: ../../howto/logging-cookbook.rst:257 msgid "and in the file you will see something like" msgstr "" -#: ../../howto/logging-cookbook.rst:266 +#: ../../howto/logging-cookbook.rst:267 msgid "" "As you can see, the DEBUG message only shows up in the file. The other " "messages are sent to both destinations." msgstr "" -#: ../../howto/logging-cookbook.rst:269 +#: ../../howto/logging-cookbook.rst:270 msgid "" "This example uses console and file handlers, but you can use any number and " "combination of handlers you choose." msgstr "" -#: ../../howto/logging-cookbook.rst:274 +#: ../../howto/logging-cookbook.rst:273 +msgid "" +"Note that the above choice of log filename ``/tmp/myapp.log`` implies use of " +"a standard location for temporary files on POSIX systems. On Windows, you " +"may need to choose a different directory name for the log - just ensure that " +"the directory exists and that you have the permissions to create and update " +"files in it." +msgstr "" + +#: ../../howto/logging-cookbook.rst:282 +msgid "Custom handling of levels" +msgstr "" + +#: ../../howto/logging-cookbook.rst:284 +msgid "" +"Sometimes, you might want to do something slightly different from the " +"standard handling of levels in handlers, where all levels above a threshold " +"get processed by a handler. To do this, you need to use filters. Let's look " +"at a scenario where you want to arrange things as follows:" +msgstr "" + +#: ../../howto/logging-cookbook.rst:289 +msgid "Send messages of severity ``INFO`` and ``WARNING`` to ``sys.stdout``" +msgstr "" + +#: ../../howto/logging-cookbook.rst:290 +msgid "Send messages of severity ``ERROR`` and above to ``sys.stderr``" +msgstr "" + +#: ../../howto/logging-cookbook.rst:291 +msgid "Send messages of severity ``DEBUG`` and above to file ``app.log``" +msgstr "" + +#: ../../howto/logging-cookbook.rst:293 +msgid "Suppose you configure logging with the following JSON:" +msgstr "" + +#: ../../howto/logging-cookbook.rst:335 +msgid "" +"This configuration does *almost* what we want, except that ``sys.stdout`` " +"would show messages of severity ``ERROR`` and above as well as ``INFO`` and " +"``WARNING`` messages. To prevent this, we can set up a filter which excludes " +"those messages and add it to the relevant handler. This can be configured by " +"adding a ``filters`` section parallel to ``formatters`` and ``handlers``:" +msgstr "" + +#: ../../howto/logging-cookbook.rst:352 +msgid "and changing the section on the ``stdout`` handler to add it:" +msgstr "" + +#: ../../howto/logging-cookbook.rst:366 +msgid "" +"A filter is just a function, so we can define the ``filter_maker`` (a " +"factory function) as follows:" +msgstr "" + +#: ../../howto/logging-cookbook.rst:379 +msgid "" +"This converts the string argument passed in to a numeric level, and returns " +"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." +msgstr "" + +#: ../../howto/logging-cookbook.rst:387 +msgid "With the filter added, we can run ``main.py``, which in full is:" +msgstr "" + +#: ../../howto/logging-cookbook.rst:457 +msgid "And after running it like this:" +msgstr "" + +#: ../../howto/logging-cookbook.rst:463 +msgid "We can see the results are as expected:" +msgstr "" + +#: ../../howto/logging-cookbook.rst:489 msgid "Configuration server example" msgstr "" -#: ../../howto/logging-cookbook.rst:276 +#: ../../howto/logging-cookbook.rst:491 msgid "Here is an example of a module using the logging configuration server::" msgstr "" -#: ../../howto/logging-cookbook.rst:307 +#: ../../howto/logging-cookbook.rst:522 msgid "" "And here is a script that takes a filename and sends that file to the " "server, properly preceded with the binary-encoded length, as the new logging " "configuration::" msgstr "" -#: ../../howto/logging-cookbook.rst:330 +#: ../../howto/logging-cookbook.rst:547 msgid "Dealing with handlers that block" msgstr "" -#: ../../howto/logging-cookbook.rst:334 +#: ../../howto/logging-cookbook.rst:551 msgid "" "Sometimes you have to get your logging handlers to do their work without " "blocking the thread you're logging from. This is common in web applications, " "though of course it also occurs in other scenarios." msgstr "" -#: ../../howto/logging-cookbook.rst:338 +#: ../../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 " @@ -194,7 +306,7 @@ msgid "" "below the Python layer, and outside your control)." msgstr "" -#: ../../howto/logging-cookbook.rst:346 +#: ../../howto/logging-cookbook.rst:563 msgid "" "One solution is to use a two-part approach. For the first part, attach only " "a :class:`QueueHandler` to those loggers which are accessed from performance-" @@ -208,7 +320,7 @@ msgid "" "developers who will use your code." msgstr "" -#: ../../howto/logging-cookbook.rst:357 +#: ../../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:" @@ -219,7 +331,7 @@ msgid "" "handlers for processing." msgstr "" -#: ../../howto/logging-cookbook.rst:365 +#: ../../howto/logging-cookbook.rst:582 msgid "" "The advantage of having a separate :class:`QueueListener` class is that you " "can use the same instance to service multiple ``QueueHandlers``. This is " @@ -228,15 +340,26 @@ msgid "" "benefit." msgstr "" -#: ../../howto/logging-cookbook.rst:370 +#: ../../howto/logging-cookbook.rst:587 msgid "An example of using these two classes follows (imports omitted)::" msgstr "" -#: ../../howto/logging-cookbook.rst:388 +#: ../../howto/logging-cookbook.rst:605 msgid "which, when run, will produce:" msgstr "" -#: ../../howto/logging-cookbook.rst:394 +#: ../../howto/logging-cookbook.rst:611 +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." +msgstr "" + +#: ../../howto/logging-cookbook.rst:619 msgid "" "Prior to Python 3.5, the :class:`QueueListener` always passed every message " "received from the queue to every handler it was initialized with. (This was " @@ -248,30 +371,30 @@ msgid "" "handler if it's appropriate to do so." msgstr "" -#: ../../howto/logging-cookbook.rst:407 +#: ../../howto/logging-cookbook.rst:632 msgid "Sending and receiving logging events across a network" msgstr "" -#: ../../howto/logging-cookbook.rst:409 +#: ../../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::" msgstr "" -#: ../../howto/logging-cookbook.rst:437 +#: ../../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::" msgstr "" -#: ../../howto/logging-cookbook.rst:525 +#: ../../howto/logging-cookbook.rst:750 msgid "" "First run the server, and then the client. On the client side, nothing is " "printed on the console; on the server side, you should see something like:" msgstr "" -#: ../../howto/logging-cookbook.rst:537 +#: ../../howto/logging-cookbook.rst:762 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 " @@ -280,11 +403,158 @@ msgid "" "use your alternative serialization." msgstr "" -#: ../../howto/logging-cookbook.rst:547 +#: ../../howto/logging-cookbook.rst:770 +msgid "Running a logging socket listener in production" +msgstr "" + +#: ../../howto/logging-cookbook.rst:774 +msgid "" +"To run a logging listener in production, you may need to use a process-" +"management tool such as `Supervisor `_. `Here is a " +"Gist `__ which provides the bare-bones files to run " +"the above functionality using Supervisor. It consists of the following files:" +msgstr "" + +#: ../../howto/logging-cookbook.rst:781 +msgid "File" +msgstr "Arquivo" + +#: ../../howto/logging-cookbook.rst:781 +msgid "Purpose" +msgstr "Propósito" + +#: ../../howto/logging-cookbook.rst:783 +msgid ":file:`prepare.sh`" +msgstr ":file:`prepare.sh`" + +#: ../../howto/logging-cookbook.rst:783 +msgid "A Bash script to prepare the environment for testing" +msgstr "" + +#: ../../howto/logging-cookbook.rst:786 +msgid ":file:`supervisor.conf`" +msgstr ":file:`supervisor.conf`" + +#: ../../howto/logging-cookbook.rst:786 +msgid "" +"The Supervisor configuration file, which has entries for the listener and a " +"multi-process web application" +msgstr "" + +#: ../../howto/logging-cookbook.rst:790 +msgid ":file:`ensure_app.sh`" +msgstr ":file:`ensure_app.sh`" + +#: ../../howto/logging-cookbook.rst:790 +msgid "" +"A Bash script to ensure that Supervisor is running with the above " +"configuration" +msgstr "" + +#: ../../howto/logging-cookbook.rst:793 +msgid ":file:`log_listener.py`" +msgstr ":file:`log_listener.py`" + +#: ../../howto/logging-cookbook.rst:793 +msgid "" +"The socket listener program which receives log events and records them to a " +"file" +msgstr "" + +#: ../../howto/logging-cookbook.rst:796 +msgid ":file:`main.py`" +msgstr ":file:`main.py`" + +#: ../../howto/logging-cookbook.rst:796 +msgid "" +"A simple web application which performs logging via a socket connected to " +"the listener" +msgstr "" + +#: ../../howto/logging-cookbook.rst:799 +msgid ":file:`webapp.json`" +msgstr ":file:`webapp.json`" + +#: ../../howto/logging-cookbook.rst:799 +msgid "A JSON configuration file for the web application" +msgstr "" + +#: ../../howto/logging-cookbook.rst:801 +msgid ":file:`client.py`" +msgstr "" + +#: ../../howto/logging-cookbook.rst:801 +msgid "A Python script to exercise the web application" +msgstr "" + +#: ../../howto/logging-cookbook.rst:804 +msgid "" +"The web application uses `Gunicorn `_, which is a " +"popular web application server that starts multiple worker processes to " +"handle requests. This example setup shows how the workers can write to the " +"same log file without conflicting with one another --- they all go through " +"the socket listener." +msgstr "" + +#: ../../howto/logging-cookbook.rst:809 +msgid "To test these files, do the following in a POSIX environment:" +msgstr "" + +#: ../../howto/logging-cookbook.rst:811 +msgid "" +"Download `the Gist `__ as a ZIP archive using the :" +"guilabel:`Download ZIP` button." +msgstr "" + +#: ../../howto/logging-cookbook.rst:814 +msgid "Unzip the above files from the archive into a scratch directory." +msgstr "" + +#: ../../howto/logging-cookbook.rst:816 +msgid "" +"In the scratch directory, run ``bash prepare.sh`` to get things ready. This " +"creates a :file:`run` subdirectory to contain Supervisor-related and log " +"files, and a :file:`venv` subdirectory to contain a virtual environment into " +"which ``bottle``, ``gunicorn`` and ``supervisor`` are installed." +msgstr "" + +#: ../../howto/logging-cookbook.rst:821 +msgid "" +"Run ``bash ensure_app.sh`` to ensure that Supervisor is running with the " +"above configuration." +msgstr "" + +#: ../../howto/logging-cookbook.rst:824 +msgid "" +"Run ``venv/bin/python client.py`` to exercise the web application, which " +"will lead to records being written to the log." +msgstr "" + +#: ../../howto/logging-cookbook.rst:827 +msgid "" +"Inspect the log files in the :file:`run` subdirectory. You should see the " +"most recent log lines in files matching the pattern :file:`app.log*`. They " +"won't be in any particular order, since they have been handled concurrently " +"by different worker processes in a non-deterministic way." +msgstr "" + +#: ../../howto/logging-cookbook.rst:832 +msgid "" +"You can shut down the listener and the web application by running ``venv/bin/" +"supervisorctl -c supervisor.conf shutdown``." +msgstr "" + +#: ../../howto/logging-cookbook.rst:835 +msgid "" +"You may need to tweak the configuration files in the unlikely event that the " +"configured ports clash with something else in your test environment." +msgstr "" + +#: ../../howto/logging-cookbook.rst:841 msgid "Adding contextual information to your logging output" msgstr "" -#: ../../howto/logging-cookbook.rst:549 +#: ../../howto/logging-cookbook.rst:843 msgid "" "Sometimes you want logging output to contain contextual information in " "addition to the parameters passed to the logging call. For example, in a " @@ -300,11 +570,11 @@ msgid "" "`Logger` instances becomes effectively unbounded." msgstr "" -#: ../../howto/logging-cookbook.rst:564 +#: ../../howto/logging-cookbook.rst:858 msgid "Using LoggerAdapters to impart contextual information" msgstr "" -#: ../../howto/logging-cookbook.rst:566 +#: ../../howto/logging-cookbook.rst:860 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. " @@ -315,7 +585,7 @@ msgid "" "types of instances interchangeably." msgstr "" -#: ../../howto/logging-cookbook.rst:574 +#: ../../howto/logging-cookbook.rst:868 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 " @@ -326,7 +596,7 @@ msgid "" "of :class:`LoggerAdapter`::" msgstr "" -#: ../../howto/logging-cookbook.rst:590 +#: ../../howto/logging-cookbook.rst:884 msgid "" "The :meth:`~LoggerAdapter.process` method of :class:`LoggerAdapter` is where " "the contextual information is added to the logging output. It's passed the " @@ -339,7 +609,7 @@ msgid "" "be silently overwritten." msgstr "" -#: ../../howto/logging-cookbook.rst:599 +#: ../../howto/logging-cookbook.rst:893 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 " @@ -350,21 +620,21 @@ msgid "" "`~LoggerAdapter.process` to do what you need. Here is a simple example::" msgstr "" -#: ../../howto/logging-cookbook.rst:615 +#: ../../howto/logging-cookbook.rst:909 msgid "which you can use like this::" msgstr "" -#: ../../howto/logging-cookbook.rst:620 +#: ../../howto/logging-cookbook.rst:914 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:624 +#: ../../howto/logging-cookbook.rst:918 msgid "Using objects other than dicts to pass contextual information" msgstr "" -#: ../../howto/logging-cookbook.rst:626 +#: ../../howto/logging-cookbook.rst:920 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 " @@ -373,11 +643,11 @@ msgid "" "would be constant)." msgstr "" -#: ../../howto/logging-cookbook.rst:635 +#: ../../howto/logging-cookbook.rst:929 msgid "Using Filters to impart contextual information" msgstr "" -#: ../../howto/logging-cookbook.rst:637 +#: ../../howto/logging-cookbook.rst:931 msgid "" "You can also add contextual information to log output using a user-defined :" "class:`Filter`. ``Filter`` instances are allowed to modify the " @@ -386,7 +656,7 @@ msgid "" "class:`Formatter`." msgstr "" -#: ../../howto/logging-cookbook.rst:642 +#: ../../howto/logging-cookbook.rst:936 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:" @@ -398,15 +668,74 @@ msgid "" "an example script::" msgstr "" -#: ../../howto/logging-cookbook.rst:688 +#: ../../howto/logging-cookbook.rst:982 msgid "which, when run, produces something like:" msgstr "" -#: ../../howto/logging-cookbook.rst:709 +#: ../../howto/logging-cookbook.rst:1000 +msgid "Use of ``contextvars``" +msgstr "" + +#: ../../howto/logging-cookbook.rst:1002 +msgid "" +"Since Python 3.7, the :mod:`contextvars` module has provided context-local " +"storage which works for both :mod:`threading` and :mod:`asyncio` processing " +"needs. This type of storage may thus be generally preferable to thread-" +"locals. The following example shows how, in a multi-threaded environment, " +"logs can populated with contextual information such as, for example, request " +"attributes handled by web applications." +msgstr "" + +#: ../../howto/logging-cookbook.rst:1008 +msgid "" +"For the purposes of illustration, say that you have different web " +"applications, each independent of the other but running in the same Python " +"process and using a library common to them. How can each of these " +"applications have their own log, where all logging messages from the library " +"(and other request processing code) are directed to the appropriate " +"application's log file, while including in the log additional contextual " +"information such as client IP, HTTP request method and client username?" +msgstr "" + +#: ../../howto/logging-cookbook.rst:1015 +msgid "Let's assume that the library can be simulated by the following code:" +msgstr "" + +#: ../../howto/logging-cookbook.rst:1031 +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 +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 " +"requests are logged to :file:`app.log`. Each webapp-specific log will " +"contain only log entries for only that webapp, and the request information " +"will be displayed consistently in the log (i.e. the information in each " +"dummy request will always appear together in a log line). This is " +"illustrated by the following shell output:" +msgstr "" + +#: ../../howto/logging-cookbook.rst:1222 +msgid "Imparting contextual information in handlers" +msgstr "" + +#: ../../howto/logging-cookbook.rst:1224 +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 " +"handlers, you can use a filter that returns a new :class:`~LogRecord` " +"instead of modifying it in-place, as shown in the following script::" +msgstr "" + +#: ../../howto/logging-cookbook.rst:1251 msgid "Logging to a single file from multiple processes" msgstr "" -#: ../../howto/logging-cookbook.rst:711 +#: ../../howto/logging-cookbook.rst:1253 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 " @@ -422,7 +751,7 @@ msgid "" "you to adapt in your own applications." msgstr "" -#: ../../howto/logging-cookbook.rst:724 +#: ../../howto/logging-cookbook.rst:1266 msgid "" "You could also write your own handler which uses the :class:" "`~multiprocessing.Lock` class from the :mod:`multiprocessing` module to " @@ -433,7 +762,7 @@ msgid "" "platforms (see https://bugs.python.org/issue3770)." msgstr "" -#: ../../howto/logging-cookbook.rst:734 +#: ../../howto/logging-cookbook.rst:1276 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 " @@ -448,13 +777,13 @@ msgid "" "requirements::" msgstr "" -#: ../../howto/logging-cookbook.rst:850 +#: ../../howto/logging-cookbook.rst:1392 msgid "" "A variant of the above script keeps the logging in the main process, in a " "separate thread::" msgstr "" -#: ../../howto/logging-cookbook.rst:945 +#: ../../howto/logging-cookbook.rst:1487 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 " @@ -464,34 +793,50 @@ msgid "" "appropriate destinations." msgstr "" -#: ../../howto/logging-cookbook.rst:952 +#: ../../howto/logging-cookbook.rst:1494 msgid "Using concurrent.futures.ProcessPoolExecutor" msgstr "" -#: ../../howto/logging-cookbook.rst:954 +#: ../../howto/logging-cookbook.rst:1496 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:962 +#: ../../howto/logging-cookbook.rst:1504 msgid "you should use" msgstr "" -#: ../../howto/logging-cookbook.rst:968 +#: ../../howto/logging-cookbook.rst:1510 msgid "and you can then replace the worker creation from this::" msgstr "" -#: ../../howto/logging-cookbook.rst:979 +#: ../../howto/logging-cookbook.rst:1521 msgid "to this (remembering to first import :mod:`concurrent.futures`)::" msgstr "" -#: ../../howto/logging-cookbook.rst:987 +#: ../../howto/logging-cookbook.rst:1528 +msgid "Deploying Web applications using Gunicorn and uWSGI" +msgstr "" + +#: ../../howto/logging-cookbook.rst:1530 +msgid "" +"When deploying Web applications using `Gunicorn `_ or " +"`uWSGI `_ (or similar), " +"multiple worker processes are created to handle client requests. In such " +"environments, avoid creating file-based handlers directly in your web " +"application. Instead, use a :class:`SocketHandler` to log from the web " +"application to a listener in a separate process. This can be set up using a " +"process management tool such as Supervisor - see `Running a logging socket " +"listener in production`_ for more details." +msgstr "" + +#: ../../howto/logging-cookbook.rst:1540 msgid "Using file rotation" msgstr "" -#: ../../howto/logging-cookbook.rst:992 +#: ../../howto/logging-cookbook.rst:1545 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, " @@ -501,13 +846,13 @@ msgid "" "RotatingFileHandler`::" msgstr "" -#: ../../howto/logging-cookbook.rst:1024 +#: ../../howto/logging-cookbook.rst:1577 msgid "" "The result should be 6 separate files, each with part of the log history for " "the application:" msgstr "" -#: ../../howto/logging-cookbook.rst:1036 +#: ../../howto/logging-cookbook.rst:1589 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 " @@ -515,17 +860,17 @@ msgid "" "(``.1`` becomes ``.2``, etc.) and the ``.6`` file is erased." msgstr "" -#: ../../howto/logging-cookbook.rst:1041 +#: ../../howto/logging-cookbook.rst:1594 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:1047 +#: ../../howto/logging-cookbook.rst:1600 msgid "Use of alternative formatting styles" msgstr "" -#: ../../howto/logging-cookbook.rst:1049 +#: ../../howto/logging-cookbook.rst:1602 msgid "" "When logging was added to the Python standard library, the only way of " "formatting messages with variable content was to use the %-formatting " @@ -534,7 +879,7 @@ msgid "" "Python 2.6)." msgstr "" -#: ../../howto/logging-cookbook.rst:1055 +#: ../../howto/logging-cookbook.rst:1608 msgid "" "Logging (as of 3.2) provides improved support for these two additional " "formatting styles. The :class:`Formatter` class been enhanced to take an " @@ -547,14 +892,14 @@ msgid "" "session to show the possibilities:" msgstr "" -#: ../../howto/logging-cookbook.rst:1089 +#: ../../howto/logging-cookbook.rst:1642 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:1097 +#: ../../howto/logging-cookbook.rst:1650 msgid "" "Logging calls (``logger.debug()``, ``logger.info()`` etc.) only take " "positional parameters for the actual logging message itself, with keyword " @@ -570,7 +915,7 @@ msgid "" "strings." msgstr "" -#: ../../howto/logging-cookbook.rst:1110 +#: ../../howto/logging-cookbook.rst:1663 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 " @@ -579,7 +924,7 @@ msgid "" "the following two classes::" msgstr "" -#: ../../howto/logging-cookbook.rst:1134 +#: ../../howto/logging-cookbook.rst:1687 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 " @@ -590,21 +935,21 @@ msgid "" "used as a synonym/alias for :func:`gettext.gettext` or its brethren)." msgstr "" -#: ../../howto/logging-cookbook.rst:1142 +#: ../../howto/logging-cookbook.rst:1695 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:1164 +#: ../../howto/logging-cookbook.rst:1717 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:1168 +#: ../../howto/logging-cookbook.rst:1721 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 " @@ -615,23 +960,23 @@ msgid "" "sugar for a constructor call to one of the XXXMessage classes." msgstr "" -#: ../../howto/logging-cookbook.rst:1176 +#: ../../howto/logging-cookbook.rst:1729 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:1207 +#: ../../howto/logging-cookbook.rst:1760 msgid "" "The above script should log the message ``Hello, world!`` when run with " "Python 3.2 or later." msgstr "" -#: ../../howto/logging-cookbook.rst:1216 +#: ../../howto/logging-cookbook.rst:1769 msgid "Customizing ``LogRecord``" msgstr "Personalizando o ``LogRecord``" -#: ../../howto/logging-cookbook.rst:1218 +#: ../../howto/logging-cookbook.rst:1771 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:" @@ -642,13 +987,13 @@ msgid "" "was done:" msgstr "" -#: ../../howto/logging-cookbook.rst:1225 +#: ../../howto/logging-cookbook.rst:1778 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:1228 +#: ../../howto/logging-cookbook.rst:1781 msgid "" ":func:`makeLogRecord`, which is called with a dictionary containing " "attributes to be added to the LogRecord. This is typically invoked when a " @@ -657,27 +1002,27 @@ msgid "" "`~handlers.HTTPHandler`)." msgstr "" -#: ../../howto/logging-cookbook.rst:1234 +#: ../../howto/logging-cookbook.rst:1787 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." msgstr "" -#: ../../howto/logging-cookbook.rst:1237 +#: ../../howto/logging-cookbook.rst:1790 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." msgstr "" -#: ../../howto/logging-cookbook.rst:1240 +#: ../../howto/logging-cookbook.rst:1793 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:1244 +#: ../../howto/logging-cookbook.rst:1797 msgid "" "The first approach would be a little unwieldy in the scenario where (say) " "several different libraries wanted to do different things. Each would " @@ -685,7 +1030,7 @@ msgid "" "last would win." msgstr "" -#: ../../howto/logging-cookbook.rst:1249 +#: ../../howto/logging-cookbook.rst:1802 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 " @@ -694,7 +1039,7 @@ msgid "" "would do simply by adding new packages or modules and doing ::" msgstr "" -#: ../../howto/logging-cookbook.rst:1257 +#: ../../howto/logging-cookbook.rst:1810 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` " @@ -704,7 +1049,7 @@ msgid "" "developer." msgstr "" -#: ../../howto/logging-cookbook.rst:1263 +#: ../../howto/logging-cookbook.rst:1816 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 " @@ -714,7 +1059,7 @@ msgid "" "`LogRecord` is the default setting for the factory." msgstr "" -#: ../../howto/logging-cookbook.rst:1270 +#: ../../howto/logging-cookbook.rst:1823 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 " @@ -722,7 +1067,7 @@ msgid "" "this::" msgstr "" -#: ../../howto/logging-cookbook.rst:1283 +#: ../../howto/logging-cookbook.rst:1836 msgid "" "This pattern allows different libraries to chain factories together, and as " "long as they don't overwrite each other's attributes or unintentionally " @@ -732,70 +1077,70 @@ msgid "" "used when the use of a :class:`Filter` does not provide the desired result." msgstr "" -#: ../../howto/logging-cookbook.rst:1294 +#: ../../howto/logging-cookbook.rst:1847 msgid "Subclassing QueueHandler - a ZeroMQ example" msgstr "" -#: ../../howto/logging-cookbook.rst:1296 +#: ../../howto/logging-cookbook.rst:1849 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:1315 +#: ../../howto/logging-cookbook.rst:1868 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:1333 +#: ../../howto/logging-cookbook.rst:1886 msgid "Subclassing QueueListener - a ZeroMQ example" msgstr "" -#: ../../howto/logging-cookbook.rst:1335 +#: ../../howto/logging-cookbook.rst:1888 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:1354 +#: ../../howto/logging-cookbook.rst:1907 ../../howto/logging-cookbook.rst:3951 msgid "Module :mod:`logging`" msgstr "Módulo :mod:`logging`" -#: ../../howto/logging-cookbook.rst:1354 +#: ../../howto/logging-cookbook.rst:1907 ../../howto/logging-cookbook.rst:3951 msgid "API reference for the logging module." msgstr "Referência da API para o módulo de logging." -#: ../../howto/logging-cookbook.rst:1357 +#: ../../howto/logging-cookbook.rst:1910 ../../howto/logging-cookbook.rst:3954 msgid "Module :mod:`logging.config`" msgstr "Módulo :mod:`logging.config`" -#: ../../howto/logging-cookbook.rst:1357 +#: ../../howto/logging-cookbook.rst:1910 ../../howto/logging-cookbook.rst:3954 msgid "Configuration API for the logging module." msgstr "API de configuração para o módulo logging." -#: ../../howto/logging-cookbook.rst:1360 +#: ../../howto/logging-cookbook.rst:1913 ../../howto/logging-cookbook.rst:3957 msgid "Module :mod:`logging.handlers`" msgstr "Módulo :mod:`logging.handlers`" -#: ../../howto/logging-cookbook.rst:1360 +#: ../../howto/logging-cookbook.rst:1913 ../../howto/logging-cookbook.rst:3957 msgid "Useful handlers included with the logging module." -msgstr "" +msgstr "Tratadores úteis incluídos no módulo logging." -#: ../../howto/logging-cookbook.rst:1362 +#: ../../howto/logging-cookbook.rst:1915 msgid ":ref:`A basic logging tutorial `" msgstr ":ref:`A basic logging tutorial `" -#: ../../howto/logging-cookbook.rst:1364 +#: ../../howto/logging-cookbook.rst:1917 msgid ":ref:`A more advanced logging tutorial `" msgstr ":ref:`A more advanced logging tutorial `" -#: ../../howto/logging-cookbook.rst:1368 +#: ../../howto/logging-cookbook.rst:1921 msgid "An example dictionary-based configuration" msgstr "" -#: ../../howto/logging-cookbook.rst:1370 +#: ../../howto/logging-cookbook.rst:1923 msgid "" "Below is an example of a logging configuration dictionary - it's taken from " "the `documentation on the Django project `_ of the Django documentation." msgstr "" -#: ../../howto/logging-cookbook.rst:1433 +#: ../../howto/logging-cookbook.rst:1986 msgid "Using a rotator and namer to customize log rotation processing" msgstr "" -#: ../../howto/logging-cookbook.rst:1435 +#: ../../howto/logging-cookbook.rst:1988 msgid "" "An example of how you can define a namer and rotator is given in the " -"following snippet, which shows zlib-based compression of the log file::" +"following runnable script, which shows gzip compression of the log file::" msgstr "" -#: ../../howto/logging-cookbook.rst:1453 +#: ../../howto/logging-cookbook.rst:2019 msgid "" -"These are not \"true\" .gz files, as they are bare compressed data, with no " -"\"container\" such as you’d find in an actual gzip file. This snippet is " -"just for illustration purposes." +"After running this, you will see six new files, five of which are compressed:" msgstr "" -#: ../../howto/logging-cookbook.rst:1458 +#: ../../howto/logging-cookbook.rst:2032 msgid "A more elaborate multiprocessing example" msgstr "" -#: ../../howto/logging-cookbook.rst:1460 +#: ../../howto/logging-cookbook.rst:2034 msgid "" "The following working example shows how logging can be used with " "multiprocessing using configuration files. The configurations are fairly " @@ -839,7 +1182,7 @@ msgid "" "in a real multiprocessing scenario." msgstr "" -#: ../../howto/logging-cookbook.rst:1465 +#: ../../howto/logging-cookbook.rst:2039 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 " @@ -852,17 +1195,17 @@ msgid "" "own scenario." msgstr "" -#: ../../howto/logging-cookbook.rst:1475 +#: ../../howto/logging-cookbook.rst:2049 msgid "" "Here's the script - the docstrings and the comments hopefully explain how it " "works::" msgstr "" -#: ../../howto/logging-cookbook.rst:1687 +#: ../../howto/logging-cookbook.rst:2261 msgid "Inserting a BOM into messages sent to a SysLogHandler" msgstr "" -#: ../../howto/logging-cookbook.rst:1689 +#: ../../howto/logging-cookbook.rst:2263 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 " @@ -871,7 +1214,7 @@ msgid "" "<5424#section-6>`.)" msgstr "" -#: ../../howto/logging-cookbook.rst:1695 +#: ../../howto/logging-cookbook.rst:2269 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 " @@ -879,7 +1222,7 @@ msgid "" "hence not allowing any pure-ASCII component to appear before it." msgstr "" -#: ../../howto/logging-cookbook.rst:1701 +#: ../../howto/logging-cookbook.rst:2275 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 " @@ -888,33 +1231,33 @@ msgid "" "encoded using UTF-8, then you need to do the following:" msgstr "" -#: ../../howto/logging-cookbook.rst:1707 +#: ../../howto/logging-cookbook.rst:2281 msgid "" "Attach a :class:`~logging.Formatter` instance to your :class:`~logging." "handlers.SysLogHandler` instance, with a format string such as::" msgstr "" -#: ../../howto/logging-cookbook.rst:1713 +#: ../../howto/logging-cookbook.rst:2287 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:1716 +#: ../../howto/logging-cookbook.rst:2290 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:1720 +#: ../../howto/logging-cookbook.rst:2294 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:1724 +#: ../../howto/logging-cookbook.rst:2298 msgid "" "The formatted message *will* be encoded using UTF-8 encoding by " "``SysLogHandler``. If you follow the above rules, you should be able to " @@ -923,11 +1266,11 @@ msgid "" "daemon may complain." msgstr "" -#: ../../howto/logging-cookbook.rst:1731 +#: ../../howto/logging-cookbook.rst:2305 msgid "Implementing structured logging" msgstr "" -#: ../../howto/logging-cookbook.rst:1733 +#: ../../howto/logging-cookbook.rst:2307 msgid "" "Although most logging messages are intended for reading by humans, and thus " "not readily machine-parseable, there might be circumstances where you want " @@ -939,31 +1282,31 @@ msgid "" "machine-parseable manner::" msgstr "" -#: ../../howto/logging-cookbook.rst:1757 +#: ../../howto/logging-cookbook.rst:2331 msgid "If the above script is run, it prints:" msgstr "" -#: ../../howto/logging-cookbook.rst:1763 ../../howto/logging-cookbook.rst:1812 +#: ../../howto/logging-cookbook.rst:2337 ../../howto/logging-cookbook.rst:2379 msgid "" "Note that the order of items might be different according to the version of " "Python used." msgstr "" -#: ../../howto/logging-cookbook.rst:1766 +#: ../../howto/logging-cookbook.rst:2340 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:1806 +#: ../../howto/logging-cookbook.rst:2373 msgid "When the above script is run, it prints:" msgstr "" -#: ../../howto/logging-cookbook.rst:1821 +#: ../../howto/logging-cookbook.rst:2388 msgid "Customizing handlers with :func:`dictConfig`" msgstr "" -#: ../../howto/logging-cookbook.rst:1823 +#: ../../howto/logging-cookbook.rst:2390 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 " @@ -973,24 +1316,24 @@ msgid "" "customize handler creation using a plain function such as::" msgstr "" -#: ../../howto/logging-cookbook.rst:1837 +#: ../../howto/logging-cookbook.rst:2404 msgid "" "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:1870 +#: ../../howto/logging-cookbook.rst:2437 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:1917 +#: ../../howto/logging-cookbook.rst:2484 msgid "To run this, you will probably need to run as ``root``:" msgstr "" -#: ../../howto/logging-cookbook.rst:1927 +#: ../../howto/logging-cookbook.rst:2494 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 " @@ -999,17 +1342,17 @@ msgid "" "change using e.g. :func:`os.chown`." msgstr "" -#: ../../howto/logging-cookbook.rst:1933 +#: ../../howto/logging-cookbook.rst:2500 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:1938 +#: ../../howto/logging-cookbook.rst:2505 msgid "you could use e.g.::" msgstr "" -#: ../../howto/logging-cookbook.rst:1942 +#: ../../howto/logging-cookbook.rst:2509 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://" @@ -1017,25 +1360,25 @@ msgid "" "resolved by :func:`dictConfig` from the ``ext://`` specification." msgstr "" -#: ../../howto/logging-cookbook.rst:1947 +#: ../../howto/logging-cookbook.rst:2514 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:1951 +#: ../../howto/logging-cookbook.rst:2518 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:1961 +#: ../../howto/logging-cookbook.rst:2528 msgid "Using particular formatting styles throughout your application" msgstr "" -#: ../../howto/logging-cookbook.rst:1963 +#: ../../howto/logging-cookbook.rst:2530 msgid "" "In Python 3.2, the :class:`~logging.Formatter` gained a ``style`` keyword " "parameter which, while defaulting to ``%`` for backward compatibility, " @@ -1046,7 +1389,7 @@ msgid "" "is constructed." msgstr "" -#: ../../howto/logging-cookbook.rst:1970 +#: ../../howto/logging-cookbook.rst:2537 msgid "" "Logging calls (:meth:`~Logger.debug`, :meth:`~Logger.info` etc.) only take " "positional parameters for the actual logging message itself, with keyword " @@ -1056,12 +1399,12 @@ msgid "" "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 no " +"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:1982 +#: ../../howto/logging-cookbook.rst:2549 msgid "" "There have been suggestions to associate format styles with specific " "loggers, but that approach also runs into backward compatibility problems " @@ -1069,7 +1412,7 @@ msgid "" "formatting." msgstr "" -#: ../../howto/logging-cookbook.rst:1986 +#: ../../howto/logging-cookbook.rst:2553 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 " @@ -1077,11 +1420,11 @@ msgid "" "formatting styles can be accommodated." msgstr "" -#: ../../howto/logging-cookbook.rst:1993 +#: ../../howto/logging-cookbook.rst:2560 msgid "Using LogRecord factories" msgstr "" -#: ../../howto/logging-cookbook.rst:1995 +#: ../../howto/logging-cookbook.rst:2562 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 " @@ -1096,17 +1439,17 @@ msgid "" "implementation does." msgstr "" -#: ../../howto/logging-cookbook.rst:2006 +#: ../../howto/logging-cookbook.rst:2573 msgid "" "Refer to the reference documentation on :func:`setLogRecordFactory` and :" "class:`LogRecord` for more information." msgstr "" -#: ../../howto/logging-cookbook.rst:2011 +#: ../../howto/logging-cookbook.rst:2578 msgid "Using custom message objects" msgstr "" -#: ../../howto/logging-cookbook.rst:2013 +#: ../../howto/logging-cookbook.rst:2580 msgid "" "There is another, perhaps simpler way that you can use {}- and $- formatting " "to construct your individual log messages. You may recall (from :ref:" @@ -1116,7 +1459,7 @@ msgid "" "following two classes::" msgstr "" -#: ../../howto/logging-cookbook.rst:2038 +#: ../../howto/logging-cookbook.rst:2605 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 " @@ -1127,17 +1470,17 @@ msgid "" "using ``_`` for localization)." msgstr "" -#: ../../howto/logging-cookbook.rst:2046 +#: ../../howto/logging-cookbook.rst:2613 msgid "" "Examples of this approach are given below. Firstly, formatting with :meth:" "`str.format`::" msgstr "" -#: ../../howto/logging-cookbook.rst:2060 +#: ../../howto/logging-cookbook.rst:2627 msgid "Secondly, formatting with :class:`string.Template`::" msgstr "" -#: ../../howto/logging-cookbook.rst:2067 +#: ../../howto/logging-cookbook.rst:2634 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 " @@ -1149,11 +1492,11 @@ msgid "" "above." msgstr "" -#: ../../howto/logging-cookbook.rst:2081 +#: ../../howto/logging-cookbook.rst:2648 msgid "Configuring filters with :func:`dictConfig`" msgstr "" -#: ../../howto/logging-cookbook.rst:2083 +#: ../../howto/logging-cookbook.rst:2650 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). " @@ -1168,22 +1511,22 @@ msgid "" "complete example::" msgstr "" -#: ../../howto/logging-cookbook.rst:2136 +#: ../../howto/logging-cookbook.rst:2703 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:2144 +#: ../../howto/logging-cookbook.rst:2711 msgid "which shows that the filter is working as configured." msgstr "" -#: ../../howto/logging-cookbook.rst:2146 +#: ../../howto/logging-cookbook.rst:2713 msgid "A couple of extra points to note:" msgstr "" -#: ../../howto/logging-cookbook.rst:2148 +#: ../../howto/logging-cookbook.rst:2715 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 " @@ -1193,7 +1536,7 @@ msgid "" "the above example." msgstr "" -#: ../../howto/logging-cookbook.rst:2155 +#: ../../howto/logging-cookbook.rst:2722 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 " @@ -1202,11 +1545,11 @@ msgid "" "above." msgstr "" -#: ../../howto/logging-cookbook.rst:2164 +#: ../../howto/logging-cookbook.rst:2731 msgid "Customized exception formatting" msgstr "" -#: ../../howto/logging-cookbook.rst:2166 +#: ../../howto/logging-cookbook.rst:2733 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, " @@ -1214,22 +1557,22 @@ msgid "" "formatter class, as shown in the following example::" msgstr "" -#: ../../howto/logging-cookbook.rst:2207 +#: ../../howto/logging-cookbook.rst:2774 msgid "When run, this produces a file with exactly two lines:" msgstr "" -#: ../../howto/logging-cookbook.rst:2214 +#: ../../howto/logging-cookbook.rst:2781 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:2221 +#: ../../howto/logging-cookbook.rst:2788 msgid "Speaking logging messages" msgstr "" -#: ../../howto/logging-cookbook.rst:2223 +#: ../../howto/logging-cookbook.rst:2790 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 " @@ -1246,24 +1589,24 @@ msgid "" "approach, which assumes that the ``espeak`` TTS package is available::" msgstr "" -#: ../../howto/logging-cookbook.rst:2265 +#: ../../howto/logging-cookbook.rst:2832 msgid "" "When run, this script should say \"Hello\" and then \"Goodbye\" in a female " "voice." msgstr "" -#: ../../howto/logging-cookbook.rst:2267 +#: ../../howto/logging-cookbook.rst:2834 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:2275 +#: ../../howto/logging-cookbook.rst:2842 msgid "Buffering logging messages and outputting them conditionally" msgstr "" -#: ../../howto/logging-cookbook.rst:2277 +#: ../../howto/logging-cookbook.rst:2844 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 " @@ -1273,7 +1616,7 @@ msgid "" "debug information to be output as well as the error." msgstr "" -#: ../../howto/logging-cookbook.rst:2284 +#: ../../howto/logging-cookbook.rst:2851 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 " @@ -1286,7 +1629,7 @@ msgid "" "subclass of ``MemoryHandler`` if you want custom flushing behavior." msgstr "" -#: ../../howto/logging-cookbook.rst:2294 +#: ../../howto/logging-cookbook.rst:2861 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 " @@ -1295,7 +1638,7 @@ msgid "" "levels - otherwise, it only logs at DEBUG, INFO and WARNING levels." msgstr "" -#: ../../howto/logging-cookbook.rst:2300 +#: ../../howto/logging-cookbook.rst:2867 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 " @@ -1307,36 +1650,59 @@ msgid "" "respectively." msgstr "" -#: ../../howto/logging-cookbook.rst:2308 +#: ../../howto/logging-cookbook.rst:2875 msgid "Here's the script::" msgstr "" -#: ../../howto/logging-cookbook.rst:2371 +#: ../../howto/logging-cookbook.rst:2938 msgid "When this script is run, the following output should be observed:" msgstr "" -#: ../../howto/logging-cookbook.rst:2401 +#: ../../howto/logging-cookbook.rst:2968 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:2405 +#: ../../howto/logging-cookbook.rst:2972 msgid "You can of course use the conventional means of decoration::" msgstr "" -#: ../../howto/logging-cookbook.rst:2415 +#: ../../howto/logging-cookbook.rst:2982 +msgid "Sending logging messages to email, with buffering" +msgstr "" + +#: ../../howto/logging-cookbook.rst:2984 +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.)" +msgstr "" + +#: ../../howto/logging-cookbook.rst:3056 +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 " +"emails will each have ten log messages, and the eleventh will have two " +"messages. That makes up 102 messages as specified in the script." +msgstr "" + +#: ../../howto/logging-cookbook.rst:3064 msgid "Formatting times using UTC (GMT) via configuration" msgstr "" -#: ../../howto/logging-cookbook.rst:2417 +#: ../../howto/logging-cookbook.rst:3066 msgid "" "Sometimes you want to format times using UTC, which can be done using a " -"class such as `UTCFormatter`, shown below::" +"class such as ``UTCFormatter``, shown below::" msgstr "" -#: ../../howto/logging-cookbook.rst:2426 +#: ../../howto/logging-cookbook.rst:3075 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 " @@ -1344,21 +1710,21 @@ msgid "" "the following complete example::" msgstr "" -#: ../../howto/logging-cookbook.rst:2469 +#: ../../howto/logging-cookbook.rst:3118 msgid "When this script is run, it should print something like:" msgstr "" -#: ../../howto/logging-cookbook.rst:2476 +#: ../../howto/logging-cookbook.rst:3125 msgid "" "showing how the time is formatted both as local time and UTC, one for each " "handler." msgstr "" -#: ../../howto/logging-cookbook.rst:2483 +#: ../../howto/logging-cookbook.rst:3132 msgid "Using a context manager for selective logging" msgstr "" -#: ../../howto/logging-cookbook.rst:2485 +#: ../../howto/logging-cookbook.rst:3134 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 " @@ -1368,7 +1734,7 @@ msgid "" "scope of the context manager::" msgstr "" -#: ../../howto/logging-cookbook.rst:2518 +#: ../../howto/logging-cookbook.rst:3167 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 " @@ -1377,13 +1743,13 @@ msgid "" "block exit - you could do this if you don't need the handler any more." msgstr "" -#: ../../howto/logging-cookbook.rst:2524 +#: ../../howto/logging-cookbook.rst:3173 msgid "" "To illustrate how it works, we can add the following block of code to the " "above::" msgstr "" -#: ../../howto/logging-cookbook.rst:2542 +#: ../../howto/logging-cookbook.rst:3191 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 " @@ -1396,56 +1762,56 @@ msgid "" "(like message #1) whereas message #7 doesn't (just like message #2)." msgstr "" -#: ../../howto/logging-cookbook.rst:2552 +#: ../../howto/logging-cookbook.rst:3201 msgid "If we run the resulting script, the result is as follows:" msgstr "" -#: ../../howto/logging-cookbook.rst:2563 +#: ../../howto/logging-cookbook.rst:3212 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:2571 +#: ../../howto/logging-cookbook.rst:3220 msgid "Once again, but piping ``stdout`` to ``/dev/null``, we get:" msgstr "" -#: ../../howto/logging-cookbook.rst:2581 +#: ../../howto/logging-cookbook.rst:3230 msgid "" "In this case, the message #5 printed to ``stdout`` doesn't appear, as " "expected." msgstr "" -#: ../../howto/logging-cookbook.rst:2583 +#: ../../howto/logging-cookbook.rst:3232 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:2591 +#: ../../howto/logging-cookbook.rst:3240 msgid "A CLI application starter template" msgstr "" -#: ../../howto/logging-cookbook.rst:2593 +#: ../../howto/logging-cookbook.rst:3242 msgid "Here's an example which shows how you can:" msgstr "" -#: ../../howto/logging-cookbook.rst:2595 +#: ../../howto/logging-cookbook.rst:3244 msgid "Use a logging level based on command-line arguments" msgstr "" -#: ../../howto/logging-cookbook.rst:2596 +#: ../../howto/logging-cookbook.rst:3245 msgid "" "Dispatch to multiple subcommands in separate files, all logging at the same " "level in a consistent way" msgstr "" -#: ../../howto/logging-cookbook.rst:2598 +#: ../../howto/logging-cookbook.rst:3247 msgid "Make use of simple, minimal configuration" msgstr "" -#: ../../howto/logging-cookbook.rst:2600 +#: ../../howto/logging-cookbook.rst:3249 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 " @@ -1456,53 +1822,53 @@ msgid "" "``logging.INFO``. Here's one way that ``app.py`` could be written::" msgstr "" -#: ../../howto/logging-cookbook.rst:2649 +#: ../../howto/logging-cookbook.rst:3298 msgid "" "And the ``start``, ``stop`` and ``restart`` commands can be implemented in " "separate modules, like so for starting::" msgstr "" -#: ../../howto/logging-cookbook.rst:2662 +#: ../../howto/logging-cookbook.rst:3311 msgid "and thus for stopping::" msgstr "" -#: ../../howto/logging-cookbook.rst:2683 +#: ../../howto/logging-cookbook.rst:3332 msgid "and similarly for restarting::" msgstr "" -#: ../../howto/logging-cookbook.rst:2704 +#: ../../howto/logging-cookbook.rst:3353 msgid "" "If we run this application with the default log level, we get output like " "this:" msgstr "" -#: ../../howto/logging-cookbook.rst:2717 +#: ../../howto/logging-cookbook.rst:3366 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:2720 +#: ../../howto/logging-cookbook.rst:3369 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:2737 +#: ../../howto/logging-cookbook.rst:3386 msgid "And if we want less:" msgstr "" -#: ../../howto/logging-cookbook.rst:2745 +#: ../../howto/logging-cookbook.rst:3394 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:2751 +#: ../../howto/logging-cookbook.rst:3400 msgid "A Qt GUI for logging" msgstr "" -#: ../../howto/logging-cookbook.rst:2753 +#: ../../howto/logging-cookbook.rst:3402 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-" @@ -1510,7 +1876,7 @@ msgid "" "project/PySide2/>`_ or `PyQt5 `_ libraries." msgstr "" -#: ../../howto/logging-cookbook.rst:2759 +#: ../../howto/logging-cookbook.rst:3408 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 " @@ -1520,14 +1886,14 @@ msgid "" "logging messages at random levels with random short delays in between)." msgstr "" -#: ../../howto/logging-cookbook.rst:2766 +#: ../../howto/logging-cookbook.rst:3415 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:2770 +#: ../../howto/logging-cookbook.rst:3419 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 " @@ -1535,11 +1901,105 @@ msgid "" "information." msgstr "" -#: ../../howto/logging-cookbook.rst:2987 +#: ../../howto/logging-cookbook.rst:3633 +msgid "Logging to syslog with RFC5424 support" +msgstr "" + +#: ../../howto/logging-cookbook.rst:3635 +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." +msgstr "" + +#: ../../howto/logging-cookbook.rst:3642 +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 +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 " +"structural data to the log). Nevertheless, the above should be adaptable to " +"your speciric needs. With the above handler, you'd pass structured data " +"using something like this::" +msgstr "" + +#: ../../howto/logging-cookbook.rst:3722 +msgid "How to treat a logger like an output stream" +msgstr "" + +#: ../../howto/logging-cookbook.rst:3724 +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 " +"logger. You can do this using a class which wraps a logger with a file-like " +"API. Here's a short script illustrating such a class:" +msgstr "" + +#: ../../howto/logging-cookbook.rst:3764 +msgid "When this script is run, it prints" +msgstr "" + +#: ../../howto/logging-cookbook.rst:3771 +msgid "" +"You could also use ``LoggerWriter`` to redirect ``sys.stdout`` and ``sys." +"stderr`` by doing something like this:" +msgstr "" + +#: ../../howto/logging-cookbook.rst:3781 +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:" +msgstr "" + +#: ../../howto/logging-cookbook.rst:3794 +msgid "" +"Of course, these above examples 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 +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 +msgid "then running the script results in" +msgstr "" + +#: ../../howto/logging-cookbook.rst:3825 +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 " +"in a separate logged line (for example, the last three lines above). To get " +"around this problem, you need to buffer things and only output log lines " +"when newlines are seen. Let's use a slghtly better implementation of " +"``LoggerWriter``:" +msgstr "" + +#: ../../howto/logging-cookbook.rst:3850 +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 msgid "Patterns to avoid" msgstr "" -#: ../../howto/logging-cookbook.rst:2989 +#: ../../howto/logging-cookbook.rst:3868 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 " @@ -1547,11 +2007,11 @@ msgid "" "The following sections are in no particular order." msgstr "" -#: ../../howto/logging-cookbook.rst:2996 +#: ../../howto/logging-cookbook.rst:3875 msgid "Opening the same log file multiple times" msgstr "" -#: ../../howto/logging-cookbook.rst:2998 +#: ../../howto/logging-cookbook.rst:3877 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. " @@ -1559,32 +2019,32 @@ msgid "" "file multiple times. This could be done accidentally, for example by:" msgstr "" -#: ../../howto/logging-cookbook.rst:3003 +#: ../../howto/logging-cookbook.rst:3882 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:3006 +#: ../../howto/logging-cookbook.rst:3885 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:3009 +#: ../../howto/logging-cookbook.rst:3888 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:3013 +#: ../../howto/logging-cookbook.rst:3892 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:3016 +#: ../../howto/logging-cookbook.rst:3895 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 " @@ -1593,25 +2053,27 @@ msgid "" "different handler instances which happen to point to the same file." msgstr "" -#: ../../howto/logging-cookbook.rst:3022 +#: ../../howto/logging-cookbook.rst:3901 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 " "confusion and wasted debugging time - log entries end up in unexpected " -"places, or are lost altogether." +"places, or are lost altogether. Or a file that was supposed to be moved " +"remains in place, and grows in size unexpectedly despite size-based rotation " +"being supposedly in place." msgstr "" -#: ../../howto/logging-cookbook.rst:3027 +#: ../../howto/logging-cookbook.rst:3908 msgid "" "Use the techniques outlined in :ref:`multiple-processes` to circumvent such " "issues." msgstr "" -#: ../../howto/logging-cookbook.rst:3031 +#: ../../howto/logging-cookbook.rst:3912 msgid "Using loggers as attributes in a class or passing them as parameters" msgstr "" -#: ../../howto/logging-cookbook.rst:3033 +#: ../../howto/logging-cookbook.rst:3914 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 " @@ -1622,12 +2084,12 @@ msgid "" "module (and not the class) is the unit of software decomposition." msgstr "" -#: ../../howto/logging-cookbook.rst:3043 +#: ../../howto/logging-cookbook.rst:3924 msgid "" "Adding handlers other than :class:`NullHandler` to a logger in a library" msgstr "" -#: ../../howto/logging-cookbook.rst:3045 +#: ../../howto/logging-cookbook.rst:3926 msgid "" "Configuring logging by adding handlers, formatters and filters is the " "responsibility of the application developer, not the library developer. If " @@ -1635,11 +2097,11 @@ msgid "" "your loggers other than a :class:`~logging.NullHandler` instance." msgstr "" -#: ../../howto/logging-cookbook.rst:3052 +#: ../../howto/logging-cookbook.rst:3933 msgid "Creating a lot of loggers" msgstr "" -#: ../../howto/logging-cookbook.rst:3054 +#: ../../howto/logging-cookbook.rst:3935 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. " @@ -1649,3 +2111,15 @@ msgid "" "those describing areas within your application (generally modules, but " "occasionally slightly more fine-grained than that)." msgstr "" + +#: ../../howto/logging-cookbook.rst:3946 +msgid "Other resources" +msgstr "Outros recursos" + +#: ../../howto/logging-cookbook.rst:3959 +msgid ":ref:`Basic Tutorial `" +msgstr ":ref:`Tutorial básico `" + +#: ../../howto/logging-cookbook.rst:3961 +msgid ":ref:`Advanced Tutorial `" +msgstr ":ref:`Tutorial avançado `" diff --git a/howto/logging.po b/howto/logging.po index 57827159c..c24f9a308 100644 --- a/howto/logging.po +++ b/howto/logging.po @@ -1,38 +1,31 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, Python Software 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 # #, 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 00:53+0000\n" -"Last-Translator: i17obot , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2026-03-05 18:13+0000\n" +"PO-Revision-Date: 2025-09-22 15:57+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"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" @@ -57,12 +50,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" @@ -83,7 +76,7 @@ msgstr "" #: ../../howto/logging.rst:31 msgid "Task you want to perform" -msgstr "Tarefa que você quer performar" +msgstr "Tarefa que você deseja executar" #: ../../howto/logging.rst:31 msgid "The best tool for the task" @@ -93,8 +86,8 @@ msgstr "A melhor ferramenta para a tarefa" 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 msgid ":func:`print`" @@ -105,8 +98,9 @@ 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 msgid "" @@ -118,15 +112,18 @@ msgstr "" #: ../../howto/logging.rst:42 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 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 msgid "" @@ -138,19 +135,19 @@ msgstr "" #: ../../howto/logging.rst:52 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 msgid "Raise an exception" -msgstr "Levantando uma exceção" +msgstr "Levante uma exceção" #: ../../howto/logging.rst:55 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 msgid "" @@ -170,7 +167,7 @@ msgstr "" "costumam rastrear. Os níveis padrões e suas aplicações são descritas abaixo " "(em ordem crescente de severidade):" -#: ../../howto/logging.rst:69 ../../howto/logging.rst:854 +#: ../../howto/logging.rst:69 ../../howto/logging.rst:855 msgid "Level" msgstr "Nível" @@ -178,7 +175,7 @@ msgstr "Nível" msgid "When it's used" msgstr "Quando é usado" -#: ../../howto/logging.rst:71 ../../howto/logging.rst:864 +#: ../../howto/logging.rst:71 ../../howto/logging.rst:865 msgid "``DEBUG``" msgstr "``DEBUG``" @@ -186,10 +183,10 @@ msgstr "``DEBUG``" 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:862 +#: ../../howto/logging.rst:74 ../../howto/logging.rst:863 msgid "``INFO``" msgstr "``INFO``" @@ -197,7 +194,7 @@ msgstr "``INFO``" 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:860 +#: ../../howto/logging.rst:77 ../../howto/logging.rst:861 msgid "``WARNING``" msgstr "``WARNING``" @@ -207,11 +204,11 @@ msgid "" "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:858 +#: ../../howto/logging.rst:82 ../../howto/logging.rst:859 msgid "``ERROR``" msgstr "``ERROR``" @@ -223,7 +220,7 @@ msgstr "" "Por conta de um problema mais grave, o software não conseguiu executar " "alguma função." -#: ../../howto/logging.rst:85 ../../howto/logging.rst:856 +#: ../../howto/logging.rst:85 ../../howto/logging.rst:857 msgid "``CRITICAL``" msgstr "``CRITICAL``" @@ -250,8 +247,8 @@ msgid "" "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 @@ -264,7 +261,7 @@ msgstr "Um exemplo bastante simples é::" #: ../../howto/logging.rst:109 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 msgid "" @@ -289,14 +286,14 @@ msgstr "Logging em um arquivo" #: ../../howto/logging.rst:126 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 " +"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 "" -"Um situação bem comum é gravar os eventos de logging em um arquivo, portanto " -"vamos dar um olhada nisto na sequência. Tenha certeza de tentar os seguintes " -"comandos em um novo interpretador Python, e não apenas continuar da sessão " -"que foi descrita acima::" +"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 msgid "" @@ -306,6 +303,12 @@ 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 msgid "" @@ -321,24 +324,24 @@ msgid "" "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 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 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 msgid "" @@ -346,23 +349,20 @@ msgid "" "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 msgid "" "The call to :func:`basicConfig` should come *before* any calls to :func:" -"`debug`, :func:`info` etc. 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." +"`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." msgstr "" -"A chamada a :func:`basicConfig` deve vir *antes* de qualquer chamada para :" -"func:`debug`, :func:`info` etc. Como isto pretende ser um simples " -"facilitador de configuração, apenas a primeira chamada irá realmente fazer " -"algo: As próximas chamadas não serão efetivamente operacionais." -#: ../../howto/logging.rst:186 +#: ../../howto/logging.rst:187 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 " @@ -370,25 +370,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:193 +#: ../../howto/logging.rst:194 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:198 +#: ../../howto/logging.rst:199 msgid "Logging from multiple modules" msgstr "Logging de múltiplos módulos" -#: ../../howto/logging.rst:200 +#: ../../howto/logging.rst:201 msgid "" "If your program consists of multiple modules, here's an example of how you " "could organize logging in it::" @@ -396,11 +396,11 @@ msgstr "" "Se seu programa tem múltiplos módulos, aqui está um exemplo de como você " "pode organizar o logging nele::" -#: ../../howto/logging.rst:224 +#: ../../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:232 +#: ../../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 " @@ -418,11 +418,11 @@ msgstr "" "precisará consultar a documentação além do tutorial de níveis -- veja :ref:" "`logging-advanced-tutorial`." -#: ../../howto/logging.rst:242 +#: ../../howto/logging.rst:243 msgid "Logging variable data" -msgstr "Logging dados de uma variável" +msgstr "Logging de variáveis dinâmicas" -#: ../../howto/logging.rst:244 +#: ../../howto/logging.rst:245 msgid "" "To log variable data, use a format string for the event description message " "and append the variable data as arguments. For example::" @@ -430,11 +430,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:250 +#: ../../howto/logging.rst:251 msgid "will display:" msgstr "exibirá:" -#: ../../howto/logging.rst:256 +#: ../../howto/logging.rst:257 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 " @@ -444,18 +444,17 @@ 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:265 +"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:266 msgid "Changing the format of displayed messages" msgstr "Alterar o formato das mensagens exibidas" -#: ../../howto/logging.rst:267 +#: ../../howto/logging.rst:268 msgid "" "To change the format which is used to display messages, you need to specify " "the format you want to use::" @@ -463,11 +462,11 @@ msgstr "" "Para mudar o formato usado para exibir mensagens, você precisa especificar o " "formato que quer usar::" -#: ../../howto/logging.rst:276 +#: ../../howto/logging.rst:277 msgid "which would print:" msgstr "que vai exibir:" -#: ../../howto/logging.rst:284 +#: ../../howto/logging.rst:285 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 " @@ -483,37 +482,37 @@ 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:293 +#: ../../howto/logging.rst:294 msgid "Displaying the date/time in messages" msgstr "Exibindo data/hora em mensagens" -#: ../../howto/logging.rst:295 +#: ../../howto/logging.rst:296 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:302 +#: ../../howto/logging.rst:303 msgid "which should print something like this:" msgstr "que deve exibir algo assim:" -#: ../../howto/logging.rst:308 +#: ../../howto/logging.rst:309 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::" 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:316 +#: ../../howto/logging.rst:317 msgid "which would display something like this:" msgstr "que deve exibir algo assim:" -#: ../../howto/logging.rst:322 +#: ../../howto/logging.rst:323 msgid "" "The format of the *datefmt* argument is the same as supported by :func:`time." "strftime`." @@ -521,11 +520,11 @@ msgstr "" "O formato do argumento *datefmt* é o mesmo suportado por :func:`time." "strftime`." -#: ../../howto/logging.rst:327 +#: ../../howto/logging.rst:328 msgid "Next Steps" msgstr "Próximos Passos" -#: ../../howto/logging.rst:329 +#: ../../howto/logging.rst:330 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, " @@ -539,7 +538,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:335 +#: ../../howto/logging.rst:336 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 " @@ -553,7 +552,7 @@ msgstr "" "grupo (disponível no https://groups.google.com/forum/#!forum/comp.lang." "python) e você deverá receber ajuda assim que possível." -#: ../../howto/logging.rst:341 +#: ../../howto/logging.rst:342 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 " @@ -563,23 +562,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:349 +#: ../../howto/logging.rst:350 msgid "Advanced Logging Tutorial" msgstr "Tutorial Avançado do Logging" -#: ../../howto/logging.rst:351 +#: ../../howto/logging.rst:352 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:354 +#: ../../howto/logging.rst:355 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:355 +#: ../../howto/logging.rst:356 msgid "" "Handlers send the log records (created by loggers) to the appropriate " "destination." @@ -587,7 +586,7 @@ msgstr "" "Handlers enviam os registros do evento (criados por loggers) aos destinos " "apropriados." -#: ../../howto/logging.rst:357 +#: ../../howto/logging.rst:358 msgid "" "Filters provide a finer grained facility for determining which log records " "to output." @@ -595,20 +594,20 @@ msgstr "" "Filters fornecem uma facilidade granular para determinar quais registros de " "eventos enviar à saída." -#: ../../howto/logging.rst:359 +#: ../../howto/logging.rst:360 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:361 +#: ../../howto/logging.rst:362 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:364 +#: ../../howto/logging.rst:365 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 " @@ -618,32 +617,32 @@ 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:371 +#: ../../howto/logging.rst:372 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:376 +#: ../../howto/logging.rst:377 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:379 +#: ../../howto/logging.rst:380 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`, :" @@ -651,8 +650,14 @@ msgid "" "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:385 +#: ../../howto/logging.rst:386 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 " @@ -662,8 +667,16 @@ 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:392 +#: ../../howto/logging.rst:393 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 " @@ -674,33 +687,46 @@ msgid "" "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:400 +#: ../../howto/logging.rst:401 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:406 +#: ../../howto/logging.rst:407 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:411 +#: ../../howto/logging.rst:412 msgid "Logging Flow" -msgstr "" +msgstr "Fluxo de Logging" -#: ../../howto/logging.rst:413 +#: ../../howto/logging.rst:414 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:419 +#: ../../howto/logging.rst:420 msgid "Loggers" -msgstr "" +msgstr "Registradores" -#: ../../howto/logging.rst:421 +#: ../../howto/logging.rst:422 msgid "" ":class:`Logger` objects have a threefold job. First, they expose several " "methods to application code so that applications can log messages at " @@ -709,20 +735,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:427 +#: ../../howto/logging.rst:428 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:430 +#: ../../howto/logging.rst:431 msgid "These are the most common configuration methods:" msgstr "Esses são os métodos de configuração mais comuns:" -#: ../../howto/logging.rst:432 +#: ../../howto/logging.rst:433 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 " @@ -730,33 +762,47 @@ 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:438 +#: ../../howto/logging.rst:439 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:442 +#: ../../howto/logging.rst:443 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:446 +#: ../../howto/logging.rst:447 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:449 +#: ../../howto/logging.rst:450 msgid "" "With the logger object configured, the following methods create log messages:" msgstr "" +"Com o objeto logger configurado, os seguintes métodos criam mensagens de log:" -#: ../../howto/logging.rst:451 +#: ../../howto/logging.rst:452 msgid "" ":meth:`Logger.debug`, :meth:`Logger.info`, :meth:`Logger.warning`, :meth:" "`Logger.error`, and :meth:`Logger.critical` all create log records with a " @@ -768,23 +814,40 @@ msgid "" "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:461 +#: ../../howto/logging.rst:462 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:465 +#: ../../howto/logging.rst:466 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:469 +#: ../../howto/logging.rst:470 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-" @@ -795,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:477 +#: ../../howto/logging.rst:478 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 " @@ -807,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:485 +#: ../../howto/logging.rst:486 msgid "" "Child loggers propagate messages up to the handlers associated with their " "ancestor loggers. Because of this, it is unnecessary to define and configure " @@ -817,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:496 +#: ../../howto/logging.rst:497 msgid "Handlers" -msgstr "" +msgstr "Manipuladores" -#: ../../howto/logging.rst:498 +#: ../../howto/logging.rst:499 msgid "" ":class:`~logging.Handler` objects are responsible for dispatching the " "appropriate log messages (based on the log messages' severity) to the " @@ -834,23 +920,40 @@ 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:508 +#: ../../howto/logging.rst:509 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." 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:512 +#: ../../howto/logging.rst:513 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:517 +#: ../../howto/logging.rst:518 msgid "" "The :meth:`~Handler.setLevel` method, just as in logger objects, specifies " "the lowest severity that will be dispatched to the appropriate destination. " @@ -860,31 +963,40 @@ msgid "" "on." msgstr "" -#: ../../howto/logging.rst:523 +#: ../../howto/logging.rst:524 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:526 +#: ../../howto/logging.rst:527 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:529 +#: ../../howto/logging.rst:530 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)." 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:536 +#: ../../howto/logging.rst:537 msgid "Formatters" -msgstr "" +msgstr "Formatadores" -#: ../../howto/logging.rst:538 +#: ../../howto/logging.rst:539 msgid "" "Formatter objects configure the final order, structure, and contents of the " "log message. Unlike the base :class:`logging.Handler` class, application " @@ -893,41 +1005,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:547 +#: ../../howto/logging.rst:548 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:554 +#: ../../howto/logging.rst:555 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." +"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:557 +#: ../../howto/logging.rst:558 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 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 "" - -#: ../../howto/logging.rst:564 +"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:565 msgid "Added the ``style`` parameter." msgstr "Adicionado o parâmetro ``style``." -#: ../../howto/logging.rst:567 +#: ../../howto/logging.rst:568 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:573 +#: ../../howto/logging.rst:574 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 " @@ -937,69 +1072,97 @@ 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 "" - -#: ../../howto/logging.rst:583 +"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:584 msgid "Configuring Logging" msgstr "Configurando Logging" -#: ../../howto/logging.rst:587 +#: ../../howto/logging.rst:588 msgid "Programmers can configure logging in three ways:" msgstr "Programadores podem configurar logging de três formas:" -#: ../../howto/logging.rst:589 +#: ../../howto/logging.rst:590 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:591 +#: ../../howto/logging.rst:592 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:593 +#: ../../howto/logging.rst:594 msgid "" "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:596 +#: ../../howto/logging.rst:597 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:626 +#: ../../howto/logging.rst:627 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:637 +#: ../../howto/logging.rst:638 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:656 +#: ../../howto/logging.rst:657 msgid "Here is the logging.conf file:" -msgstr "Aqui está o arquivo logging.cong:" +msgstr "Aqui está o arquivo logging.conf:" -#: ../../howto/logging.rst:688 +#: ../../howto/logging.rst:689 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:699 +#: ../../howto/logging.rst:700 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:703 +#: ../../howto/logging.rst:704 msgid "" "The :func:`fileConfig` function takes a default parameter, " "``disable_existing_loggers``, which defaults to ``True`` for reasons of " @@ -1009,8 +1172,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:711 +#: ../../howto/logging.rst:712 msgid "" "The dictionary passed to :func:`dictConfig` can also specify a Boolean value " "with key ``disable_existing_loggers``, which if not specified explicitly in " @@ -1018,8 +1190,14 @@ 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:721 +#: ../../howto/logging.rst:722 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 " @@ -1029,8 +1207,15 @@ msgid "" "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:729 +#: ../../howto/logging.rst:730 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 " @@ -1044,24 +1229,40 @@ 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:741 +"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:742 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:765 +#: ../../howto/logging.rst:766 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:769 +#: ../../howto/logging.rst:770 msgid "What happens if no configuration is provided" msgstr "O que acontece se nenhuma configuração é fornecida" -#: ../../howto/logging.rst:771 +#: ../../howto/logging.rst:772 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 " @@ -1069,27 +1270,27 @@ msgid "" "circumstances is dependent on the Python version." msgstr "" -#: ../../howto/logging.rst:776 +#: ../../howto/logging.rst:777 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:778 +#: ../../howto/logging.rst:779 msgid "" "If *logging.raiseExceptions* is ``False`` (production mode), the event is " "silently dropped." msgstr "" -#: ../../howto/logging.rst:781 +#: ../../howto/logging.rst:782 msgid "" "If *logging.raiseExceptions* is ``True`` (development mode), a message 'No " "handlers could be found for logger X.Y.Z' is printed once." msgstr "" -#: ../../howto/logging.rst:784 +#: ../../howto/logging.rst:785 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:786 +#: ../../howto/logging.rst:787 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 " @@ -1101,17 +1302,17 @@ msgid "" "severities will be output." msgstr "" -#: ../../howto/logging.rst:795 +#: ../../howto/logging.rst:796 msgid "" "To obtain the pre-3.2 behaviour, ``logging.lastResort`` can be set to " "``None``." msgstr "" -#: ../../howto/logging.rst:800 +#: ../../howto/logging.rst:801 msgid "Configuring Logging for a Library" -msgstr "" +msgstr "Configurando logging para uma biblioteca" -#: ../../howto/logging.rst:802 +#: ../../howto/logging.rst:803 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 " @@ -1121,8 +1322,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:810 +#: ../../howto/logging.rst:811 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-" @@ -1133,8 +1343,18 @@ msgid "" "suitably configured then logging calls made in library code will send output " "to those handlers, as normal." msgstr "" +"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:819 +#: ../../howto/logging.rst:820 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 " @@ -1144,15 +1364,26 @@ msgid "" "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:830 +#: ../../howto/logging.rst:831 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:834 +#: ../../howto/logging.rst:835 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 " @@ -1162,12 +1393,19 @@ msgid "" "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:845 +#: ../../howto/logging.rst:846 msgid "Logging Levels" -msgstr "" +msgstr "Níveis de Logging" -#: ../../howto/logging.rst:847 +#: ../../howto/logging.rst:848 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 +1413,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:854 +#: ../../howto/logging.rst:855 msgid "Numeric value" msgstr "Valor numérico" -#: ../../howto/logging.rst:856 +#: ../../howto/logging.rst:857 msgid "50" msgstr "50" -#: ../../howto/logging.rst:858 +#: ../../howto/logging.rst:859 msgid "40" msgstr "40" -#: ../../howto/logging.rst:860 +#: ../../howto/logging.rst:861 msgid "30" msgstr "30" -#: ../../howto/logging.rst:862 +#: ../../howto/logging.rst:863 msgid "20" msgstr "20" -#: ../../howto/logging.rst:864 +#: ../../howto/logging.rst:865 msgid "10" msgstr "10" -#: ../../howto/logging.rst:866 +#: ../../howto/logging.rst:867 msgid "``NOTSET``" msgstr "``NOTSET``" -#: ../../howto/logging.rst:866 +#: ../../howto/logging.rst:867 msgid "0" msgstr "0" -#: ../../howto/logging.rst:869 +#: ../../howto/logging.rst:870 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,15 +1460,26 @@ 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:876 +#: ../../howto/logging.rst:877 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 "" +"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:880 +#: ../../howto/logging.rst:881 msgid "" "Logging messages are subjected to a dispatch mechanism through the use of :" "dfn:`handlers`, which are instances of subclasses of the :class:`Handler` " @@ -1241,8 +1495,22 @@ msgid "" "message (unless the *propagate* flag for a logger is set to a false value, " "at which point the passing to ancestor handlers stops)." msgstr "" - -#: ../../howto/logging.rst:894 +"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:895 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. " @@ -1251,12 +1519,18 @@ msgid "" "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:903 +#: ../../howto/logging.rst:904 msgid "Custom Levels" -msgstr "" +msgstr "Níveis personalizados" -#: ../../howto/logging.rst:905 +#: ../../howto/logging.rst:906 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 +1542,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:918 +"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:919 msgid "Useful Handlers" -msgstr "" +msgstr "Handlers úteis" -#: ../../howto/logging.rst:920 +#: ../../howto/logging.rst:921 msgid "" "In addition to the base :class:`Handler` class, many useful subclasses are " "provided:" @@ -1281,93 +1564,132 @@ msgstr "" "Em adição à classe base :class:`Handler`, muitas subclasses úteis são " "fornecidas:" -#: ../../howto/logging.rst:923 +#: ../../howto/logging.rst:924 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:926 +#: ../../howto/logging.rst:927 msgid ":class:`FileHandler` instances send messages to disk files." msgstr "" +":class:`FileHandler`, quando instanciadas, enviam mensagens para arquivos " +"locais de disco." -#: ../../howto/logging.rst:928 +#: ../../howto/logging.rst:929 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`." 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:933 +#: ../../howto/logging.rst:934 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:936 +#: ../../howto/logging.rst:937 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:939 +#: ../../howto/logging.rst:940 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:942 +#: ../../howto/logging.rst:943 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:945 +#: ../../howto/logging.rst:946 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:948 +#: ../../howto/logging.rst:949 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:951 +#: ../../howto/logging.rst:952 msgid "" ":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:954 +#: ../../howto/logging.rst:955 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:957 +#: ../../howto/logging.rst:958 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:960 +#: ../../howto/logging.rst:961 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:965 +#: ../../howto/logging.rst:966 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:968 +#: ../../howto/logging.rst:969 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 " @@ -1376,30 +1698,39 @@ msgid "" "more information." msgstr "" -#: ../../howto/logging.rst:974 +#: ../../howto/logging.rst:975 msgid "The :class:`NullHandler` class." msgstr "A classe :class:`NullHandler`." -#: ../../howto/logging.rst:977 +#: ../../howto/logging.rst:978 msgid "The :class:`~handlers.QueueHandler` class." msgstr "A classe :class:`~handlers.QueueHandler`." -#: ../../howto/logging.rst:980 +#: ../../howto/logging.rst:981 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:985 +#: ../../howto/logging.rst:986 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." 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:989 +#: ../../howto/logging.rst:990 msgid "" "For formatting multiple messages in a batch, instances of :class:`~handlers." "BufferingFormatter` can be used. In addition to the format string (which is " @@ -1407,7 +1738,7 @@ msgid "" "trailer format strings." msgstr "" -#: ../../howto/logging.rst:994 +#: ../../howto/logging.rst:995 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:" @@ -1416,55 +1747,83 @@ msgid "" "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:1001 +#: ../../howto/logging.rst:1002 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:1009 +#: ../../howto/logging.rst:1010 msgid "Exceptions raised during logging" msgstr "Exceções levantadas durante logging" -#: ../../howto/logging.rst:1011 +#: ../../howto/logging.rst:1012 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:1016 +#: ../../howto/logging.rst:1017 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." 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:1021 +#: ../../howto/logging.rst:1022 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." 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:1026 +#: ../../howto/logging.rst:1027 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:1036 +#: ../../howto/logging.rst:1037 msgid "Using arbitrary objects as messages" msgstr "Usando objetos arbitrários como mensagens" -#: ../../howto/logging.rst:1038 +#: ../../howto/logging.rst:1039 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 " @@ -1475,12 +1834,20 @@ msgid "" "`~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:1049 +#: ../../howto/logging.rst:1050 msgid "Optimization" msgstr "Optimização" -#: ../../howto/logging.rst:1051 +#: ../../howto/logging.rst:1052 msgid "" "Formatting of message arguments is deferred until it cannot be avoided. " "However, computing the arguments passed to the logging method can also be " @@ -1490,14 +1857,21 @@ msgid "" "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:1063 +#: ../../howto/logging.rst:1064 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." msgstr "" -#: ../../howto/logging.rst:1066 +#: ../../howto/logging.rst:1067 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 +1882,113 @@ 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:1075 +#: ../../howto/logging.rst:1076 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:1081 +#: ../../howto/logging.rst:1082 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:1081 +#: ../../howto/logging.rst:1082 msgid "How to avoid collecting it" -msgstr "" +msgstr "Como evitar o registro" -#: ../../howto/logging.rst:1083 +#: ../../howto/logging.rst:1084 msgid "Information about where calls were made from." -msgstr "" +msgstr "Informações sobre o ponto em que as chamadas foram feitas." -#: ../../howto/logging.rst:1083 +#: ../../howto/logging.rst:1084 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`)." 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:1089 +#: ../../howto/logging.rst:1090 msgid "Threading information." -msgstr "" +msgstr "Informações sobre threading." -#: ../../howto/logging.rst:1089 +#: ../../howto/logging.rst:1090 msgid "Set ``logging.logThreads`` to ``False``." -msgstr "" +msgstr "Defina ``logging.logThreads`` como ``False``." -#: ../../howto/logging.rst:1091 +#: ../../howto/logging.rst:1092 msgid "Current process ID (:func:`os.getpid`)" -msgstr "" +msgstr "ID do processo atual (:func:`os.getpid`)" -#: ../../howto/logging.rst:1091 +#: ../../howto/logging.rst:1092 msgid "Set ``logging.logProcesses`` to ``False``." -msgstr "" +msgstr "Defina ``logging.logProcesses`` como ``False``." -#: ../../howto/logging.rst:1093 +#: ../../howto/logging.rst:1094 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:1093 +#: ../../howto/logging.rst:1094 msgid "Set ``logging.logMultiprocessing`` to ``False``." -msgstr "" +msgstr "Defina ``logging.logMultiprocessing`` como ``False``." -#: ../../howto/logging.rst:1097 +#: ../../howto/logging.rst:1098 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:1104 +#: ../../howto/logging.rst:1105 msgid "Module :mod:`logging`" msgstr "Módulo :mod:`logging`" -#: ../../howto/logging.rst:1104 +#: ../../howto/logging.rst:1105 msgid "API reference for the logging module." msgstr "Referência da API para o módulo de logging." -#: ../../howto/logging.rst:1107 +#: ../../howto/logging.rst:1108 msgid "Module :mod:`logging.config`" msgstr "Módulo :mod:`logging.config`" -#: ../../howto/logging.rst:1107 +#: ../../howto/logging.rst:1108 msgid "Configuration API for the logging module." msgstr "API de configuração para o módulo logging." -#: ../../howto/logging.rst:1110 +#: ../../howto/logging.rst:1111 msgid "Module :mod:`logging.handlers`" msgstr "Módulo :mod:`logging.handlers`" -#: ../../howto/logging.rst:1110 +#: ../../howto/logging.rst:1111 msgid "Useful handlers included with the logging module." -msgstr "" +msgstr "Tratadores úteis incluídos no módulo logging." -#: ../../howto/logging.rst:1112 +#: ../../howto/logging.rst:1113 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 db0663def..c10dd1183 100644 --- a/howto/pyporting.po +++ b/howto/pyporting.po @@ -1,32 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, Python Software 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.10\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-08-05 13:13+0000\n" -"PO-Revision-Date: 2021-06-28 00:53+0000\n" -"Last-Translator: Rafael Fontenelle , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2026-03-25 18:42+0000\n" +"PO-Revision-Date: 2025-09-22 15:57+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"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" @@ -61,7 +56,7 @@ 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 @@ -168,7 +163,7 @@ msgstr "" #: ../../howto/pyporting.rst:56 msgid "Details" -msgstr "Detalhes" +msgstr "Detalhes (em inglês)" #: ../../howto/pyporting.rst:58 msgid "" @@ -468,15 +463,15 @@ msgstr "" #: ../../howto/pyporting.rst:232 msgid "format" -msgstr "formato" +msgstr "format" #: ../../howto/pyporting.rst:234 msgid "isdecimal" -msgstr "" +msgstr "isdecimal" #: ../../howto/pyporting.rst:236 msgid "isnumeric" -msgstr "" +msgstr "isnumeric" #: ../../howto/pyporting.rst:239 msgid "" diff --git a/howto/regex.po b/howto/regex.po index e8464b5d5..2d8eabf5e 100644 --- a/howto/regex.po +++ b/howto/regex.po @@ -1,37 +1,31 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, Python Software 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 -# Rafael Fontenelle , 2021 -# Claudio Rogerio Carvalho Filho , 2021 -# Leticia Portella , 2021 +# python-doc bot, 2025 # #, 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 00:53+0000\n" -"Last-Translator: Leticia Portella , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2026-01-03 17:03+0000\n" +"PO-Revision-Date: 2025-09-22 15:57+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"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" @@ -53,7 +47,7 @@ msgid "" msgstr "" "Este documento é um tutorial introdutório sobre expressões regulares em " "Python com o módulo :mod:`re`. Ele provê uma introdução mais tranquila que a " -"seção correspondente à documentação do módulo. " +"seção correspondente à documentação do módulo." #: ../../howto/regex.rst:24 msgid "Introduction" @@ -75,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-" @@ -93,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 "" @@ -111,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 "" @@ -137,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 "" @@ -146,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 "" @@ -163,11 +152,10 @@ 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 "" @@ -179,14 +167,10 @@ msgid "" "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 "" @@ -207,27 +191,27 @@ 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 msgid "" -"Metacharacters are not active inside classes. For example, ``[akm$]`` will " -"match any of the characters ``'a'``, ``'k'``, ``'m'``, or ``'$'``; ``'$'`` " -"is usually a metacharacter, but inside a character class it's stripped of " -"its special nature." +"Metacharacters (except ``\\``) are not active inside classes. For example, " +"``[akm$]`` will match any of the characters ``'a'``, ``'k'``, ``'m'``, or " +"``'$'``; ``'$'`` is usually a metacharacter, but inside a character class " +"it's stripped of its special nature." msgstr "" -"Metacaracteres não são ativos dentro de classes. Por exemplo, ``[akm$]`` irá " -"combinar com qualquer dos caracteres ``'a'``, ``'k'``, ``'m'``, or ``'$'``; " -"``'$'`` é normalmente um metacaractere, mas dentro de uma classe de " -"caracteres ele perde sua natureza especial." +"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 "" @@ -254,12 +238,12 @@ 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 " -"padrões; por exemplo, se você precisa fazer correspondência a um ``[`` ou ``" -"\\``, você pode precedê-los com uma barra invertida para remover seu " +"padrões; por exemplo, se você precisa fazer correspondência a um ``[`` ou " +"``\\``, você pode precedê-los com uma barra invertida para remover seu " "significado especial: ``\\[`` ou ``\\\\``." #: ../../howto/regex.rst:110 @@ -287,9 +271,9 @@ msgstr "" "Se o padrão regex for expresso em bytes, isso é equivalente à classe ``[a-zA-" "Z0-9_]``. Se o padrão regex for uma string, ``\\w`` combinará todos os " "caracteres marcados como letras no banco de dados Unicode fornecido pelo " -"módulo :mod:`unicodedata`. Você pode usar a definição mais restrita de ``" -"\\w`` em um padrão de string, fornecendo o sinalizador :const:`re.ASCII` ao " -"compilar a expressão regular." +"módulo :mod:`unicodedata`. Você pode usar a definição mais restrita de " +"``\\w`` em um padrão de string, fornecendo o sinalizador :const:`re.ASCII` " +"ao compilar a expressão regular." #: ../../howto/regex.rst:123 msgid "" @@ -301,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." @@ -333,8 +317,8 @@ msgstr "``\\s``" #: ../../howto/regex.rst:137 msgid "" -"Matches any whitespace character; this is equivalent to the class ``[ \\t\\n" -"\\r\\f\\v]``." +"Matches any whitespace character; this is equivalent to the class " +"``[ \\t\\n\\r\\f\\v]``." msgstr "" "corresponde a qualquer caractere ``espaço-em-branco``, o que é equivalente à " "classe ``[\\t\\n\\r\\f\\v]``." @@ -381,9 +365,9 @@ 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 "" @@ -395,12 +379,12 @@ 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`), " "onde ele irá corresponder até mesmo a um caractere de nova linha. ``.`` é " -"frequentemente usado quando você quer corresponder com \"qualquer caractere" -"\"." +"frequentemente usado quando você quer corresponder com \"qualquer " +"caractere\"." #: ../../howto/regex.rst:163 msgid "Repeating Things" -msgstr "Repetindo Coisas" +msgstr "Repetindo coisas" #: ../../howto/regex.rst:165 msgid "" @@ -434,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 @@ -445,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 "" @@ -464,7 +448,7 @@ msgstr "" #: ../../howto/regex.rst:189 msgid "Step" -msgstr "Passo " +msgstr "Passo" #: ../../howto/regex.rst:189 msgid "Matched" @@ -472,7 +456,7 @@ msgstr "Correspondência" #: ../../howto/regex.rst:189 msgid "Explanation" -msgstr "Explanação" +msgstr "Explicação" #: ../../howto/regex.rst:191 msgid "1" @@ -484,7 +468,7 @@ msgstr "``a``" #: ../../howto/regex.rst:191 msgid "The ``a`` in the RE matches." -msgstr "O caractere ``a`` na RE tem correspondência. " +msgstr "O caractere ``a`` na RE tem correspondência." #: ../../howto/regex.rst:193 msgid "2" @@ -499,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" @@ -508,7 +492,7 @@ msgstr "3" #: ../../howto/regex.rst:197 ../../howto/regex.rst:205 msgid "*Failure*" -msgstr "*Failure*" +msgstr "*Falha*" #: ../../howto/regex.rst:197 msgid "" @@ -528,7 +512,7 @@ msgstr "``abcb``" #: ../../howto/regex.rst:202 msgid "Back up, so that ``[bcd]*`` matches one less character." -msgstr "Voltando, de modo que ``[bcd]*`` corresponde a um caractere a menos. " +msgstr "Voltando, de modo que ``[bcd]*`` corresponde a um caractere a menos." #: ../../howto/regex.rst:205 msgid "5" @@ -540,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" @@ -553,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 @@ -561,8 +545,8 @@ 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``, " -"por isso sucesso. " +"Tenta ``b`` novamente. Desta vez, o caractere na posição corrente é ``'b'``, " +"por isso sucesso." #: ../../howto/regex.rst:219 msgid "" @@ -575,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." @@ -589,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 "" @@ -613,6 +604,10 @@ 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 "" @@ -646,7 +641,7 @@ msgstr "" #: ../../howto/regex.rst:265 msgid "Compiling Regular Expressions" -msgstr "Compilando Expressões Regulares" +msgstr "Compilando expressões regulares" #: ../../howto/regex.rst:267 msgid "" @@ -664,7 +659,7 @@ msgid "" "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::" @@ -697,7 +692,7 @@ msgstr "" #: ../../howto/regex.rst:296 msgid "The Backslash Plague" -msgstr "A praga da barra invertida" +msgstr "A praga da contrabarra" #: ../../howto/regex.rst:298 msgid "" @@ -706,8 +701,8 @@ msgid "" "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." @@ -723,15 +718,15 @@ msgid "" "to express this as a Python string literal, both backslashes must be escaped " "*again*." 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 " +"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." +"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 barras invertidas devem ser precedidas com " -"uma barra invertida novamente." +"string literal Python, ambas as contrabarras devem ser precedidas com uma " +"contrabarra novamente." #: ../../howto/regex.rst:312 msgid "Characters" @@ -747,7 +742,7 @@ msgstr "``\\section``" #: ../../howto/regex.rst:314 msgid "Text string to be matched" -msgstr " string de texto a ser correspondida " +msgstr "String de texto a ser correspondida" #: ../../howto/regex.rst:316 msgid "``\\\\section``" @@ -755,7 +750,7 @@ msgstr "``\\\\section``" #: ../../howto/regex.rst:316 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 msgid "``\"\\\\\\\\section\"``" @@ -763,7 +758,7 @@ msgstr "``\"\\\\\\\\section\"``" #: ../../howto/regex.rst:318 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 msgid "" @@ -773,12 +768,12 @@ 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 msgid "" @@ -789,13 +784,13 @@ 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 msgid "" @@ -805,14 +800,19 @@ msgid "" "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:341 msgid "Regular String" -msgstr "**String Regular**" +msgstr "String regular" #: ../../howto/regex.rst:341 msgid "Raw string" -msgstr "**String Crua**" +msgstr "**String bruta**" #: ../../howto/regex.rst:343 msgid "``\"ab*\"``" @@ -836,7 +836,7 @@ msgstr "``r\"\\w+\\s+\\1\"``" #: ../../howto/regex.rst:352 msgid "Performing Matches" -msgstr "Executando Comparações" +msgstr "Executando correspondências" #: ../../howto/regex.rst:354 msgid "" @@ -846,19 +846,19 @@ 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 msgid "Method/Attribute" -msgstr "**Método/Atributo**" +msgstr "Método/Atributo" #: ../../howto/regex.rst:360 ../../howto/regex.rst:418 #: ../../howto/regex.rst:1064 msgid "Purpose" -msgstr " **Propósito** " +msgstr "Propósito" #: ../../howto/regex.rst:362 msgid "``match()``" @@ -866,7 +866,7 @@ msgstr "``match()``" #: ../../howto/regex.rst:362 msgid "Determine if the RE matches at the beginning of the string." -msgstr "Determina se a RE combina com o início da string. " +msgstr "Determina se a RE combina com o início da string." #: ../../howto/regex.rst:365 msgid "``search()``" @@ -898,7 +898,7 @@ msgid "" "`iterator`." msgstr "" "Encontra todas as substrings onde a RE corresponde, e as retorna como um :" -"term:`iterador`." +"term:`iterador `." #: ../../howto/regex.rst:375 msgid "" @@ -907,6 +907,11 @@ msgid "" "objects>` 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 msgid "" @@ -923,9 +928,9 @@ 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 msgid "" @@ -935,6 +940,12 @@ 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 msgid "" @@ -942,6 +953,10 @@ msgid "" "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 msgid "" @@ -949,6 +964,10 @@ msgid "" "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 msgid "``group()``" @@ -956,7 +975,7 @@ msgstr "``group()``" #: ../../howto/regex.rst:420 msgid "Return the string matched by the RE" -msgstr "Retorna a string que corresponde com a RE " +msgstr "Retorna a string que corresponde com a RE" #: ../../howto/regex.rst:422 msgid "``start()``" @@ -964,7 +983,7 @@ msgstr "``start()``" #: ../../howto/regex.rst:422 msgid "Return the starting position of the match" -msgstr "Retorna a posição inicial da string correspondente " +msgstr "Retorna a posição inicial da string correspondente" #: ../../howto/regex.rst:424 msgid "``end()``" @@ -981,7 +1000,8 @@ msgstr "``span()``" #: ../../howto/regex.rst:426 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 msgid "Trying these methods will soon clarify their meaning::" @@ -998,6 +1018,14 @@ msgid "" "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 msgid "" @@ -1005,15 +1033,17 @@ msgid "" "` 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 msgid "" "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 msgid "" @@ -1023,6 +1053,12 @@ msgid "" "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 msgid "" @@ -1031,10 +1067,14 @@ msgid "" "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 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 msgid "" @@ -1045,6 +1085,13 @@ msgid "" "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 msgid "" @@ -1053,6 +1100,10 @@ msgid "" "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 msgid "" @@ -1061,10 +1112,14 @@ msgid "" "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 msgid "Compilation Flags" -msgstr "Sinalizadores de Compilação" +msgstr "Sinalizadores de compilação" #: ../../howto/regex.rst:525 msgid "" @@ -1112,6 +1167,8 @@ 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 msgid ":const:`DOTALL`, :const:`S`" @@ -1119,7 +1176,7 @@ msgstr ":const:`DOTALL`, :const:`S`" #: ../../howto/regex.rst:543 msgid "Make ``.`` match any character, including newlines." -msgstr "" +msgstr "Faz o ``.`` corresponder a qualquer caractere, incluindo novas linhas." #: ../../howto/regex.rst:546 msgid ":const:`IGNORECASE`, :const:`I`" @@ -1127,7 +1184,7 @@ msgstr ":const:`IGNORECASE`, :const:`I`" #: ../../howto/regex.rst:546 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 msgid ":const:`LOCALE`, :const:`L`" @@ -1147,7 +1204,7 @@ msgstr "Correspondência multilinha, afetando ``^`` e ``$``." #: ../../howto/regex.rst:553 msgid ":const:`VERBOSE`, :const:`X` (for 'extended')" -msgstr "" +msgstr ":const:`VERBOSE`, :const:`X` (de 'extended'; estendido em inglês)" #: ../../howto/regex.rst:553 msgid "" @@ -1165,18 +1222,36 @@ msgid "" "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'``, " +"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:580 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 msgid "" @@ -1196,6 +1271,23 @@ msgid "" "matching is already enabled by default in Python 3 for Unicode (str) " "patterns, and it is able to handle different locales/languages." msgstr "" +"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:605 msgid "" @@ -1229,8 +1321,8 @@ msgid "" "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 msgid "" @@ -1238,6 +1330,10 @@ msgid "" "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 msgid "" @@ -1258,17 +1354,15 @@ 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 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 msgid "Without the verbose setting, the RE would look like this::" @@ -1286,7 +1380,7 @@ msgstr "" #: ../../howto/regex.rst:672 msgid "More Pattern Power" -msgstr "Mais Poder dos Padrões" +msgstr "Mais poder dos padrões" #: ../../howto/regex.rst:674 msgid "" @@ -1300,7 +1394,7 @@ msgstr "" #: ../../howto/regex.rst:682 msgid "More Metacharacters" -msgstr "Mais Metacaracteres" +msgstr "Mais metacaracteres" #: ../../howto/regex.rst:684 msgid "" @@ -1321,9 +1415,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 " @@ -1344,6 +1438,12 @@ 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 msgid "" @@ -1367,7 +1467,7 @@ 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. " +"linha de dentro da string." #: ../../howto/regex.rst:710 msgid "" @@ -1375,11 +1475,11 @@ msgid "" "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 msgid "To match a literal ``'^'``, use ``\\^``." -msgstr "" +msgstr "Para corresponder a um ``'^'`` literal, use ``\\^``." #: ../../howto/regex.rst:732 msgid "``$``" @@ -1398,7 +1498,7 @@ 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 @@ -1438,10 +1538,10 @@ msgid "" "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 msgid "" @@ -1455,28 +1555,28 @@ msgstr "" msgid "" "There are two subtleties you should remember when using this special " "sequence. First, this is the worst collision between Python's string " -"literals and regular expression sequences. In Python's string literals, ``" -"\\b`` is the backspace character, ASCII value 8. If you're not using raw " +"literals and regular expression sequences. In Python's string literals, " +"``\\b`` is the backspace character, ASCII value 8. If you're not using raw " "strings, then Python will convert the ``\\b`` to a backspace, and your RE " "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 msgid "" -"Second, inside a character class, where there's no use for this assertion, ``" -"\\b`` represents the backspace character, for compatibility with Python's " +"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 @@ -1488,9 +1588,8 @@ 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 msgid "Grouping" @@ -1504,6 +1603,12 @@ 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 msgid "" @@ -1511,23 +1616,17 @@ msgid "" "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 msgid "" "Groups are marked by the ``'('``, ``')'`` metacharacters. ``'('`` and " "``')'`` have much the same meaning as they do in mathematical expressions; " "they group together the expressions contained inside them, and you can " -"repeat the contents of a group with a repeating qualifier, such as ``*``, ``" -"+``, ``?``, or ``{m,n}``. For example, ``(ab)*`` will match zero or more " +"repeat the contents of a group with a repeating qualifier, such as ``*``, " +"``+``, ``?``, or ``{m,n}``. For example, ``(ab)*`` will match zero or more " "repetitions of ``ab``. ::" msgstr "" "Grupos indicados com ``(`` e ``)`` também capturam o índice inicial e final " @@ -1549,6 +1648,14 @@ msgid "" "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:830 msgid "" @@ -1558,7 +1665,7 @@ 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 @@ -1567,12 +1674,17 @@ msgid "" "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 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 msgid "" @@ -1587,11 +1699,11 @@ 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 msgid "For example, the following RE detects doubled words in a string. ::" @@ -1606,13 +1718,13 @@ 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 msgid "Non-capturing and Named Groups" -msgstr "Não captura e Grupos Nomeados" +msgstr "Não captura e grupos nomeados" #: ../../howto/regex.rst:877 msgid "" @@ -1626,19 +1738,26 @@ 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 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 " -"single-keystroke metacharacters or new special sequences beginning with ``" -"\\`` without making Perl's regular expressions confusingly different from " +"single-keystroke metacharacters or new special sequences beginning with " +"``\\`` without making Perl's regular expressions confusingly different from " "standard REs. If they chose ``&`` as a new metacharacter, for example, old " "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 msgid "" @@ -1655,8 +1774,8 @@ 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 msgid "" @@ -1664,12 +1783,18 @@ msgid "" "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 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 msgid "" @@ -1678,6 +1803,11 @@ msgid "" "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 msgid "" @@ -1692,14 +1822,15 @@ 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 msgid "" @@ -1720,16 +1851,26 @@ 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 msgid "" "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 msgid "" -"Named groups are handy because they let you use easily-remembered names, " +"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::" msgstr "" @@ -1752,13 +1893,20 @@ msgid "" "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``::" +"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:979 msgid "Lookahead Assertions" -msgstr "Afirmação Lookahead" +msgstr "Asserções lookahead" #: ../../howto/regex.rst:981 msgid "" @@ -1766,8 +1914,8 @@ msgid "" "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 @@ -1782,12 +1930,12 @@ 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 msgid "``(?!...)``" @@ -1799,7 +1947,7 @@ msgid "" "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." @@ -1810,11 +1958,11 @@ msgid "" "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 msgid "The pattern to match this is quite simple:" @@ -1833,6 +1981,12 @@ 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 msgid "" @@ -1896,23 +2050,23 @@ msgid "" "``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 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 msgid "" "``.*[.](?!bat$)[^.]*$`` The negative lookahead means: if the expression " -"``bat`` doesn't match at this point, try the rest of the pattern; if ``bat" -"$`` does match, the whole pattern will fail. The trailing ``$`` is required " -"to ensure that something like ``sample.batch``, where the extension only " -"starts with ``bat``, will be allowed. The ``[^.]*`` makes sure that the " -"pattern works when there are multiple dots in the filename." +"``bat`` doesn't match at this point, try the rest of the pattern; if " +"``bat$`` does match, the whole pattern will fail. The trailing ``$`` is " +"required to ensure that something like ``sample.batch``, where the extension " +"only starts with ``bat``, will be allowed. The ``[^.]*`` makes sure that " +"the pattern works when there are multiple dots in the filename." msgstr "" "``.*[.](?!bat$).*$`` O lookahead negativo significa: se a expressão ``bat`` " "não corresponder até este momento, tente o resto do padrão; se ``bat$`` tem " @@ -1927,7 +2081,7 @@ msgid "" "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 @@ -1936,7 +2090,7 @@ msgstr "``.*[.](?!bat$|exe$)[^.]*$``" #: ../../howto/regex.rst:1057 msgid "Modifying Strings" -msgstr "Modificando Strings" +msgstr "Modificando strings" #: ../../howto/regex.rst:1059 msgid "" @@ -1956,7 +2110,7 @@ msgstr "``split()``" 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 " +"com a RE" #: ../../howto/regex.rst:1069 msgid "``sub()``" @@ -1979,10 +2133,12 @@ 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 msgid "Splitting Strings" -msgstr "Dividindo as Strings" +msgstr "Dividindo as strings" #: ../../howto/regex.rst:1081 msgid "" @@ -1993,6 +2149,13 @@ 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 msgid "" @@ -2001,10 +2164,10 @@ msgid "" "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 msgid "" @@ -2015,10 +2178,10 @@ 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 msgid "" @@ -2027,11 +2190,10 @@ msgid "" "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 msgid "" @@ -2039,7 +2201,7 @@ msgid "" "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 msgid "Search and Replace" @@ -2052,6 +2214,10 @@ msgid "" "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 msgid "" @@ -2060,8 +2226,8 @@ msgid "" "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 msgid "" @@ -2069,15 +2235,17 @@ msgid "" "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 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 msgid "" @@ -2085,23 +2253,35 @@ msgid "" "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 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 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 " -"converted to a carriage return, and so forth. Unknown escapes such as ``" -"\\&`` are left alone. Backreferences, such as ``\\6``, are replaced with the " -"substring matched by the corresponding group in the RE. This lets you " +"converted to a carriage return, and so forth. Unknown escapes such as " +"``\\&`` are left alone. Backreferences, such as ``\\6``, are replaced with " +"the substring matched by the corresponding group in the RE. This lets you " "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 msgid "" @@ -2109,7 +2289,7 @@ msgid "" "``{``, ``}``, 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 msgid "" @@ -2125,12 +2305,12 @@ 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 msgid "" @@ -2173,7 +2353,7 @@ msgstr "" #: ../../howto/regex.rst:1232 msgid "Common Problems" -msgstr "Problemas Comuns" +msgstr "Problemas comuns" #: ../../howto/regex.rst:1234 msgid "" @@ -2189,7 +2369,7 @@ msgstr "" #: ../../howto/regex.rst:1240 msgid "Use String Methods" -msgstr "Usando String Methods" +msgstr "Usando métodos de string" #: ../../howto/regex.rst:1242 msgid "" @@ -2202,6 +2382,15 @@ msgid "" "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:1250 msgid "" @@ -2215,6 +2404,15 @@ msgid "" "``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 msgid "" @@ -2224,6 +2422,11 @@ 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 msgid "" @@ -2231,7 +2434,8 @@ msgid "" "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 msgid "match() versus search()" @@ -2246,12 +2450,20 @@ 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 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 msgid "" @@ -2287,7 +2499,7 @@ msgstr "" #: ../../howto/regex.rst:1306 msgid "Greedy versus Non-Greedy" -msgstr "Gulosos versus não Gulosos" +msgstr "Gulosos versus não-gulosos" #: ../../howto/regex.rst:1308 msgid "" @@ -2313,6 +2525,12 @@ 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 msgid "" @@ -2368,6 +2586,9 @@ msgid "" "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 msgid "" @@ -2384,9 +2605,9 @@ 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 msgid "This is far more readable than::" @@ -2406,7 +2627,7 @@ msgstr "" "Expressões regulares são um tópico complicado. Esse documento ajudou você a " "compreendê-las? Existem partes que foram pouco claras, ou situações que você " "vivenciou que não foram abordadas aqui? Se assim for, por favor, envie " -"sugestões de melhorias para o autor. " +"sugestões de melhorias para o autor." #: ../../howto/regex.rst:1387 msgid "" @@ -2418,3 +2639,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 d022630ba..cb0a721b5 100644 --- a/howto/sockets.po +++ b/howto/sockets.po @@ -1,33 +1,31 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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 -# Claudio Rogerio Carvalho Filho , 2021 -# i17obot , 2021 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.10\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-07-27 13:07+0000\n" -"PO-Revision-Date: 2021-06-28 00:53+0000\n" -"Last-Translator: i17obot , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:57+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"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" @@ -75,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 "" @@ -205,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 "" @@ -262,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" @@ -429,35 +427,38 @@ msgstr "Dados Binários" msgid "" "It is perfectly possible to send binary data over a socket. The major " "problem is that not all machines use the same formats for binary data. For " -"example, a Motorola chip will represent a 16 bit integer with the value 1 as " -"the two hex bytes 00 01. Intel and DEC, however, are byte-reversed - that " -"same 1 is 01 00. Socket libraries have calls for converting 16 and 32 bit " -"integers - ``ntohl, htonl, ntohs, htons`` where \"n\" means *network* and \"h" -"\" means *host*, \"s\" means *short* and \"l\" means *long*. Where network " -"order is host order, these do nothing, but where the machine is byte-" -"reversed, these swap the bytes around appropriately." +"example, `network byte order `_ is big-endian, with the most significant byte " +"first, so a 16 bit integer with the value ``1`` would be the two hex bytes " +"``00 01``. However, most common processors (x86/AMD64, ARM, RISC-V), are " +"little-endian, with the least significant byte first - that same ``1`` would " +"be ``01 00``." +msgstr "" + +#: ../../howto/sockets.rst:262 +msgid "" +"Socket libraries have calls for converting 16 and 32 bit integers - ``ntohl, " +"htonl, ntohs, htons`` where \"n\" means *network* and \"h\" means *host*, " +"\"s\" means *short* and \"l\" means *long*. Where network order is host " +"order, these do nothing, but where the machine is byte-reversed, these swap " +"the bytes around appropriately." msgstr "" -#: ../../howto/sockets.rst:264 +#: ../../howto/sockets.rst:268 msgid "" -"In these days of 32 bit machines, the ascii representation of binary data is " +"In these days of 64-bit machines, the ASCII representation of binary data is " "frequently smaller than the binary representation. That's because a " -"surprising amount of the time, all those longs have the value 0, or maybe 1. " -"The string \"0\" would be two bytes, while binary is four. Of course, this " -"doesn't fit well with fixed-length messages. Decisions, decisions." -msgstr "" -"Nestes dias de máquinas de 32 bits, a representação ascii de dados binários " -"é frequentemente menor do que a representação binária. Isso porque, em uma " -"quantidade surpreendente de tempo, todos aqueles longos têm o valor 0, ou " -"talvez 1. A string \"0\" teria dois bytes, enquanto o binário teria quatro. " -"Claro, isso não se encaixa bem com mensagens de comprimento fixo. Decisões, " -"decisões." - -#: ../../howto/sockets.rst:272 +"surprising amount of the time, most integers have the value 0, or maybe 1. " +"The string ``\"0\"`` would be two bytes, while a full 64-bit integer would " +"be 8. Of course, this doesn't fit well with fixed-length messages. " +"Decisions, decisions." +msgstr "" + +#: ../../howto/sockets.rst:277 msgid "Disconnecting" msgstr "Desconectando" -#: ../../howto/sockets.rst:274 +#: ../../howto/sockets.rst:279 msgid "" "Strictly speaking, you're supposed to use ``shutdown`` on a socket before " "you ``close`` it. The ``shutdown`` is an advisory to the socket at the " @@ -469,7 +470,7 @@ msgid "" "``shutdown`` is not needed." msgstr "" -#: ../../howto/sockets.rst:282 +#: ../../howto/sockets.rst:287 msgid "" "One way to use ``shutdown`` effectively is in an HTTP-like exchange. The " "client sends a request and then does a ``shutdown(1)``. This tells the " @@ -479,7 +480,7 @@ msgid "" "successfully then, indeed, the client was still receiving." msgstr "" -#: ../../howto/sockets.rst:289 +#: ../../howto/sockets.rst:294 msgid "" "Python takes the automatic shutdown a step further, and says that when a " "socket is garbage collected, it will automatically do a ``close`` if it's " @@ -489,11 +490,11 @@ msgid "" "sockets when you're done." msgstr "" -#: ../../howto/sockets.rst:297 +#: ../../howto/sockets.rst:302 msgid "When Sockets Die" msgstr "Quando o Soquete Morre" -#: ../../howto/sockets.rst:299 +#: ../../howto/sockets.rst:304 msgid "" "Probably the worst thing about using blocking sockets is what happens when " "the other side comes down hard (without doing a ``close``). Your socket is " @@ -508,11 +509,11 @@ msgid "" "the thread, your whole process is likely to be screwed up." msgstr "" -#: ../../howto/sockets.rst:313 +#: ../../howto/sockets.rst:318 msgid "Non-blocking Sockets" msgstr "Soquetes não-bloqueantes" -#: ../../howto/sockets.rst:315 +#: ../../howto/sockets.rst:320 msgid "" "If you've understood the preceding, you already know most of what you need " "to know about the mechanics of using sockets. You'll still use the same " @@ -520,7 +521,7 @@ msgid "" "will be almost inside-out." msgstr "" -#: ../../howto/sockets.rst:320 +#: ../../howto/sockets.rst:325 msgid "" "In Python, you use ``socket.setblocking(False)`` to make it non-blocking. In " "C, it's more complex, (for one thing, you'll need to choose between the BSD " @@ -530,7 +531,7 @@ msgid "" "it. (Actually, if you're nuts, you can switch back and forth.)" msgstr "" -#: ../../howto/sockets.rst:327 +#: ../../howto/sockets.rst:332 msgid "" "The major mechanical difference is that ``send``, ``recv``, ``connect`` and " "``accept`` can return without having done anything. You have (of course) a " @@ -546,18 +547,18 @@ msgstr "" "aplicativo vai crescendo, buggy e sugam CPU. Então, vamos ignorar as " "soluções mortas no cérebro e fazê-lo direito." -#: ../../howto/sockets.rst:334 +#: ../../howto/sockets.rst:339 msgid "Use ``select``." msgstr "Utilize ``select``." -#: ../../howto/sockets.rst:336 +#: ../../howto/sockets.rst:341 msgid "" "In C, coding ``select`` is fairly complex. In Python, it's a piece of cake, " "but it's close enough to the C version that if you understand ``select`` in " "Python, you'll have little trouble with it in C::" msgstr "" -#: ../../howto/sockets.rst:347 +#: ../../howto/sockets.rst:352 msgid "" "You pass ``select`` three lists: the first contains all sockets that you " "might want to try reading; the second all the sockets you might want to try " @@ -568,14 +569,14 @@ msgid "" "minute) unless you have good reason to do otherwise." msgstr "" -#: ../../howto/sockets.rst:355 +#: ../../howto/sockets.rst:360 msgid "" "In return, you will get three lists. They contain the sockets that are " "actually readable, writable and in error. Each of these lists is a subset " "(possibly empty) of the corresponding list you passed in." msgstr "" -#: ../../howto/sockets.rst:359 +#: ../../howto/sockets.rst:364 msgid "" "If a socket is in the output readable list, you can be as-close-to-certain-" "as-we-ever-get-in-this-business that a ``recv`` on that socket will return " @@ -585,7 +586,7 @@ msgid "" "it just means outbound network buffer space is available.)" msgstr "" -#: ../../howto/sockets.rst:366 +#: ../../howto/sockets.rst:371 msgid "" "If you have a \"server\" socket, put it in the potential_readers list. If it " "comes out in the readable list, your ``accept`` will (almost certainly) " @@ -594,7 +595,7 @@ msgid "" "have a decent chance that it has connected." msgstr "" -#: ../../howto/sockets.rst:372 +#: ../../howto/sockets.rst:377 msgid "" "Actually, ``select`` can be handy even with blocking sockets. It's one way " "of determining whether you will block - the socket returns as readable when " @@ -603,7 +604,7 @@ msgid "" "something else." msgstr "" -#: ../../howto/sockets.rst:377 +#: ../../howto/sockets.rst:382 msgid "" "**Portability alert**: On Unix, ``select`` works both with the sockets and " "files. Don't try this on Windows. On Windows, ``select`` works with sockets " diff --git a/howto/sorting.po b/howto/sorting.po index a1299f72f..d81fa977e 100644 --- a/howto/sorting.po +++ b/howto/sorting.po @@ -1,29 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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 -# Lucas Sanches , 2021 -# Hildeberto Abreu Magalhães , 2021 +# python-doc bot, 2025 # #, 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 00:53+0000\n" -"Last-Translator: Hildeberto Abreu Magalhães , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:57+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../howto/sorting.rst:4 msgid "Sorting HOW TO" @@ -53,7 +51,7 @@ msgid "" msgstr "" "As listas em Python possuem um método embutido :meth:`list.sort` que " "modifica a lista em si. Há também a função embutida :func:`sorted` que " -"constrói uma nova lista ordenada à partir de um iterável. " +"constrói uma nova lista ordenada à partir de um iterável." #: ../../howto/sorting.rst:14 msgid "" @@ -65,7 +63,7 @@ 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 "" @@ -73,7 +71,7 @@ msgid "" "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:" +"`sorted`. Você terá como retorno uma nova lista ordenada:" #: ../../howto/sorting.rst:28 msgid "" @@ -82,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 "" @@ -97,7 +96,7 @@ msgstr "" #: ../../howto/sorting.rst:49 msgid "Key Functions" -msgstr "Funções Chave" +msgstr "Funções chave" #: ../../howto/sorting.rst:51 msgid "" @@ -121,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 @@ -172,7 +171,7 @@ msgstr "" #: ../../howto/sorting.rst:132 msgid "Ascending and Descending" -msgstr "Ascendente e Descendente" +msgstr "Ascendente e descendente" #: ../../howto/sorting.rst:134 msgid "" @@ -223,8 +222,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 "" @@ -344,7 +343,7 @@ msgstr "" "superior. Antes disso, não havia a função embutida :func:`sorted` e o " "método :meth:`list.sort` não recebia os argumentos nomeados. Apesar disso, " "todas as versões do Py2.x suportam o parâmetro *cmp* para lidar com a função " -"de comparação especificada pelo usuário. " +"de comparação especificada pelo usuário." #: ../../howto/sorting.rst:238 msgid "" @@ -423,16 +422,24 @@ msgstr "" #: ../../howto/sorting.rst:328 msgid "" -"The sort routines are guaranteed to use :meth:`__lt__` 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:" +"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:" msgstr "" -"As rotinas de ordenação são garantidas através do uso de :meth:`__lt__` ao " -"comparar dois objetos. Portanto, é fácil adicionar uma ordenação padrão à " +"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__`:" #: ../../howto/sorting.rst:338 msgid "" +"However, note that ``<`` can fall back to using :meth:`__gt__` if :meth:" +"`__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:341 +msgid "" "Key functions need not depend directly on the objects being sorted. A key " "function can also access external resources. For instance, if the student " "grades are stored in a dictionary, they can be used to sort a separate list " diff --git a/howto/unicode.po b/howto/unicode.po index 5098a3abf..50c794385 100644 --- a/howto/unicode.po +++ b/howto/unicode.po @@ -1,36 +1,31 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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 -# Leticia Portella , 2021 -# Otávio Carneiro , 2021 -# Victor Matheus Castro , 2021 -# i17obot , 2021 +# python-doc bot, 2025 # #, 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 00:53+0000\n" -"Last-Translator: i17obot , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:57+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"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" @@ -48,7 +43,7 @@ msgid "" msgstr "" "Este documento fala sobre o suporte do Python para a especificação Unicode " "de representação de dados textuais e explica diversos problemas que as " -"pessoas costumam encontrar quando tentam trabalhar com Unicode. " +"pessoas costumam encontrar quando tentam trabalhar com Unicode." #: ../../howto/unicode.rst:15 msgid "Introduction to Unicode" @@ -146,7 +141,7 @@ msgstr "" #: ../../howto/unicode.rst:87 msgid "Encodings" -msgstr "Encodings" +msgstr "Codificações" #: ../../howto/unicode.rst:89 msgid "" @@ -296,7 +291,7 @@ msgstr "" #: ../../howto/unicode.rst:169 msgid "" "To help understand the standard, Jukka Korpela has written `an introductory " -"guide `_ to reading the Unicode " +"guide `_ to reading the Unicode " "character tables." msgstr "" @@ -616,7 +611,7 @@ msgstr "" #: ../../howto/unicode.rst:520 msgid "" -"`Processing Text Files in Python 3 `_, by Nick Coghlan." msgstr "" @@ -879,7 +874,7 @@ msgstr "" #: ../../howto/unicode.rst:737 msgid "" -"One section of `Mastering Python 3 Input/Output `_, a PyCon 2010 talk by David " "Beazley, discusses text processing and binary data handling." msgstr "" @@ -895,7 +890,7 @@ msgstr "" #: ../../howto/unicode.rst:747 msgid "" -"`The Guts of Unicode in Python `_ is a PyCon 2013 talk by Benjamin Peterson that " "discusses the internal Unicode representation in Python 3.3." msgstr "" diff --git a/howto/urllib2.po b/howto/urllib2.po index f7cf4df14..d814341a2 100644 --- a/howto/urllib2.po +++ b/howto/urllib2.po @@ -1,53 +1,48 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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 -# Ruan Aragão , 2021 -# Otávio Carneiro , 2021 -# Adorilson Bezerra , 2021 -# i17obot , 2021 +# python-doc bot, 2025 +# Rafael Fontenelle , 2025 # #, 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 00:53+0000\n" -"Last-Translator: i17obot , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-12-29 17:44+0000\n" +"PO-Revision-Date: 2025-09-22 15:57+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=2; plural=(n > 1);\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" msgstr "Autor" #: ../../howto/urllib2.rst:7 -msgid "`Michael Foord `_" -msgstr "`Michael Foord `_" +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 `_." +"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" @@ -63,11 +58,11 @@ msgstr "" #: ../../howto/urllib2.rst:25 msgid "" -"`Basic Authentication `_" +"`Basic Authentication `_" msgstr "" -"`Autenticação Básica `_" +"`Autenticação Básica `_" #: ../../howto/urllib2.rst:27 msgid "A tutorial on *Basic Authentication*, with examples in Python." @@ -98,6 +93,11 @@ msgid "" "protocols (e.g. FTP, HTTP). This tutorial focuses on the most common case, " "HTTP." msgstr "" +"urllib.request suporta o acesso a URLs por meio de vários \"esquemas de " +"URL\" (identificados pela string antes de ``\":\"`` na URL - por exemplo " +"``\"ftp\"`` é o esquema de URL em ``\"ftp://python.org/\"``) usando o " +"protocolo de rede associado a ele (como FTP e HTTP). Este tutorial foca no " +"caso mais comum, HTTP." #: ../../howto/urllib2.rst:41 msgid "" @@ -114,10 +114,10 @@ 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 msgid "Fetching URLs" @@ -133,6 +133,9 @@ msgid "" "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`::" #: ../../howto/urllib2.rst:74 msgid "" @@ -179,13 +182,19 @@ 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 " "can pass extra information (\"metadata\") *about* the data or about the " -"request itself, to the server - this information is sent as HTTP \"headers" -"\". Let's look at each of these in turn." +"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 msgid "Data" -msgstr "" +msgstr "Dados" #: ../../howto/urllib2.rst:107 msgid "" @@ -199,6 +208,16 @@ 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 msgid "" @@ -206,6 +225,10 @@ msgid "" "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 msgid "" @@ -219,6 +242,16 @@ 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 "" +"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:146 msgid "This is done as follows::" @@ -234,13 +267,15 @@ msgstr "" #: ../../howto/urllib2.rst:165 msgid "Headers" -msgstr "" +msgstr "Cabeçalhos" #: ../../howto/urllib2.rst:167 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 msgid "" @@ -254,6 +289,15 @@ 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 msgid "" @@ -261,6 +305,9 @@ msgid "" "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 msgid "Handling Exceptions" @@ -281,11 +328,11 @@ msgstr "" #: ../../howto/urllib2.rst:211 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 msgid "URLError" -msgstr "" +msgstr "URLError" #: ../../howto/urllib2.rst:216 msgid "" @@ -294,10 +341,14 @@ msgid "" "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 msgid "e.g. ::" -msgstr "" +msgstr "Por exemplo ::" #: ../../howto/urllib2.rst:232 msgid "HTTPError" @@ -319,6 +370,8 @@ msgstr "" 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 msgid "" @@ -328,7 +381,7 @@ msgstr "" #: ../../howto/urllib2.rst:248 msgid "Error Codes" -msgstr "" +msgstr "Códigos de erro" #: ../../howto/urllib2.rst:250 msgid "" @@ -336,6 +389,9 @@ msgid "" "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 msgid "" @@ -343,6 +399,9 @@ msgid "" "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 msgid "" @@ -355,7 +414,7 @@ msgstr "" #: ../../howto/urllib2.rst:346 msgid "Wrapping it Up" -msgstr "" +msgstr "Resumindo" #: ../../howto/urllib2.rst:348 msgid "" @@ -365,7 +424,7 @@ msgstr "" #: ../../howto/urllib2.rst:352 msgid "Number 1" -msgstr "" +msgstr "Número 1" #: ../../howto/urllib2.rst:374 msgid "" @@ -375,11 +434,11 @@ msgstr "" #: ../../howto/urllib2.rst:378 msgid "Number 2" -msgstr "" +msgstr "Número 2" #: ../../howto/urllib2.rst:399 msgid "info and geturl" -msgstr "" +msgstr "info e geturl" #: ../../howto/urllib2.rst:401 msgid "" @@ -395,6 +454,10 @@ msgid "" "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 msgid "" @@ -402,29 +465,43 @@ msgid "" "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 msgid "" "Typical headers include 'Content-length', 'Content-type', and so on. See the " -"`Quick Reference to HTTP Headers `_ for a " +"`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 msgid "Openers and Handlers" -msgstr "" +msgstr "Abridores e tratadores" #: ../../howto/urllib2.rst:422 msgid "" "When you fetch a URL you use an opener (an instance of the perhaps " -"confusingly-named :class:`urllib.request.OpenerDirector`). Normally we have " +"confusingly named :class:`urllib.request.OpenerDirector`). Normally we have " "been using the default opener - via ``urlopen`` - but you can create custom " "openers. Openers use handlers. All the \"heavy lifting\" is done by the " "handlers. Each handler knows how to open URLs for a particular URL scheme " "(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 msgid "" @@ -432,12 +509,17 @@ msgid "" "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 msgid "" "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 msgid "" @@ -446,12 +528,18 @@ msgid "" "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 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 msgid "" @@ -459,6 +547,9 @@ msgid "" "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 msgid "" @@ -466,10 +557,13 @@ msgid "" "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 msgid "Basic Authentication" -msgstr "" +msgstr "Autenticação básica" #: ../../howto/urllib2.rst:457 msgid "" @@ -487,10 +581,14 @@ msgid "" "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 msgid "e.g." -msgstr "" +msgstr "Por exemplo:" #: ../../howto/urllib2.rst:475 msgid "" @@ -499,6 +597,10 @@ msgid "" "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 msgid "" @@ -512,12 +614,25 @@ 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 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 msgid "" @@ -532,13 +647,21 @@ msgstr "" #: ../../howto/urllib2.rst:522 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. ``" -"\"http://example.com/\"`` *or* an \"authority\" (i.e. the hostname, " -"optionally including the port number) e.g. ``\"example.com\"`` or ``" -"\"example.com:8080\"`` (the latter example includes a port number). The " +"scheme component and the hostname and optionally the port number) e.g. " +"``\"http://example.com/\"`` *or* an \"authority\" (i.e. the hostname, " +"optionally including the port number) e.g. ``\"example.com\"`` or " +"``\"example.com:8080\"`` (the latter example includes a port number). The " "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 msgid "Proxies" @@ -553,6 +676,13 @@ 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 msgid "" @@ -560,22 +690,29 @@ msgid "" "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 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 msgid "Sockets and Layers" -msgstr "" +msgstr "Socekts e camadas" #: ../../howto/urllib2.rst:560 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 msgid "" @@ -586,6 +723,13 @@ msgid "" "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:586 msgid "Footnotes" @@ -593,7 +737,7 @@ msgstr "Notas de rodapé" #: ../../howto/urllib2.rst:588 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 msgid "Google for example." @@ -605,18 +749,25 @@ msgid "" "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 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 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 msgid "" @@ -625,6 +776,10 @@ msgid "" "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 msgid "" diff --git a/install/index.po b/install/index.po index aad6f76e0..963288803 100644 --- a/install/index.po +++ b/install/index.po @@ -1,34 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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 -# Ruan Aragão , 2021 -# Misael borges , 2021 -# Risaffi , 2021 -# felipe caridade , 2021 -# Rafael Fontenelle , 2021 -# Marco Rougeth , 2021 -# Claudio Rogerio Carvalho Filho , 2021 -# (Douglas da Silva) , 2021 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.10\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-07-27 13:07+0000\n" -"PO-Revision-Date: 2021-06-28 00:53+0000\n" -"Last-Translator: (Douglas da Silva) , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:57+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../install/index.rst:7 msgid "Installing Python Modules (Legacy version)" @@ -49,6 +42,10 @@ msgid "" "removed with the package. See the :ref:`What's New ` " "entry for more information." msgstr "" +"Todo o pacote ``distutils`` foi descontinuado e será removido no Python " +"3.12. Esta documentação é mantida apenas como referência e será removida com " +"o pacote. Veja a entrada no :ref:`O que há de novo ` " +"para mais informações." #: ../../install/index.rst:23 msgid ":ref:`installing-index`" @@ -145,7 +142,7 @@ msgid "" "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`. " +"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 " @@ -381,8 +378,8 @@ msgid "" "If you don't choose an installation directory---i.e., if you just run " "``setup.py install``\\ ---then the :command:`install` command installs to " "the standard location for third-party Python modules. This location varies " -"by platform and by how you built/installed Python itself. On Unix (and Mac " -"OS X, which is also Unix-based), it also depends on whether the module " +"by platform and by how you built/installed Python itself. On Unix (and " +"macOS, which is also Unix-based), it also depends on whether the module " "distribution being installed is pure Python or contains extensions (\"non-" "pure\"):" msgstr "" @@ -390,7 +387,7 @@ msgstr "" "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 Mac OS X, que também é baseado no Unix), também depende se a " +"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\"):" @@ -472,8 +469,8 @@ msgstr "" #: ../../install/index.rst:234 msgid "" -"The default installation directory on Windows was :file:`C:\\\\Program Files" -"\\\\Python` under Python 1.6a1, 1.5.2, and earlier." +"The default installation directory on Windows was :file:`C:\\\\Program " +"Files\\\\Python` under Python 1.6a1, 1.5.2, and earlier." msgstr "" "O diretório de instalação padrão no Windows era :file:`C:\\\\Program Files\\" "\\Python` no Python 1.6a1, 1.5.2 e anterior." @@ -483,7 +480,7 @@ 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 " -"Mac OS X. You can find out what your Python installation uses for :file:" +"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 --> " @@ -495,9 +492,9 @@ 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 Mac OS X. 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 " +"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 " @@ -610,13 +607,8 @@ msgid "" "Files will be installed into subdirectories of :data:`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 Mac OS X:" +"`site.USER_SITE`). Here are the values for UNIX, including macOS:" msgstr "" -"Os arquivos serão instalados em subdiretórios de :data:`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 :data:`site.USER_SITE`). Aqui estão os valores para UNIX, incluindo Mac " -"OS X:" #: ../../install/index.rst:318 ../../install/index.rst:329 #: ../../install/index.rst:380 ../../install/index.rst:429 @@ -1216,10 +1208,11 @@ msgstr "" "Distutils, que apresentam uma forte semelhança com variáveis de ambiente. Na " "verdade, você pode usar variáveis de ambiente em arquivos de configuração em " "plataformas que têm essa noção, mas os Distutils definem adicionalmente " -"algumas variáveis extras que podem não estar em seu ambiente, como ``" -"$PLAT``. (E, claro, em sistemas que não têm variáveis de ambiente, como Mac " -"OS 9, as variáveis de configuração fornecidas pelo Distutils são as únicas " -"que você pode usar.) Consulte a seção :ref:`inst-config-files` para detalhes." +"algumas variáveis extras que podem não estar em seu ambiente, como " +"``$PLAT``. (E, claro, em sistemas que não têm variáveis de ambiente, como " +"Mac OS 9, as variáveis de configuração fornecidas pelo Distutils são as " +"únicas que você pode usar.) Consulte a seção :ref:`inst-config-files` para " +"detalhes." #: ../../install/index.rst:629 msgid "" @@ -1402,12 +1395,9 @@ msgstr "Localização e nomes dos arquivos de configuração" #: ../../install/index.rst:737 msgid "" "The names and locations of the configuration files vary slightly across " -"platforms. On Unix and Mac OS X, the three configuration files (in the " -"order they are processed) are:" +"platforms. On Unix and macOS, the three configuration files (in the order " +"they are processed) are:" msgstr "" -"Os nomes e locais dos arquivos de configuração variam ligeiramente entre as " -"plataformas. No Unix e no Mac OS X, os três arquivos de configuração (na " -"ordem em que são processados) são:" #: ../../install/index.rst:742 ../../install/index.rst:754 msgid "Location and filename" @@ -1464,10 +1454,8 @@ msgstr "\\(5)" #: ../../install/index.rst:763 msgid "" "On all platforms, the \"personal\" file can be temporarily disabled by " -"passing the `--no-user-cfg` option." +"passing the ``--no-user-cfg`` option." msgstr "" -"Em todas as plataformas, o arquivo \"pessoal\" pode ser desativado " -"temporariamente passando a opção `--no-user-cfg`." #: ../../install/index.rst:769 msgid "" @@ -1515,9 +1503,9 @@ msgid "" 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 " +"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." @@ -1702,9 +1690,9 @@ msgid "" "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++``." +"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 @@ -1875,8 +1863,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 diff --git a/installing/index.po b/installing/index.po index 58087a7ad..81c58fe04 100644 --- a/installing/index.po +++ b/installing/index.po @@ -1,28 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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 -# Ruan Aragão , 2021 +# python-doc bot, 2025 # #, 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 00:54+0000\n" -"Last-Translator: Ruan Aragão , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:57+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../installing/index.rst:7 msgid "Installing Python Modules" @@ -127,12 +126,12 @@ msgstr "" #: ../../installing/index.rst:47 msgid "" -"The `Python Packaging Index `__ is a public repository of " +"The `Python Package Index `__ is a public repository of " "open source licensed packages made available for use by other Python users." msgstr "" -"O `Python Packaging Index ` __ é um repositório público de " -"pacotes licenciados de código aberto disponibilizados para uso por outros " -"usuários Python." +"O `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" #: ../../installing/index.rst:50 msgid "" @@ -178,8 +177,9 @@ 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 msgid "Basic usage" @@ -196,17 +196,17 @@ msgstr "" #: ../../installing/index.rst:80 msgid "" "The following command will install the latest version of a module and its " -"dependencies from the Python Packaging Index::" +"dependencies from the Python Package Index::" msgstr "" "O comando a seguir instalará a versão mais recente de um módulo e suas " -"dependências do Python Packaging Index::" +"dependências do Python Package Index::" #: ../../installing/index.rst:87 msgid "" -"For POSIX users (including Mac OS X and Linux users), the examples in this " +"For POSIX users (including macOS and Linux users), the examples in this " "guide assume the use of a :term:`virtual environment`." msgstr "" -"Para usuários POSIX (incluindo usuários Mac OS X e Linux), os exemplos neste " +"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 @@ -265,8 +265,9 @@ 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 msgid "How do I ...?" @@ -295,8 +296,9 @@ 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 msgid "... install packages just for the current user?" @@ -334,8 +336,9 @@ 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 msgid "... work with multiple versions of Python installed in parallel?" @@ -343,12 +346,12 @@ msgstr "... trabalho com várias versões do Python instaladas em paralelo?" #: ../../installing/index.rst:166 msgid "" -"On Linux, Mac OS X, and other POSIX systems, use the versioned Python " -"commands in combination with the ``-m`` switch to run the appropriate copy " -"of ``pip``::" +"On Linux, macOS, and other POSIX systems, use the versioned Python commands " +"in combination with the ``-m`` switch to run the appropriate copy of " +"``pip``::" msgstr "" -"No Linux, Mac OS X e outros sistemas POSIX, use os comandos Python com " -"versão em combinação com a opção ``-m`` para executar a cópia apropriada de " +"No Linux, macOS e outros sistemas POSIX, use os comandos Python com versão " +"em combinação com a opção ``-m`` para executar a cópia apropriada de " "``pip`` ::" #: ../../installing/index.rst:175 @@ -407,12 +410,12 @@ msgstr "" #: ../../installing/index.rst:216 msgid "" "There are also additional resources for `installing pip. `__" +"python.org/en/latest/tutorials/installing-packages/#ensure-pip-setuptools-" +"and-wheel-are-up-to-date>`__" msgstr "" "Existem também recursos adicionais para `instalar pip. `__" +"python.org/en/latest/tutorials/installing-packages/#ensure-pip-setuptools-" +"and-wheel-are-up-to-date>`__" #: ../../installing/index.rst:221 msgid "Installing binary extensions" @@ -431,16 +434,16 @@ msgstr "" #: ../../installing/index.rst:227 msgid "" "With the introduction of support for the binary ``wheel`` format, and the " -"ability to publish wheels for at least Windows and Mac OS X through the " -"Python Packaging Index, this problem is expected to diminish over time, as " -"users are more regularly able to install pre-built extensions rather than " -"needing to build them themselves." +"ability to publish wheels for at least Windows and macOS through the Python " +"Package Index, this problem is expected to diminish over time, as users are " +"more regularly able to install pre-built extensions rather than needing to " +"build them themselves." msgstr "" "Com a introdução do suporte para o formato binário ``wheel`` e a capacidade " -"de publicar wheels para pelo menos Windows e Mac OS X através do Python " -"Packaging Index, espera-se que este problema diminua com o tempo, à medida " -"que os usuários são mais capazes para instalar extensões pré-construídas em " -"vez de precisar construí-las eles próprios." +"de publicar wheels para pelo menos Windows e macOS através do Python Package " +"Index, espera-se que este problema diminua com o tempo, à medida que os " +"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 msgid "" @@ -459,5 +462,5 @@ msgid "" "`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 90e7fbd43..d966ce790 100644 --- a/library/2to3.po +++ b/library/2to3.po @@ -1,33 +1,31 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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 -# Sheila Gomes , 2021 -# Claudio Rogerio Carvalho Filho , 2021 -# Octavio von Sydow , 2021 +# python-doc bot, 2025 # #, 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 00:54+0000\n" -"Last-Translator: Octavio von Sydow , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:57+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/2to3.rst:4 -msgid "2to3 - Automated Python 2 to 3 code translation" -msgstr "2to3 - Tradução Automatizada de Código Python 2 para 3" +msgid "2to3 --- Automated Python 2 to 3 code translation" +msgstr "2to3 --- Tradução Automatizada de Código Python 2 para 3" #: ../../library/2to3.rst:8 msgid "" @@ -279,11 +277,11 @@ msgid "Replaces deprecated :mod:`unittest` method names with the correct ones." msgstr "" "Substitui o nome de método descontinuado :mod:`unittest` pelo nome correto." -#: ../../library/2to3.rst:162 ../../library/2to3.rst:350 +#: ../../library/2to3.rst:162 ../../library/2to3.rst:351 msgid "From" msgstr "De" -#: ../../library/2to3.rst:162 ../../library/2to3.rst:350 +#: ../../library/2to3.rst:162 ../../library/2to3.rst:351 msgid "To" msgstr "Para" @@ -567,14 +565,18 @@ msgstr "" "__next__`." #: ../../library/2to3.rst:336 -msgid "Renames :meth:`__nonzero__` to :meth:`~object.__bool__`." -msgstr "Renomeia o método :meth:`__nonzero__` para :meth:`~object.__bool__`." +msgid "" +"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__`." -#: ../../library/2to3.rst:340 +#: ../../library/2to3.rst:341 msgid "Converts octal literals into the new syntax." msgstr "Converte os literais octal para a nova sintaxe." -#: ../../library/2to3.rst:344 +#: ../../library/2to3.rst:345 msgid "" "Converts calls to various functions in the :mod:`operator` module to other, " "but equivalent, function calls. When needed, the appropriate ``import`` " @@ -586,63 +588,63 @@ msgstr "" "adicionadas as declarações ``import`` adequadas, por exemplo ``import " "collections.abc``. Os seguintes mapeamento são feitos:" -#: ../../library/2to3.rst:352 +#: ../../library/2to3.rst:353 msgid "``operator.isCallable(obj)``" msgstr "``operator.isCallable(obj)``" -#: ../../library/2to3.rst:352 +#: ../../library/2to3.rst:353 msgid "``callable(obj)``" msgstr "``callable(obj)``" -#: ../../library/2to3.rst:353 +#: ../../library/2to3.rst:354 msgid "``operator.sequenceIncludes(obj)``" msgstr "``operator.sequenceIncludes(obj)``" -#: ../../library/2to3.rst:353 +#: ../../library/2to3.rst:354 msgid "``operator.contains(obj)``" msgstr "``operator.contains(obj)``" -#: ../../library/2to3.rst:354 +#: ../../library/2to3.rst:355 msgid "``operator.isSequenceType(obj)``" msgstr "``operator.isSequenceType(obj)``" -#: ../../library/2to3.rst:354 +#: ../../library/2to3.rst:355 msgid "``isinstance(obj, collections.abc.Sequence)``" msgstr "``isinstance(obj, collections.abc.Sequence)``" -#: ../../library/2to3.rst:355 +#: ../../library/2to3.rst:356 msgid "``operator.isMappingType(obj)``" msgstr "``operator.isMappingType(obj)``" -#: ../../library/2to3.rst:355 +#: ../../library/2to3.rst:356 msgid "``isinstance(obj, collections.abc.Mapping)``" msgstr "``isinstance(obj, collections.abc.Mapping)``" -#: ../../library/2to3.rst:356 +#: ../../library/2to3.rst:357 msgid "``operator.isNumberType(obj)``" msgstr "``operator.isNumberType(obj)``" -#: ../../library/2to3.rst:356 +#: ../../library/2to3.rst:357 msgid "``isinstance(obj, numbers.Number)``" msgstr "``isinstance(obj, numbers.Number)``" -#: ../../library/2to3.rst:357 +#: ../../library/2to3.rst:358 msgid "``operator.repeat(obj, n)``" msgstr "``operator.repeat(obj, n)``" -#: ../../library/2to3.rst:357 +#: ../../library/2to3.rst:358 msgid "``operator.mul(obj, n)``" msgstr "``operator.mul(obj, n)``" -#: ../../library/2to3.rst:358 +#: ../../library/2to3.rst:359 msgid "``operator.irepeat(obj, n)``" msgstr "``operator.irepeat(obj, n)``" -#: ../../library/2to3.rst:358 +#: ../../library/2to3.rst:359 msgid "``operator.imul(obj, n)``" msgstr "``operator.imul(obj, n)``" -#: ../../library/2to3.rst:363 +#: ../../library/2to3.rst:364 msgid "" "Add extra parenthesis where they are required in list comprehensions. For " "example, ``[x for x in 1, 2]`` becomes ``[x for x in (1, 2)]``." @@ -651,11 +653,11 @@ msgstr "" "comprehensions. Por exemplo, ``[x for x in 1, 2]`` se torna ``[x for x in " "(1, 2)]``." -#: ../../library/2to3.rst:368 +#: ../../library/2to3.rst:369 msgid "Converts the ``print`` statement to the :func:`print` function." msgstr "Converte a declaração ``print`` para a função :func:`print`." -#: ../../library/2to3.rst:372 +#: ../../library/2to3.rst:373 msgid "" "Converts ``raise E, V`` to ``raise E(V)``, and ``raise E, V, T`` to ``raise " "E(V).with_traceback(T)``. If ``E`` is a tuple, the translation will be " @@ -666,27 +668,27 @@ msgstr "" "incorreta porque a substituição de tuplas por exceções foi removida no " "Python 3x." -#: ../../library/2to3.rst:378 +#: ../../library/2to3.rst:379 msgid "Converts :func:`raw_input` to :func:`input`." msgstr "Converte a função :func:`raw_input` para :func:`input`." -#: ../../library/2to3.rst:382 +#: ../../library/2to3.rst:383 msgid "Handles the move of :func:`reduce` to :func:`functools.reduce`." msgstr "Manipula o movimento de :func:`reduce` para :func:`functools.reduce`." -#: ../../library/2to3.rst:386 +#: ../../library/2to3.rst:387 msgid "Converts :func:`reload` to :func:`importlib.reload`." msgstr "Converte a função :func:`reload` para :func:`importlib:reload`." -#: ../../library/2to3.rst:390 +#: ../../library/2to3.rst:391 msgid "Changes :data:`sys.maxint` to :data:`sys.maxsize`." msgstr "Altera o :data:`sys.maxint` para :data:`sys.maxsize`." -#: ../../library/2to3.rst:394 +#: ../../library/2to3.rst:395 msgid "Replaces backtick repr with the :func:`repr` function." msgstr "Substitui o repr de backtick pela função :func:`repr`." -#: ../../library/2to3.rst:398 +#: ../../library/2to3.rst:399 msgid "" "Replaces use of the :class:`set` constructor with set literals. This fixer " "is optional." @@ -694,11 +696,11 @@ msgstr "" "Substitui o uso da classe :class:`set` construtor pelo seu literal. Este " "fixador é opcional." -#: ../../library/2to3.rst:403 +#: ../../library/2to3.rst:404 msgid "Renames :exc:`StandardError` to :exc:`Exception`." msgstr "Renomeia :exc:`StandardError` para :exc:`Exception`." -#: ../../library/2to3.rst:407 +#: ../../library/2to3.rst:408 msgid "" "Changes the deprecated :data:`sys.exc_value`, :data:`sys.exc_type`, :data:" "`sys.exc_traceback` to use :func:`sys.exc_info`." @@ -706,11 +708,11 @@ 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`." -#: ../../library/2to3.rst:412 +#: ../../library/2to3.rst:413 msgid "Fixes the API change in generator's :meth:`throw` method." msgstr "Corrige a mudança de API no método gerador :meth:`throw`." -#: ../../library/2to3.rst:416 +#: ../../library/2to3.rst:417 msgid "" "Removes implicit tuple parameter unpacking. This fixer inserts temporary " "variables." @@ -718,7 +720,7 @@ msgstr "" "Remove o desempacotamento implícito do parâmetro da tupla. Este fixador " "insere variáveis temporárias." -#: ../../library/2to3.rst:421 +#: ../../library/2to3.rst:422 msgid "" "Fixes code broken from the removal of some members in the :mod:`types` " "module." @@ -726,11 +728,11 @@ msgstr "" "Corrige o código quebrado pela remoção de alguns membros no módulo :mod:" "`types`." -#: ../../library/2to3.rst:426 +#: ../../library/2to3.rst:427 msgid "Renames :class:`unicode` to :class:`str`." msgstr "Renomeia a classe :class:`unicode` para :class:`str`." -#: ../../library/2to3.rst:430 +#: ../../library/2to3.rst:431 msgid "" "Handles the rename of :mod:`urllib` and :mod:`urllib2` to the :mod:`urllib` " "package." @@ -738,7 +740,7 @@ msgstr "" "Manipula a renomeação dos módulos :mod:`urllib` e :mod:`urllib2` para o " "pacote :mod:`urllib`." -#: ../../library/2to3.rst:435 +#: ../../library/2to3.rst:436 msgid "" "Removes excess whitespace from comma separated items. This fixer is " "optional." @@ -746,7 +748,7 @@ msgstr "" "Remove o espaço excessivo de itens separados por vírgulas. Este fixador é " "opcional." -#: ../../library/2to3.rst:440 +#: ../../library/2to3.rst:441 msgid "" "Renames :func:`xrange` to :func:`range` and wraps existing :func:`range` " "calls with :class:`list`." @@ -754,11 +756,11 @@ msgstr "" "Renomeia a função :func:`xrange` para :func:`range` e encapsula a chamada " "para função existente :func:`range` com :class:`list`." -#: ../../library/2to3.rst:445 +#: ../../library/2to3.rst:446 msgid "Changes ``for x in file.xreadlines()`` to ``for x in file``." msgstr "Altera de ``for x in file.xreadlines()`` para ``for x in file``." -#: ../../library/2to3.rst:449 +#: ../../library/2to3.rst:450 msgid "" "Wraps :func:`zip` usage in a :class:`list` call. This is disabled when " "``from future_builtins import zip`` appears." @@ -766,30 +768,36 @@ msgstr "" "Encapsula o uso da função :func:`zip` na chamada a classe :class:`list`. " "Isso está desativado quando ``from future_builtins import zip`` aparecer." -#: ../../library/2to3.rst:454 -msgid ":mod:`lib2to3` - 2to3's library" -msgstr ":mod:`lib2to3` - biblioteca 2to3's" +#: ../../library/2to3.rst:455 +msgid ":mod:`lib2to3` --- 2to3's library" +msgstr ":mod:`lib2to3` --- biblioteca do 2to3" -#: ../../library/2to3.rst:463 +#: ../../library/2to3.rst:464 msgid "**Source code:** :source:`Lib/lib2to3/`" msgstr "**Código-fonte:** :source:`Lib/lib2to3/`" -#: ../../library/2to3.rst:467 -msgid "" -"Python 3.9 will switch to a PEG parser (see :pep:`617`), and Python 3.10 may " -"include new language syntax that is not parsable by lib2to3's LL(1) parser. " -"The ``lib2to3`` module may be removed from the standard library in a future " -"Python version. Consider third-party alternatives such as `LibCST`_ or " -"`parso`_." -msgstr "" -"O Python 3.9 mudará para um analisador de gramática de análise sintática de " -"expressão ou GASE (consulte :pep:`617`) e o Python 3.10 pode incluir uma " -"nova sintaxe de idioma que não é analisável pelo analisador LL(1) da " -"lib2to3. O módulo ``lib2to3`` pode ser removido da biblioteca padrão em uma " -"versão futura do Python. Considere alternativas de terceiros, como `LibCST`_ " -"ou `parso`_." - -#: ../../library/2to3.rst:476 +#: ../../library/2to3.rst:477 +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`_." +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`_." + +#: ../../library/2to3.rst:480 msgid "" "The :mod:`lib2to3` API should be considered unstable and may change " "drastically in the future." diff --git a/library/__future__.po b/library/__future__.po index b2b210b71..02cceb8a4 100644 --- a/library/__future__.po +++ b/library/__future__.po @@ -1,29 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, Python Software 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 -# Octavio von Sydow , 2021 -# Hildeberto Abreu Magalhães , 2021 +# python-doc bot, 2025 # #, 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 00:54+0000\n" -"Last-Translator: Hildeberto Abreu Magalhães , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2026-01-23 17:24+0000\n" +"PO-Revision-Date: 2025-09-22 15:57+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/__future__.rst:2 msgid ":mod:`__future__` --- Future statement definitions" @@ -31,7 +29,7 @@ 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:" @@ -43,7 +41,7 @@ msgid "" "to find the modules they're importing." 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." +"de importação e esperam encontrar os módulos sendo importados." #: ../../library/__future__.rst:16 msgid "" @@ -106,8 +104,8 @@ msgid "" 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." +"instrução future para usar o recurso em questão, mas podem continuar a usar " +"essas importações." #: ../../library/__future__.rst:51 msgid "" @@ -181,7 +179,7 @@ msgstr ":pep:`227`: *Statically Nested Scopes*" #: ../../library/__future__.rst:72 msgid "generators" -msgstr "geradores" +msgstr "generators" #: ../../library/__future__.rst:72 msgid "2.2.0a1" @@ -281,17 +279,36 @@ msgid "3.7.0b1" msgstr "3.7.0b1" #: ../../library/__future__.rst:93 -msgid "3.11" -msgstr "3.11" +msgid "TBD [1]_" +msgstr "Para ser feito [1]_" #: ../../library/__future__.rst:93 msgid ":pep:`563`: *Postponed evaluation of annotations*" msgstr ":pep:`563`: *Postponed evaluation of annotations*" -#: ../../library/__future__.rst:102 +#: ../../library/__future__.rst:100 +msgid "" +"``from __future__ import annotations`` was previously scheduled to become " +"mandatory in Python 3.10, but the Python Steering Council twice decided to " +"delay the change (`announcement for Python 3.10 `__; `announcement for Python 3.11 `__). No " +"final decision has been made yet. See also :pep:`563` and :pep:`649`." +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 (`anúncio para o Python 3.10 `__; `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 msgid ":ref:`future`" msgstr ":ref:`future`" -#: ../../library/__future__.rst:103 +#: ../../library/__future__.rst:111 msgid "How the compiler treats future imports." msgstr "Como o compilador trata as importações de future." diff --git a/library/__main__.po b/library/__main__.po index 2502e7636..47fc2eba6 100644 --- a/library/__main__.po +++ b/library/__main__.po @@ -1,62 +1,512 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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 -# Octavio von Sydow , 2021 +# python-doc bot, 2025 # #, 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 00:54+0000\n" -"Last-Translator: Octavio von Sydow , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:57+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" -#: ../../library/__main__.rst:3 -msgid ":mod:`__main__` --- Top-level script environment" -msgstr ":mod:`__main__` --- Ambiente de Script de Nível Superior" +#: ../../library/__main__.rst:2 +msgid ":mod:`__main__` --- Top-level code environment" +msgstr ":mod:`__main__` --- Ambiente de código principal" #: ../../library/__main__.rst:10 msgid "" -"``'__main__'`` is the name of the scope in which top-level code executes. A " -"module's __name__ is set equal to ``'__main__'`` when read from standard " -"input, a script, or from an interactive prompt." +"In Python, the special name ``__main__`` is used for two important " +"constructs:" +msgstr "" +"Em Python, o nome especial ``__main__`` é usado em duas construções " +"importantes:" + +#: ../../library/__main__.rst:12 +msgid "" +"the name of the top-level environment of the program, which can be checked " +"using the ``__name__ == '__main__'`` expression; and" msgstr "" -"``'__main__'`` é o nome do escopo no qual o código de nível mais alto " -"executa. O `__name__` do módulo é definido como ``'__main__'`` quando for " -"lido a partir de uma entrada padrão, um script ou uma tela de comando " -"interativo." +"O nome do ambiente principal do programa, que pode ser verificado usando a " +"expressão ``__name__ == '__main__'``; e" #: ../../library/__main__.rst:14 +msgid "the ``__main__.py`` file in Python packages." +msgstr "o arquivo ``__main__.py`` em pacotes Python." + +#: ../../library/__main__.rst:16 +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." +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." + +#: ../../library/__main__.rst:25 +msgid "``__name__ == '__main__'``" +msgstr "``__name__ == '__main__'``" + +#: ../../library/__main__.rst:27 +msgid "" +"When a Python module or package is imported, ``__name__`` is set to the " +"module's name. Usually, this is the name of the Python file itself without " +"the ``.py`` extension::" +msgstr "" +"Quando um pacote ou módulo Python é importado, ``__name__`` é definido como " +"o nome do módulo. Normalmente, este é o nome do próprio arquivo Python sem a " +"extensão ``.py``::" + +#: ../../library/__main__.rst:35 +msgid "" +"If the file is part of a package, ``__name__`` will also include the parent " +"package's path::" +msgstr "" +"Caso o arquivo seja parte de um pacote, ``__name__`` também incluirá o nome " +"da pasta raiz do pacote." + +#: ../../library/__main__.rst:42 +msgid "" +"However, if the module is executed in the top-level code environment, its " +"``__name__`` is set to the string ``'__main__'``." +msgstr "" +"Porém, se o módulo for executado como o código principal, ``__name__`` passa " +"a ser definido como a string ``'__main__'``" + +#: ../../library/__main__.rst:46 +msgid "What is the \"top-level code environment\"?" +msgstr "O que é o \"ambiente de código principal\"?" + +#: ../../library/__main__.rst:48 +msgid "" +"``__main__`` is the name of the environment where top-level code is run. " +"\"Top-level code\" is the first user-specified Python module that starts " +"running. It's \"top-level\" because it imports all other modules that the " +"program needs. Sometimes \"top-level code\" is called an *entry point* to " +"the application." +msgstr "" +"``__main__`` é o nome do ambiente principal no qual o código é executado. " +"\"Ambiente de código principal\" é o primeiro módulo Python definido pelo " +"usuário que começa a ser executado. É considerado principal porque ele " +"importa todos os outros módulos que o programa precisa. As vezes, \"ambiente " +"principal\" também pode ser chamado de \"ponto de entrada\" da aplicação." + +#: ../../library/__main__.rst:53 +msgid "The top-level code environment can be:" +msgstr "O ambiente de código principal pode ser:" + +#: ../../library/__main__.rst:55 +msgid "the scope of an interactive prompt::" +msgstr "o escopo de um prompt de comando interativo:" + +#: ../../library/__main__.rst:60 +msgid "the Python module passed to the Python interpreter as a file argument:" +msgstr "" +"o módulo Python passado ao interpretador do Python como um argumento " +"correspondente ao nome do arquivo:" + +#: ../../library/__main__.rst:67 +msgid "" +"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`:" + +#: ../../library/__main__.rst:75 +msgid "Python code read by the Python interpreter from standard input:" +msgstr "" +"código Python lido pelo interpretador através da entrada padrão de linha de " +"comando:" + +#: ../../library/__main__.rst:86 +msgid "" +"Python code passed to the Python interpreter with the :option:`-c` argument:" +msgstr "" +"código Python passado ao interpretador do Python com o argumento :option:`-" +"c`:" + +#: ../../library/__main__.rst:97 +msgid "" +"In each of these situations, the top-level module's ``__name__`` is set to " +"``'__main__'``." +msgstr "" +"Em cada uma destas situações, a variável especial ``__name__`` passa a ser " +"definida como ``'__main__'``." + +#: ../../library/__main__.rst:100 +msgid "" +"As a result, a module can discover whether or not it is running in the top-" +"level environment by checking its own ``__name__``, which allows a common " +"idiom for conditionally executing code when the module is not initialized " +"from an import statement::" +msgstr "" +"Como resultado, um módulo pode saber se está ou não sendo executado no " +"ambiente principal verificando seu próprio ``__name__``, que habilita um " +"termo comum para executar código condicionalmente quando o módulo não é " +"inicializado a partir de uma instrução de importação::" + +#: ../../library/__main__.rst:111 +msgid "" +"For a more detailed look at how ``__name__`` is set in all situations, see " +"the tutorial section :ref:`tut-modules`." +msgstr "" +"Para uma visão mais detalhada sobre como ``__name__`` é definido em todas as " +"situações, veja a sessão :ref:`tut-modules`." + +#: ../../library/__main__.rst:116 ../../library/__main__.rst:239 +msgid "Idiomatic Usage" +msgstr "Uso idiomático" + +#: ../../library/__main__.rst:118 +msgid "" +"Some modules contain code that is intended for script use only, like parsing " +"command-line arguments or fetching data from standard input. If a module " +"like this was imported from a different module, for example to unit test it, " +"the script code would unintentionally execute as well." +msgstr "" +"Alguns módulos contém códigos que são específicos para serem usados como " +"scripts, como análise de argumentos através de linha de comando ou leitura " +"de dados da entrada padrão. Se um módulo como o citado for importado em um " +"outro módulo diferente, por exemplo em testes unitários, o código do script " +"também seria executado de forma indesejada." + +#: ../../library/__main__.rst:123 +msgid "" +"This is where using the ``if __name__ == '__main__'`` code block comes in " +"handy. Code within this block won't run unless the module is executed in the " +"top-level environment." +msgstr "" +"É aqui onde o uso do trecho de código ``if __name__ == '__main__'`` revela-" +"se útil. Os códigos dentro desta condicional não rodarão ao não ser que o " +"módulo seja executado através do ambiente principal." + +#: ../../library/__main__.rst:127 +msgid "" +"Putting as few statements as possible in the block below ``if __name___ == " +"'__main__'`` can improve code clarity and correctness. Most often, a " +"function named ``main`` encapsulates the program's primary behavior::" +msgstr "" +"Colocar o mínimo de instruções possível no bloco abaixo de ``if __name___ == " +"'__main__'`` pode melhorar a clareza e a precisão do código. Na maioria das " +"vezes, uma função chamada de ``main`` encapsula o comportamento principal do " +"programa::" + +#: ../../library/__main__.rst:151 +msgid "" +"Note that if the module didn't encapsulate code inside the ``main`` function " +"but instead put it directly within the ``if __name__ == '__main__'`` block, " +"the ``phrase`` variable would be global to the entire module. This is error-" +"prone as other functions within the module could be unintentionally using " +"the global variable instead of a local name. A ``main`` function solves " +"this problem." +msgstr "" +"Repare quem se o módulo, ao invés de ter encapsulado o código dentro da " +"função ``main``, fosse colocado direto dentro do bloco ``if __name__ == " +"'__main__'``, a variável ``phrase`` seria global para todo o módulo. Isto é " +"suscetível à erros pois outras funções dentro do módulo poderiam " +"inadvertidamente usar a variável global ao invés da local. A função ``main`` " +"resolve este problema." + +#: ../../library/__main__.rst:158 +msgid "" +"Using a ``main`` function has the added benefit of the ``echo`` function " +"itself being isolated and importable elsewhere. When ``echo.py`` is " +"imported, the ``echo`` and ``main`` functions will be defined, but neither " +"of them will be called, because ``__name__ != '__main__'``." +msgstr "" +"O uso da função ``main`` tem o benefício adicional de a própria função " +"``echo`` ser isolada e importável em outro lugar. Quando ``echo.py`` é " +"importado, as funções ``echo`` e ``main`` serão definidas, mas nenhuma delas " +"será chamada por conta do bloco ``__name__ != '__main__'``." + +#: ../../library/__main__.rst:165 +msgid "Packaging Considerations" +msgstr "Considerações sobre pacotes" + +#: ../../library/__main__.rst:167 +msgid "" +"``main`` functions are often used to create command-line tools by specifying " +"them as entry points for console scripts. When this is done, `pip `_ 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 " +"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 " +"para :func:`sys.exit`. Por exemplo::" + +#: ../../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)." +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)." + +#: ../../library/__main__.rst:180 +msgid "" +"By proactively following this convention ourselves, our module will have the " +"same behavior when run directly (i.e. ``python3 echo.py``) as it will have " +"if we later package it as a console script entry-point in a pip-installable " +"package." +msgstr "" +"Seguindo proativamente essa convenção, nosso módulo terá o mesmo " +"comportamento quando executado diretamente (ou seja, ``python3 echo.py``) " +"como terá também se posteriormente criarmos um pacote como um ponto de " +"entrada de script de console em um pacote instalável via pip." + +#: ../../library/__main__.rst:185 +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())`` " +"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())``." + +#: ../../library/__main__.rst:193 +msgid "" +"`Python Packaging User Guide `_ contains a " +"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." + +#: ../../library/__main__.rst:199 +msgid "``__main__.py`` in Python Packages" +msgstr "``__main__.py`` em pacotes Python" + +#: ../../library/__main__.rst:201 +msgid "" +"If you are not familiar with Python packages, see section :ref:`tut-" +"packages` of the tutorial. Most commonly, the ``__main__.py`` file is used " +"to provide a command-line interface for a package. Consider the following " +"hypothetical package, \"bandclass\":" +msgstr "" +"Se você não estiver familiarizado com pacotes Python, veja a seção :ref:`tut-" +"packages` do tutorial. Mais comumente, o arquivo ``__main__.py`` é usado " +"para fornecer uma interface de linha de comando para um pacote. Considere o " +"seguinte pacote hipotético, \"bandclass\":" + +#: ../../library/__main__.rst:213 +msgid "" +"``__main__.py`` will be executed when the package itself is invoked directly " +"from the command line using the :option:`-m` flag. For example:" +msgstr "" +"``__main__.py`` será executado quando o próprio pacote for invocado " +"diretamente da linha de comando usando o sinalizador :option:`-m`. Por " +"exemplo:" + +#: ../../library/__main__.rst:220 +msgid "" +"This command will cause ``__main__.py`` to run. How you utilize this " +"mechanism will depend on the nature of the package you are writing, but in " +"this hypothetical case, it might make sense to allow the teacher to search " +"for students::" +msgstr "" +"Este comando fará com que ``__main__.py`` seja executado. Como você utiliza " +"esse mecanismo dependerá da natureza do pacote que você está escrevendo, mas " +"neste caso hipotético, pode fazer sentido permitir que o professor procure " +"alunos::" + +#: ../../library/__main__.rst:233 +msgid "" +"Note that ``from .student import search_students`` is an example of a " +"relative import. This import style can be used when referencing modules " +"within a package. For more details, see :ref:`intra-package-references` in " +"the :ref:`tut-modules` section of the tutorial." +msgstr "" +"Observe que ``from .student import search_students`` é um exemplo de " +"importação relativa. Esse estilo de importação pode ser usado ao fazer " +"referência a módulos em um pacote. Para mais detalhes, veja :ref:`intra-" +"package-references` na seção :ref:`tut-modules` do tutorial." + +#: ../../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." +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." + +#: ../../library/__main__.rst:246 +msgid "" +"If used, an ``if __name__ == '__main__'`` block will still work as expected " +"for a ``__main__.py`` file within a package, because its ``__name__`` " +"attribute will include the package's path if imported::" +msgstr "" +"Se usado, o bloco condicional ``if __name__ == '__main__'`` ainda funcionará " +"como esperado para o arquivo ``__main__.py`` dentro de um pacote, pois seu " +"atributo ``__name__`` incluirá o caminho do pacote se importado::" + +#: ../../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." +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." + +#: ../../library/__main__.rst:260 +msgid "" +"See :mod:`venv` for an example of a package with a minimal ``__main__.py`` " +"in the standard library. It doesn't contain a ``if __name__ == '__main__'`` " +"block. You can invoke it with ``python -m venv [directory]``." +msgstr "" +"Veja :mod:`venv`, da biblioteca padrão, para um exemplo de pacote com um " +"``__main__.py`` minimalista. Ele não contém um bloco ``if __name__ == " +"'__main__'``. Você pode invocá-lo com ``python -m venv [directory]``." + +#: ../../library/__main__.rst:264 +msgid "" +"See :mod:`runpy` for more details on the :option:`-m` flag to the " +"interpreter executable." +msgstr "" +"Veja :mod:`runpy` para mais detalhes sobre o sinalizador :option:`-m` para o " +"executável do interpretador." + +#: ../../library/__main__.rst:267 +msgid "" +"See :mod:`zipapp` for how to run applications packaged as *.zip* files. In " +"this case Python looks for a ``__main__.py`` file in the root directory of " +"the archive." +msgstr "" +"Veja :mod:`zipapp` para saber como executar aplicativos compactados como " +"arquivos *.zip*. Nesse caso, o Python procura um arquivo ``__main__.py`` no " +"diretório raiz do arquivo." + +#: ../../library/__main__.rst:274 +msgid "``import __main__``" +msgstr "``import __main__``" + +#: ../../library/__main__.rst:276 +msgid "" +"Regardless of which module a Python program was started with, other modules " +"running within that same program can import the top-level environment's " +"scope (:term:`namespace`) by importing the ``__main__`` module. This " +"doesn't import a ``__main__.py`` file but rather whichever module that " +"received the special name ``'__main__'``." +msgstr "" +"Independentemente do módulo com o qual um programa Python foi iniciado, " +"outros módulos executados no mesmo programa podem importar o escopo do " +"ambiente principal (:term:`espaço de nomes`) importando o módulo " +"``__main__``. Isso não faz a importação de um arquivo ``__main__.py``, mas " +"sim qualquer módulo que recebeu o nome especial ``'__main__'``." + +#: ../../library/__main__.rst:282 +msgid "Here is an example module that consumes the ``__main__`` namespace::" +msgstr "" +"Aqui está um módulo de exemplo que consome o espaço de nomes ``__main__``::" + +#: ../../library/__main__.rst:300 +msgid "Example usage of this module could be as follows::" +msgstr "Exemplo de uso deste módulo pode ser como abaixo::" + +#: ../../library/__main__.rst:319 +msgid "Now, if we started our program, the result would look like this:" +msgstr "Agora, se iniciarmos nosso programa, o resultado seria assim:" + +#: ../../library/__main__.rst:326 +msgid "" +"The exit code of the program would be 1, indicating an error. Uncommenting " +"the line with ``my_name = \"Dinsdale\"`` fixes the program and now it exits " +"with status code 0, indicating success:" +msgstr "" +"O código de saída do programa seria 1, indicando um erro. Descomentar a " +"linha com ``my_name = \"Dinsdale\"`` corrige o programa e agora ele sai com " +"o código de status 0, indicando sucesso:" + +#: ../../library/__main__.rst:335 +msgid "" +"Note that importing ``__main__`` doesn't cause any issues with " +"unintentionally running top-level code meant for script use which is put in " +"the ``if __name__ == \"__main__\"`` block of the ``start`` module. Why does " +"this work?" +msgstr "" +"Observe que a importação de ``__main__`` não causa nenhum problema com a " +"execução involuntária de código principal destinado ao uso de script que é " +"colocado no bloco ``if __name__ == \"__main__\"`` do módulo ``start``. Por " +"que isso funciona?" + +#: ../../library/__main__.rst:339 +msgid "" +"Python inserts an empty ``__main__`` module in :attr:`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 " +"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 " +"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." + +#: ../../library/__main__.rst:348 +msgid "" +"The Python REPL is another example of a \"top-level environment\", so " +"anything defined in the REPL becomes part of the ``__main__`` scope::" +msgstr "" +"O REPL do Python é outro exemplo de um \"ambiente principal\", então " +"qualquer coisa definida no REPL se torna parte do escopo do ``__main__``::" + +#: ../../library/__main__.rst:364 msgid "" -"A module can discover whether or not it is running in the main scope by " -"checking its own ``__name__``, which allows a common idiom for conditionally " -"executing code in a module when it is run as a script or with ``python -m`` " -"but not when it is imported::" +"Note that in this case the ``__main__`` scope doesn't contain a ``__file__`` " +"attribute as it's interactive." msgstr "" -"Um módulo pode verificar se está ou não rodando no escopo principal, " -"verificando seu próprio ``__name__``, o que permite expressões para executar " -"condicionalmente o código em um módulo quando esse executa como um script ou " -"com ``python -m`` mas não quando esse é importado::" +"Note que neste caso o escopo ``__main__`` não contém um atributo " +"``__file__``, pois é interativo." -#: ../../library/__main__.rst:23 +#: ../../library/__main__.rst:367 msgid "" -"For a package, the same effect can be achieved by including a ``__main__." -"py`` module, the contents of which will be executed when the module is run " -"with ``-m``." +"The ``__main__`` scope is used in the implementation of :mod:`pdb` and :mod:" +"`rlcompleter`." msgstr "" -"Para um pacote, o mesmo resultado pode ser obtido incluindo um módulo " -"``__main__.py`` , o conteúdo desse será executado quando rodar o módulo com " -"``-m``" +"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 bc0b4740e..6c06068b4 100644 --- a/library/_thread.po +++ b/library/_thread.po @@ -1,31 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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: -# Sheila Gomes , 2021 -# Jose Rafael Amaral , 2021 -# Octavio von Sydow , 2021 -# Marcos Jurach , 2021 -# Fabio Aragao , 2021 -# Rafael Fontenelle , 2021 +# python-doc bot, 2025 # #, 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 00:54+0000\n" -"Last-Translator: Rafael Fontenelle , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:57+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/_thread.rst:2 msgid ":mod:`_thread` --- Low-level threading API" @@ -41,11 +37,11 @@ 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 " +"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 @@ -62,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 "" @@ -74,14 +70,14 @@ 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 "" @@ -93,8 +89,8 @@ 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)." +"pilha de execução) é exibido e, em seguida, a thread termina (mas outras " +"threads continuam a ser executadas)." #: ../../library/_thread.rst:57 msgid "" @@ -105,7 +101,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 "" @@ -113,22 +109,29 @@ msgid "" "use this function to interrupt the main thread, though there is no guarantee " "that the interruption will happen immediately." msgstr "" +"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." msgstr "" +"Se fornecido, *signum* é o número do sinal a ser simulado. Se *signum* não " +"for fornecido, :data:`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." 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." #: ../../library/_thread.rst:77 msgid "The *signum* argument is added to customize the signal number." -msgstr "" +msgstr "O argumento *signum* é adicionado para personalizar o sinal de número." #: ../../library/_thread.rst:81 msgid "" @@ -136,22 +139,25 @@ msgid "" "associated handler (if it exists). If you want to truly emit the signal, " "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`." #: ../../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 "" @@ -241,7 +247,7 @@ msgstr "" #: ../../library/_thread.rst:155 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:160 msgid "" @@ -250,42 +256,34 @@ 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:164 msgid "" -"If the integer *waitflag* argument is present, the action depends on its " -"value: if it is zero, the lock is only acquired if it can be acquired " -"immediately without waiting, while if it is nonzero, the lock is acquired " -"unconditionally as above." +"If the *blocking* argument is present, the action depends on its value: if " +"it is False, the lock is only acquired if it can be acquired immediately " +"without waiting, while if it is True, the lock is acquired unconditionally " +"as above." msgstr "" -"Se o argumento inteiro *waitflag* estiver presente, a ação dependerá do seu " -"valor: se for zero, o bloqueio será adquirido apenas se puder ser adquirido " -"imediatamente sem aguardar, enquanto se for diferente de zero, o bloqueio " -"será adquirido incondicionalmente, conforme acima." #: ../../library/_thread.rst:169 msgid "" "If the floating-point *timeout* argument is present and positive, it " "specifies the maximum wait time in seconds before returning. A negative " "*timeout* argument specifies an unbounded wait. You cannot specify a " -"*timeout* if *waitflag* is zero." +"*timeout* if *blocking* is False." msgstr "" -"Se o argumento de ponto flutuante *timeout* estiver presente e positivo, ele " -"especificará o tempo máximo de espera em segundos antes de retornar. Um " -"argumento negativo *timeout* especifica uma espera ilimitada. Você não pode " -"especificar um *timeout* se *waitflag* for zero." #: ../../library/_thread.rst:174 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:177 msgid "The *timeout* parameter is new." @@ -294,14 +292,14 @@ msgstr "O parâmetro *timeout* é novo." #: ../../library/_thread.rst:180 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:186 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:192 @@ -309,7 +307,7 @@ 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:195 @@ -317,8 +315,8 @@ msgid "" "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:205 msgid "**Caveats:**" @@ -358,10 +356,10 @@ msgid "" "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:224 msgid "" diff --git a/library/abc.po b/library/abc.po index 597b71828..3a3f76353 100644 --- a/library/abc.po +++ b/library/abc.po @@ -1,30 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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: -# Bonifacio de Oliveira , 2021 -# Lilian Corrêa , 2021 -# Alexsandro Felix , 2021 -# Adorilson Bezerra , 2021 -# Rafael Fontenelle , 2021 +# python-doc bot, 2025 # #, 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 00:54+0000\n" -"Last-Translator: Rafael Fontenelle , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:57+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/abc.rst:2 msgid ":mod:`abc` --- Abstract Base Classes" @@ -42,33 +39,32 @@ msgid "" "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 " -"hashable or if it is a mapping." +"class or instance provides a particular interface, for example, if it is :" +"term:`hashable` or if it is a 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 " "testar se uma classe ou instância oferece uma interface particular, por " -"exemplo, se é hasheável ou se é um mapeamento." +"exemplo, se é :term:`hasheável` ou se é um 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 @@ -97,7 +93,7 @@ msgstr "" #: ../../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,14 +106,14 @@ 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 "" @@ -130,7 +126,7 @@ msgstr "" 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." @@ -186,7 +182,7 @@ msgstr "" 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 "" diff --git a/library/aifc.po b/library/aifc.po index 1413fd7b5..4b0c7f198 100644 --- a/library/aifc.po +++ b/library/aifc.po @@ -1,37 +1,46 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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.10\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-06-29 12:56+0000\n" -"PO-Revision-Date: 2021-06-28 00:54+0000\n" -"Last-Translator: Rafael Fontenelle , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:57+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/aifc.rst:2 msgid ":mod:`aifc` --- Read and write AIFF and AIFC files" msgstr ":mod:`aifc` --- Lê e escreve arquivos AIFF e AIFC" -#: ../../library/aifc.rst:7 +#: ../../library/aifc.rst:8 msgid "**Source code:** :source:`Lib/aifc.py`" msgstr "**Código-fonte:** :source:`Lib/aifc.py`" #: ../../library/aifc.rst:16 msgid "" +"The :mod:`aifc` module is deprecated (see :pep:`PEP 594 <594#aifc>` for " +"details)." +msgstr "" +"O módulo :mod:`aifc` foi descontinuado (veja :pep:`PEP 594 <594#aifc>` para " +"mais detalhes)." + +#: ../../library/aifc.rst:22 +msgid "" "This module provides support for reading and writing AIFF and AIFF-C files. " "AIFF is Audio Interchange File Format, a format for storing digital audio " "samples in a file. AIFF-C is a newer version of the format that includes " @@ -42,7 +51,7 @@ msgstr "" "amostras de áudio digital em um arquivo. AIFF-C é uma versão mais recente do " "formato que inclui a capacidade de compactar os dados de áudio." -#: ../../library/aifc.rst:21 +#: ../../library/aifc.rst:27 msgid "" "Audio files have a number of parameters that describe the audio data. The " "sampling rate or frame rate is the number of times per second the sound is " @@ -60,7 +69,7 @@ msgstr "" "``nchannels * samplesize`` bytes e um segundo de áudio consiste em " "``nchannels * samplesize * framerate`` bytes." -#: ../../library/aifc.rst:29 +#: ../../library/aifc.rst:35 msgid "" "For example, CD quality audio has a sample size of two bytes (16 bits), uses " "two channels (stereo) and has a frame rate of 44,100 frames/second. This " @@ -72,11 +81,11 @@ msgstr "" "44.100 quadros/segundo. Isto dá um tamanho de quadro de 4 bytes (2\\*2), e o " "valor de um segundo ocupa 2\\*2\\*44100 bytes (176.400 bytes)." -#: ../../library/aifc.rst:34 +#: ../../library/aifc.rst:40 msgid "Module :mod:`aifc` defines the following function:" msgstr "O módulo :mod:`aifc` define a seguinte função:" -#: ../../library/aifc.rst:39 +#: ../../library/aifc.rst:45 msgid "" "Open an AIFF or AIFF-C file and return an object instance with methods that " "are described below. The argument *file* is either a string naming a file " @@ -101,11 +110,11 @@ msgstr "" "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:50 +#: ../../library/aifc.rst:56 msgid "Support for the :keyword:`with` statement was added." msgstr "Suporte para a instrução :keyword:`with` foi adicionado." -#: ../../library/aifc.rst:53 +#: ../../library/aifc.rst:59 msgid "" "Objects returned by :func:`.open` when a file is opened for reading have the " "following methods:" @@ -113,23 +122,23 @@ msgstr "" "Objetos retornados por :func:`.open` quando um arquivo é aberto para leitura " "têm os seguintes métodos:" -#: ../../library/aifc.rst:59 +#: ../../library/aifc.rst:65 msgid "Return the number of audio channels (1 for mono, 2 for stereo)." msgstr "Retorna o número de canais de áudio (1 para mono, 2 para estéreo)." -#: ../../library/aifc.rst:64 +#: ../../library/aifc.rst:70 msgid "Return the size in bytes of individual samples." msgstr "Retorna o tamanho em bytes de amostras individuais." -#: ../../library/aifc.rst:69 +#: ../../library/aifc.rst:75 msgid "Return the sampling rate (number of audio frames per second)." msgstr "Retorna a taxa de amostra (número de quadros de áudio por segundo)." -#: ../../library/aifc.rst:74 +#: ../../library/aifc.rst:80 msgid "Return the number of audio frames in the file." msgstr "Retorna o número de quadros de áudio no arquivo." -#: ../../library/aifc.rst:79 +#: ../../library/aifc.rst:85 msgid "" "Return a bytes array of length 4 describing the type of compression used in " "the audio file. For AIFF files, the returned value is ``b'NONE'``." @@ -138,7 +147,7 @@ msgstr "" "usada no arquivo de áudio. Para arquivos AIFF, o valor retornado é " "``b'NONE'``." -#: ../../library/aifc.rst:86 +#: ../../library/aifc.rst:92 msgid "" "Return a bytes array convertible to a human-readable description of the type " "of compression used in the audio file. For AIFF files, the returned value " @@ -148,7 +157,7 @@ msgstr "" "do tipo de compactação usado no arquivo de áudio. Para arquivos AIFF, o " "valor retornado é ``b'not compressed'``." -#: ../../library/aifc.rst:93 +#: ../../library/aifc.rst:99 msgid "" "Returns a :func:`~collections.namedtuple` ``(nchannels, sampwidth, " "framerate, nframes, comptype, compname)``, equivalent to output of the :meth:" @@ -158,7 +167,7 @@ msgstr "" "framerate, nframes, comptype, compname)``, equivalente à saída dos métodos :" "meth:`get\\*`." -#: ../../library/aifc.rst:100 +#: ../../library/aifc.rst:106 msgid "" "Return a list of markers in the audio file. A marker consists of a tuple of " "three elements. The first is the mark ID (an integer), the second is the " @@ -170,7 +179,7 @@ msgstr "" "segundo é a posição da marca nos quadros desde o início dos dados (um " "inteiro), o terceiro é o nome da marca (uma string)." -#: ../../library/aifc.rst:108 +#: ../../library/aifc.rst:114 msgid "" "Return the tuple as described in :meth:`getmarkers` for the mark with the " "given *id*." @@ -178,7 +187,7 @@ msgstr "" "Retorna a tupla como descrito em :meth:`getmarkers` para a marca com o *id* " "fornecido." -#: ../../library/aifc.rst:114 +#: ../../library/aifc.rst:120 msgid "" "Read and return the next *nframes* frames from the audio file. The returned " "data is a string containing for each frame the uncompressed samples of all " @@ -188,7 +197,7 @@ msgstr "" "retornados são uma string contendo para cada quadro as amostras " "descompactadas de todos os canais." -#: ../../library/aifc.rst:121 +#: ../../library/aifc.rst:127 msgid "" "Rewind the read pointer. The next :meth:`readframes` will start from the " "beginning." @@ -196,15 +205,15 @@ msgstr "" "Reinicia o ponteiro de leitura. O próximo :meth:`readframes` começará do " "início." -#: ../../library/aifc.rst:127 +#: ../../library/aifc.rst:133 msgid "Seek to the specified frame number." msgstr "Procura o número do quadro especificado." -#: ../../library/aifc.rst:132 +#: ../../library/aifc.rst:138 msgid "Return the current frame number." msgstr "Retorna o número do quadro atual." -#: ../../library/aifc.rst:137 +#: ../../library/aifc.rst:143 msgid "" "Close the AIFF file. After calling this method, the object can no longer be " "used." @@ -212,7 +221,7 @@ msgstr "" "Fecha o arquivo AIFF. Depois de chamar esse método, o objeto não pode mais " "ser usado." -#: ../../library/aifc.rst:140 +#: ../../library/aifc.rst:146 msgid "" "Objects returned by :func:`.open` when a file is opened for writing have all " "the above methods, except for :meth:`readframes` and :meth:`setpos`. In " @@ -228,7 +237,7 @@ msgstr "" "chamados. Antes do primeiro :meth:`writeframes` ou :meth:`writeframesraw`, " "todos os parâmetros, exceto o número de quadros, devem ser preenchidos." -#: ../../library/aifc.rst:150 +#: ../../library/aifc.rst:156 msgid "" "Create an AIFF file. The default is that an AIFF-C file is created, unless " "the name of the file ends in ``'.aiff'`` in which case the default is an " @@ -238,7 +247,7 @@ msgstr "" "que o nome do arquivo termine em ``'.aiff'``, caso em que o padrão é um " "arquivo AIFF." -#: ../../library/aifc.rst:156 +#: ../../library/aifc.rst:162 msgid "" "Create an AIFF-C file. The default is that an AIFF-C file is created, " "unless the name of the file ends in ``'.aiff'`` in which case the default is " @@ -248,19 +257,19 @@ msgstr "" "menos que o nome do arquivo termine em ``'.aiff'``, caso em que o padrão é " "um arquivo AIFF." -#: ../../library/aifc.rst:163 +#: ../../library/aifc.rst:169 msgid "Specify the number of channels in the audio file." msgstr "Especifica o número de canais no arquivo de áudio." -#: ../../library/aifc.rst:168 +#: ../../library/aifc.rst:174 msgid "Specify the size in bytes of audio samples." msgstr "Especifica o tamanho em bytes de amostras de áudio." -#: ../../library/aifc.rst:173 +#: ../../library/aifc.rst:179 msgid "Specify the sampling frequency in frames per second." msgstr "Especifica a frequência de amostragem em quadros por segundo." -#: ../../library/aifc.rst:178 +#: ../../library/aifc.rst:184 msgid "" "Specify the number of frames that are to be written to the audio file. If " "this parameter is not set, or not set correctly, the file needs to support " @@ -270,7 +279,7 @@ msgstr "" "Se este parâmetro não estiver configurado ou estiver incorretamente " "configurado, o arquivo precisará ter suporte a procura." -#: ../../library/aifc.rst:189 +#: ../../library/aifc.rst:195 msgid "" "Specify the compression type. If not specified, the audio data will not be " "compressed. In AIFF files, compression is not possible. The name parameter " @@ -286,7 +295,7 @@ msgstr "" "de bytes de tamanho 4. Atualmente, há suporte aos seguintes tipos de " "compactação: ``b'NONE'``, ``b'ULAW'``, ``b'ALAW'``, ``b'G722'``." -#: ../../library/aifc.rst:199 +#: ../../library/aifc.rst:205 msgid "" "Set all the above parameters at once. The argument is a tuple consisting of " "the various parameters. This means that it is possible to use the result of " @@ -297,7 +306,7 @@ msgstr "" "resultado de uma chamada de :meth:`getparams` como argumento para :meth:" "`setparams`." -#: ../../library/aifc.rst:206 +#: ../../library/aifc.rst:212 msgid "" "Add a mark with the given id (larger than 0), and the given name at the " "given position. This method can be called at any time before :meth:`close`." @@ -306,7 +315,7 @@ msgstr "" "determinada. Este método pode ser chamado a qualquer momento antes de :meth:" "`close`." -#: ../../library/aifc.rst:213 +#: ../../library/aifc.rst:219 msgid "" "Return the current write position in the output file. Useful in combination " "with :meth:`setmark`." @@ -314,7 +323,7 @@ msgstr "" "Retorna a posição atual de escrita no arquivo de saída. Útil em combinação " "com :meth:`setmark`." -#: ../../library/aifc.rst:219 +#: ../../library/aifc.rst:225 msgid "" "Write data to the output file. This method can only be called after the " "audio file parameters have been set." @@ -322,12 +331,11 @@ msgstr "" "Escreve dados no arquivo de saída. Este método só pode ser chamado após os " "parâmetros do arquivo de áudio terem sido definidos." -#: ../../library/aifc.rst:222 ../../library/aifc.rst:231 +#: ../../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:228 +#: ../../library/aifc.rst:234 msgid "" "Like :meth:`writeframes`, except that the header of the audio file is not " "updated." @@ -335,7 +343,7 @@ msgstr "" "Semelhante a :meth:`writeframes`, exceto que o cabeçalho do arquivo de áudio " "não é atualizado." -#: ../../library/aifc.rst:238 +#: ../../library/aifc.rst:244 msgid "" "Close the AIFF file. The header of the file is updated to reflect the " "actual size of the audio data. After calling this method, the object can no " diff --git a/library/allos.po b/library/allos.po index a8cb26853..dd1ff0566 100644 --- a/library/allos.po +++ b/library/allos.po @@ -1,27 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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.10\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-06-29 12:56+0000\n" -"PO-Revision-Date: 2021-06-28 00:54+0000\n" -"Last-Translator: Claudio Rogerio Carvalho Filho , " -"2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:57+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/allos.rst:5 msgid "Generic Operating System Services" diff --git a/library/archiving.po b/library/archiving.po index 2228f8c4e..14480fd9a 100644 --- a/library/archiving.po +++ b/library/archiving.po @@ -1,28 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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.10\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-06-29 12:56+0000\n" -"PO-Revision-Date: 2021-06-28 00:54+0000\n" -"Last-Translator: Claudio Rogerio Carvalho Filho , " -"2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:57+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/archiving.rst:5 msgid "Data Compression and Archiving" diff --git a/library/argparse.po b/library/argparse.po index 3ebac8eb9..52dc7205f 100644 --- a/library/argparse.po +++ b/library/argparse.po @@ -1,30 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, Python Software 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 , 2021 -# And Past , 2021 -# Alexandre B A Villares, 2021 -# i17obot , 2021 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.10\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-07-13 12:58+0000\n" -"PO-Revision-Date: 2021-06-28 00:54+0000\n" -"Last-Translator: i17obot , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2026-03-25 18:42+0000\n" +"PO-Revision-Date: 2025-09-22 15:57+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/argparse.rst:2 msgid "" @@ -202,10 +199,11 @@ msgstr "" "mais detalhada abaixo, mas em resumo eles são:" #: ../../library/argparse.rst:151 -msgid "prog_ - The name of the program (default: ``sys.argv[0]``)" -msgstr "prog_ - O nome do programa (padrão: ``sys.argv[0]``)" +msgid "" +"prog_ - The name of the program (default: ``os.path.basename(sys.argv[0])``)" +msgstr "prog_ - O nome do programa (padrão: ``os.path.basename(sys.argv[0])``)" -#: ../../library/argparse.rst:153 +#: ../../library/argparse.rst:154 msgid "" "usage_ - The string describing the program usage (default: generated from " "arguments added to parser)" @@ -213,18 +211,20 @@ msgstr "" "usage_ - A string que descreve o uso do programa (padrão: gerado a partir de " "argumentos adicionados ao analisador sintático)" -#: ../../library/argparse.rst:156 -msgid "description_ - Text to display before the argument help (default: none)" +#: ../../library/argparse.rst:157 +msgid "" +"description_ - Text to display before the argument help (by default, no text)" msgstr "" -"description_ - Texto para exibir antes da ajuda dos argumentos (padrão: " -"nenhuma)" +"description_ - Texto para exibir antes da ajuda dos argumentos (por padrão, " +"nenhum texto)" -#: ../../library/argparse.rst:158 -msgid "epilog_ - Text to display after the argument help (default: none)" +#: ../../library/argparse.rst:160 +msgid "epilog_ - Text to display after the argument help (by default, no text)" msgstr "" -"epilog_ - Texto para exibir após da ajuda dos argumentos (padrão: nenhum)" +"epilog_ - Texto para exibir após da ajuda dos argumentos (por padrão, nenhum " +"texto)" -#: ../../library/argparse.rst:160 +#: ../../library/argparse.rst:162 msgid "" "parents_ - A list of :class:`ArgumentParser` objects whose arguments should " "also be included" @@ -232,11 +232,11 @@ msgstr "" "parents_ - Uma lista de objetos :class:`ArgumentParser` cujos argumentos " "também devem ser incluídos" -#: ../../library/argparse.rst:163 +#: ../../library/argparse.rst:165 msgid "formatter_class_ - A class for customizing the help output" msgstr "formatter_class_ - Uma classe para personalizar a saída de ajuda" -#: ../../library/argparse.rst:165 +#: ../../library/argparse.rst:167 msgid "" "prefix_chars_ - The set of characters that prefix optional arguments " "(default: '-')" @@ -244,7 +244,7 @@ msgstr "" "prefix_chars_ - O conjunto de caracteres que prefixam argumentos opcionais " "(padrão: \"-\")" -#: ../../library/argparse.rst:168 +#: ../../library/argparse.rst:170 msgid "" "fromfile_prefix_chars_ - The set of characters that prefix files from which " "additional arguments should be read (default: ``None``)" @@ -252,14 +252,14 @@ msgstr "" "fromfile_prefix_chars_ - O conjunto de caracteres que prefixam os arquivos " "dos quais os argumentos adicionais devem ser lidos (padrão: ``None``)" -#: ../../library/argparse.rst:171 +#: ../../library/argparse.rst:173 msgid "" "argument_default_ - The global default value for arguments (default: " "``None``)" msgstr "" "argument_default_ - O valor padrão global para argumentos (padrão: ``None``)" -#: ../../library/argparse.rst:174 +#: ../../library/argparse.rst:176 msgid "" "conflict_handler_ - The strategy for resolving conflicting optionals " "(usually unnecessary)" @@ -267,14 +267,14 @@ msgstr "" "conflict_handler_ - A estratégia para resolver opcionais conflitantes " "(geralmente desnecessário)" -#: ../../library/argparse.rst:177 +#: ../../library/argparse.rst:179 msgid "" "add_help_ - Add a ``-h/--help`` option to the parser (default: ``True``)" msgstr "" "add_help_ - Adiciona uma opção ``-h/--help`` para o analisador sintático " "(padrão: ``True``)" -#: ../../library/argparse.rst:179 +#: ../../library/argparse.rst:181 msgid "" "allow_abbrev_ - Allows long options to be abbreviated if the abbreviation is " "unambiguous. (default: ``True``)" @@ -282,7 +282,7 @@ msgstr "" "allow_abbrev_ - Permite que opções longas sejam abreviadas se a abreviação " "não for ambígua. (padrão: ``True``)" -#: ../../library/argparse.rst:182 +#: ../../library/argparse.rst:184 msgid "" "exit_on_error_ - Determines whether or not ArgumentParser exits with error " "info when an error occurs. (default: ``True``)" @@ -290,11 +290,11 @@ msgstr "" "exit_on_error_ - Determina se ArgumentParser sai ou não com informações de " "erro quando ocorre um erro. (padrão: ``True``)" -#: ../../library/argparse.rst:185 +#: ../../library/argparse.rst:187 msgid "*allow_abbrev* parameter was added." msgstr "O parâmetro *allow_abbrev* foi adicionado." -#: ../../library/argparse.rst:188 +#: ../../library/argparse.rst:190 msgid "" "In previous versions, *allow_abbrev* also disabled grouping of short flags " "such as ``-vv`` to mean ``-v -v``." @@ -302,19 +302,19 @@ msgstr "" "Em versões anteriores, *allow_abbrev* também desabilitava o agrupamento de " "sinalizadores curtos, como ``-vv`` para significar ``-v -v``." -#: ../../library/argparse.rst:192 +#: ../../library/argparse.rst:194 msgid "*exit_on_error* parameter was added." msgstr "O parâmetro *exit_on_error* foi adicionado." -#: ../../library/argparse.rst:195 ../../library/argparse.rst:715 +#: ../../library/argparse.rst:197 ../../library/argparse.rst:717 msgid "The following sections describe how each of these are used." msgstr "As seções a seguir descrevem como cada um deles é usado." -#: ../../library/argparse.rst:199 +#: ../../library/argparse.rst:201 msgid "prog" msgstr "prog" -#: ../../library/argparse.rst:201 +#: ../../library/argparse.rst:203 msgid "" "By default, :class:`ArgumentParser` objects use ``sys.argv[0]`` to determine " "how to display the name of the program in help messages. This default is " @@ -329,7 +329,7 @@ msgstr "" "exemplo, considere um arquivo denominado ``myprogram.py`` com o seguinte " "código::" -#: ../../library/argparse.rst:212 +#: ../../library/argparse.rst:214 msgid "" "The help for this program will display ``myprogram.py`` as the program name " "(regardless of where the program was invoked from):" @@ -337,7 +337,7 @@ msgstr "" "A ajuda para este programa exibirá ``myprogram.py`` como o nome do programa " "(independentemente de onde o programa foi chamado):" -#: ../../library/argparse.rst:231 +#: ../../library/argparse.rst:233 msgid "" "To change this default behavior, another value can be supplied using the " "``prog=`` argument to :class:`ArgumentParser`::" @@ -345,7 +345,7 @@ msgstr "" "Para alterar este comportamento padrão, outro valor pode ser fornecido " "usando o argumento ``prog=`` para :class:`ArgumentParser`::" -#: ../../library/argparse.rst:241 +#: ../../library/argparse.rst:243 msgid "" "Note that the program name, whether determined from ``sys.argv[0]`` or from " "the ``prog=`` argument, is available to help messages using the ``%(prog)s`` " @@ -355,11 +355,11 @@ msgstr "" "ou do argumento ``prog=``, está disponível para mensagens de ajuda usando o " "especificador de formato ``%(prog)s``." -#: ../../library/argparse.rst:258 +#: ../../library/argparse.rst:260 msgid "usage" msgstr "usage" -#: ../../library/argparse.rst:260 +#: ../../library/argparse.rst:262 msgid "" "By default, :class:`ArgumentParser` calculates the usage message from the " "arguments it contains::" @@ -367,13 +367,13 @@ msgstr "" "Por padrão, :class:`ArgumentParser` calcula a mensagem de uso a partir dos " "argumentos que contém::" -#: ../../library/argparse.rst:276 +#: ../../library/argparse.rst:278 msgid "" "The default message can be overridden with the ``usage=`` keyword argument::" msgstr "" "A mensagem padrão pode ser substituído com o argumento nomeado ``usage=``::" -#: ../../library/argparse.rst:291 +#: ../../library/argparse.rst:293 msgid "" "The ``%(prog)s`` format specifier is available to fill in the program name " "in your usage messages." @@ -381,11 +381,11 @@ msgstr "" "O especificador de formato ``%(prog)s`` está disponível para preencher o " "nome do programa em suas mensagens de uso." -#: ../../library/argparse.rst:296 +#: ../../library/argparse.rst:298 msgid "description" msgstr "description" -#: ../../library/argparse.rst:298 +#: ../../library/argparse.rst:300 msgid "" "Most calls to the :class:`ArgumentParser` constructor will use the " "``description=`` keyword argument. This argument gives a brief description " @@ -399,7 +399,7 @@ msgstr "" "descrição é exibida entre a string de uso da linha de comando e as mensagens " "de ajuda para os vários argumentos::" -#: ../../library/argparse.rst:313 +#: ../../library/argparse.rst:315 msgid "" "By default, the description will be line-wrapped so that it fits within the " "given space. To change this behavior, see the formatter_class_ argument." @@ -408,11 +408,11 @@ msgstr "" "espaço fornecido. Para alterar esse comportamento, consulte o argumento " "formatter_class_." -#: ../../library/argparse.rst:318 +#: ../../library/argparse.rst:320 msgid "epilog" msgstr "epilog" -#: ../../library/argparse.rst:320 +#: ../../library/argparse.rst:322 msgid "" "Some programs like to display additional description of the program after " "the description of the arguments. Such text can be specified using the " @@ -422,7 +422,7 @@ msgstr "" "descrição dos argumentos. Esse texto pode ser especificado usando o " "argumento ``epilog=`` para :class:`ArgumentParser`::" -#: ../../library/argparse.rst:337 +#: ../../library/argparse.rst:339 msgid "" "As with the description_ argument, the ``epilog=`` text is by default line-" "wrapped, but this behavior can be adjusted with the formatter_class_ " @@ -432,11 +432,11 @@ msgstr "" "sua quebra de linha habilitada por padrão, mas este comportamento pode ser " "ajustado com o argumento formatter_class_ para :class:`ArgumentParser`." -#: ../../library/argparse.rst:343 +#: ../../library/argparse.rst:345 msgid "parents" msgstr "parents" -#: ../../library/argparse.rst:345 +#: ../../library/argparse.rst:347 msgid "" "Sometimes, several parsers share a common set of arguments. Rather than " "repeating the definitions of these arguments, a single parser with all the " @@ -454,7 +454,7 @@ msgstr "" "as ações posicionais e opcionais deles, e adiciona essas ações ao objeto :" "class:`ArgumentParser` sendo construído::" -#: ../../library/argparse.rst:365 +#: ../../library/argparse.rst:367 msgid "" "Note that most parent parsers will specify ``add_help=False``. Otherwise, " "the :class:`ArgumentParser` will see two ``-h/--help`` options (one in the " @@ -464,7 +464,7 @@ msgstr "" "``add_help=False``. Caso contrário, o :class:`ArgumentParser` verá duas " "opções ``-h/--help`` (uma no pai e outra no filho) e levantará um erro." -#: ../../library/argparse.rst:370 +#: ../../library/argparse.rst:372 msgid "" "You must fully initialize the parsers before passing them via ``parents=``. " "If you change the parent parsers after the child parser, those changes will " @@ -474,11 +474,11 @@ msgstr "" "los via ``parents=``. Se você alterar os analisadores pais após o analisador " "filho, essas mudanças não serão refletidas no filho." -#: ../../library/argparse.rst:376 +#: ../../library/argparse.rst:378 msgid "formatter_class" msgstr "formatter_class" -#: ../../library/argparse.rst:378 +#: ../../library/argparse.rst:380 msgid "" ":class:`ArgumentParser` objects allow the help formatting to be customized " "by specifying an alternate formatting class. Currently, there are four such " @@ -488,76 +488,106 @@ msgstr "" "seja personalizada por meio da especificação de uma classe de formatação " "alternativa. Atualmente, há quatro dessas classes:" -#: ../../library/argparse.rst:387 +#: ../../library/argparse.rst:389 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::" msgstr "" +":class:`RawDescriptionHelpFormatter` e :class:`RawTextHelpFormatter` dão " +"mais controle sobre como as descrições textuais são exibidas. Por padrão, " +"objetos :class:`ArgumentParser` quebram em linha os textos description_ e " +"epilog_ nas mensagens de ajuda da linha de comando::" -#: ../../library/argparse.rst:412 +#: ../../library/argparse.rst:414 msgid "" "Passing :class:`RawDescriptionHelpFormatter` as ``formatter_class=`` " "indicates that description_ and epilog_ are already correctly formatted and " "should not be line-wrapped::" msgstr "" +"Passar :class:`RawDescriptionHelpFormatter` como ``formatter_class=`` indica " +"que description_ e epilog_ já estão formatados corretamente e não devem ter " +"suas linhas quebradas::" -#: ../../library/argparse.rst:438 +#: ../../library/argparse.rst:440 msgid "" ":class:`RawTextHelpFormatter` maintains whitespace for all sorts of help " "text, including argument descriptions. However, multiple new lines are " "replaced with one. If you wish to preserve multiple blank lines, add spaces " "between the newlines." msgstr "" +":class:`RawTextHelpFormatter` mantém espaços em branco para todos os tipos " +"de texto de ajuda, incluindo descrições de argumentos. No entanto, várias " +"novas linhas são substituídas por uma. Se você deseja preservar várias " +"linhas em branco, adicione espaços entre as novas linhas." -#: ../../library/argparse.rst:443 +#: ../../library/argparse.rst:445 msgid "" ":class:`ArgumentDefaultsHelpFormatter` automatically adds information about " "default values to each of the argument help messages::" msgstr "" +":class:`ArgumentDefaultsHelpFormatter` adiciona automaticamente informações " +"sobre os valores padrão para cada uma das mensagens de ajuda do argumento::" -#: ../../library/argparse.rst:461 +#: ../../library/argparse.rst:463 msgid "" ":class:`MetavarTypeHelpFormatter` uses the name of the type_ argument for " "each argument as the display name for its values (rather than using the " "dest_ as the regular formatter does)::" msgstr "" +":class:`MetavarTypeHelpFormatter` usa o nome de argumento type_ para cada " +"argumento como o nome de exibição para seus valores (em vez de usar o dest_ " +"como o formatador regular faz)::" -#: ../../library/argparse.rst:482 +#: ../../library/argparse.rst:484 msgid "prefix_chars" msgstr "prefix_chars" -#: ../../library/argparse.rst:484 +#: ../../library/argparse.rst:486 msgid "" "Most command-line options will use ``-`` as the prefix, e.g. ``-f/--foo``. " "Parsers that need to support different or additional prefix characters, e.g. " "for options like ``+f`` or ``/foo``, may specify them using the " "``prefix_chars=`` argument to the ArgumentParser constructor::" msgstr "" +"A maioria das opções de linha de comando usará ``-`` como prefixo, por " +"exemplo, ``-f/--foo``. Analisadores sintáticos que precisam ter suporte a " +"caracteres de prefixo diferentes ou adicionais, por exemplo, para opções " +"como ``+f`` ou ``/foo``, podem especificá-las usando o argumento " +"``prefix_chars=`` para o construtor ArgumentParser::" -#: ../../library/argparse.rst:496 +#: ../../library/argparse.rst:498 msgid "" "The ``prefix_chars=`` argument defaults to ``'-'``. Supplying a set of " "characters that does not include ``-`` will cause ``-f/--foo`` options to be " "disallowed." msgstr "" +"O argumento ``prefix_chars=`` é padronizado como ``'-'``. Fornecer um " +"conjunto de caracteres que não inclua ``-`` fará com que as opções ``-f/--" +"foo`` não sejam permitidas." -#: ../../library/argparse.rst:502 +#: ../../library/argparse.rst:504 msgid "fromfile_prefix_chars" msgstr "fromfile_prefix_chars" -#: ../../library/argparse.rst:504 +#: ../../library/argparse.rst:506 msgid "" -"Sometimes, for example when dealing with a particularly long argument lists, " +"Sometimes, for example when dealing with a particularly long argument list, " "it may make sense to keep the list of arguments in a file rather than typing " "it out at the command line. If the ``fromfile_prefix_chars=`` argument is " "given to the :class:`ArgumentParser` constructor, then arguments that start " "with any of the specified characters will be treated as files, and will be " "replaced by the arguments they contain. For example::" msgstr "" +"Às vezes, por exemplo, 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:518 +#: ../../library/argparse.rst:520 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 " @@ -566,18 +596,27 @@ msgid "" "'@args.txt']`` is considered equivalent to the expression ``['-f', 'foo', '-" "f', 'bar']``." msgstr "" +"Os argumentos lidos de um arquivo devem, por padrão, ser um por linha (mas " +"veja também :meth:`~ArgumentParser.convert_arg_line_to_args`) e são tratados " +"como se estivessem no mesmo lugar que o argumento de referência do arquivo " +"original na linha de comando. Portanto, no exemplo acima, a expressão ``['-" +"f', 'foo', '@args.txt']`` é considerada equivalente à expressão ``['-f', " +"'foo', '-f', 'bar']``." -#: ../../library/argparse.rst:524 +#: ../../library/argparse.rst:526 msgid "" "The ``fromfile_prefix_chars=`` argument defaults to ``None``, meaning that " "arguments will never be treated as file references." msgstr "" +"O argumento ``fromfile_prefix_chars=`` é padronizado como ``None``, " +"significando que os argumentos nunca serão tratados como referências de " +"arquivo." -#: ../../library/argparse.rst:529 +#: ../../library/argparse.rst:531 msgid "argument_default" msgstr "argument_default" -#: ../../library/argparse.rst:531 +#: ../../library/argparse.rst:533 msgid "" "Generally, argument defaults are specified either by passing a default to :" "meth:`~ArgumentParser.add_argument` or by calling the :meth:`~ArgumentParser." @@ -588,68 +627,98 @@ msgid "" "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 " +"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:551 +#: ../../library/argparse.rst:553 msgid "allow_abbrev" msgstr "allow_abbrev" -#: ../../library/argparse.rst:553 +#: ../../library/argparse.rst:555 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." 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." -#: ../../library/argparse.rst:557 +#: ../../library/argparse.rst:559 msgid "This feature can be disabled by setting ``allow_abbrev`` to ``False``::" msgstr "" +"Este recurso pode ser desabilitado configurando ``allow_abbrev`` para " +"``False``::" -#: ../../library/argparse.rst:570 +#: ../../library/argparse.rst:572 msgid "conflict_handler" msgstr "conflict_handler" -#: ../../library/argparse.rst:572 +#: ../../library/argparse.rst:574 msgid "" ":class:`ArgumentParser` objects do not allow two actions with the same " "option string. By default, :class:`ArgumentParser` objects raise an " "exception if an attempt is made to create an argument with an option string " "that is already in use::" msgstr "" +"Objetos :class:`ArgumentParser` não permitem duas ações com a mesma string " +"de opções. Por padrão, objetos :class:`ArgumentParser` levantam uma exceção " +"se for feita uma tentativa de criar um argumento com uma string de opção que " +"já esteja em uso::" -#: ../../library/argparse.rst:584 +#: ../../library/argparse.rst:586 msgid "" "Sometimes (e.g. when using parents_) it may be useful to simply override any " "older arguments with the same option string. To get this behavior, the " "value ``'resolve'`` can be supplied to the ``conflict_handler=`` argument " "of :class:`ArgumentParser`::" msgstr "" +"Às vezes (por exemplo, ao usar os parents_) pode ser útil simplesmente " +"substituir quaisquer argumentos mais antigos com a mesma string de opções. " +"Para obter este comportamento, o valor ``'resolve'`` pode ser fornecido ao " +"argumento ``conflict_handler=`` de :class:`ArgumentParser`::" -#: ../../library/argparse.rst:600 +#: ../../library/argparse.rst:602 msgid "" "Note that :class:`ArgumentParser` objects only remove an action if all of " "its option strings are overridden. So, in the example above, the old ``-f/--" "foo`` action is retained as the ``-f`` action, because only the ``--foo`` " "option string was overridden." 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 ``-f``, pois apenas a string de " +"opção ``--foo`` foi substituída." -#: ../../library/argparse.rst:607 +#: ../../library/argparse.rst:609 msgid "add_help" msgstr "add_help" -#: ../../library/argparse.rst:609 +#: ../../library/argparse.rst:611 msgid "" "By default, ArgumentParser objects add an option which simply displays the " "parser's help message. For example, consider a file named ``myprogram.py`` " "containing the following code::" msgstr "" +"Por padrão, os objetos ArgumentParser adicionam uma opção que simplesmente " +"exibe a mensagem de ajuda do analisador. Por exemplo, considere um arquivo " +"chamado ``myprogram.py`` contendo o seguinte código::" -#: ../../library/argparse.rst:618 +#: ../../library/argparse.rst:620 msgid "" "If ``-h`` or ``--help`` is supplied at the command line, the ArgumentParser " "help will be printed:" msgstr "" +"Se ``-h`` ou ``--help`` for fornecido na linha de comando, a ajuda do " +"ArgumentParser será impressa:" -#: ../../library/argparse.rst:630 +#: ../../library/argparse.rst:632 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 :" @@ -659,102 +728,128 @@ msgstr "" "pode ser feito passando ``False`` como o argumento ``add_help=`` para a " "classe :class:`ArgumentParser`::" -#: ../../library/argparse.rst:642 +#: ../../library/argparse.rst:644 msgid "" "The help option is typically ``-h/--help``. The exception to this is if the " "``prefix_chars=`` is specified and does not include ``-``, in which case ``-" "h`` and ``--help`` are not valid options. In this case, the first character " "in ``prefix_chars`` is used to prefix the help options::" msgstr "" +"A opção de ajuda é normalmente ``-h/--help``. A exceção a isso é se o " +"``prefix_chars=`` for especificado e não incluir ``-``, neste caso ``-h`` e " +"``--help`` não são opções válidas. Neste caso, o primeiro caractere em " +"``prefix_chars`` é usado para prefixar as opções de ajuda::" -#: ../../library/argparse.rst:657 +#: ../../library/argparse.rst:659 msgid "exit_on_error" msgstr "exit_on_error" -#: ../../library/argparse.rst:659 +#: ../../library/argparse.rst:661 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." msgstr "" +"Normalmente, quando você passa uma lista de argumentos inválidos para o " +"método :meth:`~ArgumentParser.parse_args` de um :class:`ArgumentParser`, ele " +"sairá com informações de erro." -#: ../../library/argparse.rst:662 +#: ../../library/argparse.rst:664 msgid "" "If the user would like to catch errors manually, the feature can be enabled " "by setting ``exit_on_error`` to ``False``::" msgstr "" +"Se o usuário quiser detectar erros manualmente, o recurso pode ser " +"habilitado configurando ``exit_on_error`` para ``False``::" -#: ../../library/argparse.rst:679 +#: ../../library/argparse.rst:681 msgid "The add_argument() method" msgstr "O método add_argument()" -#: ../../library/argparse.rst:685 +#: ../../library/argparse.rst:687 msgid "" "Define how a single command-line argument should be parsed. Each parameter " "has its own more detailed description below, but in short they are:" msgstr "" +"Define como um único argumento de linha de comando deve ser analisado. Cada " +"parâmetro tem sua própria descrição mais detalhada abaixo, mas resumidamente " +"são eles:" -#: ../../library/argparse.rst:688 +#: ../../library/argparse.rst:690 msgid "" "`name or flags`_ - Either a name or a list of option strings, e.g. ``foo`` " "or ``-f, --foo``." msgstr "" +"`name ou flags`_ - Um nome ou uma lista de strings de opções, por exemplo. " +"``foo`` ou ``-f, --foo``." -#: ../../library/argparse.rst:691 +#: ../../library/argparse.rst:693 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:694 +#: ../../library/argparse.rst:696 msgid "nargs_ - The number of command-line arguments that should be consumed." msgstr "" +"nargs_ - O número de argumentos de linha de comando que devem ser consumidos." -#: ../../library/argparse.rst:696 +#: ../../library/argparse.rst:698 msgid "" "const_ - A constant value required by some action_ and nargs_ selections." msgstr "" +"const_ - Um valor constante exigido por algumas seleções action_ e nargs_." -#: ../../library/argparse.rst:698 +#: ../../library/argparse.rst:700 msgid "" "default_ - The value produced if the argument is absent from the command " "line and if it is absent from the namespace object." msgstr "" +"default_ - O valor produzido se o argumento estiver ausente da linha de " +"comando e se estiver ausente do objeto espaço de nomes." -#: ../../library/argparse.rst:701 +#: ../../library/argparse.rst:703 msgid "" "type_ - The type to which the command-line argument should be converted." msgstr "" - -#: ../../library/argparse.rst:703 -msgid "choices_ - A container of the allowable values for the argument." -msgstr "" +"type_ - O tipo para o qual o argumento de linha de comando deve ser " +"convertido." #: ../../library/argparse.rst:705 +msgid "choices_ - A sequence of the allowable values for the argument." +msgstr "choices_ - Uma sequência de valores permitidos para o argumento." + +#: ../../library/argparse.rst:707 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 ser omitida ou não (somente " +"opcionais)." -#: ../../library/argparse.rst:708 +#: ../../library/argparse.rst:710 msgid "help_ - A brief description of what the argument does." -msgstr "" +msgstr "help_ - Uma breve descrição do que o argumento faz." -#: ../../library/argparse.rst:710 +#: ../../library/argparse.rst:712 msgid "metavar_ - A name for the argument in usage messages." -msgstr "" +msgstr "metavar_ - Um nome para o argumento nas mensagens de uso." -#: ../../library/argparse.rst:712 +#: ../../library/argparse.rst:714 msgid "" "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`." -#: ../../library/argparse.rst:719 +#: ../../library/argparse.rst:721 msgid "name or flags" msgstr "name ou flags" -#: ../../library/argparse.rst:721 +#: ../../library/argparse.rst:723 msgid "" "The :meth:`~ArgumentParser.add_argument` method must know whether an " "optional argument, like ``-f`` or ``--foo``, or a positional argument, like " @@ -770,22 +865,25 @@ msgstr "" "um simples nome de argumento. Por exemplo, um argumento opcional deve ser " "criado como::" -#: ../../library/argparse.rst:730 +#: ../../library/argparse.rst:732 msgid "while a positional argument could be created like::" -msgstr "" +msgstr "enquanto um argumento posicional pode ser criado como::" -#: ../../library/argparse.rst:734 +#: ../../library/argparse.rst:736 msgid "" "When :meth:`~ArgumentParser.parse_args` is called, optional arguments will " "be identified by the ``-`` prefix, and the remaining arguments will be " "assumed to be positional::" msgstr "" +"Quando :meth:`~ArgumentParser.parse_args` é chamado, argumentos opcionais " +"serão identificados pelo prefixo ``-``, e os argumentos restantes serão " +"considerados posicionais::" -#: ../../library/argparse.rst:751 +#: ../../library/argparse.rst:753 msgid "action" -msgstr "action" +msgstr "ação" -#: ../../library/argparse.rst:753 +#: ../../library/argparse.rst:755 msgid "" ":class:`ArgumentParser` objects associate command-line arguments with " "actions. These actions can do just about anything with the command-line " @@ -794,36 +892,55 @@ msgid "" "``action`` keyword argument specifies how the command-line arguments should " "be handled. The supplied actions are:" 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:" -#: ../../library/argparse.rst:759 +#: ../../library/argparse.rst:761 msgid "" "``'store'`` - This just stores the argument's value. This is the default " "action. For example::" msgstr "" +"``'store'`` - Isso apenas armazena o valor do argumento. Esta é a ação " +"padrão. Por exemplo::" -#: ../../library/argparse.rst:767 +#: ../../library/argparse.rst:769 msgid "" "``'store_const'`` - This stores the value specified by the const_ keyword " "argument. The ``'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_. A ação ``'store_const'`` é mais comumente usada com " +"argumentos opcionais que especificam algum tipo de sinalizador. Por exemplo::" -#: ../../library/argparse.rst:776 +#: ../../library/argparse.rst:778 msgid "" "``'store_true'`` and ``'store_false'`` - These are special cases of " "``'store_const'`` used for storing the values ``True`` and ``False`` " "respectively. In addition, they create default values of ``False`` and " "``True`` respectively. For example::" msgstr "" +"``'store_true'`` e ``'store_false'`` - Estes são casos especiais de " +"``'store_const'`` usados para armazenar os valores ``True`` e ``False`` " +"respectivamente. Além disso, eles criam valores padrão de ``False`` e " +"``True`` respectivamente. Por exemplo::" -#: ../../library/argparse.rst:788 +#: ../../library/argparse.rst:790 msgid "" "``'append'`` - This stores a list, and appends each argument value to the " "list. This is useful to allow an option to be specified multiple times. " "Example usage::" msgstr "" +"``'append'`` - Isso armazena uma lista e anexa cada valor de argumento à " +"lista. Isso é útil para permitir que uma opção seja especificada várias " +"vezes. Exemplo de uso::" -#: ../../library/argparse.rst:797 +#: ../../library/argparse.rst:799 msgid "" "``'append_const'`` - This stores a list, and appends the value specified by " "the const_ keyword argument to the list. (Note that the const_ keyword " @@ -831,86 +948,119 @@ 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:809 +#: ../../library/argparse.rst:811 msgid "" "``'count'`` - This counts the number of times a keyword argument occurs. For " "example, this is useful for increasing verbosity levels::" msgstr "" +"``'count'`` - Isso conta o número de vezes que um argumento nomeado ocorre. " +"Por exemplo, isso é útil para aumentar os níveis de verbosidade::" -#: ../../library/argparse.rst:817 +#: ../../library/argparse.rst:819 msgid "Note, the *default* will be ``None`` unless explicitly set to *0*." msgstr "" +"Observe que o *padrão* será ``None``, a menos que seja explicitamente " +"definido como *0*." -#: ../../library/argparse.rst:819 +#: ../../library/argparse.rst:821 msgid "" "``'help'`` - This prints a complete help message for all the options in the " "current parser and then exits. By default a help action is automatically " "added to the parser. See :class:`ArgumentParser` for details of how the " "output is created." 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." -#: ../../library/argparse.rst:824 +#: ../../library/argparse.rst:826 msgid "" "``'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::" -#: ../../library/argparse.rst:834 +#: ../../library/argparse.rst:836 msgid "" "``'extend'`` - This stores a list, and extends each argument value to the " "list. Example usage::" msgstr "" +"``'extend'`` - Isso armazena uma lista e estende cada valor de argumento " +"para a lista. Exemplo de uso::" -#: ../../library/argparse.rst:845 +#: ../../library/argparse.rst:847 msgid "" "You may also specify an arbitrary action by passing an Action subclass or " "other object that implements the same interface. The " "``BooleanOptionalAction`` is available in ``argparse`` and adds support for " "boolean actions such as ``--foo`` and ``--no-foo``::" msgstr "" +"Você também pode especificar uma ação arbitrária passando uma subclasse " +"Action ou outro objeto que implemente a mesma interface. O " +"``BooleanOptionalAction`` está disponível em ``argparse`` e adiciona suporte " +"para ações booleanas como ``--foo`` e ``--no-foo``::" -#: ../../library/argparse.rst:858 +#: ../../library/argparse.rst:860 msgid "" "The recommended way to create a custom action is to extend :class:`Action`, " "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``." -#: ../../library/argparse.rst:862 +#: ../../library/argparse.rst:864 msgid "An example of a custom action::" msgstr "Um exemplo de uma ação personalizada::" -#: ../../library/argparse.rst:882 +#: ../../library/argparse.rst:884 msgid "For more details, see :class:`Action`." msgstr "Para mais detalhes, veja :class:`Action`." -#: ../../library/argparse.rst:885 +#: ../../library/argparse.rst:887 msgid "nargs" msgstr "nargs" -#: ../../library/argparse.rst:887 +#: ../../library/argparse.rst:889 msgid "" "ArgumentParser objects usually associate a single command-line argument with " "a single action to be taken. The ``nargs`` keyword argument associates a " "different number of command-line arguments with a single action. The " "supported values are:" msgstr "" +"Os objetos ArgumentParser geralmente associam um único argumento de linha de " +"comando a uma única ação a ser executada. O argumento nomeado ``nargs`` " +"associa um número diferente de argumentos de linha de comando com uma única " +"ação. Os valores suportados são:" -#: ../../library/argparse.rst:892 +#: ../../library/argparse.rst:894 msgid "" "``N`` (an integer). ``N`` arguments from the command line will be gathered " "together into a list. For example::" msgstr "" +"``N`` (um inteiro). Os argumentos ``N`` da linha de comando serão reunidos " +"em uma lista. Por exemplo::" -#: ../../library/argparse.rst:901 +#: ../../library/argparse.rst:903 msgid "" "Note that ``nargs=1`` produces a list of one item. This is different from " "the default, in which the item is produced by itself." msgstr "" +"Observe que ``nargs=1`` produz uma lista de um item. Isso é diferente do " +"padrão, em que o item é produzido sozinho." -#: ../../library/argparse.rst:906 +#: ../../library/argparse.rst:908 msgid "" "``'?'``. One argument will be consumed from the command line if possible, " "and produced as a single item. If no command-line argument is present, the " @@ -919,57 +1069,86 @@ msgid "" "by a command-line argument. In this case the value from const_ will be " "produced. Some examples to illustrate this::" msgstr "" +"``'?'``. Um argumento será consumido da linha de comando, se possível, e " +"produzido como um único item. Se nenhum argumento de linha de comando " +"estiver presente, o valor de default_ será produzido. Observe que, para " +"argumentos opcionais, há um caso adicional - a string de opções está " +"presente, mas não é seguida por um argumento de linha de comando. Neste caso " +"o valor de const_ será produzido. Alguns exemplos para ilustrar isso::" -#: ../../library/argparse.rst:923 +#: ../../library/argparse.rst:925 msgid "" "One of the more common uses of ``nargs='?'`` is to allow optional input and " "output files::" msgstr "" +"Um dos usos mais comuns de ``nargs='?'`` é permitir arquivos de entrada e " +"saída opcionais::" -#: ../../library/argparse.rst:940 +#: ../../library/argparse.rst:942 msgid "" "``'*'``. All command-line arguments present are gathered into a list. Note " "that it generally doesn't make much sense to have more than one positional " "argument with ``nargs='*'``, but multiple optional arguments with " "``nargs='*'`` is possible. For example::" msgstr "" +"``'*'``. Todos os argumentos de linha de comando presentes são reunidos em " +"uma lista. Note que geralmente não faz muito sentido ter mais de um " +"argumento posicional com ``nargs='*'``, mas vários argumentos opcionais com " +"``nargs='*'`` são possíveis. Por exemplo::" -#: ../../library/argparse.rst:954 +#: ../../library/argparse.rst:956 msgid "" "``'+'``. Just like ``'*'``, all command-line args present are gathered into " "a list. Additionally, an error message will be generated if there wasn't at " "least one command-line argument present. For example::" msgstr "" +"``'+'``. Assim como ``'*'``, todos os argumentos de linha de comando " +"presentes são reunidos em uma lista. Além disso, uma mensagem de erro será " +"gerada se não houver pelo menos um argumento de linha de comando presente. " +"Por exemplo::" -#: ../../library/argparse.rst:966 +#: ../../library/argparse.rst:968 msgid "" "If the ``nargs`` keyword argument is not provided, the number of arguments " "consumed is determined by the action_. Generally this means a single " "command-line argument will be consumed and a single item (not a list) will " "be produced." msgstr "" +"Se o argumento nomeado ``nargs`` não for fornecido, o número de argumentos " +"consumidos é determinado pela action_. Geralmente, isso significa que um " +"único argumento de linha de comando será consumido e um único item (não uma " +"lista) será produzido." -#: ../../library/argparse.rst:972 +#: ../../library/argparse.rst:974 msgid "const" msgstr "const" -#: ../../library/argparse.rst:974 +#: ../../library/argparse.rst:976 msgid "" "The ``const`` argument of :meth:`~ArgumentParser.add_argument` is used to " "hold constant values that are not read from the command line but are " "required for the various :class:`ArgumentParser` actions. The two most " "common uses of it are:" msgstr "" +"O argumento ``const`` de :meth:`~ArgumentParser.add_argument` é usado para " +"manter valores constantes que não são lidos da linha de comando, mas são " +"necessários para as várias ações :class:`ArgumentParser`. Os dois usos mais " +"comuns são:" -#: ../../library/argparse.rst:978 +#: ../../library/argparse.rst:980 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." 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." -#: ../../library/argparse.rst:983 +#: ../../library/argparse.rst:985 msgid "" "When :meth:`~ArgumentParser.add_argument` is called with option strings " "(like ``-f`` or ``--foo``) and ``nargs='?'``. This creates an optional " @@ -978,18 +1157,26 @@ msgid "" "command-line argument following it, the value of ``const`` will be assumed " "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á assumido. " +"Veja a descrição de nargs_ para exemplos." -#: ../../library/argparse.rst:990 +#: ../../library/argparse.rst:992 msgid "" "With the ``'store_const'`` and ``'append_const'`` actions, the ``const`` " "keyword argument must be given. For other actions, it defaults to ``None``." msgstr "" +"Com as ações ``'store_const'`` e ``'append_const'``, o argumento nomeado " +"``const`` deve ser fornecido. Para outras ações, o padrão é ``None``." -#: ../../library/argparse.rst:995 +#: ../../library/argparse.rst:997 msgid "default" msgstr "default" -#: ../../library/argparse.rst:997 +#: ../../library/argparse.rst:999 msgid "" "All optional arguments and some positional arguments may be omitted at the " "command line. The ``default`` keyword argument of :meth:`~ArgumentParser." @@ -998,38 +1185,56 @@ msgid "" "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::" -#: ../../library/argparse.rst:1011 +#: ../../library/argparse.rst:1013 msgid "" "If the target namespace already has an attribute set, the action *default* " "will not over write it::" msgstr "" +"Se o espaço de nomes de destino já tiver um atributo definido, a ação " +"*default* não o substituirá::" -#: ../../library/argparse.rst:1019 +#: ../../library/argparse.rst:1021 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::" 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 " +"qualquer argumento de conversão type_, se fornecido, antes de definir o " +"atributo no valor de retorno :class:`Namespace`. Caso contrário, o " +"analisador usa o valor como está::" -#: ../../library/argparse.rst:1030 +#: ../../library/argparse.rst:1032 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:1041 +#: ../../library/argparse.rst:1043 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:1053 +#: ../../library/argparse.rst:1055 msgid "type" msgstr "tipo" -#: ../../library/argparse.rst:1055 +#: ../../library/argparse.rst:1057 msgid "" "By default, the parser reads command-line arguments in as simple strings. " "However, quite often the command-line string should instead be interpreted " @@ -1037,53 +1242,73 @@ 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:1061 +#: ../../library/argparse.rst:1063 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:1064 +#: ../../library/argparse.rst:1066 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." 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:1069 +#: ../../library/argparse.rst:1071 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:1085 +#: ../../library/argparse.rst:1087 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:1097 +#: ../../library/argparse.rst:1099 msgid "" "The :func:`bool` function is not recommended as a type converter. All it " "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:1101 +#: ../../library/argparse.rst:1103 msgid "" "In general, the ``type`` keyword is a convenience that should only be used " "for simple conversions that can only raise one of the three supported " "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:1106 +#: ../../library/argparse.rst:1108 msgid "" "For example, JSON or YAML conversions have complex error cases that require " -"better reporting than can be given by the ``type`` keyword. An :exc:`~json." +"better reporting than can be given by the ``type`` keyword. A :exc:`~json." "JSONDecodeError` would not be well formatted and a :exc:`FileNotFound` " "exception would not be handled at all." msgstr "" -#: ../../library/argparse.rst:1111 +#: ../../library/argparse.rst:1113 msgid "" "Even :class:`~argparse.FileType` has its limitations for use with the " "``type`` keyword. If one argument uses *FileType* and then a subsequent " @@ -1091,46 +1316,68 @@ 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:1117 +#: ../../library/argparse.rst:1119 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:1122 +#: ../../library/argparse.rst:1124 msgid "choices" msgstr "choices" -#: ../../library/argparse.rst:1124 +#: ../../library/argparse.rst:1126 msgid "" "Some command-line arguments should be selected from a restricted set of " -"values. These can be handled by passing a container object as the *choices* " +"values. These can be handled by passing a sequence object as the *choices* " "keyword argument to :meth:`~ArgumentParser.add_argument`. When the command " "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:1139 +#: ../../library/argparse.rst:1141 msgid "" -"Note that inclusion in the *choices* container is checked after any type_ " +"Note that inclusion in the *choices* sequence is checked after any type_ " "conversions have been performed, so the type of the objects in the *choices* " -"container should match the type_ specified::" +"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:1151 +#: ../../library/argparse.rst:1153 msgid "" -"Any container can be passed as the *choices* value, so :class:`list` " -"objects, :class:`set` objects, and custom containers are all supported." +"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:1154 +#: ../../library/argparse.rst:1156 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:1157 +#: ../../library/argparse.rst:1159 msgid "" "Formatted choices overrides the default *metavar* which is normally derived " "from *dest*. This is usually what you want because the user never sees the " @@ -1138,69 +1385,94 @@ msgid "" "are many choices), just specify an explicit metavar_." msgstr "" -#: ../../library/argparse.rst:1164 +#: ../../library/argparse.rst:1166 msgid "required" msgstr "required" -#: ../../library/argparse.rst:1166 +#: ../../library/argparse.rst:1168 msgid "" "In general, the :mod:`argparse` module assumes that flags like ``-f`` and " "``--bar`` indicate *optional* arguments, which can always be omitted at the " "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:1179 +#: ../../library/argparse.rst:1181 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." 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:1185 +#: ../../library/argparse.rst:1187 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:1190 +#: ../../library/argparse.rst:1192 msgid "help" msgstr "help" -#: ../../library/argparse.rst:1192 +#: ../../library/argparse.rst:1194 msgid "" "The ``help`` value is a string containing a brief description of the " "argument. When a user requests help (usually by using ``-h`` or ``--help`` " "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:1212 +#: ../../library/argparse.rst:1214 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:1229 +#: ../../library/argparse.rst:1231 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:1232 +#: ../../library/argparse.rst:1234 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:1245 +#: ../../library/argparse.rst:1247 msgid "metavar" msgstr "metavar" -#: ../../library/argparse.rst:1247 +#: ../../library/argparse.rst:1249 msgid "" "When :class:`ArgumentParser` generates help messages, it needs some way to " "refer to each expected argument. By default, ArgumentParser objects use the " @@ -1211,30 +1483,45 @@ msgid "" "optional argument ``--foo`` that should be followed by a single command-line " "argument will be referred to as ``FOO``. An example::" msgstr "" - -#: ../../library/argparse.rst:1271 +"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:1273 msgid "An alternative name can be specified with ``metavar``::" -msgstr "" +msgstr "Um nome alternativo pode ser especificado com ``metavar``::" -#: ../../library/argparse.rst:1288 +#: ../../library/argparse.rst:1290 msgid "" "Note that ``metavar`` only changes the *displayed* name - the name of the " "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:1292 +#: ../../library/argparse.rst:1294 msgid "" "Different values of ``nargs`` may cause the metavar to be used multiple " "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:1309 +#: ../../library/argparse.rst:1311 msgid "dest" msgstr "dest" -#: ../../library/argparse.rst:1311 +#: ../../library/argparse.rst:1313 msgid "" "Most :class:`ArgumentParser` actions add some value as an attribute of the " "object returned by :meth:`~ArgumentParser.parse_args`. The name of this " @@ -1243,8 +1530,14 @@ msgid "" "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:1323 +#: ../../library/argparse.rst:1325 msgid "" "For optional argument actions, the value of ``dest`` is normally inferred " "from the option strings. :class:`ArgumentParser` generates the value of " @@ -1255,23 +1548,32 @@ 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:1340 +#: ../../library/argparse.rst:1342 msgid "``dest`` allows a custom attribute name to be provided::" msgstr "" +"``dest`` permite que um nome de atributo personalizado seja fornecido::" -#: ../../library/argparse.rst:1348 +#: ../../library/argparse.rst:1350 msgid "Action classes" -msgstr "" +msgstr "Classes de ação" -#: ../../library/argparse.rst:1350 +#: ../../library/argparse.rst:1352 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:`add_argument`." msgstr "" -#: ../../library/argparse.rst:1359 +#: ../../library/argparse.rst:1361 msgid "" "Action objects are used by an ArgumentParser to represent the information " "needed to parse a single argument from one or more strings from the command " @@ -1280,7 +1582,7 @@ msgid "" "the ``action`` itself." msgstr "" -#: ../../library/argparse.rst:1365 +#: ../../library/argparse.rst:1367 msgid "" "Instances of Action (or return value of any callable to the ``action`` " "parameter) should have attributes \"dest\", \"option_strings\", \"default\", " @@ -1288,126 +1590,146 @@ msgid "" "these attributes are defined is to call ``Action.__init__``." msgstr "" -#: ../../library/argparse.rst:1370 +#: ../../library/argparse.rst:1372 msgid "" "Action instances should be callable, so subclasses must override the " "``__call__`` method, which should accept four parameters:" msgstr "" -#: ../../library/argparse.rst:1373 +#: ../../library/argparse.rst:1375 msgid "``parser`` - The ArgumentParser object which contains this action." msgstr "" -#: ../../library/argparse.rst:1375 +#: ../../library/argparse.rst:1377 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`." msgstr "" -#: ../../library/argparse.rst:1379 +#: ../../library/argparse.rst:1381 msgid "" "``values`` - The associated command-line arguments, with any type " "conversions applied. Type conversions are specified with the type_ keyword " "argument to :meth:`~ArgumentParser.add_argument`." msgstr "" -#: ../../library/argparse.rst:1383 +#: ../../library/argparse.rst:1385 msgid "" "``option_string`` - The option string that was used to invoke this action. " "The ``option_string`` argument is optional, and will be absent if the action " "is associated with a positional argument." msgstr "" -#: ../../library/argparse.rst:1387 +#: ../../library/argparse.rst:1389 msgid "" "The ``__call__`` method may perform arbitrary actions, but will typically " "set attributes on the ``namespace`` based on ``dest`` and ``values``." msgstr "" -#: ../../library/argparse.rst:1390 +#: ../../library/argparse.rst:1392 msgid "" "Action subclasses can define a ``format_usage`` method that takes no " "argument and return a string which will be used when printing the usage of " "the program. If such method is not provided, a sensible default will be used." msgstr "" -#: ../../library/argparse.rst:1395 +#: ../../library/argparse.rst:1397 msgid "The parse_args() method" -msgstr "" +msgstr "O método parse_args()" -#: ../../library/argparse.rst:1399 +#: ../../library/argparse.rst:1401 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:1402 +#: ../../library/argparse.rst:1404 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." msgstr "" -#: ../../library/argparse.rst:1406 +#: ../../library/argparse.rst:1408 msgid "" "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:1409 +#: ../../library/argparse.rst:1411 msgid "" "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:1414 +#: ../../library/argparse.rst:1416 msgid "Option value syntax" -msgstr "" +msgstr "Sintaxe de valores da opção" -#: ../../library/argparse.rst:1416 +#: ../../library/argparse.rst:1418 msgid "" "The :meth:`~ArgumentParser.parse_args` method supports several ways of " "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:1428 +#: ../../library/argparse.rst:1430 msgid "" "For long options (options with names longer than a single character), the " "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:1435 +#: ../../library/argparse.rst:1437 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:1441 +#: ../../library/argparse.rst:1443 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:1453 +#: ../../library/argparse.rst:1455 msgid "Invalid arguments" msgstr "Argumentos inválidos" -#: ../../library/argparse.rst:1455 +#: ../../library/argparse.rst:1457 msgid "" "While parsing the command line, :meth:`~ArgumentParser.parse_args` checks " "for a variety of errors, including ambiguous options, invalid types, invalid " "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:1481 +#: ../../library/argparse.rst:1483 msgid "Arguments containing ``-``" msgstr "Argumentos contendo ``-``" -#: ../../library/argparse.rst:1483 +#: ../../library/argparse.rst:1485 msgid "" "The :meth:`~ArgumentParser.parse_args` method attempts to give errors " "whenever the user has clearly made a mistake, but some situations are " @@ -1418,37 +1740,55 @@ 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:1521 +#: ../../library/argparse.rst:1523 msgid "" "If you have positional arguments that must begin with ``-`` and don't look " "like negative numbers, you can insert the pseudo-argument ``'--'`` which " "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:1532 +#: ../../library/argparse.rst:1534 msgid "Argument abbreviations (prefix matching)" -msgstr "" +msgstr "Abreviações de argumento (correspondência de prefixo)" -#: ../../library/argparse.rst:1534 +#: ../../library/argparse.rst:1536 msgid "" "The :meth:`~ArgumentParser.parse_args` method :ref:`by default " "` 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:1549 +#: ../../library/argparse.rst:1551 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:1555 +#: ../../library/argparse.rst:1557 msgid "Beyond ``sys.argv``" msgstr "Além do ``sys.argv``" -#: ../../library/argparse.rst:1557 +#: ../../library/argparse.rst:1559 msgid "" "Sometimes it may be useful to have an ArgumentParser parse arguments other " "than those of :data:`sys.argv`. This can be accomplished by passing a list " @@ -1456,39 +1796,48 @@ msgid "" "testing at the interactive prompt::" msgstr "" -#: ../../library/argparse.rst:1577 +#: ../../library/argparse.rst:1579 msgid "The Namespace object" msgstr "O objeto Namespace" -#: ../../library/argparse.rst:1581 +#: ../../library/argparse.rst:1583 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:1584 +#: ../../library/argparse.rst:1586 msgid "" "This class is deliberately simple, just an :class:`object` subclass with a " "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:1594 +#: ../../library/argparse.rst:1596 msgid "" "It may also be useful to have an :class:`ArgumentParser` assign attributes " "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:1610 +#: ../../library/argparse.rst:1612 msgid "Other utilities" -msgstr "" +msgstr "Outros utilitários" -#: ../../library/argparse.rst:1613 +#: ../../library/argparse.rst:1615 msgid "Sub-commands" -msgstr "Sub-comandos" +msgstr "Subcomandos" -#: ../../library/argparse.rst:1620 +#: ../../library/argparse.rst:1622 msgid "" "Many programs split up their functionality into a number of sub-commands, " "for example, the ``svn`` program can invoke sub-commands like ``svn " @@ -1504,69 +1853,77 @@ msgid "" "can be modified as usual." msgstr "" -#: ../../library/argparse.rst:1632 +#: ../../library/argparse.rst:1634 msgid "Description of parameters:" msgstr "Descrição de parâmetros:" -#: ../../library/argparse.rst:1634 +#: ../../library/argparse.rst:1636 msgid "" "title - title for the sub-parser group in help output; by default " "\"subcommands\" if description is provided, otherwise uses title for " "positional arguments" msgstr "" -#: ../../library/argparse.rst:1638 +#: ../../library/argparse.rst:1640 msgid "" "description - description for the sub-parser group in help output, by " "default ``None``" msgstr "" -#: ../../library/argparse.rst:1641 +#: ../../library/argparse.rst:1643 msgid "" "prog - usage information that will be displayed with sub-command help, by " "default the name of the program and any positional arguments before the " "subparser argument" msgstr "" -#: ../../library/argparse.rst:1645 +#: ../../library/argparse.rst:1647 msgid "" "parser_class - class which will be used to create sub-parser instances, by " "default the class of the current parser (e.g. ArgumentParser)" msgstr "" -#: ../../library/argparse.rst:1648 +#: ../../library/argparse.rst:1650 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:1651 +#: ../../library/argparse.rst:1653 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:1654 +#: ../../library/argparse.rst:1656 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:1657 +#: ../../library/argparse.rst:1659 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:1659 +#: ../../library/argparse.rst:1661 msgid "" "metavar_ - string presenting available sub-commands in help; by default it " "is ``None`` and presents sub-commands in form {cmd1, cmd2, ..}" msgstr "" -#: ../../library/argparse.rst:1662 +#: ../../library/argparse.rst:1664 msgid "Some example usage::" msgstr "Alguns exemplos de uso::" -#: ../../library/argparse.rst:1683 +#: ../../library/argparse.rst:1685 msgid "" "Note that the object returned by :meth:`parse_args` will only contain " "attributes for the main parser and the subparser that was selected by the " @@ -1575,8 +1932,14 @@ 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:1690 +#: ../../library/argparse.rst:1692 msgid "" "Similarly, when a help message is requested from a subparser, only the help " "for that particular parser will be printed. The help message will not " @@ -1585,29 +1948,41 @@ msgid "" "to :meth:`add_parser` as above.)" msgstr "" -#: ../../library/argparse.rst:1726 +#: ../../library/argparse.rst:1728 msgid "" "The :meth:`add_subparsers` method also supports ``title`` and " "``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:1747 +#: ../../library/argparse.rst:1749 msgid "" "Furthermore, ``add_parser`` supports an additional ``aliases`` argument, " "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:1758 +#: ../../library/argparse.rst:1760 msgid "" "One particularly effective way of handling sub-commands is to combine the " "use of the :meth:`add_subparsers` method with calls to :meth:`set_defaults` " "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:1795 +#: ../../library/argparse.rst:1797 msgid "" "This way, you can let :meth:`parse_args` do the job of calling the " "appropriate function after argument parsing is complete. Associating " @@ -1616,16 +1991,23 @@ 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:1811 +#: ../../library/argparse.rst:1813 msgid "New *required* keyword argument." msgstr "" -#: ../../library/argparse.rst:1816 +#: ../../library/argparse.rst:1818 msgid "FileType objects" msgstr "Objetos FileType" -#: ../../library/argparse.rst:1820 +#: ../../library/argparse.rst:1822 msgid "" "The :class:`FileType` factory creates objects that can be passed to the type " "argument of :meth:`ArgumentParser.add_argument`. Arguments that have :class:" @@ -1633,23 +2015,32 @@ msgid "" "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:1832 +#: ../../library/argparse.rst:1834 msgid "" "FileType objects understand the pseudo-argument ``'-'`` and automatically " -"convert this into ``sys.stdin`` for readable :class:`FileType` objects and " -"``sys.stdout`` for writable :class:`FileType` objects::" +"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:1841 +#: ../../library/argparse.rst:1843 msgid "The *encodings* and *errors* keyword arguments." msgstr "" -#: ../../library/argparse.rst:1846 +#: ../../library/argparse.rst:1848 msgid "Argument groups" -msgstr "Grupos de Argumentos" +msgstr "Grupos de argumentos" -#: ../../library/argparse.rst:1850 +#: ../../library/argparse.rst:1852 msgid "" "By default, :class:`ArgumentParser` groups command-line arguments into " "\"positional arguments\" and \"optional arguments\" when displaying help " @@ -1658,7 +2049,7 @@ msgid "" "`add_argument_group` method::" msgstr "" -#: ../../library/argparse.rst:1867 +#: ../../library/argparse.rst:1869 msgid "" "The :meth:`add_argument_group` method returns an argument group object which " "has an :meth:`~ArgumentParser.add_argument` method just like a regular :" @@ -1669,42 +2060,48 @@ msgid "" "this display::" msgstr "" -#: ../../library/argparse.rst:1893 +#: ../../library/argparse.rst:1895 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 retornarão às seções usuais de \"argumentos posicionais\" e " +"\"argumentos opcionais\"." -#: ../../library/argparse.rst:1898 +#: ../../library/argparse.rst:1900 msgid "Mutual exclusion" -msgstr "Exclusão Mútua" +msgstr "Exclusão mútua" -#: ../../library/argparse.rst:1902 +#: ../../library/argparse.rst:1904 msgid "" "Create a mutually exclusive group. :mod:`argparse` will make sure that only " "one of the arguments in the mutually exclusive group was present on the " "command line::" msgstr "" -#: ../../library/argparse.rst:1918 +#: ../../library/argparse.rst:1920 msgid "" "The :meth:`add_mutually_exclusive_group` method also accepts a *required* " "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:1930 +#: ../../library/argparse.rst:1932 msgid "" "Note that currently mutually exclusive argument groups do not support the " "*title* and *description* arguments of :meth:`~ArgumentParser." "add_argument_group`." msgstr "" -#: ../../library/argparse.rst:1936 +#: ../../library/argparse.rst:1938 msgid "Parser defaults" -msgstr "" +msgstr "Padrões do analisador sintático" -#: ../../library/argparse.rst:1940 +#: ../../library/argparse.rst:1942 msgid "" "Most of the time, the attributes of the object returned by :meth:" "`parse_args` will be fully determined by inspecting the command-line " @@ -1712,73 +2109,102 @@ msgid "" "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:1952 +#: ../../library/argparse.rst:1954 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:1960 +#: ../../library/argparse.rst:1962 msgid "" "Parser-level defaults can be particularly useful when working with multiple " "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:1966 +#: ../../library/argparse.rst:1968 msgid "" "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:1977 +#: ../../library/argparse.rst:1979 msgid "Printing help" msgstr "Imprimindo a ajuda" -#: ../../library/argparse.rst:1979 +#: ../../library/argparse.rst:1981 msgid "" "In most typical applications, :meth:`~ArgumentParser.parse_args` will take " "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:1985 +#: ../../library/argparse.rst:1987 msgid "" "Print a brief description of how the :class:`ArgumentParser` should be " "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:1991 +#: ../../library/argparse.rst:1993 msgid "" "Print a help message, including the program usage and information about the " "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:1995 +#: ../../library/argparse.rst:1997 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:2000 +#: ../../library/argparse.rst:2002 msgid "" "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:2005 +#: ../../library/argparse.rst:2007 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:2010 +#: ../../library/argparse.rst:2012 msgid "Partial parsing" msgstr "Análise parcial" -#: ../../library/argparse.rst:2014 +#: ../../library/argparse.rst:2016 msgid "" "Sometimes a script may only parse a few of the command-line arguments, " "passing the remaining arguments on to another script or program. In these " @@ -1788,8 +2214,15 @@ 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:2030 +#: ../../library/argparse.rst:2032 msgid "" ":ref:`Prefix matching ` rules apply to :meth:" "`parse_known_args`. The parser may consume an option even if it's just a " @@ -1797,61 +2230,75 @@ msgid "" "arguments list." msgstr "" -#: ../../library/argparse.rst:2037 +#: ../../library/argparse.rst:2039 msgid "Customizing file parsing" -msgstr "" +msgstr "Personalizando a análise de arquivos" -#: ../../library/argparse.rst:2041 +#: ../../library/argparse.rst:2043 msgid "" "Arguments that are read from a file (see the *fromfile_prefix_chars* keyword " "argument to the :class:`ArgumentParser` constructor) are read one argument " "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:2046 +#: ../../library/argparse.rst:2048 msgid "" "This method takes a single argument *arg_line* which is a string read from " "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:2050 +#: ../../library/argparse.rst:2052 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:2059 +#: ../../library/argparse.rst:2061 msgid "Exiting methods" -msgstr "Métodos existentes" +msgstr "Métodos de saída" -#: ../../library/argparse.rst:2063 +#: ../../library/argparse.rst:2065 msgid "" "This method terminates the program, exiting with the specified *status* and, " "if given, it prints a *message* before that. The user can override this " "method to handle these steps differently::" msgstr "" -#: ../../library/argparse.rst:2075 +#: ../../library/argparse.rst:2077 msgid "" "This method prints a usage message including the *message* to the standard " "error and terminates the program with a status code of 2." msgstr "" -#: ../../library/argparse.rst:2080 +#: ../../library/argparse.rst:2082 msgid "Intermixed parsing" -msgstr "" +msgstr "Análise misturada" -#: ../../library/argparse.rst:2085 +#: ../../library/argparse.rst:2087 msgid "" "A number of Unix commands allow the user to intermix optional arguments with " "positional arguments. The :meth:`~ArgumentParser.parse_intermixed_args` " "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:2090 +#: ../../library/argparse.rst:2092 msgid "" "These parsers do not support all the argparse features, and will raise " "exceptions if unsupported features are used. In particular, subparsers, " @@ -1859,27 +2306,35 @@ msgid "" "optionals and positionals are not supported." msgstr "" -#: ../../library/argparse.rst:2095 +#: ../../library/argparse.rst:2097 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``. ::" 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:2110 +#: ../../library/argparse.rst:2112 msgid "" ":meth:`~ArgumentParser.parse_known_intermixed_args` returns a two item tuple " "containing the populated namespace and the list of remaining argument " "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:2120 +#: ../../library/argparse.rst:2122 msgid "Upgrading optparse code" -msgstr "" +msgstr "Atualizando código optparse" -#: ../../library/argparse.rst:2122 +#: ../../library/argparse.rst:2124 msgid "" "Originally, the :mod:`argparse` module had attempted to maintain " "compatibility with :mod:`optparse`. However, :mod:`optparse` was difficult " @@ -1890,89 +2345,114 @@ msgid "" "compatibility." msgstr "" -#: ../../library/argparse.rst:2129 +#: ../../library/argparse.rst:2131 msgid "" "The :mod:`argparse` module improves on the standard library :mod:`optparse` " "module in a number of ways including:" msgstr "" -#: ../../library/argparse.rst:2132 +#: ../../library/argparse.rst:2134 msgid "Handling positional arguments." msgstr "Tratando argumentos posicionais." -#: ../../library/argparse.rst:2133 +#: ../../library/argparse.rst:2135 msgid "Supporting sub-commands." msgstr "" -#: ../../library/argparse.rst:2134 +#: ../../library/argparse.rst:2136 msgid "Allowing alternative option prefixes like ``+`` and ``/``." -msgstr "" +msgstr "Permitir prefixos alternativos de opções como ``+`` e ``/``." -#: ../../library/argparse.rst:2135 +#: ../../library/argparse.rst:2137 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:2136 +#: ../../library/argparse.rst:2138 msgid "Producing more informative usage messages." -msgstr "" +msgstr "Produzir mensagens de uso mais informativas." -#: ../../library/argparse.rst:2137 +#: ../../library/argparse.rst:2139 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:2139 +#: ../../library/argparse.rst:2141 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:2141 +#: ../../library/argparse.rst:2143 msgid "" "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:2144 +#: ../../library/argparse.rst:2146 msgid "" "Replace ``(options, args) = parser.parse_args()`` with ``args = parser." "parse_args()`` and add additional :meth:`ArgumentParser.add_argument` calls " "for the positional arguments. Keep in mind that what was previously called " "``options``, now in the :mod:`argparse` context is called ``args``." msgstr "" +"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:2149 +#: ../../library/argparse.rst:2151 msgid "" "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:2153 +#: ../../library/argparse.rst:2155 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:2156 +#: ../../library/argparse.rst:2158 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:2159 +#: ../../library/argparse.rst:2161 msgid "" "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:2163 +#: ../../library/argparse.rst:2165 msgid "" "Replace strings with implicit arguments such as ``%default`` or ``%prog`` " "with the standard Python syntax to use dictionaries to format strings, that " "is, ``%(default)s`` and ``%(prog)s``." msgstr "" +"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:2167 +#: ../../library/argparse.rst:2169 msgid "" "Replace the OptionParser constructor ``version`` argument with a call to " "``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='')``." diff --git a/library/array.po b/library/array.po index 681133e77..cdb285741 100644 --- a/library/array.po +++ b/library/array.po @@ -1,32 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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 -# (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.10\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-06-29 12:56+0000\n" -"PO-Revision-Date: 2021-06-28 00:54+0000\n" -"Last-Translator: Bonifacio de Oliveira , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:57+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/array.rst:2 msgid ":mod:`array` --- Efficient arrays of numeric values" @@ -198,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,28 +214,33 @@ 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 " -"``Py_UNICODE``. This change doesn't affect to its behavior because " +"``Py_UNICODE``. This change doesn't affect its behavior because " "``Py_UNICODE`` is alias of ``wchar_t`` since Python 3.3." msgstr "" -"``array('u')`` agora usa ``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 ``wchar_t`` desde Python 3.3." #: ../../library/array.rst:61 msgid "" "The actual representation of values is determined by the machine " "architecture (strictly speaking, by the C implementation). The actual size " -"can be accessed through the :attr:`itemsize` attribute." +"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:`itemsize`." +"atributo :attr:`array.itemsize`." #: ../../library/array.rst:65 +msgid "The module defines the following item:" +msgstr "O módulo define o seguinte item:" + +#: ../../library/array.rst:70 +msgid "A string with all available type codes." +msgstr "String com todos os códigos de tipo disponíveis." + +#: ../../library/array.rst:73 msgid "The module defines the following type:" msgstr "O módulo define o seguinte tipo:" -#: ../../library/array.rst:70 +#: ../../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 " @@ -251,7 +251,7 @@ msgstr "" "term:`objeto byte ou similar `, ou outros elementos " "iteráveis do tipo apropriado." -#: ../../library/array.rst:75 +#: ../../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 " @@ -263,19 +263,7 @@ msgstr "" "novo vetor para adicionar itens iniciais ao vetor. Caso contrário, o " "inicializador iterável é passado para o método :meth:`extend`." -#: ../../library/array.rst:80 -msgid "" -"Raises an :ref:`auditing event ` ``array.__new__`` with arguments " -"``typecode``, ``initializer``." -msgstr "" -"Levanta um :ref:`evento de auditoria ` ``array.__new__`` com " -"argumentos ``typecode``, ``initializer``." - -#: ../../library/array.rst:84 -msgid "A string with all available type codes." -msgstr "String com todos os códigos de tipo disponíveis." - -#: ../../library/array.rst:86 +#: ../../library/array.rst:88 msgid "" "Array objects support the ordinary sequence operations of indexing, slicing, " "concatenation, and multiplication. When using slice assignment, the " @@ -284,37 +272,41 @@ 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:92 -msgid "The following data items and methods are also supported:" -msgstr "Os seguintes itens e métodos também são suportados:" +#: ../../library/array.rst:94 +msgid "" +"Raises an :ref:`auditing event ` ``array.__new__`` with arguments " +"``typecode``, ``initializer``." +msgstr "" +"Levanta um :ref:`evento de auditoria ` ``array.__new__`` com os " +"argumentos ``typecode``, ``initializer``." -#: ../../library/array.rst:96 +#: ../../library/array.rst:99 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:101 +#: ../../library/array.rst:104 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:106 +#: ../../library/array.rst:109 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:111 +#: ../../library/array.rst:114 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 " "size of the memory buffer in bytes can be computed as ``array.buffer_info()" "[1] * array.itemsize``. This is occasionally useful when working with low-" "level (and inherently unsafe) I/O interfaces that require memory addresses, " -"such as certain :c:func:`ioctl` operations. The returned numbers are valid " +"such as certain :c:func:`!ioctl` operations. The returned numbers are valid " "as long as the array exists and no length-changing operations are applied to " "it." msgstr "" @@ -323,11 +315,11 @@ msgstr "" "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." +"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:121 +#: ../../library/array.rst:124 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 " @@ -341,7 +333,7 @@ msgstr "" "retrocompatibilidade e deve ser evitado em código novo. A interface de " "buffers está documentada em :ref:`bufferobjects`." -#: ../../library/array.rst:130 +#: ../../library/array.rst:133 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:" @@ -350,15 +342,15 @@ msgid "" 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 " +"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:138 +#: ../../library/array.rst:141 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:143 +#: ../../library/array.rst:146 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:" @@ -370,7 +362,7 @@ msgstr "" "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:151 +#: ../../library/array.rst:154 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:" @@ -379,12 +371,12 @@ 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`)." -#: ../../library/array.rst:154 -msgid ":meth:`fromstring` is renamed to :meth:`frombytes` for clarity." +#: ../../library/array.rst:157 +msgid ":meth:`!fromstring` is renamed to :meth:`frombytes` for clarity." msgstr "" -":meth:`fromstring` foi renomeado para :meth:`frombytes` para maior clareza." +":meth:`!fromstring` foi renomeado para :meth:`frombytes` para maior clareza." -#: ../../library/array.rst:160 +#: ../../library/array.rst:163 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, :" @@ -396,15 +388,15 @@ msgstr "" "*n* itens, :exc:`EOFError` é levantada, mas os itens disponíveis ainda são " "inseridos ao final do vetor." -#: ../../library/array.rst:168 +#: ../../library/array.rst:171 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." 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." +"append(x)`` exceto que se ocorrer um erro de tipo, o vetor não é alterado." -#: ../../library/array.rst:174 +#: ../../library/array.rst:177 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 " @@ -416,44 +408,49 @@ msgstr "" "Use ``array.frombytes(unicodestring.encode(enc))`` para adicionar dados " "Unicode para um vetor de outros tipos de dados." -#: ../../library/array.rst:182 +#: ../../library/array.rst:185 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." 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:187 +#: ../../library/array.rst:190 msgid "Added optional *start* and *stop* parameters." -msgstr "" +msgstr "Adicionados os parâmetros opcionais *start e *stop*." -#: ../../library/array.rst:192 +#: ../../library/array.rst:196 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:198 +#: ../../library/array.rst:202 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:205 +#: ../../library/array.rst:209 msgid "Remove the first occurrence of *x* from the array." msgstr "Remove a primeira ocorrência de *x* do vetor." -#: ../../library/array.rst:210 +#: ../../library/array.rst:214 msgid "Reverse the order of the items in the array." msgstr "Inverte a ordem dos itens no vetor." -#: ../../library/array.rst:215 +#: ../../library/array.rst:219 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 " @@ -463,21 +460,21 @@ msgstr "" "representação em bytes (a mesma sequência de bytes que seria escrita pelo " "método :meth:`tofile`.)" -#: ../../library/array.rst:219 -msgid ":meth:`tostring` is renamed to :meth:`tobytes` for clarity." -msgstr ":meth:`tostring` foi nomeada para :meth:`tobytes` para maior clareza." +#: ../../library/array.rst:223 +msgid ":meth:`!tostring` is renamed to :meth:`tobytes` for clarity." +msgstr ":meth:`!tostring` foi nomeado para :meth:`tobytes` para maior clareza." -#: ../../library/array.rst:225 +#: ../../library/array.rst:229 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:230 +#: ../../library/array.rst:234 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:235 +#: ../../library/array.rst:239 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()." @@ -487,7 +484,7 @@ msgstr "" "``'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:240 +#: ../../library/array.rst:244 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 " @@ -505,19 +502,19 @@ msgstr "" "`eval`, contanto que a classe :class:`~array.array` tenha sido importada " "usando ``from array import array``. Exemplos::" -#: ../../library/array.rst:257 +#: ../../library/array.rst:261 msgid "Module :mod:`struct`" msgstr "Módulo :mod:`struct`" -#: ../../library/array.rst:257 +#: ../../library/array.rst:261 msgid "Packing and unpacking of heterogeneous binary data." msgstr "Empacotamento e desempacotamento de dados binários heterogêneos." -#: ../../library/array.rst:261 +#: ../../library/array.rst:265 msgid "Module :mod:`xdrlib`" msgstr "Módulo :mod:`xdrlib`" -#: ../../library/array.rst:260 +#: ../../library/array.rst:264 msgid "" "Packing and unpacking of External Data Representation (XDR) data as used in " "some remote procedure call systems." @@ -525,10 +522,10 @@ msgstr "" "Empacotamento e desempacotamento de dados External Data Representation (XDR) " "usados em alguns sistemas para chamada remota de procedimentos." -#: ../../library/array.rst:263 +#: ../../library/array.rst:267 msgid "`NumPy `_" -msgstr "" +msgstr "`NumPy `_" -#: ../../library/array.rst:264 +#: ../../library/array.rst:268 msgid "The NumPy package defines another array type." -msgstr "" +msgstr "O pacote NumPy define outro tipo de vetor." diff --git a/library/ast.po b/library/ast.po index 0fbeb7742..307a334a5 100644 --- a/library/ast.po +++ b/library/ast.po @@ -1,30 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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 -# Cauê Baasch de Souza , 2021 -# i17obot , 2021 -# Rafael Fontenelle , 2021 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.10\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-07-31 13:10+0000\n" -"PO-Revision-Date: 2021-06-28 00:54+0000\n" -"Last-Translator: Rafael Fontenelle , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:57+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/ast.rst:2 msgid ":mod:`ast` --- Abstract Syntax Trees" @@ -41,7 +38,7 @@ 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." @@ -59,8 +56,8 @@ msgstr "" "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`." +"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" @@ -72,19 +69,15 @@ 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:" -"`below `. They are defined in the :mod:`_ast` C module " +"`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 AST. As classes de nós reais são " -"derivadas do arquivo :file:`Parser/Python.asdl`, o qual é reproduzido :ref:" -"`abaixo `. Elas são definidas no módulo C :mod:`_ast` e " -"reexportadas em :mod:`ast`." #: ../../library/ast.rst:51 msgid "" @@ -148,6 +141,14 @@ msgid "" "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 "" @@ -181,8 +182,8 @@ msgid "" "If there are keyword arguments, they will set the attributes of the same " "names to the given values." msgstr "" -"Se houver argumentos de palavra-chave, eles definirão os atributos dos " -"mesmos nomes para os valores fornecidos." +"Se houver argumentos nomeados, eles definirão os atributos dos mesmos nomes " +"para os valores fornecidos." #: ../../library/ast.rst:103 msgid "" @@ -205,6 +206,8 @@ 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 "" @@ -227,6 +230,10 @@ msgid "" "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:150 msgid "Literals" @@ -240,6 +247,10 @@ 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 msgid "" @@ -247,32 +258,37 @@ msgid "" "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 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 msgid "``conversion`` is an integer:" -msgstr "" +msgstr "``conversion`` é um inteiro:" #: ../../library/ast.rst:176 msgid "-1: no formatting" -msgstr "" +msgstr "-1: sem formatação" #: ../../library/ast.rst:177 msgid "115: ``!s`` string formatting" -msgstr "" +msgstr "115: ``!s`` formatação de string" #: ../../library/ast.rst:178 msgid "114: ``!r`` repr formatting" -msgstr "" +msgstr "114: ``!r`` formatação de repr" #: ../../library/ast.rst:179 msgid "97: ``!a`` ascii formatting" -msgstr "" +msgstr "97: ``!a`` formatação ascii" #: ../../library/ast.rst:181 msgid "" @@ -280,12 +296,17 @@ msgid "" "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 msgid "" "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 msgid "" @@ -293,10 +314,15 @@ msgid "" "``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 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 msgid "" @@ -304,6 +330,9 @@ msgid "" "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 msgid "" @@ -311,16 +340,21 @@ msgid "" "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 msgid "Variables" -msgstr "" +msgstr "Variáveis" #: ../../library/ast.rst:284 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 msgid "" @@ -328,6 +362,9 @@ msgid "" "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 msgid "" @@ -335,6 +372,9 @@ msgid "" "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 msgid "Expressions" @@ -348,28 +388,39 @@ msgid "" "`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 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 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 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 msgid "Binary operator tokens." -msgstr "" +msgstr "Tokens de operador binário." #: ../../library/ast.rst:426 msgid "" @@ -378,14 +429,17 @@ msgid "" "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 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 msgid "Boolean operator tokens." -msgstr "" +msgstr "Tokens de operador booleano." #: ../../library/ast.rst:452 msgid "" @@ -393,20 +447,25 @@ msgid "" "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 msgid "Comparison operator tokens." -msgstr "" +msgstr "Tokens de operador de comparação." #: ../../library/ast.rst:486 msgid "" "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 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 msgid "" @@ -425,12 +484,17 @@ 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 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 msgid "" @@ -439,6 +503,10 @@ msgid "" "``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 msgid "" @@ -447,10 +515,14 @@ msgid "" "`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 msgid "Subscripting" -msgstr "" +msgstr "Subscrição" #: ../../library/ast.rst:574 msgid "" @@ -459,6 +531,10 @@ msgid "" "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 msgid "" @@ -466,10 +542,13 @@ msgid "" "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 msgid "Comprehensions" -msgstr "" +msgstr "Compreensões" #: ../../library/ast.rst:622 msgid "" @@ -477,10 +556,13 @@ msgid "" "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 msgid "``generators`` is a list of :class:`comprehension` nodes." -msgstr "" +msgstr "``generators`` é uma lista de nós de :class:`comprehension`." #: ../../library/ast.rst:668 msgid "" @@ -489,12 +571,18 @@ msgid "" "``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 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 msgid "Statements" @@ -505,6 +593,7 @@ 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 msgid "" @@ -512,12 +601,17 @@ msgid "" "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:1211 ../../library/ast.rst:1632 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 msgid "" @@ -528,6 +622,12 @@ msgid "" "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 msgid "" @@ -536,12 +636,17 @@ msgid "" "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 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 msgid "" @@ -549,36 +654,47 @@ msgid "" "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 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 msgid "" "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 msgid "A ``pass`` statement." -msgstr "" +msgstr "Uma instrução ``pass``." #: ../../library/ast.rst:920 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 msgid "Imports" -msgstr "" +msgstr "Importações" #: ../../library/ast.rst:928 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 msgid "" @@ -587,28 +703,38 @@ msgid "" "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 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 msgid "Control flow" -msgstr "" +msgstr "Fluxo de controle" #: ../../library/ast.rst:987 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 msgid "" "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 msgid "" @@ -616,6 +742,9 @@ msgid "" "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 msgid "" @@ -631,16 +760,20 @@ 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 msgid "The ``break`` and ``continue`` statements." -msgstr "" +msgstr "As instruções ``break`` e ``continue``." #: ../../library/ast.rst:1126 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 msgid "" @@ -649,6 +782,11 @@ msgid "" "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:1206 msgid "" @@ -656,6 +794,9 @@ msgid "" "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:1216 msgid "" @@ -664,10 +805,14 @@ msgid "" "`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:1249 msgid "Pattern matching" -msgstr "" +msgstr "Correspondência de padrões" #: ../../library/ast.rst:1254 msgid "" @@ -675,6 +820,9 @@ msgid "" "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:1260 msgid "" @@ -683,18 +831,26 @@ msgid "" "`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:1265 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:1268 msgid "" "``body`` contains a list of nodes to execute if the pattern matches and the " -"result of evaluating the guard expression is truthy." +"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:1311 msgid "" @@ -703,6 +859,11 @@ msgid "" "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:1338 msgid "" @@ -710,6 +871,10 @@ msgid "" "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:1363 msgid "" @@ -718,6 +883,11 @@ msgid "" "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:1394 msgid "" @@ -726,6 +896,10 @@ msgid "" "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:1434 msgid "" @@ -735,6 +909,11 @@ 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:1440 msgid "" @@ -744,6 +923,12 @@ 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:1480 msgid "" @@ -755,6 +940,13 @@ 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:1487 msgid "" @@ -762,6 +954,11 @@ msgid "" "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:1491 msgid "" @@ -769,6 +966,10 @@ msgid "" "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:1544 msgid "" @@ -777,6 +978,10 @@ msgid "" "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:1549 msgid "" @@ -784,6 +989,9 @@ msgid "" "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:1585 msgid "" @@ -793,63 +1001,78 @@ 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:1617 msgid "Function and class definitions" -msgstr "" +msgstr "Definições de função e classe" #: ../../library/ast.rst:1621 msgid "A function definition." -msgstr "" +msgstr "Uma definição de função" #: ../../library/ast.rst:1623 msgid "``name`` is a raw string of the function name." -msgstr "" +msgstr "``name`` é uma string bruta do nome da função." #: ../../library/ast.rst:1624 msgid "``args`` is an :class:`arguments` node." -msgstr "" +msgstr "``args`` é um nó :class:`arguments`." #: ../../library/ast.rst:1625 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:1626 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:1628 msgid "``returns`` is the return annotation." -msgstr "" +msgstr "``returns`` é a anotação de retorno." #: ../../library/ast.rst:1637 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:1661 msgid "The arguments for a function." -msgstr "" +msgstr "Os argumentos para uma função." #: ../../library/ast.rst:1663 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:1664 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:1666 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:1668 msgid "" @@ -857,6 +1080,9 @@ msgid "" "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:1675 msgid "" @@ -869,10 +1095,11 @@ msgstr "" 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:1725 msgid "A ``return`` statement." -msgstr "" +msgstr "Uma instrução ``return``." #: ../../library/ast.rst:1740 msgid "" @@ -880,23 +1107,29 @@ msgid "" "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:1765 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:1792 msgid "A class definition." -msgstr "" +msgstr "Uma definição de classe" #: ../../library/ast.rst:1794 msgid "``name`` is a raw string for the class name" -msgstr "" +msgstr "``name`` é uma string bruta para o nome da classe" #: ../../library/ast.rst:1795 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:1796 msgid "" @@ -917,26 +1150,32 @@ 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:1804 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:1833 msgid "Async and await" -msgstr "" +msgstr "Async e await" #: ../../library/ast.rst:1837 msgid "" "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:1843 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:1876 msgid "" @@ -944,6 +1183,9 @@ msgid "" "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:1881 msgid "" @@ -953,6 +1195,11 @@ msgid "" "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:1889 msgid ":mod:`ast` Helpers" @@ -989,7 +1236,7 @@ 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 " +"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, " @@ -1022,7 +1269,36 @@ msgstr "" "versão mais baixa suportada é ``(3, 4)``; a mais alta é ``sys." "version_info[0:2]``." -#: ../../library/ast.rst:1921 ../../library/ast.rst:1960 +#: ../../library/ast.rst:1920 +msgid "" +"If source contains a null character ('\\0'), :exc:`ValueError` is raised." +msgstr "" + +#: ../../library/ast.rst:1923 +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 " +"executed as the compilation step can raise further :exc:`SyntaxError` " +"exceptions. For instance, the source ``return 42`` generates a valid AST " +"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:1930 +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:1934 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." @@ -1031,70 +1307,114 @@ msgstr "" "grande/complexa devido às limitações de profundidade da pilha no compilador " "de AST do Python." -#: ../../library/ast.rst:1925 +#: ../../library/ast.rst:1938 msgid "Added ``type_comments``, ``mode='func_type'`` and ``feature_version``." msgstr "" "Adicionado ``type_comments``, ``mode='func_type'`` e ``feature_version``." -#: ../../library/ast.rst:1931 +#: ../../library/ast.rst:1944 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`." 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:1936 +#: ../../library/ast.rst:1949 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:1941 +#: ../../library/ast.rst:1954 msgid "" "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:1949 +#: ../../library/ast.rst:1962 msgid "" -"Safely evaluate an expression node or a string containing a Python literal " -"or container display. The string or node provided may only consist of the " +"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:1954 +#: ../../library/ast.rst:1967 +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:1972 +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 " +"execute Python code, unlike the more general :func:`eval`. There is no " +"namespace, no name lookups, or ability to call out. But it is not free from " +"attack: A relatively small input can lead to memory exhaustion or to C stack " +"exhaustion, crashing the process. There is also the possibility for " +"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:1982 msgid "" -"This can be used for safely evaluating strings containing Python values from " -"untrusted sources without the need to parse the values oneself. It is not " -"capable of evaluating arbitrarily complex expressions, for example involving " -"operators or indexing." +"It is possible to crash the Python interpreter due to stack depth " +"limitations in Python's AST compiler." msgstr "" -"Isso pode ser usado para avaliar com segurança strings contendo valores " -"Python de fontes não confiáveis sem a necessidade de analisar os valores por " -"si próprio. Não é capaz de avaliar expressões arbitrariamente complexas, por " -"exemplo, envolvendo operadores ou indexação." +"É possível travar o interpretador Python devido às limitações de " +"profundidade da pilha no compilador AST do Python." -#: ../../library/ast.rst:1964 +#: ../../library/ast.rst:1985 msgid "" "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:1968 +#: ../../library/ast.rst:1989 msgid "Now allows bytes and set literals." msgstr "Agora permite bytes e literais de conjuntos." -#: ../../library/ast.rst:1971 +#: ../../library/ast.rst:1992 msgid "Now supports creating empty sets with ``'set()'``." -msgstr "" +msgstr "Agora oferece suporte à criação de conjuntos vazios com ``'set()'``." -#: ../../library/ast.rst:1974 +#: ../../library/ast.rst:1995 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:1980 +#: ../../library/ast.rst:2001 msgid "" "Return the docstring of the given *node* (which must be a :class:" "`FunctionDef`, :class:`AsyncFunctionDef`, :class:`ClassDef`, or :class:" @@ -1106,11 +1426,11 @@ msgstr "" "`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:1986 +#: ../../library/ast.rst:2007 msgid ":class:`AsyncFunctionDef` is now supported." msgstr "Não há suporte a :class:`AsyncFunctionDef`." -#: ../../library/ast.rst:1992 +#: ../../library/ast.rst:2013 msgid "" "Get source code segment of the *source* that generated *node*. If some " "location information (:attr:`lineno`, :attr:`end_lineno`, :attr:" @@ -1120,7 +1440,7 @@ msgstr "" "informações de local (:attr:`lineno`, :attr:`end_lineno`, :attr:`col_offset` " "ou :attr:`end_col_offset`) estiverem faltando, retorna ``None``." -#: ../../library/ast.rst:1996 +#: ../../library/ast.rst:2017 msgid "" "If *padded* is ``True``, the first line of a multi-line statement will be " "padded with spaces to match its original position." @@ -1128,7 +1448,7 @@ 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:2004 +#: ../../library/ast.rst:2025 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 " @@ -1143,7 +1463,7 @@ msgstr "" "definindo-os para os valores do nó pai. Ele funciona recursivamente a partir " "do *node*." -#: ../../library/ast.rst:2013 +#: ../../library/ast.rst:2034 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 " @@ -1153,7 +1473,7 @@ msgstr "" "começando em *node* em *n*. Isso é útil para \"mover código\" para um local " "diferente em um arquivo." -#: ../../library/ast.rst:2020 +#: ../../library/ast.rst:2041 msgid "" "Copy source location (:attr:`lineno`, :attr:`col_offset`, :attr:" "`end_lineno`, and :attr:`end_col_offset`) from *old_node* to *new_node* if " @@ -1163,7 +1483,7 @@ msgstr "" "`end_lineno` e :attr:`end_col_offset`) de *old_node* para *new_node* se " "possível e, então, retorna *new_node*." -#: ../../library/ast.rst:2027 +#: ../../library/ast.rst:2048 msgid "" "Yield a tuple of ``(fieldname, value)`` for each field in ``node._fields`` " "that is present on *node*." @@ -1171,7 +1491,7 @@ msgstr "" "Produz uma tupla de ``(fieldname, value)`` para cada campo em ``node." "_fields`` que esteja presente em *node*." -#: ../../library/ast.rst:2033 +#: ../../library/ast.rst:2054 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." @@ -1179,7 +1499,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:2039 +#: ../../library/ast.rst:2060 msgid "" "Recursively yield all descendant nodes in the tree starting at *node* " "(including *node* itself), in no specified order. This is useful if you " @@ -1190,7 +1510,7 @@ msgstr "" "útil se você quiser apenas modificar nós no lugar e não se importar com o " "contexto." -#: ../../library/ast.rst:2046 +#: ../../library/ast.rst:2067 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 " @@ -1200,7 +1520,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:2050 +#: ../../library/ast.rst:2071 msgid "" "This class is meant to be subclassed, with the subclass adding visitor " "methods." @@ -1208,7 +1528,7 @@ msgstr "" "Esta classe deve ser uma subclasse, com a subclasse adicionando métodos " "visitantes." -#: ../../library/ast.rst:2055 +#: ../../library/ast.rst:2076 msgid "" "Visit a node. The default implementation calls the method called :samp:" "`self.visit_{classname}` where *classname* is the name of the node class, " @@ -1218,11 +1538,11 @@ msgstr "" "visit_{nomedaclasse}` sendo *nomedaclasse* o nome da classe do nó, ou :meth:" "`generic_visit` se aquele método não existir." -#: ../../library/ast.rst:2061 +#: ../../library/ast.rst:2082 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:2063 +#: ../../library/ast.rst:2084 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." @@ -1231,7 +1551,7 @@ msgstr "" "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:2067 +#: ../../library/ast.rst:2088 msgid "" "Don't use the :class:`NodeVisitor` if you want to apply changes to nodes " "during traversal. For this a special visitor exists (:class:" @@ -1241,7 +1561,7 @@ msgstr "" "durante a travessia. Para isso existe um visitante especial (:class:" "`NodeTransformer`) que permite modificações." -#: ../../library/ast.rst:2073 +#: ../../library/ast.rst:2094 msgid "" "Methods :meth:`visit_Num`, :meth:`visit_Str`, :meth:`visit_Bytes`, :meth:" "`visit_NameConstant` and :meth:`visit_Ellipsis` are deprecated now and will " @@ -1253,7 +1573,7 @@ msgstr "" "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:2081 +#: ../../library/ast.rst:2102 msgid "" "A :class:`NodeVisitor` subclass that walks the abstract syntax tree and " "allows modification of nodes." @@ -1261,7 +1581,7 @@ msgstr "" "A subclasse :class:`NodeVisitor` que percorre a árvore de sintaxe abstrata e " "permite a modificação de nós." -#: ../../library/ast.rst:2084 +#: ../../library/ast.rst:2105 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 " @@ -1275,7 +1595,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:2090 +#: ../../library/ast.rst:2111 msgid "" "Here is an example transformer that rewrites all occurrences of name lookups " "(``foo``) to ``data['foo']``::" @@ -1283,7 +1603,7 @@ msgstr "" "Aqui está um exemplo de transformador que rescreve todas as ocorrências de " "procuras por nome (``foo``) para ``data['foo']``::" -#: ../../library/ast.rst:2102 +#: ../../library/ast.rst:2123 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` " @@ -1293,7 +1613,7 @@ msgstr "" "deve transformar os nós filhos por conta própria ou chamar o método :meth:" "`generic_visit` para o nó primeiro." -#: ../../library/ast.rst:2106 +#: ../../library/ast.rst:2127 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 " @@ -1303,7 +1623,7 @@ 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:2110 +#: ../../library/ast.rst:2131 msgid "" "If :class:`NodeTransformer` introduces new nodes (that weren't part of " "original tree) without giving them location information (such as :attr:" @@ -1315,11 +1635,11 @@ msgstr "" "`lineno`), :func:`fix_missing_locations` deve ser chamado com o novo " "subárvore para recalcular as informações de localização::" -#: ../../library/ast.rst:2118 +#: ../../library/ast.rst:2139 msgid "Usually you use the transformer like this::" msgstr "Normalmente você usa o transformador assim::" -#: ../../library/ast.rst:2125 +#: ../../library/ast.rst:2146 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 " @@ -1337,91 +1657,111 @@ 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:2133 +#: ../../library/ast.rst:2154 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 ``" -"\"\"`` will only insert newlines. ``None`` (the default) selects the single " -"line representation. Using a positive integer indent indents that many " -"spaces per level. If *indent* is a string (such as ``\"\\t\"``), that " +"pretty-printed with that indent level. An indent level of 0, negative, or " +"``\"\"`` will only insert newlines. ``None`` (the default) selects the " +"single line representation. Using a positive integer indent indents that " +"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:2140 +#: ../../library/ast.rst:2161 msgid "Added the *indent* option." -msgstr "" +msgstr "Adicionada a opção *indent*." -#: ../../library/ast.rst:2147 +#: ../../library/ast.rst:2168 msgid "Compiler Flags" -msgstr "" +msgstr "Sinalizadores do compilador" -#: ../../library/ast.rst:2149 +#: ../../library/ast.rst:2170 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:2154 +#: ../../library/ast.rst:2175 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:2161 +#: ../../library/ast.rst:2182 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:2166 +#: ../../library/ast.rst:2187 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:2175 +#: ../../library/ast.rst:2196 msgid "Command-Line Usage" -msgstr "Uso da linha de comando" +msgstr "Uso na linha de comando" -#: ../../library/ast.rst:2179 +#: ../../library/ast.rst:2200 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:2186 +#: ../../library/ast.rst:2207 msgid "The following options are accepted:" -msgstr "" +msgstr "As seguintes opções são aceitas:" -#: ../../library/ast.rst:2192 +#: ../../library/ast.rst:2213 msgid "Show the help message and exit." -msgstr "" +msgstr "Mostra a mensagem de ajuda e sai." -#: ../../library/ast.rst:2197 +#: ../../library/ast.rst:2218 msgid "" "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:2202 +#: ../../library/ast.rst:2223 msgid "Don't parse type comments." -msgstr "" +msgstr "Não analisa comentários de tipo." -#: ../../library/ast.rst:2206 +#: ../../library/ast.rst:2227 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:2211 +#: ../../library/ast.rst:2232 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:2213 +#: ../../library/ast.rst:2234 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:2219 +#: ../../library/ast.rst:2240 msgid "" "`Green Tree Snakes `_, an external " "documentation resource, has good details on working with Python ASTs." @@ -1430,29 +1770,37 @@ msgstr "" "de documentação externo, possui bons detalhes sobre trabalhar com ASTs do " "Python." -#: ../../library/ast.rst:2222 +#: ../../library/ast.rst:2243 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:2227 +#: ../../library/ast.rst:2248 msgid "" -"`leoAst.py `_ unifies the " +"`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:2231 +#: ../../library/ast.rst:2252 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:2236 +#: ../../library/ast.rst:2257 msgid "" "`Parso `_ is a Python parser that supports " "error recovery and round-trip parsing for different Python versions (in " diff --git a/library/asynchat.po b/library/asynchat.po index b69f7621b..c87c92caa 100644 --- a/library/asynchat.po +++ b/library/asynchat.po @@ -1,49 +1,49 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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 -# (Douglas da Silva) , 2021 -# Danilo Lima , 2021 -# i17obot , 2021 +# python-doc bot, 2025 # #, 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 00:54+0000\n" -"Last-Translator: i17obot , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:57+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/asynchat.rst:2 msgid ":mod:`asynchat` --- Asynchronous socket command/response handler" msgstr "" -#: ../../library/asynchat.rst:10 +#: ../../library/asynchat.rst:11 msgid "**Source code:** :source:`Lib/asynchat.py`" msgstr "**Código-fonte:** :source:`Lib/asynchat.py`" -#: ../../library/asynchat.rst:12 -msgid "Please use :mod:`asyncio` instead." +#: ../../library/asynchat.rst:13 +msgid "" +":mod:`asynchat` will be removed in Python 3.12 (see :pep:`PEP 594 " +"<594#asynchat>` for details). Please use :mod:`asyncio` instead." msgstr "" -#: ../../library/asynchat.rst:19 +#: ../../library/asynchat.rst:22 msgid "" "This module exists for backwards compatibility only. For new code we " "recommend using :mod:`asyncio`." msgstr "" -#: ../../library/asynchat.rst:22 +#: ../../library/asynchat.rst:25 msgid "" "This module builds on the :mod:`asyncore` infrastructure, simplifying " "asynchronous clients and servers and making it easier to handle protocols " @@ -58,7 +58,7 @@ msgid "" "connection requests." msgstr "" -#: ../../library/asynchat.rst:37 +#: ../../library/asynchat.rst:40 msgid "" "This class is an abstract subclass of :class:`asyncore.dispatcher`. To make " "practical use of the code you must subclass :class:`async_chat`, providing " @@ -67,7 +67,7 @@ msgid "" "all make sense in a message/response context." msgstr "" -#: ../../library/asynchat.rst:44 +#: ../../library/asynchat.rst:47 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:" @@ -76,21 +76,21 @@ msgid "" "with no action on the part of the programmer." msgstr "" -#: ../../library/asynchat.rst:50 +#: ../../library/asynchat.rst:53 msgid "" "Two class attributes can be modified, to improve performance, or possibly " "even to conserve memory." msgstr "" -#: ../../library/asynchat.rst:56 +#: ../../library/asynchat.rst:59 msgid "The asynchronous input buffer size (default ``4096``)." msgstr "" -#: ../../library/asynchat.rst:61 +#: ../../library/asynchat.rst:64 msgid "The asynchronous output buffer size (default ``4096``)." msgstr "" -#: ../../library/asynchat.rst:63 +#: ../../library/asynchat.rst:66 msgid "" "Unlike :class:`asyncore.dispatcher`, :class:`async_chat` allows you to " "define a :abbr:`FIFO (first-in, first-out)` queue of *producers*. A producer " @@ -105,7 +105,7 @@ msgid "" "transmission from the remote endpoint." msgstr "" -#: ../../library/asynchat.rst:76 +#: ../../library/asynchat.rst:79 msgid "" "To build a functioning :class:`async_chat` subclass your input methods :" "meth:`collect_incoming_data` and :meth:`found_terminator` must handle the " @@ -113,26 +113,26 @@ msgid "" "below." msgstr "" -#: ../../library/asynchat.rst:84 +#: ../../library/asynchat.rst:87 msgid "" "Pushes a ``None`` on to the producer queue. When this producer is popped off " "the queue it causes the channel to be closed." msgstr "" -#: ../../library/asynchat.rst:90 +#: ../../library/asynchat.rst:93 msgid "" "Called with *data* holding an arbitrary amount of received data. The " "default method, which must be overridden, raises a :exc:" "`NotImplementedError` exception." msgstr "" -#: ../../library/asynchat.rst:97 +#: ../../library/asynchat.rst:100 msgid "" "In emergencies this method will discard any data held in the input and/or " "output buffers and the producer queue." msgstr "" -#: ../../library/asynchat.rst:103 +#: ../../library/asynchat.rst:106 msgid "" "Called when the incoming data stream matches the termination condition set " "by :meth:`set_terminator`. The default method, which must be overridden, " @@ -140,11 +140,11 @@ msgid "" "should be available via an instance attribute." msgstr "" -#: ../../library/asynchat.rst:111 +#: ../../library/asynchat.rst:114 msgid "Returns the current terminator for the channel." msgstr "" -#: ../../library/asynchat.rst:116 +#: ../../library/asynchat.rst:119 msgid "" "Pushes data on to the channel's queue to ensure its transmission. This is " "all you need to do to have the channel write the data out to the network, " @@ -152,68 +152,68 @@ msgid "" "implement encryption and chunking, for example." msgstr "" -#: ../../library/asynchat.rst:124 +#: ../../library/asynchat.rst:127 msgid "" "Takes a producer object and adds it to the producer queue associated with " -"the channel. When all currently-pushed producers have been exhausted the " +"the channel. When all currently pushed producers have been exhausted the " "channel will consume this producer's data by calling its :meth:`more` method " "and send the data to the remote endpoint." msgstr "" -#: ../../library/asynchat.rst:132 +#: ../../library/asynchat.rst:135 msgid "" "Sets the terminating condition to be recognized on the channel. ``term`` " "may be any of three types of value, corresponding to three different ways to " "handle incoming protocol data." msgstr "" -#: ../../library/asynchat.rst:137 +#: ../../library/asynchat.rst:140 msgid "term" msgstr "" -#: ../../library/asynchat.rst:137 +#: ../../library/asynchat.rst:140 msgid "Description" msgstr "Descrição" -#: ../../library/asynchat.rst:139 +#: ../../library/asynchat.rst:142 msgid "*string*" msgstr "" -#: ../../library/asynchat.rst:139 +#: ../../library/asynchat.rst:142 msgid "" "Will call :meth:`found_terminator` when the string is found in the input " "stream" msgstr "" -#: ../../library/asynchat.rst:142 +#: ../../library/asynchat.rst:145 msgid "*integer*" msgstr "" -#: ../../library/asynchat.rst:142 +#: ../../library/asynchat.rst:145 msgid "" "Will call :meth:`found_terminator` when the indicated number of characters " "have been received" msgstr "" -#: ../../library/asynchat.rst:146 +#: ../../library/asynchat.rst:149 msgid "``None``" msgstr "``None``" -#: ../../library/asynchat.rst:146 +#: ../../library/asynchat.rst:149 msgid "The channel continues to collect data forever" msgstr "" -#: ../../library/asynchat.rst:150 +#: ../../library/asynchat.rst:153 msgid "" "Note that any data following the terminator will be available for reading by " "the channel after :meth:`found_terminator` is called." msgstr "" -#: ../../library/asynchat.rst:157 +#: ../../library/asynchat.rst:160 msgid "asynchat Example" msgstr "Exemplo com asynchat" -#: ../../library/asynchat.rst:159 +#: ../../library/asynchat.rst:162 msgid "" "The following partial example shows how HTTP requests can be read with :" "class:`async_chat`. A web server might create an :class:" @@ -223,7 +223,7 @@ msgid "" "read." msgstr "" -#: ../../library/asynchat.rst:166 +#: ../../library/asynchat.rst:169 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:" @@ -231,7 +231,7 @@ msgid "" "data from the channel." msgstr "" -#: ../../library/asynchat.rst:171 +#: ../../library/asynchat.rst:174 msgid "" "The :meth:`handle_request` method is called once all relevant input has been " "marshalled, after setting the channel terminator to ``None`` to ensure that " diff --git a/library/asyncio-api-index.po b/library/asyncio-api-index.po index 6af54b81e..f87e437b9 100644 --- a/library/asyncio-api-index.po +++ b/library/asyncio-api-index.po @@ -1,33 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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 -# Marco Rougeth , 2021 -# Claudio Rogerio Carvalho Filho , 2021 -# Leticia Portella , 2021 -# Adorilson Bezerra , 2021 -# Vinicius Gubiani Ferreira , 2021 -# Hildeberto Abreu Magalhães , 2021 +# python-doc bot, 2025 # #, 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 00:54+0000\n" -"Last-Translator: Hildeberto Abreu Magalhães , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:57+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/asyncio-api-index.rst:6 msgid "High-level API Index" @@ -359,7 +353,7 @@ msgstr ":class:`Lock`" #: ../../library/asyncio-api-index.rst:175 msgid "A mutex lock." -msgstr "Um bloqueio mutex." +msgstr "Uma trava mutex." #: ../../library/asyncio-api-index.rst:177 msgid ":class:`Event`" diff --git a/library/asyncio-dev.po b/library/asyncio-dev.po index 0102cf8c1..df1ad7001 100644 --- a/library/asyncio-dev.po +++ b/library/asyncio-dev.po @@ -1,76 +1,81 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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 -# i17obot , 2021 +# python-doc bot, 2025 +# Rainer Terroso, 2025 # #, 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 00:54+0000\n" -"Last-Translator: i17obot , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-12-31 17:26+0000\n" +"PO-Revision-Date: 2025-09-22 15:57+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=2; plural=(n > 1);\n" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/asyncio-dev.rst:7 msgid "Developing with asyncio" -msgstr "" +msgstr "Desenvolvendo com asyncio" #: ../../library/asyncio-dev.rst:9 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" -msgstr "" +msgstr "Modo de Depuração" #: ../../library/asyncio-dev.rst:21 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 `." -msgstr "" +msgstr "Usando o :ref:`Modo de Desenvolvimento do Python `." #: ../../library/asyncio-dev.rst:30 msgid "Passing ``debug=True`` to :func:`asyncio.run`." -msgstr "" +msgstr "Passando ``debug=True`` para :func:`asyncio.run`." #: ../../library/asyncio-dev.rst:32 msgid "Calling :meth:`loop.set_debug`." -msgstr "" +msgstr "Chamando :meth:`loop.set_debug`." #: ../../library/asyncio-dev.rst:34 msgid "In addition to enabling the debug mode, consider also:" -msgstr "" +msgstr "Além de habilitar o modo de depuração, considere também:" #: ../../library/asyncio-dev.rst:36 msgid "" @@ -85,10 +90,13 @@ 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:" -msgstr "" +msgstr "Quando o modo de depuração está habilitado:" #: ../../library/asyncio-dev.rst:49 msgid "" @@ -103,12 +111,17 @@ msgid "" "`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 "" "The execution time of the I/O selector is logged if it takes too long to " "perform an I/O operation." msgstr "" +"O tempo de execução de um seletor de E/S é registrado se demorar muito para " +"executar a operação E/S." #: ../../library/asyncio-dev.rst:60 msgid "" @@ -119,7 +132,7 @@ msgstr "" #: ../../library/asyncio-dev.rst:68 msgid "Concurrency and Multithreading" -msgstr "" +msgstr "Concorrência e Múltiplas Threads" #: ../../library/asyncio-dev.rst:70 msgid "" @@ -129,12 +142,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::" msgstr "" +"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 "" @@ -143,6 +164,11 @@ 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 "" @@ -150,12 +176,17 @@ msgid "" "`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." msgstr "" +"Para tratar sinais e executar subprocessos, o laço de eventos precisa " +"executar na thread principal." #: ../../library/asyncio-dev.rst:105 msgid "" @@ -169,12 +200,12 @@ msgstr "" 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:`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 " +"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 "" @@ -188,6 +219,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 "" @@ -205,55 +240,78 @@ msgid "" "asyncio uses the :mod:`logging` module and all logging is performed via the " "``\"asyncio\"`` logger." msgstr "" +"asyncio usa o módulo :mod:`logging` e todo registro é feito via o " +"registrador ``\"asyncio\"``." #: ../../library/asyncio-dev.rst:145 msgid "" "The default log level is :py:data:`logging.INFO`, which can be easily " "adjusted::" msgstr "" +"O nível de log padrão é :py:data:`logging.INFO`, mas pode ser facilmente " +"ajustado::" -#: ../../library/asyncio-dev.rst:154 -msgid "Detect never-awaited coroutines" +#: ../../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`." 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 "Detectar corrotinas nunca aguardadas" -#: ../../library/asyncio-dev.rst:156 +#: ../../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`::" 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:171 ../../library/asyncio-dev.rst:216 +#: ../../library/asyncio-dev.rst:176 ../../library/asyncio-dev.rst:221 msgid "Output::" msgstr "Saída::" -#: ../../library/asyncio-dev.rst:176 ../../library/asyncio-dev.rst:232 +#: ../../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:189 +#: ../../library/asyncio-dev.rst:194 msgid "" "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:197 +#: ../../library/asyncio-dev.rst:202 msgid "Detect never-retrieved exceptions" -msgstr "" +msgstr "Detectar exceções nunca recuperadas" -#: ../../library/asyncio-dev.rst:199 +#: ../../library/asyncio-dev.rst:204 msgid "" "If a :meth:`Future.set_exception` is called but the Future object is never " "awaited on, the exception would never be propagated to the user code. In " "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:204 +#: ../../library/asyncio-dev.rst:209 msgid "Example of an unhandled exception::" -msgstr "" +msgstr "Exemplo de uma exceção não tratada::" -#: ../../library/asyncio-dev.rst:227 +#: ../../library/asyncio-dev.rst:232 msgid "" ":ref:`Enable the debug mode ` to get the traceback where " "the task was created::" diff --git a/library/asyncio-eventloop.po b/library/asyncio-eventloop.po index 112a1e5a9..47ca837f5 100644 --- a/library/asyncio-eventloop.po +++ b/library/asyncio-eventloop.po @@ -1,40 +1,34 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, Python Software 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 -# Rafael Fontenelle , 2021 -# Vinicius Gubiani Ferreira , 2021 +# python-doc bot, 2025 +# Adorilson Bezerra , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.10\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-08-18 13:46+0000\n" -"PO-Revision-Date: 2021-06-28 00:54+0000\n" -"Last-Translator: Vinicius Gubiani Ferreira , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2026-03-11 18:08+0000\n" +"PO-Revision-Date: 2025-09-22 15:57+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=2; plural=(n > 1);\n" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" -#: ../../library/asyncio-eventloop.rst:6 +#: ../../library/asyncio-eventloop.rst:8 msgid "Event Loop" -msgstr "Laço de Eventos" +msgstr "Laço de eventos" -#: ../../library/asyncio-eventloop.rst:8 +#: ../../library/asyncio-eventloop.rst:10 msgid "" "**Source code:** :source:`Lib/asyncio/events.py`, :source:`Lib/asyncio/" "base_events.py`" @@ -42,11 +36,11 @@ msgstr "" "**Código-fonte:** :source:`Lib/asyncio/events.py`, :source:`Lib/asyncio/" "base_events.py`" -#: ../../library/asyncio-eventloop.rst:14 +#: ../../library/asyncio-eventloop.rst:16 msgid "Preface" msgstr "Prefácio" -#: ../../library/asyncio-eventloop.rst:15 +#: ../../library/asyncio-eventloop.rst:17 msgid "" "The event loop is the core of every asyncio application. Event loops run " "asynchronous tasks and callbacks, perform network IO operations, and run " @@ -56,7 +50,7 @@ msgstr "" "executam tarefas e funções de retorno assíncronas, realizam operações de " "entrada e saída e executam subprocessos." -#: ../../library/asyncio-eventloop.rst:19 +#: ../../library/asyncio-eventloop.rst:21 msgid "" "Application developers should typically use the high-level asyncio " "functions, such as :func:`asyncio.run`, and should rarely need to reference " @@ -71,11 +65,11 @@ msgstr "" "que precisam de um controle mais preciso sobre o comportamento do laço de " "evento." -#: ../../library/asyncio-eventloop.rst:26 +#: ../../library/asyncio-eventloop.rst:28 msgid "Obtaining the Event Loop" msgstr "Obtendo o laço de eventos" -#: ../../library/asyncio-eventloop.rst:27 +#: ../../library/asyncio-eventloop.rst:29 msgid "" "The following low-level functions can be used to get, set, or create an " "event loop:" @@ -83,36 +77,46 @@ msgstr "" "As seguintes funções baixo nível podem ser usadas para obter, definir, ou " "criar um laço de eventos:" -#: ../../library/asyncio-eventloop.rst:32 +#: ../../library/asyncio-eventloop.rst:34 msgid "Return the running event loop in the current OS thread." msgstr "" "Retorna o laço de eventos em execução na thread atual do sistema operacional." -#: ../../library/asyncio-eventloop.rst:34 -msgid "" -"If there is no running event loop a :exc:`RuntimeError` is raised. This " -"function can only be called from a coroutine or a callback." +#: ../../library/asyncio-eventloop.rst:36 +msgid "Raise a :exc:`RuntimeError` if there is no running event loop." msgstr "" -"Se não existir nenhum laço de eventos em execução, um :exc:`RuntimeError` é " -"levantado. Esta função somente pode ser chamada a partir de uma corrotina ou " -"uma função de retorno." +"Levanta uma :exc:`RuntimeError` se não houver nenhum laço de eventos em " +"execução." -#: ../../library/asyncio-eventloop.rst:41 +#: ../../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." msgstr "Obtém o laço de eventos atual." -#: ../../library/asyncio-eventloop.rst:43 +#: ../../library/asyncio-eventloop.rst:46 msgid "" -"If there is no current event loop set in the current OS thread, the OS " -"thread is main, and :func:`set_event_loop` has not yet been called, asyncio " -"will create a new event loop and set it as the current one." +"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 "" -"Se não existe nenhum laço de eventos definido na thread atual do sistema " -"operacional, é a thread principal do sistema operacional, e :func:" -"`set_event_loop` ainda não foi chamada, asyncio irá criar um novo laço de " -"eventos e defini-lo como o atual." +"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:48 +#: ../../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 "" "Because this function has rather complex behavior (especially when custom " "event loop policies are in use), using the :func:`get_running_loop` function " @@ -123,34 +127,37 @@ msgstr "" "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:53 +#: ../../library/asyncio-eventloop.rst:58 msgid "" -"Consider also using the :func:`asyncio.run` function instead of using lower " -"level functions to manually create and close an event loop." +"As noted above, consider using the higher-level :func:`asyncio.run` " +"function, instead of using these lower level functions to manually create " +"and close an event loop." msgstr "" -"Considere também usar a função :func:`asyncio.run` ao invés de usar funções " -"de baixo nível para manualmente criar e fechar um laço de eventos." +"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:56 +#: ../../library/asyncio-eventloop.rst:63 msgid "" -"Deprecation warning is emitted if there is no running event loop. In future " -"Python releases, this function will be an alias of :func:`get_running_loop`." +"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." msgstr "" -"Aviso de descontinuidade é emitido se não existe nenhum laço de eventos em " -"execução. Em lançamentos futuros do Python, esta função será um apelido " -"para :func:`get_running_loop`." -#: ../../library/asyncio-eventloop.rst:63 -msgid "Set *loop* as a current event loop for the current OS thread." +#: ../../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:67 -msgid "Create a new event loop object." -msgstr "Cria um novo objeto de laço de eventos." +#: ../../library/asyncio-eventloop.rst:78 +msgid "Create and return a new event loop object." +msgstr "Cria e retorna um novo objeto de laço de eventos." -#: ../../library/asyncio-eventloop.rst:69 +#: ../../library/asyncio-eventloop.rst:80 msgid "" "Note that the behaviour of :func:`get_event_loop`, :func:`set_event_loop`, " "and :func:`new_event_loop` functions can be altered by :ref:`setting a " @@ -160,15 +167,15 @@ msgstr "" "`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:75 +#: ../../library/asyncio-eventloop.rst:86 msgid "Contents" msgstr "Conteúdo" -#: ../../library/asyncio-eventloop.rst:76 +#: ../../library/asyncio-eventloop.rst:87 msgid "This documentation page contains the following sections:" msgstr "Esta página de documentação contém as seguintes seções:" -#: ../../library/asyncio-eventloop.rst:78 +#: ../../library/asyncio-eventloop.rst:89 msgid "" "The `Event Loop Methods`_ section is the reference documentation of the " "event loop APIs;" @@ -176,7 +183,7 @@ msgstr "" "A seção `Métodos do laço de eventos`_ é a documentação de referência das " "APIs de laço de eventos;" -#: ../../library/asyncio-eventloop.rst:81 +#: ../../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 :" @@ -187,7 +194,7 @@ msgstr "" "métodos de agendamento tais como :meth:`loop.call_soon` e :meth:`loop." "call_later`;" -#: ../../library/asyncio-eventloop.rst:85 +#: ../../library/asyncio-eventloop.rst:96 msgid "" "The `Server Objects`_ section documents types returned from event loop " "methods like :meth:`loop.create_server`;" @@ -195,7 +202,7 @@ msgstr "" "A seção `Objetos Server`_ documenta tipos retornados a partir de métodos de " "laço de eventos, como :meth:`loop.create_server`;" -#: ../../library/asyncio-eventloop.rst:88 +#: ../../library/asyncio-eventloop.rst:99 msgid "" "The `Event Loop Implementations`_ section documents the :class:" "`SelectorEventLoop` and :class:`ProactorEventLoop` classes;" @@ -203,33 +210,33 @@ msgstr "" "A seção `Implementações do Laço de Eventos`_ documenta as classes :class:" "`SelectorEventLoop` e :class:`ProactorEventLoop`;" -#: ../../library/asyncio-eventloop.rst:91 +#: ../../library/asyncio-eventloop.rst:102 msgid "" "The `Examples`_ section showcases how to work with some event loop APIs." msgstr "" "A seção `Exemplos`_ demonstra como trabalhar com algumas APIs do laço de " "eventos APIs." -#: ../../library/asyncio-eventloop.rst:98 +#: ../../library/asyncio-eventloop.rst:109 msgid "Event Loop Methods" msgstr "Métodos do laço de eventos" -#: ../../library/asyncio-eventloop.rst:100 +#: ../../library/asyncio-eventloop.rst:111 msgid "Event loops have **low-level** APIs for the following:" msgstr "" "Laços de eventos possuem APIs de **baixo nível** para as seguintes situações:" -#: ../../library/asyncio-eventloop.rst:108 +#: ../../library/asyncio-eventloop.rst:119 msgid "Running and stopping the loop" msgstr "Executar e interromper o laço" -#: ../../library/asyncio-eventloop.rst:112 +#: ../../library/asyncio-eventloop.rst:123 msgid "Run until the *future* (an instance of :class:`Future`) has completed." msgstr "" "Executar até que o *future* (uma instância da classe :class:`Future`) seja " "completada." -#: ../../library/asyncio-eventloop.rst:115 +#: ../../library/asyncio-eventloop.rst:126 msgid "" "If the argument is a :ref:`coroutine object ` it is implicitly " "scheduled to run as a :class:`asyncio.Task`." @@ -237,15 +244,15 @@ msgstr "" "Se o argumento é um :ref:`objeto corrotina `, ele é " "implicitamente agendado para executar como uma :class:`asyncio.Task`." -#: ../../library/asyncio-eventloop.rst:118 +#: ../../library/asyncio-eventloop.rst:129 msgid "Return the Future's result or raise its exception." msgstr "Retorna o resultado do Future ou levanta sua exceção." -#: ../../library/asyncio-eventloop.rst:122 +#: ../../library/asyncio-eventloop.rst:133 msgid "Run the event loop until :meth:`stop` is called." msgstr "Executa o laço de eventos até que :meth:`stop` seja chamado." -#: ../../library/asyncio-eventloop.rst:124 +#: ../../library/asyncio-eventloop.rst:135 msgid "" "If :meth:`stop` is called before :meth:`run_forever()` is called, the loop " "will poll the I/O selector once with a timeout of zero, run all callbacks " @@ -257,7 +264,7 @@ msgstr "" "executar todas as funções de retorno agendadas na resposta de eventos de E/S " "(e aqueles que já estavam agendados), e então sair." -#: ../../library/asyncio-eventloop.rst:129 +#: ../../library/asyncio-eventloop.rst:140 msgid "" "If :meth:`stop` is called while :meth:`run_forever` is running, the loop " "will run the current batch of callbacks and then exit. Note that new " @@ -271,23 +278,23 @@ msgstr "" "executadas neste caso; ao invés disso, elas serão executadas na próxima vez " "que :meth:`run_forever` ou :meth:`run_until_complete` forem chamadas." -#: ../../library/asyncio-eventloop.rst:137 +#: ../../library/asyncio-eventloop.rst:148 msgid "Stop the event loop." msgstr "Para o laço de eventos." -#: ../../library/asyncio-eventloop.rst:141 +#: ../../library/asyncio-eventloop.rst:152 msgid "Return ``True`` if the event loop is currently running." msgstr "Retorna ``True`` se o laço de eventos estiver em execução." -#: ../../library/asyncio-eventloop.rst:145 +#: ../../library/asyncio-eventloop.rst:156 msgid "Return ``True`` if the event loop was closed." msgstr "Retorna ``True`` se o laço de eventos foi fechado." -#: ../../library/asyncio-eventloop.rst:149 +#: ../../library/asyncio-eventloop.rst:160 msgid "Close the event loop." msgstr "Fecha o laço de eventos." -#: ../../library/asyncio-eventloop.rst:151 +#: ../../library/asyncio-eventloop.rst:162 msgid "" "The loop must not be running when this function is called. Any pending " "callbacks will be discarded." @@ -295,7 +302,7 @@ msgstr "" "O laço não deve estar em execução quando esta função for chamada. Qualquer " "função de retorno pendente será descartada." -#: ../../library/asyncio-eventloop.rst:154 +#: ../../library/asyncio-eventloop.rst:165 msgid "" "This method clears all queues and shuts down the executor, but does not wait " "for the executor to finish." @@ -303,7 +310,7 @@ msgstr "" "Este método limpa todas as filas e desliga o executor, mas não aguarda pelo " "encerramento do executor." -#: ../../library/asyncio-eventloop.rst:157 +#: ../../library/asyncio-eventloop.rst:168 msgid "" "This method is idempotent and irreversible. No other methods should be " "called after the event loop is closed." @@ -311,7 +318,7 @@ msgstr "" "Este método é idempotente e irreversível. Nenhum outro método deve ser " "chamado depois que o laço de eventos esteja fechado." -#: ../../library/asyncio-eventloop.rst:162 +#: ../../library/asyncio-eventloop.rst:173 msgid "" "Schedule all currently open :term:`asynchronous generator` objects to close " "with an :meth:`~agen.aclose()` call. After calling this method, the event " @@ -324,8 +331,7 @@ msgstr "" "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:168 -#: ../../library/asyncio-eventloop.rst:188 +#: ../../library/asyncio-eventloop.rst:179 msgid "" "Note that there is no need to call this function when :func:`asyncio.run` is " "used." @@ -333,29 +339,35 @@ msgstr "" "Perceba que não é necessário chamar esta função quando :func:`asyncio.run` " "for usado." -#: ../../library/asyncio-eventloop.rst:171 -#: ../../library/asyncio-eventloop.rst:1083 -#: ../../library/asyncio-eventloop.rst:1468 +#: ../../library/asyncio-eventloop.rst:182 +#: ../../library/asyncio-eventloop.rst:1127 +#: ../../library/asyncio-eventloop.rst:1519 msgid "Example::" msgstr "Exemplo::" -#: ../../library/asyncio-eventloop.rst:183 +#: ../../library/asyncio-eventloop.rst:194 msgid "" "Schedule the closure of the default executor and wait for it to join all of " -"the threads in the :class:`ThreadPoolExecutor`. After calling this method, " -"a :exc:`RuntimeError` will be raised if :meth:`loop.run_in_executor` is " -"called while using the default executor." +"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`." msgstr "" "Agenda o encerramento do executor padrão e aguarda ele se juntar a todas as " -"threads no :class:`ThreadPoolExecutor`. Após chamar este método, um :exc:" -"`RuntimeError` será levantado se :meth:`loop.run_in_executor` for chamado " -"enquanto estiver usando o executor padrão." +"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 "" +"Do not call this method when using :func:`asyncio.run`, as the latter " +"handles default executor shutdown automatically." +msgstr "" -#: ../../library/asyncio-eventloop.rst:195 +#: ../../library/asyncio-eventloop.rst:209 msgid "Scheduling callbacks" msgstr "Agendando funções de retorno" -#: ../../library/asyncio-eventloop.rst:199 +#: ../../library/asyncio-eventloop.rst:213 msgid "" "Schedule the *callback* :term:`callback` to be called with *args* arguments " "at the next iteration of the event loop." @@ -363,7 +375,13 @@ msgstr "" "Agenda a *função de retorno* :term:`callback` para ser chamada com " "argumentos *args* na próxima iteração do laço de eventos." -#: ../../library/asyncio-eventloop.rst:202 +#: ../../library/asyncio-eventloop.rst:216 +msgid "" +"Return an instance of :class:`asyncio.Handle`, which can be used later to " +"cancel the callback." +msgstr "" + +#: ../../library/asyncio-eventloop.rst:219 msgid "" "Callbacks are called in the order in which they are registered. Each " "callback will be called exactly once." @@ -371,38 +389,25 @@ msgstr "" "Funções de retorno são chamadas na ordem em que elas foram registradas. Cada " "função de retorno será chamada exatamente uma vez." -#: ../../library/asyncio-eventloop.rst:205 -#: ../../library/asyncio-eventloop.rst:272 +#: ../../library/asyncio-eventloop.rst:222 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." +"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 "" -"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:209 -msgid "" -"An instance of :class:`asyncio.Handle` is returned, which can be used later " -"to cancel the callback." +#: ../../library/asyncio-eventloop.rst:226 +msgid "Unlike :meth:`call_soon_threadsafe`, this method is not thread-safe." msgstr "" -"Uma instância de :class:`asyncio.Handle` é retornado, o qual pode ser usado " -"posteriormente para cancelar a função de retorno." -#: ../../library/asyncio-eventloop.rst:212 -msgid "This method is not thread-safe." -msgstr "Este método não é seguro para thread." - -#: ../../library/asyncio-eventloop.rst:216 +#: ../../library/asyncio-eventloop.rst:230 msgid "" -"A thread-safe variant of :meth:`call_soon`. Must be used to schedule " -"callbacks *from another thread*." +"A thread-safe variant of :meth:`call_soon`. When scheduling callbacks from " +"another thread, this function *must* be used, since :meth:`call_soon` is not " +"thread-safe." msgstr "" -"Uma variante segura para thread do :meth:`call_soon`. Deve ser usada para " -"agendar funções de retorno *a partir de outra thread*." -#: ../../library/asyncio-eventloop.rst:219 +#: ../../library/asyncio-eventloop.rst:234 msgid "" "Raises :exc:`RuntimeError` if called on a loop that's been closed. This can " "happen on a secondary thread when the main application is shutting down." @@ -411,7 +416,7 @@ msgstr "" "pode acontecer em uma thread secundária quando a aplicação principal estiver " "desligando." -#: ../../library/asyncio-eventloop.rst:223 +#: ../../library/asyncio-eventloop.rst:238 msgid "" "See the :ref:`concurrency and multithreading ` " "section of the documentation." @@ -419,9 +424,9 @@ msgstr "" "Veja a seção :ref:`concorrência e multithreading ` " "da documentação." -#: ../../library/asyncio-eventloop.rst:226 -#: ../../library/asyncio-eventloop.rst:276 -#: ../../library/asyncio-eventloop.rst:296 +#: ../../library/asyncio-eventloop.rst:241 +#: ../../library/asyncio-eventloop.rst:291 +#: ../../library/asyncio-eventloop.rst:311 msgid "" "The *context* keyword-only parameter was added. See :pep:`567` for more " "details." @@ -429,7 +434,7 @@ msgstr "" "O parâmetro somente-nomeado *context* foi adicionado. Veja :pep:`567` para " "mais detalhes." -#: ../../library/asyncio-eventloop.rst:234 +#: ../../library/asyncio-eventloop.rst:249 msgid "" "Most :mod:`asyncio` scheduling functions don't allow passing keyword " "arguments. To do that, use :func:`functools.partial`::" @@ -437,7 +442,7 @@ msgstr "" "Maior parte das funções de agendamento :mod:`asyncio` não permite passar " "argumentos nomeados. Para fazer isso, use :func:`functools.partial`::" -#: ../../library/asyncio-eventloop.rst:241 +#: ../../library/asyncio-eventloop.rst:256 msgid "" "Using partial objects is usually more convenient than using lambdas, as " "asyncio can render partial objects better in debug and error messages." @@ -446,11 +451,11 @@ msgstr "" "asyncio pode renderizar objetos parciais melhor durante debug e mensagens de " "erro." -#: ../../library/asyncio-eventloop.rst:249 +#: ../../library/asyncio-eventloop.rst:264 msgid "Scheduling delayed callbacks" msgstr "Agendando funções de retorno atrasadas" -#: ../../library/asyncio-eventloop.rst:251 +#: ../../library/asyncio-eventloop.rst:266 msgid "" "Event loop provides mechanisms to schedule callback functions to be called " "at some point in the future. Event loop uses monotonic clocks to track time." @@ -459,7 +464,7 @@ msgstr "" "serem chamadas em algum ponto no futuro. Laço de eventos usa relógios " "monotônico para acompanhar o tempo." -#: ../../library/asyncio-eventloop.rst:258 +#: ../../library/asyncio-eventloop.rst:273 msgid "" "Schedule *callback* to be called after the given *delay* number of seconds " "(can be either an int or a float)." @@ -467,8 +472,8 @@ msgstr "" "Agenda *callback* para ser chamada após o *delay* número de segundos " "fornecido (pode ser um inteiro ou um ponto flutuante)." -#: ../../library/asyncio-eventloop.rst:261 -#: ../../library/asyncio-eventloop.rst:293 +#: ../../library/asyncio-eventloop.rst:276 +#: ../../library/asyncio-eventloop.rst:308 msgid "" "An instance of :class:`asyncio.TimerHandle` is returned which can be used to " "cancel the callback." @@ -476,7 +481,7 @@ msgstr "" "Uma instância de :class:`asyncio.TimerHandle` é retornada, a qual pode ser " "usada para cancelar a função de retorno." -#: ../../library/asyncio-eventloop.rst:264 +#: ../../library/asyncio-eventloop.rst:279 msgid "" "*callback* will be called exactly once. If two callbacks are scheduled for " "exactly the same time, the order in which they are called is undefined." @@ -485,7 +490,7 @@ msgstr "" "agendadas para exatamente o mesmo tempo, a ordem na qual elas são chamadas é " "indefinida." -#: ../../library/asyncio-eventloop.rst:268 +#: ../../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 :" @@ -495,7 +500,17 @@ msgstr "" "ela for chamada. Se você quiser que a função de retorno seja chamada com " "argumentos nomeados, use :func:`functools.partial`." -#: ../../library/asyncio-eventloop.rst:280 +#: ../../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." +msgstr "" +"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 msgid "" "In Python 3.7 and earlier with the default event loop implementation, the " "*delay* could not exceed one day. This has been fixed in Python 3.8." @@ -503,7 +518,7 @@ msgstr "" "No Python 3.7 e anterior, com a implementação padrão do laço de eventos, o " "*delay* não poderia exceder um dia. Isto foi ajustado no Python 3.8." -#: ../../library/asyncio-eventloop.rst:287 +#: ../../library/asyncio-eventloop.rst:302 msgid "" "Schedule *callback* to be called at the given absolute timestamp *when* (an " "int or a float), using the same time reference as :meth:`loop.time`." @@ -512,11 +527,11 @@ msgstr "" "(um inteiro ou um ponto flutuante), usando o mesmo horário de referência " "que :meth:`loop.time`." -#: ../../library/asyncio-eventloop.rst:291 +#: ../../library/asyncio-eventloop.rst:306 msgid "This method's behavior is the same as :meth:`call_later`." msgstr "O comportamento deste método é o mesmo que :meth:`call_later`." -#: ../../library/asyncio-eventloop.rst:300 +#: ../../library/asyncio-eventloop.rst:315 msgid "" "In Python 3.7 and earlier with the default event loop implementation, the " "difference between *when* and the current time could not exceed one day. " @@ -526,7 +541,7 @@ msgstr "" "diferença entre *when* e o horário atual não poderia exceder um dia. Isto " "foi ajustado no Python 3.8." -#: ../../library/asyncio-eventloop.rst:307 +#: ../../library/asyncio-eventloop.rst:322 msgid "" "Return the current time, as a :class:`float` value, according to the event " "loop's internal monotonic clock." @@ -534,7 +549,7 @@ msgstr "" "Retorna o horário atual, como um valor :class:`float`, de acordo com o " "relógio monotônico interno do laço de eventos." -#: ../../library/asyncio-eventloop.rst:311 +#: ../../library/asyncio-eventloop.rst:326 msgid "" "In Python 3.7 and earlier timeouts (relative *delay* or absolute *when*) " "should not exceed one day. This has been fixed in Python 3.8." @@ -542,19 +557,19 @@ msgstr "" "No Python 3.7 e anterior, tempos limites (*delay* relativo ou *when* " "absoluto) não poderiam exceder um dia. Isto foi ajustado no Python 3.8." -#: ../../library/asyncio-eventloop.rst:317 +#: ../../library/asyncio-eventloop.rst:332 msgid "The :func:`asyncio.sleep` function." msgstr "A função :func:`asyncio.sleep`." -#: ../../library/asyncio-eventloop.rst:321 +#: ../../library/asyncio-eventloop.rst:336 msgid "Creating Futures and Tasks" msgstr "Criando Futures e Tasks" -#: ../../library/asyncio-eventloop.rst:325 +#: ../../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:327 +#: ../../library/asyncio-eventloop.rst:342 msgid "" "This is the preferred way to create Futures in asyncio. This lets third-" "party event loops provide alternative implementations of the Future object " @@ -564,14 +579,15 @@ msgstr "" "laços de eventos de terceiros forneçam implementações alternativas do objeto " "Future (com melhor desempenho ou instrumentação)." -#: ../../library/asyncio-eventloop.rst:335 +#: ../../library/asyncio-eventloop.rst:350 msgid "" -"Schedule the execution of a :ref:`coroutine`. Return a :class:`Task` object." +"Schedule the execution of :ref:`coroutine ` *coro*. Return a :" +"class:`Task` object." msgstr "" -"Agenda a execução de uma :ref:`corrotina `. Retorna um objeto :" +"Agenda a execução da :ref:`corrotina ` *coro*. Retorna um objeto :" "class:`Task`." -#: ../../library/asyncio-eventloop.rst:338 +#: ../../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:" @@ -581,24 +597,24 @@ msgstr "" "`Task` para interoperabilidade. Neste caso, o tipo do resultado é uma " "subclasse de :class:`Task`." -#: ../../library/asyncio-eventloop.rst:342 +#: ../../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:345 -msgid "Added the ``name`` parameter." -msgstr "Adicionado o parâmetro ``name``." +#: ../../library/asyncio-eventloop.rst:360 +msgid "Added the *name* parameter." +msgstr "Adicionado o parâmetro *name*." -#: ../../library/asyncio-eventloop.rst:350 +#: ../../library/asyncio-eventloop.rst:365 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:353 +#: ../../library/asyncio-eventloop.rst:368 msgid "" "If *factory* is ``None`` the default task factory will be set. Otherwise, " "*factory* must be a *callable* with the signature matching ``(loop, coro)``, " @@ -612,16 +628,16 @@ msgstr "" "ativo, e *coro* é um objeto corrotina. O objeto chamável deve retornar um " "objeto compatível com :class:`asyncio.Future`." -#: ../../library/asyncio-eventloop.rst:361 +#: ../../library/asyncio-eventloop.rst:376 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:365 +#: ../../library/asyncio-eventloop.rst:380 msgid "Opening network connections" msgstr "Abrindo conexões de rede" -#: ../../library/asyncio-eventloop.rst:374 +#: ../../library/asyncio-eventloop.rst:389 msgid "" "Open a streaming transport connection to a given address specified by *host* " "and *port*." @@ -629,7 +645,7 @@ msgstr "" "Abre uma conexão de transporte para streaming, para um endereço fornecido, " "especificado por *host* e *port*." -#: ../../library/asyncio-eventloop.rst:377 +#: ../../library/asyncio-eventloop.rst:392 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 " @@ -639,13 +655,13 @@ msgstr "" "`~socket.AF_INET6` dependendo do *host* (ou do argumento *family*, se " "fornecido)." -#: ../../library/asyncio-eventloop.rst:381 +#: ../../library/asyncio-eventloop.rst:396 msgid "The socket type will be :py:data:`~socket.SOCK_STREAM`." msgstr "O tipo de soquete será :py:data:`~socket.SOCK_STREAM`." -#: ../../library/asyncio-eventloop.rst:383 -#: ../../library/asyncio-eventloop.rst:999 -#: ../../library/asyncio-eventloop.rst:1015 +#: ../../library/asyncio-eventloop.rst:398 +#: ../../library/asyncio-eventloop.rst:1043 +#: ../../library/asyncio-eventloop.rst:1059 msgid "" "*protocol_factory* must be a callable returning an :ref:`asyncio protocol " "` implementation." @@ -653,7 +669,7 @@ msgstr "" "*protocol_factory* deve ser um chamável que retorne uma implementação do :" "ref:`protocolo asyncio `." -#: ../../library/asyncio-eventloop.rst:386 +#: ../../library/asyncio-eventloop.rst:401 msgid "" "This method will try to establish the connection in the background. When " "successful, it returns a ``(transport, protocol)`` pair." @@ -661,11 +677,11 @@ msgstr "" "Este método tentará estabelecer a conexão em segundo plano. Quando tiver " "sucesso, ele retorna um par ``(transport, protocol)``." -#: ../../library/asyncio-eventloop.rst:389 +#: ../../library/asyncio-eventloop.rst:404 msgid "The chronological synopsis of the underlying operation is as follows:" msgstr "A sinopse cronológica da operação subjacente é conforme abaixo:" -#: ../../library/asyncio-eventloop.rst:391 +#: ../../library/asyncio-eventloop.rst:406 msgid "" "The connection is established and a :ref:`transport ` is " "created for it." @@ -673,7 +689,7 @@ msgstr "" "A conexão é estabelecida e um :ref:`transporte ` é criado " "para ela." -#: ../../library/asyncio-eventloop.rst:394 +#: ../../library/asyncio-eventloop.rst:409 msgid "" "*protocol_factory* is called without arguments and is expected to return a :" "ref:`protocol ` instance." @@ -681,7 +697,7 @@ msgstr "" "*protocol_factory* é chamada sem argumentos e é esperada que retorne uma " "instância de :ref:`protocolo `." -#: ../../library/asyncio-eventloop.rst:397 +#: ../../library/asyncio-eventloop.rst:412 msgid "" "The protocol instance is coupled with the transport by calling its :meth:" "`~BaseProtocol.connection_made` method." @@ -689,22 +705,22 @@ msgstr "" "A instância de protocolo é acoplada com o transporte, através da chamada do " "seu método :meth:`~BaseProtocol.connection_made`." -#: ../../library/asyncio-eventloop.rst:400 +#: ../../library/asyncio-eventloop.rst:415 msgid "A ``(transport, protocol)`` tuple is returned on success." msgstr "Uma tupla ``(transport, protocol)`` é retornada ao ter sucesso." -#: ../../library/asyncio-eventloop.rst:402 +#: ../../library/asyncio-eventloop.rst:417 msgid "" "The created transport is an implementation-dependent bidirectional stream." msgstr "" "O transporte criado é um stream bi-direcional dependente de implementação." -#: ../../library/asyncio-eventloop.rst:405 -#: ../../library/asyncio-eventloop.rst:527 +#: ../../library/asyncio-eventloop.rst:420 +#: ../../library/asyncio-eventloop.rst:548 msgid "Other arguments:" msgstr "Outros argumentos:" -#: ../../library/asyncio-eventloop.rst:407 +#: ../../library/asyncio-eventloop.rst:422 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` " @@ -718,11 +734,11 @@ msgstr "" "for :const:`True`, um contexto padrão retornado de :func:`ssl." "create_default_context` é usado." -#: ../../library/asyncio-eventloop.rst:413 +#: ../../library/asyncio-eventloop.rst:428 msgid ":ref:`SSL/TLS security considerations `" msgstr ":ref:`Considerações de segurança sobre SSL/TLS `" -#: ../../library/asyncio-eventloop.rst:415 +#: ../../library/asyncio-eventloop.rst:430 msgid "" "*server_hostname* sets or overrides the hostname that the target server's " "certificate will be matched against. Should only be passed if *ssl* is not " @@ -740,7 +756,7 @@ msgstr "" "de hostname é desabilitado (o que é um risco de segurança sério, permitindo " "ataques potenciais man-in-the-middle)." -#: ../../library/asyncio-eventloop.rst:423 +#: ../../library/asyncio-eventloop.rst:438 msgid "" "*family*, *proto*, *flags* are the optional address family, protocol and " "flags to be passed through to getaddrinfo() for *host* resolution. If given, " @@ -752,31 +768,31 @@ msgstr "" "*host*. Se fornecidos, eles devem ser todos inteiros e constantes " "correspondentes do módulo :mod:`socket`." -#: ../../library/asyncio-eventloop.rst:428 +#: ../../library/asyncio-eventloop.rst:443 msgid "" "*happy_eyeballs_delay*, if given, enables Happy Eyeballs for this " "connection. It should be a floating-point number representing the amount of " "time in seconds to wait for a connection attempt to complete, before " -"starting the next attempt in parallel. This is the \"Connection Attempt Delay" -"\" as defined in :rfc:`8305`. A sensible default value recommended by the " -"RFC is ``0.25`` (250 milliseconds)." +"starting the next attempt in parallel. This is the \"Connection Attempt " +"Delay\" as defined in :rfc:`8305`. A sensible default value recommended by " +"the RFC is ``0.25`` (250 milliseconds)." msgstr "" "*happy_eyeballs_delay*, se fornecido, habilita Happy Eyeballs para esta " "conexão. Ele deve ser um número de ponto flutuante representando o tempo em " "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)." +"conforme definido na :rfc:`8305`. Um valor padrão sensível recomendado pela " +"RFC é ``0.25`` (250 millissegundos)." -#: ../../library/asyncio-eventloop.rst:436 +#: ../../library/asyncio-eventloop.rst:451 msgid "" "*interleave* controls address reordering when a host name resolves to " "multiple IP addresses. If ``0`` or unspecified, no reordering is done, and " "addresses are tried in the order returned by :meth:`getaddrinfo`. If a " "positive integer is specified, the addresses are interleaved by address " -"family, and the given integer is interpreted as \"First Address Family Count" -"\" as defined in :rfc:`8305`. The default is ``0`` if *happy_eyeballs_delay* " -"is not specified, and ``1`` if it is." +"family, and the given integer is interpreted as \"First Address Family " +"Count\" as defined in :rfc:`8305`. The default is ``0`` if " +"*happy_eyeballs_delay* is not specified, and ``1`` if it is." msgstr "" "*interleave* controla o reordenamento de endereços quando um nome de " "servidor resolve para múltiplos endereços IP. Se ``0`` ou não especificado, " @@ -787,7 +803,7 @@ msgstr "" "definido na :rfc:`8305`. O padrão é ``0`` se *happy_eyeballs_delay* não for " "especificado, e ``1`` se ele for." -#: ../../library/asyncio-eventloop.rst:445 +#: ../../library/asyncio-eventloop.rst:460 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 " @@ -800,7 +816,16 @@ msgstr "" "*happy_eyeballs_delay*, *interleave* e *local_addr* não devem ser " "especificados." -#: ../../library/asyncio-eventloop.rst:451 +#: ../../library/asyncio-eventloop.rst:468 +#: ../../library/asyncio-eventloop.rst:579 +#: ../../library/asyncio-eventloop.rst:765 +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." +msgstr "" + +#: ../../library/asyncio-eventloop.rst:472 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 " @@ -811,8 +836,8 @@ msgstr "" "são procurados usando ``getaddrinfo()``, de forma similar para *host* e " "*port*." -#: ../../library/asyncio-eventloop.rst:455 -#: ../../library/asyncio-eventloop.rst:808 +#: ../../library/asyncio-eventloop.rst:476 +#: ../../library/asyncio-eventloop.rst:850 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. " @@ -820,56 +845,46 @@ msgid "" msgstr "" "*ssl_handshake_timeout* é (para uma conexão TLS) o tempo em segundos para " "aguardar pelo encerramento do aperto de mão TLS, antes de abortar a conexão. " -"``60.0`` segundos se for``None`` (valor padrão)." +"``60.0`` segundos se for ``None`` (valor padrão)." -#: ../../library/asyncio-eventloop.rst:461 +#: ../../library/asyncio-eventloop.rst:482 +#: ../../library/asyncio-eventloop.rst:706 +msgid "Added support for SSL/TLS in :class:`ProactorEventLoop`." +msgstr "Adicionado suporte para SSL/TLS na :class:`ProactorEventLoop`." + +#: ../../library/asyncio-eventloop.rst:486 +msgid "" +"The socket option :py:data:`~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:491 +#: ../../library/asyncio-eventloop.rst:782 +msgid "Added the *ssl_handshake_timeout* parameter." +msgstr "Adicionado o parâmetro *ssl_handshake_timeout*." + +#: ../../library/asyncio-eventloop.rst:495 msgid "Added the *happy_eyeballs_delay* and *interleave* parameters." msgstr "Adicionados os parâmetros *happy_eyeballs_delay* e *interleave*." -#: ../../library/asyncio-eventloop.rst:463 +#: ../../library/asyncio-eventloop.rst:497 msgid "" "Happy Eyeballs Algorithm: Success with Dual-Stack Hosts. When a server's " "IPv4 path and protocol are working, but the server's IPv6 path and protocol " "are not working, a dual-stack client application experiences significant " "connection delay compared to an IPv4-only client. This is undesirable " -"because it causes the dual- stack client to have a worse user experience. " +"because it causes the dual-stack client to have a worse user experience. " "This document specifies requirements for algorithms that reduce this user-" "visible delay and provides an algorithm." msgstr "" -"Algoritmo Happy Eyeballs: Sucesso com servidores de pilha dupla. Quando o " -"endereço e protocolo de um servidor IPv4 estão funcionando, mas o endereço e " -"protocolo de um servidor IPv6 não estão, uma aplicação cliente de pilha " -"dupla experiência atraso de conexão significativo comparado com um cliente " -"puramente IPv4. Isso é indesejável porque causa o cliente de pilha dupla a " -"ter uma experiência de usuário pior. Este documento espeifica requisitos " -"para algoritmos, que reduzem esse atraso visível pelo usuário e fornece um " -"algoritmo." -#: ../../library/asyncio-eventloop.rst:472 +#: ../../library/asyncio-eventloop.rst:506 msgid "For more information: https://tools.ietf.org/html/rfc6555" msgstr "Para mais informações: https://tools.ietf.org/html/rfc6555" -#: ../../library/asyncio-eventloop.rst:476 -#: ../../library/asyncio-eventloop.rst:593 -#: ../../library/asyncio-eventloop.rst:746 -msgid "The *ssl_handshake_timeout* parameter." -msgstr "O parâmetro *ssl_handshake_timeout*." - -#: ../../library/asyncio-eventloop.rst:480 -#: ../../library/asyncio-eventloop.rst:676 -msgid "" -"The socket option :py:data:`~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:485 -#: ../../library/asyncio-eventloop.rst:681 -msgid "Added support for SSL/TLS in :class:`ProactorEventLoop`." -msgstr "Adicionado suporte para SSL/TLS na :class:`ProactorEventLoop`." - -#: ../../library/asyncio-eventloop.rst:489 +#: ../../library/asyncio-eventloop.rst:510 msgid "" "The :func:`open_connection` function is a high-level alternative API. It " "returns a pair of (:class:`StreamReader`, :class:`StreamWriter`) that can be " @@ -879,7 +894,7 @@ msgstr "" "retorna um par de (:class:`StreamReader`, :class:`StreamWriter`) que pode " "ser usado diretamente em código async/await." -#: ../../library/asyncio-eventloop.rst:500 +#: ../../library/asyncio-eventloop.rst:521 msgid "" "The parameter *reuse_address* is no longer supported, as using :py:data:" "`~sockets.SO_REUSEADDR` poses a significant security concern for UDP. " @@ -890,7 +905,7 @@ msgstr "" "significativa para UDP. Passar ``reuse_address=True`` explicitamente irá " "levantar uma exceção." -#: ../../library/asyncio-eventloop.rst:504 +#: ../../library/asyncio-eventloop.rst:525 msgid "" "When multiple processes with differing UIDs assign sockets to an identical " "UDP socket address with ``SO_REUSEADDR``, incoming packets can become " @@ -900,7 +915,7 @@ 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:508 +#: ../../library/asyncio-eventloop.rst:529 msgid "" "For supported platforms, *reuse_port* can be used as a replacement for " "similar functionality. With *reuse_port*, :py:data:`~sockets.SO_REUSEPORT` " @@ -912,11 +927,11 @@ msgstr "" "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:514 +#: ../../library/asyncio-eventloop.rst:535 msgid "Create a datagram connection." msgstr "Cria uma conexão de datagrama." -#: ../../library/asyncio-eventloop.rst:516 +#: ../../library/asyncio-eventloop.rst:537 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 " @@ -926,13 +941,13 @@ msgstr "" "AF_INET6`, ou :py:data:`~socket.AF_UNIX`, dependendo do *host* (ou do " "argumento *family*, se fornecido)." -#: ../../library/asyncio-eventloop.rst:520 +#: ../../library/asyncio-eventloop.rst:541 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:522 -#: ../../library/asyncio-eventloop.rst:618 -#: ../../library/asyncio-eventloop.rst:729 +#: ../../library/asyncio-eventloop.rst:543 +#: ../../library/asyncio-eventloop.rst:641 +#: ../../library/asyncio-eventloop.rst:757 msgid "" "*protocol_factory* must be a callable returning a :ref:`protocol ` implementation." @@ -940,12 +955,12 @@ msgstr "" "*protocol_factory* deve ser algo chamável, retornando uma implementação de :" "ref:`protocolo `." -#: ../../library/asyncio-eventloop.rst:525 -#: ../../library/asyncio-eventloop.rst:579 +#: ../../library/asyncio-eventloop.rst:546 +#: ../../library/asyncio-eventloop.rst:606 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:529 +#: ../../library/asyncio-eventloop.rst:550 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 :" @@ -955,7 +970,7 @@ msgstr "" "usada para ligar o soquete localmente. O *local_host* e a *local_port* são " "procurados usando :meth:`getaddrinfo`." -#: ../../library/asyncio-eventloop.rst:533 +#: ../../library/asyncio-eventloop.rst:554 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* " @@ -965,7 +980,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:537 +#: ../../library/asyncio-eventloop.rst:558 msgid "" "*family*, *proto*, *flags* are the optional address family, protocol and " "flags to be passed through to :meth:`getaddrinfo` for *host* resolution. If " @@ -977,7 +992,7 @@ msgstr "" "*host*. Se fornecido, esses devem ser todos inteiros do módulo de " "constantes :mod:`socket` correspondente." -#: ../../library/asyncio-eventloop.rst:542 +#: ../../library/asyncio-eventloop.rst:563 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 " @@ -992,7 +1007,7 @@ msgstr "" "data:`~socket.SO_REUSEPORT` não estiver definida, então esta capacidade não " "é suportada." -#: ../../library/asyncio-eventloop.rst:548 +#: ../../library/asyncio-eventloop.rst:569 msgid "" "*allow_broadcast* tells the kernel to allow this endpoint to send messages " "to the broadcast address." @@ -1000,7 +1015,7 @@ msgstr "" "*allow_broadcast* avisa o kernel para permitir que este endpoint envie " "mensagens para o endereço de broadcast." -#: ../../library/asyncio-eventloop.rst:551 +#: ../../library/asyncio-eventloop.rst:572 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 " @@ -1012,7 +1027,7 @@ msgstr "" "transporte. Se especificado, *local_addr* e *remote_addr* devem ser omitidos " "(devem ser :const:`None`)." -#: ../../library/asyncio-eventloop.rst:556 +#: ../../library/asyncio-eventloop.rst:583 msgid "" "See :ref:`UDP echo client protocol ` and :" "ref:`UDP echo server protocol ` examples." @@ -1021,7 +1036,7 @@ msgstr "" "ref:`protocolo UDP eco servidor ` para " "exemplos." -#: ../../library/asyncio-eventloop.rst:559 +#: ../../library/asyncio-eventloop.rst:586 msgid "" "The *family*, *proto*, *flags*, *reuse_address*, *reuse_port, " "*allow_broadcast*, and *sock* parameters were added." @@ -1029,7 +1044,7 @@ msgstr "" "Os parâmetros *family*, *proto*, *flags*, *reuse_address*, *reuse_port, " "*allow_broadcast*, e *sock* foram adicionados." -#: ../../library/asyncio-eventloop.rst:563 +#: ../../library/asyncio-eventloop.rst:590 msgid "" "The *reuse_address* parameter is no longer supported due to security " "concerns." @@ -1037,15 +1052,15 @@ msgstr "" "O parâmetro *reuse_address* não é mais suportado devido a preocupações de " "segurança." -#: ../../library/asyncio-eventloop.rst:567 +#: ../../library/asyncio-eventloop.rst:594 msgid "Added support for Windows." msgstr "Adicionado suporte para Windows." -#: ../../library/asyncio-eventloop.rst:574 +#: ../../library/asyncio-eventloop.rst:601 msgid "Create a Unix connection." msgstr "Cria uma conexão Unix." -#: ../../library/asyncio-eventloop.rst:576 +#: ../../library/asyncio-eventloop.rst:603 msgid "" "The socket family will be :py:data:`~socket.AF_UNIX`; socket type will be :" "py:data:`~socket.SOCK_STREAM`." @@ -1053,17 +1068,17 @@ 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:581 +#: ../../library/asyncio-eventloop.rst:608 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." 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:" +"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:586 +#: ../../library/asyncio-eventloop.rst:613 msgid "" "See the documentation of the :meth:`loop.create_connection` method for " "information about arguments to this method." @@ -1071,23 +1086,25 @@ 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:590 -#: ../../library/asyncio-eventloop.rst:710 -#: ../../library/asyncio-eventloop.rst:1066 +#: ../../library/asyncio-eventloop.rst:617 +#: ../../library/asyncio-eventloop.rst:741 +#: ../../library/asyncio-eventloop.rst:1110 msgid ":ref:`Availability `: Unix." msgstr ":ref:`Disponibilidade `: Unix." -#: ../../library/asyncio-eventloop.rst:597 -msgid "The *path* parameter can now be a :term:`path-like object`." +#: ../../library/asyncio-eventloop.rst:618 +msgid "" +"Added the *ssl_handshake_timeout* parameter. The *path* parameter can now be " +"a :term:`path-like object`." msgstr "" -"O parâmetro *path* agora pode ser um :term:`objeto caminho ou similar `." +"Adicionado o parâmetro *ssl_handshake_timeout*. O parâmetro *path* agora " +"pode ser um :term:`path-like object`." -#: ../../library/asyncio-eventloop.rst:601 +#: ../../library/asyncio-eventloop.rst:624 msgid "Creating network servers" msgstr "Criando servidores de rede" -#: ../../library/asyncio-eventloop.rst:611 +#: ../../library/asyncio-eventloop.rst:634 msgid "" "Create a TCP server (socket type :data:`~socket.SOCK_STREAM`) listening on " "*port* of the *host* address." @@ -1095,15 +1112,15 @@ msgstr "" "Cria um servidor TCP (tipo de soquete :data:`~socket.SOCK_STREAM`) escutando " "em *port* do entedeço *host*." -#: ../../library/asyncio-eventloop.rst:614 +#: ../../library/asyncio-eventloop.rst:637 msgid "Returns a :class:`Server` object." msgstr "Retorna um objeto :class:`Server`." -#: ../../library/asyncio-eventloop.rst:616 +#: ../../library/asyncio-eventloop.rst:639 msgid "Arguments:" msgstr "Argumentos:" -#: ../../library/asyncio-eventloop.rst:621 +#: ../../library/asyncio-eventloop.rst:644 msgid "" "The *host* parameter can be set to several types which determine where the " "server would be listening:" @@ -1111,7 +1128,7 @@ msgstr "" "O parâmetro *host* pode ser definido para diversos tipos, o qual determina " "onde o servidor deve escutar:" -#: ../../library/asyncio-eventloop.rst:624 +#: ../../library/asyncio-eventloop.rst:647 msgid "" "If *host* is a string, the TCP server is bound to a single network interface " "specified by *host*." @@ -1119,7 +1136,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:627 +#: ../../library/asyncio-eventloop.rst:650 msgid "" "If *host* is a sequence of strings, the TCP server is bound to all network " "interfaces specified by the sequence." @@ -1127,17 +1144,30 @@ 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:630 +#: ../../library/asyncio-eventloop.rst:653 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:634 +#: ../../library/asyncio-eventloop.rst:657 +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 " +"selected (note that if *host* resolves to multiple network interfaces, a " +"different random port will be selected for each interface)." +msgstr "" +"O parâmetro *port* pode ser definido para especificar qual porta o servidor " +"deve escutar. Se ``0`` ou ``None`` (o padrão), uma porta aleatória " +"disponível será selecionada (note que se *host* resolve para múltiplas " +"interfaces de rede, uma porta aleatória diferente será selecionada para cada " +"interface)." + +#: ../../library/asyncio-eventloop.rst:662 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* " @@ -1148,11 +1178,11 @@ msgstr "" "*family* será determinado a partir do nome do servidor (por padrão será :" "data:`~socket.AF_UNSPEC`)." -#: ../../library/asyncio-eventloop.rst:639 +#: ../../library/asyncio-eventloop.rst:667 msgid "*flags* is a bitmask for :meth:`getaddrinfo`." msgstr "*flags* é uma máscara de bits para :meth:`getaddrinfo`." -#: ../../library/asyncio-eventloop.rst:641 +#: ../../library/asyncio-eventloop.rst:669 msgid "" "*sock* can optionally be specified in order to use a preexisting socket " "object. If specified, *host* and *port* must not be specified." @@ -1160,15 +1190,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:644 +#: ../../library/asyncio-eventloop.rst:674 +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:678 msgid "" "*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:" +"*backlog* é o número máximo de conexões enfileiradas passadas para :meth:" "`~socket.socket.listen` (padrão é 100)." -#: ../../library/asyncio-eventloop.rst:647 +#: ../../library/asyncio-eventloop.rst:681 msgid "" "*ssl* can be set to an :class:`~ssl.SSLContext` instance to enable TLS over " "the accepted connections." @@ -1176,17 +1212,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:650 +#: ../../library/asyncio-eventloop.rst:684 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:655 +#: ../../library/asyncio-eventloop.rst:689 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 " @@ -1197,7 +1233,7 @@ msgstr "" "todos eles definam este sinalizador quando forem criados. Esta opção não é " "suportada no Windows." -#: ../../library/asyncio-eventloop.rst:660 +#: ../../library/asyncio-eventloop.rst:694 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`` " @@ -1207,7 +1243,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:664 +#: ../../library/asyncio-eventloop.rst:698 msgid "" "*start_serving* set to ``True`` (the default) causes the created server to " "start accepting connections immediately. When set to ``False``, the user " @@ -1219,15 +1255,21 @@ msgstr "" "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:672 -msgid "Added *ssl_handshake_timeout* and *start_serving* parameters." -msgstr "Adicionados os parâmetros *ssl_handshake_timeout* e *start_serving*." - -#: ../../library/asyncio-eventloop.rst:685 +#: ../../library/asyncio-eventloop.rst:710 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:689 +#: ../../library/asyncio-eventloop.rst:714 +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." +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:720 msgid "" "The :func:`start_server` function is a higher-level alternative API that " "returns a pair of :class:`StreamReader` and :class:`StreamWriter` that can " @@ -1237,7 +1279,7 @@ msgstr "" "retorna um par de :class:`StreamReader` e :class:`StreamWriter` que pode ser " "usado em um código async/await." -#: ../../library/asyncio-eventloop.rst:698 +#: ../../library/asyncio-eventloop.rst:729 msgid "" "Similar to :meth:`loop.create_server` but works with the :py:data:`~socket." "AF_UNIX` socket family." @@ -1245,7 +1287,7 @@ msgstr "" "Similar a :meth:`loop.create_server`, mas trabalha com a família de soquete :" "py:data:`~socket.AF_UNIX`." -#: ../../library/asyncio-eventloop.rst:701 +#: ../../library/asyncio-eventloop.rst:732 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`, " @@ -1255,7 +1297,7 @@ msgstr "" "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:706 +#: ../../library/asyncio-eventloop.rst:737 msgid "" "See the documentation of the :meth:`loop.create_server` method for " "information about arguments to this method." @@ -1263,19 +1305,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:713 -msgid "The *ssl_handshake_timeout* and *start_serving* parameters." -msgstr "Os parâmetros *ssl_handshake_timeout* e *start_serving*." - -#: ../../library/asyncio-eventloop.rst:717 -msgid "The *path* parameter can now be a :class:`~pathlib.Path` object." -msgstr "O parâmetro *path* agora pode ser um objeto :class:`~pathlib.Path`." +#: ../../library/asyncio-eventloop.rst:744 +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* e *start_serving*. O " +"parâmetros *path* agora pode ser um objeto da classe :class:`~pathlib.Path`." -#: ../../library/asyncio-eventloop.rst:722 +#: ../../library/asyncio-eventloop.rst:750 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:724 +#: ../../library/asyncio-eventloop.rst:752 msgid "" "This method can be used by servers that accept connections outside of " "asyncio but that use asyncio to handle them." @@ -1283,12 +1325,12 @@ 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:727 -#: ../../library/asyncio-eventloop.rst:794 +#: ../../library/asyncio-eventloop.rst:755 +#: ../../library/asyncio-eventloop.rst:836 msgid "Parameters:" msgstr "Parâmetros:" -#: ../../library/asyncio-eventloop.rst:732 +#: ../../library/asyncio-eventloop.rst:760 msgid "" "*sock* is a preexisting socket object returned from :meth:`socket.accept " "`." @@ -1296,7 +1338,7 @@ msgstr "" "*sock* é um objeto soquete pré-existente retornado a partir de :meth:`socket." "accept `." -#: ../../library/asyncio-eventloop.rst:735 +#: ../../library/asyncio-eventloop.rst:769 msgid "" "*ssl* can be set to an :class:`~ssl.SSLContext` to enable SSL over the " "accepted connections." @@ -1304,7 +1346,7 @@ msgstr "" "*ssl* pode ser definido para um :class:`~ssl.SSLContext` para habilitar SSL " "sobre as conexões aceitas." -#: ../../library/asyncio-eventloop.rst:738 +#: ../../library/asyncio-eventloop.rst:772 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. " @@ -1314,31 +1356,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:742 +#: ../../library/asyncio-eventloop.rst:776 msgid "Returns a ``(transport, protocol)`` pair." msgstr "Retorna um par ``(transport, protocol)``." -#: ../../library/asyncio-eventloop.rst:752 +#: ../../library/asyncio-eventloop.rst:786 msgid "Transferring files" msgstr "Transferindo arquivos" -#: ../../library/asyncio-eventloop.rst:757 +#: ../../library/asyncio-eventloop.rst:791 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:760 +#: ../../library/asyncio-eventloop.rst:794 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:762 +#: ../../library/asyncio-eventloop.rst:796 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:764 -#: ../../library/asyncio-eventloop.rst:954 +#: ../../library/asyncio-eventloop.rst:798 +#: ../../library/asyncio-eventloop.rst:998 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 " @@ -1353,7 +1395,7 @@ msgstr "" "meth:`file.tell() ` pode ser usado para obter o número atual " "de bytes enviados." -#: ../../library/asyncio-eventloop.rst:771 +#: ../../library/asyncio-eventloop.rst:805 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 " @@ -1363,7 +1405,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:775 +#: ../../library/asyncio-eventloop.rst:809 msgid "" "Raise :exc:`SendfileNotAvailableError` if the system does not support the " "*sendfile* syscall and *fallback* is ``False``." @@ -1371,25 +1413,36 @@ msgstr "" "Levanta :exc:`SendfileNotAvailableError` se o sistema não suporta a chamada " "de sistema *sendfile* e *fallback* é ``False``." -#: ../../library/asyncio-eventloop.rst:782 +#: ../../library/asyncio-eventloop.rst:816 msgid "TLS Upgrade" msgstr "Atualizando TLS" -#: ../../library/asyncio-eventloop.rst:788 +#: ../../library/asyncio-eventloop.rst:822 msgid "Upgrade an existing transport-based connection to TLS." msgstr "Atualiza um conexão baseada em transporte existente para TLS." -#: ../../library/asyncio-eventloop.rst:790 +#: ../../library/asyncio-eventloop.rst:824 msgid "" -"Return a new transport instance, that the *protocol* must start using " -"immediately after the *await*. The *transport* instance passed to the " -"*start_tls* method should never be used again." +"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 "" -"Retorna uma nova instância de transporte, que o *protocol* deve começar a " -"usar imediatamente após o *await*. A instância de *transport* passada para o " -"método *start_tls* nunca deve ser usada novamente." -#: ../../library/asyncio-eventloop.rst:796 +#: ../../library/asyncio-eventloop.rst:828 +msgid "" +"Return the created two-interface instance. After *await*, the *protocol* " +"must stop using the original *transport* and communicate with the returned " +"object only because the coder caches *protocol*-side data and sporadically " +"exchanges extra TLS session packets with *transport*." +msgstr "" + +#: ../../library/asyncio-eventloop.rst:833 +msgid "" +"In some situations (e.g. when the passed transport is already closing) this " +"may return ``None``." +msgstr "" + +#: ../../library/asyncio-eventloop.rst:838 msgid "" "*transport* and *protocol* instances that methods like :meth:`~loop." "create_server` and :meth:`~loop.create_connection` return." @@ -1397,11 +1450,11 @@ 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:800 +#: ../../library/asyncio-eventloop.rst:842 msgid "*sslcontext*: a configured instance of :class:`~ssl.SSLContext`." msgstr "*sslcontext*: uma instância configurada de :class:`~ssl.SSLContext`." -#: ../../library/asyncio-eventloop.rst:802 +#: ../../library/asyncio-eventloop.rst:844 msgid "" "*server_side* pass ``True`` when a server-side connection is being upgraded " "(like the one created by :meth:`~loop.create_server`)." @@ -1410,7 +1463,7 @@ msgstr "" "estiver sendo atualizada (como a que é criada por :meth:`~loop." "create_server`)." -#: ../../library/asyncio-eventloop.rst:805 +#: ../../library/asyncio-eventloop.rst:847 msgid "" "*server_hostname*: sets or overrides the host name that the target server's " "certificate will be matched against." @@ -1418,11 +1471,11 @@ msgstr "" "*server_hostname*: define ou substitui o nome do host no qual o servidor " "alvo do certificado será comparado." -#: ../../library/asyncio-eventloop.rst:816 +#: ../../library/asyncio-eventloop.rst:858 msgid "Watching file descriptors" msgstr "Observando descritores de arquivo" -#: ../../library/asyncio-eventloop.rst:820 +#: ../../library/asyncio-eventloop.rst:862 msgid "" "Start monitoring the *fd* file descriptor for read availability and invoke " "*callback* with the specified arguments once *fd* is available for reading." @@ -1431,13 +1484,13 @@ msgstr "" "leitura e invoca a *callback* com os argumentos especificados assim que *fd* " "esteja disponível para leitura." -#: ../../library/asyncio-eventloop.rst:826 -msgid "Stop monitoring the *fd* file descriptor for read availability." +#: ../../library/asyncio-eventloop.rst:868 +msgid "" +"Stop monitoring the *fd* file descriptor for read availability. Returns " +"``True`` if *fd* was previously being monitored for reads." msgstr "" -"Para de monitorar o descritor de arquivo *fd* para disponibilidade de " -"leitura." -#: ../../library/asyncio-eventloop.rst:830 +#: ../../library/asyncio-eventloop.rst:873 msgid "" "Start monitoring the *fd* file descriptor for write availability and invoke " "*callback* with the specified arguments once *fd* is available for writing." @@ -1446,8 +1499,8 @@ msgstr "" "escrita e invoca a *callback* com os argumentos especificados assim que *fd* " "esteja disponível para escrita." -#: ../../library/asyncio-eventloop.rst:834 -#: ../../library/asyncio-eventloop.rst:1053 +#: ../../library/asyncio-eventloop.rst:877 +#: ../../library/asyncio-eventloop.rst:1097 msgid "" "Use :func:`functools.partial` :ref:`to pass keyword arguments ` to *callback*." @@ -1455,13 +1508,13 @@ msgstr "" "Use :func:`functools.partial` :ref:`para passar argumentos nomeados ` para a *callback*." -#: ../../library/asyncio-eventloop.rst:839 -msgid "Stop monitoring the *fd* file descriptor for write availability." +#: ../../library/asyncio-eventloop.rst:882 +msgid "" +"Stop monitoring the *fd* file descriptor for write availability. Returns " +"``True`` if *fd* was previously being monitored for writes." msgstr "" -"Para de monitorar o descritor de arquivo *fd* para disponibilidade de " -"escrita." -#: ../../library/asyncio-eventloop.rst:841 +#: ../../library/asyncio-eventloop.rst:885 msgid "" "See also :ref:`Platform Support ` section for some " "limitations of these methods." @@ -1469,11 +1522,11 @@ msgstr "" "Veja também a seção de :ref:`Suporte a Plataformas ` para algumas limitações desses métodos." -#: ../../library/asyncio-eventloop.rst:846 +#: ../../library/asyncio-eventloop.rst:890 msgid "Working with socket objects directly" msgstr "Trabalhando com objetos soquete diretamente" -#: ../../library/asyncio-eventloop.rst:848 +#: ../../library/asyncio-eventloop.rst:892 msgid "" "In general, protocol implementations that use transport-based APIs such as :" "meth:`loop.create_connection` and :meth:`loop.create_server` are faster than " @@ -1487,7 +1540,7 @@ 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:857 +#: ../../library/asyncio-eventloop.rst:901 msgid "" "Receive up to *nbytes* from *sock*. Asynchronous version of :meth:`socket." "recv() `." @@ -1495,20 +1548,20 @@ msgstr "" "Recebe até *nbytes* do *sock*. Versão assíncrona de :meth:`socket.recv() " "`." -#: ../../library/asyncio-eventloop.rst:860 +#: ../../library/asyncio-eventloop.rst:904 msgid "Return the received data as a bytes object." msgstr "Retorna os dados recebidos como um objeto de bytes." -#: ../../library/asyncio-eventloop.rst:862 -#: ../../library/asyncio-eventloop.rst:876 -#: ../../library/asyncio-eventloop.rst:891 -#: ../../library/asyncio-eventloop.rst:904 -#: ../../library/asyncio-eventloop.rst:930 -#: ../../library/asyncio-eventloop.rst:968 +#: ../../library/asyncio-eventloop.rst:906 +#: ../../library/asyncio-eventloop.rst:920 +#: ../../library/asyncio-eventloop.rst:935 +#: ../../library/asyncio-eventloop.rst:948 +#: ../../library/asyncio-eventloop.rst:974 +#: ../../library/asyncio-eventloop.rst:1012 msgid "*sock* must be a non-blocking socket." msgstr "*sock* deve ser um soquete não bloqueante." -#: ../../library/asyncio-eventloop.rst:864 +#: ../../library/asyncio-eventloop.rst:908 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 " @@ -1518,7 +1571,7 @@ 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:871 +#: ../../library/asyncio-eventloop.rst:915 msgid "" "Receive data from *sock* into the *buf* buffer. Modeled after the blocking :" "meth:`socket.recv_into() ` method." @@ -1526,11 +1579,11 @@ msgstr "" "Dados recebidos do *sock* no buffer *buf*. Modelado baseado no método " "bloqueante :meth:`socket.recv_into() `." -#: ../../library/asyncio-eventloop.rst:874 +#: ../../library/asyncio-eventloop.rst:918 msgid "Return the number of bytes written to the buffer." msgstr "Retorna o número de bytes escritos no buffer." -#: ../../library/asyncio-eventloop.rst:882 +#: ../../library/asyncio-eventloop.rst:926 msgid "" "Send *data* to the *sock* socket. Asynchronous version of :meth:`socket." "sendall() `." @@ -1538,7 +1591,7 @@ msgstr "" "Envia *data* para o soquete *sock*. Versão assíncrona de :meth:`socket." "sendall() `." -#: ../../library/asyncio-eventloop.rst:885 +#: ../../library/asyncio-eventloop.rst:929 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 " @@ -1552,7 +1605,7 @@ msgstr "" "existe nenhuma forma de determinar quantos dados, se algum, foram " "processados com sucesso pelo destinatário na conexão." -#: ../../library/asyncio-eventloop.rst:893 +#: ../../library/asyncio-eventloop.rst:937 msgid "" "Even though the method was always documented as a coroutine method, before " "Python 3.7 it returned an :class:`Future`. Since Python 3.7, this is an " @@ -1562,16 +1615,16 @@ msgstr "" "antes do Python 3.7 ele retornava um :class:`Future`. A partir do Python " "3.7, este é um método ``async def``." -#: ../../library/asyncio-eventloop.rst:900 +#: ../../library/asyncio-eventloop.rst:944 msgid "Connect *sock* to a remote socket at *address*." msgstr "Conecta o *sock* em um endereço *address* remoto." -#: ../../library/asyncio-eventloop.rst:902 +#: ../../library/asyncio-eventloop.rst:946 msgid "" "Asynchronous version of :meth:`socket.connect() `." msgstr "Versão assíncrona de :meth:`socket.connect() `." -#: ../../library/asyncio-eventloop.rst:906 +#: ../../library/asyncio-eventloop.rst:950 msgid "" "``address`` no longer needs to be resolved. ``sock_connect`` will try to " "check if the *address* is already resolved by calling :func:`socket." @@ -1582,7 +1635,7 @@ msgstr "" "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:915 +#: ../../library/asyncio-eventloop.rst:959 msgid "" ":meth:`loop.create_connection` and :func:`asyncio.open_connection() " "`." @@ -1590,7 +1643,7 @@ msgstr "" ":meth:`loop.create_connection` e :func:`asyncio.open_connection() " "`." -#: ../../library/asyncio-eventloop.rst:921 +#: ../../library/asyncio-eventloop.rst:965 msgid "" "Accept a connection. Modeled after the blocking :meth:`socket.accept() " "` method." @@ -1598,7 +1651,7 @@ msgstr "" "Aceita uma conexão. Modelado baseado no método bloqueante :meth:`socket." "accept() `." -#: ../../library/asyncio-eventloop.rst:924 +#: ../../library/asyncio-eventloop.rst:968 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 " @@ -1610,7 +1663,7 @@ 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:932 +#: ../../library/asyncio-eventloop.rst:976 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 " @@ -1620,11 +1673,11 @@ 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:939 +#: ../../library/asyncio-eventloop.rst:983 msgid ":meth:`loop.create_server` and :func:`start_server`." msgstr ":meth:`loop.create_server` e :func:`start_server`." -#: ../../library/asyncio-eventloop.rst:944 +#: ../../library/asyncio-eventloop.rst:988 msgid "" "Send a file using high-performance :mod:`os.sendfile` if possible. Return " "the total number of bytes sent." @@ -1632,13 +1685,13 @@ 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:947 +#: ../../library/asyncio-eventloop.rst:991 msgid "" "Asynchronous version of :meth:`socket.sendfile() `." msgstr "" "Versão assíncrona de :meth:`socket.sendfile() `." -#: ../../library/asyncio-eventloop.rst:949 +#: ../../library/asyncio-eventloop.rst:993 msgid "" "*sock* must be a non-blocking :const:`socket.SOCK_STREAM` :class:`~socket." "socket`." @@ -1646,11 +1699,11 @@ msgstr "" "*sock* deve ser um :class:`~socket.socket` :const:`socket.SOCK_STREAM` não " "bloqueante." -#: ../../library/asyncio-eventloop.rst:952 +#: ../../library/asyncio-eventloop.rst:996 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:961 +#: ../../library/asyncio-eventloop.rst:1005 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 " @@ -1660,7 +1713,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:965 +#: ../../library/asyncio-eventloop.rst:1009 msgid "" "Raise :exc:`SendfileNotAvailableError` if the system does not support " "*sendfile* syscall and *fallback* is ``False``." @@ -1668,19 +1721,19 @@ msgstr "" "Levanta :exc:`SendfileNotAvailableError` se o sistema não suporta chamadas " "de sistema *sendfile* e *fallback* é ``False``." -#: ../../library/asyncio-eventloop.rst:974 +#: ../../library/asyncio-eventloop.rst:1018 msgid "DNS" msgstr "DNS" -#: ../../library/asyncio-eventloop.rst:979 +#: ../../library/asyncio-eventloop.rst:1023 msgid "Asynchronous version of :meth:`socket.getaddrinfo`." msgstr "Versão assíncrona de :meth:`socket.getaddrinfo`." -#: ../../library/asyncio-eventloop.rst:983 +#: ../../library/asyncio-eventloop.rst:1027 msgid "Asynchronous version of :meth:`socket.getnameinfo`." msgstr "Versão assíncrona de :meth:`socket.getnameinfo`." -#: ../../library/asyncio-eventloop.rst:985 +#: ../../library/asyncio-eventloop.rst:1029 msgid "" "Both *getaddrinfo* and *getnameinfo* methods were always documented to " "return a coroutine, but prior to Python 3.7 they were, in fact, returning :" @@ -1692,19 +1745,19 @@ msgstr "" "verdade, retornando objetos :class:`asyncio.Future`. A partir do Python 3.7, " "ambos os métodos são corrotinas." -#: ../../library/asyncio-eventloop.rst:993 +#: ../../library/asyncio-eventloop.rst:1037 msgid "Working with pipes" msgstr "Trabalhando com encadeamentos" -#: ../../library/asyncio-eventloop.rst:997 +#: ../../library/asyncio-eventloop.rst:1041 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:1002 +#: ../../library/asyncio-eventloop.rst:1046 msgid "*pipe* is a :term:`file-like object `." msgstr "*pipe* é um :term:`objeto arquivo ou similar `." -#: ../../library/asyncio-eventloop.rst:1004 +#: ../../library/asyncio-eventloop.rst:1048 msgid "" "Return pair ``(transport, protocol)``, where *transport* supports the :class:" "`ReadTransport` interface and *protocol* is an object instantiated by the " @@ -1714,8 +1767,8 @@ msgstr "" "interface :class:`ReadTransport` e *protocol* é um objeto instanciado pelo " "*protocol_factory*." -#: ../../library/asyncio-eventloop.rst:1008 -#: ../../library/asyncio-eventloop.rst:1024 +#: ../../library/asyncio-eventloop.rst:1052 +#: ../../library/asyncio-eventloop.rst:1068 msgid "" "With :class:`SelectorEventLoop` event loop, the *pipe* is set to non-" "blocking mode." @@ -1723,15 +1776,15 @@ msgstr "" "Com o :class:`SelectorEventLoop` do laço de eventos, o *pipe* é definido " "para modo não bloqueante." -#: ../../library/asyncio-eventloop.rst:1013 +#: ../../library/asyncio-eventloop.rst:1057 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:1018 +#: ../../library/asyncio-eventloop.rst:1062 msgid "*pipe* is :term:`file-like object `." msgstr "*pipe* é um :term:`objeto arquivo ou similar `." -#: ../../library/asyncio-eventloop.rst:1020 +#: ../../library/asyncio-eventloop.rst:1064 msgid "" "Return pair ``(transport, protocol)``, where *transport* supports :class:" "`WriteTransport` interface and *protocol* is an object instantiated by the " @@ -1741,7 +1794,7 @@ msgstr "" "interface :class:`WriteTransport` e *protocol* é um objeto instanciado pelo " "*protocol_factory*." -#: ../../library/asyncio-eventloop.rst:1029 +#: ../../library/asyncio-eventloop.rst:1073 msgid "" ":class:`SelectorEventLoop` does not support the above methods on Windows. " "Use :class:`ProactorEventLoop` instead for Windows." @@ -1749,21 +1802,21 @@ msgstr "" ":class:`SelectorEventLoop` não suporta os métodos acima no Windows. Use :" "class:`ProactorEventLoop` ao invés para Windows." -#: ../../library/asyncio-eventloop.rst:1034 +#: ../../library/asyncio-eventloop.rst:1078 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:1039 +#: ../../library/asyncio-eventloop.rst:1083 msgid "Unix signals" msgstr "Sinais Unix" -#: ../../library/asyncio-eventloop.rst:1043 +#: ../../library/asyncio-eventloop.rst:1087 msgid "Set *callback* as the handler for the *signum* signal." msgstr "Define *callback* como o tratador para o sinal *signum*." -#: ../../library/asyncio-eventloop.rst:1045 +#: ../../library/asyncio-eventloop.rst:1089 msgid "" "The callback will be invoked by *loop*, along with other queued callbacks " "and runnable coroutines of that event loop. Unlike signal handlers " @@ -1776,7 +1829,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:1050 +#: ../../library/asyncio-eventloop.rst:1094 msgid "" "Raise :exc:`ValueError` if the signal number is invalid or uncatchable. " "Raise :exc:`RuntimeError` if there is a problem setting up the handler." @@ -1785,18 +1838,18 @@ msgstr "" "capturar. Levanta :exc:`RuntimeError` se existe um problema definindo o " "tratador." -#: ../../library/asyncio-eventloop.rst:1056 +#: ../../library/asyncio-eventloop.rst:1100 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:1061 +#: ../../library/asyncio-eventloop.rst:1105 msgid "Remove the handler for the *sig* signal." msgstr "Remove o tratador para o sinal *sig*." -#: ../../library/asyncio-eventloop.rst:1063 +#: ../../library/asyncio-eventloop.rst:1107 msgid "" "Return ``True`` if the signal handler was removed, or ``False`` if no " "handler was set for the given signal." @@ -1804,19 +1857,19 @@ 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:1070 +#: ../../library/asyncio-eventloop.rst:1114 msgid "The :mod:`signal` module." msgstr "O módulo :mod:`signal`." -#: ../../library/asyncio-eventloop.rst:1074 +#: ../../library/asyncio-eventloop.rst:1118 msgid "Executing code in thread or process pools" msgstr "Executando código em conjuntos de threads ou processos" -#: ../../library/asyncio-eventloop.rst:1078 +#: ../../library/asyncio-eventloop.rst:1122 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:1080 +#: ../../library/asyncio-eventloop.rst:1124 msgid "" "The *executor* argument should be an :class:`concurrent.futures.Executor` " "instance. The default executor is used if *executor* is ``None``." @@ -1824,11 +1877,19 @@ msgstr "" "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:1124 +#: ../../library/asyncio-eventloop.rst:1169 +msgid "" +"Note that the entry point guard (``if __name__ == '__main__'``) is required " +"for option 3 due to the peculiarities of :mod:`multiprocessing`, which is " +"used by :class:`~concurrent.futures.ProcessPoolExecutor`. See :ref:`Safe " +"importing of main module `." +msgstr "" + +#: ../../library/asyncio-eventloop.rst:1174 msgid "This method returns a :class:`asyncio.Future` object." msgstr "Este método retorna um objeto :class:`asyncio.Future`." -#: ../../library/asyncio-eventloop.rst:1126 +#: ../../library/asyncio-eventloop.rst:1176 msgid "" "Use :func:`functools.partial` :ref:`to pass keyword arguments ` to *func*." @@ -1836,7 +1897,7 @@ msgstr "" "Use :func:`functools.partial` :ref:`para passar argumentos nomeados ` para *func*." -#: ../../library/asyncio-eventloop.rst:1129 +#: ../../library/asyncio-eventloop.rst:1179 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 " @@ -1848,7 +1909,7 @@ msgstr "" "para o executor do conjunto de thread (:class:`~concurrent.futures." "ThreadPoolExecutor`) para setar o valor padrão." -#: ../../library/asyncio-eventloop.rst:1138 +#: ../../library/asyncio-eventloop.rst:1188 msgid "" "Set *executor* as the default executor used by :meth:`run_in_executor`. " "*executor* should be an instance of :class:`~concurrent.futures." @@ -1858,7 +1919,7 @@ msgstr "" "*executor* deve ser uma instância de :class:`~concurrent.futures." "ThreadPoolExecutor`." -#: ../../library/asyncio-eventloop.rst:1142 +#: ../../library/asyncio-eventloop.rst:1192 msgid "" "Using an executor that is not an instance of :class:`~concurrent.futures." "ThreadPoolExecutor` is deprecated and will trigger an error in Python 3.9." @@ -1866,7 +1927,7 @@ msgstr "" "Usar um executor que não é uma instância de :class:`~concurrent.futures." "ThreadPoolExecutor` foi descontinuado, e irá disparar um erro no Python 3.9." -#: ../../library/asyncio-eventloop.rst:1147 +#: ../../library/asyncio-eventloop.rst:1197 msgid "" "*executor* must be an instance of :class:`concurrent.futures." "ThreadPoolExecutor`." @@ -1874,19 +1935,19 @@ msgstr "" "*executor* deve ser uma instância de :class:`concurrent.futures." "ThreadPoolExecutor`." -#: ../../library/asyncio-eventloop.rst:1152 +#: ../../library/asyncio-eventloop.rst:1202 msgid "Error Handling API" msgstr "Tratando erros da API" -#: ../../library/asyncio-eventloop.rst:1154 +#: ../../library/asyncio-eventloop.rst:1204 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:1158 +#: ../../library/asyncio-eventloop.rst:1208 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:1160 +#: ../../library/asyncio-eventloop.rst:1210 msgid "" "If *handler* is ``None``, the default exception handler will be set. " "Otherwise, *handler* must be a callable with the signature matching ``(loop, " @@ -1901,7 +1962,7 @@ msgstr "" "(veja a documentação :meth:`call_exception_handler` para detalhes a respeito " "do contexto)." -#: ../../library/asyncio-eventloop.rst:1170 +#: ../../library/asyncio-eventloop.rst:1220 msgid "" "Return the current exception handler, or ``None`` if no custom exception " "handler was set." @@ -1909,11 +1970,11 @@ msgstr "" "Retorna o tratador de exceção atual, ou ``None`` se nenhum tratador de " "exceção customizado foi definido." -#: ../../library/asyncio-eventloop.rst:1177 +#: ../../library/asyncio-eventloop.rst:1227 msgid "Default exception handler." msgstr "Tratador de exceção padrão." -#: ../../library/asyncio-eventloop.rst:1179 +#: ../../library/asyncio-eventloop.rst:1229 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 " @@ -1923,7 +1984,7 @@ 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:1183 +#: ../../library/asyncio-eventloop.rst:1233 msgid "" "*context* parameter has the same meaning as in :meth:" "`call_exception_handler`." @@ -1931,11 +1992,11 @@ msgstr "" "parâmetro *context* tem o mesmo significado que em :meth:" "`call_exception_handler`." -#: ../../library/asyncio-eventloop.rst:1188 +#: ../../library/asyncio-eventloop.rst:1238 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:1190 +#: ../../library/asyncio-eventloop.rst:1240 msgid "" "*context* is a ``dict`` object containing the following keys (new keys may " "be introduced in future Python versions):" @@ -1943,49 +2004,49 @@ msgstr "" "*context* é um objeto ``dict`` contendo as seguintes chaves (novas chaves " "podem ser introduzidas em versões futuras do Python):" -#: ../../library/asyncio-eventloop.rst:1193 +#: ../../library/asyncio-eventloop.rst:1243 msgid "'message': Error message;" msgstr "'message': Mensagem de erro;" -#: ../../library/asyncio-eventloop.rst:1194 +#: ../../library/asyncio-eventloop.rst:1244 msgid "'exception' (optional): Exception object;" msgstr "'exception' (opcional): Objeto Exception;" -#: ../../library/asyncio-eventloop.rst:1195 +#: ../../library/asyncio-eventloop.rst:1245 msgid "'future' (optional): :class:`asyncio.Future` instance;" msgstr "'future' (opcional): instância de :class:`asyncio.Future`;" -#: ../../library/asyncio-eventloop.rst:1196 +#: ../../library/asyncio-eventloop.rst:1246 msgid "'task' (optional): :class:`asyncio.Task` instance;" msgstr "'task' (opcional): instância de :class:`asyncio.Task`;" -#: ../../library/asyncio-eventloop.rst:1197 +#: ../../library/asyncio-eventloop.rst:1247 msgid "'handle' (optional): :class:`asyncio.Handle` instance;" msgstr "'handle' (opcional): instância de :class:`asyncio.Handle`;" -#: ../../library/asyncio-eventloop.rst:1198 +#: ../../library/asyncio-eventloop.rst:1248 msgid "'protocol' (optional): :ref:`Protocol ` instance;" msgstr "" "'protocol' (opcional): instância de :ref:`Protocol `;" -#: ../../library/asyncio-eventloop.rst:1199 +#: ../../library/asyncio-eventloop.rst:1249 msgid "'transport' (optional): :ref:`Transport ` instance;" msgstr "" "'transport' (opcional): instância de :ref:`Transport `;" -#: ../../library/asyncio-eventloop.rst:1200 +#: ../../library/asyncio-eventloop.rst:1250 msgid "'socket' (optional): :class:`socket.socket` instance;" msgstr "'socket' (opcional): instância de :class:`socket.socket`;" -#: ../../library/asyncio-eventloop.rst:1202 +#: ../../library/asyncio-eventloop.rst:1252 msgid "'asyncgen' (optional): Asynchronous generator that caused" msgstr "'asyncgen' (opcional): Gerador assíncrono que causou" -#: ../../library/asyncio-eventloop.rst:1202 +#: ../../library/asyncio-eventloop.rst:1252 msgid "the exception." msgstr "a exceção." -#: ../../library/asyncio-eventloop.rst:1206 +#: ../../library/asyncio-eventloop.rst:1256 msgid "" "This method should not be overloaded in subclassed event loops. For custom " "exception handling, use the :meth:`set_exception_handler()` method." @@ -1994,15 +2055,15 @@ msgstr "" "tratamento de exceções customizadas, use o método :meth:" "`set_exception_handler()`." -#: ../../library/asyncio-eventloop.rst:1211 +#: ../../library/asyncio-eventloop.rst:1261 msgid "Enabling debug mode" msgstr "Habilitando o modo de debug" -#: ../../library/asyncio-eventloop.rst:1215 +#: ../../library/asyncio-eventloop.rst:1265 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:1217 +#: ../../library/asyncio-eventloop.rst:1267 msgid "" "The default value is ``True`` if the environment variable :envvar:" "`PYTHONASYNCIODEBUG` is set to a non-empty string, ``False`` otherwise." @@ -2011,11 +2072,11 @@ msgstr "" "`PYTHONASYNCIODEBUG` estiver definida para uma string não vazia, ``False`` " "caso contrário." -#: ../../library/asyncio-eventloop.rst:1223 +#: ../../library/asyncio-eventloop.rst:1273 msgid "Set the debug mode of the event loop." msgstr "Define o modo de debug do laço de eventos." -#: ../../library/asyncio-eventloop.rst:1227 +#: ../../library/asyncio-eventloop.rst:1277 msgid "" "The new :ref:`Python Development Mode ` can now also be used to " "enable the debug mode." @@ -2023,15 +2084,15 @@ 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:1232 +#: ../../library/asyncio-eventloop.rst:1282 msgid "The :ref:`debug mode of asyncio `." msgstr "O :ref:`modo de debug de asyncio `." -#: ../../library/asyncio-eventloop.rst:1236 +#: ../../library/asyncio-eventloop.rst:1286 msgid "Running Subprocesses" msgstr "Executando Subprocessos" -#: ../../library/asyncio-eventloop.rst:1238 +#: ../../library/asyncio-eventloop.rst:1288 msgid "" "Methods described in this subsections are low-level. In regular async/await " "code consider using the high-level :func:`asyncio.create_subprocess_shell` " @@ -2042,32 +2103,33 @@ msgstr "" "`asyncio.create_subprocess_shell` e :func:`asyncio.create_subprocess_exec` " "ao invés." -#: ../../library/asyncio-eventloop.rst:1245 +#: ../../library/asyncio-eventloop.rst:1295 msgid "" -"The default asyncio event loop on **Windows** does not support subprocesses. " -"See :ref:`Subprocess Support on Windows ` for " -"details." +"On Windows, the default event loop :class:`ProactorEventLoop` supports " +"subprocesses, whereas :class:`SelectorEventLoop` does not. See :ref:" +"`Subprocess Support on Windows ` for details." msgstr "" -"O laço de eventos asyncio padrão no **Windows** não suporta subprocessos. " -"Veja :ref:`Suporte a Subprocesso no Windows ` " -"para detalhes." +"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." -#: ../../library/asyncio-eventloop.rst:1253 +#: ../../library/asyncio-eventloop.rst:1304 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:1256 +#: ../../library/asyncio-eventloop.rst:1307 msgid "*args* must be a list of strings represented by:" msgstr "*args* deve ser uma lista de strings representada por:" -#: ../../library/asyncio-eventloop.rst:1258 +#: ../../library/asyncio-eventloop.rst:1309 msgid ":class:`str`;" msgstr ":class:`str`;" -#: ../../library/asyncio-eventloop.rst:1259 +#: ../../library/asyncio-eventloop.rst:1310 msgid "" "or :class:`bytes`, encoded to the :ref:`filesystem encoding `." @@ -2075,7 +2137,7 @@ msgstr "" "ou :class:`bytes`, encodados na :ref:`codificação do sistema de arquivos " "`." -#: ../../library/asyncio-eventloop.rst:1262 +#: ../../library/asyncio-eventloop.rst:1313 msgid "" "The first string specifies the program executable, and the remaining strings " "specify the arguments. Together, string arguments form the ``argv`` of the " @@ -2085,7 +2147,7 @@ msgstr "" "remanescentes especificam os argumentos. Juntas, argumentos em string formam " "o ``argv`` do programa." -#: ../../library/asyncio-eventloop.rst:1266 +#: ../../library/asyncio-eventloop.rst:1317 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 " @@ -2098,7 +2160,7 @@ msgstr "" "argumento no qual é uma lista de strings, *subprocess_exec* recebe múltiplos " "argumentos string." -#: ../../library/asyncio-eventloop.rst:1272 +#: ../../library/asyncio-eventloop.rst:1323 msgid "" "The *protocol_factory* must be a callable returning a subclass of the :class:" "`asyncio.SubprocessProtocol` class." @@ -2106,15 +2168,15 @@ msgstr "" "O *protocol_factory* deve ser um chamável que retorne uma subclasse da " "classe :class:`asyncio.SubprocessProtocol`." -#: ../../library/asyncio-eventloop.rst:1275 +#: ../../library/asyncio-eventloop.rst:1326 msgid "Other parameters:" msgstr "Outros parâmetros:" -#: ../../library/asyncio-eventloop.rst:1277 +#: ../../library/asyncio-eventloop.rst:1328 msgid "*stdin* can be any of these:" msgstr "*stdin* pode ser qualquer um destes:" -#: ../../library/asyncio-eventloop.rst:1279 +#: ../../library/asyncio-eventloop.rst:1330 msgid "" "a file-like object representing a pipe to be connected to the subprocess's " "standard input stream using :meth:`~loop.connect_write_pipe`" @@ -2123,9 +2185,9 @@ msgstr "" "conectado ao stream de entrada padrão do subprocesso usando :meth:`~loop." "connect_write_pipe`" -#: ../../library/asyncio-eventloop.rst:1282 -#: ../../library/asyncio-eventloop.rst:1294 -#: ../../library/asyncio-eventloop.rst:1306 +#: ../../library/asyncio-eventloop.rst:1333 +#: ../../library/asyncio-eventloop.rst:1345 +#: ../../library/asyncio-eventloop.rst:1357 msgid "" "the :const:`subprocess.PIPE` constant (default) which will create a new pipe " "and connect it," @@ -2133,9 +2195,9 @@ msgstr "" "a constante :const:`subprocess.PIPE` (padrão), a qual criará um novo " "encadeamento e conectar a ele," -#: ../../library/asyncio-eventloop.rst:1284 -#: ../../library/asyncio-eventloop.rst:1296 -#: ../../library/asyncio-eventloop.rst:1308 +#: ../../library/asyncio-eventloop.rst:1335 +#: ../../library/asyncio-eventloop.rst:1347 +#: ../../library/asyncio-eventloop.rst:1359 msgid "" "the value ``None`` which will make the subprocess inherit the file " "descriptor from this process" @@ -2143,9 +2205,9 @@ msgstr "" "o valor ``None``, o qual fará o subprocesso herdar o descritor de arquivo " "deste processo" -#: ../../library/asyncio-eventloop.rst:1286 -#: ../../library/asyncio-eventloop.rst:1298 -#: ../../library/asyncio-eventloop.rst:1310 +#: ../../library/asyncio-eventloop.rst:1337 +#: ../../library/asyncio-eventloop.rst:1349 +#: ../../library/asyncio-eventloop.rst:1361 msgid "" "the :const:`subprocess.DEVNULL` constant which indicates that the special :" "data:`os.devnull` file will be used" @@ -2153,11 +2215,11 @@ msgstr "" "a constante :const:`subprocess.DEVNULL`, a qual indica que o arquivo " "especial :data:`os.devnull` será usado" -#: ../../library/asyncio-eventloop.rst:1289 +#: ../../library/asyncio-eventloop.rst:1340 msgid "*stdout* can be any of these:" msgstr "*stdout* pode ser qualquer um destes:" -#: ../../library/asyncio-eventloop.rst:1291 +#: ../../library/asyncio-eventloop.rst:1342 msgid "" "a file-like object representing a pipe to be connected to the subprocess's " "standard output stream using :meth:`~loop.connect_write_pipe`" @@ -2166,11 +2228,11 @@ msgstr "" "conectado ao stream de saída padrão do subprocesso usando :meth:`~loop." "connect_write_pipe`" -#: ../../library/asyncio-eventloop.rst:1301 +#: ../../library/asyncio-eventloop.rst:1352 msgid "*stderr* can be any of these:" msgstr "*stderr* pode ser qualquer um destes:" -#: ../../library/asyncio-eventloop.rst:1303 +#: ../../library/asyncio-eventloop.rst:1354 msgid "" "a file-like object representing a pipe to be connected to the subprocess's " "standard error stream using :meth:`~loop.connect_write_pipe`" @@ -2179,7 +2241,7 @@ msgstr "" "conectado ao stream de erro padrão do subprocesso usando :meth:`~loop." "connect_write_pipe`" -#: ../../library/asyncio-eventloop.rst:1312 +#: ../../library/asyncio-eventloop.rst:1363 msgid "" "the :const:`subprocess.STDOUT` constant which will connect the standard " "error stream to the process' standard output stream" @@ -2187,7 +2249,7 @@ 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:1315 +#: ../../library/asyncio-eventloop.rst:1366 msgid "" "All other keyword arguments are passed to :class:`subprocess.Popen` without " "interpretation, except for *bufsize*, *universal_newlines*, *shell*, *text*, " @@ -2198,7 +2260,7 @@ msgstr "" "*text*, *encoding* e *errors*, os quais não devem ser especificados de forma " "alguma." -#: ../../library/asyncio-eventloop.rst:1320 +#: ../../library/asyncio-eventloop.rst:1371 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 " @@ -2208,7 +2270,7 @@ msgstr "" "texto. :func:`bytes.decode` pode ser usado para converter os bytes " "retornados do stream para texto." -#: ../../library/asyncio-eventloop.rst:1324 +#: ../../library/asyncio-eventloop.rst:1375 msgid "" "See the constructor of the :class:`subprocess.Popen` class for documentation " "on other arguments." @@ -2216,7 +2278,7 @@ msgstr "" "Veja o construtor da classe :class:`subprocess.Popen` para documentação " "sobre outros argumentos." -#: ../../library/asyncio-eventloop.rst:1327 +#: ../../library/asyncio-eventloop.rst:1378 msgid "" "Returns a pair of ``(transport, protocol)``, where *transport* conforms to " "the :class:`asyncio.SubprocessTransport` base class and *protocol* is an " @@ -2226,7 +2288,7 @@ msgstr "" "classe base :class:`asyncio.SubprocessTransport` e *protocol* é um objeto " "instanciado pelo *protocol_factory*." -#: ../../library/asyncio-eventloop.rst:1335 +#: ../../library/asyncio-eventloop.rst:1386 msgid "" "Create a subprocess from *cmd*, which can be a :class:`str` or a :class:" "`bytes` string encoded to the :ref:`filesystem encoding `, usando a sintaxe \"shell\" da plataforma." -#: ../../library/asyncio-eventloop.rst:1340 +#: ../../library/asyncio-eventloop.rst:1391 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:1343 +#: ../../library/asyncio-eventloop.rst:1394 msgid "" "The *protocol_factory* must be a callable returning a subclass of the :class:" "`SubprocessProtocol` class." @@ -2252,7 +2314,7 @@ msgstr "" "O argumento *protocol_factory* deve ser um chamável que retorna uma " "subclasse da classe :class:`SubprocessProtocol`." -#: ../../library/asyncio-eventloop.rst:1346 +#: ../../library/asyncio-eventloop.rst:1397 msgid "" "See :meth:`~loop.subprocess_exec` for more details about the remaining " "arguments." @@ -2260,7 +2322,7 @@ msgstr "" "Veja :meth:`~loop.subprocess_exec` para mais detalhes sobre os argumentos " "remanescentes." -#: ../../library/asyncio-eventloop.rst:1349 +#: ../../library/asyncio-eventloop.rst:1400 msgid "" "Returns a pair of ``(transport, protocol)``, where *transport* conforms to " "the :class:`SubprocessTransport` base class and *protocol* is an object " @@ -2270,7 +2332,7 @@ msgstr "" "classe base :class:`SubprocessTransport` e *protocol* é um objeto " "instanciado pelo *protocol_factory*." -#: ../../library/asyncio-eventloop.rst:1354 +#: ../../library/asyncio-eventloop.rst:1405 msgid "" "It is the application's responsibility to ensure that all whitespace and " "special characters are quoted appropriately to avoid `shell injection " @@ -2286,19 +2348,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:1363 +#: ../../library/asyncio-eventloop.rst:1414 msgid "Callback Handles" msgstr "Tratadores de função de retorno" -#: ../../library/asyncio-eventloop.rst:1367 +#: ../../library/asyncio-eventloop.rst:1418 msgid "" "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." +"Um objeto invólucro de função de retorno retornado por :meth:`loop." "call_soon`, :meth:`loop.call_soon_threadsafe`." -#: ../../library/asyncio-eventloop.rst:1372 +#: ../../library/asyncio-eventloop.rst:1423 msgid "" "Cancel the callback. If the callback has already been canceled or executed, " "this method has no effect." @@ -2306,29 +2368,29 @@ 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:1377 +#: ../../library/asyncio-eventloop.rst:1428 msgid "Return ``True`` if the callback was cancelled." msgstr "Retorna ``True`` se a função de retorno foi cancelada." -#: ../../library/asyncio-eventloop.rst:1383 +#: ../../library/asyncio-eventloop.rst:1434 msgid "" "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." +"Um objeto invólucro de função de retorno retornado por :meth:`loop." "call_later`, e :meth:`loop.call_at`." -#: ../../library/asyncio-eventloop.rst:1386 +#: ../../library/asyncio-eventloop.rst:1437 msgid "This class is a subclass of :class:`Handle`." msgstr "Esta classe é uma subclasse de :class:`Handle`." -#: ../../library/asyncio-eventloop.rst:1390 +#: ../../library/asyncio-eventloop.rst:1441 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:1392 +#: ../../library/asyncio-eventloop.rst:1443 msgid "" "The time is an absolute timestamp, using the same time reference as :meth:" "`loop.time`." @@ -2336,11 +2398,11 @@ msgstr "" "O tempo é um timestamp absoluto, usando a mesma referência de tempo que :" "meth:`loop.time`." -#: ../../library/asyncio-eventloop.rst:1399 +#: ../../library/asyncio-eventloop.rst:1450 msgid "Server Objects" msgstr "Objetos Server" -#: ../../library/asyncio-eventloop.rst:1401 +#: ../../library/asyncio-eventloop.rst:1452 msgid "" "Server objects are created by :meth:`loop.create_server`, :meth:`loop." "create_unix_server`, :func:`start_server`, and :func:`start_unix_server` " @@ -2349,11 +2411,11 @@ 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`." -#: ../../library/asyncio-eventloop.rst:1405 +#: ../../library/asyncio-eventloop.rst:1456 msgid "Do not instantiate the class directly." msgstr "Não instancie a classe diretamente" -#: ../../library/asyncio-eventloop.rst:1409 +#: ../../library/asyncio-eventloop.rst:1460 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 " @@ -2364,12 +2426,12 @@ msgstr "" "não está aceitando novas conexões quando a instrução ``async with`` estiver " "completa::" -#: ../../library/asyncio-eventloop.rst:1422 +#: ../../library/asyncio-eventloop.rst:1473 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:1427 +#: ../../library/asyncio-eventloop.rst:1478 msgid "" "Stop serving: close listening sockets and set the :attr:`sockets` attribute " "to ``None``." @@ -2377,7 +2439,7 @@ msgstr "" "Para de servir: fecha soquetes que estavam ouvindo e define o atributo :attr:" "`sockets` para ``None``." -#: ../../library/asyncio-eventloop.rst:1430 +#: ../../library/asyncio-eventloop.rst:1481 msgid "" "The sockets that represent existing incoming client connections are left " "open." @@ -2385,7 +2447,7 @@ msgstr "" "Os soquetes que representam conexões de clientes existentes que estão " "chegando são deixados em aberto." -#: ../../library/asyncio-eventloop.rst:1433 +#: ../../library/asyncio-eventloop.rst:1484 msgid "" "The server is closed asynchronously, use the :meth:`wait_closed` coroutine " "to wait until the server is closed." @@ -2393,15 +2455,15 @@ msgstr "" "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:1438 +#: ../../library/asyncio-eventloop.rst:1489 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:1444 +#: ../../library/asyncio-eventloop.rst:1495 msgid "Start accepting connections." msgstr "Começa a aceitar conexões." -#: ../../library/asyncio-eventloop.rst:1446 +#: ../../library/asyncio-eventloop.rst:1497 msgid "" "This method is idempotent, so it can be called when the server is already " "being serving." @@ -2409,7 +2471,7 @@ msgstr "" "Este método é method is idempotente, então ele pode ser cancelado quando o " "servidor já estiver servindo." -#: ../../library/asyncio-eventloop.rst:1449 +#: ../../library/asyncio-eventloop.rst:1500 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 " @@ -2423,7 +2485,7 @@ msgstr "" "meth:`Server.serve_forever` podem ser usados para fazer o Server começar a " "aceitar conexões." -#: ../../library/asyncio-eventloop.rst:1460 +#: ../../library/asyncio-eventloop.rst:1511 msgid "" "Start accepting connections until the coroutine is cancelled. Cancellation " "of ``serve_forever`` task causes the server to be closed." @@ -2431,27 +2493,27 @@ 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:1464 +#: ../../library/asyncio-eventloop.rst:1515 msgid "" "This method can be called if the server is already accepting connections. " "Only one ``serve_forever`` task can exist per one *Server* object." 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*." +"Apenas uma task ``serve_forever`` pode existir para cada objeto *Server*." -#: ../../library/asyncio-eventloop.rst:1486 +#: ../../library/asyncio-eventloop.rst:1537 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:1492 +#: ../../library/asyncio-eventloop.rst:1543 msgid "Wait until the :meth:`close` method completes." msgstr "Aguarda até o método :meth:`close` completar." -#: ../../library/asyncio-eventloop.rst:1496 +#: ../../library/asyncio-eventloop.rst:1547 msgid "List of :class:`socket.socket` objects the server is listening on." msgstr "Lista de objetos :class:`socket.socket` que o servidor está escutando." -#: ../../library/asyncio-eventloop.rst:1498 +#: ../../library/asyncio-eventloop.rst:1549 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." @@ -2460,11 +2522,11 @@ msgstr "" "interna de soquetes do server diretamente. No uma cópia dessa lista é " "retornada." -#: ../../library/asyncio-eventloop.rst:1507 +#: ../../library/asyncio-eventloop.rst:1559 msgid "Event Loop Implementations" msgstr "Implementações do Laço de Eventos" -#: ../../library/asyncio-eventloop.rst:1509 +#: ../../library/asyncio-eventloop.rst:1561 msgid "" "asyncio ships with two different event loop implementations: :class:" "`SelectorEventLoop` and :class:`ProactorEventLoop`." @@ -2472,7 +2534,7 @@ msgstr "" "asyncio vem com duas implementações de laço de eventos diferente: :class:" "`SelectorEventLoop` e :class:`ProactorEventLoop`." -#: ../../library/asyncio-eventloop.rst:1512 +#: ../../library/asyncio-eventloop.rst:1564 msgid "" "By default asyncio is configured to use :class:`SelectorEventLoop` on Unix " "and :class:`ProactorEventLoop` on Windows." @@ -2480,11 +2542,11 @@ msgstr "" "Por padrão asyncio está configurado para usar :class:`SelectorEventLoop` no " "Unix e :class:`ProactorEventLoop` no Windows." -#: ../../library/asyncio-eventloop.rst:1518 +#: ../../library/asyncio-eventloop.rst:1570 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:1520 +#: ../../library/asyncio-eventloop.rst:1572 msgid "" "Uses the most efficient *selector* available for the given platform. It is " "also possible to manually configure the exact selector implementation to be " @@ -2494,20 +2556,20 @@ msgstr "" "Também é possível configurar manualmente a implementação exata do seletor a " "ser utilizada::" -#: ../../library/asyncio-eventloop.rst:1532 +#: ../../library/asyncio-eventloop.rst:1587 msgid ":ref:`Availability `: Unix, Windows." -msgstr ":ref:`Disponibilidade`: Unix, Windows." +msgstr ":ref:`Disponibilidade `: Unix, Windows." -#: ../../library/asyncio-eventloop.rst:1537 +#: ../../library/asyncio-eventloop.rst:1592 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:1540 +#: ../../library/asyncio-eventloop.rst:1595 msgid ":ref:`Availability `: Windows." msgstr ":ref:`Disponibilidade `: Windows." -#: ../../library/asyncio-eventloop.rst:1543 +#: ../../library/asyncio-eventloop.rst:1598 msgid "" "`MSDN documentation on I/O Completion Ports `_." @@ -2515,25 +2577,21 @@ msgstr "" "`Documentação da MSDN sobre conclusão de portas I/O `_." -#: ../../library/asyncio-eventloop.rst:1549 +#: ../../library/asyncio-eventloop.rst:1604 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:1551 +#: ../../library/asyncio-eventloop.rst:1606 msgid "" -"The :ref:`Event Loop Methods ` section lists all methods " -"that an alternative implementation of ``AbstractEventLoop`` should have " -"defined." +"The :ref:`asyncio-event-loop-methods` section lists all methods that an " +"alternative implementation of ``AbstractEventLoop`` should have defined." msgstr "" -"A seção :ref:`Métodos de laço de eventos ` lista todos " -"os métodos que uma implementação alternativa de ``AbstractEventLoop`` deve " -"definir." -#: ../../library/asyncio-eventloop.rst:1557 +#: ../../library/asyncio-eventloop.rst:1612 msgid "Examples" msgstr "Exemplos" -#: ../../library/asyncio-eventloop.rst:1559 +#: ../../library/asyncio-eventloop.rst:1614 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." @@ -2546,11 +2604,11 @@ msgstr "" "precisam ser escritas desta forma; considere usar as funções de alto nível " "como :func:`asyncio.run`." -#: ../../library/asyncio-eventloop.rst:1569 +#: ../../library/asyncio-eventloop.rst:1624 msgid "Hello World with call_soon()" msgstr "Hello World com call_soon()" -#: ../../library/asyncio-eventloop.rst:1571 +#: ../../library/asyncio-eventloop.rst:1626 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::" @@ -2559,7 +2617,7 @@ msgstr "" "retorno. A função de retorno exibe ``\"Hello World\"`` e então para o laço " "de eventos::" -#: ../../library/asyncio-eventloop.rst:1595 +#: ../../library/asyncio-eventloop.rst:1650 msgid "" "A similar :ref:`Hello World ` example created with a coroutine " "and the :func:`run` function." @@ -2567,11 +2625,11 @@ msgstr "" "Um exemplo similar a :ref:`Hello World ` criado com uma corrotina " "e a função :func:`run`." -#: ../../library/asyncio-eventloop.rst:1602 +#: ../../library/asyncio-eventloop.rst:1657 msgid "Display the current date with call_later()" msgstr "Exibe a data atual com call_later()" -#: ../../library/asyncio-eventloop.rst:1604 +#: ../../library/asyncio-eventloop.rst:1659 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 " @@ -2581,7 +2639,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:1632 +#: ../../library/asyncio-eventloop.rst:1687 msgid "" "A similar :ref:`current date ` example created with a " "coroutine and the :func:`run` function." @@ -2589,11 +2647,11 @@ msgstr "" "Um exemplo similar a :ref:`data atual ` criado com " "uma corrotina e a função :func:`run`." -#: ../../library/asyncio-eventloop.rst:1639 +#: ../../library/asyncio-eventloop.rst:1694 msgid "Watch a file descriptor for read events" msgstr "Observa um descritor de arquivo por eventos de leitura" -#: ../../library/asyncio-eventloop.rst:1641 +#: ../../library/asyncio-eventloop.rst:1696 msgid "" "Wait until a file descriptor received some data using the :meth:`loop." "add_reader` method and then close the event loop::" @@ -2601,7 +2659,7 @@ 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:1679 +#: ../../library/asyncio-eventloop.rst:1734 msgid "" "A similar :ref:`example ` using " "transports, protocols, and the :meth:`loop.create_connection` method." @@ -2609,7 +2667,7 @@ msgstr "" "Um :ref:`exemplo ` similar usando " "transportes, protocolos, e o método :meth:`loop.create_connection`." -#: ../../library/asyncio-eventloop.rst:1683 +#: ../../library/asyncio-eventloop.rst:1738 msgid "" "Another similar :ref:`example ` " "using the high-level :func:`asyncio.open_connection` function and streams." @@ -2617,15 +2675,15 @@ msgstr "" "Outro :ref:`exemplo ` similar " "usando a função de alto nível :func:`asyncio.open_connection` e streams." -#: ../../library/asyncio-eventloop.rst:1691 +#: ../../library/asyncio-eventloop.rst:1746 msgid "Set signal handlers for SIGINT and SIGTERM" msgstr "Define tratadores de sinais para SIGINT e SIGTERM" -#: ../../library/asyncio-eventloop.rst:1693 +#: ../../library/asyncio-eventloop.rst:1748 msgid "(This ``signals`` example only works on Unix.)" msgstr "(Este exemplo de ``signals`` apenas funciona no Unix.)" -#: ../../library/asyncio-eventloop.rst:1695 +#: ../../library/asyncio-eventloop.rst:1750 msgid "" "Register handlers for signals :py:data:`SIGINT` and :py:data:`SIGTERM` using " "the :meth:`loop.add_signal_handler` method::" diff --git a/library/asyncio-exceptions.po b/library/asyncio-exceptions.po index 804d2ef01..8a32749ed 100644 --- a/library/asyncio-exceptions.po +++ b/library/asyncio-exceptions.po @@ -1,27 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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 -# Leticia Portella , 2021 +# python-doc bot, 2025 # #, 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 00:54+0000\n" -"Last-Translator: Leticia Portella , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:57+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/asyncio-exceptions.rst:8 msgid "Exceptions" diff --git a/library/asyncio-future.po b/library/asyncio-future.po index 43fadef9f..f8c87365a 100644 --- a/library/asyncio-future.po +++ b/library/asyncio-future.po @@ -1,27 +1,28 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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: -# Sheila Gomes , 2021 -# Vinicius Gubiani Ferreira , 2021 +# python-doc bot, 2025 +# Adorilson Bezerra , 2025 # #, 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 00:55+0000\n" -"Last-Translator: Vinicius Gubiani Ferreira , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-12-19 17:28+0000\n" +"PO-Revision-Date: 2025-09-22 15:57+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=2; plural=(n > 1);\n" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/asyncio-future.rst:8 msgid "Futures" @@ -32,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:" @@ -61,7 +67,7 @@ msgstr "" #: ../../library/asyncio-future.rst:36 msgid "Return:" -msgstr "" +msgstr "Retorna:" #: ../../library/asyncio-future.rst:38 msgid "" @@ -93,88 +99,109 @@ msgid "" msgstr "" #: ../../library/asyncio-future.rst:57 -msgid "The function accepts any :term:`awaitable` object." +msgid "" +"Save a reference to the result of this function, to avoid a task " +"disappearing mid-execution." msgstr "" #: ../../library/asyncio-future.rst:60 +msgid "The function accepts any :term:`awaitable` object." +msgstr "" + +#: ../../library/asyncio-future.rst:63 msgid "" "Deprecation warning is emitted if *obj* is not a Future-like object and " "*loop* is not specified and there is no running event loop." msgstr "" -#: ../../library/asyncio-future.rst:67 +#: ../../library/asyncio-future.rst:70 msgid "" "Wrap a :class:`concurrent.futures.Future` object in a :class:`asyncio." "Future` object." msgstr "" -#: ../../library/asyncio-future.rst:70 +#: ../../library/asyncio-future.rst:73 msgid "" "Deprecation warning is emitted if *future* is not a Future-like object and " "*loop* is not specified and there is no running event loop." msgstr "" -#: ../../library/asyncio-future.rst:76 +#: ../../library/asyncio-future.rst:79 msgid "Future Object" -msgstr "" +msgstr "Objeto Future" -#: ../../library/asyncio-future.rst:80 +#: ../../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:83 +#: ../../library/asyncio-future.rst:86 msgid "" "Future is an :term:`awaitable` object. Coroutines can await on Future " "objects until they either have a result or an exception set, or until they " -"are cancelled." +"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:87 +#: ../../library/asyncio-future.rst:91 msgid "" "Typically Futures are used to enable low-level callback-based code (e.g. in " "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:92 +#: ../../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." 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:98 +#: ../../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:101 +#: ../../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:107 +#: ../../library/asyncio-future.rst:111 msgid "Return the result of the Future." msgstr "" -#: ../../library/asyncio-future.rst:109 +#: ../../library/asyncio-future.rst:113 msgid "" "If the Future is *done* and has a result set by the :meth:`set_result` " "method, the result value is returned." msgstr "" -#: ../../library/asyncio-future.rst:112 +#: ../../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." msgstr "" -#: ../../library/asyncio-future.rst:115 ../../library/asyncio-future.rst:203 +#: ../../library/asyncio-future.rst:119 ../../library/asyncio-future.rst:207 msgid "" "If the Future has been *cancelled*, this method raises a :exc:" "`CancelledError` exception." @@ -182,60 +209,60 @@ msgstr "" "Se o futuro foi *cancelled*, este método levanta uma exceção :exc:" "`CancelledError`." -#: ../../library/asyncio-future.rst:118 +#: ../../library/asyncio-future.rst:122 msgid "" "If the Future's result isn't yet available, this method raises a :exc:" "`InvalidStateError` exception." msgstr "" -#: ../../library/asyncio-future.rst:123 +#: ../../library/asyncio-future.rst:127 msgid "Mark the Future as *done* and set its result." msgstr "" -#: ../../library/asyncio-future.rst:125 ../../library/asyncio-future.rst:132 +#: ../../library/asyncio-future.rst:129 ../../library/asyncio-future.rst:136 msgid "" "Raises a :exc:`InvalidStateError` error if the Future is already *done*." msgstr "" -#: ../../library/asyncio-future.rst:130 +#: ../../library/asyncio-future.rst:134 msgid "Mark the Future as *done* and set an exception." msgstr "" -#: ../../library/asyncio-future.rst:137 +#: ../../library/asyncio-future.rst:141 msgid "Return ``True`` if the Future is *done*." msgstr "" -#: ../../library/asyncio-future.rst:139 +#: ../../library/asyncio-future.rst:143 msgid "" "A Future is *done* if it was *cancelled* or if it has a result or an " "exception set with :meth:`set_result` or :meth:`set_exception` calls." msgstr "" -#: ../../library/asyncio-future.rst:145 +#: ../../library/asyncio-future.rst:149 msgid "Return ``True`` if the Future was *cancelled*." msgstr "" -#: ../../library/asyncio-future.rst:147 +#: ../../library/asyncio-future.rst:151 msgid "" "The method is usually used to check if a Future is not *cancelled* before " "setting a result or an exception for it::" msgstr "" -#: ../../library/asyncio-future.rst:155 +#: ../../library/asyncio-future.rst:159 msgid "Add a callback to be run when the Future is *done*." msgstr "" -#: ../../library/asyncio-future.rst:157 +#: ../../library/asyncio-future.rst:161 msgid "The *callback* is called with the Future object as its only argument." msgstr "" -#: ../../library/asyncio-future.rst:160 +#: ../../library/asyncio-future.rst:164 msgid "" "If the Future is already *done* when this method is called, the callback is " "scheduled with :meth:`loop.call_soon`." msgstr "" -#: ../../library/asyncio-future.rst:163 +#: ../../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 " @@ -245,13 +272,13 @@ msgstr "" "class:`contextvars.Context` customizado para executar na *função de " "retorno*. O contexto atual é usado quando nenhum *context* é fornecido." -#: ../../library/asyncio-future.rst:167 +#: ../../library/asyncio-future.rst:171 msgid "" ":func:`functools.partial` can be used to pass parameters to the callback, e." "g.::" msgstr "" -#: ../../library/asyncio-future.rst:174 +#: ../../library/asyncio-future.rst:178 msgid "" "The *context* keyword-only parameter was added. See :pep:`567` for more " "details." @@ -259,94 +286,94 @@ msgstr "" "O parâmetro somente-nomeado *context* foi adicionado. Veja :pep:`567` para " "mais detalhes." -#: ../../library/asyncio-future.rst:180 +#: ../../library/asyncio-future.rst:184 msgid "Remove *callback* from the callbacks list." msgstr "Remove *callback* da lista de funções de retorno." -#: ../../library/asyncio-future.rst:182 +#: ../../library/asyncio-future.rst:186 msgid "" "Returns the number of callbacks removed, which is typically 1, unless a " "callback was added more than once." msgstr "" -#: ../../library/asyncio-future.rst:187 +#: ../../library/asyncio-future.rst:191 msgid "Cancel the Future and schedule callbacks." msgstr "" -#: ../../library/asyncio-future.rst:189 +#: ../../library/asyncio-future.rst:193 msgid "" "If the Future is already *done* or *cancelled*, return ``False``. Otherwise, " "change the Future's state to *cancelled*, schedule the callbacks, and return " "``True``." msgstr "" -#: ../../library/asyncio-future.rst:193 -msgid "Added the ``msg`` parameter." -msgstr "Adicionado o parâmetro ``msg``." +#: ../../library/asyncio-future.rst:197 +msgid "Added the *msg* parameter." +msgstr "Adicionado o parâmetro *msg*." -#: ../../library/asyncio-future.rst:198 +#: ../../library/asyncio-future.rst:202 msgid "Return the exception that was set on this Future." msgstr "" -#: ../../library/asyncio-future.rst:200 +#: ../../library/asyncio-future.rst:204 msgid "" "The exception (or ``None`` if no exception was set) is returned only if the " "Future is *done*." msgstr "" -#: ../../library/asyncio-future.rst:206 +#: ../../library/asyncio-future.rst:210 msgid "" "If the Future isn't *done* yet, this method raises an :exc:" "`InvalidStateError` exception." msgstr "" -#: ../../library/asyncio-future.rst:211 +#: ../../library/asyncio-future.rst:215 msgid "Return the event loop the Future object is bound to." msgstr "" -#: ../../library/asyncio-future.rst:218 +#: ../../library/asyncio-future.rst:222 msgid "" "This example creates a Future object, creates and schedules an asynchronous " "Task to set result for the Future, and waits until the Future has a result::" msgstr "" -#: ../../library/asyncio-future.rst:253 +#: ../../library/asyncio-future.rst:257 msgid "" "The Future object was designed to mimic :class:`concurrent.futures.Future`. " "Key differences include:" msgstr "" -#: ../../library/asyncio-future.rst:256 +#: ../../library/asyncio-future.rst:260 msgid "" "unlike asyncio Futures, :class:`concurrent.futures.Future` instances cannot " "be awaited." msgstr "" -#: ../../library/asyncio-future.rst:259 +#: ../../library/asyncio-future.rst:263 msgid "" ":meth:`asyncio.Future.result` and :meth:`asyncio.Future.exception` do not " "accept the *timeout* argument." msgstr "" -#: ../../library/asyncio-future.rst:262 +#: ../../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*." msgstr "" -#: ../../library/asyncio-future.rst:266 +#: ../../library/asyncio-future.rst:270 msgid "" "Callbacks registered with :meth:`asyncio.Future.add_done_callback` are not " "called immediately. They are scheduled with :meth:`loop.call_soon` instead." msgstr "" -#: ../../library/asyncio-future.rst:270 +#: ../../library/asyncio-future.rst:274 msgid "" "asyncio Future is not compatible with the :func:`concurrent.futures.wait` " "and :func:`concurrent.futures.as_completed` functions." msgstr "" -#: ../../library/asyncio-future.rst:274 +#: ../../library/asyncio-future.rst:278 msgid "" ":meth:`asyncio.Future.cancel` accepts an optional ``msg`` argument, but :" "func:`concurrent.futures.cancel` does not." diff --git a/library/asyncio-llapi-index.po b/library/asyncio-llapi-index.po index b26606be4..efc7573ed 100644 --- a/library/asyncio-llapi-index.po +++ b/library/asyncio-llapi-index.po @@ -1,31 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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 -# 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.10\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-06-29 12:56+0000\n" -"PO-Revision-Date: 2021-06-28 00:55+0000\n" -"Last-Translator: Vinicius Gubiani Ferreira , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:57+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/asyncio-llapi-index.rst:6 msgid "Low-level API Index" @@ -52,8 +48,10 @@ msgid ":func:`asyncio.get_event_loop`" msgstr ":func:`asyncio.get_event_loop`" #: ../../library/asyncio-llapi-index.rst:22 -msgid "Get an event loop instance (current or via the policy)." -msgstr "Obtém uma instância de laço de eventos (atual ou através da política)." +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`" @@ -86,11 +84,11 @@ msgstr "Métodos do laço de eventos" #: ../../library/asyncio-llapi-index.rst:39 msgid "" -"See also the main documentation section about the :ref:`event loop methods " -"`." +"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:`métodos de laço " -"de eventos `." +"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" @@ -736,7 +734,7 @@ msgid ":meth:`transport.abort() `" msgstr ":meth:`transport.abort() `" #: ../../library/asyncio-llapi-index.rst:348 -#: ../../library/asyncio-llapi-index.rst:370 +#: ../../library/asyncio-llapi-index.rst:374 msgid "Close the transport immediately." msgstr "Fecha o transporte imediatamente." @@ -749,43 +747,55 @@ msgstr "" "get_write_buffer_size>`" #: ../../library/asyncio-llapi-index.rst:352 -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." +msgid "Return the current size of the output buffer." +msgstr "Retorna o tamanho atual do buffer de saída." #: ../../library/asyncio-llapi-index.rst:354 msgid "" +":meth:`transport.get_write_buffer_limits() `" +msgstr "" +":meth:`transport.get_write_buffer_limits() `" + +#: ../../library/asyncio-llapi-index.rst:356 +msgid "Return high and low water marks for write flow control." +msgstr "Retorna marcas d'água alta e baixa para controle do fluxo de escrita." + +#: ../../library/asyncio-llapi-index.rst:358 +msgid "" ":meth:`transport.set_write_buffer_limits() `" msgstr "" ":meth:`transport.set_write_buffer_limits() `" -#: ../../library/asyncio-llapi-index.rst:356 +#: ../../library/asyncio-llapi-index.rst:360 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:359 +#: ../../library/asyncio-llapi-index.rst:363 msgid "Transports returned by :meth:`loop.create_datagram_endpoint`:" msgstr "Transporte retornado por :meth:`loop.create_datagram_endpoint`:" -#: ../../library/asyncio-llapi-index.rst:361 +#: ../../library/asyncio-llapi-index.rst:365 msgid "Datagram Transports" msgstr "Transportes de datagrama" -#: ../../library/asyncio-llapi-index.rst:366 +#: ../../library/asyncio-llapi-index.rst:370 msgid ":meth:`transport.sendto() `" msgstr ":meth:`transport.sendto() `" -#: ../../library/asyncio-llapi-index.rst:367 +#: ../../library/asyncio-llapi-index.rst:371 msgid "Send data to the remote peer." msgstr "Envia dados para o par remoto." -#: ../../library/asyncio-llapi-index.rst:369 +#: ../../library/asyncio-llapi-index.rst:373 msgid ":meth:`transport.abort() `" msgstr ":meth:`transport.abort() `" -#: ../../library/asyncio-llapi-index.rst:373 +#: ../../library/asyncio-llapi-index.rst:377 msgid "" "Low-level transport abstraction over subprocesses. Returned by :meth:`loop." "subprocess_exec` and :meth:`loop.subprocess_shell`:" @@ -793,19 +803,19 @@ msgstr "" "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:377 +#: ../../library/asyncio-llapi-index.rst:381 msgid "Subprocess Transports" msgstr "Transportes de Subprocesso" -#: ../../library/asyncio-llapi-index.rst:382 +#: ../../library/asyncio-llapi-index.rst:386 msgid ":meth:`transport.get_pid() `" msgstr ":meth:`transport.get_pid() `" -#: ../../library/asyncio-llapi-index.rst:383 +#: ../../library/asyncio-llapi-index.rst:387 msgid "Return the subprocess process id." msgstr "Retorna o process id do subprocesso." -#: ../../library/asyncio-llapi-index.rst:385 +#: ../../library/asyncio-llapi-index.rst:389 msgid "" ":meth:`transport.get_pipe_transport() `" @@ -813,7 +823,7 @@ msgstr "" ":meth:`transport.get_pipe_transport() `" -#: ../../library/asyncio-llapi-index.rst:387 +#: ../../library/asyncio-llapi-index.rst:391 msgid "" "Return the transport for the requested communication pipe (*stdin*, " "*stdout*, or *stderr*)." @@ -821,170 +831,170 @@ msgstr "" "Retorna o transporte para o encadeamento de comunicação requisitada " "(*stdin*, *stdout*, ou *stderr*)." -#: ../../library/asyncio-llapi-index.rst:390 +#: ../../library/asyncio-llapi-index.rst:394 msgid ":meth:`transport.get_returncode() `" msgstr "" ":meth:`transport.get_returncode() `" -#: ../../library/asyncio-llapi-index.rst:391 +#: ../../library/asyncio-llapi-index.rst:395 msgid "Return the subprocess return code." msgstr "Retorna o código de retorno do subprocesso." -#: ../../library/asyncio-llapi-index.rst:393 +#: ../../library/asyncio-llapi-index.rst:397 msgid ":meth:`transport.kill() `" msgstr ":meth:`transport.kill() `" -#: ../../library/asyncio-llapi-index.rst:394 +#: ../../library/asyncio-llapi-index.rst:398 msgid "Kill the subprocess." msgstr "Mata o subprocesso." -#: ../../library/asyncio-llapi-index.rst:396 +#: ../../library/asyncio-llapi-index.rst:400 msgid ":meth:`transport.send_signal() `" msgstr ":meth:`transport.send_signal() `" -#: ../../library/asyncio-llapi-index.rst:397 +#: ../../library/asyncio-llapi-index.rst:401 msgid "Send a signal to the subprocess." msgstr "Envia um sinal para o subprocesso." -#: ../../library/asyncio-llapi-index.rst:399 +#: ../../library/asyncio-llapi-index.rst:403 msgid ":meth:`transport.terminate() `" msgstr ":meth:`transport.terminate() `" -#: ../../library/asyncio-llapi-index.rst:400 +#: ../../library/asyncio-llapi-index.rst:404 msgid "Stop the subprocess." msgstr "Interrompe o subprocesso." -#: ../../library/asyncio-llapi-index.rst:402 +#: ../../library/asyncio-llapi-index.rst:406 msgid ":meth:`transport.close() `" msgstr ":meth:`transport.close() `" -#: ../../library/asyncio-llapi-index.rst:403 +#: ../../library/asyncio-llapi-index.rst:407 msgid "Kill the subprocess and close all pipes." msgstr "Mata o subprocesso e fecha todos os encadeamentos." -#: ../../library/asyncio-llapi-index.rst:407 +#: ../../library/asyncio-llapi-index.rst:411 msgid "Protocols" msgstr "Protocolos" -#: ../../library/asyncio-llapi-index.rst:409 +#: ../../library/asyncio-llapi-index.rst:413 msgid "Protocol classes can implement the following **callback methods**:" msgstr "" "Classes de protocolos podem implementar os seguintes **métodos de função de " "retorno**:" -#: ../../library/asyncio-llapi-index.rst:415 +#: ../../library/asyncio-llapi-index.rst:419 msgid "``callback`` :meth:`connection_made() `" msgstr "``callback`` :meth:`connection_made() `" -#: ../../library/asyncio-llapi-index.rst:416 +#: ../../library/asyncio-llapi-index.rst:420 msgid "Called when a connection is made." msgstr "Chamado quando uma conexão é estabelecida." -#: ../../library/asyncio-llapi-index.rst:418 +#: ../../library/asyncio-llapi-index.rst:422 msgid "``callback`` :meth:`connection_lost() `" msgstr "``callback`` :meth:`connection_lost() `" -#: ../../library/asyncio-llapi-index.rst:419 +#: ../../library/asyncio-llapi-index.rst:423 msgid "Called when the connection is lost or closed." msgstr "Chamado quanto a conexão é perdida ou fechada." -#: ../../library/asyncio-llapi-index.rst:421 +#: ../../library/asyncio-llapi-index.rst:425 msgid "``callback`` :meth:`pause_writing() `" msgstr "``callback`` :meth:`pause_writing() `" -#: ../../library/asyncio-llapi-index.rst:422 +#: ../../library/asyncio-llapi-index.rst:426 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:424 +#: ../../library/asyncio-llapi-index.rst:428 msgid "``callback`` :meth:`resume_writing() `" msgstr "``callback`` :meth:`resume_writing() `" -#: ../../library/asyncio-llapi-index.rst:425 +#: ../../library/asyncio-llapi-index.rst:429 msgid "Called when the transport's buffer drains below the low water mark." msgstr "" "Chamado quando o buffer de transporte drena abaixo da marca de nível baixo " "d'agua." -#: ../../library/asyncio-llapi-index.rst:428 +#: ../../library/asyncio-llapi-index.rst:432 msgid "Streaming Protocols (TCP, Unix Sockets, Pipes)" msgstr "Protocolos de Streaming (TCP, Soquetes Unix, Encadeamentos)" -#: ../../library/asyncio-llapi-index.rst:433 +#: ../../library/asyncio-llapi-index.rst:437 msgid "``callback`` :meth:`data_received() `" msgstr "``callback`` :meth:`data_received() `" -#: ../../library/asyncio-llapi-index.rst:434 +#: ../../library/asyncio-llapi-index.rst:438 msgid "Called when some data is received." msgstr "Chamado quando algum dado é recebido." -#: ../../library/asyncio-llapi-index.rst:436 +#: ../../library/asyncio-llapi-index.rst:440 msgid "``callback`` :meth:`eof_received() `" msgstr "``callback`` :meth:`eof_received() `" -#: ../../library/asyncio-llapi-index.rst:437 -#: ../../library/asyncio-llapi-index.rst:452 +#: ../../library/asyncio-llapi-index.rst:441 +#: ../../library/asyncio-llapi-index.rst:456 msgid "Called when an EOF is received." msgstr "Chamado quando um EOF é recebido." -#: ../../library/asyncio-llapi-index.rst:440 +#: ../../library/asyncio-llapi-index.rst:444 msgid "Buffered Streaming Protocols" msgstr "Protocolos de Streaming Bufferizados" -#: ../../library/asyncio-llapi-index.rst:445 +#: ../../library/asyncio-llapi-index.rst:449 msgid "``callback`` :meth:`get_buffer() `" msgstr "``callback`` :meth:`get_buffer() `" -#: ../../library/asyncio-llapi-index.rst:446 +#: ../../library/asyncio-llapi-index.rst:450 msgid "Called to allocate a new receive buffer." msgstr "Chamada para alocar um novo buffer para recebimento." -#: ../../library/asyncio-llapi-index.rst:448 +#: ../../library/asyncio-llapi-index.rst:452 msgid "``callback`` :meth:`buffer_updated() `" msgstr "" "``callback`` :meth:`buffer_updated() `" -#: ../../library/asyncio-llapi-index.rst:449 +#: ../../library/asyncio-llapi-index.rst:453 msgid "Called when the buffer was updated with the received data." msgstr "Chamado quando o buffer foi atualizado com os dados recebidos." -#: ../../library/asyncio-llapi-index.rst:451 +#: ../../library/asyncio-llapi-index.rst:455 msgid "``callback`` :meth:`eof_received() `" msgstr "``callback`` :meth:`eof_received() `" -#: ../../library/asyncio-llapi-index.rst:455 +#: ../../library/asyncio-llapi-index.rst:459 msgid "Datagram Protocols" msgstr "Protocolos de Datagramas" -#: ../../library/asyncio-llapi-index.rst:460 +#: ../../library/asyncio-llapi-index.rst:464 msgid "" "``callback`` :meth:`datagram_received() `" msgstr "" "``callback`` :meth:`datagram_received() `" -#: ../../library/asyncio-llapi-index.rst:462 +#: ../../library/asyncio-llapi-index.rst:466 msgid "Called when a datagram is received." msgstr "Chamado quando um datagrama é recebido." -#: ../../library/asyncio-llapi-index.rst:464 +#: ../../library/asyncio-llapi-index.rst:468 msgid "``callback`` :meth:`error_received() `" msgstr "" "``callback`` :meth:`error_received() `" -#: ../../library/asyncio-llapi-index.rst:465 +#: ../../library/asyncio-llapi-index.rst:469 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`." -#: ../../library/asyncio-llapi-index.rst:469 +#: ../../library/asyncio-llapi-index.rst:473 msgid "Subprocess Protocols" msgstr "Protocolos de Subprocesso" -#: ../../library/asyncio-llapi-index.rst:474 +#: ../../library/asyncio-llapi-index.rst:478 msgid "" "``callback`` :meth:`pipe_data_received() `" @@ -992,14 +1002,14 @@ msgstr "" "``callback`` :meth:`pipe_data_received() `" -#: ../../library/asyncio-llapi-index.rst:476 +#: ../../library/asyncio-llapi-index.rst:480 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:479 +#: ../../library/asyncio-llapi-index.rst:483 msgid "" "``callback`` :meth:`pipe_connection_lost() `" @@ -1007,28 +1017,28 @@ msgstr "" "``callback`` :meth:`pipe_connection_lost() `" -#: ../../library/asyncio-llapi-index.rst:481 +#: ../../library/asyncio-llapi-index.rst:485 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:484 +#: ../../library/asyncio-llapi-index.rst:488 msgid "" "``callback`` :meth:`process_exited() `" msgstr "" "``callback`` :meth:`process_exited() `" -#: ../../library/asyncio-llapi-index.rst:486 +#: ../../library/asyncio-llapi-index.rst:490 msgid "Called when the child process has exited." msgstr "Chamado quando o processo filho encerrou." -#: ../../library/asyncio-llapi-index.rst:490 +#: ../../library/asyncio-llapi-index.rst:494 msgid "Event Loop Policies" msgstr "Políticas de laço de eventos" -#: ../../library/asyncio-llapi-index.rst:492 +#: ../../library/asyncio-llapi-index.rst:496 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 " @@ -1038,30 +1048,30 @@ msgstr "" "funções, similar a :func:`asyncio.get_event_loop`. Veja também a :ref:`seção " "principal de políticas ` para mais detalhes." -#: ../../library/asyncio-llapi-index.rst:498 +#: ../../library/asyncio-llapi-index.rst:502 msgid "Accessing Policies" msgstr "Acessando Políticas" -#: ../../library/asyncio-llapi-index.rst:503 +#: ../../library/asyncio-llapi-index.rst:507 msgid ":meth:`asyncio.get_event_loop_policy`" msgstr ":meth:`asyncio.get_event_loop_policy`" -#: ../../library/asyncio-llapi-index.rst:504 +#: ../../library/asyncio-llapi-index.rst:508 msgid "Return the current process-wide policy." msgstr "Retorna a política de todo o processo atual." -#: ../../library/asyncio-llapi-index.rst:506 +#: ../../library/asyncio-llapi-index.rst:510 msgid ":meth:`asyncio.set_event_loop_policy`" msgstr ":meth:`asyncio.set_event_loop_policy`" -#: ../../library/asyncio-llapi-index.rst:507 +#: ../../library/asyncio-llapi-index.rst:511 msgid "Set a new process-wide policy." msgstr "Define uma nova política para todo o processo." -#: ../../library/asyncio-llapi-index.rst:509 +#: ../../library/asyncio-llapi-index.rst:513 msgid ":class:`AbstractEventLoopPolicy`" msgstr ":class:`AbstractEventLoopPolicy`" -#: ../../library/asyncio-llapi-index.rst:510 +#: ../../library/asyncio-llapi-index.rst:514 msgid "Base class for policy objects." msgstr "Classe base para objetos de política." diff --git a/library/asyncio-platforms.po b/library/asyncio-platforms.po index de8098634..2543d2a37 100644 --- a/library/asyncio-platforms.po +++ b/library/asyncio-platforms.po @@ -1,28 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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 -# felipe caridade , 2021 -# i17obot , 2021 +# python-doc bot, 2025 # #, 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 00:55+0000\n" -"Last-Translator: i17obot , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:57+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/asyncio-platforms.rst:9 msgid "Platform Support" diff --git a/library/asyncio-policy.po b/library/asyncio-policy.po index d16feff7f..4a6b4b604 100644 --- a/library/asyncio-policy.po +++ b/library/asyncio-policy.po @@ -1,29 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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 -# Sheila Gomes , 2021 -# Vinicius Gubiani Ferreira , 2021 -# Rafael Fontenelle , 2021 +# python-doc bot, 2025 # #, 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 00:55+0000\n" -"Last-Translator: Rafael Fontenelle , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:57+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/asyncio-policy.rst:8 msgid "Policies" @@ -31,164 +29,169 @@ msgstr "Políticas" #: ../../library/asyncio-policy.rst:10 msgid "" -"An event loop policy is a global per-process object that controls the " -"management of the event loop. Each event loop has a default policy, which " -"can be changed and customized using the policy API." +"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 "" -"Uma política de laço de eventos é um objeto global por processo que controla " -"o gerenciamento do laço de eventos. Cada laço de eventos possui uma política " -"padrão, que pode ser alterada e personalizada usando a API de política." -#: ../../library/asyncio-policy.rst:14 +#: ../../library/asyncio-policy.rst:19 msgid "" -"A policy defines the notion of *context* and manages a separate event loop " -"per context. The default policy defines *context* to be the current thread." +"The :ref:`policy object ` gets and sets a separate " +"event loop per *context*. This is per-thread by default, though custom " +"policies could define *context* differently." msgstr "" -"Uma política define a noção de *contexto* e gerencia um laço de eventos " -"separado por contexto. A política padrão define *context* como a thread " -"atual." -#: ../../library/asyncio-policy.rst:18 +#: ../../library/asyncio-policy.rst:24 msgid "" -"By using a custom event loop policy, the behavior of :func:" -"`get_event_loop`, :func:`set_event_loop`, and :func:`new_event_loop` " -"functions can be customized." +"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:22 +#: ../../library/asyncio-policy.rst:27 msgid "" "Policy objects should implement the APIs defined in the :class:" "`AbstractEventLoopPolicy` abstract base class." msgstr "" -#: ../../library/asyncio-policy.rst:27 +#: ../../library/asyncio-policy.rst:34 msgid "Getting and Setting the Policy" msgstr "" -#: ../../library/asyncio-policy.rst:29 +#: ../../library/asyncio-policy.rst:36 msgid "" "The following functions can be used to get and set the policy for the " "current process:" msgstr "" -#: ../../library/asyncio-policy.rst:34 +#: ../../library/asyncio-policy.rst:41 msgid "Return the current process-wide policy." msgstr "Retorna a política de todo o processo atual." -#: ../../library/asyncio-policy.rst:38 +#: ../../library/asyncio-policy.rst:45 msgid "Set the current process-wide policy to *policy*." msgstr "" -#: ../../library/asyncio-policy.rst:40 +#: ../../library/asyncio-policy.rst:47 msgid "If *policy* is set to ``None``, the default policy is restored." msgstr "" -#: ../../library/asyncio-policy.rst:44 +#: ../../library/asyncio-policy.rst:53 msgid "Policy Objects" msgstr "" -#: ../../library/asyncio-policy.rst:46 +#: ../../library/asyncio-policy.rst:55 msgid "The abstract event loop policy base class is defined as follows:" msgstr "" -#: ../../library/asyncio-policy.rst:50 +#: ../../library/asyncio-policy.rst:59 msgid "An abstract base class for asyncio policies." msgstr "" -#: ../../library/asyncio-policy.rst:54 +#: ../../library/asyncio-policy.rst:63 msgid "Get the event loop for the current context." msgstr "Obtém o laço de eventos para o contexto atual." -#: ../../library/asyncio-policy.rst:56 +#: ../../library/asyncio-policy.rst:65 msgid "" "Return an event loop object implementing the :class:`AbstractEventLoop` " "interface." msgstr "" -#: ../../library/asyncio-policy.rst:59 ../../library/asyncio-policy.rst:71 +#: ../../library/asyncio-policy.rst:68 ../../library/asyncio-policy.rst:80 msgid "This method should never return ``None``." msgstr "" -#: ../../library/asyncio-policy.rst:65 +#: ../../library/asyncio-policy.rst:74 msgid "Set the event loop for the current context to *loop*." msgstr "Define o laço de eventos do contexto atual como *loop*." -#: ../../library/asyncio-policy.rst:69 +#: ../../library/asyncio-policy.rst:78 msgid "Create and return a new event loop object." -msgstr "" +msgstr "Cria e retorna um novo objeto de laço de eventos." -#: ../../library/asyncio-policy.rst:75 +#: ../../library/asyncio-policy.rst:84 msgid "Get a child process watcher object." msgstr "" -#: ../../library/asyncio-policy.rst:77 +#: ../../library/asyncio-policy.rst:86 msgid "" "Return a watcher object implementing the :class:`AbstractChildWatcher` " "interface." msgstr "" -#: ../../library/asyncio-policy.rst:80 ../../library/asyncio-policy.rst:86 +#: ../../library/asyncio-policy.rst:89 ../../library/asyncio-policy.rst:95 msgid "This function is Unix specific." msgstr "" -#: ../../library/asyncio-policy.rst:84 +#: ../../library/asyncio-policy.rst:93 msgid "Set the current child process watcher to *watcher*." msgstr "" -#: ../../library/asyncio-policy.rst:89 +#: ../../library/asyncio-policy.rst:100 msgid "asyncio ships with the following built-in policies:" msgstr "" -#: ../../library/asyncio-policy.rst:94 +#: ../../library/asyncio-policy.rst:105 msgid "" "The default asyncio policy. Uses :class:`SelectorEventLoop` on Unix and :" "class:`ProactorEventLoop` on Windows." msgstr "" -#: ../../library/asyncio-policy.rst:97 +#: ../../library/asyncio-policy.rst:108 msgid "" "There is no need to install the default policy manually. asyncio is " "configured to use the default policy automatically." msgstr "" -#: ../../library/asyncio-policy.rst:102 +#: ../../library/asyncio-policy.rst:113 msgid "On Windows, :class:`ProactorEventLoop` is now used by default." msgstr "" -#: ../../library/asyncio-policy.rst:107 +#: ../../library/asyncio-policy.rst:116 +msgid "" +"In Python versions 3.10.9, 3.11.1 and 3.12 the :meth:`get_event_loop` method " +"of the default asyncio policy emits 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-policy.rst:124 msgid "" "An alternative event loop policy that uses the :class:`SelectorEventLoop` " "event loop implementation." msgstr "" -#: ../../library/asyncio-policy.rst:110 ../../library/asyncio-policy.rst:118 +#: ../../library/asyncio-policy.rst:127 ../../library/asyncio-policy.rst:135 msgid ":ref:`Availability `: Windows." msgstr ":ref:`Disponibilidade `: Windows." -#: ../../library/asyncio-policy.rst:115 +#: ../../library/asyncio-policy.rst:132 msgid "" "An alternative event loop policy that uses the :class:`ProactorEventLoop` " "event loop implementation." msgstr "" -#: ../../library/asyncio-policy.rst:123 +#: ../../library/asyncio-policy.rst:141 msgid "Process Watchers" msgstr "Monitores de processos" -#: ../../library/asyncio-policy.rst:125 +#: ../../library/asyncio-policy.rst:143 msgid "" "A process watcher allows customization of how an event loop monitors child " "processes on Unix. Specifically, the event loop needs to know when a child " "process has exited." msgstr "" -#: ../../library/asyncio-policy.rst:129 +#: ../../library/asyncio-policy.rst:147 msgid "" "In asyncio, child processes are created with :func:`create_subprocess_exec` " "and :meth:`loop.subprocess_exec` functions." msgstr "" -#: ../../library/asyncio-policy.rst:133 +#: ../../library/asyncio-policy.rst:151 msgid "" "asyncio defines the :class:`AbstractChildWatcher` abstract base class, which " "child watchers should implement, and has four different implementations: :" @@ -197,7 +200,7 @@ msgid "" "`FastChildWatcher`." msgstr "" -#: ../../library/asyncio-policy.rst:139 +#: ../../library/asyncio-policy.rst:157 msgid "" "See also the :ref:`Subprocess and Threads ` " "section." @@ -205,74 +208,74 @@ msgstr "" "Veja também a seção :ref:`Subprocesso e Threads `." -#: ../../library/asyncio-policy.rst:142 +#: ../../library/asyncio-policy.rst:160 msgid "" "The following two functions can be used to customize the child process " "watcher implementation used by the asyncio event loop:" msgstr "" -#: ../../library/asyncio-policy.rst:147 +#: ../../library/asyncio-policy.rst:165 msgid "Return the current child watcher for the current policy." msgstr "" -#: ../../library/asyncio-policy.rst:151 +#: ../../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." msgstr "" -#: ../../library/asyncio-policy.rst:156 +#: ../../library/asyncio-policy.rst:174 msgid "" "Third-party event loops implementations might not support custom child " "watchers. For such event loops, using :func:`set_child_watcher` might be " "prohibited or have no effect." msgstr "" -#: ../../library/asyncio-policy.rst:164 +#: ../../library/asyncio-policy.rst:182 msgid "Register a new child handler." msgstr "" -#: ../../library/asyncio-policy.rst:166 +#: ../../library/asyncio-policy.rst:184 msgid "" "Arrange for ``callback(pid, returncode, *args)`` to be called when a process " "with PID equal to *pid* terminates. Specifying another callback for the " "same process replaces the previous handler." msgstr "" -#: ../../library/asyncio-policy.rst:171 +#: ../../library/asyncio-policy.rst:189 msgid "The *callback* callable must be thread-safe." msgstr "" -#: ../../library/asyncio-policy.rst:175 +#: ../../library/asyncio-policy.rst:193 msgid "Removes the handler for process with PID equal to *pid*." msgstr "Remove o manipulador para processo com PID igual a *pid*." -#: ../../library/asyncio-policy.rst:177 +#: ../../library/asyncio-policy.rst:195 msgid "" "The function returns ``True`` if the handler was successfully removed, " "``False`` if there was nothing to remove." msgstr "" -#: ../../library/asyncio-policy.rst:182 +#: ../../library/asyncio-policy.rst:200 msgid "Attach the watcher to an event loop." msgstr "" -#: ../../library/asyncio-policy.rst:184 +#: ../../library/asyncio-policy.rst:202 msgid "" "If the watcher was previously attached to an event loop, then it is first " "detached before attaching to the new loop." msgstr "" -#: ../../library/asyncio-policy.rst:187 +#: ../../library/asyncio-policy.rst:205 msgid "Note: loop may be ``None``." msgstr "" -#: ../../library/asyncio-policy.rst:191 +#: ../../library/asyncio-policy.rst:209 msgid "Return ``True`` if the watcher is ready to use." msgstr "" -#: ../../library/asyncio-policy.rst:193 +#: ../../library/asyncio-policy.rst:211 msgid "" "Spawning a subprocess with *inactive* current child watcher raises :exc:" "`RuntimeError`." @@ -280,97 +283,97 @@ msgstr "" "Gerar um subprocesso com um monitor *inativo* para o filho atual, levanta :" "exc:`RuntimeError`." -#: ../../library/asyncio-policy.rst:200 +#: ../../library/asyncio-policy.rst:218 msgid "Close the watcher." msgstr "" -#: ../../library/asyncio-policy.rst:202 +#: ../../library/asyncio-policy.rst:220 msgid "" "This method has to be called to ensure that underlying resources are cleaned-" "up." msgstr "" -#: ../../library/asyncio-policy.rst:207 +#: ../../library/asyncio-policy.rst:225 msgid "" "This implementation starts a new waiting thread for every subprocess spawn." msgstr "" -#: ../../library/asyncio-policy.rst:209 +#: ../../library/asyncio-policy.rst:227 msgid "" "It works reliably even when the asyncio event loop is run in a non-main OS " "thread." msgstr "" -#: ../../library/asyncio-policy.rst:211 +#: ../../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 " "requires extra memory." msgstr "" -#: ../../library/asyncio-policy.rst:214 +#: ../../library/asyncio-policy.rst:232 msgid "This watcher is used by default." msgstr "" -#: ../../library/asyncio-policy.rst:220 +#: ../../library/asyncio-policy.rst:238 msgid "" "This implementation registers a :py:data:`SIGCHLD` signal handler on " "instantiation. That can break third-party code that installs a custom " "handler for :py:data:`SIGCHLD` signal." msgstr "" -#: ../../library/asyncio-policy.rst:224 ../../library/asyncio-policy.rst:242 +#: ../../library/asyncio-policy.rst:242 ../../library/asyncio-policy.rst:260 msgid "" "The watcher avoids disrupting other code spawning processes by polling every " "process explicitly on a :py:data:`SIGCHLD` signal." msgstr "" -#: ../../library/asyncio-policy.rst:227 +#: ../../library/asyncio-policy.rst:245 msgid "" "There is no limitation for running subprocesses from different threads once " "the watcher is installed." msgstr "" -#: ../../library/asyncio-policy.rst:230 +#: ../../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)." msgstr "" -#: ../../library/asyncio-policy.rst:238 +#: ../../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)." msgstr "" -#: ../../library/asyncio-policy.rst:245 +#: ../../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." msgstr "" -#: ../../library/asyncio-policy.rst:250 +#: ../../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." msgstr "" -#: ../../library/asyncio-policy.rst:254 +#: ../../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)." msgstr "" -#: ../../library/asyncio-policy.rst:257 +#: ../../library/asyncio-policy.rst:275 msgid "" "This solution requires a running event loop in the main thread to work, as :" "class:`SafeChildWatcher`." msgstr "" -#: ../../library/asyncio-policy.rst:262 +#: ../../library/asyncio-policy.rst:280 msgid "" "This implementation polls process file descriptors (pidfds) to await child " "process termination. In some respects, :class:`PidfdChildWatcher` is a " @@ -381,11 +384,11 @@ msgid "" "only work on recent (5.3+) kernels." msgstr "" -#: ../../library/asyncio-policy.rst:274 +#: ../../library/asyncio-policy.rst:294 msgid "Custom Policies" msgstr "" -#: ../../library/asyncio-policy.rst:276 +#: ../../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 " diff --git a/library/asyncio-protocol.po b/library/asyncio-protocol.po index 8d82abbf2..b15f845f9 100644 --- a/library/asyncio-protocol.po +++ b/library/asyncio-protocol.po @@ -1,35 +1,32 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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 -# 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.10\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-06-29 12:56+0000\n" -"PO-Revision-Date: 2021-06-28 00:55+0000\n" -"Last-Translator: Vinicius Gubiani Ferreira , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-12-01 17:33+0000\n" +"PO-Revision-Date: 2025-09-22 15:57+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=2; plural=(n > 1);\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" @@ -240,161 +237,161 @@ msgid "" "flushed asynchronously. No more data will be received. After all buffered " "data is flushed, the protocol's :meth:`protocol.connection_lost() " "` method will be called with :const:`None` as " -"its argument." +"its argument. The transport should not be used once it is closed." msgstr "" -#: ../../library/asyncio-protocol.rst:163 +#: ../../library/asyncio-protocol.rst:164 msgid "Return ``True`` if the transport is closing or is closed." msgstr "Retorna ``True`` se o transporte estiver fechando ou estiver fechado." -#: ../../library/asyncio-protocol.rst:167 +#: ../../library/asyncio-protocol.rst:168 msgid "Return information about the transport or underlying resources it uses." msgstr "" -#: ../../library/asyncio-protocol.rst:170 +#: ../../library/asyncio-protocol.rst:171 msgid "" "*name* is a string representing the piece of transport-specific information " "to get." msgstr "" -#: ../../library/asyncio-protocol.rst:173 +#: ../../library/asyncio-protocol.rst:174 msgid "" "*default* is the value to return if the information is not available, or if " "the transport does not support querying it with the given third-party event " "loop implementation or on the current platform." msgstr "" -#: ../../library/asyncio-protocol.rst:178 +#: ../../library/asyncio-protocol.rst:179 msgid "" "For example, the following code attempts to get the underlying socket object " "of the transport::" msgstr "" -#: ../../library/asyncio-protocol.rst:185 +#: ../../library/asyncio-protocol.rst:186 msgid "Categories of information that can be queried on some transports:" msgstr "" -#: ../../library/asyncio-protocol.rst:187 +#: ../../library/asyncio-protocol.rst:188 msgid "socket:" msgstr "" -#: ../../library/asyncio-protocol.rst:189 +#: ../../library/asyncio-protocol.rst:190 msgid "" "``'peername'``: the remote address to which the socket is connected, result " "of :meth:`socket.socket.getpeername` (``None`` on error)" msgstr "" -#: ../../library/asyncio-protocol.rst:193 +#: ../../library/asyncio-protocol.rst:194 msgid "``'socket'``: :class:`socket.socket` instance" msgstr "" -#: ../../library/asyncio-protocol.rst:195 +#: ../../library/asyncio-protocol.rst:196 msgid "" "``'sockname'``: the socket's own address, result of :meth:`socket.socket." "getsockname`" msgstr "" -#: ../../library/asyncio-protocol.rst:198 +#: ../../library/asyncio-protocol.rst:199 msgid "SSL socket:" msgstr "" -#: ../../library/asyncio-protocol.rst:200 +#: ../../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`" msgstr "" -#: ../../library/asyncio-protocol.rst:204 +#: ../../library/asyncio-protocol.rst:205 msgid "" "``'cipher'``: a three-value tuple containing the name of the cipher being " "used, the version of the SSL protocol that defines its use, and the number " "of secret bits being used; result of :meth:`ssl.SSLSocket.cipher`" msgstr "" -#: ../../library/asyncio-protocol.rst:209 +#: ../../library/asyncio-protocol.rst:210 msgid "" "``'peercert'``: peer certificate; result of :meth:`ssl.SSLSocket.getpeercert`" msgstr "" -#: ../../library/asyncio-protocol.rst:212 +#: ../../library/asyncio-protocol.rst:213 msgid "``'sslcontext'``: :class:`ssl.SSLContext` instance" msgstr "" -#: ../../library/asyncio-protocol.rst:214 +#: ../../library/asyncio-protocol.rst:215 msgid "" "``'ssl_object'``: :class:`ssl.SSLObject` or :class:`ssl.SSLSocket` instance" msgstr "" -#: ../../library/asyncio-protocol.rst:217 +#: ../../library/asyncio-protocol.rst:218 msgid "pipe:" msgstr "" -#: ../../library/asyncio-protocol.rst:219 +#: ../../library/asyncio-protocol.rst:220 msgid "``'pipe'``: pipe object" msgstr "" -#: ../../library/asyncio-protocol.rst:221 +#: ../../library/asyncio-protocol.rst:222 msgid "subprocess:" msgstr "" -#: ../../library/asyncio-protocol.rst:223 +#: ../../library/asyncio-protocol.rst:224 msgid "``'subprocess'``: :class:`subprocess.Popen` instance" msgstr "" -#: ../../library/asyncio-protocol.rst:227 +#: ../../library/asyncio-protocol.rst:228 msgid "Set a new protocol." msgstr "Define um novo protocolo." -#: ../../library/asyncio-protocol.rst:229 +#: ../../library/asyncio-protocol.rst:230 msgid "" "Switching protocol should only be done when both protocols are documented to " "support the switch." msgstr "" -#: ../../library/asyncio-protocol.rst:234 +#: ../../library/asyncio-protocol.rst:235 msgid "Return the current protocol." msgstr "Retorna o protocolo atual." -#: ../../library/asyncio-protocol.rst:238 +#: ../../library/asyncio-protocol.rst:239 msgid "Read-only Transports" msgstr "" -#: ../../library/asyncio-protocol.rst:242 +#: ../../library/asyncio-protocol.rst:243 msgid "Return ``True`` if the transport is receiving new data." msgstr "" -#: ../../library/asyncio-protocol.rst:248 +#: ../../library/asyncio-protocol.rst:249 msgid "" "Pause the receiving end of the transport. No data will be passed to the " "protocol's :meth:`protocol.data_received() ` method " "until :meth:`resume_reading` is called." msgstr "" -#: ../../library/asyncio-protocol.rst:252 +#: ../../library/asyncio-protocol.rst:253 msgid "" "The method is idempotent, i.e. it can be called when the transport is " "already paused or closed." msgstr "" -#: ../../library/asyncio-protocol.rst:258 +#: ../../library/asyncio-protocol.rst:259 msgid "" "Resume the receiving end. The protocol's :meth:`protocol.data_received() " "` method will be called once again if some data is " "available for reading." msgstr "" -#: ../../library/asyncio-protocol.rst:262 +#: ../../library/asyncio-protocol.rst:263 msgid "" "The method is idempotent, i.e. it can be called when the transport is " "already reading." msgstr "" -#: ../../library/asyncio-protocol.rst:268 +#: ../../library/asyncio-protocol.rst:269 msgid "Write-only Transports" msgstr "" -#: ../../library/asyncio-protocol.rst:272 +#: ../../library/asyncio-protocol.rst:273 msgid "" "Close the transport immediately, without waiting for pending operations to " "complete. Buffered data will be lost. No more data will be received. The " @@ -402,31 +399,31 @@ msgid "" "method will eventually be called with :const:`None` as its argument." msgstr "" -#: ../../library/asyncio-protocol.rst:280 +#: ../../library/asyncio-protocol.rst:281 msgid "" "Return :const:`True` if the transport supports :meth:`~WriteTransport." "write_eof`, :const:`False` if not." msgstr "" -#: ../../library/asyncio-protocol.rst:285 +#: ../../library/asyncio-protocol.rst:286 msgid "Return the current size of the output buffer used by the transport." msgstr "" -#: ../../library/asyncio-protocol.rst:289 +#: ../../library/asyncio-protocol.rst:290 msgid "" "Get the *high* and *low* watermarks for write flow control. Return a tuple " "``(low, high)`` where *low* and *high* are positive number of bytes." msgstr "" -#: ../../library/asyncio-protocol.rst:293 +#: ../../library/asyncio-protocol.rst:294 msgid "Use :meth:`set_write_buffer_limits` to set the limits." msgstr "" -#: ../../library/asyncio-protocol.rst:299 +#: ../../library/asyncio-protocol.rst:300 msgid "Set the *high* and *low* watermarks for write flow control." msgstr "" -#: ../../library/asyncio-protocol.rst:301 +#: ../../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:" @@ -435,7 +432,7 @@ msgid "" "high watermark. Neither *high* nor *low* can be negative." msgstr "" -#: ../../library/asyncio-protocol.rst:309 +#: ../../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:" @@ -443,7 +440,7 @@ msgid "" "than or equal to the *low* value." msgstr "" -#: ../../library/asyncio-protocol.rst:314 +#: ../../library/asyncio-protocol.rst:315 msgid "" "The defaults are implementation-specific. If only the high watermark is " "given, the low watermark defaults to an implementation-specific value less " @@ -455,52 +452,52 @@ msgid "" "opportunities for doing I/O and computation concurrently." msgstr "" -#: ../../library/asyncio-protocol.rst:325 +#: ../../library/asyncio-protocol.rst:326 msgid "Use :meth:`~WriteTransport.get_write_buffer_limits` to get the limits." msgstr "" -#: ../../library/asyncio-protocol.rst:330 +#: ../../library/asyncio-protocol.rst:331 msgid "Write some *data* bytes to the transport." msgstr "" -#: ../../library/asyncio-protocol.rst:332 -#: ../../library/asyncio-protocol.rst:361 +#: ../../library/asyncio-protocol.rst:333 +#: ../../library/asyncio-protocol.rst:362 msgid "" "This method does not block; it buffers the data and arranges for it to be " "sent out asynchronously." msgstr "" -#: ../../library/asyncio-protocol.rst:337 +#: ../../library/asyncio-protocol.rst:338 msgid "" "Write a list (or any iterable) of data bytes to the transport. This is " "functionally equivalent to calling :meth:`write` on each element yielded by " "the iterable, but may be implemented more efficiently." msgstr "" -#: ../../library/asyncio-protocol.rst:344 +#: ../../library/asyncio-protocol.rst:345 msgid "" "Close the write end of the transport after flushing all buffered data. Data " "may still be received." msgstr "" -#: ../../library/asyncio-protocol.rst:347 +#: ../../library/asyncio-protocol.rst:348 msgid "" "This method can raise :exc:`NotImplementedError` if the transport (e.g. SSL) " "doesn't support half-closed connections." msgstr "" -#: ../../library/asyncio-protocol.rst:352 +#: ../../library/asyncio-protocol.rst:353 msgid "Datagram Transports" msgstr "Transportes de datagrama" -#: ../../library/asyncio-protocol.rst:356 +#: ../../library/asyncio-protocol.rst:357 msgid "" "Send the *data* bytes to the remote peer given by *addr* (a transport-" "dependent target address). If *addr* is :const:`None`, the data is sent to " "the target address given on transport creation." msgstr "" -#: ../../library/asyncio-protocol.rst:366 +#: ../../library/asyncio-protocol.rst:367 msgid "" "Close the transport immediately, without waiting for pending operations to " "complete. Buffered data will be lost. No more data will be received. The " @@ -508,109 +505,109 @@ msgid "" "method will eventually be called with :const:`None` as its argument." msgstr "" -#: ../../library/asyncio-protocol.rst:376 +#: ../../library/asyncio-protocol.rst:377 msgid "Subprocess Transports" msgstr "Transportes de Subprocesso" -#: ../../library/asyncio-protocol.rst:380 +#: ../../library/asyncio-protocol.rst:381 msgid "Return the subprocess process id as an integer." msgstr "" -#: ../../library/asyncio-protocol.rst:384 +#: ../../library/asyncio-protocol.rst:385 msgid "" "Return the transport for the communication pipe corresponding to the integer " "file descriptor *fd*:" msgstr "" -#: ../../library/asyncio-protocol.rst:387 +#: ../../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``" msgstr "" -#: ../../library/asyncio-protocol.rst:389 +#: ../../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``" msgstr "" -#: ../../library/asyncio-protocol.rst:391 +#: ../../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``" msgstr "" -#: ../../library/asyncio-protocol.rst:393 +#: ../../library/asyncio-protocol.rst:394 msgid "other *fd*: :const:`None`" msgstr "" -#: ../../library/asyncio-protocol.rst:397 +#: ../../library/asyncio-protocol.rst:398 msgid "" "Return the subprocess return code as an integer or :const:`None` if it " "hasn't returned, which is similar to the :attr:`subprocess.Popen.returncode` " "attribute." msgstr "" -#: ../../library/asyncio-protocol.rst:403 +#: ../../library/asyncio-protocol.rst:404 msgid "Kill the subprocess." msgstr "Mata o subprocesso." -#: ../../library/asyncio-protocol.rst:405 +#: ../../library/asyncio-protocol.rst:406 msgid "" "On POSIX systems, the function sends SIGKILL to the subprocess. On Windows, " "this method is an alias for :meth:`terminate`." msgstr "" -#: ../../library/asyncio-protocol.rst:408 +#: ../../library/asyncio-protocol.rst:409 msgid "See also :meth:`subprocess.Popen.kill`." msgstr "" -#: ../../library/asyncio-protocol.rst:412 +#: ../../library/asyncio-protocol.rst:413 msgid "" "Send the *signal* number to the subprocess, as in :meth:`subprocess.Popen." "send_signal`." msgstr "" -#: ../../library/asyncio-protocol.rst:417 +#: ../../library/asyncio-protocol.rst:418 msgid "Stop the subprocess." msgstr "Interrompe o subprocesso." -#: ../../library/asyncio-protocol.rst:419 +#: ../../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." msgstr "" -#: ../../library/asyncio-protocol.rst:423 +#: ../../library/asyncio-protocol.rst:424 msgid "See also :meth:`subprocess.Popen.terminate`." msgstr "" -#: ../../library/asyncio-protocol.rst:427 +#: ../../library/asyncio-protocol.rst:428 msgid "Kill the subprocess by calling the :meth:`kill` method." msgstr "" -#: ../../library/asyncio-protocol.rst:429 +#: ../../library/asyncio-protocol.rst:430 msgid "" "If the subprocess hasn't returned yet, and close transports of *stdin*, " "*stdout*, and *stderr* pipes." msgstr "" -#: ../../library/asyncio-protocol.rst:436 +#: ../../library/asyncio-protocol.rst:437 msgid "Protocols" msgstr "Protocolos" -#: ../../library/asyncio-protocol.rst:438 +#: ../../library/asyncio-protocol.rst:439 msgid "**Source code:** :source:`Lib/asyncio/protocols.py`" msgstr "" -#: ../../library/asyncio-protocol.rst:442 +#: ../../library/asyncio-protocol.rst:443 msgid "" "asyncio provides a set of abstract base classes that should be used to " "implement network protocols. Those classes are meant to be used together " "with :ref:`transports `." msgstr "" -#: ../../library/asyncio-protocol.rst:446 +#: ../../library/asyncio-protocol.rst:447 msgid "" "Subclasses of abstract base protocol classes may implement some or all " "methods. All these methods are callbacks: they are called by transports on " @@ -618,117 +615,117 @@ msgid "" "method should be called by the corresponding transport." msgstr "" -#: ../../library/asyncio-protocol.rst:453 +#: ../../library/asyncio-protocol.rst:454 msgid "Base Protocols" msgstr "Protocolos de Base" -#: ../../library/asyncio-protocol.rst:457 +#: ../../library/asyncio-protocol.rst:458 msgid "Base protocol with methods that all protocols share." msgstr "" -#: ../../library/asyncio-protocol.rst:461 +#: ../../library/asyncio-protocol.rst:462 msgid "" "The base class for implementing streaming protocols (TCP, Unix sockets, etc)." msgstr "" -#: ../../library/asyncio-protocol.rst:466 +#: ../../library/asyncio-protocol.rst:467 msgid "" "A base class for implementing streaming protocols with manual control of the " "receive buffer." msgstr "" -#: ../../library/asyncio-protocol.rst:471 +#: ../../library/asyncio-protocol.rst:472 msgid "The base class for implementing datagram (UDP) protocols." msgstr "" -#: ../../library/asyncio-protocol.rst:475 +#: ../../library/asyncio-protocol.rst:476 msgid "" "The base class for implementing protocols communicating with child processes " "(unidirectional pipes)." msgstr "" -#: ../../library/asyncio-protocol.rst:480 +#: ../../library/asyncio-protocol.rst:481 msgid "Base Protocol" msgstr "" -#: ../../library/asyncio-protocol.rst:482 +#: ../../library/asyncio-protocol.rst:483 msgid "All asyncio protocols can implement Base Protocol callbacks." msgstr "" -#: ../../library/asyncio-protocol.rst:485 +#: ../../library/asyncio-protocol.rst:486 msgid "Connection Callbacks" msgstr "" -#: ../../library/asyncio-protocol.rst:486 +#: ../../library/asyncio-protocol.rst:487 msgid "" "Connection callbacks are called on all protocols, exactly once per a " "successful connection. All other protocol callbacks can only be called " "between those two methods." msgstr "" -#: ../../library/asyncio-protocol.rst:492 +#: ../../library/asyncio-protocol.rst:493 msgid "Called when a connection is made." msgstr "Chamado quando uma conexão é estabelecida." -#: ../../library/asyncio-protocol.rst:494 +#: ../../library/asyncio-protocol.rst:495 msgid "" "The *transport* argument is the transport representing the connection. The " "protocol is responsible for storing the reference to its transport." msgstr "" -#: ../../library/asyncio-protocol.rst:500 +#: ../../library/asyncio-protocol.rst:501 msgid "Called when the connection is lost or closed." msgstr "Chamado quanto a conexão é perdida ou fechada." -#: ../../library/asyncio-protocol.rst:502 +#: ../../library/asyncio-protocol.rst:503 msgid "" "The argument is either an exception object or :const:`None`. The latter " "means a regular EOF is received, or the connection was aborted or closed by " "this side of the connection." msgstr "" -#: ../../library/asyncio-protocol.rst:508 +#: ../../library/asyncio-protocol.rst:509 msgid "Flow Control Callbacks" msgstr "" -#: ../../library/asyncio-protocol.rst:509 +#: ../../library/asyncio-protocol.rst:510 msgid "" "Flow control callbacks can be called by transports to pause or resume " "writing performed by the protocol." msgstr "" -#: ../../library/asyncio-protocol.rst:512 +#: ../../library/asyncio-protocol.rst:513 msgid "" "See the documentation of the :meth:`~WriteTransport.set_write_buffer_limits` " "method for more details." msgstr "" -#: ../../library/asyncio-protocol.rst:517 +#: ../../library/asyncio-protocol.rst:518 msgid "Called when the transport's buffer goes over the high watermark." msgstr "" -#: ../../library/asyncio-protocol.rst:521 +#: ../../library/asyncio-protocol.rst:522 msgid "Called when the transport's buffer drains below the low watermark." msgstr "" -#: ../../library/asyncio-protocol.rst:523 +#: ../../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." msgstr "" -#: ../../library/asyncio-protocol.rst:527 +#: ../../library/asyncio-protocol.rst:528 msgid "" "Conversely, :meth:`~BaseProtocol.resume_writing` is called when the buffer " "size is equal or lower than the low watermark. These end conditions are " "important to ensure that things go as expected when either mark is zero." msgstr "" -#: ../../library/asyncio-protocol.rst:534 +#: ../../library/asyncio-protocol.rst:535 msgid "Streaming Protocols" msgstr "" -#: ../../library/asyncio-protocol.rst:536 +#: ../../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." @@ -737,13 +734,13 @@ msgid "" "that return streaming protocols." msgstr "" -#: ../../library/asyncio-protocol.rst:544 +#: ../../library/asyncio-protocol.rst:545 msgid "" "Called when some data is received. *data* is a non-empty bytes object " "containing the incoming data." msgstr "" -#: ../../library/asyncio-protocol.rst:547 +#: ../../library/asyncio-protocol.rst:548 msgid "" "Whether the data is buffered, chunked or reassembled depends on the " "transport. In general, you shouldn't rely on specific semantics and instead " @@ -751,27 +748,27 @@ msgid "" "the correct order." msgstr "" -#: ../../library/asyncio-protocol.rst:552 +#: ../../library/asyncio-protocol.rst:553 msgid "" "The method can be called an arbitrary number of times while a connection is " "open." msgstr "" -#: ../../library/asyncio-protocol.rst:555 +#: ../../library/asyncio-protocol.rst:556 msgid "" "However, :meth:`protocol.eof_received() ` is called " -"at most once. Once `eof_received()` is called, ``data_received()`` is not " +"at most once. Once ``eof_received()`` is called, ``data_received()`` is not " "called anymore." msgstr "" -#: ../../library/asyncio-protocol.rst:561 +#: ../../library/asyncio-protocol.rst:562 msgid "" "Called when the other end signals it won't send any more data (for example " "by calling :meth:`transport.write_eof() `, if the " "other end also uses asyncio)." msgstr "" -#: ../../library/asyncio-protocol.rst:566 +#: ../../library/asyncio-protocol.rst:567 msgid "" "This method may return a false value (including ``None``), in which case the " "transport will close itself. Conversely, if this method returns a true " @@ -780,29 +777,29 @@ msgid "" "connection." msgstr "" -#: ../../library/asyncio-protocol.rst:572 +#: ../../library/asyncio-protocol.rst:573 msgid "" "Some transports, including SSL, don't support half-closed connections, in " "which case returning true from this method will result in the connection " "being closed." msgstr "" -#: ../../library/asyncio-protocol.rst:577 -#: ../../library/asyncio-protocol.rst:635 +#: ../../library/asyncio-protocol.rst:578 +#: ../../library/asyncio-protocol.rst:636 msgid "State machine:" msgstr "" -#: ../../library/asyncio-protocol.rst:588 +#: ../../library/asyncio-protocol.rst:589 msgid "Buffered Streaming Protocols" msgstr "Protocolos de Streaming Bufferizados" -#: ../../library/asyncio-protocol.rst:592 +#: ../../library/asyncio-protocol.rst:593 msgid "" "Buffered Protocols can be used with any event loop method that supports " "`Streaming Protocols`_." msgstr "" -#: ../../library/asyncio-protocol.rst:595 +#: ../../library/asyncio-protocol.rst:596 msgid "" "``BufferedProtocol`` implementations allow explicit manual allocation and " "control of the receive buffer. Event loops can then use the buffer provided " @@ -812,16 +809,16 @@ msgid "" "number of buffer allocations." msgstr "" -#: ../../library/asyncio-protocol.rst:602 +#: ../../library/asyncio-protocol.rst:603 msgid "" "The following callbacks are called on :class:`BufferedProtocol` instances:" msgstr "" -#: ../../library/asyncio-protocol.rst:607 +#: ../../library/asyncio-protocol.rst:608 msgid "Called to allocate a new receive buffer." msgstr "Chamada para alocar um novo buffer para recebimento." -#: ../../library/asyncio-protocol.rst:609 +#: ../../library/asyncio-protocol.rst:610 msgid "" "*sizehint* is the recommended minimum size for the returned buffer. It is " "acceptable to return smaller or larger buffers than what *sizehint* " @@ -829,27 +826,27 @@ msgid "" "to return a buffer with a zero size." msgstr "" -#: ../../library/asyncio-protocol.rst:614 +#: ../../library/asyncio-protocol.rst:615 msgid "" "``get_buffer()`` must return an object implementing the :ref:`buffer " "protocol `." msgstr "" -#: ../../library/asyncio-protocol.rst:619 +#: ../../library/asyncio-protocol.rst:620 msgid "Called when the buffer was updated with the received data." msgstr "Chamado quando o buffer foi atualizado com os dados recebidos." -#: ../../library/asyncio-protocol.rst:621 +#: ../../library/asyncio-protocol.rst:622 msgid "*nbytes* is the total number of bytes that were written to the buffer." msgstr "" -#: ../../library/asyncio-protocol.rst:625 +#: ../../library/asyncio-protocol.rst:626 msgid "" "See the documentation of the :meth:`protocol.eof_received() ` method." msgstr "" -#: ../../library/asyncio-protocol.rst:629 +#: ../../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() " @@ -858,44 +855,44 @@ msgid "" "won't be called after it." msgstr "" -#: ../../library/asyncio-protocol.rst:648 +#: ../../library/asyncio-protocol.rst:649 msgid "Datagram Protocols" msgstr "Protocolos de Datagramas" -#: ../../library/asyncio-protocol.rst:650 +#: ../../library/asyncio-protocol.rst:651 msgid "" "Datagram Protocol instances should be constructed by protocol factories " "passed to the :meth:`loop.create_datagram_endpoint` method." msgstr "" -#: ../../library/asyncio-protocol.rst:655 +#: ../../library/asyncio-protocol.rst:656 msgid "" "Called when a datagram is received. *data* is a bytes object containing the " "incoming data. *addr* is the address of the peer sending the data; the " "exact format depends on the transport." msgstr "" -#: ../../library/asyncio-protocol.rst:661 +#: ../../library/asyncio-protocol.rst:662 msgid "" "Called when a previous send or receive operation raises an :class:" "`OSError`. *exc* is the :class:`OSError` instance." msgstr "" -#: ../../library/asyncio-protocol.rst:664 +#: ../../library/asyncio-protocol.rst:665 msgid "" "This method is called in rare conditions, when the transport (e.g. UDP) " "detects that a datagram could not be delivered to its recipient. In many " "conditions though, undeliverable datagrams will be silently dropped." msgstr "" -#: ../../library/asyncio-protocol.rst:671 +#: ../../library/asyncio-protocol.rst:672 msgid "" "On BSD systems (macOS, FreeBSD, etc.) flow control is not supported for " "datagram protocols, because there is no reliable way to detect send failures " "caused by writing too many packets." msgstr "" -#: ../../library/asyncio-protocol.rst:675 +#: ../../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 " @@ -903,140 +900,140 @@ msgid "" "error_received` but otherwise ignored." msgstr "" -#: ../../library/asyncio-protocol.rst:684 +#: ../../library/asyncio-protocol.rst:685 msgid "Subprocess Protocols" msgstr "Protocolos de Subprocesso" -#: ../../library/asyncio-protocol.rst:686 +#: ../../library/asyncio-protocol.rst:687 msgid "" "Subprocess Protocol instances should be constructed by protocol factories " "passed to the :meth:`loop.subprocess_exec` and :meth:`loop.subprocess_shell` " "methods." msgstr "" -#: ../../library/asyncio-protocol.rst:692 +#: ../../library/asyncio-protocol.rst:693 msgid "" "Called when the child process writes data into its stdout or stderr pipe." msgstr "" -#: ../../library/asyncio-protocol.rst:695 +#: ../../library/asyncio-protocol.rst:696 msgid "*fd* is the integer file descriptor of the pipe." msgstr "" -#: ../../library/asyncio-protocol.rst:697 +#: ../../library/asyncio-protocol.rst:698 msgid "*data* is a non-empty bytes object containing the received data." msgstr "" -#: ../../library/asyncio-protocol.rst:701 +#: ../../library/asyncio-protocol.rst:702 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-protocol.rst:704 +#: ../../library/asyncio-protocol.rst:705 msgid "*fd* is the integer file descriptor that was closed." msgstr "" -#: ../../library/asyncio-protocol.rst:708 +#: ../../library/asyncio-protocol.rst:709 msgid "Called when the child process has exited." msgstr "Chamado quando o processo filho encerrou." -#: ../../library/asyncio-protocol.rst:712 +#: ../../library/asyncio-protocol.rst:713 msgid "Examples" msgstr "Exemplos" -#: ../../library/asyncio-protocol.rst:717 +#: ../../library/asyncio-protocol.rst:718 msgid "TCP Echo Server" msgstr "" -#: ../../library/asyncio-protocol.rst:719 +#: ../../library/asyncio-protocol.rst:720 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:760 +#: ../../library/asyncio-protocol.rst:761 msgid "" "The :ref:`TCP echo server using streams ` " "example uses the high-level :func:`asyncio.start_server` function." msgstr "" -#: ../../library/asyncio-protocol.rst:766 +#: ../../library/asyncio-protocol.rst:767 msgid "TCP Echo Client" msgstr "" -#: ../../library/asyncio-protocol.rst:768 +#: ../../library/asyncio-protocol.rst:769 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:816 +#: ../../library/asyncio-protocol.rst:817 msgid "" "The :ref:`TCP echo client using streams ` " "example uses the high-level :func:`asyncio.open_connection` function." msgstr "" -#: ../../library/asyncio-protocol.rst:823 +#: ../../library/asyncio-protocol.rst:824 msgid "UDP Echo Server" msgstr "" -#: ../../library/asyncio-protocol.rst:825 +#: ../../library/asyncio-protocol.rst:826 msgid "" "A UDP echo server, using the :meth:`loop.create_datagram_endpoint` method, " "sends back received data::" msgstr "" -#: ../../library/asyncio-protocol.rst:867 +#: ../../library/asyncio-protocol.rst:868 msgid "UDP Echo Client" msgstr "" -#: ../../library/asyncio-protocol.rst:869 +#: ../../library/asyncio-protocol.rst:870 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:924 +#: ../../library/asyncio-protocol.rst:925 msgid "Connecting Existing Sockets" msgstr "" -#: ../../library/asyncio-protocol.rst:926 +#: ../../library/asyncio-protocol.rst:927 msgid "" "Wait until a socket receives data using the :meth:`loop.create_connection` " "method with a protocol::" msgstr "" -#: ../../library/asyncio-protocol.rst:980 +#: ../../library/asyncio-protocol.rst:981 msgid "" "The :ref:`watch a file descriptor for read events " "` example uses the low-level :meth:`loop." "add_reader` method to register an FD." msgstr "" -#: ../../library/asyncio-protocol.rst:984 +#: ../../library/asyncio-protocol.rst:985 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:991 +#: ../../library/asyncio-protocol.rst:992 msgid "loop.subprocess_exec() and SubprocessProtocol" msgstr "" -#: ../../library/asyncio-protocol.rst:993 +#: ../../library/asyncio-protocol.rst:994 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:996 +#: ../../library/asyncio-protocol.rst:997 msgid "The subprocess is created by the :meth:`loop.subprocess_exec` method::" msgstr "" -#: ../../library/asyncio-protocol.rst:1042 +#: ../../library/asyncio-protocol.rst:1043 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 64cdcdda4..05dcea929 100644 --- a/library/asyncio-queue.po +++ b/library/asyncio-queue.po @@ -1,30 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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 -# Leticia Portella , 2021 -# Vinicius Gubiani Ferreira , 2021 -# Rafael Fontenelle , 2021 +# python-doc bot, 2025 # #, 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 00:55+0000\n" -"Last-Translator: Rafael Fontenelle , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:57+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/asyncio-queue.rst:7 msgid "Queues" @@ -86,23 +83,27 @@ msgstr "" "fila é sempre conhecido e pode ser obtido através da chamada do método :meth:" "`qsize`." -#: ../../library/asyncio-queue.rst:40 +#: ../../library/asyncio-queue.rst:39 +msgid "Removed the *loop* parameter." +msgstr "Removido o parâmetro *loop*." + +#: ../../library/asyncio-queue.rst:43 msgid "This class is :ref:`not thread safe `." msgstr "Esta classe :ref:`não é segura para thread `." -#: ../../library/asyncio-queue.rst:44 +#: ../../library/asyncio-queue.rst:47 msgid "Number of items allowed in the queue." msgstr "Número de itens permitidos na fila." -#: ../../library/asyncio-queue.rst:48 +#: ../../library/asyncio-queue.rst:51 msgid "Return ``True`` if the queue is empty, ``False`` otherwise." msgstr "Retorna ``True`` se a fila estiver vazia, ``False`` caso contrário." -#: ../../library/asyncio-queue.rst:52 +#: ../../library/asyncio-queue.rst:55 msgid "Return ``True`` if there are :attr:`maxsize` items in the queue." msgstr "Retorna ``True`` se existem :attr:`maxsize` itens na fila." -#: ../../library/asyncio-queue.rst:54 +#: ../../library/asyncio-queue.rst:57 msgid "" "If the queue was initialized with ``maxsize=0`` (the default), then :meth:" "`full()` never returns ``True``." @@ -110,7 +111,7 @@ msgstr "" "Se a fila foi inicializada com ``maxsize=0`` (o padrão), então :meth:" "`full()` nunca retorna ``True``." -#: ../../library/asyncio-queue.rst:59 +#: ../../library/asyncio-queue.rst:62 msgid "" "Remove and return an item from the queue. If queue is empty, wait until an " "item is available." @@ -118,19 +119,19 @@ msgstr "" "Remove e retorna um item da fila. Se a fila estiver vazia, aguarda até que " "um item esteja disponível." -#: ../../library/asyncio-queue.rst:64 +#: ../../library/asyncio-queue.rst:67 msgid "" "Return an item if one is immediately available, else raise :exc:`QueueEmpty`." msgstr "" "Retorna um item se houver um imediatamente disponível, caso contrário " "levanta :exc:`QueueEmpty`." -#: ../../library/asyncio-queue.rst:69 +#: ../../library/asyncio-queue.rst:72 msgid "Block until all items in the queue have been received and processed." msgstr "" "Bloqueia até que todos os itens na fila tenham sido recebidos e processados." -#: ../../library/asyncio-queue.rst:71 +#: ../../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:" @@ -144,7 +145,7 @@ msgstr "" "foi concluído. Quando a contagem de tarefas inacabadas chega a zero, :meth:" "`join` desbloqueia." -#: ../../library/asyncio-queue.rst:79 +#: ../../library/asyncio-queue.rst:82 msgid "" "Put an item into the queue. If the queue is full, wait until a free slot is " "available before adding the item." @@ -152,25 +153,25 @@ msgstr "" "Coloca um item na fila. Se a fila estiver cheia, aguarda até que uma posição " "livre esteja disponível antes de adicionar o item." -#: ../../library/asyncio-queue.rst:84 +#: ../../library/asyncio-queue.rst:87 msgid "Put an item into the queue without blocking." msgstr "Coloca um item na fila sem bloqueá-la." -#: ../../library/asyncio-queue.rst:86 +#: ../../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`." -#: ../../library/asyncio-queue.rst:90 +#: ../../library/asyncio-queue.rst:93 msgid "Return the number of items in the queue." msgstr "Retorna o número de itens na fila." -#: ../../library/asyncio-queue.rst:94 +#: ../../library/asyncio-queue.rst:97 msgid "Indicate that a formerly enqueued task is complete." msgstr "Indica que a tarefa anteriormente enfileirada está concluída." -#: ../../library/asyncio-queue.rst:96 +#: ../../library/asyncio-queue.rst:99 msgid "" "Used by queue consumers. For each :meth:`~Queue.get` used to fetch a task, a " "subsequent call to :meth:`task_done` tells the queue that the processing on " @@ -180,7 +181,7 @@ msgstr "" "buscar uma tarefa, uma chamada subsequente para :meth:`task_done` avisa à " "fila, que o processamento na tarefa está concluído." -#: ../../library/asyncio-queue.rst:100 +#: ../../library/asyncio-queue.rst:103 msgid "" "If a :meth:`join` is currently blocking, it will resume when all items have " "been processed (meaning that a :meth:`task_done` call was received for every " @@ -191,7 +192,7 @@ msgstr "" "chamada :meth:`task_done` foi recebida para cada item que foi chamado o " "método :meth:`~Queue.put` para colocar na fila)." -#: ../../library/asyncio-queue.rst:105 +#: ../../library/asyncio-queue.rst:108 msgid "" "Raises :exc:`ValueError` if called more times than there were items placed " "in the queue." @@ -199,21 +200,11 @@ msgstr "" "Levanta :exc:`ValueError` se chamada mais vezes do que a quantidade de itens " "existentes na fila." -#: ../../library/asyncio-queue.rst:110 -msgid "" -"The ``loop`` parameter. This function has been implicitly getting the " -"current running loop since 3.7. See :ref:`What's New in 3.10's Removed " -"section ` for more information." -msgstr "" -"O parâmetro ``loop``. Esta função está obtendo implicitamente o loop atual " -"em execução desde 3.7. Veja a :ref:`seção Removidos do O que há de novo no " -"3.10 ` para mais informações." - -#: ../../library/asyncio-queue.rst:117 +#: ../../library/asyncio-queue.rst:113 msgid "Priority Queue" msgstr "Fila de prioridade" -#: ../../library/asyncio-queue.rst:121 +#: ../../library/asyncio-queue.rst:117 msgid "" "A variant of :class:`Queue`; retrieves entries in priority order (lowest " "first)." @@ -221,16 +212,16 @@ msgstr "" "Uma variante de :class:`Queue`; recupera entradas em ordem de prioridade " "(mais baixas primeiro)." -#: ../../library/asyncio-queue.rst:124 +#: ../../library/asyncio-queue.rst:120 msgid "Entries are typically tuples of the form ``(priority_number, data)``." msgstr "" "Entradas são tipicamente tuplas no formato ``(priority_number, data)``." -#: ../../library/asyncio-queue.rst:129 +#: ../../library/asyncio-queue.rst:125 msgid "LIFO Queue" msgstr "Filas LIFO (último a entrar, primeiro a sair)" -#: ../../library/asyncio-queue.rst:133 +#: ../../library/asyncio-queue.rst:129 msgid "" "A variant of :class:`Queue` that retrieves most recently added entries first " "(last in, first out)." @@ -238,11 +229,11 @@ msgstr "" "Uma variante de :class:`Queue` que recupera as entradas adicionadas mais " "recentemente primeiro (último a entrar, primeiro a sair)." -#: ../../library/asyncio-queue.rst:138 +#: ../../library/asyncio-queue.rst:134 msgid "Exceptions" msgstr "Exceções" -#: ../../library/asyncio-queue.rst:142 +#: ../../library/asyncio-queue.rst:138 msgid "" "This exception is raised when the :meth:`~Queue.get_nowait` method is called " "on an empty queue." @@ -250,7 +241,7 @@ msgstr "" "Esta exceção é levantada quando o método :meth:`~Queue.get_nowait` é chamado " "em uma fila vazia." -#: ../../library/asyncio-queue.rst:148 +#: ../../library/asyncio-queue.rst:144 msgid "" "Exception raised when the :meth:`~Queue.put_nowait` method is called on a " "queue that has reached its *maxsize*." @@ -258,11 +249,11 @@ msgstr "" "Exceção levantada quando o método :meth:`~Queue.put_nowait` é chamado em uma " "fila que atingiu seu *maxsize*." -#: ../../library/asyncio-queue.rst:153 +#: ../../library/asyncio-queue.rst:149 msgid "Examples" msgstr "Exemplos" -#: ../../library/asyncio-queue.rst:157 +#: ../../library/asyncio-queue.rst:153 msgid "" "Queues can be used to distribute workload between several concurrent tasks::" msgstr "" diff --git a/library/asyncio-stream.po b/library/asyncio-stream.po index 6fc2c51db..113c44bea 100644 --- a/library/asyncio-stream.po +++ b/library/asyncio-stream.po @@ -1,30 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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 -# Cássio Nomura , 2021 -# Vinicius Gubiani Ferreira , 2021 -# i17obot , 2021 -# Rafael Fontenelle , 2021 +# python-doc bot, 2025 # #, 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 00:55+0000\n" -"Last-Translator: Rafael Fontenelle , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:57+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/asyncio-stream.rst:7 msgid "Streams" @@ -66,7 +63,7 @@ msgstr "" "As seguintes funções asyncio de alto nível podem ser usadas para criar e " "trabalhar com streams:" -#: ../../library/asyncio-stream.rst:56 +#: ../../library/asyncio-stream.rst:57 msgid "" "Establish a network connection and return a pair of ``(reader, writer)`` " "objects." @@ -74,7 +71,7 @@ msgstr "" "Estabelece uma conexão de rede e retorna um par de objetos ``(reader, " "writer)``." -#: ../../library/asyncio-stream.rst:59 +#: ../../library/asyncio-stream.rst:60 msgid "" "The returned *reader* and *writer* objects are instances of :class:" "`StreamReader` and :class:`StreamWriter` classes." @@ -82,7 +79,7 @@ msgstr "" "Os objetos *reader* e *writer* retornados são instâncias das classes :class:" "`StreamReader` e :class:`StreamWriter`." -#: ../../library/asyncio-stream.rst:62 ../../library/asyncio-stream.rst:100 +#: ../../library/asyncio-stream.rst:63 ../../library/asyncio-stream.rst:105 msgid "" "*limit* determines the buffer size limit used by the returned :class:" "`StreamReader` instance. By default the *limit* is set to 64 KiB." @@ -90,7 +87,7 @@ msgstr "" "*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:66 +#: ../../library/asyncio-stream.rst:67 msgid "" "The rest of the arguments are passed directly to :meth:`loop." "create_connection`." @@ -98,26 +95,31 @@ msgstr "" "O resto dos argumentos é passado diretamente para :meth:`loop." "create_connection`." -#: ../../library/asyncio-stream.rst:71 ../../library/asyncio-stream.rst:136 -msgid "The *ssl_handshake_timeout* parameter." -msgstr "O parâmetro *ssl_handshake_timeout*." - -#: ../../library/asyncio-stream.rst:75 ../../library/asyncio-stream.rst:113 -#: ../../library/asyncio-stream.rst:144 ../../library/asyncio-stream.rst:172 +#: ../../library/asyncio-stream.rst:72 ../../library/asyncio-stream.rst:140 msgid "" -"The ``loop`` parameter. This function has been implicitly getting the " -"current running loop since 3.7. See :ref:`What's New in 3.10's Removed " -"section ` for more information." +"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 "" -"O parâmetro ``loop``. Esta função está obtendo implicitamente o loop atual " -"em execução desde 3.7. Veja a :ref:`seção Removidos do O que há de novo no " -"3.10 ` para mais informações." -#: ../../library/asyncio-stream.rst:89 +#: ../../library/asyncio-stream.rst:76 +msgid "Added the *ssl_handshake_timeout* parameter." +msgstr "Adicionado o parâmetro *ssl_handshake_timeout*." + +#: ../../library/asyncio-stream.rst:79 +msgid "Added *happy_eyeballs_delay* and *interleave* parameters." +msgstr "" + +#: ../../library/asyncio-stream.rst:82 ../../library/asyncio-stream.rst:121 +#: ../../library/asyncio-stream.rst:150 ../../library/asyncio-stream.rst:176 +msgid "Removed the *loop* parameter." +msgstr "Removido o parâmetro *loop*." + +#: ../../library/asyncio-stream.rst:94 msgid "Start a socket server." msgstr "Inicia um soquete no servidor." -#: ../../library/asyncio-stream.rst:91 +#: ../../library/asyncio-stream.rst:96 msgid "" "The *client_connected_cb* callback is called whenever a new client " "connection is established. It receives a ``(reader, writer)`` pair as two " @@ -129,7 +131,7 @@ msgstr "" "como dois argumentos, instâncias das classes :class:`StreamReader` e :class:" "`StreamWriter`." -#: ../../library/asyncio-stream.rst:96 +#: ../../library/asyncio-stream.rst:101 msgid "" "*client_connected_cb* can be a plain callable or a :ref:`coroutine function " "`; if it is a coroutine function, it will be automatically " @@ -139,78 +141,83 @@ msgstr "" "`função de corrotina`; se ele for uma função de corrotina, ele " "será automaticamente agendado como uma :class:`Task`." -#: ../../library/asyncio-stream.rst:104 +#: ../../library/asyncio-stream.rst:109 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`." -#: ../../library/asyncio-stream.rst:109 ../../library/asyncio-stream.rst:164 -msgid "The *ssl_handshake_timeout* and *start_serving* parameters." -msgstr "Os parâmetros *ssl_handshake_timeout* e *start_serving*." +#: ../../library/asyncio-stream.rst:114 ../../library/asyncio-stream.rst:166 +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-stream.rst:118 +msgid "Added the *ssl_handshake_timeout* and *start_serving* parameters." +msgstr "" -#: ../../library/asyncio-stream.rst:120 +#: ../../library/asyncio-stream.rst:126 msgid "Unix Sockets" msgstr "Soquetes Unix" -#: ../../library/asyncio-stream.rst:125 +#: ../../library/asyncio-stream.rst:131 msgid "" "Establish a Unix socket connection and return a pair of ``(reader, writer)``." msgstr "" "Estabelece uma conexão de soquete Unix e retorna um par com ``(reader, " "writer)``." -#: ../../library/asyncio-stream.rst:128 +#: ../../library/asyncio-stream.rst:134 msgid "Similar to :func:`open_connection` but operates on Unix sockets." msgstr "Similar a :func:`open_connection`, mas opera em soquetes Unix." -#: ../../library/asyncio-stream.rst:130 +#: ../../library/asyncio-stream.rst:136 msgid "See also the documentation of :meth:`loop.create_unix_connection`." msgstr "" "Veja também a documentação do método :meth:`loop.create_unix_connection`." -#: ../../library/asyncio-stream.rst:133 ../../library/asyncio-stream.rst:161 +#: ../../library/asyncio-stream.rst:145 ../../library/asyncio-stream.rst:171 msgid ":ref:`Availability `: Unix." msgstr ":ref:`Disponibilidade `: Unix." -#: ../../library/asyncio-stream.rst:140 -msgid "The *path* parameter can now be a :term:`path-like object`" +#: ../../library/asyncio-stream.rst:146 +msgid "" +"Added the *ssl_handshake_timeout* parameter. The *path* parameter can now be " +"a :term:`path-like object`" msgstr "" -"O parâmetro *path* agora pode ser um :term:`objeto caminho ou similar `" -#: ../../library/asyncio-stream.rst:154 +#: ../../library/asyncio-stream.rst:158 msgid "Start a Unix socket server." msgstr "Inicia um servidor com soquete Unix." -#: ../../library/asyncio-stream.rst:156 +#: ../../library/asyncio-stream.rst:160 msgid "Similar to :func:`start_server` but works with Unix sockets." msgstr "Similar a :func:`start_server`, mas funciona com soquetes Unix." -#: ../../library/asyncio-stream.rst:158 +#: ../../library/asyncio-stream.rst:162 msgid "See also the documentation of :meth:`loop.create_unix_server`." msgstr "Veja também a documentação do método :meth:`loop.create_unix_server`." -#: ../../library/asyncio-stream.rst:168 -msgid "The *path* parameter can now be a :term:`path-like object`." +#: ../../library/asyncio-stream.rst:172 +msgid "" +"Added the *ssl_handshake_timeout* and *start_serving* parameters. The *path* " +"parameter can now be a :term:`path-like object`." msgstr "" -"O parâmetro *path* agora pode ser um :term:`objeto caminho ou similar `." -#: ../../library/asyncio-stream.rst:179 +#: ../../library/asyncio-stream.rst:181 msgid "StreamReader" msgstr "StreamReader" -#: ../../library/asyncio-stream.rst:183 +#: ../../library/asyncio-stream.rst:185 msgid "" "Represents a reader object that provides APIs to read data from the IO " -"stream." +"stream. As an :term:`asynchronous iterable`, the object supports the :" +"keyword:`async for` statement." msgstr "" -"Representa um objeto leitor, que fornece APIs para ler dados a partir do " -"stream de entrada/saída." -#: ../../library/asyncio-stream.rst:186 +#: ../../library/asyncio-stream.rst:189 msgid "" "It is not recommended to instantiate *StreamReader* objects directly; use :" "func:`open_connection` and :func:`start_server` instead." @@ -218,30 +225,35 @@ msgstr "" "Não é recomendado instanciar objetos *StreamReader* diretamente; use :func:" "`open_connection` e :func:`start_server` ao invés disso." -#: ../../library/asyncio-stream.rst:192 +#: ../../library/asyncio-stream.rst:195 +msgid "Read up to *n* bytes from the stream." +msgstr "" + +#: ../../library/asyncio-stream.rst:197 msgid "" -"Read up to *n* bytes. If *n* is not provided, or set to ``-1``, read until " -"EOF and return all read bytes." +"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 "" -"Executa a leitura de até *n* bytes. Se *n* não for informado, ou for " -"definido para ``-1``, executa a leitura até que EOF (fim do arquivo) seja " -"atingido, e retorna todos os bytes lidos." -#: ../../library/asyncio-stream.rst:195 +#: ../../library/asyncio-stream.rst:202 +msgid "If *n* is ``0``, return an empty ``bytes`` object immediately." +msgstr "" + +#: ../../library/asyncio-stream.rst:204 msgid "" -"If EOF was received and the internal buffer is empty, return an empty " -"``bytes`` object." +"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 "" -"Se EOF foi recebido e o buffer interno estiver vazio, retorna um objeto " -"``bytes`` vazio." -#: ../../library/asyncio-stream.rst:200 +#: ../../library/asyncio-stream.rst:211 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:203 +#: ../../library/asyncio-stream.rst:214 msgid "" "If EOF is received and ``\\n`` was not found, the method returns partially " "read data." @@ -249,7 +261,7 @@ msgstr "" "Se EOF é recebido e ``\\n`` não foi encontrado, o método retorna os dados " "parcialmente lidos." -#: ../../library/asyncio-stream.rst:206 +#: ../../library/asyncio-stream.rst:217 msgid "" "If EOF is received and the internal buffer is empty, return an empty " "``bytes`` object." @@ -257,11 +269,11 @@ msgstr "" "Se EOF for recebido e o buffer interno estiver vazio, retorna um objeto " "``bytes`` vazio." -#: ../../library/asyncio-stream.rst:211 +#: ../../library/asyncio-stream.rst:222 msgid "Read exactly *n* bytes." msgstr "Lê exatamente *n* bytes." -#: ../../library/asyncio-stream.rst:213 +#: ../../library/asyncio-stream.rst:224 msgid "" "Raise an :exc:`IncompleteReadError` if EOF is reached before *n* can be " "read. Use the :attr:`IncompleteReadError.partial` attribute to get the " @@ -271,11 +283,11 @@ msgstr "" "lidos. Use o atributo :attr:`IncompleteReadError.partial` para obter os " "dados parcialmente lidos." -#: ../../library/asyncio-stream.rst:219 +#: ../../library/asyncio-stream.rst:230 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:221 +#: ../../library/asyncio-stream.rst:232 msgid "" "On success, the data and separator will be removed from the internal buffer " "(consumed). Returned data will include the separator at the end." @@ -283,7 +295,7 @@ 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:225 +#: ../../library/asyncio-stream.rst:236 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 " @@ -293,7 +305,7 @@ msgstr "" "uma exceção :exc:`LimitOverrunError` é levantada, e os dados são deixados no " "buffer interno e podem ser lidos novamente." -#: ../../library/asyncio-stream.rst:229 +#: ../../library/asyncio-stream.rst:240 msgid "" "If EOF is reached before the complete separator is found, an :exc:" "`IncompleteReadError` exception is raised, and the internal buffer is " @@ -302,26 +314,26 @@ msgid "" 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:238 +#: ../../library/asyncio-stream.rst:249 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:243 +#: ../../library/asyncio-stream.rst:254 msgid "StreamWriter" msgstr "StreamWriter" -#: ../../library/asyncio-stream.rst:247 +#: ../../library/asyncio-stream.rst:258 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:250 +#: ../../library/asyncio-stream.rst:261 msgid "" "It is not recommended to instantiate *StreamWriter* objects directly; use :" "func:`open_connection` and :func:`start_server` instead." @@ -329,7 +341,7 @@ msgstr "" "Não é recomendado instanciar objetos *StreamWriter* diretamente; use :func:" "`open_connection` e :func:`start_server` ao invés." -#: ../../library/asyncio-stream.rst:256 +#: ../../library/asyncio-stream.rst:267 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 " @@ -339,11 +351,11 @@ msgstr "" "isso falhar, data é enfileirado em um buffer interno de escrita, até que " "possa ser enviado." -#: ../../library/asyncio-stream.rst:260 ../../library/asyncio-stream.rst:272 +#: ../../library/asyncio-stream.rst:271 ../../library/asyncio-stream.rst:283 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:267 +#: ../../library/asyncio-stream.rst:278 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 " @@ -353,15 +365,17 @@ 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:279 +#: ../../library/asyncio-stream.rst:290 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:281 -msgid "The method should be used along with the ``wait_closed()`` method::" -msgstr "O método deve ser usado juntamente com o método ``wait_closed()``::" +#: ../../library/asyncio-stream.rst:292 +msgid "" +"The method should be used, though not mandatory, along with the " +"``wait_closed()`` method::" +msgstr "" -#: ../../library/asyncio-stream.rst:288 +#: ../../library/asyncio-stream.rst:300 msgid "" "Return ``True`` if the underlying transport supports the :meth:`write_eof` " "method, ``False`` otherwise." @@ -369,18 +383,18 @@ msgstr "" "Retorna ``True`` se o transporte subjacente suporta o método :meth:" "`write_eof`, ``False`` caso contrário." -#: ../../library/asyncio-stream.rst:293 +#: ../../library/asyncio-stream.rst:305 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:298 +#: ../../library/asyncio-stream.rst:310 msgid "Return the underlying asyncio transport." msgstr "Retorna o transporte asyncio subjacente." -#: ../../library/asyncio-stream.rst:302 +#: ../../library/asyncio-stream.rst:314 msgid "" "Access optional transport information; see :meth:`BaseTransport." "get_extra_info` for details." @@ -388,12 +402,12 @@ msgstr "" "Acessa informações de transporte opcionais; veja :meth:`BaseTransport." "get_extra_info` para detalhes." -#: ../../library/asyncio-stream.rst:307 +#: ../../library/asyncio-stream.rst:319 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:313 +#: ../../library/asyncio-stream.rst:325 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()* " @@ -403,41 +417,40 @@ msgid "" 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:322 +#: ../../library/asyncio-stream.rst:334 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:329 +#: ../../library/asyncio-stream.rst:341 msgid "Wait until the stream is closed." msgstr "Aguarda até que o stream seja fechado." -#: ../../library/asyncio-stream.rst:331 +#: ../../library/asyncio-stream.rst:343 msgid "" "Should be called after :meth:`close` to wait until the underlying connection " -"is closed." +"is closed, ensuring that all data has been flushed before e.g. exiting the " +"program." msgstr "" -"Deve ser chamado após :meth:`close` para aguardar até que a conexão " -"subjacente esteja fechada." -#: ../../library/asyncio-stream.rst:338 +#: ../../library/asyncio-stream.rst:351 msgid "Examples" msgstr "Exemplos" -#: ../../library/asyncio-stream.rst:343 +#: ../../library/asyncio-stream.rst:356 msgid "TCP echo client using streams" msgstr "Cliente para eco TCP usando streams" -#: ../../library/asyncio-stream.rst:345 +#: ../../library/asyncio-stream.rst:358 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:367 +#: ../../library/asyncio-stream.rst:381 msgid "" "The :ref:`TCP echo client protocol " "` example uses the low-level :meth:" @@ -447,15 +460,15 @@ msgstr "" "` usa o método de baixo nível :" "meth:`loop.create_connection`." -#: ../../library/asyncio-stream.rst:374 +#: ../../library/asyncio-stream.rst:388 msgid "TCP echo server using streams" msgstr "Servidor eco TCP usando streams" -#: ../../library/asyncio-stream.rst:376 +#: ../../library/asyncio-stream.rst:390 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:409 +#: ../../library/asyncio-stream.rst:424 msgid "" "The :ref:`TCP echo server protocol " "` example uses the :meth:`loop." @@ -465,30 +478,30 @@ msgstr "" "` utiliza o método :meth:`loop." "create_server`." -#: ../../library/asyncio-stream.rst:414 +#: ../../library/asyncio-stream.rst:429 msgid "Get HTTP headers" msgstr "Obtém headers HTTP" -#: ../../library/asyncio-stream.rst:416 +#: ../../library/asyncio-stream.rst:431 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:454 +#: ../../library/asyncio-stream.rst:470 msgid "Usage::" msgstr "Uso::" -#: ../../library/asyncio-stream.rst:458 +#: ../../library/asyncio-stream.rst:474 msgid "or with HTTPS::" msgstr "ou com HTTPS::" -#: ../../library/asyncio-stream.rst:466 +#: ../../library/asyncio-stream.rst:482 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:468 +#: ../../library/asyncio-stream.rst:484 msgid "" "Coroutine waiting until a socket receives data using the :func:" "`open_connection` function::" @@ -496,7 +509,7 @@ msgstr "" "Corrotina aguardando até que um soquete receba dados usando a função :func:" "`open_connection`::" -#: ../../library/asyncio-stream.rst:502 +#: ../../library/asyncio-stream.rst:519 msgid "" "The :ref:`register an open socket to wait for data using a protocol " "` example uses a low-level protocol and " @@ -506,7 +519,7 @@ msgstr "" "usando um protocolo ` utiliza um " "protocolo de baixo nível e o método :meth:`loop.create_connection`." -#: ../../library/asyncio-stream.rst:506 +#: ../../library/asyncio-stream.rst:523 msgid "" "The :ref:`watch a file descriptor for read events " "` example uses the low-level :meth:`loop." diff --git a/library/asyncio-subprocess.po b/library/asyncio-subprocess.po index 2f97116b7..b7265c145 100644 --- a/library/asyncio-subprocess.po +++ b/library/asyncio-subprocess.po @@ -1,30 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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 -# Vinicius Gubiani Ferreira , 2021 -# i17obot , 2021 -# Rafael Fontenelle , 2021 +# python-doc bot, 2025 # #, 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 00:55+0000\n" -"Last-Translator: Rafael Fontenelle , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:57+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/asyncio-subprocess.rst:7 msgid "Subprocesses" @@ -84,7 +81,7 @@ msgid "Create a subprocess." msgstr "Cria um subprocesso." #: ../../library/asyncio-subprocess.rst:69 -#: ../../library/asyncio-subprocess.rst:91 +#: ../../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:" @@ -95,7 +92,7 @@ msgstr "" "attr:`subprocess.PIPE` for passado para os argumentos *stdout* e *stderr*)." #: ../../library/asyncio-subprocess.rst:73 -#: ../../library/asyncio-subprocess.rst:95 +#: ../../library/asyncio-subprocess.rst:91 msgid "Return a :class:`~asyncio.subprocess.Process` instance." msgstr "Retorna uma instância de :class:`~asyncio.subprocess.Process`." @@ -105,28 +102,22 @@ msgid "" msgstr "" "Veja a documentação de :meth:`loop.subprocess_exec` para outros parâmetros." -#: ../../library/asyncio-subprocess.rst:80 -#: ../../library/asyncio-subprocess.rst:111 -msgid "" -"The ``loop`` parameter. This function has been implicitly getting the " -"current running loop since 3.7. See :ref:`What's New in 3.10's Removed " -"section ` for more information." -msgstr "" -"O parâmetro ``loop``. Esta função está obtendo implicitamente o loop atual " -"em execução desde 3.7. Veja a :ref:`seção Removidos do O que há de novo no " -"3.10 ` para mais informações." +#: ../../library/asyncio-subprocess.rst:78 +#: ../../library/asyncio-subprocess.rst:105 +msgid "Removed the *loop* parameter." +msgstr "Removido o parâmetro *loop*." -#: ../../library/asyncio-subprocess.rst:89 +#: ../../library/asyncio-subprocess.rst:85 msgid "Run the *cmd* shell command." msgstr "Executa o comando *cmd* no shell." -#: ../../library/asyncio-subprocess.rst:97 +#: ../../library/asyncio-subprocess.rst:93 msgid "" "See the documentation of :meth:`loop.subprocess_shell` for other parameters." msgstr "" "Veja a documentação de :meth:`loop.subprocess_shell` para outros parâmetros." -#: ../../library/asyncio-subprocess.rst:102 +#: ../../library/asyncio-subprocess.rst:98 msgid "" "It is the application's responsibility to ensure that all whitespace and " "special characters are quoted appropriately to avoid `shell injection " @@ -142,7 +133,7 @@ msgstr "" "usada para escapar espaços em branco e caracteres especiais de shell " "apropriadamente em strings que serão usadas para construir comandos shell." -#: ../../library/asyncio-subprocess.rst:118 +#: ../../library/asyncio-subprocess.rst:110 msgid "" "Subprocesses are available for Windows if a :class:`ProactorEventLoop` is " "used. See :ref:`Subprocess Support on Windows ` " @@ -152,7 +143,7 @@ msgstr "" "`ProactorEventLoop` for usada. Veja :ref:`Suporte para subprocesso para " "Windows ` para detalhes." -#: ../../library/asyncio-subprocess.rst:124 +#: ../../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." @@ -166,15 +157,15 @@ msgstr "" "os :ref:`Transportes de Subprocesso ` e :ref:" "`Protocolos de Subprocesso `." -#: ../../library/asyncio-subprocess.rst:132 +#: ../../library/asyncio-subprocess.rst:124 msgid "Constants" msgstr "Constantes" -#: ../../library/asyncio-subprocess.rst:136 +#: ../../library/asyncio-subprocess.rst:129 msgid "Can be passed to the *stdin*, *stdout* or *stderr* parameters." msgstr "Pode ser passado para os parâmetros *stdin*, *stdout* ou *stderr*." -#: ../../library/asyncio-subprocess.rst:138 +#: ../../library/asyncio-subprocess.rst:131 msgid "" "If *PIPE* is passed to *stdin* argument, the :attr:`Process.stdin ` attribute will point to a :class:`StreamWriter` " @@ -184,7 +175,7 @@ msgstr "" "stdin ` irá apontar para uma instância :" "class:`StreamWriter`." -#: ../../library/asyncio-subprocess.rst:142 +#: ../../library/asyncio-subprocess.rst:135 msgid "" "If *PIPE* is passed to *stdout* or *stderr* arguments, the :attr:`Process." "stdout ` and :attr:`Process.stderr " @@ -196,7 +187,7 @@ msgstr "" "stderr ` irão apontar para instâncias :" "class:`StreamReader`." -#: ../../library/asyncio-subprocess.rst:149 +#: ../../library/asyncio-subprocess.rst:143 msgid "" "Special value that can be used as the *stderr* argument and indicates that " "standard error should be redirected into standard output." @@ -204,7 +195,7 @@ msgstr "" "Valor especial que pode ser usado como o argumento *stderr* e indica que a " "saída de erro padrão deve ser redirecionada para a saída padrão." -#: ../../library/asyncio-subprocess.rst:154 +#: ../../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." @@ -215,11 +206,11 @@ msgstr "" "especial :data:`os.devnull` será usado para o fluxo de subprocesso " "correspondente." -#: ../../library/asyncio-subprocess.rst:160 +#: ../../library/asyncio-subprocess.rst:155 msgid "Interacting with Subprocesses" msgstr "Interagindo com subprocessos" -#: ../../library/asyncio-subprocess.rst:162 +#: ../../library/asyncio-subprocess.rst:157 msgid "" "Both :func:`create_subprocess_exec` and :func:`create_subprocess_shell` " "functions return instances of the *Process* class. *Process* is a high-" @@ -228,10 +219,10 @@ msgid "" 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 " +"é um invólucro de alto nível que permite a comunicação com subprocessos e " "observar eles serem completados." -#: ../../library/asyncio-subprocess.rst:169 +#: ../../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." @@ -239,7 +230,7 @@ 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:173 +#: ../../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:" @@ -247,7 +238,7 @@ msgstr "" "Esta classe é projetada para ter uma API similar a classe :class:`subprocess." "Popen`, mas existem algumas diferenças notáveis:" -#: ../../library/asyncio-subprocess.rst:177 +#: ../../library/asyncio-subprocess.rst:173 msgid "" "unlike Popen, Process instances do not have an equivalent to the :meth:" "`~subprocess.Popen.poll` method;" @@ -255,17 +246,17 @@ 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:180 +#: ../../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:`wait_for` function;" +"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:`wait_for`;" +"func:`~ascyncio.wait_for`;" -#: ../../library/asyncio-subprocess.rst:184 +#: ../../library/asyncio-subprocess.rst:180 msgid "" "the :meth:`Process.wait() ` method is " "asynchronous, whereas :meth:`subprocess.Popen.wait` method is implemented as " @@ -275,15 +266,15 @@ msgstr "" "assíncrono, enquanto que o método :meth:`subprocess.Popen.wait` é " "implementado como um laço bloqueante para indicar que está ocupado;" -#: ../../library/asyncio-subprocess.rst:188 +#: ../../library/asyncio-subprocess.rst:184 msgid "the *universal_newlines* parameter is not supported." msgstr "o parâmetro *universal_newlines* não é suportado." -#: ../../library/asyncio-subprocess.rst:190 +#: ../../library/asyncio-subprocess.rst:186 msgid "This class is :ref:`not thread safe `." msgstr "Esta classe :ref:`não é segura para thread `." -#: ../../library/asyncio-subprocess.rst:192 +#: ../../library/asyncio-subprocess.rst:188 msgid "" "See also the :ref:`Subprocess and Threads ` " "section." @@ -291,15 +282,15 @@ msgstr "" "Veja também a seção :ref:`Subprocesso e Threads `." -#: ../../library/asyncio-subprocess.rst:197 +#: ../../library/asyncio-subprocess.rst:193 msgid "Wait for the child process to terminate." msgstr "Aguarda o processo filho encerrar." -#: ../../library/asyncio-subprocess.rst:199 +#: ../../library/asyncio-subprocess.rst:195 msgid "Set and return the :attr:`returncode` attribute." msgstr "Define e retorna o atributo :attr:`returncode`." -#: ../../library/asyncio-subprocess.rst:203 +#: ../../library/asyncio-subprocess.rst:199 msgid "" "This method can deadlock when using ``stdout=PIPE`` or ``stderr=PIPE`` and " "the child process generates so much output that it blocks waiting for the OS " @@ -312,25 +303,25 @@ msgstr "" "dados. Use o método :meth:`communicate` ao usar encadeamentos para evitar " "essa condição." -#: ../../library/asyncio-subprocess.rst:211 +#: ../../library/asyncio-subprocess.rst:207 msgid "Interact with process:" msgstr "Interage com processo:" -#: ../../library/asyncio-subprocess.rst:213 +#: ../../library/asyncio-subprocess.rst:209 msgid "send data to *stdin* (if *input* is not ``None``);" msgstr "envia dados para *stdin* (se *input* for diferente de ``None``);" -#: ../../library/asyncio-subprocess.rst:214 +#: ../../library/asyncio-subprocess.rst:210 msgid "read data from *stdout* and *stderr*, until EOF is reached;" msgstr "" "lê dados a partir de *stdout* e *stderr*, até que EOF (fim do arquivo) seja " "atingido;" -#: ../../library/asyncio-subprocess.rst:215 +#: ../../library/asyncio-subprocess.rst:211 msgid "wait for process to terminate." msgstr "aguarda o processo encerrar." -#: ../../library/asyncio-subprocess.rst:217 +#: ../../library/asyncio-subprocess.rst:213 msgid "" "The optional *input* argument is the data (:class:`bytes` object) that will " "be sent to the child process." @@ -338,11 +329,11 @@ msgstr "" "O argumento opcional *input* é a informação (objeto :class:`bytes`) que será " "enviada para o processo filho." -#: ../../library/asyncio-subprocess.rst:220 +#: ../../library/asyncio-subprocess.rst:216 msgid "Return a tuple ``(stdout_data, stderr_data)``." msgstr "Retorna uma tupla ``(stdout_data, stderr_data)``." -#: ../../library/asyncio-subprocess.rst:222 +#: ../../library/asyncio-subprocess.rst:218 msgid "" "If either :exc:`BrokenPipeError` or :exc:`ConnectionResetError` exception is " "raised when writing *input* into *stdin*, the exception is ignored. This " @@ -354,7 +345,7 @@ msgstr "" "condição ocorre quando o processo encerra antes de todos os dados serem " "escritos em *stdin*." -#: ../../library/asyncio-subprocess.rst:227 +#: ../../library/asyncio-subprocess.rst:223 msgid "" "If it is desired to send data to the process' *stdin*, the process needs to " "be created with ``stdin=PIPE``. Similarly, to get anything other than " @@ -366,7 +357,7 @@ msgstr "" "de ``None`` na tupla resultante, o processo precisa ser criado com os " "argumentos ``stdout=PIPE`` e/ou ``stderr=PIPE``." -#: ../../library/asyncio-subprocess.rst:233 +#: ../../library/asyncio-subprocess.rst:229 msgid "" "Note, that the data read is buffered in memory, so do not use this method if " "the data size is large or unlimited." @@ -374,11 +365,11 @@ msgstr "" "Perceba que, os dados lidos são armazenados em um buffer na memória, então " "não use este método se o tamanho dos dados é grande ou ilimitado." -#: ../../library/asyncio-subprocess.rst:238 +#: ../../library/asyncio-subprocess.rst:234 msgid "Sends the signal *signal* to the child process." msgstr "Envia o sinal *signal* para o processo filho." -#: ../../library/asyncio-subprocess.rst:242 +#: ../../library/asyncio-subprocess.rst:238 msgid "" "On Windows, :py:data:`SIGTERM` is an alias for :meth:`terminate`. " "``CTRL_C_EVENT`` and ``CTRL_BREAK_EVENT`` can be sent to processes started " @@ -389,11 +380,11 @@ msgstr "" "iniciados com um parâmetro *creationflags*, o qual inclui " "``CREATE_NEW_PROCESS_GROUP``." -#: ../../library/asyncio-subprocess.rst:249 +#: ../../library/asyncio-subprocess.rst:245 msgid "Stop the child process." msgstr "Interrompe o processo filho." -#: ../../library/asyncio-subprocess.rst:251 +#: ../../library/asyncio-subprocess.rst:247 msgid "" "On POSIX systems this method sends :py:data:`signal.SIGTERM` to the child " "process." @@ -401,7 +392,7 @@ msgstr "" "Em sistemas POSIX este método envia :py:data:`signal.SIGTERM` para o " "processo filho." -#: ../../library/asyncio-subprocess.rst:254 +#: ../../library/asyncio-subprocess.rst:250 msgid "" "On Windows the Win32 API function :c:func:`TerminateProcess` is called to " "stop the child process." @@ -409,21 +400,21 @@ msgstr "" "No Windows a função :c:func:`TerminateProcess` da API Win32 é chamada para " "interromper o processo filho." -#: ../../library/asyncio-subprocess.rst:259 +#: ../../library/asyncio-subprocess.rst:255 msgid "Kill the child process." msgstr "Mata o processo filho." -#: ../../library/asyncio-subprocess.rst:261 +#: ../../library/asyncio-subprocess.rst:257 msgid "" "On POSIX systems this method sends :py:data:`SIGKILL` to the child process." msgstr "" "Em sistemas POSIX este método envia :py:data:`SIGKILL` para o processo filho." -#: ../../library/asyncio-subprocess.rst:264 +#: ../../library/asyncio-subprocess.rst:260 msgid "On Windows this method is an alias for :meth:`terminate`." msgstr "No Windows, este método é um atalho para :meth:`terminate`." -#: ../../library/asyncio-subprocess.rst:268 +#: ../../library/asyncio-subprocess.rst:264 msgid "" "Standard input stream (:class:`StreamWriter`) or ``None`` if the process was " "created with ``stdin=None``." @@ -431,7 +422,7 @@ msgstr "" "Fluxo de entrada padrão (:class:`StreamWriter`) ou ``None`` se o processo " "foi criado com ``stdin=None``." -#: ../../library/asyncio-subprocess.rst:273 +#: ../../library/asyncio-subprocess.rst:269 msgid "" "Standard output stream (:class:`StreamReader`) or ``None`` if the process " "was created with ``stdout=None``." @@ -439,7 +430,7 @@ msgstr "" "Fluxo de saída padrão (:class:`StreamReader`) ou ``None`` se o processo foi " "criado com ``stdout=None``." -#: ../../library/asyncio-subprocess.rst:278 +#: ../../library/asyncio-subprocess.rst:274 msgid "" "Standard error stream (:class:`StreamReader`) or ``None`` if the process was " "created with ``stderr=None``." @@ -447,23 +438,23 @@ msgstr "" "Erro de fluxo padrão (:class:`StreamReader`) ou ``None`` se o processo foi " "criado com ``stderr=None``." -#: ../../library/asyncio-subprocess.rst:283 +#: ../../library/asyncio-subprocess.rst:279 msgid "" "Use the :meth:`communicate` method rather than :attr:`process.stdin.write() " "`, :attr:`await process.stdout.read() ` or :attr:`await " -"process.stderr.read `. This avoids deadlocks due to streams pausing " -"reading or writing and blocking the child process." +"process.stderr.read() `. This avoids deadlocks due to streams " +"pausing reading or writing and blocking the child process." msgstr "" "Use o método :meth:`communicate` ao invés de :attr:`process.stdin.write() " "`, :attr:`await process.stdout.read() ` ou :attr:`await " -"process.stderr.read `. Isso evita deadlocks devido a fluxos pausando " -"a leitura ou escrita, e bloqueando o processo filho." +"process.stderr.read() `. Isso evita deadlocks devido a fluxos " +"pausando a leitura ou escrita, e bloqueando o processo filho." -#: ../../library/asyncio-subprocess.rst:292 +#: ../../library/asyncio-subprocess.rst:288 msgid "Process identification number (PID)." msgstr "Número de identificação do processo (PID)." -#: ../../library/asyncio-subprocess.rst:294 +#: ../../library/asyncio-subprocess.rst:290 msgid "" "Note that for processes created by the :func:`create_subprocess_shell` " "function, this attribute is the PID of the spawned shell." @@ -471,15 +462,15 @@ msgstr "" "Perceba que para processos criados pela função :func:" "`create_subprocess_shell`, este atributo é o PID do console gerado." -#: ../../library/asyncio-subprocess.rst:299 +#: ../../library/asyncio-subprocess.rst:295 msgid "Return code of the process when it exits." msgstr "Retorna o código do processo quando o mesmo terminar." -#: ../../library/asyncio-subprocess.rst:301 +#: ../../library/asyncio-subprocess.rst:297 msgid "A ``None`` value indicates that the process has not terminated yet." msgstr "Um valor ``None`` indica que o processo ainda não terminou." -#: ../../library/asyncio-subprocess.rst:303 +#: ../../library/asyncio-subprocess.rst:299 msgid "" "A negative value ``-N`` indicates that the child was terminated by signal " "``N`` (POSIX only)." @@ -487,11 +478,11 @@ msgstr "" "Um valor negativo ``-N`` indica que o filho foi terminado pelo sinal ``N`` " "(POSIX apenas)." -#: ../../library/asyncio-subprocess.rst:310 +#: ../../library/asyncio-subprocess.rst:306 msgid "Subprocess and Threads" msgstr "Subprocesso e Threads" -#: ../../library/asyncio-subprocess.rst:312 +#: ../../library/asyncio-subprocess.rst:308 msgid "" "Standard asyncio event loop supports running subprocesses from different " "threads by default." @@ -499,7 +490,7 @@ msgstr "" "Laço de eventos padrão do asyncio suporta a execução de subprocessos a " "partir de diferentes threads por padrão." -#: ../../library/asyncio-subprocess.rst:315 +#: ../../library/asyncio-subprocess.rst:311 msgid "" "On Windows subprocesses are provided by :class:`ProactorEventLoop` only " "(default), :class:`SelectorEventLoop` has no subprocess support." @@ -508,7 +499,7 @@ msgstr "" "`ProactorEventLoop` apenas (por padrão), a classe :class:`SelectorEventLoop` " "não tem suporte a subprocesso." -#: ../../library/asyncio-subprocess.rst:318 +#: ../../library/asyncio-subprocess.rst:314 msgid "" "On UNIX *child watchers* are used for subprocess finish waiting, see :ref:" "`asyncio-watchers` for more info." @@ -517,7 +508,7 @@ msgstr "" "encerramento de subprocesso, veja :ref:`asyncio-watchers` para mais " "informações." -#: ../../library/asyncio-subprocess.rst:324 +#: ../../library/asyncio-subprocess.rst:320 msgid "" "UNIX switched to use :class:`ThreadedChildWatcher` for spawning subprocesses " "from different threads without any limitation." @@ -525,7 +516,7 @@ msgstr "" "UNIX mudou para usar :class:`ThreadedChildWatcher` para gerar subprocessos a " "partir de diferentes threads sem qualquer limitação." -#: ../../library/asyncio-subprocess.rst:327 +#: ../../library/asyncio-subprocess.rst:323 msgid "" "Spawning a subprocess with *inactive* current child watcher raises :exc:" "`RuntimeError`." @@ -533,7 +524,7 @@ msgstr "" "Gerar um subprocesso com um monitor *inativo* para o filho atual, levanta :" "exc:`RuntimeError`." -#: ../../library/asyncio-subprocess.rst:330 +#: ../../library/asyncio-subprocess.rst:326 msgid "" "Note that alternative event loop implementations might have own limitations; " "please refer to their documentation." @@ -541,7 +532,7 @@ msgstr "" "Perceba que implementações alternativas do laço de eventos podem ter " "limitações próprias; por favor, verifique a sua documentação." -#: ../../library/asyncio-subprocess.rst:335 +#: ../../library/asyncio-subprocess.rst:331 msgid "" "The :ref:`Concurrency and multithreading in asyncio ` section." @@ -549,11 +540,11 @@ msgstr "" "A seção :ref:`Concorrência e multithreading em asyncio `." -#: ../../library/asyncio-subprocess.rst:340 +#: ../../library/asyncio-subprocess.rst:336 msgid "Examples" msgstr "Exemplos" -#: ../../library/asyncio-subprocess.rst:342 +#: ../../library/asyncio-subprocess.rst:338 msgid "" "An example using the :class:`~asyncio.subprocess.Process` class to control a " "subprocess and the :class:`StreamReader` class to read from its standard " @@ -563,12 +554,12 @@ msgstr "" "controlar um subprocesso e a classe :class:`StreamReader` para ler a partir " "da sua saída padrão." -#: ../../library/asyncio-subprocess.rst:348 +#: ../../library/asyncio-subprocess.rst:344 msgid "" "The subprocess is created by the :func:`create_subprocess_exec` function::" msgstr "O subprocesso é criado pela função :func:`create_subprocess_exec`::" -#: ../../library/asyncio-subprocess.rst:375 +#: ../../library/asyncio-subprocess.rst:371 msgid "" "See also the :ref:`same example ` written " "using low-level APIs." diff --git a/library/asyncio-sync.po b/library/asyncio-sync.po index a61eb6432..926bb42ad 100644 --- a/library/asyncio-sync.po +++ b/library/asyncio-sync.po @@ -1,28 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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 +# python-doc bot, 2025 # #, 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 00:55+0000\n" -"Last-Translator: i17obot , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:57+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/asyncio-sync.rst:7 msgid "Synchronization Primitives" @@ -30,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 "" @@ -93,73 +92,70 @@ msgstr "" msgid "The preferred way to use a Lock is an :keyword:`async with` statement::" msgstr "" -#: ../../library/asyncio-sync.rst:55 ../../library/asyncio-sync.rst:207 -#: ../../library/asyncio-sync.rst:309 +#: ../../library/asyncio-sync.rst:55 ../../library/asyncio-sync.rst:198 +#: ../../library/asyncio-sync.rst:297 msgid "which is equivalent to::" msgstr "" -#: ../../library/asyncio-sync.rst:71 ../../library/asyncio-sync.rst:119 -#: ../../library/asyncio-sync.rst:197 ../../library/asyncio-sync.rst:299 -#: ../../library/asyncio-sync.rst:354 -msgid "" -"The ``loop`` parameter. This class has been implicitly getting the current " -"running loop since 3.7. See :ref:`What's New in 3.10's Removed section " -"` for more information." -msgstr "" +#: ../../library/asyncio-sync.rst:66 ../../library/asyncio-sync.rst:111 +#: ../../library/asyncio-sync.rst:186 ../../library/asyncio-sync.rst:285 +#: ../../library/asyncio-sync.rst:340 +msgid "Removed the *loop* parameter." +msgstr "Removido o parâmetro *loop*." -#: ../../library/asyncio-sync.rst:74 +#: ../../library/asyncio-sync.rst:71 msgid "Acquire the lock." msgstr "" -#: ../../library/asyncio-sync.rst:76 +#: ../../library/asyncio-sync.rst:73 msgid "" "This method waits until the lock is *unlocked*, sets it to *locked* and " "returns ``True``." msgstr "" -#: ../../library/asyncio-sync.rst:79 +#: ../../library/asyncio-sync.rst:76 msgid "" "When more than one coroutine is blocked in :meth:`acquire` waiting for the " "lock to be unlocked, only one coroutine eventually proceeds." msgstr "" -#: ../../library/asyncio-sync.rst:83 +#: ../../library/asyncio-sync.rst:80 msgid "" "Acquiring a lock is *fair*: the coroutine that proceeds will be the first " "coroutine that started waiting on the lock." msgstr "" -#: ../../library/asyncio-sync.rst:88 +#: ../../library/asyncio-sync.rst:85 msgid "Release the lock." msgstr "" -#: ../../library/asyncio-sync.rst:90 +#: ../../library/asyncio-sync.rst:87 msgid "When the lock is *locked*, reset it to *unlocked* and return." msgstr "" -#: ../../library/asyncio-sync.rst:92 +#: ../../library/asyncio-sync.rst:89 msgid "If the lock is *unlocked*, a :exc:`RuntimeError` is raised." msgstr "" -#: ../../library/asyncio-sync.rst:96 +#: ../../library/asyncio-sync.rst:93 msgid "Return ``True`` if the lock is *locked*." msgstr "" -#: ../../library/asyncio-sync.rst:100 +#: ../../library/asyncio-sync.rst:97 msgid "Event" msgstr "Evento" -#: ../../library/asyncio-sync.rst:104 +#: ../../library/asyncio-sync.rst:101 msgid "An event object. Not thread-safe." msgstr "" -#: ../../library/asyncio-sync.rst:106 +#: ../../library/asyncio-sync.rst:103 msgid "" "An asyncio event can be used to notify multiple asyncio tasks that some " "event has happened." msgstr "" -#: ../../library/asyncio-sync.rst:109 +#: ../../library/asyncio-sync.rst:106 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` " @@ -167,57 +163,57 @@ msgid "" "*true*. The flag is set to *false* initially." msgstr "" -#: ../../library/asyncio-sync.rst:122 +#: ../../library/asyncio-sync.rst:116 msgid "Example::" msgstr "Exemplo::" -#: ../../library/asyncio-sync.rst:147 +#: ../../library/asyncio-sync.rst:141 msgid "Wait until the event is set." msgstr "" -#: ../../library/asyncio-sync.rst:149 +#: ../../library/asyncio-sync.rst:143 msgid "" "If the event is set, return ``True`` immediately. Otherwise block until " "another task calls :meth:`~Event.set`." msgstr "" -#: ../../library/asyncio-sync.rst:154 +#: ../../library/asyncio-sync.rst:148 msgid "Set the event." msgstr "" -#: ../../library/asyncio-sync.rst:156 +#: ../../library/asyncio-sync.rst:150 msgid "All tasks waiting for event to be set will be immediately awakened." msgstr "" -#: ../../library/asyncio-sync.rst:161 +#: ../../library/asyncio-sync.rst:155 msgid "Clear (unset) the event." msgstr "" -#: ../../library/asyncio-sync.rst:163 +#: ../../library/asyncio-sync.rst:157 msgid "" "Tasks awaiting on :meth:`~Event.wait` will now block until the :meth:`~Event." "set` method is called again." msgstr "" -#: ../../library/asyncio-sync.rst:168 +#: ../../library/asyncio-sync.rst:162 msgid "Return ``True`` if the event is set." msgstr "" -#: ../../library/asyncio-sync.rst:172 +#: ../../library/asyncio-sync.rst:166 msgid "Condition" msgstr "Condição" -#: ../../library/asyncio-sync.rst:176 +#: ../../library/asyncio-sync.rst:170 msgid "A Condition object. Not thread-safe." msgstr "" -#: ../../library/asyncio-sync.rst:178 +#: ../../library/asyncio-sync.rst:172 msgid "" "An asyncio condition primitive can be used by a task to wait for some event " "to happen and then get exclusive access to a shared resource." msgstr "" -#: ../../library/asyncio-sync.rst:182 +#: ../../library/asyncio-sync.rst:176 msgid "" "In essence, a Condition object combines the functionality of an :class:" "`Event` and a :class:`Lock`. It is possible to have multiple Condition " @@ -226,96 +222,96 @@ msgid "" "that shared resource." msgstr "" -#: ../../library/asyncio-sync.rst:188 +#: ../../library/asyncio-sync.rst:182 msgid "" "The optional *lock* argument must be a :class:`Lock` object or ``None``. In " "the latter case a new Lock object is created automatically." msgstr "" -#: ../../library/asyncio-sync.rst:198 +#: ../../library/asyncio-sync.rst:189 msgid "" "The preferred way to use a Condition is an :keyword:`async with` statement::" msgstr "" -#: ../../library/asyncio-sync.rst:220 +#: ../../library/asyncio-sync.rst:211 msgid "Acquire the underlying lock." msgstr "" -#: ../../library/asyncio-sync.rst:222 +#: ../../library/asyncio-sync.rst:213 msgid "" "This method waits until the underlying lock is *unlocked*, sets it to " "*locked* and returns ``True``." msgstr "" -#: ../../library/asyncio-sync.rst:227 +#: ../../library/asyncio-sync.rst:218 msgid "" "Wake up at most *n* tasks (1 by default) waiting on this condition. The " "method is no-op if no tasks are waiting." msgstr "" -#: ../../library/asyncio-sync.rst:230 ../../library/asyncio-sync.rst:245 +#: ../../library/asyncio-sync.rst:221 ../../library/asyncio-sync.rst:236 msgid "" "The lock must be acquired before this method is called and released shortly " "after. If called with an *unlocked* lock a :exc:`RuntimeError` error is " "raised." msgstr "" -#: ../../library/asyncio-sync.rst:236 +#: ../../library/asyncio-sync.rst:227 msgid "Return ``True`` if the underlying lock is acquired." msgstr "" -#: ../../library/asyncio-sync.rst:240 +#: ../../library/asyncio-sync.rst:231 msgid "Wake up all tasks waiting on this condition." msgstr "" -#: ../../library/asyncio-sync.rst:242 +#: ../../library/asyncio-sync.rst:233 msgid "This method acts like :meth:`notify`, but wakes up all waiting tasks." msgstr "" -#: ../../library/asyncio-sync.rst:251 +#: ../../library/asyncio-sync.rst:242 msgid "Release the underlying lock." msgstr "" -#: ../../library/asyncio-sync.rst:253 +#: ../../library/asyncio-sync.rst:244 msgid "When invoked on an unlocked lock, a :exc:`RuntimeError` is raised." msgstr "" -#: ../../library/asyncio-sync.rst:258 +#: ../../library/asyncio-sync.rst:249 msgid "Wait until notified." msgstr "" -#: ../../library/asyncio-sync.rst:260 +#: ../../library/asyncio-sync.rst:251 msgid "" "If the calling task has not acquired the lock when this method is called, a :" "exc:`RuntimeError` is raised." msgstr "" -#: ../../library/asyncio-sync.rst:263 +#: ../../library/asyncio-sync.rst:254 msgid "" "This method releases the underlying lock, and then blocks until it is " "awakened by a :meth:`notify` or :meth:`notify_all` call. Once awakened, the " "Condition re-acquires its lock and this method returns ``True``." msgstr "" -#: ../../library/asyncio-sync.rst:270 +#: ../../library/asyncio-sync.rst:261 msgid "Wait until a predicate becomes *true*." msgstr "" -#: ../../library/asyncio-sync.rst:272 +#: ../../library/asyncio-sync.rst:263 msgid "" "The predicate must be a callable which result will be interpreted as a " "boolean value. The final value is the return value." msgstr "" -#: ../../library/asyncio-sync.rst:278 +#: ../../library/asyncio-sync.rst:269 msgid "Semaphore" msgstr "" -#: ../../library/asyncio-sync.rst:282 +#: ../../library/asyncio-sync.rst:273 msgid "A Semaphore object. Not thread-safe." msgstr "" -#: ../../library/asyncio-sync.rst:284 +#: ../../library/asyncio-sync.rst:275 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 " @@ -323,61 +319,61 @@ msgid "" "waiting until some task calls :meth:`release`." msgstr "" -#: ../../library/asyncio-sync.rst:290 +#: ../../library/asyncio-sync.rst:281 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." msgstr "" -#: ../../library/asyncio-sync.rst:300 +#: ../../library/asyncio-sync.rst:288 msgid "" "The preferred way to use a Semaphore is an :keyword:`async with` statement::" msgstr "" -#: ../../library/asyncio-sync.rst:322 +#: ../../library/asyncio-sync.rst:310 msgid "Acquire a semaphore." msgstr "" -#: ../../library/asyncio-sync.rst:324 +#: ../../library/asyncio-sync.rst:312 msgid "" "If the internal counter is greater than zero, decrement it by one and return " "``True`` immediately. If it is zero, wait until a :meth:`release` is called " "and return ``True``." msgstr "" -#: ../../library/asyncio-sync.rst:330 +#: ../../library/asyncio-sync.rst:318 msgid "Returns ``True`` if semaphore can not be acquired immediately." msgstr "" -#: ../../library/asyncio-sync.rst:334 +#: ../../library/asyncio-sync.rst:322 msgid "" "Release a semaphore, incrementing the internal counter by one. Can wake up a " "task waiting to acquire the semaphore." msgstr "" -#: ../../library/asyncio-sync.rst:337 +#: ../../library/asyncio-sync.rst:325 msgid "" "Unlike :class:`BoundedSemaphore`, :class:`Semaphore` allows making more " "``release()`` calls than ``acquire()`` calls." msgstr "" -#: ../../library/asyncio-sync.rst:342 +#: ../../library/asyncio-sync.rst:330 msgid "BoundedSemaphore" -msgstr "" +msgstr "BoundedSemaphore" -#: ../../library/asyncio-sync.rst:346 +#: ../../library/asyncio-sync.rst:334 msgid "A bounded semaphore object. Not thread-safe." msgstr "" -#: ../../library/asyncio-sync.rst:348 +#: ../../library/asyncio-sync.rst:336 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*." msgstr "" -#: ../../library/asyncio-sync.rst:364 +#: ../../library/asyncio-sync.rst:348 msgid "" "Acquiring a lock using ``await lock`` or ``yield from lock`` and/or :keyword:" "`with` statement (``with await lock``, ``with (yield from lock)``) was " diff --git a/library/asyncio-task.po b/library/asyncio-task.po index ca1676c6d..d7f2bf8c4 100644 --- a/library/asyncio-task.po +++ b/library/asyncio-task.po @@ -1,33 +1,28 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, Python Software 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 -# i17obot , 2021 -# Danilo Lima , 2021 -# Rafael Fontenelle , 2021 -# Vinicius Gubiani Ferreira , 2021 +# python-doc bot, 2025 +# Adorilson Bezerra , 2025 # #, 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 00:55+0000\n" -"Last-Translator: Vinicius Gubiani Ferreira , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2026-03-13 17:47+0000\n" +"PO-Revision-Date: 2025-09-22 15:57+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=2; plural=(n > 1);\n" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/asyncio-task.rst:6 msgid "Coroutines and Tasks" @@ -41,36 +36,39 @@ msgstr "" "Esta seção descreve APIs assíncronas de alto nível para trabalhar com " "corrotinas e tarefas." -#: ../../library/asyncio-task.rst:19 ../../library/asyncio-task.rst:121 +#: ../../library/asyncio-task.rst:19 ../../library/asyncio-task.rst:125 msgid "Coroutines" msgstr "Corrotinas" #: ../../library/asyncio-task.rst:21 +msgid "**Source code:** :source:`Lib/asyncio/coroutines.py`" +msgstr "**Código-fonte:** :source:`Lib/asyncio/coroutines.py`" + +#: ../../library/asyncio-task.rst:25 msgid "" ":term:`Coroutines ` declared with the async/await syntax is the " "preferred way of writing asyncio applications. For example, the following " -"snippet of code (requires Python 3.7+) prints \"hello\", waits 1 second, and " -"then prints \"world\"::" +"snippet of code prints \"hello\", waits 1 second, and then prints \"world\"::" msgstr "" ":term:`Corrotinas ` declaradas com a sintaxe async/await é a " "forma preferida de escrever aplicações assíncronas. Por exemplo, o seguinte " -"trecho de código (requer Python 3.7+) imprime \"hello\", espera 1 segundo, e " -"então imprime \"world\"::" +"trecho de código imprime \"hello\", espera 1 segundo, e então imprime " +"\"world\"::" -#: ../../library/asyncio-task.rst:37 +#: ../../library/asyncio-task.rst:41 msgid "" "Note that simply calling a coroutine will not schedule it to be executed::" msgstr "" "Perceba que simplesmente chamar uma corrotina não irá agendá-la para ser " "executada::" -#: ../../library/asyncio-task.rst:43 +#: ../../library/asyncio-task.rst:47 msgid "To actually run a coroutine, asyncio provides three main mechanisms:" msgstr "" "Para realmente executar uma corrotina, asyncio fornece três mecanismos " "principais:" -#: ../../library/asyncio-task.rst:45 +#: ../../library/asyncio-task.rst:49 msgid "" "The :func:`asyncio.run` function to run the top-level entry point \"main()\" " "function (see the above example.)" @@ -78,7 +76,7 @@ msgstr "" "A função :func:`asyncio.run` para executar a função \"main()\" do ponto de " "entrada no nível mais alto (veja o exemplo acima.)" -#: ../../library/asyncio-task.rst:48 +#: ../../library/asyncio-task.rst:52 msgid "" "Awaiting on a coroutine. The following snippet of code will print \"hello\" " "after waiting for 1 second, and then print \"world\" after waiting for " @@ -88,11 +86,11 @@ msgstr "" "esperar por 1 segundo e, em seguida, exibirá \"world\" após esperar por " "*outros* 2 segundos::" -#: ../../library/asyncio-task.rst:69 +#: ../../library/asyncio-task.rst:73 msgid "Expected output::" msgstr "Resultado esperado::" -#: ../../library/asyncio-task.rst:76 +#: ../../library/asyncio-task.rst:80 msgid "" "The :func:`asyncio.create_task` function to run coroutines concurrently as " "asyncio :class:`Tasks `." @@ -100,7 +98,7 @@ msgstr "" "A função :func:`asyncio.create_task` para executar corrotinas " "concorrentemente como :class:`Tasks ` asyncio." -#: ../../library/asyncio-task.rst:79 +#: ../../library/asyncio-task.rst:83 msgid "" "Let's modify the above example and run two ``say_after`` coroutines " "*concurrently*::" @@ -108,7 +106,7 @@ msgstr "" "Vamos modificar o exemplo acima e executar duas corrotinas ``say_after`` " "*concorrentemente*::" -#: ../../library/asyncio-task.rst:98 +#: ../../library/asyncio-task.rst:102 msgid "" "Note that expected output now shows that the snippet runs 1 second faster " "than before::" @@ -116,11 +114,11 @@ msgstr "" "Perceba que a saída esperada agora mostra que o trecho de código é executado " "1 segundo mais rápido do que antes::" -#: ../../library/asyncio-task.rst:110 +#: ../../library/asyncio-task.rst:114 msgid "Awaitables" msgstr "Aguardáveis" -#: ../../library/asyncio-task.rst:112 +#: ../../library/asyncio-task.rst:116 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 " @@ -130,7 +128,7 @@ msgstr "" "uma expressão :keyword:`await`. Muitas APIs asyncio são projetadas para " "aceitar aguardáveis." -#: ../../library/asyncio-task.rst:116 +#: ../../library/asyncio-task.rst:120 msgid "" "There are three main types of *awaitable* objects: **coroutines**, " "**Tasks**, and **Futures**." @@ -138,7 +136,7 @@ msgstr "" "Existem três tipos principais de objetos *aguardáveis*: **corrotinas**, " "**Tarefas**, e **Futuros**." -#: ../../library/asyncio-task.rst:122 +#: ../../library/asyncio-task.rst:126 msgid "" "Python coroutines are *awaitables* and therefore can be awaited from other " "coroutines::" @@ -146,7 +144,7 @@ msgstr "" "Corrotinas Python são *aguardáveis* e portanto podem ser aguardadas a partir " "de outras corrotinas::" -#: ../../library/asyncio-task.rst:143 +#: ../../library/asyncio-task.rst:147 msgid "" "In this documentation the term \"coroutine\" can be used for two closely " "related concepts:" @@ -154,18 +152,18 @@ msgstr "" "Nesta documentação, o termo \"corrotina\" pode ser usado para dois conceitos " "intimamente relacionados:" -#: ../../library/asyncio-task.rst:146 +#: ../../library/asyncio-task.rst:150 msgid "a *coroutine function*: an :keyword:`async def` function;" msgstr "uma *função de corrotina*: uma função :keyword:`async def`;" -#: ../../library/asyncio-task.rst:148 +#: ../../library/asyncio-task.rst:152 msgid "" "a *coroutine object*: an object returned by calling a *coroutine function*." msgstr "" "um *objeto de corrotina*: um objeto retornado ao chamar uma *função de " "corrotina*." -#: ../../library/asyncio-task.rst:151 +#: ../../library/asyncio-task.rst:155 msgid "" "asyncio also supports legacy :ref:`generator-based " "` coroutines." @@ -173,15 +171,15 @@ msgstr "" "asyncio também suporta corrotinas legadas :ref:`baseadas em geradores " "`." -#: ../../library/asyncio-task.rst:156 +#: ../../library/asyncio-task.rst:160 msgid "Tasks" msgstr "Tarefas" -#: ../../library/asyncio-task.rst:157 +#: ../../library/asyncio-task.rst:161 msgid "*Tasks* are used to schedule coroutines *concurrently*." msgstr "*Tarefas* são usadas para agendar corrotinas *concorrentemente*." -#: ../../library/asyncio-task.rst:159 +#: ../../library/asyncio-task.rst:163 msgid "" "When a coroutine is wrapped into a *Task* with functions like :func:`asyncio." "create_task` the coroutine is automatically scheduled to run soon::" @@ -190,11 +188,11 @@ msgstr "" "`asyncio.create_task`, a corrotina é automaticamente agendada para executar " "em breve::" -#: ../../library/asyncio-task.rst:181 +#: ../../library/asyncio-task.rst:185 msgid "Futures" msgstr "Futuros" -#: ../../library/asyncio-task.rst:182 +#: ../../library/asyncio-task.rst:186 msgid "" "A :class:`Future` is a special **low-level** awaitable object that " "represents an **eventual result** of an asynchronous operation." @@ -202,7 +200,7 @@ msgstr "" "Um :class:`Future` é um objeto aguardável especial de **baixo nível** que " "representa um **resultado eventual** de uma operação assíncrona." -#: ../../library/asyncio-task.rst:185 +#: ../../library/asyncio-task.rst:189 msgid "" "When a Future object is *awaited* it means that the coroutine will wait " "until the Future is resolved in some other place." @@ -210,7 +208,7 @@ msgstr "" "Quando um objeto Future é *aguardado* isso significa que a corrotina irá " "esperar até que o Future seja resolvido em algum outro local." -#: ../../library/asyncio-task.rst:188 +#: ../../library/asyncio-task.rst:192 msgid "" "Future objects in asyncio are needed to allow callback-based code to be used " "with async/await." @@ -218,7 +216,7 @@ msgstr "" "Objetos Future em asyncio são necessários para permitir que código baseado " "em função de retorno seja utilizado com async/await." -#: ../../library/asyncio-task.rst:191 +#: ../../library/asyncio-task.rst:195 msgid "" "Normally **there is no need** to create Future objects at the application " "level code." @@ -226,7 +224,7 @@ msgstr "" "Normalmente **não existe necessidade** em criar objetos Future no nível de " "código da aplicação." -#: ../../library/asyncio-task.rst:194 +#: ../../library/asyncio-task.rst:198 msgid "" "Future objects, sometimes exposed by libraries and some asyncio APIs, can be " "awaited::" @@ -234,7 +232,7 @@ msgstr "" "Objetos Future, algumas vezes expostos por bibliotecas e algumas APIs " "asyncio, podem ser aguardados::" -#: ../../library/asyncio-task.rst:206 +#: ../../library/asyncio-task.rst:210 msgid "" "A good example of a low-level function that returns a Future object is :meth:" "`loop.run_in_executor`." @@ -242,15 +240,15 @@ msgstr "" "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:211 +#: ../../library/asyncio-task.rst:215 msgid "Running an asyncio Program" msgstr "Executando um programa asyncio" -#: ../../library/asyncio-task.rst:215 +#: ../../library/asyncio-task.rst:219 msgid "Execute the :term:`coroutine` *coro* and return the result." msgstr "Executa a :term:`corrotina ` *coro* e retorna o resultado." -#: ../../library/asyncio-task.rst:217 +#: ../../library/asyncio-task.rst:221 msgid "" "This function runs the passed coroutine, taking care of managing the asyncio " "event loop, *finalizing asynchronous generators*, and closing the threadpool." @@ -259,7 +257,7 @@ msgstr "" "de eventos asyncio, *finalizando geradores assíncronos*, e encerrando a " "threadpool." -#: ../../library/asyncio-task.rst:221 +#: ../../library/asyncio-task.rst:225 msgid "" "This function cannot be called when another asyncio event loop is running in " "the same thread." @@ -267,12 +265,12 @@ msgstr "" "Esta função não pode ser chamada quando outro laço de eventos asyncio está " "executando na mesma thread." -#: ../../library/asyncio-task.rst:224 +#: ../../library/asyncio-task.rst:228 msgid "If *debug* is ``True``, the event loop will be run in debug mode." msgstr "" "Se *debug* for ``True``, o laço de eventos irá ser executado em modo debug." -#: ../../library/asyncio-task.rst:226 +#: ../../library/asyncio-task.rst:230 msgid "" "This function always creates a new event loop and closes it at the end. It " "should be used as a main entry point for asyncio programs, and should " @@ -282,16 +280,16 @@ msgstr "" "ser usada como um ponto de entrada principal para programas asyncio, e deve " "idealmente ser chamada apenas uma vez." -#: ../../library/asyncio-task.rst:230 ../../library/asyncio-task.rst:374 -#: ../../library/asyncio-task.rst:516 ../../library/asyncio-task.rst:665 +#: ../../library/asyncio-task.rst:234 ../../library/asyncio-task.rst:382 +#: ../../library/asyncio-task.rst:524 ../../library/asyncio-task.rst:657 msgid "Example::" msgstr "Exemplo::" -#: ../../library/asyncio-task.rst:240 +#: ../../library/asyncio-task.rst:244 msgid "Updated to use :meth:`loop.shutdown_default_executor`." msgstr "Atualizado para usar :meth:`loop.shutdown_default_executor`." -#: ../../library/asyncio-task.rst:244 +#: ../../library/asyncio-task.rst:248 msgid "" "The source code for ``asyncio.run()`` can be found in :source:`Lib/asyncio/" "runners.py`." @@ -299,19 +297,23 @@ msgstr "" "O código-fonte para ``asyncio.run()`` pode ser encontrado em :source:`Lib/" "asyncio/runners.py`." -#: ../../library/asyncio-task.rst:248 +#: ../../library/asyncio-task.rst:252 msgid "Creating Tasks" msgstr "Criando Tarefas" -#: ../../library/asyncio-task.rst:252 +#: ../../library/asyncio-task.rst:254 +msgid "**Source code:** :source:`Lib/asyncio/tasks.py`" +msgstr "**Source code:** :source:`Lib/asyncio/tasks.py`" + +#: ../../library/asyncio-task.rst:260 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:255 +#: ../../library/asyncio-task.rst:263 msgid "" "If *name* is not ``None``, it is set as the name of the task using :meth:" "`Task.set_name`." @@ -319,35 +321,43 @@ msgstr "" "Se *name* não for ``None``, ele é setado como o nome da tarefa usando :meth:" "`Task.set_name`." -#: ../../library/asyncio-task.rst:258 +#: ../../library/asyncio-task.rst:266 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." 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." +"`RuntimeError` é levantado se não existir um laço em execução na thread " +"atual." -#: ../../library/asyncio-task.rst:262 +#: ../../library/asyncio-task.rst:272 msgid "" -"This function has been **added in Python 3.7**. Prior to Python 3.7, the " -"low-level :func:`asyncio.ensure_future` function can be used instead::" +"Save a reference to the result of this function, to avoid a task " +"disappearing mid-execution. The event loop only keeps weak references to " +"tasks. A task that isn't referenced elsewhere may get garbage collected at " +"any time, even before it's done. For reliable \"fire-and-forget\" background " +"tasks, gather them in a collection::" msgstr "" -"Esta função foi **adicionada no Python 3.7**. Antes do Python 3.7, a função " -"de baixo nível :func:`asyncio.ensure_future` pode ser usada ao invés::" +"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:279 ../../library/asyncio-task.rst:857 -msgid "Added the ``name`` parameter." -msgstr "Adicionado o parâmetro ``name``." +#: ../../library/asyncio-task.rst:294 ../../library/asyncio-task.rst:846 +msgid "Added the *name* parameter." +msgstr "Adicionado o parâmetro *name*." -#: ../../library/asyncio-task.rst:284 +#: ../../library/asyncio-task.rst:299 msgid "Sleeping" msgstr "Dormindo" -#: ../../library/asyncio-task.rst:288 +#: ../../library/asyncio-task.rst:303 msgid "Block for *delay* seconds." msgstr "Bloqueia por *delay* segundos." -#: ../../library/asyncio-task.rst:290 +#: ../../library/asyncio-task.rst:305 msgid "" "If *result* is provided, it is returned to the caller when the coroutine " "completes." @@ -355,14 +365,14 @@ msgstr "" "Se *result* é fornecido, é retornado para o autor da chamada quando a " "corrotina termina." -#: ../../library/asyncio-task.rst:293 +#: ../../library/asyncio-task.rst:308 msgid "" "``sleep()`` always suspends the current task, allowing other tasks to run." msgstr "" "``sleep()`` sempre suspende a tarefa atual, permitindo que outras tarefas " "sejam executadas." -#: ../../library/asyncio-task.rst:296 +#: ../../library/asyncio-task.rst:311 msgid "" "Setting the delay to 0 provides an optimized path to allow other tasks to " "run. This can be used by long-running functions to avoid blocking the event " @@ -373,12 +383,7 @@ msgstr "" "para evitar que bloqueiem o laço de eventos por toda a duração da chamada da " "função." -#: ../../library/asyncio-task.rst:305 ../../library/asyncio-task.rst:328 -#: ../../library/asyncio-task.rst:371 ../../library/asyncio-task.rst:428 -#: ../../library/asyncio-task.rst:476 ../../library/asyncio-task.rst:513 -#: ../../library/asyncio-task.rst:545 ../../library/asyncio-task.rst:608 -#: ../../library/asyncio-task.rst:638 ../../library/asyncio-task.rst:664 -#: ../../library/asyncio-task.rst:676 +#: ../../library/asyncio-task.rst:320 msgid "" "The ``loop`` parameter. This function has been implicitly getting the " "current running loop since 3.7. See :ref:`What's New in 3.10's Removed " @@ -388,18 +393,26 @@ msgstr "" "em execução desde 3.7. Veja a :ref:`seção Removidos do O que há de novo no " "3.10 ` para mais informações." -#: ../../library/asyncio-task.rst:308 +#: ../../library/asyncio-task.rst:323 msgid "" "Example of coroutine displaying the current date every second for 5 seconds::" msgstr "" "Exemplo de uma corrotina exibindo a data atual a cada segundo durante 5 " "segundos::" -#: ../../library/asyncio-task.rst:335 +#: ../../library/asyncio-task.rst:341 ../../library/asyncio-task.rst:377 +#: ../../library/asyncio-task.rst:431 ../../library/asyncio-task.rst:485 +#: ../../library/asyncio-task.rst:519 ../../library/asyncio-task.rst:549 +#: ../../library/asyncio-task.rst:608 ../../library/asyncio-task.rst:643 +#: ../../library/asyncio-task.rst:663 +msgid "Removed the *loop* parameter." +msgstr "Removido o parâmetro *loop*." + +#: ../../library/asyncio-task.rst:346 msgid "Running Tasks Concurrently" msgstr "Executando tarefas concorrentemente" -#: ../../library/asyncio-task.rst:339 +#: ../../library/asyncio-task.rst:350 msgid "" "Run :ref:`awaitable objects ` in the *aws* sequence " "*concurrently*." @@ -407,7 +420,7 @@ msgstr "" "Executa :ref:`objetos aguardáveis ` na sequência *aws* " "de forma *concorrente*." -#: ../../library/asyncio-task.rst:342 +#: ../../library/asyncio-task.rst:353 msgid "" "If any awaitable in *aws* is a coroutine, it is automatically scheduled as a " "Task." @@ -415,7 +428,7 @@ msgstr "" "Se qualquer aguardável em *aws* é uma corrotina, ele é automaticamente " "agendado como uma Tarefa." -#: ../../library/asyncio-task.rst:345 +#: ../../library/asyncio-task.rst:356 msgid "" "If all awaitables are completed successfully, the result is an aggregate " "list of returned values. The order of result values corresponds to the " @@ -425,7 +438,7 @@ msgstr "" "lista agregada de valores retornados. A ordem dos valores resultantes " "corresponde a ordem dos aguardáveis em *aws*." -#: ../../library/asyncio-task.rst:349 +#: ../../library/asyncio-task.rst:360 msgid "" "If *return_exceptions* is ``False`` (default), the first raised exception is " "immediately propagated to the task that awaits on ``gather()``. Other " @@ -437,7 +450,7 @@ msgstr "" "``gather()``. Outros aguardáveis na sequência *aws* **não serão cancelados** " "e irão continuar a executar." -#: ../../library/asyncio-task.rst:354 +#: ../../library/asyncio-task.rst:365 msgid "" "If *return_exceptions* is ``True``, exceptions are treated the same as " "successful results, and aggregated in the result list." @@ -445,7 +458,7 @@ msgstr "" "Se *return_exceptions* for ``True``, exceções são tratadas da mesma forma " "que resultados com sucesso, e agregadas na lista de resultados." -#: ../../library/asyncio-task.rst:357 +#: ../../library/asyncio-task.rst:368 msgid "" "If ``gather()`` is *cancelled*, all submitted awaitables (that have not " "completed yet) are also *cancelled*." @@ -453,7 +466,7 @@ msgstr "" "Se ``gather()`` for *cancelado*, todos os aguardáveis que foram submetidos " "(que não foram concluídos ainda) também são *cancelados*." -#: ../../library/asyncio-task.rst:360 +#: ../../library/asyncio-task.rst:371 msgid "" "If any Task or Future from the *aws* sequence is *cancelled*, it is treated " "as if it raised :exc:`CancelledError` -- the ``gather()`` call is **not** " @@ -466,7 +479,7 @@ msgstr "" "cancelamento de uma Tarefa/Futuro submetida ocasione outras Tarefas/Futuros " "a serem cancelados." -#: ../../library/asyncio-task.rst:412 +#: ../../library/asyncio-task.rst:420 msgid "" "If *return_exceptions* is False, cancelling gather() after it has been " "marked done won't cancel any submitted awaitables. For instance, gather can " @@ -481,7 +494,7 @@ msgstr "" "capturar uma exceção (levantada por um dos aguardáveis) a partir de gather " "não irá cancelar quaisquer outros aguardáveis." -#: ../../library/asyncio-task.rst:419 +#: ../../library/asyncio-task.rst:427 msgid "" "If the *gather* itself is cancelled, the cancellation is propagated " "regardless of *return_exceptions*." @@ -489,7 +502,7 @@ msgstr "" "Se *gather* por si mesmo for cancelado, o cancelamento é propagado " "independente de *return_exceptions*." -#: ../../library/asyncio-task.rst:429 +#: ../../library/asyncio-task.rst:434 msgid "" "Deprecation warning is emitted if no positional arguments are provided or " "not all positional arguments are Future-like objects and there is no running " @@ -499,11 +512,11 @@ msgstr "" "fornecido, ou nem todos os argumentos posicionais são objetos similar a " "Futuro, e não existe nenhum laço de eventos em execução." -#: ../../library/asyncio-task.rst:436 +#: ../../library/asyncio-task.rst:441 msgid "Shielding From Cancellation" msgstr "Protegendo contra cancelamento" -#: ../../library/asyncio-task.rst:440 +#: ../../library/asyncio-task.rst:445 msgid "" "Protect an :ref:`awaitable object ` from being :meth:" "`cancelled `." @@ -511,20 +524,20 @@ msgstr "" "Protege um :ref:`objeto aguardável ` de ser :meth:" "`cancelado `." -#: ../../library/asyncio-task.rst:443 ../../library/asyncio-task.rst:490 +#: ../../library/asyncio-task.rst:448 ../../library/asyncio-task.rst:501 msgid "If *aw* is a coroutine it is automatically scheduled as a Task." msgstr "" "Se *aw* é uma corrotina, ela é automaticamente agendada como uma Tarefa." -#: ../../library/asyncio-task.rst:445 +#: ../../library/asyncio-task.rst:450 msgid "The statement::" msgstr "A instrução::" -#: ../../library/asyncio-task.rst:449 +#: ../../library/asyncio-task.rst:455 msgid "is equivalent to::" msgstr "é equivalente a::" -#: ../../library/asyncio-task.rst:453 +#: ../../library/asyncio-task.rst:459 msgid "" "*except* that if the coroutine containing it is cancelled, the Task running " "in ``something()`` is not cancelled. From the point of view of " @@ -538,7 +551,7 @@ msgstr "" "cancelado, então a expressão \"await\" ainda levanta um :exc:" "`CancelledError`." -#: ../../library/asyncio-task.rst:459 +#: ../../library/asyncio-task.rst:465 msgid "" "If ``something()`` is cancelled by other means (i.e. from within itself) " "that would also cancel ``shield()``." @@ -546,7 +559,7 @@ msgstr "" "Se ``something()`` é cancelada por outros meios (isto é, dentro ou a partir " "de si mesma) isso também iria cancelar ``shield()``." -#: ../../library/asyncio-task.rst:462 +#: ../../library/asyncio-task.rst:468 msgid "" "If it is desired to completely ignore cancellation (not recommended) the " "``shield()`` function should be combined with a try/except clause, as " @@ -556,7 +569,20 @@ msgstr "" "função ``shield()`` deve ser combinada com uma cláusula try/except, conforme " "abaixo::" -#: ../../library/asyncio-task.rst:477 +#: ../../library/asyncio-task.rst:480 +msgid "" +"Save a reference to tasks passed to this function, to avoid a task " +"disappearing mid-execution. The event loop only keeps weak references to " +"tasks. A task that isn't referenced elsewhere may get garbage collected at " +"any time, even before it's done." +msgstr "" +"Mantenha uma referência para as tarefas passadas para essa função função, " +"evitando assim 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." + +#: ../../library/asyncio-task.rst:488 msgid "" "Deprecation warning is emitted if *aw* is not Future-like object and there " "is no running event loop." @@ -564,11 +590,11 @@ msgstr "" "Aviso de descontinuidade é emitido se *aw* não é um objeto similar a Futuro, " "e não existe nenhum laço de eventos em execução." -#: ../../library/asyncio-task.rst:483 +#: ../../library/asyncio-task.rst:494 msgid "Timeouts" msgstr "Tempo limite" -#: ../../library/asyncio-task.rst:487 +#: ../../library/asyncio-task.rst:498 msgid "" "Wait for the *aw* :ref:`awaitable ` to complete with a " "timeout." @@ -576,7 +602,7 @@ msgstr "" "Espera o :ref:`aguardável ` *aw* concluir sem " "ultrapassar o tempo limite \"timeout\"." -#: ../../library/asyncio-task.rst:492 +#: ../../library/asyncio-task.rst:503 msgid "" "*timeout* can either be ``None`` or a float or int number of seconds to wait " "for. If *timeout* is ``None``, block until the future completes." @@ -585,7 +611,7 @@ msgstr "" "segundos para aguardar. Se *timeout* é ``None``, aguarda até o future " "encerrar." -#: ../../library/asyncio-task.rst:496 +#: ../../library/asyncio-task.rst:507 msgid "" "If a timeout occurs, it cancels the task and raises :exc:`asyncio." "TimeoutError`." @@ -593,7 +619,7 @@ msgstr "" "Se o tempo limite timeout for atingido, ele cancela a tarefa e levanta :exc:" "`asyncio.TimeoutError`." -#: ../../library/asyncio-task.rst:499 +#: ../../library/asyncio-task.rst:510 msgid "" "To avoid the task :meth:`cancellation `, wrap it in :func:" "`shield`." @@ -601,7 +627,7 @@ msgstr "" "Para evitar o :meth:`cancelamento ` da tarefa, envolva-a com :" "func:`shield`." -#: ../../library/asyncio-task.rst:502 +#: ../../library/asyncio-task.rst:513 msgid "" "The function will wait until the future is actually cancelled, so the total " "wait time may exceed the *timeout*. If an exception happens during " @@ -611,11 +637,11 @@ msgstr "" "total de espera pode exceder o tempo limite *timeout*. Se uma exceção " "ocorrer durante o cancelamento, ela será propagada." -#: ../../library/asyncio-task.rst:506 +#: ../../library/asyncio-task.rst:517 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:536 +#: ../../library/asyncio-task.rst:544 msgid "" "When *aw* is cancelled due to a timeout, ``wait_for`` waits for *aw* to be " "cancelled. Previously, it raised :exc:`asyncio.TimeoutError` immediately." @@ -624,11 +650,11 @@ msgstr "" "*aw* seja cancelado. Anteriormente, ele levantava :exc:`asyncio." "TimeoutError` imediatamente." -#: ../../library/asyncio-task.rst:549 +#: ../../library/asyncio-task.rst:554 msgid "Waiting Primitives" msgstr "Primitivas de Espera" -#: ../../library/asyncio-task.rst:553 +#: ../../library/asyncio-task.rst:558 msgid "" "Run :ref:`awaitable objects ` in the *aws* iterable " "concurrently and block until the condition specified by *return_when*." @@ -637,19 +663,19 @@ msgstr "" "concorrentemente e bloqueia até que a condição especificada por " "*return_when* seja atingida." -#: ../../library/asyncio-task.rst:557 +#: ../../library/asyncio-task.rst:562 msgid "The *aws* iterable must not be empty." msgstr "O iterável *aws* não deve ser vazio." -#: ../../library/asyncio-task.rst:559 +#: ../../library/asyncio-task.rst:564 msgid "Returns two sets of Tasks/Futures: ``(done, pending)``." msgstr "Retorna dois conjuntos de Tarefas/Futuros: ``(done, pending)``." -#: ../../library/asyncio-task.rst:561 +#: ../../library/asyncio-task.rst:566 msgid "Usage::" msgstr "Uso::" -#: ../../library/asyncio-task.rst:565 +#: ../../library/asyncio-task.rst:570 msgid "" "*timeout* (a float or int), if specified, can be used to control the maximum " "number of seconds to wait before returning." @@ -657,7 +683,7 @@ msgstr "" "*timeout* (um ponto flutuante ou inteiro), se especificado, pode ser usado " "para controlar o número máximo de segundos para aguardar antes de retornar." -#: ../../library/asyncio-task.rst:568 +#: ../../library/asyncio-task.rst:573 msgid "" "Note that this function does not raise :exc:`asyncio.TimeoutError`. Futures " "or Tasks that aren't done when the timeout occurs are simply returned in the " @@ -667,7 +693,7 @@ msgstr "" "Tarefas que não estão concluídas quando o tempo limite é excedido são " "simplesmente retornadas no segundo conjunto." -#: ../../library/asyncio-task.rst:572 +#: ../../library/asyncio-task.rst:577 msgid "" "*return_when* indicates when this function should return. It must be one of " "the following constants:" @@ -675,28 +701,28 @@ msgstr "" "*return_when* indica quando esta função deve retornar. Ele deve ser uma das " "seguintes constantes:" -#: ../../library/asyncio-task.rst:578 +#: ../../library/asyncio-task.rst:583 msgid "Constant" msgstr "Constante" -#: ../../library/asyncio-task.rst:578 +#: ../../library/asyncio-task.rst:583 msgid "Description" msgstr "Descrição" -#: ../../library/asyncio-task.rst:580 +#: ../../library/asyncio-task.rst:585 msgid ":const:`FIRST_COMPLETED`" msgstr ":const:`FIRST_COMPLETED`" -#: ../../library/asyncio-task.rst:580 +#: ../../library/asyncio-task.rst:585 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:583 +#: ../../library/asyncio-task.rst:588 msgid ":const:`FIRST_EXCEPTION`" msgstr ":const:`FIRST_EXCEPTION`" -#: ../../library/asyncio-task.rst:583 +#: ../../library/asyncio-task.rst:588 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:" @@ -706,16 +732,16 @@ msgstr "" "exceção. Se nenhum futuro levantar uma exceção, então é equivalente a :const:" "`ALL_COMPLETED`." -#: ../../library/asyncio-task.rst:589 +#: ../../library/asyncio-task.rst:594 msgid ":const:`ALL_COMPLETED`" msgstr ":const:`ALL_COMPLETED`" -#: ../../library/asyncio-task.rst:589 +#: ../../library/asyncio-task.rst:594 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:593 +#: ../../library/asyncio-task.rst:598 msgid "" "Unlike :func:`~asyncio.wait_for`, ``wait()`` does not cancel the futures " "when a timeout occurs." @@ -723,7 +749,7 @@ msgstr "" "Diferente de :func:`~asyncio.wait_for`, ``wait()`` não cancela os futuros " "quando um tempo limite é atingido." -#: ../../library/asyncio-task.rst:598 +#: ../../library/asyncio-task.rst:603 msgid "" "If any awaitable in *aws* is a coroutine, it is automatically scheduled as a " "Task. Passing coroutines objects to ``wait()`` directly is deprecated as it " @@ -734,7 +760,7 @@ msgstr "" "diretamente está descontinuado, pois leva a :ref:`comportamentos confusos " "`." -#: ../../library/asyncio-task.rst:612 +#: ../../library/asyncio-task.rst:614 msgid "" "``wait()`` schedules coroutines as Tasks automatically and later returns " "those implicitly created Task objects in ``(done, pending)`` sets. " @@ -744,16 +770,16 @@ msgstr "" "retorna esses objetos Tarefas criados implicitamente em conjuntos ``(done, " "pending)``. Portanto o seguinte código não irá funcionar como esperado::" -#: ../../library/asyncio-task.rst:625 +#: ../../library/asyncio-task.rst:627 msgid "Here is how the above snippet can be fixed::" msgstr "Aqui está a forma como o trecho de código acima pode ser consertado::" -#: ../../library/asyncio-task.rst:645 +#: ../../library/asyncio-task.rst:640 msgid "Passing coroutine objects to ``wait()`` directly is deprecated." msgstr "" "Passar objetos corrotina para ``wait()`` diretamente foi descontinuado." -#: ../../library/asyncio-task.rst:651 +#: ../../library/asyncio-task.rst:649 msgid "" "Run :ref:`awaitable objects ` in the *aws* iterable " "concurrently. Return an iterator of coroutines. Each coroutine returned can " @@ -765,7 +791,7 @@ msgstr "" "retornada pode ser aguardada para obter o primeiro resultado seguinte a " "partir do iterável dos aguardáveis restantes." -#: ../../library/asyncio-task.rst:656 +#: ../../library/asyncio-task.rst:654 msgid "" "Raises :exc:`asyncio.TimeoutError` if the timeout occurs before all Futures " "are done." @@ -773,7 +799,7 @@ msgstr "" "Levanta :exc:`asyncio.TimeoutError` se o tempo limite ocorrer antes que " "todos os futuros tenham encerrado." -#: ../../library/asyncio-task.rst:677 +#: ../../library/asyncio-task.rst:666 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." @@ -782,15 +808,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:683 +#: ../../library/asyncio-task.rst:672 msgid "Running in Threads" msgstr "Executando em Threads" -#: ../../library/asyncio-task.rst:687 +#: ../../library/asyncio-task.rst:676 msgid "Asynchronously run function *func* in a separate thread." msgstr "Executa a função *func* assincronamente em uma thread separada." -#: ../../library/asyncio-task.rst:689 +#: ../../library/asyncio-task.rst:678 msgid "" "Any \\*args and \\*\\*kwargs supplied for this function are directly passed " "to *func*. Also, the current :class:`contextvars.Context` is propagated, " @@ -802,14 +828,14 @@ msgstr "" "propagado, permitindo que variáveis de contexto da thread do laço de eventos " "sejam acessadas na thread separada." -#: ../../library/asyncio-task.rst:694 +#: ../../library/asyncio-task.rst:683 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:696 +#: ../../library/asyncio-task.rst:685 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 " @@ -820,41 +846,41 @@ msgstr "" "bloquear o laço de eventos se eles fossem executados na thread principal. " "Por exemplo::" -#: ../../library/asyncio-task.rst:726 +#: ../../library/asyncio-task.rst:715 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. Instead, " -"by using `asyncio.to_thread()`, we can run it in a separate thread without " -"blocking the event loop." +"Directly calling ``blocking_io()`` in any coroutine would block the event " +"loop for its duration, resulting in an additional 1 second of run time. " +"Instead, by using ``asyncio.to_thread()``, we can run it in a separate " +"thread without blocking the event loop." msgstr "" -"Chamar diretamente `blocking_io()` em qualquer corrotina iria bloquear o " +"Chamar diretamente ``blocking_io()`` em qualquer corrotina iria bloquear o " "laço de eventos durante a sua duração, resultando em 1 segundo adicional no " -"tempo de execução. Ao invés disso, ao utilizar `asyncio.to_thread()`, nós " +"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:733 +#: ../../library/asyncio-task.rst:722 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 " +"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." +"``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 a CPU." +"Python que não tem um, ``asyncio.to_thread()`` também pode ser usado para " +"funções vinculadas à CPU." -#: ../../library/asyncio-task.rst:742 +#: ../../library/asyncio-task.rst:731 msgid "Scheduling From Other Threads" msgstr "Agendando a partir de outras Threads" -#: ../../library/asyncio-task.rst:746 +#: ../../library/asyncio-task.rst:735 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:748 +#: ../../library/asyncio-task.rst:737 msgid "" "Return a :class:`concurrent.futures.Future` to wait for the result from " "another OS thread." @@ -862,7 +888,7 @@ msgstr "" "Retorna um :class:`concurrent.futures.Future` para aguardar pelo resultado " "de outra thread do sistema operacional." -#: ../../library/asyncio-task.rst:751 +#: ../../library/asyncio-task.rst:740 msgid "" "This function is meant to be called from a different OS thread than the one " "where the event loop is running. Example::" @@ -870,7 +896,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:763 +#: ../../library/asyncio-task.rst:752 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::" @@ -879,7 +905,7 @@ msgstr "" "notificado. Isso também pode ser usado para cancelar a tarefa no laço de " "eventos::" -#: ../../library/asyncio-task.rst:777 +#: ../../library/asyncio-task.rst:766 msgid "" "See the :ref:`concurrency and multithreading ` " "section of the documentation." @@ -887,7 +913,7 @@ msgstr "" "Veja a seção :ref:`concorrência e multithreading ` " "da documentação." -#: ../../library/asyncio-task.rst:780 +#: ../../library/asyncio-task.rst:769 msgid "" "Unlike other asyncio functions this function requires the *loop* argument to " "be passed explicitly." @@ -895,11 +921,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:787 +#: ../../library/asyncio-task.rst:776 msgid "Introspection" msgstr "Introspecção" -#: ../../library/asyncio-task.rst:792 +#: ../../library/asyncio-task.rst:781 msgid "" "Return the currently running :class:`Task` instance, or ``None`` if no task " "is running." @@ -907,7 +933,7 @@ msgstr "" "Retorna a instância :class:`Task` atualmente em execução, ou ``None`` se " "nenhuma tarefa estiver executando." -#: ../../library/asyncio-task.rst:795 +#: ../../library/asyncio-task.rst:784 msgid "" "If *loop* is ``None`` :func:`get_running_loop` is used to get the current " "loop." @@ -915,13 +941,13 @@ msgstr "" "Se *loop* for ``None``, então :func:`get_running_loop` é usado para obter o " "laço atual." -#: ../../library/asyncio-task.rst:803 +#: ../../library/asyncio-task.rst:792 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:806 +#: ../../library/asyncio-task.rst:795 msgid "" "If *loop* is ``None``, :func:`get_running_loop` is used for getting current " "loop." @@ -929,11 +955,11 @@ msgstr "" "Se *loop* for ``None``, então :func:`get_running_loop` é usado para obter o " "laço atual." -#: ../../library/asyncio-task.rst:813 +#: ../../library/asyncio-task.rst:802 msgid "Task Object" msgstr "Objeto Task" -#: ../../library/asyncio-task.rst:817 +#: ../../library/asyncio-task.rst:806 msgid "" "A :class:`Future-like ` object that runs a Python :ref:`coroutine " "`. Not thread-safe." @@ -941,7 +967,7 @@ msgstr "" "Um objeto :class:`similar a Futuro ` que executa uma :ref:`corrotina " "` Python. Não é seguro para thread." -#: ../../library/asyncio-task.rst:820 +#: ../../library/asyncio-task.rst:809 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 " @@ -953,50 +979,50 @@ msgstr "" "aguarda a conclusão do Futuro. Quando o Futuro é *concluído*, a execução da " "corrotina contida é retomada." -#: ../../library/asyncio-task.rst:826 +#: ../../library/asyncio-task.rst:815 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:831 +#: ../../library/asyncio-task.rst:820 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:836 +#: ../../library/asyncio-task.rst:825 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:841 +#: ../../library/asyncio-task.rst:830 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." 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:846 +#: ../../library/asyncio-task.rst:835 msgid "" ":class:`asyncio.Task` inherits from :class:`Future` all of its APIs except :" "meth:`Future.set_result` and :meth:`Future.set_exception`." @@ -1004,7 +1030,7 @@ msgstr "" ":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:850 +#: ../../library/asyncio-task.rst:839 msgid "" "Tasks support the :mod:`contextvars` module. When a Task is created it " "copies the current context and later runs its coroutine in the copied " @@ -1014,27 +1040,23 @@ msgstr "" "copia o contexto atual e posteriormente executa sua corrotina no contexto " "copiado." -#: ../../library/asyncio-task.rst:854 +#: ../../library/asyncio-task.rst:843 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:862 -msgid "The *loop* parameter." -msgstr "O parâmetro *loop*." - -#: ../../library/asyncio-task.rst:863 +#: ../../library/asyncio-task.rst:849 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:869 +#: ../../library/asyncio-task.rst:855 msgid "Request the Task to be cancelled." msgstr "Solicita o cancelamento da Tarefa." -#: ../../library/asyncio-task.rst:871 +#: ../../library/asyncio-task.rst:857 msgid "" "This arranges for a :exc:`CancelledError` exception to be thrown into the " "wrapped coroutine on the next cycle of the event loop." @@ -1042,7 +1064,7 @@ 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:874 +#: ../../library/asyncio-task.rst:860 msgid "" "The coroutine then has a chance to clean up or even deny the request by " "suppressing the exception with a :keyword:`try` ... ... ``except " @@ -1058,11 +1080,11 @@ msgstr "" "cancelada, apesar que suprimir o cancelamento completamente não é comum, e é " "ativamente desencorajado." -#: ../../library/asyncio-task.rst:882 -msgid "Added the ``msg`` parameter." -msgstr "Adicionado o parâmetro ``msg``." +#: ../../library/asyncio-task.rst:868 +msgid "Added the *msg* parameter." +msgstr "Adicionado o parâmetro *msg*." -#: ../../library/asyncio-task.rst:887 +#: ../../library/asyncio-task.rst:873 msgid "" "The following example illustrates how coroutines can intercept the " "cancellation request::" @@ -1070,11 +1092,11 @@ msgstr "" "O seguinte exemplo ilustra como corrotinas podem interceptar o cancelamento " "de requisições::" -#: ../../library/asyncio-task.rst:926 +#: ../../library/asyncio-task.rst:912 msgid "Return ``True`` if the Task is *cancelled*." msgstr "Retorna ``True`` se a Tarefa for *cancelada*." -#: ../../library/asyncio-task.rst:928 +#: ../../library/asyncio-task.rst:914 msgid "" "The Task is *cancelled* when the cancellation was requested with :meth:" "`cancel` and the wrapped coroutine propagated the :exc:`CancelledError` " @@ -1084,11 +1106,11 @@ msgstr "" "`cancel` e a corrotina contida propagou a exceção :exc:`CancelledError` " "gerada nela." -#: ../../library/asyncio-task.rst:934 +#: ../../library/asyncio-task.rst:920 msgid "Return ``True`` if the Task is *done*." msgstr "Retorna ``True`` se a Tarefa estiver *concluída*." -#: ../../library/asyncio-task.rst:936 +#: ../../library/asyncio-task.rst:922 msgid "" "A Task is *done* when the wrapped coroutine either returned a value, raised " "an exception, or the Task was cancelled." @@ -1096,11 +1118,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:941 +#: ../../library/asyncio-task.rst:927 msgid "Return the result of the Task." msgstr "Retorna o resultado da Tarefa." -#: ../../library/asyncio-task.rst:943 +#: ../../library/asyncio-task.rst:929 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.)" @@ -1109,7 +1131,7 @@ msgstr "" "retornado (ou se a corrotina levantou uma exceção, essa exceção é re-" "levantada.)" -#: ../../library/asyncio-task.rst:947 ../../library/asyncio-task.rst:961 +#: ../../library/asyncio-task.rst:933 ../../library/asyncio-task.rst:947 msgid "" "If the Task has been *cancelled*, this method raises a :exc:`CancelledError` " "exception." @@ -1117,7 +1139,7 @@ msgstr "" "Se a Tarefa foi *cancelada*, este método levanta uma exceção :exc:" "`CancelledError`." -#: ../../library/asyncio-task.rst:950 +#: ../../library/asyncio-task.rst:936 msgid "" "If the Task's result isn't yet available, this method raises a :exc:" "`InvalidStateError` exception." @@ -1125,11 +1147,11 @@ 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:955 +#: ../../library/asyncio-task.rst:941 msgid "Return the exception of the Task." msgstr "Retorna a exceção de uma Tarefa." -#: ../../library/asyncio-task.rst:957 +#: ../../library/asyncio-task.rst:943 msgid "" "If the wrapped coroutine raised an exception that exception is returned. If " "the wrapped coroutine returned normally this method returns ``None``." @@ -1137,7 +1159,7 @@ 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:964 +#: ../../library/asyncio-task.rst:950 msgid "" "If the Task isn't *done* yet, this method raises an :exc:`InvalidStateError` " "exception." @@ -1145,29 +1167,29 @@ msgstr "" "Se a Tarefa não estiver *concluída* ainda, este método levanta uma exceção :" "exc:`InvalidStateError`." -#: ../../library/asyncio-task.rst:969 +#: ../../library/asyncio-task.rst:955 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:971 ../../library/asyncio-task.rst:980 +#: ../../library/asyncio-task.rst:957 ../../library/asyncio-task.rst:966 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:973 +#: ../../library/asyncio-task.rst:959 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:978 +#: ../../library/asyncio-task.rst:964 msgid "Remove *callback* from the callbacks list." msgstr "Remove *callback* da lista de funções de retorno." -#: ../../library/asyncio-task.rst:982 +#: ../../library/asyncio-task.rst:968 msgid "" "See the documentation of :meth:`Future.remove_done_callback` for more " "details." @@ -1175,11 +1197,11 @@ msgstr "" "Veja a documentação do método :meth:`Future.remove_done_callback` para mais " "detalhes." -#: ../../library/asyncio-task.rst:987 +#: ../../library/asyncio-task.rst:973 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:989 +#: ../../library/asyncio-task.rst:975 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, " @@ -1187,20 +1209,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:995 +#: ../../library/asyncio-task.rst:981 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:997 +#: ../../library/asyncio-task.rst:983 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:999 +#: ../../library/asyncio-task.rst:985 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 " @@ -1208,47 +1230,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:1008 +#: ../../library/asyncio-task.rst:994 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:1010 +#: ../../library/asyncio-task.rst:996 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:1013 +#: ../../library/asyncio-task.rst:999 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:1015 +#: ../../library/asyncio-task.rst:1001 msgid "" "The *file* argument is an I/O stream to which the output is written; by " -"default output is written to :data:`sys.stderr`." +"default output is written to :data:`sys.stdout`." msgstr "" -"O argumento *file* é um fluxo de entrada e saída para o qual a saída é " -"escrita; por padrão a saída é escrita para :data:`sys.stderr`." +"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:1020 +#: ../../library/asyncio-task.rst:1006 msgid "Return the coroutine object wrapped by the :class:`Task`." msgstr "Retorna o objeto corrotina contido pela :class:`Task`." -#: ../../library/asyncio-task.rst:1026 +#: ../../library/asyncio-task.rst:1012 msgid "Return the name of the Task." msgstr "Retorna o nome da Tarefa." -#: ../../library/asyncio-task.rst:1028 +#: ../../library/asyncio-task.rst:1014 msgid "" "If no name has been explicitly assigned to the Task, the default asyncio " "Task implementation generates a default name during instantiation." @@ -1256,18 +1278,18 @@ 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:1036 +#: ../../library/asyncio-task.rst:1022 msgid "Set the name of the Task." msgstr "Define o nome da Tarefa." -#: ../../library/asyncio-task.rst:1038 +#: ../../library/asyncio-task.rst:1024 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:1041 +#: ../../library/asyncio-task.rst:1027 msgid "" "In the default Task implementation, the name will be visible in the :func:" "`repr` output of a task object." @@ -1275,19 +1297,19 @@ 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:1050 +#: ../../library/asyncio-task.rst:1036 msgid "Generator-based Coroutines" msgstr "Corrotinas baseadas em gerador" -#: ../../library/asyncio-task.rst:1054 +#: ../../library/asyncio-task.rst:1040 msgid "" -"Support for generator-based coroutines is **deprecated** and is scheduled " -"for removal in Python 3.10." +"Support for generator-based coroutines is **deprecated** and is removed in " +"Python 3.11." msgstr "" -"Suporte para corrotinas baseadas em gerador está **descontinuado** e " -"agendado para ser removido no Python 3.10." +"Suporte para corrotinas baseadas em gerador está **descontinuado** e será " +"removido em Python 3.11." -#: ../../library/asyncio-task.rst:1057 +#: ../../library/asyncio-task.rst:1043 msgid "" "Generator-based coroutines predate async/await syntax. They are Python " "generators that use ``yield from`` expressions to await on Futures and other " @@ -1297,7 +1319,7 @@ msgstr "" "geradores Python que usam expressões ``yield from`` para aguardar Futuros e " "outras corrotinas." -#: ../../library/asyncio-task.rst:1061 +#: ../../library/asyncio-task.rst:1047 msgid "" "Generator-based coroutines should be decorated with :func:`@asyncio." "coroutine `, although this is not enforced." @@ -1305,11 +1327,11 @@ msgstr "" "Corrotinas baseadas em gerador devem ser decoradas com :func:`@asyncio." "coroutine `, apesar disso não ser forçado." -#: ../../library/asyncio-task.rst:1068 +#: ../../library/asyncio-task.rst:1054 msgid "Decorator to mark generator-based coroutines." msgstr "Decorador para marcar corrotinas baseadas em gerador." -#: ../../library/asyncio-task.rst:1070 +#: ../../library/asyncio-task.rst:1056 msgid "" "This decorator enables legacy generator-based coroutines to be compatible " "with async/await code::" @@ -1317,20 +1339,20 @@ msgstr "" "Este decorador permite que corrotinas legadas baseadas em gerador sejam " "compatíveis com código async/await::" -#: ../../library/asyncio-task.rst:1080 +#: ../../library/asyncio-task.rst:1066 msgid "This decorator should not be used for :keyword:`async def` coroutines." msgstr "" "Este decorador não deve ser usado para corrotinas :keyword:`async def`." -#: ../../library/asyncio-task.rst:1085 +#: ../../library/asyncio-task.rst:1071 msgid "Use :keyword:`async def` instead." msgstr "Use :keyword:`async def` ao invés." -#: ../../library/asyncio-task.rst:1089 +#: ../../library/asyncio-task.rst:1075 msgid "Return ``True`` if *obj* is a :ref:`coroutine object `." msgstr "Retorna ``True`` se *obj* é um :ref:`objeto corrotina `." -#: ../../library/asyncio-task.rst:1091 +#: ../../library/asyncio-task.rst:1077 msgid "" "This method is different from :func:`inspect.iscoroutine` because it returns " "``True`` for generator-based coroutines." @@ -1338,12 +1360,12 @@ msgstr "" "Este método é diferente de :func:`inspect.iscoroutine` porque ele retorna " "``True`` para corrotinas baseadas em gerador." -#: ../../library/asyncio-task.rst:1096 +#: ../../library/asyncio-task.rst:1082 msgid "Return ``True`` if *func* is a :ref:`coroutine function `." msgstr "" "Retorna ``True`` se *func* é uma :ref:`função de corrotina `." -#: ../../library/asyncio-task.rst:1099 +#: ../../library/asyncio-task.rst:1085 msgid "" "This method is different from :func:`inspect.iscoroutinefunction` because it " "returns ``True`` for generator-based coroutine functions decorated with :" diff --git a/library/asyncio.po b/library/asyncio.po index c7bae497f..ff74c3f38 100644 --- a/library/asyncio.po +++ b/library/asyncio.po @@ -1,39 +1,37 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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 -# Claudio Rogerio Carvalho Filho , 2021 -# Lilian Corrêa , 2021 +# python-doc bot, 2025 # #, 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 00:55+0000\n" -"Last-Translator: Lilian Corrêa , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:57+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" -#: ../../library/asyncio.rst:66 +#: ../../library/asyncio.rst:85 msgid "High-level APIs" msgstr "APIs de alto nível" -#: ../../library/asyncio.rst:77 +#: ../../library/asyncio.rst:96 msgid "Low-level APIs" msgstr "APIs de baixo nível" -#: ../../library/asyncio.rst:87 +#: ../../library/asyncio.rst:106 msgid "Guides and Tutorials" msgstr "Guias e tutoriais" @@ -45,7 +43,7 @@ msgstr ":mod:`asyncio` --- E/S assíncrona" msgid "Hello World!" msgstr "Olá Mundo!" -#: ../../library/asyncio.rst:23 +#: ../../library/asyncio.rst:22 msgid "" "asyncio is a library to write **concurrent** code using the **async/await** " "syntax." @@ -53,7 +51,7 @@ msgstr "" "asyncio é uma biblioteca para escrever código **simultâneo** usando a " "sintaxe **async/await**." -#: ../../library/asyncio.rst:26 +#: ../../library/asyncio.rst:25 msgid "" "asyncio is used as a foundation for multiple Python asynchronous frameworks " "that provide high-performance network and web-servers, database connection " @@ -63,7 +61,7 @@ msgstr "" "que fornecem rede e servidores web de alto desempenho, bibliotecas de " "conexão de banco de dados, filas de tarefas distribuídas etc." -#: ../../library/asyncio.rst:30 +#: ../../library/asyncio.rst:29 msgid "" "asyncio is often a perfect fit for IO-bound and high-level **structured** " "network code." @@ -71,11 +69,11 @@ msgstr "" "asyncio geralmente serve perfeitamente para código de rede **estruturado** " "de alto nível e vinculado a E/S." -#: ../../library/asyncio.rst:33 +#: ../../library/asyncio.rst:32 msgid "asyncio provides a set of **high-level** APIs to:" msgstr "asyncio fornece um conjunto de APIs de **alto nível** para:" -#: ../../library/asyncio.rst:35 +#: ../../library/asyncio.rst:34 msgid "" ":ref:`run Python coroutines ` concurrently and have full control " "over their execution;" @@ -83,23 +81,23 @@ msgstr "" ":ref:`executar corrotinas do Python ` simultaneamente e ter " "controle total sobre sua execução;" -#: ../../library/asyncio.rst:38 +#: ../../library/asyncio.rst:37 msgid "perform :ref:`network IO and IPC `;" msgstr "realizar :ref:`IPC e E/S de rede `;" -#: ../../library/asyncio.rst:40 +#: ../../library/asyncio.rst:39 msgid "control :ref:`subprocesses `;" msgstr "controlar :ref:`subprocessos `;" -#: ../../library/asyncio.rst:42 +#: ../../library/asyncio.rst:41 msgid "distribute tasks via :ref:`queues `;" msgstr "distribuir tarefas por meio de :ref:`filas `;" -#: ../../library/asyncio.rst:44 +#: ../../library/asyncio.rst:43 msgid ":ref:`synchronize ` concurrent code;" msgstr ":ref:`sincronizar ` código simultâneo;" -#: ../../library/asyncio.rst:46 +#: ../../library/asyncio.rst:45 msgid "" "Additionally, there are **low-level** APIs for *library and framework " "developers* to:" @@ -107,7 +105,7 @@ msgstr "" "Além disso, há APIs de **baixo nível** para *desenvolvedores de biblioteca e " "framework* para:" -#: ../../library/asyncio.rst:49 +#: ../../library/asyncio.rst:48 msgid "" "create and manage :ref:`event loops `, which provide " "asynchronous APIs for :meth:`networking `, running :meth:" @@ -119,7 +117,7 @@ msgstr "" "`subprocessos `, tratamento de :meth:`sinais de " "sistemas operacionais ` etc;" -#: ../../library/asyncio.rst:54 +#: ../../library/asyncio.rst:53 msgid "" "implement efficient protocols using :ref:`transports `;" @@ -127,7 +125,7 @@ msgstr "" "implementar protocolos eficientes usando :ref:`transportes `;" -#: ../../library/asyncio.rst:57 +#: ../../library/asyncio.rst:56 msgid "" ":ref:`bridge ` callback-based libraries and code with async/" "await syntax." @@ -135,11 +133,31 @@ msgstr "" ":ref:`fazer uma ponte ` sobre bibliotecas baseadas em " "chamadas e codificar com a sintaxe de async/await." -#: ../../library/asyncio.rst:65 +#: ../../library/asyncio.rst:62 +msgid "asyncio REPL" +msgstr "REPL de asyncio" + +#: ../../library/asyncio.rst:63 +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:75 +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:77 +msgid "(also 3.9.20, and 3.8.20) Emits audit events." +msgstr "" + +#: ../../library/asyncio.rst:84 msgid "Reference" msgstr "Referência" -#: ../../library/asyncio.rst:96 +#: ../../library/asyncio.rst:115 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 d29b72fb5..cdda4a580 100644 --- a/library/asyncore.po +++ b/library/asyncore.po @@ -1,55 +1,55 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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 -# i17obot , 2021 -# Danilo Lima , 2021 +# python-doc bot, 2025 # #, 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 00:55+0000\n" -"Last-Translator: Danilo Lima , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:57+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/asyncore.rst:2 msgid ":mod:`asyncore` --- Asynchronous socket handler" msgstr "" -#: ../../library/asyncore.rst:13 +#: ../../library/asyncore.rst:14 msgid "**Source code:** :source:`Lib/asyncore.py`" msgstr "**Código-fonte:** :source:`Lib/asyncore.py`" -#: ../../library/asyncore.rst:15 -msgid "Please use :mod:`asyncio` instead." +#: ../../library/asyncore.rst:16 +msgid "" +":mod:`asyncore` will be removed in Python 3.12 (see :pep:`PEP 594 " +"<594#asyncore>` for details). Please use :mod:`asyncio` instead." msgstr "" -#: ../../library/asyncore.rst:22 +#: ../../library/asyncore.rst:25 msgid "" "This module exists for backwards compatibility only. For new code we " "recommend using :mod:`asyncio`." msgstr "" -#: ../../library/asyncore.rst:25 +#: ../../library/asyncore.rst:28 msgid "" "This module provides the basic infrastructure for writing asynchronous " "socket service clients and servers." msgstr "" -#: ../../library/asyncore.rst:28 +#: ../../library/asyncore.rst:31 msgid "" "There are only two ways to have a program on a single processor do \"more " "than one thing at a time.\" Multi-threaded programming is the simplest and " @@ -61,7 +61,7 @@ msgid "" "servers are rarely processor bound, however." msgstr "" -#: ../../library/asyncore.rst:37 +#: ../../library/asyncore.rst:40 msgid "" "If your operating system supports the :c:func:`select` system call in its I/" "O library (and nearly all do), then you can use it to juggle multiple " @@ -75,7 +75,7 @@ msgid "" "module is invaluable." msgstr "" -#: ../../library/asyncore.rst:48 +#: ../../library/asyncore.rst:51 msgid "" "The basic idea behind both modules is to create one or more network " "*channels*, instances of class :class:`asyncore.dispatcher` and :class:" @@ -84,7 +84,7 @@ msgid "" "*map*." msgstr "" -#: ../../library/asyncore.rst:54 +#: ../../library/asyncore.rst:57 msgid "" "Once the initial channel(s) is(are) created, calling the :func:`loop` " "function activates channel service, which continues until the last channel " @@ -92,7 +92,7 @@ msgid "" "is closed." msgstr "" -#: ../../library/asyncore.rst:61 +#: ../../library/asyncore.rst:64 msgid "" "Enter a polling loop that terminates after count passes or all open channels " "have been closed. All arguments are optional. The *count* parameter " @@ -104,7 +104,7 @@ msgid "" "preference to :func:`~select.select` (the default is ``False``)." msgstr "" -#: ../../library/asyncore.rst:70 +#: ../../library/asyncore.rst:73 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 " @@ -113,7 +113,7 @@ msgid "" "be mixed in the map." msgstr "" -#: ../../library/asyncore.rst:79 +#: ../../library/asyncore.rst:82 msgid "" "The :class:`dispatcher` class is a thin wrapper around a low-level socket " "object. To make it more useful, it has a few methods for event-handling " @@ -121,7 +121,7 @@ msgid "" "as a normal non-blocking socket object." msgstr "" -#: ../../library/asyncore.rst:84 +#: ../../library/asyncore.rst:87 msgid "" "The firing of low-level events at certain times or in certain connection " "states tells the asynchronous loop that certain higher-level events have " @@ -132,39 +132,39 @@ msgid "" "events are:" msgstr "" -#: ../../library/asyncore.rst:93 +#: ../../library/asyncore.rst:96 msgid "Event" msgstr "Evento" -#: ../../library/asyncore.rst:93 +#: ../../library/asyncore.rst:96 msgid "Description" msgstr "Descrição" -#: ../../library/asyncore.rst:95 +#: ../../library/asyncore.rst:98 msgid "``handle_connect()``" msgstr "``handle_connect()``" -#: ../../library/asyncore.rst:95 +#: ../../library/asyncore.rst:98 msgid "Implied by the first read or write event" msgstr "" -#: ../../library/asyncore.rst:98 +#: ../../library/asyncore.rst:101 msgid "``handle_close()``" msgstr "``handle_close()``" -#: ../../library/asyncore.rst:98 +#: ../../library/asyncore.rst:101 msgid "Implied by a read event with no data available" msgstr "" -#: ../../library/asyncore.rst:101 +#: ../../library/asyncore.rst:104 msgid "``handle_accepted()``" msgstr "``handle_accepted()``" -#: ../../library/asyncore.rst:101 +#: ../../library/asyncore.rst:104 msgid "Implied by a read event on a listening socket" msgstr "" -#: ../../library/asyncore.rst:105 +#: ../../library/asyncore.rst:108 msgid "" "During asynchronous processing, each mapped channel's :meth:`readable` and :" "meth:`writable` methods are used to determine whether the channel's socket " @@ -172,26 +172,26 @@ msgid "" "`poll`\\ ed for read and write events." msgstr "" -#: ../../library/asyncore.rst:110 +#: ../../library/asyncore.rst:113 msgid "" "Thus, the set of channel events is larger than the basic socket events. The " "full set of methods that can be overridden in your subclass follows:" msgstr "" -#: ../../library/asyncore.rst:116 +#: ../../library/asyncore.rst:119 msgid "" "Called when the asynchronous loop detects that a :meth:`read` call on the " "channel's socket will succeed." msgstr "" -#: ../../library/asyncore.rst:122 +#: ../../library/asyncore.rst:125 msgid "" "Called when the asynchronous loop detects that a writable socket can be " "written. Often this method will implement the necessary buffering for " "performance. For example::" msgstr "" -#: ../../library/asyncore.rst:133 +#: ../../library/asyncore.rst:136 msgid "" "Called when there is out of band (OOB) data for a socket connection. This " "will almost never happen, as OOB is tenuously supported and rarely used." @@ -200,24 +200,24 @@ msgstr "" "quase nunca acontece, como a 00B é suportada com tenacidade e raramente " "usada." -#: ../../library/asyncore.rst:139 +#: ../../library/asyncore.rst:142 msgid "" "Called when the active opener's socket actually makes a connection. Might " "send a \"welcome\" banner, or initiate a protocol negotiation with the " "remote endpoint, for example." msgstr "" -#: ../../library/asyncore.rst:146 +#: ../../library/asyncore.rst:149 msgid "Called when the socket is closed." msgstr "" -#: ../../library/asyncore.rst:151 +#: ../../library/asyncore.rst:154 msgid "" "Called when an exception is raised and not otherwise handled. The default " "version prints a condensed traceback." msgstr "" -#: ../../library/asyncore.rst:157 +#: ../../library/asyncore.rst:160 msgid "" "Called on listening channels (passive openers) when a connection can be " "established with a new remote endpoint that has issued a :meth:`connect` " @@ -225,7 +225,7 @@ msgid "" "`handle_accepted` instead." msgstr "" -#: ../../library/asyncore.rst:167 +#: ../../library/asyncore.rst:170 msgid "" "Called on listening channels (passive openers) when a connection has been " "established with a new remote endpoint that has issued a :meth:`connect` " @@ -234,7 +234,7 @@ msgid "" "socket on the other end of the connection." msgstr "" -#: ../../library/asyncore.rst:178 +#: ../../library/asyncore.rst:181 msgid "" "Called each time around the asynchronous loop to determine whether a " "channel's socket should be added to the list on which read events can " @@ -242,7 +242,7 @@ msgid "" "default, all channels will be interested in read events." msgstr "" -#: ../../library/asyncore.rst:186 +#: ../../library/asyncore.rst:189 msgid "" "Called each time around the asynchronous loop to determine whether a " "channel's socket should be added to the list on which write events can " @@ -250,55 +250,55 @@ msgid "" "default, all channels will be interested in write events." msgstr "" -#: ../../library/asyncore.rst:192 +#: ../../library/asyncore.rst:195 msgid "" "In addition, each channel delegates or extends many of the socket methods. " "Most of these are nearly identical to their socket partners." msgstr "" -#: ../../library/asyncore.rst:198 +#: ../../library/asyncore.rst:201 msgid "" "This is identical to the creation of a normal socket, and will use the same " "options for creation. Refer to the :mod:`socket` documentation for " "information on creating sockets." msgstr "" -#: ../../library/asyncore.rst:202 +#: ../../library/asyncore.rst:205 msgid "*family* and *type* arguments can be omitted." msgstr "" -#: ../../library/asyncore.rst:208 +#: ../../library/asyncore.rst:211 msgid "" "As with the normal socket object, *address* is a tuple with the first " "element the host to connect to, and the second the port number." msgstr "" -#: ../../library/asyncore.rst:214 +#: ../../library/asyncore.rst:217 msgid "Send *data* to the remote end-point of the socket." msgstr "" -#: ../../library/asyncore.rst:219 +#: ../../library/asyncore.rst:222 msgid "" "Read at most *buffer_size* bytes from the socket's remote end-point. An " "empty bytes object implies that the channel has been closed from the other " "end." msgstr "" -#: ../../library/asyncore.rst:223 +#: ../../library/asyncore.rst:226 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." msgstr "" -#: ../../library/asyncore.rst:230 +#: ../../library/asyncore.rst:233 msgid "" "Listen for connections made to the socket. The *backlog* argument specifies " "the maximum number of queued connections and should be at least 1; the " "maximum value is system-dependent (usually 5)." msgstr "" -#: ../../library/asyncore.rst:237 +#: ../../library/asyncore.rst:240 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:" @@ -307,7 +307,7 @@ msgid "" "`dispatcher` object's :meth:`set_reuse_addr` method." msgstr "" -#: ../../library/asyncore.rst:246 +#: ../../library/asyncore.rst:249 msgid "" "Accept a connection. The socket must be bound to an address and listening " "for connections. The return value can be either ``None`` or a pair ``(conn, " @@ -318,21 +318,21 @@ msgid "" "this event and keep listening for further incoming connections." msgstr "" -#: ../../library/asyncore.rst:258 +#: ../../library/asyncore.rst:261 msgid "" "Close the socket. All future operations on the socket object will fail. The " "remote end-point will receive no more data (after queued data is flushed). " "Sockets are automatically closed when they are garbage-collected." msgstr "" -#: ../../library/asyncore.rst:266 +#: ../../library/asyncore.rst:269 msgid "" "A :class:`dispatcher` subclass which adds simple buffered output capability, " "useful for simple clients. For more sophisticated usage use :class:`asynchat." "async_chat`." msgstr "" -#: ../../library/asyncore.rst:272 +#: ../../library/asyncore.rst:275 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:" @@ -341,11 +341,11 @@ msgid "" "`file_wrapper` constructor." msgstr "" -#: ../../library/asyncore.rst:278 ../../library/asyncore.rst:287 +#: ../../library/asyncore.rst:281 ../../library/asyncore.rst:290 msgid ":ref:`Availability `: Unix." msgstr ":ref:`Disponibilidade `: Unix." -#: ../../library/asyncore.rst:282 +#: ../../library/asyncore.rst:285 msgid "" "A file_wrapper takes an integer file descriptor and calls :func:`os.dup` to " "duplicate the handle so that the original handle may be closed independently " @@ -353,21 +353,21 @@ msgid "" "socket for use by the :class:`file_dispatcher` class." msgstr "" -#: ../../library/asyncore.rst:293 +#: ../../library/asyncore.rst:296 msgid "asyncore Example basic HTTP client" msgstr "" -#: ../../library/asyncore.rst:295 +#: ../../library/asyncore.rst:298 msgid "" "Here is a very basic HTTP client that uses the :class:`dispatcher` class to " "implement its socket handling::" msgstr "" -#: ../../library/asyncore.rst:332 +#: ../../library/asyncore.rst:335 msgid "asyncore Example basic echo server" msgstr "" -#: ../../library/asyncore.rst:334 +#: ../../library/asyncore.rst:337 msgid "" "Here is a basic echo server that uses the :class:`dispatcher` class to " "accept connections and dispatches the incoming connections to a handler::" diff --git a/library/atexit.po b/library/atexit.po index 1ecb7dc56..6210ab234 100644 --- a/library/atexit.po +++ b/library/atexit.po @@ -1,27 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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.10\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-06-30 12:50+0000\n" -"PO-Revision-Date: 2021-06-28 00:55+0000\n" -"Last-Translator: Rafael Fontenelle , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:57+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/atexit.rst:2 msgid ":mod:`atexit` --- Exit handlers" @@ -86,7 +86,7 @@ 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 msgid "" diff --git a/library/audioop.po b/library/audioop.po index fbe3a8ea4..814f0a61d 100644 --- a/library/audioop.po +++ b/library/audioop.po @@ -1,32 +1,39 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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 +# python-doc bot, 2025 # #, 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 00:55+0000\n" -"Last-Translator: Raphael Mendonça, 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:57+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/audioop.rst:2 msgid ":mod:`audioop` --- Manipulate raw audio data" msgstr ":mod:`audioop` --- Manipulando dados de áudio original" -#: ../../library/audioop.rst:9 +#: ../../library/audioop.rst:8 +msgid "" +"The :mod:`audioop` module is deprecated (see :pep:`PEP 594 <594#audioop>` " +"for details)." +msgstr "" + +#: ../../library/audioop.rst:14 msgid "" "The :mod:`audioop` module contains some useful operations on sound " "fragments. It operates on sound fragments consisting of signed integer " @@ -35,34 +42,34 @@ msgid "" "otherwise." msgstr "" -#: ../../library/audioop.rst:14 +#: ../../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." msgstr "" -#: ../../library/audioop.rst:25 +#: ../../library/audioop.rst:30 msgid "" "This module provides support for a-LAW, u-LAW and Intel/DVI ADPCM encodings." msgstr "" -#: ../../library/audioop.rst:29 +#: ../../library/audioop.rst:34 msgid "" "A few of the more complicated operations only take 16-bit samples, otherwise " "the sample size (in bytes) is always a parameter of the operation." msgstr "" -#: ../../library/audioop.rst:32 +#: ../../library/audioop.rst:37 msgid "The module defines the following variables and functions:" msgstr "" -#: ../../library/audioop.rst:37 +#: ../../library/audioop.rst:42 msgid "" "This exception is raised on all errors, such as unknown number of bytes per " "sample, etc." msgstr "" -#: ../../library/audioop.rst:43 +#: ../../library/audioop.rst:48 msgid "" "Return a fragment which is the addition of the two samples passed as " "parameters. *width* is the sample width in bytes, either ``1``, ``2``, ``3`` " @@ -70,48 +77,48 @@ msgid "" "truncated in case of overflow." msgstr "" -#: ../../library/audioop.rst:50 +#: ../../library/audioop.rst:55 msgid "" "Decode an Intel/DVI ADPCM coded fragment to a linear fragment. See the " "description of :func:`lin2adpcm` for details on ADPCM coding. Return a tuple " "``(sample, newstate)`` where the sample has the width specified in *width*." msgstr "" -#: ../../library/audioop.rst:57 +#: ../../library/audioop.rst:62 msgid "" "Convert sound fragments in a-LAW encoding to linearly encoded sound " "fragments. a-LAW encoding always uses 8 bits samples, so *width* refers only " "to the sample width of the output fragment here." msgstr "" -#: ../../library/audioop.rst:64 +#: ../../library/audioop.rst:69 msgid "Return the average over all samples in the fragment." msgstr "" -#: ../../library/audioop.rst:69 +#: ../../library/audioop.rst:74 msgid "" "Return the average peak-peak value over all samples in the fragment. No " "filtering is done, so the usefulness of this routine is questionable." msgstr "" -#: ../../library/audioop.rst:75 +#: ../../library/audioop.rst:80 msgid "" "Return a fragment that is the original fragment with a bias added to each " "sample. Samples wrap around in case of overflow." msgstr "" -#: ../../library/audioop.rst:81 +#: ../../library/audioop.rst:86 msgid "" "\"Byteswap\" all samples in a fragment and returns the modified fragment. " "Converts big-endian samples to little-endian and vice versa." msgstr "" -#: ../../library/audioop.rst:89 +#: ../../library/audioop.rst:94 msgid "" "Return the number of zero crossings in the fragment passed as an argument." msgstr "" -#: ../../library/audioop.rst:94 +#: ../../library/audioop.rst:99 msgid "" "Return a factor *F* such that ``rms(add(fragment, mul(reference, -F)))`` is " "minimal, i.e., return the factor with which you should multiply *reference* " @@ -119,11 +126,11 @@ msgid "" "both contain 2-byte samples." msgstr "" -#: ../../library/audioop.rst:99 +#: ../../library/audioop.rst:104 msgid "The time taken by this routine is proportional to ``len(fragment)``." msgstr "" -#: ../../library/audioop.rst:104 +#: ../../library/audioop.rst:109 msgid "" "Try to match *reference* as well as possible to a portion of *fragment* " "(which should be the longer fragment). This is (conceptually) done by " @@ -134,22 +141,23 @@ msgid "" "*factor* is the (floating-point) factor as per :func:`findfactor`." msgstr "" -#: ../../library/audioop.rst:115 +#: ../../library/audioop.rst:120 msgid "" "Search *fragment* for a slice of length *length* samples (not bytes!) with " -"maximum energy, i.e., return *i* for which ``rms(fragment[i*2:(i" -"+length)*2])`` is maximal. The fragments should both contain 2-byte samples." +"maximum energy, i.e., return *i* for which ``rms(fragment[i*2:" +"(i+length)*2])`` is maximal. The fragments should both contain 2-byte " +"samples." msgstr "" -#: ../../library/audioop.rst:119 +#: ../../library/audioop.rst:124 msgid "The routine takes time proportional to ``len(fragment)``." msgstr "" -#: ../../library/audioop.rst:124 +#: ../../library/audioop.rst:129 msgid "Return the value of sample *index* from the fragment." msgstr "" -#: ../../library/audioop.rst:129 +#: ../../library/audioop.rst:134 msgid "" "Convert samples to 4 bit Intel/DVI ADPCM encoding. ADPCM coding is an " "adaptive coding scheme, whereby each 4 bit number is the difference between " @@ -158,7 +166,7 @@ msgid "" "standard." msgstr "" -#: ../../library/audioop.rst:134 +#: ../../library/audioop.rst:139 msgid "" "*state* is a tuple containing the state of the coder. The coder returns a " "tuple ``(adpcmfrag, newstate)``, and the *newstate* should be passed to the " @@ -167,7 +175,7 @@ msgid "" "per byte." msgstr "" -#: ../../library/audioop.rst:142 +#: ../../library/audioop.rst:147 msgid "" "Convert samples in the audio fragment to a-LAW encoding and return this as a " "bytes object. a-LAW is an audio encoding format whereby you get a dynamic " @@ -175,24 +183,24 @@ msgid "" "audio hardware, among others." msgstr "" -#: ../../library/audioop.rst:150 +#: ../../library/audioop.rst:155 msgid "Convert samples between 1-, 2-, 3- and 4-byte formats." msgstr "" -#: ../../library/audioop.rst:154 +#: ../../library/audioop.rst:159 msgid "" "In some audio formats, such as .WAV files, 16, 24 and 32 bit samples are " "signed, but 8 bit samples are unsigned. So when converting to 8 bit wide " "samples for these formats, you need to also add 128 to the result::" msgstr "" -#: ../../library/audioop.rst:161 +#: ../../library/audioop.rst:166 msgid "" "The same, in reverse, has to be applied when converting from 8 to 16, 24 or " "32 bit width samples." msgstr "" -#: ../../library/audioop.rst:167 +#: ../../library/audioop.rst:172 msgid "" "Convert samples in the audio fragment to u-LAW encoding and return this as a " "bytes object. u-LAW is an audio encoding format whereby you get a dynamic " @@ -200,33 +208,33 @@ msgid "" "audio hardware, among others." msgstr "" -#: ../../library/audioop.rst:175 +#: ../../library/audioop.rst:180 msgid "" "Return the maximum of the *absolute value* of all samples in a fragment." msgstr "" -#: ../../library/audioop.rst:180 +#: ../../library/audioop.rst:185 msgid "Return the maximum peak-peak value in the sound fragment." msgstr "" -#: ../../library/audioop.rst:185 +#: ../../library/audioop.rst:190 msgid "" "Return a tuple consisting of the minimum and maximum values of all samples " "in the sound fragment." msgstr "" -#: ../../library/audioop.rst:191 +#: ../../library/audioop.rst:196 msgid "" "Return a fragment that has all samples in the original fragment multiplied " "by the floating-point value *factor*. Samples are truncated in case of " "overflow." msgstr "" -#: ../../library/audioop.rst:197 +#: ../../library/audioop.rst:202 msgid "Convert the frame rate of the input fragment." msgstr "" -#: ../../library/audioop.rst:199 +#: ../../library/audioop.rst:204 msgid "" "*state* is a tuple containing the state of the converter. The converter " "returns a tuple ``(newfragment, newstate)``, and *newstate* should be passed " @@ -234,47 +242,47 @@ msgid "" "as the state." msgstr "" -#: ../../library/audioop.rst:203 +#: ../../library/audioop.rst:208 msgid "" "The *weightA* and *weightB* arguments are parameters for a simple digital " "filter and default to ``1`` and ``0`` respectively." msgstr "" -#: ../../library/audioop.rst:209 +#: ../../library/audioop.rst:214 msgid "Reverse the samples in a fragment and returns the modified fragment." msgstr "" -#: ../../library/audioop.rst:214 +#: ../../library/audioop.rst:219 msgid "" "Return the root-mean-square of the fragment, i.e. ``sqrt(sum(S_i^2)/n)``." msgstr "" -#: ../../library/audioop.rst:216 +#: ../../library/audioop.rst:221 msgid "This is a measure of the power in an audio signal." msgstr "" -#: ../../library/audioop.rst:221 +#: ../../library/audioop.rst:226 msgid "" "Convert a stereo fragment to a mono fragment. The left channel is " "multiplied by *lfactor* and the right channel by *rfactor* before adding the " "two channels to give a mono signal." msgstr "" -#: ../../library/audioop.rst:228 +#: ../../library/audioop.rst:233 msgid "" "Generate a stereo fragment from a mono fragment. Each pair of samples in " "the stereo fragment are computed from the mono sample, whereby left channel " "samples are multiplied by *lfactor* and right channel samples by *rfactor*." msgstr "" -#: ../../library/audioop.rst:235 +#: ../../library/audioop.rst:240 msgid "" "Convert sound fragments in u-LAW encoding to linearly encoded sound " "fragments. u-LAW encoding always uses 8 bits samples, so *width* refers only " "to the sample width of the output fragment here." msgstr "" -#: ../../library/audioop.rst:239 +#: ../../library/audioop.rst:244 msgid "" "Note that operations such as :func:`.mul` or :func:`.max` make no " "distinction between mono and stereo fragments, i.e. all samples are treated " @@ -283,7 +291,7 @@ msgid "" "that::" msgstr "" -#: ../../library/audioop.rst:253 +#: ../../library/audioop.rst:258 msgid "" "If you use the ADPCM coder to build network packets and you want your " "protocol to be stateless (i.e. to be able to tolerate packet loss) you " @@ -295,14 +303,14 @@ msgid "" "index) in 8." msgstr "" -#: ../../library/audioop.rst:261 +#: ../../library/audioop.rst:266 msgid "" "The ADPCM coders have never been tried against other ADPCM coders, only " "against themselves. It could well be that I misinterpreted the standards in " "which case they will not be interoperable with the respective standards." msgstr "" -#: ../../library/audioop.rst:265 +#: ../../library/audioop.rst:270 msgid "" "The :func:`find\\*` routines might look a bit funny at first sight. They are " "primarily meant to do echo cancellation. A reasonably fast way to do this " diff --git a/library/audit_events.po b/library/audit_events.po index 7e6a5fcb8..07894ec59 100644 --- a/library/audit_events.po +++ b/library/audit_events.po @@ -1,28 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, Python Software 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, 2026 # #, 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 00:55+0000\n" -"Last-Translator: Adorilson Bezerra , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2026-02-21 17:36+0000\n" +"PO-Revision-Date: 2025-09-22 15:57+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=2; plural=(n > 1);\n" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/audit_events.rst:6 msgid "Audit events table" diff --git a/library/base64.po b/library/base64.po index 78a59c641..4d16bb38f 100644 --- a/library/base64.po +++ b/library/base64.po @@ -1,33 +1,32 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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 -# Bonifacio de Oliveira , 2021 -# Augusta Carla Klug , 2021 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.10\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-08-13 13:42+0000\n" -"PO-Revision-Date: 2021-06-28 00:55+0000\n" -"Last-Translator: Augusta Carla Klug , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:57+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/base64.rst:2 msgid ":mod:`base64` --- Base16, Base32, Base64, Base85 Data Encodings" msgstr "" +":mod:`base64` --- Codificações de dados em Base16, Base32, Base64, Base85" #: ../../library/base64.rst:8 msgid "**Source code:** :source:`Lib/base64.py`" @@ -41,6 +40,11 @@ msgid "" "which defines the Base16, Base32, and Base64 algorithms, and for the de-" "facto standard Ascii85 and Base85 encodings." msgstr "" +"Este módulo fornece funções para codificar dados binários em caracteres " +"ASCII imprimíveis e decodificar essas codificações de volta para dados " +"binários. Ele fornece funções de codificação e decodificação para as " +"codificações especificadas em :rfc:`4648`, que define os algoritmos Base16, " +"Base32 e Base64, e para as codificações padrão de fato Ascii85 e Base85." #: ../../library/base64.rst:22 msgid "" @@ -49,6 +53,10 @@ msgid "" "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 " +"ou incluídos como parte de uma solicitação HTTP POST. O algoritmo de " +"codificação não é o mesmo do programa :program:`uuencode`." #: ../../library/base64.rst:27 msgid "" @@ -58,6 +66,12 @@ msgid "" "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." #: ../../library/base64.rst:33 msgid "" @@ -68,6 +82,12 @@ msgid "" "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 " +"arquivo `. Ele oferece suporte a apenas o alfabeto padrão " +"Base64 e adiciona novas linhas a cada 76 caracteres conforme :rfc:`2045`. " +"Note que se você estiver procurando por suporte para :rfc:`2045` você " +"provavelmente vai querer conferir o pacote :mod:`email`." #: ../../library/base64.rst:41 msgid "" @@ -83,6 +103,9 @@ msgid "" "encoding and decoding functions in this module. Ascii85/Base85 support " "added." msgstr "" +"Quaisquer :term:`objetos bytes ou similares ` agora são " +"aceitos por todas as funções de codificação e decodificação neste módulo. " +"Adicionado suporte a ASCII85/Base85." #: ../../library/base64.rst:49 msgid "The modern interface provides:" @@ -93,35 +116,46 @@ 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." #: ../../library/base64.rst:56 msgid "" -"Optional *altchars* must be a :term:`bytes-like object` of at least length 2 " -"(additional characters are ignored) which specifies an alternative alphabet " -"for the ``+`` and ``/`` characters. This allows an application to e.g. " -"generate URL or filesystem safe Base64 strings. The default is ``None``, " -"for which the standard Base64 alphabet is used." +"Optional *altchars* must be a :term:`bytes-like object` of length 2 which " +"specifies an alternative alphabet for the ``+`` and ``/`` characters. This " +"allows an application to e.g. generate URL or filesystem safe Base64 " +"strings. The default is ``None``, for which the standard Base64 alphabet is " +"used." +msgstr "" + +#: ../../library/base64.rst:61 +msgid "" +"May assert or raise a :exc:`ValueError` if the length of *altchars* is not " +"2. Raises a :exc:`TypeError` if *altchars* is not a :term:`bytes-like " +"object`." msgstr "" -#: ../../library/base64.rst:65 +#: ../../library/base64.rst:67 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." -#: ../../library/base64.rst:68 +#: ../../library/base64.rst:70 msgid "" "Optional *altchars* must be a :term:`bytes-like object` or ASCII string of " -"at least length 2 (additional characters are ignored) which specifies the " -"alternative alphabet used instead of the ``+`` and ``/`` characters." +"length 2 which specifies the alternative alphabet used instead of the ``+`` " +"and ``/`` characters." msgstr "" -#: ../../library/base64.rst:72 +#: ../../library/base64.rst:74 msgid "" "A :exc:`binascii.Error` exception is raised if *s* is incorrectly padded." msgstr "" -#: ../../library/base64.rst:75 +#: ../../library/base64.rst:77 msgid "" "If *validate* is ``False`` (the default), characters that are neither in the " "normal base-64 alphabet nor the alternative alphabet are discarded prior to " @@ -129,19 +163,24 @@ msgid "" "in the input result in a :exc:`binascii.Error`." msgstr "" -#: ../../library/base64.rst:84 +#: ../../library/base64.rst:83 +msgid "" +"May assert or raise a :exc:`ValueError` if the length of *altchars* is not 2." +msgstr "" + +#: ../../library/base64.rst:87 msgid "" "Encode :term:`bytes-like object` *s* using the standard Base64 alphabet and " "return the encoded :class:`bytes`." msgstr "" -#: ../../library/base64.rst:90 +#: ../../library/base64.rst:93 msgid "" "Decode :term:`bytes-like object` or ASCII string *s* using the standard " "Base64 alphabet and return the decoded :class:`bytes`." msgstr "" -#: ../../library/base64.rst:96 +#: ../../library/base64.rst:99 msgid "" "Encode :term:`bytes-like object` *s* using the URL- and filesystem-safe " "alphabet, which substitutes ``-`` instead of ``+`` and ``_`` instead of ``/" @@ -149,7 +188,7 @@ msgid "" "The result can still contain ``=``." msgstr "" -#: ../../library/base64.rst:105 +#: ../../library/base64.rst:108 msgid "" "Decode :term:`bytes-like object` or ASCII string *s* using the URL- and " "filesystem-safe alphabet, which substitutes ``-`` instead of ``+`` and ``_`` " @@ -157,19 +196,19 @@ msgid "" "class:`bytes`." msgstr "" -#: ../../library/base64.rst:114 +#: ../../library/base64.rst:117 msgid "" "Encode the :term:`bytes-like object` *s* using Base32 and return the " "encoded :class:`bytes`." msgstr "" -#: ../../library/base64.rst:120 +#: ../../library/base64.rst:123 msgid "" "Decode the Base32 encoded :term:`bytes-like object` or ASCII string *s* and " "return the decoded :class:`bytes`." msgstr "" -#: ../../library/base64.rst:123 ../../library/base64.rst:171 +#: ../../library/base64.rst:126 ../../library/base64.rst:174 msgid "" "Optional *casefold* is a flag specifying whether a lowercase alphabet is " "acceptable as input. For security purposes, the default is ``False``." @@ -177,7 +216,7 @@ msgstr "" "*casefold* opcional é uma flag especificando se um alfabeto minúsculo é " "aceitável como entrada. Por razões de segurança, o padrão é ``False``." -#: ../../library/base64.rst:127 +#: ../../library/base64.rst:130 msgid "" ":rfc:`4648` allows for optional mapping of the digit 0 (zero) to the letter " "O (oh), and for optional mapping of the digit 1 (one) to either the letter I " @@ -188,90 +227,90 @@ msgid "" "input." msgstr "" -#: ../../library/base64.rst:134 ../../library/base64.rst:175 +#: ../../library/base64.rst:137 ../../library/base64.rst:178 msgid "" "A :exc:`binascii.Error` is raised if *s* is incorrectly padded or if there " "are non-alphabet characters present in the input." msgstr "" -#: ../../library/base64.rst:141 +#: ../../library/base64.rst:144 msgid "" "Similar to :func:`b32encode` but uses the Extended Hex Alphabet, as defined " "in :rfc:`4648`." msgstr "" -#: ../../library/base64.rst:149 +#: ../../library/base64.rst:152 msgid "" "Similar to :func:`b32decode` but uses the Extended Hex Alphabet, as defined " "in :rfc:`4648`." msgstr "" -#: ../../library/base64.rst:152 +#: ../../library/base64.rst:155 msgid "" "This version does not allow the digit 0 (zero) to the letter O (oh) and " "digit 1 (one) to either the letter I (eye) or letter L (el) mappings, all " "these characters are included in the Extended Hex Alphabet and are not " -"interchangable." +"interchangeable." msgstr "" -#: ../../library/base64.rst:162 +#: ../../library/base64.rst:165 msgid "" "Encode the :term:`bytes-like object` *s* using Base16 and return the " "encoded :class:`bytes`." msgstr "" -#: ../../library/base64.rst:168 +#: ../../library/base64.rst:171 msgid "" "Decode the Base16 encoded :term:`bytes-like object` or ASCII string *s* and " "return the decoded :class:`bytes`." msgstr "" -#: ../../library/base64.rst:182 +#: ../../library/base64.rst:185 msgid "" "Encode the :term:`bytes-like object` *b* using Ascii85 and return the " "encoded :class:`bytes`." msgstr "" -#: ../../library/base64.rst:185 +#: ../../library/base64.rst:188 msgid "" "*foldspaces* is an optional flag that uses the special short sequence 'y' " "instead of 4 consecutive spaces (ASCII 0x20) as supported by 'btoa'. This " "feature is not supported by the \"standard\" Ascii85 encoding." msgstr "" -#: ../../library/base64.rst:189 +#: ../../library/base64.rst:192 msgid "" "*wrapcol* controls whether the output should have newline (``b'\\n'``) " "characters added to it. If this is non-zero, each output line will be at " "most this many characters long." msgstr "" -#: ../../library/base64.rst:193 +#: ../../library/base64.rst:196 msgid "" "*pad* controls whether the input is padded to a multiple of 4 before " "encoding. Note that the ``btoa`` implementation always pads." msgstr "" -#: ../../library/base64.rst:196 +#: ../../library/base64.rst:199 msgid "" "*adobe* controls whether the encoded byte sequence is framed with ``<~`` and " "``~>``, which is used by the Adobe implementation." msgstr "" -#: ../../library/base64.rst:204 +#: ../../library/base64.rst:207 msgid "" "Decode the Ascii85 encoded :term:`bytes-like object` or ASCII string *b* and " "return the decoded :class:`bytes`." msgstr "" -#: ../../library/base64.rst:207 +#: ../../library/base64.rst:210 msgid "" "*foldspaces* is a flag that specifies whether the 'y' short sequence should " "be accepted as shorthand for 4 consecutive spaces (ASCII 0x20). This feature " "is not supported by the \"standard\" Ascii85 encoding." msgstr "" -#: ../../library/base64.rst:211 +#: ../../library/base64.rst:214 msgid "" "*adobe* controls whether the input sequence is in Adobe Ascii85 format (i.e. " "is framed with <~ and ~>)." @@ -279,7 +318,7 @@ msgstr "" "*adobe* controla se a entrada está no formato Adobe Ascii85 (ou seja, " "cercada por <~ e ~>)." -#: ../../library/base64.rst:214 +#: ../../library/base64.rst:217 msgid "" "*ignorechars* should be a :term:`bytes-like object` or ASCII string " "containing characters to ignore from the input. This should only contain " @@ -287,30 +326,30 @@ msgid "" "ASCII." msgstr "" -#: ../../library/base64.rst:224 +#: ../../library/base64.rst:227 msgid "" "Encode the :term:`bytes-like object` *b* using base85 (as used in e.g. git-" "style binary diffs) and return the encoded :class:`bytes`." msgstr "" -#: ../../library/base64.rst:227 +#: ../../library/base64.rst:230 msgid "" "If *pad* is true, the input is padded with ``b'\\0'`` so its length is a " "multiple of 4 bytes before encoding." msgstr "" -#: ../../library/base64.rst:235 +#: ../../library/base64.rst:238 msgid "" "Decode the base85-encoded :term:`bytes-like object` or ASCII string *b* and " "return the decoded :class:`bytes`. Padding is implicitly removed, if " "necessary." msgstr "" -#: ../../library/base64.rst:242 +#: ../../library/base64.rst:245 msgid "The legacy interface:" msgstr "A interface legada:" -#: ../../library/base64.rst:246 +#: ../../library/base64.rst:249 msgid "" "Decode the contents of the binary *input* file and write the resulting " "binary data to the *output* file. *input* and *output* must be :term:`file " @@ -318,13 +357,13 @@ msgid "" "returns an empty bytes object." msgstr "" -#: ../../library/base64.rst:254 +#: ../../library/base64.rst:257 msgid "" "Decode the :term:`bytes-like object` *s*, which must contain one or more " "lines of base64 encoded data, and return the decoded :class:`bytes`." msgstr "" -#: ../../library/base64.rst:262 +#: ../../library/base64.rst:265 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:" @@ -334,7 +373,7 @@ msgid "" "the output always ends with a newline, as per :rfc:`2045` (MIME)." msgstr "" -#: ../../library/base64.rst:272 +#: ../../library/base64.rst:275 msgid "" "Encode the :term:`bytes-like object` *s*, which can contain arbitrary binary " "data, and return :class:`bytes` containing the base64-encoded data, with " @@ -342,40 +381,40 @@ msgid "" "that there is a trailing newline, as per :rfc:`2045` (MIME)." msgstr "" -#: ../../library/base64.rst:280 +#: ../../library/base64.rst:283 msgid "An example usage of the module:" msgstr "Um exemplo de uso do módulo:" -#: ../../library/base64.rst:293 +#: ../../library/base64.rst:296 msgid "Security Considerations" msgstr "Considerações de Segurança" -#: ../../library/base64.rst:295 +#: ../../library/base64.rst:298 msgid "" "A new security considerations section was added to :rfc:`4648` (section 12); " "it's recommended to review the security section for any code deployed to " "production." msgstr "" -#: ../../library/base64.rst:301 +#: ../../library/base64.rst:304 msgid "Module :mod:`binascii`" msgstr "Módulo :mod:`binascii`" -#: ../../library/base64.rst:301 +#: ../../library/base64.rst:304 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/base64.rst:304 +#: ../../library/base64.rst:307 msgid "" ":rfc:`1521` - MIME (Multipurpose Internet Mail Extensions) Part One: " "Mechanisms for Specifying and Describing the Format of Internet Message " "Bodies" msgstr "" -#: ../../library/base64.rst:304 +#: ../../library/base64.rst:307 msgid "" "Section 5.2, \"Base64 Content-Transfer-Encoding,\" provides the definition " "of the base64 encoding." diff --git a/library/bdb.po b/library/bdb.po index f87e7f79c..890232672 100644 --- a/library/bdb.po +++ b/library/bdb.po @@ -1,28 +1,29 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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 -# i17obot , 2021 +# python-doc bot, 2025 +# Rafael Fontenelle , 2025 +# Rainer Terroso, 2025 # #, 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 00:55+0000\n" -"Last-Translator: i17obot , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-11-27 17:13+0000\n" +"PO-Revision-Date: 2025-09-22 15:57+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=2; plural=(n > 1);\n" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/bdb.rst:2 msgid ":mod:`bdb` --- Debugger framework" @@ -37,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 "" @@ -63,82 +68,156 @@ 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 filename should be in canonical " -"form. If a *funcname* is defined, a breakpoint hit will be counted when the " -"first line of that function is executed. A conditional breakpoint always " -"counts a hit." +"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 "" +"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:38 +#: ../../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:42 +#: ../../library/bdb.rst:43 msgid "" "Delete the breakpoint from the list associated to a file/line. If it is the " "last breakpoint in that position, it also deletes the entry for the file/" "line." msgstr "" +"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:49 +#: ../../library/bdb.rst:50 msgid "Mark the breakpoint as enabled." -msgstr "" +msgstr "Marca o ponto de interrupção como ativado." -#: ../../library/bdb.rst:54 +#: ../../library/bdb.rst:55 msgid "Mark the breakpoint as disabled." -msgstr "" +msgstr "Marca o ponto de interrupção como desativado." -#: ../../library/bdb.rst:59 +#: ../../library/bdb.rst:60 msgid "" "Return a string with all the information about the breakpoint, nicely " "formatted:" msgstr "" - -#: ../../library/bdb.rst:62 -msgid "The breakpoint number." -msgstr "" +"Retorna uma string com todas as informações sobre o ponto de interrupção, " +"formatadas de maneira clara:" #: ../../library/bdb.rst:63 -msgid "If it is temporary or not." -msgstr "Se é um temporário ou não." +msgid "Breakpoint number." +msgstr "Número do ponto de interrupção." #: ../../library/bdb.rst:64 -msgid "Its file,line position." -msgstr "" +msgid "Temporary status (del or keep)." +msgstr "Status temporário (del ou keep)." #: ../../library/bdb.rst:65 -msgid "The condition that causes a break." -msgstr "" +msgid "File/line position." +msgstr "Posição do arquivo/linha." #: ../../library/bdb.rst:66 -msgid "If it must be ignored the next N times." -msgstr "" +msgid "Break condition." +msgstr "Condição de interrupção." #: ../../library/bdb.rst:67 -msgid "The breakpoint hit count." -msgstr "" +msgid "Number of times to ignore." +msgstr "Número de vezes para ignorar." + +#: ../../library/bdb.rst:68 +msgid "Number of times hit." +msgstr "Número de vezes atingido." -#: ../../library/bdb.rst:73 +#: ../../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 "Instâncias :class:`Breakpoint` possuem os seguintes atributos:" + +#: ../../library/bdb.rst:81 +msgid "File name of the :class:`Breakpoint`." +msgstr "Nome do arquivo do :class:`Breakpoint`." + +#: ../../library/bdb.rst:85 +msgid "Line number of the :class:`Breakpoint` within :attr:`file`." +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." +msgstr "" -#: ../../library/bdb.rst:79 +#: ../../library/bdb.rst:93 +msgid "Condition for evaluating a :class:`Breakpoint` at (file, line)." +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 "Verdadeiro se :class:`Breakpoint` estiver habilitado." + +#: ../../library/bdb.rst:106 +msgid "Numeric index for a single instance of a :class:`Breakpoint`." +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." +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 "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 "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:81 +#: ../../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." 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:85 +#: ../../library/bdb.rst:129 msgid "" "The *skip* argument, if given, must be an iterable of glob-style module name " "patterns. The debugger will not step into frames that originate in a module " @@ -146,90 +225,121 @@ 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:91 +#: ../../library/bdb.rst:135 msgid "The *skip* argument." msgstr "O argumento *skip*." -#: ../../library/bdb.rst:94 +#: ../../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 "Retorna a forma canônica de *filename*." -#: ../../library/bdb.rst:98 +#: ../../library/bdb.rst:144 msgid "" -"Auxiliary method for getting a filename in a canonical form, that is, as a " -"case-normalized (on case-insensitive filesystems) absolute path, stripped of " -"surrounding angle brackets." +"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:104 +#: ../../library/bdb.rst:151 msgid "" "Set the :attr:`botframe`, :attr:`stopframe`, :attr:`returnframe` and :attr:" "`quitting` attributes with values ready to start debugging." msgstr "" -#: ../../library/bdb.rst:109 +#: ../../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:112 +#: ../../library/bdb.rst:159 msgid "" "The default implementation decides how to dispatch a frame, depending on the " "type of event (passed as a string) that is about to be executed. *event* can " "be one of the following:" msgstr "" +"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:116 +#: ../../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:117 +#: ../../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:119 +#: ../../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:120 +#: ../../library/bdb.rst:167 msgid "``\"exception\"``: An exception has occurred." -msgstr "" +msgstr "``\"exception\"``: Ocorreu uma exceção." -#: ../../library/bdb.rst:121 +#: ../../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:122 +#: ../../library/bdb.rst:169 msgid "``\"c_return\"``: A C function has returned." -msgstr "" +msgstr "``\"c_return\"``: Uma função C retornou." -#: ../../library/bdb.rst:123 +#: ../../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:125 +#: ../../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:128 +#: ../../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:130 +#: ../../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`." 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:136 +#: ../../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:" @@ -238,7 +348,7 @@ msgid "" "`trace_dispatch` method for further tracing in that scope." msgstr "" -#: ../../library/bdb.rst:144 +#: ../../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:" @@ -247,7 +357,7 @@ msgid "" "`trace_dispatch` method for further tracing in that scope." msgstr "" -#: ../../library/bdb.rst:152 +#: ../../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 :" @@ -256,7 +366,7 @@ msgid "" "`trace_dispatch` method for further tracing in that scope." msgstr "" -#: ../../library/bdb.rst:160 +#: ../../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 :" @@ -265,214 +375,278 @@ msgid "" "`trace_dispatch` method for further tracing in that scope." msgstr "" -#: ../../library/bdb.rst:166 +#: ../../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:171 -msgid "" -"This method checks if the *frame* is somewhere below :attr:`botframe` in the " -"call stack. :attr:`botframe` is the frame in which debugging started." +#: ../../library/bdb.rst:218 +msgid "Return True if *module_name* matches any skip pattern." msgstr "" -#: ../../library/bdb.rst:176 -msgid "" -"This method checks if there is a breakpoint in the filename and line " -"belonging to *frame* or, at least, in the current function. If the " -"breakpoint is a temporary one, this method deletes it." +#: ../../library/bdb.rst:222 +msgid "Return True if *frame* is below the starting frame in the stack." msgstr "" -#: ../../library/bdb.rst:182 +#: ../../library/bdb.rst:226 +msgid "Return True if there is an effective breakpoint for this line." +msgstr "" + +#: ../../library/bdb.rst:228 msgid "" -"This method checks if there is a breakpoint in the filename of the current " -"frame." +"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." msgstr "" -#: ../../library/bdb.rst:185 +#: ../../library/bdb.rst:235 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:190 +#: ../../library/bdb.rst:240 msgid "" -"This method is called from :meth:`dispatch_call` when there is the " -"possibility that a break might be necessary anywhere inside the called " +"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:196 +#: ../../library/bdb.rst:245 msgid "" -"This method is called from :meth:`dispatch_line` when either :meth:" -"`stop_here` or :meth:`break_here` yields ``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:201 +#: ../../library/bdb.rst:250 msgid "" -"This method is called from :meth:`dispatch_return` when :meth:`stop_here` " -"yields ``True``." +"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:206 +#: ../../library/bdb.rst:254 msgid "" -"This method is called from :meth:`dispatch_exception` when :meth:`stop_here` " -"yields ``True``." +"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:211 +#: ../../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:213 +#: ../../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:216 +#: ../../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:221 +#: ../../library/bdb.rst:269 msgid "Stop after one line of code." -msgstr "" +msgstr "Parar após uma linha de código." -#: ../../library/bdb.rst:225 +#: ../../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:229 +#: ../../library/bdb.rst:277 msgid "Stop when returning from the given frame." -msgstr "" +msgstr "Parar ao retornar do frame fornecido." -#: ../../library/bdb.rst:233 +#: ../../library/bdb.rst:281 msgid "" -"Stop when the line with the line no greater than the current one is reached " +"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:238 +#: ../../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:243 +#: ../../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:248 +#: ../../library/bdb.rst:296 msgid "" "Set the :attr:`quitting` attribute to ``True``. This raises :exc:`BdbQuit` " "in the next call to one of the :meth:`dispatch_\\*` methods." msgstr "" -#: ../../library/bdb.rst:252 +#: ../../library/bdb.rst:300 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:258 +#: ../../library/bdb.rst:306 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:264 +#: ../../library/bdb.rst:312 msgid "" -"Delete the breakpoints in *filename* and *lineno*. If none were set, an " -"error message is returned." +"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:269 +#: ../../library/bdb.rst:317 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." 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:275 +#: ../../library/bdb.rst:323 msgid "" -"Delete all breakpoints in *filename*. If none were set, an error message is " -"returned." +"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:280 -msgid "Delete all existing breakpoints." +#: ../../library/bdb.rst:328 +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:284 +#: ../../library/bdb.rst:333 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:293 -msgid "Check if there is a breakpoint for *lineno* of *filename*." +#: ../../library/bdb.rst:342 +msgid "Return True if there is a breakpoint for *lineno* in *filename*." msgstr "" -#: ../../library/bdb.rst:297 +#: ../../library/bdb.rst:346 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:302 +#: ../../library/bdb.rst:351 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:306 +#: ../../library/bdb.rst:355 msgid "Return all breakpoints that are set." -msgstr "" +msgstr "Retorna todos os pontos de interrupção definidos." -#: ../../library/bdb.rst:309 +#: ../../library/bdb.rst:358 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:314 -msgid "" -"Get a list of records for a frame and all higher (calling) and lower frames, " -"and the size of the higher part." +#: ../../library/bdb.rst:363 +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:319 +#: ../../library/bdb.rst:365 msgid "" -"Return a string with information about a stack entry, identified by a " -"``(frame, lineno)`` tuple:" +"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:322 -msgid "The canonical form of the filename which contains the frame." +#: ../../library/bdb.rst:370 +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:323 -msgid "The function name, or ``\"\"``." -msgstr "" +#: ../../library/bdb.rst:373 +msgid "The canonical filename which contains the frame." +msgstr "O nome de arquivo canônico que contém o quadro." + +#: ../../library/bdb.rst:374 +msgid "The function name or ``\"\"``." +msgstr "O nome da função ou ``\"\"``." -#: ../../library/bdb.rst:324 +#: ../../library/bdb.rst:375 msgid "The input arguments." msgstr "O argumento de entrada." -#: ../../library/bdb.rst:325 +#: ../../library/bdb.rst:376 msgid "The return value." -msgstr "" +msgstr "O valor de retorno." -#: ../../library/bdb.rst:326 +#: ../../library/bdb.rst:377 msgid "The line of code (if it exists)." -msgstr "" +msgstr "A linha de código (se existir)." -#: ../../library/bdb.rst:329 +#: ../../library/bdb.rst:380 msgid "" "The following two methods can be called by clients to use a debugger to " "debug a :term:`statement`, given as a string." @@ -481,52 +655,74 @@ msgstr "" "depurador e depurar uma :term:`instrução `, fornecida como uma " "string." -#: ../../library/bdb.rst:334 +#: ../../library/bdb.rst:385 msgid "" "Debug a statement executed via the :func:`exec` function. *globals* " "defaults to :attr:`__main__.__dict__`, *locals* defaults to *globals*." msgstr "" -#: ../../library/bdb.rst:339 +#: ../../library/bdb.rst:390 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:344 +#: ../../library/bdb.rst:395 msgid "For backwards compatibility. Calls the :meth:`run` method." -msgstr "" +msgstr "Por retrocompatibilidade. Chama o método :meth:`run`." -#: ../../library/bdb.rst:348 +#: ../../library/bdb.rst:399 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:351 +#: ../../library/bdb.rst:402 msgid "Finally, the module defines the following functions:" +msgstr "Por fim, o módulo define as funções a seguir:" + +#: ../../library/bdb.rst:406 +msgid "" +"Return True if we should break here, depending on the way the :class:" +"`Breakpoint` *b* was set." msgstr "" -#: ../../library/bdb.rst:355 +#: ../../library/bdb.rst:409 msgid "" -"Check whether we should break here, depending on the way the breakpoint *b* " -"was set." +"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:358 +#: ../../library/bdb.rst:418 msgid "" -"If it was set via line number, it checks if ``b.line`` is the same as the " -"one in the frame also passed as argument. If the breakpoint was set via " -"function name, we have to check we are in the right frame (the right " -"function) and if we are in its first executable line." +"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:365 +#: ../../library/bdb.rst:421 msgid "" -"Determine if there is an effective (active) breakpoint at this line of code. " -"Return a tuple of the breakpoint and a boolean that indicates if it is ok to " -"delete a temporary breakpoint. Return ``(None, None)`` if there is no " -"matching breakpoint." +"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)." +msgstr "" + +#: ../../library/bdb.rst:432 +msgid "If no such entry exists, then (None, None) is returned." msgstr "" -#: ../../library/bdb.rst:372 +#: ../../library/bdb.rst:437 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." diff --git a/library/binary.po b/library/binary.po index 27d723a51..88cb89cad 100644 --- a/library/binary.po +++ b/library/binary.po @@ -1,29 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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.10\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-06-29 12:56+0000\n" -"PO-Revision-Date: 2021-06-28 00:56+0000\n" -"Last-Translator: Claudio Rogerio Carvalho Filho , " -"2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:57+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/binary.rst:5 msgid "Binary Data Services" diff --git a/library/binascii.po b/library/binascii.po index a3c8ecc39..d89afdb45 100644 --- a/library/binascii.po +++ b/library/binascii.po @@ -1,27 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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.10\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-06-29 12:56+0000\n" -"PO-Revision-Date: 2021-06-28 00:56+0000\n" -"Last-Translator: i17obot , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:57+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/binascii.rst:2 msgid ":mod:`binascii` --- Convert between binary and ASCII" @@ -44,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:29 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:33 msgid "The :mod:`binascii` module defines the following functions:" -msgstr "" +msgstr "O módulo :mod:`binascii` define as seguintes funções:" #: ../../library/binascii.rst:38 msgid "" @@ -59,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:45 msgid "" @@ -67,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:49 msgid "Added the *backtick* parameter." @@ -77,6 +90,8 @@ 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:61 msgid "" @@ -84,6 +99,10 @@ msgid "" "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:65 msgid "Added the *newline* parameter." @@ -151,33 +170,33 @@ msgstr "" #: ../../library/binascii.rst:138 msgid "" -"Compute CRC-32, the 32-bit checksum of *data*, starting with an initial CRC " -"of *value*. The default initial CRC is zero. The algorithm is consistent " -"with the ZIP file checksum. Since the algorithm is designed for use as a " -"checksum algorithm, it is not suitable for use as a general hash algorithm. " -"Use as follows::" +"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 " +"consistent with the ZIP file checksum. Since the algorithm is designed for " +"use as a checksum algorithm, it is not suitable for use as a general hash " +"algorithm. Use as follows::" msgstr "" #: ../../library/binascii.rst:150 msgid "" -"The result is always unsigned. To generate the same numeric value across all " -"Python versions and platforms, use ``crc32(data) & 0xffffffff``." +"The result is always unsigned. To generate the same numeric value when using " +"Python 2 or earlier, use ``crc32(data) & 0xffffffff``." msgstr "" -#: ../../library/binascii.rst:159 +#: ../../library/binascii.rst:158 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:163 +#: ../../library/binascii.rst:162 msgid "" "Similar functionality (but returning a text string) is also conveniently " "accessible using the :meth:`bytes.hex` method." msgstr "" -#: ../../library/binascii.rst:166 +#: ../../library/binascii.rst:165 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. " @@ -185,11 +204,11 @@ msgid "" "if you wish to count from the left, supply a negative *bytes_per_sep* value." msgstr "" -#: ../../library/binascii.rst:181 +#: ../../library/binascii.rst:180 msgid "The *sep* and *bytes_per_sep* parameters were added." msgstr "" -#: ../../library/binascii.rst:187 +#: ../../library/binascii.rst:186 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 " @@ -197,52 +216,52 @@ msgid "" "an :exc:`Error` exception is raised." msgstr "" -#: ../../library/binascii.rst:192 +#: ../../library/binascii.rst:191 msgid "" "Similar functionality (accepting only text string arguments, but more " "liberal towards whitespace) is also accessible using the :meth:`bytes." "fromhex` class method." msgstr "" -#: ../../library/binascii.rst:198 +#: ../../library/binascii.rst:197 msgid "Exception raised on errors. These are usually programming errors." msgstr "" -#: ../../library/binascii.rst:203 +#: ../../library/binascii.rst:202 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:211 +#: ../../library/binascii.rst:210 msgid "Module :mod:`base64`" msgstr "Módulo :mod:`base64`" -#: ../../library/binascii.rst:210 +#: ../../library/binascii.rst:209 msgid "" "Support for RFC compliant base64-style encoding in base 16, 32, 64, and 85." msgstr "" -#: ../../library/binascii.rst:214 +#: ../../library/binascii.rst:213 msgid "Module :mod:`binhex`" msgstr "" -#: ../../library/binascii.rst:214 +#: ../../library/binascii.rst:213 msgid "Support for the binhex format used on the Macintosh." msgstr "" -#: ../../library/binascii.rst:217 +#: ../../library/binascii.rst:216 msgid "Module :mod:`uu`" msgstr "" -#: ../../library/binascii.rst:217 +#: ../../library/binascii.rst:216 msgid "Support for UU encoding used on Unix." msgstr "" -#: ../../library/binascii.rst:219 +#: ../../library/binascii.rst:218 msgid "Module :mod:`quopri`" msgstr "Módulo :mod:`quopri`" -#: ../../library/binascii.rst:220 +#: ../../library/binascii.rst:219 msgid "Support for quoted-printable encoding used in MIME email messages." msgstr "" diff --git a/library/binhex.po b/library/binhex.po index fcb12c098..bacfccd79 100644 --- a/library/binhex.po +++ b/library/binhex.po @@ -1,29 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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 -# Claudio Rogerio Carvalho Filho , 2021 -# Misael borges , 2021 +# python-doc bot, 2025 # #, 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 00:56+0000\n" -"Last-Translator: Misael borges , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:57+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"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" diff --git a/library/bisect.po b/library/bisect.po index 38fba34e9..77e84dceb 100644 --- a/library/bisect.po +++ b/library/bisect.po @@ -1,27 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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.10\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-06-29 12:56+0000\n" -"PO-Revision-Date: 2021-06-28 00:56+0000\n" -"Last-Translator: Raphael Mendonça, 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:57+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/bisect.rst:2 msgid ":mod:`bisect` --- Array bisection algorithm" @@ -77,20 +77,29 @@ msgid "" ">= x for val in a[i : hi])`` for the right side." msgstr "" -#: ../../library/bisect.rst:37 ../../library/bisect.rst:55 -#: ../../library/bisect.rst:67 ../../library/bisect.rst:88 +#: ../../library/bisect.rst:37 ../../library/bisect.rst:58 msgid "" "*key* specifies a :term:`key function` of one argument that is used to " -"extract a comparison key from each input element. The default value is " -"``None`` (compare the elements directly)." +"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:41 ../../library/bisect.rst:59 -#: ../../library/bisect.rst:78 ../../library/bisect.rst:99 -msgid "Added the *key* parameter." +#: ../../library/bisect.rst:41 ../../library/bisect.rst:62 +msgid "" +"If *key* is ``None``, the elements are compared directly with no intervening " +"function call." msgstr "" -#: ../../library/bisect.rst:48 +#: ../../library/bisect.rst:44 ../../library/bisect.rst:65 +#: ../../library/bisect.rst:83 ../../library/bisect.rst:103 +msgid "Added the *key* parameter." +msgstr "Adicionado o parâmetro *key*." + +#: ../../library/bisect.rst:51 msgid "" "Similar to :func:`bisect_left`, but returns an insertion point which comes " "after (to the right of) any existing entries of *x* in *a*." @@ -98,31 +107,42 @@ msgstr "" "Semelhante a :func:`bisect_left`, mas retorna um ponto de inserção que vem " "depois (à direita de) qualquer entrada existente de *x* em *a*." -#: ../../library/bisect.rst:51 +#: ../../library/bisect.rst:54 msgid "" "The returned insertion point *i* partitions the array *a* into two halves so " "that ``all(val <= x for val in a[lo : i])`` for the left side and ``all(val " "> x for val in a[i : hi])`` for the right side." msgstr "" -#: ../../library/bisect.rst:65 +#: ../../library/bisect.rst:71 msgid "Insert *x* in *a* in sorted order." -msgstr "" +msgstr "Insere *x* em *a* na ordem de classificação." -#: ../../library/bisect.rst:71 +#: ../../library/bisect.rst:73 msgid "" "This function first runs :func:`bisect_left` to locate an insertion point. " "Next, it runs the :meth:`insert` method on *a* to insert *x* at the " "appropriate position to maintain sort order." msgstr "" -#: ../../library/bisect.rst:75 ../../library/bisect.rst:96 +#: ../../library/bisect.rst:77 ../../library/bisect.rst:97 +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:80 ../../library/bisect.rst:100 msgid "" "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:85 +#: ../../library/bisect.rst:90 msgid "" "Similar to :func:`insort_left`, but inserting *x* in *a* after any existing " "entries of *x*." @@ -130,36 +150,42 @@ msgstr "" "Semelhante a :func:`insort_left`, mas inserindo *x* em *a* após qualquer " "entrada existente de *x*." -#: ../../library/bisect.rst:92 +#: ../../library/bisect.rst:93 msgid "" "This function first runs :func:`bisect_right` to locate an insertion point. " "Next, it runs the :meth:`insert` method on *a* to insert *x* at the " "appropriate position to maintain sort order." msgstr "" -#: ../../library/bisect.rst:104 +#: ../../library/bisect.rst:108 msgid "Performance Notes" -msgstr "" +msgstr "Observações sobre desempenho" -#: ../../library/bisect.rst:106 +#: ../../library/bisect.rst:110 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:109 +#: ../../library/bisect.rst:113 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:112 +#: ../../library/bisect.rst:116 msgid "" "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:115 +#: ../../library/bisect.rst:119 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, " @@ -170,14 +196,17 @@ msgid "" "examples section below)." msgstr "" -#: ../../library/bisect.rst:125 +#: ../../library/bisect.rst:129 msgid "" -"`Sorted Collections `_ is " -"a high performance module that uses *bisect* to managed sorted collections " -"of data." +"`Sorted Collections `_ is a " +"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:129 +#: ../../library/bisect.rst:133 msgid "" "The `SortedCollection recipe `_ uses bisect to build a full-featured collection class " @@ -185,12 +214,17 @@ 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:137 +#: ../../library/bisect.rst:141 msgid "Searching Sorted Lists" -msgstr "Pesquisando em listas ordenadas" +msgstr "Buscando em listas ordenadas" -#: ../../library/bisect.rst:139 +#: ../../library/bisect.rst:143 msgid "" "The above :func:`bisect` functions are useful for finding insertion points " "but can be tricky or awkward to use for common searching tasks. The " @@ -202,11 +236,11 @@ msgstr "" "pesquisa. As cinco funções a seguir mostram como transformá-las nas " "pesquisas padrão para listas ordenadas::" -#: ../../library/bisect.rst:181 +#: ../../library/bisect.rst:185 msgid "Examples" msgstr "Exemplos" -#: ../../library/bisect.rst:185 +#: ../../library/bisect.rst:189 msgid "" "The :func:`bisect` function can be useful for numeric table lookups. This " "example uses :func:`bisect` to look up a letter grade for an exam score " @@ -219,8 +253,18 @@ msgstr "" "interrupção numéricos ordenados: 90 e acima é um \"A\", 80 a 89 é um \"B\" e " "por aí vai::" -#: ../../library/bisect.rst:197 +#: ../../library/bisect.rst:201 +msgid "" +"The :func:`bisect` and :func:`insort` functions also work with lists of " +"tuples. The *key* argument can serve to extract the field used for ordering " +"records in a table::" +msgstr "" + +#: ../../library/bisect.rst:235 msgid "" -"One technique to avoid repeated calls to a key function is to search a list " -"of precomputed keys to find the index of a record::" +"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 ab5b90737..fdc584980 100644 --- a/library/builtins.po +++ b/library/builtins.po @@ -1,26 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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.10\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-06-29 12:56+0000\n" -"PO-Revision-Date: 2021-06-28 00:56+0000\n" -"Last-Translator: Rafael Fontenelle , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:57+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/builtins.rst:2 msgid ":mod:`builtins` --- Built-in objects" diff --git a/library/bz2.po b/library/bz2.po index 997961427..423059326 100644 --- a/library/bz2.po +++ b/library/bz2.po @@ -1,27 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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 -# Rafael Fontenelle , 2022 +# python-doc bot, 2025 # #, 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 00:56+0000\n" -"Last-Translator: Rafael Fontenelle , 2022\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-11-01 17:13+0000\n" +"PO-Revision-Date: 2025-09-22 15:57+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/bz2.rst:2 msgid ":mod:`bz2` --- Support for :program:`bzip2` compression" @@ -64,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" @@ -180,7 +180,7 @@ msgid "" "least compression, and ``9`` (default) produces the most compression." msgstr "" "Se *mode* for ``'w'`` ou ``'a'``, *compresslevel* pode ser um inteiro entre " -"``1`` e ``9`` especificando o nível de compressão: ``1` ` produz a menor " +"``1`` e ``9`` especificando o nível de compressão: ``1`` produz a menor " "compressão e ``9`` (padrão) produz a maior compactação." #: ../../library/bz2.rst:86 @@ -223,9 +223,9 @@ msgid "" "*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*)." +"`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." @@ -366,8 +366,8 @@ msgid "" "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:" @@ -382,7 +382,7 @@ 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." @@ -393,18 +393,18 @@ msgid "" "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 msgid "" -"Attempting to decompress data after the end of stream is reached raises an " -"`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 " -"um `EOFError`. Quaisquer dados encontrados após o final do fluxo são " +"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 @@ -417,7 +417,7 @@ msgstr "``True`` se o marcador de fim de fluxo foi atingido." #: ../../library/bz2.rst:224 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 msgid "" @@ -433,7 +433,7 @@ msgid "" "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 msgid "One-shot (de)compression" @@ -441,8 +441,7 @@ msgstr "(De)compressão de uma só vez (one-shot)" #: ../../library/bz2.rst:242 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 msgid "For incremental compression, use a :class:`BZ2Compressor` instead." @@ -450,8 +449,7 @@ msgstr "Para compressão incremental, use um :class:`BZ2Compressor`." #: ../../library/bz2.rst:252 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 msgid "" @@ -491,12 +489,12 @@ msgstr "Usando :class:`BZ2Compressor` para compressão incremental:" #: ../../library/bz2.rst:305 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, " +"The example above uses a very \"nonrandom\" stream of data (a stream of " +"``b\"z\"`` chunks). Random data tends to compress poorly, while ordered, " "repetitive data usually yields a high compression ratio." msgstr "" "O exemplo acima usa um fluxo de dados muito \"não aleatório\" (um fluxo de " -"partes `b\"z\"`). Dados aleatórios tendem a compactar mal, enquanto dados " +"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 diff --git a/library/calendar.po b/library/calendar.po index 2616369b4..357d164a5 100644 --- a/library/calendar.po +++ b/library/calendar.po @@ -1,27 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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.10\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-06-29 12:56+0000\n" -"PO-Revision-Date: 2021-06-28 00:56+0000\n" -"Last-Translator: Marco Rougeth , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-12-13 17:12+0000\n" +"PO-Revision-Date: 2025-09-22 15:57+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/calendar.rst:2 msgid ":mod:`calendar` --- General calendar-related functions" @@ -41,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 "" @@ -52,12 +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. ``0`` is Monday (the default), ``6`` is Sunday." +"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 "" @@ -65,10 +84,13 @@ 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 "" @@ -76,6 +98,9 @@ msgid "" "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 "" @@ -84,6 +109,10 @@ 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 "" @@ -92,6 +121,10 @@ msgid "" "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 "" @@ -100,6 +133,10 @@ msgid "" "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 "" @@ -108,6 +145,10 @@ msgid "" "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 "" @@ -116,24 +157,35 @@ msgid "" "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 "" @@ -142,6 +194,10 @@ 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 "" @@ -149,6 +205,10 @@ msgid "" "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 "" @@ -156,14 +216,17 @@ msgid "" "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 "" @@ -173,10 +236,16 @@ msgid "" "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 "" @@ -187,31 +256,45 @@ msgid "" "`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 "" @@ -221,59 +304,79 @@ 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 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 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 msgid "more styles can be added for each day::" -msgstr "" +msgstr "mais estilos podem ser adicionados para cada dia::" #: ../../library/calendar.rst:212 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 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 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 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 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 msgid "" "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 msgid "" "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 msgid "" @@ -281,10 +384,15 @@ msgid "" "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 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 msgid "" @@ -313,7 +421,7 @@ msgstr "" #: ../../library/calendar.rst:300 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:304 msgid "" @@ -322,43 +430,60 @@ msgid "" "`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:315 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:320 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:325 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:328 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:333 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:339 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:345 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:351 msgid "" @@ -366,10 +491,14 @@ msgid "" "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:358 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:363 msgid "" @@ -381,6 +510,8 @@ msgstr "" 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:374 msgid "" @@ -396,10 +527,15 @@ 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:387 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:391 msgid "An array that represents the days of the week in the current locale." @@ -425,20 +561,27 @@ msgid "" "it has a length of 13 and ``month_abbr[0]`` is the empty string." msgstr "" -#: ../../library/calendar.rst:417 +#: ../../library/calendar.rst:420 +msgid "" +"Aliases for day numbers, where ``MONDAY`` is ``0`` and ``SUNDAY`` is ``6``." +msgstr "" + +#: ../../library/calendar.rst:426 msgid "Module :mod:`datetime`" msgstr "Módulo :mod:`datetime`" -#: ../../library/calendar.rst:416 +#: ../../library/calendar.rst:425 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:419 +#: ../../library/calendar.rst:428 msgid "Module :mod:`time`" msgstr "Módulo :mod:`time`" -#: ../../library/calendar.rst:420 +#: ../../library/calendar.rst:429 msgid "Low-level time related functions." -msgstr "" +msgstr "Funções de baixo nível relacionadas ao tempo." diff --git a/library/cgi.po b/library/cgi.po index aae9f459e..195654bb3 100644 --- a/library/cgi.po +++ b/library/cgi.po @@ -1,43 +1,47 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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 -# Claudio Rogerio Carvalho Filho , 2021 -# Ruan Aragão , 2021 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.10\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-07-27 13:07+0000\n" -"PO-Revision-Date: 2021-06-28 00:56+0000\n" -"Last-Translator: Ruan Aragão , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:57+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/cgi.rst:2 msgid ":mod:`cgi` --- Common Gateway Interface support" msgstr ":mod:`cgi` --- Suporte a Common Gateway Interface" -#: ../../library/cgi.rst:7 +#: ../../library/cgi.rst:8 msgid "**Source code:** :source:`Lib/cgi.py`" msgstr "**Código-fonte:** :source:`Lib/cgi.py`" -#: ../../library/cgi.rst:19 +#: ../../library/cgi.rst:18 +msgid "" +"The :mod:`cgi` module is deprecated (see :pep:`PEP 594 <594#cgi>` for " +"details and alternatives)." +msgstr "" + +#: ../../library/cgi.rst:24 msgid "Support module for Common Gateway Interface (CGI) scripts." msgstr "Módulo de suporte a scripts de Common Gateway Interface (CGI)." -#: ../../library/cgi.rst:21 +#: ../../library/cgi.rst:26 msgid "" "This module defines a number of utilities for use by CGI scripts written in " "Python." @@ -45,11 +49,11 @@ msgstr "" "Este módulo define vários utilitários para uso por scripts CGI escritos em " "Python." -#: ../../library/cgi.rst:26 +#: ../../library/cgi.rst:31 msgid "Introduction" msgstr "Introdução" -#: ../../library/cgi.rst:30 +#: ../../library/cgi.rst:35 msgid "" "A CGI script is invoked by an HTTP server, usually to process user input " "submitted through an HTML ``
`` or ```` element." @@ -58,7 +62,7 @@ msgstr "" "entrada do usuário enviada por meio de um elemento HTML ```` ou " "````." -#: ../../library/cgi.rst:33 +#: ../../library/cgi.rst:38 msgid "" "Most often, CGI scripts live in the server's special :file:`cgi-bin` " "directory. The HTTP server places all sorts of information about the request " @@ -72,7 +76,7 @@ msgstr "" "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:39 +#: ../../library/cgi.rst:44 msgid "" "The script's input is connected to the client too, and sometimes the form " "data is read this way; at other times the form data is passed via the " @@ -91,7 +95,7 @@ msgstr "" "suporte para uploads de arquivos de um formulário (se o seu navegador " "permitir)." -#: ../../library/cgi.rst:46 +#: ../../library/cgi.rst:51 msgid "" "The output of a CGI script should consist of two sections, separated by a " "blank line. The first section contains a number of headers, telling the " @@ -103,7 +107,7 @@ msgstr "" "cliente que tipo de dados está seguindo. O código Python para gerar uma " "seção de cabeçalho mínima se parece com isto::" -#: ../../library/cgi.rst:54 +#: ../../library/cgi.rst:59 msgid "" "The second section is usually HTML, which allows the client software to " "display nicely formatted text with header, in-line images, etc. Here's " @@ -113,19 +117,19 @@ msgstr "" "exiba um texto bem formatado com cabeçalho, imagens em linha etc. Aqui está " "o código Python que imprime um pedaço simples de HTML ::" -#: ../../library/cgi.rst:66 +#: ../../library/cgi.rst:71 msgid "Using the cgi module" msgstr "Usando o módulo cgi" -#: ../../library/cgi.rst:68 +#: ../../library/cgi.rst:73 msgid "Begin by writing ``import cgi``." msgstr "Comece escrevendo ``import cgi``." -#: ../../library/cgi.rst:70 +#: ../../library/cgi.rst:75 msgid "When you write a new script, consider adding these lines::" msgstr "Ao escrever um novo script, considere adicionar estas linhas::" -#: ../../library/cgi.rst:75 +#: ../../library/cgi.rst:80 msgid "" "This activates a special exception handler that will display detailed " "reports in the web browser if any errors occur. If you'd rather not show " @@ -133,7 +137,7 @@ msgid "" "saved to files instead, with code like this::" msgstr "" -#: ../../library/cgi.rst:83 +#: ../../library/cgi.rst:88 msgid "" "It's very helpful to use this feature during script development. The reports " "produced by :mod:`cgitb` provide information that can save you a lot of time " @@ -146,27 +150,19 @@ msgstr "" "linha ``cgitb`` mais tarde, quando tiver testado seu script e estiver " "confiante de que ele funciona corretamente." -#: ../../library/cgi.rst:88 +#: ../../library/cgi.rst:93 msgid "" "To get at submitted form data, use the :class:`FieldStorage` class. If the " "form contains non-ASCII characters, use the *encoding* keyword parameter set " "to the value of the encoding defined for the document. It is usually " "contained in the META tag in the HEAD section of the HTML document or by " -"the :mailheader:`Content-Type` header). This reads the form contents from " +"the :mailheader:`Content-Type` header. This reads the form contents from " "the standard input or the environment (depending on the value of various " "environment variables set according to the CGI standard). Since it may " "consume standard input, it should be instantiated only once." msgstr "" -"Para obter os dados do formulário enviado, use a classe :class:" -"`FieldStorage`. Se o formulário contiver caracteres não ASCII, use o " -"parâmetro nomeado *encoding* definido para o valor da codificação definida " -"para o documento. Geralmente está contido na tag META na seção HEAD do " -"documento HTML ou pelo cabeçalho :mailheader:`Content-Type`). Isso lê o " -"conteúdo do formulário da entrada padrão ou do ambiente (dependendo do valor " -"de várias variáveis de ambiente definidas de acordo com o padrão CGI). Uma " -"vez que pode consumir a entrada padrão, deve ser instanciado apenas uma vez." -#: ../../library/cgi.rst:97 +#: ../../library/cgi.rst:102 msgid "" "The :class:`FieldStorage` instance can be indexed like a Python dictionary. " "It allows membership testing with the :keyword:`in` operator, and also " @@ -184,14 +180,14 @@ msgstr "" "forneça um valor verdadeiro para o parâmetro nnomeado opcional " "*keep_blank_values* ao criar a instância :class:`FieldStorage`." -#: ../../library/cgi.rst:105 +#: ../../library/cgi.rst:110 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::" msgstr "" -#: ../../library/cgi.rst:119 +#: ../../library/cgi.rst:124 msgid "" "Here the fields, accessed through ``form[key]``, are themselves instances " "of :class:`FieldStorage` (or :class:`MiniFieldStorage`, depending on the " @@ -201,7 +197,7 @@ msgid "" "second argument as a default to return if the requested key is not present." msgstr "" -#: ../../library/cgi.rst:126 +#: ../../library/cgi.rst:131 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 :" @@ -214,7 +210,7 @@ msgid "" "username fields, separated by commas::" msgstr "" -#: ../../library/cgi.rst:139 +#: ../../library/cgi.rst:144 msgid "" "If a field represents an uploaded file, accessing the value via the :attr:" "`~FieldStorage.value` attribute or the :meth:`~FieldStorage.getvalue` method " @@ -227,13 +223,13 @@ msgid "" "IOBase.readline` methods will return bytes)::" msgstr "" -#: ../../library/cgi.rst:159 +#: ../../library/cgi.rst:164 msgid "" ":class:`FieldStorage` objects also support being used in a :keyword:`with` " "statement, which will automatically close them when done." msgstr "" -#: ../../library/cgi.rst:162 +#: ../../library/cgi.rst:167 msgid "" "If an error is encountered when obtaining the contents of an uploaded file " "(for example, when the user interrupts the form submission by clicking on a " @@ -241,7 +237,7 @@ msgid "" "object for the field will be set to the value -1." msgstr "" -#: ../../library/cgi.rst:167 +#: ../../library/cgi.rst:172 msgid "" "The file upload draft standard entertains the possibility of uploading " "multiple files from one field (using a recursive :mimetype:`multipart/\\*` " @@ -252,7 +248,7 @@ msgid "" "be iterated over recursively just like the top-level form object." msgstr "" -#: ../../library/cgi.rst:175 +#: ../../library/cgi.rst:180 msgid "" "When a form is submitted in the \"old\" format (as the query string or as a " "single data part of type :mimetype:`application/x-www-form-urlencoded`), the " @@ -261,29 +257,29 @@ msgid "" "are always ``None``." msgstr "" -#: ../../library/cgi.rst:180 +#: ../../library/cgi.rst:185 msgid "" "A form submitted via POST that also has a query string will contain both :" "class:`FieldStorage` and :class:`MiniFieldStorage` items." msgstr "" -#: ../../library/cgi.rst:183 +#: ../../library/cgi.rst:188 msgid "" "The :attr:`~FieldStorage.file` attribute is automatically closed upon the " "garbage collection of the creating :class:`FieldStorage` instance." msgstr "" -#: ../../library/cgi.rst:187 +#: ../../library/cgi.rst:192 msgid "" "Added support for the context management protocol to the :class:" "`FieldStorage` class." msgstr "" -#: ../../library/cgi.rst:193 +#: ../../library/cgi.rst:198 msgid "Higher Level Interface" msgstr "Interface de nível mais alto" -#: ../../library/cgi.rst:195 +#: ../../library/cgi.rst:200 msgid "" "The previous section explains how to read CGI form data using the :class:" "`FieldStorage` class. This section describes a higher level interface which " @@ -293,33 +289,33 @@ msgid "" "efficiently, for example." msgstr "" -#: ../../library/cgi.rst:204 +#: ../../library/cgi.rst:209 msgid "" "The interface consists of two simple methods. Using the methods you can " "process form data in a generic way, without the need to worry whether only " "one or more values were posted under one name." msgstr "" -#: ../../library/cgi.rst:208 +#: ../../library/cgi.rst:213 msgid "" "In the previous section, you learned to write following code anytime you " "expected a user to post more than one value under one name::" msgstr "" -#: ../../library/cgi.rst:217 +#: ../../library/cgi.rst:222 msgid "" "This situation is common for example when a form contains a group of " "multiple checkboxes with the same name::" msgstr "" -#: ../../library/cgi.rst:223 +#: ../../library/cgi.rst:228 msgid "" "In most situations, however, there's only one form control with a particular " "name in a form and then you expect and need only one value associated with " "this name. So you write a script containing for example this code::" msgstr "" -#: ../../library/cgi.rst:229 +#: ../../library/cgi.rst:234 msgid "" "The problem with the code is that you should never expect that a client will " "provide valid input to your scripts. For example, if a curious user appends " @@ -330,21 +326,21 @@ msgid "" "an :exc:`AttributeError` exception." msgstr "" -#: ../../library/cgi.rst:237 +#: ../../library/cgi.rst:242 msgid "" "Therefore, the appropriate way to read form data values was to always use " "the code which checks whether the obtained value is a single value or a list " "of values. That's annoying and leads to less readable scripts." msgstr "" -#: ../../library/cgi.rst:241 +#: ../../library/cgi.rst:246 msgid "" "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:247 +#: ../../library/cgi.rst:252 msgid "" "This method always returns only one value associated with form field *name*. " "The method returns only the first value in case that more values were posted " @@ -355,7 +351,7 @@ msgid "" "defaults to ``None`` if not specified." msgstr "" -#: ../../library/cgi.rst:258 +#: ../../library/cgi.rst:263 msgid "" "This method always returns a list of values associated with form field " "*name*. The method returns an empty list if no such form field or value " @@ -363,28 +359,28 @@ msgid "" "such value exists." msgstr "" -#: ../../library/cgi.rst:262 +#: ../../library/cgi.rst:267 msgid "Using these methods you can write nice compact code::" msgstr "" -#: ../../library/cgi.rst:274 +#: ../../library/cgi.rst:279 msgid "Functions" msgstr "Funções" -#: ../../library/cgi.rst:276 +#: ../../library/cgi.rst:281 msgid "" "These are useful if you want more control, or if you want to employ some of " "the algorithms implemented in this module in other circumstances." msgstr "" -#: ../../library/cgi.rst:282 +#: ../../library/cgi.rst:287 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* " "parameters are passed to :func:`urllib.parse.parse_qs` unchanged." msgstr "" -#: ../../library/cgi.rst:289 +#: ../../library/cgi.rst:294 msgid "" "Parse input of type :mimetype:`multipart/form-data` (for file uploads). " "Arguments are *fp* for the input file, *pdict* for a dictionary containing " @@ -392,63 +388,63 @@ msgid "" "the request encoding." msgstr "" -#: ../../library/cgi.rst:294 +#: ../../library/cgi.rst:299 msgid "" "Returns a dictionary just like :func:`urllib.parse.parse_qs`: keys are the " "field names, each value is a list of values for that field. For non-file " "fields, the value is a list of strings." msgstr "" -#: ../../library/cgi.rst:298 +#: ../../library/cgi.rst:303 msgid "" "This is easy to use but not much good if you are expecting megabytes to be " "uploaded --- in that case, use the :class:`FieldStorage` class instead which " "is much more flexible." msgstr "" -#: ../../library/cgi.rst:302 +#: ../../library/cgi.rst:307 msgid "" "Added the *encoding* and *errors* parameters. For non-file fields, the " "value is now a list of strings, not bytes." msgstr "" -#: ../../library/cgi.rst:306 +#: ../../library/cgi.rst:311 msgid "Added the *separator* parameter." msgstr "" -#: ../../library/cgi.rst:312 +#: ../../library/cgi.rst:317 msgid "" "Parse a MIME header (such as :mailheader:`Content-Type`) into a main value " "and a dictionary of parameters." msgstr "" -#: ../../library/cgi.rst:318 +#: ../../library/cgi.rst:323 msgid "" "Robust test CGI script, usable as main program. Writes minimal HTTP headers " "and formats all information provided to the script in HTML format." msgstr "" -#: ../../library/cgi.rst:324 +#: ../../library/cgi.rst:329 msgid "Format the shell environment in HTML." msgstr "" -#: ../../library/cgi.rst:329 +#: ../../library/cgi.rst:334 msgid "Format a form in HTML." msgstr "" -#: ../../library/cgi.rst:334 +#: ../../library/cgi.rst:339 msgid "Format the current directory in HTML." msgstr "" -#: ../../library/cgi.rst:339 +#: ../../library/cgi.rst:344 msgid "Print a list of useful (used by CGI) environment variables in HTML." msgstr "" -#: ../../library/cgi.rst:345 +#: ../../library/cgi.rst:350 msgid "Caring about security" msgstr "" -#: ../../library/cgi.rst:349 +#: ../../library/cgi.rst:354 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), " @@ -459,25 +455,25 @@ msgid "" "since the request doesn't have to come from your form!" msgstr "" -#: ../../library/cgi.rst:357 +#: ../../library/cgi.rst:362 msgid "" "To be on the safe side, if you must pass a string gotten from a form to a " "shell command, you should make sure the string contains only alphanumeric " "characters, dashes, underscores, and periods." msgstr "" -#: ../../library/cgi.rst:363 +#: ../../library/cgi.rst:368 msgid "Installing your CGI script on a Unix system" msgstr "" -#: ../../library/cgi.rst:365 +#: ../../library/cgi.rst:370 msgid "" "Read the documentation for your HTTP server and check with your local system " "administrator to find the directory where CGI scripts should be installed; " "usually this is in a directory :file:`cgi-bin` in the server tree." msgstr "" -#: ../../library/cgi.rst:369 +#: ../../library/cgi.rst:374 msgid "" "Make sure that your script is readable and executable by \"others\"; the " "Unix file mode should be ``0o755`` octal (use ``chmod 0755 filename``). " @@ -485,12 +481,12 @@ msgid "" "column 1 followed by the pathname of the Python interpreter, for instance::" msgstr "" -#: ../../library/cgi.rst:376 +#: ../../library/cgi.rst:381 msgid "" "Make sure the Python interpreter exists and is executable by \"others\"." msgstr "" -#: ../../library/cgi.rst:378 +#: ../../library/cgi.rst:383 msgid "" "Make sure that any files your script needs to read or write are readable or " "writable, respectively, by \"others\" --- their mode should be ``0o644`` for " @@ -505,28 +501,28 @@ msgid "" "anything interesting." msgstr "" -#: ../../library/cgi.rst:389 +#: ../../library/cgi.rst:394 msgid "" "If you need to load modules from a directory which is not on Python's " "default module search path, you can change the path in your script, before " "importing other modules. For example::" msgstr "" -#: ../../library/cgi.rst:397 +#: ../../library/cgi.rst:402 msgid "(This way, the directory inserted last will be searched first!)" msgstr "" -#: ../../library/cgi.rst:399 +#: ../../library/cgi.rst:404 msgid "" "Instructions for non-Unix systems will vary; check your HTTP server's " "documentation (it will usually have a section on CGI scripts)." msgstr "" -#: ../../library/cgi.rst:404 +#: ../../library/cgi.rst:409 msgid "Testing your CGI script" msgstr "" -#: ../../library/cgi.rst:406 +#: ../../library/cgi.rst:411 msgid "" "Unfortunately, a CGI script will generally not run when you try it from the " "command line, and a script that works perfectly from the command line may " @@ -536,17 +532,17 @@ msgid "" "will most likely send a cryptic error to the client." msgstr "" -#: ../../library/cgi.rst:413 +#: ../../library/cgi.rst:418 msgid "" "Assuming your script has no syntax errors, yet it does not work, you have no " "choice but to read the next section." msgstr "" -#: ../../library/cgi.rst:418 +#: ../../library/cgi.rst:423 msgid "Debugging CGI scripts" msgstr "" -#: ../../library/cgi.rst:422 +#: ../../library/cgi.rst:427 msgid "" "First of all, check for trivial installation errors --- reading the section " "above on installing your CGI script carefully can save you a lot of time. " @@ -559,7 +555,7 @@ msgid "" "your browser of the form:" msgstr "" -#: ../../library/cgi.rst:435 +#: ../../library/cgi.rst:440 msgid "" "If this gives an error of type 404, the server cannot find the script -- " "perhaps you need to install it in a different directory. If it gives " @@ -571,19 +567,19 @@ msgid "" "same procedure for your own script, you should now be able to debug it." msgstr "" -#: ../../library/cgi.rst:444 +#: ../../library/cgi.rst:449 msgid "" "The next step could be to call the :mod:`cgi` module's :func:`test` function " "from your script: replace its main code with the single statement ::" msgstr "" -#: ../../library/cgi.rst:449 +#: ../../library/cgi.rst:454 msgid "" "This should produce the same results as those gotten from installing the :" "file:`cgi.py` file itself." msgstr "" -#: ../../library/cgi.rst:452 +#: ../../library/cgi.rst:457 msgid "" "When an ordinary Python script raises an unhandled exception (for whatever " "reason: of a typo in a module name, a file that can't be opened, etc.), the " @@ -593,28 +589,28 @@ msgid "" "or be discarded altogether." msgstr "" -#: ../../library/cgi.rst:459 +#: ../../library/cgi.rst:464 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::" msgstr "" -#: ../../library/cgi.rst:466 +#: ../../library/cgi.rst:471 msgid "" "to the top of your script. Then try running it again; when a problem " "occurs, you should see a detailed report that will likely make apparent the " "cause of the crash." msgstr "" -#: ../../library/cgi.rst:470 +#: ../../library/cgi.rst:475 msgid "" "If you suspect that there may be a problem in importing the :mod:`cgitb` " "module, you can use an even more robust approach (which only uses built-in " "modules)::" msgstr "" -#: ../../library/cgi.rst:479 +#: ../../library/cgi.rst:484 msgid "" "This relies on the Python interpreter to print the traceback. The content " "type of the output is set to plain text, which disables all HTML " @@ -624,47 +620,47 @@ msgid "" "interpretation is going on, the traceback will be readable." msgstr "" -#: ../../library/cgi.rst:488 +#: ../../library/cgi.rst:493 msgid "Common problems and solutions" msgstr "" -#: ../../library/cgi.rst:490 +#: ../../library/cgi.rst:495 msgid "" "Most HTTP servers buffer the output from CGI scripts until the script is " "completed. This means that it is not possible to display a progress report " "on the client's display while the script is running." msgstr "" -#: ../../library/cgi.rst:494 +#: ../../library/cgi.rst:499 msgid "Check the installation instructions above." msgstr "" -#: ../../library/cgi.rst:496 +#: ../../library/cgi.rst:501 msgid "" "Check the HTTP server's log files. (``tail -f logfile`` in a separate " "window may be useful!)" msgstr "" -#: ../../library/cgi.rst:499 +#: ../../library/cgi.rst:504 msgid "" "Always check a script for syntax errors first, by doing something like " "``python script.py``." msgstr "" -#: ../../library/cgi.rst:502 +#: ../../library/cgi.rst:507 msgid "" "If your script does not have any syntax errors, try adding ``import cgitb; " "cgitb.enable()`` to the top of the script." msgstr "" -#: ../../library/cgi.rst:505 +#: ../../library/cgi.rst:510 msgid "" "When invoking external programs, make sure they can be found. Usually, this " "means using absolute path names --- :envvar:`PATH` is usually not set to a " "very useful value in a CGI script." msgstr "" -#: ../../library/cgi.rst:509 +#: ../../library/cgi.rst:514 msgid "" "When reading or writing external files, make sure they can be read or " "written by the userid under which your CGI script will be running: this is " @@ -672,17 +668,17 @@ msgid "" "explicitly specified userid for a web server's ``suexec`` feature." msgstr "" -#: ../../library/cgi.rst:514 +#: ../../library/cgi.rst:519 msgid "" "Don't try to give a CGI script a set-uid mode. This doesn't work on most " "systems, and is a security liability as well." msgstr "" -#: ../../library/cgi.rst:518 +#: ../../library/cgi.rst:523 msgid "Footnotes" msgstr "Notas de rodapé" -#: ../../library/cgi.rst:519 +#: ../../library/cgi.rst:524 msgid "" "Note that some recent versions of the HTML specification do state what order " "the field values should be supplied in, but knowing whether a request was " diff --git a/library/cgitb.po b/library/cgitb.po index f06d4e311..687a04a18 100644 --- a/library/cgitb.po +++ b/library/cgitb.po @@ -1,27 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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 -# Marcos Wenneton Araújo , 2021 +# python-doc bot, 2025 # #, 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 00:56+0000\n" -"Last-Translator: Marcos Wenneton Araújo , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:57+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/cgitb.rst:2 msgid ":mod:`cgitb` --- Traceback manager for CGI scripts" @@ -29,11 +29,19 @@ msgstr "" ":mod:`cgitb` --- Gerenciador de traceback (situação da pilha de execução) " "para roteiros de CGI" -#: ../../library/cgitb.rst:10 +#: ../../library/cgitb.rst:11 msgid "**Source code:** :source:`Lib/cgitb.py`" msgstr "**Código-fonte:** :source:`Lib/cgitb.py`" -#: ../../library/cgitb.rst:20 +#: ../../library/cgitb.rst:19 +msgid "" +"The :mod:`cgitb` module is deprecated (see :pep:`PEP 594 <594#cgitb>` for " +"details)." +msgstr "" +"O módulo :mod:`cgitb` foi descontinuado (veja :pep:`PEP 594 <594#cgitb>` " +"para mais detalhes)." + +#: ../../library/cgitb.rst:25 msgid "" "The :mod:`cgitb` module provides a special exception handler for Python " "scripts. (Its name is a bit misleading. It was originally designed to " @@ -57,12 +65,12 @@ msgstr "" "execução, para ajudá-lo a depurar o problema. Opcionalmente, você pode " "salvar essas informações em um arquivo em vez de enviá-las para o navegador." -#: ../../library/cgitb.rst:30 +#: ../../library/cgitb.rst:35 msgid "To enable this feature, simply add this to the top of your CGI script::" msgstr "" "Para habilitar esse recurso, basta adicioná-lo ao topo do seu script CGI::" -#: ../../library/cgitb.rst:35 +#: ../../library/cgitb.rst:40 msgid "" "The options to the :func:`enable` function control whether the report is " "displayed in the browser and whether the report is logged to a file for " @@ -71,7 +79,7 @@ msgstr "" "As opções da função :func:`enable` controlam se o relatório é exibido no " "navegador e se o relatório é registrado em um arquivo para análise posterior." -#: ../../library/cgitb.rst:44 +#: ../../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." @@ -80,7 +88,7 @@ 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`." -#: ../../library/cgitb.rst:47 +#: ../../library/cgitb.rst:52 msgid "" "The optional argument *display* defaults to ``1`` and can be set to ``0`` to " "suppress sending the traceback to the browser. If the argument *logdir* is " @@ -89,8 +97,8 @@ msgid "" "argument *context* is the number of lines of context to display around the " "current line of source code in the traceback; this defaults to ``5``. If the " "optional argument *format* is ``\"html\"``, the output is formatted as " -"HTML. Any other value forces plain text output. The default value is ``" -"\"html\"``." +"HTML. Any other value forces plain text output. The default value is " +"``\"html\"``." msgstr "" "O argumento opcional *display* é padronizado como ``1`` e pode ser definido " "como ``0`` para suprimir o envio do traceback ao navegador. Se o argumento " @@ -98,11 +106,11 @@ msgstr "" "arquivos. O valor de *logdir* deve ser um diretório em que esses arquivos " "serão colocados. O argumento opcional *context* é o número de linhas de " "contexto a serem exibidas em torno da linha atual do código-fonte no " -"traceback; o padrão é ``5``. Se o argumento opcional *format* for ``\"html" -"\"``, a saída será formatada como HTML. Qualquer outro valor força a saída " -"de texto sem formatação. O valor padrão é ``\"html\"``." +"traceback; o padrão é ``5``. Se o argumento opcional *format* for " +"``\"html\"``, a saída será formatada como HTML. Qualquer outro valor força a " +"saída de texto sem formatação. O valor padrão é ``\"html\"``." -#: ../../library/cgitb.rst:59 +#: ../../library/cgitb.rst:64 msgid "" "This function handles the exception described by *info* (a 3-tuple " "containing the result of :func:`sys.exc_info`), formatting its traceback as " @@ -116,7 +124,7 @@ msgstr "" "*context* é o número de linhas de contexto a serem exibidas em torno da " "linha atual do código-fonte no traceback; o padrão é ``5``." -#: ../../library/cgitb.rst:68 +#: ../../library/cgitb.rst:73 msgid "" "This function handles the exception described by *info* (a 3-tuple " "containing the result of :func:`sys.exc_info`), formatting its traceback as " @@ -130,7 +138,7 @@ msgstr "" "*context* é o número de linhas de contexto a serem exibidas em torno da " "linha atual do código-fonte no traceback; o padrão é ``5``." -#: ../../library/cgitb.rst:77 +#: ../../library/cgitb.rst:82 msgid "" "This function handles an exception using the default settings (that is, show " "a report in the browser, but don't log to a file). This can be used when " diff --git a/library/chunk.po b/library/chunk.po index cfd4ca139..666cee687 100644 --- a/library/chunk.po +++ b/library/chunk.po @@ -1,38 +1,43 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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 -# i17obot , 2021 +# python-doc bot, 2025 # #, 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 00:56+0000\n" -"Last-Translator: i17obot , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:57+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/chunk.rst:2 msgid ":mod:`chunk` --- Read IFF chunked data" msgstr "" -#: ../../library/chunk.rst:10 +#: ../../library/chunk.rst:11 msgid "**Source code:** :source:`Lib/chunk.py`" msgstr "**Código-fonte:** :source:`Lib/chunk.py`" -#: ../../library/chunk.rst:21 +#: ../../library/chunk.rst:20 +msgid "" +"The :mod:`chunk` module is deprecated (see :pep:`PEP 594 <594#chunk>` for " +"details)." +msgstr "" + +#: ../../library/chunk.rst:26 msgid "" "This module provides an interface for reading files that use EA IFF 85 " "chunks. [#]_ This format is used in at least the Audio Interchange File " @@ -40,73 +45,73 @@ msgid "" "file format is closely related and can also be read using this module." msgstr "" -#: ../../library/chunk.rst:26 +#: ../../library/chunk.rst:31 msgid "A chunk has the following structure:" msgstr "" -#: ../../library/chunk.rst:29 +#: ../../library/chunk.rst:34 msgid "Offset" -msgstr "" +msgstr "Offset" -#: ../../library/chunk.rst:29 +#: ../../library/chunk.rst:34 msgid "Length" -msgstr "" +msgstr "Comprimento" -#: ../../library/chunk.rst:29 +#: ../../library/chunk.rst:34 msgid "Contents" msgstr "Conteúdo" -#: ../../library/chunk.rst:31 +#: ../../library/chunk.rst:36 msgid "0" msgstr "0" -#: ../../library/chunk.rst:31 ../../library/chunk.rst:33 +#: ../../library/chunk.rst:36 ../../library/chunk.rst:38 msgid "4" msgstr "4" -#: ../../library/chunk.rst:31 +#: ../../library/chunk.rst:36 msgid "Chunk ID" msgstr "" -#: ../../library/chunk.rst:33 +#: ../../library/chunk.rst:38 msgid "Size of chunk in big-endian byte order, not including the header" msgstr "" -#: ../../library/chunk.rst:37 +#: ../../library/chunk.rst:42 msgid "8" msgstr "8" -#: ../../library/chunk.rst:37 +#: ../../library/chunk.rst:42 msgid "*n*" -msgstr "" +msgstr "*n*" -#: ../../library/chunk.rst:37 +#: ../../library/chunk.rst:42 msgid "Data bytes, where *n* is the size given in the preceding field" msgstr "" -#: ../../library/chunk.rst:41 +#: ../../library/chunk.rst:46 msgid "8 + *n*" msgstr "" -#: ../../library/chunk.rst:41 +#: ../../library/chunk.rst:46 msgid "0 or 1" msgstr "0 ou 1" -#: ../../library/chunk.rst:41 +#: ../../library/chunk.rst:46 msgid "Pad byte needed if *n* is odd and chunk alignment is used" msgstr "" -#: ../../library/chunk.rst:45 +#: ../../library/chunk.rst:50 msgid "The ID is a 4-byte string which identifies the type of chunk." msgstr "" -#: ../../library/chunk.rst:47 +#: ../../library/chunk.rst:52 msgid "" "The size field (a 32-bit value, encoded using big-endian byte order) gives " "the size of the chunk data, not including the 8-byte header." msgstr "" -#: ../../library/chunk.rst:50 +#: ../../library/chunk.rst:55 msgid "" "Usually an IFF-type file consists of one or more chunks. The proposed usage " "of the :class:`Chunk` class defined here is to instantiate an instance at " @@ -115,7 +120,7 @@ msgid "" "creating a new instance will fail with an :exc:`EOFError` exception." msgstr "" -#: ../../library/chunk.rst:59 +#: ../../library/chunk.rst:64 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 " @@ -132,37 +137,37 @@ msgid "" "The default value is false." msgstr "" -#: ../../library/chunk.rst:73 +#: ../../library/chunk.rst:78 msgid "A :class:`Chunk` object supports the following methods:" msgstr "" -#: ../../library/chunk.rst:78 +#: ../../library/chunk.rst:83 msgid "" "Returns the name (ID) of the chunk. This is the first 4 bytes of the chunk." msgstr "" -#: ../../library/chunk.rst:84 +#: ../../library/chunk.rst:89 msgid "Returns the size of the chunk." msgstr "" -#: ../../library/chunk.rst:89 +#: ../../library/chunk.rst:94 msgid "" "Close and skip to the end of the chunk. This does not close the underlying " "file." msgstr "" -#: ../../library/chunk.rst:92 +#: ../../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`." msgstr "" -#: ../../library/chunk.rst:99 +#: ../../library/chunk.rst:104 msgid "Returns ``False``." msgstr "" -#: ../../library/chunk.rst:104 +#: ../../library/chunk.rst:109 msgid "" "Set the chunk's current position. The *whence* argument is optional and " "defaults to ``0`` (absolute file positioning); other values are ``1`` (seek " @@ -171,11 +176,11 @@ msgid "" "only forward seeks are allowed." msgstr "" -#: ../../library/chunk.rst:113 +#: ../../library/chunk.rst:118 msgid "Return the current position into the chunk." msgstr "" -#: ../../library/chunk.rst:118 +#: ../../library/chunk.rst:123 msgid "" "Read at most *size* bytes from the chunk (less if the read hits the end of " "the chunk before obtaining *size* bytes). If the *size* argument is " @@ -184,7 +189,7 @@ msgid "" "immediately." msgstr "" -#: ../../library/chunk.rst:127 +#: ../../library/chunk.rst:132 msgid "" "Skip to the end of the chunk. All further calls to :meth:`read` for the " "chunk will return ``b''``. If you are not interested in the contents of the " @@ -192,11 +197,11 @@ msgid "" "the next chunk." msgstr "" -#: ../../library/chunk.rst:134 +#: ../../library/chunk.rst:139 msgid "Footnotes" msgstr "Notas de rodapé" -#: ../../library/chunk.rst:135 +#: ../../library/chunk.rst:140 msgid "" "\"EA IFF 85\" Standard for Interchange Format Files, Jerry Morrison, " "Electronic Arts, January 1985." diff --git a/library/cmath.po b/library/cmath.po index fc92237c9..f95c73deb 100644 --- a/library/cmath.po +++ b/library/cmath.po @@ -1,29 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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 -# i17obot , 2021 -# Porfirio_Prodigy, 2021 +# python-doc bot, 2025 # #, 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 00:56+0000\n" -"Last-Translator: Porfirio_Prodigy, 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:57+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/cmath.rst:2 msgid ":mod:`cmath` --- Mathematical functions for complex numbers" @@ -42,25 +40,56 @@ msgstr "" #: ../../library/cmath.rst:18 msgid "" -"On platforms with hardware and system-level support for signed zeros, " -"functions involving branch cuts are continuous on *both* sides of the branch " -"cut: the sign of the zero distinguishes one side of the branch cut from the " -"other. On platforms that do not support signed zeros the continuity is as " -"specified below." -msgstr "" +"For functions involving branch cuts, we have the problem of deciding how to " +"define those functions on the cut itself. Following Kahan's \"Branch cuts " +"for complex elementary functions\" paper, as well as Annex G of C99 and " +"later C standards, we use the sign of zero to distinguish one side of the " +"branch cut from the other: for a branch cut along (a portion of) the real " +"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 "Conversions to and from polar coordinates" +msgid "" +"For example, the :func:`cmath.sqrt` function has a branch cut along the " +"negative real axis. An argument of ``complex(-2.0, -0.0)`` is treated as " +"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 "Conversões de e para coordenadas polares" -#: ../../library/cmath.rst:28 +#: ../../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::" msgstr "" -#: ../../library/cmath.rst:35 +#: ../../library/cmath.rst:51 msgid "" "*Polar coordinates* give an alternative way to represent a complex number. " "In polar coordinates, a complex number *z* is defined by the modulus *r* and " @@ -69,169 +98,212 @@ 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:42 +#: ../../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:47 +#: ../../library/cmath.rst:63 msgid "" -"Return the phase of *x* (also known as the *argument* of *x*), as a float. " +"Return the phase of *x* (also known as the *argument* of *x*), as a float. " "``phase(x)`` is equivalent to ``math.atan2(x.imag, x.real)``. The result " "lies in the range [-\\ *π*, *π*], and the branch cut for this operation lies " -"along the negative real axis, continuous from above. On systems with " -"support for signed zeros (which includes most systems in current use), this " -"means that the sign of the result is the same as the sign of ``x.imag``, " -"even when ``x.imag`` is zero::" +"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:64 +#: ../../library/cmath.rst:77 msgid "" "The modulus (absolute value) of a complex number *x* can be computed using " "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:71 +#: ../../library/cmath.rst:84 msgid "" "Return the representation of *x* in polar coordinates. Returns a pair ``(r, " "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:79 +#: ../../library/cmath.rst:92 msgid "" "Return the complex number *x* with polar coordinates *r* and *phi*. " "Equivalent to ``r * (math.cos(phi) + math.sin(phi)*1j)``." msgstr "" -#: ../../library/cmath.rst:84 +#: ../../library/cmath.rst:97 msgid "Power and logarithmic functions" msgstr "Funções de potência e logarítmicas" -#: ../../library/cmath.rst:88 +#: ../../library/cmath.rst:101 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:94 +#: ../../library/cmath.rst:107 msgid "" "Returns the logarithm of *x* to the given *base*. If the *base* is not " "specified, returns the natural logarithm of *x*. There is one branch cut, " -"from 0 along the negative real axis to -∞, continuous from above." +"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:101 +#: ../../library/cmath.rst:114 msgid "" "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:107 +#: ../../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:111 +#: ../../library/cmath.rst:124 msgid "Trigonometric functions" msgstr "Funções trigonométricas" -#: ../../library/cmath.rst:115 +#: ../../library/cmath.rst:128 msgid "" "Return the arc cosine of *x*. There are two branch cuts: One extends right " -"from 1 along the real axis to ∞, continuous from below. The other extends " -"left from -1 along the real axis to -∞, continuous from above." +"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:122 +#: ../../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:127 +#: ../../library/cmath.rst:140 msgid "" "Return the arc tangent of *x*. There are two branch cuts: One extends from " -"``1j`` along the imaginary axis to ``∞j``, continuous from the right. The " -"other extends from ``-1j`` along the imaginary axis to ``-∞j``, continuous " -"from the left." +"``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:135 +#: ../../library/cmath.rst:147 msgid "Return the cosine of *x*." -msgstr "" +msgstr "Retorna o cosseno de *x*." -#: ../../library/cmath.rst:140 +#: ../../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:145 +#: ../../library/cmath.rst:157 msgid "Return the tangent of *x*." -msgstr "" +msgstr "Retorna a tangente de *x*." -#: ../../library/cmath.rst:149 +#: ../../library/cmath.rst:161 msgid "Hyperbolic functions" msgstr "Funções hiperbólicas" -#: ../../library/cmath.rst:153 +#: ../../library/cmath.rst:165 msgid "" "Return the inverse hyperbolic cosine of *x*. There is one branch cut, " -"extending left from 1 along the real axis to -∞, continuous from above." +"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:159 +#: ../../library/cmath.rst:171 msgid "" "Return the inverse hyperbolic sine of *x*. There are two branch cuts: One " -"extends from ``1j`` along the imaginary axis to ``∞j``, continuous from the " -"right. The other extends from ``-1j`` along the imaginary axis to ``-∞j``, " -"continuous from the left." +"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:167 +#: ../../library/cmath.rst:178 msgid "" "Return the inverse hyperbolic tangent of *x*. There are two branch cuts: One " -"extends from ``1`` along the real axis to ``∞``, continuous from below. The " -"other extends from ``-1`` along the real axis to ``-∞``, continuous from " -"above." +"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:175 +#: ../../library/cmath.rst:185 msgid "Return the hyperbolic cosine of *x*." msgstr "Retorna o cosseno hiperbólico de *x*." -#: ../../library/cmath.rst:180 +#: ../../library/cmath.rst:190 msgid "Return the hyperbolic sine of *x*." msgstr "Retorna o seno hiperbólico de *x*." -#: ../../library/cmath.rst:185 +#: ../../library/cmath.rst:195 msgid "Return the hyperbolic tangent of *x*." msgstr "Retorna a tangente hiperbólica de *x*." -#: ../../library/cmath.rst:189 +#: ../../library/cmath.rst:199 msgid "Classification functions" -msgstr "" +msgstr "Funções de classificação" -#: ../../library/cmath.rst:193 +#: ../../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:201 +#: ../../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:207 +#: ../../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:213 +#: ../../library/cmath.rst:223 msgid "" "Return ``True`` if the values *a* and *b* are close to each other and " "``False`` otherwise." @@ -239,7 +311,7 @@ msgstr "" "Retorna ``True`` se os valores *a* e *b* estiverem próximos e ``False`` caso " "contrário." -#: ../../library/cmath.rst:216 +#: ../../library/cmath.rst:226 msgid "" "Whether or not two values are considered close is determined according to " "given absolute and relative tolerances." @@ -247,7 +319,7 @@ msgstr "" "Se dois valores são ou não considerados próximos, é determinado de acordo " "com as tolerâncias absolutas e relativas fornecidas." -#: ../../library/cmath.rst:219 +#: ../../library/cmath.rst:229 msgid "" "*rel_tol* is the relative tolerance -- it is the maximum allowed difference " "between *a* and *b*, relative to the larger absolute value of *a* or *b*. " @@ -256,12 +328,12 @@ 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." -#: ../../library/cmath.rst:225 +#: ../../library/cmath.rst:235 msgid "" "*abs_tol* is the minimum absolute tolerance -- useful for comparisons near " "zero. *abs_tol* must be at least zero." @@ -269,7 +341,7 @@ msgstr "" "*abs_tol* é a tolerância absoluta mínima -- útil para comparações próximas a " "zero. *abs_tol* deve ser pelo menos zero." -#: ../../library/cmath.rst:228 +#: ../../library/cmath.rst:238 msgid "" "If no errors occur, the result will be: ``abs(a-b) <= max(rel_tol * " "max(abs(a), abs(b)), abs_tol)``." @@ -277,7 +349,7 @@ msgstr "" "Se nenhum erro ocorrer, o resultado será: ``abs(a-b) <= max(rel_tol * " "max(abs(a), abs(b)), abs_tol)``." -#: ../../library/cmath.rst:231 +#: ../../library/cmath.rst:241 msgid "" "The IEEE 754 special values of ``NaN``, ``inf``, and ``-inf`` will be " "handled according to IEEE rules. Specifically, ``NaN`` is not considered " @@ -289,49 +361,55 @@ msgstr "" "considerado próximo a qualquer outro valor, incluindo ``NaN``. ``inf`` e ``-" "inf`` são considerados apenas próximos a si mesmos." -#: ../../library/cmath.rst:240 +#: ../../library/cmath.rst:250 msgid ":pep:`485` -- A function for testing approximate equality" msgstr ":pep:`485` -- Uma função para testar igualdade aproximada" -#: ../../library/cmath.rst:244 +#: ../../library/cmath.rst:254 msgid "Constants" msgstr "Constantes" -#: ../../library/cmath.rst:248 +#: ../../library/cmath.rst:258 msgid "The mathematical constant *π*, as a float." -msgstr "" +msgstr "A constante matemática *π*, como um ponto flutuante." -#: ../../library/cmath.rst:253 +#: ../../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:258 +#: ../../library/cmath.rst:268 msgid "The mathematical constant *τ*, as a float." -msgstr "" +msgstr "A constante matemática *τ*, como um ponto flutuante." -#: ../../library/cmath.rst:265 +#: ../../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:272 +#: ../../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:280 +#: ../../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:288 +#: ../../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:296 +#: ../../library/cmath.rst:306 msgid "" "Note that the selection of functions is similar, but not identical, to that " "in module :mod:`math`. The reason for having two modules is that some users " @@ -342,8 +420,15 @@ msgid "" "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:304 +#: ../../library/cmath.rst:314 msgid "" "A note on branch cuts: They are curves along which the given function fails " "to be continuous. They are a necessary feature of many complex functions. " @@ -353,10 +438,20 @@ 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:314 +#: ../../library/cmath.rst:324 msgid "" "Kahan, W: Branch cuts for complex elementary functions; or, Much ado about " "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." diff --git a/library/cmd.po b/library/cmd.po index 2de72315e..46b972be5 100644 --- a/library/cmd.po +++ b/library/cmd.po @@ -1,28 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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 -# i17obot , 2021 +# python-doc bot, 2025 # #, 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 00:56+0000\n" -"Last-Translator: i17obot , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:57+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/cmd.rst:2 msgid ":mod:`cmd` --- Support for line-oriented command interpreters" @@ -40,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 "" @@ -49,6 +52,11 @@ 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 "" @@ -57,6 +65,10 @@ msgid "" "`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 "" @@ -65,6 +77,10 @@ msgid "" "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 "" @@ -72,6 +88,9 @@ msgid "" "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" @@ -79,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 "" @@ -87,12 +106,17 @@ 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 "" @@ -102,10 +126,16 @@ msgid "" "`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 "" @@ -141,8 +171,8 @@ msgid "" "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 " +"available help topics (that is, all commands with corresponding :meth:" +"`help_\\*` methods or commands that have docstrings), and also lists any " "undocumented commands." msgstr "" @@ -162,12 +192,18 @@ 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 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 msgid "" @@ -184,6 +220,12 @@ msgid "" "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:136 msgid "" @@ -195,35 +237,51 @@ 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:147 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:153 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:157 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:161 msgid "The prompt issued to solicit input." -msgstr "" +msgstr "O prompt emitido para solicitar informações." #: ../../library/cmd.rst:166 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:171 msgid "The last nonempty command prefix seen." -msgstr "" +msgstr "O último prefixo de comando não vazio visto." #: ../../library/cmd.rst:176 msgid "" @@ -231,17 +289,25 @@ msgid "" "`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:183 msgid "" "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:189 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:194 msgid "" @@ -262,6 +328,9 @@ 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:214 msgid "" @@ -282,12 +351,16 @@ 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:231 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:234 msgid "" @@ -312,3 +385,6 @@ msgid "" "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:" diff --git a/library/code.po b/library/code.po index b3c43be23..9785b9884 100644 --- a/library/code.po +++ b/library/code.po @@ -1,28 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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 -# i17obot , 2021 -# Rafael Fontenelle , 2021 +# python-doc bot, 2025 # #, 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 00:56+0000\n" -"Last-Translator: Rafael Fontenelle , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:57+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/code.rst:2 msgid ":mod:`code` --- Interpreter base classes" @@ -38,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 "" @@ -66,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 "" @@ -92,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 "" @@ -100,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 "" @@ -109,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 "" @@ -120,6 +138,9 @@ 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 "" @@ -128,12 +149,18 @@ msgid "" "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 "" @@ -142,12 +169,18 @@ 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." 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 "" @@ -155,6 +188,9 @@ msgid "" "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 "" @@ -162,6 +198,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 "" @@ -171,6 +210,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 "" @@ -178,12 +223,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 "" @@ -191,10 +241,13 @@ 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 "" @@ -202,6 +255,9 @@ msgid "" "`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 "" @@ -212,6 +268,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 "" @@ -219,14 +281,17 @@ 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 "" @@ -243,7 +308,7 @@ msgstr "" #: ../../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 "" @@ -252,3 +317,7 @@ msgid "" "`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 af92a674c..b43f4795b 100644 --- a/library/codecs.po +++ b/library/codecs.po @@ -1,31 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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 -# Welington Carlos , 2021 -# i17obot , 2021 -# Marco Rougeth , 2021 -# Claudio Rogerio Carvalho Filho , 2021 +# python-doc bot, 2025 # #, 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 00:56+0000\n" -"Last-Translator: Claudio Rogerio Carvalho Filho , " -"2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:57+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/codecs.rst:2 msgid ":mod:`codecs` --- Codec registry and base classes" @@ -40,11 +36,12 @@ msgid "" "This module defines base classes for standard Python codecs (encoders and " "decoders) and provides access to the internal Python codec registry, which " "manages the codec and error handling lookup process. Most standard codecs " -"are :term:`text encodings `, which encode text to bytes, but " -"there are also codecs provided that encode text to text, and bytes to bytes. " -"Custom codecs may encode and decode between arbitrary types, but some module " -"features are restricted to use specifically with :term:`text encodings `, or with codecs that encode to :class:`bytes`." +"are :term:`text encodings `, which encode text to bytes (and " +"decode bytes to text), but there are also codecs provided that encode text " +"to text, and bytes to bytes. Custom codecs may encode and decode between " +"arbitrary types, but some module features are restricted to be used " +"specifically with :term:`text encodings ` or with codecs that " +"encode to :class:`bytes`." msgstr "" #: ../../library/codecs.rst:33 @@ -230,40 +227,40 @@ msgstr "" #: ../../library/codecs.rst:192 msgid "" -"Underlying encoded files are always opened in binary mode. No automatic " -"conversion of ``'\\n'`` is done on reading and writing. The *mode* argument " -"may be any binary mode acceptable to the built-in :func:`open` function; the " -"``'b'`` is automatically added." +"If *encoding* is not ``None``, then the underlying encoded files are always " +"opened in binary mode. No automatic conversion of ``'\\n'`` is done on " +"reading and writing. The *mode* argument may be any binary mode acceptable " +"to the built-in :func:`open` function; the ``'b'`` is automatically added." msgstr "" -#: ../../library/codecs.rst:197 +#: ../../library/codecs.rst:198 msgid "" "*encoding* specifies the encoding which is to be used for the file. Any " "encoding that encodes to and decodes from bytes is allowed, and the data " "types supported by the file methods depend on the codec used." msgstr "" -#: ../../library/codecs.rst:201 +#: ../../library/codecs.rst:202 msgid "" "*errors* may be given to define the error handling. It defaults to " "``'strict'`` which causes a :exc:`ValueError` to be raised in case an " "encoding error occurs." msgstr "" -#: ../../library/codecs.rst:204 +#: ../../library/codecs.rst:205 msgid "" "*buffering* has the same meaning as for the built-in :func:`open` function. " "It defaults to -1 which means that the default buffer size will be used." msgstr "" -#: ../../library/codecs.rst:210 +#: ../../library/codecs.rst:211 msgid "" "Return a :class:`StreamRecoder` instance, a wrapped version of *file* which " "provides transparent transcoding. The original file is closed when the " "wrapped version is closed." msgstr "" -#: ../../library/codecs.rst:214 +#: ../../library/codecs.rst:215 msgid "" "Data written to the wrapped file is decoded according to the given " "*data_encoding* and then written to the original file as bytes using " @@ -271,18 +268,18 @@ msgid "" "*file_encoding*, and the result is encoded using *data_encoding*." msgstr "" -#: ../../library/codecs.rst:220 +#: ../../library/codecs.rst:221 msgid "If *file_encoding* is not given, it defaults to *data_encoding*." msgstr "" -#: ../../library/codecs.rst:222 +#: ../../library/codecs.rst:223 msgid "" "*errors* may be given to define the error handling. It defaults to " "``'strict'``, which causes :exc:`ValueError` to be raised in case an " "encoding error occurs." msgstr "" -#: ../../library/codecs.rst:229 +#: ../../library/codecs.rst:230 msgid "" "Uses an incremental encoder to iteratively encode the input provided by " "*iterator*. This function is a :term:`generator`. The *errors* argument (as " @@ -290,14 +287,14 @@ msgid "" "encoder." msgstr "" -#: ../../library/codecs.rst:234 +#: ../../library/codecs.rst:235 msgid "" "This function requires that the codec accept text :class:`str` objects to " "encode. Therefore it does not support bytes-to-bytes encoders such as " "``base64_codec``." msgstr "" -#: ../../library/codecs.rst:241 +#: ../../library/codecs.rst:242 msgid "" "Uses an incremental decoder to iteratively decode the input provided by " "*iterator*. This function is a :term:`generator`. The *errors* argument (as " @@ -305,7 +302,7 @@ msgid "" "decoder." msgstr "" -#: ../../library/codecs.rst:246 +#: ../../library/codecs.rst:247 msgid "" "This function requires that the codec accept :class:`bytes` objects to " "decode. Therefore it does not support text-to-text encoders such as " @@ -313,13 +310,13 @@ msgid "" "`iterencode`." msgstr "" -#: ../../library/codecs.rst:252 +#: ../../library/codecs.rst:253 msgid "" "The module also provides the following constants which are useful for " "reading and writing to platform dependent files:" msgstr "" -#: ../../library/codecs.rst:267 +#: ../../library/codecs.rst:268 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 " @@ -331,18 +328,18 @@ msgid "" "represent the BOM in UTF-8 and UTF-32 encodings." msgstr "" -#: ../../library/codecs.rst:281 +#: ../../library/codecs.rst:282 msgid "Codec Base Classes" msgstr "" -#: ../../library/codecs.rst:283 +#: ../../library/codecs.rst:284 msgid "" "The :mod:`codecs` module defines a set of base classes which define the " "interfaces for working with codec objects, and can also be used as the basis " "for custom codec implementations." msgstr "" -#: ../../library/codecs.rst:287 +#: ../../library/codecs.rst:288 msgid "" "Each codec has to define four interfaces to make it usable as codec in " "Python: stateless encoder, stateless decoder, stream reader and stream " @@ -351,165 +348,174 @@ msgid "" "how the codec will handle encoding and decoding errors." msgstr "" -#: ../../library/codecs.rst:298 +#: ../../library/codecs.rst:299 msgid "Error Handlers" msgstr "" -#: ../../library/codecs.rst:300 +#: ../../library/codecs.rst:301 msgid "" "To simplify and standardize error handling, codecs may implement different " -"error handling schemes by accepting the *errors* string argument. The " -"following string values are defined and implemented by all standard Python " -"codecs:" +"error handling schemes by accepting the *errors* string argument:" +msgstr "" + +#: ../../library/codecs.rst:321 +msgid "" +"The following error handlers can be used with all Python :ref:`standard-" +"encodings` codecs:" msgstr "" -#: ../../library/codecs.rst:308 ../../library/codecs.rst:331 -#: ../../library/codecs.rst:364 +#: ../../library/codecs.rst:327 ../../library/codecs.rst:369 +#: ../../library/codecs.rst:388 msgid "Value" msgstr "Valor" -#: ../../library/codecs.rst:308 ../../library/codecs.rst:331 -#: ../../library/codecs.rst:364 ../../library/codecs.rst:1276 -#: ../../library/codecs.rst:1343 ../../library/codecs.rst:1398 +#: ../../library/codecs.rst:327 ../../library/codecs.rst:369 +#: ../../library/codecs.rst:388 ../../library/codecs.rst:1321 +#: ../../library/codecs.rst:1388 ../../library/codecs.rst:1443 msgid "Meaning" msgstr "Significado" -#: ../../library/codecs.rst:310 +#: ../../library/codecs.rst:329 msgid "``'strict'``" msgstr "``'strict'``" -#: ../../library/codecs.rst:310 +#: ../../library/codecs.rst:329 msgid "" -"Raise :exc:`UnicodeError` (or a subclass); this is the default. Implemented " +"Raise :exc:`UnicodeError` (or a subclass), this is the default. Implemented " "in :func:`strict_errors`." msgstr "" -#: ../../library/codecs.rst:314 +#: ../../library/codecs.rst:333 msgid "``'ignore'``" msgstr "``'ignore'``" -#: ../../library/codecs.rst:314 +#: ../../library/codecs.rst:333 msgid "" "Ignore the malformed data and continue without further notice. Implemented " "in :func:`ignore_errors`." msgstr "" -#: ../../library/codecs.rst:319 -msgid "" -"The following error handlers are only applicable to :term:`text encodings " -"`:" -msgstr "" - -#: ../../library/codecs.rst:333 +#: ../../library/codecs.rst:337 msgid "``'replace'``" msgstr "``'replace'``" -#: ../../library/codecs.rst:333 +#: ../../library/codecs.rst:337 msgid "" -"Replace with a suitable replacement marker; Python will use the official ``U" -"+FFFD`` REPLACEMENT CHARACTER for the built-in codecs on decoding, and '?' " -"on encoding. Implemented in :func:`replace_errors`." +"Replace with a replacement marker. On encoding, use ``?`` (ASCII character). " +"On decoding, use ``�`` (U+FFFD, the official REPLACEMENT CHARACTER). " +"Implemented in :func:`replace_errors`." msgstr "" -#: ../../library/codecs.rst:340 -msgid "``'xmlcharrefreplace'``" -msgstr "``'xmlcharrefreplace'``" +#: ../../library/codecs.rst:343 +msgid "``'backslashreplace'``" +msgstr "``'backslashreplace'``" -#: ../../library/codecs.rst:340 +#: ../../library/codecs.rst:343 msgid "" -"Replace with the appropriate XML character reference (only for encoding). " -"Implemented in :func:`xmlcharrefreplace_errors`." +"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`." msgstr "" -#: ../../library/codecs.rst:344 -msgid "``'backslashreplace'``" -msgstr "``'backslashreplace'``" +#: ../../library/codecs.rst:351 +msgid "``'surrogateescape'``" +msgstr "``'surrogateescape'``" -#: ../../library/codecs.rst:344 +#: ../../library/codecs.rst:351 msgid "" -"Replace with backslashed escape sequences. Implemented in :func:" -"`backslashreplace_errors`." +"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 " +"byte when the ``'surrogateescape'`` error handler is used when encoding the " +"data. (See :pep:`383` for more.)" msgstr "" -#: ../../library/codecs.rst:348 -msgid "``'namereplace'``" -msgstr "``'namereplace'``" +#: ../../library/codecs.rst:365 +msgid "" +"The following error handlers are only applicable to encoding (within :term:" +"`text encodings `):" +msgstr "" -#: ../../library/codecs.rst:348 +#: ../../library/codecs.rst:371 +msgid "``'xmlcharrefreplace'``" +msgstr "``'xmlcharrefreplace'``" + +#: ../../library/codecs.rst:371 msgid "" -"Replace with ``\\N{...}`` escape sequences (only for encoding). Implemented " -"in :func:`namereplace_errors`." +"Replace with XML/HTML numeric character reference, which is a decimal form " +"of Unicode code point with format ``&#num;`` Implemented in :func:" +"`xmlcharrefreplace_errors`." msgstr "" -#: ../../library/codecs.rst:352 -msgid "``'surrogateescape'``" -msgstr "``'surrogateescape'``" +#: ../../library/codecs.rst:376 +msgid "``'namereplace'``" +msgstr "``'namereplace'``" -#: ../../library/codecs.rst:352 +#: ../../library/codecs.rst:376 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 byte " -"when the ``'surrogateescape'`` error handler is used when encoding the data. " -"(See :pep:`383` for more.)" +"Replace with ``\\N{...}`` escape sequences, what appears in the braces is " +"the Name property from Unicode Character Database. Implemented in :func:" +"`namereplace_errors`." msgstr "" -#: ../../library/codecs.rst:361 +#: ../../library/codecs.rst:385 msgid "" "In addition, the following error handler is specific to the given codecs:" msgstr "" -#: ../../library/codecs.rst:364 +#: ../../library/codecs.rst:388 msgid "Codecs" -msgstr "" +msgstr "Codecs" -#: ../../library/codecs.rst:366 +#: ../../library/codecs.rst:390 msgid "``'surrogatepass'``" msgstr "``'surrogatepass'``" -#: ../../library/codecs.rst:366 +#: ../../library/codecs.rst:390 msgid "utf-8, utf-16, utf-32, utf-16-be, utf-16-le, utf-32-be, utf-32-le" msgstr "" -#: ../../library/codecs.rst:366 +#: ../../library/codecs.rst:390 msgid "" -"Allow encoding and decoding of surrogate codes. These codecs normally treat " -"the presence of surrogates as an error." +"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:371 +#: ../../library/codecs.rst:397 msgid "The ``'surrogateescape'`` and ``'surrogatepass'`` error handlers." msgstr "" -#: ../../library/codecs.rst:374 +#: ../../library/codecs.rst:400 msgid "" -"The ``'surrogatepass'`` error handlers now works with utf-16\\* and " -"utf-32\\* codecs." +"The ``'surrogatepass'`` error handler now works with utf-16\\* and utf-32\\* " +"codecs." msgstr "" -#: ../../library/codecs.rst:377 +#: ../../library/codecs.rst:404 msgid "The ``'namereplace'`` error handler." msgstr "" -#: ../../library/codecs.rst:380 +#: ../../library/codecs.rst:407 msgid "" -"The ``'backslashreplace'`` error handlers now works with decoding and " +"The ``'backslashreplace'`` error handler now works with decoding and " "translating." msgstr "" -#: ../../library/codecs.rst:384 +#: ../../library/codecs.rst:411 msgid "" "The set of allowed values can be extended by registering a new named error " "handler:" msgstr "" -#: ../../library/codecs.rst:389 +#: ../../library/codecs.rst:416 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:393 +#: ../../library/codecs.rst:420 msgid "" "For encoding, *error_handler* will be called with a :exc:" "`UnicodeEncodeError` instance, which contains information about the location " @@ -524,85 +530,115 @@ msgid "" "position is out of bound an :exc:`IndexError` will be raised." msgstr "" -#: ../../library/codecs.rst:405 +#: ../../library/codecs.rst:432 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:410 +#: ../../library/codecs.rst:437 msgid "" "Previously registered error handlers (including the standard error handlers) " "can be looked up by name:" msgstr "" -#: ../../library/codecs.rst:415 +#: ../../library/codecs.rst:442 msgid "Return the error handler previously registered under the name *name*." msgstr "" -#: ../../library/codecs.rst:417 +#: ../../library/codecs.rst:444 msgid "Raises a :exc:`LookupError` in case the handler cannot be found." msgstr "" -#: ../../library/codecs.rst:419 +#: ../../library/codecs.rst:446 msgid "" "The following standard error handlers are also made available as module " "level functions:" msgstr "" -#: ../../library/codecs.rst:424 +#: ../../library/codecs.rst:451 +msgid "Implements the ``'strict'`` error handling." +msgstr "Implementa a tratativa de erro ``'strict'``." + +#: ../../library/codecs.rst:453 +msgid "Each encoding or decoding error raises a :exc:`UnicodeError`." +msgstr "" + +#: ../../library/codecs.rst:458 +msgid "Implements the ``'ignore'`` error handling." +msgstr "Implementa a tratativa de erro ``'ignore'``." + +#: ../../library/codecs.rst:460 msgid "" -"Implements the ``'strict'`` error handling: each encoding or decoding error " -"raises a :exc:`UnicodeError`." +"Malformed data is ignored; encoding or decoding is continued without further " +"notice." msgstr "" -#: ../../library/codecs.rst:430 +#: ../../library/codecs.rst:466 +msgid "Implements the ``'replace'`` error handling." +msgstr "Implementa a tratativa de erro ``'replace'``." + +#: ../../library/codecs.rst:468 msgid "" -"Implements the ``'replace'`` error handling (for :term:`text encodings ` only): substitutes ``'?'`` for encoding errors (to be encoded by " -"the codec), and ``'\\ufffd'`` (the Unicode replacement character) for " -"decoding errors." +"Substitutes ``?`` (ASCII character) for encoding errors or ``�`` (U+FFFD, " +"the official REPLACEMENT CHARACTER) for decoding errors." msgstr "" -#: ../../library/codecs.rst:438 +#: ../../library/codecs.rst:474 +msgid "Implements the ``'backslashreplace'`` error handling." +msgstr "Implementa a tratativa de erro ``'backslashreplace'``." + +#: ../../library/codecs.rst:476 msgid "" -"Implements the ``'ignore'`` error handling: malformed data is ignored and " -"encoding or decoding is continued without further notice." +"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``." msgstr "" -#: ../../library/codecs.rst:444 +#: ../../library/codecs.rst:481 +msgid "Works with decoding and translating." +msgstr "" + +#: ../../library/codecs.rst:487 msgid "" -"Implements the ``'xmlcharrefreplace'`` error handling (for encoding with :" -"term:`text encodings ` only): the unencodable character is " -"replaced by an appropriate XML character reference." +"Implements the ``'xmlcharrefreplace'`` error handling (for encoding within :" +"term:`text encoding` only)." msgstr "" -#: ../../library/codecs.rst:451 +#: ../../library/codecs.rst:490 msgid "" -"Implements the ``'backslashreplace'`` error handling (for :term:`text " -"encodings ` only): malformed data is replaced by a " -"backslashed escape sequence." +"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;`` ." msgstr "" -#: ../../library/codecs.rst:457 +#: ../../library/codecs.rst:497 msgid "" -"Implements the ``'namereplace'`` error handling (for encoding with :term:" -"`text encodings ` only): the unencodable character is " -"replaced by a ``\\N{...}`` escape sequence." +"Implements the ``'namereplace'`` error handling (for encoding within :term:" +"`text encoding` only)." msgstr "" -#: ../../library/codecs.rst:467 +#: ../../library/codecs.rst:500 +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 " +"Unicode Character Database. For example, the German lowercase letter ``'ß'`` " +"will be converted to byte sequence ``\\N{LATIN SMALL LETTER SHARP S}`` ." +msgstr "" + +#: ../../library/codecs.rst:511 msgid "Stateless Encoding and Decoding" msgstr "" -#: ../../library/codecs.rst:469 +#: ../../library/codecs.rst:513 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:475 +#: ../../library/codecs.rst:519 msgid "" "Encodes the object *input* and returns a tuple (output object, length " "consumed). For instance, :term:`text encoding` converts a string object to a " @@ -610,26 +646,26 @@ msgid "" "``iso-8859-1``)." msgstr "" -#: ../../library/codecs.rst:480 ../../library/codecs.rst:502 +#: ../../library/codecs.rst:524 ../../library/codecs.rst:546 msgid "" "The *errors* argument defines the error handling to apply. It defaults to " "``'strict'`` handling." msgstr "" -#: ../../library/codecs.rst:483 +#: ../../library/codecs.rst:527 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." msgstr "" -#: ../../library/codecs.rst:487 +#: ../../library/codecs.rst:531 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:493 +#: ../../library/codecs.rst:537 msgid "" "Decodes the object *input* and returns a tuple (output object, length " "consumed). For instance, for a :term:`text encoding`, decoding converts a " @@ -637,31 +673,31 @@ msgid "" "object." msgstr "" -#: ../../library/codecs.rst:498 +#: ../../library/codecs.rst:542 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:505 +#: ../../library/codecs.rst:549 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." msgstr "" -#: ../../library/codecs.rst:509 +#: ../../library/codecs.rst:553 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:514 +#: ../../library/codecs.rst:558 msgid "Incremental Encoding and Decoding" msgstr "" -#: ../../library/codecs.rst:516 +#: ../../library/codecs.rst:560 msgid "" "The :class:`IncrementalEncoder` and :class:`IncrementalDecoder` classes " "provide the basic interface for incremental encoding and decoding. Encoding/" @@ -672,7 +708,7 @@ msgid "" "during method calls." msgstr "" -#: ../../library/codecs.rst:524 +#: ../../library/codecs.rst:568 msgid "" "The joined output of calls to the :meth:`~IncrementalEncoder.encode`/:meth:" "`~IncrementalDecoder.decode` method is the same as if all the single inputs " @@ -680,36 +716,36 @@ msgid "" "encoder/decoder." msgstr "" -#: ../../library/codecs.rst:533 +#: ../../library/codecs.rst:577 msgid "IncrementalEncoder Objects" msgstr "" -#: ../../library/codecs.rst:535 +#: ../../library/codecs.rst:579 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:542 +#: ../../library/codecs.rst:586 msgid "Constructor for an :class:`IncrementalEncoder` instance." msgstr "" -#: ../../library/codecs.rst:544 +#: ../../library/codecs.rst:588 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:548 +#: ../../library/codecs.rst:592 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:552 +#: ../../library/codecs.rst:596 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 " @@ -717,21 +753,21 @@ msgid "" "`IncrementalEncoder` object." msgstr "" -#: ../../library/codecs.rst:560 +#: ../../library/codecs.rst:604 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)." msgstr "" -#: ../../library/codecs.rst:567 +#: ../../library/codecs.rst:611 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 " "necessary, to reset the encoder and to get the output." msgstr "" -#: ../../library/codecs.rst:574 +#: ../../library/codecs.rst:618 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 " @@ -740,42 +776,42 @@ msgid "" "into an integer.)" msgstr "" -#: ../../library/codecs.rst:583 +#: ../../library/codecs.rst:627 msgid "" "Set the state of the encoder to *state*. *state* must be an encoder state " "returned by :meth:`getstate`." msgstr "" -#: ../../library/codecs.rst:590 +#: ../../library/codecs.rst:634 msgid "IncrementalDecoder Objects" msgstr "" -#: ../../library/codecs.rst:592 +#: ../../library/codecs.rst:636 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:599 +#: ../../library/codecs.rst:643 msgid "Constructor for an :class:`IncrementalDecoder` instance." msgstr "" -#: ../../library/codecs.rst:601 +#: ../../library/codecs.rst:645 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:605 +#: ../../library/codecs.rst:649 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:609 +#: ../../library/codecs.rst:653 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 " @@ -783,7 +819,7 @@ msgid "" "`IncrementalDecoder` object." msgstr "" -#: ../../library/codecs.rst:617 +#: ../../library/codecs.rst:661 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:" @@ -794,11 +830,11 @@ msgid "" "(which might raise an exception)." msgstr "" -#: ../../library/codecs.rst:628 +#: ../../library/codecs.rst:672 msgid "Reset the decoder to the initial state." msgstr "" -#: ../../library/codecs.rst:633 +#: ../../library/codecs.rst:677 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. " @@ -813,59 +849,59 @@ msgid "" "bytes of the resulting string into an integer.)" msgstr "" -#: ../../library/codecs.rst:648 +#: ../../library/codecs.rst:692 msgid "" "Set the state of the decoder to *state*. *state* must be a decoder state " "returned by :meth:`getstate`." msgstr "" -#: ../../library/codecs.rst:653 +#: ../../library/codecs.rst:697 msgid "Stream Encoding and Decoding" msgstr "" -#: ../../library/codecs.rst:656 +#: ../../library/codecs.rst:700 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." msgstr "" -#: ../../library/codecs.rst:664 +#: ../../library/codecs.rst:708 msgid "StreamWriter Objects" msgstr "" -#: ../../library/codecs.rst:666 +#: ../../library/codecs.rst:710 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:673 +#: ../../library/codecs.rst:717 msgid "Constructor for a :class:`StreamWriter` instance." msgstr "" -#: ../../library/codecs.rst:675 +#: ../../library/codecs.rst:719 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:679 +#: ../../library/codecs.rst:723 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:682 +#: ../../library/codecs.rst:726 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:686 +#: ../../library/codecs.rst:730 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 " @@ -873,22 +909,22 @@ msgid "" "object." msgstr "" -#: ../../library/codecs.rst:692 +#: ../../library/codecs.rst:736 msgid "Writes the object's contents encoded to the stream." msgstr "" -#: ../../library/codecs.rst:697 +#: ../../library/codecs.rst:741 msgid "" -"Writes the concatenated list of strings to the stream (possibly by reusing " -"the :meth:`write` method). The standard bytes-to-bytes codecs do not support " -"this method." +"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:704 ../../library/codecs.rst:799 +#: ../../library/codecs.rst:749 ../../library/codecs.rst:844 msgid "Resets the codec buffers used for keeping internal state." msgstr "" -#: ../../library/codecs.rst:706 +#: ../../library/codecs.rst:751 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 " @@ -898,48 +934,48 @@ msgstr "" "limpo, que permite anexar novos dados sem ter que verificar novamente todo o " "fluxo para recuperar o estado." -#: ../../library/codecs.rst:711 +#: ../../library/codecs.rst:756 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:718 +#: ../../library/codecs.rst:763 msgid "StreamReader Objects" msgstr "" -#: ../../library/codecs.rst:720 +#: ../../library/codecs.rst:765 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:727 +#: ../../library/codecs.rst:772 msgid "Constructor for a :class:`StreamReader` instance." msgstr "" -#: ../../library/codecs.rst:729 +#: ../../library/codecs.rst:774 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:733 +#: ../../library/codecs.rst:778 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:736 +#: ../../library/codecs.rst:781 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:740 +#: ../../library/codecs.rst:785 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 " @@ -947,24 +983,24 @@ msgid "" "object." msgstr "" -#: ../../library/codecs.rst:744 +#: ../../library/codecs.rst:789 msgid "" "The set of allowed values for the *errors* argument can be extended with :" "func:`register_error`." msgstr "" -#: ../../library/codecs.rst:750 +#: ../../library/codecs.rst:795 msgid "Decodes data from the stream and returns the resulting object." msgstr "" -#: ../../library/codecs.rst:752 +#: ../../library/codecs.rst:797 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:757 +#: ../../library/codecs.rst:802 msgid "" "The *size* argument indicates the approximate maximum number of encoded " "bytes or code points to read for decoding. The decoder can modify this " @@ -973,13 +1009,13 @@ msgid "" "huge files in one step." msgstr "" -#: ../../library/codecs.rst:764 +#: ../../library/codecs.rst:809 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:768 +#: ../../library/codecs.rst:813 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 " @@ -987,68 +1023,68 @@ msgid "" "the stream, these should be read too." msgstr "" -#: ../../library/codecs.rst:776 +#: ../../library/codecs.rst:821 msgid "Read one line from the input stream and return the decoded data." msgstr "" -#: ../../library/codecs.rst:778 +#: ../../library/codecs.rst:823 msgid "" "*size*, if given, is passed as size argument to the stream's :meth:`read` " "method." msgstr "" -#: ../../library/codecs.rst:781 +#: ../../library/codecs.rst:826 msgid "" "If *keepends* is false line-endings will be stripped from the lines returned." msgstr "" -#: ../../library/codecs.rst:787 +#: ../../library/codecs.rst:832 msgid "" "Read all lines available on the input stream and return them as a list of " "lines." msgstr "" -#: ../../library/codecs.rst:790 +#: ../../library/codecs.rst:835 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:793 +#: ../../library/codecs.rst:838 msgid "" "*sizehint*, if given, is passed as the *size* argument to the stream's :meth:" "`read` method." msgstr "" -#: ../../library/codecs.rst:801 +#: ../../library/codecs.rst:846 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:805 +#: ../../library/codecs.rst:850 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:811 +#: ../../library/codecs.rst:856 msgid "StreamReaderWriter Objects" msgstr "" -#: ../../library/codecs.rst:813 +#: ../../library/codecs.rst:858 msgid "" "The :class:`StreamReaderWriter` is a convenience class that allows wrapping " "streams which work in both read and write modes." msgstr "" -#: ../../library/codecs.rst:816 ../../library/codecs.rst:840 +#: ../../library/codecs.rst:861 ../../library/codecs.rst:885 msgid "" "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:822 +#: ../../library/codecs.rst:867 msgid "" "Creates a :class:`StreamReaderWriter` instance. *stream* must be a file-like " "object. *Reader* and *Writer* must be factory functions or classes providing " @@ -1057,24 +1093,24 @@ msgid "" "writers." msgstr "" -#: ../../library/codecs.rst:827 +#: ../../library/codecs.rst:872 msgid "" ":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:835 +#: ../../library/codecs.rst:880 msgid "StreamRecoder Objects" msgstr "" -#: ../../library/codecs.rst:837 +#: ../../library/codecs.rst:882 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:846 +#: ../../library/codecs.rst:891 msgid "" "Creates a :class:`StreamRecoder` instance which implements a two-way " "conversion: *encode* and *decode* work on the frontend — the data visible to " @@ -1082,17 +1118,17 @@ msgid "" "work on the backend — the data in *stream*." msgstr "" -#: ../../library/codecs.rst:851 +#: ../../library/codecs.rst:896 msgid "" "You can use these objects to do transparent transcodings, e.g., from Latin-1 " "to UTF-8 and back." msgstr "" -#: ../../library/codecs.rst:854 +#: ../../library/codecs.rst:899 msgid "The *stream* argument must be a file-like object." msgstr "" -#: ../../library/codecs.rst:856 +#: ../../library/codecs.rst:901 msgid "" "The *encode* and *decode* arguments must adhere to the :class:`Codec` " "interface. *Reader* and *Writer* must be factory functions or classes " @@ -1100,36 +1136,36 @@ msgid "" "interface respectively." msgstr "" -#: ../../library/codecs.rst:861 +#: ../../library/codecs.rst:906 msgid "" "Error handling is done in the same way as defined for the stream readers and " "writers." msgstr "" -#: ../../library/codecs.rst:865 +#: ../../library/codecs.rst:910 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." msgstr "" -#: ../../library/codecs.rst:873 +#: ../../library/codecs.rst:918 msgid "Encodings and Unicode" msgstr "" -#: ../../library/codecs.rst:875 +#: ../../library/codecs.rst:920 msgid "" -"Strings are stored internally as sequences of code points in range ``0x0``--" -"``0x10FFFF``. (See :pep:`393` for more details about the implementation.) " -"Once a string object is used outside of CPU and memory, endianness and how " -"these arrays are stored as bytes become an issue. As with other codecs, " -"serialising a string into a sequence of bytes is known as *encoding*, and " -"recreating the string from the sequence of bytes is known as *decoding*. " -"There are a variety of different text serialisation codecs, which are " -"collectivity referred to as :term:`text encodings `." +"Strings are stored internally as sequences of code points in range " +"``U+0000``--``U+10FFFF``. (See :pep:`393` for more details about the " +"implementation.) Once a string object is used outside of CPU and memory, " +"endianness and how these arrays are stored as bytes become an issue. As with " +"other codecs, serialising a string into a sequence of bytes is known as " +"*encoding*, and recreating the string from the sequence of bytes is known as " +"*decoding*. There are a variety of different text serialisation codecs, " +"which are collectivity referred to as :term:`text encodings `." msgstr "" -#: ../../library/codecs.rst:885 +#: ../../library/codecs.rst:930 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 " @@ -1140,7 +1176,7 @@ msgid "" "position 3: ordinal not in range(256)``." msgstr "" -#: ../../library/codecs.rst:893 +#: ../../library/codecs.rst:938 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 " @@ -1150,7 +1186,7 @@ msgid "" "that shows you which character is mapped to which byte value." msgstr "" -#: ../../library/codecs.rst:900 +#: ../../library/codecs.rst:945 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 " @@ -1166,7 +1202,7 @@ msgid "" "Order Mark\"). This is the Unicode character ``U+FEFF``. This character can " "be prepended to every ``UTF-16`` or ``UTF-32`` byte sequence. The byte " "swapped version of this character (``0xFFFE``) is an illegal character that " -"may not appear in a Unicode text. So when the first character in an " +"may not appear in a Unicode text. So when the first character in a " "``UTF-16`` or ``UTF-32`` byte sequence appears to be a ``U+FFFE`` the bytes " "have to be swapped on decoding. Unfortunately the character ``U+FEFF`` had a " "second purpose as a ``ZERO WIDTH NO-BREAK SPACE``: a character that has no " @@ -1180,9 +1216,9 @@ msgid "" "normal character that will be decoded like any other." msgstr "" -#: ../../library/codecs.rst:926 +#: ../../library/codecs.rst:971 msgid "" -"There's another encoding that is able to encoding the full range of Unicode " +"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 " "issues with byte order in UTF-8. Each byte in a UTF-8 byte sequence consists " "of two parts: marker bits (the most significant bits) and payload bits. The " @@ -1191,71 +1227,70 @@ msgid "" "which when concatenated give the Unicode character):" msgstr "" -#: ../../library/codecs.rst:935 +#: ../../library/codecs.rst:980 msgid "Range" msgstr "" -#: ../../library/codecs.rst:935 +#: ../../library/codecs.rst:980 msgid "Encoding" msgstr "" -#: ../../library/codecs.rst:937 +#: ../../library/codecs.rst:982 msgid "``U-00000000`` ... ``U-0000007F``" -msgstr "" +msgstr "``U-00000000`` ... ``U-0000007F``" -#: ../../library/codecs.rst:937 +#: ../../library/codecs.rst:982 msgid "0xxxxxxx" -msgstr "" +msgstr "0xxxxxxx" -#: ../../library/codecs.rst:939 +#: ../../library/codecs.rst:984 msgid "``U-00000080`` ... ``U-000007FF``" -msgstr "" +msgstr "``U-00000080`` ... ``U-000007FF``" -#: ../../library/codecs.rst:939 +#: ../../library/codecs.rst:984 msgid "110xxxxx 10xxxxxx" -msgstr "" +msgstr "110xxxxx 10xxxxxx" -#: ../../library/codecs.rst:941 +#: ../../library/codecs.rst:986 msgid "``U-00000800`` ... ``U-0000FFFF``" -msgstr "" +msgstr "``U-00000800`` ... ``U-0000FFFF``" -#: ../../library/codecs.rst:941 +#: ../../library/codecs.rst:986 msgid "1110xxxx 10xxxxxx 10xxxxxx" -msgstr "" +msgstr "1110xxxx 10xxxxxx 10xxxxxx" -#: ../../library/codecs.rst:943 +#: ../../library/codecs.rst:988 msgid "``U-00010000`` ... ``U-0010FFFF``" -msgstr "" +msgstr "``U-00010000`` ... ``U-0010FFFF``" -#: ../../library/codecs.rst:943 +#: ../../library/codecs.rst:988 msgid "11110xxx 10xxxxxx 10xxxxxx 10xxxxxx" msgstr "" -#: ../../library/codecs.rst:946 +#: ../../library/codecs.rst:991 msgid "" "The least significant bit of the Unicode character is the rightmost x bit." msgstr "" -#: ../../library/codecs.rst:948 +#: ../../library/codecs.rst:993 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:952 +#: ../../library/codecs.rst:997 msgid "" "Without external information it's impossible to reliably determine which " "encoding was used for encoding a string. Each charmap encoding can decode " "any random byte sequence. However that's not possible with UTF-8, as UTF-8 " "byte sequences have a structure that doesn't allow arbitrary byte sequences. " "To increase the reliability with which a UTF-8 encoding can be detected, " -"Microsoft invented a variant of UTF-8 (that Python 2.5 calls ``\"utf-8-sig" -"\"``) for its Notepad program: Before any of the Unicode characters is " -"written to the file, a UTF-8 encoded BOM (which looks like this as a byte " -"sequence: ``0xef``, ``0xbb``, ``0xbf``) is written. As it's rather " -"improbable that any charmap encoded file starts with these byte values " -"(which would e.g. map to" +"Microsoft invented a variant of UTF-8 (that Python calls ``\"utf-8-sig\"``) " +"for its Notepad program: Before any of the Unicode characters is written to " +"the file, a UTF-8 encoded BOM (which looks like this as a byte sequence: " +"``0xef``, ``0xbb``, ``0xbf``) is written. As it's rather improbable that any " +"charmap encoded file starts with these byte values (which would e.g. map to" msgstr "" #: ../../library/codecs.rst:0 @@ -1270,7 +1305,7 @@ msgstr "" msgid "INVERTED QUESTION MARK" msgstr "" -#: ../../library/codecs.rst:968 +#: ../../library/codecs.rst:1013 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 " @@ -1282,11 +1317,11 @@ msgid "" "the use of the BOM is discouraged and should generally be avoided." msgstr "" -#: ../../library/codecs.rst:981 +#: ../../library/codecs.rst:1026 msgid "Standard Encodings" msgstr "" -#: ../../library/codecs.rst:983 +#: ../../library/codecs.rst:1028 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 " @@ -1298,7 +1333,7 @@ msgid "" "alias for the ``'utf_8'`` codec." msgstr "" -#: ../../library/codecs.rst:993 +#: ../../library/codecs.rst:1038 msgid "" "Some common encodings can bypass the codecs lookup machinery to improve " "performance. These optimization opportunities are only recognized by CPython " @@ -1308,11 +1343,11 @@ msgid "" "Using alternative aliases for these encodings may result in slower execution." msgstr "" -#: ../../library/codecs.rst:1001 +#: ../../library/codecs.rst:1046 msgid "Optimization opportunity recognized for us-ascii." msgstr "" -#: ../../library/codecs.rst:1004 +#: ../../library/codecs.rst:1049 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 " @@ -1320,949 +1355,949 @@ msgid "" "languages in particular, the following variants typically exist:" msgstr "" -#: ../../library/codecs.rst:1009 +#: ../../library/codecs.rst:1054 msgid "an ISO 8859 codeset" msgstr "" -#: ../../library/codecs.rst:1011 +#: ../../library/codecs.rst:1056 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:1014 +#: ../../library/codecs.rst:1059 msgid "an IBM EBCDIC code page" msgstr "" -#: ../../library/codecs.rst:1016 +#: ../../library/codecs.rst:1061 msgid "an IBM PC code page, which is ASCII compatible" msgstr "" -#: ../../library/codecs.rst:1021 ../../library/codecs.rst:1276 -#: ../../library/codecs.rst:1343 ../../library/codecs.rst:1398 +#: ../../library/codecs.rst:1066 ../../library/codecs.rst:1321 +#: ../../library/codecs.rst:1388 ../../library/codecs.rst:1443 msgid "Codec" msgstr "" -#: ../../library/codecs.rst:1021 ../../library/codecs.rst:1276 -#: ../../library/codecs.rst:1343 ../../library/codecs.rst:1398 +#: ../../library/codecs.rst:1066 ../../library/codecs.rst:1321 +#: ../../library/codecs.rst:1388 ../../library/codecs.rst:1443 msgid "Aliases" msgstr "" -#: ../../library/codecs.rst:1021 +#: ../../library/codecs.rst:1066 msgid "Languages" -msgstr "" +msgstr "Idiomas" -#: ../../library/codecs.rst:1023 +#: ../../library/codecs.rst:1068 msgid "ascii" -msgstr "" +msgstr "ascii" -#: ../../library/codecs.rst:1023 +#: ../../library/codecs.rst:1068 msgid "646, us-ascii" -msgstr "" +msgstr "646, us-ascii" -#: ../../library/codecs.rst:1023 ../../library/codecs.rst:1029 -#: ../../library/codecs.rst:1037 +#: ../../library/codecs.rst:1068 ../../library/codecs.rst:1074 +#: ../../library/codecs.rst:1082 msgid "English" -msgstr "" +msgstr "Inglês" -#: ../../library/codecs.rst:1025 +#: ../../library/codecs.rst:1070 msgid "big5" -msgstr "" +msgstr "big5" -#: ../../library/codecs.rst:1025 +#: ../../library/codecs.rst:1070 msgid "big5-tw, csbig5" msgstr "" -#: ../../library/codecs.rst:1025 ../../library/codecs.rst:1027 -#: ../../library/codecs.rst:1085 +#: ../../library/codecs.rst:1070 ../../library/codecs.rst:1072 +#: ../../library/codecs.rst:1130 msgid "Traditional Chinese" msgstr "" -#: ../../library/codecs.rst:1027 +#: ../../library/codecs.rst:1072 msgid "big5hkscs" -msgstr "" +msgstr "big5hkscs" -#: ../../library/codecs.rst:1027 +#: ../../library/codecs.rst:1072 msgid "big5-hkscs, hkscs" -msgstr "" +msgstr "big5-hkscs, hkscs" -#: ../../library/codecs.rst:1029 +#: ../../library/codecs.rst:1074 msgid "cp037" -msgstr "" +msgstr "cp037" -#: ../../library/codecs.rst:1029 +#: ../../library/codecs.rst:1074 msgid "IBM037, IBM039" -msgstr "" +msgstr "IBM037, IBM039" -#: ../../library/codecs.rst:1031 +#: ../../library/codecs.rst:1076 msgid "cp273" -msgstr "" +msgstr "cp273" -#: ../../library/codecs.rst:1031 +#: ../../library/codecs.rst:1076 msgid "273, IBM273, csIBM273" -msgstr "" +msgstr "273, IBM273, csIBM273" -#: ../../library/codecs.rst:1031 +#: ../../library/codecs.rst:1076 msgid "German" -msgstr "" +msgstr "Alemão" -#: ../../library/codecs.rst:1035 +#: ../../library/codecs.rst:1080 msgid "cp424" -msgstr "" +msgstr "cp424" -#: ../../library/codecs.rst:1035 +#: ../../library/codecs.rst:1080 msgid "EBCDIC-CP-HE, IBM424" -msgstr "" +msgstr "EBCDIC-CP-HE, IBM424" -#: ../../library/codecs.rst:1035 ../../library/codecs.rst:1055 -#: ../../library/codecs.rst:1065 ../../library/codecs.rst:1108 -#: ../../library/codecs.rst:1171 +#: ../../library/codecs.rst:1080 ../../library/codecs.rst:1100 +#: ../../library/codecs.rst:1110 ../../library/codecs.rst:1153 +#: ../../library/codecs.rst:1216 msgid "Hebrew" -msgstr "" +msgstr "Hebraico" -#: ../../library/codecs.rst:1037 +#: ../../library/codecs.rst:1082 msgid "cp437" -msgstr "" +msgstr "cp437" -#: ../../library/codecs.rst:1037 +#: ../../library/codecs.rst:1082 msgid "437, IBM437" -msgstr "" +msgstr "437, IBM437" -#: ../../library/codecs.rst:1039 +#: ../../library/codecs.rst:1084 msgid "cp500" -msgstr "" +msgstr "cp500" -#: ../../library/codecs.rst:1039 +#: ../../library/codecs.rst:1084 msgid "EBCDIC-CP-BE, EBCDIC-CP-CH, IBM500" -msgstr "" +msgstr "EBCDIC-CP-BE, EBCDIC-CP-CH, IBM500" -#: ../../library/codecs.rst:1039 ../../library/codecs.rst:1048 -#: ../../library/codecs.rst:1059 ../../library/codecs.rst:1095 -#: ../../library/codecs.rst:1102 ../../library/codecs.rst:1155 -#: ../../library/codecs.rst:1183 ../../library/codecs.rst:1211 +#: ../../library/codecs.rst:1084 ../../library/codecs.rst:1093 +#: ../../library/codecs.rst:1104 ../../library/codecs.rst:1140 +#: ../../library/codecs.rst:1147 ../../library/codecs.rst:1200 +#: ../../library/codecs.rst:1228 ../../library/codecs.rst:1256 msgid "Western Europe" msgstr "" -#: ../../library/codecs.rst:1042 +#: ../../library/codecs.rst:1087 msgid "cp720" -msgstr "" +msgstr "cp720" -#: ../../library/codecs.rst:1042 ../../library/codecs.rst:1069 -#: ../../library/codecs.rst:1110 ../../library/codecs.rst:1167 +#: ../../library/codecs.rst:1087 ../../library/codecs.rst:1114 +#: ../../library/codecs.rst:1155 ../../library/codecs.rst:1212 msgid "Arabic" -msgstr "" +msgstr "Árabe" -#: ../../library/codecs.rst:1044 +#: ../../library/codecs.rst:1089 msgid "cp737" -msgstr "" +msgstr "cp737" -#: ../../library/codecs.rst:1044 ../../library/codecs.rst:1075 -#: ../../library/codecs.rst:1079 ../../library/codecs.rst:1104 -#: ../../library/codecs.rst:1169 ../../library/codecs.rst:1204 +#: ../../library/codecs.rst:1089 ../../library/codecs.rst:1120 +#: ../../library/codecs.rst:1124 ../../library/codecs.rst:1149 +#: ../../library/codecs.rst:1214 ../../library/codecs.rst:1249 msgid "Greek" -msgstr "" +msgstr "Grego" -#: ../../library/codecs.rst:1046 +#: ../../library/codecs.rst:1091 msgid "cp775" -msgstr "" +msgstr "cp775" -#: ../../library/codecs.rst:1046 +#: ../../library/codecs.rst:1091 msgid "IBM775" -msgstr "" +msgstr "IBM775" -#: ../../library/codecs.rst:1046 ../../library/codecs.rst:1112 -#: ../../library/codecs.rst:1162 ../../library/codecs.rst:1179 +#: ../../library/codecs.rst:1091 ../../library/codecs.rst:1157 +#: ../../library/codecs.rst:1207 ../../library/codecs.rst:1224 msgid "Baltic languages" msgstr "" -#: ../../library/codecs.rst:1048 +#: ../../library/codecs.rst:1093 msgid "cp850" -msgstr "" +msgstr "cp850" -#: ../../library/codecs.rst:1048 +#: ../../library/codecs.rst:1093 msgid "850, IBM850" -msgstr "" +msgstr "850, IBM850" -#: ../../library/codecs.rst:1050 +#: ../../library/codecs.rst:1095 msgid "cp852" -msgstr "" +msgstr "cp852" -#: ../../library/codecs.rst:1050 +#: ../../library/codecs.rst:1095 msgid "852, IBM852" -msgstr "" +msgstr "852, IBM852" -#: ../../library/codecs.rst:1050 ../../library/codecs.rst:1097 -#: ../../library/codecs.rst:1158 ../../library/codecs.rst:1208 +#: ../../library/codecs.rst:1095 ../../library/codecs.rst:1142 +#: ../../library/codecs.rst:1203 ../../library/codecs.rst:1253 msgid "Central and Eastern Europe" msgstr "" -#: ../../library/codecs.rst:1052 +#: ../../library/codecs.rst:1097 msgid "cp855" -msgstr "" +msgstr "cp855" -#: ../../library/codecs.rst:1052 +#: ../../library/codecs.rst:1097 msgid "855, IBM855" -msgstr "" +msgstr "855, IBM855" -#: ../../library/codecs.rst:1052 ../../library/codecs.rst:1099 -#: ../../library/codecs.rst:1164 ../../library/codecs.rst:1201 +#: ../../library/codecs.rst:1097 ../../library/codecs.rst:1144 +#: ../../library/codecs.rst:1209 ../../library/codecs.rst:1246 msgid "Bulgarian, Byelorussian, Macedonian, Russian, Serbian" msgstr "" -#: ../../library/codecs.rst:1055 +#: ../../library/codecs.rst:1100 msgid "cp856" -msgstr "" +msgstr "cp856" -#: ../../library/codecs.rst:1057 +#: ../../library/codecs.rst:1102 msgid "cp857" -msgstr "" +msgstr "cp857" -#: ../../library/codecs.rst:1057 +#: ../../library/codecs.rst:1102 msgid "857, IBM857" -msgstr "" +msgstr "857, IBM857" -#: ../../library/codecs.rst:1057 ../../library/codecs.rst:1089 -#: ../../library/codecs.rst:1106 ../../library/codecs.rst:1173 -#: ../../library/codecs.rst:1213 +#: ../../library/codecs.rst:1102 ../../library/codecs.rst:1134 +#: ../../library/codecs.rst:1151 ../../library/codecs.rst:1218 +#: ../../library/codecs.rst:1258 msgid "Turkish" -msgstr "" +msgstr "Turco" -#: ../../library/codecs.rst:1059 +#: ../../library/codecs.rst:1104 msgid "cp858" -msgstr "" +msgstr "cp858" -#: ../../library/codecs.rst:1059 +#: ../../library/codecs.rst:1104 msgid "858, IBM858" -msgstr "" +msgstr "858, IBM858" -#: ../../library/codecs.rst:1061 +#: ../../library/codecs.rst:1106 msgid "cp860" -msgstr "" +msgstr "cp860" -#: ../../library/codecs.rst:1061 +#: ../../library/codecs.rst:1106 msgid "860, IBM860" -msgstr "" +msgstr "860, IBM860" -#: ../../library/codecs.rst:1061 +#: ../../library/codecs.rst:1106 msgid "Portuguese" -msgstr "" +msgstr "Português" -#: ../../library/codecs.rst:1063 +#: ../../library/codecs.rst:1108 msgid "cp861" -msgstr "" +msgstr "cp861" -#: ../../library/codecs.rst:1063 +#: ../../library/codecs.rst:1108 msgid "861, CP-IS, IBM861" -msgstr "" +msgstr "861, CP-IS, IBM861" -#: ../../library/codecs.rst:1063 ../../library/codecs.rst:1206 +#: ../../library/codecs.rst:1108 ../../library/codecs.rst:1251 msgid "Icelandic" -msgstr "" +msgstr "Islandês" -#: ../../library/codecs.rst:1065 +#: ../../library/codecs.rst:1110 msgid "cp862" -msgstr "" +msgstr "cp862" -#: ../../library/codecs.rst:1065 +#: ../../library/codecs.rst:1110 msgid "862, IBM862" -msgstr "" +msgstr "862, IBM862" -#: ../../library/codecs.rst:1067 +#: ../../library/codecs.rst:1112 msgid "cp863" -msgstr "" +msgstr "cp863" -#: ../../library/codecs.rst:1067 +#: ../../library/codecs.rst:1112 msgid "863, IBM863" -msgstr "" +msgstr "863, IBM863" -#: ../../library/codecs.rst:1067 +#: ../../library/codecs.rst:1112 msgid "Canadian" -msgstr "" +msgstr "Canadense" -#: ../../library/codecs.rst:1069 +#: ../../library/codecs.rst:1114 msgid "cp864" -msgstr "" +msgstr "cp864" -#: ../../library/codecs.rst:1069 +#: ../../library/codecs.rst:1114 msgid "IBM864" -msgstr "" +msgstr "IBM864" -#: ../../library/codecs.rst:1071 +#: ../../library/codecs.rst:1116 msgid "cp865" -msgstr "" +msgstr "cp865" -#: ../../library/codecs.rst:1071 +#: ../../library/codecs.rst:1116 msgid "865, IBM865" -msgstr "" +msgstr "865, IBM865" -#: ../../library/codecs.rst:1071 +#: ../../library/codecs.rst:1116 msgid "Danish, Norwegian" msgstr "" -#: ../../library/codecs.rst:1073 +#: ../../library/codecs.rst:1118 msgid "cp866" -msgstr "" +msgstr "cp866" -#: ../../library/codecs.rst:1073 +#: ../../library/codecs.rst:1118 msgid "866, IBM866" -msgstr "" +msgstr "866, IBM866" -#: ../../library/codecs.rst:1073 ../../library/codecs.rst:1189 +#: ../../library/codecs.rst:1118 ../../library/codecs.rst:1234 msgid "Russian" -msgstr "" +msgstr "Russo" -#: ../../library/codecs.rst:1075 +#: ../../library/codecs.rst:1120 msgid "cp869" -msgstr "" +msgstr "cp869" -#: ../../library/codecs.rst:1075 +#: ../../library/codecs.rst:1120 msgid "869, CP-GR, IBM869" -msgstr "" +msgstr "869, CP-GR, IBM869" -#: ../../library/codecs.rst:1077 +#: ../../library/codecs.rst:1122 msgid "cp874" -msgstr "" +msgstr "cp874" -#: ../../library/codecs.rst:1077 +#: ../../library/codecs.rst:1122 msgid "Thai" -msgstr "" +msgstr "Tailandês" -#: ../../library/codecs.rst:1079 +#: ../../library/codecs.rst:1124 msgid "cp875" -msgstr "" +msgstr "cp875" -#: ../../library/codecs.rst:1081 +#: ../../library/codecs.rst:1126 msgid "cp932" -msgstr "" +msgstr "cp932" -#: ../../library/codecs.rst:1081 +#: ../../library/codecs.rst:1126 msgid "932, ms932, mskanji, ms-kanji" msgstr "" -#: ../../library/codecs.rst:1081 ../../library/codecs.rst:1116 -#: ../../library/codecs.rst:1118 ../../library/codecs.rst:1120 -#: ../../library/codecs.rst:1137 ../../library/codecs.rst:1140 -#: ../../library/codecs.rst:1145 ../../library/codecs.rst:1148 -#: ../../library/codecs.rst:1150 ../../library/codecs.rst:1218 -#: ../../library/codecs.rst:1221 ../../library/codecs.rst:1224 +#: ../../library/codecs.rst:1126 ../../library/codecs.rst:1161 +#: ../../library/codecs.rst:1163 ../../library/codecs.rst:1165 +#: ../../library/codecs.rst:1182 ../../library/codecs.rst:1185 +#: ../../library/codecs.rst:1190 ../../library/codecs.rst:1193 +#: ../../library/codecs.rst:1195 ../../library/codecs.rst:1263 +#: ../../library/codecs.rst:1266 ../../library/codecs.rst:1269 msgid "Japanese" -msgstr "" +msgstr "Japonês" -#: ../../library/codecs.rst:1083 +#: ../../library/codecs.rst:1128 msgid "cp949" -msgstr "" +msgstr "cp949" -#: ../../library/codecs.rst:1083 +#: ../../library/codecs.rst:1128 msgid "949, ms949, uhc" -msgstr "" +msgstr "949, ms949, uhc" -#: ../../library/codecs.rst:1083 ../../library/codecs.rst:1122 -#: ../../library/codecs.rst:1152 ../../library/codecs.rst:1187 +#: ../../library/codecs.rst:1128 ../../library/codecs.rst:1167 +#: ../../library/codecs.rst:1197 ../../library/codecs.rst:1232 msgid "Korean" -msgstr "" +msgstr "Coreano" -#: ../../library/codecs.rst:1085 +#: ../../library/codecs.rst:1130 msgid "cp950" -msgstr "" +msgstr "cp950" -#: ../../library/codecs.rst:1085 +#: ../../library/codecs.rst:1130 msgid "950, ms950" -msgstr "" +msgstr "950, ms950" -#: ../../library/codecs.rst:1087 +#: ../../library/codecs.rst:1132 msgid "cp1006" -msgstr "" +msgstr "cp1006" -#: ../../library/codecs.rst:1087 +#: ../../library/codecs.rst:1132 msgid "Urdu" msgstr "" -#: ../../library/codecs.rst:1089 +#: ../../library/codecs.rst:1134 msgid "cp1026" -msgstr "" +msgstr "cp1026" -#: ../../library/codecs.rst:1089 +#: ../../library/codecs.rst:1134 msgid "ibm1026" -msgstr "" +msgstr "ibm1026" -#: ../../library/codecs.rst:1091 +#: ../../library/codecs.rst:1136 msgid "cp1125" -msgstr "" +msgstr "cp1125" -#: ../../library/codecs.rst:1091 +#: ../../library/codecs.rst:1136 msgid "1125, ibm1125, cp866u, ruscii" msgstr "" -#: ../../library/codecs.rst:1091 ../../library/codecs.rst:1195 +#: ../../library/codecs.rst:1136 ../../library/codecs.rst:1240 msgid "Ukrainian" -msgstr "" +msgstr "Ucraniano" -#: ../../library/codecs.rst:1095 +#: ../../library/codecs.rst:1140 msgid "cp1140" -msgstr "" +msgstr "cp1140" -#: ../../library/codecs.rst:1095 +#: ../../library/codecs.rst:1140 msgid "ibm1140" -msgstr "" +msgstr "ibm1140" -#: ../../library/codecs.rst:1097 +#: ../../library/codecs.rst:1142 msgid "cp1250" -msgstr "" +msgstr "cp1250" -#: ../../library/codecs.rst:1097 +#: ../../library/codecs.rst:1142 msgid "windows-1250" -msgstr "" +msgstr "windows-1250" -#: ../../library/codecs.rst:1099 +#: ../../library/codecs.rst:1144 msgid "cp1251" -msgstr "" +msgstr "cp1251" -#: ../../library/codecs.rst:1099 +#: ../../library/codecs.rst:1144 msgid "windows-1251" -msgstr "" +msgstr "windows-1251" -#: ../../library/codecs.rst:1102 +#: ../../library/codecs.rst:1147 msgid "cp1252" msgstr "cp1252" -#: ../../library/codecs.rst:1102 +#: ../../library/codecs.rst:1147 msgid "windows-1252" -msgstr "" +msgstr "windows-1252" -#: ../../library/codecs.rst:1104 +#: ../../library/codecs.rst:1149 msgid "cp1253" -msgstr "" +msgstr "cp1253" -#: ../../library/codecs.rst:1104 +#: ../../library/codecs.rst:1149 msgid "windows-1253" -msgstr "" +msgstr "windows-1253" -#: ../../library/codecs.rst:1106 +#: ../../library/codecs.rst:1151 msgid "cp1254" -msgstr "" +msgstr "cp1254" -#: ../../library/codecs.rst:1106 +#: ../../library/codecs.rst:1151 msgid "windows-1254" -msgstr "" +msgstr "windows-1254" -#: ../../library/codecs.rst:1108 +#: ../../library/codecs.rst:1153 msgid "cp1255" -msgstr "" +msgstr "cp1255" -#: ../../library/codecs.rst:1108 +#: ../../library/codecs.rst:1153 msgid "windows-1255" -msgstr "" +msgstr "windows-1255" -#: ../../library/codecs.rst:1110 +#: ../../library/codecs.rst:1155 msgid "cp1256" -msgstr "" +msgstr "cp1256" -#: ../../library/codecs.rst:1110 +#: ../../library/codecs.rst:1155 msgid "windows-1256" -msgstr "" +msgstr "windows-1256" -#: ../../library/codecs.rst:1112 +#: ../../library/codecs.rst:1157 msgid "cp1257" -msgstr "" +msgstr "cp1257" -#: ../../library/codecs.rst:1112 +#: ../../library/codecs.rst:1157 msgid "windows-1257" -msgstr "" +msgstr "windows-1257" -#: ../../library/codecs.rst:1114 +#: ../../library/codecs.rst:1159 msgid "cp1258" -msgstr "" +msgstr "cp1258" -#: ../../library/codecs.rst:1114 +#: ../../library/codecs.rst:1159 msgid "windows-1258" -msgstr "" +msgstr "windows-1258" -#: ../../library/codecs.rst:1114 +#: ../../library/codecs.rst:1159 msgid "Vietnamese" -msgstr "" +msgstr "Vietnamita" -#: ../../library/codecs.rst:1116 +#: ../../library/codecs.rst:1161 msgid "euc_jp" -msgstr "" +msgstr "euc_jp" -#: ../../library/codecs.rst:1116 +#: ../../library/codecs.rst:1161 msgid "eucjp, ujis, u-jis" -msgstr "" +msgstr "eucjp, ujis, u-jis" -#: ../../library/codecs.rst:1118 +#: ../../library/codecs.rst:1163 msgid "euc_jis_2004" -msgstr "" +msgstr "euc_jis_2004" -#: ../../library/codecs.rst:1118 +#: ../../library/codecs.rst:1163 msgid "jisx0213, eucjis2004" -msgstr "" +msgstr "jisx0213, eucjis2004" -#: ../../library/codecs.rst:1120 +#: ../../library/codecs.rst:1165 msgid "euc_jisx0213" -msgstr "" +msgstr "euc_jisx0213" -#: ../../library/codecs.rst:1120 +#: ../../library/codecs.rst:1165 msgid "eucjisx0213" -msgstr "" +msgstr "eucjisx0213" -#: ../../library/codecs.rst:1122 +#: ../../library/codecs.rst:1167 msgid "euc_kr" -msgstr "" +msgstr "euc_kr" -#: ../../library/codecs.rst:1122 +#: ../../library/codecs.rst:1167 msgid "euckr, korean, ksc5601, ks_c-5601, ks_c-5601-1987, ksx1001, ks_x-1001" msgstr "" -#: ../../library/codecs.rst:1126 +#: ../../library/codecs.rst:1171 msgid "gb2312" -msgstr "" +msgstr "gb2312" -#: ../../library/codecs.rst:1126 +#: ../../library/codecs.rst:1171 msgid "" "chinese, csiso58gb231280, euc-cn, euccn, eucgb2312-cn, gb2312-1980, " "gb2312-80, iso-ir-58" msgstr "" -#: ../../library/codecs.rst:1126 ../../library/codecs.rst:1135 +#: ../../library/codecs.rst:1171 ../../library/codecs.rst:1180 msgid "Simplified Chinese" msgstr "" -#: ../../library/codecs.rst:1131 +#: ../../library/codecs.rst:1176 msgid "gbk" -msgstr "" +msgstr "gbk" -#: ../../library/codecs.rst:1131 +#: ../../library/codecs.rst:1176 msgid "936, cp936, ms936" -msgstr "" +msgstr "936, cp936, ms936" -#: ../../library/codecs.rst:1131 ../../library/codecs.rst:1133 +#: ../../library/codecs.rst:1176 ../../library/codecs.rst:1178 msgid "Unified Chinese" msgstr "" -#: ../../library/codecs.rst:1133 +#: ../../library/codecs.rst:1178 msgid "gb18030" -msgstr "" +msgstr "gb18030" -#: ../../library/codecs.rst:1133 +#: ../../library/codecs.rst:1178 msgid "gb18030-2000" -msgstr "" +msgstr "gb18030-2000" -#: ../../library/codecs.rst:1135 +#: ../../library/codecs.rst:1180 msgid "hz" -msgstr "" +msgstr "hz" -#: ../../library/codecs.rst:1135 +#: ../../library/codecs.rst:1180 msgid "hzgb, hz-gb, hz-gb-2312" -msgstr "" +msgstr "hzgb, hz-gb, hz-gb-2312" -#: ../../library/codecs.rst:1137 +#: ../../library/codecs.rst:1182 msgid "iso2022_jp" -msgstr "" +msgstr "iso2022_jp" -#: ../../library/codecs.rst:1137 +#: ../../library/codecs.rst:1182 msgid "csiso2022jp, iso2022jp, iso-2022-jp" -msgstr "" +msgstr "csiso2022jp, iso2022jp, iso-2022-jp" -#: ../../library/codecs.rst:1140 +#: ../../library/codecs.rst:1185 msgid "iso2022_jp_1" -msgstr "" +msgstr "iso2022_jp_1" -#: ../../library/codecs.rst:1140 +#: ../../library/codecs.rst:1185 msgid "iso2022jp-1, iso-2022-jp-1" -msgstr "" +msgstr "iso2022jp-1, iso-2022-jp-1" -#: ../../library/codecs.rst:1142 +#: ../../library/codecs.rst:1187 msgid "iso2022_jp_2" -msgstr "" +msgstr "iso2022_jp_2" -#: ../../library/codecs.rst:1142 +#: ../../library/codecs.rst:1187 msgid "iso2022jp-2, iso-2022-jp-2" -msgstr "" +msgstr "iso2022jp-2, iso-2022-jp-2" -#: ../../library/codecs.rst:1142 +#: ../../library/codecs.rst:1187 msgid "Japanese, Korean, Simplified Chinese, Western Europe, Greek" msgstr "" -#: ../../library/codecs.rst:1145 +#: ../../library/codecs.rst:1190 msgid "iso2022_jp_2004" -msgstr "" +msgstr "iso2022_jp_2004" -#: ../../library/codecs.rst:1145 +#: ../../library/codecs.rst:1190 msgid "iso2022jp-2004, iso-2022-jp-2004" -msgstr "" +msgstr "iso2022jp-2004, iso-2022-jp-2004" -#: ../../library/codecs.rst:1148 +#: ../../library/codecs.rst:1193 msgid "iso2022_jp_3" -msgstr "" +msgstr "iso2022_jp_3" -#: ../../library/codecs.rst:1148 +#: ../../library/codecs.rst:1193 msgid "iso2022jp-3, iso-2022-jp-3" -msgstr "" +msgstr "iso2022jp-3, iso-2022-jp-3" -#: ../../library/codecs.rst:1150 +#: ../../library/codecs.rst:1195 msgid "iso2022_jp_ext" -msgstr "" +msgstr "iso2022_jp_ext" -#: ../../library/codecs.rst:1150 +#: ../../library/codecs.rst:1195 msgid "iso2022jp-ext, iso-2022-jp-ext" -msgstr "" +msgstr "iso2022jp-ext, iso-2022-jp-ext" -#: ../../library/codecs.rst:1152 +#: ../../library/codecs.rst:1197 msgid "iso2022_kr" -msgstr "" +msgstr "iso2022_kr" -#: ../../library/codecs.rst:1152 +#: ../../library/codecs.rst:1197 msgid "csiso2022kr, iso2022kr, iso-2022-kr" -msgstr "" +msgstr "csiso2022kr, iso2022kr, iso-2022-kr" -#: ../../library/codecs.rst:1155 +#: ../../library/codecs.rst:1200 msgid "latin_1" -msgstr "" +msgstr "latin_1" -#: ../../library/codecs.rst:1155 +#: ../../library/codecs.rst:1200 msgid "iso-8859-1, iso8859-1, 8859, cp819, latin, latin1, L1" msgstr "" -#: ../../library/codecs.rst:1158 +#: ../../library/codecs.rst:1203 msgid "iso8859_2" -msgstr "" +msgstr "iso8859_2" -#: ../../library/codecs.rst:1158 +#: ../../library/codecs.rst:1203 msgid "iso-8859-2, latin2, L2" -msgstr "" +msgstr "iso-8859-2, latin2, L2" -#: ../../library/codecs.rst:1160 +#: ../../library/codecs.rst:1205 msgid "iso8859_3" -msgstr "" +msgstr "iso8859_3" -#: ../../library/codecs.rst:1160 +#: ../../library/codecs.rst:1205 msgid "iso-8859-3, latin3, L3" -msgstr "" +msgstr "iso-8859-3, latin3, L3" -#: ../../library/codecs.rst:1160 +#: ../../library/codecs.rst:1205 msgid "Esperanto, Maltese" msgstr "" -#: ../../library/codecs.rst:1162 +#: ../../library/codecs.rst:1207 msgid "iso8859_4" -msgstr "" +msgstr "iso8859_4" -#: ../../library/codecs.rst:1162 +#: ../../library/codecs.rst:1207 msgid "iso-8859-4, latin4, L4" -msgstr "" +msgstr "iso-8859-4, latin4, L4" -#: ../../library/codecs.rst:1164 +#: ../../library/codecs.rst:1209 msgid "iso8859_5" msgstr "iso8859_5" -#: ../../library/codecs.rst:1164 +#: ../../library/codecs.rst:1209 msgid "iso-8859-5, cyrillic" -msgstr "" +msgstr "iso-8859-5, cyrillic" -#: ../../library/codecs.rst:1167 +#: ../../library/codecs.rst:1212 msgid "iso8859_6" -msgstr "" +msgstr "iso8859_6" -#: ../../library/codecs.rst:1167 +#: ../../library/codecs.rst:1212 msgid "iso-8859-6, arabic" msgstr "" -#: ../../library/codecs.rst:1169 +#: ../../library/codecs.rst:1214 msgid "iso8859_7" -msgstr "" +msgstr "iso8859_7" -#: ../../library/codecs.rst:1169 +#: ../../library/codecs.rst:1214 msgid "iso-8859-7, greek, greek8" msgstr "" -#: ../../library/codecs.rst:1171 +#: ../../library/codecs.rst:1216 msgid "iso8859_8" -msgstr "" +msgstr "iso8859_8" -#: ../../library/codecs.rst:1171 +#: ../../library/codecs.rst:1216 msgid "iso-8859-8, hebrew" msgstr "" -#: ../../library/codecs.rst:1173 +#: ../../library/codecs.rst:1218 msgid "iso8859_9" -msgstr "" +msgstr "iso8859_9" -#: ../../library/codecs.rst:1173 +#: ../../library/codecs.rst:1218 msgid "iso-8859-9, latin5, L5" -msgstr "" +msgstr "iso-8859-9, latin5, L5" -#: ../../library/codecs.rst:1175 +#: ../../library/codecs.rst:1220 msgid "iso8859_10" -msgstr "" +msgstr "iso8859_10" -#: ../../library/codecs.rst:1175 +#: ../../library/codecs.rst:1220 msgid "iso-8859-10, latin6, L6" -msgstr "" +msgstr "iso-8859-10, latin6, L6" -#: ../../library/codecs.rst:1175 +#: ../../library/codecs.rst:1220 msgid "Nordic languages" msgstr "" -#: ../../library/codecs.rst:1177 +#: ../../library/codecs.rst:1222 msgid "iso8859_11" -msgstr "" +msgstr "iso8859_11" -#: ../../library/codecs.rst:1177 +#: ../../library/codecs.rst:1222 msgid "iso-8859-11, thai" msgstr "" -#: ../../library/codecs.rst:1177 +#: ../../library/codecs.rst:1222 msgid "Thai languages" msgstr "" -#: ../../library/codecs.rst:1179 +#: ../../library/codecs.rst:1224 msgid "iso8859_13" -msgstr "" +msgstr "iso8859_13" -#: ../../library/codecs.rst:1179 +#: ../../library/codecs.rst:1224 msgid "iso-8859-13, latin7, L7" -msgstr "" +msgstr "iso-8859-13, latin7, L7" -#: ../../library/codecs.rst:1181 +#: ../../library/codecs.rst:1226 msgid "iso8859_14" -msgstr "" +msgstr "iso8859_14" -#: ../../library/codecs.rst:1181 +#: ../../library/codecs.rst:1226 msgid "iso-8859-14, latin8, L8" -msgstr "" +msgstr "iso-8859-14, latin8, L8" -#: ../../library/codecs.rst:1181 +#: ../../library/codecs.rst:1226 msgid "Celtic languages" msgstr "" -#: ../../library/codecs.rst:1183 +#: ../../library/codecs.rst:1228 msgid "iso8859_15" -msgstr "" +msgstr "iso8859_15" -#: ../../library/codecs.rst:1183 +#: ../../library/codecs.rst:1228 msgid "iso-8859-15, latin9, L9" -msgstr "" +msgstr "iso-8859-15, latin9, L9" -#: ../../library/codecs.rst:1185 +#: ../../library/codecs.rst:1230 msgid "iso8859_16" -msgstr "" +msgstr "iso8859_16" -#: ../../library/codecs.rst:1185 +#: ../../library/codecs.rst:1230 msgid "iso-8859-16, latin10, L10" -msgstr "" +msgstr "iso-8859-16, latin10, L10" -#: ../../library/codecs.rst:1185 +#: ../../library/codecs.rst:1230 msgid "South-Eastern Europe" msgstr "" -#: ../../library/codecs.rst:1187 +#: ../../library/codecs.rst:1232 msgid "johab" msgstr "" -#: ../../library/codecs.rst:1187 +#: ../../library/codecs.rst:1232 msgid "cp1361, ms1361" -msgstr "" +msgstr "cp1361, ms1361" -#: ../../library/codecs.rst:1189 +#: ../../library/codecs.rst:1234 msgid "koi8_r" -msgstr "" +msgstr "koi8_r" -#: ../../library/codecs.rst:1191 +#: ../../library/codecs.rst:1236 msgid "koi8_t" -msgstr "" +msgstr "koi8_t" -#: ../../library/codecs.rst:1191 +#: ../../library/codecs.rst:1236 msgid "Tajik" -msgstr "" +msgstr "Tajik" -#: ../../library/codecs.rst:1195 +#: ../../library/codecs.rst:1240 msgid "koi8_u" -msgstr "" +msgstr "koi8_u" -#: ../../library/codecs.rst:1197 +#: ../../library/codecs.rst:1242 msgid "kz1048" -msgstr "" +msgstr "kz1048" -#: ../../library/codecs.rst:1197 +#: ../../library/codecs.rst:1242 msgid "kz_1048, strk1048_2002, rk1048" -msgstr "" +msgstr "kz_1048, strk1048_2002, rk1048" -#: ../../library/codecs.rst:1197 ../../library/codecs.rst:1215 +#: ../../library/codecs.rst:1242 ../../library/codecs.rst:1260 msgid "Kazakh" -msgstr "" +msgstr "Cazaque" -#: ../../library/codecs.rst:1201 +#: ../../library/codecs.rst:1246 msgid "mac_cyrillic" -msgstr "" +msgstr "mac_cyrillic" -#: ../../library/codecs.rst:1201 +#: ../../library/codecs.rst:1246 msgid "maccyrillic" -msgstr "" +msgstr "maccyrillic" -#: ../../library/codecs.rst:1204 +#: ../../library/codecs.rst:1249 msgid "mac_greek" -msgstr "" +msgstr "mac_greek" -#: ../../library/codecs.rst:1204 +#: ../../library/codecs.rst:1249 msgid "macgreek" -msgstr "" +msgstr "macgreek" -#: ../../library/codecs.rst:1206 +#: ../../library/codecs.rst:1251 msgid "mac_iceland" -msgstr "" +msgstr "mac_iceland" -#: ../../library/codecs.rst:1206 +#: ../../library/codecs.rst:1251 msgid "maciceland" -msgstr "" +msgstr "maciceland" -#: ../../library/codecs.rst:1208 +#: ../../library/codecs.rst:1253 msgid "mac_latin2" -msgstr "" +msgstr "mac_latin2" -#: ../../library/codecs.rst:1208 +#: ../../library/codecs.rst:1253 msgid "maclatin2, maccentraleurope, mac_centeuro" -msgstr "" +msgstr "maclatin2, maccentraleurope, mac_centeuro" -#: ../../library/codecs.rst:1211 +#: ../../library/codecs.rst:1256 msgid "mac_roman" -msgstr "" +msgstr "mac_roman" -#: ../../library/codecs.rst:1211 +#: ../../library/codecs.rst:1256 msgid "macroman, macintosh" msgstr "" -#: ../../library/codecs.rst:1213 +#: ../../library/codecs.rst:1258 msgid "mac_turkish" -msgstr "" +msgstr "mac_turkish" -#: ../../library/codecs.rst:1213 +#: ../../library/codecs.rst:1258 msgid "macturkish" -msgstr "" +msgstr "macturkish" -#: ../../library/codecs.rst:1215 +#: ../../library/codecs.rst:1260 msgid "ptcp154" -msgstr "" +msgstr "ptcp154" -#: ../../library/codecs.rst:1215 +#: ../../library/codecs.rst:1260 msgid "csptcp154, pt154, cp154, cyrillic-asian" msgstr "" -#: ../../library/codecs.rst:1218 +#: ../../library/codecs.rst:1263 msgid "shift_jis" -msgstr "" +msgstr "shift_jis" -#: ../../library/codecs.rst:1218 +#: ../../library/codecs.rst:1263 msgid "csshiftjis, shiftjis, sjis, s_jis" msgstr "" -#: ../../library/codecs.rst:1221 +#: ../../library/codecs.rst:1266 msgid "shift_jis_2004" -msgstr "" +msgstr "shift_jis_2004" -#: ../../library/codecs.rst:1221 +#: ../../library/codecs.rst:1266 msgid "shiftjis2004, sjis_2004, sjis2004" -msgstr "" +msgstr "shiftjis2004, sjis_2004, sjis2004" -#: ../../library/codecs.rst:1224 +#: ../../library/codecs.rst:1269 msgid "shift_jisx0213" -msgstr "" +msgstr "shift_jisx0213" -#: ../../library/codecs.rst:1224 +#: ../../library/codecs.rst:1269 msgid "shiftjisx0213, sjisx0213, s_jisx0213" -msgstr "" +msgstr "shiftjisx0213, sjisx0213, s_jisx0213" -#: ../../library/codecs.rst:1227 +#: ../../library/codecs.rst:1272 msgid "utf_32" -msgstr "" +msgstr "utf_32" -#: ../../library/codecs.rst:1227 +#: ../../library/codecs.rst:1272 msgid "U32, utf32" msgstr "U32, utf32" -#: ../../library/codecs.rst:1227 ../../library/codecs.rst:1229 -#: ../../library/codecs.rst:1231 ../../library/codecs.rst:1233 -#: ../../library/codecs.rst:1235 ../../library/codecs.rst:1237 -#: ../../library/codecs.rst:1239 ../../library/codecs.rst:1241 -#: ../../library/codecs.rst:1243 +#: ../../library/codecs.rst:1272 ../../library/codecs.rst:1274 +#: ../../library/codecs.rst:1276 ../../library/codecs.rst:1278 +#: ../../library/codecs.rst:1280 ../../library/codecs.rst:1282 +#: ../../library/codecs.rst:1284 ../../library/codecs.rst:1286 +#: ../../library/codecs.rst:1288 msgid "all languages" msgstr "todas linguagens" -#: ../../library/codecs.rst:1229 +#: ../../library/codecs.rst:1274 msgid "utf_32_be" msgstr "utf_32_be" -#: ../../library/codecs.rst:1229 +#: ../../library/codecs.rst:1274 msgid "UTF-32BE" msgstr "UTF-32BE" -#: ../../library/codecs.rst:1231 +#: ../../library/codecs.rst:1276 msgid "utf_32_le" msgstr "utf_32_le" -#: ../../library/codecs.rst:1231 +#: ../../library/codecs.rst:1276 msgid "UTF-32LE" -msgstr "" +msgstr "UTF-32LE" -#: ../../library/codecs.rst:1233 +#: ../../library/codecs.rst:1278 msgid "utf_16" -msgstr "" +msgstr "utf_16" -#: ../../library/codecs.rst:1233 +#: ../../library/codecs.rst:1278 msgid "U16, utf16" -msgstr "" +msgstr "U16, utf16" -#: ../../library/codecs.rst:1235 +#: ../../library/codecs.rst:1280 msgid "utf_16_be" -msgstr "" +msgstr "utf_16_be" -#: ../../library/codecs.rst:1235 +#: ../../library/codecs.rst:1280 msgid "UTF-16BE" -msgstr "" +msgstr "UTF-16BE" -#: ../../library/codecs.rst:1237 +#: ../../library/codecs.rst:1282 msgid "utf_16_le" -msgstr "" +msgstr "utf_16_le" -#: ../../library/codecs.rst:1237 +#: ../../library/codecs.rst:1282 msgid "UTF-16LE" -msgstr "" +msgstr "UTF-16LE" -#: ../../library/codecs.rst:1239 +#: ../../library/codecs.rst:1284 msgid "utf_7" -msgstr "" +msgstr "utf_7" -#: ../../library/codecs.rst:1239 +#: ../../library/codecs.rst:1284 msgid "U7, unicode-1-1-utf-7" -msgstr "" +msgstr "U7, unicode-1-1-utf-7" -#: ../../library/codecs.rst:1241 +#: ../../library/codecs.rst:1286 msgid "utf_8" -msgstr "" +msgstr "utf_8" -#: ../../library/codecs.rst:1241 +#: ../../library/codecs.rst:1286 msgid "U8, UTF, utf8, cp65001" msgstr "" -#: ../../library/codecs.rst:1243 +#: ../../library/codecs.rst:1288 msgid "utf_8_sig" -msgstr "" +msgstr "utf_8_sig" -#: ../../library/codecs.rst:1246 +#: ../../library/codecs.rst:1291 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:1252 +#: ../../library/codecs.rst:1297 msgid "``cp65001`` is now an alias to ``utf_8``." msgstr "" -#: ../../library/codecs.rst:1257 +#: ../../library/codecs.rst:1302 msgid "Python Specific Encodings" msgstr "" -#: ../../library/codecs.rst:1259 +#: ../../library/codecs.rst:1304 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 " @@ -2272,272 +2307,272 @@ msgid "" "asymmetric codecs, the stated meaning describes the encoding direction." msgstr "" -#: ../../library/codecs.rst:1267 +#: ../../library/codecs.rst:1312 msgid "Text Encodings" msgstr "" -#: ../../library/codecs.rst:1269 +#: ../../library/codecs.rst:1314 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." msgstr "" -#: ../../library/codecs.rst:1278 +#: ../../library/codecs.rst:1323 msgid "idna" -msgstr "" +msgstr "idna" -#: ../../library/codecs.rst:1278 +#: ../../library/codecs.rst:1323 msgid "" "Implement :rfc:`3490`, see also :mod:`encodings.idna`. Only " "``errors='strict'`` is supported." msgstr "" -#: ../../library/codecs.rst:1284 +#: ../../library/codecs.rst:1329 msgid "mbcs" -msgstr "" +msgstr "mbcs" -#: ../../library/codecs.rst:1284 +#: ../../library/codecs.rst:1329 msgid "ansi, dbcs" -msgstr "" +msgstr "ansi, dbcs" -#: ../../library/codecs.rst:1284 +#: ../../library/codecs.rst:1329 msgid "" "Windows only: Encode the operand according to the ANSI codepage (CP_ACP)." msgstr "" -#: ../../library/codecs.rst:1288 +#: ../../library/codecs.rst:1333 msgid "oem" -msgstr "" +msgstr "oem" -#: ../../library/codecs.rst:1288 +#: ../../library/codecs.rst:1333 msgid "" "Windows only: Encode the operand according to the OEM codepage (CP_OEMCP)." msgstr "" -#: ../../library/codecs.rst:1294 +#: ../../library/codecs.rst:1339 msgid "palmos" msgstr "" -#: ../../library/codecs.rst:1294 +#: ../../library/codecs.rst:1339 msgid "Encoding of PalmOS 3.5." msgstr "" -#: ../../library/codecs.rst:1296 +#: ../../library/codecs.rst:1341 msgid "punycode" -msgstr "" +msgstr "punycode" -#: ../../library/codecs.rst:1296 +#: ../../library/codecs.rst:1341 msgid "Implement :rfc:`3492`. Stateful codecs are not supported." msgstr "" -#: ../../library/codecs.rst:1300 +#: ../../library/codecs.rst:1345 msgid "raw_unicode_escape" -msgstr "" +msgstr "raw_unicode_escape" -#: ../../library/codecs.rst:1300 +#: ../../library/codecs.rst:1345 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." msgstr "" -#: ../../library/codecs.rst:1309 +#: ../../library/codecs.rst:1354 msgid "undefined" msgstr "" -#: ../../library/codecs.rst:1309 +#: ../../library/codecs.rst:1354 msgid "" "Raise an exception for all conversions, even empty strings. The error " "handler is ignored." msgstr "" -#: ../../library/codecs.rst:1314 +#: ../../library/codecs.rst:1359 msgid "unicode_escape" -msgstr "" +msgstr "unicode_escape" -#: ../../library/codecs.rst:1314 +#: ../../library/codecs.rst:1359 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:1326 +#: ../../library/codecs.rst:1371 msgid "\"unicode_internal\" codec is removed." msgstr "" -#: ../../library/codecs.rst:1333 +#: ../../library/codecs.rst:1378 msgid "Binary Transforms" msgstr "" -#: ../../library/codecs.rst:1335 +#: ../../library/codecs.rst:1380 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:1343 +#: ../../library/codecs.rst:1388 msgid "Encoder / decoder" msgstr "" -#: ../../library/codecs.rst:1345 +#: ../../library/codecs.rst:1390 msgid "base64_codec [#b64]_" -msgstr "" +msgstr "base64_codec [#b64]_" -#: ../../library/codecs.rst:1345 +#: ../../library/codecs.rst:1390 msgid "base64, base_64" -msgstr "" +msgstr "base64, base_64" -#: ../../library/codecs.rst:1345 +#: ../../library/codecs.rst:1390 msgid "" "Convert the operand to multiline MIME base64 (the result always includes a " "trailing ``'\\n'``)." msgstr "" -#: ../../library/codecs.rst:1350 +#: ../../library/codecs.rst:1395 msgid "" "accepts any :term:`bytes-like object` as input for encoding and decoding" msgstr "" -#: ../../library/codecs.rst:1345 +#: ../../library/codecs.rst:1390 msgid ":meth:`base64.encodebytes` / :meth:`base64.decodebytes`" msgstr ":meth:`base64.encodebytes` / :meth:`base64.decodebytes`" -#: ../../library/codecs.rst:1356 +#: ../../library/codecs.rst:1401 msgid "bz2_codec" -msgstr "" +msgstr "bz2_codec" -#: ../../library/codecs.rst:1356 +#: ../../library/codecs.rst:1401 msgid "bz2" -msgstr "" +msgstr "bz2" -#: ../../library/codecs.rst:1356 +#: ../../library/codecs.rst:1401 msgid "Compress the operand using bz2." msgstr "" -#: ../../library/codecs.rst:1356 +#: ../../library/codecs.rst:1401 msgid ":meth:`bz2.compress` / :meth:`bz2.decompress`" msgstr ":meth:`bz2.compress` / :meth:`bz2.decompress`" -#: ../../library/codecs.rst:1359 +#: ../../library/codecs.rst:1404 msgid "hex_codec" -msgstr "" +msgstr "hex_codec" -#: ../../library/codecs.rst:1359 +#: ../../library/codecs.rst:1404 msgid "hex" -msgstr "" +msgstr "hex" -#: ../../library/codecs.rst:1359 +#: ../../library/codecs.rst:1404 msgid "" "Convert the operand to hexadecimal representation, with two digits per byte." msgstr "" -#: ../../library/codecs.rst:1359 +#: ../../library/codecs.rst:1404 msgid ":meth:`binascii.b2a_hex` / :meth:`binascii.a2b_hex`" msgstr ":meth:`binascii.b2a_hex` / :meth:`binascii.a2b_hex`" -#: ../../library/codecs.rst:1364 +#: ../../library/codecs.rst:1409 msgid "quopri_codec" -msgstr "" +msgstr "quopri_codec" -#: ../../library/codecs.rst:1364 +#: ../../library/codecs.rst:1409 msgid "quopri, quotedprintable, quoted_printable" msgstr "" -#: ../../library/codecs.rst:1364 +#: ../../library/codecs.rst:1409 msgid "Convert the operand to MIME quoted printable." msgstr "" -#: ../../library/codecs.rst:1364 +#: ../../library/codecs.rst:1409 msgid ":meth:`quopri.encode` with ``quotetabs=True`` / :meth:`quopri.decode`" msgstr ":meth:`quopri.encode` with ``quotetabs=True`` / :meth:`quopri.decode`" -#: ../../library/codecs.rst:1368 +#: ../../library/codecs.rst:1413 msgid "uu_codec" -msgstr "" +msgstr "uu_codec" -#: ../../library/codecs.rst:1368 +#: ../../library/codecs.rst:1413 msgid "uu" -msgstr "" +msgstr "uu" -#: ../../library/codecs.rst:1368 +#: ../../library/codecs.rst:1413 msgid "Convert the operand using uuencode." msgstr "" -#: ../../library/codecs.rst:1368 +#: ../../library/codecs.rst:1413 msgid ":meth:`uu.encode` / :meth:`uu.decode`" msgstr ":meth:`uu.encode` / :meth:`uu.decode`" -#: ../../library/codecs.rst:1371 +#: ../../library/codecs.rst:1416 msgid "zlib_codec" -msgstr "" +msgstr "zlib_codec" -#: ../../library/codecs.rst:1371 +#: ../../library/codecs.rst:1416 msgid "zip, zlib" msgstr "" -#: ../../library/codecs.rst:1371 +#: ../../library/codecs.rst:1416 msgid "Compress the operand using gzip." msgstr "" -#: ../../library/codecs.rst:1371 +#: ../../library/codecs.rst:1416 msgid ":meth:`zlib.compress` / :meth:`zlib.decompress`" msgstr ":meth:`zlib.compress` / :meth:`zlib.decompress`" -#: ../../library/codecs.rst:1375 +#: ../../library/codecs.rst:1420 msgid "" "In addition to :term:`bytes-like objects `, " "``'base64_codec'`` also accepts ASCII-only instances of :class:`str` for " "decoding" msgstr "" -#: ../../library/codecs.rst:1379 +#: ../../library/codecs.rst:1424 msgid "Restoration of the binary transforms." msgstr "" -#: ../../library/codecs.rst:1382 +#: ../../library/codecs.rst:1427 msgid "Restoration of the aliases for the binary transforms." msgstr "" -#: ../../library/codecs.rst:1389 +#: ../../library/codecs.rst:1434 msgid "Text Transforms" msgstr "" -#: ../../library/codecs.rst:1391 +#: ../../library/codecs.rst:1436 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)." msgstr "" -#: ../../library/codecs.rst:1400 +#: ../../library/codecs.rst:1445 msgid "rot_13" -msgstr "" +msgstr "rot_13" -#: ../../library/codecs.rst:1400 +#: ../../library/codecs.rst:1445 msgid "rot13" -msgstr "" +msgstr "rot13" -#: ../../library/codecs.rst:1400 +#: ../../library/codecs.rst:1445 msgid "Return the Caesar-cypher encryption of the operand." msgstr "" -#: ../../library/codecs.rst:1405 +#: ../../library/codecs.rst:1450 msgid "Restoration of the ``rot_13`` text transform." msgstr "" -#: ../../library/codecs.rst:1408 +#: ../../library/codecs.rst:1453 msgid "Restoration of the ``rot13`` alias." msgstr "" -#: ../../library/codecs.rst:1413 +#: ../../library/codecs.rst:1458 msgid "" ":mod:`encodings.idna` --- Internationalized Domain Names in Applications" msgstr "" -#: ../../library/codecs.rst:1419 +#: ../../library/codecs.rst:1464 msgid "" "This module implements :rfc:`3490` (Internationalized Domain Names in " "Applications) and :rfc:`3492` (Nameprep: A Stringprep Profile for " @@ -2545,13 +2580,13 @@ msgid "" "encoding and :mod:`stringprep`." msgstr "" -#: ../../library/codecs.rst:1424 +#: ../../library/codecs.rst:1469 msgid "" "If you need the IDNA 2008 standard from :rfc:`5891` and :rfc:`5895`, use the " -"third-party `idna module _`." +"third-party `idna module `_." msgstr "" -#: ../../library/codecs.rst:1427 +#: ../../library/codecs.rst:1472 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." @@ -2565,7 +2600,7 @@ msgid "" "presenting them to the user." msgstr "" -#: ../../library/codecs.rst:1438 +#: ../../library/codecs.rst:1483 msgid "" "Python supports this conversion in several ways: the ``idna`` codec " "performs conversion between Unicode and ACE, separating an input string into " @@ -2582,14 +2617,14 @@ msgid "" "sends that field at all)." msgstr "" -#: ../../library/codecs.rst:1451 +#: ../../library/codecs.rst:1496 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:1455 +#: ../../library/codecs.rst:1500 msgid "" "The module :mod:`encodings.idna` also implements the nameprep procedure, " "which performs certain normalizations on host names, to achieve case-" @@ -2597,49 +2632,49 @@ msgid "" "characters. The nameprep functions can be used directly if desired." msgstr "" -#: ../../library/codecs.rst:1463 +#: ../../library/codecs.rst:1508 msgid "" "Return the nameprepped version of *label*. The implementation currently " "assumes query strings, so ``AllowUnassigned`` is true." msgstr "" -#: ../../library/codecs.rst:1469 +#: ../../library/codecs.rst:1514 msgid "" "Convert a label to ASCII, as specified in :rfc:`3490`. ``UseSTD3ASCIIRules`` " "is assumed to be false." msgstr "" -#: ../../library/codecs.rst:1475 +#: ../../library/codecs.rst:1520 msgid "Convert a label to Unicode, as specified in :rfc:`3490`." msgstr "" -#: ../../library/codecs.rst:1479 +#: ../../library/codecs.rst:1524 msgid ":mod:`encodings.mbcs` --- Windows ANSI codepage" msgstr "" -#: ../../library/codecs.rst:1484 +#: ../../library/codecs.rst:1529 msgid "This module implements the ANSI codepage (CP_ACP)." msgstr "" -#: ../../library/codecs.rst:1487 +#: ../../library/codecs.rst:1532 msgid ":ref:`Availability `: Windows only." msgstr "" -#: ../../library/codecs.rst:1488 +#: ../../library/codecs.rst:1533 msgid "Support any error handler." msgstr "" -#: ../../library/codecs.rst:1491 +#: ../../library/codecs.rst:1536 msgid "" "Before 3.2, the *errors* argument was ignored; ``'replace'`` was always used " "to encode, and ``'ignore'`` to decode." msgstr "" -#: ../../library/codecs.rst:1497 +#: ../../library/codecs.rst:1542 msgid ":mod:`encodings.utf_8_sig` --- UTF-8 codec with BOM signature" msgstr "" -#: ../../library/codecs.rst:1503 +#: ../../library/codecs.rst:1548 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 " diff --git a/library/codeop.po b/library/codeop.po index 9de35914c..daa83a8bd 100644 --- a/library/codeop.po +++ b/library/codeop.po @@ -1,27 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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.10\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-06-29 12:56+0000\n" -"PO-Revision-Date: 2021-06-28 00:56+0000\n" -"Last-Translator: i17obot , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:57+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/codeop.rst:2 msgid ":mod:`codeop` --- Compile Python code" @@ -51,7 +51,7 @@ msgstr "Há duas partes para esta tarefa:" #: ../../library/codeop.rst:22 msgid "" -"Being able to tell if a line of input completes a Python statement: in " +"Being able to tell if a line of input completes a Python statement: in " "short, telling whether to print '``>>>``' or '``...``' next." msgstr "" "Ser capaz de dizer se uma linha de entrada completa uma instrução Python: em " @@ -59,7 +59,7 @@ msgstr "" #: ../../library/codeop.rst:25 msgid "" -"Remembering which future statements the user has entered, so subsequent " +"Remembering which future statements the user has entered, so subsequent " "input can be compiled with these in effect." msgstr "" "Lembrar quais instruções futuras o usuário inseriu, para que as entradas " @@ -80,9 +80,9 @@ msgstr "Para fazer apenas a primeira:" #: ../../library/codeop.rst:35 msgid "" "Tries to compile *source*, which should be a string of Python code and " -"return a code object if *source* is valid Python code. In that case, the " +"return a code object if *source* is valid Python code. In that case, the " "filename attribute of the code object will be *filename*, which defaults to " -"``''``. Returns ``None`` if *source* is *not* valid Python code, but " +"``''``. Returns ``None`` if *source* is *not* valid Python code, but " "is a prefix of valid Python code." msgstr "" "Tenta compilar *source*, que deve ser uma string de código Python e retornar " @@ -104,14 +104,15 @@ msgstr "" #: ../../library/codeop.rst:45 msgid "" "The *symbol* argument determines whether *source* is compiled as a statement " -"(``'single'``, the default), as a sequence of statements (``'exec'``) or as " -"an :term:`expression` (``'eval'``). Any other value will cause :exc:" -"`ValueError` to be raised." +"(``'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." msgstr "" "O argumento *symbol* determina se *source* é compilado como uma instrução " -"(``'single'``, o padrão), como uma sequência de instruções (``'exec'``) ou " -"como uma :term:`expressão ` (``'eval'``). Qualquer outro valor " -"fará com que :exc:`ValueError` seja levantada." +"(``'single'``, o padrão), como uma sequência de :term:`instruções " +"` (``'exec'``) ou como uma :term:`expressão ` " +"(``'eval'``). Qualquer outro valor fará com que :exc:`ValueError` seja " +"levantada." #: ../../library/codeop.rst:52 msgid "" @@ -146,10 +147,7 @@ msgstr "" 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 ``__future__`` statement, the instance 'remembers' " -"and compiles all subsequent program texts with the statement in force." +"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 ``__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 d0fbc7cf7..128549a90 100644 --- a/library/collections.abc.po +++ b/library/collections.abc.po @@ -1,28 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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 -# Vinícius Muniz de Melo , 2021 +# python-doc bot, 2025 # #, 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 00:56+0000\n" -"Last-Translator: Vinícius Muniz de Melo , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:57+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/collections.abc.rst:2 msgid ":mod:`collections.abc` --- Abstract Base Classes for Containers" @@ -40,151 +39,233 @@ 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 hashable or whether it is a mapping." +"for example, whether it is :term:`hashable` or whether it is a mapping." +msgstr "" + +#: ../../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 "" +"1) A newly written class can inherit directly from one of the abstract base " +"classes. The class must supply the required abstract methods. The " +"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 "" +"2) Existing classes and built-in classes can be registered as \"virtual " +"subclasses\" of the ABCs. Those classes should define the full API " +"including all of the abstract methods and all of the mixin methods. This " +"lets users rely on :func:`issubclass` or :func:`isinstance` tests to " +"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__``, " +"``__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__``." +msgstr "" + +#: ../../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 "" -"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 é hashable ou se é um mapeamento." +"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:31 +#: ../../library/collections.abc.rst:99 +msgid "" +"Complex interfaces do not support this last technique because an interface " +"is more than just the presence of method names. Interfaces specify " +"semantics and relationships between methods that cannot be inferred solely " +"from the presence of specific method names. For example, knowing that a " +"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" msgstr "Classes Base Abstratas de Coleções" -#: ../../library/collections.abc.rst:33 +#: ../../library/collections.abc.rst:116 msgid "" "The collections module offers the following :term:`ABCs `:" msgstr "" "O módulo de coleções oferece o seguinte :term:`ABCs `:" -#: ../../library/collections.abc.rst:38 +#: ../../library/collections.abc.rst:121 msgid "ABC" msgstr "ABC" -#: ../../library/collections.abc.rst:38 +#: ../../library/collections.abc.rst:121 msgid "Inherits from" msgstr "Herda de" -#: ../../library/collections.abc.rst:38 +#: ../../library/collections.abc.rst:121 msgid "Abstract Methods" -msgstr "Métodos Abstratos" +msgstr "Métodos abstratos" -#: ../../library/collections.abc.rst:38 +#: ../../library/collections.abc.rst:121 msgid "Mixin Methods" -msgstr "Métodos Mixin" +msgstr "Métodos mixin" -#: ../../library/collections.abc.rst:40 -msgid ":class:`Container`" -msgstr ":class:`Container`" +#: ../../library/collections.abc.rst:123 +msgid ":class:`Container` [1]_" +msgstr ":class:`Container` [1]_" -#: ../../library/collections.abc.rst:40 +#: ../../library/collections.abc.rst:123 msgid "``__contains__``" msgstr "``__contains__``" -#: ../../library/collections.abc.rst:41 -msgid ":class:`Hashable`" -msgstr ":class:`Hashable`" +#: ../../library/collections.abc.rst:124 +msgid ":class:`Hashable` [1]_" +msgstr ":class:`Hashable` [1]_" -#: ../../library/collections.abc.rst:41 +#: ../../library/collections.abc.rst:124 msgid "``__hash__``" msgstr "``__hash__``" -#: ../../library/collections.abc.rst:42 ../../library/collections.abc.rst:43 -#: ../../library/collections.abc.rst:44 -msgid ":class:`Iterable`" -msgstr ":class:`Iterable`" +#: ../../library/collections.abc.rst:125 +msgid ":class:`Iterable` [1]_ [2]_" +msgstr ":class:`Iterable` [1]_ [2]_" -#: ../../library/collections.abc.rst:42 ../../library/collections.abc.rst:43 +#: ../../library/collections.abc.rst:125 ../../library/collections.abc.rst:126 msgid "``__iter__``" msgstr "``__iter__``" -#: ../../library/collections.abc.rst:43 ../../library/collections.abc.rst:45 -msgid ":class:`Iterator`" -msgstr ":class:`Iterator`" +#: ../../library/collections.abc.rst:126 +msgid ":class:`Iterator` [1]_" +msgstr ":class:`Iterator` [1]_" + +#: ../../library/collections.abc.rst:126 ../../library/collections.abc.rst:127 +msgid ":class:`Iterable`" +msgstr ":class:`Iterable`" -#: ../../library/collections.abc.rst:43 +#: ../../library/collections.abc.rst:126 msgid "``__next__``" msgstr "``__next__``" -#: ../../library/collections.abc.rst:44 -msgid ":class:`Reversible`" -msgstr ":class:`Reversible`" +#: ../../library/collections.abc.rst:127 +msgid ":class:`Reversible` [1]_" +msgstr ":class:`Reversible` [1]_" -#: ../../library/collections.abc.rst:44 +#: ../../library/collections.abc.rst:127 msgid "``__reversed__``" msgstr "``__reversed__``" -#: ../../library/collections.abc.rst:45 -msgid ":class:`Generator`" -msgstr ":class:`Generator`" +#: ../../library/collections.abc.rst:128 +msgid ":class:`Generator` [1]_" +msgstr ":class:`Generator` [1]_" -#: ../../library/collections.abc.rst:45 ../../library/collections.abc.rst:93 +#: ../../library/collections.abc.rst:128 +msgid ":class:`Iterator`" +msgstr ":class:`Iterator`" + +#: ../../library/collections.abc.rst:128 ../../library/collections.abc.rst:176 msgid "``send``, ``throw``" msgstr "``send``, ``throw``" -#: ../../library/collections.abc.rst:45 +#: ../../library/collections.abc.rst:128 msgid "``close``, ``__iter__``, ``__next__``" msgstr "``close``, ``__iter__``, ``__next__``" -#: ../../library/collections.abc.rst:46 ../../library/collections.abc.rst:85 -msgid ":class:`Sized`" -msgstr ":class:`Sized`" +#: ../../library/collections.abc.rst:129 +msgid ":class:`Sized` [1]_" +msgstr ":class:`Sized` [1]_" -#: ../../library/collections.abc.rst:46 ../../library/collections.abc.rst:85 +#: ../../library/collections.abc.rst:129 ../../library/collections.abc.rst:168 msgid "``__len__``" msgstr "``__len__``" -#: ../../library/collections.abc.rst:47 -msgid ":class:`Callable`" -msgstr ":class:`Callable`" +#: ../../library/collections.abc.rst:130 +msgid ":class:`Callable` [1]_" +msgstr ":class:`Callable` [1]_" -#: ../../library/collections.abc.rst:47 +#: ../../library/collections.abc.rst:130 msgid "``__call__``" msgstr "``__call__``" -#: ../../library/collections.abc.rst:48 ../../library/collections.abc.rst:64 -#: ../../library/collections.abc.rst:74 -msgid ":class:`Collection`" -msgstr ":class:`Collection`" +#: ../../library/collections.abc.rst:131 +msgid ":class:`Collection` [1]_" +msgstr ":class:`Collection` [1]_" -#: ../../library/collections.abc.rst:48 +#: ../../library/collections.abc.rst:131 msgid ":class:`Sized`, :class:`Iterable`, :class:`Container`" msgstr ":class:`Sized`, :class:`Iterable`, :class:`Container`" -#: ../../library/collections.abc.rst:48 ../../library/collections.abc.rst:64 +#: ../../library/collections.abc.rst:131 ../../library/collections.abc.rst:147 msgid "``__contains__``, ``__iter__``, ``__len__``" msgstr "``__contains__``, ``__iter__``, ``__len__``" -#: ../../library/collections.abc.rst:52 ../../library/collections.abc.rst:55 -#: ../../library/collections.abc.rst:61 +#: ../../library/collections.abc.rst:135 ../../library/collections.abc.rst:138 +#: ../../library/collections.abc.rst:144 msgid ":class:`Sequence`" msgstr ":class:`Sequence`" -#: ../../library/collections.abc.rst:52 +#: ../../library/collections.abc.rst:135 msgid ":class:`Reversible`, :class:`Collection`" msgstr ":class:`Reversible`, :class:`Collection`" -#: ../../library/collections.abc.rst:52 ../../library/collections.abc.rst:61 +#: ../../library/collections.abc.rst:135 ../../library/collections.abc.rst:144 msgid "``__getitem__``, ``__len__``" msgstr "``__getitem__``, ``__len__``" -#: ../../library/collections.abc.rst:52 +#: ../../library/collections.abc.rst:135 msgid "" "``__contains__``, ``__iter__``, ``__reversed__``, ``index``, and ``count``" msgstr "" "``__contains__``, ``__iter__``, ``__reversed__``, ``index``, and ``count``" -#: ../../library/collections.abc.rst:55 +#: ../../library/collections.abc.rst:138 msgid ":class:`MutableSequence`" msgstr ":class:`MutableSequence`" -#: ../../library/collections.abc.rst:55 +#: ../../library/collections.abc.rst:138 msgid "" "``__getitem__``, ``__setitem__``, ``__delitem__``, ``__len__``, ``insert``" msgstr "" "``__getitem__``, ``__setitem__``, ``__delitem__``, ``__len__``, ``insert``" -#: ../../library/collections.abc.rst:55 +#: ../../library/collections.abc.rst:138 msgid "" "Inherited :class:`Sequence` methods and ``append``, ``reverse``, ``extend``, " "``pop``, ``remove``, and ``__iadd__``" @@ -192,19 +273,23 @@ msgstr "" "Herdado os métodos da :class:`Sequence` e ``append``, ``reverse``, " "``extend``, ``pop``, ``remove``, e ``__iadd__``" -#: ../../library/collections.abc.rst:61 +#: ../../library/collections.abc.rst:144 msgid ":class:`ByteString`" msgstr ":class:`ByteString`" -#: ../../library/collections.abc.rst:61 +#: ../../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:64 ../../library/collections.abc.rst:68 +#: ../../library/collections.abc.rst:147 ../../library/collections.abc.rst:151 msgid ":class:`Set`" msgstr ":class:`Set`" -#: ../../library/collections.abc.rst:64 +#: ../../library/collections.abc.rst:147 ../../library/collections.abc.rst:157 +msgid ":class:`Collection`" +msgstr ":class:`Collection`" + +#: ../../library/collections.abc.rst:147 msgid "" "``__le__``, ``__lt__``, ``__eq__``, ``__ne__``, ``__gt__``, ``__ge__``, " "``__and__``, ``__or__``, ``__sub__``, ``__xor__``, and ``isdisjoint``" @@ -212,15 +297,15 @@ msgstr "" "``__le__``, ``__lt__``, ``__eq__``, ``__ne__``, ``__gt__``, ``__ge__``, " "``__and__``, ``__or__``, ``__sub__``, ``__xor__``, e ``isdisjoint``" -#: ../../library/collections.abc.rst:68 +#: ../../library/collections.abc.rst:151 msgid ":class:`MutableSet`" msgstr ":class:`MutableSet`" -#: ../../library/collections.abc.rst:68 +#: ../../library/collections.abc.rst:151 msgid "``__contains__``, ``__iter__``, ``__len__``, ``add``, ``discard``" msgstr "``__contains__``, ``__iter__``, ``__len__``, ``add``, ``discard``" -#: ../../library/collections.abc.rst:68 +#: ../../library/collections.abc.rst:151 msgid "" "Inherited :class:`Set` methods and ``clear``, ``pop``, ``remove``, " "``__ior__``, ``__iand__``, ``__ixor__``, and ``__isub__``" @@ -228,15 +313,15 @@ msgstr "" "Herdado :class:`Set` métodos e ``clear``, ``pop``, ``remove``, ``__ior__``, " "``__iand__``, ``__ixor__``, e ``__isub__``" -#: ../../library/collections.abc.rst:74 ../../library/collections.abc.rst:78 +#: ../../library/collections.abc.rst:157 ../../library/collections.abc.rst:161 msgid ":class:`Mapping`" msgstr ":class:`Mapping`" -#: ../../library/collections.abc.rst:74 +#: ../../library/collections.abc.rst:157 msgid "``__getitem__``, ``__iter__``, ``__len__``" msgstr "``__getitem__``, ``__iter__``, ``__len__``" -#: ../../library/collections.abc.rst:74 +#: ../../library/collections.abc.rst:157 msgid "" "``__contains__``, ``keys``, ``items``, ``values``, ``get``, ``__eq__``, and " "``__ne__``" @@ -244,17 +329,17 @@ msgstr "" "``__contains__``, ``keys``, ``items``, ``values``, ``get``, ``__eq__``, e " "``__ne__``" -#: ../../library/collections.abc.rst:78 +#: ../../library/collections.abc.rst:161 msgid ":class:`MutableMapping`" msgstr ":class:`MutableMapping`" -#: ../../library/collections.abc.rst:78 +#: ../../library/collections.abc.rst:161 msgid "" "``__getitem__``, ``__setitem__``, ``__delitem__``, ``__iter__``, ``__len__``" msgstr "" "``__getitem__``, ``__setitem__``, ``__delitem__``, ``__iter__``, ``__len__``" -#: ../../library/collections.abc.rst:78 +#: ../../library/collections.abc.rst:161 msgid "" "Inherited :class:`Mapping` methods and ``pop``, ``popitem``, ``clear``, " "``update``, and ``setdefault``" @@ -262,100 +347,141 @@ msgstr "" "Herdado :class:`Mapping` métodos e ``pop``, ``popitem``, ``clear``, " "``update``, e ``setdefault``" -#: ../../library/collections.abc.rst:85 +#: ../../library/collections.abc.rst:168 msgid ":class:`MappingView`" msgstr ":class:`MappingView`" -#: ../../library/collections.abc.rst:86 +#: ../../library/collections.abc.rst:168 +msgid ":class:`Sized`" +msgstr ":class:`Sized`" + +#: ../../library/collections.abc.rst:169 msgid ":class:`ItemsView`" msgstr ":class:`ItemsView`" -#: ../../library/collections.abc.rst:86 ../../library/collections.abc.rst:88 +#: ../../library/collections.abc.rst:169 ../../library/collections.abc.rst:171 msgid ":class:`MappingView`, :class:`Set`" msgstr ":class:`MappingView`, :class:`Set`" -#: ../../library/collections.abc.rst:86 ../../library/collections.abc.rst:88 -#: ../../library/collections.abc.rst:90 +#: ../../library/collections.abc.rst:169 ../../library/collections.abc.rst:171 +#: ../../library/collections.abc.rst:173 msgid "``__contains__``, ``__iter__``" msgstr "``__contains__``, ``__iter__``" -#: ../../library/collections.abc.rst:88 +#: ../../library/collections.abc.rst:171 msgid ":class:`KeysView`" msgstr ":class:`KeysView`" -#: ../../library/collections.abc.rst:90 +#: ../../library/collections.abc.rst:173 msgid ":class:`ValuesView`" msgstr ":class:`ValuesView`" -#: ../../library/collections.abc.rst:90 +#: ../../library/collections.abc.rst:173 msgid ":class:`MappingView`, :class:`Collection`" msgstr ":class:`MappingView`, :class:`Collection`" -#: ../../library/collections.abc.rst:92 ../../library/collections.abc.rst:93 -msgid ":class:`Awaitable`" -msgstr ":class:`Awaitable`" +#: ../../library/collections.abc.rst:175 +msgid ":class:`Awaitable` [1]_" +msgstr ":class:`Awaitable` [1]_" -#: ../../library/collections.abc.rst:92 +#: ../../library/collections.abc.rst:175 msgid "``__await__``" msgstr "``__await__``" -#: ../../library/collections.abc.rst:93 -msgid ":class:`Coroutine`" -msgstr ":class:`Coroutine`" +#: ../../library/collections.abc.rst:176 +msgid ":class:`Coroutine` [1]_" +msgstr ":class:`Coroutine` [1]_" -#: ../../library/collections.abc.rst:93 +#: ../../library/collections.abc.rst:176 +msgid ":class:`Awaitable`" +msgstr ":class:`Awaitable`" + +#: ../../library/collections.abc.rst:176 msgid "``close``" msgstr "``close``" -#: ../../library/collections.abc.rst:94 ../../library/collections.abc.rst:95 -msgid ":class:`AsyncIterable`" -msgstr ":class:`AsyncIterable`" +#: ../../library/collections.abc.rst:177 +msgid ":class:`AsyncIterable` [1]_" +msgstr ":class:`AsyncIterable` [1]_" -#: ../../library/collections.abc.rst:94 ../../library/collections.abc.rst:95 +#: ../../library/collections.abc.rst:177 ../../library/collections.abc.rst:178 msgid "``__aiter__``" msgstr "``__aiter__``" -#: ../../library/collections.abc.rst:95 ../../library/collections.abc.rst:96 -msgid ":class:`AsyncIterator`" -msgstr ":class:`AsyncIterator`" +#: ../../library/collections.abc.rst:178 +msgid ":class:`AsyncIterator` [1]_" +msgstr ":class:`AsyncIterator` [1]_" + +#: ../../library/collections.abc.rst:178 +msgid ":class:`AsyncIterable`" +msgstr ":class:`AsyncIterable`" -#: ../../library/collections.abc.rst:95 +#: ../../library/collections.abc.rst:178 msgid "``__anext__``" msgstr "``__anext__``" -#: ../../library/collections.abc.rst:96 -msgid ":class:`AsyncGenerator`" -msgstr ":class:`AsyncGenerator`" +#: ../../library/collections.abc.rst:179 +msgid ":class:`AsyncGenerator` [1]_" +msgstr ":class:`AsyncGenerator` [1]_" -#: ../../library/collections.abc.rst:96 +#: ../../library/collections.abc.rst:179 +msgid ":class:`AsyncIterator`" +msgstr ":class:`AsyncIterator`" + +#: ../../library/collections.abc.rst:179 msgid "``asend``, ``athrow``" msgstr "``asend``, ``athrow``" -#: ../../library/collections.abc.rst:96 +#: ../../library/collections.abc.rst:179 msgid "``aclose``, ``__aiter__``, ``__anext__``" msgstr "``aclose``, ``__aiter__``, ``__anext__``" -#: ../../library/collections.abc.rst:102 +#: ../../library/collections.abc.rst:184 +msgid "Footnotes" +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 " +"set to :const:`None`. This only works for simple interfaces. More complex " +"interfaces require registration or direct subclassing." +msgstr "" + +#: ../../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)``." +msgstr "" + +#: ../../library/collections.abc.rst:199 +msgid "Collections Abstract Base Classes -- Detailed Descriptions" +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__`." -#: ../../library/collections.abc.rst:106 +#: ../../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__`." -#: ../../library/collections.abc.rst:110 +#: ../../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__`." -#: ../../library/collections.abc.rst:114 +#: ../../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__`." -#: ../../library/collections.abc.rst:118 +#: ../../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__`." -#: ../../library/collections.abc.rst:120 +#: ../../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 " @@ -369,11 +495,11 @@ msgstr "" "`__getitem__`. A única maneira confiável de determinar se um objeto é :term:" "`iterável` é chamar ``iter(obj)``." -#: ../../library/collections.abc.rst:128 +#: ../../library/collections.abc.rst:230 msgid "ABC for sized iterable container classes." msgstr "ABC para classes de contêiner iterável de tamanho." -#: ../../library/collections.abc.rst:134 +#: ../../library/collections.abc.rst:236 msgid "" "ABC for classes that provide the :meth:`~iterator.__iter__` and :meth:" "`~iterator.__next__` methods. See also the definition of :term:`iterator`." @@ -382,13 +508,13 @@ msgstr "" "métodos :meth:`~iterator.__next__`. Veja também a definição de :term:" "`iterator`." -#: ../../library/collections.abc.rst:140 +#: ../../library/collections.abc.rst:242 msgid "" "ABC for iterable classes that also provide the :meth:`__reversed__` method." msgstr "" "ABC para classes iteráveis que também fornecem o método :meth:`__reversed__`." -#: ../../library/collections.abc.rst:147 +#: ../../library/collections.abc.rst:249 msgid "" "ABC for generator classes that implement the protocol defined in :pep:`342` " "that extends iterators with the :meth:`~generator.send`, :meth:`~generator." @@ -400,11 +526,11 @@ msgstr "" "meth:`~generator.throw` e :meth:`~generator.close`. Veja também a definição " "de :term:`gerador`." -#: ../../library/collections.abc.rst:158 +#: ../../library/collections.abc.rst:260 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:160 +#: ../../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 " @@ -422,27 +548,27 @@ msgstr "" "com uma lista encadeada), os mixins terão desempenho quadrático e " "provavelmente precisará ser substituído." -#: ../../library/collections.abc.rst:169 +#: ../../library/collections.abc.rst:271 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:176 +#: ../../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:181 +#: ../../library/collections.abc.rst:283 msgid "ABCs for read-only and mutable :term:`mappings `." msgstr "ABCs para somente leitura e mutável :term:`mappings `." -#: ../../library/collections.abc.rst:188 +#: ../../library/collections.abc.rst:290 msgid "" "ABCs for mapping, items, keys, and values :term:`views `." msgstr "" "ABCs para mapeamento, itens, chaves e valores :term:`views `." -#: ../../library/collections.abc.rst:192 +#: ../../library/collections.abc.rst:294 msgid "" "ABC for :term:`awaitable` objects, which can be used in :keyword:`await` " "expressions. Custom implementations must provide the :meth:`__await__` " @@ -452,7 +578,7 @@ msgstr "" "expressões de :keyword:`await`. Implementações personalizadas devem fornecer " "o método :meth:`__await__`." -#: ../../library/collections.abc.rst:196 +#: ../../library/collections.abc.rst:298 msgid "" ":term:`Coroutine ` objects and instances of the :class:" "`~collections.abc.Coroutine` ABC are all instances of this ABC." @@ -460,7 +586,7 @@ msgstr "" "Objetos e instâncias de :term:`corrotina ` da ABC :class:" "`~collections.abc.Coroutine` são todas instâncias dessa ABC." -#: ../../library/collections.abc.rst:200 +#: ../../library/collections.abc.rst:302 msgid "" "In CPython, generator-based coroutines (generators decorated with :func:" "`types.coroutine` or :func:`asyncio.coroutine`) are *awaitables*, even " @@ -474,7 +600,7 @@ msgstr "" "para eles retornará ``False``. Use :func:`inspect.isawaitable` para detectá-" "los." -#: ../../library/collections.abc.rst:210 +#: ../../library/collections.abc.rst:312 msgid "" "ABC for coroutine compatible classes. These implement the following " "methods, defined in :ref:`coroutine-objects`: :meth:`~coroutine.send`, :meth:" @@ -490,7 +616,7 @@ msgstr "" "instâncias :class:`Coroutine` também são instâncias de :class:`Awaitable`. " "Veja também a definição de :term:`corrotina`." -#: ../../library/collections.abc.rst:218 +#: ../../library/collections.abc.rst:320 msgid "" "In CPython, generator-based coroutines (generators decorated with :func:" "`types.coroutine` or :func:`asyncio.coroutine`) are *awaitables*, even " @@ -504,7 +630,7 @@ msgstr "" "para eles retornará ``False``. Use :func:`inspect.isawaitable` para detectá-" "los." -#: ../../library/collections.abc.rst:228 +#: ../../library/collections.abc.rst:330 msgid "" "ABC for classes that provide ``__aiter__`` method. See also the definition " "of :term:`asynchronous iterable`." @@ -512,7 +638,7 @@ msgstr "" "ABC para classes que fornecem o método ``__aiter__``. Veja também a " "definição de :term:`iterável assíncrono`." -#: ../../library/collections.abc.rst:235 +#: ../../library/collections.abc.rst:337 msgid "" "ABC for classes that provide ``__aiter__`` and ``__anext__`` methods. See " "also the definition of :term:`asynchronous iterator`." @@ -520,7 +646,7 @@ 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:242 +#: ../../library/collections.abc.rst:344 msgid "" "ABC for asynchronous generator classes that implement the protocol defined " "in :pep:`525` and :pep:`492`." @@ -528,15 +654,19 @@ msgstr "" "ABC para classes de gerador assíncrono que implementam o protocolo definido " "em :pep:`525` e :pep:`492`." -#: ../../library/collections.abc.rst:248 +#: ../../library/collections.abc.rst:350 +msgid "Examples and Recipes" +msgstr "Exemplos e receitas" + +#: ../../library/collections.abc.rst:352 msgid "" -"These ABCs allow us to ask classes or instances if they provide particular " +"ABCs allow us to ask classes or instances if they provide particular " "functionality, for example::" msgstr "" -"Esses ABCs nos permitem perguntar a classes ou instâncias se elas fornecem " +"ABCs nos permitem perguntar a classes ou instâncias se elas fornecem " "funcionalidades específicas, por exemplo::" -#: ../../library/collections.abc.rst:255 +#: ../../library/collections.abc.rst:359 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 " @@ -552,11 +682,11 @@ msgstr "" "`__contains__`, :meth:`__iter__`, e :meth:`__len__`. O ABC fornece os " "métodos restantes, como :meth:`__and__` e :meth:`isdisjoint`::" -#: ../../library/collections.abc.rst:284 +#: ../../library/collections.abc.rst:388 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:287 +#: ../../library/collections.abc.rst:391 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 " @@ -579,7 +709,7 @@ msgstr "" "regular que possa construir novas instâncias a partir de um argumento " "iterável." -#: ../../library/collections.abc.rst:298 +#: ../../library/collections.abc.rst:402 msgid "" "To override the comparisons (presumably for speed, as the semantics are " "fixed), redefine :meth:`__le__` and :meth:`__ge__`, then the other " @@ -589,21 +719,16 @@ msgstr "" "semântica é fixa), redefina :meth:`__le__` e :meth:`__ge__`, então as outras " "operações seguirão o exemplo automaticamente." -#: ../../library/collections.abc.rst:303 +#: ../../library/collections.abc.rst:407 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 hashable or immutable. To add set hashability using mixins, " -"inherit from both :meth:`Set` and :meth:`Hashable`, then define ``__hash__ = " -"Set._hash``." +"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:`__hash__` não pe definido porque " -"nem todos os conjuntos são encadeados ou imutáveis. Para adicionar " -"capacidade de encadeamento em conjuntos usando mixin, herde de ambos :meth:" -"`Set` e :meth:`Hashable`, e então defina ``__hash__ = Set._hash``." -#: ../../library/collections.abc.rst:311 +#: ../../library/collections.abc.rst:415 msgid "" "`OrderedSet recipe `_ for an " "example built on :class:`MutableSet`." @@ -611,7 +736,7 @@ msgstr "" "`OrderedSet receita `_ para um " "exemplo baseado em :class:`MutableSet`." -#: ../../library/collections.abc.rst:314 +#: ../../library/collections.abc.rst:418 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 60c1b89aa..209aa944e 100644 --- a/library/collections.po +++ b/library/collections.po @@ -1,34 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, Python Software 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 -# Porfirio_Prodigy, 2022 -# Hildeberto Abreu Magalhães , 2022 -# Rafael Fontenelle , 2022 +# python-doc bot, 2025 # #, 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 00:56+0000\n" -"Last-Translator: Rafael Fontenelle , 2022\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2026-03-25 18:42+0000\n" +"PO-Revision-Date: 2025-09-22 15:57+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/collections.rst:2 msgid ":mod:`collections` --- Container datatypes" @@ -82,8 +75,8 @@ msgid ":class:`Counter`" msgstr ":class:`Counter`" #: ../../library/collections.rst:28 -msgid "dict subclass for counting hashable objects" -msgstr "subclasse de dict para contar objetos hasheáveis" +msgid "dict subclass for counting :term:`hashable` objects" +msgstr "subclasse de dict para contar objetos :term:`hasheáveis `" #: ../../library/collections.rst:29 msgid ":class:`OrderedDict`" @@ -110,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 @@ -120,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 @@ -130,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" @@ -213,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 "" @@ -325,7 +318,7 @@ msgid "" "A `greatly simplified read-only version of Chainmap `_." msgstr "" -"Uma versão muito simplificada somente leitura do Chainmap `_." #: ../../library/collections.rst:146 @@ -385,18 +378,18 @@ msgstr "" #: ../../library/collections.rst:244 msgid "" -"A :class:`Counter` is a :class:`dict` subclass for counting hashable " +"A :class:`Counter` is a :class:`dict` subclass for counting :term:`hashable` " "objects. It is a collection where elements are stored as dictionary keys and " "their counts are stored as dictionary values. Counts are allowed to be any " "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 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." +"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 "" @@ -425,7 +418,7 @@ msgstr "" #: ../../library/collections.rst:273 msgid "" -"As a :class:`dict` subclass, :class:`Counter` Inherited the capability to " +"As a :class:`dict` subclass, :class:`Counter` inherited the capability to " "remember insertion order. Math operations on *Counter* objects also " "preserve order. Results are ordered according to when an element is first " "encountered in the left operand and then by the order encountered in the " @@ -439,11 +432,11 @@ msgstr "" #: ../../library/collections.rst:279 msgid "" -"Counter objects support three methods beyond those available for all " +"Counter objects support additional methods beyond those available for all " "dictionaries:" msgstr "" -"Objetos Counter permitem três métodos além dos disponíveis para todos os " -"dicionário:" +"Objetos Counter têm suporte a métodos adicionais além daqueles que já estão " +"disponíveis para todos os dicionários:" #: ../../library/collections.rst:284 msgid "" @@ -524,8 +517,8 @@ msgstr "" "b=0)`` retorne verdadeiro." #: ../../library/collections.rst:345 -msgid "Rich comparison operations we were added" -msgstr "Operações de comparação rica foram adicionadas" +msgid "Rich comparison operations were added." +msgstr "Foram adicionadas operações de rica comparação." #: ../../library/collections.rst:348 msgid "" @@ -547,19 +540,20 @@ msgid "" "objects to produce multisets (counters that have counts greater than zero). " "Addition and subtraction combine counters by adding or subtracting the " "counts of corresponding elements. Intersection and union return the minimum " -"and maximum of corresponding counts. Each operation can accept inputs with " -"signed counts, but the output will exclude results with counts of zero or " -"less." +"and maximum of corresponding counts. Equality and inclusion compare " +"corresponding counts. Each operation can accept inputs with signed counts, " +"but the output will exclude results with counts of zero or less." msgstr "" -"Várias operações matemáticas são fornecidas para combinar objetos :class:" -"`Counter` para produzir multiconjuntos (contadores que têm contagens maiores " -"que zero). A adição e a subtração combinam contadores adicionando ou " -"subtraindo as contagens dos elementos correspondentes. A intersecção e a " -"união retornam o mínimo e o máximo das contagens correspondentes. Cada " -"operação pode aceitar entradas com contagens assinadas, mas a saída excluirá " -"resultados com contagens de zero ou menos." +"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:383 +#: ../../library/collections.rst:390 msgid "" "Unary addition and subtraction are shortcuts for adding an empty counter or " "subtracting from an empty counter." @@ -567,14 +561,14 @@ msgstr "" "A adição e subtração unárias são atalhos para adicionar um contador vazio ou " "subtrair de um contador vazio." -#: ../../library/collections.rst:392 +#: ../../library/collections.rst:399 msgid "" "Added support for unary plus, unary minus, and in-place multiset operations." msgstr "" "Adicionado suporte para operador unário mais, unário menos e operações *in-" "place* em multiconjuntos." -#: ../../library/collections.rst:397 +#: ../../library/collections.rst:404 msgid "" "Counters were primarily designed to work with positive integers to represent " "running counts; however, care was taken to not unnecessarily preclude use " @@ -587,7 +581,7 @@ msgstr "" "precisassem de outros tipos ou valores negativos. Para ajudar nesses casos " "de uso, esta seção documenta o intervalo mínimo e as restrições de tipo." -#: ../../library/collections.rst:402 +#: ../../library/collections.rst:409 msgid "" "The :class:`Counter` class itself is a dictionary subclass with no " "restrictions on its keys and values. The values are intended to be numbers " @@ -598,7 +592,7 @@ msgstr "" "representam contagens, mas você *pode* armazenar qualquer coisa no campo de " "valor." -#: ../../library/collections.rst:406 +#: ../../library/collections.rst:413 msgid "" "The :meth:`~Counter.most_common` method requires only that the values be " "orderable." @@ -606,7 +600,7 @@ msgstr "" "O método :meth:`~Counter.most_common` requer apenas que os valores sejam " "ordenáveis." -#: ../../library/collections.rst:408 +#: ../../library/collections.rst:415 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 " @@ -621,7 +615,7 @@ msgstr "" "`~Counter.subtract` que permitem valores negativos e zero para entradas e " "saídas." -#: ../../library/collections.rst:414 +#: ../../library/collections.rst:421 msgid "" "The multiset methods are designed only for use cases with positive values. " "The inputs may be negative or zero, but only outputs with positive values " @@ -633,7 +627,7 @@ msgstr "" "saídas com valores positivos são criadas. Não há restrições de tipo, mas o " "tipo de valor precisa suportar adição, subtração e comparação." -#: ../../library/collections.rst:419 +#: ../../library/collections.rst:426 msgid "" "The :meth:`~Counter.elements` method requires integer counts. It ignores " "zero and negative counts." @@ -641,7 +635,7 @@ msgstr "" "O método :meth:`~Counter.elements` requer contagens de inteiros. Ele ignora " "contagens zero e negativas." -#: ../../library/collections.rst:424 +#: ../../library/collections.rst:431 msgid "" "`Bag class `_ in Smalltalk." @@ -649,14 +643,14 @@ msgstr "" "`Classe Bag `_ do Smalltalk." -#: ../../library/collections.rst:427 +#: ../../library/collections.rst:434 msgid "" "Wikipedia entry for `Multisets `_." msgstr "" "Entrada da Wikipédia para `Multiconjuntos `_." -#: ../../library/collections.rst:429 +#: ../../library/collections.rst:436 msgid "" "`C++ multisets `_ tutorial with examples." @@ -664,7 +658,7 @@ msgstr "" "Tutorial com exemplos de `multiconjuntos no C++ `_." -#: ../../library/collections.rst:432 +#: ../../library/collections.rst:439 msgid "" "For mathematical operations on multisets and their use cases, see *Knuth, " "Donald. The Art of Computer Programming Volume II, Section 4.6.3, Exercise " @@ -674,7 +668,7 @@ msgstr "" "*Knuth, Donald. The Art of Computer Programming Volume II, Seção 4.6.3, " "Exercício 19*." -#: ../../library/collections.rst:436 +#: ../../library/collections.rst:443 msgid "" "To enumerate all distinct multisets of a given size over a given set of " "elements, see :func:`itertools.combinations_with_replacement`::" @@ -683,11 +677,11 @@ msgstr "" "um determinado conjunto de elementos, consulte :func:`itertools." "combinations_with_replacement`::" -#: ../../library/collections.rst:443 +#: ../../library/collections.rst:450 msgid ":class:`deque` objects" msgstr "Objetos :class:`deque`" -#: ../../library/collections.rst:447 +#: ../../library/collections.rst:454 msgid "" "Returns a new deque object initialized left-to-right (using :meth:`append`) " "with data from *iterable*. If *iterable* is not specified, the new deque is " @@ -697,21 +691,21 @@ msgstr "" "(usando :meth:`append`) com dados do iterável *iterable*. Se *iterable* não " "for especificado, o novo deque estará vazio." -#: ../../library/collections.rst:450 +#: ../../library/collections.rst:457 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." 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 " +"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." -#: ../../library/collections.rst:455 +#: ../../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 " @@ -724,7 +718,7 @@ msgstr "" "``insert(0, v)`` que alteram o tamanho e a posição da representação de dados " "subjacente." -#: ../../library/collections.rst:461 +#: ../../library/collections.rst:468 msgid "" "If *maxlen* is not specified or is ``None``, deques may grow to an arbitrary " "length. Otherwise, the deque is bounded to the specified maximum length. " @@ -743,38 +737,38 @@ msgstr "" "para rastrear transações e outras pools de dados onde apenas a atividade " "mais recente é de interesse." -#: ../../library/collections.rst:470 +#: ../../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:474 +#: ../../library/collections.rst:481 msgid "Add *x* to the right side of the deque." msgstr "Adiciona *x* ao lado direito do deque." -#: ../../library/collections.rst:479 +#: ../../library/collections.rst:486 msgid "Add *x* to the left side of the deque." msgstr "Adiciona *x* ao lado esquerdo do deque" -#: ../../library/collections.rst:484 +#: ../../library/collections.rst:491 msgid "Remove all elements from the deque leaving it with length 0." msgstr "Remove todos os elementos do deque deixando-o com comprimento 0." -#: ../../library/collections.rst:489 +#: ../../library/collections.rst:496 msgid "Create a shallow copy of the deque." msgstr "Cria uma cópia rasa do deque." -#: ../../library/collections.rst:496 +#: ../../library/collections.rst:503 msgid "Count the number of deque elements equal to *x*." msgstr "Conta o número de elementos deque igual a *x*." -#: ../../library/collections.rst:503 +#: ../../library/collections.rst:510 msgid "" "Extend the right side of the deque by appending elements from the iterable " "argument." msgstr "" "Estende o lado direito do deque anexando elementos do argumento iterável." -#: ../../library/collections.rst:509 +#: ../../library/collections.rst:516 msgid "" "Extend the left side of the deque by appending elements from *iterable*. " "Note, the series of left appends results in reversing the order of elements " @@ -784,7 +778,7 @@ msgstr "" "que a série de acréscimos à esquerda resulta na reversão da ordem dos " "elementos no argumento iterável." -#: ../../library/collections.rst:516 +#: ../../library/collections.rst:523 msgid "" "Return the position of *x* in the deque (at or after index *start* and " "before index *stop*). Returns the first match or raises :exc:`ValueError` " @@ -794,11 +788,11 @@ msgstr "" "índice *stop*). Retorna a primeira correspondência ou levanta :exc:" "`ValueError` se não for encontrado." -#: ../../library/collections.rst:525 +#: ../../library/collections.rst:532 msgid "Insert *x* into the deque at position *i*." msgstr "Insere *x* no deque na posição *i*." -#: ../../library/collections.rst:527 +#: ../../library/collections.rst:534 msgid "" "If the insertion would cause a bounded deque to grow beyond *maxlen*, an :" "exc:`IndexError` is raised." @@ -806,7 +800,7 @@ msgstr "" "Se a inserção fizer com que um deque limitado cresça além de *maxlen*, uma :" "exc:`IndexError` é levantada." -#: ../../library/collections.rst:535 +#: ../../library/collections.rst:542 msgid "" "Remove and return an element from the right side of the deque. If no " "elements are present, raises an :exc:`IndexError`." @@ -814,7 +808,7 @@ msgstr "" "Remove e devolve um elemento do lado direito do deque. Se nenhum elemento " "estiver presente, levanta um :exc:`IndexError`." -#: ../../library/collections.rst:541 +#: ../../library/collections.rst:548 msgid "" "Remove and return an element from the left side of the deque. If no elements " "are present, raises an :exc:`IndexError`." @@ -822,7 +816,7 @@ msgstr "" "Remove e devolve um elemento do lado esquerdo do deque. Se nenhum elemento " "estiver presente, levanta um :exc:`IndexError`." -#: ../../library/collections.rst:547 +#: ../../library/collections.rst:554 msgid "" "Remove the first occurrence of *value*. If not found, raises a :exc:" "`ValueError`." @@ -830,12 +824,12 @@ msgstr "" "Remove a primeira ocorrência de *value*. Se não for encontrado, levanta um :" "exc:`ValueError`." -#: ../../library/collections.rst:553 +#: ../../library/collections.rst:560 msgid "Reverse the elements of the deque in-place and then return ``None``." msgstr "" "Inverte os elementos do deque no local e, em seguida, retorna ``None``." -#: ../../library/collections.rst:560 +#: ../../library/collections.rst:567 msgid "" "Rotate the deque *n* steps to the right. If *n* is negative, rotate to the " "left." @@ -843,7 +837,7 @@ msgstr "" "Gira o deque *n* passos para a direita. Se *n* for negativo, gire para a " "esquerda." -#: ../../library/collections.rst:563 +#: ../../library/collections.rst:570 msgid "" "When the deque is not empty, rotating one step to the right is equivalent to " "``d.appendleft(d.pop())``, and rotating one step to the left is equivalent " @@ -853,15 +847,15 @@ msgstr "" "``d.appendleft(d.pop())`` e girar um passo para a esquerda é equivalente a " "``d.append(d.popleft())``." -#: ../../library/collections.rst:568 +#: ../../library/collections.rst:575 msgid "Deque objects also provide one read-only attribute:" msgstr "Os objetos Deque também fornecem um atributo somente leitura:" -#: ../../library/collections.rst:572 +#: ../../library/collections.rst:579 msgid "Maximum size of a deque or ``None`` if unbounded." msgstr "Tamanho máximo de um deque ou ``None`` se ilimitado." -#: ../../library/collections.rst:577 +#: ../../library/collections.rst:584 msgid "" "In addition to the above, deques support iteration, pickling, ``len(d)``, " "``reversed(d)``, ``copy.copy(d)``, ``copy.deepcopy(d)``, membership testing " @@ -876,27 +870,27 @@ msgstr "" "as extremidades, mas diminui para O(n) no meio. Para acesso aleatório " "rápido, use listas." -#: ../../library/collections.rst:583 +#: ../../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:586 +#: ../../library/collections.rst:593 msgid "Example:" msgstr "Exemplo:" -#: ../../library/collections.rst:643 +#: ../../library/collections.rst:650 msgid ":class:`deque` Recipes" msgstr "Receitas de :class:`deque`" -#: ../../library/collections.rst:645 +#: ../../library/collections.rst:652 msgid "This section shows various approaches to working with deques." msgstr "Esta seção mostra várias abordagens para trabalhar com deques." -#: ../../library/collections.rst:647 +#: ../../library/collections.rst:654 msgid "" "Bounded length deques provide functionality similar to the ``tail`` filter " "in Unix::" @@ -904,7 +898,7 @@ msgstr "" "Deques de comprimento limitado fornecem funcionalidade semelhante ao filtro " "``tail`` em Unix::" -#: ../../library/collections.rst:655 +#: ../../library/collections.rst:662 msgid "" "Another approach to using deques is to maintain a sequence of recently added " "elements by appending to the right and popping to the left::" @@ -912,7 +906,7 @@ msgstr "" "Outra abordagem para usar deques é manter uma sequência de elementos " "adicionados recentemente, acrescentando à direita e clicando à esquerda::" -#: ../../library/collections.rst:670 +#: ../../library/collections.rst:677 msgid "" "A `round-robin scheduler `_ can be implemented with input iterators stored in a :" @@ -928,7 +922,7 @@ msgstr "" "ser removido com :meth:`~deque.popleft`; caso contrário, ele pode voltar ao " "fim com o método :meth:`~deque.rotate`::" -#: ../../library/collections.rst:689 +#: ../../library/collections.rst:696 msgid "" "The :meth:`~deque.rotate` method provides a way to implement :class:`deque` " "slicing and deletion. For example, a pure Python implementation of ``del " @@ -939,7 +933,7 @@ msgstr "" "pura de ``del d[n]`` depende do método ``rotate()`` para posicionar os " "elementos a serem retirados::" -#: ../../library/collections.rst:698 +#: ../../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. " @@ -953,14 +947,14 @@ msgstr "" "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``." +"implementar manipulações de pilha de estilo Forth, como ``dup``, ``drop``, " +"``swap``, ``over``, ``pick``, ``rot`` e ``roll``." -#: ../../library/collections.rst:708 +#: ../../library/collections.rst:715 msgid ":class:`defaultdict` objects" msgstr "Objetos :class:`defaultdict`" -#: ../../library/collections.rst:712 +#: ../../library/collections.rst:719 msgid "" "Return a new dictionary-like object. :class:`defaultdict` is a subclass of " "the built-in :class:`dict` class. It overrides one method and adds one " @@ -972,7 +966,7 @@ msgstr "" "adiciona uma variável de instância gravável. A funcionalidade restante é a " "mesma da classe :class:`dict` e não está documentada aqui." -#: ../../library/collections.rst:717 +#: ../../library/collections.rst:724 msgid "" "The first argument provides the initial value for the :attr:" "`default_factory` attribute; it defaults to ``None``. All remaining " @@ -981,10 +975,10 @@ msgid "" 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:" +"tratados da mesma forma como se fossem passados para o construtor :class:" "`dict`, incluindo argumentos nomeados." -#: ../../library/collections.rst:723 +#: ../../library/collections.rst:730 msgid "" ":class:`defaultdict` objects support the following method in addition to the " "standard :class:`dict` operations:" @@ -992,7 +986,7 @@ msgstr "" "Os objetos :class:`defaultdict` oferecem suporta ao seguinte método além das " "operações padrão :class:`dict`:" -#: ../../library/collections.rst:728 +#: ../../library/collections.rst:735 msgid "" "If the :attr:`default_factory` attribute is ``None``, this raises a :exc:" "`KeyError` exception with the *key* as argument." @@ -1000,7 +994,7 @@ msgstr "" "Se o atributo :attr:`default_factory` for ``None``, isso levanta uma " "exceção :exc:`KeyError` com *key* como argumento." -#: ../../library/collections.rst:731 +#: ../../library/collections.rst:738 msgid "" "If :attr:`default_factory` is not ``None``, it is called without arguments " "to provide a default value for the given *key*, this value is inserted in " @@ -1010,7 +1004,7 @@ msgstr "" "para fornecer um valor padrão para a chave *key* fornecida, este valor é " "inserido no dicionário para *key* e retornado." -#: ../../library/collections.rst:735 +#: ../../library/collections.rst:742 msgid "" "If calling :attr:`default_factory` raises an exception this exception is " "propagated unchanged." @@ -1018,7 +1012,7 @@ msgstr "" "Se chamar :attr:`default_factory` levanta uma exceção, esta exceção é " "propagada inalterada." -#: ../../library/collections.rst:738 +#: ../../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 " @@ -1028,7 +1022,7 @@ msgstr "" "`dict` quando a chave solicitada não é encontrada; tudo o que ele retorna ou " "levanta é então retornado ou levantado por :meth:`__getitem__`." -#: ../../library/collections.rst:742 +#: ../../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 " @@ -1036,33 +1030,41 @@ msgid "" "`default_factory`." msgstr "" -#: ../../library/collections.rst:748 +#: ../../library/collections.rst:755 msgid ":class:`defaultdict` objects support the following instance variable:" msgstr "" +"Objetos :class:`defaultdict` permitem a seguinte variável de instância:" -#: ../../library/collections.rst:753 +#: ../../library/collections.rst:760 msgid "" "This attribute is used by the :meth:`__missing__` method; it is initialized " "from the first argument to the constructor, if present, or to ``None``, if " "absent." 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:757 ../../library/collections.rst:1154 +#: ../../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:763 +#: ../../library/collections.rst:770 msgid ":class:`defaultdict` Examples" -msgstr "" +msgstr "Exemplos de :class:`defaultdict`" -#: ../../library/collections.rst:765 +#: ../../library/collections.rst:772 msgid "" "Using :class:`list` as the :attr:`~defaultdict.default_factory`, it is easy " "to group a sequence of key-value pairs into a dictionary of lists:" msgstr "" +"Usando :class:`list` como :attr:`~defaultdict.default_factory`, se for fácil " +"agrupar a sequencia dos pares chave-valores num dicionário de listas" -#: ../../library/collections.rst:776 +#: ../../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." @@ -1073,49 +1075,74 @@ msgid "" "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:791 +#: ../../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):" msgstr "" +"Definir :attr:`~defaultdict.default_factory` como :class:`int` torna :class:" +"`defaultdict` útil para contagem (como um multiconjunto em outras " +"linguagens):" -#: ../../library/collections.rst:803 +#: ../../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." 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:807 +#: ../../library/collections.rst:814 msgid "" "The function :func:`int` which always returns zero is just a special case of " "constant functions. A faster and more flexible way to create constant " "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:819 +#: ../../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:" msgstr "" +"Definir :attr:`~defaultdict.default_factory` como :class:`set` torna :class:" +"`defaultdict` útil para construir um dicionário de conjuntos:" -#: ../../library/collections.rst:832 +#: ../../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:834 +#: ../../library/collections.rst:841 msgid "" "Named tuples assign meaning to each position in a tuple and allow for more " "readable, self-documenting code. They can be used wherever regular tuples " "are used, and they add the ability to access fields by name instead of " "position index." msgstr "" +"Tuplas nomeadas determinam o significado de cada posição numa tupla e " +"permitem um código mais legível e autodocumentado. Podem ser usadas sempre " +"que tuplas regulares forem utilizadas, e adicionam a possibilidade de " +"acessar campos pelo nome ao invés da posição do índice." -#: ../../library/collections.rst:840 +#: ../../library/collections.rst:847 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 " @@ -1123,31 +1150,50 @@ msgid "" "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:846 +#: ../../library/collections.rst:853 msgid "" "The *field_names* are a sequence of strings such as ``['x', 'y']``. " "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:850 +#: ../../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*." 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:856 +#: ../../library/collections.rst:863 msgid "" "If *rename* is true, invalid fieldnames are automatically replaced with " "positional names. For example, ``['abc', 'def', 'ghi', 'abc']`` is " "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:861 +#: ../../library/collections.rst:868 msgid "" "*defaults* can be ``None`` or an :term:`iterable` of default values. Since " "fields with a default value must come after any fields without a default, " @@ -1156,68 +1202,89 @@ 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:868 +#: ../../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:871 +#: ../../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:874 +#: ../../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:877 +#: ../../library/collections.rst:884 msgid "Added support for *rename*." -msgstr "" +msgstr "Adicionado suporte a *rename*." -#: ../../library/collections.rst:880 +#: ../../library/collections.rst:887 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:884 +#: ../../library/collections.rst:891 msgid "Added the *module* parameter." -msgstr "" +msgstr "Adicionado o parâmetro *module*." -#: ../../library/collections.rst:887 +#: ../../library/collections.rst:894 msgid "Removed the *verbose* parameter and the :attr:`_source` attribute." -msgstr "" +msgstr "Removido o parâmetro *verbose* e o atributo :attr:`_source`" -#: ../../library/collections.rst:890 +#: ../../library/collections.rst:897 msgid "" "Added the *defaults* parameter and the :attr:`_field_defaults` attribute." msgstr "" "Adicionado o parâmetro *defaults* e o atributo :attr:`_field_defaults`." -#: ../../library/collections.rst:910 +#: ../../library/collections.rst:917 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:926 +#: ../../library/collections.rst:933 msgid "" "In addition to the methods inherited from tuples, named tuples support three " "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:932 +#: ../../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:942 +#: ../../library/collections.rst:949 msgid "" "Return a new :class:`dict` which maps field names to their corresponding " "values:" @@ -1225,176 +1292,284 @@ msgstr "" "Retorna um novo :class:`dict` que mapeia nomes de campo para seus " "respectivos valores:" -#: ../../library/collections.rst:951 +#: ../../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:954 +#: ../../library/collections.rst:961 msgid "" "Returns a regular :class:`dict` instead of an :class:`OrderedDict`. As of " "Python 3.7, regular dicts are guaranteed to be ordered. If the extra " "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:963 +#: ../../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:975 +#: ../../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:990 +#: ../../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:1000 +#: ../../library/collections.rst:1007 msgid "" "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:1006 +#: ../../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:1013 +#: ../../library/collections.rst:1020 msgid "" "Since a named tuple is a regular Python class, it is easy to add or change " "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:1032 +#: ../../library/collections.rst:1039 msgid "" "The subclass shown above sets ``__slots__`` to an empty tuple. This helps " "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:1035 +#: ../../library/collections.rst:1042 msgid "" "Subclassing is not useful for adding new, stored fields. Instead, simply " "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:1040 +#: ../../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:1049 +#: ../../library/collections.rst:1056 msgid "Property docstrings became writeable." -msgstr "" +msgstr "Os docstrings de propriedade tornaram-se graváveis." -#: ../../library/collections.rst:1054 +#: ../../library/collections.rst:1061 msgid "" "See :class:`typing.NamedTuple` for a way to add type hints for named " "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:1063 +#: ../../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:1066 +#: ../../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:1071 +#: ../../library/collections.rst:1078 msgid ":class:`OrderedDict` objects" msgstr "Objetos :class:`OrderedDict`" -#: ../../library/collections.rst:1073 +#: ../../library/collections.rst:1080 msgid "" "Ordered dictionaries are just like regular dictionaries but have some extra " "capabilities relating to ordering operations. They have become less " "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:1079 +#: ../../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:1081 +#: ../../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:1084 +#: ../../library/collections.rst:1091 msgid "" "The :class:`OrderedDict` was designed to be good at reordering operations. " "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:1088 +#: ../../library/collections.rst:1095 msgid "" -"Algorithmically, :class:`OrderedDict` can handle frequent reordering " -"operations better than :class:`dict`. This makes it suitable for tracking " -"recent accesses (for example in an `LRU cache `_)." +"The :class:`OrderedDict` algorithm can handle frequent reordering operations " +"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:1093 +#: ../../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:1095 +#: ../../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:1098 +#: ../../library/collections.rst:1110 +msgid "" +"A regular :class:`dict` can emulate OrderedDict's ``od.popitem(last=False)`` " +"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:1101 +#: ../../library/collections.rst:1117 +msgid "" +"A regular :class:`dict` can emulate OrderedDict's ``od.move_to_end(k, " +"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 "" +"A regular :class:`dict` does not have an efficient equivalent for " +"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:1106 +#: ../../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:1113 +#: ../../library/collections.rst:1137 msgid "" "The :meth:`popitem` method for ordered dictionaries returns and removes a " "(key, value) pair. The pairs are returned in :abbr:`LIFO (last-in, first-" "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:1120 +#: ../../library/collections.rst:1144 msgid "" "Move an existing *key* to either end of an ordered dictionary. The item is " "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::" +"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:1135 +#: ../../library/collections.rst:1161 msgid "" "In addition to the usual mapping methods, ordered dictionaries also support " "reverse iteration using :func:`reversed`." @@ -1402,7 +1577,7 @@ msgstr "" "Além dos métodos usuais de mapeamento, dicionários ordenados também oferecem " "suporte a iteração reversa usando a função :func:`reversed`." -#: ../../library/collections.rst:1138 +#: ../../library/collections.rst:1164 msgid "" "Equality tests between :class:`OrderedDict` objects are order-sensitive and " "are implemented as ``list(od1.items())==list(od2.items())``. Equality tests " @@ -1411,50 +1586,72 @@ msgid "" "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:1145 +#: ../../library/collections.rst:1171 msgid "" "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:1149 +#: ../../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:1159 +#: ../../library/collections.rst:1185 msgid ":class:`OrderedDict` Examples and Recipes" -msgstr "" +msgstr "Exemplos e receitas de :class:`OrderedDict`" -#: ../../library/collections.rst:1161 +#: ../../library/collections.rst:1187 msgid "" "It is straightforward to create an ordered dictionary variant that remembers " "the order the keys were *last* inserted. If a new entry overwrites an " "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:1173 +#: ../../library/collections.rst:1199 msgid "" "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:1214 +#: ../../library/collections.rst:1297 msgid ":class:`UserDict` objects" -msgstr "" +msgstr "Objetos :class:`UserDict`" -#: ../../library/collections.rst:1216 +#: ../../library/collections.rst:1299 msgid "" "The class, :class:`UserDict` acts as a wrapper around dictionary objects. " "The need for this class has been partially supplanted by the ability to " "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:1224 +#: ../../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 :" @@ -1462,38 +1659,55 @@ msgid "" "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:1230 +#: ../../library/collections.rst:1313 msgid "" "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:1235 +#: ../../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:1241 +#: ../../library/collections.rst:1324 msgid ":class:`UserList` objects" -msgstr "" +msgstr "Objetos :class:`UserList`" -#: ../../library/collections.rst:1243 +#: ../../library/collections.rst:1326 msgid "" "This class acts as a wrapper around list objects. It is a useful base class " "for your own list-like classes which can inherit from them and override " "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:1248 +#: ../../library/collections.rst:1331 msgid "" "The need for this class has been partially supplanted by the ability to " "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:1254 +#: ../../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:" @@ -1501,20 +1715,29 @@ msgid "" "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:1260 +#: ../../library/collections.rst:1343 msgid "" "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:1265 +#: ../../library/collections.rst:1348 msgid "" "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:1268 +#: ../../library/collections.rst:1351 msgid "" "**Subclassing requirements:** Subclasses of :class:`UserList` are expected " "to offer a constructor which can be called with either no arguments or one " @@ -1523,28 +1746,43 @@ 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:1275 +#: ../../library/collections.rst:1358 msgid "" "If a derived class does not wish to comply with this requirement, all of the " "special methods supported by this class will need to be overridden; please " "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:1281 +#: ../../library/collections.rst:1364 msgid ":class:`UserString` objects" -msgstr "" +msgstr "Objetos :class:`UserString`" -#: ../../library/collections.rst:1283 +#: ../../library/collections.rst:1366 msgid "" "The class, :class:`UserString` acts as a wrapper around string objects. The " "need for this class has been partially supplanted by the ability to subclass " "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:1291 +#: ../../library/collections.rst:1374 msgid "" "Class that simulates a string object. The instance's content is kept in a " "regular string object, which is accessible via the :attr:`data` attribute " @@ -1552,21 +1790,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:1298 +#: ../../library/collections.rst:1381 msgid "" "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:1303 +#: ../../library/collections.rst:1386 msgid "" "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:1306 +#: ../../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 06ea52ccb..e99f2e53f 100644 --- a/library/colorsys.po +++ b/library/colorsys.po @@ -1,28 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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 -# Italo Penaforte , 2021 +# python-doc bot, 2025 # #, 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 00:57+0000\n" -"Last-Translator: Italo Penaforte , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:57+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/colorsys.rst:2 msgid ":mod:`colorsys` --- Conversions between color systems" diff --git a/library/compileall.po b/library/compileall.po index dbca48c79..26d3c0c0a 100644 --- a/library/compileall.po +++ b/library/compileall.po @@ -1,26 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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.10\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-06-29 12:56+0000\n" -"PO-Revision-Date: 2021-06-28 00:57+0000\n" -"Last-Translator: Rafael Fontenelle , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:57+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/compileall.rst:2 msgid ":mod:`compileall` --- Byte-compile Python libraries" @@ -161,8 +162,8 @@ 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:95 msgid "" @@ -318,7 +319,7 @@ msgstr "" "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 `. " +"`re.Pattern `." #: ../../library/compileall.rst:174 ../../library/compileall.rst:251 msgid "" @@ -386,11 +387,11 @@ msgstr "" msgid "" "The *stripdir*, *prependdir* and *limit_sl_dest* arguments correspond to the " "``-s``, ``-p`` and ``-e`` options described above. They may be specified as " -"``str``, ``bytes`` or :py:class:`os.PathLike`." +"``str`` or :py:class:`os.PathLike`." msgstr "" "Os argumentos *stripdir*, *prependdir* e *limit_sl_dest* correspondem às " "opções ``-s``, ``-p`` e ``-e`` descrita acima. eles podem ser especificados " -"como ``str``, ``bytes`` ou :py:class:`os.PathLike`." +"como ``str`` ou :py:class:`os.PathLike`." #: ../../library/compileall.rst:203 ../../library/compileall.rst:273 msgid "" @@ -488,7 +489,7 @@ msgstr "" "completo para o arquivo que está sendo compilado e, se retornar um valor " "verdadeiro, o arquivo não será compilado e ``True`` será retornado. Isso " "pode ser usado para excluir arquivos correspondendo a uma expressão regular, " -"dado como um objeto :ref:`re.Pattern `. " +"dado como um objeto :ref:`re.Pattern `." #: ../../library/compileall.rst:291 msgid "" diff --git a/library/concurrency.po b/library/concurrency.po index 8c3f5dd2e..9b2a6b75b 100644 --- a/library/concurrency.po +++ b/library/concurrency.po @@ -1,27 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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.10\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-06-29 12:56+0000\n" -"PO-Revision-Date: 2021-06-28 00:57+0000\n" -"Last-Translator: Hildeberto Abreu Magalhães , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:57+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/concurrency.rst:5 msgid "Concurrent Execution" diff --git a/library/concurrent.futures.po b/library/concurrent.futures.po index 411692e44..2a94bab1f 100644 --- a/library/concurrent.futures.po +++ b/library/concurrent.futures.po @@ -1,31 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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 -# Claudio Rogerio Carvalho Filho , 2021 -# Vinicius Gubiani Ferreira , 2021 -# i17obot , 2021 -# Danilo Lima , 2021 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.10\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-07-29 13:22+0000\n" -"PO-Revision-Date: 2021-06-28 00:57+0000\n" -"Last-Translator: Danilo Lima , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-12-13 17:12+0000\n" +"PO-Revision-Date: 2025-09-22 15:57+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/concurrent.futures.rst:2 msgid ":mod:`concurrent.futures` --- Launching parallel tasks" @@ -65,7 +61,7 @@ msgstr "" #: ../../library/concurrent.futures.rst:33 msgid "" -"Schedules the callable, *fn*, to be executed as ``fn(*args **kwargs)`` and " +"Schedules the callable, *fn*, to be executed as ``fn(*args, **kwargs)`` and " "returns a :class:`Future` object representing the execution of the " "callable. ::" msgstr "" @@ -159,7 +155,7 @@ msgstr "Adicionado *cancel_futures*." #: ../../library/concurrent.futures.rst:111 msgid "ThreadPoolExecutor" -msgstr "" +msgstr "ThreadPoolExecutor" #: ../../library/concurrent.futures.rst:113 msgid "" @@ -185,6 +181,16 @@ msgstr "" #: ../../library/concurrent.futures.rst:152 msgid "" +"All threads enqueued to ``ThreadPoolExecutor`` will be joined before the " +"interpreter can exit. Note that the exit handler which does this is executed " +"*before* any exit handlers added using ``atexit``. This means exceptions in " +"the main thread must be caught and handled in order to signal threads to " +"exit gracefully. For this reason, it is recommended that " +"``ThreadPoolExecutor`` not be used for long-running tasks." +msgstr "" + +#: ../../library/concurrent.futures.rst:159 +msgid "" "*initializer* is an optional callable that is called at the start of each " "worker thread; *initargs* is a tuple of arguments passed to the " "initializer. Should *initializer* raise an exception, all currently pending " @@ -192,7 +198,7 @@ msgid "" "well as any attempt to submit more jobs to the pool." msgstr "" -#: ../../library/concurrent.futures.rst:158 +#: ../../library/concurrent.futures.rst:165 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:" @@ -201,19 +207,19 @@ msgid "" "`ProcessPoolExecutor`." msgstr "" -#: ../../library/concurrent.futures.rst:166 +#: ../../library/concurrent.futures.rst:173 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." msgstr "" -#: ../../library/concurrent.futures.rst:171 -#: ../../library/concurrent.futures.rst:265 +#: ../../library/concurrent.futures.rst:178 +#: ../../library/concurrent.futures.rst:272 msgid "Added the *initializer* and *initargs* arguments." msgstr "" -#: ../../library/concurrent.futures.rst:174 +#: ../../library/concurrent.futures.rst:181 msgid "" "Default value of *max_workers* is changed to ``min(32, os.cpu_count() + " "4)``. This default value preserves at least 5 workers for I/O bound tasks. " @@ -221,21 +227,21 @@ msgid "" "And it avoids using very large resources implicitly on many-core machines." msgstr "" -#: ../../library/concurrent.futures.rst:180 +#: ../../library/concurrent.futures.rst:187 msgid "" "ThreadPoolExecutor now reuses idle worker threads before starting " "*max_workers* worker threads too." msgstr "" -#: ../../library/concurrent.futures.rst:187 +#: ../../library/concurrent.futures.rst:194 msgid "ThreadPoolExecutor Example" msgstr "Exemplo de ThreadPoolExecutor" -#: ../../library/concurrent.futures.rst:219 +#: ../../library/concurrent.futures.rst:226 msgid "ProcessPoolExecutor" -msgstr "```ProcessPoolExecutor```" +msgstr "ProcessPoolExecutor" -#: ../../library/concurrent.futures.rst:221 +#: ../../library/concurrent.futures.rst:228 msgid "" "The :class:`ProcessPoolExecutor` class is an :class:`Executor` subclass that " "uses a pool of processes to execute calls asynchronously. :class:" @@ -245,20 +251,20 @@ msgid "" "returned." msgstr "" -#: ../../library/concurrent.futures.rst:228 +#: ../../library/concurrent.futures.rst:235 msgid "" "The ``__main__`` module must be importable by worker subprocesses. This " "means that :class:`ProcessPoolExecutor` will not work in the interactive " "interpreter." msgstr "" -#: ../../library/concurrent.futures.rst:231 +#: ../../library/concurrent.futures.rst:238 msgid "" "Calling :class:`Executor` or :class:`Future` methods from a callable " "submitted to a :class:`ProcessPoolExecutor` will result in deadlock." msgstr "" -#: ../../library/concurrent.futures.rst:236 +#: ../../library/concurrent.futures.rst:243 msgid "" "An :class:`Executor` subclass that executes calls asynchronously using a " "pool of at most *max_workers* processes. If *max_workers* is ``None`` or " @@ -272,7 +278,7 @@ msgid "" "not given, the default multiprocessing context is used." msgstr "" -#: ../../library/concurrent.futures.rst:249 +#: ../../library/concurrent.futures.rst:256 msgid "" "*initializer* is an optional callable that is called at the start of each " "worker process; *initargs* is a tuple of arguments passed to the " @@ -281,7 +287,7 @@ msgid "" "well as any attempt to submit more jobs to the pool." msgstr "" -#: ../../library/concurrent.futures.rst:255 +#: ../../library/concurrent.futures.rst:262 msgid "" "When one of the worker processes terminates abruptly, a :exc:" "`BrokenProcessPool` error is now raised. Previously, behaviour was " @@ -289,34 +295,34 @@ msgid "" "or deadlock." msgstr "" -#: ../../library/concurrent.futures.rst:261 +#: ../../library/concurrent.futures.rst:268 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:271 +#: ../../library/concurrent.futures.rst:278 msgid "ProcessPoolExecutor Example" msgstr "" -#: ../../library/concurrent.futures.rst:309 +#: ../../library/concurrent.futures.rst:316 msgid "Future Objects" msgstr "" -#: ../../library/concurrent.futures.rst:311 +#: ../../library/concurrent.futures.rst:318 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:316 +#: ../../library/concurrent.futures.rst:323 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:322 +#: ../../library/concurrent.futures.rst:329 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 " @@ -324,22 +330,22 @@ msgid "" "``True``." msgstr "" -#: ../../library/concurrent.futures.rst:329 +#: ../../library/concurrent.futures.rst:336 msgid "Return ``True`` if the call was successfully cancelled." msgstr "" -#: ../../library/concurrent.futures.rst:333 +#: ../../library/concurrent.futures.rst:340 msgid "" "Return ``True`` if the call is currently being executed and cannot be " "cancelled." msgstr "" -#: ../../library/concurrent.futures.rst:338 +#: ../../library/concurrent.futures.rst:345 msgid "" "Return ``True`` if the call was successfully cancelled or finished running." msgstr "" -#: ../../library/concurrent.futures.rst:343 +#: ../../library/concurrent.futures.rst:350 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 " @@ -348,19 +354,19 @@ msgid "" "``None``, there is no limit to the wait time." msgstr "" -#: ../../library/concurrent.futures.rst:350 -#: ../../library/concurrent.futures.rst:364 +#: ../../library/concurrent.futures.rst:357 +#: ../../library/concurrent.futures.rst:371 msgid "" "If the future is cancelled before completing then :exc:`.CancelledError` " "will be raised." msgstr "" -#: ../../library/concurrent.futures.rst:353 +#: ../../library/concurrent.futures.rst:360 msgid "" "If the call raised an exception, this method will raise the same exception." msgstr "" -#: ../../library/concurrent.futures.rst:357 +#: ../../library/concurrent.futures.rst:364 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 " @@ -369,18 +375,18 @@ msgid "" "*timeout* is not specified or ``None``, there is no limit to the wait time." msgstr "" -#: ../../library/concurrent.futures.rst:367 +#: ../../library/concurrent.futures.rst:374 msgid "If the call completed without raising, ``None`` is returned." msgstr "" -#: ../../library/concurrent.futures.rst:371 +#: ../../library/concurrent.futures.rst:378 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:375 +#: ../../library/concurrent.futures.rst:382 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 " @@ -389,93 +395,94 @@ msgid "" "behavior is undefined." msgstr "" -#: ../../library/concurrent.futures.rst:381 +#: ../../library/concurrent.futures.rst:388 msgid "" "If the future has already completed or been cancelled, *fn* will be called " "immediately." msgstr "" -#: ../../library/concurrent.futures.rst:384 +#: ../../library/concurrent.futures.rst:391 msgid "" "The following :class:`Future` methods are meant for use in unit tests and :" "class:`Executor` implementations." msgstr "" -#: ../../library/concurrent.futures.rst:389 +#: ../../library/concurrent.futures.rst:396 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:393 +#: ../../library/concurrent.futures.rst:400 msgid "" "If the method returns ``False`` then the :class:`Future` was cancelled, i." -"e. :meth:`Future.cancel` was called and returned `True`. Any threads " +"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:398 +#: ../../library/concurrent.futures.rst:405 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`." +"will return ``True``." msgstr "" -#: ../../library/concurrent.futures.rst:402 +#: ../../library/concurrent.futures.rst:409 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." msgstr "" -#: ../../library/concurrent.futures.rst:408 +#: ../../library/concurrent.futures.rst:415 msgid "" "Sets the result of the work associated with the :class:`Future` to *result*." msgstr "" -#: ../../library/concurrent.futures.rst:411 -#: ../../library/concurrent.futures.rst:424 +#: ../../library/concurrent.futures.rst:418 +#: ../../library/concurrent.futures.rst:431 msgid "" "This method should only be used by :class:`Executor` implementations and " "unit tests." msgstr "" -#: ../../library/concurrent.futures.rst:414 -#: ../../library/concurrent.futures.rst:427 +#: ../../library/concurrent.futures.rst:421 +#: ../../library/concurrent.futures.rst:434 msgid "" "This method raises :exc:`concurrent.futures.InvalidStateError` if the :class:" "`Future` is already done." msgstr "" -#: ../../library/concurrent.futures.rst:421 +#: ../../library/concurrent.futures.rst:428 msgid "" "Sets the result of the work associated with the :class:`Future` to the :" "class:`Exception` *exception*." msgstr "" -#: ../../library/concurrent.futures.rst:433 +#: ../../library/concurrent.futures.rst:440 msgid "Module Functions" msgstr "" -#: ../../library/concurrent.futures.rst:437 +#: ../../library/concurrent.futures.rst:444 msgid "" "Wait for the :class:`Future` instances (possibly created by different :class:" -"`Executor` instances) given by *fs* to complete. Returns a named 2-tuple of " +"`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:444 +#: ../../library/concurrent.futures.rst:452 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:448 +#: ../../library/concurrent.futures.rst:456 msgid "" "*return_when* indicates when this function should return. It must be one of " "the following constants:" @@ -483,28 +490,28 @@ msgstr "" "*return_when* indica quando esta função deve retornar. Ele deve ser uma das " "seguintes constantes:" -#: ../../library/concurrent.futures.rst:454 +#: ../../library/concurrent.futures.rst:462 msgid "Constant" msgstr "Constante" -#: ../../library/concurrent.futures.rst:454 +#: ../../library/concurrent.futures.rst:462 msgid "Description" msgstr "Descrição" -#: ../../library/concurrent.futures.rst:456 +#: ../../library/concurrent.futures.rst:464 msgid ":const:`FIRST_COMPLETED`" msgstr ":const:`FIRST_COMPLETED`" -#: ../../library/concurrent.futures.rst:456 +#: ../../library/concurrent.futures.rst:464 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:459 +#: ../../library/concurrent.futures.rst:467 msgid ":const:`FIRST_EXCEPTION`" msgstr ":const:`FIRST_EXCEPTION`" -#: ../../library/concurrent.futures.rst:459 +#: ../../library/concurrent.futures.rst:467 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:" @@ -514,16 +521,16 @@ msgstr "" "exceção. Se nenhum futuro levantar uma exceção, então é equivalente a :const:" "`ALL_COMPLETED`." -#: ../../library/concurrent.futures.rst:465 +#: ../../library/concurrent.futures.rst:473 msgid ":const:`ALL_COMPLETED`" msgstr ":const:`ALL_COMPLETED`" -#: ../../library/concurrent.futures.rst:465 +#: ../../library/concurrent.futures.rst:473 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/concurrent.futures.rst:471 +#: ../../library/concurrent.futures.rst:479 msgid "" "Returns an iterator over the :class:`Future` instances (possibly created by " "different :class:`Executor` instances) given by *fs* that yields futures as " @@ -537,49 +544,49 @@ msgid "" "wait time." msgstr "" -#: ../../library/concurrent.futures.rst:485 +#: ../../library/concurrent.futures.rst:493 msgid ":pep:`3148` -- futures - execute computations asynchronously" msgstr "" -#: ../../library/concurrent.futures.rst:485 +#: ../../library/concurrent.futures.rst:493 msgid "" "The proposal which described this feature for inclusion in the Python " "standard library." msgstr "" -#: ../../library/concurrent.futures.rst:490 +#: ../../library/concurrent.futures.rst:498 msgid "Exception classes" msgstr "" -#: ../../library/concurrent.futures.rst:496 +#: ../../library/concurrent.futures.rst:504 msgid "Raised when a future is cancelled." msgstr "" -#: ../../library/concurrent.futures.rst:500 +#: ../../library/concurrent.futures.rst:508 msgid "Raised when a future operation exceeds the given timeout." msgstr "" -#: ../../library/concurrent.futures.rst:504 +#: ../../library/concurrent.futures.rst:512 msgid "" "Derived from :exc:`RuntimeError`, this exception class is raised when an " "executor is broken for some reason, and cannot be used to submit or execute " "new tasks." msgstr "" -#: ../../library/concurrent.futures.rst:512 +#: ../../library/concurrent.futures.rst:520 msgid "" "Raised when an operation is performed on a future that is not allowed in the " "current state." msgstr "" -#: ../../library/concurrent.futures.rst:521 +#: ../../library/concurrent.futures.rst:529 msgid "" "Derived from :exc:`~concurrent.futures.BrokenExecutor`, this exception class " "is raised when one of the workers of a :class:`ThreadPoolExecutor` has " "failed initializing." msgstr "" -#: ../../library/concurrent.futures.rst:531 +#: ../../library/concurrent.futures.rst:539 msgid "" "Derived from :exc:`~concurrent.futures.BrokenExecutor` (formerly :exc:" "`RuntimeError`), this exception class is raised when one of the workers of " diff --git a/library/concurrent.po b/library/concurrent.po index 8a0f3e6a5..3d2d92840 100644 --- a/library/concurrent.po +++ b/library/concurrent.po @@ -1,26 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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.10\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-06-29 12:56+0000\n" -"PO-Revision-Date: 2021-06-28 00:57+0000\n" -"Last-Translator: Rafael Fontenelle , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:57+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"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" diff --git a/library/configparser.po b/library/configparser.po index ccdc52ee4..426c79a9e 100644 --- a/library/configparser.po +++ b/library/configparser.po @@ -1,29 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, Python Software 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 -# i17obot , 2021 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.10\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-07-14 12:57+0000\n" -"PO-Revision-Date: 2021-06-28 00:57+0000\n" -"Last-Translator: i17obot , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2026-01-03 17:03+0000\n" +"PO-Revision-Date: 2025-09-22 15:57+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/configparser.rst:2 msgid ":mod:`configparser` --- Configuration file parser" @@ -40,16 +38,23 @@ 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:`shlex`" -msgstr "" +msgstr "Módulo :mod:`shlex`" #: ../../library/configparser.rst:37 msgid "" @@ -59,7 +64,7 @@ msgstr "" #: ../../library/configparser.rst:41 msgid "Module :mod:`json`" -msgstr "" +msgstr "Módulo :mod:`json`" #: ../../library/configparser.rst:41 msgid "" @@ -69,11 +74,11 @@ msgstr "" #: ../../library/configparser.rst:56 msgid "Quick Start" -msgstr "" +msgstr "Início rápido" #: ../../library/configparser.rst:58 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:75 msgid "" @@ -83,6 +88,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:99 msgid "" @@ -90,12 +100,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:103 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:138 msgid "" @@ -104,6 +120,10 @@ 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:143 msgid "" @@ -118,10 +138,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:169 msgid "Supported Datatypes" -msgstr "" +msgstr "Tipos de dados suportados" #: ../../library/configparser.rst:171 msgid "" @@ -129,6 +151,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:182 msgid "" @@ -140,6 +166,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:199 msgid "" @@ -148,10 +183,14 @@ 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:205 msgid "Fallback Values" -msgstr "" +msgstr "Valores reservas" #: ../../library/configparser.rst:207 msgid "" @@ -164,9 +203,14 @@ msgid "" "Please note that default values have precedence over fallback values. For " "instance, in our example the ``'CompressionLevel'`` key was specified only " "in the ``'DEFAULT'`` section. If we try to get it from the section " -"``'topsecret.server.com'``, we will always get the default, even if we " +"``'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:231 msgid "" @@ -182,6 +226,9 @@ msgid "" "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:258 msgid "Supported INI File Structure" @@ -193,43 +240,71 @@ msgid "" "header, followed by key/value entries separated by a specific string (``=`` " "or ``:`` by default [1]_). By default, section names are case sensitive but " "keys are not [1]_. Leading and trailing whitespace is removed from keys and " -"values. Values can be omitted, in which case the key/value delimiter may " -"also be left out. Values can also span multiple lines, as long as they are " -"indented deeper than the first line of the value. Depending on the parser's " -"mode, blank lines may be treated as parts of multiline values or ignored." +"values. Values can be omitted if the parser is configured to allow it [1]_, " +"in which case the key/value delimiter may also be left out. Values can also " +"span multiple lines, as long as they are indented deeper than the first line " +"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:269 +#: ../../library/configparser.rst:270 +msgid "" +"By default, a valid section name can be any string that does not contain '\\" +"\\n' or ']'. To change this, see :attr:`ConfigParser.SECTCRE`." +msgstr "" + +#: ../../library/configparser.rst:273 msgid "" "Configuration files may include comments, prefixed by specific characters " "(``#`` 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:273 ../../library/configparser.rst:336 +#: ../../library/configparser.rst:277 ../../library/configparser.rst:340 msgid "For example:" msgstr "Por exemplo:" -#: ../../library/configparser.rst:321 +#: ../../library/configparser.rst:325 msgid "Interpolation of values" -msgstr "" +msgstr "Interpolação de valores" -#: ../../library/configparser.rst:323 +#: ../../library/configparser.rst:327 msgid "" "On top of the core functionality, :class:`ConfigParser` supports " "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:331 +#: ../../library/configparser.rst:335 msgid "" "The default implementation used by :class:`ConfigParser`. It enables values " "to contain format strings which refer to other values in the same section, " "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:348 +#: ../../library/configparser.rst:353 msgid "" "In the example above, :class:`ConfigParser` with *interpolation* set to " "``BasicInterpolation()`` would resolve ``%(home_dir)s`` to the value of " @@ -238,15 +313,24 @@ 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:355 +#: ../../library/configparser.rst:360 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:363 +#: ../../library/configparser.rst:368 msgid "" "An alternative handler for interpolation which implements a more advanced " "syntax, used for instance in ``zc.buildout``. Extended interpolation is " @@ -255,30 +339,42 @@ msgid "" "`` 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:370 +#: ../../library/configparser.rst:375 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:383 +#: ../../library/configparser.rst:389 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:405 +#: ../../library/configparser.rst:411 msgid "Mapping Protocol Access" -msgstr "" +msgstr "Acesso através do protocolo de mapeamento" -#: ../../library/configparser.rst:409 +#: ../../library/configparser.rst:415 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 " "``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:414 +#: ../../library/configparser.rst:420 msgid "" "``parser['section']`` in particular returns a proxy for the section's data " "in the parser. This means that the values are not copied but they are taken " @@ -286,16 +382,26 @@ 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:420 +#: ../../library/configparser.rst:426 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:" 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:425 +#: ../../library/configparser.rst:431 msgid "" "By default, all keys in sections are accessible in a case-insensitive manner " "[1]_. E.g. ``for option in parser[\"section\"]`` yields only " @@ -303,8 +409,14 @@ 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:433 +#: ../../library/configparser.rst:439 msgid "" "All sections include ``DEFAULTSECT`` values as well which means that ``." "clear()`` on a section may not leave the section visibly empty. This is " @@ -313,31 +425,41 @@ msgid "" "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:440 +#: ../../library/configparser.rst:446 msgid "``DEFAULTSECT`` cannot be removed from the parser:" -msgstr "" +msgstr "``DEFAULTSECT`` não pode ser removido do analisador sintático:" -#: ../../library/configparser.rst:442 +#: ../../library/configparser.rst:448 msgid "trying to delete it raises :exc:`ValueError`," -msgstr "" +msgstr "tentar excluí-lo levanta :exc:`ValueError`," -#: ../../library/configparser.rst:444 +#: ../../library/configparser.rst:450 msgid "``parser.clear()`` leaves it intact," -msgstr "" +msgstr "``parser.clear()`` deixa-o intacto," -#: ../../library/configparser.rst:446 +#: ../../library/configparser.rst:452 msgid "``parser.popitem()`` never returns it." -msgstr "" +msgstr "``parser.popitem()`` nunca o retorna." -#: ../../library/configparser.rst:448 +#: ../../library/configparser.rst:454 msgid "" "``parser.get(section, option, **kwargs)`` - the second argument is **not** a " "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:452 +#: ../../library/configparser.rst:458 msgid "" "``parser.items()`` is compatible with the mapping protocol (returns a list " "of *section_name*, *section_proxy* pairs including the DEFAULTSECT). " @@ -346,19 +468,28 @@ msgid "" "*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:459 +#: ../../library/configparser.rst:465 msgid "" "The mapping protocol is implemented on top of the existing legacy API so " "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:465 +#: ../../library/configparser.rst:471 msgid "Customizing Parser Behaviour" -msgstr "" +msgstr "Personalizando o comportamento do analisador sintático" -#: ../../library/configparser.rst:467 +#: ../../library/configparser.rst:473 msgid "" "There are nearly as many INI format variants as there are applications using " "it. :mod:`configparser` goes a long way to provide support for the largest " @@ -366,94 +497,122 @@ 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:473 +#: ../../library/configparser.rst:479 msgid "" "The most common way to change the way a specific config parser works is to " "use the :meth:`__init__` options:" msgstr "" -#: ../../library/configparser.rst:476 +#: ../../library/configparser.rst:482 msgid "*defaults*, default value: ``None``" -msgstr "" +msgstr "*defaults*, valor padrão: ``None``" -#: ../../library/configparser.rst:478 +#: ../../library/configparser.rst:484 msgid "" "This option accepts a dictionary of key-value pairs which will be initially " "put in the ``DEFAULT`` section. This makes for an elegant way to support " "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:483 +#: ../../library/configparser.rst:489 msgid "" "Hint: if you want to specify default values for a specific section, use :" "meth:`read_dict` before you read the actual file." msgstr "" -#: ../../library/configparser.rst:486 +#: ../../library/configparser.rst:492 msgid "*dict_type*, default value: :class:`dict`" -msgstr "" +msgstr "*dict_type*, valor padrão: :class:`dict`" -#: ../../library/configparser.rst:488 +#: ../../library/configparser.rst:494 msgid "" "This option has a major impact on how the mapping protocol will behave and " "how the written configuration files look. With the standard dictionary, " "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:493 +#: ../../library/configparser.rst:499 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:496 +#: ../../library/configparser.rst:502 msgid "" "Please note: there are ways to add a set of key-value pairs in a single " "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:518 +#: ../../library/configparser.rst:524 msgid "*allow_no_value*, default value: ``False``" -msgstr "" +msgstr "*allow_no_value*, valor padrão: ``False``" -#: ../../library/configparser.rst:520 +#: ../../library/configparser.rst:526 msgid "" "Some configuration files are known to include settings without values, but " "which otherwise conform to the syntax supported by :mod:`configparser`. The " "*allow_no_value* parameter to the constructor can be used to indicate that " "such values should be accepted:" 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:555 +#: ../../library/configparser.rst:561 msgid "*delimiters*, default value: ``('=', ':')``" -msgstr "" +msgstr "*delimiters*, valor padrão: ``('=', ':')``" -#: ../../library/configparser.rst:557 +#: ../../library/configparser.rst:563 msgid "" "Delimiters are substrings that delimit keys from values within a section. " "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:561 +#: ../../library/configparser.rst:567 msgid "" "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:564 +#: ../../library/configparser.rst:570 msgid "*comment_prefixes*, default value: ``('#', ';')``" -msgstr "" +msgstr "*comment_prefixes*, valor padrão: ``('#', ';')``" -#: ../../library/configparser.rst:566 +#: ../../library/configparser.rst:572 msgid "*inline_comment_prefixes*, default value: ``None``" -msgstr "" +msgstr "*inline_comment_prefixes*, valor padrão: ``None``" -#: ../../library/configparser.rst:568 +#: ../../library/configparser.rst:574 msgid "" "Comment prefixes are strings that indicate the start of a valid comment " "within a config file. *comment_prefixes* are used only on otherwise empty " @@ -462,14 +621,23 @@ 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:575 +#: ../../library/configparser.rst:581 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:579 +#: ../../library/configparser.rst:585 msgid "" "Please note that config parsers don't support escaping of comment prefixes " "so using *inline_comment_prefixes* may prevent users from specifying option " @@ -478,12 +646,19 @@ 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:625 +#: ../../library/configparser.rst:631 msgid "*strict*, default value: ``True``" -msgstr "*strict*, o valor padrão é: ``True``" +msgstr "*strict*, valor padrão: ``True``" -#: ../../library/configparser.rst:627 +#: ../../library/configparser.rst:633 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`, :" @@ -491,17 +666,19 @@ msgid "" "parsers in new applications." msgstr "" -#: ../../library/configparser.rst:632 +#: ../../library/configparser.rst:638 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:636 +#: ../../library/configparser.rst:642 msgid "*empty_lines_in_values*, default value: ``True``" msgstr "*empty_lines_in_values*, valor padrão: ``True``" -#: ../../library/configparser.rst:638 +#: ../../library/configparser.rst:644 msgid "" "In config parsers, values can span multiple lines as long as they are " "indented more than the key that holds them. By default parsers also let " @@ -510,8 +687,15 @@ 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:653 +#: ../../library/configparser.rst:659 msgid "" "This can be especially problematic for the user to see if she's using a " "proportional font to edit the file. That is why when your application does " @@ -519,34 +703,49 @@ 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:659 +#: ../../library/configparser.rst:665 msgid "" -"*default_section*, default value: ``configparser.DEFAULTSECT`` (that is: ``" -"\"DEFAULT\"``)" +"*default_section*, default value: ``configparser.DEFAULTSECT`` (that is: " +"``\"DEFAULT\"``)" msgstr "" -"*default_section*, valor default: ``configparser.DEFAULTSECT`` (isto é: ``" -"\"DEFAULT\"``)" +"*default_section*, valor padrão: ``configparser.DEFAULTSECT`` (isto é: " +"``\"DEFAULT\"``)" -#: ../../library/configparser.rst:662 +#: ../../library/configparser.rst:668 msgid "" "The convention of allowing a special section of default values for other " "sections or interpolation purposes is a powerful concept of this library, " "letting users create complex declarative configurations. This section is " "normally called ``\"DEFAULT\"`` but this can be customized to point to any " -"other valid section name. Some typical values include: ``\"general\"`` or ``" -"\"common\"``. The name provided is used for recognizing default sections " +"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 "" - -#: ../../library/configparser.rst:673 +"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:679 msgid "*interpolation*, default value: ``configparser.BasicInterpolation``" -msgstr "" +msgstr "*interpolation*, valor padrão: ``configparser.BasicInterpolation``" -#: ../../library/configparser.rst:675 +#: ../../library/configparser.rst:681 msgid "" "Interpolation behaviour may be customized by providing a custom handler " "through the *interpolation* argument. ``None`` can be used to turn off " @@ -555,12 +754,19 @@ msgid "" "`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:682 +#: ../../library/configparser.rst:688 msgid "*converters*, default value: not set" -msgstr "*converters*, valor default : not set" +msgstr "*converters*, valor padrão: não definido" -#: ../../library/configparser.rst:684 +#: ../../library/configparser.rst:690 msgid "" "Config parsers provide option value getters that perform type conversion. " "By default :meth:`~ConfigParser.getint`, :meth:`~ConfigParser.getfloat`, " @@ -574,22 +780,31 @@ msgid "" "``parser_instance['section'].getdecimal('key', 0)``." msgstr "" -#: ../../library/configparser.rst:695 +#: ../../library/configparser.rst:701 msgid "" "If the converter needs to access the state of the parser, it can be " "implemented as a method on a config parser subclass. If the name of this " "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:700 +#: ../../library/configparser.rst:706 msgid "" "More advanced customization may be achieved by overriding default values of " "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:706 +#: ../../library/configparser.rst:712 msgid "" "By default when using :meth:`~ConfigParser.getboolean`, config parsers " "consider the following values ``True``: ``'1'``, ``'yes'``, ``'true'``, " @@ -597,29 +812,45 @@ 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:724 +#: ../../library/configparser.rst:730 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:730 +#: ../../library/configparser.rst:736 msgid "" "This method transforms option names on every read, get, or set operation. " "The default converts the name to lowercase. This also means that when a " "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:760 +#: ../../library/configparser.rst:766 msgid "" "The optionxform function transforms option names to a canonical form. This " "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:767 +#: ../../library/configparser.rst:773 msgid "" "A compiled regular expression used to parse section headers. The default " "matches ``[section]`` to the name ``\"section\"``. Whitespace is considered " @@ -627,19 +858,27 @@ 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:795 +#: ../../library/configparser.rst:801 msgid "" "While ConfigParser objects also use an ``OPTCRE`` attribute for recognizing " "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:801 +#: ../../library/configparser.rst:807 msgid "Legacy API Examples" msgstr "Exemplos de APIs legadas" -#: ../../library/configparser.rst:803 +#: ../../library/configparser.rst:809 msgid "" "Mainly because of backwards compatibility concerns, :mod:`configparser` " "provides also a legacy API with explicit ``get``/``set`` methods. While " @@ -647,38 +886,52 @@ 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:809 +#: ../../library/configparser.rst:815 msgid "An example of writing to a configuration file::" -msgstr "" +msgstr "Um exemplo de escrita em um arquivo de configuração::" -#: ../../library/configparser.rst:832 +#: ../../library/configparser.rst:838 msgid "An example of reading the configuration file again::" -msgstr "" +msgstr "Um exemplo de leitura do arquivo de configuração novamente::" -#: ../../library/configparser.rst:850 +#: ../../library/configparser.rst:856 msgid "To get interpolation, use :class:`ConfigParser`::" -msgstr "" +msgstr "Para obter interpolação, use :class:`ConfigParser`::" -#: ../../library/configparser.rst:883 +#: ../../library/configparser.rst:889 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:901 +#: ../../library/configparser.rst:907 msgid "ConfigParser Objects" -msgstr "" +msgstr "Objetos ConfigParser" -#: ../../library/configparser.rst:905 +#: ../../library/configparser.rst:911 msgid "" "The main configuration parser. When *defaults* is given, it is initialized " "into the dictionary of intrinsic defaults. When *dict_type* is given, it " "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:910 +#: ../../library/configparser.rst:916 msgid "" "When *delimiters* is given, it is used as the set of substrings that divide " "keys from values. When *comment_prefixes* is given, it will be used as the " @@ -686,8 +939,14 @@ 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:916 +#: ../../library/configparser.rst:922 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, " @@ -699,8 +958,18 @@ msgid "" "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:926 +#: ../../library/configparser.rst:932 msgid "" "When *default_section* is given, it specifies the name for the special " "section holding default values for other sections and interpolation purposes " @@ -708,7 +977,7 @@ msgid "" "on runtime using the ``default_section`` instance attribute." msgstr "" -#: ../../library/configparser.rst:931 +#: ../../library/configparser.rst:937 msgid "" "Interpolation behaviour may be customized by providing a custom handler " "through the *interpolation* argument. ``None`` can be used to turn off " @@ -716,8 +985,14 @@ 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:937 +#: ../../library/configparser.rst:943 msgid "" "All option names used in interpolation will be passed through the :meth:" "`optionxform` method just like any other option name reference. For " @@ -725,8 +1000,13 @@ msgid "" "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:943 +#: ../../library/configparser.rst:949 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 " @@ -735,79 +1015,100 @@ msgid "" "object and section proxies." msgstr "" -#: ../../library/configparser.rst:949 +#: ../../library/configparser.rst:955 msgid "The default *dict_type* is :class:`collections.OrderedDict`." -msgstr "" +msgstr "O padrão *dict_type* é :class:`collections.OrderedDict`." -#: ../../library/configparser.rst:952 +#: ../../library/configparser.rst:958 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:957 +#: ../../library/configparser.rst:963 msgid "The *converters* argument was added." -msgstr "" +msgstr "O argumento *converters* foi adicionado." -#: ../../library/configparser.rst:960 +#: ../../library/configparser.rst:966 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:965 ../../library/configparser.rst:1250 +#: ../../library/configparser.rst:971 ../../library/configparser.rst:1256 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:971 +#: ../../library/configparser.rst:977 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:976 +#: ../../library/configparser.rst:982 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:982 +#: ../../library/configparser.rst:988 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:987 +#: ../../library/configparser.rst:993 msgid "Non-string section names raise :exc:`TypeError`." -msgstr "" +msgstr "Nomes de seções sem string levantam :exc:`TypeError`." -#: ../../library/configparser.rst:993 +#: ../../library/configparser.rst:999 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:999 +#: ../../library/configparser.rst:1005 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:1004 +#: ../../library/configparser.rst:1010 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." 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:1011 +#: ../../library/configparser.rst:1017 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:1014 +#: ../../library/configparser.rst:1020 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* " @@ -817,58 +1118,76 @@ 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:1023 +#: ../../library/configparser.rst:1029 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::" 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:1036 +#: ../../library/configparser.rst:1042 msgid "" "The *encoding* parameter. Previously, all files were read using the default " "encoding for :func:`open`." msgstr "" -#: ../../library/configparser.rst:1040 +#: ../../library/configparser.rst:1046 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:1043 +#: ../../library/configparser.rst:1049 msgid "The *filenames* parameter accepts a :class:`bytes` object." -msgstr "" +msgstr "O parâmetro *filenames* aceita um objeto :class:`bytes`." -#: ../../library/configparser.rst:1049 +#: ../../library/configparser.rst:1055 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:1052 +#: ../../library/configparser.rst:1058 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*; " "the default is ``''``." msgstr "" -#: ../../library/configparser.rst:1056 +#: ../../library/configparser.rst:1062 msgid "Replaces :meth:`readfp`." msgstr "Substitui :meth:`readfp`." -#: ../../library/configparser.rst:1061 +#: ../../library/configparser.rst:1067 msgid "Parse configuration data from a string." -msgstr "" +msgstr "Analisa dados de configuração de uma string." -#: ../../library/configparser.rst:1063 +#: ../../library/configparser.rst:1069 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:1072 +#: ../../library/configparser.rst:1078 msgid "" "Load configuration from any object that provides a dict-like ``items()`` " "method. Keys are section names, values are dictionaries with keys and " @@ -876,18 +1195,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:1078 +#: ../../library/configparser.rst:1084 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:1081 +#: ../../library/configparser.rst:1087 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:1088 +#: ../../library/configparser.rst:1094 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), " @@ -895,36 +1223,50 @@ 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:1094 +#: ../../library/configparser.rst:1100 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:1098 +#: ../../library/configparser.rst:1104 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:1106 +#: ../../library/configparser.rst:1112 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:1113 +#: ../../library/configparser.rst:1119 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:1120 +#: ../../library/configparser.rst:1126 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 " @@ -935,35 +1277,54 @@ msgid "" "`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:1133 +#: ../../library/configparser.rst:1139 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:1136 +#: ../../library/configparser.rst:1142 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." 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:1140 +#: ../../library/configparser.rst:1146 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:1148 +#: ../../library/configparser.rst:1154 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:1155 +#: ../../library/configparser.rst:1161 msgid "" "Write a representation of the configuration to the specified :term:`file " "object`, which must be opened in text mode (accepting strings). This " @@ -971,28 +1332,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:1163 +#: ../../library/configparser.rst:1169 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:1171 +#: ../../library/configparser.rst:1177 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:1179 +#: ../../library/configparser.rst:1185 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:1185 +#: ../../library/configparser.rst:1191 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 " @@ -1000,83 +1374,109 @@ 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:1191 +#: ../../library/configparser.rst:1197 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:1199 +#: ../../library/configparser.rst:1205 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:1205 +#: ../../library/configparser.rst:1211 msgid "Use :meth:`read_file` instead." msgstr "" -#: ../../library/configparser.rst:1208 +#: ../../library/configparser.rst:1214 msgid "" ":meth:`readfp` now iterates on *fp* instead of calling ``fp.readline()``." msgstr "" -#: ../../library/configparser.rst:1211 +#: ../../library/configparser.rst:1217 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:1221 +#: ../../library/configparser.rst:1227 msgid "" "Instead of ``parser.readfp(fp)`` use ``parser." "read_file(readline_generator(fp))``." msgstr "" -#: ../../library/configparser.rst:1227 +#: ../../library/configparser.rst:1233 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." msgstr "" -#: ../../library/configparser.rst:1235 +#: ../../library/configparser.rst:1241 msgid "RawConfigParser Objects" -msgstr "" +msgstr "Objetos RawConfigParser" -#: ../../library/configparser.rst:1245 +#: ../../library/configparser.rst:1251 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:1255 +#: ../../library/configparser.rst:1261 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:1262 +#: ../../library/configparser.rst:1268 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:1266 +#: ../../library/configparser.rst:1272 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:1272 +#: ../../library/configparser.rst:1278 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:" @@ -1085,102 +1485,136 @@ msgid "" "(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:1279 +#: ../../library/configparser.rst:1285 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:1286 +#: ../../library/configparser.rst:1292 msgid "Exceptions" msgstr "Exceções" -#: ../../library/configparser.rst:1290 +#: ../../library/configparser.rst:1296 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:1295 +#: ../../library/configparser.rst:1301 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:1300 +#: ../../library/configparser.rst:1306 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." msgstr "" -#: ../../library/configparser.rst:1304 +#: ../../library/configparser.rst:1310 msgid "" "Optional ``source`` and ``lineno`` attributes and arguments to :meth:" "`__init__` were added." msgstr "" -#: ../../library/configparser.rst:1311 +#: ../../library/configparser.rst:1317 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:1319 +#: ../../library/configparser.rst:1325 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:1325 +#: ../../library/configparser.rst:1331 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:1331 +#: ../../library/configparser.rst:1337 msgid "" "Exception raised when string interpolation cannot be completed because the " "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:1338 +#: ../../library/configparser.rst:1344 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:1344 +#: ../../library/configparser.rst:1350 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:1350 +#: ../../library/configparser.rst:1356 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:1356 +#: ../../library/configparser.rst:1362 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:1358 +#: ../../library/configparser.rst:1364 msgid "" "The ``filename`` attribute and :meth:`__init__` argument were renamed to " "``source`` for consistency." msgstr "" -#: ../../library/configparser.rst:1364 +#: ../../library/configparser.rst:1370 msgid "Footnotes" msgstr "Notas de rodapé" -#: ../../library/configparser.rst:1365 +#: ../../library/configparser.rst:1371 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`_." diff --git a/library/constants.po b/library/constants.po index 161528dcf..4adf35805 100644 --- a/library/constants.po +++ b/library/constants.po @@ -1,28 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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 -# Sheila Gomes , 2021 -# Gabriel Crispino , 2021 +# python-doc bot, 2025 # #, 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 00:57+0000\n" -"Last-Translator: Gabriel Crispino , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:57+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/constants.rst:4 msgid "Built-in Constants" @@ -39,12 +38,16 @@ msgid "" "The false value of the :class:`bool` type. Assignments to ``False`` are " "illegal and raise a :exc:`SyntaxError`." msgstr "" +"O valor falso do tipo :class:`bool`. As atribuições a ``False`` são ilegais " +"e levantam :exc:`SyntaxError`." #: ../../library/constants.rst:16 msgid "" "The true value of the :class:`bool` type. Assignments to ``True`` are " "illegal and raise a :exc:`SyntaxError`." msgstr "" +"O valor verdadeiro do tipo :class:`bool`. As atribuições a ``True`` são " +"ilegais e levantam :exc:`SyntaxError`." #: ../../library/constants.rst:22 msgid "" @@ -74,6 +77,12 @@ msgid "" "Incorrectly returning ``NotImplemented`` will result in a misleading error " "message or the ``NotImplemented`` value being returned to Python code." msgstr "" +"Quando um método binário (ou local) retorna ``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." #: ../../library/constants.rst:47 msgid "See :ref:`implementing-the-arithmetic-operations` for examples." @@ -86,6 +95,9 @@ msgid "" "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." #: ../../library/constants.rst:55 msgid "" @@ -105,12 +117,18 @@ msgid "" "types. ``Ellipsis`` is the sole instance of the :data:`types.EllipsisType` " "type." msgstr "" +"O mesmo que as reticências literais \"``...``\". Valor especial usado " +"principalmente em conjunto com a sintaxe de divisão estendida para tipos de " +"dados de contêiner definidos pelo usuário. ``Ellipsis`` é a única instância " +"do tipo :data:`types.EllipsisType`." #: ../../library/constants.rst:71 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`." #: ../../library/constants.rst:77 msgid "" @@ -118,10 +136,14 @@ msgid "" "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, " +"levantam :exc:`SyntaxError` ), para que possam ser consideradas " +"\"verdadeiras\" constantes." #: ../../library/constants.rst:83 msgid "Constants added by the :mod:`site` module" -msgstr "" +msgstr "Constantes adicionadas pelo módulo :mod:`site`" #: ../../library/constants.rst:85 msgid "" @@ -130,6 +152,11 @@ msgid "" "constants to the built-in namespace. They are useful for the interactive " "interpreter shell and should not be used in programs." msgstr "" +"O módulo :mod:`site` (que é importado automaticamente durante a " +"inicialização, exceto se a opção de linha de comando :option:`-S` for " +"fornecida) adiciona várias constantes ao espaço de nomes embutido. Eles são " +"úteis para o console do interpretador interativo e não devem ser usados em " +"programas." #: ../../library/constants.rst:93 msgid "" @@ -137,12 +164,17 @@ msgid "" "EOF) to exit\", and when called, raise :exc:`SystemExit` with the specified " "exit code." msgstr "" +"Objetos que, quando impressos, imprimem uma mensagem como \"Use quit() or " +"Ctrl-D (i.e. EOF) to exit\" e, quando chamados, levantam :exc:`SystemExit` " +"com o código de saída especificado." #: ../../library/constants.rst:100 msgid "" "Objects that when printed or called, print the text of copyright or credits, " "respectively." msgstr "" +"Objetos que ao serem impressos ou chamados, imprimem o texto dos direitos " +"autorais ou créditos, respectivamente." #: ../../library/constants.rst:105 msgid "" @@ -150,3 +182,6 @@ msgid "" "full license text\", and when called, displays the full license text in a " "pager-like fashion (one screen at a time)." msgstr "" +"Objeto que, quando impresso, imprime a mensagem \"Type license() to see the " +"full license text\" e, quando chamado, exibe o texto completo da licença de " +"maneira semelhante a um paginador (uma tela por vez)." diff --git a/library/contextlib.po b/library/contextlib.po index 489826ec0..7a65d7bcb 100644 --- a/library/contextlib.po +++ b/library/contextlib.po @@ -1,34 +1,34 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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 -# Claudio Rogerio Carvalho Filho , 2021 -# i17obot , 2021 +# python-doc bot, 2025 # #, 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 00:57+0000\n" -"Last-Translator: i17obot , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:57+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/contextlib.rst:2 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`" @@ -40,6 +40,9 @@ msgid "" "`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" @@ -47,7 +50,7 @@ msgstr "Utilitários" #: ../../library/contextlib.rst:19 msgid "Functions and classes provided:" -msgstr "" +msgstr "Funções e classes fornecidas:" #: ../../library/contextlib.rst:23 msgid "" @@ -57,6 +60,11 @@ msgid "" "__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 "" @@ -66,6 +74,11 @@ msgid "" "__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 "" @@ -81,21 +94,35 @@ msgid "" "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:73 +#: ../../library/contextlib.rst:69 +msgid "The function can then be used like this::" +msgstr "A função pode, então, ser usada da seguinte forma::" + +#: ../../library/contextlib.rst:75 msgid "" "The function being decorated must return a :term:`generator`-iterator when " "called. This iterator must yield exactly one value, which will be bound to " "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:77 +#: ../../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 " @@ -110,8 +137,20 @@ msgid "" "handled, and execution will resume with the statement immediately following " "the :keyword:`!with` statement." msgstr "" - -#: ../../library/contextlib.rst:89 +"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 "" ":func:`contextmanager` uses :class:`ContextDecorator` so the context " "managers it creates can be used as decorators as well as in :keyword:`with` " @@ -121,18 +160,27 @@ 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:96 +#: ../../library/contextlib.rst:98 msgid "Use of :class:`ContextDecorator`." -msgstr "" +msgstr "Uso de :class:`ContextDecorator`." -#: ../../library/contextlib.rst:102 +#: ../../library/contextlib.rst:104 msgid "" "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:105 +#: ../../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, " @@ -141,130 +189,166 @@ msgid "" "function." msgstr "" -#: ../../library/contextlib.rst:111 +#: ../../library/contextlib.rst:113 msgid "A simple example::" msgstr "Um exemplo simples::" -#: ../../library/contextlib.rst:129 +#: ../../library/contextlib.rst:131 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:145 +#: ../../library/contextlib.rst:149 msgid "" "When used as a decorator, a new generator instance is implicitly created on " "each function call. This allows the otherwise \"one-shot\" context managers " "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:150 +#: ../../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:157 +#: ../../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:169 +#: ../../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:178 +#: ../../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:184 +#: ../../library/contextlib.rst:188 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:196 +#: ../../library/contextlib.rst:200 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:207 +#: ../../library/contextlib.rst:211 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:219 +#: ../../library/contextlib.rst:223 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:233 +#: ../../library/contextlib.rst:237 msgid "An example using *enter_result*::" -msgstr "" +msgstr "Um exemplo usando *enter_result*::" -#: ../../library/contextlib.rst:246 +#: ../../library/contextlib.rst:250 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:262 +#: ../../library/contextlib.rst:266 msgid ":term:`asynchronous context manager` support was added." -msgstr "" +msgstr "Suporte a :term:`gerenciador de contexto assíncrono` foi adicionado." -#: ../../library/contextlib.rst:269 +#: ../../library/contextlib.rst:273 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:274 +#: ../../library/contextlib.rst:278 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:279 +#: ../../library/contextlib.rst:283 msgid "For example::" msgstr "Por exemplo::" -#: ../../library/contextlib.rst:289 +#: ../../library/contextlib.rst:293 msgid "This code is equivalent to::" -msgstr "" +msgstr "Este código equivale a::" -#: ../../library/contextlib.rst:301 ../../library/contextlib.rst:341 -#: ../../library/contextlib.rst:351 +#: ../../library/contextlib.rst:305 ../../library/contextlib.rst:345 +#: ../../library/contextlib.rst:355 msgid "This context manager is :ref:`reentrant `." -msgstr "" +msgstr "O gerenciador de contexto é :ref:`reentrante `." -#: ../../library/contextlib.rst:308 +#: ../../library/contextlib.rst:312 msgid "" "Context manager for temporarily redirecting :data:`sys.stdout` to another " "file or file-like object." msgstr "" -#: ../../library/contextlib.rst:311 +#: ../../library/contextlib.rst:315 msgid "" "This tool adds flexibility to existing functions or classes whose output is " "hardwired to stdout." msgstr "" -#: ../../library/contextlib.rst:314 +#: ../../library/contextlib.rst:318 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 :" @@ -273,17 +357,17 @@ msgid "" "`with` statement::" msgstr "" -#: ../../library/contextlib.rst:324 +#: ../../library/contextlib.rst:328 msgid "" "To send the output of :func:`help` to a file on disk, redirect the output to " "a regular file::" msgstr "" -#: ../../library/contextlib.rst:331 +#: ../../library/contextlib.rst:335 msgid "To send the output of :func:`help` to *sys.stderr*::" msgstr "" -#: ../../library/contextlib.rst:336 +#: ../../library/contextlib.rst:340 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 " @@ -291,56 +375,60 @@ msgid "" "it is still a useful approach for many utility scripts." msgstr "" -#: ../../library/contextlib.rst:348 +#: ../../library/contextlib.rst:352 msgid "" "Similar to :func:`~contextlib.redirect_stdout` but redirecting :data:`sys." "stderr` to another file or file-like object." msgstr "" -#: ../../library/contextlib.rst:358 +#: ../../library/contextlib.rst:362 msgid "" "A base class that enables a context manager to also be used as a decorator." msgstr "" -#: ../../library/contextlib.rst:360 +#: ../../library/contextlib.rst:364 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:364 +#: ../../library/contextlib.rst:368 msgid "" "``ContextDecorator`` is used by :func:`contextmanager`, so you get this " "functionality automatically." msgstr "" -#: ../../library/contextlib.rst:367 +#: ../../library/contextlib.rst:371 msgid "Example of ``ContextDecorator``::" msgstr "" -#: ../../library/contextlib.rst:396 +#: ../../library/contextlib.rst:384 ../../library/contextlib.rst:456 +msgid "The class can then be used like this::" +msgstr "" + +#: ../../library/contextlib.rst:402 msgid "" "This change is just syntactic sugar for any construct of the following form::" msgstr "" -#: ../../library/contextlib.rst:402 +#: ../../library/contextlib.rst:408 msgid "``ContextDecorator`` lets you instead write::" msgstr "" -#: ../../library/contextlib.rst:408 +#: ../../library/contextlib.rst:414 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:411 +#: ../../library/contextlib.rst:417 msgid "" "Existing context managers that already have a base class can be extended by " "using ``ContextDecorator`` as a mixin class::" msgstr "" -#: ../../library/contextlib.rst:424 +#: ../../library/contextlib.rst:430 msgid "" "As the decorated function must be able to be called multiple times, the " "underlying context manager must support use in multiple :keyword:`with` " @@ -348,29 +436,35 @@ msgid "" "explicit :keyword:`!with` statement inside the function should be used." msgstr "" -#: ../../library/contextlib.rst:434 +#: ../../library/contextlib.rst:440 msgid "" "Similar to :class:`ContextDecorator` but only for asynchronous functions." msgstr "" -#: ../../library/contextlib.rst:436 +#: ../../library/contextlib.rst:442 msgid "Example of ``AsyncContextDecorator``::" msgstr "" -#: ../../library/contextlib.rst:473 +#: ../../library/contextlib.rst:481 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:477 +#: ../../library/contextlib.rst:485 msgid "" "For example, a set of files may easily be handled in a single with statement " "as follows::" msgstr "" -#: ../../library/contextlib.rst:486 +#: ../../library/contextlib.rst:494 +msgid "" +"The :meth:`__enter__` method returns the :class:`ExitStack` instance, and " +"performs no additional operations." +msgstr "" + +#: ../../library/contextlib.rst:497 msgid "" "Each instance maintains a stack of registered callbacks that are called in " "reverse order when the instance is closed (either explicitly or implicitly " @@ -378,14 +472,14 @@ msgid "" "invoked implicitly when the context stack instance is garbage collected." msgstr "" -#: ../../library/contextlib.rst:491 +#: ../../library/contextlib.rst:502 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:495 +#: ../../library/contextlib.rst:506 msgid "" "Since registered callbacks are invoked in the reverse order of registration, " "this ends up behaving as if multiple nested :keyword:`with` statements had " @@ -395,7 +489,7 @@ msgid "" "updated state." msgstr "" -#: ../../library/contextlib.rst:502 +#: ../../library/contextlib.rst:513 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 " @@ -403,68 +497,68 @@ msgid "" "in application specific ways." msgstr "" -#: ../../library/contextlib.rst:511 +#: ../../library/contextlib.rst:522 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." msgstr "" -#: ../../library/contextlib.rst:515 +#: ../../library/contextlib.rst:526 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:520 +#: ../../library/contextlib.rst:531 msgid "Adds a context manager's :meth:`__exit__` method to the callback stack." msgstr "" -#: ../../library/contextlib.rst:522 +#: ../../library/contextlib.rst:533 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." msgstr "" -#: ../../library/contextlib.rst:526 +#: ../../library/contextlib.rst:537 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." msgstr "" -#: ../../library/contextlib.rst:530 +#: ../../library/contextlib.rst:541 msgid "" "By returning true values, these callbacks can suppress exceptions the same " "way context manager :meth:`__exit__` methods can." msgstr "" -#: ../../library/contextlib.rst:533 +#: ../../library/contextlib.rst:544 msgid "" "The passed in object is returned from the function, allowing this method to " "be used as a function decorator." msgstr "" -#: ../../library/contextlib.rst:538 +#: ../../library/contextlib.rst:549 msgid "" "Accepts an arbitrary callback function and arguments and adds it to the " "callback stack." msgstr "" -#: ../../library/contextlib.rst:541 +#: ../../library/contextlib.rst:552 msgid "" "Unlike the other methods, callbacks added this way cannot suppress " "exceptions (as they are never passed the exception details)." msgstr "" -#: ../../library/contextlib.rst:544 +#: ../../library/contextlib.rst:555 msgid "" "The passed in callback is returned from the function, allowing this method " "to be used as a function decorator." msgstr "" -#: ../../library/contextlib.rst:549 +#: ../../library/contextlib.rst:560 msgid "" "Transfers the callback stack to a fresh :class:`ExitStack` instance and " "returns it. No callbacks are invoked by this operation - instead, they will " @@ -472,70 +566,70 @@ msgid "" "at the end of a :keyword:`with` statement)." msgstr "" -#: ../../library/contextlib.rst:554 +#: ../../library/contextlib.rst:565 msgid "" "For example, a group of files can be opened as an \"all or nothing\" " "operation as follows::" msgstr "" -#: ../../library/contextlib.rst:568 +#: ../../library/contextlib.rst:579 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:575 +#: ../../library/contextlib.rst:586 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." msgstr "" -#: ../../library/contextlib.rst:580 +#: ../../library/contextlib.rst:591 msgid "" "The :meth:`close` method is not implemented, :meth:`aclose` must be used " "instead." msgstr "" -#: ../../library/contextlib.rst:585 +#: ../../library/contextlib.rst:596 msgid "" "Similar to :meth:`enter_context` but expects an asynchronous context manager." msgstr "" -#: ../../library/contextlib.rst:590 +#: ../../library/contextlib.rst:601 msgid "" "Similar to :meth:`push` but expects either an asynchronous context manager " "or a coroutine function." msgstr "" -#: ../../library/contextlib.rst:595 +#: ../../library/contextlib.rst:606 msgid "Similar to :meth:`callback` but expects a coroutine function." msgstr "" -#: ../../library/contextlib.rst:599 +#: ../../library/contextlib.rst:610 msgid "Similar to :meth:`close` but properly handles awaitables." msgstr "" -#: ../../library/contextlib.rst:601 +#: ../../library/contextlib.rst:612 msgid "Continuing the example for :func:`asynccontextmanager`::" msgstr "" -#: ../../library/contextlib.rst:613 +#: ../../library/contextlib.rst:624 msgid "Examples and Recipes" msgstr "Exemplos e receitas" -#: ../../library/contextlib.rst:615 +#: ../../library/contextlib.rst:626 msgid "" "This section describes some examples and recipes for making effective use of " "the tools provided by :mod:`contextlib`." msgstr "" -#: ../../library/contextlib.rst:620 +#: ../../library/contextlib.rst:631 msgid "Supporting a variable number of context managers" msgstr "" -#: ../../library/contextlib.rst:622 +#: ../../library/contextlib.rst:633 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 " @@ -545,18 +639,18 @@ msgid "" "of the context managers being optional::" msgstr "" -#: ../../library/contextlib.rst:637 +#: ../../library/contextlib.rst:648 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:643 +#: ../../library/contextlib.rst:654 msgid "Catching exceptions from ``__enter__`` methods" msgstr "" -#: ../../library/contextlib.rst:645 +#: ../../library/contextlib.rst:656 msgid "" "It is occasionally desirable to catch exceptions from an ``__enter__`` " "method implementation, *without* inadvertently catching exceptions from the :" @@ -565,7 +659,7 @@ msgid "" "be separated slightly in order to allow this::" msgstr "" -#: ../../library/contextlib.rst:660 +#: ../../library/contextlib.rst:671 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 :" @@ -576,29 +670,29 @@ msgid "" "`with` statement." msgstr "" -#: ../../library/contextlib.rst:670 +#: ../../library/contextlib.rst:681 msgid "Cleaning up in an ``__enter__`` implementation" msgstr "" -#: ../../library/contextlib.rst:672 +#: ../../library/contextlib.rst:683 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." msgstr "" -#: ../../library/contextlib.rst:676 +#: ../../library/contextlib.rst:687 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:716 +#: ../../library/contextlib.rst:727 msgid "Replacing any use of ``try-finally`` and flag variables" msgstr "" -#: ../../library/contextlib.rst:718 +#: ../../library/contextlib.rst:729 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 " @@ -606,57 +700,61 @@ msgid "" "by using an ``except`` clause instead), it looks something like this::" msgstr "" -#: ../../library/contextlib.rst:732 +#: ../../library/contextlib.rst:743 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:736 +#: ../../library/contextlib.rst:747 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:748 +#: ../../library/contextlib.rst:759 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:751 +#: ../../library/contextlib.rst:762 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:769 +#: ../../library/contextlib.rst:780 msgid "" "If the resource cleanup isn't already neatly bundled into a standalone " "function, then it is still possible to use the decorator form of :meth:" "`ExitStack.callback` to declare the resource cleanup in advance::" msgstr "" -#: ../../library/contextlib.rst:784 +#: ../../library/contextlib.rst:795 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:790 +#: ../../library/contextlib.rst:801 msgid "Using a context manager as a function decorator" msgstr "" -#: ../../library/contextlib.rst:792 +#: ../../library/contextlib.rst:803 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:795 +#: ../../library/contextlib.rst:806 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. " @@ -665,15 +763,15 @@ msgid "" "in a single definition::" msgstr "" -#: ../../library/contextlib.rst:816 +#: ../../library/contextlib.rst:827 msgid "Instances of this class can be used as both a context manager::" msgstr "" -#: ../../library/contextlib.rst:822 +#: ../../library/contextlib.rst:833 msgid "And also as a function decorator::" msgstr "" -#: ../../library/contextlib.rst:829 +#: ../../library/contextlib.rst:840 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:" @@ -681,11 +779,11 @@ msgid "" "explicit ``with`` statement." msgstr "" -#: ../../library/contextlib.rst:837 +#: ../../library/contextlib.rst:848 msgid ":pep:`343` - The \"with\" statement" msgstr ":pep:`343` - A instrução \"with\"" -#: ../../library/contextlib.rst:837 +#: ../../library/contextlib.rst:848 msgid "" "The specification, background, and examples for the Python :keyword:`with` " "statement." @@ -693,11 +791,11 @@ msgstr "" "A especificação, o histórico e os exemplos para a instrução Python :keyword:" "`with`." -#: ../../library/contextlib.rst:843 +#: ../../library/contextlib.rst:854 msgid "Single use, reusable and reentrant context managers" msgstr "" -#: ../../library/contextlib.rst:845 +#: ../../library/contextlib.rst:856 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 " @@ -705,32 +803,32 @@ msgid "" "them a second time will trigger an exception or otherwise not work correctly." msgstr "" -#: ../../library/contextlib.rst:851 +#: ../../library/contextlib.rst:862 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:855 +#: ../../library/contextlib.rst:866 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:859 +#: ../../library/contextlib.rst:870 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:887 +#: ../../library/contextlib.rst:898 msgid "Reentrant context managers" msgstr "" -#: ../../library/contextlib.rst:889 +#: ../../library/contextlib.rst:900 msgid "" "More sophisticated context managers may be \"reentrant\". These context " "managers can not only be used in multiple :keyword:`with` statements, but " @@ -738,21 +836,21 @@ msgid "" "the same context manager." msgstr "" -#: ../../library/contextlib.rst:894 +#: ../../library/contextlib.rst:905 msgid "" ":class:`threading.RLock` is an example of a reentrant context manager, as " "are :func:`suppress` and :func:`redirect_stdout`. Here's a very simple " "example of reentrant use::" msgstr "" -#: ../../library/contextlib.rst:913 +#: ../../library/contextlib.rst:924 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:917 +#: ../../library/contextlib.rst:928 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, " @@ -760,35 +858,35 @@ msgid "" "stdout` to a different stream." msgstr "" -#: ../../library/contextlib.rst:926 +#: ../../library/contextlib.rst:937 msgid "Reusable context managers" msgstr "Gerenciadores de contexto reutilizáveis" -#: ../../library/contextlib.rst:928 +#: ../../library/contextlib.rst:939 msgid "" -"Distinct from both single use and reentrant context managers are \"reusable" -"\" context managers (or, to be completely explicit, \"reusable, but not " -"reentrant\" context managers, since reentrant context managers are also " -"reusable). These context managers support being used multiple times, but " -"will fail (or otherwise not work correctly) if the specific context manager " -"instance has already been used in a containing with statement." +"Distinct from both single use and reentrant context managers are " +"\"reusable\" context managers (or, to be completely explicit, \"reusable, " +"but not reentrant\" context managers, since reentrant context managers are " +"also reusable). These context managers support being used multiple times, " +"but will fail (or otherwise not work correctly) if the specific context " +"manager instance has already been used in a containing with statement." msgstr "" -#: ../../library/contextlib.rst:935 +#: ../../library/contextlib.rst:946 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)." msgstr "" -#: ../../library/contextlib.rst:939 +#: ../../library/contextlib.rst:950 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::" msgstr "" -#: ../../library/contextlib.rst:970 +#: ../../library/contextlib.rst:981 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 " @@ -796,7 +894,7 @@ msgid "" "which is unlikely to be desirable behaviour." msgstr "" -#: ../../library/contextlib.rst:975 +#: ../../library/contextlib.rst:986 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 0f5988dff..16169ec36 100644 --- a/library/contextvars.po +++ b/library/contextvars.po @@ -1,28 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, Python Software 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.10\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-06-29 12:56+0000\n" -"PO-Revision-Date: 2021-06-28 00:57+0000\n" -"Last-Translator: i17obot , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2026-01-23 17:24+0000\n" +"PO-Revision-Date: 2025-09-22 15:57+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/contextvars.rst:2 msgid ":mod:`contextvars` --- Context Variables" @@ -181,12 +180,11 @@ msgstr "" 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` is the variable was not set before the call." +"`Token.MISSING` if the variable was not set before the call." msgstr "" -"Uma propriedade somente leitura. Defina com o valor que a variável tinha " -"antes da chamada do método :meth:`ContextVar.set` que criou o token. Ele " -"aponta para :attr:`Token.MISSING` é a variável não foi definida antes da " -"chamada." +"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." #: ../../library/contextvars.rst:118 msgid "A marker object used by :attr:`Token.old_value`." @@ -206,7 +204,7 @@ 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 "" @@ -230,10 +228,22 @@ msgstr "" "do contexto atual, use a função :func:`~contextvars.copy_context`." #: ../../library/contextvars.rst:147 +msgid "" +"Every thread will have a different top-level :class:`~contextvars.Context` " +"object. This means that a :class:`ContextVar` object behaves in a similar " +"fashion to :func:`threading.local()` when values are assigned in different " +"threads." +msgstr "" +"Cada thread terá um objeto :class:`~contextvars.Context` de nível superior " +"diferente. Isso significa que um objeto :class:`ContextVar` se comporta de " +"maneira semelhante a :func:`threading.local()` quando valores são atribuídos " +"em diferentes threads." + +#: ../../library/contextvars.rst:152 msgid "Context implements the :class:`collections.abc.Mapping` interface." msgstr "Context implementa a interface :class:`collections.abc.Mapping`." -#: ../../library/contextvars.rst:151 +#: ../../library/contextvars.rst:156 msgid "" "Execute ``callable(*args, **kwargs)`` code in the context object the *run* " "method is called on. Return the result of the execution or propagate an " @@ -243,7 +253,7 @@ msgstr "" "método *run* é chamado. Retorna o resultado da execução ou propaga uma " "exceção, se ocorrer." -#: ../../library/contextvars.rst:155 +#: ../../library/contextvars.rst:160 msgid "" "Any changes to any context variables that *callable* makes will be contained " "in the context object::" @@ -251,7 +261,7 @@ msgstr "" "Quaisquer mudanças em quaisquer variáveis de contexto que *callable* faça " "estarão contidas no objeto de contexto::" -#: ../../library/contextvars.rst:184 +#: ../../library/contextvars.rst:189 msgid "" "The method raises a :exc:`RuntimeError` when called on the same context " "object from more than one OS thread, or when called recursively." @@ -260,11 +270,11 @@ msgstr "" "contexto de mais de uma thread do sistema operacional, ou quando chamado " "recursivamente." -#: ../../library/contextvars.rst:190 +#: ../../library/contextvars.rst:195 msgid "Return a shallow copy of the context object." msgstr "Retorna uma cópia rasa do objeto contexto." -#: ../../library/contextvars.rst:194 +#: ../../library/contextvars.rst:199 msgid "" "Return ``True`` if the *context* has a value for *var* set; return ``False`` " "otherwise." @@ -272,7 +282,7 @@ msgstr "" "Retorna ``True`` se *context* tem uma variável para *var* definida; do " "contrário, retorna ``False``." -#: ../../library/contextvars.rst:199 +#: ../../library/contextvars.rst:204 msgid "" "Return the value of the *var* :class:`ContextVar` variable. If the variable " "is not set in the context object, a :exc:`KeyError` is raised." @@ -280,7 +290,7 @@ msgstr "" "Retorna o valor da variável :class:`ContextVar` *var*. Se a variável não for " "definida no objeto contexto, uma :exc:`KeyError` é levantada." -#: ../../library/contextvars.rst:205 +#: ../../library/contextvars.rst:210 msgid "" "Return the value for *var* if *var* has the value in the context object. " "Return *default* otherwise. If *default* is not given, return ``None``." @@ -289,24 +299,24 @@ msgstr "" "contrário, retorna *default*. Se *default* não for fornecido, retorna " "``None``." -#: ../../library/contextvars.rst:211 +#: ../../library/contextvars.rst:216 msgid "Return an iterator over the variables stored in the context object." msgstr "Retorna um iterador sobre as variáveis armazenadas no objeto contexto." -#: ../../library/contextvars.rst:216 +#: ../../library/contextvars.rst:221 msgid "Return the number of variables set in the context object." msgstr "Retorna o número das variáveis definidas no objeto contexto." -#: ../../library/contextvars.rst:220 +#: ../../library/contextvars.rst:225 msgid "Return a list of all variables in the context object." msgstr "Retorna uma lista de todas as variáveis no objeto contexto." -#: ../../library/contextvars.rst:224 +#: ../../library/contextvars.rst:229 msgid "Return a list of all variables' values in the context object." msgstr "" "Retorna uma lista dos valores de todas as variáveis no objeto contexto." -#: ../../library/contextvars.rst:229 +#: ../../library/contextvars.rst:234 msgid "" "Return a list of 2-tuples containing all variables and their values in the " "context object." @@ -314,11 +324,11 @@ msgstr "" "Retorna uma lista de tuplas de 2 elementos contendo todas as variáveis e " "seus valores no objeto contexto." -#: ../../library/contextvars.rst:234 +#: ../../library/contextvars.rst:239 msgid "asyncio support" msgstr "Suporte a asyncio" -#: ../../library/contextvars.rst:236 +#: ../../library/contextvars.rst:241 msgid "" "Context variables are natively supported in :mod:`asyncio` and are ready to " "be used without any extra configuration. For example, here is a simple echo " diff --git a/library/copy.po b/library/copy.po index 1ae825e8b..3e74b777c 100644 --- a/library/copy.po +++ b/library/copy.po @@ -1,27 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, Python Software 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 , 2021 +# python-doc bot, 2025 # #, 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:03+0000\n" -"Last-Translator: Rafael Fontenelle , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2026-01-23 17:24+0000\n" +"PO-Revision-Date: 2025-09-22 15:57+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/copy.rst:2 msgid ":mod:`copy` --- Shallow and deep copy operations" @@ -39,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:" @@ -55,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." @@ -76,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 "" @@ -108,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 @@ -134,16 +134,16 @@ msgstr "" #: ../../library/copy.rst:62 msgid "" "This module does not copy types like module, method, stack trace, stack " -"frame, file, socket, window, array, or any similar types. It does \"copy\" " +"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." 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, vetor " -"ou outros tipos semelhantes. Ele \"copia\" funções e classes (rasas e " +"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 "" @@ -152,7 +152,7 @@ msgid "" "original_list[:]``." msgstr "" "Cópias rasas de dicionários podem ser feitas usando :meth:`dict.copy`, e de " -"listas atribuindo uma fatia de toda a lista, por exemplo, ``lista_copiada = " +"listas, atribuindo uma fatia de toda a lista, por exemplo: ``lista_copiada = " "lista_original[:]``." #: ../../library/copy.rst:73 @@ -163,9 +163,9 @@ 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 "" @@ -183,11 +183,11 @@ msgstr "" "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`" @@ -198,5 +198,5 @@ 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." diff --git a/library/copyreg.po b/library/copyreg.po index bf6742cde..d42762f19 100644 --- a/library/copyreg.po +++ b/library/copyreg.po @@ -1,27 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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.10\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-06-29 12:56+0000\n" -"PO-Revision-Date: 2021-06-28 01:03+0000\n" -"Last-Translator: And Past , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:57+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/copyreg.rst:2 msgid ":mod:`copyreg` --- Register :mod:`pickle` support functions" @@ -58,42 +58,33 @@ msgstr "" msgid "" "Declares that *function* should be used as a \"reduction\" function for " "objects of type *type*. *function* should return either a string or a tuple " -"containing two or three elements." +"containing two or three elements. See the :attr:`~pickle.Pickler." +"dispatch_table` for more details on the interface of *function*." msgstr "" -"Declara que *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 dois ou três elementos." -#: ../../library/copyreg.rst:34 +#: ../../library/copyreg.rst:35 msgid "" -"The optional *constructor* parameter, if provided, is a callable object " -"which can be used to reconstruct the object when called with the tuple of " -"arguments returned by *function* at pickling time. :exc:`TypeError` will be " -"raised if *object* is a class or *constructor* is not callable." +"The *constructor_ob* parameter is a legacy feature and is now ignored, but " +"if passed it must be a callable." msgstr "" -"O parâmetro opcional *constructor*, se fornecido, é um objeto chamável, que " -"pode ser usado para reconstruir o objeto quando chamado com a tupla de " -"argumentos retornados por *function* no tempo de decapagem. :exc:`TypeError` " -"será levantada se *object* for uma classe ou o *constructor* não for " -"chamável." +"O parâmetro *constructor_ob* é um recurso herdado e agora é ignorado, mas se " +"passado deve ser UM chamável." -#: ../../library/copyreg.rst:39 +#: ../../library/copyreg.rst:38 msgid "" -"See the :mod:`pickle` module for more details on the interface expected of " -"*function* and *constructor*. Note that the :attr:`~pickle.Pickler." -"dispatch_table` attribute of a pickler object or subclass of :class:`pickle." -"Pickler` can also be used for declaring reduction functions." +"Note that the :attr:`~pickle.Pickler.dispatch_table` attribute of a pickler " +"object or subclass of :class:`pickle.Pickler` can also be used for declaring " +"reduction functions." msgstr "" -"Veja o módulo :mod:`pickle` para mais detalhes sobre a interface esperada de " -"*function* e *constructor*. Note que o atributo :attr:`~pickle.Pickler." -"dispatch_table` de um objeto pickler ou subclasse de :class:`pickle.Pickler` " -"também podem ser usados para declarar funções de redução." +"Note que o atributo :attr:`~pickle.Pickler.dispatch_table` de um objeto " +"pickler ou subclasse de :class:`pickle.Pickler` também podem ser usados para " +"declarar funções de redução." -#: ../../library/copyreg.rst:46 +#: ../../library/copyreg.rst:43 msgid "Example" msgstr "Exemplo" -#: ../../library/copyreg.rst:48 +#: ../../library/copyreg.rst:45 msgid "" "The example below would like to show how to register a pickle function and " "how it will be used:" diff --git a/library/crypt.po b/library/crypt.po index 0b07b09e8..ce6f941f9 100644 --- a/library/crypt.po +++ b/library/crypt.po @@ -1,38 +1,44 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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 -# i17obot , 2021 +# python-doc bot, 2025 # #, 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:03+0000\n" -"Last-Translator: i17obot , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:57+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/crypt.rst:2 msgid ":mod:`crypt` --- Function to check Unix passwords" msgstr "" -#: ../../library/crypt.rst:12 +#: ../../library/crypt.rst:13 msgid "**Source code:** :source:`Lib/crypt.py`" msgstr "**Código-fonte:** :source:`Lib/crypt.py`" -#: ../../library/crypt.rst:20 +#: ../../library/crypt.rst:19 +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." +msgstr "" + +#: ../../library/crypt.rst:26 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 " @@ -41,7 +47,7 @@ msgid "" "attempting to crack Unix passwords with a dictionary." msgstr "" -#: ../../library/crypt.rst:28 +#: ../../library/crypt.rst:34 msgid "" "Notice that the behavior of this module depends on the actual " "implementation of the :manpage:`crypt(3)` routine in the running system. " @@ -49,124 +55,124 @@ msgid "" "be available on this module." msgstr "" -#: ../../library/crypt.rst:34 +#: ../../library/crypt.rst:40 msgid ":ref:`Availability `: Unix. Not available on VxWorks." msgstr "" -#: ../../library/crypt.rst:36 +#: ../../library/crypt.rst:42 msgid "Hashing Methods" msgstr "" -#: ../../library/crypt.rst:40 +#: ../../library/crypt.rst:46 msgid "" "The :mod:`crypt` module defines the list of hashing methods (not all methods " "are available on all platforms):" msgstr "" -#: ../../library/crypt.rst:45 +#: ../../library/crypt.rst:51 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:50 +#: ../../library/crypt.rst:56 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:55 +#: ../../library/crypt.rst:61 msgid "" "Another Modular Crypt Format method with 22 character salt and 31 character " "hash based on the Blowfish cipher." msgstr "" -#: ../../library/crypt.rst:62 +#: ../../library/crypt.rst:68 msgid "" "Another Modular Crypt Format method with 8 character salt and 22 character " "hash based on the MD5 hash function." msgstr "" -#: ../../library/crypt.rst:67 +#: ../../library/crypt.rst:73 msgid "" "The traditional method with a 2 character salt and 13 characters of hash. " "This is the weakest method." msgstr "" -#: ../../library/crypt.rst:72 +#: ../../library/crypt.rst:78 msgid "Module Attributes" msgstr "Atributos do módulo" -#: ../../library/crypt.rst:78 +#: ../../library/crypt.rst:84 msgid "" "A list of available password hashing algorithms, as ``crypt.METHOD_*`` " "objects. This list is sorted from strongest to weakest." msgstr "" -#: ../../library/crypt.rst:84 +#: ../../library/crypt.rst:90 msgid "Module Functions" msgstr "" -#: ../../library/crypt.rst:86 +#: ../../library/crypt.rst:92 msgid "The :mod:`crypt` module defines the following functions:" msgstr "" -#: ../../library/crypt.rst:90 +#: ../../library/crypt.rst:96 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 " "from :func:`mksalt`, one of the ``crypt.METHOD_*`` values (though not all " "may be available on all platforms), or a full encrypted password including " "salt, as returned by this function. If *salt* is not provided, the " -"strongest method will be used (as returned by :func:`methods`)." +"strongest method available in :attr:`methods` will be used." msgstr "" -#: ../../library/crypt.rst:98 +#: ../../library/crypt.rst:103 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:102 +#: ../../library/crypt.rst:107 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 " +"*salt* (either a random 2 or 16 character string, possibly prefixed with " +"``$digit$`` to indicate the method) which will be used to perturb the " "encryption algorithm. The characters in *salt* must be in the set ``[./a-zA-" -"Z0-9]``, with the exception of Modular Crypt Format which prefixes a ``$digit" -"$``." +"Z0-9]``, with the exception of Modular Crypt Format which prefixes a " +"``$digit$``." msgstr "" -#: ../../library/crypt.rst:108 +#: ../../library/crypt.rst:113 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:113 +#: ../../library/crypt.rst:118 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:117 +#: ../../library/crypt.rst:122 msgid "Accept ``crypt.METHOD_*`` values in addition to strings for *salt*." msgstr "" -#: ../../library/crypt.rst:123 +#: ../../library/crypt.rst:128 msgid "" "Return a randomly generated salt of the specified method. If no *method* is " -"given, the strongest method available as returned by :func:`methods` is used." +"given, the strongest method available in :attr:`methods` is used." msgstr "" -#: ../../library/crypt.rst:127 +#: ../../library/crypt.rst:132 msgid "" "The return value is a string suitable for passing as the *salt* argument to :" "func:`crypt`." msgstr "" -#: ../../library/crypt.rst:130 +#: ../../library/crypt.rst:135 msgid "" "*rounds* specifies the number of rounds for ``METHOD_SHA256``, " "``METHOD_SHA512`` and ``METHOD_BLOWFISH``. For ``METHOD_SHA256`` and " @@ -176,22 +182,22 @@ msgid "" "sup:`31`), the default is ``4096`` (2\\ :sup:`12`)." msgstr "" -#: ../../library/crypt.rst:140 +#: ../../library/crypt.rst:145 msgid "Added the *rounds* parameter." msgstr "" -#: ../../library/crypt.rst:145 +#: ../../library/crypt.rst:150 msgid "Examples" msgstr "Exemplos" -#: ../../library/crypt.rst:147 +#: ../../library/crypt.rst:152 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)::" msgstr "" -#: ../../library/crypt.rst:167 +#: ../../library/crypt.rst:172 msgid "" "To generate a hash of a password using the strongest available method and " "check it against the original::" diff --git a/library/crypto.po b/library/crypto.po index fb791aad0..2c6a696b1 100644 --- a/library/crypto.po +++ b/library/crypto.po @@ -1,27 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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.10\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-06-29 12:56+0000\n" -"PO-Revision-Date: 2021-06-28 01:03+0000\n" -"Last-Translator: Raphael Mendonça, 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:57+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/crypto.rst:5 msgid "Cryptographic Services" diff --git a/library/csv.po b/library/csv.po index 0f0185c81..29f5707db 100644 --- a/library/csv.po +++ b/library/csv.po @@ -1,28 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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 -# i17obot , 2021 -# Rafael Fontenelle , 2021 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.10\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-08-07 13:13+0000\n" -"PO-Revision-Date: 2021-06-28 01:03+0000\n" -"Last-Translator: Rafael Fontenelle , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:57+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/csv.rst:2 msgid ":mod:`csv` --- CSV File Reading and Writing" @@ -86,7 +85,7 @@ msgstr "" #: ../../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." @@ -606,7 +605,7 @@ msgstr "" #: ../../library/csv.rst:415 msgid "" -"When :const:`True`, whitespace immediately following the *delimiter* is " +"When :const:`True`, spaces immediately following the *delimiter* are " "ignored. The default is :const:`False`." msgstr "" "Quando :const:`True`, os espaços em branco imediatamente após o *delimiter* " diff --git a/library/ctypes.po b/library/ctypes.po index 980b5ed02..f68de927f 100644 --- a/library/ctypes.po +++ b/library/ctypes.po @@ -1,35 +1,39 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, Python Software 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 , 2021 -# Claudio Rogerio Carvalho Filho , 2021 +# python-doc bot, 2025 +# Marcos Moraes, 2025 +# Adorilson Bezerra , 2026 # #, 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:03+0000\n" -"Last-Translator: Claudio Rogerio Carvalho Filho , " -"2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2026-02-21 17:36+0000\n" +"PO-Revision-Date: 2025-09-22 15:57+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=2; plural=(n > 1);\n" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/ctypes.rst:2 msgid ":mod:`ctypes` --- A foreign function library for Python" msgstr ":mod:`ctypes` --- Uma biblioteca de funções externas para Python" -#: ../../library/ctypes.rst:11 +#: ../../library/ctypes.rst:9 +msgid "**Source code:** :source:`Lib/ctypes`" +msgstr "**Código-fonte:** :source:`Lib/ctypes`" + +#: ../../library/ctypes.rst:13 msgid "" ":mod:`ctypes` is a foreign function library for Python. It provides C " "compatible data types, and allows calling functions in DLLs or shared " @@ -40,40 +44,47 @@ msgstr "" "bibliotecas compartilhadas. Ela pode ser usada para agrupar essas " "bibliotecas em Python puro." -#: ../../library/ctypes.rst:19 +#: ../../library/ctypes.rst:21 msgid "ctypes tutorial" -msgstr "Tutorial ctypes" +msgstr "Tutorial do ctypes" -#: ../../library/ctypes.rst:21 +#: ../../library/ctypes.rst:23 msgid "" "Note: The code samples in this tutorial use :mod:`doctest` to make sure that " "they actually work. Since some code samples behave differently under Linux, " -"Windows, or Mac OS X, they contain doctest directives in comments." +"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 Mac OS X, elas contêm diretrizes " -"de doctest nos comentários." +"de maneira diferente no Linux, Windows ou macOS, elas contêm diretrizes de " +"doctest nos comentários." -#: ../../library/ctypes.rst:25 +#: ../../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." 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:33 +#: ../../library/ctypes.rst:35 msgid "Loading dynamic link libraries" -msgstr "" +msgstr "Carregando bibliotecas de ligação dinâmica" -#: ../../library/ctypes.rst:35 +#: ../../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:38 +#: ../../library/ctypes.rst:40 msgid "" "You load libraries by accessing them as attributes of these objects. *cdll* " "loads libraries which export functions using the standard ``cdecl`` calling " @@ -84,32 +95,39 @@ msgid "" "the function call fails." msgstr "" -#: ../../library/ctypes.rst:46 +#: ../../library/ctypes.rst:48 msgid "" "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:51 +#: ../../library/ctypes.rst:53 msgid "" "Here are some examples for Windows. Note that ``msvcrt`` is the MS standard " "C library containing most standard C functions, and uses the cdecl calling " "convention::" msgstr "" -#: ../../library/ctypes.rst:63 +#: ../../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:66 +#: ../../library/ctypes.rst:68 msgid "" "Accessing the standard C library through ``cdll.msvcrt`` will use an " "outdated version of the library that may be incompatible with the one being " "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:71 +#: ../../library/ctypes.rst:73 msgid "" "On Linux, it is required to specify the filename *including* the extension " "to load a library, so attribute access can not be used to load libraries. " @@ -118,15 +136,15 @@ msgid "" "constructor::" msgstr "" -#: ../../library/ctypes.rst:89 +#: ../../library/ctypes.rst:91 msgid "Accessing functions from loaded dlls" -msgstr "" +msgstr "Acessando funções de dlls carregadas" -#: ../../library/ctypes.rst:91 +#: ../../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:106 +#: ../../library/ctypes.rst:108 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 +155,41 @@ msgid "" "``GetModuleHandle`` depending on whether UNICODE is defined or not::" msgstr "" -#: ../../library/ctypes.rst:119 +#: ../../library/ctypes.rst:121 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:123 +#: ../../library/ctypes.rst:125 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::" 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:131 +#: ../../library/ctypes.rst:133 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:148 +#: ../../library/ctypes.rst:150 msgid "Calling functions" -msgstr "" +msgstr "Chamando funções" -#: ../../library/ctypes.rst:150 +#: ../../library/ctypes.rst:152 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,294 +197,313 @@ msgid "" "module handle." msgstr "" -#: ../../library/ctypes.rst:155 +#: ../../library/ctypes.rst:157 msgid "" "This example calls both functions with a ``NULL`` pointer (``None`` should " "be used as the ``NULL`` pointer)::" msgstr "" -#: ../../library/ctypes.rst:164 +#: ../../library/ctypes.rst:166 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:179 +#: ../../library/ctypes.rst:181 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:182 +#: ../../library/ctypes.rst:184 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:192 +#: ../../library/ctypes.rst:194 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:197 +#: ../../library/ctypes.rst:199 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:type:" -"`char *` or :c:type:`wchar_t *`). Python integers are passed as the " -"platforms default C :c:type:`int` type, their value is masked to fit into " +"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:204 +#: ../../library/ctypes.rst:206 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:211 ../../library/ctypes.rst:2143 +#: ../../library/ctypes.rst:213 ../../library/ctypes.rst:2160 msgid "Fundamental data types" -msgstr "" +msgstr "Tipos de dados fundamentais" -#: ../../library/ctypes.rst:213 +#: ../../library/ctypes.rst:215 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:216 +#: ../../library/ctypes.rst:218 msgid "ctypes type" -msgstr "ctypes type" +msgstr "Tipo ctypes" -#: ../../library/ctypes.rst:216 +#: ../../library/ctypes.rst:218 msgid "C type" -msgstr "C type" +msgstr "Tipo em C" -#: ../../library/ctypes.rst:216 +#: ../../library/ctypes.rst:218 msgid "Python type" -msgstr "Python type" +msgstr "Tipo em Python" -#: ../../library/ctypes.rst:218 +#: ../../library/ctypes.rst:220 msgid ":class:`c_bool`" msgstr ":class:`c_bool`" -#: ../../library/ctypes.rst:218 -msgid ":c:type:`_Bool`" -msgstr ":c:type:`_Bool`" +#: ../../library/ctypes.rst:220 +msgid ":c:expr:`_Bool`" +msgstr ":c:expr:`_Bool`" -#: ../../library/ctypes.rst:218 +#: ../../library/ctypes.rst:220 msgid "bool (1)" msgstr "bool (1)" -#: ../../library/ctypes.rst:220 +#: ../../library/ctypes.rst:222 msgid ":class:`c_char`" msgstr ":class:`c_char`" -#: ../../library/ctypes.rst:220 ../../library/ctypes.rst:224 -msgid ":c:type:`char`" -msgstr ":c:type:`char`" +#: ../../library/ctypes.rst:222 ../../library/ctypes.rst:226 +msgid ":c:expr:`char`" +msgstr ":c:expr:`char`" -#: ../../library/ctypes.rst:220 +#: ../../library/ctypes.rst:222 msgid "1-character bytes object" -msgstr "1-character bytes object" +msgstr "objeto bytes de 1 caractere" -#: ../../library/ctypes.rst:222 +#: ../../library/ctypes.rst:224 msgid ":class:`c_wchar`" msgstr ":class:`c_wchar`" -#: ../../library/ctypes.rst:222 -msgid ":c:type:`wchar_t`" -msgstr ":c:type:`wchar_t`" +#: ../../library/ctypes.rst:224 +msgid ":c:expr:`wchar_t`" +msgstr "" -#: ../../library/ctypes.rst:222 +#: ../../library/ctypes.rst:224 msgid "1-character string" -msgstr "1-character string" +msgstr "string de 1 caractere" -#: ../../library/ctypes.rst:224 +#: ../../library/ctypes.rst:226 msgid ":class:`c_byte`" msgstr ":class:`c_byte`" -#: ../../library/ctypes.rst:224 ../../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:245 ../../library/ctypes.rst:247 +#: ../../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 msgid "int" msgstr "int" -#: ../../library/ctypes.rst:226 +#: ../../library/ctypes.rst:228 msgid ":class:`c_ubyte`" msgstr ":class:`c_ubyte`" -#: ../../library/ctypes.rst:226 -msgid ":c:type:`unsigned char`" -msgstr ":c:type:`unsigned char`" - #: ../../library/ctypes.rst:228 +msgid ":c:expr:`unsigned char`" +msgstr ":c:expr:`unsigned char`" + +#: ../../library/ctypes.rst:230 msgid ":class:`c_short`" msgstr ":class:`c_short`" -#: ../../library/ctypes.rst:228 -msgid ":c:type:`short`" -msgstr ":c:type:`short`" - #: ../../library/ctypes.rst:230 +msgid ":c:expr:`short`" +msgstr ":c:expr:`short`" + +#: ../../library/ctypes.rst:232 msgid ":class:`c_ushort`" msgstr ":class:`c_ushort`" -#: ../../library/ctypes.rst:230 -msgid ":c:type:`unsigned short`" -msgstr ":c:type:`unsigned short`" - #: ../../library/ctypes.rst:232 +msgid ":c:expr:`unsigned short`" +msgstr ":c:expr:`unsigned short`" + +#: ../../library/ctypes.rst:234 msgid ":class:`c_int`" msgstr ":class:`c_int`" -#: ../../library/ctypes.rst:232 -msgid ":c:type:`int`" -msgstr ":c:type:`int`" - #: ../../library/ctypes.rst:234 +msgid ":c:expr:`int`" +msgstr ":c:expr:`int`" + +#: ../../library/ctypes.rst:236 msgid ":class:`c_uint`" msgstr ":class:`c_uint`" -#: ../../library/ctypes.rst:234 -msgid ":c:type:`unsigned int`" -msgstr ":c:type:`unsigned int`" - #: ../../library/ctypes.rst:236 +msgid ":c:expr:`unsigned int`" +msgstr ":c:expr:`unsigned int`" + +#: ../../library/ctypes.rst:238 msgid ":class:`c_long`" msgstr ":class:`c_long`" -#: ../../library/ctypes.rst:236 -msgid ":c:type:`long`" -msgstr ":c:type:`long`" - #: ../../library/ctypes.rst:238 +msgid ":c:expr:`long`" +msgstr ":c:expr:`long`" + +#: ../../library/ctypes.rst:240 msgid ":class:`c_ulong`" msgstr ":class:`c_ulong`" -#: ../../library/ctypes.rst:238 -msgid ":c:type:`unsigned long`" -msgstr ":c:type:`unsigned long`" - #: ../../library/ctypes.rst:240 +msgid ":c:expr:`unsigned long`" +msgstr ":c:expr:`unsigned long`" + +#: ../../library/ctypes.rst:242 msgid ":class:`c_longlong`" msgstr ":class:`c_longlong`" -#: ../../library/ctypes.rst:240 -msgid ":c:type:`__int64` or :c:type:`long long`" -msgstr ":c:type:`__int64` or :c:type:`long long`" - #: ../../library/ctypes.rst:242 +msgid ":c:expr:`__int64` or :c:expr:`long long`" +msgstr ":c:expr:`__int64` ou :c:expr:`long long`" + +#: ../../library/ctypes.rst:244 msgid ":class:`c_ulonglong`" msgstr ":class:`c_ulonglong`" -#: ../../library/ctypes.rst:242 -msgid ":c:type:`unsigned __int64` or :c:type:`unsigned long long`" -msgstr ":c:type:`unsigned __int64` or :c:type:`unsigned long long`" +#: ../../library/ctypes.rst:244 +msgid ":c:expr:`unsigned __int64` or :c:expr:`unsigned long long`" +msgstr ":c:expr:`unsigned __int64` ou :c:expr:`unsigned long long`" -#: ../../library/ctypes.rst:245 +#: ../../library/ctypes.rst:247 msgid ":class:`c_size_t`" msgstr ":class:`c_size_t`" -#: ../../library/ctypes.rst:245 -msgid ":c:type:`size_t`" -msgstr ":c:type:`size_t`" - #: ../../library/ctypes.rst:247 +msgid ":c:expr:`size_t`" +msgstr "" + +#: ../../library/ctypes.rst:249 msgid ":class:`c_ssize_t`" msgstr ":class:`c_ssize_t`" -#: ../../library/ctypes.rst:247 -msgid ":c:type:`ssize_t` or :c:type:`Py_ssize_t`" -msgstr ":c:type:`ssize_t` or :c:type:`Py_ssize_t`" +#: ../../library/ctypes.rst:249 +msgid ":c:expr:`ssize_t` or :c:expr:`Py_ssize_t`" +msgstr "" -#: ../../library/ctypes.rst:250 +#: ../../library/ctypes.rst:252 msgid ":class:`c_float`" msgstr ":class:`c_float`" -#: ../../library/ctypes.rst:250 -msgid ":c:type:`float`" -msgstr ":c:type:`float`" +#: ../../library/ctypes.rst:252 +msgid ":c:expr:`float`" +msgstr ":c:expr:`float`" -#: ../../library/ctypes.rst:250 ../../library/ctypes.rst:252 -#: ../../library/ctypes.rst:254 +#: ../../library/ctypes.rst:252 ../../library/ctypes.rst:254 +#: ../../library/ctypes.rst:256 msgid "float" -msgstr "float" +msgstr "ponto flutuante" -#: ../../library/ctypes.rst:252 +#: ../../library/ctypes.rst:254 msgid ":class:`c_double`" msgstr ":class:`c_double`" -#: ../../library/ctypes.rst:252 -msgid ":c:type:`double`" -msgstr ":c:type:`double`" - #: ../../library/ctypes.rst:254 +msgid ":c:expr:`double`" +msgstr ":c:expr:`double`" + +#: ../../library/ctypes.rst:256 msgid ":class:`c_longdouble`" msgstr ":class:`c_longdouble`" -#: ../../library/ctypes.rst:254 -msgid ":c:type:`long double`" -msgstr ":c:type:`long double`" - #: ../../library/ctypes.rst:256 +msgid ":c:expr:`long double`" +msgstr ":c:expr:`long double`" + +#: ../../library/ctypes.rst:258 msgid ":class:`c_char_p`" msgstr ":class:`c_char_p`" -#: ../../library/ctypes.rst:256 -msgid ":c:type:`char *` (NUL terminated)" -msgstr ":c:type:`char *` (NUL terminated)" +#: ../../library/ctypes.rst:258 +msgid ":c:expr:`char *` (NUL terminated)" +msgstr ":c:expr:`char *` (finalizado com NUL)" -#: ../../library/ctypes.rst:256 +#: ../../library/ctypes.rst:258 msgid "bytes object or ``None``" -msgstr "bytes object ou ``None``" +msgstr "objeto bytes ou ``None``" -#: ../../library/ctypes.rst:258 +#: ../../library/ctypes.rst:260 msgid ":class:`c_wchar_p`" msgstr ":class:`c_wchar_p`" -#: ../../library/ctypes.rst:258 -msgid ":c:type:`wchar_t *` (NUL terminated)" -msgstr ":c:type:`wchar_t *` (NUL terminated)" +#: ../../library/ctypes.rst:260 +msgid ":c:expr:`wchar_t *` (NUL terminated)" +msgstr ":c:expr:`wchar_t *` (finalizado com NUL)" -#: ../../library/ctypes.rst:258 +#: ../../library/ctypes.rst:260 msgid "string or ``None``" msgstr "String ou ``None``" -#: ../../library/ctypes.rst:260 +#: ../../library/ctypes.rst:262 msgid ":class:`c_void_p`" msgstr ":class:`c_void_p`" -#: ../../library/ctypes.rst:260 -msgid ":c:type:`void *`" -msgstr ":c:type:`void *`" +#: ../../library/ctypes.rst:262 +msgid ":c:expr:`void *`" +msgstr ":c:expr:`void *`" -#: ../../library/ctypes.rst:260 +#: ../../library/ctypes.rst:262 msgid "int or ``None``" msgstr "int ou ``None``" -#: ../../library/ctypes.rst:264 +#: ../../library/ctypes.rst:266 msgid "The constructor accepts any object with a truth value." -msgstr "" +msgstr "O construtor aceita qualquer objeto com um valor verdade." -#: ../../library/ctypes.rst:266 +#: ../../library/ctypes.rst:268 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:277 +#: ../../library/ctypes.rst:279 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:289 +#: ../../library/ctypes.rst:291 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 " @@ -465,7 +511,7 @@ msgid "" "Python bytes objects are immutable)::" msgstr "" -#: ../../library/ctypes.rst:309 +#: ../../library/ctypes.rst:311 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 :" @@ -474,39 +520,82 @@ msgid "" "``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:333 +#: ../../library/ctypes.rst:335 msgid "" "The :func:`create_string_buffer` function replaces the :func:`c_buffer` " "function (which is still available as an alias), as well as the :func:" "`c_string` function from earlier ctypes releases. To create a mutable " -"memory block containing unicode characters of the C type :c:type:`wchar_t` " +"memory block containing unicode characters of the C type :c:expr:`wchar_t` " "use the :func:`create_unicode_buffer` function." msgstr "" -#: ../../library/ctypes.rst:343 +#: ../../library/ctypes.rst:345 msgid "Calling functions, continued" -msgstr "Invocação de Funções, continuação" +msgstr "Chamando funções, continuação" -#: ../../library/ctypes.rst:345 +#: ../../library/ctypes.rst:347 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*::" 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:365 +#: ../../library/ctypes.rst:367 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 -msgid "Calling functions with your own custom data types" +#: ../../library/ctypes.rst:379 +msgid "Calling variadic functions" +msgstr "Chamando funções variadas" + +#: ../../library/ctypes.rst:381 +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 " +"platforms, and in particular ARM64 for Apple Platforms, the calling " +"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:380 +#: ../../library/ctypes.rst:386 +msgid "" +"On those platforms it is required to specify the *argtypes* attribute for " +"the regular, non-variadic, function arguments:" +msgstr "" + +#: ../../library/ctypes.rst:393 +msgid "" +"Because specifying the attribute does inhibit portability it is advised to " +"always specify ``argtypes`` for all variadic functions." +msgstr "" + +#: ../../library/ctypes.rst:400 +msgid "Calling functions with your own custom data types" +msgstr "Chamando funções com seus próprios tipos de dados personalizados" + +#: ../../library/ctypes.rst:402 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 " @@ -514,24 +603,25 @@ msgid "" "Of course, it must be one of integer, string, or bytes::" msgstr "" -#: ../../library/ctypes.rst:395 +#: ../../library/ctypes.rst:417 msgid "" "If you don't want to store the instance's data in the :attr:`_as_parameter_` " "instance variable, you could define a :class:`property` which makes the " "attribute available on request." msgstr "" -#: ../../library/ctypes.rst:403 +#: ../../library/ctypes.rst:425 msgid "Specifying the required argument types (function prototypes)" msgstr "" +"Especificando os tipos de argumentos necessários (protótipos de função)" -#: ../../library/ctypes.rst:405 +#: ../../library/ctypes.rst:427 msgid "" "It is possible to specify the required argument types of functions exported " "from DLLs by setting the :attr:`argtypes` attribute." msgstr "" -#: ../../library/ctypes.rst:408 +#: ../../library/ctypes.rst:430 msgid "" ":attr:`argtypes` must be a sequence of C data types (the ``printf`` function " "is probably not a good example here, because it takes a variable number and " @@ -539,14 +629,17 @@ msgid "" "hand this is quite handy to experiment with this feature)::" msgstr "" -#: ../../library/ctypes.rst:419 +#: ../../library/ctypes.rst:441 msgid "" "Specifying a format protects against incompatible argument types (just as a " "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:431 +#: ../../library/ctypes.rst:453 msgid "" "If you have defined your own classes which you pass to function calls, you " "have to implement a :meth:`from_param` class method for them to be able to " @@ -559,31 +652,31 @@ msgid "" "an object with an :attr:`_as_parameter_` attribute." msgstr "" -#: ../../library/ctypes.rst:445 +#: ../../library/ctypes.rst:467 msgid "Return types" msgstr "Tipos de Retorno" -#: ../../library/ctypes.rst:447 +#: ../../library/ctypes.rst:469 msgid "" -"By default functions are assumed to return the C :c:type:`int` type. Other " +"By default functions are assumed to return the C :c:expr:`int` type. Other " "return types can be specified by setting the :attr:`restype` attribute of " "the function object." msgstr "" -#: ../../library/ctypes.rst:451 +#: ../../library/ctypes.rst:473 msgid "" "Here is a more advanced example, it uses the ``strchr`` function, which " "expects a string pointer and a char, and returns a pointer to a string::" msgstr "" -#: ../../library/ctypes.rst:464 +#: ../../library/ctypes.rst:486 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::" msgstr "" -#: ../../library/ctypes.rst:482 +#: ../../library/ctypes.rst:504 msgid "" "You can also use a callable Python object (a function or a class for " "example) as the :attr:`restype` attribute, if the foreign function returns " @@ -593,33 +686,41 @@ msgid "" "automatically raise an exception::" msgstr "" -#: ../../library/ctypes.rst:505 +#: ../../library/ctypes.rst:527 msgid "" "``WinError`` is a function which will call Windows ``FormatMessage()`` api " "to get the string representation of an error code, and *returns* an " "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:510 +#: ../../library/ctypes.rst:532 msgid "" "Please note that a much more powerful error checking mechanism is available " "through the :attr:`errcheck` attribute; see the reference manual for details." msgstr "" -#: ../../library/ctypes.rst:517 +#: ../../library/ctypes.rst:539 msgid "Passing pointers (or: passing parameters by reference)" -msgstr "" +msgstr "Passando ponteiros (ou: passando parâmetros por referência)" -#: ../../library/ctypes.rst:519 +#: ../../library/ctypes.rst:541 msgid "" "Sometimes a C api function expects a *pointer* to a data type as parameter, " "probably to write into the corresponding location, or if the data is too " "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:523 +#: ../../library/ctypes.rst:545 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:" @@ -627,12 +728,17 @@ msgid "" "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:545 +#: ../../library/ctypes.rst:567 msgid "Structures and unions" -msgstr "" +msgstr "Estruturas e uniões" -#: ../../library/ctypes.rst:547 +#: ../../library/ctypes.rst:569 msgid "" "Structures and unions must derive from the :class:`Structure` and :class:" "`Union` base classes which are defined in the :mod:`ctypes` module. Each " @@ -640,56 +746,74 @@ msgid "" "a list of *2-tuples*, containing a *field name* and a *field type*." msgstr "" -#: ../../library/ctypes.rst:552 +#: ../../library/ctypes.rst:574 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:555 +#: ../../library/ctypes.rst:577 msgid "" "Here is a simple example of a POINT structure, which contains two integers " "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:575 +#: ../../library/ctypes.rst:597 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:578 +#: ../../library/ctypes.rst:600 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:592 +#: ../../library/ctypes.rst:614 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:597 +#: ../../library/ctypes.rst:619 msgid "" "Field :term:`descriptor`\\s can be retrieved from the *class*, they are " "useful for debugging because they can provide useful information::" msgstr "" -#: ../../library/ctypes.rst:611 +#: ../../library/ctypes.rst:633 msgid "" ":mod:`ctypes` does not support passing unions or structures with bit-fields " "to functions by value. While this may work on 32-bit x86, it's not " "guaranteed by the library to work in the general case. Unions and " "structures with bit-fields should always be passed to functions by pointer." 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:617 +#: ../../library/ctypes.rst:639 msgid "Structure/union alignment and byte order" msgstr "" -#: ../../library/ctypes.rst:619 +#: ../../library/ctypes.rst:641 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 :" @@ -698,7 +822,7 @@ msgid "" "This is what ``#pragma pack(n)`` also does in MSVC." msgstr "" -#: ../../library/ctypes.rst:625 +#: ../../library/ctypes.rst:647 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:" @@ -706,92 +830,114 @@ msgid "" "`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:635 +#: ../../library/ctypes.rst:657 msgid "Bit fields in structures and unions" -msgstr "" +msgstr "Campos de bit em estruturas e uniões" -#: ../../library/ctypes.rst:637 +#: ../../library/ctypes.rst:659 msgid "" "It is possible to create structures and unions containing bit fields. Bit " "fields are only possible for integer fields, the bit width is specified as " "the third item in the :attr:`_fields_` tuples::" msgstr "" -#: ../../library/ctypes.rst:655 +#: ../../library/ctypes.rst:677 msgid "Arrays" -msgstr "Arrays" +msgstr "Vetores" -#: ../../library/ctypes.rst:657 +#: ../../library/ctypes.rst:679 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:659 +#: ../../library/ctypes.rst:681 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:664 +#: ../../library/ctypes.rst:686 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:680 +#: ../../library/ctypes.rst:702 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:686 +#: ../../library/ctypes.rst:708 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:689 +#: ../../library/ctypes.rst:711 msgid "Initializers of the correct type can also be specified::" -msgstr "" +msgstr "Inicializadores do tipo correto também podem ser especificados::" -#: ../../library/ctypes.rst:705 +#: ../../library/ctypes.rst:727 msgid "Pointers" msgstr "Ponteiros" -#: ../../library/ctypes.rst:707 +#: ../../library/ctypes.rst:729 msgid "" "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:715 +#: ../../library/ctypes.rst:737 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:722 +#: ../../library/ctypes.rst:744 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:731 +#: ../../library/ctypes.rst:753 msgid "" "Assigning another :class:`c_int` instance to the pointer's contents " "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:743 +#: ../../library/ctypes.rst:765 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:749 +#: ../../library/ctypes.rst:771 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:758 +#: ../../library/ctypes.rst:780 msgid "" "It is also possible to use indexes different from 0, but you must know what " "you're doing, just as in C: You can access or change arbitrary memory " @@ -799,32 +945,46 @@ 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:764 +#: ../../library/ctypes.rst:786 msgid "" "Behind the scenes, the :func:`pointer` function does more than simply create " "pointer instances, it has to create pointer *types* first. This is done with " "the :func:`POINTER` function, which accepts any :mod:`ctypes` type, and " "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:780 +#: ../../library/ctypes.rst:802 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:788 +#: ../../library/ctypes.rst:810 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:807 +#: ../../library/ctypes.rst:829 msgid "Type conversions" msgstr "Conversão de Tipos" -#: ../../library/ctypes.rst:809 +#: ../../library/ctypes.rst:831 msgid "" "Usually, ctypes does strict type checking. This means, if you have " "``POINTER(c_int)`` in the :attr:`argtypes` list of a function or as the type " @@ -835,7 +995,7 @@ msgid "" "accepts an array of c_int::" msgstr "" -#: ../../library/ctypes.rst:830 +#: ../../library/ctypes.rst:852 msgid "" "In addition, if a function argument is explicitly declared to be a pointer " "type (such as ``POINTER(c_int)``) in :attr:`argtypes`, an object of the " @@ -843,11 +1003,13 @@ msgid "" "will apply the required :func:`byref` conversion in this case automatically." msgstr "" -#: ../../library/ctypes.rst:835 +#: ../../library/ctypes.rst:857 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:842 +#: ../../library/ctypes.rst:864 msgid "" "Sometimes you have instances of incompatible types. In C, you can cast one " "type into another type. :mod:`ctypes` provides a :func:`cast` function " @@ -855,12 +1017,17 @@ 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:854 +#: ../../library/ctypes.rst:876 msgid "For these cases, the :func:`cast` function is handy." -msgstr "" +msgstr "Para esses casos, a função :func:`cast` é útil." -#: ../../library/ctypes.rst:856 +#: ../../library/ctypes.rst:878 msgid "" "The :func:`cast` function can be used to cast a ctypes instance into a " "pointer to a different ctypes data type. :func:`cast` takes two parameters, " @@ -868,83 +1035,109 @@ 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:867 +#: ../../library/ctypes.rst:889 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:880 +#: ../../library/ctypes.rst:902 msgid "Incomplete Types" msgstr "Tipos Incompletos" -#: ../../library/ctypes.rst:882 +#: ../../library/ctypes.rst:904 msgid "" "*Incomplete Types* are structures, unions or arrays whose members are not " "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:893 +#: ../../library/ctypes.rst:915 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:906 +#: ../../library/ctypes.rst:928 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::" msgstr "" -#: ../../library/ctypes.rst:918 +#: ../../library/ctypes.rst:940 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:939 +#: ../../library/ctypes.rst:961 msgid "Callback functions" msgstr "Funções Callbacks" -#: ../../library/ctypes.rst:941 +#: ../../library/ctypes.rst:963 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:944 +#: ../../library/ctypes.rst:966 msgid "" "First, you must create a class for the callback function. The class knows " "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:948 +#: ../../library/ctypes.rst:970 msgid "" "The :func:`CFUNCTYPE` factory function creates types for callback functions " "using the ``cdecl`` calling convention. On Windows, the :func:`WINFUNCTYPE` " "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:953 +#: ../../library/ctypes.rst:975 msgid "" "Both of these factory functions are called with the result type as first " "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:957 +#: ../../library/ctypes.rst:979 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::" msgstr "" -#: ../../library/ctypes.rst:967 +#: ../../library/ctypes.rst:989 msgid "" ":func:`qsort` must be called with a pointer to the data to sort, the number " "of items in the data array, the size of one item, and a pointer to the " @@ -954,44 +1147,56 @@ msgid "" "otherwise." msgstr "" -#: ../../library/ctypes.rst:973 +#: ../../library/ctypes.rst:995 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:979 +#: ../../library/ctypes.rst:1001 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:989 +#: ../../library/ctypes.rst:1011 msgid "The result::" msgstr "O resultado::" -#: ../../library/ctypes.rst:999 +#: ../../library/ctypes.rst:1021 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:1014 +#: ../../library/ctypes.rst:1036 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:1021 +#: ../../library/ctypes.rst:1043 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:1039 +#: ../../library/ctypes.rst:1061 msgid "" "Make sure you keep references to :func:`CFUNCTYPE` objects as long as they " "are used from C code. :mod:`ctypes` doesn't, and if you don't, they may be " "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:1043 +#: ../../library/ctypes.rst:1065 msgid "" "Also, note that if the callback function is called in a thread created " "outside of Python's control (e.g. by the foreign code that calls the " @@ -1000,12 +1205,19 @@ 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:1053 +#: ../../library/ctypes.rst:1075 msgid "Accessing values exported from dlls" -msgstr "" +msgstr "Acessando valores exportados de dlls" -#: ../../library/ctypes.rst:1055 +#: ../../library/ctypes.rst:1077 msgid "" "Some shared libraries not only export functions, they also export variables. " "An example in the Python library itself is the :c:data:`Py_OptimizeFlag`, an " @@ -1013,57 +1225,64 @@ msgid "" "flag given on startup." msgstr "" -#: ../../library/ctypes.rst:1060 +#: ../../library/ctypes.rst:1082 msgid "" ":mod:`ctypes` can access values like this with the :meth:`in_dll` class " "methods of the type. *pythonapi* is a predefined symbol giving access to " "the Python C api::" msgstr "" -#: ../../library/ctypes.rst:1069 +#: ../../library/ctypes.rst:1091 msgid "" "If the interpreter would have been started with :option:`-O`, the sample " "would have printed ``c_long(1)``, or ``c_long(2)`` if :option:`-OO` would " "have been specified." msgstr "" -#: ../../library/ctypes.rst:1073 +#: ../../library/ctypes.rst:1095 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:1076 +#: ../../library/ctypes.rst:1098 msgid "Quoting the docs for that value:" -msgstr "" +msgstr "Citando a documentação para esse valor:" -#: ../../library/ctypes.rst:1078 +#: ../../library/ctypes.rst:1100 msgid "" -"This pointer is initialized to point to an array of :c:type:`struct _frozen` " +"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 " "frozen module is imported, it is searched in this table. Third-party code " "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:" -"type:`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 " +"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:1083 +#: ../../library/ctypes.rst:1105 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:1095 +#: ../../library/ctypes.rst:1117 msgid "" -"We have defined the :c:type:`struct _frozen` data type, so we can get the " -"pointer to the table::" +"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:1102 +#: ../../library/ctypes.rst:1124 msgid "" "Since ``table`` is a ``pointer`` to the array of ``struct_frozen`` records, " "we can iterate over it, but we just have to make sure that our loop " @@ -1071,35 +1290,48 @@ 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:1120 +#: ../../library/ctypes.rst:1142 msgid "" "The fact that standard Python has a frozen module and a frozen package " "(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:1128 +#: ../../library/ctypes.rst:1150 msgid "Surprises" -msgstr "" +msgstr "Surpresas" -#: ../../library/ctypes.rst:1130 +#: ../../library/ctypes.rst:1152 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:1133 +#: ../../library/ctypes.rst:1155 msgid "Consider the following example::" -msgstr "" +msgstr "Considere o exemplo a seguir::" -#: ../../library/ctypes.rst:1153 +#: ../../library/ctypes.rst:1175 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:1161 +#: ../../library/ctypes.rst:1183 msgid "" "Note that ``temp0`` and ``temp1`` are objects still using the internal " "buffer of the ``rc`` object above. So executing ``rc.a = temp0`` copies the " @@ -1107,27 +1339,39 @@ 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:1167 +#: ../../library/ctypes.rst:1189 msgid "" "Keep in mind that retrieving sub-objects from Structure, Unions, and Arrays " "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:1171 +#: ../../library/ctypes.rst:1193 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:1183 +#: ../../library/ctypes.rst:1205 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:1186 +#: ../../library/ctypes.rst:1208 msgid "" "Why is it printing ``False``? ctypes instances are objects containing a " "memory block plus some :term:`descriptor`\\s accessing the contents of the " @@ -1135,17 +1379,25 @@ 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:1196 +#: ../../library/ctypes.rst:1218 msgid "Variable-sized data types" -msgstr "" +msgstr "Tipos de dados de tamanho variável" -#: ../../library/ctypes.rst:1198 +#: ../../library/ctypes.rst:1220 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:1200 +#: ../../library/ctypes.rst:1222 msgid "" "The :func:`resize` function can be used to resize the memory buffer of an " "existing ctypes object. The function takes the object as first argument, " @@ -1153,36 +1405,51 @@ 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:1220 +#: ../../library/ctypes.rst:1242 msgid "" "This is nice and fine, but how would one access the additional elements " "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:1232 +#: ../../library/ctypes.rst:1254 msgid "" "Another way to use variable-sized data types with :mod:`ctypes` is to use " "the dynamic nature of Python, and (re-)define the data type after the " "required size is already known, on a case by case basis." msgstr "" +"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:1240 +#: ../../library/ctypes.rst:1262 msgid "ctypes reference" msgstr "Referência ctypes" -#: ../../library/ctypes.rst:1246 +#: ../../library/ctypes.rst:1268 msgid "Finding shared libraries" -msgstr "" +msgstr "Encontrando bibliotecas compartilhadas" -#: ../../library/ctypes.rst:1248 +#: ../../library/ctypes.rst:1270 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:1251 +#: ../../library/ctypes.rst:1273 msgid "" "The purpose of the :func:`find_library` function is to locate a library in a " "way similar to what the compiler or runtime loader does (on platforms with " @@ -1191,13 +1458,13 @@ msgid "" "the runtime loader directly." msgstr "" -#: ../../library/ctypes.rst:1257 +#: ../../library/ctypes.rst:1279 msgid "" "The :mod:`ctypes.util` module provides a function which can help to " "determine the library to load." msgstr "" -#: ../../library/ctypes.rst:1265 +#: ../../library/ctypes.rst:1287 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 " @@ -1205,42 +1472,42 @@ msgid "" "If no library can be found, returns ``None``." msgstr "" -#: ../../library/ctypes.rst:1270 ../../library/ctypes.rst:1918 +#: ../../library/ctypes.rst:1292 ../../library/ctypes.rst:1935 msgid "The exact functionality is system dependent." msgstr "" -#: ../../library/ctypes.rst:1272 +#: ../../library/ctypes.rst:1294 msgid "" "On Linux, :func:`find_library` tries to run external programs (``/sbin/" "ldconfig``, ``gcc``, ``objdump`` and ``ld``) to find the library file. It " "returns the filename of the library file." msgstr "" -#: ../../library/ctypes.rst:1276 +#: ../../library/ctypes.rst:1298 msgid "" "On Linux, the value of the environment variable ``LD_LIBRARY_PATH`` is used " "when searching for libraries, if a library cannot be found by any other " "means." msgstr "" -#: ../../library/ctypes.rst:1280 +#: ../../library/ctypes.rst:1302 msgid "Here are some examples::" -msgstr "Here are some examples::" +msgstr "Veja alguns exemplos::" -#: ../../library/ctypes.rst:1291 +#: ../../library/ctypes.rst:1313 msgid "" -"On OS X, :func:`find_library` tries several predefined naming schemes and " +"On macOS, :func:`find_library` tries several predefined naming schemes and " "paths to locate the library, and returns a full pathname if successful::" msgstr "" -#: ../../library/ctypes.rst:1305 +#: ../../library/ctypes.rst:1327 msgid "" "On Windows, :func:`find_library` searches along the system search path, and " "returns the full pathname, but since there is no predefined naming scheme a " "call like ``find_library(\"c\")`` will fail and return ``None``." msgstr "" -#: ../../library/ctypes.rst:1309 +#: ../../library/ctypes.rst:1331 msgid "" "If wrapping a shared library with :mod:`ctypes`, it *may* be better to " "determine the shared library name at development time, and hardcode that " @@ -1248,24 +1515,24 @@ msgid "" "library at runtime." msgstr "" -#: ../../library/ctypes.rst:1317 +#: ../../library/ctypes.rst:1339 msgid "Loading shared libraries" msgstr "" -#: ../../library/ctypes.rst:1319 +#: ../../library/ctypes.rst:1341 msgid "" "There are several ways to load shared libraries into the Python process. " "One way is to instantiate one of the following classes:" msgstr "" -#: ../../library/ctypes.rst:1325 +#: ../../library/ctypes.rst:1347 msgid "" "Instances of this class represent loaded shared libraries. Functions in " "these libraries use the standard C calling convention, and are assumed to " -"return :c:type:`int`." +"return :c:expr:`int`." msgstr "" -#: ../../library/ctypes.rst:1329 +#: ../../library/ctypes.rst:1351 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:" @@ -1277,13 +1544,13 @@ msgid "" "determine which one is not found using Windows debugging and tracing tools." msgstr "" -#: ../../library/ctypes.rst:1341 +#: ../../library/ctypes.rst:1363 msgid "" "`Microsoft DUMPBIN tool `_ -- A tool to find DLL dependents." msgstr "" -#: ../../library/ctypes.rst:1347 +#: ../../library/ctypes.rst:1369 msgid "" "Windows only: Instances of this class represent loaded shared libraries, " "functions in these libraries use the ``stdcall`` calling convention, and are " @@ -1293,43 +1560,41 @@ msgid "" "value signals a failure, an :class:`OSError` is automatically raised." msgstr "" -#: ../../library/ctypes.rst:1354 +#: ../../library/ctypes.rst:1376 msgid ":exc:`WindowsError` used to be raised." msgstr "" -#: ../../library/ctypes.rst:1360 +#: ../../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:type:`int` by default." -msgstr "" - -#: ../../library/ctypes.rst:1364 -msgid "" -"On Windows CE only the standard calling convention is used, for convenience " -"the :class:`WinDLL` and :class:`OleDLL` use the standard calling convention " -"on this platform." +"assumed to return :c:expr:`int` by default." msgstr "" -#: ../../library/ctypes.rst:1368 +#: ../../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:1374 +#: ../../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:1379 +#: ../../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:1381 +#: ../../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 " @@ -1339,15 +1604,19 @@ msgid "" "to get a handle to it." msgstr "" -#: ../../library/ctypes.rst:1388 +#: ../../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:1393 +#: ../../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:" @@ -1357,14 +1626,14 @@ msgid "" "private copy, the same happens immediately after the function call." msgstr "" -#: ../../library/ctypes.rst:1400 +#: ../../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:1404 +#: ../../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 :" @@ -1373,7 +1642,7 @@ msgid "" "private copy of the windows error code." msgstr "" -#: ../../library/ctypes.rst:1410 +#: ../../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 " @@ -1383,29 +1652,29 @@ msgid "" "ensure the correct library and dependencies are loaded." msgstr "" -#: ../../library/ctypes.rst:1417 +#: ../../library/ctypes.rst:1435 msgid "Added *winmode* parameter." msgstr "" -#: ../../library/ctypes.rst:1424 +#: ../../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:1431 +#: ../../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:1438 +#: ../../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:1441 +#: ../../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 " @@ -1414,21 +1683,21 @@ msgid "" "other hand, accessing it through an index returns a new object each time::" msgstr "" -#: ../../library/ctypes.rst:1454 +#: ../../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:1460 +#: ../../library/ctypes.rst:1478 msgid "The system handle used to access the library." msgstr "" -#: ../../library/ctypes.rst:1465 +#: ../../library/ctypes.rst:1483 msgid "The name of the library passed in the constructor." msgstr "" -#: ../../library/ctypes.rst:1467 +#: ../../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 " @@ -1436,103 +1705,108 @@ msgid "" "attribute of the loader instance." msgstr "" -#: ../../library/ctypes.rst:1475 +#: ../../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." msgstr "" -#: ../../library/ctypes.rst:1478 +#: ../../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:1484 +#: ../../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:1488 +#: ../../library/ctypes.rst:1506 msgid "These prefabricated library loaders are available:" msgstr "" -#: ../../library/ctypes.rst:1493 +#: ../../library/ctypes.rst:1511 msgid "Creates :class:`CDLL` instances." msgstr "" -#: ../../library/ctypes.rst:1499 +#: ../../library/ctypes.rst:1517 msgid "Windows only: Creates :class:`WinDLL` instances." msgstr "" -#: ../../library/ctypes.rst:1505 +#: ../../library/ctypes.rst:1523 msgid "Windows only: Creates :class:`OleDLL` instances." msgstr "" -#: ../../library/ctypes.rst:1511 +#: ../../library/ctypes.rst:1529 msgid "Creates :class:`PyDLL` instances." msgstr "" -#: ../../library/ctypes.rst:1514 +#: ../../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:1520 +#: ../../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:type:" +"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:1525 +#: ../../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:1527 +#: ../../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:1531 +#: ../../library/ctypes.rst:1549 msgid "" "Raises an :ref:`auditing event ` ``ctypes.dlsym`` with arguments " "``library``, ``name``." msgstr "" -#: ../../library/ctypes.rst:1533 +#: ../../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)." msgstr "" -#: ../../library/ctypes.rst:1537 +#: ../../library/ctypes.rst:1555 msgid "" "Raises an :ref:`auditing event ` ``ctypes.dlsym/handle`` with " "arguments ``handle``, ``name``." msgstr "" -#: ../../library/ctypes.rst:1539 +#: ../../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:1546 +#: ../../library/ctypes.rst:1564 msgid "Foreign functions" msgstr "" -#: ../../library/ctypes.rst:1548 +#: ../../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 " @@ -1541,39 +1815,39 @@ msgid "" "library loader. They are instances of a private class:" msgstr "" -#: ../../library/ctypes.rst:1557 +#: ../../library/ctypes.rst:1575 msgid "Base class for C callable foreign functions." msgstr "" -#: ../../library/ctypes.rst:1559 +#: ../../library/ctypes.rst:1577 msgid "" "Instances of foreign functions are also C compatible data types; they " "represent C function pointers." msgstr "" -#: ../../library/ctypes.rst:1562 +#: ../../library/ctypes.rst:1580 msgid "" "This behavior can be customized by assigning to special attributes of the " "foreign function object." msgstr "" -#: ../../library/ctypes.rst:1567 +#: ../../library/ctypes.rst:1585 msgid "" "Assign a ctypes type to specify the result type of the foreign function. Use " -"``None`` for :c:type:`void`, a function not returning anything." +"``None`` for :c:expr:`void`, a function not returning anything." msgstr "" -#: ../../library/ctypes.rst:1570 +#: ../../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:type:`int`, and the " +"in this case the function is assumed to return a C :c:expr:`int`, and the " "callable will be called with this integer, allowing further processing or " "error checking. Using this is deprecated, for more flexible post processing " "or error checking use a ctypes data type as :attr:`restype` and assign a " "callable to the :attr:`errcheck` attribute." msgstr "" -#: ../../library/ctypes.rst:1579 +#: ../../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 " @@ -1582,7 +1856,7 @@ msgid "" "unspecified arguments as well." msgstr "" -#: ../../library/ctypes.rst:1585 +#: ../../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, " @@ -1592,7 +1866,7 @@ msgid "" "object using ctypes conversion rules." msgstr "" -#: ../../library/ctypes.rst:1592 +#: ../../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 " @@ -1600,50 +1874,52 @@ msgid "" "adapters that can adapt custom objects as function parameters." msgstr "" -#: ../../library/ctypes.rst:1599 +#: ../../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:1606 +#: ../../library/ctypes.rst:1624 msgid "" "*result* is what the foreign function returns, as specified by the :attr:" "`restype` attribute." msgstr "" -#: ../../library/ctypes.rst:1609 +#: ../../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:1613 +#: ../../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:1617 +#: ../../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:1624 +#: ../../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:1628 +#: ../../library/ctypes.rst:1646 msgid "" "Raises an :ref:`auditing event ` ``ctypes.seh_exception`` with " "argument ``code``." msgstr "" -#: ../../library/ctypes.rst:1630 +#: ../../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 " @@ -1652,24 +1928,24 @@ msgid "" "hook to replace the exception with its own." msgstr "" -#: ../../library/ctypes.rst:1636 +#: ../../library/ctypes.rst:1654 msgid "" "Raises an :ref:`auditing event ` ``ctypes.call_function`` with " "arguments ``func_pointer``, ``arguments``." msgstr "" -#: ../../library/ctypes.rst:1638 +#: ../../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:1644 +#: ../../library/ctypes.rst:1662 msgid "Function prototypes" msgstr "" -#: ../../library/ctypes.rst:1646 +#: ../../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 " @@ -1680,7 +1956,7 @@ msgid "" "``@wrapper`` syntax. See :ref:`ctypes-callback-functions` for examples." msgstr "" -#: ../../library/ctypes.rst:1657 +#: ../../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 " @@ -1689,39 +1965,37 @@ msgid "" "after the call; *use_last_error* does the same for the Windows error code." msgstr "" -#: ../../library/ctypes.rst:1667 +#: ../../library/ctypes.rst:1685 msgid "" "Windows only: The returned function prototype creates functions that use the " -"``stdcall`` calling convention, except on Windows CE where :func:" -"`WINFUNCTYPE` is the same as :func:`CFUNCTYPE`. The function will release " -"the GIL during the call. *use_errno* and *use_last_error* have the same " -"meaning as above." +"``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:1676 +#: ../../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:1679 +#: ../../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 " "call:" msgstr "" -#: ../../library/ctypes.rst:1687 +#: ../../library/ctypes.rst:1704 msgid "" "Returns a foreign function at the specified address which must be an integer." msgstr "" -#: ../../library/ctypes.rst:1694 +#: ../../library/ctypes.rst:1711 msgid "" "Create a C callable function (a callback function) from a Python *callable*." msgstr "" -#: ../../library/ctypes.rst:1701 +#: ../../library/ctypes.rst:1718 msgid "" "Returns a foreign function exported by a shared library. *func_spec* must be " "a 2-tuple ``(name_or_ordinal, library)``. The first item is the name of the " @@ -1729,7 +2003,7 @@ msgid "" "small integer. The second item is the shared library instance." msgstr "" -#: ../../library/ctypes.rst:1711 +#: ../../library/ctypes.rst:1728 msgid "" "Returns a foreign function that will call a COM method. *vtbl_index* is the " "index into the virtual function table, a small non-negative integer. *name* " @@ -1737,85 +2011,85 @@ msgid "" "identifier which is used in extended error reporting." msgstr "" -#: ../../library/ctypes.rst:1716 +#: ../../library/ctypes.rst:1733 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." msgstr "" -#: ../../library/ctypes.rst:1720 +#: ../../library/ctypes.rst:1737 msgid "" "The optional *paramflags* parameter creates foreign function wrappers with " "much more functionality than the features described above." msgstr "" -#: ../../library/ctypes.rst:1723 +#: ../../library/ctypes.rst:1740 msgid "*paramflags* must be a tuple of the same length as :attr:`argtypes`." msgstr "" -#: ../../library/ctypes.rst:1725 +#: ../../library/ctypes.rst:1742 msgid "" "Each item in this tuple contains further information about a parameter, it " "must be a tuple containing one, two, or three items." msgstr "" -#: ../../library/ctypes.rst:1728 +#: ../../library/ctypes.rst:1745 msgid "" "The first item is an integer containing a combination of direction flags for " "the parameter:" msgstr "" -#: ../../library/ctypes.rst:1732 +#: ../../library/ctypes.rst:1749 msgid "1" msgstr "1" -#: ../../library/ctypes.rst:1732 +#: ../../library/ctypes.rst:1749 msgid "Specifies an input parameter to the function." msgstr "" -#: ../../library/ctypes.rst:1735 +#: ../../library/ctypes.rst:1752 msgid "2" msgstr "2" -#: ../../library/ctypes.rst:1735 +#: ../../library/ctypes.rst:1752 msgid "Output parameter. The foreign function fills in a value." msgstr "" -#: ../../library/ctypes.rst:1738 +#: ../../library/ctypes.rst:1755 msgid "4" msgstr "4" -#: ../../library/ctypes.rst:1738 +#: ../../library/ctypes.rst:1755 msgid "Input parameter which defaults to the integer zero." msgstr "" -#: ../../library/ctypes.rst:1740 +#: ../../library/ctypes.rst:1757 msgid "" "The optional second item is the parameter name as string. If this is " "specified, the foreign function can be called with named parameters." msgstr "" -#: ../../library/ctypes.rst:1743 +#: ../../library/ctypes.rst:1760 msgid "The optional third item is the default value for this parameter." msgstr "" -#: ../../library/ctypes.rst:1745 +#: ../../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 " "declaration from the windows header file is this::" msgstr "" -#: ../../library/ctypes.rst:1756 ../../library/ctypes.rst:1779 +#: ../../library/ctypes.rst:1773 ../../library/ctypes.rst:1796 msgid "Here is the wrapping with :mod:`ctypes`::" msgstr "" -#: ../../library/ctypes.rst:1764 +#: ../../library/ctypes.rst:1781 msgid "The ``MessageBox`` foreign function can now be called in these ways::" msgstr "" -#: ../../library/ctypes.rst:1770 +#: ../../library/ctypes.rst:1787 msgid "" "A second example demonstrates output parameters. The win32 " "``GetWindowRect`` function retrieves the dimensions of a specified window by " @@ -1823,7 +2097,7 @@ msgid "" "the C declaration::" msgstr "" -#: ../../library/ctypes.rst:1788 +#: ../../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 " @@ -1831,7 +2105,7 @@ msgid "" "now returns a RECT instance, when called." msgstr "" -#: ../../library/ctypes.rst:1793 +#: ../../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`` " @@ -1840,7 +2114,7 @@ msgid "" "call failed::" msgstr "" -#: ../../library/ctypes.rst:1806 +#: ../../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 " @@ -1849,66 +2123,72 @@ msgid "" "and return them instead, the normal processing will no longer take place::" msgstr "" -#: ../../library/ctypes.rst:1825 +#: ../../library/ctypes.rst:1842 msgid "Utility functions" msgstr "Funções utilitárias" -#: ../../library/ctypes.rst:1829 +#: ../../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:1832 +#: ../../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:1837 +#: ../../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:1843 +#: ../../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:1847 +#: ../../library/ctypes.rst:1864 msgid "``byref(obj, offset)`` corresponds to this C code::" msgstr "" -#: ../../library/ctypes.rst:1851 +#: ../../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:1857 +#: ../../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:1865 +#: ../../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:1868 +#: ../../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:1871 +#: ../../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 " @@ -1917,25 +2197,27 @@ msgid "" "not be used." msgstr "" -#: ../../library/ctypes.rst:1876 +#: ../../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:1881 +#: ../../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:1884 +#: ../../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:1887 +#: ../../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 " @@ -1944,27 +2226,29 @@ msgid "" "should not be used." msgstr "" -#: ../../library/ctypes.rst:1893 +#: ../../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:1898 +#: ../../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:1905 +#: ../../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:1913 +#: ../../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 " @@ -1972,144 +2256,162 @@ msgid "" "If no library can be found, returns ``None``." msgstr "" -#: ../../library/ctypes.rst:1924 +#: ../../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:1928 +#: ../../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:1935 +#: ../../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:1942 +#: ../../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." +"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:1948 +#: ../../library/ctypes.rst:1965 msgid "" "Returns the current value of the ctypes-private copy of the system :data:" "`errno` variable in the calling thread." msgstr "" -#: ../../library/ctypes.rst:1951 +#: ../../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:1955 +#: ../../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:1958 +#: ../../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:1962 +#: ../../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:1969 +#: ../../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:1976 +#: ../../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." msgstr "" -#: ../../library/ctypes.rst:1983 +#: ../../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))``." msgstr "" -#: ../../library/ctypes.rst:1986 +#: ../../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:1992 +#: ../../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:2000 +#: ../../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:2003 +#: ../../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:2008 +#: ../../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:2012 +#: ../../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:2017 +#: ../../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:2023 +#: ../../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:2027 +#: ../../library/ctypes.rst:2044 msgid "" "Raises an :ref:`auditing event ` ``ctypes.string_at`` with " "arguments ``address``, ``size``." msgstr "" -#: ../../library/ctypes.rst:2032 +#: ../../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, " @@ -2118,11 +2420,11 @@ msgid "" "error." msgstr "" -#: ../../library/ctypes.rst:2038 +#: ../../library/ctypes.rst:2055 msgid "An instance of :exc:`WindowsError` used to be created." msgstr "" -#: ../../library/ctypes.rst:2044 +#: ../../library/ctypes.rst:2061 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 " @@ -2130,17 +2432,17 @@ msgid "" "terminated." msgstr "" -#: ../../library/ctypes.rst:2049 +#: ../../library/ctypes.rst:2066 msgid "" "Raises an :ref:`auditing event ` ``ctypes.wstring_at`` with " "arguments ``address``, ``size``." msgstr "" -#: ../../library/ctypes.rst:2055 +#: ../../library/ctypes.rst:2072 msgid "Data types" msgstr "" -#: ../../library/ctypes.rst:2060 +#: ../../library/ctypes.rst:2077 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 " @@ -2150,13 +2452,13 @@ msgid "" "alive in case the memory block contains pointers." msgstr "" -#: ../../library/ctypes.rst:2067 +#: ../../library/ctypes.rst:2084 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:2072 +#: ../../library/ctypes.rst:2089 msgid "" "This method returns a ctypes instance that shares the buffer of the *source* " "object. The *source* object must support the writeable buffer interface. " @@ -2165,13 +2467,15 @@ msgid "" "exc:`ValueError` is raised." msgstr "" -#: ../../library/ctypes.rst:2078 ../../library/ctypes.rst:2088 +#: ../../library/ctypes.rst:2095 ../../library/ctypes.rst:2105 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:2082 +#: ../../library/ctypes.rst:2099 msgid "" "This method creates a ctypes instance, copying the buffer from the *source* " "object buffer which must be readable. The optional *offset* parameter " @@ -2179,25 +2483,28 @@ msgid "" "If the source buffer is not large enough a :exc:`ValueError` is raised." msgstr "" -#: ../../library/ctypes.rst:2092 +#: ../../library/ctypes.rst:2109 msgid "" "This method returns a ctypes type instance using the memory specified by " "*address* which must be an integer." msgstr "" -#: ../../library/ctypes.rst:2095 +#: ../../library/ctypes.rst:2112 msgid "" "Raises an :ref:`auditing event ` ``ctypes.cdata`` with argument " "``address``." msgstr "" -#: ../../library/ctypes.rst:2097 +#: ../../library/ctypes.rst:2114 msgid "" "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:2103 +#: ../../library/ctypes.rst:2120 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 " @@ -2205,25 +2512,25 @@ msgid "" "be used as a function call parameter." msgstr "" -#: ../../library/ctypes.rst:2108 +#: ../../library/ctypes.rst:2125 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:2114 +#: ../../library/ctypes.rst:2131 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:2118 +#: ../../library/ctypes.rst:2135 msgid "Common instance variables of ctypes data types:" -msgstr "" +msgstr "Variáveis de instância comuns dos tipos de dados ctypes:" -#: ../../library/ctypes.rst:2122 +#: ../../library/ctypes.rst:2139 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:" @@ -2231,13 +2538,13 @@ msgid "" "block." msgstr "" -#: ../../library/ctypes.rst:2129 +#: ../../library/ctypes.rst:2146 msgid "" "This read-only variable is true when the ctypes data instance has allocated " "the memory block itself, false otherwise." msgstr "" -#: ../../library/ctypes.rst:2134 +#: ../../library/ctypes.rst:2151 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. " @@ -2245,7 +2552,7 @@ msgid "" "dictionary." msgstr "" -#: ../../library/ctypes.rst:2147 +#: ../../library/ctypes.rst:2164 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 " @@ -2254,11 +2561,11 @@ msgid "" "types that are not and do not contain pointers can now be pickled." msgstr "" -#: ../../library/ctypes.rst:2153 +#: ../../library/ctypes.rst:2170 msgid "Instances have a single attribute:" msgstr "" -#: ../../library/ctypes.rst:2157 +#: ../../library/ctypes.rst:2174 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 " @@ -2266,7 +2573,7 @@ msgid "" "bytes object or string." msgstr "" -#: ../../library/ctypes.rst:2162 +#: ../../library/ctypes.rst:2179 msgid "" "When the ``value`` attribute is retrieved from a ctypes instance, usually a " "new object is returned each time. :mod:`ctypes` does *not* implement " @@ -2274,7 +2581,7 @@ msgid "" "true for all other ctypes object instances." msgstr "" -#: ../../library/ctypes.rst:2168 +#: ../../library/ctypes.rst:2185 msgid "" "Fundamental data types, when returned as foreign function call results, or, " "for example, by retrieving structure field members or array items, are " @@ -2283,7 +2590,7 @@ msgid "" "receive a Python bytes object, *not* a :class:`c_char_p` instance." msgstr "" -#: ../../library/ctypes.rst:2176 +#: ../../library/ctypes.rst:2193 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 " @@ -2291,204 +2598,223 @@ msgid "" "you can get the value of the pointer by accessing the ``value`` attribute." msgstr "" -#: ../../library/ctypes.rst:2181 +#: ../../library/ctypes.rst:2198 msgid "These are the fundamental ctypes data types:" msgstr "" -#: ../../library/ctypes.rst:2185 +#: ../../library/ctypes.rst:2202 msgid "" -"Represents the C :c:type:`signed char` datatype, and interprets the value as " +"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:2192 +#: ../../library/ctypes.rst:2209 msgid "" -"Represents the C :c:type:`char` datatype, and interprets the value as a " +"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:2199 +#: ../../library/ctypes.rst:2216 msgid "" -"Represents the C :c:type:`char *` datatype when it points to a zero-" +"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:2207 +#: ../../library/ctypes.rst:2224 msgid "" -"Represents the C :c:type:`double` datatype. The constructor accepts an " +"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:2213 +#: ../../library/ctypes.rst:2230 msgid "" -"Represents the C :c:type:`long double` datatype. The constructor accepts an " +"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:2219 +#: ../../library/ctypes.rst:2236 msgid "" -"Represents the C :c:type:`float` datatype. The constructor accepts an " +"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:2225 +#: ../../library/ctypes.rst:2242 msgid "" -"Represents the C :c:type:`signed int` datatype. The constructor accepts an " +"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:2232 +#: ../../library/ctypes.rst:2249 msgid "" -"Represents the C 8-bit :c:type:`signed int` datatype. Usually an alias for :" +"Represents the C 8-bit :c:expr:`signed int` datatype. Usually an alias for :" "class:`c_byte`." msgstr "" -#: ../../library/ctypes.rst:2238 +#: ../../library/ctypes.rst:2255 msgid "" -"Represents the C 16-bit :c:type:`signed int` datatype. Usually an alias " +"Represents the C 16-bit :c:expr:`signed int` datatype. Usually an alias " "for :class:`c_short`." msgstr "" -#: ../../library/ctypes.rst:2244 +#: ../../library/ctypes.rst:2261 msgid "" -"Represents the C 32-bit :c:type:`signed int` datatype. Usually an alias " +"Represents the C 32-bit :c:expr:`signed int` datatype. Usually an alias " "for :class:`c_int`." msgstr "" -#: ../../library/ctypes.rst:2250 +#: ../../library/ctypes.rst:2267 msgid "" -"Represents the C 64-bit :c:type:`signed int` datatype. Usually an alias " +"Represents the C 64-bit :c:expr:`signed int` datatype. Usually an alias " "for :class:`c_longlong`." msgstr "" -#: ../../library/ctypes.rst:2256 +#: ../../library/ctypes.rst:2273 msgid "" -"Represents the C :c:type:`signed long` datatype. The constructor accepts an " +"Represents the C :c:expr:`signed long` datatype. The constructor accepts an " "optional integer initializer; no overflow checking is done." msgstr "" -#: ../../library/ctypes.rst:2262 +#: ../../library/ctypes.rst:2279 msgid "" -"Represents the C :c:type:`signed long long` datatype. The constructor " +"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:2268 +#: ../../library/ctypes.rst:2285 msgid "" -"Represents the C :c:type:`signed short` datatype. The constructor accepts " +"Represents the C :c:expr:`signed short` datatype. The constructor accepts " "an optional integer initializer; no overflow checking is done." msgstr "" -#: ../../library/ctypes.rst:2274 +#: ../../library/ctypes.rst:2291 msgid "Represents the C :c:type:`size_t` datatype." msgstr "" -#: ../../library/ctypes.rst:2279 +#: ../../library/ctypes.rst:2296 msgid "Represents the C :c:type:`ssize_t` datatype." msgstr "" -#: ../../library/ctypes.rst:2286 +#: ../../library/ctypes.rst:2303 msgid "" -"Represents the C :c:type:`unsigned char` datatype, it interprets the value " +"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:2293 +#: ../../library/ctypes.rst:2310 msgid "" -"Represents the C :c:type:`unsigned int` datatype. The constructor accepts " +"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:2300 +#: ../../library/ctypes.rst:2317 msgid "" -"Represents the C 8-bit :c:type:`unsigned int` datatype. Usually an alias " +"Represents the C 8-bit :c:expr:`unsigned int` datatype. Usually an alias " "for :class:`c_ubyte`." msgstr "" -#: ../../library/ctypes.rst:2306 +#: ../../library/ctypes.rst:2323 msgid "" -"Represents the C 16-bit :c:type:`unsigned int` datatype. Usually an alias " +"Represents the C 16-bit :c:expr:`unsigned int` datatype. Usually an alias " "for :class:`c_ushort`." msgstr "" -#: ../../library/ctypes.rst:2312 +#: ../../library/ctypes.rst:2329 msgid "" -"Represents the C 32-bit :c:type:`unsigned int` datatype. Usually an alias " +"Represents the C 32-bit :c:expr:`unsigned int` datatype. Usually an alias " "for :class:`c_uint`." msgstr "" -#: ../../library/ctypes.rst:2318 +#: ../../library/ctypes.rst:2335 msgid "" -"Represents the C 64-bit :c:type:`unsigned int` datatype. Usually an alias " +"Represents the C 64-bit :c:expr:`unsigned int` datatype. Usually an alias " "for :class:`c_ulonglong`." msgstr "" -#: ../../library/ctypes.rst:2324 +#: ../../library/ctypes.rst:2341 msgid "" -"Represents the C :c:type:`unsigned long` datatype. The constructor accepts " +"Represents the C :c:expr:`unsigned long` datatype. The constructor accepts " "an optional integer initializer; no overflow checking is done." msgstr "" -#: ../../library/ctypes.rst:2330 +#: ../../library/ctypes.rst:2347 msgid "" -"Represents the C :c:type:`unsigned long long` datatype. The constructor " +"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:2336 +#: ../../library/ctypes.rst:2353 msgid "" -"Represents the C :c:type:`unsigned short` datatype. The constructor accepts " +"Represents the C :c:expr:`unsigned short` datatype. The constructor accepts " "an optional integer initializer; no overflow checking is done." msgstr "" -#: ../../library/ctypes.rst:2342 +#: ../../library/ctypes.rst:2359 msgid "" -"Represents the C :c:type:`void *` type. The value is represented as " +"Represents the C :c:expr:`void *` type. The value is represented as " "integer. The constructor accepts an optional integer initializer." msgstr "" -#: ../../library/ctypes.rst:2348 +#: ../../library/ctypes.rst:2365 msgid "" -"Represents the C :c:type:`wchar_t` datatype, and interprets the value as a " +"Represents the C :c:expr:`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:2355 +#: ../../library/ctypes.rst:2372 msgid "" -"Represents the C :c:type:`wchar_t *` datatype, which must be a pointer to a " +"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:2362 +#: ../../library/ctypes.rst:2379 msgid "" -"Represent the C :c:type:`bool` datatype (more accurately, :c:type:`_Bool` " +"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:2369 +#: ../../library/ctypes.rst:2386 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:2375 +#: ../../library/ctypes.rst:2392 msgid "" -"Represents the C :c:type:`PyObject *` datatype. Calling this without an " -"argument creates a ``NULL`` :c:type:`PyObject *` pointer." +"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:2378 +#: ../../library/ctypes.rst:2395 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:" @@ -2496,68 +2822,85 @@ msgid "" "also defined." msgstr "" -#: ../../library/ctypes.rst:2386 +#: ../../library/ctypes.rst:2403 msgid "Structured data types" -msgstr "" +msgstr "Tipos de dados estruturados" -#: ../../library/ctypes.rst:2391 +#: ../../library/ctypes.rst:2408 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:2396 +#: ../../library/ctypes.rst:2413 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:2401 +#: ../../library/ctypes.rst:2418 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:2403 +#: ../../library/ctypes.rst:2420 msgid "" "Structures with non-native byte order cannot contain pointer type fields, or " "any other data types containing pointer type fields." msgstr "" -#: ../../library/ctypes.rst:2409 +#: ../../library/ctypes.rst:2426 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:2411 +#: ../../library/ctypes.rst:2428 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" 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:2419 +#: ../../library/ctypes.rst:2436 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:2423 +#: ../../library/ctypes.rst:2440 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:2427 +#: ../../library/ctypes.rst:2444 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:2430 +#: ../../library/ctypes.rst:2447 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:2440 +#: ../../library/ctypes.rst:2457 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, " @@ -2565,28 +2908,28 @@ msgid "" "raise an AttributeError." msgstr "" -#: ../../library/ctypes.rst:2445 +#: ../../library/ctypes.rst:2462 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:2452 +#: ../../library/ctypes.rst:2469 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." msgstr "" -#: ../../library/ctypes.rst:2459 +#: ../../library/ctypes.rst:2476 msgid "" "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:2463 +#: ../../library/ctypes.rst:2480 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 " @@ -2594,11 +2937,11 @@ msgid "" "structure or union field." msgstr "" -#: ../../library/ctypes.rst:2468 +#: ../../library/ctypes.rst:2485 msgid "Here is an example type (Windows)::" msgstr "" -#: ../../library/ctypes.rst:2481 +#: ../../library/ctypes.rst:2498 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 " @@ -2608,7 +2951,7 @@ msgid "" "temporary union instance::" msgstr "" -#: ../../library/ctypes.rst:2493 +#: ../../library/ctypes.rst:2510 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:" @@ -2616,7 +2959,7 @@ msgid "" "of the base class." msgstr "" -#: ../../library/ctypes.rst:2498 +#: ../../library/ctypes.rst:2515 msgid "" "Structure and union constructors accept both positional and keyword " "arguments. Positional arguments are used to initialize member fields in the " @@ -2626,52 +2969,52 @@ msgid "" "names not present in :attr:`_fields_`." msgstr "" -#: ../../library/ctypes.rst:2509 +#: ../../library/ctypes.rst:2526 msgid "Arrays and pointers" msgstr "" -#: ../../library/ctypes.rst:2513 +#: ../../library/ctypes.rst:2530 msgid "Abstract base class for arrays." msgstr "" -#: ../../library/ctypes.rst:2515 +#: ../../library/ctypes.rst:2532 msgid "" "The recommended way to create concrete array types is by multiplying any :" -"mod:`ctypes` data type with a positive integer. Alternatively, you can " +"mod:`ctypes` data type with a non-negative integer. Alternatively, you can " "subclass this type and define :attr:`_length_` and :attr:`_type_` class " "variables. Array elements can be read and written using standard subscript " "and slice accesses; for slice reads, the resulting object is *not* itself " "an :class:`Array`." msgstr "" -#: ../../library/ctypes.rst:2525 +#: ../../library/ctypes.rst:2542 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`." msgstr "" -#: ../../library/ctypes.rst:2532 +#: ../../library/ctypes.rst:2549 msgid "Specifies the type of each element in the array." msgstr "" -#: ../../library/ctypes.rst:2535 +#: ../../library/ctypes.rst:2552 msgid "" "Array subclass constructors accept positional arguments, used to initialize " "the elements in order." msgstr "" -#: ../../library/ctypes.rst:2541 +#: ../../library/ctypes.rst:2558 msgid "Private, abstract base class for pointers." msgstr "" -#: ../../library/ctypes.rst:2543 +#: ../../library/ctypes.rst:2560 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:2547 +#: ../../library/ctypes.rst:2564 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 :" @@ -2680,11 +3023,11 @@ msgid "" "probably crash with an access violation (if you're lucky)." msgstr "" -#: ../../library/ctypes.rst:2557 +#: ../../library/ctypes.rst:2574 msgid "Specifies the type pointed to." msgstr "" -#: ../../library/ctypes.rst:2561 +#: ../../library/ctypes.rst:2578 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 6145b248c..28ed34f50 100644 --- a/library/curses.ascii.po +++ b/library/curses.ascii.po @@ -1,462 +1,509 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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 -# Welington Carlos , 2021 -# Claudio Rogerio Carvalho Filho , 2021 +# python-doc bot, 2025 # #, 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:03+0000\n" -"Last-Translator: Claudio Rogerio Carvalho Filho , " -"2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:57+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/curses.ascii.rst:2 msgid ":mod:`curses.ascii` --- Utilities for ASCII characters" msgstr "" -#: ../../library/curses.ascii.rst:12 +#: ../../library/curses.ascii.rst:10 +msgid "**Source code:** :source:`Lib/curses/ascii.py`" +msgstr "**Código-fonte:** :source:`Lib/curses/ascii.py`" + +#: ../../library/curses.ascii.rst:14 msgid "" "The :mod:`curses.ascii` module supplies name constants for ASCII characters " "and functions to test membership in various ASCII character classes. The " "constants supplied are names for control characters as follows:" msgstr "" +"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:17 +#: ../../library/curses.ascii.rst:19 msgid "Name" msgstr "Nome" -#: ../../library/curses.ascii.rst:17 +#: ../../library/curses.ascii.rst:19 msgid "Meaning" msgstr "Significado" -#: ../../library/curses.ascii.rst:19 +#: ../../library/curses.ascii.rst:21 msgid ":const:`NUL`" msgstr ":const:`NUL`" -#: ../../library/curses.ascii.rst:21 +#: ../../library/curses.ascii.rst:23 msgid ":const:`SOH`" msgstr ":const:`SOH`" -#: ../../library/curses.ascii.rst:21 +#: ../../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:23 +#: ../../library/curses.ascii.rst:25 msgid ":const:`STX`" msgstr ":const:`STX`" -#: ../../library/curses.ascii.rst:23 +#: ../../library/curses.ascii.rst:25 msgid "Start of text" -msgstr "" +msgstr "Início de texto" -#: ../../library/curses.ascii.rst:25 +#: ../../library/curses.ascii.rst:27 msgid ":const:`ETX`" msgstr ":const:`ETX`" -#: ../../library/curses.ascii.rst:25 +#: ../../library/curses.ascii.rst:27 msgid "End of text" -msgstr "" +msgstr "Fim de texto" -#: ../../library/curses.ascii.rst:27 +#: ../../library/curses.ascii.rst:29 msgid ":const:`EOT`" msgstr ":const:`EOT`" -#: ../../library/curses.ascii.rst:27 +#: ../../library/curses.ascii.rst:29 msgid "End of transmission" -msgstr "" +msgstr "Fim de transmissão" -#: ../../library/curses.ascii.rst:29 +#: ../../library/curses.ascii.rst:31 msgid ":const:`ENQ`" msgstr ":const:`ENQ`" -#: ../../library/curses.ascii.rst:29 +#: ../../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:31 +#: ../../library/curses.ascii.rst:33 msgid ":const:`ACK`" msgstr ":const:`ACK`" -#: ../../library/curses.ascii.rst:31 +#: ../../library/curses.ascii.rst:33 msgid "Acknowledgement" -msgstr "" +msgstr "Confirmação" -#: ../../library/curses.ascii.rst:33 +#: ../../library/curses.ascii.rst:35 msgid ":const:`BEL`" msgstr ":const:`BEL`" -#: ../../library/curses.ascii.rst:33 +#: ../../library/curses.ascii.rst:35 msgid "Bell" -msgstr "" +msgstr "Campainha" -#: ../../library/curses.ascii.rst:35 +#: ../../library/curses.ascii.rst:37 msgid ":const:`BS`" msgstr ":const:`BS`" -#: ../../library/curses.ascii.rst:35 +#: ../../library/curses.ascii.rst:37 msgid "Backspace" -msgstr "" +msgstr "Backspace" -#: ../../library/curses.ascii.rst:37 +#: ../../library/curses.ascii.rst:39 msgid ":const:`TAB`" msgstr ":const:`TAB`" -#: ../../library/curses.ascii.rst:37 +#: ../../library/curses.ascii.rst:39 msgid "Tab" -msgstr "" +msgstr "Tabulação" -#: ../../library/curses.ascii.rst:39 +#: ../../library/curses.ascii.rst:41 msgid ":const:`HT`" msgstr ":const:`HT`" -#: ../../library/curses.ascii.rst:39 +#: ../../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:41 +#: ../../library/curses.ascii.rst:43 msgid ":const:`LF`" msgstr ":const:`LF`" -#: ../../library/curses.ascii.rst:41 +#: ../../library/curses.ascii.rst:43 msgid "Line feed" -msgstr "" +msgstr "Alimentação de linha ou *line feed*" -#: ../../library/curses.ascii.rst:43 +#: ../../library/curses.ascii.rst:45 msgid ":const:`NL`" msgstr ":const:`NL`" -#: ../../library/curses.ascii.rst:43 +#: ../../library/curses.ascii.rst:45 msgid "Alias for :const:`LF`: \"New line\"" -msgstr "" +msgstr "Apelido para :const:`LF`: \"Nova linha\"" -#: ../../library/curses.ascii.rst:45 +#: ../../library/curses.ascii.rst:47 msgid ":const:`VT`" msgstr ":const:`VT`" -#: ../../library/curses.ascii.rst:45 +#: ../../library/curses.ascii.rst:47 msgid "Vertical tab" -msgstr "" +msgstr "Tabulação vertical" -#: ../../library/curses.ascii.rst:47 +#: ../../library/curses.ascii.rst:49 msgid ":const:`FF`" msgstr ":const:`FF`" -#: ../../library/curses.ascii.rst:47 +#: ../../library/curses.ascii.rst:49 msgid "Form feed" -msgstr "" +msgstr "Alimentação de formulário ou *form feed*" -#: ../../library/curses.ascii.rst:49 +#: ../../library/curses.ascii.rst:51 msgid ":const:`CR`" msgstr ":const:`CR`" -#: ../../library/curses.ascii.rst:49 +#: ../../library/curses.ascii.rst:51 msgid "Carriage return" -msgstr "" +msgstr "Retorno de carro ou *carriage return*" -#: ../../library/curses.ascii.rst:51 +#: ../../library/curses.ascii.rst:53 msgid ":const:`SO`" msgstr ":const:`SO`" -#: ../../library/curses.ascii.rst:51 +#: ../../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:53 +#: ../../library/curses.ascii.rst:55 msgid ":const:`SI`" msgstr ":const:`SI`" -#: ../../library/curses.ascii.rst:53 +#: ../../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:55 +#: ../../library/curses.ascii.rst:57 msgid ":const:`DLE`" msgstr ":const:`DLE`" -#: ../../library/curses.ascii.rst:55 +#: ../../library/curses.ascii.rst:57 msgid "Data-link escape" -msgstr "" +msgstr "Escape de conexão ou *data-link escape*" -#: ../../library/curses.ascii.rst:57 +#: ../../library/curses.ascii.rst:59 msgid ":const:`DC1`" msgstr ":const:`DC1`" -#: ../../library/curses.ascii.rst:57 +#: ../../library/curses.ascii.rst:59 msgid "XON, for flow control" -msgstr "" +msgstr "XON, para controle de fluxo" -#: ../../library/curses.ascii.rst:59 +#: ../../library/curses.ascii.rst:61 msgid ":const:`DC2`" msgstr ":const:`DC2`" -#: ../../library/curses.ascii.rst:59 +#: ../../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:61 +#: ../../library/curses.ascii.rst:63 msgid ":const:`DC3`" msgstr ":const:`DC3`" -#: ../../library/curses.ascii.rst:61 +#: ../../library/curses.ascii.rst:63 msgid "XOFF, for flow control" -msgstr "" +msgstr "XOFF, para controle de fluxo" -#: ../../library/curses.ascii.rst:63 +#: ../../library/curses.ascii.rst:65 msgid ":const:`DC4`" msgstr ":const:`DC4`" -#: ../../library/curses.ascii.rst:63 +#: ../../library/curses.ascii.rst:65 msgid "Device control 4" -msgstr "" +msgstr "Controle de dispositivo 4" -#: ../../library/curses.ascii.rst:65 +#: ../../library/curses.ascii.rst:67 msgid ":const:`NAK`" msgstr ":const:`NAK`" -#: ../../library/curses.ascii.rst:65 +#: ../../library/curses.ascii.rst:67 msgid "Negative acknowledgement" -msgstr "" +msgstr "Confirmação negativa" -#: ../../library/curses.ascii.rst:67 +#: ../../library/curses.ascii.rst:69 msgid ":const:`SYN`" msgstr ":const:`SYN`" -#: ../../library/curses.ascii.rst:67 +#: ../../library/curses.ascii.rst:69 msgid "Synchronous idle" -msgstr "" +msgstr "Estado ocioso síncrono" -#: ../../library/curses.ascii.rst:69 +#: ../../library/curses.ascii.rst:71 msgid ":const:`ETB`" msgstr ":const:`ETB`" -#: ../../library/curses.ascii.rst:69 +#: ../../library/curses.ascii.rst:71 msgid "End transmission block" -msgstr "" +msgstr "Bloco de fim de transmissão" -#: ../../library/curses.ascii.rst:71 +#: ../../library/curses.ascii.rst:73 msgid ":const:`CAN`" msgstr ":const:`CAN`" -#: ../../library/curses.ascii.rst:71 +#: ../../library/curses.ascii.rst:73 msgid "Cancel" -msgstr "" +msgstr "Cancelar" -#: ../../library/curses.ascii.rst:73 +#: ../../library/curses.ascii.rst:75 msgid ":const:`EM`" msgstr ":const:`EM`" -#: ../../library/curses.ascii.rst:73 +#: ../../library/curses.ascii.rst:75 msgid "End of medium" -msgstr "" +msgstr "Fim de mídia" -#: ../../library/curses.ascii.rst:75 +#: ../../library/curses.ascii.rst:77 msgid ":const:`SUB`" msgstr ":const:`SUB`" -#: ../../library/curses.ascii.rst:75 +#: ../../library/curses.ascii.rst:77 msgid "Substitute" -msgstr "" +msgstr "Substituir" -#: ../../library/curses.ascii.rst:77 +#: ../../library/curses.ascii.rst:79 msgid ":const:`ESC`" msgstr ":const:`ESC`" -#: ../../library/curses.ascii.rst:77 +#: ../../library/curses.ascii.rst:79 msgid "Escape" -msgstr "" +msgstr "Escapar" -#: ../../library/curses.ascii.rst:79 +#: ../../library/curses.ascii.rst:81 msgid ":const:`FS`" msgstr ":const:`FS`" -#: ../../library/curses.ascii.rst:79 +#: ../../library/curses.ascii.rst:81 msgid "File separator" -msgstr "" +msgstr "Separador de arquivos" -#: ../../library/curses.ascii.rst:81 +#: ../../library/curses.ascii.rst:83 msgid ":const:`GS`" msgstr ":const:`GS`" -#: ../../library/curses.ascii.rst:81 +#: ../../library/curses.ascii.rst:83 msgid "Group separator" -msgstr "" +msgstr "Separador de grupos" -#: ../../library/curses.ascii.rst:83 +#: ../../library/curses.ascii.rst:85 msgid ":const:`RS`" msgstr ":const:`RS`" -#: ../../library/curses.ascii.rst:83 +#: ../../library/curses.ascii.rst:85 msgid "Record separator, block-mode terminator" -msgstr "" +msgstr "Separador de registros, terminador de modo bloco" -#: ../../library/curses.ascii.rst:85 +#: ../../library/curses.ascii.rst:87 msgid ":const:`US`" msgstr ":const:`US`" -#: ../../library/curses.ascii.rst:85 +#: ../../library/curses.ascii.rst:87 msgid "Unit separator" -msgstr "Separador de Unidade" +msgstr "Separador de unidades" -#: ../../library/curses.ascii.rst:87 +#: ../../library/curses.ascii.rst:89 msgid ":const:`SP`" msgstr ":const:`SP`" -#: ../../library/curses.ascii.rst:87 +#: ../../library/curses.ascii.rst:89 msgid "Space" msgstr "Espaço" -#: ../../library/curses.ascii.rst:89 +#: ../../library/curses.ascii.rst:91 msgid ":const:`DEL`" msgstr ":const:`DEL`" -#: ../../library/curses.ascii.rst:89 +#: ../../library/curses.ascii.rst:91 msgid "Delete" -msgstr "Delete" +msgstr "Excluir" -#: ../../library/curses.ascii.rst:92 +#: ../../library/curses.ascii.rst:94 msgid "" "Note that many of these have little practical significance in modern usage. " "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:95 +#: ../../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:101 +#: ../../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:107 +#: ../../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:113 +#: ../../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:118 +#: ../../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:123 +#: ../../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:128 +#: ../../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:134 +#: ../../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:139 +#: ../../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:144 +#: ../../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:149 +#: ../../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:155 +#: ../../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:161 +#: ../../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:166 +#: ../../library/curses.ascii.rst:168 msgid "" "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:172 +#: ../../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:177 +#: ../../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:179 +#: ../../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`." 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:182 +#: ../../library/curses.ascii.rst:184 msgid "" "Note that all these functions check ordinal bit values derived from the " "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:186 +#: ../../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:192 +#: ../../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:197 +#: ../../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:203 +#: ../../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:206 +#: ../../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:216 +#: ../../library/curses.ascii.rst:218 msgid "" "Return a string representation of the ASCII character *c*. If *c* is " "printable, this string is the character itself. If the character is a " @@ -466,10 +513,20 @@ 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:226 +#: ../../library/curses.ascii.rst:228 msgid "" "A 33-element string array that contains the ASCII mnemonics for the thirty-" "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." diff --git a/library/curses.panel.po b/library/curses.panel.po index 3064cd4a5..88efe583f 100644 --- a/library/curses.panel.po +++ b/library/curses.panel.po @@ -1,28 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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 -# Cássio Nomura , 2021 -# i17obot , 2021 +# python-doc bot, 2025 # #, 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:03+0000\n" -"Last-Translator: i17obot , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:57+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/curses.panel.rst:2 msgid ":mod:`curses.panel` --- A panel stack extension for curses" @@ -34,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" @@ -41,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." @@ -54,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 "" @@ -76,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." @@ -91,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 "" @@ -134,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 ebae15020..383a63d54 100644 --- a/library/curses.po +++ b/library/curses.po @@ -1,33 +1,29 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, Python Software 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 -# Rafael Fontenelle , 2021 -# Welington Carlos , 2021 -# i17obot , 2021 -# Marco Rougeth , 2021 -# Claudio Rogerio Carvalho Filho , 2021 -# (Douglas da Silva) , 2021 +# python-doc bot, 2025 +# Nicolas Noda Uesu, 2025 +# Adorilson Bezerra , 2026 # #, 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:03+0000\n" -"Last-Translator: (Douglas da Silva) , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2026-03-01 17:24+0000\n" +"PO-Revision-Date: 2025-09-22 15:57+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=2; plural=(n > 1);\n" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/curses.rst:2 msgid ":mod:`curses` --- Terminal handling for character-cell displays" @@ -35,7 +31,11 @@ msgstr "" ":mod:`curses` --- Gerenciador de terminal para visualizadores de células de " "caracteres." -#: ../../library/curses.rst:14 +#: ../../library/curses.rst:12 +msgid "**Source code:** :source:`Lib/curses`" +msgstr "**Código-fonte:** :source:`Lib/curses`" + +#: ../../library/curses.rst:16 msgid "" "The :mod:`curses` module provides an interface to the curses library, the de-" "facto standard for portable advanced terminal handling." @@ -43,7 +43,7 @@ msgstr "" "O módulo :mod:`curses` provê uma interface para a livraria curses, o padrão " "de-facto para manuseio avançado de terminal portável." -#: ../../library/curses.rst:17 +#: ../../library/curses.rst:19 msgid "" "While curses is most widely used in the Unix environment, versions are " "available for Windows, DOS, and possibly other systems as well. This " @@ -51,19 +51,19 @@ msgid "" "curses library hosted on Linux and the BSD variants of Unix." msgstr "" -#: ../../library/curses.rst:24 +#: ../../library/curses.rst:26 msgid "" "Whenever the documentation mentions a *character* it can be specified as an " "integer, a one-character Unicode string or a one-byte byte string." msgstr "" -#: ../../library/curses.rst:27 +#: ../../library/curses.rst:29 msgid "" "Whenever the documentation mentions a *character string* it can be specified " "as a Unicode string or a byte string." msgstr "" -#: ../../library/curses.rst:32 +#: ../../library/curses.rst:34 msgid "" "Since version 5.4, the ncurses library decides how to interpret non-ASCII " "data using the ``nl_langinfo`` function. That means that you have to call :" @@ -77,17 +77,17 @@ msgstr "" "Unicode usando um dos codificadores disponíveis por padrão no sistema. Esse " "exemplo usa o codificador padrão do sistema::" -#: ../../library/curses.rst:42 +#: ../../library/curses.rst:44 msgid "Then use *code* as the encoding for :meth:`str.encode` calls." msgstr "" "Então faça uso de *code* como codificador para as chamadas :meth:`str." "encode`." -#: ../../library/curses.rst:47 +#: ../../library/curses.rst:49 msgid "Module :mod:`curses.ascii`" msgstr "Módulo :mod:`curses.ascii`" -#: ../../library/curses.rst:47 +#: ../../library/curses.rst:49 msgid "" "Utilities for working with ASCII characters, regardless of your locale " "settings." @@ -95,21 +95,21 @@ msgstr "" "Utilidades para trabalhar com caracteres ASCII, independentemente de suas " "configurações locais." -#: ../../library/curses.rst:50 +#: ../../library/curses.rst:52 msgid "Module :mod:`curses.panel`" msgstr "Módulo :mod:`curses.panel`" -#: ../../library/curses.rst:50 +#: ../../library/curses.rst:52 msgid "A panel stack extension that adds depth to curses windows." msgstr "" "Uma extensão de painel stackeada que adiciona profundidade às janelas do " "curses." -#: ../../library/curses.rst:53 +#: ../../library/curses.rst:55 msgid "Module :mod:`curses.textpad`" msgstr "Módulo :mod:`curses.textpad`" -#: ../../library/curses.rst:53 +#: ../../library/curses.rst:55 msgid "" "Editable text widget for curses supporting :program:`Emacs`\\ -like " "bindings." @@ -117,47 +117,51 @@ msgstr "" "Widget de texto editável para suporte ao curses :program:`Emacs`\\ -like " "bindings." -#: ../../library/curses.rst:57 +#: ../../library/curses.rst:59 msgid ":ref:`curses-howto`" msgstr ":ref:`curses-howto`" -#: ../../library/curses.rst:56 +#: ../../library/curses.rst:58 msgid "" "Tutorial material on using curses with Python, by Andrew Kuchling and Eric " "Raymond." msgstr "" -#: ../../library/curses.rst:59 +#: ../../library/curses.rst:61 msgid "" "The :source:`Tools/demo/` directory in the Python source distribution " "contains some example programs using the curses bindings provided by this " "module." msgstr "" -#: ../../library/curses.rst:66 +#: ../../library/curses.rst:68 msgid "Functions" msgstr "Funções" -#: ../../library/curses.rst:68 +#: ../../library/curses.rst:70 msgid "The module :mod:`curses` defines the following exception:" msgstr "" -#: ../../library/curses.rst:73 +#: ../../library/curses.rst:75 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:77 +#: ../../library/curses.rst:79 msgid "" "Whenever *x* or *y* arguments to a function or a method are optional, they " "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:81 +#: ../../library/curses.rst:83 msgid "The module :mod:`curses` defines the following functions:" msgstr "" -#: ../../library/curses.rst:86 +#: ../../library/curses.rst:88 msgid "" "Return the output speed of the terminal in bits per second. On software " "terminal emulators it will have a fixed high value. Included for historical " @@ -165,17 +169,17 @@ msgid "" "and occasionally to change interfaces depending on the line speed." msgstr "" -#: ../../library/curses.rst:94 +#: ../../library/curses.rst:96 msgid "Emit a short attention sound." msgstr "" -#: ../../library/curses.rst:99 +#: ../../library/curses.rst:101 msgid "" "Return ``True`` or ``False``, depending on whether the programmer can change " "the colors displayed by the terminal." msgstr "" -#: ../../library/curses.rst:105 +#: ../../library/curses.rst:107 msgid "" "Enter cbreak mode. In cbreak mode (sometimes called \"rare\" mode) normal " "tty line buffering is turned off and characters are available to be read one " @@ -185,7 +189,7 @@ msgid "" "terminal in cbreak mode." msgstr "" -#: ../../library/curses.rst:114 +#: ../../library/curses.rst:116 msgid "" "Return the intensity of the red, green, and blue (RGB) components in the " "color *color_number*, which must be between ``0`` and ``COLORS - 1``. " @@ -194,7 +198,7 @@ msgid "" "component)." msgstr "" -#: ../../library/curses.rst:122 +#: ../../library/curses.rst:124 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 " @@ -202,7 +206,7 @@ msgid "" "`A_\\*` attributes. :func:`pair_number` is the counterpart to this function." msgstr "" -#: ../../library/curses.rst:131 +#: ../../library/curses.rst:133 msgid "" "Set the cursor state. *visibility* can be set to ``0``, ``1``, or ``2``, " "for invisible, normal, or very visible. If the terminal supports the " @@ -211,7 +215,7 @@ msgid "" "and the \"very visible\" mode is a block cursor." msgstr "" -#: ../../library/curses.rst:140 +#: ../../library/curses.rst:142 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, " @@ -219,7 +223,7 @@ msgid "" "`reset_prog_mode` will restore this mode." msgstr "" -#: ../../library/curses.rst:148 +#: ../../library/curses.rst:150 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\" " @@ -227,11 +231,11 @@ msgid "" "func:`reset_shell_mode` will restore this mode." msgstr "" -#: ../../library/curses.rst:156 +#: ../../library/curses.rst:158 msgid "Insert an *ms* millisecond pause in output." msgstr "" -#: ../../library/curses.rst:161 +#: ../../library/curses.rst:163 msgid "" "Update the physical screen. The curses library keeps two data structures, " "one representing the current physical screen contents and a virtual screen " @@ -243,7 +247,7 @@ msgstr "" "representando o próximo estado desejado. O :func:`doupdate` atualiza a tela " "física para corresponder à tela virtual." -#: ../../library/curses.rst:166 +#: ../../library/curses.rst:168 msgid "" "The virtual screen may be updated by a :meth:`~window.noutrefresh` call " "after write operations such as :meth:`~window.addstr` have been performed on " @@ -254,24 +258,24 @@ msgid "" "func:`!doupdate`." msgstr "" -#: ../../library/curses.rst:176 +#: ../../library/curses.rst:178 msgid "" "Enter echo mode. In echo mode, each character input is echoed to the screen " "as it is entered." msgstr "" -#: ../../library/curses.rst:182 +#: ../../library/curses.rst:184 msgid "De-initialize the library, and return terminal to normal status." msgstr "" -#: ../../library/curses.rst:187 +#: ../../library/curses.rst:189 msgid "" "Return the user's current erase character as a one-byte bytes object. Under " "Unix operating systems this is a property of the controlling tty of the " "curses program, and is not set by the curses library itself." msgstr "" -#: ../../library/curses.rst:194 +#: ../../library/curses.rst:196 msgid "" "The :func:`.filter` routine, if used, must be called before :func:`initscr` " "is called. The effect is that, during those calls, :envvar:`LINES` is set " @@ -282,20 +286,20 @@ msgid "" "time line editing without touching the rest of the screen." msgstr "" -#: ../../library/curses.rst:204 +#: ../../library/curses.rst:206 msgid "" "Flash the screen. That is, change it to reverse-video and then change it " "back in a short interval. Some people prefer such as 'visible bell' to the " "audible attention signal produced by :func:`beep`." msgstr "" -#: ../../library/curses.rst:211 +#: ../../library/curses.rst:213 msgid "" "Flush all input buffers. This throws away any typeahead that has been " "typed by the user and has not yet been processed by the program." msgstr "" -#: ../../library/curses.rst:217 +#: ../../library/curses.rst:219 msgid "" "After :meth:`~window.getch` returns :const:`KEY_MOUSE` to signal a mouse " "event, this method should be called to retrieve the queued mouse event, " @@ -310,51 +314,51 @@ msgid "" "const:`BUTTON_ALT`." msgstr "" -#: ../../library/curses.rst:228 +#: ../../library/curses.rst:230 msgid "" "The ``BUTTON5_*`` constants are now exposed if they are provided by the " "underlying curses library." msgstr "" -#: ../../library/curses.rst:235 +#: ../../library/curses.rst:237 msgid "" "Return the current coordinates of the virtual screen cursor as a tuple ``(y, " "x)``. If :meth:`leaveok ` is currently ``True``, then " "return ``(-1, -1)``." msgstr "" -#: ../../library/curses.rst:241 +#: ../../library/curses.rst:243 msgid "" "Read window related data stored in the file by an earlier :func:`putwin` " "call. The routine then creates and initializes a new window using that data, " "returning the new window object." msgstr "" -#: ../../library/curses.rst:248 +#: ../../library/curses.rst:250 msgid "" "Return ``True`` if the terminal can display colors; otherwise, return " "``False``." msgstr "" -#: ../../library/curses.rst:252 +#: ../../library/curses.rst:254 msgid "" "Return ``True`` if the module supports extended colors; otherwise, return " "``False``. Extended color support allows more than 256 color pairs for " "terminals that support more than 16 colors (e.g. xterm-256color)." msgstr "" -#: ../../library/curses.rst:256 +#: ../../library/curses.rst:258 msgid "Extended color support requires ncurses version 6.1 or later." msgstr "" -#: ../../library/curses.rst:262 +#: ../../library/curses.rst:264 msgid "" "Return ``True`` if the terminal has insert- and delete-character " "capabilities. This function is included for historical reasons only, as all " "modern software terminal emulators have such capabilities." msgstr "" -#: ../../library/curses.rst:269 +#: ../../library/curses.rst:271 msgid "" "Return ``True`` if the terminal has insert- and delete-line capabilities, or " "can simulate them using scrolling regions. This function is included for " @@ -362,13 +366,13 @@ msgid "" "capabilities." msgstr "" -#: ../../library/curses.rst:277 +#: ../../library/curses.rst:279 msgid "" "Take a key value *ch*, and return ``True`` if the current terminal type " "recognizes a key with that value." msgstr "" -#: ../../library/curses.rst:283 +#: ../../library/curses.rst:285 msgid "" "Used for half-delay mode, which is similar to cbreak mode in that characters " "typed by the user are immediately available to the program. However, after " @@ -377,19 +381,19 @@ msgid "" "``255``. Use :func:`nocbreak` to leave half-delay mode." msgstr "" -#: ../../library/curses.rst:292 +#: ../../library/curses.rst:294 msgid "" "Change the definition of a color, taking the number of the color to be " "changed followed by three RGB values (for the amounts of red, green, and " "blue components). The value of *color_number* must be between ``0`` and " -"`COLORS - 1`. Each of *r*, *g*, *b*, must be a value between ``0`` and " +"``COLORS - 1``. Each of *r*, *g*, *b*, must be a value between ``0`` and " "``1000``. When :func:`init_color` is used, all occurrences of that color on " "the screen immediately change to the new definition. This function is a no-" "op on most terminals; it is active only if :func:`can_change_color` returns " "``True``." msgstr "" -#: ../../library/curses.rst:303 +#: ../../library/curses.rst:305 msgid "" "Change the definition of a color-pair. It takes three arguments: the number " "of the color-pair to be changed, the foreground color number, and the " @@ -402,31 +406,31 @@ msgid "" "definition." msgstr "" -#: ../../library/curses.rst:316 +#: ../../library/curses.rst:318 msgid "" "Initialize the library. Return a :ref:`window ` " "object which represents the whole screen." msgstr "" -#: ../../library/curses.rst:321 +#: ../../library/curses.rst:323 msgid "" "If there is an error opening the terminal, the underlying curses library may " "cause the interpreter to exit." msgstr "" -#: ../../library/curses.rst:327 +#: ../../library/curses.rst:329 msgid "" "Return ``True`` if :func:`resize_term` would modify the window structure, " "``False`` otherwise." msgstr "" -#: ../../library/curses.rst:333 +#: ../../library/curses.rst:335 msgid "" "Return ``True`` if :func:`endwin` has been called (that is, the curses " "library has been deinitialized)." msgstr "" -#: ../../library/curses.rst:339 +#: ../../library/curses.rst:341 msgid "" "Return the name of the key numbered *k* as a bytes object. The name of a " "key generating printable ASCII character is the key's character. The name " @@ -437,27 +441,27 @@ msgid "" "character." msgstr "" -#: ../../library/curses.rst:349 +#: ../../library/curses.rst:351 msgid "" "Return the user's current line kill character as a one-byte bytes object. " "Under Unix operating systems this is a property of the controlling tty of " "the curses program, and is not set by the curses library itself." msgstr "" -#: ../../library/curses.rst:356 +#: ../../library/curses.rst:358 msgid "" "Return a bytes object containing the terminfo long name field describing the " "current terminal. The maximum length of a verbose description is 128 " "characters. It is defined only after the call to :func:`initscr`." msgstr "" -#: ../../library/curses.rst:363 +#: ../../library/curses.rst:365 msgid "" "If *flag* is ``True``, allow 8-bit characters to be input. If *flag* is " "``False``, allow only 7-bit chars." msgstr "" -#: ../../library/curses.rst:369 +#: ../../library/curses.rst:371 msgid "" "Set the maximum time in milliseconds that can elapse between press and " "release events in order for them to be recognized as a click, and return the " @@ -465,7 +469,7 @@ msgid "" "second." msgstr "" -#: ../../library/curses.rst:376 +#: ../../library/curses.rst:378 msgid "" "Set the mouse events to be reported, and return a tuple ``(availmask, " "oldmask)``. *availmask* indicates which of the specified mouse events can " @@ -474,17 +478,17 @@ msgid "" "never called, no mouse events are ever reported." msgstr "" -#: ../../library/curses.rst:385 +#: ../../library/curses.rst:387 msgid "Sleep for *ms* milliseconds." msgstr "" -#: ../../library/curses.rst:390 +#: ../../library/curses.rst:392 msgid "" "Create and return a pointer to a new pad data structure with the given " "number of lines and columns. Return a pad as a window object." msgstr "" -#: ../../library/curses.rst:393 +#: ../../library/curses.rst:395 msgid "" "A pad is like a window, except that it is not restricted by the screen size, " "and is not necessarily associated with a particular part of the screen. " @@ -500,35 +504,35 @@ msgid "" "to be displayed." msgstr "" -#: ../../library/curses.rst:409 +#: ../../library/curses.rst:411 msgid "" "Return a new :ref:`window `, whose left-upper corner " "is at ``(begin_y, begin_x)``, and whose height/width is *nlines*/*ncols*." msgstr "" -#: ../../library/curses.rst:412 +#: ../../library/curses.rst:414 msgid "" "By default, the window will extend from the specified position to the lower " "right corner of the screen." msgstr "" -#: ../../library/curses.rst:418 +#: ../../library/curses.rst:420 msgid "" "Enter newline mode. This mode translates the return key into newline on " "input, and translates newline into return and line-feed on output. Newline " "mode is initially on." msgstr "" -#: ../../library/curses.rst:425 +#: ../../library/curses.rst:427 msgid "" "Leave cbreak mode. Return to normal \"cooked\" mode with line buffering." msgstr "" -#: ../../library/curses.rst:430 +#: ../../library/curses.rst:432 msgid "Leave echo mode. Echoing of input characters is turned off." msgstr "" -#: ../../library/curses.rst:435 +#: ../../library/curses.rst:437 msgid "" "Leave newline mode. Disable translation of return into newline on input, " "and disable low-level translation of newline into newline/return on output " @@ -538,7 +542,7 @@ msgid "" "also, it will be able to detect the return key on input." msgstr "" -#: ../../library/curses.rst:445 +#: ../../library/curses.rst:447 msgid "" "When the :func:`!noqiflush` routine is used, normal flush of input and " "output queues associated with the ``INTR``, ``QUIT`` and ``SUSP`` characters " @@ -547,63 +551,63 @@ msgid "" "occurred, after the handler exits." msgstr "" -#: ../../library/curses.rst:453 +#: ../../library/curses.rst:455 msgid "Leave raw mode. Return to normal \"cooked\" mode with line buffering." msgstr "" -#: ../../library/curses.rst:458 +#: ../../library/curses.rst:460 msgid "" "Return a tuple ``(fg, bg)`` containing the colors for the requested color " "pair. The value of *pair_number* must be between ``0`` and ``COLOR_PAIRS - " "1``." msgstr "" -#: ../../library/curses.rst:464 +#: ../../library/curses.rst:466 msgid "" "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:470 +#: ../../library/curses.rst:472 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." msgstr "" -#: ../../library/curses.rst:477 +#: ../../library/curses.rst:479 msgid "" "If *flag* is ``False``, the effect is the same as calling :func:`noqiflush`. " "If *flag* is ``True``, or no argument is provided, the queues will be " "flushed when these control characters are read." msgstr "" -#: ../../library/curses.rst:484 +#: ../../library/curses.rst:486 msgid "" "Enter raw mode. In raw mode, normal line buffering and processing of " "interrupt, quit, suspend, and flow control keys are turned off; characters " "are presented to curses input functions one by one." msgstr "" -#: ../../library/curses.rst:491 +#: ../../library/curses.rst:493 msgid "" "Restore the terminal to \"program\" mode, as previously saved by :func:" "`def_prog_mode`." msgstr "" -#: ../../library/curses.rst:497 +#: ../../library/curses.rst:499 msgid "" "Restore the terminal to \"shell\" mode, as previously saved by :func:" "`def_shell_mode`." msgstr "" -#: ../../library/curses.rst:503 +#: ../../library/curses.rst:505 msgid "" "Restore the state of the terminal modes to what it was at the last call to :" "func:`savetty`." msgstr "" -#: ../../library/curses.rst:509 +#: ../../library/curses.rst:511 msgid "" "Backend function used by :func:`resizeterm`, performing most of the work; " "when resizing the windows, :func:`resize_term` blank-fills the areas that " @@ -613,47 +617,47 @@ msgid "" "to resize these without additional interaction with the application." msgstr "" -#: ../../library/curses.rst:519 +#: ../../library/curses.rst:521 msgid "" "Resize the standard and current windows to the specified dimensions, and " "adjusts other bookkeeping data used by the curses library that record the " "window dimensions (in particular the SIGWINCH handler)." msgstr "" -#: ../../library/curses.rst:526 +#: ../../library/curses.rst:528 msgid "" "Save the current state of the terminal modes in a buffer, usable by :func:" "`resetty`." msgstr "" -#: ../../library/curses.rst:531 +#: ../../library/curses.rst:533 msgid "Retrieves the value set by :func:`set_escdelay`." msgstr "" -#: ../../library/curses.rst:537 +#: ../../library/curses.rst:539 msgid "" "Sets the number of milliseconds to wait after reading an escape character, " "to distinguish between an individual escape character entered on the " "keyboard from escape sequences sent by cursor and function keys." msgstr "" -#: ../../library/curses.rst:545 +#: ../../library/curses.rst:547 msgid "Retrieves the value set by :func:`set_tabsize`." msgstr "" -#: ../../library/curses.rst:551 +#: ../../library/curses.rst:553 msgid "" "Sets the number of columns used by the curses library when converting a tab " "character to spaces as it adds the tab to a window." msgstr "" -#: ../../library/curses.rst:558 +#: ../../library/curses.rst:560 msgid "" "Set the virtual screen cursor to *y*, *x*. If *y* and *x* are both ``-1``, " "then :meth:`leaveok ` is set ``True``." msgstr "" -#: ../../library/curses.rst:564 +#: ../../library/curses.rst:566 msgid "" "Initialize the terminal. *term* is a string giving the terminal name, or " "``None``; if omitted or ``None``, the value of the :envvar:`TERM` " @@ -662,14 +666,14 @@ msgid "" "descriptor for ``sys.stdout`` will be used." msgstr "" -#: ../../library/curses.rst:573 +#: ../../library/curses.rst:575 msgid "" "Must be called if the programmer wants to use colors, and before any other " "color manipulation routine is called. It is good practice to call this " "routine right after :func:`initscr`." msgstr "" -#: ../../library/curses.rst:577 +#: ../../library/curses.rst:579 msgid "" ":func:`start_color` initializes eight basic colors (black, red, green, " "yellow, blue, magenta, cyan, and white), and two global variables in the :" @@ -679,20 +683,20 @@ msgid "" "terminal was just turned on." msgstr "" -#: ../../library/curses.rst:586 +#: ../../library/curses.rst:588 msgid "" "Return a logical OR of all video attributes supported by the terminal. This " "information is useful when a curses program needs complete control over the " "appearance of the screen." msgstr "" -#: ../../library/curses.rst:593 +#: ../../library/curses.rst:595 msgid "" "Return the value of the environment variable :envvar:`TERM`, as a bytes " "object, truncated to 14 characters." msgstr "" -#: ../../library/curses.rst:599 +#: ../../library/curses.rst:601 msgid "" "Return the value of the Boolean capability corresponding to the terminfo " "capability name *capname* as an integer. Return the value ``-1`` if " @@ -700,7 +704,7 @@ msgid "" "from the terminal description." msgstr "" -#: ../../library/curses.rst:607 +#: ../../library/curses.rst:609 msgid "" "Return the value of the numeric capability corresponding to the terminfo " "capability name *capname* as an integer. Return the value ``-2`` if " @@ -708,7 +712,7 @@ msgid "" "from the terminal description." msgstr "" -#: ../../library/curses.rst:615 +#: ../../library/curses.rst:617 msgid "" "Return the value of the string capability corresponding to the terminfo " "capability name *capname* as a bytes object. Return ``None`` if *capname* " @@ -716,7 +720,7 @@ msgid "" "terminal description." msgstr "" -#: ../../library/curses.rst:623 +#: ../../library/curses.rst:625 msgid "" "Instantiate the bytes object *str* with the supplied parameters, where *str* " "should be a parameterized string obtained from the terminfo database. E.g. " @@ -724,13 +728,13 @@ msgid "" "exact result depending on terminal type." msgstr "" -#: ../../library/curses.rst:631 +#: ../../library/curses.rst:633 msgid "" "Specify that the file descriptor *fd* be used for typeahead checking. If " "*fd* is ``-1``, then no typeahead checking is done." msgstr "" -#: ../../library/curses.rst:634 +#: ../../library/curses.rst:636 msgid "" "The curses library does \"line-breakout optimization\" by looking for " "typeahead periodically while updating the screen. If input is found, and it " @@ -740,7 +744,7 @@ msgid "" "typeahead checking." msgstr "" -#: ../../library/curses.rst:643 +#: ../../library/curses.rst:645 msgid "" "Return a bytes object which is a printable representation of the character " "*ch*. Control characters are represented as a caret followed by the " @@ -748,35 +752,35 @@ msgid "" "are." msgstr "" -#: ../../library/curses.rst:650 +#: ../../library/curses.rst:652 msgid "Push *ch* so the next :meth:`~window.getch` will return it." msgstr "" -#: ../../library/curses.rst:654 +#: ../../library/curses.rst:656 msgid "Only one *ch* can be pushed before :meth:`!getch` is called." msgstr "" -#: ../../library/curses.rst:659 +#: ../../library/curses.rst:661 msgid "" "Update :envvar:`LINES` and :envvar:`COLS`. Useful for detecting manual " "screen resize." msgstr "" -#: ../../library/curses.rst:666 +#: ../../library/curses.rst:668 msgid "Push *ch* so the next :meth:`~window.get_wch` will return it." msgstr "" -#: ../../library/curses.rst:670 +#: ../../library/curses.rst:672 msgid "Only one *ch* can be pushed before :meth:`!get_wch` is called." msgstr "" -#: ../../library/curses.rst:677 +#: ../../library/curses.rst:679 msgid "" "Push a :const:`KEY_MOUSE` event onto the input queue, associating the given " "state data with it." msgstr "" -#: ../../library/curses.rst:683 +#: ../../library/curses.rst:685 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 " @@ -786,7 +790,7 @@ msgid "" "to use the window size if :envvar:`LINES` and :envvar:`COLUMNS` are not set)." msgstr "" -#: ../../library/curses.rst:693 +#: ../../library/curses.rst:695 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 " @@ -795,7 +799,7 @@ msgid "" "*x* to a red foreground color on the default background." msgstr "" -#: ../../library/curses.rst:702 +#: ../../library/curses.rst:704 msgid "" "Initialize curses and call another callable object, *func*, which should be " "the rest of your curses-using application. If the application raises an " @@ -808,51 +812,61 @@ msgid "" "On exit (whether normally or by exception) it restores cooked mode, turns on " "echo, and disables the terminal keypad." msgstr "" +"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:716 +#: ../../library/curses.rst:718 msgid "Window Objects" msgstr "" -#: ../../library/curses.rst:718 +#: ../../library/curses.rst:720 msgid "" "Window objects, as returned by :func:`initscr` and :func:`newwin` above, " "have the following methods and attributes:" msgstr "" -#: ../../library/curses.rst:725 +#: ../../library/curses.rst:727 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:731 +#: ../../library/curses.rst:733 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:739 +#: ../../library/curses.rst:741 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:747 +#: ../../library/curses.rst:749 msgid "" "Paint the character string *str* at ``(y, x)`` with attributes *attr*, " "overwriting anything previously on the display." msgstr "" -#: ../../library/curses.rst:752 +#: ../../library/curses.rst:754 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:756 +#: ../../library/curses.rst:758 msgid "" "A `bug in ncurses `_, the backend for " "this Python module, can cause SegFaults when resizing windows. This is fixed " @@ -862,44 +876,44 @@ msgid "" "line." msgstr "" -#: ../../library/curses.rst:766 +#: ../../library/curses.rst:768 msgid "" "Remove attribute *attr* from the \"background\" set applied to all writes to " "the current window." msgstr "" -#: ../../library/curses.rst:772 +#: ../../library/curses.rst:774 msgid "" "Add attribute *attr* from the \"background\" set applied to all writes to " "the current window." msgstr "" -#: ../../library/curses.rst:778 +#: ../../library/curses.rst:780 msgid "" "Set the \"background\" set of attributes to *attr*. This set is initially " "``0`` (no attributes)." msgstr "" -#: ../../library/curses.rst:784 +#: ../../library/curses.rst:786 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:788 +#: ../../library/curses.rst:790 msgid "" "The attribute of every character in the window is changed to the new " "background attribute." msgstr "" -#: ../../library/curses.rst:791 +#: ../../library/curses.rst:793 msgid "" "Wherever the former background character appears, it is changed to the new " "background character." msgstr "" -#: ../../library/curses.rst:797 +#: ../../library/curses.rst:799 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 " @@ -910,128 +924,128 @@ msgid "" "delete line/character operations." msgstr "" -#: ../../library/curses.rst:807 +#: ../../library/curses.rst:809 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:813 +#: ../../library/curses.rst:815 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:818 +#: ../../library/curses.rst:820 msgid "Parameter" msgstr "" -#: ../../library/curses.rst:818 +#: ../../library/curses.rst:820 msgid "Description" msgstr "Descrição" -#: ../../library/curses.rst:818 +#: ../../library/curses.rst:820 msgid "Default value" msgstr "Valor padrão" -#: ../../library/curses.rst:820 +#: ../../library/curses.rst:822 msgid "*ls*" msgstr "" -#: ../../library/curses.rst:820 +#: ../../library/curses.rst:822 msgid "Left side" msgstr "" -#: ../../library/curses.rst:820 ../../library/curses.rst:822 +#: ../../library/curses.rst:822 ../../library/curses.rst:824 msgid ":const:`ACS_VLINE`" msgstr ":const:`ACS_VLINE`" -#: ../../library/curses.rst:822 +#: ../../library/curses.rst:824 msgid "*rs*" msgstr "" -#: ../../library/curses.rst:822 +#: ../../library/curses.rst:824 msgid "Right side" msgstr "" -#: ../../library/curses.rst:824 +#: ../../library/curses.rst:826 msgid "*ts*" msgstr "" -#: ../../library/curses.rst:824 +#: ../../library/curses.rst:826 msgid "Top" msgstr "" -#: ../../library/curses.rst:824 ../../library/curses.rst:826 +#: ../../library/curses.rst:826 ../../library/curses.rst:828 msgid ":const:`ACS_HLINE`" msgstr ":const:`ACS_HLINE`" -#: ../../library/curses.rst:826 +#: ../../library/curses.rst:828 msgid "*bs*" msgstr "" -#: ../../library/curses.rst:826 +#: ../../library/curses.rst:828 msgid "Bottom" msgstr "" -#: ../../library/curses.rst:828 +#: ../../library/curses.rst:830 msgid "*tl*" msgstr "" -#: ../../library/curses.rst:828 +#: ../../library/curses.rst:830 msgid "Upper-left corner" msgstr "" -#: ../../library/curses.rst:828 +#: ../../library/curses.rst:830 msgid ":const:`ACS_ULCORNER`" msgstr ":const:`ACS_ULCORNER`" -#: ../../library/curses.rst:830 +#: ../../library/curses.rst:832 msgid "*tr*" msgstr "*tr*" -#: ../../library/curses.rst:830 +#: ../../library/curses.rst:832 msgid "Upper-right corner" msgstr "" -#: ../../library/curses.rst:830 +#: ../../library/curses.rst:832 msgid ":const:`ACS_URCORNER`" msgstr ":const:`ACS_URCORNER`" -#: ../../library/curses.rst:832 +#: ../../library/curses.rst:834 msgid "*bl*" msgstr "" -#: ../../library/curses.rst:832 +#: ../../library/curses.rst:834 msgid "Bottom-left corner" msgstr "" -#: ../../library/curses.rst:832 +#: ../../library/curses.rst:834 msgid ":const:`ACS_LLCORNER`" msgstr ":const:`ACS_LLCORNER`" -#: ../../library/curses.rst:834 +#: ../../library/curses.rst:836 msgid "*br*" msgstr "" -#: ../../library/curses.rst:834 +#: ../../library/curses.rst:836 msgid "Bottom-right corner" msgstr "" -#: ../../library/curses.rst:834 +#: ../../library/curses.rst:836 msgid ":const:`ACS_LRCORNER`" msgstr ":const:`ACS_LRCORNER`" -#: ../../library/curses.rst:840 +#: ../../library/curses.rst:842 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:849 +#: ../../library/curses.rst:851 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 " @@ -1041,45 +1055,45 @@ msgid "" "be redisplayed by the next window refresh." msgstr "" -#: ../../library/curses.rst:859 +#: ../../library/curses.rst:861 msgid "" "Like :meth:`erase`, but also cause the whole window to be repainted upon " "next call to :meth:`refresh`." msgstr "" -#: ../../library/curses.rst:865 +#: ../../library/curses.rst:867 msgid "" "If *flag* is ``True``, the next call to :meth:`refresh` will clear the " "window completely." msgstr "" -#: ../../library/curses.rst:871 +#: ../../library/curses.rst:873 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:877 +#: ../../library/curses.rst:879 msgid "Erase from cursor to the end of the line." msgstr "" -#: ../../library/curses.rst:882 +#: ../../library/curses.rst:884 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:888 +#: ../../library/curses.rst:890 msgid "Delete any character at ``(y, x)``." msgstr "" -#: ../../library/curses.rst:893 +#: ../../library/curses.rst:895 msgid "" "Delete the line under the cursor. All following lines are moved up by one " "line." msgstr "" -#: ../../library/curses.rst:899 +#: ../../library/curses.rst:901 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 " @@ -1087,13 +1101,13 @@ msgid "" "a window object for the derived window." msgstr "" -#: ../../library/curses.rst:907 +#: ../../library/curses.rst:909 msgid "" "Add character *ch* with attribute *attr*, and immediately call :meth:" "`refresh` on the window." msgstr "" -#: ../../library/curses.rst:913 +#: ../../library/curses.rst:915 msgid "" "Test whether the given pair of screen-relative character-cell coordinates " "are enclosed by the given window, returning ``True`` or ``False``. It is " @@ -1101,11 +1115,11 @@ msgid "" "location of a mouse event." msgstr "" -#: ../../library/curses.rst:918 +#: ../../library/curses.rst:920 msgid "Previously it returned ``1`` or ``0`` instead of ``True`` or ``False``." msgstr "" -#: ../../library/curses.rst:924 +#: ../../library/curses.rst:926 msgid "" "Encoding used to encode method arguments (Unicode strings and characters). " "The encoding attribute is inherited from the parent window when a subwindow " @@ -1113,19 +1127,19 @@ msgid "" "encoding is used (see :func:`locale.getpreferredencoding`)." msgstr "" -#: ../../library/curses.rst:934 +#: ../../library/curses.rst:936 msgid "Clear the window." msgstr "" -#: ../../library/curses.rst:939 +#: ../../library/curses.rst:941 msgid "Return a tuple ``(y, x)`` of co-ordinates of upper-left corner." msgstr "" -#: ../../library/curses.rst:944 +#: ../../library/curses.rst:946 msgid "Return the given window's current background character/attribute pair." msgstr "" -#: ../../library/curses.rst:949 +#: ../../library/curses.rst:951 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 " @@ -1133,14 +1147,14 @@ msgid "" "otherwise wait until a key is pressed." msgstr "" -#: ../../library/curses.rst:957 +#: ../../library/curses.rst:959 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:966 +#: ../../library/curses.rst:968 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 " @@ -1148,35 +1162,35 @@ msgid "" "there is no input." msgstr "" -#: ../../library/curses.rst:974 +#: ../../library/curses.rst:976 msgid "Return a tuple ``(y, x)`` of the height and width of the window." msgstr "" -#: ../../library/curses.rst:979 +#: ../../library/curses.rst:981 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:989 +#: ../../library/curses.rst:991 msgid "" "Read a bytes object from the user, with primitive line editing capacity." msgstr "" -#: ../../library/curses.rst:994 +#: ../../library/curses.rst:996 msgid "" "Return a tuple ``(y, x)`` of current cursor position relative to the " "window's upper-left corner." msgstr "" -#: ../../library/curses.rst:1001 +#: ../../library/curses.rst:1003 msgid "" "Display a horizontal line starting at ``(y, x)`` with length *n* consisting " "of the character *ch*." msgstr "" -#: ../../library/curses.rst:1007 +#: ../../library/curses.rst:1009 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 " @@ -1184,13 +1198,13 @@ msgid "" "initialized, use of character insert/delete is enabled by default." msgstr "" -#: ../../library/curses.rst:1015 +#: ../../library/curses.rst:1017 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:1021 +#: ../../library/curses.rst:1023 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` " @@ -1198,19 +1212,19 @@ msgid "" "calls to wrefresh. This option is disabled by default." msgstr "" -#: ../../library/curses.rst:1029 +#: ../../library/curses.rst:1031 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:1036 +#: ../../library/curses.rst:1038 msgid "" "Paint character *ch* at ``(y, x)`` with attributes *attr*, moving the line " "from position *x* right by one character." msgstr "" -#: ../../library/curses.rst:1042 +#: ../../library/curses.rst:1044 msgid "" "Insert *nlines* lines into the specified window above the current line. The " "*nlines* bottom lines are lost. For negative *nlines*, delete *nlines* " @@ -1219,13 +1233,13 @@ msgid "" "remains the same." msgstr "" -#: ../../library/curses.rst:1051 +#: ../../library/curses.rst:1053 msgid "" "Insert a blank line under the cursor. All following lines are moved down by " "one line." msgstr "" -#: ../../library/curses.rst:1058 +#: ../../library/curses.rst:1060 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 " @@ -1235,7 +1249,7 @@ msgid "" "if specified)." msgstr "" -#: ../../library/curses.rst:1068 +#: ../../library/curses.rst:1070 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 " @@ -1244,7 +1258,7 @@ msgid "" "specified)." msgstr "" -#: ../../library/curses.rst:1077 +#: ../../library/curses.rst:1079 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 " @@ -1252,76 +1266,76 @@ msgid "" "string at most *n* characters long (exclusive of the trailing NUL)." msgstr "" -#: ../../library/curses.rst:1085 +#: ../../library/curses.rst:1087 msgid "" "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:1092 +#: ../../library/curses.rst:1094 msgid "" "Return ``True`` if the specified window was modified since the last call to :" "meth:`refresh`; otherwise return ``False``." msgstr "" -#: ../../library/curses.rst:1098 +#: ../../library/curses.rst:1100 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:1105 +#: ../../library/curses.rst:1107 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:1109 +#: ../../library/curses.rst:1111 msgid "" "If *flag* is ``False``, cursor will always be at \"cursor position\" after " "an update." msgstr "" -#: ../../library/curses.rst:1114 +#: ../../library/curses.rst:1116 msgid "Move cursor to ``(new_y, new_x)``." msgstr "" -#: ../../library/curses.rst:1119 +#: ../../library/curses.rst:1121 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:1126 +#: ../../library/curses.rst:1128 msgid "Move the window so its upper-left corner is at ``(new_y, new_x)``." msgstr "" -#: ../../library/curses.rst:1131 +#: ../../library/curses.rst:1133 msgid "If *flag* is ``True``, :meth:`getch` will be non-blocking." msgstr "" -#: ../../library/curses.rst:1136 +#: ../../library/curses.rst:1138 msgid "If *flag* is ``True``, escape sequences will not be timed out." msgstr "" -#: ../../library/curses.rst:1138 +#: ../../library/curses.rst:1140 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:1144 +#: ../../library/curses.rst:1146 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:1151 +#: ../../library/curses.rst:1153 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, " @@ -1329,7 +1343,7 @@ msgid "" "contents of *destwin*." msgstr "" -#: ../../library/curses.rst:1156 +#: ../../library/curses.rst:1158 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 " @@ -1337,7 +1351,7 @@ msgid "" "in the destination window." msgstr "" -#: ../../library/curses.rst:1164 +#: ../../library/curses.rst:1166 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 " @@ -1345,7 +1359,7 @@ msgid "" "the old contents of *destwin*." msgstr "" -#: ../../library/curses.rst:1169 +#: ../../library/curses.rst:1171 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 " @@ -1353,31 +1367,31 @@ msgid "" "the destination window." msgstr "" -#: ../../library/curses.rst:1177 +#: ../../library/curses.rst:1179 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:1183 +#: ../../library/curses.rst:1185 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:1189 +#: ../../library/curses.rst:1191 msgid "" "Touch the entire window, causing it to be completely redrawn on the next :" "meth:`refresh` call." msgstr "" -#: ../../library/curses.rst:1195 +#: ../../library/curses.rst:1197 msgid "" "Update the display immediately (sync actual screen with previous drawing/" "deleting methods)." msgstr "" -#: ../../library/curses.rst:1198 +#: ../../library/curses.rst:1200 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 " @@ -1392,7 +1406,7 @@ msgid "" "*smincol* are treated as if they were zero." msgstr "" -#: ../../library/curses.rst:1212 +#: ../../library/curses.rst:1214 msgid "" "Reallocate storage for a curses window to adjust its dimensions to the " "specified values. If either dimension is larger than the current values, " @@ -1400,11 +1414,11 @@ msgid "" "rendition (as set by :meth:`bkgdset`) merged into them." msgstr "" -#: ../../library/curses.rst:1220 +#: ../../library/curses.rst:1222 msgid "Scroll the screen or scrolling region upward by *lines* lines." msgstr "" -#: ../../library/curses.rst:1225 +#: ../../library/curses.rst:1227 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 " @@ -1414,54 +1428,54 @@ msgid "" "scrolling effect on the terminal, it is also necessary to call :meth:`idlok`." msgstr "" -#: ../../library/curses.rst:1235 +#: ../../library/curses.rst:1237 msgid "" "Set the scrolling region from line *top* to line *bottom*. All scrolling " "actions will take place in this region." msgstr "" -#: ../../library/curses.rst:1241 +#: ../../library/curses.rst:1243 msgid "" "Turn off the standout attribute. On some terminals this has the side effect " "of turning off all attributes." msgstr "" -#: ../../library/curses.rst:1247 +#: ../../library/curses.rst:1249 msgid "Turn on attribute *A_STANDOUT*." msgstr "" -#: ../../library/curses.rst:1253 ../../library/curses.rst:1260 +#: ../../library/curses.rst:1255 ../../library/curses.rst:1262 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:1263 +#: ../../library/curses.rst:1265 msgid "" "By default, the sub-window will extend from the specified position to the " "lower right corner of the window." msgstr "" -#: ../../library/curses.rst:1269 +#: ../../library/curses.rst:1271 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:1276 +#: ../../library/curses.rst:1278 msgid "" "If *flag* is ``True``, then :meth:`syncup` is called automatically whenever " "there is a change in the window." msgstr "" -#: ../../library/curses.rst:1282 +#: ../../library/curses.rst:1284 msgid "" "Touch all locations in ancestors of the window that have been changed in " "the window." msgstr "" -#: ../../library/curses.rst:1288 +#: ../../library/curses.rst:1290 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). " @@ -1471,7 +1485,7 @@ msgid "" "still no input at the end of that time." msgstr "" -#: ../../library/curses.rst:1298 +#: ../../library/curses.rst:1300 msgid "" "Pretend *count* lines have been changed, starting with line *start*. If " "*changed* is supplied, it specifies whether the affected lines are marked as " @@ -1479,51 +1493,51 @@ msgid "" "``=False``)." msgstr "" -#: ../../library/curses.rst:1305 +#: ../../library/curses.rst:1307 msgid "" "Pretend the whole window has been changed, for purposes of drawing " "optimizations." msgstr "" -#: ../../library/curses.rst:1311 +#: ../../library/curses.rst:1313 msgid "" "Mark all lines in the window as unchanged since the last call to :meth:" "`refresh`." msgstr "" -#: ../../library/curses.rst:1318 +#: ../../library/curses.rst:1320 msgid "" "Display a vertical line starting at ``(y, x)`` with length *n* consisting of " -"the character *ch*." +"the character *ch* with attributes *attr*." msgstr "" -#: ../../library/curses.rst:1323 +#: ../../library/curses.rst:1325 msgid "Constants" msgstr "Constantes" -#: ../../library/curses.rst:1325 +#: ../../library/curses.rst:1327 msgid "The :mod:`curses` module defines the following data members:" msgstr "" -#: ../../library/curses.rst:1330 +#: ../../library/curses.rst:1332 msgid "" "Some curses routines that return an integer, such as :meth:`~window." "getch`, return :const:`ERR` upon failure." msgstr "" -#: ../../library/curses.rst:1336 +#: ../../library/curses.rst:1338 msgid "" "Some curses routines that return an integer, such as :func:`napms`, " "return :const:`OK` upon success." msgstr "" -#: ../../library/curses.rst:1342 +#: ../../library/curses.rst:1344 msgid "" "A bytes object representing the current version of the module. Also " "available as :const:`__version__`." msgstr "" -#: ../../library/curses.rst:1348 +#: ../../library/curses.rst:1350 msgid "" "A named tuple containing the three components of the ncurses library " "version: *major*, *minor*, and *patch*. All values are integers. The " @@ -1531,966 +1545,966 @@ msgid "" "is equivalent to ``curses.ncurses_version.major`` and so on." msgstr "" -#: ../../library/curses.rst:1353 +#: ../../library/curses.rst:1355 msgid "Availability: if the ncurses library is used." msgstr "" -#: ../../library/curses.rst:1358 +#: ../../library/curses.rst:1360 msgid "" "Some constants are available to specify character cell attributes. The exact " "constants available are system dependent." msgstr "" -#: ../../library/curses.rst:1362 +#: ../../library/curses.rst:1364 msgid "Attribute" msgstr "Atributo" -#: ../../library/curses.rst:1362 ../../library/curses.rst:1410 -#: ../../library/curses.rst:1654 +#: ../../library/curses.rst:1364 ../../library/curses.rst:1412 +#: ../../library/curses.rst:1656 msgid "Meaning" msgstr "Significado" -#: ../../library/curses.rst:1364 +#: ../../library/curses.rst:1366 msgid "``A_ALTCHARSET``" msgstr "``A_ALTCHARSET``" -#: ../../library/curses.rst:1364 +#: ../../library/curses.rst:1366 msgid "Alternate character set mode" msgstr "" -#: ../../library/curses.rst:1366 +#: ../../library/curses.rst:1368 msgid "``A_BLINK``" msgstr "``A_BLINK``" -#: ../../library/curses.rst:1366 +#: ../../library/curses.rst:1368 msgid "Blink mode" msgstr "" -#: ../../library/curses.rst:1368 +#: ../../library/curses.rst:1370 msgid "``A_BOLD``" msgstr "``A_BOLD``" -#: ../../library/curses.rst:1368 +#: ../../library/curses.rst:1370 msgid "Bold mode" msgstr "" -#: ../../library/curses.rst:1370 +#: ../../library/curses.rst:1372 msgid "``A_DIM``" msgstr "``A_DIM``" -#: ../../library/curses.rst:1370 +#: ../../library/curses.rst:1372 msgid "Dim mode" msgstr "" -#: ../../library/curses.rst:1372 +#: ../../library/curses.rst:1374 msgid "``A_INVIS``" msgstr "``A_INVIS``" -#: ../../library/curses.rst:1372 +#: ../../library/curses.rst:1374 msgid "Invisible or blank mode" msgstr "" -#: ../../library/curses.rst:1374 +#: ../../library/curses.rst:1376 msgid "``A_ITALIC``" msgstr "``A_ITALIC``" -#: ../../library/curses.rst:1374 +#: ../../library/curses.rst:1376 msgid "Italic mode" msgstr "" -#: ../../library/curses.rst:1376 +#: ../../library/curses.rst:1378 msgid "``A_NORMAL``" msgstr "``A_NORMAL``" -#: ../../library/curses.rst:1376 +#: ../../library/curses.rst:1378 msgid "Normal attribute" msgstr "" -#: ../../library/curses.rst:1378 +#: ../../library/curses.rst:1380 msgid "``A_PROTECT``" msgstr "``A_PROTECT``" -#: ../../library/curses.rst:1378 +#: ../../library/curses.rst:1380 msgid "Protected mode" msgstr "" -#: ../../library/curses.rst:1380 +#: ../../library/curses.rst:1382 msgid "``A_REVERSE``" msgstr "``A_REVERSE``" -#: ../../library/curses.rst:1380 +#: ../../library/curses.rst:1382 msgid "Reverse background and foreground colors" msgstr "" -#: ../../library/curses.rst:1383 +#: ../../library/curses.rst:1385 msgid "``A_STANDOUT``" msgstr "``A_STANDOUT``" -#: ../../library/curses.rst:1383 +#: ../../library/curses.rst:1385 msgid "Standout mode" msgstr "" -#: ../../library/curses.rst:1385 +#: ../../library/curses.rst:1387 msgid "``A_UNDERLINE``" msgstr "``A_UNDERLINE``" -#: ../../library/curses.rst:1385 +#: ../../library/curses.rst:1387 msgid "Underline mode" msgstr "" -#: ../../library/curses.rst:1387 +#: ../../library/curses.rst:1389 msgid "``A_HORIZONTAL``" msgstr "``A_HORIZONTAL``" -#: ../../library/curses.rst:1387 +#: ../../library/curses.rst:1389 msgid "Horizontal highlight" msgstr "" -#: ../../library/curses.rst:1389 +#: ../../library/curses.rst:1391 msgid "``A_LEFT``" msgstr "``A_LEFT``" -#: ../../library/curses.rst:1389 +#: ../../library/curses.rst:1391 msgid "Left highlight" msgstr "" -#: ../../library/curses.rst:1391 +#: ../../library/curses.rst:1393 msgid "``A_LOW``" msgstr "``A_LOW``" -#: ../../library/curses.rst:1391 +#: ../../library/curses.rst:1393 msgid "Low highlight" msgstr "" -#: ../../library/curses.rst:1393 +#: ../../library/curses.rst:1395 msgid "``A_RIGHT``" msgstr "``A_RIGHT``" -#: ../../library/curses.rst:1393 +#: ../../library/curses.rst:1395 msgid "Right highlight" msgstr "" -#: ../../library/curses.rst:1395 +#: ../../library/curses.rst:1397 msgid "``A_TOP``" msgstr "``A_TOP``" -#: ../../library/curses.rst:1395 +#: ../../library/curses.rst:1397 msgid "Top highlight" msgstr "" -#: ../../library/curses.rst:1397 +#: ../../library/curses.rst:1399 msgid "``A_VERTICAL``" msgstr "``A_VERTICAL``" -#: ../../library/curses.rst:1397 +#: ../../library/curses.rst:1399 msgid "Vertical highlight" msgstr "" -#: ../../library/curses.rst:1399 ../../library/curses.rst:1415 +#: ../../library/curses.rst:1401 ../../library/curses.rst:1417 msgid "``A_CHARTEXT``" msgstr "``A_CHARTEXT``" -#: ../../library/curses.rst:1399 ../../library/curses.rst:1415 +#: ../../library/curses.rst:1401 ../../library/curses.rst:1417 msgid "Bit-mask to extract a character" msgstr "" -#: ../../library/curses.rst:1403 +#: ../../library/curses.rst:1405 msgid "``A_ITALIC`` was added." msgstr "" -#: ../../library/curses.rst:1406 +#: ../../library/curses.rst:1408 msgid "" "Several constants are available to extract corresponding attributes returned " "by some methods." msgstr "" -#: ../../library/curses.rst:1410 +#: ../../library/curses.rst:1412 msgid "Bit-mask" msgstr "" -#: ../../library/curses.rst:1412 +#: ../../library/curses.rst:1414 msgid "``A_ATTRIBUTES``" msgstr "``A_ATTRIBUTES``" -#: ../../library/curses.rst:1412 +#: ../../library/curses.rst:1414 msgid "Bit-mask to extract attributes" msgstr "" -#: ../../library/curses.rst:1418 +#: ../../library/curses.rst:1420 msgid "``A_COLOR``" msgstr "``A_COLOR``" -#: ../../library/curses.rst:1418 +#: ../../library/curses.rst:1420 msgid "Bit-mask to extract color-pair field information" msgstr "" -#: ../../library/curses.rst:1422 +#: ../../library/curses.rst:1424 msgid "" "Keys are referred to by integer constants with names starting with " "``KEY_``. The exact keycaps available are system dependent." msgstr "" -#: ../../library/curses.rst:1428 +#: ../../library/curses.rst:1430 msgid "Key constant" msgstr "" -#: ../../library/curses.rst:1428 +#: ../../library/curses.rst:1430 msgid "Key" msgstr "Chave" -#: ../../library/curses.rst:1430 +#: ../../library/curses.rst:1432 msgid "``KEY_MIN``" msgstr "``KEY_MIN``" -#: ../../library/curses.rst:1430 +#: ../../library/curses.rst:1432 msgid "Minimum key value" msgstr "" -#: ../../library/curses.rst:1432 +#: ../../library/curses.rst:1434 msgid "``KEY_BREAK``" msgstr "``KEY_BREAK``" -#: ../../library/curses.rst:1432 +#: ../../library/curses.rst:1434 msgid "Break key (unreliable)" msgstr "" -#: ../../library/curses.rst:1434 +#: ../../library/curses.rst:1436 msgid "``KEY_DOWN``" msgstr "``KEY_DOWN``" -#: ../../library/curses.rst:1434 +#: ../../library/curses.rst:1436 msgid "Down-arrow" msgstr "" -#: ../../library/curses.rst:1436 +#: ../../library/curses.rst:1438 msgid "``KEY_UP``" msgstr "``KEY_UP``" -#: ../../library/curses.rst:1436 +#: ../../library/curses.rst:1438 msgid "Up-arrow" msgstr "" -#: ../../library/curses.rst:1438 +#: ../../library/curses.rst:1440 msgid "``KEY_LEFT``" msgstr "``KEY_LEFT``" -#: ../../library/curses.rst:1438 +#: ../../library/curses.rst:1440 msgid "Left-arrow" msgstr "" -#: ../../library/curses.rst:1440 +#: ../../library/curses.rst:1442 msgid "``KEY_RIGHT``" msgstr "``KEY_RIGHT``" -#: ../../library/curses.rst:1440 +#: ../../library/curses.rst:1442 msgid "Right-arrow" msgstr "" -#: ../../library/curses.rst:1442 +#: ../../library/curses.rst:1444 msgid "``KEY_HOME``" msgstr "``KEY_HOME``" -#: ../../library/curses.rst:1442 +#: ../../library/curses.rst:1444 msgid "Home key (upward+left arrow)" msgstr "" -#: ../../library/curses.rst:1444 +#: ../../library/curses.rst:1446 msgid "``KEY_BACKSPACE``" msgstr "``KEY_BACKSPACE``" -#: ../../library/curses.rst:1444 +#: ../../library/curses.rst:1446 msgid "Backspace (unreliable)" msgstr "" -#: ../../library/curses.rst:1446 +#: ../../library/curses.rst:1448 msgid "``KEY_F0``" msgstr "``KEY_F0``" -#: ../../library/curses.rst:1446 +#: ../../library/curses.rst:1448 msgid "Function keys. Up to 64 function keys are supported." msgstr "" -#: ../../library/curses.rst:1449 +#: ../../library/curses.rst:1451 msgid "``KEY_Fn``" msgstr "``KEY_Fn``" -#: ../../library/curses.rst:1449 +#: ../../library/curses.rst:1451 msgid "Value of function key *n*" msgstr "" -#: ../../library/curses.rst:1451 +#: ../../library/curses.rst:1453 msgid "``KEY_DL``" msgstr "``KEY_DL``" -#: ../../library/curses.rst:1451 +#: ../../library/curses.rst:1453 msgid "Delete line" msgstr "" -#: ../../library/curses.rst:1453 +#: ../../library/curses.rst:1455 msgid "``KEY_IL``" msgstr "``KEY_IL``" -#: ../../library/curses.rst:1453 +#: ../../library/curses.rst:1455 msgid "Insert line" msgstr "" -#: ../../library/curses.rst:1455 +#: ../../library/curses.rst:1457 msgid "``KEY_DC``" msgstr "``KEY_DC``" -#: ../../library/curses.rst:1455 +#: ../../library/curses.rst:1457 msgid "Delete character" msgstr "" -#: ../../library/curses.rst:1457 +#: ../../library/curses.rst:1459 msgid "``KEY_IC``" msgstr "``KEY_IC``" -#: ../../library/curses.rst:1457 +#: ../../library/curses.rst:1459 msgid "Insert char or enter insert mode" msgstr "" -#: ../../library/curses.rst:1459 +#: ../../library/curses.rst:1461 msgid "``KEY_EIC``" msgstr "``KEY_EIC``" -#: ../../library/curses.rst:1459 +#: ../../library/curses.rst:1461 msgid "Exit insert char mode" msgstr "" -#: ../../library/curses.rst:1461 +#: ../../library/curses.rst:1463 msgid "``KEY_CLEAR``" msgstr "``KEY_CLEAR``" -#: ../../library/curses.rst:1461 +#: ../../library/curses.rst:1463 msgid "Clear screen" msgstr "" -#: ../../library/curses.rst:1463 +#: ../../library/curses.rst:1465 msgid "``KEY_EOS``" msgstr "``KEY_EOS``" -#: ../../library/curses.rst:1463 +#: ../../library/curses.rst:1465 msgid "Clear to end of screen" msgstr "" -#: ../../library/curses.rst:1465 +#: ../../library/curses.rst:1467 msgid "``KEY_EOL``" msgstr "``KEY_EOL``" -#: ../../library/curses.rst:1465 +#: ../../library/curses.rst:1467 msgid "Clear to end of line" msgstr "" -#: ../../library/curses.rst:1467 +#: ../../library/curses.rst:1469 msgid "``KEY_SF``" msgstr "``KEY_SF``" -#: ../../library/curses.rst:1467 +#: ../../library/curses.rst:1469 msgid "Scroll 1 line forward" msgstr "" -#: ../../library/curses.rst:1469 +#: ../../library/curses.rst:1471 msgid "``KEY_SR``" msgstr "``KEY_SR``" -#: ../../library/curses.rst:1469 +#: ../../library/curses.rst:1471 msgid "Scroll 1 line backward (reverse)" msgstr "" -#: ../../library/curses.rst:1471 +#: ../../library/curses.rst:1473 msgid "``KEY_NPAGE``" msgstr "``KEY_NPAGE``" -#: ../../library/curses.rst:1471 +#: ../../library/curses.rst:1473 msgid "Next page" msgstr "" -#: ../../library/curses.rst:1473 +#: ../../library/curses.rst:1475 msgid "``KEY_PPAGE``" msgstr "``KEY_PPAGE``" -#: ../../library/curses.rst:1473 +#: ../../library/curses.rst:1475 msgid "Previous page" msgstr "" -#: ../../library/curses.rst:1475 +#: ../../library/curses.rst:1477 msgid "``KEY_STAB``" msgstr "``KEY_STAB``" -#: ../../library/curses.rst:1475 +#: ../../library/curses.rst:1477 msgid "Set tab" msgstr "" -#: ../../library/curses.rst:1477 +#: ../../library/curses.rst:1479 msgid "``KEY_CTAB``" msgstr "``KEY_CTAB``" -#: ../../library/curses.rst:1477 +#: ../../library/curses.rst:1479 msgid "Clear tab" msgstr "" -#: ../../library/curses.rst:1479 +#: ../../library/curses.rst:1481 msgid "``KEY_CATAB``" msgstr "``KEY_CATAB``" -#: ../../library/curses.rst:1479 +#: ../../library/curses.rst:1481 msgid "Clear all tabs" msgstr "" -#: ../../library/curses.rst:1481 +#: ../../library/curses.rst:1483 msgid "``KEY_ENTER``" msgstr "``KEY_ENTER``" -#: ../../library/curses.rst:1481 +#: ../../library/curses.rst:1483 msgid "Enter or send (unreliable)" msgstr "" -#: ../../library/curses.rst:1483 +#: ../../library/curses.rst:1485 msgid "``KEY_SRESET``" msgstr "``KEY_SRESET``" -#: ../../library/curses.rst:1483 +#: ../../library/curses.rst:1485 msgid "Soft (partial) reset (unreliable)" msgstr "" -#: ../../library/curses.rst:1485 +#: ../../library/curses.rst:1487 msgid "``KEY_RESET``" msgstr "``KEY_RESET``" -#: ../../library/curses.rst:1485 +#: ../../library/curses.rst:1487 msgid "Reset or hard reset (unreliable)" msgstr "" -#: ../../library/curses.rst:1487 +#: ../../library/curses.rst:1489 msgid "``KEY_PRINT``" msgstr "``KEY_PRINT``" -#: ../../library/curses.rst:1487 +#: ../../library/curses.rst:1489 msgid "Print" msgstr "" -#: ../../library/curses.rst:1489 +#: ../../library/curses.rst:1491 msgid "``KEY_LL``" msgstr "``KEY_LL``" -#: ../../library/curses.rst:1489 +#: ../../library/curses.rst:1491 msgid "Home down or bottom (lower left)" msgstr "" -#: ../../library/curses.rst:1491 +#: ../../library/curses.rst:1493 msgid "``KEY_A1``" msgstr "``KEY_A1``" -#: ../../library/curses.rst:1491 +#: ../../library/curses.rst:1493 msgid "Upper left of keypad" msgstr "" -#: ../../library/curses.rst:1493 +#: ../../library/curses.rst:1495 msgid "``KEY_A3``" msgstr "``KEY_A3``" -#: ../../library/curses.rst:1493 +#: ../../library/curses.rst:1495 msgid "Upper right of keypad" msgstr "" -#: ../../library/curses.rst:1495 +#: ../../library/curses.rst:1497 msgid "``KEY_B2``" msgstr "``KEY_B2``" -#: ../../library/curses.rst:1495 +#: ../../library/curses.rst:1497 msgid "Center of keypad" msgstr "" -#: ../../library/curses.rst:1497 +#: ../../library/curses.rst:1499 msgid "``KEY_C1``" msgstr "``KEY_C1``" -#: ../../library/curses.rst:1497 +#: ../../library/curses.rst:1499 msgid "Lower left of keypad" msgstr "" -#: ../../library/curses.rst:1499 +#: ../../library/curses.rst:1501 msgid "``KEY_C3``" msgstr "``KEY_C3``" -#: ../../library/curses.rst:1499 +#: ../../library/curses.rst:1501 msgid "Lower right of keypad" msgstr "" -#: ../../library/curses.rst:1501 +#: ../../library/curses.rst:1503 msgid "``KEY_BTAB``" msgstr "``KEY_BTAB``" -#: ../../library/curses.rst:1501 +#: ../../library/curses.rst:1503 msgid "Back tab" msgstr "" -#: ../../library/curses.rst:1503 +#: ../../library/curses.rst:1505 msgid "``KEY_BEG``" msgstr "``KEY_BEG``" -#: ../../library/curses.rst:1503 +#: ../../library/curses.rst:1505 msgid "Beg (beginning)" msgstr "" -#: ../../library/curses.rst:1505 +#: ../../library/curses.rst:1507 msgid "``KEY_CANCEL``" msgstr "``KEY_CANCEL``" -#: ../../library/curses.rst:1505 +#: ../../library/curses.rst:1507 msgid "Cancel" -msgstr "" +msgstr "Cancelar" -#: ../../library/curses.rst:1507 +#: ../../library/curses.rst:1509 msgid "``KEY_CLOSE``" msgstr "``KEY_CLOSE``" -#: ../../library/curses.rst:1507 +#: ../../library/curses.rst:1509 msgid "Close" msgstr "" -#: ../../library/curses.rst:1509 +#: ../../library/curses.rst:1511 msgid "``KEY_COMMAND``" msgstr "``KEY_COMMAND``" -#: ../../library/curses.rst:1509 +#: ../../library/curses.rst:1511 msgid "Cmd (command)" msgstr "" -#: ../../library/curses.rst:1511 +#: ../../library/curses.rst:1513 msgid "``KEY_COPY``" msgstr "``KEY_COPY``" -#: ../../library/curses.rst:1511 +#: ../../library/curses.rst:1513 msgid "Copy" -msgstr "" +msgstr "Copy" -#: ../../library/curses.rst:1513 +#: ../../library/curses.rst:1515 msgid "``KEY_CREATE``" msgstr "``KEY_CREATE``" -#: ../../library/curses.rst:1513 +#: ../../library/curses.rst:1515 msgid "Create" msgstr "" -#: ../../library/curses.rst:1515 +#: ../../library/curses.rst:1517 msgid "``KEY_END``" msgstr "``KEY_END``" -#: ../../library/curses.rst:1515 +#: ../../library/curses.rst:1517 msgid "End" msgstr "" -#: ../../library/curses.rst:1517 +#: ../../library/curses.rst:1519 msgid "``KEY_EXIT``" msgstr "``KEY_EXIT``" -#: ../../library/curses.rst:1517 +#: ../../library/curses.rst:1519 msgid "Exit" msgstr "" -#: ../../library/curses.rst:1519 +#: ../../library/curses.rst:1521 msgid "``KEY_FIND``" msgstr "``KEY_FIND``" -#: ../../library/curses.rst:1519 +#: ../../library/curses.rst:1521 msgid "Find" msgstr "" -#: ../../library/curses.rst:1521 +#: ../../library/curses.rst:1523 msgid "``KEY_HELP``" msgstr "``KEY_HELP``" -#: ../../library/curses.rst:1521 +#: ../../library/curses.rst:1523 msgid "Help" msgstr "" -#: ../../library/curses.rst:1523 +#: ../../library/curses.rst:1525 msgid "``KEY_MARK``" msgstr "``KEY_MARK``" -#: ../../library/curses.rst:1523 +#: ../../library/curses.rst:1525 msgid "Mark" msgstr "" -#: ../../library/curses.rst:1525 +#: ../../library/curses.rst:1527 msgid "``KEY_MESSAGE``" msgstr "``KEY_MESSAGE``" -#: ../../library/curses.rst:1525 +#: ../../library/curses.rst:1527 msgid "Message" msgstr "" -#: ../../library/curses.rst:1527 +#: ../../library/curses.rst:1529 msgid "``KEY_MOVE``" msgstr "``KEY_MOVE``" -#: ../../library/curses.rst:1527 +#: ../../library/curses.rst:1529 msgid "Move" msgstr "" -#: ../../library/curses.rst:1529 +#: ../../library/curses.rst:1531 msgid "``KEY_NEXT``" msgstr "``KEY_NEXT``" -#: ../../library/curses.rst:1529 +#: ../../library/curses.rst:1531 msgid "Next" msgstr "" -#: ../../library/curses.rst:1531 +#: ../../library/curses.rst:1533 msgid "``KEY_OPEN``" msgstr "``KEY_OPEN``" -#: ../../library/curses.rst:1531 +#: ../../library/curses.rst:1533 msgid "Open" msgstr "" -#: ../../library/curses.rst:1533 +#: ../../library/curses.rst:1535 msgid "``KEY_OPTIONS``" msgstr "``KEY_OPTIONS``" -#: ../../library/curses.rst:1533 +#: ../../library/curses.rst:1535 msgid "Options" -msgstr "" +msgstr "Opções" -#: ../../library/curses.rst:1535 +#: ../../library/curses.rst:1537 msgid "``KEY_PREVIOUS``" msgstr "``KEY_PREVIOUS``" -#: ../../library/curses.rst:1535 +#: ../../library/curses.rst:1537 msgid "Prev (previous)" msgstr "" -#: ../../library/curses.rst:1537 +#: ../../library/curses.rst:1539 msgid "``KEY_REDO``" msgstr "``KEY_REDO``" -#: ../../library/curses.rst:1537 +#: ../../library/curses.rst:1539 msgid "Redo" -msgstr "" +msgstr "Redo" -#: ../../library/curses.rst:1539 +#: ../../library/curses.rst:1541 msgid "``KEY_REFERENCE``" msgstr "``KEY_REFERENCE``" -#: ../../library/curses.rst:1539 +#: ../../library/curses.rst:1541 msgid "Ref (reference)" msgstr "" -#: ../../library/curses.rst:1541 +#: ../../library/curses.rst:1543 msgid "``KEY_REFRESH``" msgstr "``KEY_REFRESH``" -#: ../../library/curses.rst:1541 +#: ../../library/curses.rst:1543 msgid "Refresh" msgstr "" -#: ../../library/curses.rst:1543 +#: ../../library/curses.rst:1545 msgid "``KEY_REPLACE``" msgstr "``KEY_REPLACE``" -#: ../../library/curses.rst:1543 +#: ../../library/curses.rst:1545 msgid "Replace" msgstr "" -#: ../../library/curses.rst:1545 +#: ../../library/curses.rst:1547 msgid "``KEY_RESTART``" msgstr "``KEY_RESTART``" -#: ../../library/curses.rst:1545 +#: ../../library/curses.rst:1547 msgid "Restart" msgstr "" -#: ../../library/curses.rst:1547 +#: ../../library/curses.rst:1549 msgid "``KEY_RESUME``" msgstr "``KEY_RESUME``" -#: ../../library/curses.rst:1547 +#: ../../library/curses.rst:1549 msgid "Resume" msgstr "" -#: ../../library/curses.rst:1549 +#: ../../library/curses.rst:1551 msgid "``KEY_SAVE``" msgstr "``KEY_SAVE``" -#: ../../library/curses.rst:1549 +#: ../../library/curses.rst:1551 msgid "Save" -msgstr "Salvar" +msgstr "Save" -#: ../../library/curses.rst:1551 +#: ../../library/curses.rst:1553 msgid "``KEY_SBEG``" msgstr "``KEY_SBEG``" -#: ../../library/curses.rst:1551 +#: ../../library/curses.rst:1553 msgid "Shifted Beg (beginning)" msgstr "" -#: ../../library/curses.rst:1553 +#: ../../library/curses.rst:1555 msgid "``KEY_SCANCEL``" msgstr "``KEY_SCANCEL``" -#: ../../library/curses.rst:1553 +#: ../../library/curses.rst:1555 msgid "Shifted Cancel" msgstr "" -#: ../../library/curses.rst:1555 +#: ../../library/curses.rst:1557 msgid "``KEY_SCOMMAND``" msgstr "``KEY_SCOMMAND``" -#: ../../library/curses.rst:1555 +#: ../../library/curses.rst:1557 msgid "Shifted Command" msgstr "" -#: ../../library/curses.rst:1557 +#: ../../library/curses.rst:1559 msgid "``KEY_SCOPY``" msgstr "``KEY_SCOPY``" -#: ../../library/curses.rst:1557 +#: ../../library/curses.rst:1559 msgid "Shifted Copy" msgstr "" -#: ../../library/curses.rst:1559 +#: ../../library/curses.rst:1561 msgid "``KEY_SCREATE``" msgstr "``KEY_SCREATE``" -#: ../../library/curses.rst:1559 +#: ../../library/curses.rst:1561 msgid "Shifted Create" msgstr "" -#: ../../library/curses.rst:1561 +#: ../../library/curses.rst:1563 msgid "``KEY_SDC``" msgstr "``KEY_SDC``" -#: ../../library/curses.rst:1561 +#: ../../library/curses.rst:1563 msgid "Shifted Delete char" msgstr "" -#: ../../library/curses.rst:1563 +#: ../../library/curses.rst:1565 msgid "``KEY_SDL``" msgstr "``KEY_SDL``" -#: ../../library/curses.rst:1563 +#: ../../library/curses.rst:1565 msgid "Shifted Delete line" msgstr "" -#: ../../library/curses.rst:1565 +#: ../../library/curses.rst:1567 msgid "``KEY_SELECT``" msgstr "``KEY_SELECT``" -#: ../../library/curses.rst:1565 +#: ../../library/curses.rst:1567 msgid "Select" msgstr "" -#: ../../library/curses.rst:1567 +#: ../../library/curses.rst:1569 msgid "``KEY_SEND``" msgstr "``KEY_SEND``" -#: ../../library/curses.rst:1567 +#: ../../library/curses.rst:1569 msgid "Shifted End" msgstr "" -#: ../../library/curses.rst:1569 +#: ../../library/curses.rst:1571 msgid "``KEY_SEOL``" msgstr "``KEY_SEOL``" -#: ../../library/curses.rst:1569 +#: ../../library/curses.rst:1571 msgid "Shifted Clear line" msgstr "" -#: ../../library/curses.rst:1571 +#: ../../library/curses.rst:1573 msgid "``KEY_SEXIT``" msgstr "``KEY_SEXIT``" -#: ../../library/curses.rst:1571 +#: ../../library/curses.rst:1573 msgid "Shifted Exit" msgstr "" -#: ../../library/curses.rst:1573 +#: ../../library/curses.rst:1575 msgid "``KEY_SFIND``" msgstr "``KEY_SFIND``" -#: ../../library/curses.rst:1573 +#: ../../library/curses.rst:1575 msgid "Shifted Find" msgstr "" -#: ../../library/curses.rst:1575 +#: ../../library/curses.rst:1577 msgid "``KEY_SHELP``" msgstr "``KEY_SHELP``" -#: ../../library/curses.rst:1575 +#: ../../library/curses.rst:1577 msgid "Shifted Help" msgstr "" -#: ../../library/curses.rst:1577 +#: ../../library/curses.rst:1579 msgid "``KEY_SHOME``" msgstr "``KEY_SHOME``" -#: ../../library/curses.rst:1577 +#: ../../library/curses.rst:1579 msgid "Shifted Home" msgstr "" -#: ../../library/curses.rst:1579 +#: ../../library/curses.rst:1581 msgid "``KEY_SIC``" msgstr "``KEY_SIC``" -#: ../../library/curses.rst:1579 +#: ../../library/curses.rst:1581 msgid "Shifted Input" msgstr "" -#: ../../library/curses.rst:1581 +#: ../../library/curses.rst:1583 msgid "``KEY_SLEFT``" msgstr "``KEY_SLEFT``" -#: ../../library/curses.rst:1581 +#: ../../library/curses.rst:1583 msgid "Shifted Left arrow" msgstr "" -#: ../../library/curses.rst:1583 +#: ../../library/curses.rst:1585 msgid "``KEY_SMESSAGE``" msgstr "``KEY_SMESSAGE``" -#: ../../library/curses.rst:1583 +#: ../../library/curses.rst:1585 msgid "Shifted Message" msgstr "" -#: ../../library/curses.rst:1585 +#: ../../library/curses.rst:1587 msgid "``KEY_SMOVE``" msgstr "``KEY_SMOVE``" -#: ../../library/curses.rst:1585 +#: ../../library/curses.rst:1587 msgid "Shifted Move" msgstr "" -#: ../../library/curses.rst:1587 +#: ../../library/curses.rst:1589 msgid "``KEY_SNEXT``" msgstr "``KEY_SNEXT``" -#: ../../library/curses.rst:1587 +#: ../../library/curses.rst:1589 msgid "Shifted Next" msgstr "" -#: ../../library/curses.rst:1589 +#: ../../library/curses.rst:1591 msgid "``KEY_SOPTIONS``" msgstr "``KEY_SOPTIONS``" -#: ../../library/curses.rst:1589 +#: ../../library/curses.rst:1591 msgid "Shifted Options" msgstr "" -#: ../../library/curses.rst:1591 +#: ../../library/curses.rst:1593 msgid "``KEY_SPREVIOUS``" msgstr "``KEY_SPREVIOUS``" -#: ../../library/curses.rst:1591 +#: ../../library/curses.rst:1593 msgid "Shifted Prev" msgstr "" -#: ../../library/curses.rst:1593 +#: ../../library/curses.rst:1595 msgid "``KEY_SPRINT``" msgstr "``KEY_SPRINT``" -#: ../../library/curses.rst:1593 +#: ../../library/curses.rst:1595 msgid "Shifted Print" msgstr "" -#: ../../library/curses.rst:1595 +#: ../../library/curses.rst:1597 msgid "``KEY_SREDO``" msgstr "``KEY_SREDO``" -#: ../../library/curses.rst:1595 +#: ../../library/curses.rst:1597 msgid "Shifted Redo" msgstr "" -#: ../../library/curses.rst:1597 +#: ../../library/curses.rst:1599 msgid "``KEY_SREPLACE``" msgstr "``KEY_SREPLACE``" -#: ../../library/curses.rst:1597 +#: ../../library/curses.rst:1599 msgid "Shifted Replace" msgstr "" -#: ../../library/curses.rst:1599 +#: ../../library/curses.rst:1601 msgid "``KEY_SRIGHT``" msgstr "``KEY_SRIGHT``" -#: ../../library/curses.rst:1599 +#: ../../library/curses.rst:1601 msgid "Shifted Right arrow" msgstr "" -#: ../../library/curses.rst:1601 +#: ../../library/curses.rst:1603 msgid "``KEY_SRSUME``" msgstr "``KEY_SRSUME``" -#: ../../library/curses.rst:1601 +#: ../../library/curses.rst:1603 msgid "Shifted Resume" msgstr "Resumo alterado" -#: ../../library/curses.rst:1603 +#: ../../library/curses.rst:1605 msgid "``KEY_SSAVE``" msgstr "``KEY_SSAVE``" -#: ../../library/curses.rst:1603 +#: ../../library/curses.rst:1605 msgid "Shifted Save" msgstr "" -#: ../../library/curses.rst:1605 +#: ../../library/curses.rst:1607 msgid "``KEY_SSUSPEND``" msgstr "``KEY_SSUSPEND``" -#: ../../library/curses.rst:1605 +#: ../../library/curses.rst:1607 msgid "Shifted Suspend" msgstr "" -#: ../../library/curses.rst:1607 +#: ../../library/curses.rst:1609 msgid "``KEY_SUNDO``" msgstr "``KEY_SUNDO``" -#: ../../library/curses.rst:1607 +#: ../../library/curses.rst:1609 msgid "Shifted Undo" msgstr "" -#: ../../library/curses.rst:1609 +#: ../../library/curses.rst:1611 msgid "``KEY_SUSPEND``" msgstr "``KEY_SUSPEND``" -#: ../../library/curses.rst:1609 +#: ../../library/curses.rst:1611 msgid "Suspend" msgstr "" -#: ../../library/curses.rst:1611 +#: ../../library/curses.rst:1613 msgid "``KEY_UNDO``" msgstr "``KEY_UNDO``" -#: ../../library/curses.rst:1611 +#: ../../library/curses.rst:1613 msgid "Undo" -msgstr "Desfazer" +msgstr "Undo" -#: ../../library/curses.rst:1613 +#: ../../library/curses.rst:1615 msgid "``KEY_MOUSE``" msgstr "``KEY_MOUSE``" -#: ../../library/curses.rst:1613 +#: ../../library/curses.rst:1615 msgid "Mouse event has occurred" msgstr "" -#: ../../library/curses.rst:1615 +#: ../../library/curses.rst:1617 msgid "``KEY_RESIZE``" msgstr "``KEY_RESIZE``" -#: ../../library/curses.rst:1615 +#: ../../library/curses.rst:1617 msgid "Terminal resize event" msgstr "" -#: ../../library/curses.rst:1617 +#: ../../library/curses.rst:1619 msgid "``KEY_MAX``" msgstr "``KEY_MAX``" -#: ../../library/curses.rst:1617 +#: ../../library/curses.rst:1619 msgid "Maximum key value" msgstr "" -#: ../../library/curses.rst:1620 +#: ../../library/curses.rst:1622 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`, :" @@ -2501,64 +2515,64 @@ msgid "" "function keys); also, the following keypad mappings are standard:" msgstr "" -#: ../../library/curses.rst:1629 +#: ../../library/curses.rst:1631 msgid "Keycap" msgstr "" -#: ../../library/curses.rst:1629 ../../library/curses.rst:1746 -#: ../../library/curses.rst:1870 +#: ../../library/curses.rst:1631 ../../library/curses.rst:1748 +#: ../../library/curses.rst:1872 msgid "Constant" msgstr "Constante" -#: ../../library/curses.rst:1631 +#: ../../library/curses.rst:1633 msgid ":kbd:`Insert`" msgstr ":kbd:`Insert`" -#: ../../library/curses.rst:1631 +#: ../../library/curses.rst:1633 msgid "KEY_IC" msgstr "KEY_IC" -#: ../../library/curses.rst:1633 +#: ../../library/curses.rst:1635 msgid ":kbd:`Delete`" msgstr ":kbd:`Delete`" -#: ../../library/curses.rst:1633 +#: ../../library/curses.rst:1635 msgid "KEY_DC" msgstr "KEY_DC" -#: ../../library/curses.rst:1635 +#: ../../library/curses.rst:1637 msgid ":kbd:`Home`" msgstr ":kbd:`Home`" -#: ../../library/curses.rst:1635 +#: ../../library/curses.rst:1637 msgid "KEY_HOME" msgstr "KEY_HOME" -#: ../../library/curses.rst:1637 +#: ../../library/curses.rst:1639 msgid ":kbd:`End`" msgstr ":kbd:`End`" -#: ../../library/curses.rst:1637 +#: ../../library/curses.rst:1639 msgid "KEY_END" msgstr "KEY_END" -#: ../../library/curses.rst:1639 +#: ../../library/curses.rst:1641 msgid ":kbd:`Page Up`" msgstr ":kbd:`Page Up`" -#: ../../library/curses.rst:1639 +#: ../../library/curses.rst:1641 msgid "KEY_PPAGE" msgstr "KEY_PPAGE" -#: ../../library/curses.rst:1641 +#: ../../library/curses.rst:1643 msgid ":kbd:`Page Down`" msgstr ":kbd:`Page Down`" -#: ../../library/curses.rst:1641 +#: ../../library/curses.rst:1643 msgid "KEY_NPAGE" msgstr "KEY_NPAGE" -#: ../../library/curses.rst:1644 +#: ../../library/curses.rst:1646 msgid "" "The following table lists characters from the alternate character set. These " "are inherited from the VT100 terminal, and will generally be available on " @@ -2566,435 +2580,435 @@ msgid "" "available, curses falls back on a crude printable ASCII approximation." msgstr "" -#: ../../library/curses.rst:1651 +#: ../../library/curses.rst:1653 msgid "These are available only after :func:`initscr` has been called." msgstr "" -#: ../../library/curses.rst:1654 +#: ../../library/curses.rst:1656 msgid "ACS code" -msgstr "ACS code" +msgstr "Código ACS" -#: ../../library/curses.rst:1656 +#: ../../library/curses.rst:1658 msgid "``ACS_BBSS``" msgstr "``ACS_BBSS``" -#: ../../library/curses.rst:1656 +#: ../../library/curses.rst:1658 msgid "alternate name for upper right corner" msgstr "" -#: ../../library/curses.rst:1658 +#: ../../library/curses.rst:1660 msgid "``ACS_BLOCK``" msgstr "``ACS_BLOCK``" -#: ../../library/curses.rst:1658 +#: ../../library/curses.rst:1660 msgid "solid square block" msgstr "" -#: ../../library/curses.rst:1660 +#: ../../library/curses.rst:1662 msgid "``ACS_BOARD``" msgstr "``ACS_BOARD``" -#: ../../library/curses.rst:1660 +#: ../../library/curses.rst:1662 msgid "board of squares" msgstr "" -#: ../../library/curses.rst:1662 +#: ../../library/curses.rst:1664 msgid "``ACS_BSBS``" msgstr "``ACS_BSBS``" -#: ../../library/curses.rst:1662 +#: ../../library/curses.rst:1664 msgid "alternate name for horizontal line" msgstr "" -#: ../../library/curses.rst:1664 +#: ../../library/curses.rst:1666 msgid "``ACS_BSSB``" msgstr "``ACS_BSSB``" -#: ../../library/curses.rst:1664 +#: ../../library/curses.rst:1666 msgid "alternate name for upper left corner" msgstr "" -#: ../../library/curses.rst:1666 +#: ../../library/curses.rst:1668 msgid "``ACS_BSSS``" msgstr "``ACS_BSSS``" -#: ../../library/curses.rst:1666 +#: ../../library/curses.rst:1668 msgid "alternate name for top tee" msgstr "" -#: ../../library/curses.rst:1668 +#: ../../library/curses.rst:1670 msgid "``ACS_BTEE``" msgstr "``ACS_BTEE``" -#: ../../library/curses.rst:1668 +#: ../../library/curses.rst:1670 msgid "bottom tee" msgstr "" -#: ../../library/curses.rst:1670 +#: ../../library/curses.rst:1672 msgid "``ACS_BULLET``" msgstr "``ACS_BULLET``" -#: ../../library/curses.rst:1670 +#: ../../library/curses.rst:1672 msgid "bullet" msgstr "" -#: ../../library/curses.rst:1672 +#: ../../library/curses.rst:1674 msgid "``ACS_CKBOARD``" msgstr "``ACS_CKBOARD``" -#: ../../library/curses.rst:1672 +#: ../../library/curses.rst:1674 msgid "checker board (stipple)" msgstr "" -#: ../../library/curses.rst:1674 +#: ../../library/curses.rst:1676 msgid "``ACS_DARROW``" msgstr "``ACS_DARROW``" -#: ../../library/curses.rst:1674 +#: ../../library/curses.rst:1676 msgid "arrow pointing down" msgstr "" -#: ../../library/curses.rst:1676 +#: ../../library/curses.rst:1678 msgid "``ACS_DEGREE``" msgstr "``ACS_DEGREE``" -#: ../../library/curses.rst:1676 +#: ../../library/curses.rst:1678 msgid "degree symbol" msgstr "" -#: ../../library/curses.rst:1678 +#: ../../library/curses.rst:1680 msgid "``ACS_DIAMOND``" msgstr "``ACS_DIAMOND``" -#: ../../library/curses.rst:1678 +#: ../../library/curses.rst:1680 msgid "diamond" msgstr "" -#: ../../library/curses.rst:1680 +#: ../../library/curses.rst:1682 msgid "``ACS_GEQUAL``" msgstr "``ACS_GEQUAL``" -#: ../../library/curses.rst:1680 +#: ../../library/curses.rst:1682 msgid "greater-than-or-equal-to" msgstr "" -#: ../../library/curses.rst:1682 +#: ../../library/curses.rst:1684 msgid "``ACS_HLINE``" msgstr "``ACS_HLINE``" -#: ../../library/curses.rst:1682 +#: ../../library/curses.rst:1684 msgid "horizontal line" msgstr "" -#: ../../library/curses.rst:1684 +#: ../../library/curses.rst:1686 msgid "``ACS_LANTERN``" msgstr "``ACS_LANTERN``" -#: ../../library/curses.rst:1684 +#: ../../library/curses.rst:1686 msgid "lantern symbol" msgstr "" -#: ../../library/curses.rst:1686 +#: ../../library/curses.rst:1688 msgid "``ACS_LARROW``" msgstr "``ACS_LARROW``" -#: ../../library/curses.rst:1686 +#: ../../library/curses.rst:1688 msgid "left arrow" msgstr "" -#: ../../library/curses.rst:1688 +#: ../../library/curses.rst:1690 msgid "``ACS_LEQUAL``" msgstr "``ACS_LEQUAL``" -#: ../../library/curses.rst:1688 +#: ../../library/curses.rst:1690 msgid "less-than-or-equal-to" msgstr "" -#: ../../library/curses.rst:1690 +#: ../../library/curses.rst:1692 msgid "``ACS_LLCORNER``" msgstr "``ACS_LLCORNER``" -#: ../../library/curses.rst:1690 +#: ../../library/curses.rst:1692 msgid "lower left-hand corner" msgstr "" -#: ../../library/curses.rst:1692 +#: ../../library/curses.rst:1694 msgid "``ACS_LRCORNER``" msgstr "``ACS_LRCORNER``" -#: ../../library/curses.rst:1692 +#: ../../library/curses.rst:1694 msgid "lower right-hand corner" msgstr "" -#: ../../library/curses.rst:1694 +#: ../../library/curses.rst:1696 msgid "``ACS_LTEE``" msgstr "``ACS_LTEE``" -#: ../../library/curses.rst:1694 +#: ../../library/curses.rst:1696 msgid "left tee" msgstr "" -#: ../../library/curses.rst:1696 +#: ../../library/curses.rst:1698 msgid "``ACS_NEQUAL``" msgstr "``ACS_NEQUAL``" -#: ../../library/curses.rst:1696 +#: ../../library/curses.rst:1698 msgid "not-equal sign" msgstr "" -#: ../../library/curses.rst:1698 +#: ../../library/curses.rst:1700 msgid "``ACS_PI``" msgstr "``ACS_PI``" -#: ../../library/curses.rst:1698 +#: ../../library/curses.rst:1700 msgid "letter pi" msgstr "" -#: ../../library/curses.rst:1700 +#: ../../library/curses.rst:1702 msgid "``ACS_PLMINUS``" msgstr "``ACS_PLMINUS``" -#: ../../library/curses.rst:1700 +#: ../../library/curses.rst:1702 msgid "plus-or-minus sign" msgstr "" -#: ../../library/curses.rst:1702 +#: ../../library/curses.rst:1704 msgid "``ACS_PLUS``" msgstr "``ACS_PLUS``" -#: ../../library/curses.rst:1702 +#: ../../library/curses.rst:1704 msgid "big plus sign" msgstr "" -#: ../../library/curses.rst:1704 +#: ../../library/curses.rst:1706 msgid "``ACS_RARROW``" msgstr "``ACS_RARROW``" -#: ../../library/curses.rst:1704 +#: ../../library/curses.rst:1706 msgid "right arrow" msgstr "" -#: ../../library/curses.rst:1706 +#: ../../library/curses.rst:1708 msgid "``ACS_RTEE``" msgstr "``ACS_RTEE``" -#: ../../library/curses.rst:1706 +#: ../../library/curses.rst:1708 msgid "right tee" msgstr "" -#: ../../library/curses.rst:1708 +#: ../../library/curses.rst:1710 msgid "``ACS_S1``" msgstr "``ACS_S1``" -#: ../../library/curses.rst:1708 +#: ../../library/curses.rst:1710 msgid "scan line 1" msgstr "" -#: ../../library/curses.rst:1710 +#: ../../library/curses.rst:1712 msgid "``ACS_S3``" msgstr "``ACS_S3``" -#: ../../library/curses.rst:1710 +#: ../../library/curses.rst:1712 msgid "scan line 3" msgstr "" -#: ../../library/curses.rst:1712 +#: ../../library/curses.rst:1714 msgid "``ACS_S7``" msgstr "``ACS_S7``" -#: ../../library/curses.rst:1712 +#: ../../library/curses.rst:1714 msgid "scan line 7" msgstr "" -#: ../../library/curses.rst:1714 +#: ../../library/curses.rst:1716 msgid "``ACS_S9``" msgstr "``ACS_S9``" -#: ../../library/curses.rst:1714 +#: ../../library/curses.rst:1716 msgid "scan line 9" msgstr "" -#: ../../library/curses.rst:1716 +#: ../../library/curses.rst:1718 msgid "``ACS_SBBS``" msgstr "``ACS_SBBS``" -#: ../../library/curses.rst:1716 +#: ../../library/curses.rst:1718 msgid "alternate name for lower right corner" msgstr "" -#: ../../library/curses.rst:1718 +#: ../../library/curses.rst:1720 msgid "``ACS_SBSB``" msgstr "``ACS_SBSB``" -#: ../../library/curses.rst:1718 +#: ../../library/curses.rst:1720 msgid "alternate name for vertical line" msgstr "" -#: ../../library/curses.rst:1720 +#: ../../library/curses.rst:1722 msgid "``ACS_SBSS``" msgstr "``ACS_SBSS``" -#: ../../library/curses.rst:1720 +#: ../../library/curses.rst:1722 msgid "alternate name for right tee" msgstr "" -#: ../../library/curses.rst:1722 +#: ../../library/curses.rst:1724 msgid "``ACS_SSBB``" msgstr "``ACS_SSBB``" -#: ../../library/curses.rst:1722 +#: ../../library/curses.rst:1724 msgid "alternate name for lower left corner" msgstr "" -#: ../../library/curses.rst:1724 +#: ../../library/curses.rst:1726 msgid "``ACS_SSBS``" msgstr "``ACS_SSBS``" -#: ../../library/curses.rst:1724 +#: ../../library/curses.rst:1726 msgid "alternate name for bottom tee" msgstr "" -#: ../../library/curses.rst:1726 +#: ../../library/curses.rst:1728 msgid "``ACS_SSSB``" msgstr "``ACS_SSSB``" -#: ../../library/curses.rst:1726 +#: ../../library/curses.rst:1728 msgid "alternate name for left tee" msgstr "" -#: ../../library/curses.rst:1728 +#: ../../library/curses.rst:1730 msgid "``ACS_SSSS``" msgstr "``ACS_SSSS``" -#: ../../library/curses.rst:1728 +#: ../../library/curses.rst:1730 msgid "alternate name for crossover or big plus" msgstr "" -#: ../../library/curses.rst:1730 +#: ../../library/curses.rst:1732 msgid "``ACS_STERLING``" msgstr "``ACS_STERLING``" -#: ../../library/curses.rst:1730 +#: ../../library/curses.rst:1732 msgid "pound sterling" msgstr "" -#: ../../library/curses.rst:1732 +#: ../../library/curses.rst:1734 msgid "``ACS_TTEE``" msgstr "``ACS_TTEE``" -#: ../../library/curses.rst:1732 +#: ../../library/curses.rst:1734 msgid "top tee" msgstr "" -#: ../../library/curses.rst:1734 +#: ../../library/curses.rst:1736 msgid "``ACS_UARROW``" msgstr "``ACS_UARROW``" -#: ../../library/curses.rst:1734 +#: ../../library/curses.rst:1736 msgid "up arrow" msgstr "" -#: ../../library/curses.rst:1736 +#: ../../library/curses.rst:1738 msgid "``ACS_ULCORNER``" msgstr "``ACS_ULCORNER``" -#: ../../library/curses.rst:1736 +#: ../../library/curses.rst:1738 msgid "upper left corner" msgstr "" -#: ../../library/curses.rst:1738 +#: ../../library/curses.rst:1740 msgid "``ACS_URCORNER``" msgstr "``ACS_URCORNER``" -#: ../../library/curses.rst:1738 +#: ../../library/curses.rst:1740 msgid "upper right corner" msgstr "" -#: ../../library/curses.rst:1740 +#: ../../library/curses.rst:1742 msgid "``ACS_VLINE``" msgstr "``ACS_VLINE``" -#: ../../library/curses.rst:1740 +#: ../../library/curses.rst:1742 msgid "vertical line" msgstr "" -#: ../../library/curses.rst:1743 +#: ../../library/curses.rst:1745 msgid "The following table lists the predefined colors:" msgstr "" -#: ../../library/curses.rst:1746 +#: ../../library/curses.rst:1748 msgid "Color" msgstr "" -#: ../../library/curses.rst:1748 +#: ../../library/curses.rst:1750 msgid "``COLOR_BLACK``" msgstr "``COLOR_BLACK``" -#: ../../library/curses.rst:1748 +#: ../../library/curses.rst:1750 msgid "Black" msgstr "" -#: ../../library/curses.rst:1750 +#: ../../library/curses.rst:1752 msgid "``COLOR_BLUE``" msgstr "``COLOR_BLUE``" -#: ../../library/curses.rst:1750 +#: ../../library/curses.rst:1752 msgid "Blue" msgstr "" -#: ../../library/curses.rst:1752 +#: ../../library/curses.rst:1754 msgid "``COLOR_CYAN``" msgstr "``COLOR_CYAN``" -#: ../../library/curses.rst:1752 +#: ../../library/curses.rst:1754 msgid "Cyan (light greenish blue)" msgstr "" -#: ../../library/curses.rst:1754 +#: ../../library/curses.rst:1756 msgid "``COLOR_GREEN``" msgstr "``COLOR_GREEN``" -#: ../../library/curses.rst:1754 +#: ../../library/curses.rst:1756 msgid "Green" msgstr "" -#: ../../library/curses.rst:1756 +#: ../../library/curses.rst:1758 msgid "``COLOR_MAGENTA``" msgstr "``COLOR_MAGENTA``" -#: ../../library/curses.rst:1756 +#: ../../library/curses.rst:1758 msgid "Magenta (purplish red)" msgstr "" -#: ../../library/curses.rst:1758 +#: ../../library/curses.rst:1760 msgid "``COLOR_RED``" msgstr "``COLOR_RED``" -#: ../../library/curses.rst:1758 +#: ../../library/curses.rst:1760 msgid "Red" msgstr "" -#: ../../library/curses.rst:1760 +#: ../../library/curses.rst:1762 msgid "``COLOR_WHITE``" msgstr "``COLOR_WHITE``" -#: ../../library/curses.rst:1760 +#: ../../library/curses.rst:1762 msgid "White" msgstr "" -#: ../../library/curses.rst:1762 +#: ../../library/curses.rst:1764 msgid "``COLOR_YELLOW``" msgstr "``COLOR_YELLOW``" -#: ../../library/curses.rst:1762 +#: ../../library/curses.rst:1764 msgid "Yellow" msgstr "" -#: ../../library/curses.rst:1767 +#: ../../library/curses.rst:1769 msgid ":mod:`curses.textpad` --- Text input widget for curses programs" msgstr "" -#: ../../library/curses.rst:1775 +#: ../../library/curses.rst:1777 msgid "" "The :mod:`curses.textpad` module provides a :class:`Textbox` class that " "handles elementary text editing in a curses window, supporting a set of " @@ -3004,11 +3018,11 @@ msgid "" "purposes." msgstr "" -#: ../../library/curses.rst:1781 +#: ../../library/curses.rst:1783 msgid "The module :mod:`curses.textpad` defines the following function:" msgstr "" -#: ../../library/curses.rst:1786 +#: ../../library/curses.rst:1788 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 " @@ -3020,15 +3034,15 @@ msgid "" "will be drawn with ASCII dashes, vertical bars, and plus signs." msgstr "" -#: ../../library/curses.rst:1799 +#: ../../library/curses.rst:1801 msgid "Textbox objects" msgstr "" -#: ../../library/curses.rst:1801 +#: ../../library/curses.rst:1803 msgid "You can instantiate a :class:`Textbox` object as follows:" msgstr "" -#: ../../library/curses.rst:1806 +#: ../../library/curses.rst:1808 msgid "" "Return a textbox widget object. The *win* argument should be a curses :ref:" "`window ` object in which the textbox is to be " @@ -3037,11 +3051,11 @@ msgid "" "instance's :attr:`stripspaces` flag is initially on." msgstr "" -#: ../../library/curses.rst:1812 +#: ../../library/curses.rst:1814 msgid ":class:`Textbox` objects have the following methods:" msgstr "" -#: ../../library/curses.rst:1817 +#: ../../library/curses.rst:1819 msgid "" "This is the entry point you will normally use. It accepts editing " "keystrokes until one of the termination keystrokes is entered. If " @@ -3052,167 +3066,167 @@ msgid "" "`stripspaces` attribute." msgstr "" -#: ../../library/curses.rst:1828 +#: ../../library/curses.rst:1830 msgid "" "Process a single command keystroke. Here are the supported special " "keystrokes:" msgstr "" -#: ../../library/curses.rst:1832 ../../library/curses.rst:1870 +#: ../../library/curses.rst:1834 ../../library/curses.rst:1872 msgid "Keystroke" msgstr "" -#: ../../library/curses.rst:1832 +#: ../../library/curses.rst:1834 msgid "Action" -msgstr "" +msgstr "Ação" -#: ../../library/curses.rst:1834 +#: ../../library/curses.rst:1836 msgid ":kbd:`Control-A`" msgstr ":kbd:`Control-A`" -#: ../../library/curses.rst:1834 +#: ../../library/curses.rst:1836 msgid "Go to left edge of window." msgstr "" -#: ../../library/curses.rst:1836 ../../library/curses.rst:1872 +#: ../../library/curses.rst:1838 ../../library/curses.rst:1874 msgid ":kbd:`Control-B`" msgstr ":kbd:`Control-B`" -#: ../../library/curses.rst:1836 +#: ../../library/curses.rst:1838 msgid "Cursor left, wrapping to previous line if appropriate." msgstr "" -#: ../../library/curses.rst:1839 +#: ../../library/curses.rst:1841 msgid ":kbd:`Control-D`" msgstr ":kbd:`Control-D`" -#: ../../library/curses.rst:1839 +#: ../../library/curses.rst:1841 msgid "Delete character under cursor." msgstr "" -#: ../../library/curses.rst:1841 +#: ../../library/curses.rst:1843 msgid ":kbd:`Control-E`" msgstr ":kbd:`Control-E`" -#: ../../library/curses.rst:1841 +#: ../../library/curses.rst:1843 msgid "Go to right edge (stripspaces off) or end of line (stripspaces on)." msgstr "" -#: ../../library/curses.rst:1844 ../../library/curses.rst:1874 +#: ../../library/curses.rst:1846 ../../library/curses.rst:1876 msgid ":kbd:`Control-F`" msgstr ":kbd:`Control-F`" -#: ../../library/curses.rst:1844 +#: ../../library/curses.rst:1846 msgid "Cursor right, wrapping to next line when appropriate." msgstr "" -#: ../../library/curses.rst:1847 +#: ../../library/curses.rst:1849 msgid ":kbd:`Control-G`" msgstr ":kbd:`Control-G`" -#: ../../library/curses.rst:1847 +#: ../../library/curses.rst:1849 msgid "Terminate, returning the window contents." msgstr "" -#: ../../library/curses.rst:1849 +#: ../../library/curses.rst:1851 msgid ":kbd:`Control-H`" msgstr ":kbd:`Control-H`" -#: ../../library/curses.rst:1849 +#: ../../library/curses.rst:1851 msgid "Delete character backward." msgstr "" -#: ../../library/curses.rst:1851 +#: ../../library/curses.rst:1853 msgid ":kbd:`Control-J`" msgstr ":kbd:`Control-J`" -#: ../../library/curses.rst:1851 +#: ../../library/curses.rst:1853 msgid "Terminate if the window is 1 line, otherwise insert newline." msgstr "" -#: ../../library/curses.rst:1854 +#: ../../library/curses.rst:1856 msgid ":kbd:`Control-K`" msgstr ":kbd:`Control-K`" -#: ../../library/curses.rst:1854 +#: ../../library/curses.rst:1856 msgid "If line is blank, delete it, otherwise clear to end of line." msgstr "" -#: ../../library/curses.rst:1857 +#: ../../library/curses.rst:1859 msgid ":kbd:`Control-L`" msgstr ":kbd:`Control-L`" -#: ../../library/curses.rst:1857 +#: ../../library/curses.rst:1859 msgid "Refresh screen." msgstr "" -#: ../../library/curses.rst:1859 ../../library/curses.rst:1878 +#: ../../library/curses.rst:1861 ../../library/curses.rst:1880 msgid ":kbd:`Control-N`" msgstr ":kbd:`Control-N`" -#: ../../library/curses.rst:1859 +#: ../../library/curses.rst:1861 msgid "Cursor down; move down one line." msgstr "" -#: ../../library/curses.rst:1861 +#: ../../library/curses.rst:1863 msgid ":kbd:`Control-O`" msgstr ":kbd:`Control-O`" -#: ../../library/curses.rst:1861 +#: ../../library/curses.rst:1863 msgid "Insert a blank line at cursor location." msgstr "" -#: ../../library/curses.rst:1863 ../../library/curses.rst:1876 +#: ../../library/curses.rst:1865 ../../library/curses.rst:1878 msgid ":kbd:`Control-P`" msgstr ":kbd:`Control-P`" -#: ../../library/curses.rst:1863 +#: ../../library/curses.rst:1865 msgid "Cursor up; move up one line." msgstr "" -#: ../../library/curses.rst:1866 +#: ../../library/curses.rst:1868 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:1872 +#: ../../library/curses.rst:1874 msgid ":const:`KEY_LEFT`" msgstr ":const:`KEY_LEFT`" -#: ../../library/curses.rst:1874 +#: ../../library/curses.rst:1876 msgid ":const:`KEY_RIGHT`" msgstr ":const:`KEY_RIGHT`" -#: ../../library/curses.rst:1876 +#: ../../library/curses.rst:1878 msgid ":const:`KEY_UP`" msgstr ":const:`KEY_UP`" -#: ../../library/curses.rst:1878 +#: ../../library/curses.rst:1880 msgid ":const:`KEY_DOWN`" msgstr ":const:`KEY_DOWN`" -#: ../../library/curses.rst:1880 +#: ../../library/curses.rst:1882 msgid ":const:`KEY_BACKSPACE`" msgstr ":const:`KEY_BACKSPACE`" -#: ../../library/curses.rst:1880 +#: ../../library/curses.rst:1882 msgid ":kbd:`Control-h`" msgstr ":kbd:`Control-h`" -#: ../../library/curses.rst:1883 +#: ../../library/curses.rst:1885 msgid "" "All other keystrokes are treated as a command to insert the given character " "and move right (with line wrapping)." msgstr "" -#: ../../library/curses.rst:1889 +#: ../../library/curses.rst:1891 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:1895 +#: ../../library/curses.rst:1897 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 8533402d9..7f7ec372d 100644 --- a/library/custominterp.po +++ b/library/custominterp.po @@ -1,29 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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.10\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-06-29 12:56+0000\n" -"PO-Revision-Date: 2021-06-28 01:03+0000\n" -"Last-Translator: Claudio Rogerio Carvalho Filho , " -"2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:57+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/custominterp.rst:5 msgid "Custom Python Interpreters" @@ -35,7 +33,7 @@ msgid "" "Python's interactive interpreter. If you want a Python interpreter that " "supports some special feature in addition to the Python language, you should " "look at the :mod:`code` module. (The :mod:`codeop` module is lower-level, " -"used to support compiling a possibly-incomplete chunk of Python code.)" +"used to support compiling a possibly incomplete chunk of Python code.)" msgstr "" "Os módulos descritos neste capítulo permitem a escrita de interfaces " "semelhantes ao interpretador interativo da Python. Se você quer um " diff --git a/library/dataclasses.po b/library/dataclasses.po index ee13193d6..39262139d 100644 --- a/library/dataclasses.po +++ b/library/dataclasses.po @@ -1,31 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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 -# Marco Rougeth , 2021 -# Claudio Rogerio Carvalho Filho , 2021 -# Vinícius Muniz de Melo , 2021 -# i17obot , 2021 +# python-doc bot, 2025 # #, 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:03+0000\n" -"Last-Translator: i17obot , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:57+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"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" @@ -52,7 +48,7 @@ msgid "" "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::" +"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:`__init__` that looks like::" @@ -75,8 +71,8 @@ msgid "" "This function is a :term:`decorator` that is used to add generated :term:" "`special method`\\s to classes, as described below." msgstr "" -"Esta função é um :term:`decorador` que é usado para adicionar :term:`método " -"especial`\\s para classes, conforme descrito abaixo." +"Esta função é um :term:`decorador` que é usado para adicionar :term:`métodos " +"especiais ` para classes, conforme descrito abaixo." #: ../../library/dataclasses.rst:54 msgid "" @@ -85,11 +81,11 @@ msgid "" "`. With two exceptions described below, nothing in :" "func:`dataclass` examines the type specified in the variable annotation." msgstr "" -"O decorador :func:`dataclass` examina a classe para encontrar ``field``\\s. " -"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 anotação de " -"variável." +"O decorador :func:`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 " +"anotação de variável." #: ../../library/dataclasses.rst:60 msgid "" @@ -122,23 +118,23 @@ msgstr "" "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::" -#: ../../library/dataclasses.rst:86 +#: ../../library/dataclasses.rst:87 msgid "The parameters to :func:`dataclass` are:" msgstr "Os parâmetros do :func:`dataclass` são:" -#: ../../library/dataclasses.rst:88 +#: ../../library/dataclasses.rst:89 msgid "" "``init``: If true (the default), a :meth:`__init__` method will be generated." msgstr "" "``init``: Se verdadeiro (o padrão), o método :meth:`__init__` será gerado." -#: ../../library/dataclasses.rst:91 +#: ../../library/dataclasses.rst:92 msgid "" "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:94 +#: ../../library/dataclasses.rst:95 msgid "" "``repr``: If true (the default), a :meth:`__repr__` method will be " "generated. The generated repr string will have the class name and the name " @@ -154,13 +150,13 @@ msgstr "" "exemplo: ``InventoryItem(name='widget', unit_price=3.0, " "quantity_on_hand=10)``." -#: ../../library/dataclasses.rst:101 +#: ../../library/dataclasses.rst:102 msgid "" "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:104 +#: ../../library/dataclasses.rst:105 msgid "" "``eq``: If true (the default), an :meth:`__eq__` method will be generated. " "This method compares the class as if it were a tuple of its fields, in " @@ -170,12 +166,12 @@ msgstr "" "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:109 +#: ../../library/dataclasses.rst:110 msgid "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:112 +#: ../../library/dataclasses.rst:113 msgid "" "``order``: If true (the default is ``False``), :meth:`__lt__`, :meth:" "`__le__`, :meth:`__gt__`, and :meth:`__ge__` methods will be generated. " @@ -189,7 +185,7 @@ msgstr "" "comparação devem ser de tipo idêntico. Se ``order`` é verdadeiro e ``eq`` " "é falso, a exceção :exc:`ValueError` é levantada." -#: ../../library/dataclasses.rst:119 +#: ../../library/dataclasses.rst:120 msgid "" "If the class already defines any of :meth:`__lt__`, :meth:`__le__`, :meth:" "`__gt__`, or :meth:`__ge__`, then :exc:`TypeError` is raised." @@ -198,7 +194,7 @@ msgstr "" "`__le__`, :meth:`__gt__` ou :meth:`__ge__`, então :exc:`TypeError` é " "levantada." -#: ../../library/dataclasses.rst:123 +#: ../../library/dataclasses.rst:124 msgid "" "``unsafe_hash``: If ``False`` (the default), a :meth:`__hash__` method is " "generated according to how ``eq`` and ``frozen`` are set." @@ -206,7 +202,7 @@ msgstr "" "``unsafe_hash``: Se ``False`` (o padrão), um método :meth:`__hash__` é " "gerado, conforme ``eq`` e ``frozen`` estão configurados." -#: ../../library/dataclasses.rst:126 +#: ../../library/dataclasses.rst:127 msgid "" ":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:" @@ -222,7 +218,7 @@ msgstr "" "programador, da existência e comportamento do método :meth:`__eq__`, e dos " "valores dos parâmetros ``eq`` e ``frozen`` no decorador :func:`dataclass` ." -#: ../../library/dataclasses.rst:133 +#: ../../library/dataclasses.rst:134 msgid "" "By default, :func:`dataclass` will not implicitly add a :meth:`__hash__` " "method unless it is safe to do so. Neither will it add or change an " @@ -237,7 +233,7 @@ msgstr "" "específico para o Python, conforme descrito na documentação do :meth:" "`__hash__` ." -#: ../../library/dataclasses.rst:139 +#: ../../library/dataclasses.rst:140 msgid "" "If :meth:`__hash__` is not explicitly defined, or if it is set to ``None``, " "then :func:`dataclass` *may* add an implicit :meth:`__hash__` method. " @@ -254,7 +250,7 @@ msgstr "" "pode ser mudada. Esse é um caso de uso específico e deve ser considerado com " "muito cuidade." -#: ../../library/dataclasses.rst:146 +#: ../../library/dataclasses.rst:147 msgid "" "Here are the rules governing implicit creation of a :meth:`__hash__` " "method. Note that you cannot both have an explicit :meth:`__hash__` method " @@ -266,7 +262,7 @@ msgstr "" "na dataclass e configurar ``unsafe_hash=True``; isso resultará em um :exc:" "`TypeError`." -#: ../../library/dataclasses.rst:151 +#: ../../library/dataclasses.rst:152 msgid "" "If ``eq`` and ``frozen`` are both true, by default :func:`dataclass` will " "generate a :meth:`__hash__` method for you. If ``eq`` is true and " @@ -284,7 +280,7 @@ msgstr "" "superclasse será usado (se a superclasse é :class:`object`, significa que " "voltará para o hash baseado em id)." -#: ../../library/dataclasses.rst:159 +#: ../../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:" @@ -296,7 +292,7 @@ msgstr "" "meth:`__setattr__` ou :meth:`__delattr__` é definido na classe, a exceção :" "exc:`TypeError` é levantada. Veja a discussão abaixo." -#: ../../library/dataclasses.rst:164 +#: ../../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:" @@ -305,7 +301,7 @@ msgid "" "``__match_args__`` will not be generated." msgstr "" -#: ../../library/dataclasses.rst:173 +#: ../../library/dataclasses.rst:174 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 " @@ -316,7 +312,7 @@ msgid "" "section." msgstr "" -#: ../../library/dataclasses.rst:184 +#: ../../library/dataclasses.rst:185 msgid "" "``slots``: If true (the default is ``False``), :attr:`__slots__` attribute " "will be generated and new class will be returned instead of the original " @@ -324,7 +320,7 @@ msgid "" "`TypeError` is raised." msgstr "" -#: ../../library/dataclasses.rst:191 +#: ../../library/dataclasses.rst:192 msgid "" "``field``\\s may optionally specify a default value, using normal Python " "syntax::" @@ -332,7 +328,7 @@ msgstr "" "``field``\\s pode opcionalmente especificar um valor padrão, usando sintaxe " "Python normal::" -#: ../../library/dataclasses.rst:199 +#: ../../library/dataclasses.rst:200 msgid "" "In this example, both ``a`` and ``b`` will be included in the added :meth:" "`__init__` method, which will be defined as::" @@ -340,7 +336,7 @@ msgstr "" "Nesse exemplo, ``a`` e ``b`` serão incluídos no método :meth:`__init__` " "adicionado, que será definido como::" -#: ../../library/dataclasses.rst:204 +#: ../../library/dataclasses.rst:205 msgid "" ":exc:`TypeError` will be raised if a field without a default value follows a " "field with a default value. This is true whether this occurs in a single " @@ -350,7 +346,7 @@ msgstr "" "após um campo com valor padrão. Isso é verdadeiro se ocorrer numa classe " "simples, ou como resultado de uma herança de classe." -#: ../../library/dataclasses.rst:210 +#: ../../library/dataclasses.rst:211 msgid "" "For common and simple use cases, no other functionality is required. There " "are, however, some dataclass features that require additional per-field " @@ -364,13 +360,18 @@ msgstr "" "adicionais, você pode substituir o valor do campo padrão por uma chamada " "para a função :func:`field` fornecida. Por exemplo::" -#: ../../library/dataclasses.rst:223 +#: ../../library/dataclasses.rst:224 msgid "" "As shown above, the :const:`MISSING` value is a sentinel object used to " -"detect if the ``default`` and ``default_factory`` parameters are provided. " -"This sentinel is used because ``None`` is a valid value for ``default``. No " -"code should directly use the :const:`MISSING` value." +"detect if some parameters are provided by the user. This sentinel is used " +"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:229 msgid "The parameters to :func:`field` are:" @@ -382,6 +383,9 @@ msgid "" "This is needed because the :meth:`field` call itself replaces the normal " "position of the default value." msgstr "" +"``default``: Se fornecido, este será o valor padrão para este campo. Isso é " +"necessário porque a própria chamada :meth:`field` substitui a posição normal " +"do valor padrão." #: ../../library/dataclasses.rst:235 msgid "" @@ -391,6 +395,11 @@ 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:241 msgid "" @@ -421,6 +430,11 @@ 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:260 msgid "" @@ -437,6 +451,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:272 msgid "" @@ -454,12 +474,21 @@ msgid "" "fields, just as if the default value itself were specified. For example, " "after::" msgstr "" +"Se o valor padrão de um campo for especificado por uma chamada para :func:" +"`field()`, então o atributo de classe para este campo será substituído pelo " +"valor de ``default`` especificado. Se ``default`` não for fornecido, o " +"atributo de classe será excluído. A intenção é que, após a execução do " +"decorador :func:`dataclass`, todos os atributos de classe conterão os " +"valores padrão para os campos, como se o próprio valor padrão fosse " +"especificado. Por exemplo, depois de::" #: ../../library/dataclasses.rst:294 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:300 msgid "" @@ -468,6 +497,10 @@ msgid "" "method (see below). Users should never instantiate a :class:`Field` object " "directly. Its documented attributes are:" msgstr "" +"Objetos :class:`Field` descrevem cada campo definido. Esses objetos são " +"criados internamente e são retornados pelo método de nível de módulo :func:" +"`fields` (veja abaixo). Os usuários nunca devem instanciar um objeto :class:" +"`Field` diretamente. Seus atributos documentados são:" #: ../../library/dataclasses.rst:305 msgid "``name``: The name of the field." @@ -483,12 +516,17 @@ msgid "" "``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:313 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:318 msgid "" @@ -497,31 +535,67 @@ msgid "" "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:325 msgid "" -"Converts the dataclass ``instance`` to a dict (by using the factory function " +"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. For example::" +"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:345 ../../library/dataclasses.rst:359 -msgid "Raises :exc:`TypeError` if ``instance`` is not a dataclass instance." +#: ../../library/dataclasses.rst:331 +msgid "Example of using :func:`asdict` on nested dataclasses::" +msgstr "Exemplo de uso de :func:`asdict` em classes de dados aninhadas::" + +#: ../../library/dataclasses.rst:348 ../../library/dataclasses.rst:368 +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:349 +#: ../../library/dataclasses.rst:352 msgid "" -"Converts the dataclass ``instance`` 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." +":func:`asdict` raises :exc:`TypeError` if ``obj`` is not a dataclass " +"instance." msgstr "" +":func:`asdict` levanta :exc:`TypeError` se ``obj`` não é uma instância de " +"classe de dados." -#: ../../library/dataclasses.rst:354 +#: ../../library/dataclasses.rst:357 +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:363 msgid "Continuing from the previous example::" msgstr "Continuando a partir do exemplo anterior::" -#: ../../library/dataclasses.rst:363 +#: ../../library/dataclasses.rst:372 +msgid "" +":func:`astuple` raises :exc:`TypeError` if ``obj`` is not a dataclass " +"instance." +msgstr "" +":func:`astuple` levanta :exc:`TypeError` se ``obj`` não é uma instância de " +"classe de dados." + +#: ../../library/dataclasses.rst:377 msgid "" "Creates a new dataclass with name ``cls_name``, fields as defined in " "``fields``, base classes as given in ``bases``, and initialized with a " @@ -533,7 +607,7 @@ msgid "" "have the same meaning as they do in :func:`dataclass`." msgstr "" -#: ../../library/dataclasses.rst:373 +#: ../../library/dataclasses.rst:387 msgid "" "This function is not strictly required, because any Python mechanism for " "creating a new class with ``__annotations__`` can then apply the :func:" @@ -541,39 +615,39 @@ msgid "" "provided as a convenience. For example::" msgstr "" -#: ../../library/dataclasses.rst:385 +#: ../../library/dataclasses.rst:399 msgid "Is equivalent to::" msgstr "É equivalente a::" -#: ../../library/dataclasses.rst:398 +#: ../../library/dataclasses.rst:412 msgid "" -"Creates a new object of the same type as ``instance``, replacing fields with " -"values from ``changes``. If ``instance`` is not a Data Class, raises :exc:" +"Creates a new object of the same type as ``obj``, replacing fields with " +"values from ``changes``. If ``obj`` is not a Data Class, raises :exc:" "`TypeError`. If values in ``changes`` do not specify fields, raises :exc:" "`TypeError`." msgstr "" -#: ../../library/dataclasses.rst:403 +#: ../../library/dataclasses.rst:417 msgid "" "The newly returned object is created by calling the :meth:`__init__` method " "of the dataclass. This ensures that :meth:`__post_init__`, if present, is " "also called." msgstr "" -#: ../../library/dataclasses.rst:407 +#: ../../library/dataclasses.rst:421 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:" "`__init__` and :meth:`__post_init__`." msgstr "" -#: ../../library/dataclasses.rst:411 +#: ../../library/dataclasses.rst:425 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:415 +#: ../../library/dataclasses.rst:429 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 " @@ -584,13 +658,13 @@ msgid "" "instance copying." msgstr "" -#: ../../library/dataclasses.rst:426 +#: ../../library/dataclasses.rst:440 msgid "" "Return ``True`` if its parameter is a dataclass or an instance of one, " "otherwise return ``False``." msgstr "" -#: ../../library/dataclasses.rst:429 +#: ../../library/dataclasses.rst:443 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, " @@ -600,11 +674,11 @@ msgstr "" "dataclass de fato), então adicione uma verificação para ``not " "isinstance(obj, type)``::" -#: ../../library/dataclasses.rst:438 +#: ../../library/dataclasses.rst:452 msgid "A sentinel value signifying a missing default or default_factory." msgstr "" -#: ../../library/dataclasses.rst:442 +#: ../../library/dataclasses.rst:456 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 " @@ -615,30 +689,30 @@ msgid "" "is instantiated." msgstr "" -#: ../../library/dataclasses.rst:451 +#: ../../library/dataclasses.rst:465 msgid "" "In this example, the fields ``y`` and ``z`` will be marked as keyword-only " "fields::" msgstr "" -#: ../../library/dataclasses.rst:462 +#: ../../library/dataclasses.rst:476 msgid "" "In a single dataclass, it is an error to specify more than one field whose " "type is :const:`KW_ONLY`." msgstr "" -#: ../../library/dataclasses.rst:467 +#: ../../library/dataclasses.rst:483 msgid "" "Raised when an implicitly defined :meth:`__setattr__` or :meth:`__delattr__` " "is called on a dataclass which was defined with ``frozen=True``. It is a " "subclass of :exc:`AttributeError`." msgstr "" -#: ../../library/dataclasses.rst:472 +#: ../../library/dataclasses.rst:488 msgid "Post-init processing" msgstr "Processamento pós-inicialização" -#: ../../library/dataclasses.rst:474 +#: ../../library/dataclasses.rst:490 msgid "" "The generated :meth:`__init__` code will call a method named :meth:" "`__post_init__`, if :meth:`__post_init__` is defined on the class. It will " @@ -648,13 +722,13 @@ msgid "" "generated, then :meth:`__post_init__` will not automatically be called." msgstr "" -#: ../../library/dataclasses.rst:482 +#: ../../library/dataclasses.rst:498 msgid "" "Among other uses, this allows for initializing field values that depend on " "one or more other fields. For example::" msgstr "" -#: ../../library/dataclasses.rst:494 +#: ../../library/dataclasses.rst:510 msgid "" "The :meth:`__init__` method generated by :func:`dataclass` does not call " "base class :meth:`__init__` methods. If the base class has an :meth:" @@ -662,41 +736,41 @@ msgid "" "a :meth:`__post_init__` method::" msgstr "" -#: ../../library/dataclasses.rst:511 +#: ../../library/dataclasses.rst:527 msgid "" "Note, however, that in general the dataclass-generated :meth:`__init__` " "methods don't need to be called, since the derived dataclass will take care " "of initializing all fields of any base class that is a dataclass itself." msgstr "" -#: ../../library/dataclasses.rst:515 +#: ../../library/dataclasses.rst:531 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` " "handles ``init=False`` fields." msgstr "" -#: ../../library/dataclasses.rst:520 +#: ../../library/dataclasses.rst:536 msgid "Class variables" msgstr "Variáveis de classe" -#: ../../library/dataclasses.rst:522 +#: ../../library/dataclasses.rst:538 msgid "" -"One of two 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:" +"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:531 +#: ../../library/dataclasses.rst:547 msgid "Init-only variables" msgstr "Variáveis de inicialização apenas" -#: ../../library/dataclasses.rst:533 +#: ../../library/dataclasses.rst:549 msgid "" -"The other place where :func:`dataclass` inspects a type annotation is to " +"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 " @@ -706,23 +780,23 @@ msgid "" "`__post_init__` method. They are not otherwise used by dataclasses." msgstr "" -#: ../../library/dataclasses.rst:543 +#: ../../library/dataclasses.rst:559 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:558 +#: ../../library/dataclasses.rst:574 msgid "" "In this case, :func:`fields` will return :class:`Field` objects for ``i`` " "and ``j``, but not for ``database``." msgstr "" -#: ../../library/dataclasses.rst:562 +#: ../../library/dataclasses.rst:578 msgid "Frozen instances" msgstr "" -#: ../../library/dataclasses.rst:564 +#: ../../library/dataclasses.rst:580 msgid "" "It is not possible to create truly immutable Python objects. However, by " "passing ``frozen=True`` to the :meth:`dataclass` decorator you can emulate " @@ -731,18 +805,18 @@ msgid "" "`FrozenInstanceError` when invoked." msgstr "" -#: ../../library/dataclasses.rst:570 +#: ../../library/dataclasses.rst:586 msgid "" "There is a tiny performance penalty when using ``frozen=True``: :meth:" "`__init__` cannot use simple assignment to initialize fields, and must use :" "meth:`object.__setattr__`." msgstr "" -#: ../../library/dataclasses.rst:575 +#: ../../library/dataclasses.rst:591 msgid "Inheritance" msgstr "Herança" -#: ../../library/dataclasses.rst:577 +#: ../../library/dataclasses.rst:593 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, " @@ -754,7 +828,7 @@ msgid "" "derived classes override base classes. An example::" msgstr "" -#: ../../library/dataclasses.rst:597 +#: ../../library/dataclasses.rst:613 msgid "" "The final list of fields is, in order, ``x``, ``y``, ``z``. The final type " "of ``x`` is ``int``, as specified in class ``C``." @@ -762,15 +836,15 @@ 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:600 +#: ../../library/dataclasses.rst:616 msgid "The generated :meth:`__init__` method for ``C`` will look like::" msgstr "O método :meth:`__init__` gerado para ``C`` vai se parecer com::" -#: ../../library/dataclasses.rst:605 +#: ../../library/dataclasses.rst:621 msgid "Re-ordering of keyword-only parameters in :meth:`__init__`" msgstr "" -#: ../../library/dataclasses.rst:607 +#: ../../library/dataclasses.rst:623 msgid "" "After the parameters needed for :meth:`__init__` are computed, any keyword-" "only parameters are moved to come after all regular (non-keyword-only) " @@ -778,41 +852,41 @@ msgid "" "implemented in Python: they must come after non-keyword-only parameters." msgstr "" -#: ../../library/dataclasses.rst:613 +#: ../../library/dataclasses.rst:629 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:628 +#: ../../library/dataclasses.rst:644 msgid "The generated :meth:`__init__` method for ``D`` will look like::" msgstr "" -#: ../../library/dataclasses.rst:632 +#: ../../library/dataclasses.rst:648 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:636 +#: ../../library/dataclasses.rst:652 msgid "" "The relative ordering of keyword-only parameters is maintained in the re-" "ordered :meth:`__init__` parameter list." msgstr "" -#: ../../library/dataclasses.rst:641 +#: ../../library/dataclasses.rst:657 msgid "Default factory functions" msgstr "Funções padrão de fábrica" -#: ../../library/dataclasses.rst:643 +#: ../../library/dataclasses.rst:659 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:649 +#: ../../library/dataclasses.rst:665 msgid "" "If a field is excluded from :meth:`__init__` (using ``init=False``) and the " "field also specifies ``default_factory``, then the default factory function " @@ -820,31 +894,31 @@ msgid "" "happens because there is no other way to give the field an initial value." msgstr "" -#: ../../library/dataclasses.rst:656 +#: ../../library/dataclasses.rst:672 msgid "Mutable default values" msgstr "Valores padrão mutáveis" -#: ../../library/dataclasses.rst:658 +#: ../../library/dataclasses.rst:674 msgid "" "Python stores default member variable values in class attributes. Consider " "this example, not using dataclasses::" msgstr "" -#: ../../library/dataclasses.rst:673 +#: ../../library/dataclasses.rst:689 msgid "" "Note that the two instances of class ``C`` share the same class variable " "``x``, as expected." msgstr "" -#: ../../library/dataclasses.rst:676 +#: ../../library/dataclasses.rst:692 msgid "Using dataclasses, *if* this code was valid::" msgstr "Usando dataclasses, *se* este código fosse válido::" -#: ../../library/dataclasses.rst:684 +#: ../../library/dataclasses.rst:700 msgid "it would generate code similar to::" msgstr "Geraria código similar a::" -#: ../../library/dataclasses.rst:695 +#: ../../library/dataclasses.rst:711 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 " @@ -857,8 +931,49 @@ msgid "" "errors." msgstr "" -#: ../../library/dataclasses.rst:706 +#: ../../library/dataclasses.rst:722 msgid "" "Using default factory functions is a way to create new instances of mutable " "types as default values for fields::" msgstr "" + +#: ../../library/dataclasses.rst:732 +msgid "Descriptor-typed fields" +msgstr "" + +#: ../../library/dataclasses.rst:734 +msgid "" +"Fields that are assigned :ref:`descriptor objects ` as their " +"default value have the following special behaviors:" +msgstr "" + +#: ../../library/dataclasses.rst:737 +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." +msgstr "" + +#: ../../library/dataclasses.rst:740 +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." +msgstr "" + +#: ../../library/dataclasses.rst:743 +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." +msgstr "" + +#: ../../library/dataclasses.rst:778 +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 " +"normal field." +msgstr "" diff --git a/library/datatypes.po b/library/datatypes.po index c94da69e0..33ea8a29f 100644 --- a/library/datatypes.po +++ b/library/datatypes.po @@ -1,27 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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.10\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-06-29 12:56+0000\n" -"PO-Revision-Date: 2021-06-28 01:04+0000\n" -"Last-Translator: Raphael Mendonça, 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:57+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/datatypes.rst:5 msgid "Data Types" diff --git a/library/datetime.po b/library/datetime.po index 3ecb30d77..f9dbc5e4d 100644 --- a/library/datetime.po +++ b/library/datetime.po @@ -1,43 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, Python Software 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 -# Rafael Fontenelle , 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 -# Augusta Carla Klug , 2021 +# python-doc bot, 2025 # #, 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:04+0000\n" -"Last-Translator: Augusta Carla Klug , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2026-02-07 17:18+0000\n" +"PO-Revision-Date: 2025-09-22 15:57+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/datetime.rst:2 msgid ":mod:`datetime` --- Basic date and time types" @@ -60,8 +44,8 @@ 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:25 msgid "Module :mod:`calendar`" @@ -77,22 +61,32 @@ msgstr "Módulo :mod:`time`" #: ../../library/datetime.rst:28 msgid "Time access and conversions." -msgstr "Acesso de hora e conversões." +msgstr "Acesso e conversões de tempo" + +#: ../../library/datetime.rst:31 +msgid "Module :mod:`zoneinfo`" +msgstr "Módulo :mod:`zoneinfo`" + +#: ../../library/datetime.rst:31 +msgid "Concrete time zones representing the IANA time zone database." +msgstr "" +"Fusos horários concretos que representam o banco de dados de fusos horários " +"da IANA." -#: ../../library/datetime.rst:30 +#: ../../library/datetime.rst:33 msgid "Package `dateutil `_" msgstr "Pacote `dateutil `_" -#: ../../library/datetime.rst:31 +#: ../../library/datetime.rst:34 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:36 +#: ../../library/datetime.rst:39 msgid "Aware and Naive Objects" msgstr "Objetos Conscientes e Ingênuos" -#: ../../library/datetime.rst:38 +#: ../../library/datetime.rst:41 msgid "" "Date and time objects may be categorized as \"aware\" or \"naive\" depending " "on whether or not they include timezone information." @@ -100,7 +94,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:41 +#: ../../library/datetime.rst:44 msgid "" "With sufficient knowledge of applicable algorithmic and political time " "adjustments, such as time zone and daylight saving time information, an " @@ -114,7 +108,7 @@ msgstr "" "objeto consciente representa um momento específico no tempo que não está " "aberto à interpretação. [#]_" -#: ../../library/datetime.rst:47 +#: ../../library/datetime.rst:50 msgid "" "A **naive** object does not contain enough information to unambiguously " "locate itself relative to other date/time objects. Whether a naive object " @@ -132,7 +126,7 @@ 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:54 +#: ../../library/datetime.rst:57 msgid "" "For applications requiring aware objects, :class:`.datetime` and :class:`." "time` objects have an optional time zone information attribute, :attr:`!" @@ -148,7 +142,7 @@ msgstr "" "`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:60 +#: ../../library/datetime.rst:63 msgid "" "Only one concrete :class:`tzinfo` class, the :class:`timezone` class, is " "supplied by the :mod:`datetime` module. The :class:`timezone` class can " @@ -167,15 +161,15 @@ 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:69 +#: ../../library/datetime.rst:72 msgid "Constants" msgstr "Constantes" -#: ../../library/datetime.rst:71 +#: ../../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:75 +#: ../../library/datetime.rst:78 msgid "" "The smallest year number allowed in a :class:`date` or :class:`.datetime` " "object. :const:`MINYEAR` is ``1``." @@ -183,7 +177,7 @@ msgstr "" "O menor número de ano permitido em um objeto :class:`date` ou :class:`." "datetime`. :const:`MINYEAR` é ``1``." -#: ../../library/datetime.rst:81 +#: ../../library/datetime.rst:84 msgid "" "The largest year number allowed in a :class:`date` or :class:`.datetime` " "object. :const:`MAXYEAR` is ``9999``." @@ -191,33 +185,33 @@ msgstr "" "O maior número de ano permitido no objeto :class:`date` ou :class:`." "datetime`. :const:`MAXYER` é ``9999``." -#: ../../library/datetime.rst:85 +#: ../../library/datetime.rst:88 msgid "Available Types" msgstr "Tipos disponíveis" -#: ../../library/datetime.rst:90 +#: ../../library/datetime.rst:93 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`." 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:98 +#: ../../library/datetime.rst:101 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`." +"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`." 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`." -#: ../../library/datetime.rst:107 +#: ../../library/datetime.rst:110 msgid "" "A combination of a date and a time. Attributes: :attr:`year`, :attr:" "`month`, :attr:`day`, :attr:`hour`, :attr:`minute`, :attr:`second`, :attr:" @@ -225,9 +219,9 @@ msgid "" 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`." +"`microsecond` e :attr:`.tzinfo`." -#: ../../library/datetime.rst:115 +#: ../../library/datetime.rst:118 msgid "" "A duration expressing the difference between two :class:`date`, :class:`." "time`, or :class:`.datetime` instances to microsecond resolution." @@ -235,7 +229,7 @@ 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." -#: ../../library/datetime.rst:122 +#: ../../library/datetime.rst:125 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 " @@ -247,7 +241,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:130 +#: ../../library/datetime.rst:133 msgid "" "A class that implements the :class:`tzinfo` abstract base class as a fixed " "offset from the UTC." @@ -255,19 +249,19 @@ msgstr "" "Uma classe que implementa a classe base abstrata :class:`tzinfo` como uma " "diferença fixa do UTC." -#: ../../library/datetime.rst:135 ../../library/datetime.rst:153 +#: ../../library/datetime.rst:138 ../../library/datetime.rst:156 msgid "Objects of these types are immutable." msgstr "Objetos desse tipo são imutáveis." -#: ../../library/datetime.rst:137 +#: ../../library/datetime.rst:140 msgid "Subclass relationships::" msgstr "Relacionamentos de subclasse::" -#: ../../library/datetime.rst:148 +#: ../../library/datetime.rst:151 msgid "Common Properties" msgstr "Propriedades Comuns" -#: ../../library/datetime.rst:150 +#: ../../library/datetime.rst:153 msgid "" "The :class:`date`, :class:`.datetime`, :class:`.time`, and :class:`timezone` " "types share these common features:" @@ -275,15 +269,15 @@ msgstr "" "Os tipos :class:`date`, :class:`.datetime`, :class:`.time` e :class:" "`timezone` compartilham esses recursos comuns:" -#: ../../library/datetime.rst:154 +#: ../../library/datetime.rst:157 msgid "" -"Objects of these types are hashable, meaning that they can be used as " -"dictionary keys." +"Objects of these types are :term:`hashable`, meaning that they can be used " +"as dictionary keys." msgstr "" -"Objetos desses tipos são hasheáveis, o que significa que podem ser usados " -"como chaves de dicionário." +"Objetos desses tipos são :term:`hasheáveis `, o que significa que " +"podem ser usados como chaves de dicionário." -#: ../../library/datetime.rst:156 +#: ../../library/datetime.rst:159 msgid "" "Objects of these types support efficient pickling via the :mod:`pickle` " "module." @@ -291,58 +285,58 @@ msgstr "" "Objetos desse tipo suportam decapagem eficiente através do módulo :mod:" "`pickle`." -#: ../../library/datetime.rst:159 +#: ../../library/datetime.rst:162 msgid "Determining if an Object is Aware or Naive" msgstr "Determinando se um Objeto é Consciente ou Ingênuo" -#: ../../library/datetime.rst:161 +#: ../../library/datetime.rst:164 msgid "Objects of the :class:`date` type are always naive." msgstr "Objetos do tipo :class:`date` são sempre ingênuos." -#: ../../library/datetime.rst:163 +#: ../../library/datetime.rst:166 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:165 +#: ../../library/datetime.rst:168 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:167 +#: ../../library/datetime.rst:170 msgid "``d.tzinfo`` is not ``None``" msgstr "``d.tzinfo`` não é ``None``" -#: ../../library/datetime.rst:168 +#: ../../library/datetime.rst:171 msgid "``d.tzinfo.utcoffset(d)`` does not return ``None``" msgstr "``d.tzinfo.utcoffset(d)`` não retorna ``None``" -#: ../../library/datetime.rst:170 +#: ../../library/datetime.rst:173 msgid "Otherwise, *d* is naive." msgstr "Caso contrário, *d* é ingênuo." -#: ../../library/datetime.rst:172 +#: ../../library/datetime.rst:175 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:174 +#: ../../library/datetime.rst:177 msgid "``t.tzinfo`` is not ``None``" msgstr "``t.tzinfo`` não é ``None``" -#: ../../library/datetime.rst:175 +#: ../../library/datetime.rst:178 msgid "``t.tzinfo.utcoffset(None)`` does not return ``None``." msgstr "``t.tzinfo.utcoffset(None)`` não retorna ``None``." -#: ../../library/datetime.rst:177 +#: ../../library/datetime.rst:180 msgid "Otherwise, *t* is naive." msgstr "Caso contrário, *t* é ingênuo." -#: ../../library/datetime.rst:179 +#: ../../library/datetime.rst:182 msgid "" "The distinction between aware and naive doesn't apply to :class:`timedelta` " "objects." @@ -350,11 +344,11 @@ msgstr "" "A distinção entre consciente e ingênuo não se aplica a objetos :class:" "`timedelta`." -#: ../../library/datetime.rst:185 +#: ../../library/datetime.rst:188 msgid ":class:`timedelta` Objects" msgstr "Objetos :class:`timedelta`" -#: ../../library/datetime.rst:187 +#: ../../library/datetime.rst:190 msgid "" "A :class:`timedelta` object represents a duration, the difference between " "two dates or times." @@ -362,7 +356,7 @@ msgstr "" "O objeto :class:`timedelta` representa uma duração, a diferença entre duas " "datas ou horas." -#: ../../library/datetime.rst:192 +#: ../../library/datetime.rst:195 msgid "" "All arguments are optional and default to ``0``. Arguments may be integers " "or floats, and may be positive or negative." @@ -370,31 +364,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:195 +#: ../../library/datetime.rst:198 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:198 +#: ../../library/datetime.rst:201 msgid "A millisecond is converted to 1000 microseconds." msgstr "Um milissegundo é convertido em 1000 microssegundos." -#: ../../library/datetime.rst:199 +#: ../../library/datetime.rst:202 msgid "A minute is converted to 60 seconds." msgstr "Um minuto é convertido em 60 segundos." -#: ../../library/datetime.rst:200 +#: ../../library/datetime.rst:203 msgid "An hour is converted to 3600 seconds." msgstr "Uma hora é convertida em 3600 segundos." -#: ../../library/datetime.rst:201 +#: ../../library/datetime.rst:204 msgid "A week is converted to 7 days." msgstr "Uma semana é convertida para 7 dias." -#: ../../library/datetime.rst:203 +#: ../../library/datetime.rst:206 msgid "" "and days, seconds and microseconds are then normalized so that the " "representation is unique, with" @@ -402,29 +396,29 @@ msgstr "" "e dias, segundos e microssegundos são normalizados para que a representação " "seja única, com" -#: ../../library/datetime.rst:206 +#: ../../library/datetime.rst:209 msgid "``0 <= microseconds < 1000000``" msgstr "``0 <= microseconds < 1000000``" -#: ../../library/datetime.rst:207 +#: ../../library/datetime.rst:210 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:208 +#: ../../library/datetime.rst:211 msgid "``-999999999 <= days <= 999999999``" msgstr "``-999999999 <= days <= 999999999``" -#: ../../library/datetime.rst:210 +#: ../../library/datetime.rst:213 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:228 +#: ../../library/datetime.rst:231 msgid "" "If any argument is a float and there are fractional microseconds, the " "fractional microseconds left over from all arguments are combined and their " @@ -439,15 +433,15 @@ msgstr "" "argumento é ponto flutuante, os processos de conversão e normalização são " "exatos (nenhuma informação é perdida)." -#: ../../library/datetime.rst:235 +#: ../../library/datetime.rst:238 msgid "" "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:238 +#: ../../library/datetime.rst:241 msgid "" "Note that normalization of negative values may be surprising at first. For " "example::" @@ -455,17 +449,17 @@ msgstr "" "Observe que a normalização de valores negativos pode ser surpreendente a " "princípio. Por exemplo::" -#: ../../library/datetime.rst:247 ../../library/datetime.rst:541 -#: ../../library/datetime.rst:1048 ../../library/datetime.rst:1666 -#: ../../library/datetime.rst:2260 +#: ../../library/datetime.rst:250 ../../library/datetime.rst:544 +#: ../../library/datetime.rst:1051 ../../library/datetime.rst:1669 +#: ../../library/datetime.rst:2262 msgid "Class attributes:" msgstr "Atributos de classe:" -#: ../../library/datetime.rst:251 +#: ../../library/datetime.rst:254 msgid "The most negative :class:`timedelta` object, ``timedelta(-999999999)``." msgstr "O mais negativo objeto :class:`timedelta`, ``timedelta(-999999999)``." -#: ../../library/datetime.rst:256 +#: ../../library/datetime.rst:259 msgid "" "The most positive :class:`timedelta` object, ``timedelta(days=999999999, " "hours=23, minutes=59, seconds=59, microseconds=999999)``." @@ -473,7 +467,7 @@ msgstr "" "O mais positivo objeto :class:`timedelta`, ``timedelta(days=999999999, " "hours=23, minutes=59, seconds=59, microseconds=999999)``." -#: ../../library/datetime.rst:262 +#: ../../library/datetime.rst:265 msgid "" "The smallest possible difference between non-equal :class:`timedelta` " "objects, ``timedelta(microseconds=1)``." @@ -481,7 +475,7 @@ msgstr "" "A menor diferença possível entre objetos não iguais :class:`timedelta`, " "``timedelta(microseconds=1)``." -#: ../../library/datetime.rst:265 +#: ../../library/datetime.rst:268 msgid "" "Note that, because of normalization, ``timedelta.max`` > ``-timedelta.min``. " "``-timedelta.max`` is not representable as a :class:`timedelta` object." @@ -489,63 +483,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:268 ../../library/datetime.rst:559 -#: ../../library/datetime.rst:1068 ../../library/datetime.rst:1686 +#: ../../library/datetime.rst:271 ../../library/datetime.rst:562 +#: ../../library/datetime.rst:1071 ../../library/datetime.rst:1689 msgid "Instance attributes (read-only):" msgstr "Atributos de instância (somente leitura):" -#: ../../library/datetime.rst:271 +#: ../../library/datetime.rst:274 msgid "Attribute" msgstr "Atributo" -#: ../../library/datetime.rst:271 +#: ../../library/datetime.rst:274 msgid "Value" msgstr "Valor" -#: ../../library/datetime.rst:273 +#: ../../library/datetime.rst:276 msgid "``days``" msgstr "``days``" -#: ../../library/datetime.rst:273 +#: ../../library/datetime.rst:276 msgid "Between -999999999 and 999999999 inclusive" msgstr "Entre -999999999 e 999999999 inclusive" -#: ../../library/datetime.rst:275 +#: ../../library/datetime.rst:278 msgid "``seconds``" msgstr "``seconds``" -#: ../../library/datetime.rst:275 +#: ../../library/datetime.rst:278 msgid "Between 0 and 86399 inclusive" msgstr "Entre 0 e 86399 inclusive" -#: ../../library/datetime.rst:277 +#: ../../library/datetime.rst:280 msgid "``microseconds``" msgstr "``microseconds``" -#: ../../library/datetime.rst:277 +#: ../../library/datetime.rst:280 msgid "Between 0 and 999999 inclusive" msgstr "Entre 0 e 999999 inclusive" -#: ../../library/datetime.rst:280 ../../library/datetime.rst:576 -#: ../../library/datetime.rst:1121 +#: ../../library/datetime.rst:283 ../../library/datetime.rst:579 +#: ../../library/datetime.rst:1124 msgid "Supported operations:" msgstr "Operações suportadas:" -#: ../../library/datetime.rst:285 ../../library/datetime.rst:579 -#: ../../library/datetime.rst:1124 +#: ../../library/datetime.rst:288 ../../library/datetime.rst:582 +#: ../../library/datetime.rst:1127 msgid "Operation" msgstr "Operação" -#: ../../library/datetime.rst:285 ../../library/datetime.rst:579 -#: ../../library/datetime.rst:1124 +#: ../../library/datetime.rst:288 ../../library/datetime.rst:582 +#: ../../library/datetime.rst:1127 msgid "Result" msgstr "Resultado" -#: ../../library/datetime.rst:287 +#: ../../library/datetime.rst:290 msgid "``t1 = t2 + t3``" msgstr "``t1 = t2 + t3``" -#: ../../library/datetime.rst:287 +#: ../../library/datetime.rst:290 msgid "" "Sum of *t2* and *t3*. Afterwards *t1*-*t2* == *t3* and *t1*-*t3* == *t2* are " "true. (1)" @@ -553,11 +547,11 @@ msgstr "" "Soma de *t2* e *t3*. Depois *t1*-*t2* == *t3* e *t1*-*t3* == *t2* são " "verdadeiros. (1)" -#: ../../library/datetime.rst:290 +#: ../../library/datetime.rst:293 msgid "``t1 = t2 - t3``" msgstr "``t1 = t2 - t3``" -#: ../../library/datetime.rst:290 +#: ../../library/datetime.rst:293 msgid "" "Difference of *t2* and *t3*. Afterwards *t1* == *t2* - *t3* and *t2* == *t1* " "+ *t3* are true. (1)(6)" @@ -565,11 +559,11 @@ msgstr "" "Diferença de *t2* e *t3*. Depois *t1* == *t2* - *t3* e *t2* == *t1* + *t3* " "são verdadeiros (1)(6)" -#: ../../library/datetime.rst:294 +#: ../../library/datetime.rst:297 msgid "``t1 = t2 * i or t1 = i * t2``" msgstr "``t1 = t2 * i or t1 = i * t2``" -#: ../../library/datetime.rst:294 +#: ../../library/datetime.rst:297 msgid "" "Delta multiplied by an integer. Afterwards *t1* // i == *t2* is true, " "provided ``i != 0``." @@ -577,15 +571,15 @@ msgstr "" "Delta multiplicado por um número inteiro. Depois *t1* // i == *t2* é " "verdadeiro, desde que ``i != 0``." -#: ../../library/datetime.rst:298 +#: ../../library/datetime.rst:301 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:301 +#: ../../library/datetime.rst:304 msgid "``t1 = t2 * f or t1 = f * t2``" msgstr "``t1 = t2 * f or t1 = f * t2``" -#: ../../library/datetime.rst:301 +#: ../../library/datetime.rst:304 msgid "" "Delta multiplied by a float. The result is rounded to the nearest multiple " "of timedelta.resolution using round-half-to-even." @@ -594,11 +588,11 @@ msgstr "" "para o múltiplo mais próximo de timedelta.resolution usando a metade da " "metade para o par." -#: ../../library/datetime.rst:305 +#: ../../library/datetime.rst:308 msgid "``f = t2 / t3``" msgstr "``f = t2 / t3``" -#: ../../library/datetime.rst:305 +#: ../../library/datetime.rst:308 msgid "" "Division (3) of overall duration *t2* by interval unit *t3*. Returns a :" "class:`float` object." @@ -606,11 +600,11 @@ msgstr "" "Divisão (3) da duração total *t2* por unidade de intervalo *t3*. Retorna um " "objeto :class:`float`." -#: ../../library/datetime.rst:309 +#: ../../library/datetime.rst:312 msgid "``t1 = t2 / f or t1 = t2 / i``" msgstr "``t1 = t2 / f or t1 = t2 / i``" -#: ../../library/datetime.rst:309 +#: ../../library/datetime.rst:312 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." @@ -619,11 +613,11 @@ msgstr "" "múltiplo mais próximo de timedelta.resolution usando a metade da metade para " "o par." -#: ../../library/datetime.rst:313 +#: ../../library/datetime.rst:316 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:313 +#: ../../library/datetime.rst:316 msgid "" "The floor is computed and the remainder (if any) is thrown away. In the " "second case, an integer is returned. (3)" @@ -631,39 +625,39 @@ msgstr "" "O piso é calculado e o restante (se houver) é jogado fora. No segundo caso, " "um número inteiro é retornado. (3)" -#: ../../library/datetime.rst:317 +#: ../../library/datetime.rst:320 msgid "``t1 = t2 % t3``" msgstr "``t1 = t2 % t3``" -#: ../../library/datetime.rst:317 +#: ../../library/datetime.rst:320 msgid "The remainder is computed as a :class:`timedelta` object. (3)" msgstr "O restante é calculado como um objeto :class:`timedelta`. (3)" -#: ../../library/datetime.rst:320 +#: ../../library/datetime.rst:323 msgid "``q, r = divmod(t1, t2)``" msgstr "``q, r = divmod(t1, t2)``" -#: ../../library/datetime.rst:320 +#: ../../library/datetime.rst:323 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:325 +#: ../../library/datetime.rst:328 msgid "``+t1``" msgstr "``+t1``" -#: ../../library/datetime.rst:325 +#: ../../library/datetime.rst:328 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:328 +#: ../../library/datetime.rst:331 msgid "``-t1``" msgstr "``-t1``" -#: ../../library/datetime.rst:328 +#: ../../library/datetime.rst:331 msgid "" "equivalent to :class:`timedelta`\\ (-*t1.days*, -*t1.seconds*, -*t1." "microseconds*), and to *t1*\\* -1. (1)(4)" @@ -671,11 +665,11 @@ msgstr "" "equivalente a :class:`timedelta`\\ (-*t1.days*, -*t1.seconds*, -*t1." "microseconds*), e a *t1*\\* -1. (1)(4)" -#: ../../library/datetime.rst:333 +#: ../../library/datetime.rst:336 msgid "``abs(t)``" msgstr "``abs(t)``" -#: ../../library/datetime.rst:333 +#: ../../library/datetime.rst:336 msgid "" "equivalent to +\\ *t* when ``t.days >= 0``, and to -*t* when ``t.days < 0``. " "(2)" @@ -683,11 +677,11 @@ msgstr "" "equivalente a + \\ *t* quando ``t.days >= 0``, e a - *t* quando ``t.days < " "0``. (2)" -#: ../../library/datetime.rst:336 +#: ../../library/datetime.rst:339 msgid "``str(t)``" msgstr "``str(t)``" -#: ../../library/datetime.rst:336 +#: ../../library/datetime.rst:339 msgid "" "Returns a string in the form ``[D day[s], ][H]H:MM:SS[.UUUUUU]``, where D is " "negative for negative ``t``. (5)" @@ -695,11 +689,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:340 +#: ../../library/datetime.rst:343 msgid "``repr(t)``" msgstr "``repr(t)``" -#: ../../library/datetime.rst:340 +#: ../../library/datetime.rst:343 msgid "" "Returns a string representation of the :class:`timedelta` object as a " "constructor call with canonical attribute values." @@ -707,29 +701,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:346 ../../library/datetime.rst:593 -#: ../../library/datetime.rst:2472 +#: ../../library/datetime.rst:349 ../../library/datetime.rst:596 +#: ../../library/datetime.rst:2475 msgid "Notes:" msgstr "Notas:" -#: ../../library/datetime.rst:349 +#: ../../library/datetime.rst:352 msgid "This is exact but may overflow." msgstr "Isso é exato, mas pode transbordar." -#: ../../library/datetime.rst:352 +#: ../../library/datetime.rst:355 msgid "This is exact and cannot overflow." msgstr "Isso é exato e não pode transbordar." -#: ../../library/datetime.rst:355 +#: ../../library/datetime.rst:358 msgid "Division by 0 raises :exc:`ZeroDivisionError`." msgstr "A divisão por 0 levanta :exc:`ZeroDivisionError`." -#: ../../library/datetime.rst:358 +#: ../../library/datetime.rst:361 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:361 +#: ../../library/datetime.rst:364 msgid "" "String representations of :class:`timedelta` objects are normalized " "similarly to their internal representation. This leads to somewhat unusual " @@ -739,7 +733,7 @@ msgstr "" "de maneira semelhante à sua representação interna. Isso leva a resultados um " "tanto incomuns para timedeltas negativos. Por exemplo::" -#: ../../library/datetime.rst:371 +#: ../../library/datetime.rst:374 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 " @@ -749,7 +743,7 @@ msgstr "" "quando t3 for igual a ``timedelta.max``; nesse caso, o primeiro produzirá um " "resultado enquanto o último transbordará." -#: ../../library/datetime.rst:375 +#: ../../library/datetime.rst:378 msgid "" "In addition to the operations listed above, :class:`timedelta` objects " "support certain additions and subtractions with :class:`date` and :class:`." @@ -759,7 +753,7 @@ msgstr "" "certas adições e subtrações com os objetos :class:`date` e :class:`." "datetime` (veja abaixo)." -#: ../../library/datetime.rst:379 +#: ../../library/datetime.rst:382 msgid "" "Floor division and true division of a :class:`timedelta` object by another :" "class:`timedelta` object are now supported, as are remainder operations and " @@ -768,18 +762,18 @@ msgid "" 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:386 +#: ../../library/datetime.rst:389 msgid "" "Comparisons of :class:`timedelta` objects are supported, with some caveats." msgstr "" "Comparações de objetos :class:`timedelta` são suportadas, com algumas " "ressalvas." -#: ../../library/datetime.rst:388 +#: ../../library/datetime.rst:391 msgid "" "The comparisons ``==`` or ``!=`` *always* return a :class:`bool`, no matter " "the type of the compared object::" @@ -787,7 +781,7 @@ msgstr "" "As comparações ``==`` ou ``!=`` *sempre* retornam um :class:`bool`, não " "importa o tipo do objeto comparado::" -#: ../../library/datetime.rst:399 +#: ../../library/datetime.rst:402 msgid "" "For all other comparisons (such as ``<`` and ``>``), when a :class:" "`timedelta` object is compared to an object of a different type, :exc:" @@ -797,7 +791,7 @@ msgstr "" "objeto :class:`timedelta` é comparado a um objeto de um tipo diferente, :exc:" "`TypeError` é levantada::" -#: ../../library/datetime.rst:410 +#: ../../library/datetime.rst:413 msgid "" "In Boolean contexts, a :class:`timedelta` object is considered to be true if " "and only if it isn't equal to ``timedelta(0)``." @@ -805,12 +799,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:413 ../../library/datetime.rst:622 -#: ../../library/datetime.rst:1195 ../../library/datetime.rst:1783 +#: ../../library/datetime.rst:416 ../../library/datetime.rst:625 +#: ../../library/datetime.rst:1198 ../../library/datetime.rst:1786 msgid "Instance methods:" msgstr "Métodos de instância:" -#: ../../library/datetime.rst:417 +#: ../../library/datetime.rst:420 msgid "" "Return the total number of seconds contained in the duration. Equivalent to " "``td / timedelta(seconds=1)``. For interval units other than seconds, use " @@ -821,7 +815,7 @@ msgstr "" "use a forma de divisão diretamente (por exemplo ``td / " "timedelta(microseconds=1)``)." -#: ../../library/datetime.rst:421 +#: ../../library/datetime.rst:424 msgid "" "Note that for very large time intervals (greater than 270 years on most " "platforms) this method will lose microsecond accuracy." @@ -829,33 +823,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:427 +#: ../../library/datetime.rst:430 msgid "Examples of usage: :class:`timedelta`" msgstr "Exemplos de uso: :class:`.timedelta`" -#: ../../library/datetime.rst:429 +#: ../../library/datetime.rst:432 msgid "An additional example of normalization::" msgstr "Um exemplo adicional de normalização::" -#: ../../library/datetime.rst:441 +#: ../../library/datetime.rst:444 msgid "Examples of :class:`timedelta` arithmetic::" msgstr "Exemplos de aritmética com :class:`timedelta`::" -#: ../../library/datetime.rst:460 +#: ../../library/datetime.rst:463 msgid ":class:`date` Objects" msgstr "Objetos :class:`date`" -#: ../../library/datetime.rst:462 +#: ../../library/datetime.rst:465 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:466 +#: ../../library/datetime.rst:469 msgid "" "January 1 of year 1 is called day number 1, January 2 of year 1 is called " "day number 2, and so on. [#]_" @@ -863,46 +857,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:471 +#: ../../library/datetime.rst:474 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:474 +#: ../../library/datetime.rst:477 msgid "``MINYEAR <= year <= MAXYEAR``" msgstr "``MINYEAR <= year <= MAXYEAR``" -#: ../../library/datetime.rst:475 +#: ../../library/datetime.rst:478 msgid "``1 <= month <= 12``" msgstr "``1 <= month <= 12``" -#: ../../library/datetime.rst:476 +#: ../../library/datetime.rst:479 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:478 ../../library/datetime.rst:840 +#: ../../library/datetime.rst:481 ../../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:481 ../../library/datetime.rst:845 +#: ../../library/datetime.rst:484 ../../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:485 +#: ../../library/datetime.rst:488 msgid "Return the current local date." msgstr "Retorna a data local atual." -#: ../../library/datetime.rst:487 +#: ../../library/datetime.rst:490 msgid "This is equivalent to ``date.fromtimestamp(time.time())``." msgstr "Isso é equivalente a ``date.fromtimestamp(time.time())``." -#: ../../library/datetime.rst:491 +#: ../../library/datetime.rst:494 msgid "" "Return the local date corresponding to the POSIX timestamp, such as is " "returned by :func:`time.time`." @@ -910,7 +904,7 @@ msgstr "" "Retorna a data local correspondente ao registro de data e hora do POSIX, " "como é retornado por :func:`time.time`." -#: ../../library/datetime.rst:494 +#: ../../library/datetime.rst:497 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:" @@ -919,26 +913,27 @@ msgid "" "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 timestamp 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 timestamp, os " -"segundos bissextos são ignorados por :meth:`fromtimestamp`." +"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`." -#: ../../library/datetime.rst:501 +#: ../../library/datetime.rst:504 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." msgstr "" -"Levanta :exc:`OverflowError` ao invés de :exc:`ValueError` se o timestamp " -"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` ." +"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` ." -#: ../../library/datetime.rst:510 +#: ../../library/datetime.rst:513 msgid "" "Return the date corresponding to the proleptic Gregorian ordinal, where " "January 1 of year 1 has ordinal 1." @@ -946,7 +941,7 @@ 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:513 +#: ../../library/datetime.rst:516 msgid "" ":exc:`ValueError` is raised unless ``1 <= ordinal <= date.max.toordinal()``. " "For any date *d*, ``date.fromordinal(d.toordinal()) == d``." @@ -955,7 +950,7 @@ msgstr "" "toordinal()``. Para qualquer data *d*, ``date.fromordinal(d.toordinal()) == " "d``." -#: ../../library/datetime.rst:520 +#: ../../library/datetime.rst:523 msgid "" "Return a :class:`date` corresponding to a *date_string* given in the format " "``YYYY-MM-DD``::" @@ -963,7 +958,7 @@ msgstr "" "Retorna um :class:`date` correspondendo a *date_string* fornecido no formato " "``YYYY-MM-DD``::" -#: ../../library/datetime.rst:527 +#: ../../library/datetime.rst:530 msgid "" "This is the inverse of :meth:`date.isoformat`. It only supports the format " "``YYYY-MM-DD``." @@ -971,7 +966,7 @@ msgstr "" "Isto é o inverso de :meth:`date.isoformat`. Ele suporta apenas o formato " "``YYYY-MM-DD``." -#: ../../library/datetime.rst:535 +#: ../../library/datetime.rst:538 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." @@ -981,15 +976,15 @@ msgstr "" "especificada por year, week e day. Esta é o inverso da função :meth:`date." "isocalendar`." -#: ../../library/datetime.rst:545 +#: ../../library/datetime.rst:548 msgid "The earliest representable date, ``date(MINYEAR, 1, 1)``." msgstr "A data representável mais antiga, ``date(MINYEAR, 1, 1)``." -#: ../../library/datetime.rst:550 +#: ../../library/datetime.rst:553 msgid "The latest representable date, ``date(MAXYEAR, 12, 31)``." msgstr "A data representável mais tardia, ``date(MAXYEAR, 12, 31)``." -#: ../../library/datetime.rst:555 +#: ../../library/datetime.rst:558 msgid "" "The smallest possible difference between non-equal date objects, " "``timedelta(days=1)``." @@ -997,47 +992,47 @@ msgstr "" "A menor diferença possível entre objetos date não iguais, " "``timedelta(days=1)``." -#: ../../library/datetime.rst:563 ../../library/datetime.rst:1072 +#: ../../library/datetime.rst:566 ../../library/datetime.rst:1075 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:568 ../../library/datetime.rst:1077 +#: ../../library/datetime.rst:571 ../../library/datetime.rst:1080 msgid "Between 1 and 12 inclusive." -msgstr "Entre 1 e 12 incluindo extremos." +msgstr "Entre 1 e 12, incluindo os extremos." -#: ../../library/datetime.rst:573 ../../library/datetime.rst:1082 +#: ../../library/datetime.rst:576 ../../library/datetime.rst:1085 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:581 +#: ../../library/datetime.rst:584 msgid "``date2 = date1 + timedelta``" msgstr "``date2 = date1 + timedelta``" -#: ../../library/datetime.rst:581 -msgid "*date2* is ``timedelta.days`` days removed from *date1*. (1)" -msgstr "*date2* é ``timedelta.days`` dias removidos de *date1*. (1)" - #: ../../library/datetime.rst:584 +msgid "*date2* will be ``timedelta.days`` days after *date1*. (1)" +msgstr "*date2* terá ``timedelta.days`` dias após *date1*. (1)" + +#: ../../library/datetime.rst:587 msgid "``date2 = date1 - timedelta``" msgstr "``date2 = date1 - timedelta``" -#: ../../library/datetime.rst:584 +#: ../../library/datetime.rst:587 msgid "Computes *date2* such that ``date2 + timedelta == date1``. (2)" msgstr "Computa *date2* de modo que ``date2 + timedelta == date1``. (2)" -#: ../../library/datetime.rst:587 +#: ../../library/datetime.rst:590 msgid "``timedelta = date1 - date2``" msgstr "``timedelta = date1 - date2``" -#: ../../library/datetime.rst:587 ../../library/datetime.rst:1130 +#: ../../library/datetime.rst:590 ../../library/datetime.rst:1133 msgid "\\(3)" msgstr "\\(3)" -#: ../../library/datetime.rst:589 +#: ../../library/datetime.rst:592 msgid "``date1 < date2``" msgstr "``date1 < date2``" -#: ../../library/datetime.rst:589 +#: ../../library/datetime.rst:592 msgid "" "*date1* is considered less than *date2* when *date1* precedes *date2* in " "time. (4)" @@ -1045,7 +1040,7 @@ msgstr "" "*date1* é considerada menor que *date2* quando *date1* precede *date2* no " "tempo. (4)" -#: ../../library/datetime.rst:596 +#: ../../library/datetime.rst:599 msgid "" "*date2* is moved forward in time if ``timedelta.days > 0``, or backward if " "``timedelta.days < 0``. Afterward ``date2 - date1 == timedelta.days``. " @@ -1055,15 +1050,15 @@ msgid "" 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`." +"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:603 +#: ../../library/datetime.rst:606 msgid "``timedelta.seconds`` and ``timedelta.microseconds`` are ignored." msgstr "``timedelta.seconds`` e ``timedelta.microseconds`` são ignoradas." -#: ../../library/datetime.rst:606 +#: ../../library/datetime.rst:609 msgid "" "This is exact, and cannot overflow. timedelta.seconds and timedelta." "microseconds are 0, and date2 + timedelta == date1 after." @@ -1071,7 +1066,7 @@ msgstr "" "Isso é exato e não pode estourar. ``timedelta.seconds`` e ``timedelta." "microseconds`` são ``0``, e ``date2 + timedelta == date1`` depois." -#: ../../library/datetime.rst:610 +#: ../../library/datetime.rst:613 msgid "" "In other words, ``date1 < date2`` if and only if ``date1.toordinal() < date2." "toordinal()``. Date comparison raises :exc:`TypeError` if the other " @@ -1093,13 +1088,13 @@ msgstr "" "`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:620 +#: ../../library/datetime.rst:623 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:626 +#: ../../library/datetime.rst:629 msgid "" "Return a date with the same value, except for those parameters given new " "values by whichever keyword arguments are specified." @@ -1107,11 +1102,11 @@ 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:629 ../../library/datetime.rst:1826 +#: ../../library/datetime.rst:632 ../../library/datetime.rst:1829 msgid "Example::" msgstr "Exemplo::" -#: ../../library/datetime.rst:639 ../../library/datetime.rst:1308 +#: ../../library/datetime.rst:642 ../../library/datetime.rst:1311 msgid "" "Return a :class:`time.struct_time` such as returned by :func:`time." "localtime`." @@ -1119,17 +1114,16 @@ msgstr "" "Retorna uma :class:`time.struct_time` tal como retornado por :func:`time." "localtime`." -#: ../../library/datetime.rst:641 +#: ../../library/datetime.rst:644 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:643 ../../library/datetime.rst:1310 +#: ../../library/datetime.rst:646 ../../library/datetime.rst:1313 msgid "``d.timetuple()`` is equivalent to::" msgstr "``d.timetuple()`` é equivalente a::" -#: ../../library/datetime.rst:647 +#: ../../library/datetime.rst:650 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." @@ -1137,17 +1131,17 @@ 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:653 +#: ../../library/datetime.rst:656 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``." 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:660 +#: ../../library/datetime.rst:663 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 :" @@ -1157,7 +1151,7 @@ msgstr "" "exemplo, ``date(2002, 12, 4).weekday() == 2``, uma Quarta-feira. Veja " "também :meth:`isoweekday`." -#: ../../library/datetime.rst:667 +#: ../../library/datetime.rst:670 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 :" @@ -1167,7 +1161,7 @@ msgstr "" "exemplo, ``date(2002, 12, 4).isoweekday() == 3``, uma Quarta-feira. Veja " "também :meth:`weekday`, :meth:`isocalendar`." -#: ../../library/datetime.rst:674 +#: ../../library/datetime.rst:677 msgid "" "Return a :term:`named tuple` object with three components: ``year``, " "``week`` and ``weekday``." @@ -1175,14 +1169,14 @@ msgstr "" "Retorna um objeto :term:`tupla nomeada ` com três componentes: " "``year``, ``week`` e ``weekday``." -#: ../../library/datetime.rst:677 +#: ../../library/datetime.rst:680 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:679 +#: ../../library/datetime.rst:682 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 " @@ -1196,7 +1190,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:684 +#: ../../library/datetime.rst:687 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::" @@ -1205,34 +1199,34 @@ 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:693 +#: ../../library/datetime.rst:696 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:698 +#: ../../library/datetime.rst:701 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:704 +#: ../../library/datetime.rst:707 msgid "This is the inverse of :meth:`date.fromisoformat`." msgstr "Esse é o inverso do método :meth:`.date.isoformat`." -#: ../../library/datetime.rst:708 +#: ../../library/datetime.rst:711 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:713 +#: ../../library/datetime.rst:716 msgid "Return a string representing the date::" msgstr "Retorna uma string representando a data::" -#: ../../library/datetime.rst:719 ../../library/datetime.rst:1494 +#: ../../library/datetime.rst:722 ../../library/datetime.rst:1497 msgid "``d.ctime()`` is equivalent to::" msgstr "``d.ctime()`` é equivalente a::" -#: ../../library/datetime.rst:723 +#: ../../library/datetime.rst:726 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 " @@ -1242,7 +1236,7 @@ msgstr "" "função :func:`time.ctime`, mas não pelo método :meth:`.date.ctime`) se " "conforma com o padrão C." -#: ../../library/datetime.rst:730 +#: ../../library/datetime.rst:733 msgid "" "Return a string representing the date, controlled by an explicit format " "string. Format codes referring to hours, minutes or seconds will see 0 " @@ -1255,7 +1249,7 @@ msgstr "" "formatação, veja :ref:`Comportamento de strftime e strptime`." -#: ../../library/datetime.rst:738 +#: ../../library/datetime.rst:741 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 `." -#: ../../library/datetime.rst:745 +#: ../../library/datetime.rst:748 msgid "Examples of Usage: :class:`date`" msgstr "Exemplos de uso: :class:`.date`" -#: ../../library/datetime.rst:747 +#: ../../library/datetime.rst:750 msgid "Example of counting days to an event::" msgstr "Exemplo de contagem de dias para um evento::" -#: ../../library/datetime.rst:765 +#: ../../library/datetime.rst:768 msgid "More examples of working with :class:`date`:" msgstr "Mais exemplos de uso da classe :class:`.date`:" -#: ../../library/datetime.rst:814 +#: ../../library/datetime.rst:817 msgid ":class:`.datetime` Objects" msgstr "Objetos :class:`.datetime`" -#: ../../library/datetime.rst:816 +#: ../../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." @@ -1292,23 +1286,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:819 +#: ../../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 " +"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` assume que existem exatamente 3600\\*24 " +"class:`.time`, :class:`.datetime` presume que existem exatamente 3600\\*24 " "segundos em cada dia." -#: ../../library/datetime.rst:823 +#: ../../library/datetime.rst:826 msgid "Constructor:" msgstr "Construtor:" -#: ../../library/datetime.rst:827 +#: ../../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 " @@ -1318,58 +1312,58 @@ msgstr "" "``None``, ou uma instância de subclasse de :class:`tzinfo`. Os argumentos " "remanescentes devem ser inteiros nos seguintes intervalos:" -#: ../../library/datetime.rst:831 +#: ../../library/datetime.rst:834 msgid "``MINYEAR <= year <= MAXYEAR``," msgstr "``MINYEAR <= year <= MAXYEAR``," -#: ../../library/datetime.rst:832 +#: ../../library/datetime.rst:835 msgid "``1 <= month <= 12``," msgstr "``1 <= month <= 12``," -#: ../../library/datetime.rst:833 +#: ../../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:834 ../../library/datetime.rst:1657 +#: ../../library/datetime.rst:837 ../../library/datetime.rst:1660 msgid "``0 <= hour < 24``," msgstr "``0 <= hour < 24``," -#: ../../library/datetime.rst:835 ../../library/datetime.rst:1658 +#: ../../library/datetime.rst:838 ../../library/datetime.rst:1661 msgid "``0 <= minute < 60``," msgstr "``0 <= minute < 60``," -#: ../../library/datetime.rst:836 ../../library/datetime.rst:1659 +#: ../../library/datetime.rst:839 ../../library/datetime.rst:1662 msgid "``0 <= second < 60``," msgstr "``0 <= second < 60``," -#: ../../library/datetime.rst:837 ../../library/datetime.rst:1660 +#: ../../library/datetime.rst:840 ../../library/datetime.rst:1663 msgid "``0 <= microsecond < 1000000``," msgstr "``0 <= microsecond < 1000000``," -#: ../../library/datetime.rst:838 ../../library/datetime.rst:1661 +#: ../../library/datetime.rst:841 ../../library/datetime.rst:1664 msgid "``fold in [0, 1]``." msgstr "``fold in [0, 1]``." -#: ../../library/datetime.rst:842 ../../library/datetime.rst:1229 -#: ../../library/datetime.rst:1793 +#: ../../library/datetime.rst:845 ../../library/datetime.rst:1232 +#: ../../library/datetime.rst:1796 msgid "Added the ``fold`` argument." msgstr "Adicionado o argumento ``fold``." -#: ../../library/datetime.rst:849 +#: ../../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:851 +#: ../../library/datetime.rst:854 msgid "Equivalent to::" msgstr "Equivalente a::" -#: ../../library/datetime.rst:855 +#: ../../library/datetime.rst:858 msgid "See also :meth:`now`, :meth:`fromtimestamp`." msgstr "Veja também :meth:`now`, :meth:`fromtimestamp`." -#: ../../library/datetime.rst:857 +#: ../../library/datetime.rst:860 msgid "" "This method is functionally equivalent to :meth:`now`, but without a ``tz`` " "parameter." @@ -1377,11 +1371,11 @@ msgstr "" "Este método é funcionalmente equivalente a :meth:`now`, mas sem um parâmetro " "``tz``." -#: ../../library/datetime.rst:862 +#: ../../library/datetime.rst:865 msgid "Return the current local date and time." msgstr "Retorna a data e hora local atual." -#: ../../library/datetime.rst:864 +#: ../../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 " @@ -1390,10 +1384,11 @@ msgid "" 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 timestamp :func:`time.time` (por exemplo, isto pode ser " -"possível em plataformas que fornecem a função C :c:func:`gettimeofday`)." +"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`)." -#: ../../library/datetime.rst:870 +#: ../../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." @@ -1402,15 +1397,15 @@ msgstr "" "class:`tzinfo`, e a data e hora local atual são convertidas para o fuso " "horário de *tz*." -#: ../../library/datetime.rst:873 +#: ../../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:878 +#: ../../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:880 +#: ../../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 " @@ -1420,7 +1415,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:886 +#: ../../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 " @@ -1433,27 +1428,29 @@ msgstr "" "recomendada para criar um objeto representando a hora local em UTC é " "chamando ``datetime.now(timezone.utc)``." -#: ../../library/datetime.rst:894 +#: ../../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 " "not specified, the timestamp is converted to the platform's local date and " "time, and the returned :class:`.datetime` object is naive." msgstr "" -"Retorna a data e hora local correspondente ao timestamp POSIX, como é " -"retornado por :func:`time.time`. Se o argumento opcional *tz* é ``None`` ou " -"não especificado, o timestamp é convertido para a data e hora local da " -"plataforma, e o objeto :class:`.datetime` retornado é ingênuo." +"Retorna a data e hora local correspondente ao registro de data e hora POSIX, " +"como é retornado por :func:`time.time`. Se o argumento opcional *tz* é " +"``None`` ou não especificado, o registro de data e hora é convertido para a " +"data e hora local da plataforma, e o objeto :class:`.datetime` retornado é " +"ingênuo." -#: ../../library/datetime.rst:899 +#: ../../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 timestamp é convertido para o fuso horário de *tz*." +"class:`tzinfo`, e o registro de data e hora é convertido para o fuso horário " +"de *tz*." -#: ../../library/datetime.rst:902 +#: ../../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` " @@ -1465,68 +1462,70 @@ msgid "" "a second that yield identical :class:`.datetime` objects. This method is " "preferred over :meth:`utcfromtimestamp`." msgstr "" -":meth:`fromtimestamp` pode levantar :exc:`OverflowError`, se o timestamp " -"estiver fora do intervalo de valores suportados pelas funções em C :c:func:" -"`localtime` ou :c:func:`gmtime` da plataforma, e ocorrer uma falha de :exc:" -"`OSError` em :c:func:`localtime` ou :c:func:`gmtime`. É comum para isso ser " -"restrito aos anos 1970 até 2038. Perceba que em sistemas não-POSIX que " -"incluem segundos bissextos na sua notação de timestamp, segundos bissextos " -"são ignorados por :meth:`fromtimestamp`, e então é possível ter dois " -"timestamps com diferença de um segundo que apresentam objetos :class:`." -"datetime` idênticos. Este método é preferido sobre :meth:`utcfromtimestamp`." +":meth:`fromtimestamp` pode levantar :exc:`OverflowError`, se o registro de " +"data e hora estiver fora do intervalo de valores suportados pelas funções em " +"C :c:func:`localtime` ou :c:func:`gmtime` da plataforma, e ocorrer uma falha " +"de :exc:`OSError` em :c:func:`localtime` ou :c:func:`gmtime`. É comum para " +"isso ser restrito aos anos 1970 até 2038. Perceba que em sistemas não-POSIX " +"que incluem segundos bissextos na sua notação de registro de data e hora, " +"segundos bissextos são ignorados por :meth:`fromtimestamp`, e então é " +"possível ter dois registros de data e hora com diferença de um segundo que " +"apresentam objetos :class:`.datetime` idênticos. Este método é preferido " +"sobre :meth:`utcfromtimestamp`." -#: ../../library/datetime.rst:913 +#: ../../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." msgstr "" -"Levanta um :exc:`OverflowError` ao invés de :exc:`ValueError` se o timestamp " -"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`." +"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`." -#: ../../library/datetime.rst:920 +#: ../../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:925 +#: ../../library/datetime.rst:928 msgid "" "Return the UTC :class:`.datetime` corresponding to the POSIX timestamp, " "with :attr:`.tzinfo` ``None``. (The resulting object is naive.)" msgstr "" -"Retorna o :class:`.datetime` UTC correspondente ao timestamp POSIX, com :" -"attr:`.tzinfo` setado para ``None``. (O objeto resultante é ingênuo.)" +"Retorna o :class:`.datetime` UTC correspondente ao registro de data e hora " +"POSIX, com :attr:`.tzinfo` setado para ``None``. (O objeto resultante é " +"ingênuo.)" -#: ../../library/datetime.rst:928 +#: ../../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." msgstr "" -"Isso pode levantar :exc:`OverflowError`, se o timestamp 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." +"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." -#: ../../library/datetime.rst:933 +#: ../../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`::" -#: ../../library/datetime.rst:937 +#: ../../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:942 +#: ../../library/datetime.rst:945 msgid "" "except the latter formula always supports the full years range: between :" "const:`MINYEAR` and :const:`MAXYEAR` inclusive." @@ -1534,7 +1533,7 @@ 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:947 +#: ../../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 " @@ -1545,22 +1544,23 @@ msgstr "" "Devido ao fato de objetos ``datetime`` ingênuos serem tratados por muitos " "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 timestamp específico em " -"UTC é chamando ``datetime.fromtimestamp(timestamp, tz=timezone.utc)``." +"recomendada para criar um objeto representando um registro de data e hora " +"específico em UTC é chamando ``datetime.fromtimestamp(timestamp, tz=timezone." +"utc)``." -#: ../../library/datetime.rst:953 +#: ../../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." msgstr "" -"Levanta :exc:`OverflowError` ao invés de :exc:`ValueError` se o timestamp " -"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`." +"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`." -#: ../../library/datetime.rst:962 +#: ../../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 " @@ -1574,7 +1574,7 @@ msgstr "" "horas, minutos, segundos e micro segundos do resultado são todos 0, e :attr:" "`.tzinfo` é ``None``." -#: ../../library/datetime.rst:970 +#: ../../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 " @@ -1589,7 +1589,7 @@ msgstr "" "resultado, caso contrário o atributo :attr:`~.time.tzinfo` do argumento " "*time* é usado." -#: ../../library/datetime.rst:977 +#: ../../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 " @@ -1599,11 +1599,11 @@ msgstr "" "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:982 +#: ../../library/datetime.rst:985 msgid "Added the *tzinfo* argument." msgstr "Adicionado o argumento *tzinfo*." -#: ../../library/datetime.rst:988 +#: ../../library/datetime.rst:991 msgid "" "Return a :class:`.datetime` corresponding to a *date_string* in one of the " "formats emitted by :meth:`date.isoformat` and :meth:`datetime.isoformat`." @@ -1611,15 +1611,15 @@ msgstr "" "Retorna um :class:`.datetime` correspondente ao *date_string* em um dos " "formatos emitidos pelo :meth:`date.isoformat` e :meth:`datetime.isoformat`." -#: ../../library/datetime.rst:991 +#: ../../library/datetime.rst:994 msgid "Specifically, this function supports strings in the format:" msgstr "Especificamente, essa função dá suporte a strings nesse formato:" -#: ../../library/datetime.rst:997 +#: ../../library/datetime.rst:1000 msgid "where ``*`` can match any single character." msgstr "em que ``*`` pode corresponder a qualquer caractere único." -#: ../../library/datetime.rst:1001 +#: ../../library/datetime.rst:1004 msgid "" "This does *not* support parsing arbitrary ISO 8601 strings - it is only " "intended as the inverse operation of :meth:`datetime.isoformat`. A more full-" @@ -1633,12 +1633,12 @@ msgstr "" "disponível no pacote externo `dateutil `__." -#: ../../library/datetime.rst:1006 ../../library/datetime.rst:1423 -#: ../../library/datetime.rst:1770 +#: ../../library/datetime.rst:1009 ../../library/datetime.rst:1426 +#: ../../library/datetime.rst:1773 msgid "Examples::" msgstr "Exemplos::" -#: ../../library/datetime.rst:1025 +#: ../../library/datetime.rst:1028 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 " @@ -1650,19 +1650,19 @@ msgstr "" "são preenchidos normalmente com seus valores padrões. Isso é o inverso da " "função :meth:`datetime.isocalendar`." -#: ../../library/datetime.rst:1034 +#: ../../library/datetime.rst:1037 msgid "" "Return a :class:`.datetime` corresponding to *date_string*, parsed according " "to *format*." msgstr "" "Retorna um :class:`.datetime` correspondente ao *date_string*, analisado de " -"acordo com *format*. " +"acordo com *format*." -#: ../../library/datetime.rst:1037 +#: ../../library/datetime.rst:1040 msgid "This is equivalent to::" msgstr "Isso equivale a::" -#: ../../library/datetime.rst:1041 +#: ../../library/datetime.rst:1044 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. " @@ -1675,7 +1675,7 @@ msgstr "" "formatação, veja :ref:`Comportamento de strftime() e strptime() `." -#: ../../library/datetime.rst:1052 +#: ../../library/datetime.rst:1055 msgid "" "The earliest representable :class:`.datetime`, ``datetime(MINYEAR, 1, 1, " "tzinfo=None)``." @@ -1683,7 +1683,7 @@ msgstr "" "O primeiro :class:`.datetime` representável, ``datetime(MINYEAR, 1, 1, " "tzinfo=None)``." -#: ../../library/datetime.rst:1058 +#: ../../library/datetime.rst:1061 msgid "" "The latest representable :class:`.datetime`, ``datetime(MAXYEAR, 12, 31, 23, " "59, 59, 999999, tzinfo=None)``." @@ -1691,7 +1691,7 @@ msgstr "" "O último :class:`.datetime` representável, ``datetime(MAXYEAR, 12, 31, 23, " "59, 59, 999999, tzinfo=None)``." -#: ../../library/datetime.rst:1064 +#: ../../library/datetime.rst:1067 msgid "" "The smallest possible difference between non-equal :class:`.datetime` " "objects, ``timedelta(microseconds=1)``." @@ -1699,20 +1699,20 @@ msgstr "" "A menor diferença possível entre objetos :class:`.datetime` diferentes, " "``timedelta(microseconds=1)``." -#: ../../library/datetime.rst:1087 ../../library/datetime.rst:1690 +#: ../../library/datetime.rst:1090 ../../library/datetime.rst:1693 msgid "In ``range(24)``." msgstr "No intervalo ``range(24)``." -#: ../../library/datetime.rst:1092 ../../library/datetime.rst:1097 -#: ../../library/datetime.rst:1695 ../../library/datetime.rst:1700 +#: ../../library/datetime.rst:1095 ../../library/datetime.rst:1100 +#: ../../library/datetime.rst:1698 ../../library/datetime.rst:1703 msgid "In ``range(60)``." msgstr "No intervalo ``range(60)``." -#: ../../library/datetime.rst:1102 ../../library/datetime.rst:1705 +#: ../../library/datetime.rst:1105 ../../library/datetime.rst:1708 msgid "In ``range(1000000)``." msgstr "No intervalo ``range(1000000)``." -#: ../../library/datetime.rst:1107 +#: ../../library/datetime.rst:1110 msgid "" "The object passed as the *tzinfo* argument to the :class:`.datetime` " "constructor, or ``None`` if none was passed." @@ -1720,7 +1720,7 @@ msgstr "" "O objeto passado como o argumento *tzinfo* do construtor :class:`.datetime`, " "ou ``None`` se nada foi passado." -#: ../../library/datetime.rst:1113 ../../library/datetime.rst:1716 +#: ../../library/datetime.rst:1116 ../../library/datetime.rst:1719 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 " @@ -1734,38 +1734,38 @@ msgstr "" "atual é reduzida por razões políticas.) O valor 0 (1) representa o primeiro " "(mais tarde) dos dois momentos com a mesma representação de tempo real." -#: ../../library/datetime.rst:1126 +#: ../../library/datetime.rst:1129 msgid "``datetime2 = datetime1 + timedelta``" msgstr "``datetime2 = datetime1 + timedelta``" -#: ../../library/datetime.rst:1126 ../../library/datetime.rst:2308 -#: ../../library/datetime.rst:2313 ../../library/datetime.rst:2325 -#: ../../library/datetime.rst:2330 ../../library/datetime.rst:2390 -#: ../../library/datetime.rst:2395 ../../library/datetime.rst:2399 +#: ../../library/datetime.rst:1129 ../../library/datetime.rst:2310 +#: ../../library/datetime.rst:2315 ../../library/datetime.rst:2327 +#: ../../library/datetime.rst:2332 ../../library/datetime.rst:2392 +#: ../../library/datetime.rst:2397 ../../library/datetime.rst:2401 msgid "\\(1)" msgstr "\\(1)" -#: ../../library/datetime.rst:1128 +#: ../../library/datetime.rst:1131 msgid "``datetime2 = datetime1 - timedelta``" msgstr "``datetime2 = datetime1 - timedelta``" -#: ../../library/datetime.rst:1128 ../../library/datetime.rst:2341 +#: ../../library/datetime.rst:1131 ../../library/datetime.rst:2343 msgid "\\(2)" msgstr "\\(2)" -#: ../../library/datetime.rst:1130 +#: ../../library/datetime.rst:1133 msgid "``timedelta = datetime1 - datetime2``" msgstr "``timedelta = datetime1 - datetime2``" -#: ../../library/datetime.rst:1132 +#: ../../library/datetime.rst:1135 msgid "``datetime1 < datetime2``" msgstr "``datetime1 < datetime2``" -#: ../../library/datetime.rst:1132 +#: ../../library/datetime.rst:1135 msgid "Compares :class:`.datetime` to :class:`.datetime`. (4)" msgstr "Compara um :class:`.datetime` a um :class:`.datetime`. (4)" -#: ../../library/datetime.rst:1137 +#: ../../library/datetime.rst:1140 msgid "" "datetime2 is a duration of timedelta removed from datetime1, moving forward " "in time if ``timedelta.days`` > 0, or backward if ``timedelta.days`` < 0. " @@ -1783,7 +1783,7 @@ msgstr "" "`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:1146 +#: ../../library/datetime.rst:1149 msgid "" "Computes the datetime2 such that datetime2 + timedelta == datetime1. As for " "addition, the result has the same :attr:`~.datetime.tzinfo` attribute as the " @@ -1795,7 +1795,7 @@ msgstr "" "datetime de entrada, e nenhum ajuste de fuso horário é feito mesmo que a " "entrada seja consciente disso." -#: ../../library/datetime.rst:1151 +#: ../../library/datetime.rst:1154 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 " @@ -1805,7 +1805,7 @@ 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:1155 +#: ../../library/datetime.rst:1158 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 " @@ -1817,7 +1817,7 @@ msgstr "" "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:1160 +#: ../../library/datetime.rst:1163 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 " @@ -1831,7 +1831,7 @@ msgstr "" "utcoffset()) - (b.replace(tzinfo=None) - b.utcoffset())`` exceto que a a " "implementação nunca ultrapassa o limite." -#: ../../library/datetime.rst:1166 +#: ../../library/datetime.rst:1169 msgid "" "*datetime1* is considered less than *datetime2* when *datetime1* precedes " "*datetime2* in time." @@ -1839,7 +1839,7 @@ msgstr "" "*datetime1* é considerado menor que *datetime2* quando *datetime1* precede " "*datetime2* no tempo." -#: ../../library/datetime.rst:1169 +#: ../../library/datetime.rst:1172 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 " @@ -1849,7 +1849,7 @@ msgstr "" "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." -#: ../../library/datetime.rst:1173 +#: ../../library/datetime.rst:1176 msgid "" "If both comparands are aware, and have the same :attr:`~.datetime.tzinfo` " "attribute, the common :attr:`~.datetime.tzinfo` attribute is ignored and the " @@ -1865,7 +1865,7 @@ msgstr "" "ajustados subtraindo sua diferença em UTC (obtida através de ``self." "utcoffset()``)." -#: ../../library/datetime.rst:1179 +#: ../../library/datetime.rst:1182 msgid "" "Equality comparisons between aware and naive :class:`.datetime` instances " "don't raise :exc:`TypeError`." @@ -1873,7 +1873,7 @@ msgstr "" "Comparações de igualdade entre instâncias de :class:`.datetime` conscientes " "e nativas não levantam :exc:`TypeError`." -#: ../../library/datetime.rst:1185 +#: ../../library/datetime.rst:1188 msgid "" "In order to stop comparison from falling back to the default scheme of " "comparing object addresses, datetime comparison normally raises :exc:" @@ -1895,11 +1895,11 @@ msgstr "" "`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:1199 +#: ../../library/datetime.rst:1202 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:1204 +#: ../../library/datetime.rst:1207 msgid "" "Return :class:`.time` object with same hour, minute, second, microsecond and " "fold. :attr:`.tzinfo` is ``None``. See also method :meth:`timetz`." @@ -1908,11 +1908,11 @@ msgstr "" "microssegundo e fold. O atributo :attr:`.tzinfo` é ``None``. Veja também o " "método :meth:`.timetz`." -#: ../../library/datetime.rst:1207 ../../library/datetime.rst:1216 +#: ../../library/datetime.rst:1210 ../../library/datetime.rst:1219 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:1213 +#: ../../library/datetime.rst:1216 msgid "" "Return :class:`.time` object with same hour, minute, second, microsecond, " "fold, and tzinfo attributes. See also method :meth:`time`." @@ -1920,7 +1920,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:1224 +#: ../../library/datetime.rst:1227 msgid "" "Return a datetime with the same attributes, except for those attributes " "given new values by whichever keyword arguments are specified. Note that " @@ -1933,7 +1933,7 @@ msgstr "" "um datetime ingênuo a partir de um datetime consciente, sem conversão de " "dados da data ou hora." -#: ../../library/datetime.rst:1235 +#: ../../library/datetime.rst:1238 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 " @@ -1943,7 +1943,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:1239 +#: ../../library/datetime.rst:1242 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 " @@ -1954,7 +1954,7 @@ msgstr "" "Se *self* for ingênuo, é presumido que ele representa o tempo no fuso " "horário do sistema." -#: ../../library/datetime.rst:1243 +#: ../../library/datetime.rst:1246 msgid "" "If called without arguments (or with ``tz=None``) the system local timezone " "is assumed for the target timezone. The ``.tzinfo`` attribute of the " @@ -1967,7 +1967,7 @@ msgstr "" "`timezone` com o nome da zona e um deslocamento obtido a partir do sistema " "operacional." -#: ../../library/datetime.rst:1248 +#: ../../library/datetime.rst:1251 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 " @@ -1982,7 +1982,7 @@ msgstr "" "utcoffset()`` terá os mesmos dados de data e hora que ``dt - dt." "utcoffset()``." -#: ../../library/datetime.rst:1254 +#: ../../library/datetime.rst:1257 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 " @@ -1995,7 +1995,7 @@ msgstr "" "consciente *dt* sem conversão de dados de data e hora, use ``dt." "replace(tzinfo=None)``." -#: ../../library/datetime.rst:1259 +#: ../../library/datetime.rst:1262 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`. " @@ -2006,11 +2006,11 @@ msgstr "" "`astimezone`. Ignorando erros de letras maiúsculas/minúsculas, :meth:" "`astimezone` funciona como::" -#: ../../library/datetime.rst:1271 +#: ../../library/datetime.rst:1274 msgid "*tz* now can be omitted." msgstr "*tz* agora pode ser omitido." -#: ../../library/datetime.rst:1274 +#: ../../library/datetime.rst:1277 msgid "" "The :meth:`astimezone` method can now be called on naive instances that are " "presumed to represent system local time." @@ -2018,7 +2018,7 @@ 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:1281 +#: ../../library/datetime.rst:1284 msgid "" "If :attr:`.tzinfo` is ``None``, returns ``None``, else returns ``self.tzinfo." "utcoffset(self)``, and raises an exception if the latter doesn't return " @@ -2029,13 +2029,13 @@ msgstr "" "retornar ``None`` ou um objeto :class:`timedelta` com magnitude menor que um " "dia." -#: ../../library/datetime.rst:1285 ../../library/datetime.rst:1868 -#: ../../library/datetime.rst:1974 ../../library/datetime.rst:2220 -#: ../../library/datetime.rst:2232 ../../library/datetime.rst:2528 +#: ../../library/datetime.rst:1288 ../../library/datetime.rst:1871 +#: ../../library/datetime.rst:1977 ../../library/datetime.rst:2222 +#: ../../library/datetime.rst:2234 ../../library/datetime.rst:2531 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:1291 +#: ../../library/datetime.rst:1294 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`` " @@ -2045,14 +2045,14 @@ msgstr "" "``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:1295 ../../library/datetime.rst:1878 -#: ../../library/datetime.rst:2028 +#: ../../library/datetime.rst:1298 ../../library/datetime.rst:1881 +#: ../../library/datetime.rst:2031 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:1301 +#: ../../library/datetime.rst:1304 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 " @@ -2062,7 +2062,7 @@ msgstr "" "``self.tzinfo.tzname(self)``, levanta uma exceção se o segundo não retornar " "``None`` ou um objeto string." -#: ../../library/datetime.rst:1316 +#: ../../library/datetime.rst:1319 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 :" @@ -2079,7 +2079,7 @@ msgstr "" "valor diferente de zero, :attr:`tm_isdst` é setado para ``1``; caso " "contrário :attr:`tm_isdst` é setado para ``0``." -#: ../../library/datetime.rst:1327 +#: ../../library/datetime.rst:1330 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 " @@ -2089,7 +2089,7 @@ msgstr "" "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:1331 +#: ../../library/datetime.rst:1334 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 " @@ -2103,23 +2103,24 @@ msgstr "" "`OverflowError` pode ser levantado se *d*.year for ``MINYEAR`` ou " "``MAXYEAR`` e os ajustes UTC ultrapassarem o limite de um ano." -#: ../../library/datetime.rst:1340 +#: ../../library/datetime.rst:1343 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 ``utcfromtimetuple`` may give misleading results. If " -"you have a naive ``datetime`` representing UTC, use ``datetime." +"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`." 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 ``utcfromtimetuple`` 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:1349 +#: ../../library/datetime.rst:1352 msgid "" "Return the proleptic Gregorian ordinal of the date. The same as ``self." "date().toordinal()``." @@ -2127,17 +2128,17 @@ msgstr "" "Retorna o ordinal proléptico gregoriano da data. o mesmo que ``self.date()." "toordinal()``." -#: ../../library/datetime.rst:1354 +#: ../../library/datetime.rst:1357 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`." msgstr "" -"Retorna o timestamp 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:1358 +#: ../../library/datetime.rst:1361 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 " @@ -2152,14 +2153,14 @@ msgstr "" "levantar :exc:`OverflowError` para horários longe no passado ou longe no " "futuro." -#: ../../library/datetime.rst:1365 +#: ../../library/datetime.rst:1368 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:1372 +#: ../../library/datetime.rst:1375 msgid "" "The :meth:`timestamp` method uses the :attr:`.fold` attribute to " "disambiguate the times during a repeated interval." @@ -2167,7 +2168,7 @@ msgstr "" "O método :meth:`timestamp` usa o atributo :attr:`.fold` para desambiguar os " "tempos durante um intervalo repetido." -#: ../../library/datetime.rst:1378 +#: ../../library/datetime.rst:1381 msgid "" "There is no method to obtain the POSIX timestamp directly from a naive :" "class:`.datetime` instance representing UTC time. If your application uses " @@ -2177,13 +2178,14 @@ 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 timestamp POSIX fornecendo ``tzinfo=timezone.utc``::" +"você pode obter o registro de data e hora POSIX fornecendo ``tzinfo=timezone." +"utc``::" -#: ../../library/datetime.rst:1386 +#: ../../library/datetime.rst:1389 msgid "or by calculating the timestamp directly::" -msgstr "ou calculando o timestamp diretamente::" +msgstr "ou calculando o registro de data e hora diretamente::" -#: ../../library/datetime.rst:1392 +#: ../../library/datetime.rst:1395 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`." @@ -2191,7 +2193,7 @@ 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:1398 +#: ../../library/datetime.rst:1401 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:" @@ -2201,7 +2203,7 @@ msgstr "" "é 7. O mesmo que ``self.date().isoweekday()``. Veja também :meth:`weekday`, :" "meth:`isocalendar`." -#: ../../library/datetime.rst:1405 +#: ../../library/datetime.rst:1408 msgid "" "Return a :term:`named tuple` with three components: ``year``, ``week`` and " "``weekday``. The same as ``self.date().isocalendar()``." @@ -2209,19 +2211,19 @@ msgstr "" "Retorna uma :term:`tupla nomeada ` com três componentes: " "``year``, ``week`` e ``weekday``. O mesmo que ``self.date().isocalendar()``." -#: ../../library/datetime.rst:1411 +#: ../../library/datetime.rst:1414 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:1413 +#: ../../library/datetime.rst:1416 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:1414 +#: ../../library/datetime.rst:1417 msgid "``YYYY-MM-DDTHH:MM:SS``, if :attr:`microsecond` is 0" msgstr "``YYYY-MM-DDTHH:MM:SS``, se :attr:`microsecond` é 0" -#: ../../library/datetime.rst:1416 +#: ../../library/datetime.rst:1419 msgid "" "If :meth:`utcoffset` does not return ``None``, a string is appended, giving " "the UTC offset:" @@ -2229,7 +2231,7 @@ msgstr "" "Se :meth:`utcoffset` não retorna ``None``, uma string é adicionada com a " "diferença UTC:" -#: ../../library/datetime.rst:1419 +#: ../../library/datetime.rst:1422 msgid "" "``YYYY-MM-DDTHH:MM:SS.ffffff+HH:MM[:SS[.ffffff]]``, if :attr:`microsecond` " "is not 0" @@ -2237,13 +2239,13 @@ msgstr "" "``YYYY-MM-DDTHH:MM:SS.ffffff+HH:MM[:SS[.ffffff]]``, se :attr:`microsecond` " "não é 0" -#: ../../library/datetime.rst:1421 +#: ../../library/datetime.rst:1424 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:1431 +#: ../../library/datetime.rst:1434 msgid "" "The optional argument *sep* (default ``'T'``) is a one-character separator, " "placed between the date and time portions of the result. For example::" @@ -2251,7 +2253,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:1445 ../../library/datetime.rst:1806 +#: ../../library/datetime.rst:1448 ../../library/datetime.rst:1809 msgid "" "The optional argument *timespec* specifies the number of additional " "components of the time to include (the default is ``'auto'``). It can be one " @@ -2261,7 +2263,7 @@ msgstr "" "adicionais do tempo a incluir (o padrão é ``'auto'``). Pode ser uma das " "seguintes strings:" -#: ../../library/datetime.rst:1449 ../../library/datetime.rst:1810 +#: ../../library/datetime.rst:1452 ../../library/datetime.rst:1813 msgid "" "``'auto'``: Same as ``'seconds'`` if :attr:`microsecond` is 0, same as " "``'microseconds'`` otherwise." @@ -2269,20 +2271,20 @@ msgstr "" "``'auto'``: O mesmo que ``'seconds'`` se :attr:`microsecond` é 0, o mesmo " "que ``'microseconds'`` caso contrário." -#: ../../library/datetime.rst:1451 ../../library/datetime.rst:1812 +#: ../../library/datetime.rst:1454 ../../library/datetime.rst:1815 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:1452 ../../library/datetime.rst:1813 +#: ../../library/datetime.rst:1455 ../../library/datetime.rst:1816 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:1453 ../../library/datetime.rst:1814 +#: ../../library/datetime.rst:1456 ../../library/datetime.rst:1817 msgid "" "``'seconds'``: Include :attr:`hour`, :attr:`minute`, and :attr:`second` in " "``HH:MM:SS`` format." @@ -2290,7 +2292,7 @@ msgstr "" "``'seconds'``: Inclui os atributos :attr:`hour`, :attr:`minute` e :attr:" "`second` no formato ``HH:MM:SS``." -#: ../../library/datetime.rst:1455 ../../library/datetime.rst:1816 +#: ../../library/datetime.rst:1458 ../../library/datetime.rst:1819 msgid "" "``'milliseconds'``: Include full time, but truncate fractional second part " "to milliseconds. ``HH:MM:SS.sss`` format." @@ -2298,26 +2300,26 @@ msgstr "" "``'milliseconds'``: Inclui o tempo completo, mas trunca a parte fracional " "dos segundos em milissegundos. Formato ``HH:MM:SS.sss``." -#: ../../library/datetime.rst:1457 ../../library/datetime.rst:1818 +#: ../../library/datetime.rst:1460 ../../library/datetime.rst:1821 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:1461 ../../library/datetime.rst:1822 +#: ../../library/datetime.rst:1464 ../../library/datetime.rst:1825 msgid "Excluded time components are truncated, not rounded." msgstr "Componentes do tempo excluídos são truncados, não arredondados." -#: ../../library/datetime.rst:1463 +#: ../../library/datetime.rst:1466 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:1473 ../../library/datetime.rst:1837 +#: ../../library/datetime.rst:1476 ../../library/datetime.rst:1840 msgid "Added the *timespec* argument." msgstr "Argumento *timespec* adicionado." -#: ../../library/datetime.rst:1479 +#: ../../library/datetime.rst:1482 msgid "" "For a :class:`.datetime` instance *d*, ``str(d)`` is equivalent to ``d." "isoformat(' ')``." @@ -2325,11 +2327,11 @@ msgstr "" "Para uma instância :class:`.datetime` *d*, ``str(d)`` é equivalente a ``d." "isoformat(' ')``." -#: ../../library/datetime.rst:1485 +#: ../../library/datetime.rst:1488 msgid "Return a string representing the date and time::" msgstr "Retorna uma string representando a data e hora::" -#: ../../library/datetime.rst:1491 +#: ../../library/datetime.rst:1494 msgid "" "The output string will *not* include time zone information, regardless of " "whether the input is aware or naive." @@ -2337,7 +2339,7 @@ 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:1498 +#: ../../library/datetime.rst:1501 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 " @@ -2347,7 +2349,7 @@ msgstr "" "ctime` invoca, mas a qual :meth:`datetime.ctime` não invoca) conforma com o " "padrão C." -#: ../../library/datetime.rst:1504 +#: ../../library/datetime.rst:1507 msgid "" "Return a string representing the date and time, controlled by an explicit " "format string. For a complete list of formatting directives, see :ref:" @@ -2358,7 +2360,7 @@ msgstr "" "veja :ref:`Comportamento de strftime() e strptime() `." -#: ../../library/datetime.rst:1511 +#: ../../library/datetime.rst:1514 msgid "" "Same as :meth:`.datetime.strftime`. This makes it possible to specify a " "format string for a :class:`.datetime` object in :ref:`formatted string " @@ -2371,15 +2373,15 @@ msgstr "" "completa de diretivas de formatação, veja :ref:`Comportamento de strftime() " "e strptime() `." -#: ../../library/datetime.rst:1518 +#: ../../library/datetime.rst:1521 msgid "Examples of Usage: :class:`.datetime`" msgstr "Exemplos de uso: :class:`.datetime`" -#: ../../library/datetime.rst:1520 +#: ../../library/datetime.rst:1523 msgid "Examples of working with :class:`~datetime.datetime` objects:" msgstr "Exemplos de uso de objetos :class:`~datetime.datetime`:" -#: ../../library/datetime.rst:1573 +#: ../../library/datetime.rst:1576 msgid "" "The example below defines a :class:`tzinfo` subclass capturing time zone " "information for Kabul, Afghanistan, which used +4 UTC until 1945 and then " @@ -2389,15 +2391,15 @@ 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:1620 +#: ../../library/datetime.rst:1623 msgid "Usage of ``KabulTz`` from above::" msgstr "Uso de ``KabulTz`` mostrado acima::" -#: ../../library/datetime.rst:1646 +#: ../../library/datetime.rst:1649 msgid ":class:`.time` Objects" msgstr "Objetos :class:`.time`" -#: ../../library/datetime.rst:1648 +#: ../../library/datetime.rst:1651 msgid "" "A :class:`time` object represents a (local) time of day, independent of any " "particular day, and subject to adjustment via a :class:`tzinfo` object." @@ -2406,7 +2408,7 @@ msgstr "" "qualquer dia em particular, e sujeito a ajustes através de um objeto :class:" "`tzinfo`." -#: ../../library/datetime.rst:1653 +#: ../../library/datetime.rst:1656 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 " @@ -2416,7 +2418,7 @@ msgstr "" "instância de uma subclasse de :class:`tzinfo`. Os argumentos remanescentes " "devem ser inteiros nos seguintes intervalos:" -#: ../../library/datetime.rst:1663 +#: ../../library/datetime.rst:1666 msgid "" "If an argument outside those ranges is given, :exc:`ValueError` is raised. " "All default to ``0`` except *tzinfo*, which defaults to :const:`None`." @@ -2425,18 +2427,18 @@ msgstr "" "levantado. Todos tem como padrão o valor ``0`` exceto *tzinfo*, o qual tem o " "valor padrão :const:`None`." -#: ../../library/datetime.rst:1671 +#: ../../library/datetime.rst:1674 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:1676 +#: ../../library/datetime.rst:1679 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:1681 +#: ../../library/datetime.rst:1684 msgid "" "The smallest possible difference between non-equal :class:`.time` objects, " "``timedelta(microseconds=1)``, although note that arithmetic on :class:`." @@ -2446,7 +2448,7 @@ msgstr "" "``timedelta(microseconds=1)``, embora perceba que aritmética sobre objetos :" "class:`.time` não é suportada." -#: ../../library/datetime.rst:1710 +#: ../../library/datetime.rst:1713 msgid "" "The object passed as the tzinfo argument to the :class:`.time` constructor, " "or ``None`` if none was passed." @@ -2454,7 +2456,7 @@ msgstr "" "O objeto passado como argumento tzinfo para o construtor da classe :class:`." "time`, ou ``None`` se nada foi passado." -#: ../../library/datetime.rst:1724 +#: ../../library/datetime.rst:1727 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. " @@ -2468,7 +2470,7 @@ msgstr "" "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:1730 +#: ../../library/datetime.rst:1733 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 " @@ -2492,7 +2494,7 @@ msgstr "" "não ser que a comparação seja ``==`` ou ``!=``. O último caso retorna :const:" "`False` ou :const:`True`, respectivamente." -#: ../../library/datetime.rst:1740 +#: ../../library/datetime.rst:1743 msgid "" "Equality comparisons between aware and naive :class:`~datetime.time` " "instances don't raise :exc:`TypeError`." @@ -2500,14 +2502,14 @@ msgstr "" "Comparações de igualdade entre instâncias conscientes e ingênuas :class:" "`~datetime.time` não levantam :exc:`TypeError`." -#: ../../library/datetime.rst:1744 +#: ../../library/datetime.rst:1747 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:1746 +#: ../../library/datetime.rst:1749 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-" @@ -2519,11 +2521,11 @@ msgstr "" "suscetível a erros, e foi removido no Python 3.5. Veja :issue:`13936` para " "todos os detalhes." -#: ../../library/datetime.rst:1753 +#: ../../library/datetime.rst:1756 msgid "Other constructor:" msgstr "Outro construtor:" -#: ../../library/datetime.rst:1757 +#: ../../library/datetime.rst:1760 msgid "" "Return a :class:`.time` corresponding to a *time_string* in one of the " "formats emitted by :meth:`time.isoformat`. Specifically, this function " @@ -2533,7 +2535,7 @@ msgstr "" "emitidos por :meth:`time.isoformat`. Especificamente, esta função suporta " "strings no formato:" -#: ../../library/datetime.rst:1767 +#: ../../library/datetime.rst:1770 msgid "" "This does *not* support parsing arbitrary ISO 8601 strings. It is only " "intended as the inverse operation of :meth:`time.isoformat`." @@ -2541,7 +2543,7 @@ msgstr "" "Isto *não* suporta interpretar strings ISO 8601 arbitrárias. Ela só é " "projetada para uso como a operação inversa de :meth:`time.isoformat`." -#: ../../library/datetime.rst:1788 +#: ../../library/datetime.rst:1791 msgid "" "Return a :class:`.time` with the same value, except for those attributes " "given new values by whichever keyword arguments are specified. Note that " @@ -2554,20 +2556,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:1799 +#: ../../library/datetime.rst:1802 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:1801 +#: ../../library/datetime.rst:1804 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:1802 +#: ../../library/datetime.rst:1805 msgid "``HH:MM:SS``, if :attr:`microsecond` is 0" msgstr "``HH:MM:SS``, se :attr:`microsecond` é 0" -#: ../../library/datetime.rst:1803 +#: ../../library/datetime.rst:1806 msgid "" "``HH:MM:SS.ffffff+HH:MM[:SS[.ffffff]]``, if :meth:`utcoffset` does not " "return ``None``" @@ -2575,7 +2577,7 @@ msgstr "" "``HH:MM:SS.ffffff+HH:MM[:SS[.ffffff]]``, se :meth:`utcoffset` não retorna " "``None``" -#: ../../library/datetime.rst:1804 +#: ../../library/datetime.rst:1807 msgid "" "``HH:MM:SS+HH:MM[:SS[.ffffff]]``, if :attr:`microsecond` is 0 and :meth:" "`utcoffset` does not return ``None``" @@ -2583,15 +2585,15 @@ msgstr "" "``HH:MM:SS+HH:MM[:SS[.ffffff]]``, se :attr:`microsecond` é 0 e :meth:" "`utcoffset` não retorna ``None``" -#: ../../library/datetime.rst:1824 +#: ../../library/datetime.rst:1827 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:1843 +#: ../../library/datetime.rst:1846 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:1848 +#: ../../library/datetime.rst:1851 msgid "" "Return a string representing the time, controlled by an explicit format " "string. For a complete list of formatting directives, see :ref:`strftime-" @@ -2602,7 +2604,7 @@ msgstr "" "veja :ref:`Comportamento de strftime() e strptime() `." -#: ../../library/datetime.rst:1855 +#: ../../library/datetime.rst:1858 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 ` file there are some examples of :class:`tzinfo` classes:" @@ -2993,7 +2995,7 @@ msgstr "" "No seguinte arquivo :download:`tzinfo_examples.py <../includes/" "tzinfo_examples.py>` existem alguns exemplos de classes :class:`tzinfo`:" -#: ../../library/datetime.rst:2111 +#: ../../library/datetime.rst:2114 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 " @@ -3009,7 +3011,7 @@ msgstr "" "termina no minuto posterior a 1:59 (EDT, horário de verão) no primeiro " "domingo de Novembro::" -#: ../../library/datetime.rst:2125 +#: ../../library/datetime.rst:2128 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, " @@ -3024,7 +3026,7 @@ msgstr "" "começar. Por exemplo, na primavera de transição para frente em 2016, nós " "tivemos::" -#: ../../library/datetime.rst:2144 +#: ../../library/datetime.rst:2147 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 " @@ -3052,7 +3054,7 @@ msgstr "" "para 1. Por exemplo, na transição de volta para o outono de 2016, nós " "obtivemos::" -#: ../../library/datetime.rst:2166 +#: ../../library/datetime.rst:2169 msgid "" "Note that the :class:`.datetime` instances that differ only by the value of " "the :attr:`~datetime.fold` attribute are considered equal in comparisons." @@ -3060,7 +3062,7 @@ 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." -#: ../../library/datetime.rst:2169 +#: ../../library/datetime.rst:2172 msgid "" "Applications that can't bear wall-time ambiguities should explicitly check " "the value of the :attr:`~datetime.fold` attribute or avoid using hybrid :" @@ -3077,11 +3079,11 @@ msgstr "" "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:2184 -msgid "`dateutil.tz `_" -msgstr "`dateutil.tz `_" +#: ../../library/datetime.rst:2186 +msgid ":mod:`zoneinfo`" +msgstr ":mod:`zoneinfo`" -#: ../../library/datetime.rst:2178 +#: ../../library/datetime.rst:2181 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 " @@ -3091,21 +3093,21 @@ msgstr "" "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:2182 +#: ../../library/datetime.rst:2185 msgid "" -"*dateutil.tz* library brings the *IANA timezone database* (also known as the " -"Olson database) to Python, and its usage is recommended." +"``zoneinfo`` brings the *IANA timezone database* (also known as the Olson " +"database) to Python, and its usage is recommended." msgstr "" -"A biblioteca *dateutil.tz* traz a **base de dados de fusos horários IANA** " -"(também conhecida como a base de dados Olson) para o Python, e sua " -"utilização é recomendada." +"``zoneinfo`` traz a **base de dados de fusos horários IANA** (também " +"conhecida como a base de dados Olson) para o Python, e sua utilização é " +"recomendada." -#: ../../library/datetime.rst:2190 +#: ../../library/datetime.rst:2192 msgid "`IANA timezone database `_" msgstr "" "`Base de dados de fusos horários IANA `_" -#: ../../library/datetime.rst:2187 +#: ../../library/datetime.rst:2189 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 " @@ -3119,11 +3121,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:2197 +#: ../../library/datetime.rst:2199 msgid ":class:`timezone` Objects" msgstr "Objetos :class:`timezone`" -#: ../../library/datetime.rst:2199 +#: ../../library/datetime.rst:2201 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." @@ -3132,7 +3134,7 @@ msgstr "" "de cada uma representam um fuso horário definido por uma diferença " "temporária fixa do UTC." -#: ../../library/datetime.rst:2203 +#: ../../library/datetime.rst:2205 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 " @@ -3143,7 +3145,7 @@ msgstr "" "utilizadas em diferentes dias do ano, ou onde mudanças históricas foram " "feitas ao tempo civil." -#: ../../library/datetime.rst:2210 +#: ../../library/datetime.rst:2212 msgid "" "The *offset* argument must be specified as a :class:`timedelta` object " "representing the difference between the local time and UTC. It must be " @@ -3155,7 +3157,7 @@ msgstr "" "estritamente entre ``-timedelta(hours=24)`` e ``timedelta(hous=24)``, caso " "contrário a exceção :exc:`ValueError` será provocada." -#: ../../library/datetime.rst:2215 +#: ../../library/datetime.rst:2217 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." @@ -3163,7 +3165,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:2226 ../../library/datetime.rst:2237 +#: ../../library/datetime.rst:2228 ../../library/datetime.rst:2239 msgid "" "Return the fixed value specified when the :class:`timezone` instance is " "constructed." @@ -3171,7 +3173,7 @@ msgstr "" "Retorna o valor fixo especificado quando a instância :class:`timezone` é " "construída." -#: ../../library/datetime.rst:2229 +#: ../../library/datetime.rst:2231 msgid "" "The *dt* argument is ignored. The return value is a :class:`timedelta` " "instance equal to the difference between the local time and UTC." @@ -3179,7 +3181,7 @@ msgstr "" "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:2240 +#: ../../library/datetime.rst:2242 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 " @@ -3193,19 +3195,19 @@ 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:2246 +#: ../../library/datetime.rst:2248 msgid "" -"Name generated from ``offset=timedelta(0)`` is now plain `'UTC'`, not ``'UTC" -"+00:00'``." +"Name generated from ``offset=timedelta(0)`` is now plain ``'UTC'``, not " +"``'UTC+00:00'``." msgstr "" -"Nome gerado de ``offset=timedelta(0)`` é agora simplesmente `'UTC'`, não " -"`'UTC+00:00'`." +"Nome gerado de ``offset=timedelta(0)`` é agora simplesmente ``'UTC'``, não " +"``'UTC+00:00'``." -#: ../../library/datetime.rst:2253 +#: ../../library/datetime.rst:2255 msgid "Always returns ``None``." msgstr "Sempre retorna ``None``." -#: ../../library/datetime.rst:2257 +#: ../../library/datetime.rst:2259 msgid "" "Return ``dt + offset``. The *dt* argument must be an aware :class:`." "datetime` instance, with ``tzinfo`` set to ``self``." @@ -3213,15 +3215,15 @@ msgstr "" "Retorna ``dt + offset``. O argumento *dt* deve ser uma instância :class:`." "datetime` consciente, com ``tzinfo`` definida para ``self``." -#: ../../library/datetime.rst:2264 +#: ../../library/datetime.rst:2266 msgid "The UTC timezone, ``timezone(timedelta(0))``." msgstr "O fuso horário UTC, ``timezone(timedelta(0))``." -#: ../../library/datetime.rst:2273 +#: ../../library/datetime.rst:2275 msgid ":meth:`strftime` and :meth:`strptime` Behavior" msgstr "Comportamento de :meth:`strftime` e :meth:`strptime`" -#: ../../library/datetime.rst:2275 +#: ../../library/datetime.rst:2277 msgid "" ":class:`date`, :class:`.datetime`, and :class:`.time` objects all support a " "``strftime(format)`` method, to create a string representing the time under " @@ -3231,7 +3233,7 @@ 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:2279 +#: ../../library/datetime.rst:2281 msgid "" "Conversely, the :meth:`datetime.strptime` class method creates a :class:`." "datetime` object from a string representing a date and time and a " @@ -3241,7 +3243,7 @@ msgstr "" "class:`.datetime` a partir de uma string representando a data e a hora e uma " "string de formatação correspondente." -#: ../../library/datetime.rst:2283 +#: ../../library/datetime.rst:2285 msgid "" "The table below provides a high-level comparison of :meth:`strftime` versus :" "meth:`strptime`:" @@ -3249,70 +3251,70 @@ msgstr "" "O tabela abaixo fornece uma comparação de alto nível de :meth:`strftime` " "versus :meth:`strptime`:" -#: ../../library/datetime.rst:2287 +#: ../../library/datetime.rst:2289 msgid "``strftime``" msgstr "``strftime``" -#: ../../library/datetime.rst:2287 +#: ../../library/datetime.rst:2289 msgid "``strptime``" msgstr "``strptime``" -#: ../../library/datetime.rst:2289 +#: ../../library/datetime.rst:2291 msgid "Usage" msgstr "Uso" -#: ../../library/datetime.rst:2289 +#: ../../library/datetime.rst:2291 msgid "Convert object to a string according to a given format" msgstr "Converte objeto para uma string conforme um formato fornecido" -#: ../../library/datetime.rst:2289 +#: ../../library/datetime.rst:2291 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:2291 +#: ../../library/datetime.rst:2293 msgid "Type of method" msgstr "Tipo de método" -#: ../../library/datetime.rst:2291 +#: ../../library/datetime.rst:2293 msgid "Instance method" msgstr "Método de instância" -#: ../../library/datetime.rst:2291 +#: ../../library/datetime.rst:2293 msgid "Class method" msgstr "Método de classe" -#: ../../library/datetime.rst:2293 +#: ../../library/datetime.rst:2295 msgid "Method of" msgstr "Método de" -#: ../../library/datetime.rst:2293 +#: ../../library/datetime.rst:2295 msgid ":class:`date`; :class:`.datetime`; :class:`.time`" msgstr ":class:`date`; :class:`.datetime`; :class:`.time`" -#: ../../library/datetime.rst:2293 +#: ../../library/datetime.rst:2295 msgid ":class:`.datetime`" msgstr ":class:`.datetime`" -#: ../../library/datetime.rst:2295 +#: ../../library/datetime.rst:2297 msgid "Signature" msgstr "Assinatura" -#: ../../library/datetime.rst:2295 +#: ../../library/datetime.rst:2297 msgid "``strftime(format)``" msgstr "``strftime(format)``" -#: ../../library/datetime.rst:2295 +#: ../../library/datetime.rst:2297 msgid "``strptime(date_string, format)``" msgstr "``strptime(date_string, format)``" -#: ../../library/datetime.rst:2300 +#: ../../library/datetime.rst:2302 msgid ":meth:`strftime` and :meth:`strptime` Format Codes" msgstr "Códigos de formatação para :meth:`strftime` e :meth:`strptime`" -#: ../../library/datetime.rst:2302 +#: ../../library/datetime.rst:2304 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." @@ -3321,27 +3323,27 @@ msgstr "" "C de 1989 requer, e eles funcionam em todas as plataformas com implementação " "padrão C." -#: ../../library/datetime.rst:2306 ../../library/datetime.rst:2409 +#: ../../library/datetime.rst:2308 ../../library/datetime.rst:2411 msgid "Directive" msgstr "Diretiva" -#: ../../library/datetime.rst:2306 ../../library/datetime.rst:2409 +#: ../../library/datetime.rst:2308 ../../library/datetime.rst:2411 msgid "Meaning" msgstr "Significado" -#: ../../library/datetime.rst:2306 ../../library/datetime.rst:2409 +#: ../../library/datetime.rst:2308 ../../library/datetime.rst:2411 msgid "Example" msgstr "Exemplo" -#: ../../library/datetime.rst:2306 ../../library/datetime.rst:2409 +#: ../../library/datetime.rst:2308 ../../library/datetime.rst:2411 msgid "Notes" msgstr "Notas" -#: ../../library/datetime.rst:2308 +#: ../../library/datetime.rst:2310 msgid "``%a``" msgstr "``%a``" -#: ../../library/datetime.rst:2308 +#: ../../library/datetime.rst:2310 msgid "Weekday as locale's abbreviated name." msgstr "Dias da semana como nomes abreviados da localidade." @@ -3353,11 +3355,11 @@ msgstr "Sun, Mon, ..., Sat (en_US);" msgid "So, Mo, ..., Sa (de_DE)" msgstr "So, Mo, ..., Sa (de_DE)" -#: ../../library/datetime.rst:2313 +#: ../../library/datetime.rst:2315 msgid "``%A``" msgstr "``%A``" -#: ../../library/datetime.rst:2313 +#: ../../library/datetime.rst:2315 msgid "Weekday as locale's full name." msgstr "Dia da semana como nome completo da localidade." @@ -3369,42 +3371,42 @@ msgstr "Sunday, Monday, ..., Saturday (en_US);" msgid "Sonntag, Montag, ..., Samstag (de_DE)" msgstr "Sonntag, Montag, ..., Samstag (de_DE)" -#: ../../library/datetime.rst:2318 +#: ../../library/datetime.rst:2320 msgid "``%w``" msgstr "``%w``" -#: ../../library/datetime.rst:2318 +#: ../../library/datetime.rst:2320 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:2318 +#: ../../library/datetime.rst:2320 msgid "0, 1, ..., 6" msgstr "0, 1, ..., 6" -#: ../../library/datetime.rst:2322 +#: ../../library/datetime.rst:2324 msgid "``%d``" msgstr "``%d``" -#: ../../library/datetime.rst:2322 +#: ../../library/datetime.rst:2324 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:2322 +#: ../../library/datetime.rst:2324 msgid "01, 02, ..., 31" msgstr "01, 02, ..., 31" -#: ../../library/datetime.rst:2322 ../../library/datetime.rst:2335 -#: ../../library/datetime.rst:2338 ../../library/datetime.rst:2344 -#: ../../library/datetime.rst:2347 ../../library/datetime.rst:2353 -#: ../../library/datetime.rst:2371 +#: ../../library/datetime.rst:2324 ../../library/datetime.rst:2337 +#: ../../library/datetime.rst:2340 ../../library/datetime.rst:2346 +#: ../../library/datetime.rst:2349 ../../library/datetime.rst:2355 +#: ../../library/datetime.rst:2373 msgid "\\(9)" msgstr "\\(9)" -#: ../../library/datetime.rst:2325 +#: ../../library/datetime.rst:2327 msgid "``%b``" msgstr "``%b``" -#: ../../library/datetime.rst:2325 +#: ../../library/datetime.rst:2327 msgid "Month as locale's abbreviated name." msgstr "Mês como nome da localidade abreviado." @@ -3416,11 +3418,11 @@ msgstr "Jan, Feb, ..., Dec (en_US);" msgid "Jan, Feb, ..., Dez (de_DE)" msgstr "Jan, Feb, ..., Dez (de_DE)" -#: ../../library/datetime.rst:2330 +#: ../../library/datetime.rst:2332 msgid "``%B``" msgstr "``%B``" -#: ../../library/datetime.rst:2330 +#: ../../library/datetime.rst:2332 msgid "Month as locale's full name." msgstr "Mês como nome completo da localidade." @@ -3432,69 +3434,69 @@ msgstr "January, February, ..., December (en_US);" msgid "Januar, Februar, ..., Dezember (de_DE)" msgstr "janeiro, fevereiro, ..., dezembro (pt_BR)" -#: ../../library/datetime.rst:2335 +#: ../../library/datetime.rst:2337 msgid "``%m``" msgstr "``%m``" -#: ../../library/datetime.rst:2335 +#: ../../library/datetime.rst:2337 msgid "Month as a zero-padded decimal number." msgstr "Mês como um número decimal com zeros a esquerda." -#: ../../library/datetime.rst:2335 ../../library/datetime.rst:2347 +#: ../../library/datetime.rst:2337 ../../library/datetime.rst:2349 msgid "01, 02, ..., 12" msgstr "01, 02, ..., 12" -#: ../../library/datetime.rst:2338 +#: ../../library/datetime.rst:2340 msgid "``%y``" msgstr "``%y``" -#: ../../library/datetime.rst:2338 +#: ../../library/datetime.rst:2340 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:2338 +#: ../../library/datetime.rst:2340 msgid "00, 01, ..., 99" msgstr "00, 01, ..., 99" -#: ../../library/datetime.rst:2341 +#: ../../library/datetime.rst:2343 msgid "``%Y``" msgstr "``%Y``" -#: ../../library/datetime.rst:2341 +#: ../../library/datetime.rst:2343 msgid "Year with century as a decimal number." msgstr "Ano com século como um número decimal." -#: ../../library/datetime.rst:2341 ../../library/datetime.rst:2411 +#: ../../library/datetime.rst:2343 ../../library/datetime.rst:2413 msgid "0001, 0002, ..., 2013, 2014, ..., 9998, 9999" msgstr "0001, 0002, ..., 2013, 2014, ..., 9998, 9999" -#: ../../library/datetime.rst:2344 +#: ../../library/datetime.rst:2346 msgid "``%H``" msgstr "``%H``" -#: ../../library/datetime.rst:2344 +#: ../../library/datetime.rst:2346 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:2344 +#: ../../library/datetime.rst:2346 msgid "00, 01, ..., 23" msgstr "00, 01, ..., 23" -#: ../../library/datetime.rst:2347 +#: ../../library/datetime.rst:2349 msgid "``%I``" msgstr "``%I``" -#: ../../library/datetime.rst:2347 +#: ../../library/datetime.rst:2349 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:2350 +#: ../../library/datetime.rst:2352 msgid "``%p``" msgstr "``%p``" -#: ../../library/datetime.rst:2350 +#: ../../library/datetime.rst:2352 msgid "Locale's equivalent of either AM or PM." msgstr "Equivalente da localidade a AM ou PM." @@ -3506,55 +3508,57 @@ msgstr "AM, PM (en_US);" msgid "am, pm (de_DE)" msgstr "am, pm (de_DE)" -#: ../../library/datetime.rst:2350 +#: ../../library/datetime.rst:2352 msgid "\\(1), \\(3)" msgstr "\\(1), \\(3)" -#: ../../library/datetime.rst:2353 +#: ../../library/datetime.rst:2355 msgid "``%M``" msgstr "``%M``" -#: ../../library/datetime.rst:2353 +#: ../../library/datetime.rst:2355 msgid "Minute as a zero-padded decimal number." msgstr "Minutos como um número decimal, com zeros a esquerda." -#: ../../library/datetime.rst:2353 ../../library/datetime.rst:2356 +#: ../../library/datetime.rst:2355 ../../library/datetime.rst:2358 msgid "00, 01, ..., 59" msgstr "00, 01, ..., 59" -#: ../../library/datetime.rst:2356 +#: ../../library/datetime.rst:2358 msgid "``%S``" msgstr "``%S``" -#: ../../library/datetime.rst:2356 +#: ../../library/datetime.rst:2358 msgid "Second as a zero-padded decimal number." msgstr "Segundos como um número decimal, com zeros a esquerda." -#: ../../library/datetime.rst:2356 +#: ../../library/datetime.rst:2358 msgid "\\(4), \\(9)" msgstr "\\(4), \\(9)" -#: ../../library/datetime.rst:2359 +#: ../../library/datetime.rst:2361 msgid "``%f``" msgstr "``%f``" -#: ../../library/datetime.rst:2359 -msgid "Microsecond as a decimal number, zero-padded on the left." -msgstr "Micro-segundos como um número decimal, com zeros a esquerda." +#: ../../library/datetime.rst:2361 +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:2359 +#: ../../library/datetime.rst:2361 msgid "000000, 000001, ..., 999999" msgstr "000000, 000001, ..., 999999" -#: ../../library/datetime.rst:2359 +#: ../../library/datetime.rst:2361 msgid "\\(5)" msgstr "\\(5)" -#: ../../library/datetime.rst:2363 ../../library/datetime.rst:2526 +#: ../../library/datetime.rst:2365 ../../library/datetime.rst:2529 msgid "``%z``" msgstr "``%z``" -#: ../../library/datetime.rst:2363 +#: ../../library/datetime.rst:2365 msgid "" "UTC offset in the form ``±HHMM[SS[.ffffff]]`` (empty string if the object is " "naive)." @@ -3562,45 +3566,45 @@ msgstr "" "Diferença UTC no formato ``±HHMM[SS[.ffffff]]`` (string vazia se o objeto é " "ingênuo)." -#: ../../library/datetime.rst:2363 +#: ../../library/datetime.rst:2365 msgid "(empty), +0000, -0400, +1030, +063415, -030712.345216" msgstr "(vazio), +0000, -0400, +1030, +063415, -030712.345216" -#: ../../library/datetime.rst:2363 ../../library/datetime.rst:2368 +#: ../../library/datetime.rst:2365 ../../library/datetime.rst:2370 msgid "\\(6)" msgstr "\\(6)" -#: ../../library/datetime.rst:2368 ../../library/datetime.rst:2550 +#: ../../library/datetime.rst:2370 ../../library/datetime.rst:2553 msgid "``%Z``" msgstr "``%Z``" -#: ../../library/datetime.rst:2368 +#: ../../library/datetime.rst:2370 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:2368 +#: ../../library/datetime.rst:2370 msgid "(empty), UTC, GMT" msgstr "(vazio), UTC, GMT" -#: ../../library/datetime.rst:2371 +#: ../../library/datetime.rst:2373 msgid "``%j``" msgstr "``%j``" -#: ../../library/datetime.rst:2371 +#: ../../library/datetime.rst:2373 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:2371 +#: ../../library/datetime.rst:2373 msgid "001, 002, ..., 366" msgstr "001, 002, ..., 366" -#: ../../library/datetime.rst:2374 +#: ../../library/datetime.rst:2376 msgid "``%U``" msgstr "``%U``" -#: ../../library/datetime.rst:2374 +#: ../../library/datetime.rst:2376 msgid "" -"Week number of the year (Sunday as the first day of the week) as a zero " +"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 " "considered to be in week 0." msgstr "" @@ -3608,33 +3612,34 @@ 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:2374 ../../library/datetime.rst:2382 +#: ../../library/datetime.rst:2376 ../../library/datetime.rst:2384 msgid "00, 01, ..., 53" msgstr "00, 01, ..., 53" -#: ../../library/datetime.rst:2374 ../../library/datetime.rst:2382 +#: ../../library/datetime.rst:2376 ../../library/datetime.rst:2384 msgid "\\(7), \\(9)" msgstr "\\(7), \\(9)" -#: ../../library/datetime.rst:2382 +#: ../../library/datetime.rst:2384 msgid "``%W``" msgstr "``%W``" -#: ../../library/datetime.rst:2382 +#: ../../library/datetime.rst:2384 msgid "" -"Week number of the year (Monday as the first day of the week) as a decimal " -"number. All days in a new year preceding the first Monday are considered to " -"be in week 0." +"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 " +"considered to be in week 0." msgstr "" "Número da semana do ano (Segunda-feira como o primeiro dia da semana) como " -"um número decimal. Todos os dias em um ano novo precedendo a primeira " -"segunda-feira são considerados como estando na semana 0." +"um número decimal, com zeros a esquerda. Todos os dias em um ano novo " +"precedendo a primeira segunda-feira são considerados como estando na semana " +"0." -#: ../../library/datetime.rst:2390 +#: ../../library/datetime.rst:2392 msgid "``%c``" msgstr "``%c``" -#: ../../library/datetime.rst:2390 +#: ../../library/datetime.rst:2392 msgid "Locale's appropriate date and time representation." msgstr "Representação de data e hora apropriada da localidade." @@ -3646,11 +3651,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:2395 +#: ../../library/datetime.rst:2397 msgid "``%x``" msgstr "``%x``" -#: ../../library/datetime.rst:2395 +#: ../../library/datetime.rst:2397 msgid "Locale's appropriate date representation." msgstr "Representação de data apropriada de localidade." @@ -3666,11 +3671,11 @@ msgstr "08/16/1988 (en_US);" msgid "16.08.1988 (de_DE)" msgstr "16.08.1988 (de_DE)" -#: ../../library/datetime.rst:2399 +#: ../../library/datetime.rst:2401 msgid "``%X``" msgstr "``%X``" -#: ../../library/datetime.rst:2399 +#: ../../library/datetime.rst:2401 msgid "Locale's appropriate time representation." msgstr "Representação de hora apropriada da localidade." @@ -3682,19 +3687,19 @@ msgstr "21:30:00 (en_US);" msgid "21:30:00 (de_DE)" msgstr "21:30:00 (de_DE)" -#: ../../library/datetime.rst:2402 +#: ../../library/datetime.rst:2404 msgid "``%%``" msgstr "``%%``" -#: ../../library/datetime.rst:2402 +#: ../../library/datetime.rst:2404 msgid "A literal ``'%'`` character." msgstr "Um caractere literal ``'%'``." -#: ../../library/datetime.rst:2402 +#: ../../library/datetime.rst:2404 msgid "%" msgstr "%" -#: ../../library/datetime.rst:2405 +#: ../../library/datetime.rst:2407 msgid "" "Several additional directives not required by the C89 standard are included " "for convenience. These parameters all correspond to ISO 8601 date values." @@ -3703,11 +3708,11 @@ msgstr "" "para conveniência. Estes parâmetros todos correspondem a valores de datas na " "ISO 8601." -#: ../../library/datetime.rst:2411 +#: ../../library/datetime.rst:2413 msgid "``%G``" msgstr "``%G``" -#: ../../library/datetime.rst:2411 +#: ../../library/datetime.rst:2413 msgid "" "ISO 8601 year with century representing the year that contains the greater " "part of the ISO week (``%V``)." @@ -3715,27 +3720,27 @@ msgstr "" "Ano ISO 8601 com o século representando o ano que a maior parte da semana " "ISO (``%V``)." -#: ../../library/datetime.rst:2411 +#: ../../library/datetime.rst:2413 msgid "\\(8)" msgstr "\\(8)" -#: ../../library/datetime.rst:2416 +#: ../../library/datetime.rst:2418 msgid "``%u``" msgstr "``%u``" -#: ../../library/datetime.rst:2416 +#: ../../library/datetime.rst:2418 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:2416 +#: ../../library/datetime.rst:2418 msgid "1, 2, ..., 7" msgstr "1, 2, ..., 7" -#: ../../library/datetime.rst:2419 +#: ../../library/datetime.rst:2421 msgid "``%V``" msgstr "``%V``" -#: ../../library/datetime.rst:2419 +#: ../../library/datetime.rst:2421 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." @@ -3743,15 +3748,15 @@ 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:2419 +#: ../../library/datetime.rst:2421 msgid "01, 02, ..., 53" msgstr "01, 02, ..., 53" -#: ../../library/datetime.rst:2419 +#: ../../library/datetime.rst:2421 msgid "\\(8), \\(9)" msgstr "\\(8), \\(9)" -#: ../../library/datetime.rst:2426 +#: ../../library/datetime.rst:2428 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 " @@ -3765,28 +3770,31 @@ msgstr "" "Chamar :meth:`strptime` com diretivas ISO 8601 incompletas ou ambíguas irá " "levantar um :exc:`ValueError`." -#: ../../library/datetime.rst:2431 +#: ../../library/datetime.rst:2433 msgid "" "The full set of format codes supported varies across platforms, because " "Python calls the platform C library's :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." +"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 suportados varia através de " +"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 suportados na sua plataforma, consulte a " -"documentação de :manpage:`strftime(3)`." +"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." -#: ../../library/datetime.rst:2436 +#: ../../library/datetime.rst:2439 msgid "``%G``, ``%u`` and ``%V`` were added." msgstr "``%G``, ``%u`` e ``%V`` foram adicionados." -#: ../../library/datetime.rst:2440 +#: ../../library/datetime.rst:2443 msgid "Technical Detail" msgstr "Detalhes técnicos" -#: ../../library/datetime.rst:2442 +#: ../../library/datetime.rst:2445 msgid "" "Broadly speaking, ``d.strftime(fmt)`` acts like the :mod:`time` module's " "``time.strftime(fmt, d.timetuple())`` although not all objects support a :" @@ -3796,7 +3804,7 @@ msgstr "" "strftime(fmt, d.timetuple())`` do módulo :mod:`time`, apesar que nem todos " "os objetos suportam um método :meth:`timetuple`." -#: ../../library/datetime.rst:2446 +#: ../../library/datetime.rst:2449 msgid "" "For the :meth:`datetime.strptime` class method, the default value is " "``1900-01-01T00:00:00.000``: any components not specified in the format " @@ -3806,11 +3814,11 @@ msgstr "" "``1900-01-01T00:00:00.000``: quaisquer componentes não especificados no " "formato da string serão puxados do valor padrão. [#]_" -#: ../../library/datetime.rst:2450 +#: ../../library/datetime.rst:2453 msgid "Using ``datetime.strptime(date_string, format)`` is equivalent to::" msgstr "Usar ``datetime.strptime(date_string, format)`` é equivalente a::" -#: ../../library/datetime.rst:2454 +#: ../../library/datetime.rst:2457 msgid "" "except when the format includes sub-second components or timezone offset " "information, which are supported in ``datetime.strptime`` but are discarded " @@ -3820,7 +3828,7 @@ 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:2458 +#: ../../library/datetime.rst:2461 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 " @@ -3832,7 +3840,7 @@ msgstr "" "valores. Se eles forem usados de mesmo assim, ``1900`` é substituído pelo " "ano, e ``1`` pelo mês e dia." -#: ../../library/datetime.rst:2462 +#: ../../library/datetime.rst:2465 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 " @@ -3843,7 +3851,7 @@ msgstr "" "não tem tais valores. Se eles forem mesmo assim, ``0`` é substituído no " "lugar deles." -#: ../../library/datetime.rst:2466 +#: ../../library/datetime.rst:2469 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 " @@ -3851,14 +3859,14 @@ msgid "" "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:2475 +#: ../../library/datetime.rst:2478 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 " @@ -3877,7 +3885,7 @@ msgstr "" "``utf-8``; utilize :meth:`locale.getlocale` para determinar a codificação " "atual da localidade)." -#: ../../library/datetime.rst:2484 +#: ../../library/datetime.rst:2487 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." @@ -3885,19 +3893,19 @@ 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." -#: ../../library/datetime.rst:2487 +#: ../../library/datetime.rst:2490 msgid "" "In previous versions, :meth:`strftime` method was restricted to years >= " "1900." msgstr "" "Em versões anteriores, o método :meth:`strftime` era restrito a anos>= 1900." -#: ../../library/datetime.rst:2491 +#: ../../library/datetime.rst:2494 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." -#: ../../library/datetime.rst:2496 +#: ../../library/datetime.rst:2499 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 " @@ -3906,7 +3914,7 @@ 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." -#: ../../library/datetime.rst:2500 +#: ../../library/datetime.rst:2503 msgid "" "Unlike the :mod:`time` module, the :mod:`datetime` module does not support " "leap seconds." @@ -3914,7 +3922,7 @@ msgstr "" "Ao contrário do módulo :mod:`time`, o módulo :mod:`datetime` não suporta " "segundos bissextos." -#: ../../library/datetime.rst:2504 +#: ../../library/datetime.rst:2507 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 " @@ -3926,7 +3934,7 @@ msgstr "" "conjunto de formatação de caracteres no padrão C (mas implementado " "separadamente em objetos datetime, e portando sempre disponível)." -#: ../../library/datetime.rst:2511 +#: ../../library/datetime.rst:2514 msgid "" "For a naive object, the ``%z`` and ``%Z`` format codes are replaced by empty " "strings." @@ -3934,11 +3942,11 @@ 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:2514 +#: ../../library/datetime.rst:2517 msgid "For an aware object:" msgstr "Para um objeto consciente:" -#: ../../library/datetime.rst:2517 +#: ../../library/datetime.rst:2520 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 " @@ -3962,7 +3970,7 @@ msgstr "" "`utcoffset` retorna ``timedelta(hours=-3, minutes=-30)``, ``%z`` é " "substituído pela string ``'-0330'``." -#: ../../library/datetime.rst:2531 +#: ../../library/datetime.rst:2534 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 " @@ -3975,7 +3983,7 @@ msgstr "" "como uma diferença de uma hora. Adicionalmente, fornecer ``'Z'`` é idêntico " "a ``'+00:00'``." -#: ../../library/datetime.rst:2539 +#: ../../library/datetime.rst:2542 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 " @@ -3985,19 +3993,19 @@ msgstr "" "`tzname` retorna ``None``; caso contrário ``%Z`` é substituído pelo valor " "retornado, o qual deve ser uma string." -#: ../../library/datetime.rst:2543 +#: ../../library/datetime.rst:2546 msgid ":meth:`strptime` only accepts certain values for ``%Z``:" msgstr ":meth:`strptime` aceita apenas certos valores para ``%Z``:" -#: ../../library/datetime.rst:2545 +#: ../../library/datetime.rst:2548 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:2546 +#: ../../library/datetime.rst:2549 msgid "the hard-coded values ``UTC`` and ``GMT``" msgstr "os valores codificados ``UTC`` e ``GMT``" -#: ../../library/datetime.rst:2548 +#: ../../library/datetime.rst:2551 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 " @@ -4007,7 +4015,7 @@ msgstr "" "valores válidos, mas provavelmente não ``EST``. Isso levantará " "``ValueError`` para valores inválidos." -#: ../../library/datetime.rst:2552 +#: ../../library/datetime.rst:2555 msgid "" "When the ``%z`` directive is provided to the :meth:`strptime` method, an " "aware :class:`.datetime` object will be produced. The ``tzinfo`` of the " @@ -4017,7 +4025,7 @@ msgstr "" "objeto consciente :class:`.datetime` será produzido. O ``tzinfo`` do " "resultado será definido para uma instância :class:`timezone`." -#: ../../library/datetime.rst:2558 +#: ../../library/datetime.rst:2561 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 " @@ -4027,7 +4035,7 @@ msgstr "" "apenas em cálculos quando o dia da semana e o ano do calendário (``%Y``) são " "especificados." -#: ../../library/datetime.rst:2563 +#: ../../library/datetime.rst:2566 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:" @@ -4038,25 +4046,25 @@ msgstr "" "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." -#: ../../library/datetime.rst:2569 +#: ../../library/datetime.rst:2572 msgid "" "When used with the :meth:`strptime` method, the leading zero is optional " -"for formats ``%d``, ``%m``, ``%H``, ``%I``, ``%M``, ``%S``, ``%J``, ``%U``, " +"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." +"para formatos ``%d``, ``%m``, ``%H``, ``%I``, ``%M``, ``%S``, ``%j``, " +"``%U``, ``%W``, e ``%V``. O formato ``%y`` não requer um zero precedente." -#: ../../library/datetime.rst:2574 +#: ../../library/datetime.rst:2577 msgid "Footnotes" msgstr "Notas de rodapé" -#: ../../library/datetime.rst:2575 +#: ../../library/datetime.rst:2578 msgid "If, that is, we ignore the effects of Relativity" msgstr "Se, isto é, nós ignoramos os efeitos da Relatividade" -#: ../../library/datetime.rst:2577 +#: ../../library/datetime.rst:2580 msgid "" "This matches the definition of the \"proleptic Gregorian\" calendar in " "Dershowitz and Reingold's book *Calendrical Calculations*, where it's the " @@ -4070,17 +4078,17 @@ msgstr "" "conversão entre ordinais proléptico Gregoriano e muitos outros sistemas de " "calendário." -#: ../../library/datetime.rst:2583 +#: ../../library/datetime.rst:2586 msgid "" "See R. H. van Gent's `guide to the mathematics of the ISO 8601 calendar " -"`_ for a " -"good explanation." +"`_ 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:2587 +#: ../../library/datetime.rst:2590 msgid "" "Passing ``datetime.strptime('Feb 29', '%b %d')`` will fail since ``1900`` is " "not a leap year." diff --git a/library/dbm.po b/library/dbm.po index ae2ffcbd1..5d6ef050c 100644 --- a/library/dbm.po +++ b/library/dbm.po @@ -1,31 +1,28 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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 -# Welington Carlos , 2021 -# Claudio Rogerio Carvalho Filho , 2021 -# (Douglas da Silva) , 2021 -# i17obot , 2021 +# python-doc bot, 2025 +# Rafael Fontenelle , 2025 # #, 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:04+0000\n" -"Last-Translator: i17obot , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-10-23 17:42+0000\n" +"PO-Revision-Date: 2025-09-22 15:57+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=2; plural=(n > 1);\n" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/dbm.rst:2 msgid ":mod:`dbm` --- Interfaces to Unix \"databases\"" @@ -43,6 +40,11 @@ msgid "" "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 "" @@ -50,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 "" @@ -57,6 +62,9 @@ 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 "" @@ -169,6 +177,8 @@ msgid "" "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:87 msgid "" @@ -181,6 +191,8 @@ 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:121 msgid "Module :mod:`shelve`" @@ -188,11 +200,11 @@ msgstr "Módulo :mod:`shelve`" #: ../../library/dbm.rst:122 msgid "Persistence module which stores non-string data." -msgstr "" +msgstr "Módulo persistente que armazena dados não-string." #: ../../library/dbm.rst:125 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:129 msgid ":mod:`dbm.gnu` --- GNU's reinterpretation of dbm" @@ -200,7 +212,7 @@ msgstr "" #: ../../library/dbm.rst:135 msgid "**Source code:** :source:`Lib/dbm/gnu.py`" -msgstr "" +msgstr "**Código-fonte:** :source:`Lib/dbm/gnu.py`" #: ../../library/dbm.rst:139 msgid "" @@ -225,6 +237,9 @@ msgid "" "`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:158 msgid "" @@ -299,6 +314,9 @@ 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:225 msgid "" @@ -314,6 +332,8 @@ 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:238 msgid "Close the ``gdbm`` database." @@ -325,7 +345,7 @@ msgstr "" #: ../../library/dbm.rst:247 msgid "**Source code:** :source:`Lib/dbm/ndbm.py`" -msgstr "" +msgstr "**Código-fonte:** :source:`Lib/dbm/ndbm.py`" #: ../../library/dbm.rst:251 msgid "" @@ -350,6 +370,9 @@ msgid "" "`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:268 msgid "Name of the ``ndbm`` implementation library used." @@ -378,11 +401,11 @@ msgstr "Fecha o banco de dados ``ndbm``." #: ../../library/dbm.rst:307 msgid ":mod:`dbm.dumb` --- Portable DBM implementation" -msgstr "" +msgstr ":mod:`dbm.dumb` --- Implementação portátil do DBM" #: ../../library/dbm.rst:312 msgid "**Source code:** :source:`Lib/dbm/dumb.py`" -msgstr "" +msgstr "**Código-fonte:** :source:`Lib/dbm/dumb.py`" #: ../../library/dbm.rst:318 msgid "" @@ -391,6 +414,10 @@ msgid "" "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:325 msgid "" @@ -410,6 +437,9 @@ msgid "" "`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:341 msgid "" @@ -425,6 +455,9 @@ msgid "" "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:373 msgid "" diff --git a/library/debug.po b/library/debug.po index 2651b3b07..2dbbf632d 100644 --- a/library/debug.po +++ b/library/debug.po @@ -1,27 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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.10\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-06-29 12:56+0000\n" -"PO-Revision-Date: 2021-06-28 01:04+0000\n" -"Last-Translator: Hildeberto Abreu Magalhães , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:57+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/debug.rst:3 msgid "Debugging and Profiling" diff --git a/library/decimal.po b/library/decimal.po index 36a8cf02e..89f43f7df 100644 --- a/library/decimal.po +++ b/library/decimal.po @@ -1,29 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, Python Software 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 -# Rafael Fontenelle , 2021 +# python-doc bot, 2025 # #, 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:04+0000\n" -"Last-Translator: Rafael Fontenelle , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2026-03-05 18:13+0000\n" +"PO-Revision-Date: 2025-09-22 15:57+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/decimal.rst:2 msgid ":mod:`decimal` --- Decimal fixed point and floating point arithmetic" @@ -35,7 +33,7 @@ msgstr "**Código-fonte:** :source:`Lib/decimal.py`" #: ../../library/decimal.rst:33 msgid "" -"The :mod:`decimal` module provides support for fast correctly-rounded " +"The :mod:`decimal` module provides support for fast correctly rounded " "decimal floating point arithmetic. It offers several advantages over the :" "class:`float` datatype:" msgstr "" @@ -59,48 +57,48 @@ msgstr "" #: ../../library/decimal.rst:42 msgid "" -"Decimal numbers can be represented exactly. In contrast, numbers like :" -"const:`1.1` and :const:`2.2` do not have exact representations in binary " -"floating point. End users typically would not expect ``1.1 + 2.2`` to " -"display as :const:`3.3000000000000003` as it does with binary floating point." +"Decimal numbers can be represented exactly. In contrast, numbers like " +"``1.1`` and ``2.2`` do not have exact representations in binary floating " +"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 :const:`1.1` e :const:`2.2` não possuem representações exatas " -"em ponto flutuante binário. Os usuários finais normalmente não esperam que " -"``1.1 + 2.2`` sejam exibidos como :const:`3.3000000000000003`, como acontece " -"com o ponto flutuante binário." +"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 "" "The exactness carries over into arithmetic. In decimal floating point, " "``0.1 + 0.1 + 0.1 - 0.3`` is exactly equal to zero. In binary floating " -"point, the result is :const:`5.5511151231257827e-017`. While near to zero, " -"the differences prevent reliable equality testing and differences can " +"point, the result is ``5.5511151231257827e-017``. While near to zero, the " +"differences prevent reliable equality testing and differences can " "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 é :const:`5.5511151231257827e-017`. Embora próximas de zero, as " -"diferenças impedem o teste de igualdade confiável e as diferenças podem se " -"acumular. Por esse motivo, o decimal é preferido em aplicativos de " -"contabilidade que possuem invariáveis estritos de igualdade." +"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 "" "The decimal module incorporates a notion of significant places so that " -"``1.30 + 1.20`` is :const:`2.50`. The trailing zero is kept to indicate " +"``1.30 + 1.20`` is ``2.50``. The trailing zero is kept to indicate " "significance. This is the customary presentation for monetary applications. " "For multiplication, the \"schoolbook\" approach uses all the figures in the " -"multiplicands. For instance, ``1.3 * 1.2`` gives :const:`1.56` while ``1.30 " -"* 1.20`` gives :const:`1.5600`." +"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 :const:`2.50`. O zero à direita é mantido para indicar " +"+ 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 :const:`1.56` enquanto " -"``1.30 * 1.20`` é igual a :const:`1.5600`." +"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 "" @@ -135,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 @@ -152,15 +150,15 @@ msgstr "" msgid "" "A decimal number is immutable. It has a sign, coefficient digits, and an " "exponent. To preserve significance, the coefficient digits do not truncate " -"trailing zeros. Decimals also include special values such as :const:" -"`Infinity`, :const:`-Infinity`, and :const:`NaN`. The standard also " -"differentiates :const:`-0` from :const:`+0`." +"trailing zeros. Decimals also include special values such as ``Infinity``, " +"``-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 :const:`Infinity`, :const:`-Infinity` e :const:`NaN`. O padrão também " -"diferencia :const:`-0` de :const:`+0`." +"como ``Infinity``, ``-Infinity`` e ``NaN``. O padrão também diferencia " +"``-0`` de ``+0``." #: ../../library/decimal.rst:94 msgid "" @@ -190,7 +188,7 @@ msgid "" "`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`, :" @@ -212,10 +210,10 @@ msgstr "" #: ../../library/decimal.rst:116 msgid "" "IBM's General Decimal Arithmetic Specification, `The General Decimal " -"Arithmetic Specification `_." +"Arithmetic Specification `_." msgstr "" "A especificação geral aritmética decimal da IBM, `The General Decimal " -"Arithmetic Specification `_." +"Arithmetic Specification `_." #: ../../library/decimal.rst:125 msgid "Quick-start Tutorial" @@ -229,22 +227,22 @@ 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 "" "Decimal instances can be constructed from integers, strings, floats, or " "tuples. Construction from an integer or a float performs an exact conversion " "of the value of that integer or float. Decimal numbers include special " -"values such as :const:`NaN` which stands for \"Not a number\", positive and " -"negative :const:`Infinity`, and :const:`-0`::" +"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, pontos flutuantes ou tuplas. A construção 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 :const:`NaN`, que significa \"Não é um número\", :const:`Infinity` " -"positivo e negativo e :const:`-0`::" +"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 "" @@ -252,9 +250,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 "" @@ -262,9 +260,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 "" @@ -284,17 +282,17 @@ 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 "" -"The :meth:`quantize` method rounds a number to a fixed exponent. This " -"method is useful for monetary applications that often round results to a " -"fixed number of places:" +"The :meth:`~Decimal.quantize` method rounds a number to a fixed exponent. " +"This method is useful for monetary applications that often round results to " +"a fixed number of places:" msgstr "" -"O método :meth:`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 locais:" +"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 "" @@ -303,8 +301,8 @@ 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 "" @@ -333,31 +331,32 @@ msgid "" "Contexts also have signal flags for monitoring exceptional conditions " "encountered during computations. The flags remain set until explicitly " "cleared, so it is best to clear the flags before each set of monitored " -"computations by using the :meth:`clear_flags` method. ::" +"computations by using the :meth:`~Context.clear_flags` method. ::" msgstr "" -"Os contextos também possuem sinalizadores para monitorar condições " -"excepcionais encontradas durante os cálculos. Os sinalizadores permanecem " +"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:`clear_flags`. ::" +"método :meth:`~Context.clear_flags`. ::" #: ../../library/decimal.rst:312 msgid "" -"The *flags* entry shows that the rational approximation to :const:`Pi` was " -"rounded (digits beyond the context precision were thrown away) and that the " -"result is inexact (some of the discarded digits were non-zero)." +"The *flags* entry shows that the rational approximation to pi was rounded " +"(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* mostra que a aproximação racional de :const:`Pi` foi " -"arredondada (dígitos além da precisão do contexto foram descartados) e que o " -"resultado é inexato (alguns dos dígitos descartados eram diferentes de zero)." +"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:`traps` field of " -"a context:" +"Individual traps are set using the dictionary in the :attr:`~Context.traps` " +"attribute of a context:" msgstr "" -"As armadilhas individuais são definidas usando o dicionário no campo :attr:" -"`traps` de um contexto:" +"Armadilhas individuais são definidas usando o dicionário no atributo :attr:" +"`~Context.traps` de um contexto:" #: ../../library/decimal.rst:331 msgid "" @@ -367,11 +366,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" @@ -379,7 +378,7 @@ 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 "" @@ -389,12 +388,12 @@ msgid "" "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 "" @@ -410,15 +409,15 @@ msgstr "" #: ../../library/decimal.rst:371 msgid "" -"If *value* is a :class:`tuple`, it should have three components, a sign (:" -"const:`0` for positive or :const:`1` for negative), a :class:`tuple` of " -"digits, and an integer exponent. For example, ``Decimal((0, (1, 4, 1, 4), " -"-3))`` returns ``Decimal('1.414')``." +"If *value* is a :class:`tuple`, it should have three components, a sign " +"(``0`` for positive or ``1`` for negative), a :class:`tuple` of digits, and " +"an integer exponent. For example, ``Decimal((0, (1, 4, 1, 4), -3))`` returns " +"``Decimal('1.414')``." msgstr "" -"Se *value* for um :class:`tuple`, ele deverá ter três componentes, um sinal " -"(:const:`0` para positivo ou :const:`1` para negativo), um :class:`tuple` de " -"dígitos e um expoente inteiro. Por exemplo, ``Decimal((0, (1, 4, 1, 4), " -"-3))`` returna ``Decimal('1.414')``." +"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 "" @@ -441,26 +440,26 @@ 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 "" "The purpose of the *context* argument is determining what to do if *value* " "is a malformed string. If the context traps :const:`InvalidOperation`, an " "exception is raised; otherwise, the constructor returns a new Decimal with " -"the value of :const:`NaN`." +"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 de :const:`NaN`." +"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 "" @@ -483,7 +482,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 "" @@ -508,10 +507,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 "" @@ -529,8 +528,8 @@ 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 "" @@ -547,8 +546,8 @@ msgstr "" "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 "" @@ -556,7 +555,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 "" @@ -663,7 +662,7 @@ msgstr "" "detalhes da ordem total." #: ../../library/decimal.rst:520 ../../library/decimal.rst:531 -#: ../../library/decimal.rst:559 ../../library/decimal.rst:834 +#: ../../library/decimal.rst:559 ../../library/decimal.rst:835 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 " @@ -731,26 +730,28 @@ msgstr "" "arredondamento :const:`ROUND_HALF_EVEN`." #: ../../library/decimal.rst:576 -msgid "Classmethod that converts a float to a decimal number, exactly." +msgid "" +"Alternative constructor that only accepts instances of :class:`float` or :" +"class:`int`." msgstr "" -"Método de classe que converte um ponto flutuante em um número decimal, " -"exatamente." +"Construtor alternativo que aceita apenas instâncias de :class:`float` ou :" +"class:`int`." -#: ../../library/decimal.rst:578 +#: ../../library/decimal.rst:579 msgid "" -"Note `Decimal.from_float(0.1)` is not the same as `Decimal('0.1')`. Since " -"0.1 is not exactly representable in binary floating point, the value is " -"stored as the nearest representable value which is `0x1.999999999999ap-4`. " -"That equivalent value in decimal is " -"`0.1000000000000000055511151231257827021181583404541015625`." +"Note ``Decimal.from_float(0.1)`` is not the same as ``Decimal('0.1')``. " +"Since 0.1 is not exactly representable in binary floating point, the value " +"is stored as the nearest representable value which is " +"``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`." +"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:584 +#: ../../library/decimal.rst:585 msgid "" "From Python 3.2 onwards, a :class:`Decimal` instance can also be constructed " "directly from a :class:`float`." @@ -758,15 +759,15 @@ msgstr "" "A partir do Python 3.2 em diante, uma instância de :class:`Decimal` também " "pode ser construída diretamente a partir de um :class:`float`." -#: ../../library/decimal.rst:602 +#: ../../library/decimal.rst:603 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:610 +#: ../../library/decimal.rst:611 msgid "" "Return :const:`True` if the argument is canonical and :const:`False` " "otherwise. Currently, a :class:`Decimal` instance is always canonical, so " @@ -776,7 +777,7 @@ msgstr "" "contrário. Atualmente, uma instância de :class:`Decimal` é sempre canônica, " "portanto, esta operação sempre retorna :const:`True`." -#: ../../library/decimal.rst:616 +#: ../../library/decimal.rst:617 msgid "" "Return :const:`True` if the argument is a finite number, and :const:`False` " "if the argument is an infinity or a NaN." @@ -784,7 +785,7 @@ msgstr "" "Retorna :const:`True` se o argumento for um número finito e :const:`False` " "se o argumento for um infinito ou um NaN." -#: ../../library/decimal.rst:621 +#: ../../library/decimal.rst:622 msgid "" "Return :const:`True` if the argument is either positive or negative infinity " "and :const:`False` otherwise." @@ -792,15 +793,15 @@ msgstr "" "Retorna :const:`True` se o argumento for infinito positivo ou negativo e :" "const:`False` caso contrário." -#: ../../library/decimal.rst:626 +#: ../../library/decimal.rst:627 msgid "" "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 :" +"Retorna :const:`True` se o argumento for NaN (silencioso ou sinalizado) e :" "const:`False` caso contrário." -#: ../../library/decimal.rst:631 +#: ../../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." @@ -808,15 +809,15 @@ 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." -#: ../../library/decimal.rst:636 +#: ../../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:641 +#: ../../library/decimal.rst:642 msgid "" "Return :const:`True` if the argument has a negative sign and :const:`False` " "otherwise. Note that zeros and NaNs can both carry signs." @@ -824,7 +825,7 @@ 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." -#: ../../library/decimal.rst:646 +#: ../../library/decimal.rst:647 msgid "" "Return :const:`True` if the argument is a signaling NaN and :const:`False` " "otherwise." @@ -832,7 +833,7 @@ msgstr "" "Retorna :const:`True` se o argumento for um sinal NaN e :const:`False` caso " "contrário." -#: ../../library/decimal.rst:651 +#: ../../library/decimal.rst:652 msgid "" "Return :const:`True` if the argument is subnormal, and :const:`False` " "otherwise." @@ -840,7 +841,7 @@ msgstr "" "Retorna :const:`True` se o argumento for subnormal e :const:`False` caso " "contrário." -#: ../../library/decimal.rst:656 +#: ../../library/decimal.rst:657 msgid "" "Return :const:`True` if the argument is a (positive or negative) zero and :" "const:`False` otherwise." @@ -848,7 +849,7 @@ msgstr "" "Retorna :const:`True` se o argumento for um zero (positivo ou negativo) e :" "const:`False` caso contrário." -#: ../../library/decimal.rst:661 +#: ../../library/decimal.rst:662 msgid "" "Return the natural (base e) logarithm of the operand. The result is " "correctly rounded using the :const:`ROUND_HALF_EVEN` rounding mode." @@ -856,7 +857,7 @@ msgstr "" "Retorna o logaritmo (base e) natural do operando. O resultado é arredondado " "corretamente usando o modo de arredondamento :const:`ROUND_HALF_EVEN`." -#: ../../library/decimal.rst:666 +#: ../../library/decimal.rst:667 msgid "" "Return the base ten logarithm of the operand. The result is correctly " "rounded using the :const:`ROUND_HALF_EVEN` rounding mode." @@ -864,7 +865,7 @@ msgstr "" "Retorna o logaritmo da base dez do operando. O resultado é arredondado " "corretamente usando o modo de arredondamento :const:`ROUND_HALF_EVEN`." -#: ../../library/decimal.rst:671 +#: ../../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('-" @@ -877,7 +878,7 @@ msgstr "" "é levantado. Se o operando for um infinito, ``Decimal('Infinity')`` será " "retornado." -#: ../../library/decimal.rst:679 +#: ../../library/decimal.rst:680 msgid "" ":meth:`logical_and` is a logical operation which takes two *logical " "operands* (see :ref:`logical_operands_label`). The result is the digit-wise " @@ -887,7 +888,7 @@ msgstr "" "(consulte :ref:`logical_operands_label`). O resultado é o ``and`` dígito a " "dígito dos dois operandos." -#: ../../library/decimal.rst:685 +#: ../../library/decimal.rst:686 msgid "" ":meth:`logical_invert` is a logical operation. The result is the digit-wise " "inversion of the operand." @@ -895,7 +896,7 @@ msgstr "" ":meth:`logical_invert` é uma operação lógica. O resultado é a inversão " "dígito a dígito do operando." -#: ../../library/decimal.rst:690 +#: ../../library/decimal.rst:691 msgid "" ":meth:`logical_or` is a logical operation which takes two *logical operands* " "(see :ref:`logical_operands_label`). The result is the digit-wise ``or`` of " @@ -905,7 +906,7 @@ msgstr "" "(consulte :ref:`logical_operands_label`). O resultado é o ``or`` dígito a " "dígito dos dois operandos." -#: ../../library/decimal.rst:696 +#: ../../library/decimal.rst:697 msgid "" ":meth:`logical_xor` is a logical operation which takes two *logical " "operands* (see :ref:`logical_operands_label`). The result is the digit-wise " @@ -915,17 +916,17 @@ msgstr "" "(consulte :ref:`logical_operands_label`). O resultado é o \"ou exclusivo\" " "dígito a dígito ou dos dois operandos." -#: ../../library/decimal.rst:702 +#: ../../library/decimal.rst:703 msgid "" "Like ``max(self, other)`` except that the context rounding rule is applied " -"before returning and that :const:`NaN` values are either signaled or ignored " +"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 :const:`NaN` são sinalizados " -"ou ignorados (dependendo do contexto e se estão sinalizando ou silenciosos)." +"é 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:709 +#: ../../library/decimal.rst:710 msgid "" "Similar to the :meth:`.max` method, but the comparison is done using the " "absolute values of the operands." @@ -933,17 +934,17 @@ msgstr "" "Semelhante ao método :meth:`.max`, mas a comparação é feita usando os " "valores absolutos dos operandos." -#: ../../library/decimal.rst:714 +#: ../../library/decimal.rst:715 msgid "" "Like ``min(self, other)`` except that the context rounding rule is applied " -"before returning and that :const:`NaN` values are either signaled or ignored " +"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 :const:`NaN` são sinalizados " -"ou ignorados (dependendo do contexto e se estão sinalizando ou silenciosos)." +"é 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:721 +#: ../../library/decimal.rst:722 msgid "" "Similar to the :meth:`.min` method, but the comparison is done using the " "absolute values of the operands." @@ -951,7 +952,7 @@ msgstr "" "Semelhante ao método :meth:`.min`, mas a comparação é feita usando os " "valores absolutos dos operandos." -#: ../../library/decimal.rst:726 +#: ../../library/decimal.rst:727 msgid "" "Return the largest number representable in the given context (or in the " "current thread's context if no context is given) that is smaller than the " @@ -961,7 +962,7 @@ msgstr "" "atual da thread, se nenhum contexto for fornecido) que seja menor que o " "operando especificado." -#: ../../library/decimal.rst:732 +#: ../../library/decimal.rst:733 msgid "" "Return the smallest number representable in the given context (or in the " "current thread's context if no context is given) that is larger than the " @@ -971,7 +972,7 @@ msgstr "" "atual da thread, se nenhum contexto for fornecido) que seja maior que o " "operando fornecido." -#: ../../library/decimal.rst:738 +#: ../../library/decimal.rst:739 msgid "" "If the two operands are unequal, return the number closest to the first " "operand in the direction of the second operand. If both operands are " @@ -983,22 +984,16 @@ msgstr "" "numericamente iguais, retorna uma cópia do primeiro operando com o sinal " "configurado para ser o mesmo que o sinal do segundo operando." -#: ../../library/decimal.rst:745 +#: ../../library/decimal.rst:746 msgid "" "Normalize the number by stripping the rightmost trailing zeros and " -"converting any result equal to :const:`Decimal('0')` to :const:" -"`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')``." +"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')``." msgstr "" -"Normaliza o número eliminando os zeros à direita e convertendo qualquer " -"resultado igual a :const:`Decimal('0')` para :const:`Decimal('0e0')`. Usado " -"para produzir valores canônicos para atributos de uma classe de " -"equivalência. Por exemplo, ``Decimal('32.100')`` e ``Decimal('0.321000e" -"+2')`` normalizam com o valor equivalente ``Decimal('32.1')``." -#: ../../library/decimal.rst:754 +#: ../../library/decimal.rst:755 msgid "" "Return a string describing the *class* of the operand. The returned value " "is one of the following ten strings." @@ -1006,52 +1001,52 @@ msgstr "" "Retorna uma string descrevendo a *classe* do operando. O valor retornado é " "uma das dez sequências a seguir." -#: ../../library/decimal.rst:757 +#: ../../library/decimal.rst:758 msgid "``\"-Infinity\"``, indicating that the operand is negative infinity." msgstr "``\"-Infinity\"``, indicando que o operando é infinito negativo." -#: ../../library/decimal.rst:758 +#: ../../library/decimal.rst:759 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:759 +#: ../../library/decimal.rst:760 msgid "" "``\"-Subnormal\"``, indicating that the operand is negative and subnormal." msgstr "``\"-Subnormal\"``, indicando que o operando é negativo e subnormal." -#: ../../library/decimal.rst:760 +#: ../../library/decimal.rst:761 msgid "``\"-Zero\"``, indicating that the operand is a negative zero." msgstr "``\"-Zero\"``, indicando que o operando é um zero negativo." -#: ../../library/decimal.rst:761 +#: ../../library/decimal.rst:762 msgid "``\"+Zero\"``, indicating that the operand is a positive zero." msgstr "``\"+Zero\"``, indicando que o operando é um zero positivo." -#: ../../library/decimal.rst:762 +#: ../../library/decimal.rst:763 msgid "" "``\"+Subnormal\"``, indicating that the operand is positive and subnormal." msgstr "``\"+Subnormal\"``, indicando que o operando é positivo e subnormal." -#: ../../library/decimal.rst:763 +#: ../../library/decimal.rst:764 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:764 +#: ../../library/decimal.rst:765 msgid "``\"+Infinity\"``, indicating that the operand is positive infinity." msgstr "``\"+Infinity\"``, indicando que o operando é infinito positivo." -#: ../../library/decimal.rst:765 +#: ../../library/decimal.rst:766 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:766 +#: ../../library/decimal.rst:767 msgid "``\"sNaN\"``, indicating that the operand is a signaling NaN." msgstr "``\"sNaN\"``, indicando que o operando é um NaN sinalizador." -#: ../../library/decimal.rst:770 +#: ../../library/decimal.rst:771 msgid "" "Return a value equal to the first operand after rounding and having the " "exponent of the second operand." @@ -1059,7 +1054,7 @@ msgstr "" "Retorna um valor igual ao primeiro operando após o arredondamento e com o " "expoente do segundo operando." -#: ../../library/decimal.rst:776 +#: ../../library/decimal.rst:777 msgid "" "Unlike other operations, if the length of the coefficient after the quantize " "operation would be greater than precision, then an :const:`InvalidOperation` " @@ -1072,7 +1067,7 @@ msgstr "" "condição de erro, o expoente quantizado é sempre igual ao do operando do " "lado direito." -#: ../../library/decimal.rst:782 +#: ../../library/decimal.rst:783 msgid "" "Also unlike other operations, quantize never signals Underflow, even if the " "result is subnormal and inexact." @@ -1080,7 +1075,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:785 +#: ../../library/decimal.rst:786 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 " @@ -1094,15 +1089,15 @@ msgstr "" "``context`` fornecido; se nenhum argumento for fornecido, o modo de " "arredondamento do contexto da thread atual será usado." -#: ../../library/decimal.rst:791 +#: ../../library/decimal.rst:792 msgid "" "An error is returned whenever the resulting exponent is greater than :attr:" -"`Emax` or less than :attr:`Etiny`." +"`~Context.Emax` or less than :meth:`~Context.Etiny`." msgstr "" "Um erro é retornado sempre que o expoente resultante for maior que :attr:" -"`Emax` ou menor que :attr:`Etiny`." +"`~Context.Emax` ou menor que :meth:`~Context.Etiny`." -#: ../../library/decimal.rst:796 +#: ../../library/decimal.rst:797 msgid "" "Return ``Decimal(10)``, the radix (base) in which the :class:`Decimal` class " "does all its arithmetic. Included for compatibility with the specification." @@ -1110,7 +1105,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:802 +#: ../../library/decimal.rst:803 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 " @@ -1125,11 +1120,11 @@ msgstr "" "se dois números inteiros estiverem igualmente próximos, o par será é " "escolhido." -#: ../../library/decimal.rst:809 +#: ../../library/decimal.rst:810 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:820 +#: ../../library/decimal.rst:821 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 " @@ -1150,15 +1145,14 @@ msgstr "" "comprimento, se necessário. O sinal e o expoente do primeiro operando não " "são alterados." -#: ../../library/decimal.rst:831 +#: ../../library/decimal.rst:832 msgid "" -"Test whether self and other have the same exponent or whether both are :" -"const:`NaN`." +"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 :const:" -"`NaN`." +"Testa se \"self\" e \"other\" têm o mesmo expoente ou se ambos são ``NaN``." -#: ../../library/decimal.rst:840 +#: ../../library/decimal.rst:841 msgid "" "Return the first operand with exponent adjusted by the second. Equivalently, " "return the first operand multiplied by ``10**other``. The second operand " @@ -1168,7 +1162,7 @@ msgstr "" "forma, retorna o primeiro operando multiplicado por ``10**other``. O segundo " "operando deve ser um número inteiro." -#: ../../library/decimal.rst:846 +#: ../../library/decimal.rst:847 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 " @@ -1187,18 +1181,18 @@ msgstr "" "coeficiente são zeros. O sinal e o expoente do primeiro operando não são " "alterados." -#: ../../library/decimal.rst:856 +#: ../../library/decimal.rst:857 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:861 ../../library/decimal.rst:1440 +#: ../../library/decimal.rst:862 ../../library/decimal.rst:1441 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:863 ../../library/decimal.rst:1442 +#: ../../library/decimal.rst:864 ../../library/decimal.rst:1443 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 " @@ -1208,13 +1202,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:867 +#: ../../library/decimal.rst:868 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:871 +#: ../../library/decimal.rst:872 msgid "" "Identical to the :meth:`to_integral_value` method. The ``to_integral`` name " "has been kept for compatibility with older versions." @@ -1222,7 +1216,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:876 +#: ../../library/decimal.rst:877 msgid "" "Round to the nearest integer, signaling :const:`Inexact` or :const:`Rounded` " "as appropriate if rounding occurs. The rounding mode is determined by the " @@ -1231,11 +1225,11 @@ 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:884 +#: ../../library/decimal.rst:885 msgid "" "Round to the nearest integer without signaling :const:`Inexact` or :const:" "`Rounded`. If given, applies *rounding*; otherwise, uses the rounding " @@ -1245,27 +1239,29 @@ msgstr "" "ou :const:`Rounding`. Se fornecido, aplica *rounding*; caso contrário, usa o " "método de arredondamento no *context* especificado ou no contexto atual." -#: ../../library/decimal.rst:892 +#: ../../library/decimal.rst:893 msgid "Logical operands" msgstr "Operandos lógicos" -#: ../../library/decimal.rst:894 +#: ../../library/decimal.rst:895 msgid "" -"The :meth:`logical_and`, :meth:`logical_invert`, :meth:`logical_or`, and :" -"meth:`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 :const:`0` or :const:`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:`logical_and`, :meth:`logical_invert`, :meth:`logical_or` " -"e :meth:`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 :const:`0` ou :const:`1`." +"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:906 +#: ../../library/decimal.rst:907 msgid "Context objects" msgstr "Objetos de contexto" -#: ../../library/decimal.rst:908 +#: ../../library/decimal.rst:909 msgid "" "Contexts are environments for arithmetic operations. They govern precision, " "set rules for rounding, determine which signals are treated as exceptions, " @@ -1275,7 +1271,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:912 +#: ../../library/decimal.rst:913 msgid "" "Each thread has its own current context which is accessed or changed using " "the :func:`getcontext` and :func:`setcontext` functions:" @@ -1283,15 +1279,15 @@ 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:918 +#: ../../library/decimal.rst:919 msgid "Return the current context for the active thread." msgstr "Retorna o contexto atual para a thread ativa." -#: ../../library/decimal.rst:923 +#: ../../library/decimal.rst:924 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:925 +#: ../../library/decimal.rst:926 msgid "" "You can also use the :keyword:`with` statement and the :func:`localcontext` " "function to temporarily change the active context." @@ -1299,7 +1295,7 @@ msgstr "" "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:930 +#: ../../library/decimal.rst:931 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 " @@ -1311,7 +1307,7 @@ msgstr "" "restaurar o contexto anterior ao sair da instrução \"with\". Se nenhum " "contexto for especificado, uma cópia do contexto atual será usada." -#: ../../library/decimal.rst:935 +#: ../../library/decimal.rst:936 msgid "" "For example, the following code sets the current decimal precision to 42 " "places, performs a calculation, and then automatically restores the previous " @@ -1320,7 +1316,7 @@ 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:945 +#: ../../library/decimal.rst:946 msgid "" "New contexts can also be created using the :class:`Context` constructor " "described below. In addition, the module provides three pre-made contexts:" @@ -1329,7 +1325,7 @@ msgstr "" "`Context` descrito abaixo. Além disso, o módulo fornece três contextos pré-" "criados::" -#: ../../library/decimal.rst:951 +#: ../../library/decimal.rst:952 msgid "" "This is a standard context defined by the General Decimal Arithmetic " "Specification. Precision is set to nine. Rounding is set to :const:" @@ -1343,14 +1339,14 @@ msgstr "" "armadilhas estão ativadas (tratadas como exceções), exceto por :const:" "`Inexact`, :const:`Rounded` e :const:`Subnormal`." -#: ../../library/decimal.rst:957 +#: ../../library/decimal.rst:958 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:962 +#: ../../library/decimal.rst:963 msgid "" "This is a standard context defined by the General Decimal Arithmetic " "Specification. Precision is set to nine. Rounding is set to :const:" @@ -1363,19 +1359,19 @@ msgstr "" "armadilha está ativada (de forma que exceções não são levantadas durante os " "cálculos)." -#: ../../library/decimal.rst:967 +#: ../../library/decimal.rst:968 msgid "" "Because the traps are disabled, this context is useful for applications that " -"prefer to have result value of :const:`NaN` or :const:`Infinity` instead of " -"raising exceptions. This allows an application to complete a run in the " -"presence of conditions that would otherwise halt the program." +"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 :const:`NaN` ou :const:`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." +"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:975 +#: ../../library/decimal.rst:976 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 " @@ -1387,7 +1383,7 @@ msgstr "" "alterar o padrão para novos contextos criados pelo construtor :class:" "`Context`." -#: ../../library/decimal.rst:979 +#: ../../library/decimal.rst:980 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 " @@ -1400,7 +1396,7 @@ msgstr "" "threads, pois exigiria sincronização de threads para evitar condições de " "corrida." -#: ../../library/decimal.rst:984 +#: ../../library/decimal.rst:985 msgid "" "In single threaded environments, it is preferable to not use this context at " "all. Instead, simply create contexts explicitly as described below." @@ -1408,17 +1404,17 @@ 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:987 +#: ../../library/decimal.rst:988 msgid "" -"The default values are :attr:`prec`\\ =\\ :const:`28`, :attr:`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:`prec`\\ =\\ :const:`28`, :attr:`rounding`\\ =" -"\\ :const:`ROUND_HALF_EVEN` e armadilhas ativadas para :class:`Overflow`, :" -"class:`InvalidOperation` e :class:`DivisionByZero`." +"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:992 +#: ../../library/decimal.rst:993 msgid "" "In addition to the three supplied contexts, new contexts can be created with " "the :class:`Context` constructor." @@ -1426,7 +1422,7 @@ msgstr "" "Além dos três contextos fornecidos, novos contextos podem ser criados com o " "construtor :class:`Context`." -#: ../../library/decimal.rst:998 +#: ../../library/decimal.rst:999 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* " @@ -1437,15 +1433,15 @@ msgstr "" "campo *flags* não for especificado ou for :const:`None`, todos os " "sinalizadores serão limpados." -#: ../../library/decimal.rst:1002 +#: ../../library/decimal.rst:1003 msgid "" -"*prec* is an integer in the range [:const:`1`, :const:`MAX_PREC`] that sets " -"the precision for arithmetic operations in the context." +"*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 [:const:`1`, :const:`MAX_PREC`] que " +"*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:1005 +#: ../../library/decimal.rst:1006 msgid "" "The *rounding* option is one of the constants listed in the section " "`Rounding Modes`_." @@ -1453,7 +1449,7 @@ msgstr "" "A opção *rounding* é uma das constantes listadas na seção `Modos de " "arredondamento`_." -#: ../../library/decimal.rst:1008 +#: ../../library/decimal.rst:1009 msgid "" "The *traps* and *flags* fields list any signals to be set. Generally, new " "contexts should only set traps and leave the flags clear." @@ -1462,97 +1458,97 @@ msgstr "" "Geralmente, novos contextos devem apenas definir armadilhas e deixar os " "sinalizadores limpos." -#: ../../library/decimal.rst:1011 +#: ../../library/decimal.rst:1012 msgid "" "The *Emin* and *Emax* fields are integers specifying the outer limits " -"allowable for exponents. *Emin* must be in the range [:const:`MIN_EMIN`, :" -"const:`0`], *Emax* in the range [:const:`0`, :const:`MAX_EMAX`]." +"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`, :const:`0`], *Emax* no intervalo [:const:`0`, :const:`MAX_EMAX`]." - -#: ../../library/decimal.rst:1015 -msgid "" -"The *capitals* field is either :const:`0` or :const:`1` (the default). If " -"set to :const:`1`, exponents are printed with a capital :const:`E`; " -"otherwise, a lowercase :const:`e` is used: :const:`Decimal('6.02e+23')`." -msgstr "" -"O campo *capitals* é :const:`0` ou :const:`1` (o padrão). Se definido como :" -"const:`1`, os expoentes serão impressos com um :const:`E` maiúsculo; caso " -"contrário, um :const:`e` minúscula é usado: :const:`Decimal('6.02e+23')`." - -#: ../../library/decimal.rst:1019 -msgid "" -"The *clamp* field is either :const:`0` (the default) or :const:`1`. If set " -"to :const:`1`, the exponent ``e`` of a :class:`Decimal` instance " -"representable in this context is strictly limited to the range ``Emin - prec " -"+ 1 <= e <= Emax - prec + 1``. If *clamp* is :const:`0` then a weaker " -"condition holds: the adjusted exponent of the :class:`Decimal` instance is " -"at most ``Emax``. When *clamp* is :const:`1`, a large normal number will, " -"where possible, have its exponent reduced and a corresponding number of " -"zeros added to its coefficient, in order to fit the exponent constraints; " -"this preserves the value of the number but loses information about " -"significant trailing zeros. For example::" -msgstr "" -"O campo *clamp* é :const:`0` (o padrão) ou :const:`1`. Se definido como :" -"const:`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 :const:`0`, uma condição " -"mais fraca será mantida: o expoente ajustado da instância de :class:" -"`Decimal` é no máximo ``Emax``. Quando *clamp* é :const:`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:1034 -msgid "" -"A *clamp* value of :const:`1` allows compatibility with the fixed-width " -"decimal interchange formats specified in IEEE 754." -msgstr "" -"Um valor de *clamp* de :const:`1` permite compatibilidade com os formatos de " +"`MIN_EMIN`, ``0``], *Emax* no intervalo [``0``, :const:`MAX_EMAX`]." + +#: ../../library/decimal.rst:1016 +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:1020 +msgid "" +"The *clamp* field is either ``0`` (the default) or ``1``. If set to ``1``, " +"the exponent ``e`` of a :class:`Decimal` instance representable in this " +"context is strictly limited to the range ``Emin - prec + 1 <= e <= Emax - " +"prec + 1``. If *clamp* is ``0`` then a weaker condition holds: the adjusted " +"exponent of the :class:`Decimal` instance is at most :attr:`~Context.Emax`. " +"When *clamp* is ``1``, a large normal number will, where possible, have its " +"exponent reduced and a corresponding number of zeros added to its " +"coefficient, in order to fit the exponent constraints; this preserves the " +"value of the number but loses information about significant trailing zeros. " +"For example::" +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:1035 +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:1037 +#: ../../library/decimal.rst:1038 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:`adjusted` and :meth:`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." +"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:`adjusted` e :meth:`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:" +"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:1050 -msgid "Resets all of the flags to :const:`0`." -msgstr "Redefine todos os sinalizadores para :const:`0`." +#: ../../library/decimal.rst:1051 +msgid "Resets all of the flags to ``0``." +msgstr "Redefine todos os sinalizadores para ``0``." -#: ../../library/decimal.rst:1054 -msgid "Resets all of the traps to :const:`0`." -msgstr "Redefine todas as armadilhas para :const:`0`." +#: ../../library/decimal.rst:1055 +msgid "Resets all of the traps to ``0``." +msgstr "Redefine todas as armadilhas para ``0``." -#: ../../library/decimal.rst:1060 +#: ../../library/decimal.rst:1061 msgid "Return a duplicate of the context." msgstr "Retorna uma duplicata do contexto." -#: ../../library/decimal.rst:1064 +#: ../../library/decimal.rst:1065 msgid "Return a copy of the Decimal instance num." msgstr "Retorna uma cópia da instância de Decimal *num*." -#: ../../library/decimal.rst:1068 +#: ../../library/decimal.rst:1069 msgid "" "Creates a new Decimal instance from *num* but using *self* as context. " "Unlike the :class:`Decimal` constructor, the context precision, rounding " @@ -1563,7 +1559,7 @@ msgstr "" "contexto, o método de arredondamento, os sinalizadores e as armadilhas são " "aplicadas à conversão." -#: ../../library/decimal.rst:1072 +#: ../../library/decimal.rst:1073 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 " @@ -1577,7 +1573,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:1086 +#: ../../library/decimal.rst:1087 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 " @@ -1587,7 +1583,7 @@ msgstr "" "argumento for uma string, nenhum espaço em branco à esquerda ou à direita ou " "sublinhado serão permitidos." -#: ../../library/decimal.rst:1092 +#: ../../library/decimal.rst:1093 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 " @@ -1599,7 +1595,7 @@ 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:1112 +#: ../../library/decimal.rst:1113 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 :" @@ -1609,11 +1605,11 @@ msgstr "" "expoente para resultados subnormais. Quando ocorre o estouro negativo, o " "expoente é definido como :const:`Etiny`." -#: ../../library/decimal.rst:1118 +#: ../../library/decimal.rst:1119 msgid "Returns a value equal to ``Emax - prec + 1``." msgstr "Retorna um valor igual a ``Emax - prec + 1``." -#: ../../library/decimal.rst:1120 +#: ../../library/decimal.rst:1121 msgid "" "The usual approach to working with decimals is to create :class:`Decimal` " "instances and then apply arithmetic operations which take place within the " @@ -1628,191 +1624,191 @@ msgstr "" "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:1130 +#: ../../library/decimal.rst:1131 msgid "Returns the absolute value of *x*." msgstr "Retorna o valor absoluto de *x*." -#: ../../library/decimal.rst:1135 +#: ../../library/decimal.rst:1136 msgid "Return the sum of *x* and *y*." msgstr "Retorna a soma de *x* e *y*." -#: ../../library/decimal.rst:1140 +#: ../../library/decimal.rst:1141 msgid "Returns the same Decimal object *x*." msgstr "Retorna o mesmo objeto de Decimal *x*." -#: ../../library/decimal.rst:1145 +#: ../../library/decimal.rst:1146 msgid "Compares *x* and *y* numerically." msgstr "Compara *x* e *y* numericamente." -#: ../../library/decimal.rst:1150 +#: ../../library/decimal.rst:1151 msgid "Compares the values of the two operands numerically." msgstr "Compara os valores dos dois operandos numericamente." -#: ../../library/decimal.rst:1155 +#: ../../library/decimal.rst:1156 msgid "Compares two operands using their abstract representation." msgstr "Compara dois operandos usando sua representação abstrata." -#: ../../library/decimal.rst:1160 +#: ../../library/decimal.rst:1161 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:1165 +#: ../../library/decimal.rst:1166 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:1170 +#: ../../library/decimal.rst:1171 msgid "Returns a copy of *x* with the sign inverted." msgstr "Retorna uma cópia de *x* com o sinal invertido." -#: ../../library/decimal.rst:1175 +#: ../../library/decimal.rst:1176 msgid "Copies the sign from *y* to *x*." msgstr "Copia o sinal de *y* para *x*." -#: ../../library/decimal.rst:1180 +#: ../../library/decimal.rst:1181 msgid "Return *x* divided by *y*." msgstr "Retorna *x* dividido por *y*." -#: ../../library/decimal.rst:1185 +#: ../../library/decimal.rst:1186 msgid "Return *x* divided by *y*, truncated to an integer." msgstr "Retorna *x* dividido por *y*, truncado para um inteiro." -#: ../../library/decimal.rst:1190 +#: ../../library/decimal.rst:1191 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:1195 -msgid "Returns `e ** x`." -msgstr "Retorna `e ** x`." +#: ../../library/decimal.rst:1196 +msgid "Returns ``e ** x``." +msgstr "Retorna ``e ** x``." -#: ../../library/decimal.rst:1200 +#: ../../library/decimal.rst:1201 msgid "Returns *x* multiplied by *y*, plus *z*." msgstr "Retorna *x* multiplicado por *y*, mais *z*." -#: ../../library/decimal.rst:1205 +#: ../../library/decimal.rst:1206 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:1210 +#: ../../library/decimal.rst:1211 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:1215 +#: ../../library/decimal.rst:1216 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:1220 +#: ../../library/decimal.rst:1221 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:1225 +#: ../../library/decimal.rst:1226 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:1230 +#: ../../library/decimal.rst:1231 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:1235 +#: ../../library/decimal.rst:1236 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:1240 +#: ../../library/decimal.rst:1241 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:1245 +#: ../../library/decimal.rst:1246 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:1250 +#: ../../library/decimal.rst:1251 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:1255 +#: ../../library/decimal.rst:1256 msgid "Returns the natural (base e) logarithm of *x*." msgstr "Retorna o logaritmo natural (base e) de *x*." -#: ../../library/decimal.rst:1260 +#: ../../library/decimal.rst:1261 msgid "Returns the base 10 logarithm of *x*." msgstr "Retorna o logaritmo de base 10 de *x*." -#: ../../library/decimal.rst:1265 +#: ../../library/decimal.rst:1266 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:1270 +#: ../../library/decimal.rst:1271 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:1275 +#: ../../library/decimal.rst:1276 msgid "Invert all the digits in *x*." msgstr "Inverte todos os dígitos em *x*." -#: ../../library/decimal.rst:1280 +#: ../../library/decimal.rst:1281 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:1285 +#: ../../library/decimal.rst:1286 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:1290 +#: ../../library/decimal.rst:1291 msgid "Compares two values numerically and returns the maximum." msgstr "Compara dois valores numericamente e retorna o máximo." -#: ../../library/decimal.rst:1295 ../../library/decimal.rst:1305 +#: ../../library/decimal.rst:1296 ../../library/decimal.rst:1306 msgid "Compares the values numerically with their sign ignored." msgstr "Compara dois valores numericamente com seu sinal ignorado." -#: ../../library/decimal.rst:1300 +#: ../../library/decimal.rst:1301 msgid "Compares two values numerically and returns the minimum." msgstr "Compara dois valores numericamente e retorna o mínimo." -#: ../../library/decimal.rst:1310 +#: ../../library/decimal.rst:1311 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:1315 +#: ../../library/decimal.rst:1316 msgid "Return the product of *x* and *y*." msgstr "Retorna o produto de *x* e *y*." -#: ../../library/decimal.rst:1320 +#: ../../library/decimal.rst:1321 msgid "Returns the largest representable number smaller than *x*." msgstr "Retorna o maior número representável menor que *x*." -#: ../../library/decimal.rst:1325 +#: ../../library/decimal.rst:1326 msgid "Returns the smallest representable number larger than *x*." msgstr "Retorna o menor número representável maior que *x*." -#: ../../library/decimal.rst:1330 +#: ../../library/decimal.rst:1331 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:1335 +#: ../../library/decimal.rst:1336 msgid "Reduces *x* to its simplest form." msgstr "Reduz *x* para sua forma mais simples." -#: ../../library/decimal.rst:1340 +#: ../../library/decimal.rst:1341 msgid "Returns an indication of the class of *x*." msgstr "Retorna uma indicação da classe de *x*." -#: ../../library/decimal.rst:1345 +#: ../../library/decimal.rst:1346 msgid "" "Plus corresponds to the unary prefix plus operator in Python. This " "operation applies the context precision and rounding, so it is *not* an " @@ -1822,18 +1818,18 @@ msgstr "" "operação aplica a precisão e o arredondamento do contexto, portanto *não* é " "uma operação de identidade." -#: ../../library/decimal.rst:1352 +#: ../../library/decimal.rst:1353 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:1354 +#: ../../library/decimal.rst:1355 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 " "result is finite and can be expressed exactly in 'precision' digits. The " -"rounding mode of the context is used. Results are always correctly-rounded " +"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 " @@ -1842,7 +1838,7 @@ msgstr "" "dígitos. O modo de arredondamento do contexto é usado. Os resultados são " "sempre arredondados corretamente na versão Python." -#: ../../library/decimal.rst:1360 +#: ../../library/decimal.rst:1361 msgid "" "``Decimal(0) ** Decimal(0)`` results in ``InvalidOperation``, and if " "``InvalidOperation`` is not trapped, then results in ``Decimal('NaN')``." @@ -1850,17 +1846,17 @@ msgstr "" "``Decimal(0) ** Decimal(0)`` resulta em ``InvalidOperation``, e se " "``InvalidOperation`` não for capturado, resulta em ``Decimal('NaN')``." -#: ../../library/decimal.rst:1363 +#: ../../library/decimal.rst:1364 msgid "" -"The C module computes :meth:`power` in terms of the correctly-rounded :meth:" +"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\"." +"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:1368 +#: ../../library/decimal.rst:1369 msgid "" "With three arguments, compute ``(x**y) % modulo``. For the three argument " "form, the following restrictions on the arguments hold:" @@ -1868,24 +1864,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:1371 +#: ../../library/decimal.rst:1372 msgid "all three arguments must be integral" msgstr "todos os três argumentos devem ser inteiros" -#: ../../library/decimal.rst:1372 +#: ../../library/decimal.rst:1373 msgid "``y`` must be nonnegative" msgstr "``y`` não pode ser negativo" -#: ../../library/decimal.rst:1373 +#: ../../library/decimal.rst:1374 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:1374 +#: ../../library/decimal.rst:1375 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:1376 +#: ../../library/decimal.rst:1377 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 " @@ -1899,19 +1895,19 @@ msgstr "" "independentemente dos expoentes de ``x``, ``y`` e ``modulo``. O resultado é " "sempre exato." -#: ../../library/decimal.rst:1386 +#: ../../library/decimal.rst:1387 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:1391 +#: ../../library/decimal.rst:1392 msgid "Just returns 10, as this is Decimal, :)" msgstr "Só retorna 10, já que isso é Decimal, :)" -#: ../../library/decimal.rst:1396 +#: ../../library/decimal.rst:1397 msgid "Returns the remainder from integer division." msgstr "Retorna o resto da divisão inteira." -#: ../../library/decimal.rst:1398 +#: ../../library/decimal.rst:1399 msgid "" "The sign of the result, if non-zero, is the same as that of the original " "dividend." @@ -1919,7 +1915,7 @@ msgstr "" "O sinal do resultado, se diferente de zero, é o mesmo que o do dividendo " "original." -#: ../../library/decimal.rst:1404 +#: ../../library/decimal.rst:1405 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*)." @@ -1927,43 +1923,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:1410 +#: ../../library/decimal.rst:1411 msgid "Returns a rotated copy of *x*, *y* times." msgstr "Retorna uma cópia re de *x*, *y* vezes." -#: ../../library/decimal.rst:1415 +#: ../../library/decimal.rst:1416 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:1420 +#: ../../library/decimal.rst:1421 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:1425 +#: ../../library/decimal.rst:1426 msgid "Returns a shifted copy of *x*, *y* times." msgstr "Retorna uma cópia deslocada de *x*, *y* vezes." -#: ../../library/decimal.rst:1430 +#: ../../library/decimal.rst:1431 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:1435 +#: ../../library/decimal.rst:1436 msgid "Return the difference between *x* and *y*." msgstr "Retorna a diferença entre *x* e *y*." -#: ../../library/decimal.rst:1449 +#: ../../library/decimal.rst:1450 msgid "Rounds to an integer." msgstr "Arredonda para um número inteiro." -#: ../../library/decimal.rst:1454 +#: ../../library/decimal.rst:1455 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:1461 +#: ../../library/decimal.rst:1462 msgid "Constants" msgstr "Constantes" -#: ../../library/decimal.rst:1463 +#: ../../library/decimal.rst:1464 msgid "" "The constants in this section are only relevant for the C module. They are " "also included in the pure Python version for compatibility." @@ -1971,45 +1967,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:1467 +#: ../../library/decimal.rst:1468 msgid "32-bit" msgstr "32 bits" -#: ../../library/decimal.rst:1467 +#: ../../library/decimal.rst:1468 msgid "64-bit" msgstr "64 bits" -#: ../../library/decimal.rst:1469 ../../library/decimal.rst:1471 -msgid ":const:`425000000`" -msgstr ":const:`425000000`" +#: ../../library/decimal.rst:1470 ../../library/decimal.rst:1472 +msgid "``425000000``" +msgstr "``425000000``" -#: ../../library/decimal.rst:1469 ../../library/decimal.rst:1471 -msgid ":const:`999999999999999999`" -msgstr ":const:`999999999999999999`" +#: ../../library/decimal.rst:1470 ../../library/decimal.rst:1472 +msgid "``999999999999999999``" +msgstr "``999999999999999999``" -#: ../../library/decimal.rst:1473 -msgid ":const:`-425000000`" -msgstr ":const:`-425000000`" +#: ../../library/decimal.rst:1474 +msgid "``-425000000``" +msgstr "``-425000000``" -#: ../../library/decimal.rst:1473 -msgid ":const:`-999999999999999999`" -msgstr ":const:`-999999999999999999`" +#: ../../library/decimal.rst:1474 +msgid "``-999999999999999999``" +msgstr "``-999999999999999999``" -#: ../../library/decimal.rst:1475 -msgid ":const:`-849999999`" -msgstr ":const:`-849999999`" +#: ../../library/decimal.rst:1476 +msgid "``-849999999``" +msgstr "``-849999999``" -#: ../../library/decimal.rst:1475 -msgid ":const:`-1999999999999999997`" -msgstr ":const:`-1999999999999999997`" +#: ../../library/decimal.rst:1476 +msgid "``-1999999999999999997``" +msgstr "``-1999999999999999997``" -#: ../../library/decimal.rst:1481 +#: ../../library/decimal.rst:1482 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:1487 +#: ../../library/decimal.rst:1488 msgid "" "The default value is ``True``. If Python is :option:`configured using the --" "without-decimal-contextvar option <--without-decimal-contextvar>`, the C " @@ -2023,45 +2019,45 @@ msgstr "" "será ``False``. Isso é um pouco mais rápido em alguns cenários de contexto " "aninhados." -#: ../../library/decimal.rst:1492 +#: ../../library/decimal.rst:1493 msgid "backported to 3.7 and 3.8." msgstr "backport realizado para 3.7 e 3.8." -#: ../../library/decimal.rst:1496 +#: ../../library/decimal.rst:1497 msgid "Rounding modes" msgstr "Modos de arredondamento" -#: ../../library/decimal.rst:1500 -msgid "Round towards :const:`Infinity`." -msgstr "Arredonda para :const:`Infinity`." +#: ../../library/decimal.rst:1501 +msgid "Round towards ``Infinity``." +msgstr "Arredonda para ``Infinity``." -#: ../../library/decimal.rst:1504 +#: ../../library/decimal.rst:1505 msgid "Round towards zero." msgstr "Arredonda para zero." -#: ../../library/decimal.rst:1508 -msgid "Round towards :const:`-Infinity`." -msgstr "Arredonda para :const:`-Infinity`." +#: ../../library/decimal.rst:1509 +msgid "Round towards ``-Infinity``." +msgstr "Arredonda para ``-Infinity``." -#: ../../library/decimal.rst:1512 +#: ../../library/decimal.rst:1513 msgid "Round to nearest with ties going towards zero." msgstr "Arrendonda para o mais próximo com empates tendendo a zero." -#: ../../library/decimal.rst:1516 +#: ../../library/decimal.rst:1517 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:1520 +#: ../../library/decimal.rst:1521 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:1524 +#: ../../library/decimal.rst:1525 msgid "Round away from zero." msgstr "Arredonda se afastando de zero." -#: ../../library/decimal.rst:1528 +#: ../../library/decimal.rst:1529 msgid "" "Round away from zero if last digit after rounding towards zero would have " "been 0 or 5; otherwise round towards zero." @@ -2069,11 +2065,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:1535 +#: ../../library/decimal.rst:1536 msgid "Signals" msgstr "Sinais" -#: ../../library/decimal.rst:1537 +#: ../../library/decimal.rst:1538 msgid "" "Signals represent conditions that arise during computation. Each corresponds " "to one context flag and one context trap enabler." @@ -2082,7 +2078,7 @@ msgstr "" "corresponde a um sinalizador de contexto e um ativador de armadilha de " "contexto." -#: ../../library/decimal.rst:1540 +#: ../../library/decimal.rst:1541 msgid "" "The context flag is set whenever the condition is encountered. After the " "computation, flags may be checked for informational purposes (for instance, " @@ -2095,7 +2091,7 @@ msgstr "" "de verificar os sinalizadores, certifique-se de limpar todos os " "sinalizadores antes de iniciar o próximo cálculo." -#: ../../library/decimal.rst:1545 +#: ../../library/decimal.rst:1546 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:" @@ -2107,46 +2103,44 @@ msgstr "" "armadilha :class:`DivisionByZero` for configurada, uma exceção :exc:" "`DivisionByZero` será levantada ao encontrar a condição." -#: ../../library/decimal.rst:1553 +#: ../../library/decimal.rst:1554 msgid "Altered an exponent to fit representation constraints." msgstr "Altera um expoente para ajustar as restrições de representação." -#: ../../library/decimal.rst:1555 +#: ../../library/decimal.rst:1556 msgid "" "Typically, clamping occurs when an exponent falls outside the context's :" -"attr:`Emin` and :attr:`Emax` limits. If possible, the exponent is reduced " -"to fit by adding zeros to the coefficient." +"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:`Emin` e :attr:`Emax`. Se possível, o expoente é reduzido " -"para caber adicionando zeros ao coeficiente." +"contexto :attr:`~Context.Emin` e :attr:`~Context.Emax`. Se possível, o " +"expoente é reduzido para caber adicionando zeros ao coeficiente." -#: ../../library/decimal.rst:1562 +#: ../../library/decimal.rst:1563 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:1567 +#: ../../library/decimal.rst:1568 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:1569 +#: ../../library/decimal.rst:1570 msgid "" "Can occur with division, modulo division, or when raising a number to a " -"negative power. If this signal is not trapped, returns :const:`Infinity` " -"or :const:`-Infinity` with the sign determined by the inputs to the " -"calculation." +"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á :const:" -"`Infinity` ou :const:`-Infinity` com o sinal determinado pelas entradas do " -"cálculo." +"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:1576 +#: ../../library/decimal.rst:1577 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:1578 +#: ../../library/decimal.rst:1579 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 " @@ -2156,59 +2150,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:1585 +#: ../../library/decimal.rst:1586 msgid "An invalid operation was performed." msgstr "Uma operação inválida foi realizada." -#: ../../library/decimal.rst:1587 +#: ../../library/decimal.rst:1588 msgid "" "Indicates that an operation was requested that does not make sense. If not " -"trapped, returns :const:`NaN`. Possible causes include::" +"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 :const:`NaN`. As possíveis causas incluem::" +"capturado, retorna ``NaN``. As possíveis causas incluem::" -#: ../../library/decimal.rst:1603 +#: ../../library/decimal.rst:1604 msgid "Numerical overflow." msgstr "Estouro numérico." -#: ../../library/decimal.rst:1605 +#: ../../library/decimal.rst:1606 msgid "" -"Indicates the exponent is larger than :attr:`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 :const:`Infinity`. In either case, :class:`Inexact` and :class:" +"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." msgstr "" -"Indica que o expoente é maior que :attr:`Emax` após o arredondamento " +"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 :const:`Infinity`. Nos dois casos, :class:" +"ou arredondando para fora para ``Infinity``. Nos dois casos, :class:" "`Inexact` e :class:`Rounded` também são sinalizados." -#: ../../library/decimal.rst:1614 +#: ../../library/decimal.rst:1615 msgid "Rounding occurred though possibly no information was lost." msgstr "" "O arredondamento ocorreu, embora possivelmente nenhuma informação tenha sido " "perdida." -#: ../../library/decimal.rst:1616 +#: ../../library/decimal.rst:1617 msgid "" "Signaled whenever rounding discards digits; even if those digits are zero " -"(such as rounding :const:`5.00` to :const:`5.0`). If not trapped, returns " -"the result unchanged. This signal is used to detect loss of significant " -"digits." +"(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 :const:`5.00` a :const:`5.0`). Se " -"não for capturado, retorna o resultado inalterado. Este sinal é usado para " -"detectar a perda de dígitos significativos." +"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:1624 -msgid "Exponent was lower than :attr:`Emin` prior to rounding." -msgstr "O expoente foi menor que :attr:`Emin` antes do arredondamento." +#: ../../library/decimal.rst:1625 +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:1626 +#: ../../library/decimal.rst:1627 msgid "" "Occurs when an operation result is subnormal (the exponent is too small). If " "not trapped, returns the result unchanged." @@ -2216,11 +2210,11 @@ 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:1632 +#: ../../library/decimal.rst:1633 msgid "Numerical underflow with result rounded to zero." msgstr "Estouro negativo numérico com resultado arredondado para zero." -#: ../../library/decimal.rst:1634 +#: ../../library/decimal.rst:1635 msgid "" "Occurs when a subnormal result is pushed to zero by rounding. :class:" "`Inexact` and :class:`Subnormal` are also signaled." @@ -2228,13 +2222,13 @@ msgstr "" "Ocorre quando um resultado subnormal é empurrado para zero arredondando. :" "class:`Inexact` e :class:`Subnormal` também são sinalizados." -#: ../../library/decimal.rst:1640 +#: ../../library/decimal.rst:1641 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:1642 +#: ../../library/decimal.rst:1643 msgid "" "If the signal is not trapped (default), mixing floats and Decimals is " "permitted in the :class:`~decimal.Decimal` constructor, :meth:`~decimal." @@ -2253,7 +2247,7 @@ msgstr "" "meth:`~decimal.Decimal.from_float` ou :meth:`~decimal.Context." "create_decimal_from_float` não definem o sinalizador." -#: ../../library/decimal.rst:1650 +#: ../../library/decimal.rst:1651 msgid "" "Otherwise (the signal is trapped), only equality comparisons and explicit " "conversions are silent. All other mixed operations raise :exc:" @@ -2263,31 +2257,31 @@ msgstr "" "conversões explícitas são silenciosas. Todas as outras operações mistas " "levantam :exc:`FloatOperation`." -#: ../../library/decimal.rst:1654 +#: ../../library/decimal.rst:1655 msgid "The following table summarizes the hierarchy of signals::" msgstr "A tabela a seguir resume a hierarquia de sinais::" -#: ../../library/decimal.rst:1675 +#: ../../library/decimal.rst:1676 msgid "Floating Point Notes" msgstr "Observações sobre ponto flutuante" -#: ../../library/decimal.rst:1679 +#: ../../library/decimal.rst:1680 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:1681 +#: ../../library/decimal.rst:1682 msgid "" "The use of decimal floating point eliminates decimal representation error " -"(making it possible to represent :const:`0.1` exactly); however, some " -"operations can still incur round-off error when non-zero digits exceed the " -"fixed precision." +"(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 :const:`0.1` de forma exata); no entanto, " -"algumas operações ainda podem sofrer erros de arredondamento quando dígitos " +"(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:1685 +#: ../../library/decimal.rst:1686 msgid "" "The effects of round-off error can be amplified by the addition or " "subtraction of nearly offsetting quantities resulting in loss of " @@ -2301,7 +2295,7 @@ msgstr "" "de ponto flutuante arredondado com precisão insuficiente causa a quebra das " "propriedades associativas e distributivas da adição:" -#: ../../library/decimal.rst:1709 +#: ../../library/decimal.rst:1710 msgid "" "The :mod:`decimal` module makes it possible to restore the identities by " "expanding the precision sufficiently to avoid loss of significance:" @@ -2309,21 +2303,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:1729 +#: ../../library/decimal.rst:1730 msgid "Special values" msgstr "Valores especiais" -#: ../../library/decimal.rst:1731 +#: ../../library/decimal.rst:1732 msgid "" "The number system for the :mod:`decimal` module provides special values " -"including :const:`NaN`, :const:`sNaN`, :const:`-Infinity`, :const:" -"`Infinity`, and two zeros, :const:`+0` and :const:`-0`." +"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 :const:`NaN`, :const:`sNaN`, :const:`-Infinity`, :const:`Infinity` " -"e dois zeros, :const:`+0` e :const:`-0`." +"incluindo ``NaN``, ``sNaN``, ``-Infinity``, ``Infinity``, e dois zeros, " +"``+0`` e ``-0``." -#: ../../library/decimal.rst:1735 +#: ../../library/decimal.rst:1736 msgid "" "Infinities can be constructed directly with: ``Decimal('Infinity')``. Also, " "they can arise from dividing by zero when the :exc:`DivisionByZero` signal " @@ -2334,80 +2328,81 @@ 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." +"`Overflow` não é capturado, o infinito pode resultar do arredondamento para " +"além dos limites do maior número representável." -#: ../../library/decimal.rst:1740 +#: ../../library/decimal.rst:1741 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:1744 +#: ../../library/decimal.rst:1745 msgid "" -"Some operations are indeterminate and return :const:`NaN`, or if the :exc:" +"Some operations are indeterminate and return ``NaN``, or if the :exc:" "`InvalidOperation` signal is trapped, raise an exception. For example, " -"``0/0`` returns :const:`NaN` which means \"not a number\". This variety of :" -"const:`NaN` is quiet and, once created, will flow through other computations " -"always resulting in another :const:`NaN`. This behavior can be useful for a " +"``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 :const:`NaN` ou, se o sinal :" -"exc:`InvalidOperation` for capturado, levanta uma exceção. Por exemplo, " -"``0/0`` retorna :const:`NaN`, que significa \"não é um número\" em inglês. " -"Esta variação de :const:`NaN` é silenciosa e, uma vez criada, fluirá através " -"de outros cálculos sempre resultando em outra :const:`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." +"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:1752 +#: ../../library/decimal.rst:1753 msgid "" -"A variant is :const:`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." +"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 é :const:`sNaN`, que sinaliza em vez de permanecer em silêncio " +"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:1756 +#: ../../library/decimal.rst:1757 msgid "" "The behavior of Python's comparison operators can be a little surprising " -"where a :const:`NaN` is involved. A test for equality where one of the " -"operands is a quiet or signaling :const:`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 :const:`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 :const:`NaN` were taken " -"from the IEEE 854 standard (see Table 3 in section 5.7). To ensure strict " -"standards-compliance, use the :meth:`compare` and :meth:`compare-signal` " -"methods instead." +"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 " +"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 "" "O comportamento dos operadores de comparação do Python pode ser um pouco " -"surpreendente onde um :const:`NaN` está envolvido. Um teste de igualdade em " -"que um dos operandos é um :const:`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 :const:`NaN` e retorna :const:`False` se esse sinal não for " +"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; estas regras para " -"comparações envolvendo a :const:`NaN` foram retiradas do padrão IEEE 854 " -"(consulte a Tabela 3 na seção 5.7). Para garantir uma rígida conformidade " -"com os padrões, use os métodos :meth:`compare` e :meth:`compare-signal`." +"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:1769 +#: ../../library/decimal.rst:1770 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 " @@ -2419,7 +2414,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:1774 +#: ../../library/decimal.rst:1775 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 " @@ -2433,11 +2428,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:1789 +#: ../../library/decimal.rst:1790 msgid "Working with threads" msgstr "Trabalhando com threads" -#: ../../library/decimal.rst:1791 +#: ../../library/decimal.rst:1792 msgid "" "The :func:`getcontext` function accesses a different :class:`Context` object " "for each thread. Having separate thread contexts means that threads may " @@ -2449,7 +2444,7 @@ msgstr "" "podem fazer alterações (como ``getcontext().prec=10``) sem interferir em " "outras threads." -#: ../../library/decimal.rst:1795 +#: ../../library/decimal.rst:1796 msgid "" "Likewise, the :func:`setcontext` function automatically assigns its target " "to the current thread." @@ -2457,7 +2452,7 @@ msgstr "" "Da mesma forma, a função :func:`setcontext` atribui automaticamente seu alvo " "à thread atual." -#: ../../library/decimal.rst:1798 +#: ../../library/decimal.rst:1799 msgid "" "If :func:`setcontext` has not been called before :func:`getcontext`, then :" "func:`getcontext` will automatically create a new context for use in the " @@ -2467,7 +2462,7 @@ msgstr "" "então :func:`getcontext` criará automaticamente um novo contexto para uso na " "thread atual." -#: ../../library/decimal.rst:1802 +#: ../../library/decimal.rst:1803 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 " @@ -2477,16 +2472,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:1827 +#: ../../library/decimal.rst:1828 msgid "Recipes" msgstr "Receitas" -#: ../../library/decimal.rst:1829 +#: ../../library/decimal.rst:1830 msgid "" "Here are a few recipes that serve as utility functions and that demonstrate " "ways to work with the :class:`Decimal` class::" @@ -2494,11 +2489,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:1984 +#: ../../library/decimal.rst:1985 msgid "Decimal FAQ" -msgstr "Perguntas Frequentes sobre Decimal" +msgstr "FAQ sobre Decimal" -#: ../../library/decimal.rst:1986 +#: ../../library/decimal.rst:1987 msgid "" "Q. It is cumbersome to type ``decimal.Decimal('1234.5')``. Is there a way " "to minimize typing when using the interactive interpreter?" @@ -2506,11 +2501,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:1989 +#: ../../library/decimal.rst:1990 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:1995 +#: ../../library/decimal.rst:1996 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 " @@ -2520,64 +2515,65 @@ 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:1999 +#: ../../library/decimal.rst:2000 msgid "" -"A. The :meth:`quantize` method rounds to a fixed number of decimal places. " -"If the :const:`Inexact` trap is set, it is also useful for validation:" +"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:`quantize` arredonda para um número fixo de casas " +"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:2017 +#: ../../library/decimal.rst:2018 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:2020 +#: ../../library/decimal.rst:2021 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:`quantize` step:" +"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:`quantize`:" +"precisam ser seguidas com uma etapa :meth:`~Decimal.quantize`:" -#: ../../library/decimal.rst:2038 +#: ../../library/decimal.rst:2039 msgid "" "In developing fixed-point applications, it is convenient to define functions " -"to handle the :meth:`quantize` step:" +"to handle the :meth:`~Decimal.quantize` step:" msgstr "" -"No desenvolvimento de aplicativos de ponto fixo, é conveniente definir " -"funções para lidar com a etapa :meth:`quantize`:" +"No desenvolvimento de aplicações de ponto fixo, é conveniente definir " +"funções para manipular a etapa :meth:`~Decimal.quantize`:" -#: ../../library/decimal.rst:2051 +#: ../../library/decimal.rst:2052 msgid "" -"Q. There are many ways to express the same value. The numbers :const:" -"`200`, :const:`200.000`, :const:`2E2`, and :const:`.02E+4` all have the same " -"value at various precisions. Is there a way to transform them to a single " -"recognizable canonical value?" +"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 :const:" -"`200`, :const:`200.000`, :const:`2E2` e :const:`.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?" +"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:2056 +#: ../../library/decimal.rst:2057 msgid "" -"A. The :meth:`normalize` method maps all equivalent values to a single " -"representative:" +"A. The :meth:`~Decimal.normalize` method maps all equivalent values to a " +"single representative:" msgstr "" -"R. O método :meth:`normalize` mapeia todos os valores equivalentes para um " -"único representativo:" +"R. O método :meth:`~Decimal.normalize` mapeia todos os valores equivalentes " +"para um único representativo:" -#: ../../library/decimal.rst:2063 +#: ../../library/decimal.rst:2064 msgid "" "Q. Some decimal values always print with exponential notation. Is there a " "way to get a non-exponential representation?" @@ -2585,19 +2581,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:2066 +#: ../../library/decimal.rst:2067 msgid "" "A. For some values, exponential notation is the only way to express the " -"number of significant places in the coefficient. For example, expressing :" -"const:`5.0E+3` as :const:`5000` keeps the value constant but cannot show 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 :" -"const:`5.0E+3` como :const:`5000` mantém o valor constante, mas não pode " -"mostrar a significância de duas casa do original." +"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:2071 +#: ../../library/decimal.rst:2072 msgid "" "If an application does not care about tracking significance, it is easy to " "remove the exponent and trailing zeroes, losing significance, but keeping " @@ -2607,12 +2603,12 @@ msgstr "" "remover o expoente e os zeros à direita, perdendo a significância, mas " "mantendo o valor inalterado:" -#: ../../library/decimal.rst:2081 +#: ../../library/decimal.rst:2082 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:2083 +#: ../../library/decimal.rst:2084 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 " @@ -2622,7 +2618,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:2092 +#: ../../library/decimal.rst:2093 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." @@ -2631,7 +2627,7 @@ msgstr "" "resultado falso devido à precisão insuficiente ou a anomalias de " "arredondamento." -#: ../../library/decimal.rst:2095 +#: ../../library/decimal.rst:2096 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. " @@ -2644,7 +2640,7 @@ msgstr "" "insuficiente, problemas no modo de arredondamento, entradas mal " "condicionadas ou um algoritmo numericamente instável." -#: ../../library/decimal.rst:2100 +#: ../../library/decimal.rst:2101 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 " @@ -2654,7 +2650,7 @@ msgstr "" "mas não às entradas. Há algo a observar ao misturar valores de diferentes " "precisões?" -#: ../../library/decimal.rst:2104 +#: ../../library/decimal.rst:2105 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 " @@ -2668,7 +2664,7 @@ msgstr "" "desvantagem é que os resultados podem parecer estranhos se você esquecer que " "as entradas não foram arredondadas:" -#: ../../library/decimal.rst:2117 +#: ../../library/decimal.rst:2118 msgid "" "The solution is either to increase precision or to force rounding of inputs " "using the unary plus operation:" @@ -2676,7 +2672,7 @@ 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:2126 +#: ../../library/decimal.rst:2127 msgid "" "Alternatively, inputs can be rounded upon creation using the :meth:`Context." "create_decimal` method:" @@ -2684,16 +2680,16 @@ msgstr "" "Como alternativa, as entradas podem ser arredondadas na criação usando o " "método :meth:`Context.create_decimal`:" -#: ../../library/decimal.rst:2132 +#: ../../library/decimal.rst:2133 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:2134 +#: ../../library/decimal.rst:2135 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 " +"correctly rounded decimal floating point arithmetic [#]_. ``libmpdec`` uses " "`Karatsuba multiplication `_ for medium-sized numbers and the `Number Theoretic " "Transform `_ para precisão arbitrária " -"de aritmética de ponto flutuante decimal corretamente arrendondado [#]_. " +"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 " +"`Transformada Numérica de Fourier `_ para " "números muito grandes." -#: ../../library/decimal.rst:2144 +#: ../../library/decimal.rst:2145 msgid "" "The context must be adapted for exact arbitrary precision arithmetic. :attr:" -"`Emin` and :attr:`Emax` should always be set to the maximum values, :attr:" -"`clamp` should always be 0 (the default). Setting :attr:`prec` requires " -"some care." +"`~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:`Emin` e :attr:`Emax` devem sempre ser configurados com os " -"valores máximos, :attr:`clamp` deve sempre ser 0 (o padrão). A configuração " -"de :attr:`prec` requer alguns cuidados." +"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:2148 +#: ../../library/decimal.rst:2149 msgid "" "The easiest approach for trying out bignum arithmetic is to use the maximum " -"value for :attr:`prec` as well [#]_::" +"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:`prec` também [#]_::" +"máximo para :attr:`~Context.prec` também [#]_::" -#: ../../library/decimal.rst:2157 +#: ../../library/decimal.rst:2158 msgid "" "For inexact results, :attr:`MAX_PREC` is far too large on 64-bit platforms " "and the available memory will be insufficient::" @@ -2738,19 +2734,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:2165 +#: ../../library/decimal.rst:2166 msgid "" "On systems with overallocation (e.g. Linux), a more sophisticated approach " -"is to adjust :attr:`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::" +"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:`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::" +"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:2189 +#: ../../library/decimal.rst:2190 msgid "" "In general (and especially on systems without overallocation), it is " "recommended to estimate even tighter bounds and set the :attr:`Inexact` trap " @@ -2760,7 +2756,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:2198 +#: ../../library/decimal.rst:2199 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 a773ae640..ddb71229a 100644 --- a/library/development.po +++ b/library/development.po @@ -1,27 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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.10\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-06-29 12:56+0000\n" -"PO-Revision-Date: 2021-06-28 01:04+0000\n" -"Last-Translator: Raphael Mendonça, 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:57+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/development.rst:5 msgid "Development Tools" diff --git a/library/devmode.po b/library/devmode.po index 1747f83bf..8c62e525e 100644 --- a/library/devmode.po +++ b/library/devmode.po @@ -1,27 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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 -# Willian C Lopes , 2021 +# python-doc bot, 2025 # #, 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:04+0000\n" -"Last-Translator: Willian C Lopes , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:57+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/devmode.rst:4 msgid "Python Development Mode" @@ -50,7 +50,7 @@ msgstr "" #: ../../library/devmode.rst:16 msgid "See also :ref:`Python debug build `." -msgstr "" +msgstr "Veja também a :ref:`compilação de depuração do Python `." #: ../../library/devmode.rst:19 msgid "Effects of the Python Development Mode" @@ -263,6 +263,8 @@ msgid "" "The Python Development Mode can only be enabled at the Python startup. Its " "value can be read from :data:`sys.flags.dev_mode `." 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 msgid "The :class:`io.IOBase` destructor now logs ``close()`` exceptions." diff --git a/library/dialog.po b/library/dialog.po index 0c30fec2a..31059a9b8 100644 --- a/library/dialog.po +++ b/library/dialog.po @@ -1,27 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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: -# Porfirio_Prodigy, 2021 -# Rafael Fontenelle , 2021 +# python-doc bot, 2025 # #, 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:04+0000\n" -"Last-Translator: Rafael Fontenelle , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:57+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/dialog.rst:2 msgid "Tkinter Dialogs" @@ -100,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 198aa7aa1..bb235f389 100644 --- a/library/difflib.po +++ b/library/difflib.po @@ -1,31 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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 -# 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.10\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-06-29 12:56+0000\n" -"PO-Revision-Date: 2021-06-28 01:04+0000\n" -"Last-Translator: i17obot , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:57+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/difflib.rst:2 msgid ":mod:`difflib` --- Helpers for computing deltas" @@ -107,7 +103,7 @@ msgstr "Significado" #: ../../library/difflib.rst:71 msgid "``'- '``" -msgstr "" +msgstr "``'- '``" #: ../../library/difflib.rst:71 msgid "line unique to sequence 1" @@ -123,7 +119,7 @@ msgstr "" #: ../../library/difflib.rst:75 msgid "``' '``" -msgstr "" +msgstr "``' '``" #: ../../library/difflib.rst:75 msgid "line common to both sequences" @@ -131,7 +127,7 @@ msgstr "" #: ../../library/difflib.rst:77 msgid "``'? '``" -msgstr "" +msgstr "``'? '``" #: ../../library/difflib.rst:77 msgid "line not present in either input sequence" @@ -415,14 +411,14 @@ msgstr "" #: ../../library/difflib.rst:357 msgid "" -"`Pattern Matching: The Gestalt Approach `_" msgstr "" #: ../../library/difflib.rst:357 msgid "" "Discussion of a similar algorithm by John W. Ratcliff and D. E. Metzener. " -"This was published in `Dr. Dobb's Journal `_ in " +"This was published in `Dr. Dobb's Journal `_ in " "July, 1988." msgstr "" @@ -552,8 +548,8 @@ msgstr "" #: ../../library/difflib.rst:468 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 diff --git a/library/dis.po b/library/dis.po index 7b3c1d99f..b7a956512 100644 --- a/library/dis.po +++ b/library/dis.po @@ -1,33 +1,31 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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: -# Italo Penaforte , 2021 -# i17obot , 2021 -# Claudio Rogerio Carvalho Filho , 2021 -# Rafael Fontenelle , 2021 +# python-doc bot, 2025 # #, 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:04+0000\n" -"Last-Translator: Rafael Fontenelle , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:57+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/dis.rst:2 msgid ":mod:`dis` --- Disassembler for Python bytecode" -msgstr ":mod:`dis` --- Disassembler do bytecode do Python " +msgstr ":mod:`dis` --- Disassembler de bytecode do Python" #: ../../library/dis.rst:7 msgid "**Source code:** :source:`Lib/dis.py`" @@ -40,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:18 @@ -52,24 +50,32 @@ 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:23 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:27 +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:28 +#: ../../library/dis.rst:32 msgid "Example: Given the function :func:`myfunc`::" msgstr "Exemplo: Dada a função :func:`myfunc`::" -#: ../../library/dis.rst:33 +#: ../../library/dis.rst:37 msgid "" "the following command can be used to display the disassembly of :func:" "`myfunc`::" @@ -77,136 +83,172 @@ msgstr "" "o seguinte comando pode ser usado para exibir a desmontagem da função :func:" "`myfunc`::" -#: ../../library/dis.rst:42 +#: ../../library/dis.rst:46 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:45 +#: ../../library/dis.rst:49 msgid "Bytecode analysis" -msgstr "Analise do Bytecode" +msgstr "Análise de bytecode" -#: ../../library/dis.rst:49 +#: ../../library/dis.rst:53 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:56 +#: ../../library/dis.rst:60 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:60 +#: ../../library/dis.rst:64 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:64 ../../library/dis.rst:225 +#: ../../library/dis.rst:68 ../../library/dis.rst:229 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:69 +#: ../../library/dis.rst:73 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:75 +#: ../../library/dis.rst:79 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:80 +#: ../../library/dis.rst:84 msgid "The compiled code object." -msgstr "" +msgstr "O objeto de código compilado." -#: ../../library/dis.rst:84 +#: ../../library/dis.rst:88 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:88 +#: ../../library/dis.rst:92 msgid "" "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:93 +#: ../../library/dis.rst:97 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:96 ../../library/dis.rst:130 ../../library/dis.rst:176 +#: ../../library/dis.rst:100 ../../library/dis.rst:134 +#: ../../library/dis.rst:180 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:99 +#: ../../library/dis.rst:103 msgid "Example::" msgstr "Exemplo::" -#: ../../library/dis.rst:112 +#: ../../library/dis.rst:116 msgid "Analysis functions" -msgstr "" +msgstr "Funções de análise" -#: ../../library/dis.rst:114 +#: ../../library/dis.rst:118 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:120 +#: ../../library/dis.rst:124 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:124 +#: ../../library/dis.rst:128 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:136 +#: ../../library/dis.rst:140 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:140 +#: ../../library/dis.rst:144 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:145 ../../library/dis.rst:170 -#: ../../library/dis.rst:189 ../../library/dis.rst:213 +#: ../../library/dis.rst:149 ../../library/dis.rst:174 +#: ../../library/dis.rst:193 ../../library/dis.rst:217 msgid "Added *file* parameter." -msgstr "" +msgstr "Adicionado o parâmetro *file*." -#: ../../library/dis.rst:151 +#: ../../library/dis.rst:155 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 " @@ -221,316 +263,353 @@ msgid "" "provided, this function disassembles the last traceback." msgstr "" -#: ../../library/dis.rst:164 ../../library/dis.rst:186 -#: ../../library/dis.rst:210 +#: ../../library/dis.rst:168 ../../library/dis.rst:190 +#: ../../library/dis.rst:214 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:167 +#: ../../library/dis.rst:171 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:173 +#: ../../library/dis.rst:177 msgid "Implemented recursive disassembling and added *depth* parameter." msgstr "" +"Foi implementada a desmontagem recursiva, e adicionado o parâmetro *depth*." -#: ../../library/dis.rst:182 +#: ../../library/dis.rst:186 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:196 +#: ../../library/dis.rst:200 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:199 +#: ../../library/dis.rst:203 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:200 +#: ../../library/dis.rst:204 msgid "the current instruction, indicated as ``-->``," -msgstr "" +msgstr "a instrução atual, indicada por ``-->``," -#: ../../library/dis.rst:201 +#: ../../library/dis.rst:205 msgid "a labelled instruction, indicated with ``>>``," -msgstr "" +msgstr "um rótulo da instrução, indicado com ``>>``," -#: ../../library/dis.rst:202 +#: ../../library/dis.rst:206 msgid "the address of the instruction," -msgstr "" +msgstr "o endereço da instrução" -#: ../../library/dis.rst:203 +#: ../../library/dis.rst:207 msgid "the operation code name," -msgstr "" +msgstr "o nome do código da operação," -#: ../../library/dis.rst:204 +#: ../../library/dis.rst:208 msgid "operation parameters, and" -msgstr "" +msgstr "os parâmetros da operação, e" -#: ../../library/dis.rst:205 +#: ../../library/dis.rst:209 msgid "interpretation of the parameters in parentheses." -msgstr "" +msgstr "a interpretação dos parâmetros, em parênteses." -#: ../../library/dis.rst:207 +#: ../../library/dis.rst:211 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:219 +#: ../../library/dis.rst:223 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:222 +#: ../../library/dis.rst:226 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:235 +#: ../../library/dis.rst:239 msgid "" -"This generator function uses the ``co_firstlineno`` and ``co_lnotab`` " -"attributes 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. " -"See :source:`Objects/lnotab_notes.txt` for the ``co_lnotab`` format and how " -"to decode it." +"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." msgstr "" -#: ../../library/dis.rst:241 +#: ../../library/dis.rst:243 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:247 +#: ../../library/dis.rst:246 +msgid "" +"The :pep:`626` ``co_lines`` method is used instead of the ``co_firstlineno`` " +"and ``co_lnotab`` attributes of the code object." +msgstr "" + +#: ../../library/dis.rst:253 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:253 +#: ../../library/dis.rst:259 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:255 +#: ../../library/dis.rst:261 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:262 +#: ../../library/dis.rst:268 msgid "Added *jump* parameter." msgstr "Adicionado o parâmetro *jump*." -#: ../../library/dis.rst:269 +#: ../../library/dis.rst:275 msgid "Python Bytecode Instructions" -msgstr "" +msgstr "Instruções em bytecode do Python" -#: ../../library/dis.rst:271 +#: ../../library/dis.rst:277 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:276 +#: ../../library/dis.rst:282 msgid "Details for a bytecode operation" -msgstr "" +msgstr "Detalhes de uma operação em bytecode" -#: ../../library/dis.rst:280 +#: ../../library/dis.rst:286 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:286 +#: ../../library/dis.rst:292 msgid "human readable name for operation" -msgstr "" +msgstr "nome legível por humanos para a operação" -#: ../../library/dis.rst:291 +#: ../../library/dis.rst:297 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:296 +#: ../../library/dis.rst:302 msgid "resolved arg value (if known), otherwise same as arg" msgstr "" -#: ../../library/dis.rst:301 +#: ../../library/dis.rst:307 msgid "human readable description of operation argument" msgstr "" -#: ../../library/dis.rst:306 +#: ../../library/dis.rst:312 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:311 +#: ../../library/dis.rst:317 msgid "line started by this opcode (if any), otherwise ``None``" msgstr "" -#: ../../library/dis.rst:316 +#: ../../library/dis.rst:322 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:321 +#: ../../library/dis.rst:327 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:324 +#: ../../library/dis.rst:330 msgid "**General instructions**" -msgstr "" +msgstr "**Instruções gerais**" -#: ../../library/dis.rst:328 +#: ../../library/dis.rst:334 msgid "Do nothing code. Used as a placeholder by the bytecode optimizer." msgstr "" -#: ../../library/dis.rst:333 +#: ../../library/dis.rst:339 msgid "Removes the top-of-stack (TOS) item." msgstr "" -#: ../../library/dis.rst:338 +#: ../../library/dis.rst:344 msgid "Swaps the two top-most stack items." msgstr "" -#: ../../library/dis.rst:343 +#: ../../library/dis.rst:349 msgid "" "Lifts second and third stack item one position up, moves top down to " "position three." msgstr "" -#: ../../library/dis.rst:349 +#: ../../library/dis.rst:355 msgid "" "Lifts second, third and fourth stack items one position up, moves top down " "to position four." msgstr "" -#: ../../library/dis.rst:357 +#: ../../library/dis.rst:363 msgid "Duplicates the reference on top of the stack." msgstr "" -#: ../../library/dis.rst:364 +#: ../../library/dis.rst:370 msgid "" "Duplicates the two references on top of the stack, leaving them in the same " "order." msgstr "" -#: ../../library/dis.rst:370 +#: ../../library/dis.rst:376 msgid "**Unary operations**" -msgstr "" +msgstr "**Operações unárias**" -#: ../../library/dis.rst:372 +#: ../../library/dis.rst:378 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:377 +#: ../../library/dis.rst:383 msgid "Implements ``TOS = +TOS``." msgstr "" -#: ../../library/dis.rst:382 +#: ../../library/dis.rst:388 msgid "Implements ``TOS = -TOS``." msgstr "" -#: ../../library/dis.rst:387 +#: ../../library/dis.rst:393 msgid "Implements ``TOS = not TOS``." msgstr "" -#: ../../library/dis.rst:392 +#: ../../library/dis.rst:398 msgid "Implements ``TOS = ~TOS``." msgstr "Implementação ``TOS = ~TOS``." -#: ../../library/dis.rst:397 +#: ../../library/dis.rst:403 msgid "Implements ``TOS = iter(TOS)``." msgstr "Implementa ``TOS = iter(TOS)``." -#: ../../library/dis.rst:402 +#: ../../library/dis.rst:408 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:408 +#: ../../library/dis.rst:414 msgid "**Binary operations**" msgstr "**Operações Binárias**" -#: ../../library/dis.rst:410 +#: ../../library/dis.rst:416 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:416 +#: ../../library/dis.rst:422 msgid "Implements ``TOS = TOS1 ** TOS``." msgstr "Implementa ``TOS = TOS1 ** TOS``." -#: ../../library/dis.rst:421 +#: ../../library/dis.rst:427 msgid "Implements ``TOS = TOS1 * TOS``." msgstr "" -#: ../../library/dis.rst:426 +#: ../../library/dis.rst:432 msgid "Implements ``TOS = TOS1 @ TOS``." msgstr "Implementado ``TOS = TOS1 @ TOS``." -#: ../../library/dis.rst:433 +#: ../../library/dis.rst:439 msgid "Implements ``TOS = TOS1 // TOS``." msgstr "Implementa ``TOS = TOS1 // TOS``." -#: ../../library/dis.rst:438 +#: ../../library/dis.rst:444 msgid "Implements ``TOS = TOS1 / TOS``." msgstr "Implementa ``TOS = TOS1 / TOS``." -#: ../../library/dis.rst:443 +#: ../../library/dis.rst:449 msgid "Implements ``TOS = TOS1 % TOS``." msgstr "Implementa ``TOS = TOS1 % TOS``." -#: ../../library/dis.rst:448 +#: ../../library/dis.rst:454 msgid "Implements ``TOS = TOS1 + TOS``." msgstr "" -#: ../../library/dis.rst:453 +#: ../../library/dis.rst:459 msgid "Implements ``TOS = TOS1 - TOS``." msgstr "" -#: ../../library/dis.rst:458 +#: ../../library/dis.rst:464 msgid "Implements ``TOS = TOS1[TOS]``." msgstr "" -#: ../../library/dis.rst:463 +#: ../../library/dis.rst:469 msgid "Implements ``TOS = TOS1 << TOS``." msgstr "" -#: ../../library/dis.rst:468 +#: ../../library/dis.rst:474 msgid "Implements ``TOS = TOS1 >> TOS``." msgstr "" -#: ../../library/dis.rst:473 +#: ../../library/dis.rst:479 msgid "Implements ``TOS = TOS1 & TOS``." msgstr "" -#: ../../library/dis.rst:478 +#: ../../library/dis.rst:484 msgid "Implements ``TOS = TOS1 ^ TOS``." msgstr "" -#: ../../library/dis.rst:483 +#: ../../library/dis.rst:489 msgid "Implements ``TOS = TOS1 | TOS``." msgstr "" -#: ../../library/dis.rst:486 +#: ../../library/dis.rst:492 msgid "**In-place operations**" msgstr "" -#: ../../library/dis.rst:488 +#: ../../library/dis.rst:494 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-" @@ -538,92 +617,92 @@ msgid "" "to be) the original TOS1." msgstr "" -#: ../../library/dis.rst:495 +#: ../../library/dis.rst:501 msgid "Implements in-place ``TOS = TOS1 ** TOS``." msgstr "" -#: ../../library/dis.rst:500 +#: ../../library/dis.rst:506 msgid "Implements in-place ``TOS = TOS1 * TOS``." msgstr "" -#: ../../library/dis.rst:505 +#: ../../library/dis.rst:511 msgid "Implements in-place ``TOS = TOS1 @ TOS``." msgstr "" -#: ../../library/dis.rst:512 +#: ../../library/dis.rst:518 msgid "Implements in-place ``TOS = TOS1 // TOS``." msgstr "" -#: ../../library/dis.rst:517 +#: ../../library/dis.rst:523 msgid "Implements in-place ``TOS = TOS1 / TOS``." msgstr "" -#: ../../library/dis.rst:522 +#: ../../library/dis.rst:528 msgid "Implements in-place ``TOS = TOS1 % TOS``." msgstr "" -#: ../../library/dis.rst:527 +#: ../../library/dis.rst:533 msgid "Implements in-place ``TOS = TOS1 + TOS``." msgstr "" -#: ../../library/dis.rst:532 +#: ../../library/dis.rst:538 msgid "Implements in-place ``TOS = TOS1 - TOS``." msgstr "" -#: ../../library/dis.rst:537 +#: ../../library/dis.rst:543 msgid "Implements in-place ``TOS = TOS1 << TOS``." msgstr "" -#: ../../library/dis.rst:542 +#: ../../library/dis.rst:548 msgid "Implements in-place ``TOS = TOS1 >> TOS``." msgstr "" -#: ../../library/dis.rst:547 +#: ../../library/dis.rst:553 msgid "Implements in-place ``TOS = TOS1 & TOS``." msgstr "" -#: ../../library/dis.rst:552 +#: ../../library/dis.rst:558 msgid "Implements in-place ``TOS = TOS1 ^ TOS``." msgstr "" -#: ../../library/dis.rst:557 +#: ../../library/dis.rst:563 msgid "Implements in-place ``TOS = TOS1 | TOS``." msgstr "" -#: ../../library/dis.rst:562 +#: ../../library/dis.rst:568 msgid "Implements ``TOS1[TOS] = TOS2``." msgstr "" -#: ../../library/dis.rst:567 +#: ../../library/dis.rst:573 msgid "Implements ``del TOS1[TOS]``." msgstr "" -#: ../../library/dis.rst:570 +#: ../../library/dis.rst:576 msgid "**Coroutine opcodes**" -msgstr "" +msgstr "**Opcodes para corrotinas**" -#: ../../library/dis.rst:574 +#: ../../library/dis.rst:580 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:584 +#: ../../library/dis.rst:590 msgid "Implements ``TOS = TOS.__aiter__()``." msgstr "" -#: ../../library/dis.rst:587 +#: ../../library/dis.rst:593 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:594 +#: ../../library/dis.rst:600 msgid "" -"Implements ``PUSH(get_awaitable(TOS.__anext__()))``. See ``GET_AWAITABLE`` " -"for details about ``get_awaitable``" +"Pushes ``get_awaitable(TOS.__anext__())`` to the stack. See " +"``GET_AWAITABLE`` for details about ``get_awaitable``." msgstr "" -#: ../../library/dis.rst:602 +#: ../../library/dis.rst:608 msgid "" "Terminates an :keyword:`async for` loop. Handles an exception raised when " "awaiting a next item. If TOS is :exc:`StopAsyncIteration` pop 7 values from " @@ -632,89 +711,97 @@ msgid "" "exception handler block is removed from the block stack." msgstr "" -#: ../../library/dis.rst:613 +#: ../../library/dis.rst:619 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:621 +#: ../../library/dis.rst:627 msgid "Creates a new frame object." msgstr "" -#: ../../library/dis.rst:627 +#: ../../library/dis.rst:633 msgid "**Miscellaneous opcodes**" -msgstr "" +msgstr "**Opcodes genéricos**" -#: ../../library/dis.rst:631 +#: ../../library/dis.rst:637 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:638 +#: ../../library/dis.rst:644 msgid "" "Calls ``set.add(TOS1[-i], TOS)``. Used to implement set comprehensions." msgstr "" -#: ../../library/dis.rst:643 +#: ../../library/dis.rst:649 msgid "" "Calls ``list.append(TOS1[-i], TOS)``. Used to implement list comprehensions." msgstr "" -#: ../../library/dis.rst:648 +#: ../../library/dis.rst:654 msgid "" "Calls ``dict.__setitem__(TOS1[-i], TOS1, TOS)``. Used to implement dict " "comprehensions." msgstr "" -#: ../../library/dis.rst:652 +#: ../../library/dis.rst:658 msgid "Map value is TOS and map key is TOS1. Before, those were reversed." msgstr "" -#: ../../library/dis.rst:655 +#: ../../library/dis.rst:661 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." 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:663 +#: ../../library/dis.rst:669 msgid "Returns with TOS to the caller of the function." msgstr "" -#: ../../library/dis.rst:668 +#: ../../library/dis.rst:674 msgid "Pops TOS and yields it from a :term:`generator`." msgstr "" -#: ../../library/dis.rst:673 +#: ../../library/dis.rst:679 msgid "Pops TOS and delegates to it as a subiterator from a :term:`generator`." msgstr "" -#: ../../library/dis.rst:680 +#: ../../library/dis.rst:686 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:690 +#: ../../library/dis.rst:696 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:697 +#: ../../library/dis.rst:703 msgid "" "Removes one block from the block stack. Per frame, there is a stack of " "blocks, denoting :keyword:`try` statements, and such." msgstr "" -#: ../../library/dis.rst:703 +#: ../../library/dis.rst:709 msgid "" "Removes one block from the block stack. The popped block must be an " "exception handler block, as implicitly created when entering an except " @@ -722,14 +809,14 @@ msgid "" "last three popped values are used to restore the exception state." msgstr "" -#: ../../library/dis.rst:711 +#: ../../library/dis.rst:717 msgid "" "Re-raises the exception currently on top of the stack. If oparg is non-zero, " "restores ``f_lasti`` of the current frame to its value when the exception " "was raised." msgstr "" -#: ../../library/dis.rst:719 +#: ../../library/dis.rst:725 msgid "" "Calls the function in position 7 on the stack with the top three items on " "the stack as arguments. Used to implement the call ``context_manager." @@ -737,19 +824,21 @@ msgid "" "statement." msgstr "" -#: ../../library/dis.rst:729 +#: ../../library/dis.rst:735 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:737 +#: ../../library/dis.rst:743 msgid "" "Pushes :func:`builtins.__build_class__` onto the stack. It is later called " "by :opcode:`CALL_FUNCTION` to construct a class." msgstr "" -#: ../../library/dis.rst:743 +#: ../../library/dis.rst:749 msgid "" "This opcode performs several operations before a with block starts. First, " "it loads :meth:`~object.__exit__` from the context manager and pushes it " @@ -761,18 +850,18 @@ msgid "" "or :opcode:`UNPACK_SEQUENCE`)." msgstr "" -#: ../../library/dis.rst:757 +#: ../../library/dis.rst:763 msgid "" "TOS is a tuple of mapping keys, and TOS1 is the match subject. Replace TOS " "with a :class:`dict` formed from the items of TOS1, but without any of the " "keys in TOS." msgstr "" -#: ../../library/dis.rst:766 +#: ../../library/dis.rst:772 msgid "Push ``len(TOS)`` onto the stack." msgstr "" -#: ../../library/dis.rst:773 +#: ../../library/dis.rst:779 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:" @@ -780,7 +869,7 @@ msgid "" "push ``False``." msgstr "" -#: ../../library/dis.rst:783 +#: ../../library/dis.rst:789 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 " @@ -789,7 +878,7 @@ msgid "" "push ``False``." msgstr "" -#: ../../library/dis.rst:793 +#: ../../library/dis.rst:799 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 " @@ -797,30 +886,30 @@ msgid "" "followed by ``False``." msgstr "" -#: ../../library/dis.rst:801 +#: ../../library/dis.rst:807 msgid "All of the following opcodes use their arguments." msgstr "" -#: ../../library/dis.rst:805 +#: ../../library/dis.rst:811 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." msgstr "" -#: ../../library/dis.rst:812 +#: ../../library/dis.rst:818 msgid "" "Implements ``del name``, where *namei* is the index into :attr:`co_names` " "attribute of the code object." msgstr "" -#: ../../library/dis.rst:818 +#: ../../library/dis.rst:824 msgid "" "Unpacks TOS into *count* individual values, which are put onto the stack " "right-to-left." msgstr "" -#: ../../library/dis.rst:824 +#: ../../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 " @@ -828,119 +917,121 @@ msgid "" "leftover items." msgstr "" -#: ../../library/dis.rst:829 +#: ../../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:836 +#: ../../library/dis.rst:842 msgid "" "Implements ``TOS.name = TOS1``, where *namei* is the index of name in :attr:" "`co_names`." msgstr "" -#: ../../library/dis.rst:842 +#: ../../library/dis.rst:848 msgid "" "Implements ``del TOS.name``, using *namei* as index into :attr:`co_names`." msgstr "" -#: ../../library/dis.rst:847 +#: ../../library/dis.rst:853 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:852 +#: ../../library/dis.rst:858 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:857 +#: ../../library/dis.rst:863 msgid "Pushes ``co_consts[consti]`` onto the stack." -msgstr "" +msgstr "Põe ``co_consts[consti]`` no topo da pilha." -#: ../../library/dis.rst:862 +#: ../../library/dis.rst:868 msgid "Pushes the value associated with ``co_names[namei]`` onto the stack." msgstr "" -#: ../../library/dis.rst:867 +#: ../../library/dis.rst:873 msgid "" "Creates a tuple consuming *count* items from the stack, and pushes the " "resulting tuple onto the stack." msgstr "" -#: ../../library/dis.rst:873 +#: ../../library/dis.rst:879 msgid "Works as :opcode:`BUILD_TUPLE`, but creates a list." msgstr "" -#: ../../library/dis.rst:878 +#: ../../library/dis.rst:884 msgid "Works as :opcode:`BUILD_TUPLE`, but creates a set." msgstr "" -#: ../../library/dis.rst:883 +#: ../../library/dis.rst:889 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:887 +#: ../../library/dis.rst:893 msgid "" "The dictionary is created from stack items instead of creating an empty " "dictionary pre-sized to hold *count* items." msgstr "" -#: ../../library/dis.rst:894 +#: ../../library/dis.rst:900 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:903 +#: ../../library/dis.rst:909 msgid "" "Concatenates *count* strings from the stack and pushes the resulting string " "onto the stack." msgstr "" -#: ../../library/dis.rst:911 +#: ../../library/dis.rst:917 msgid "" "Pops a list from the stack and pushes a tuple containing the same values." msgstr "" -#: ../../library/dis.rst:918 +#: ../../library/dis.rst:924 msgid "Calls ``list.extend(TOS1[-i], TOS)``. Used to build lists." msgstr "" -#: ../../library/dis.rst:925 +#: ../../library/dis.rst:931 msgid "Calls ``set.update(TOS1[-i], TOS)``. Used to build sets." msgstr "" -#: ../../library/dis.rst:932 +#: ../../library/dis.rst:938 msgid "Calls ``dict.update(TOS1[-i], TOS)``. Used to build dicts." msgstr "" -#: ../../library/dis.rst:939 +#: ../../library/dis.rst:945 msgid "Like :opcode:`DICT_UPDATE` but raises an exception for duplicate keys." msgstr "" -#: ../../library/dis.rst:946 +#: ../../library/dis.rst:952 msgid "Replaces TOS with ``getattr(TOS, co_names[namei])``." msgstr "" -#: ../../library/dis.rst:951 +#: ../../library/dis.rst:957 msgid "" "Performs a Boolean operation. The operation name can be found in " "``cmp_op[opname]``." msgstr "" -#: ../../library/dis.rst:957 +#: ../../library/dis.rst:963 msgid "Performs ``is`` comparison, or ``is not`` if ``invert`` is 1." msgstr "" -#: ../../library/dis.rst:964 +#: ../../library/dis.rst:970 msgid "Performs ``in`` comparison, or ``not in`` if ``invert`` is 1." msgstr "" -#: ../../library/dis.rst:971 +#: ../../library/dis.rst:977 msgid "" "Imports the module ``co_names[namei]``. TOS and TOS1 are popped and provide " "the *fromlist* and *level* arguments of :func:`__import__`. The module " @@ -949,48 +1040,48 @@ msgid "" "modifies the namespace." msgstr "" -#: ../../library/dis.rst:980 +#: ../../library/dis.rst:986 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." msgstr "" -#: ../../library/dis.rst:987 +#: ../../library/dis.rst:993 msgid "Increments bytecode counter by *delta*." msgstr "" -#: ../../library/dis.rst:992 +#: ../../library/dis.rst:998 msgid "If TOS is true, sets the bytecode counter to *target*. TOS is popped." msgstr "" -#: ../../library/dis.rst:999 +#: ../../library/dis.rst:1005 msgid "If TOS is false, sets the bytecode counter to *target*. TOS is popped." msgstr "" -#: ../../library/dis.rst:1005 +#: ../../library/dis.rst:1011 msgid "" "Tests whether the second value on the stack is an exception matching TOS, " "and jumps if it is not. Pops two values from the stack." msgstr "" -#: ../../library/dis.rst:1013 +#: ../../library/dis.rst:1019 msgid "" "If TOS is true, sets the bytecode counter to *target* and leaves TOS on the " "stack. Otherwise (TOS is false), TOS is popped." msgstr "" -#: ../../library/dis.rst:1021 +#: ../../library/dis.rst:1027 msgid "" "If TOS is false, sets the bytecode counter to *target* and leaves TOS on the " "stack. Otherwise (TOS is true), TOS is popped." msgstr "" -#: ../../library/dis.rst:1029 +#: ../../library/dis.rst:1035 msgid "Set bytecode counter to *target*." msgstr "" -#: ../../library/dis.rst:1034 +#: ../../library/dis.rst:1040 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 " @@ -998,30 +1089,30 @@ msgid "" "code counter is incremented by *delta*." msgstr "" -#: ../../library/dis.rst:1042 +#: ../../library/dis.rst:1048 msgid "Loads the global named ``co_names[namei]`` onto the stack." msgstr "" -#: ../../library/dis.rst:1047 +#: ../../library/dis.rst:1053 msgid "" "Pushes a try block from a try-finally or try-except clause onto the block " "stack. *delta* points to the finally block or the first except block." msgstr "" -#: ../../library/dis.rst:1053 +#: ../../library/dis.rst:1059 msgid "" "Pushes a reference to the local ``co_varnames[var_num]`` onto the stack." msgstr "" -#: ../../library/dis.rst:1058 +#: ../../library/dis.rst:1064 msgid "Stores TOS into the local ``co_varnames[var_num]``." msgstr "" -#: ../../library/dis.rst:1063 +#: ../../library/dis.rst:1069 msgid "Deletes local ``co_varnames[var_num]``." msgstr "" -#: ../../library/dis.rst:1068 +#: ../../library/dis.rst:1074 msgid "" "Pushes a reference to the cell contained in slot *i* of the cell and free " "variable storage. The name of the variable is ``co_cellvars[i]`` if *i* is " @@ -1029,52 +1120,52 @@ msgid "" "len(co_cellvars)]``." msgstr "" -#: ../../library/dis.rst:1076 +#: ../../library/dis.rst:1082 msgid "" "Loads the cell contained in slot *i* of the cell and free variable storage. " "Pushes a reference to the object the cell contains on the stack." msgstr "" -#: ../../library/dis.rst:1082 +#: ../../library/dis.rst:1088 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:1091 +#: ../../library/dis.rst:1097 msgid "" "Stores TOS into the cell contained in slot *i* of the cell and free variable " "storage." msgstr "" -#: ../../library/dis.rst:1097 +#: ../../library/dis.rst:1103 msgid "" "Empties the cell contained in slot *i* of the cell and free variable " "storage. Used by the :keyword:`del` statement." msgstr "" -#: ../../library/dis.rst:1105 +#: ../../library/dis.rst:1111 msgid "" "Raises an exception using one of the 3 forms of the ``raise`` statement, " "depending on the value of *argc*:" msgstr "" -#: ../../library/dis.rst:1108 +#: ../../library/dis.rst:1114 msgid "0: ``raise`` (re-raise previous exception)" msgstr "" -#: ../../library/dis.rst:1109 +#: ../../library/dis.rst:1115 msgid "1: ``raise TOS`` (raise exception instance or type at ``TOS``)" msgstr "" -#: ../../library/dis.rst:1110 +#: ../../library/dis.rst:1116 msgid "" "2: ``raise TOS1 from TOS`` (raise exception instance or type at ``TOS1`` " "with ``__cause__`` set to ``TOS``)" msgstr "" -#: ../../library/dis.rst:1116 +#: ../../library/dis.rst:1122 msgid "" "Calls a callable object with positional arguments. *argc* indicates the " "number of positional arguments. The top of the stack contains positional " @@ -1084,11 +1175,11 @@ msgid "" "arguments, and pushes the return value returned by the callable object." msgstr "" -#: ../../library/dis.rst:1124 +#: ../../library/dis.rst:1130 msgid "This opcode is used only for calls with positional arguments." msgstr "" -#: ../../library/dis.rst:1130 +#: ../../library/dis.rst:1136 msgid "" "Calls a callable object with positional (if any) and keyword arguments. " "*argc* indicates the total number of positional and keyword arguments. The " @@ -1102,13 +1193,13 @@ msgid "" "object." msgstr "" -#: ../../library/dis.rst:1142 +#: ../../library/dis.rst:1148 msgid "" "Keyword arguments are packed in a tuple instead of a dictionary, *argc* " "indicates the total number of arguments." msgstr "" -#: ../../library/dis.rst:1149 +#: ../../library/dis.rst:1155 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 " @@ -1120,7 +1211,7 @@ msgid "" "arguments, and pushes the return value returned by the callable object." msgstr "" -#: ../../library/dis.rst:1164 +#: ../../library/dis.rst:1170 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 " @@ -1130,7 +1221,7 @@ msgid "" "lookup are pushed." msgstr "" -#: ../../library/dis.rst:1176 +#: ../../library/dis.rst:1182 msgid "" "Calls a method. *argc* is the number of positional arguments. Keyword " "arguments are not supported. This opcode is designed to be used with :" @@ -1140,50 +1231,50 @@ msgid "" "callable). All of them are popped and the return value is pushed." msgstr "" -#: ../../library/dis.rst:1188 +#: ../../library/dis.rst:1194 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:1191 +#: ../../library/dis.rst:1197 msgid "" "``0x01`` a tuple of default values for positional-only and positional-or-" "keyword parameters in positional order" msgstr "" -#: ../../library/dis.rst:1193 +#: ../../library/dis.rst:1199 msgid "``0x02`` a dictionary of keyword-only parameters' default values" msgstr "" -#: ../../library/dis.rst:1194 +#: ../../library/dis.rst:1200 msgid "``0x04`` a tuple of strings containing parameters' annotations" msgstr "" -#: ../../library/dis.rst:1195 +#: ../../library/dis.rst:1201 msgid "``0x08`` a tuple containing cells for free variables, making a closure" msgstr "" -#: ../../library/dis.rst:1196 +#: ../../library/dis.rst:1202 msgid "the code associated with the function (at TOS1)" msgstr "" -#: ../../library/dis.rst:1197 +#: ../../library/dis.rst:1203 msgid "the :term:`qualified name` of the function (at TOS)" msgstr "" -#: ../../library/dis.rst:1199 +#: ../../library/dis.rst:1205 msgid "Flag value ``0x04`` is a tuple of strings instead of dictionary" msgstr "" -#: ../../library/dis.rst:1206 +#: ../../library/dis.rst:1212 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:1213 +#: ../../library/dis.rst:1219 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 " @@ -1191,114 +1282,113 @@ msgid "" "allowed, forming an argument from two-byte to four-byte." msgstr "" -#: ../../library/dis.rst:1221 +#: ../../library/dis.rst:1227 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:1225 +#: ../../library/dis.rst:1231 msgid "``(flags & 0x03) == 0x00``: *value* is formatted as-is." msgstr "" -#: ../../library/dis.rst:1226 +#: ../../library/dis.rst:1232 msgid "" "``(flags & 0x03) == 0x01``: call :func:`str` on *value* before formatting it." msgstr "" -#: ../../library/dis.rst:1228 +#: ../../library/dis.rst:1234 msgid "" "``(flags & 0x03) == 0x02``: call :func:`repr` on *value* before formatting " "it." msgstr "" -#: ../../library/dis.rst:1230 +#: ../../library/dis.rst:1236 msgid "" "``(flags & 0x03) == 0x03``: call :func:`ascii` on *value* before formatting " "it." msgstr "" -#: ../../library/dis.rst:1232 +#: ../../library/dis.rst:1238 msgid "" "``(flags & 0x04) == 0x04``: pop *fmt_spec* from the stack and use it, else " "use an empty *fmt_spec*." msgstr "" -#: ../../library/dis.rst:1235 +#: ../../library/dis.rst:1241 msgid "" "Formatting is performed using :c:func:`PyObject_Format`. The result is " "pushed on the stack." msgstr "" -#: ../../library/dis.rst:1243 +#: ../../library/dis.rst:1249 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:1247 +#: ../../library/dis.rst:1253 msgid "" "Pop TOS. If TOS2 is an instance of TOS1 and has the positional and keyword " "attributes required by *count* and TOS, set TOS to ``True`` and TOS1 to a " "tuple of extracted attributes. Otherwise, set TOS to ``False``." msgstr "" -#: ../../library/dis.rst:1255 +#: ../../library/dis.rst:1261 msgid "" -"Pops TOS. If TOS was not ``None``, raises an exception. The ``kind`` operand " -"corresponds to the type of generator or coroutine and determines the error " -"message. The legal kinds are 0 for generator, 1 for coroutine, and 2 for " +"Pops TOS. The ``kind`` operand corresponds to the type of generator or " +"coroutine. The legal kinds are 0 for generator, 1 for coroutine, and 2 for " "async generator." msgstr "" -#: ../../library/dis.rst:1265 +#: ../../library/dis.rst:1270 msgid "" "Lift the top *count* stack items one position up, and move TOS down to " "position *count*." msgstr "" -#: ../../library/dis.rst:1273 +#: ../../library/dis.rst:1278 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:1277 +#: ../../library/dis.rst:1282 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:1285 +#: ../../library/dis.rst:1290 msgid "Opcode collections" msgstr "" -#: ../../library/dis.rst:1287 +#: ../../library/dis.rst:1292 msgid "" "These collections are provided for automatic introspection of bytecode " "instructions:" msgstr "" -#: ../../library/dis.rst:1292 +#: ../../library/dis.rst:1297 msgid "Sequence of operation names, indexable using the bytecode." msgstr "" -#: ../../library/dis.rst:1297 +#: ../../library/dis.rst:1302 msgid "Dictionary mapping operation names to bytecodes." msgstr "" -#: ../../library/dis.rst:1302 +#: ../../library/dis.rst:1307 msgid "Sequence of all compare operation names." msgstr "" -#: ../../library/dis.rst:1307 +#: ../../library/dis.rst:1312 msgid "Sequence of bytecodes that access a constant." msgstr "" -#: ../../library/dis.rst:1312 +#: ../../library/dis.rst:1317 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 " @@ -1306,22 +1396,22 @@ msgid "" "does *not* include references to global or builtin scopes)." msgstr "" -#: ../../library/dis.rst:1320 +#: ../../library/dis.rst:1325 msgid "Sequence of bytecodes that access an attribute by name." msgstr "" -#: ../../library/dis.rst:1325 +#: ../../library/dis.rst:1330 msgid "Sequence of bytecodes that have a relative jump target." msgstr "" -#: ../../library/dis.rst:1330 +#: ../../library/dis.rst:1335 msgid "Sequence of bytecodes that have an absolute jump target." msgstr "" -#: ../../library/dis.rst:1335 +#: ../../library/dis.rst:1340 msgid "Sequence of bytecodes that access a local variable." msgstr "" -#: ../../library/dis.rst:1340 +#: ../../library/dis.rst:1345 msgid "Sequence of bytecodes of Boolean operations." msgstr "" diff --git a/library/distribution.po b/library/distribution.po index e6a1e033c..af49d5422 100644 --- a/library/distribution.po +++ b/library/distribution.po @@ -1,26 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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.10\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-06-29 12:56+0000\n" -"PO-Revision-Date: 2021-06-28 01:04+0000\n" -"Last-Translator: Rafael Fontenelle , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:57+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/distribution.rst:3 msgid "Software Packaging and Distribution" diff --git a/library/distutils.po b/library/distutils.po index db9601c0d..a5d047ec3 100644 --- a/library/distutils.po +++ b/library/distutils.po @@ -1,26 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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.10\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-06-29 12:56+0000\n" -"PO-Revision-Date: 2021-06-28 01:04+0000\n" -"Last-Translator: Rafael Fontenelle , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:57+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/distutils.rst:2 msgid ":mod:`distutils` --- Building and installing Python modules" diff --git a/library/doctest.po b/library/doctest.po index 698d6204d..cd5ac660f 100644 --- a/library/doctest.po +++ b/library/doctest.po @@ -1,31 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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 -# i17obot , 2021 -# Marco Rougeth , 2021 -# Claudio Rogerio Carvalho Filho , 2021 -# Rafael Marques , 2021 +# python-doc bot, 2025 # #, 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:04+0000\n" -"Last-Translator: Rafael Marques , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:57+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/doctest.rst:2 msgid ":mod:`doctest` --- Test interactive Python examples" @@ -33,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 "" @@ -60,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 "" @@ -83,7 +79,7 @@ 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:" +"Se executar diretamente :file:`example.py` desde a linha de comando, :mod:" "`doctest` a mágica funcionará:" #: ../../library/doctest.rst:96 @@ -137,7 +133,7 @@ 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 @@ -161,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 "" @@ -169,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 "" @@ -176,6 +178,9 @@ 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 "" @@ -183,22 +188,29 @@ msgid "" "`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 "" @@ -207,12 +219,19 @@ 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 "" @@ -221,6 +240,10 @@ msgid "" "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 "" @@ -229,12 +252,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 "" @@ -242,12 +272,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 "" @@ -259,7 +295,7 @@ msgstr "" #: ../../library/doctest.rst:262 msgid "How It Works" -msgstr "Como funciona" +msgstr "Como ele funciona" #: ../../library/doctest.rst:264 msgid "" @@ -270,16 +306,25 @@ 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 "" @@ -295,38 +340,51 @@ 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:299 +#: ../../library/doctest.rst:295 msgid "How are Docstring Examples Recognized?" -msgstr "" +msgstr "Como os exemplos de docstrings são reconhecidos?" -#: ../../library/doctest.rst:301 +#: ../../library/doctest.rst:297 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:326 +#: ../../library/doctest.rst:322 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:330 +#: ../../library/doctest.rst:326 msgid "The fine print:" -msgstr "" +msgstr "A saída formatada:" -#: ../../library/doctest.rst:332 +#: ../../library/doctest.rst:328 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:337 +#: ../../library/doctest.rst:333 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 " @@ -340,43 +398,68 @@ msgid "" "different algorithm for handling tabs by writing a custom :class:" "`DocTestParser` class." msgstr "" - -#: ../../library/doctest.rst:349 +"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 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:352 +#: ../../library/doctest.rst:348 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:361 +#: ../../library/doctest.rst:357 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:370 +#: ../../library/doctest.rst:366 msgid "The starting column doesn't matter::" -msgstr "" +msgstr "A coluna inicial não importa::" -#: ../../library/doctest.rst:377 +#: ../../library/doctest.rst:373 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:384 +#: ../../library/doctest.rst:380 msgid "What's the Execution Context?" -msgstr "" +msgstr "Qual é o contexto de execução?" -#: ../../library/doctest.rst:386 +#: ../../library/doctest.rst:382 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 " @@ -387,17 +470,19 @@ msgid "" "defined in other docstrings." msgstr "" -#: ../../library/doctest.rst:394 +#: ../../library/doctest.rst:390 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:401 +#: ../../library/doctest.rst:397 msgid "What About Exceptions?" -msgstr "" +msgstr "E quanto às exceções?" -#: ../../library/doctest.rst:403 +#: ../../library/doctest.rst:399 msgid "" "No problem, provided that the traceback is the only output produced by the " "example: just paste in the traceback. [#]_ Since tracebacks contain details " @@ -405,32 +490,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:409 +#: ../../library/doctest.rst:405 msgid "Simple example::" -msgstr "" +msgstr "Exemplo simples::" -#: ../../library/doctest.rst:416 +#: ../../library/doctest.rst:412 msgid "" "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:419 +#: ../../library/doctest.rst:415 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:426 +#: ../../library/doctest.rst:422 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:430 +#: ../../library/doctest.rst:426 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 " @@ -438,20 +533,20 @@ msgid "" "multi-line detail::" msgstr "" -#: ../../library/doctest.rst:442 +#: ../../library/doctest.rst:438 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:445 +#: ../../library/doctest.rst:441 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:455 +#: ../../library/doctest.rst:451 msgid "" "Note that tracebacks are treated very specially. In particular, in the " "rewritten example, the use of ``...`` is independent of doctest's :const:" @@ -460,11 +555,11 @@ msgid "" "transcript of a Monty Python skit." msgstr "" -#: ../../library/doctest.rst:461 +#: ../../library/doctest.rst:457 msgid "Some details you should read once, but won't need to remember:" msgstr "" -#: ../../library/doctest.rst:463 +#: ../../library/doctest.rst:459 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 " @@ -474,7 +569,7 @@ msgid "" "create real problems." msgstr "" -#: ../../library/doctest.rst:470 +#: ../../library/doctest.rst:466 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. " @@ -483,14 +578,14 @@ msgid "" "course this does the right thing for genuine tracebacks." msgstr "" -#: ../../library/doctest.rst:476 +#: ../../library/doctest.rst:472 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:480 +#: ../../library/doctest.rst:476 msgid "" "The interactive shell omits the traceback header line for some :exc:" "`SyntaxError`\\ s. But doctest uses the traceback header line to " @@ -499,13 +594,13 @@ msgid "" "need to manually add the traceback header line to your test example." msgstr "" -#: ../../library/doctest.rst:488 +#: ../../library/doctest.rst:484 msgid "" "For some :exc:`SyntaxError`\\ s, Python displays the character position of " "the syntax error, using a ``^`` marker::" msgstr "" -#: ../../library/doctest.rst:497 +#: ../../library/doctest.rst:493 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 " @@ -513,11 +608,11 @@ msgid "" "location::" msgstr "" -#: ../../library/doctest.rst:513 +#: ../../library/doctest.rst:509 msgid "Option Flags" msgstr "Flags opcionais" -#: ../../library/doctest.rst:515 +#: ../../library/doctest.rst:511 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 :" @@ -527,17 +622,17 @@ msgid "" "option." msgstr "" -#: ../../library/doctest.rst:521 +#: ../../library/doctest.rst:517 msgid "The ``-o`` command line option." msgstr "" -#: ../../library/doctest.rst:524 +#: ../../library/doctest.rst:520 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:530 +#: ../../library/doctest.rst:526 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 " @@ -549,7 +644,7 @@ msgid "" "not for several years." msgstr "" -#: ../../library/doctest.rst:542 +#: ../../library/doctest.rst:538 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 " @@ -558,7 +653,7 @@ msgid "" "`DONT_ACCEPT_BLANKLINE` is specified, this substitution is not allowed." msgstr "" -#: ../../library/doctest.rst:551 +#: ../../library/doctest.rst:547 msgid "" "When specified, all sequences of whitespace (blanks and newlines) are " "treated as equal. Any sequence of whitespace within the expected output " @@ -568,7 +663,7 @@ msgid "" "across multiple lines in your source." msgstr "" -#: ../../library/doctest.rst:562 +#: ../../library/doctest.rst:558 msgid "" "When specified, an ellipsis marker (``...``) in the expected output can " "match any substring in the actual output. This includes substrings that " @@ -577,48 +672,37 @@ msgid "" "matched too much!\" surprises that ``.*`` is prone to in regular expressions." msgstr "" -#: ../../library/doctest.rst:571 +#: ../../library/doctest.rst:567 msgid "" -"When specified, an example that expects an exception passes if an exception " -"of the expected type is raised, even if the exception detail does not " -"match. For example, an example expecting ``ValueError: 42`` will pass if " -"the actual exception raised is ``ValueError: 3*14``, but will fail, e.g., " -"if :exc:`TypeError` is raised." +"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:577 +#: ../../library/doctest.rst:571 msgid "" -"It will also ignore the module name used in Python 3 doctest reports. Hence " -"both of these variations will work with the flag specified, regardless of " -"whether the test is run under Python 2.7 or Python 3.2 (or later versions)::" +"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:" msgstr "" -#: ../../library/doctest.rst:589 +#: ../../library/doctest.rst:593 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 or not " -"the module details are printed as part of the exception name. Using :const:" -"`IGNORE_EXCEPTION_DETAIL` and the details from Python 2.3 is also the only " -"clear way to write a doctest that doesn't care about the exception detail " -"yet continues to pass under Python 2.3 or earlier (those releases do not " -"support :ref:`doctest directives ` and ignore them as " -"irrelevant comments). For example::" +"exception message, but such a test may still fail based on whether the " +"module name is present or matches exactly." msgstr "" -#: ../../library/doctest.rst:603 -msgid "" -"passes under Python 2.3 and later Python versions with the flag specified, " -"even though the detail changed in Python 2.4 to say \"does not\" instead of " -"\"doesn't\"." -msgstr "" - -#: ../../library/doctest.rst:607 +#: ../../library/doctest.rst:597 msgid "" ":const:`IGNORE_EXCEPTION_DETAIL` now also ignores any information relating " "to the module containing the exception under test." msgstr "" -#: ../../library/doctest.rst:614 +#: ../../library/doctest.rst:604 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, " @@ -627,32 +711,32 @@ msgid "" "might depend on resources which would be unavailable to the test driver." msgstr "" -#: ../../library/doctest.rst:620 +#: ../../library/doctest.rst:610 msgid "" "The SKIP flag can also be used for temporarily \"commenting out\" examples." msgstr "" -#: ../../library/doctest.rst:625 +#: ../../library/doctest.rst:615 msgid "A bitmask or'ing together all the comparison flags above." msgstr "" -#: ../../library/doctest.rst:627 +#: ../../library/doctest.rst:617 msgid "The second group of options controls how test failures are reported:" msgstr "" -#: ../../library/doctest.rst:632 +#: ../../library/doctest.rst:622 msgid "" "When specified, failures that involve multi-line expected and actual outputs " "are displayed using a unified diff." msgstr "" -#: ../../library/doctest.rst:638 +#: ../../library/doctest.rst:628 msgid "" "When specified, failures that involve multi-line expected and actual outputs " "will be displayed using a context diff." msgstr "" -#: ../../library/doctest.rst:644 +#: ../../library/doctest.rst:634 msgid "" "When specified, differences are computed by ``difflib.Differ``, using the " "same algorithm as the popular :file:`ndiff.py` utility. This is the only " @@ -662,7 +746,7 @@ msgid "" "mismatching column positions." msgstr "" -#: ../../library/doctest.rst:653 +#: ../../library/doctest.rst:643 msgid "" "When specified, display the first failing example in each doctest, but " "suppress output for all remaining examples. This will prevent doctest from " @@ -673,7 +757,7 @@ msgid "" "of failures reported; only the output is suppressed." msgstr "" -#: ../../library/doctest.rst:664 +#: ../../library/doctest.rst:654 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 " @@ -681,23 +765,23 @@ msgid "" "first failure won't even produce debugging output." msgstr "" -#: ../../library/doctest.rst:669 +#: ../../library/doctest.rst:659 msgid "" "The doctest command line accepts the option ``-f`` as a shorthand for ``-o " "FAIL_FAST``." msgstr "" -#: ../../library/doctest.rst:677 +#: ../../library/doctest.rst:667 msgid "A bitmask or'ing together all the reporting flags above." msgstr "" -#: ../../library/doctest.rst:680 +#: ../../library/doctest.rst:670 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:686 +#: ../../library/doctest.rst:676 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 :" @@ -706,62 +790,62 @@ msgid "" "be called using the following idiom::" msgstr "" -#: ../../library/doctest.rst:702 +#: ../../library/doctest.rst:692 msgid "Directives" msgstr "" -#: ../../library/doctest.rst:704 +#: ../../library/doctest.rst:694 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:715 +#: ../../library/doctest.rst:705 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:719 +#: ../../library/doctest.rst:709 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:722 -msgid "For example, this test passes::" -msgstr "" +#: ../../library/doctest.rst:712 +msgid "For example, this test passes:" +msgstr "Por exemplo, este teste é aprovado:" -#: ../../library/doctest.rst:728 +#: ../../library/doctest.rst:721 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 " "actual output is on a single line. This test also passes, and also requires " -"a directive to do so::" +"a directive to do so:" msgstr "" -#: ../../library/doctest.rst:736 +#: ../../library/doctest.rst:732 msgid "" "Multiple directives can be used on a single physical line, separated by " -"commas::" +"commas:" msgstr "" -#: ../../library/doctest.rst:742 +#: ../../library/doctest.rst:741 msgid "" "If multiple directive comments are used for a single example, then they are " -"combined::" +"combined:" msgstr "" -#: ../../library/doctest.rst:749 +#: ../../library/doctest.rst:751 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::" +"for a directive to comfortably fit on the same line:" msgstr "" -#: ../../library/doctest.rst:757 +#: ../../library/doctest.rst:762 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 " @@ -771,11 +855,11 @@ msgid "" "be useful." msgstr "" -#: ../../library/doctest.rst:767 +#: ../../library/doctest.rst:772 msgid "Warnings" msgstr "Avisos" -#: ../../library/doctest.rst:769 +#: ../../library/doctest.rst:774 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 " @@ -785,58 +869,51 @@ msgid "" "test like ::" msgstr "" -#: ../../library/doctest.rst:778 +#: ../../library/doctest.rst:783 msgid "is vulnerable! One workaround is to do ::" msgstr "" -#: ../../library/doctest.rst:783 +#: ../../library/doctest.rst:788 msgid "instead. Another is to do ::" msgstr "" -#: ../../library/doctest.rst:791 -msgid "" -"Before Python 3.6, when printing a dict, Python did not guarantee that the " -"key-value pairs was printed in any particular order." -msgstr "" - #: ../../library/doctest.rst:794 msgid "There are others, but you get the idea." msgstr "" #: ../../library/doctest.rst:796 -msgid "" -"Another bad idea is to print things that embed an object address, like ::" +msgid "Another bad idea is to print things that embed an object address, like" msgstr "" -#: ../../library/doctest.rst:804 +#: ../../library/doctest.rst:806 msgid "" -"The :const:`ELLIPSIS` directive gives a nice approach for the last example::" +"The :const:`ELLIPSIS` directive gives a nice approach for the last example:" msgstr "" -#: ../../library/doctest.rst:809 +#: ../../library/doctest.rst:814 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:820 +#: ../../library/doctest.rst:825 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:826 +#: ../../library/doctest.rst:831 msgid "" "Simple fractions are also easier for people to understand, and that makes " "for better documentation." msgstr "" -#: ../../library/doctest.rst:833 +#: ../../library/doctest.rst:838 msgid "Basic API" msgstr "" -#: ../../library/doctest.rst:835 +#: ../../library/doctest.rst:840 msgid "" "The functions :func:`testmod` and :func:`testfile` provide a simple " "interface to doctest that should be sufficient for most basic uses. For a " @@ -844,25 +921,25 @@ msgid "" "simple-testmod` and :ref:`doctest-simple-testfile`." msgstr "" -#: ../../library/doctest.rst:843 +#: ../../library/doctest.rst:848 msgid "" "All arguments except *filename* are optional, and should be specified in " "keyword form." msgstr "" -#: ../../library/doctest.rst:846 +#: ../../library/doctest.rst:851 msgid "" "Test examples in the file named *filename*. Return ``(failure_count, " "test_count)``." msgstr "" -#: ../../library/doctest.rst:849 +#: ../../library/doctest.rst:854 msgid "" "Optional argument *module_relative* specifies how the filename should be " "interpreted:" msgstr "" -#: ../../library/doctest.rst:852 +#: ../../library/doctest.rst:857 msgid "" "If *module_relative* is ``True`` (the default), then *filename* specifies an " "OS-independent module-relative path. By default, this path is relative to " @@ -872,20 +949,20 @@ msgid "" "absolute path (i.e., it may not begin with ``/``)." msgstr "" -#: ../../library/doctest.rst:859 +#: ../../library/doctest.rst:864 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:863 +#: ../../library/doctest.rst:868 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:866 +#: ../../library/doctest.rst:871 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-" @@ -894,7 +971,7 @@ msgid "" "is an error to specify *package* if *module_relative* is ``False``." msgstr "" -#: ../../library/doctest.rst:872 +#: ../../library/doctest.rst:877 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 " @@ -902,7 +979,7 @@ msgid "" "``None``, a new empty dict is used." msgstr "" -#: ../../library/doctest.rst:877 +#: ../../library/doctest.rst:882 msgid "" "Optional argument *extraglobs* gives a dict merged into the globals used to " "execute examples. This works like :meth:`dict.update`: if *globs* and " @@ -915,27 +992,27 @@ msgid "" "tested." msgstr "" -#: ../../library/doctest.rst:886 +#: ../../library/doctest.rst:891 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:890 +#: ../../library/doctest.rst:895 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:894 +#: ../../library/doctest.rst:899 msgid "" "Optional argument *optionflags* (default value 0) takes the :ref:`bitwise OR " "` of option flags. See section :ref:`doctest-options`." msgstr "" -#: ../../library/doctest.rst:898 +#: ../../library/doctest.rst:903 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. " @@ -943,33 +1020,33 @@ msgid "" "continue running examples." msgstr "" -#: ../../library/doctest.rst:903 ../../library/doctest.rst:1043 +#: ../../library/doctest.rst:908 ../../library/doctest.rst:1048 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:907 ../../library/doctest.rst:1047 +#: ../../library/doctest.rst:912 ../../library/doctest.rst:1052 msgid "" "Optional argument *encoding* specifies an encoding that should be used to " "convert the file to unicode." msgstr "" -#: ../../library/doctest.rst:913 +#: ../../library/doctest.rst:918 msgid "" "All arguments are optional, and all except for *m* should be specified in " "keyword form." msgstr "" -#: ../../library/doctest.rst:916 +#: ../../library/doctest.rst:921 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:920 +#: ../../library/doctest.rst:925 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 " @@ -977,22 +1054,22 @@ msgid "" "are searched directly, as if they were docstrings." msgstr "" -#: ../../library/doctest.rst:925 +#: ../../library/doctest.rst:930 msgid "" "Only docstrings attached to objects belonging to module *m* are searched." msgstr "" -#: ../../library/doctest.rst:927 +#: ../../library/doctest.rst:932 msgid "Return ``(failure_count, test_count)``." msgstr "" -#: ../../library/doctest.rst:929 +#: ../../library/doctest.rst:934 msgid "" "Optional argument *name* gives the name of the module; by default, or if " "``None``, ``m.__name__`` is used." msgstr "" -#: ../../library/doctest.rst:932 +#: ../../library/doctest.rst:937 msgid "" "Optional argument *exclude_empty* defaults to false. If true, objects for " "which no doctests are found are excluded from consideration. The default is " @@ -1002,39 +1079,39 @@ msgid "" "class:`DocTestFinder` constructor defaults to true." msgstr "" -#: ../../library/doctest.rst:939 +#: ../../library/doctest.rst:944 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:946 +#: ../../library/doctest.rst:951 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:949 +#: ../../library/doctest.rst:954 msgid "" "A shallow copy of dictionary argument *globs* is used for the execution " "context." msgstr "" -#: ../../library/doctest.rst:951 +#: ../../library/doctest.rst:956 msgid "" -"Optional argument *name* is used in failure messages, and defaults to ``" -"\"NoName\"``." +"Optional argument *name* is used in failure messages, and defaults to " +"``\"NoName\"``." msgstr "" -#: ../../library/doctest.rst:954 +#: ../../library/doctest.rst:959 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:957 +#: ../../library/doctest.rst:962 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 " @@ -1042,16 +1119,16 @@ msgid "" "found in *globs*." msgstr "" -#: ../../library/doctest.rst:961 +#: ../../library/doctest.rst:966 msgid "" "Optional argument *optionflags* works as for function :func:`testfile` above." msgstr "" -#: ../../library/doctest.rst:967 +#: ../../library/doctest.rst:972 msgid "Unittest API" msgstr "API do Unittest" -#: ../../library/doctest.rst:969 +#: ../../library/doctest.rst:974 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 " @@ -1060,19 +1137,19 @@ msgid "" "discovery, include a :func:`load_tests` function in your test module::" msgstr "" -#: ../../library/doctest.rst:983 +#: ../../library/doctest.rst:988 msgid "" "There are two main functions for creating :class:`unittest.TestSuite` " "instances from text files and modules with doctests:" msgstr "" -#: ../../library/doctest.rst:989 +#: ../../library/doctest.rst:994 msgid "" "Convert doctest tests from one or more text files to a :class:`unittest." "TestSuite`." msgstr "" -#: ../../library/doctest.rst:992 +#: ../../library/doctest.rst:997 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 " @@ -1081,21 +1158,21 @@ msgid "" "containing the test and a (sometimes approximate) line number." msgstr "" -#: ../../library/doctest.rst:998 +#: ../../library/doctest.rst:1003 msgid "Pass one or more paths (as strings) to text files to be examined." msgstr "" -#: ../../library/doctest.rst:1000 +#: ../../library/doctest.rst:1005 msgid "Options may be provided as keyword arguments:" msgstr "" -#: ../../library/doctest.rst:1002 +#: ../../library/doctest.rst:1007 msgid "" "Optional argument *module_relative* specifies how the filenames in *paths* " "should be interpreted:" msgstr "" -#: ../../library/doctest.rst:1005 +#: ../../library/doctest.rst:1010 msgid "" "If *module_relative* is ``True`` (the default), then each filename in " "*paths* specifies an OS-independent module-relative path. By default, this " @@ -1106,14 +1183,14 @@ msgid "" "``)." msgstr "" -#: ../../library/doctest.rst:1013 +#: ../../library/doctest.rst:1018 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:1017 +#: ../../library/doctest.rst:1022 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-" @@ -1123,7 +1200,7 @@ msgid "" "``False``." msgstr "" -#: ../../library/doctest.rst:1024 +#: ../../library/doctest.rst:1029 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 " @@ -1131,7 +1208,7 @@ msgid "" "test globals as the *globs* attribute of the test passed." msgstr "" -#: ../../library/doctest.rst:1029 +#: ../../library/doctest.rst:1034 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* " @@ -1139,14 +1216,14 @@ msgid "" "access the test globals as the *globs* attribute of the test passed." msgstr "" -#: ../../library/doctest.rst:1034 ../../library/doctest.rst:1068 +#: ../../library/doctest.rst:1039 ../../library/doctest.rst:1073 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:1038 +#: ../../library/doctest.rst:1043 msgid "" "Optional argument *optionflags* specifies the default doctest options for " "the tests, created by or-ing together individual option flags. See section :" @@ -1154,17 +1231,17 @@ msgid "" "for a better way to set reporting options." msgstr "" -#: ../../library/doctest.rst:1050 +#: ../../library/doctest.rst:1055 msgid "" "The global ``__file__`` is added to the globals provided to doctests loaded " "from a text file using :func:`DocFileSuite`." msgstr "" -#: ../../library/doctest.rst:1056 +#: ../../library/doctest.rst:1061 msgid "Convert doctest tests for a module to a :class:`unittest.TestSuite`." msgstr "" -#: ../../library/doctest.rst:1058 +#: ../../library/doctest.rst:1063 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, " @@ -1173,42 +1250,42 @@ msgid "" "(sometimes approximate) line number." msgstr "" -#: ../../library/doctest.rst:1064 +#: ../../library/doctest.rst:1069 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:1072 +#: ../../library/doctest.rst:1077 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:1075 +#: ../../library/doctest.rst:1080 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:1078 +#: ../../library/doctest.rst:1083 msgid "" "Optional arguments *setUp*, *tearDown*, and *optionflags* are the same as " "for function :func:`DocFileSuite` above." msgstr "" -#: ../../library/doctest.rst:1081 +#: ../../library/doctest.rst:1086 msgid "This function uses the same search technique as :func:`testmod`." msgstr "" -#: ../../library/doctest.rst:1083 +#: ../../library/doctest.rst:1088 msgid "" ":func:`DocTestSuite` returns an empty :class:`unittest.TestSuite` if " "*module* contains no docstrings instead of raising :exc:`ValueError`." msgstr "" -#: ../../library/doctest.rst:1088 +#: ../../library/doctest.rst:1093 msgid "" "Under the covers, :func:`DocTestSuite` creates a :class:`unittest.TestSuite` " "out of :class:`doctest.DocTestCase` instances, and :class:`DocTestCase` is a " @@ -1217,14 +1294,14 @@ msgid "" "questions about the exact details of :mod:`unittest` integration." msgstr "" -#: ../../library/doctest.rst:1094 +#: ../../library/doctest.rst:1099 msgid "" "Similarly, :func:`DocFileSuite` creates a :class:`unittest.TestSuite` out " "of :class:`doctest.DocFileCase` instances, and :class:`DocFileCase` is a " "subclass of :class:`DocTestCase`." msgstr "" -#: ../../library/doctest.rst:1098 +#: ../../library/doctest.rst:1103 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 :" @@ -1237,23 +1314,23 @@ msgid "" "through :mod:`unittest` to :mod:`doctest` test runners." msgstr "" -#: ../../library/doctest.rst:1108 +#: ../../library/doctest.rst:1113 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:1114 +#: ../../library/doctest.rst:1119 msgid "Set the :mod:`doctest` reporting flags to use." msgstr "" -#: ../../library/doctest.rst:1116 +#: ../../library/doctest.rst:1121 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:1119 +#: ../../library/doctest.rst:1124 msgid "" "This is a module-global setting, and affects all future doctests run by " "module :mod:`unittest`: the :meth:`runTest` method of :class:`DocTestCase` " @@ -1267,17 +1344,17 @@ msgid "" "`doctest`'s :mod:`unittest` reporting flags are ignored." msgstr "" -#: ../../library/doctest.rst:1130 +#: ../../library/doctest.rst:1135 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:1137 +#: ../../library/doctest.rst:1142 msgid "Advanced API" msgstr "" -#: ../../library/doctest.rst:1139 +#: ../../library/doctest.rst:1144 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 " @@ -1285,85 +1362,85 @@ msgid "" "doctest's capabilities, then you should use the advanced API." msgstr "" -#: ../../library/doctest.rst:1144 +#: ../../library/doctest.rst:1149 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:1147 +#: ../../library/doctest.rst:1152 msgid "" ":class:`Example`: A single Python :term:`statement`, paired with its " "expected output." msgstr "" -#: ../../library/doctest.rst:1150 +#: ../../library/doctest.rst:1155 msgid "" ":class:`DocTest`: A collection of :class:`Example`\\ s, typically extracted " "from a single docstring or text file." msgstr "" -#: ../../library/doctest.rst:1153 +#: ../../library/doctest.rst:1158 msgid "" "Additional processing classes are defined to find, parse, and run, and check " "doctest examples:" msgstr "" -#: ../../library/doctest.rst:1156 +#: ../../library/doctest.rst:1161 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." msgstr "" -#: ../../library/doctest.rst:1160 +#: ../../library/doctest.rst:1165 msgid "" ":class:`DocTestParser`: Creates a :class:`DocTest` object from a string " "(such as an object's docstring)." msgstr "" -#: ../../library/doctest.rst:1163 +#: ../../library/doctest.rst:1168 msgid "" ":class:`DocTestRunner`: Executes the examples in a :class:`DocTest`, and " "uses an :class:`OutputChecker` to verify their output." msgstr "" -#: ../../library/doctest.rst:1166 +#: ../../library/doctest.rst:1171 msgid "" ":class:`OutputChecker`: Compares the actual output from a doctest example " "with the expected output, and decides whether they match." msgstr "" -#: ../../library/doctest.rst:1169 +#: ../../library/doctest.rst:1174 msgid "" "The relationships among these processing classes are summarized in the " "following diagram::" msgstr "" -#: ../../library/doctest.rst:1185 +#: ../../library/doctest.rst:1190 msgid "DocTest Objects" msgstr "" -#: ../../library/doctest.rst:1190 +#: ../../library/doctest.rst:1195 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:1194 +#: ../../library/doctest.rst:1199 msgid "" ":class:`DocTest` defines the following attributes. They are initialized by " "the constructor, and should not be modified directly." msgstr "" -#: ../../library/doctest.rst:1200 +#: ../../library/doctest.rst:1205 msgid "" "A list of :class:`Example` objects encoding the individual interactive " "Python examples that should be run by this test." msgstr "" -#: ../../library/doctest.rst:1206 +#: ../../library/doctest.rst:1211 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 " @@ -1371,57 +1448,57 @@ msgid "" "`globs` after the test is run." msgstr "" -#: ../../library/doctest.rst:1214 +#: ../../library/doctest.rst:1219 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:1220 +#: ../../library/doctest.rst:1225 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:1227 +#: ../../library/doctest.rst:1232 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:1234 +#: ../../library/doctest.rst:1239 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:1241 +#: ../../library/doctest.rst:1246 msgid "Example Objects" msgstr "" -#: ../../library/doctest.rst:1246 +#: ../../library/doctest.rst:1251 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:1251 +#: ../../library/doctest.rst:1256 msgid "" ":class:`Example` defines the following attributes. They are initialized by " "the constructor, and should not be modified directly." msgstr "" -#: ../../library/doctest.rst:1257 +#: ../../library/doctest.rst:1262 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:1264 +#: ../../library/doctest.rst:1269 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 " @@ -1429,7 +1506,7 @@ msgid "" "The constructor adds a newline when necessary." msgstr "" -#: ../../library/doctest.rst:1272 +#: ../../library/doctest.rst:1277 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 " @@ -1438,20 +1515,20 @@ msgid "" "unless it's ``None``. The constructor adds a newline if needed." msgstr "" -#: ../../library/doctest.rst:1281 +#: ../../library/doctest.rst:1286 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:1288 +#: ../../library/doctest.rst:1293 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:1294 +#: ../../library/doctest.rst:1299 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 " @@ -1460,11 +1537,11 @@ msgid "" "are set." msgstr "" -#: ../../library/doctest.rst:1303 +#: ../../library/doctest.rst:1308 msgid "DocTestFinder objects" msgstr "" -#: ../../library/doctest.rst:1308 +#: ../../library/doctest.rst:1313 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 " @@ -1472,48 +1549,48 @@ msgid "" "classes, functions, methods, staticmethods, classmethods, and properties." msgstr "" -#: ../../library/doctest.rst:1313 +#: ../../library/doctest.rst:1318 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:1316 +#: ../../library/doctest.rst:1321 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:1319 +#: ../../library/doctest.rst:1324 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:1322 +#: ../../library/doctest.rst:1327 msgid "" "If the optional argument *exclude_empty* is false, then :meth:`DocTestFinder." "find` will include tests for objects with empty docstrings." msgstr "" -#: ../../library/doctest.rst:1326 +#: ../../library/doctest.rst:1331 msgid ":class:`DocTestFinder` defines the following method:" msgstr "" -#: ../../library/doctest.rst:1331 +#: ../../library/doctest.rst:1336 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:1334 +#: ../../library/doctest.rst:1339 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:1338 +#: ../../library/doctest.rst:1343 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 " @@ -1521,26 +1598,26 @@ msgid "" "module is used:" msgstr "" -#: ../../library/doctest.rst:1342 +#: ../../library/doctest.rst:1347 msgid "As a default namespace, if *globs* is not specified." msgstr "" -#: ../../library/doctest.rst:1344 +#: ../../library/doctest.rst:1349 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:1348 +#: ../../library/doctest.rst:1353 msgid "To find the name of the file containing the object." msgstr "" -#: ../../library/doctest.rst:1350 +#: ../../library/doctest.rst:1355 msgid "To help find the line number of the object within its file." msgstr "" -#: ../../library/doctest.rst:1352 +#: ../../library/doctest.rst:1357 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 " @@ -1549,7 +1626,7 @@ msgid "" "contained objects will (recursively) be searched for doctests." msgstr "" -#: ../../library/doctest.rst:1358 +#: ../../library/doctest.rst:1363 msgid "" "The globals for each :class:`DocTest` is formed by combining *globs* and " "*extraglobs* (bindings in *extraglobs* override bindings in *globs*). A new " @@ -1559,34 +1636,34 @@ msgid "" "defaults to ``{}``." msgstr "" -#: ../../library/doctest.rst:1369 +#: ../../library/doctest.rst:1374 msgid "DocTestParser objects" msgstr "" -#: ../../library/doctest.rst:1374 +#: ../../library/doctest.rst:1379 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:1378 ../../library/doctest.rst:1446 +#: ../../library/doctest.rst:1383 ../../library/doctest.rst:1451 msgid ":class:`DocTestParser` defines the following methods:" msgstr "" -#: ../../library/doctest.rst:1383 +#: ../../library/doctest.rst:1388 msgid "" "Extract all doctest examples from the given string, and collect them into a :" "class:`DocTest` object." msgstr "" -#: ../../library/doctest.rst:1386 +#: ../../library/doctest.rst:1391 msgid "" "*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:1393 +#: ../../library/doctest.rst:1398 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 " @@ -1594,7 +1671,7 @@ msgid "" "error messages." msgstr "" -#: ../../library/doctest.rst:1400 +#: ../../library/doctest.rst:1405 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 " @@ -1602,17 +1679,17 @@ msgid "" "name identifying this string, and is only used for error messages." msgstr "" -#: ../../library/doctest.rst:1409 +#: ../../library/doctest.rst:1414 msgid "DocTestRunner objects" msgstr "" -#: ../../library/doctest.rst:1414 +#: ../../library/doctest.rst:1419 msgid "" "A processing class used to execute and verify the interactive examples in a :" "class:`DocTest`." msgstr "" -#: ../../library/doctest.rst:1417 +#: ../../library/doctest.rst:1422 msgid "" "The comparison between expected outputs and actual outputs is done by an :" "class:`OutputChecker`. This comparison may be customized with a number of " @@ -1622,7 +1699,7 @@ msgid "" "constructor." msgstr "" -#: ../../library/doctest.rst:1423 +#: ../../library/doctest.rst:1428 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 " @@ -1633,14 +1710,14 @@ msgid "" "`report_unexpected_exception`, and :meth:`report_failure`." msgstr "" -#: ../../library/doctest.rst:1431 +#: ../../library/doctest.rst:1436 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:1435 +#: ../../library/doctest.rst:1440 msgid "" "The optional keyword argument *verbose* controls the :class:" "`DocTestRunner`'s verbosity. If *verbose* is ``True``, then information is " @@ -1649,56 +1726,56 @@ msgid "" "verbose output is used iff the command-line switch ``-v`` is used." msgstr "" -#: ../../library/doctest.rst:1441 +#: ../../library/doctest.rst:1446 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:1451 +#: ../../library/doctest.rst:1456 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:1455 +#: ../../library/doctest.rst:1460 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`." msgstr "" -#: ../../library/doctest.rst:1462 +#: ../../library/doctest.rst:1467 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:1466 ../../library/doctest.rst:1477 +#: ../../library/doctest.rst:1471 ../../library/doctest.rst:1482 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:1473 +#: ../../library/doctest.rst:1478 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:1484 +#: ../../library/doctest.rst:1489 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:1488 +#: ../../library/doctest.rst:1493 msgid "" "*example* is the example about to be processed. *exc_info* is a tuple " "containing information about the unexpected exception (as returned by :func:" @@ -1706,13 +1783,13 @@ msgid "" "output function that was passed to :meth:`DocTestRunner.run`." msgstr "" -#: ../../library/doctest.rst:1496 +#: ../../library/doctest.rst:1501 msgid "" "Run the examples in *test* (a :class:`DocTest` object), and display the " "results using the writer function *out*." msgstr "" -#: ../../library/doctest.rst:1499 +#: ../../library/doctest.rst:1504 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, " @@ -1720,39 +1797,39 @@ msgid "" "after the test completes, then use *clear_globs=False*." msgstr "" -#: ../../library/doctest.rst:1504 +#: ../../library/doctest.rst:1509 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:1508 +#: ../../library/doctest.rst:1513 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." msgstr "" -#: ../../library/doctest.rst:1515 +#: ../../library/doctest.rst:1520 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:1518 +#: ../../library/doctest.rst:1523 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:1525 +#: ../../library/doctest.rst:1530 msgid "OutputChecker objects" msgstr "" -#: ../../library/doctest.rst:1530 +#: ../../library/doctest.rst:1535 msgid "" "A class used to check the whether the actual output from a doctest example " "matches the expected output. :class:`OutputChecker` defines two methods: :" @@ -1761,11 +1838,11 @@ msgid "" "string describing the differences between two outputs." msgstr "" -#: ../../library/doctest.rst:1537 +#: ../../library/doctest.rst:1542 msgid ":class:`OutputChecker` defines the following methods:" -msgstr "" +msgstr ":class:`OutputChecker` define os seguintes métodos:" -#: ../../library/doctest.rst:1541 +#: ../../library/doctest.rst:1546 msgid "" "Return ``True`` iff the actual output from an example (*got*) matches the " "expected output (*want*). These strings are always considered to match if " @@ -1774,28 +1851,28 @@ msgid "" "`doctest-options` for more information about option flags." msgstr "" -#: ../../library/doctest.rst:1550 +#: ../../library/doctest.rst:1555 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:1558 +#: ../../library/doctest.rst:1563 msgid "Debugging" msgstr "Depuração" -#: ../../library/doctest.rst:1560 +#: ../../library/doctest.rst:1565 msgid "Doctest provides several mechanisms for debugging doctest examples:" msgstr "" -#: ../../library/doctest.rst:1562 +#: ../../library/doctest.rst:1567 msgid "" "Several functions convert doctests to executable Python programs, which can " "be run under the Python debugger, :mod:`pdb`." msgstr "" -#: ../../library/doctest.rst:1565 +#: ../../library/doctest.rst:1570 msgid "" "The :class:`DebugRunner` class is a subclass of :class:`DocTestRunner` that " "raises an exception for the first failing example, containing information " @@ -1803,13 +1880,13 @@ msgid "" "debugging on the example." msgstr "" -#: ../../library/doctest.rst:1570 +#: ../../library/doctest.rst:1575 msgid "" "The :mod:`unittest` cases generated by :func:`DocTestSuite` support the :" "meth:`debug` method defined by :class:`unittest.TestCase`." msgstr "" -#: ../../library/doctest.rst:1573 +#: ../../library/doctest.rst:1578 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 " @@ -1817,21 +1894,21 @@ msgid "" "`a.py` contains just this module docstring::" msgstr "" -#: ../../library/doctest.rst:1588 +#: ../../library/doctest.rst:1593 msgid "Then an interactive Python session may look like this::" msgstr "" -#: ../../library/doctest.rst:1621 +#: ../../library/doctest.rst:1626 msgid "" "Functions that convert doctests to Python code, and possibly run the " "synthesized code under the debugger:" msgstr "" -#: ../../library/doctest.rst:1627 +#: ../../library/doctest.rst:1632 msgid "Convert text with examples to a script." msgstr "" -#: ../../library/doctest.rst:1629 +#: ../../library/doctest.rst:1634 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 " @@ -1839,22 +1916,22 @@ msgid "" "generated script is returned as a string. For example, ::" msgstr "" -#: ../../library/doctest.rst:1644 +#: ../../library/doctest.rst:1649 msgid "displays::" msgstr "" -#: ../../library/doctest.rst:1654 +#: ../../library/doctest.rst:1659 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:1661 +#: ../../library/doctest.rst:1666 msgid "Convert the doctest for an object to a script." msgstr "" -#: ../../library/doctest.rst:1663 +#: ../../library/doctest.rst:1668 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 " @@ -1864,17 +1941,17 @@ msgid "" "module :file:`a.py` contains a top-level function :func:`f`, then ::" msgstr "" -#: ../../library/doctest.rst:1673 +#: ../../library/doctest.rst:1678 msgid "" "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:1679 +#: ../../library/doctest.rst:1684 msgid "Debug the doctests for an object." msgstr "" -#: ../../library/doctest.rst:1681 +#: ../../library/doctest.rst:1686 msgid "" "The *module* and *name* arguments are the same as for function :func:" "`testsource` above. The synthesized Python script for the named object's " @@ -1882,13 +1959,13 @@ msgid "" "the control of the Python debugger, :mod:`pdb`." msgstr "" -#: ../../library/doctest.rst:1686 +#: ../../library/doctest.rst:1691 msgid "" "A shallow copy of ``module.__dict__`` is used for both local and global " "execution context." msgstr "" -#: ../../library/doctest.rst:1689 +#: ../../library/doctest.rst:1694 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 " @@ -1900,30 +1977,30 @@ msgid "" "to :func:`pdb.run`." msgstr "" -#: ../../library/doctest.rst:1700 +#: ../../library/doctest.rst:1705 msgid "Debug the doctests in a string." msgstr "" -#: ../../library/doctest.rst:1702 +#: ../../library/doctest.rst:1707 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:1705 +#: ../../library/doctest.rst:1710 msgid "" "Optional argument *pm* has the same meaning as in function :func:`debug` " "above." msgstr "" -#: ../../library/doctest.rst:1707 +#: ../../library/doctest.rst:1712 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:1712 +#: ../../library/doctest.rst:1717 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 " @@ -1931,7 +2008,7 @@ msgid "" "(which is a doctest!) for more details:" msgstr "" -#: ../../library/doctest.rst:1720 +#: ../../library/doctest.rst:1725 msgid "" "A subclass of :class:`DocTestRunner` that raises an exception as soon as a " "failure is encountered. If an unexpected exception occurs, an :exc:" @@ -1941,89 +2018,89 @@ msgid "" "the actual output." msgstr "" -#: ../../library/doctest.rst:1727 +#: ../../library/doctest.rst:1732 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:1730 +#: ../../library/doctest.rst:1735 msgid "" "There are two exceptions that may be raised by :class:`DebugRunner` " "instances:" msgstr "" -#: ../../library/doctest.rst:1735 +#: ../../library/doctest.rst:1740 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:1739 +#: ../../library/doctest.rst:1744 msgid ":exc:`DocTestFailure` defines the following attributes:" msgstr "" -#: ../../library/doctest.rst:1744 ../../library/doctest.rst:1768 +#: ../../library/doctest.rst:1749 ../../library/doctest.rst:1773 msgid "The :class:`DocTest` object that was being run when the example failed." msgstr "" -#: ../../library/doctest.rst:1749 ../../library/doctest.rst:1773 +#: ../../library/doctest.rst:1754 ../../library/doctest.rst:1778 msgid "The :class:`Example` that failed." msgstr "" -#: ../../library/doctest.rst:1754 +#: ../../library/doctest.rst:1759 msgid "The example's actual output." msgstr "" -#: ../../library/doctest.rst:1759 +#: ../../library/doctest.rst:1764 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:1763 +#: ../../library/doctest.rst:1768 msgid ":exc:`UnexpectedException` defines the following attributes:" -msgstr "" +msgstr ":exc:`UnexpectedException` define os seguintes atributos:" -#: ../../library/doctest.rst:1778 +#: ../../library/doctest.rst:1783 msgid "" "A tuple containing information about the unexpected exception, as returned " "by :func:`sys.exc_info`." msgstr "" -#: ../../library/doctest.rst:1785 +#: ../../library/doctest.rst:1790 msgid "Soapbox" msgstr "" -#: ../../library/doctest.rst:1787 +#: ../../library/doctest.rst:1792 msgid "" "As mentioned in the introduction, :mod:`doctest` has grown to have three " "primary uses:" msgstr "" -#: ../../library/doctest.rst:1790 +#: ../../library/doctest.rst:1795 msgid "Checking examples in docstrings." msgstr "" -#: ../../library/doctest.rst:1792 +#: ../../library/doctest.rst:1797 msgid "Regression testing." msgstr "" -#: ../../library/doctest.rst:1794 +#: ../../library/doctest.rst:1799 msgid "Executable documentation / literate testing." msgstr "" -#: ../../library/doctest.rst:1796 +#: ../../library/doctest.rst:1801 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:1800 +#: ../../library/doctest.rst:1805 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. " @@ -2035,7 +2112,7 @@ msgid "" "\"harmless\" change." msgstr "" -#: ../../library/doctest.rst:1808 +#: ../../library/doctest.rst:1813 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 " @@ -2056,13 +2133,13 @@ msgid "" "different results, blurring the distinction between testing and explaining." msgstr "" -#: ../../library/doctest.rst:1826 +#: ../../library/doctest.rst:1831 msgid "" "Regression testing is best confined to dedicated objects or files. There " "are several options for organizing tests:" msgstr "" -#: ../../library/doctest.rst:1829 +#: ../../library/doctest.rst:1834 msgid "" "Write text files containing test cases as interactive examples, and test the " "files using :func:`testfile` or :func:`DocFileSuite`. This is recommended, " @@ -2070,7 +2147,7 @@ msgid "" "doctest." msgstr "" -#: ../../library/doctest.rst:1834 +#: ../../library/doctest.rst:1839 msgid "" "Define functions named ``_regrtest_topic`` that consist of single " "docstrings, containing test cases for the named topics. These functions can " @@ -2078,13 +2155,13 @@ msgid "" "test file." msgstr "" -#: ../../library/doctest.rst:1838 +#: ../../library/doctest.rst:1843 msgid "" "Define a ``__test__`` dictionary mapping from regression test topics to " "docstrings containing test cases." msgstr "" -#: ../../library/doctest.rst:1841 +#: ../../library/doctest.rst:1846 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-" @@ -2092,11 +2169,11 @@ msgid "" "example of such a test runner::" msgstr "" -#: ../../library/doctest.rst:1863 +#: ../../library/doctest.rst:1868 msgid "Footnotes" msgstr "Notas de rodapé" -#: ../../library/doctest.rst:1864 +#: ../../library/doctest.rst:1869 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 " 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 a9a6f1129..d066b7601 100644 --- a/library/email.charset.po +++ b/library/email.charset.po @@ -1,26 +1,28 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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 +# Rafael Fontenelle , 2025 # #, 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:04+0000\n" -"Last-Translator: Rafael Fontenelle , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:57+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=2; plural=(n > 1);\n" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/email.charset.rst:2 msgid ":mod:`email.charset`: Representing character sets" @@ -35,12 +37,14 @@ 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 "" @@ -50,14 +54,19 @@ msgid "" "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 "" @@ -67,6 +76,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 "" @@ -74,6 +89,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 "" @@ -87,10 +105,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 "" @@ -98,21 +127,32 @@ 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 "" "If the character set must be encoded before it can be used in an email " -"header, this attribute will be set to ``Charset.QP`` (for quoted-printable), " -"``Charset.BASE64`` (for base64 encoding), or ``Charset.SHORTEST`` for the " +"header, this attribute will be set to ``charset.QP`` (for quoted-printable), " +"``charset.BASE64`` (for base64 encoding), or ``charset.SHORTEST`` for the " "shortest of QP or BASE64 encoding. Otherwise, it will be ``None``." msgstr "" +"Se o conjunto de caracteres precisar ser codificado antes de ser usado em um " +"cabeçalho de e-mail, este atributo será definido como ``charset.QP`` (para " +"quoted-printable), ``charset.BASE64`` (para codificação base64) ou ``charset." +"SHORTEST`` para a codificação mais curta entre QP ou BASE64. Caso contrário, " +"será ``None``." #: ../../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." +"body, which indeed may be different than the header encoding. ``charset." "SHORTEST`` is not allowed for *body_encoding*." msgstr "" +"O mesmo que *header_encoding*, mas descreve a codificação do corpo da " +"mensagem de e-mail, que pode ser diferente da codificação do cabeçalho. " +"``charset.SHORTEST`` não é permitido para *body_encoding*." #: ../../library/email.charset.rst:76 msgid "" @@ -121,6 +161,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 "" @@ -128,6 +172,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 "" @@ -135,14 +181,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 "" @@ -152,6 +203,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 "" @@ -159,30 +215,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 "" @@ -191,22 +254,30 @@ 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 "" @@ -219,37 +290,51 @@ 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 "" -"Optional *header_enc* and *body_enc* is either ``Charset.QP`` for quoted-" -"printable, ``Charset.BASE64`` for base64 encoding, ``Charset.SHORTEST`` for " +"Optional *header_enc* and *body_enc* is either ``charset.QP`` for quoted-" +"printable, ``charset.BASE64`` for base64 encoding, ``charset.SHORTEST`` for " "the shortest of quoted-printable or base64 encoding, or ``None`` for no " "encoding. ``SHORTEST`` is only valid for *header_enc*. The default is " "``None`` for no encoding." msgstr "" +"*header_enc* e *body_enc* opcionais são ``charset.QP`` para quoted-" +"printable, ``charset.BASE64`` para codificação base64, ``charset.SHORTEST`` " +"para a codificação mais curta entre quoted-printable ou base64, ou ``None`` " +"para nenhuma codificação. ``SHORTEST`` é válido apenas para *header_enc*. O " +"padrão é ``None`` para nenhuma codificação." #: ../../library/email.charset.rst:184 msgid "" @@ -258,6 +343,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 "" @@ -266,30 +356,43 @@ 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 "" @@ -297,3 +400,6 @@ msgid "" "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 f2785007b..179a29d9b 100644 --- a/library/email.compat32-message.po +++ b/library/email.compat32-message.po @@ -1,27 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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.10\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-06-29 12:56+0000\n" -"PO-Revision-Date: 2021-06-28 01:04+0000\n" -"Last-Translator: i17obot , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:57+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"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 "" @@ -130,7 +130,7 @@ msgstr "" 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 " +"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::" @@ -168,7 +168,7 @@ msgstr "" 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 " +"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::" @@ -364,7 +364,7 @@ msgid "" "In a model generated from bytes, any header values that (in contravention of " "the RFCs) contain non-ASCII bytes will, when retrieved through this " "interface, be represented as :class:`~email.header.Header` objects with a " -"charset of `unknown-8bit`." +"charset of ``unknown-8bit``." msgstr "" #: ../../library/email.compat32-message.rst:306 @@ -480,7 +480,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 ::" diff --git a/library/email.contentmanager.po b/library/email.contentmanager.po index 16fd5d4f9..4901c6f26 100644 --- a/library/email.contentmanager.po +++ b/library/email.contentmanager.po @@ -1,27 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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.10\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-06-29 12:56+0000\n" -"PO-Revision-Date: 2021-06-28 01:04+0000\n" -"Last-Translator: i17obot , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:57+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/email.contentmanager.rst:2 msgid ":mod:`email.contentmanager`: Managing MIME Content" @@ -41,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 "" @@ -49,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``" diff --git a/library/email.encoders.po b/library/email.encoders.po index 41edd68ed..8aa52f1ee 100644 --- a/library/email.encoders.po +++ b/library/email.encoders.po @@ -1,26 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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.10\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-06-29 12:56+0000\n" -"PO-Revision-Date: 2021-06-28 01:04+0000\n" -"Last-Translator: Rafael Fontenelle , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:57+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/email.encoders.rst:2 msgid ":mod:`email.encoders`: Encoders" @@ -36,6 +37,9 @@ msgid "" "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 "" @@ -44,12 +48,16 @@ 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 "" @@ -58,6 +66,11 @@ msgid "" "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 "" @@ -77,10 +90,13 @@ msgid "" "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 "" @@ -89,6 +105,10 @@ msgid "" "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 "" @@ -98,6 +118,11 @@ 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 "" @@ -105,12 +130,17 @@ msgid "" "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" @@ -121,3 +151,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 2c5166321..259e20c61 100644 --- a/library/email.errors.po +++ b/library/email.errors.po @@ -1,30 +1,31 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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.10\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-06-29 12:56+0000\n" -"PO-Revision-Date: 2021-06-28 01:05+0000\n" -"Last-Translator: Rafael Fontenelle , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:57+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/email.errors.rst:2 msgid ":mod:`email.errors`: Exception and Defect classes" -msgstr "" +msgstr ":mod:`email.errors`: Classes de Exceção e Defeito." #: ../../library/email.errors.rst:7 msgid "**Source code:** :source:`Lib/email/errors.py`" @@ -34,7 +35,7 @@ msgstr "**Código-fonte:** :source:`Lib/email/errors.py`" msgid "" "The following exception classes are defined in the :mod:`email.errors` " "module:" -msgstr "" +msgstr "A seguinte classe de exceção é definida no modulo :mod:`email.errors`." #: ../../library/email.errors.rst:16 msgid "" @@ -42,6 +43,9 @@ msgid "" "raise. It is derived from the standard :exc:`Exception` class and defines " "no additional methods." msgstr "" +"Essa é a classe base para todas as exceções que o pacote :mod:`email` pode " +"levantar. Ela é derivada da classe padrão :exc:`Exception` e não define " +"métodos adicionais." #: ../../library/email.errors.rst:23 msgid "" @@ -49,6 +53,10 @@ msgid "" "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`." #: ../../library/email.errors.rst:31 msgid "" @@ -64,7 +72,7 @@ msgstr "" #: ../../library/email.errors.rst:43 msgid "Deprecated and no longer used." -msgstr "" +msgstr "Descontinuado e não mais usado." #: ../../library/email.errors.rst:48 msgid "" @@ -84,7 +92,12 @@ msgid "" "`~email.mime.image.MIMEImage`)." msgstr "" -#: ../../library/email.errors.rst:62 +#: ../../library/email.errors.rst:64 +msgid "" +"Raised when an error occurs when the :mod:`~email.generator` outputs headers." +msgstr "" + +#: ../../library/email.errors.rst:68 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 " @@ -94,59 +107,59 @@ msgid "" "not." msgstr "" -#: ../../library/email.errors.rst:68 +#: ../../library/email.errors.rst:74 msgid "" "All defect classes are subclassed from :class:`email.errors.MessageDefect`." msgstr "" -#: ../../library/email.errors.rst:70 +#: ../../library/email.errors.rst:76 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:79 msgid "" ":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:82 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:87 msgid "" ":class:`FirstHeaderLineIsContinuationDefect` -- The message had a " "continuation line as its first header line." msgstr "" -#: ../../library/email.errors.rst:84 +#: ../../library/email.errors.rst:90 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:93 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:99 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:102 msgid "This defect has not been used for several Python versions." msgstr "" -#: ../../library/email.errors.rst:99 +#: ../../library/email.errors.rst:105 msgid "" ":class:`MultipartInvariantViolationDefect` -- A message claimed to be a :" "mimetype:`multipart`, but no subparts were found. Note that when a message " @@ -155,28 +168,28 @@ msgid "" "`multipart`." msgstr "" -#: ../../library/email.errors.rst:104 +#: ../../library/email.errors.rst:110 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:114 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:118 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:122 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 cf4fd8553..77a3d4096 100644 --- a/library/email.examples.po +++ b/library/email.examples.po @@ -1,27 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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.10\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-06-29 12:56+0000\n" -"PO-Revision-Date: 2021-06-28 01:05+0000\n" -"Last-Translator: i17obot , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:57+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/email.examples.rst:4 msgid ":mod:`email`: Examples" @@ -32,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 @@ -72,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" @@ -91,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 e9b5f2eed..71e244380 100644 --- a/library/email.generator.po +++ b/library/email.generator.po @@ -1,26 +1,28 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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 +# Rafael Fontenelle , 2025 # #, 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:05+0000\n" -"Last-Translator: Rafael Fontenelle , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-10-23 17:42+0000\n" +"PO-Revision-Date: 2025-09-22 15:57+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=2; plural=(n > 1);\n" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/email.generator.rst:2 msgid ":mod:`email.generator`: Generating MIME documents" @@ -39,6 +41,12 @@ msgid "" "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 "" @@ -56,6 +64,19 @@ msgid "" "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 "" @@ -66,6 +87,13 @@ 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 "" @@ -73,6 +101,9 @@ msgid "" "`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 "" @@ -81,6 +112,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 "" @@ -90,10 +126,19 @@ msgid "" "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 " +"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 `_)." #: ../../library/email.generator.rst:62 ../../library/email.generator.rst:163 msgid "" @@ -102,6 +147,10 @@ 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 "" @@ -111,16 +160,24 @@ msgid "" "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 "" @@ -128,6 +185,9 @@ 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 "" @@ -144,6 +204,19 @@ msgid "" "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 "" @@ -153,6 +226,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 "" @@ -160,12 +239,17 @@ 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 "" @@ -173,6 +257,9 @@ msgid "" "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 "" @@ -182,6 +269,11 @@ msgid "" "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 "" @@ -193,6 +285,14 @@ msgid "" "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 "" @@ -201,6 +301,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 "" @@ -208,6 +312,9 @@ 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 "" @@ -221,18 +328,32 @@ msgid "" "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 "" @@ -240,6 +361,9 @@ msgid "" "`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 "" @@ -249,6 +373,11 @@ msgid "" "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 "" @@ -258,6 +387,11 @@ msgid "" "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 "" @@ -268,54 +402,66 @@ msgid "" "*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." msgstr "" +"Os opcionais *_mangle_from_* e *maxheaderlen* são como os da classe base :" +"class:`Generator`." #: ../../library/email.generator.rst:275 msgid "Footnotes" diff --git a/library/email.header.po b/library/email.header.po index 1a750f046..83b611da5 100644 --- a/library/email.header.po +++ b/library/email.header.po @@ -1,27 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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.10\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-06-29 12:56+0000\n" -"PO-Revision-Date: 2021-06-28 01:05+0000\n" -"Last-Translator: i17obot , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:57+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/email.header.rst:2 msgid ":mod:`email.header`: Internationalized headers" @@ -45,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 "" @@ -209,9 +209,9 @@ msgstr "" #: ../../library/email.header.rst:138 msgid "" "*linesep* specifies the characters used to separate the lines of the folded " -"header. It defaults to the most useful value for Python application code (``" -"\\n``), but ``\\r\\n`` can be specified in order to produce headers with RFC-" -"compliant line separators." +"header. It defaults to the most useful value for Python application code " +"(``\\n``), but ``\\r\\n`` can be specified in order to produce headers with " +"RFC-compliant line separators." msgstr "" #: ../../library/email.header.rst:143 diff --git a/library/email.headerregistry.po b/library/email.headerregistry.po index 69134f719..1e418684a 100644 --- a/library/email.headerregistry.po +++ b/library/email.headerregistry.po @@ -1,32 +1,31 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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 -# i17obot , 2021 +# python-doc bot, 2025 # #, 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:05+0000\n" -"Last-Translator: i17obot , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:57+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/email.headerregistry.rst:2 msgid ":mod:`email.headerregistry`: Custom Header Objects" -msgstr "" +msgstr ":mod:`email.headerregistry`: Objetos de cabeçalho personalizados" #: ../../library/email.headerregistry.rst:10 msgid "**Source code:** :source:`Lib/email/headerregistry.py`" @@ -187,8 +186,8 @@ msgstr "" msgid "" ":rfc:`5322` specifies a very specific format for dates within email headers. " "The ``DateHeader`` parser recognizes that date format, as well as " -"recognizing a number of variant forms that are sometimes found \"in the wild" -"\"." +"recognizing a number of variant forms that are sometimes found \"in the " +"wild\"." msgstr "" #: ../../library/email.headerregistry.rst:146 @@ -203,7 +202,7 @@ msgid "" "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`), " +"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 "" @@ -426,7 +425,7 @@ msgstr "" #: ../../library/email.headerregistry.rst:0 msgid "to" -msgstr "" +msgstr "to" #: ../../library/email.headerregistry.rst:330 #: ../../library/email.headerregistry.rst:332 @@ -465,7 +464,7 @@ msgstr "" #: ../../library/email.headerregistry.rst:0 msgid "from" -msgstr "" +msgstr "from" #: ../../library/email.headerregistry.rst:0 msgid "resent-from" @@ -555,7 +554,7 @@ msgstr "" #: ../../library/email.headerregistry.rst:382 msgid "or::" -msgstr "or::" +msgstr "ou::" #: ../../library/email.headerregistry.rst:386 msgid "" diff --git a/library/email.iterators.po b/library/email.iterators.po index 4b76119e0..3dd39fb2c 100644 --- a/library/email.iterators.po +++ b/library/email.iterators.po @@ -1,26 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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.10\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-06-29 12:56+0000\n" -"PO-Revision-Date: 2021-06-28 01:05+0000\n" -"Last-Translator: Rafael Fontenelle , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:57+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/email.iterators.rst:2 msgid ":mod:`email.iterators`: Iterators" @@ -39,8 +40,8 @@ msgid "" 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." +"`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 "" diff --git a/library/email.message.po b/library/email.message.po index 4280f0940..182629751 100644 --- a/library/email.message.po +++ b/library/email.message.po @@ -1,27 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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.10\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-06-29 12:56+0000\n" -"PO-Revision-Date: 2021-06-28 01:05+0000\n" -"Last-Translator: i17obot , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:57+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/email.message.rst:2 msgid ":mod:`email.message`: Representing an email message" diff --git a/library/email.mime.po b/library/email.mime.po index 62d4662db..375756f28 100644 --- a/library/email.mime.po +++ b/library/email.mime.po @@ -1,26 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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.10\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-06-29 12:56+0000\n" -"PO-Revision-Date: 2021-06-28 01:05+0000\n" -"Last-Translator: Rafael Fontenelle , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:57+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/email.mime.rst:2 msgid ":mod:`email.mime`: Creating email and MIME objects from scratch" @@ -53,13 +54,13 @@ msgid "" "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 "" @@ -212,6 +213,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`" @@ -221,14 +225,14 @@ msgstr "Módulo: :mod:`email.mime.application`" 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* is a string containing the raw byte " -"data. Optional *_subtype* specifies the MIME subtype and defaults to :" -"mimetype:`octet-stream`." +"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* é uma sequência que " -"contém os dados brutos de bytes. O *_subtype* opcional especifica o subtipo " +"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 @@ -264,22 +268,13 @@ msgstr "Módulo: :mod:`email.mime.audio`" 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* is a string containing the raw audio data. " +"mimetype:`audio`. *_audiodata* contains the bytes for the raw audio data. " "If this data can be decoded by the standard Python module :mod:`sndhdr`, " "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* é uma string que contém os " -"dados de áudio não processados. Se esses dados puderem ser decodificados " -"pelo módulo padrão do Python :mod:`sndhdr`, 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 :exc:`TypeError` é levantado." #: ../../library/email.mime.rst:155 msgid "" @@ -309,22 +304,13 @@ msgstr "Módulo: :mod:`email.mime.image`" 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* is a string containing the raw image data. " +"mimetype:`image`. *_imagedata* contains the bytes for the raw image data. " "If this data can be decoded by the standard Python module :mod:`imghdr`, " "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." 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* é uma string que contém os " -"dados brutos da imagem. Se esses dados puderem ser decodificados pelo módulo " -"padrão do Python :mod:`imghdr`, o subtipo será automaticamente incluído no " -"cabeçalho :mailheader:`Content-Type`. Caso contrário, você pode especificar " -"explicitamente o subtipo de imagem através do argumento *_subtype*. Se o " -"tipo menor não pôde ser adivinhado e *_subtype* não foi fornecido, então :" -"exc:`TypeError` é levantado." #: ../../library/email.mime.rst:189 msgid "" @@ -337,16 +323,27 @@ msgid "" "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:201 msgid "" "*_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:211 msgid "Module: :mod:`email.mime.message`" -msgstr "" +msgstr "Módulo: :mod:`email.mime.message`" #: ../../library/email.mime.rst:213 msgid "" @@ -356,12 +353,19 @@ msgid "" "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:219 msgid "" "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:231 msgid "Module: :mod:`email.mime.text`" @@ -379,6 +383,15 @@ msgid "" "*_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:243 msgid "" @@ -392,7 +405,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:255 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 0c8f7fa35..11ab0d8fa 100644 --- a/library/email.parser.po +++ b/library/email.parser.po @@ -1,27 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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.10\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-06-29 12:56+0000\n" -"PO-Revision-Date: 2021-06-28 01:05+0000\n" -"Last-Translator: i17obot , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:57+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/email.parser.rst:2 msgid ":mod:`email.parser`: Parsing email messages" @@ -140,7 +140,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``." diff --git a/library/email.po b/library/email.po index 9150dcaaf..96b038cc8 100644 --- a/library/email.po +++ b/library/email.po @@ -1,28 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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 Biagioni de Fazio , 2021 -# Rodrigo Neres , 2021 -# Rafael Fontenelle , 2021 +# python-doc bot, 2025 # #, 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:05+0000\n" -"Last-Translator: Rafael Fontenelle , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:57+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/email.rst:2 msgid ":mod:`email` --- An email and MIME handling package" @@ -247,7 +246,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 ead7532a7..eddec2bae 100644 --- a/library/email.policy.po +++ b/library/email.policy.po @@ -1,29 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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 -# Claudio Rogerio Carvalho Filho , 2021 -# i17obot , 2021 +# python-doc bot, 2025 # #, 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:05+0000\n" -"Last-Translator: i17obot , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:57+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/email.policy.rst:2 msgid ":mod:`email.policy`: Policy Objects" @@ -31,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 "" @@ -258,46 +256,62 @@ msgid "" "`~email.message.Message` is used." msgstr "" -#: ../../library/email.policy.rst:232 +#: ../../library/email.policy.rst:235 +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:242 +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:250 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:256 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:261 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:268 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:272 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:279 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:282 msgid "" "The default implementation calls the ``append`` method of the ``defects`` " "attribute of *obj*. When the email package calls :attr:`handle_defect`, " @@ -307,11 +321,11 @@ msgid "" "defects in parsed messages will raise unexpected errors." msgstr "" -#: ../../library/email.policy.rst:274 +#: ../../library/email.policy.rst:292 msgid "Return the maximum allowed number of headers named *name*." msgstr "" -#: ../../library/email.policy.rst:276 +#: ../../library/email.policy.rst:294 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`` " @@ -319,7 +333,7 @@ msgid "" "greater than or equal to the value returned, a :exc:`ValueError` is raised." msgstr "" -#: ../../library/email.policy.rst:282 +#: ../../library/email.policy.rst:300 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 " @@ -329,11 +343,11 @@ msgid "" "faithfully produce as many headers as exist in the message being parsed.)" msgstr "" -#: ../../library/email.policy.rst:290 +#: ../../library/email.policy.rst:308 msgid "The default implementation returns ``None`` for all header names." msgstr "" -#: ../../library/email.policy.rst:295 +#: ../../library/email.policy.rst:313 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 " @@ -343,7 +357,7 @@ msgid "" "the parsed header." msgstr "" -#: ../../library/email.policy.rst:302 +#: ../../library/email.policy.rst:320 msgid "" "If an implementation wishes to retain compatibility with the existing email " "package policies, *name* should be the case preserved name (all characters " @@ -352,16 +366,16 @@ msgid "" "stripped of leading whitespace." msgstr "" -#: ../../library/email.policy.rst:308 +#: ../../library/email.policy.rst:326 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:328 ../../library/email.policy.rst:344 +#: ../../library/email.policy.rst:360 msgid "There is no default implementation" msgstr "" -#: ../../library/email.policy.rst:315 +#: ../../library/email.policy.rst:333 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`` " @@ -370,14 +384,14 @@ msgid "" "``Message`` to represent the header." msgstr "" -#: ../../library/email.policy.rst:321 +#: ../../library/email.policy.rst:339 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:349 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 " @@ -388,13 +402,13 @@ msgid "" "returned to the application." msgstr "" -#: ../../library/email.policy.rst:339 +#: ../../library/email.policy.rst:357 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:365 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 " @@ -404,32 +418,32 @@ msgid "" "discussion of the rules for folding email headers." msgstr "" -#: ../../library/email.policy.rst:354 +#: ../../library/email.policy.rst:372 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:378 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:381 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:388 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:392 msgid "" "This policy adds new header parsing and folding algorithms. Instead of " "simple strings, headers are ``str`` subclasses with attributes that depend " @@ -437,23 +451,23 @@ msgid "" "implement :rfc:`2047` and :rfc:`5322`." msgstr "" -#: ../../library/email.policy.rst:379 +#: ../../library/email.policy.rst:397 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:400 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:403 msgid "[1]_" msgstr "[1]_" -#: ../../library/email.policy.rst:390 +#: ../../library/email.policy.rst:408 msgid "" "If ``False``, follow :rfc:`5322`, supporting non-ASCII characters in headers " "by encoding them as \"encoded words\". If ``True``, follow :rfc:`6532` and " @@ -461,7 +475,7 @@ msgid "" "passed to SMTP servers that support the ``SMTPUTF8`` extension (:rfc:`6531`)." msgstr "" -#: ../../library/email.policy.rst:399 +#: ../../library/email.policy.rst:417 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 " @@ -469,37 +483,37 @@ msgid "" "transforming the message back into serialized form. The possible values are:" msgstr "" -#: ../../library/email.policy.rst:406 +#: ../../library/email.policy.rst:424 msgid "``none``" msgstr "``none``" -#: ../../library/email.policy.rst:406 +#: ../../library/email.policy.rst:424 msgid "all source values use original folding" msgstr "" -#: ../../library/email.policy.rst:408 +#: ../../library/email.policy.rst:426 msgid "``long``" msgstr "``long``" -#: ../../library/email.policy.rst:408 +#: ../../library/email.policy.rst:426 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:429 msgid "``all``" msgstr "``all``" -#: ../../library/email.policy.rst:411 +#: ../../library/email.policy.rst:429 msgid "all values are refolded." msgstr "todos os valores são redobrados." -#: ../../library/email.policy.rst:414 +#: ../../library/email.policy.rst:432 msgid "The default is ``long``." msgstr "O padrão é ``long``." -#: ../../library/email.policy.rst:419 +#: ../../library/email.policy.rst:437 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 " @@ -510,7 +524,7 @@ msgid "" "custom parsing will be added in the future." msgstr "" -#: ../../library/email.policy.rst:430 +#: ../../library/email.policy.rst:448 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." @@ -521,20 +535,20 @@ msgid "" "``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:460 ../../library/email.policy.rst:618 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:466 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:474 ../../library/email.policy.rst:624 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 " @@ -542,7 +556,7 @@ msgid "" "trailing carriage return or linefeed characters." msgstr "" -#: ../../library/email.policy.rst:464 +#: ../../library/email.policy.rst:482 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. " @@ -551,7 +565,7 @@ msgid "" "``ValueError`` is raised if the input value contains CR or LF characters." msgstr "" -#: ../../library/email.policy.rst:474 +#: ../../library/email.policy.rst:492 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, " @@ -560,7 +574,7 @@ msgid "" "character glyph." msgstr "" -#: ../../library/email.policy.rst:483 +#: ../../library/email.policy.rst:501 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 " @@ -572,7 +586,7 @@ msgid "" "current policy." msgstr "" -#: ../../library/email.policy.rst:492 +#: ../../library/email.policy.rst:510 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`` " @@ -582,13 +596,13 @@ msgid "" "using the ``unknown-8bit`` charset." msgstr "" -#: ../../library/email.policy.rst:502 +#: ../../library/email.policy.rst:520 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:523 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 " @@ -596,7 +610,7 @@ msgid "" "binary data consists of single byte characters or multibyte characters." msgstr "" -#: ../../library/email.policy.rst:512 +#: ../../library/email.policy.rst:530 msgid "" "The following instances of :class:`EmailPolicy` provide defaults suitable " "for specific application domains. Note that in the future the behavior of " @@ -604,20 +618,20 @@ msgid "" "conform even more closely to the RFCs relevant to their domains." msgstr "" -#: ../../library/email.policy.rst:520 +#: ../../library/email.policy.rst:538 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``." +"uses the standard Python ``\\n`` line endings rather than the RFC-correct " +"``\\r\\n``." msgstr "" -#: ../../library/email.policy.rst:527 +#: ../../library/email.policy.rst:545 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:552 msgid "" "The same as ``SMTP`` except that :attr:`~EmailPolicy.utf8` is ``True``. " "Useful for serializing messages to a message store without using encoded " @@ -626,46 +640,46 @@ msgid "" "SMTP.send_message` method handles this automatically)." msgstr "" -#: ../../library/email.policy.rst:543 +#: ../../library/email.policy.rst:561 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:567 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:574 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:577 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:580 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:584 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:589 msgid "" "From the application view, this means that any header obtained through the :" "class:`~email.message.EmailMessage` is a header object with extra " @@ -675,13 +689,13 @@ msgid "" "the unicode string into the correct RFC encoded form." msgstr "" -#: ../../library/email.policy.rst:578 +#: ../../library/email.policy.rst:596 msgid "" "The header objects and their attributes are described in :mod:`~email." "headerregistry`." msgstr "" -#: ../../library/email.policy.rst:585 +#: ../../library/email.policy.rst:603 msgid "" "This concrete :class:`Policy` is the backward compatibility policy. It " "replicates the behavior of the email package in Python 3.2. The :mod:" @@ -690,28 +704,28 @@ msgid "" "of the email package is to maintain compatibility with Python 3.2." msgstr "" -#: ../../library/email.policy.rst:591 +#: ../../library/email.policy.rst:609 msgid "" "The following attributes have values that are different from the :class:" "`Policy` default:" msgstr "" -#: ../../library/email.policy.rst:597 +#: ../../library/email.policy.rst:615 msgid "The default is ``True``." msgstr "O padrão é ``True``." -#: ../../library/email.policy.rst:614 +#: ../../library/email.policy.rst:632 msgid "The name and value are returned unmodified." msgstr "" -#: ../../library/email.policy.rst:619 +#: ../../library/email.policy.rst:637 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." msgstr "" -#: ../../library/email.policy.rst:626 +#: ../../library/email.policy.rst:644 msgid "" "Headers are folded using the :class:`~email.header.Header` folding " "algorithm, which preserves existing line breaks in the value, and wraps each " @@ -719,7 +733,7 @@ msgid "" "encoded using the ``unknown-8bit`` charset." msgstr "" -#: ../../library/email.policy.rst:634 +#: ../../library/email.policy.rst:652 msgid "" "Headers are folded using the :class:`~email.header.Header` folding " "algorithm, which preserves existing line breaks in the value, and wraps each " @@ -729,17 +743,17 @@ msgid "" "and any (RFC invalid) binary data it may contain." msgstr "" -#: ../../library/email.policy.rst:644 +#: ../../library/email.policy.rst:662 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:667 msgid "Footnotes" msgstr "Notas de rodapé" -#: ../../library/email.policy.rst:650 +#: ../../library/email.policy.rst:668 msgid "" "Originally added in 3.3 as a :term:`provisional feature `." diff --git a/library/email.utils.po b/library/email.utils.po index cd575bace..094662727 100644 --- a/library/email.utils.po +++ b/library/email.utils.po @@ -1,28 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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: -# Sheila Gomes , 2021 -# Italo Penaforte , 2021 -# Rafael Fontenelle , 2021 +# python-doc bot, 2025 # #, 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:05+0000\n" -"Last-Translator: Rafael Fontenelle , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:57+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/email.utils.rst:2 msgid ":mod:`email.utils`: Miscellaneous utilities" @@ -127,7 +126,20 @@ 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 :" @@ -139,7 +151,7 @@ msgstr "" "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 " @@ -151,24 +163,28 @@ msgstr "" "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::" +"Message.get_all>`." + +#: ../../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:105 +#: ../../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` " @@ -187,7 +203,7 @@ msgstr "" "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 " @@ -205,7 +221,7 @@ 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 " @@ -230,7 +246,7 @@ msgstr "" "``datetime`` será um ``datetime`` consciente com o correspondente a :class:" "`~datetime.timezone` :class:`~datetime.tzinfo`." -#: ../../library/email.utils.rst:142 +#: ../../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``, " @@ -240,11 +256,11 @@ 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 " @@ -254,7 +270,7 @@ msgstr "" "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 " @@ -266,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``. " @@ -278,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 " @@ -298,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 " @@ -316,7 +332,7 @@ 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 " @@ -337,7 +353,7 @@ msgstr "" "cabeçalho :rfc:`2231` não for conhecido pelo Python; o padrão é ``'us-" "ascii'``." -#: ../../library/email.utils.rst:206 +#: ../../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." @@ -345,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)``." @@ -354,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 d8c1a1941..cb631dede 100644 --- a/library/ensurepip.po +++ b/library/ensurepip.po @@ -1,32 +1,37 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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.10\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-06-29 12:56+0000\n" -"PO-Revision-Date: 2021-06-28 01:05+0000\n" -"Last-Translator: Rafael Fontenelle , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:57+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/ensurepip.rst:2 msgid ":mod:`ensurepip` --- Bootstrapping the ``pip`` installer" msgstr ":mod:`ensurepip` --- Inicialização do instalador do ``pip``" -#: ../../library/ensurepip.rst:12 +#: ../../library/ensurepip.rst:10 +msgid "**Source code:** :source:`Lib/ensurepip`" +msgstr "**Código-fonte:** :source:`Lib/ensurepip`" + +#: ../../library/ensurepip.rst:14 msgid "" "The :mod:`ensurepip` package provides support for bootstrapping the ``pip`` " "installer into an existing Python installation or virtual environment. This " @@ -42,7 +47,7 @@ msgstr "" "a última versão estável disponível é fornecida com manutenção e lançamentos " "de recursos do interpretador de referência CPython." -#: ../../library/ensurepip.rst:19 +#: ../../library/ensurepip.rst:21 msgid "" "In most cases, end users of Python shouldn't need to invoke this module " "directly (as ``pip`` should be bootstrapped by default), but it may be " @@ -54,7 +59,7 @@ msgstr "" "ser necessário se a instalação do ``pip`` foi ignorada ao instalar o Python " "(ou ao criar um ambiente virtual) ou após desinstalar explicitamente ``pip``." -#: ../../library/ensurepip.rst:27 +#: ../../library/ensurepip.rst:29 msgid "" "This module *does not* access the internet. All of the components needed to " "bootstrap ``pip`` are included as internal parts of the package." @@ -62,46 +67,50 @@ msgstr "" "Este módulo *não* acessa a Internet. Todos os componentes necessários para " "iniciar o ``pip`` estão incluídos como partes internas do pacote." -#: ../../library/ensurepip.rst:34 +#: ../../library/ensurepip.rst:36 msgid ":ref:`installing-index`" msgstr ":ref:`installing-index`" -#: ../../library/ensurepip.rst:34 +#: ../../library/ensurepip.rst:36 msgid "The end user guide for installing Python packages" msgstr "O guia do usuário final para instalar pacotes Python" -#: ../../library/ensurepip.rst:36 +#: ../../library/ensurepip.rst:38 msgid ":pep:`453`: Explicit bootstrapping of pip in Python installations" msgstr ":pep:`453`: Inicialização explícita de pip em instalações Python" -#: ../../library/ensurepip.rst:37 +#: ../../library/ensurepip.rst:39 msgid "The original rationale and specification for this module." msgstr "A justificativa e especificação originais para este módulo." -#: ../../library/ensurepip.rst:41 +#: ../../library/ensurepip.rst:43 msgid "Command line interface" msgstr "Interface de linha de comando" -#: ../../library/ensurepip.rst:43 +#: ../../library/ensurepip.rst:45 msgid "" "The command line interface is invoked using the interpreter's ``-m`` switch." msgstr "" "A interface da linha de comando é chamada usando a opção ``-m`` do " "interpretador." -#: ../../library/ensurepip.rst:45 +#: ../../library/ensurepip.rst:47 msgid "The simplest possible invocation is::" msgstr "A invocação mais simples possível é::" -#: ../../library/ensurepip.rst:49 +#: ../../library/ensurepip.rst:51 msgid "" "This invocation will install ``pip`` if it is not already installed, but " "otherwise does nothing. To ensure the installed version of ``pip`` is at " "least as recent as the one available in ``ensurepip``, pass the ``--" "upgrade`` option::" msgstr "" +"Essa invocação instalará ``pip`` se ainda não estiver instalada, mas, caso " +"contrário, não fará nada. Para garantir que a versão instalada do ``pip`` " +"seja pelo menos tão recente quanto a disponível do ``ensurepip``, passe a " +"opção ``--upgrade``::" -#: ../../library/ensurepip.rst:56 +#: ../../library/ensurepip.rst:58 msgid "" "By default, ``pip`` is installed into the current virtual environment (if " "one is active) or into the system site packages (if there is no active " @@ -113,7 +122,7 @@ msgstr "" "ativo). O local da instalação pode ser controlado através de duas opções " "adicionais de linha de comando:" -#: ../../library/ensurepip.rst:61 +#: ../../library/ensurepip.rst:63 msgid "" "``--root ``: Installs ``pip`` relative to the given root directory " "rather than the root of the currently active virtual environment (if any) or " @@ -123,7 +132,7 @@ msgstr "" "vez da raiz do ambiente virtual atualmente ativo (se houver) ou a raiz " "padrão da instalação atual do Python." -#: ../../library/ensurepip.rst:64 +#: ../../library/ensurepip.rst:66 msgid "" "``--user``: Installs ``pip`` into the user site packages directory rather " "than globally for the current Python installation (this option is not " @@ -133,7 +142,7 @@ msgstr "" "vez de globalmente para a instalação atual do Python (essa opção não é " "permitida dentro de um ambiente virtual ativo)." -#: ../../library/ensurepip.rst:68 +#: ../../library/ensurepip.rst:70 msgid "" "By default, the scripts ``pipX`` and ``pipX.Y`` will be installed (where X.Y " "stands for the version of Python used to invoke ``ensurepip``). The scripts " @@ -144,7 +153,7 @@ msgstr "" "instalados podem ser controlados através de duas opções adicionais de linha " "de comando:" -#: ../../library/ensurepip.rst:73 +#: ../../library/ensurepip.rst:75 msgid "" "``--altinstall``: if an alternate installation is requested, the ``pipX`` " "script will *not* be installed." @@ -152,7 +161,7 @@ msgstr "" "``--altinstall``: se uma instalação alternativa for solicitada, o script " "``pipX`` *não* será instalado." -#: ../../library/ensurepip.rst:76 +#: ../../library/ensurepip.rst:78 msgid "" "``--default-pip``: if a \"default pip\" installation is requested, the " "``pip`` script will be installed in addition to the two regular scripts." @@ -160,30 +169,32 @@ msgstr "" "``--default-pip``: se uma instalação \"pip padrão\" for solicitada, o script " "``pip`` será instalado junto com os dois scripts comuns." -#: ../../library/ensurepip.rst:79 +#: ../../library/ensurepip.rst:81 msgid "" "Providing both of the script selection options will trigger an exception." msgstr "Fornecer as duas opções de seleção de script acionará uma exceção." -#: ../../library/ensurepip.rst:83 +#: ../../library/ensurepip.rst:85 msgid "Module API" msgstr "API do módulo" -#: ../../library/ensurepip.rst:85 +#: ../../library/ensurepip.rst:87 msgid ":mod:`ensurepip` exposes two functions for programmatic use:" msgstr "O :mod:`ensurepip` expõe duas funções para uso programático:" -#: ../../library/ensurepip.rst:89 +#: ../../library/ensurepip.rst:91 msgid "" "Returns a string specifying the available version of pip that will be " "installed when bootstrapping an environment." msgstr "" +"Retorna uma string que especifica a versão disponível do pip que será " +"instalado ao inicializar um ambiente." -#: ../../library/ensurepip.rst:96 +#: ../../library/ensurepip.rst:98 msgid "Bootstraps ``pip`` into the current or designated environment." msgstr "Inicializa ``pip`` no ambiente atual ou designado." -#: ../../library/ensurepip.rst:98 +#: ../../library/ensurepip.rst:100 msgid "" "*root* specifies an alternative root directory to install relative to. If " "*root* is ``None``, then installation uses the default install location for " @@ -193,13 +204,15 @@ msgstr "" "Se *root* for ``None``, a instalação utilizará o local de instalação padrão " "para o ambiente atual." -#: ../../library/ensurepip.rst:102 +#: ../../library/ensurepip.rst:104 msgid "" "*upgrade* indicates whether or not to upgrade an existing installation of an " "earlier version of ``pip`` to the available version." msgstr "" +"*upgrade* indica se deve ou não atualizar uma instalação existente de uma " +"versão anterior do ``pip`` para a versão disponível." -#: ../../library/ensurepip.rst:105 +#: ../../library/ensurepip.rst:107 msgid "" "*user* indicates whether to use the user scheme rather than installing " "globally." @@ -207,7 +220,7 @@ msgstr "" "*user* indica se é necessário usar o esquema do usuário em vez de instalar " "globalmente." -#: ../../library/ensurepip.rst:108 +#: ../../library/ensurepip.rst:110 msgid "" "By default, the scripts ``pipX`` and ``pipX.Y`` will be installed (where X.Y " "stands for the current version of Python)." @@ -215,11 +228,11 @@ msgstr "" "Por padrão, os scripts ``pipX`` e ``pipX.Y`` serão instalados (onde X.Y " "significa a versão atual do Python)." -#: ../../library/ensurepip.rst:111 +#: ../../library/ensurepip.rst:113 msgid "If *altinstall* is set, then ``pipX`` will *not* be installed." msgstr "Se *altinstall* estiver definido, o ``pipX`` *não* será instalado." -#: ../../library/ensurepip.rst:113 +#: ../../library/ensurepip.rst:115 msgid "" "If *default_pip* is set, then ``pip`` will be installed in addition to the " "two regular scripts." @@ -227,12 +240,12 @@ msgstr "" "Se *default_pip* estiver definido, o ``pip`` será instalado além dos dois " "scripts comuns." -#: ../../library/ensurepip.rst:116 +#: ../../library/ensurepip.rst:118 msgid "" "Setting both *altinstall* and *default_pip* will trigger :exc:`ValueError`." msgstr "Definir *altinstall* e *default_pip* acionará :exc:`ValueError`." -#: ../../library/ensurepip.rst:119 +#: ../../library/ensurepip.rst:121 msgid "" "*verbosity* controls the level of output to :data:`sys.stdout` from the " "bootstrapping operation." @@ -240,7 +253,7 @@ msgstr "" "*verbosity* controla o nível de saída para :data:`sys.stdout` da operação de " "inicialização." -#: ../../library/ensurepip.rst:122 +#: ../../library/ensurepip.rst:124 msgid "" "Raises an :ref:`auditing event ` ``ensurepip.bootstrap`` with " "argument ``root``." @@ -248,7 +261,7 @@ msgstr "" "Levanta um :ref:`evento de auditoria ` ``ensurepip.bootstrap`` com " "o argumento ``root``." -#: ../../library/ensurepip.rst:126 +#: ../../library/ensurepip.rst:128 msgid "" "The bootstrapping process has side effects on both ``sys.path`` and ``os." "environ``. Invoking the command line interface in a subprocess instead " @@ -258,7 +271,7 @@ msgstr "" "environ``. Invocar a interface da linha de comando em um subprocesso permite " "que esses efeitos colaterais sejam evitados." -#: ../../library/ensurepip.rst:132 +#: ../../library/ensurepip.rst:134 msgid "" "The bootstrapping process may install additional modules required by " "``pip``, but other software should not assume those dependencies will always " @@ -266,6 +279,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 d3bb981e8..c6750a708 100644 --- a/library/enum.po +++ b/library/enum.po @@ -1,31 +1,29 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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 -# Claudio Rogerio Carvalho Filho , 2021 -# Cauê Baasch de Souza , 2021 -# Misael borges , 2021 -# i17obot , 2021 +# python-doc bot, 2025 +# Rafael Fontenelle , 2025 +# Marcos Moraes, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.10\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-07-04 12:52+0000\n" -"PO-Revision-Date: 2021-06-28 01:05+0000\n" -"Last-Translator: i17obot , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-10-31 17:16+0000\n" +"PO-Revision-Date: 2025-09-22 15:57+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=2; plural=(n > 1);\n" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/enum.rst:2 msgid ":mod:`enum` --- Support for enumerations" @@ -47,7 +45,7 @@ msgstr "" #: ../../library/enum.rst:22 msgid "Case of Enum Members" -msgstr "" +msgstr "Maiúsculas em membros de Enums" #: ../../library/enum.rst:24 msgid "" @@ -97,11 +95,15 @@ 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:61 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:65 msgid "" @@ -111,7 +113,7 @@ msgstr "" #: ../../library/enum.rst:67 msgid "``Flag``, ``IntFlag``, ``auto``" -msgstr "" +msgstr "``Flag``, ``IntFlag``, ``auto``" #: ../../library/enum.rst:71 msgid "Creating an Enum" @@ -127,7 +129,7 @@ msgstr "" #: ../../library/enum.rst:85 msgid "Enum member values" -msgstr "" +msgstr "Valores de membros de Enum" #: ../../library/enum.rst:87 msgid "" @@ -139,7 +141,7 @@ msgstr "" #: ../../library/enum.rst:92 msgid "Nomenclature" -msgstr "" +msgstr "Nomenclatura" #: ../../library/enum.rst:94 msgid "The class :class:`Color` is an *enumeration* (or *enum*)" @@ -191,7 +193,7 @@ msgstr "" #: ../../library/enum.rst:156 msgid "Programmatic access to enumeration members and their attributes" -msgstr "" +msgstr "Acesso programático aos membros da enumeração e seus atributos." #: ../../library/enum.rst:158 msgid "" @@ -199,22 +201,29 @@ msgid "" "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::" #: ../../library/enum.rst:167 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:" #: ../../library/enum.rst:174 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`:" #: ../../library/enum.rst:184 msgid "Duplicating enum members and values" -msgstr "" +msgstr "Membros e valores duplicados em enums" #: ../../library/enum.rst:186 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:" #: ../../library/enum.rst:196 msgid "" @@ -230,10 +239,13 @@ 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." #: ../../library/enum.rst:222 msgid "Ensuring unique enumeration values" -msgstr "" +msgstr "Garantindo valores únicos na enumeração" #: ../../library/enum.rst:224 msgid "" @@ -255,13 +267,15 @@ msgstr "Usando valores automáticos" #: ../../library/enum.rst:250 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`::" #: ../../library/enum.rst:261 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:" #: ../../library/enum.rst:279 msgid "" @@ -274,6 +288,8 @@ msgstr "" 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." #: ../../library/enum.rst:288 msgid "Iteration" @@ -281,7 +297,7 @@ msgstr "Iteração" #: ../../library/enum.rst:290 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::" #: ../../library/enum.rst:295 msgid "" @@ -289,12 +305,17 @@ 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::" #: ../../library/enum.rst:307 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::" #: ../../library/enum.rst:315 msgid "Comparisons" @@ -302,17 +323,19 @@ msgstr "Comparações" #: ../../library/enum.rst:317 msgid "Enumeration members are compared by identity::" -msgstr "" +msgstr "Membros de uma enumeração são comparados por identidade::" #: ../../library/enum.rst:326 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)::" #: ../../library/enum.rst:334 msgid "Equality comparisons are defined though::" -msgstr "" +msgstr "Entretanto, comparações de igualdade são definidas::" #: ../../library/enum.rst:343 msgid "" @@ -320,10 +343,13 @@ 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)::" #: ../../library/enum.rst:352 msgid "Allowed members and attributes of enumerations" -msgstr "" +msgstr "Membros e atributos permitidos em enumerações" #: ../../library/enum.rst:354 msgid "" @@ -339,10 +365,12 @@ 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::" #: ../../library/enum.rst:380 msgid "Then::" -msgstr "" +msgstr "Então::" #: ../../library/enum.rst:389 msgid "" @@ -363,7 +391,7 @@ msgstr "" #: ../../library/enum.rst:402 msgid "Restricted Enum subclassing" -msgstr "" +msgstr "Herança restrita de Enum" #: ../../library/enum.rst:404 msgid "" @@ -377,10 +405,12 @@ 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::" #: ../../library/enum.rst:421 msgid "But this is allowed::" -msgstr "" +msgstr "Mas isso é permitido::" #: ../../library/enum.rst:432 msgid "" @@ -389,14 +419,18 @@ msgid "" "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.)" #: ../../library/enum.rst:439 msgid "Pickling" -msgstr "" +msgstr "Pickling" #: ../../library/enum.rst:441 msgid "Enumerations can be pickled and unpickled::" -msgstr "" +msgstr "Enumerações podem ser serializadas e desserializadas." #: ../../library/enum.rst:448 msgid "" @@ -404,6 +438,9 @@ msgid "" "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." #: ../../library/enum.rst:454 msgid "" @@ -419,12 +456,13 @@ msgstr "" #: ../../library/enum.rst:462 msgid "Functional API" -msgstr "" +msgstr "API funcional" #: ../../library/enum.rst:464 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::" #: ../../library/enum.rst:476 msgid "" @@ -477,11 +515,11 @@ msgstr "" #: ../../library/enum.rst:520 msgid "The complete signature is::" -msgstr "" +msgstr "A assinatura completa é::" #: ../../library/enum.rst:0 msgid "value" -msgstr "value" +msgstr "valor" #: ../../library/enum.rst:524 msgid "What the new Enum class will record as its name." @@ -489,7 +527,7 @@ msgstr "" #: ../../library/enum.rst:0 msgid "names" -msgstr "" +msgstr "nomes" #: ../../library/enum.rst:526 msgid "" @@ -519,7 +557,7 @@ msgstr "" #: ../../library/enum.rst:0 msgid "qualname" -msgstr "" +msgstr "qualname" #: ../../library/enum.rst:545 msgid "where in module new Enum class can be found." @@ -535,7 +573,7 @@ msgstr "" #: ../../library/enum.rst:0 msgid "start" -msgstr "" +msgstr "start" #: ../../library/enum.rst:549 msgid "number to start counting at if only names are passed in." @@ -574,7 +612,7 @@ msgstr "" #: ../../library/enum.rst:606 msgid "IntFlag" -msgstr "" +msgstr "IntFlag" #: ../../library/enum.rst:608 msgid "" @@ -653,7 +691,7 @@ msgstr "" #: ../../library/enum.rst:725 msgid "Others" -msgstr "" +msgstr "Outros" #: ../../library/enum.rst:727 msgid "" @@ -670,7 +708,7 @@ msgstr "" #: ../../library/enum.rst:736 msgid "Some rules:" -msgstr "" +msgstr "Algumas regras:" #: ../../library/enum.rst:738 msgid "" @@ -697,8 +735,8 @@ msgstr "" #: ../../library/enum.rst:748 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." +"`__str__` and :meth:`__repr__` respectively; other codes (such as `%i` or " +"`%h` for IntEnum) treat the enum member as its mixed-in type." msgstr "" #: ../../library/enum.rst:751 @@ -713,7 +751,7 @@ msgstr "" #: ../../library/enum.rst:759 msgid "When to use :meth:`__new__` vs. :meth:`__init__`" -msgstr "" +msgstr "Quando usar :meth:`__new__` vs. :meth:`__init__`" #: ../../library/enum.rst:761 msgid "" @@ -834,7 +872,7 @@ msgstr "" #: ../../library/enum.rst:925 msgid "OrderedEnum" -msgstr "" +msgstr "OrderedEnum" #: ../../library/enum.rst:927 msgid "" @@ -872,7 +910,7 @@ msgstr "" #: ../../library/enum.rst:1024 msgid "TimePeriod" -msgstr "" +msgstr "TimePeriod" #: ../../library/enum.rst:1026 msgid "An example to show the :attr:`_ignore_` attribute in use::" @@ -922,7 +960,7 @@ msgstr "" #: ../../library/enum.rst:1075 msgid "Supported ``__dunder__`` names" -msgstr "" +msgstr "Nomes ``__dunder__`` suportados" #: ../../library/enum.rst:1077 msgid "" @@ -939,22 +977,25 @@ msgstr "" #: ../../library/enum.rst:1086 msgid "Supported ``_sunder_`` names" -msgstr "" +msgstr "Nomes ``_sunder_`` suportados" #: ../../library/enum.rst:1088 msgid "``_name_`` -- name of the member" -msgstr "" +msgstr "``_name_`` -- nome do membro" #: ../../library/enum.rst:1089 msgid "" "``_value_`` -- value of the member; can be set / modified in ``__new__``" msgstr "" +"``_value_`` -- valor do membro; pode ser definido / modificado em ``__new__``" #: ../../library/enum.rst:1091 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" #: ../../library/enum.rst:1093 msgid "" @@ -962,12 +1003,17 @@ msgid "" "`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" #: ../../library/enum.rst:1096 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)" #: ../../library/enum.rst:1098 msgid "" @@ -977,7 +1023,7 @@ msgstr "" #: ../../library/enum.rst:1102 msgid "``_missing_``, ``_order_``, ``_generate_next_value_``" -msgstr "" +msgstr "``_missing_``, ``_order_``, ``_generate_next_value_``" #: ../../library/enum.rst:1103 msgid "``_ignore_``" @@ -1002,9 +1048,10 @@ msgstr "" #: ../../library/enum.rst:1128 msgid "" -"Private names will be normal attributes in Python 3.10 instead of either an " -"error or a member (depending on if the name ends with an underscore). Using " -"these names in 3.9 will issue a :exc:`DeprecationWarning`." +":ref:`Private names ` will be normal attributes in " +"Python 3.11 instead of either an error or a member (depending on if the name " +"ends with an underscore). Using these names in 3.10 will issue a :exc:" +"`DeprecationWarning`." msgstr "" #: ../../library/enum.rst:1134 @@ -1021,11 +1068,15 @@ msgid "" "uppercase names for members)::" msgstr "" -#: ../../library/enum.rst:1157 +#: ../../library/enum.rst:1155 +msgid "This behavior is deprecated and will be removed in 3.11." +msgstr "" + +#: ../../library/enum.rst:1161 msgid "Boolean value of ``Enum`` classes and members" msgstr "" -#: ../../library/enum.rst:1159 +#: ../../library/enum.rst:1163 msgid "" ":class:`Enum` members that are mixed with non-:class:`Enum` types (such as :" "class:`int`, :class:`str`, etc.) are evaluated according to the mixed-in " @@ -1034,27 +1085,34 @@ msgid "" "to your class::" msgstr "" -#: ../../library/enum.rst:1168 +#: ../../library/enum.rst:1172 msgid ":class:`Enum` classes always evaluate as :data:`True`." msgstr "" -#: ../../library/enum.rst:1172 +#: ../../library/enum.rst:1176 msgid "``Enum`` classes with methods" msgstr "" -#: ../../library/enum.rst:1174 +#: ../../library/enum.rst:1178 msgid "" "If you give your :class:`Enum` subclass extra methods, like the `Planet`_ " "class above, those methods will show up in a :func:`dir` of the member, but " "not of the class::" msgstr "" -#: ../../library/enum.rst:1185 +#: ../../library/enum.rst:1189 msgid "Combining members of ``Flag``" msgstr "" -#: ../../library/enum.rst:1187 +#: ../../library/enum.rst:1191 msgid "" "If a combination of Flag members is not named, the :func:`repr` will include " "all named flags and all named combinations of flags that are in the value::" msgstr "" + +#: ../../library/enum.rst:1209 +msgid "" +"In 3.11 unnamed combinations of flags will only produce the canonical flag " +"members (aka single-value flags). So ``Color(7)`` will produce something " +"like ````." +msgstr "" diff --git a/library/errno.po b/library/errno.po index dea085313..79d515d96 100644 --- a/library/errno.po +++ b/library/errno.po @@ -1,28 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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 -# Humberto Rocha , 2021 -# i17obot , 2021 +# python-doc bot, 2025 # #, 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:05+0000\n" -"Last-Translator: i17obot , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:57+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/errno.rst:2 msgid ":mod:`errno` --- Standard errno system symbols" @@ -32,9 +31,12 @@ msgstr "" msgid "" "This module makes available standard ``errno`` system symbols. The value of " "each symbol is the corresponding integer value. The names and descriptions " -"are borrowed from :file:`linux/include/errno.h`, which should be pretty all-" +"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 "" @@ -42,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`." msgstr "" +"Para traduzir um código de erro numérico em uma mensagem de erro, use :func:" +"`os.strerror`." #: ../../library/errno.rst:23 msgid "" @@ -55,495 +62,553 @@ 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" -msgstr "Operação não permitida" - -#: ../../library/errno.rst:35 -msgid "No such file or directory" +msgid "" +"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:40 -msgid "No such process" +#: ../../library/errno.rst:36 +msgid "" +"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:45 -msgid "Interrupted system call." +#: ../../library/errno.rst:42 +msgid "" +"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 "This error is mapped to the exception :exc:`InterruptedError`." +msgid "" +"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:53 +#: ../../library/errno.rst:54 msgid "I/O error" -msgstr "" +msgstr "Erro de E/S" -#: ../../library/errno.rst:58 +#: ../../library/errno.rst:59 msgid "No such device or address" -msgstr "" +msgstr "Endereço ou dispositivo inexistente" -#: ../../library/errno.rst:63 +#: ../../library/errno.rst:64 msgid "Arg list too long" -msgstr "" +msgstr "Lista de argumentos muito longa" -#: ../../library/errno.rst:68 +#: ../../library/errno.rst:69 msgid "Exec format error" -msgstr "" +msgstr "Erro no formato exec" -#: ../../library/errno.rst:73 +#: ../../library/errno.rst:74 msgid "Bad file number" -msgstr "" +msgstr "Descritor de arquivo inválido" -#: ../../library/errno.rst:78 -msgid "No child processes" +#: ../../library/errno.rst:79 +msgid "" +"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:83 -msgid "Try again" +#: ../../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:88 +#: ../../library/errno.rst:90 msgid "Out of memory" -msgstr "" +msgstr "Memória insuficiente" -#: ../../library/errno.rst:93 -msgid "Permission denied" +#: ../../library/errno.rst:95 +msgid "" +"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:98 +#: ../../library/errno.rst:101 msgid "Bad address" -msgstr "" +msgstr "Endereço inválido" -#: ../../library/errno.rst:103 +#: ../../library/errno.rst:106 msgid "Block device required" -msgstr "" +msgstr "Dispositivo de bloco requerido" -#: ../../library/errno.rst:108 +#: ../../library/errno.rst:111 msgid "Device or resource busy" msgstr "Dispositivo ou recurso ocupado" -#: ../../library/errno.rst:113 -msgid "File exists" +#: ../../library/errno.rst:116 +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:118 +#: ../../library/errno.rst:122 msgid "Cross-device link" -msgstr "" +msgstr "Link entre dispositivos inválido" -#: ../../library/errno.rst:123 +#: ../../library/errno.rst:127 msgid "No such device" -msgstr "" +msgstr "Dispositivo inexistente" -#: ../../library/errno.rst:128 -msgid "Not a directory" +#: ../../library/errno.rst:132 +msgid "" +"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:133 -msgid "Is a directory" +#: ../../library/errno.rst:138 +msgid "" +"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:138 +#: ../../library/errno.rst:144 msgid "Invalid argument" -msgstr "" +msgstr "Argumento inválido" -#: ../../library/errno.rst:143 +#: ../../library/errno.rst:149 msgid "File table overflow" -msgstr "" +msgstr "Estouro de tabela de arquivos" -#: ../../library/errno.rst:148 +#: ../../library/errno.rst:154 msgid "Too many open files" -msgstr "" +msgstr "Muitos arquivos abertos" -#: ../../library/errno.rst:153 +#: ../../library/errno.rst:159 msgid "Not a typewriter" msgstr "" -#: ../../library/errno.rst:158 +#: ../../library/errno.rst:164 msgid "Text file busy" -msgstr "" +msgstr "Arquivo texto ocupado" -#: ../../library/errno.rst:163 +#: ../../library/errno.rst:169 msgid "File too large" -msgstr "" +msgstr "Arquivo muito grande" -#: ../../library/errno.rst:168 +#: ../../library/errno.rst:174 msgid "No space left on device" -msgstr "" +msgstr "Não há espaço disponível no dispositivo" -#: ../../library/errno.rst:173 +#: ../../library/errno.rst:179 msgid "Illegal seek" -msgstr "" +msgstr "Procura ilegal" -#: ../../library/errno.rst:178 +#: ../../library/errno.rst:184 msgid "Read-only file system" -msgstr "" +msgstr "Sistema de arquivos de somente leitura" -#: ../../library/errno.rst:183 +#: ../../library/errno.rst:189 msgid "Too many links" -msgstr "" +msgstr "Muitos links" -#: ../../library/errno.rst:188 -msgid "Broken pipe" +#: ../../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:193 +#: ../../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:198 +#: ../../library/errno.rst:205 msgid "Math result not representable" -msgstr "" +msgstr "Resultado matemático não representável" -#: ../../library/errno.rst:203 +#: ../../library/errno.rst:210 msgid "Resource deadlock would occur" -msgstr "" +msgstr "Ocorreria um impasse (deadlock) de recursos" -#: ../../library/errno.rst:208 +#: ../../library/errno.rst:215 msgid "File name too long" -msgstr "" +msgstr "Nome de arquivo muito longo" -#: ../../library/errno.rst:213 +#: ../../library/errno.rst:220 msgid "No record locks available" -msgstr "" +msgstr "Nenhuma trava de registro disponível" -#: ../../library/errno.rst:218 +#: ../../library/errno.rst:225 msgid "Function not implemented" -msgstr "" +msgstr "Função não implementada" -#: ../../library/errno.rst:223 +#: ../../library/errno.rst:230 msgid "Directory not empty" -msgstr "" +msgstr "Diretório não vazio" -#: ../../library/errno.rst:228 +#: ../../library/errno.rst:235 msgid "Too many symbolic links encountered" -msgstr "" +msgstr "Foram encontrados muitos links simbólicos" -#: ../../library/errno.rst:233 -msgid "Operation would block" +#: ../../library/errno.rst:240 +msgid "" +"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:238 +#: ../../library/errno.rst:246 msgid "No message of desired type" -msgstr "" +msgstr "Nenhuma mensagem do tipo desejado" -#: ../../library/errno.rst:243 +#: ../../library/errno.rst:251 msgid "Identifier removed" -msgstr "" +msgstr "Identificador removido" -#: ../../library/errno.rst:248 +#: ../../library/errno.rst:256 msgid "Channel number out of range" -msgstr "" +msgstr "Número do canal fora do intervalo" -#: ../../library/errno.rst:253 +#: ../../library/errno.rst:261 msgid "Level 2 not synchronized" -msgstr "" +msgstr "Não sincronizado nível 2" -#: ../../library/errno.rst:258 +#: ../../library/errno.rst:266 msgid "Level 3 halted" -msgstr "" +msgstr "Parada de sistema nível 3" -#: ../../library/errno.rst:263 +#: ../../library/errno.rst:271 msgid "Level 3 reset" -msgstr "" +msgstr "Reinicialização nível 3" -#: ../../library/errno.rst:268 +#: ../../library/errno.rst:276 msgid "Link number out of range" -msgstr "" +msgstr "Número de link fora da faixa" -#: ../../library/errno.rst:273 +#: ../../library/errno.rst:281 msgid "Protocol driver not attached" -msgstr "" +msgstr "Driver de protocolo não anexado" -#: ../../library/errno.rst:278 +#: ../../library/errno.rst:286 msgid "No CSI structure available" -msgstr "" +msgstr "Não há estrutura CSI disponível" -#: ../../library/errno.rst:283 +#: ../../library/errno.rst:291 msgid "Level 2 halted" -msgstr "" +msgstr "Parada de sistema nível 2" -#: ../../library/errno.rst:288 +#: ../../library/errno.rst:296 msgid "Invalid exchange" -msgstr "" +msgstr "Troca inválida" -#: ../../library/errno.rst:293 +#: ../../library/errno.rst:301 msgid "Invalid request descriptor" -msgstr "" +msgstr "Descritor de requisição inválido" -#: ../../library/errno.rst:298 +#: ../../library/errno.rst:306 msgid "Exchange full" -msgstr "" +msgstr "Troca completa" -#: ../../library/errno.rst:303 +#: ../../library/errno.rst:311 msgid "No anode" -msgstr "" +msgstr "Sem anode" -#: ../../library/errno.rst:308 +#: ../../library/errno.rst:316 msgid "Invalid request code" -msgstr "" +msgstr "Código de requisição inválido" -#: ../../library/errno.rst:313 +#: ../../library/errno.rst:321 msgid "Invalid slot" -msgstr "" +msgstr "Slot inválido" -#: ../../library/errno.rst:318 +#: ../../library/errno.rst:326 msgid "File locking deadlock error" -msgstr "" +msgstr "Erro de impasse em travamento de arquivo" -#: ../../library/errno.rst:323 +#: ../../library/errno.rst:331 msgid "Bad font file format" -msgstr "" +msgstr "Formato inválido do arquivo de fonte" -#: ../../library/errno.rst:328 +#: ../../library/errno.rst:336 msgid "Device not a stream" -msgstr "" +msgstr "Dispositivo não é um stream" -#: ../../library/errno.rst:333 +#: ../../library/errno.rst:341 msgid "No data available" -msgstr "" +msgstr "Não há dados disponíveis" -#: ../../library/errno.rst:338 +#: ../../library/errno.rst:346 msgid "Timer expired" -msgstr "" +msgstr "Temporizador expirado" -#: ../../library/errno.rst:343 +#: ../../library/errno.rst:351 msgid "Out of streams resources" -msgstr "" +msgstr "Sem recursos de streams" -#: ../../library/errno.rst:348 +#: ../../library/errno.rst:356 msgid "Machine is not on the network" -msgstr "" +msgstr "A máquina não está na rede" -#: ../../library/errno.rst:353 +#: ../../library/errno.rst:361 msgid "Package not installed" msgstr "Pacote não instalado" -#: ../../library/errno.rst:358 +#: ../../library/errno.rst:366 msgid "Object is remote" msgstr "O objeto é remoto" -#: ../../library/errno.rst:363 +#: ../../library/errno.rst:371 msgid "Link has been severed" -msgstr "" +msgstr "A conexão foi rompida" -#: ../../library/errno.rst:368 +#: ../../library/errno.rst:376 msgid "Advertise error" -msgstr "" +msgstr "Erro de anúncio" -#: ../../library/errno.rst:373 +#: ../../library/errno.rst:381 msgid "Srmount error" msgstr "Erro Srmount" -#: ../../library/errno.rst:378 +#: ../../library/errno.rst:386 msgid "Communication error on send" -msgstr "" +msgstr "Erro de comunicação ao enviar" -#: ../../library/errno.rst:383 +#: ../../library/errno.rst:391 msgid "Protocol error" msgstr "Erro de Protocolo" -#: ../../library/errno.rst:388 +#: ../../library/errno.rst:396 msgid "Multihop attempted" -msgstr "" +msgstr "Tentativa de hops múltiplos" -#: ../../library/errno.rst:393 +#: ../../library/errno.rst:401 msgid "RFS specific error" -msgstr "" +msgstr "Erro específico de RFS" -#: ../../library/errno.rst:398 +#: ../../library/errno.rst:406 msgid "Not a data message" -msgstr "" +msgstr "Não é uma mensagem de dados" -#: ../../library/errno.rst:403 +#: ../../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:408 +#: ../../library/errno.rst:416 msgid "Name not unique on network" -msgstr "" +msgstr "O nome não é único na rede" -#: ../../library/errno.rst:413 +#: ../../library/errno.rst:421 msgid "File descriptor in bad state" -msgstr "" +msgstr "Descritor de arquivo em mal estado" -#: ../../library/errno.rst:418 +#: ../../library/errno.rst:426 msgid "Remote address changed" -msgstr "" +msgstr "Endereço remoto mudou" -#: ../../library/errno.rst:423 +#: ../../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:428 +#: ../../library/errno.rst:436 msgid "Accessing a corrupted shared library" -msgstr "" +msgstr "Acessando uma biblioteca compartilhado corrompida" -#: ../../library/errno.rst:433 +#: ../../library/errno.rst:441 msgid ".lib section in a.out corrupted" -msgstr "" +msgstr "Seção .lib corrompida em a.out" -#: ../../library/errno.rst:438 +#: ../../library/errno.rst:446 msgid "Attempting to link in too many shared libraries" -msgstr "" +msgstr "Tentando ligar em muitas bibliotecas compartilhadas" -#: ../../library/errno.rst:443 +#: ../../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:448 +#: ../../library/errno.rst:456 msgid "Illegal byte sequence" -msgstr "" +msgstr "Sequência de bytes ilegal" -#: ../../library/errno.rst:453 +#: ../../library/errno.rst:461 msgid "Interrupted system call should be restarted" -msgstr "" +msgstr "Chamada de sistema interrompida deve ser reiniciada" -#: ../../library/errno.rst:458 +#: ../../library/errno.rst:466 msgid "Streams pipe error" -msgstr "" +msgstr "Erro de fluxos de pipe" -#: ../../library/errno.rst:463 +#: ../../library/errno.rst:471 msgid "Too many users" -msgstr "" +msgstr "Muitos usuários" -#: ../../library/errno.rst:468 +#: ../../library/errno.rst:476 msgid "Socket operation on non-socket" -msgstr "" +msgstr "Operação socket em um arquivo não-socket" -#: ../../library/errno.rst:473 +#: ../../library/errno.rst:481 msgid "Destination address required" -msgstr "" +msgstr "Endereço de destino necessário" -#: ../../library/errno.rst:478 +#: ../../library/errno.rst:486 msgid "Message too long" -msgstr "" +msgstr "Mensagem muito longa" -#: ../../library/errno.rst:483 +#: ../../library/errno.rst:491 msgid "Protocol wrong type for socket" -msgstr "" +msgstr "Tipo errado de protocolo para socket" -#: ../../library/errno.rst:488 +#: ../../library/errno.rst:496 msgid "Protocol not available" -msgstr "" +msgstr "Protocolo não disponível" -#: ../../library/errno.rst:493 +#: ../../library/errno.rst:501 msgid "Protocol not supported" -msgstr "" +msgstr "Protocolo sem suporte" -#: ../../library/errno.rst:498 +#: ../../library/errno.rst:506 msgid "Socket type not supported" -msgstr "" +msgstr "Tipo socket sem suporte" -#: ../../library/errno.rst:503 +#: ../../library/errno.rst:511 msgid "Operation not supported on transport endpoint" -msgstr "" +msgstr "Operação sem suporte na extremidade do transporte" -#: ../../library/errno.rst:508 +#: ../../library/errno.rst:516 msgid "Protocol family not supported" -msgstr "" +msgstr "Família de protocolo sem suporte" -#: ../../library/errno.rst:513 +#: ../../library/errno.rst:521 msgid "Address family not supported by protocol" -msgstr "" +msgstr "Família de endereços sem suporte pelo protocolo" -#: ../../library/errno.rst:518 +#: ../../library/errno.rst:526 msgid "Address already in use" -msgstr "" +msgstr "Endereço já em uso" -#: ../../library/errno.rst:523 +#: ../../library/errno.rst:531 msgid "Cannot assign requested address" -msgstr "" +msgstr "Não é possível acessar o endereço requisitado" -#: ../../library/errno.rst:528 +#: ../../library/errno.rst:536 msgid "Network is down" -msgstr "" +msgstr "A rede não responde" -#: ../../library/errno.rst:533 +#: ../../library/errno.rst:541 msgid "Network is unreachable" -msgstr "" +msgstr "A rede está fora de alcance" -#: ../../library/errno.rst:538 +#: ../../library/errno.rst:546 msgid "Network dropped connection because of reset" -msgstr "" +msgstr "A rede desconectou-se ao reiniciar" -#: ../../library/errno.rst:543 -msgid "Software caused connection abort" +#: ../../library/errno.rst:551 +msgid "" +"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:548 -msgid "Connection reset by peer" +#: ../../library/errno.rst:557 +msgid "" +"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:553 +#: ../../library/errno.rst:563 msgid "No buffer space available" -msgstr "" +msgstr "Não há espaço de buffer disponível" -#: ../../library/errno.rst:558 +#: ../../library/errno.rst:568 msgid "Transport endpoint is already connected" -msgstr "" +msgstr "A extremidade do transporte já está conectada" -#: ../../library/errno.rst:563 +#: ../../library/errno.rst:573 msgid "Transport endpoint is not connected" -msgstr "" +msgstr "A extremidade do transporte não está conectada" -#: ../../library/errno.rst:568 -msgid "Cannot send after transport endpoint shutdown" +#: ../../library/errno.rst:578 +msgid "" +"Cannot send after transport endpoint shutdown. This error is mapped to the " +"exception :exc:`BrokenPipeError`." msgstr "" -#: ../../library/errno.rst:573 +#: ../../library/errno.rst:584 msgid "Too many references: cannot splice" msgstr "" -#: ../../library/errno.rst:578 -msgid "Connection timed out" +#: ../../library/errno.rst:589 +msgid "" +"Connection timed out. This error is mapped to the exception :exc:" +"`TimeoutError`." msgstr "" -#: ../../library/errno.rst:583 -msgid "Connection refused" +#: ../../library/errno.rst:595 +msgid "" +"Connection refused. This error is mapped to the exception :exc:" +"`ConnectionRefusedError`." msgstr "" -#: ../../library/errno.rst:588 +#: ../../library/errno.rst:601 msgid "Host is down" msgstr "" -#: ../../library/errno.rst:593 +#: ../../library/errno.rst:606 msgid "No route to host" msgstr "" -#: ../../library/errno.rst:598 -msgid "Operation already in progress" +#: ../../library/errno.rst:611 +msgid "" +"Operation already in progress. This error is mapped to the exception :exc:" +"`BlockingIOError`." msgstr "" -#: ../../library/errno.rst:603 -msgid "Operation now in progress" +#: ../../library/errno.rst:617 +msgid "" +"Operation now in progress. This error is mapped to the exception :exc:" +"`BlockingIOError`." msgstr "" -#: ../../library/errno.rst:608 +#: ../../library/errno.rst:623 msgid "Stale NFS file handle" msgstr "" -#: ../../library/errno.rst:613 +#: ../../library/errno.rst:628 msgid "Structure needs cleaning" msgstr "" -#: ../../library/errno.rst:618 +#: ../../library/errno.rst:633 msgid "Not a XENIX named type file" msgstr "" -#: ../../library/errno.rst:623 +#: ../../library/errno.rst:638 msgid "No XENIX semaphores available" msgstr "" -#: ../../library/errno.rst:628 +#: ../../library/errno.rst:643 msgid "Is a named type file" msgstr "É um arquivo de tipo nomeado" -#: ../../library/errno.rst:633 +#: ../../library/errno.rst:648 msgid "Remote I/O error" msgstr "Erro de E/S remoto" -#: ../../library/errno.rst:638 +#: ../../library/errno.rst:653 msgid "Quota exceeded" msgstr "" diff --git a/library/exceptions.po b/library/exceptions.po index 4cdfd3031..5be37183c 100644 --- a/library/exceptions.po +++ b/library/exceptions.po @@ -1,28 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, Python Software 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 , 2021 +# python-doc bot, 2025 # #, 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:05+0000\n" -"Last-Translator: Rafael Fontenelle , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2026-03-07 17:24+0000\n" +"PO-Revision-Date: 2025-09-22 15:57+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/exceptions.rst:4 msgid "Built-in Exceptions" @@ -48,9 +47,9 @@ msgstr "" #: ../../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 " +"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 "" @@ -89,33 +88,32 @@ msgstr "" "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:37 +#: ../../library/exceptions.rst:39 +msgid "Exception context" +msgstr "Contexto da exceção" + +#: ../../library/exceptions.rst:41 msgid "" -"When raising (or re-raising) an exception in an :keyword:`except` or :" -"keyword:`finally` clause :attr:`__context__` is automatically set to the " -"last exception caught; if the new exception is not handled the traceback " -"that is eventually displayed will include the originating exception(s) and " -"the final exception." +"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." msgstr "" -"Ao gerar (ou levantar novamente) uma exceção em uma cláusula :keyword:" -"`except` ou :keyword:`finally`, :attr:`__context__` é automaticamente " -"definida como a última exceção capturada; se a nova exceção não for tratada, " -"o traceback exibido eventualmente incluirá a(s) exceção(ões) de origem e a " -"exceção final." +"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." -#: ../../library/exceptions.rst:43 +#: ../../library/exceptions.rst:47 msgid "" -"When raising a new exception (rather than using a bare ``raise`` to re-raise " -"the exception currently being handled), the implicit exception context can " -"be supplemented with an explicit cause by using :keyword:`from` with :" -"keyword:`raise`::" +"This implicit exception context can be supplemented with an explicit cause " +"by using :keyword:`!from` with :keyword:`raise`::" msgstr "" -"Ao levantar uma nova exceção (em vez de usar um ``raise`` simples para " -"aumentar novamente a exceção que está sendo tratada), o contexto implícito " -"da exceção pode ser complementado com uma causa explícita usando :keyword:" -"`from ` com :keyword:`raise` ::" +"Esse contexto implícito da exceção pode ser complementado com uma causa " +"explícita usando :keyword:`!from` com :keyword:`raise`::" -#: ../../library/exceptions.rst:50 +#: ../../library/exceptions.rst:53 msgid "" "The expression following :keyword:`from` must be an exception or " "``None``. It will be set as :attr:`__cause__` on the raised exception. " @@ -135,7 +133,7 @@ msgstr "" "`AttributeError`), deixando a exceção antiga disponível em :attr:" "`__context__` para introspecção durante a depuração." -#: ../../library/exceptions.rst:59 +#: ../../library/exceptions.rst:62 msgid "" "The default traceback display code shows these chained exceptions in " "addition to the traceback for the exception itself. An explicitly chained " @@ -149,7 +147,7 @@ msgstr "" "implicitamente encadeada em :attr:`__context__` é mostrada apenas se :attr:" "`__cause__` for :const:`None` e :attr:`__suppress_context__` for falso." -#: ../../library/exceptions.rst:65 +#: ../../library/exceptions.rst:68 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 " @@ -159,11 +157,44 @@ msgstr "" "exceções encadeadas, de modo que a linha final do traceback sempre mostre a " "última exceção que foi levantada." -#: ../../library/exceptions.rst:71 +#: ../../library/exceptions.rst:74 +msgid "Inheriting from built-in exceptions" +msgstr "Herdando de exceções embutidas" + +#: ../../library/exceptions.rst:76 +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 " +"possible conflicts between how the bases handle the ``args`` attribute, as " +"well as due to possible memory layout incompatibilities." +msgstr "" +"O código do usuário pode criar subclasses que herdam de um tipo de exceção. " +"É recomendado criar subclasse de apenas um tipo de exceção por vez para " +"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 +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." +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 " +"personalizados, o que impossibilita a criação de uma subclasse que herda de " +"vários tipos de exceção. O layout de memória de um tipo é um detalhe de " +"implementação e pode mudar entre as versões do Python, levando a novos " +"conflitos no futuro. Portanto, é recomendável evitar criar subclasses de " +"vários tipos de exceção." + +#: ../../library/exceptions.rst:93 msgid "Base classes" msgstr "Classes base" -#: ../../library/exceptions.rst:73 +#: ../../library/exceptions.rst:95 msgid "" "The following exceptions are used mostly as base classes for other " "exceptions." @@ -171,7 +202,7 @@ msgstr "" "As seguintes exceções são usadas principalmente como classes base para " "outras exceções." -#: ../../library/exceptions.rst:77 +#: ../../library/exceptions.rst:99 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 :" @@ -185,7 +216,7 @@ msgstr "" "representação do(s) argumento(s) para a instância será retornada ou a string " "vazia quando não houver argumentos." -#: ../../library/exceptions.rst:85 +#: ../../library/exceptions.rst:107 msgid "" "The tuple of arguments given to the exception constructor. Some built-in " "exceptions (like :exc:`OSError`) expect a certain number of arguments and " @@ -198,7 +229,7 @@ msgstr "" "são normalmente chamadas apenas com uma única string que fornece uma " "mensagem de erro." -#: ../../library/exceptions.rst:92 +#: ../../library/exceptions.rst:114 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 " @@ -219,7 +250,7 @@ msgstr "" "traceback de ``SomeException`` original se tivéssemos permitido que ele se " "propagasse para o chamador. ::" -#: ../../library/exceptions.rst:110 +#: ../../library/exceptions.rst:132 msgid "" "All built-in, non-system-exiting exceptions are derived from this class. " "All user-defined exceptions should also be derived from this class." @@ -228,7 +259,7 @@ msgstr "" "classe. Todas as exceções definidas pelo usuário também devem ser derivadas " "dessa classe." -#: ../../library/exceptions.rst:116 +#: ../../library/exceptions.rst:138 msgid "" "The base class for those built-in exceptions that are raised for various " "arithmetic errors: :exc:`OverflowError`, :exc:`ZeroDivisionError`, :exc:" @@ -238,7 +269,7 @@ msgstr "" "aritméticos: :exc:`OverflowError`, :exc:`ZeroDivisionError`, :exc:" "`FloatingPointError`." -#: ../../library/exceptions.rst:123 +#: ../../library/exceptions.rst:145 msgid "" "Raised when a :ref:`buffer ` related operation cannot be " "performed." @@ -246,7 +277,7 @@ msgstr "" "Levantado quando uma operação relacionada a :ref:`buffer ` " "não puder ser realizada." -#: ../../library/exceptions.rst:129 +#: ../../library/exceptions.rst:151 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`. " @@ -256,19 +287,19 @@ msgstr "" "em um mapeamento ou sequência é inválido: :exc:`IndexError`, :exc:" "`KeyError`. Isso pode ser levantado diretamente por :func:`codecs.lookup`." -#: ../../library/exceptions.rst:135 +#: ../../library/exceptions.rst:157 msgid "Concrete exceptions" msgstr "Exceções concretas" -#: ../../library/exceptions.rst:137 +#: ../../library/exceptions.rst:159 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:143 +#: ../../library/exceptions.rst:165 msgid "Raised when an :keyword:`assert` statement fails." msgstr "Levantado quando uma instrução :keyword:`assert` falha." -#: ../../library/exceptions.rst:148 +#: ../../library/exceptions.rst:170 msgid "" "Raised when an attribute reference (see :ref:`attribute-references`) or " "assignment fails. (When an object does not support attribute references or " @@ -278,7 +309,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:152 +#: ../../library/exceptions.rst:174 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 " @@ -290,11 +321,11 @@ msgstr "" "representam o nome do atributo que se tentou acessar e do objeto que foi " "acessado por esse atributo, respectivamente." -#: ../../library/exceptions.rst:157 +#: ../../library/exceptions.rst:179 msgid "Added the :attr:`name` and :attr:`obj` attributes." msgstr "Adicionado os atributos :attr:`name` e :attr:`obj`." -#: ../../library/exceptions.rst:162 +#: ../../library/exceptions.rst:184 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." @@ -305,11 +336,11 @@ msgstr "" "e :meth:`io.IOBase.readline` retornam uma string vazia quando pressionam o " "EOF.)" -#: ../../library/exceptions.rst:169 +#: ../../library/exceptions.rst:191 msgid "Not currently used." msgstr "Não usado atualmente." -#: ../../library/exceptions.rst:174 +#: ../../library/exceptions.rst:196 msgid "" "Raised when a :term:`generator` or :term:`coroutine` is closed; see :meth:" "`generator.close` and :meth:`coroutine.close`. It directly inherits from :" @@ -321,7 +352,7 @@ msgstr "" "diretamente de :exc:`BaseException` em vez de :exc:`Exception`, já que " "tecnicamente não é um erro." -#: ../../library/exceptions.rst:182 +#: ../../library/exceptions.rst:204 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 " @@ -331,7 +362,7 @@ 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:186 +#: ../../library/exceptions.rst:208 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 " @@ -343,11 +374,11 @@ msgstr "" "representam o nome do módulo que foi tentado ser importado e o caminho para " "qualquer arquivo que acionou a exceção, respectivamente." -#: ../../library/exceptions.rst:191 +#: ../../library/exceptions.rst:213 msgid "Added the :attr:`name` and :attr:`path` attributes." msgstr "Adicionados os atributos :attr:`name` e :attr:`path`." -#: ../../library/exceptions.rst:196 +#: ../../library/exceptions.rst:218 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 :" @@ -357,7 +388,7 @@ msgstr "" "quando um módulo não pôde ser localizado. Também é levantada quando ``None`` " "é encontrado em :data:`sys.modules`." -#: ../../library/exceptions.rst:205 +#: ../../library/exceptions.rst:227 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 " @@ -367,7 +398,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:214 +#: ../../library/exceptions.rst:236 msgid "" "Raised when a mapping (dictionary) key is not found in the set of existing " "keys." @@ -375,7 +406,7 @@ msgstr "" "Levantada quando uma chave de mapeamento (dicionário) não é encontrada no " "conjunto de chaves existentes." -#: ../../library/exceptions.rst:221 +#: ../../library/exceptions.rst:243 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. " @@ -389,7 +420,22 @@ msgstr "" "para que não seja capturada acidentalmente por códigos que tratam :exc:" "`Exception` e assim evita que o interpretador saia." -#: ../../library/exceptions.rst:230 +#: ../../library/exceptions.rst:251 +msgid "" +"Catching a :exc:`KeyboardInterrupt` requires special consideration. Because " +"it can be raised at unpredictable points, it may, in some circumstances, " +"leave the running program in an inconsistent state. It is generally best to " +"allow :exc:`KeyboardInterrupt` to end the program as quickly as possible or " +"avoid raising it entirely. (See :ref:`handlers-and-exceptions`.)" +msgstr "" +"Capturar uma :exc:`KeyboardInterrupt` requer consideração especial. Como " +"pode ser levantada em pontos imprevisíveis, pode, em algumas circunstâncias, " +"deixar o programa em execução em um estado inconsistente. Geralmente é " +"melhor permitir que :exc:`KeyboardInterrupt` termine o programa o mais " +"rápido possível ou evitar levantá-la de todo. (Veja :ref:`handlers-and-" +"exceptions`.)" + +#: ../../library/exceptions.rst:261 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 " @@ -407,7 +453,7 @@ msgstr "" "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:241 +#: ../../library/exceptions.rst:272 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 " @@ -417,7 +463,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:245 +#: ../../library/exceptions.rst:276 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 " @@ -427,11 +473,11 @@ msgstr "" "nomeado para o construtor. Quando definido, representa o nome da variável " "que foi tentada ser acessada." -#: ../../library/exceptions.rst:249 +#: ../../library/exceptions.rst:280 msgid "Added the :attr:`name` attribute." msgstr "Adicionado o atributo :attr:`name`." -#: ../../library/exceptions.rst:255 +#: ../../library/exceptions.rst:286 msgid "" "This exception is derived from :exc:`RuntimeError`. In user defined base " "classes, abstract methods should raise this exception when they require " @@ -444,7 +490,7 @@ msgstr "" "desenvolvida, para indicar que a implementação real ainda precisa ser " "adicionada." -#: ../../library/exceptions.rst:262 +#: ../../library/exceptions.rst:293 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 " @@ -454,7 +500,7 @@ msgstr "" "suportado -- nesse caso deixe o operador / método indefinido ou, se é uma " "subclasse, defina-o como :data:`None`." -#: ../../library/exceptions.rst:268 +#: ../../library/exceptions.rst:299 msgid "" "``NotImplementedError`` and ``NotImplemented`` are not interchangeable, even " "though they have similar names and purposes. See :data:`NotImplemented` for " @@ -464,18 +510,18 @@ msgstr "" "que tenham nomes e propósitos similares. Veja :data:`NotImplemented` para " "detalhes e casos de uso." -#: ../../library/exceptions.rst:277 +#: ../../library/exceptions.rst:308 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:281 +#: ../../library/exceptions.rst:312 msgid "" "The second form of the constructor sets the corresponding attributes, " "described below. The attributes default to :const:`None` if not specified. " @@ -489,7 +535,7 @@ 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:287 +#: ../../library/exceptions.rst:318 msgid "" "The constructor often actually returns a subclass of :exc:`OSError`, as " "described in `OS exceptions`_ below. The particular subclass depends on the " @@ -503,11 +549,11 @@ 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:295 +#: ../../library/exceptions.rst:326 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:299 +#: ../../library/exceptions.rst:330 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 " @@ -517,7 +563,7 @@ msgstr "" "attr:`.errno` é então uma tradução aproximada, em termos POSIX, desse código " "de erro nativo." -#: ../../library/exceptions.rst:303 +#: ../../library/exceptions.rst:334 msgid "" "Under Windows, if the *winerror* constructor argument is an integer, the :" "attr:`.errno` attribute is determined from the Windows error code, and the " @@ -529,7 +575,7 @@ msgstr "" "e o argumento *errno* é ignorado. Em outras plataformas, o argumento " "*winerror* é ignorado e o atributo :attr:`winerror` não existe." -#: ../../library/exceptions.rst:311 +#: ../../library/exceptions.rst:342 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:" @@ -539,7 +585,7 @@ msgstr "" "operacional. É formatada pelas funções C :c:func:`perror` no POSIX e :c:func:" "`FormatMessage` no Windows." -#: ../../library/exceptions.rst:319 +#: ../../library/exceptions.rst:350 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. " @@ -553,7 +599,7 @@ msgstr "" "arquivos (como :func:`os.rename`), :attr:`filename2` corresponde ao segundo " "nome de arquivo passado para a função." -#: ../../library/exceptions.rst:326 +#: ../../library/exceptions.rst:357 msgid "" ":exc:`EnvironmentError`, :exc:`IOError`, :exc:`WindowsError`, :exc:`socket." "error`, :exc:`select.error` and :exc:`mmap.error` have been merged into :exc:" @@ -563,7 +609,7 @@ msgstr "" "error`, :exc:`select.error` e :exc:`mmap.error` foram fundidos em :exc:" "`OSError`, e o construtor pode retornar uma subclasse." -#: ../../library/exceptions.rst:332 +#: ../../library/exceptions.rst:363 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:" @@ -575,7 +621,7 @@ msgstr "" "erros e codificação do sistema de arquivos`. Além disso, o argumento e o " "atributo de construtor *filename2* foi adicionado." -#: ../../library/exceptions.rst:341 +#: ../../library/exceptions.rst:372 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:" @@ -592,7 +638,7 @@ msgstr "" "exceção de ponto flutuante em C, a maioria das operações de ponto flutuante " "não são verificadas." -#: ../../library/exceptions.rst:351 +#: ../../library/exceptions.rst:382 msgid "" "This exception is derived from :exc:`RuntimeError`. It is raised when the " "interpreter detects that the maximum recursion depth (see :func:`sys." @@ -602,11 +648,11 @@ msgstr "" "interpretador detecta que a profundidade máxima de recursão (veja :func:`sys." "getrecursionlimit`) foi excedida." -#: ../../library/exceptions.rst:355 +#: ../../library/exceptions.rst:386 msgid "Previously, a plain :exc:`RuntimeError` was raised." msgstr "Anteriormente, uma :exc:`RuntimeError` simples era levantada." -#: ../../library/exceptions.rst:361 +#: ../../library/exceptions.rst:392 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 " @@ -618,7 +664,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:369 +#: ../../library/exceptions.rst:400 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 " @@ -628,7 +674,7 @@ msgstr "" "categorias. O valor associado é uma string indicando o que precisamente deu " "errado." -#: ../../library/exceptions.rst:376 +#: ../../library/exceptions.rst:407 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 " @@ -638,7 +684,7 @@ msgstr "" "__next__` de um :term:`iterador` para sinalizar que não há mais itens " "produzidos pelo iterador." -#: ../../library/exceptions.rst:380 +#: ../../library/exceptions.rst:411 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`." @@ -646,7 +692,7 @@ msgstr "" "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:384 +#: ../../library/exceptions.rst:415 msgid "" "When a :term:`generator` or :term:`coroutine` function returns, a new :exc:" "`StopIteration` instance is raised, and the value returned by the function " @@ -657,7 +703,7 @@ msgstr "" "pela função é usado como o parâmetro :attr:`value` para o construtor da " "exceção." -#: ../../library/exceptions.rst:389 +#: ../../library/exceptions.rst:420 msgid "" "If a generator code directly or indirectly raises :exc:`StopIteration`, it " "is converted into a :exc:`RuntimeError` (retaining the :exc:`StopIteration` " @@ -667,7 +713,7 @@ msgstr "" "ele é convertido em uma :exc:`RuntimeError` (mantendo o :exc:`StopIteration` " "como a nova causa da exceção)." -#: ../../library/exceptions.rst:393 +#: ../../library/exceptions.rst:424 msgid "" "Added ``value`` attribute and the ability for generator functions to use it " "to return a value." @@ -675,7 +721,7 @@ msgstr "" "Adicionado o atributo ``value`` e a capacidade das funções geradoras de usá-" "lo para retornar um valor." -#: ../../library/exceptions.rst:397 +#: ../../library/exceptions.rst:428 msgid "" "Introduced the RuntimeError transformation via ``from __future__ import " "generator_stop``, see :pep:`479`." @@ -683,7 +729,7 @@ msgstr "" "Introduzida a transformação RuntimeError via ``from __future__ import " "generator_stop``, consulte :pep:`479`." -#: ../../library/exceptions.rst:401 +#: ../../library/exceptions.rst:432 msgid "" "Enable :pep:`479` for all code by default: a :exc:`StopIteration` error " "raised in a generator is transformed into a :exc:`RuntimeError`." @@ -692,7 +738,7 @@ msgstr "" "`StopIteration` levantado em um gerador é transformado em uma :exc:" "`RuntimeError`." -#: ../../library/exceptions.rst:407 +#: ../../library/exceptions.rst:438 msgid "" "Must be raised by :meth:`__anext__` method of an :term:`asynchronous " "iterator` object to stop the iteration." @@ -700,7 +746,7 @@ msgstr "" "Deve ser levantada pelo método :meth:`__anext__` de um objeto :term:" "`iterador assíncrono` para parar a iteração." -#: ../../library/exceptions.rst:414 +#: ../../library/exceptions.rst:445 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:" @@ -712,7 +758,7 @@ msgstr "" "func:`compile`, :func:`exec` ou :func:`eval`, ou ao ler o script inicial ou " "entrada padrão (também interativamente)." -#: ../../library/exceptions.rst:420 +#: ../../library/exceptions.rst:451 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." @@ -721,11 +767,11 @@ msgstr "" "erro. Detalhes é uma tupla cujos membros também estão disponíveis como " "atributos separados." -#: ../../library/exceptions.rst:425 +#: ../../library/exceptions.rst:456 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:429 +#: ../../library/exceptions.rst:460 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." @@ -733,7 +779,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:434 +#: ../../library/exceptions.rst:465 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." @@ -741,11 +787,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:439 +#: ../../library/exceptions.rst:470 msgid "The source code text involved in the error." msgstr "O texto do código-fonte envolvido no erro." -#: ../../library/exceptions.rst:443 +#: ../../library/exceptions.rst:474 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." @@ -753,15 +799,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:448 +#: ../../library/exceptions.rst:479 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:451 +#: ../../library/exceptions.rst:482 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 " @@ -774,11 +820,11 @@ msgstr "" "resulta neste atributo de argumentos: ('f-string: ...', ('', 1, 2, '(a " "b)\\n', 1, 5))." -#: ../../library/exceptions.rst:456 +#: ../../library/exceptions.rst:487 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:461 +#: ../../library/exceptions.rst:492 msgid "" "Base class for syntax errors related to incorrect indentation. This is a " "subclass of :exc:`SyntaxError`." @@ -786,7 +832,7 @@ msgstr "" "Classe base para erros de sintaxe relacionados a indentação incorreta. Esta " "é uma subclasse de :exc:`SyntaxError`." -#: ../../library/exceptions.rst:467 +#: ../../library/exceptions.rst:498 msgid "" "Raised when indentation contains an inconsistent use of tabs and spaces. " "This is a subclass of :exc:`IndentationError`." @@ -794,7 +840,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:473 +#: ../../library/exceptions.rst:504 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 " @@ -805,7 +851,7 @@ msgstr "" "associado é uma string que indica o que deu errado (em termos de baixo " "nível)." -#: ../../library/exceptions.rst:477 +#: ../../library/exceptions.rst:508 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." @@ -819,7 +865,7 @@ msgstr "" "erro exata (o valor associado da exceção) e se possível a fonte do programa " "que acionou o erro." -#: ../../library/exceptions.rst:486 +#: ../../library/exceptions.rst:517 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 " @@ -843,7 +889,7 @@ msgstr "" "`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:497 +#: ../../library/exceptions.rst:528 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 " @@ -859,7 +905,7 @@ msgstr "" "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:506 +#: ../../library/exceptions.rst:537 msgid "" "The exit status or error message that is passed to the constructor. " "(Defaults to ``None``.)" @@ -867,7 +913,7 @@ msgstr "" "O status de saída ou mensagem de erro transmitida ao construtor. (O padrão é " "``None``.)" -#: ../../library/exceptions.rst:512 +#: ../../library/exceptions.rst:543 msgid "" "Raised when an operation or function is applied to an object of " "inappropriate type. The associated value is a string giving details about " @@ -877,7 +923,7 @@ msgstr "" "inadequado. O valor associado é uma string que fornece detalhes sobre a " "incompatibilidade de tipo." -#: ../../library/exceptions.rst:515 +#: ../../library/exceptions.rst:546 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 " @@ -890,7 +936,7 @@ msgstr "" "implementação, :exc:`NotImplementedError` é a exceção apropriada a ser " "levantada." -#: ../../library/exceptions.rst:520 +#: ../../library/exceptions.rst:551 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 " @@ -899,10 +945,10 @@ msgid "" 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:527 +#: ../../library/exceptions.rst:558 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:" @@ -912,7 +958,7 @@ msgstr "" "ou método, mas nenhum valor foi vinculado a essa variável. Esta é uma " "subclasse de :exc:`NameError`." -#: ../../library/exceptions.rst:534 +#: ../../library/exceptions.rst:565 msgid "" "Raised when a Unicode-related encoding or decoding error occurs. It is a " "subclass of :exc:`ValueError`." @@ -920,7 +966,7 @@ msgstr "" "Levantada quando ocorre um erro de codificação ou decodificação relacionado " "ao Unicode. É uma subclasse de :exc:`ValueError`." -#: ../../library/exceptions.rst:537 +#: ../../library/exceptions.rst:568 msgid "" ":exc:`UnicodeError` has attributes that describe the encoding or decoding " "error. For example, ``err.object[err.start:err.end]`` gives the particular " @@ -930,27 +976,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:543 +#: ../../library/exceptions.rst:574 msgid "The name of the encoding that raised the error." msgstr "O nome da codificação que levantou o erro." -#: ../../library/exceptions.rst:547 +#: ../../library/exceptions.rst:578 msgid "A string describing the specific codec error." msgstr "Uma string que descreve o erro de codec específico." -#: ../../library/exceptions.rst:551 +#: ../../library/exceptions.rst:582 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:555 +#: ../../library/exceptions.rst:586 msgid "The first index of invalid data in :attr:`object`." msgstr "O primeiro índice de dados inválidos em :attr:`object`." -#: ../../library/exceptions.rst:559 +#: ../../library/exceptions.rst:590 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:564 +#: ../../library/exceptions.rst:595 msgid "" "Raised when a Unicode-related error occurs during encoding. It is a " "subclass of :exc:`UnicodeError`." @@ -958,7 +1004,7 @@ msgstr "" "Levantada quando ocorre um erro relacionado ao Unicode durante a " "codificação. É uma subclasse de :exc:`UnicodeError`." -#: ../../library/exceptions.rst:570 +#: ../../library/exceptions.rst:601 msgid "" "Raised when a Unicode-related error occurs during decoding. It is a " "subclass of :exc:`UnicodeError`." @@ -966,7 +1012,7 @@ msgstr "" "Levantada quando ocorre um erro relacionado ao Unicode durante a " "decodificação. É uma subclasse de :exc:`UnicodeError`." -#: ../../library/exceptions.rst:576 +#: ../../library/exceptions.rst:607 msgid "" "Raised when a Unicode-related error occurs during translating. It is a " "subclass of :exc:`UnicodeError`." @@ -974,7 +1020,7 @@ msgstr "" "Levantada quando ocorre um erro relacionado ao Unicode durante a tradução. É " "uma subclasse de :exc:`UnicodeError`." -#: ../../library/exceptions.rst:582 +#: ../../library/exceptions.rst:613 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 " @@ -984,7 +1030,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:589 +#: ../../library/exceptions.rst:620 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 " @@ -994,7 +1040,7 @@ msgstr "" "zero. O valor associado é uma string que indica o tipo dos operandos e a " "operação." -#: ../../library/exceptions.rst:594 +#: ../../library/exceptions.rst:625 msgid "" "The following exceptions are kept for compatibility with previous versions; " "starting from Python 3.3, they are aliases of :exc:`OSError`." @@ -1002,15 +1048,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:603 +#: ../../library/exceptions.rst:634 msgid "Only available on Windows." msgstr "Disponível apenas no Windows." -#: ../../library/exceptions.rst:607 +#: ../../library/exceptions.rst:638 msgid "OS exceptions" msgstr "Exceções de sistema operacional" -#: ../../library/exceptions.rst:609 +#: ../../library/exceptions.rst:640 msgid "" "The following exceptions are subclasses of :exc:`OSError`, they get raised " "depending on the system error code." @@ -1018,17 +1064,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:614 +#: ../../library/exceptions.rst:645 msgid "" "Raised when an operation would block on an object (e.g. socket) set for non-" -"blocking operation. Corresponds to :c:data:`errno` ``EAGAIN``, ``EALREADY``, " -"``EWOULDBLOCK`` and ``EINPROGRESS``." +"blocking operation. Corresponds to :c:data:`errno` :py:data:`~errno." +"EAGAIN`, :py:data:`~errno.EALREADY`, :py:data:`~errno.EWOULDBLOCK` and :py:" +"data:`~errno.EINPROGRESS`." msgstr "" "Levantada quando uma operação bloquearia em um objeto (por exemplo, soquete) " -"definido para operação sem bloqueio. Corresponde a :c:data:`errno` " -"``EAGAIN``, ``EALREADY``, ``EWOULDBLOCK`` e ``EINPROGRESS``." +"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`." -#: ../../library/exceptions.rst:619 +#: ../../library/exceptions.rst:650 msgid "" "In addition to those of :exc:`OSError`, :exc:`BlockingIOError` can have one " "more attribute:" @@ -1036,7 +1084,7 @@ msgstr "" "Além daquelas de :exc:`OSError`, :exc:`BlockingIOError` pode ter mais um " "atributo:" -#: ../../library/exceptions.rst:624 +#: ../../library/exceptions.rst:655 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 " @@ -1046,19 +1094,19 @@ msgstr "" "bloqueado. Este atributo está disponível ao usar as classes de E/S em buffer " "do módulo :mod:`io`." -#: ../../library/exceptions.rst:630 +#: ../../library/exceptions.rst:661 msgid "" "Raised when an operation on a child process failed. Corresponds to :c:data:" -"`errno` ``ECHILD``." +"`errno` :py:data:`~errno.ECHILD`." msgstr "" -"Levantada quando uma operação em um processo filho falha. Corresponde a :c:" -"data:`errno` ``ECHILD``." +"Levantada quando uma operação em um processo filho falhou. Corresponde a :py:" +"data:`~errno.ECHILD` de :c:data:`errno`." -#: ../../library/exceptions.rst:635 +#: ../../library/exceptions.rst:666 msgid "A base class for connection-related issues." msgstr "Uma classe base para problemas relacionados à conexão." -#: ../../library/exceptions.rst:637 +#: ../../library/exceptions.rst:668 msgid "" "Subclasses are :exc:`BrokenPipeError`, :exc:`ConnectionAbortedError`, :exc:" "`ConnectionRefusedError` and :exc:`ConnectionResetError`." @@ -1066,59 +1114,64 @@ msgstr "" "Suas subclasses são :exc:`BrokenPipeError`, :exc:`ConnectionAbortedError`, :" "exc:`ConnectionRefusedError` e :exc:`ConnectionResetError`." -#: ../../library/exceptions.rst:642 +#: ../../library/exceptions.rst:673 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` ``EPIPE`` and " -"``ESHUTDOWN``." +"has been shutdown for writing. Corresponds to :c:data:`errno` :py:data:" +"`~errno.EPIPE` and :py:data:`~errno.ESHUTDOWN`." msgstr "" "Uma subclasse de :exc:`ConnectionError`, levantada ao tentar escrever em um " -"encadeamento enquanto a outra extremidade foi fechada, ou tentar escrever em " -"um soquete que foi desligado para escrita. Corresponde a :c:data:`errno` " -"``EPIPE`` e ``ESHUTDOWN``." +"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`." -#: ../../library/exceptions.rst:649 +#: ../../library/exceptions.rst:680 msgid "" "A subclass of :exc:`ConnectionError`, raised when a connection attempt is " -"aborted by the peer. Corresponds to :c:data:`errno` ``ECONNABORTED``." +"aborted by the peer. Corresponds to :c:data:`errno` :py:data:`~errno." +"ECONNABORTED`." msgstr "" "Uma subclasse de :exc:`ConnectionError`, levantada quando uma tentativa de " -"conexão é cancelada pelo par. Corresponde a :c:data:`errno` ``ECONNABORTED``." +"conexão é cancelada pelo par. Corresponde a :c:data:`errno` :py:data:`~errno." +"ECONNABORTED`." -#: ../../library/exceptions.rst:655 +#: ../../library/exceptions.rst:686 msgid "" "A subclass of :exc:`ConnectionError`, raised when a connection attempt is " -"refused by the peer. Corresponds to :c:data:`errno` ``ECONNREFUSED``." +"refused by the peer. Corresponds to :c:data:`errno` :py:data:`~errno." +"ECONNREFUSED`." msgstr "" "Uma subclasse de :exc:`ConnectionError`, levantada quando uma tentativa de " -"conexão é recusada pelo par. Corresponde a :c:data:`errno` ``ECONNREFUSED``." +"conexão é recusada pelo par. Corresponde a :c:data:`errno` :py:data:`~errno." +"ECONNREFUSED`." -#: ../../library/exceptions.rst:661 +#: ../../library/exceptions.rst:692 msgid "" "A subclass of :exc:`ConnectionError`, raised when a connection is reset by " -"the peer. Corresponds to :c:data:`errno` ``ECONNRESET``." +"the peer. Corresponds to :c:data:`errno` :py:data:`~errno.ECONNRESET`." msgstr "" -"Uma subclasse de :exc:`ConnectionError`, levantada quando a conexão é " -"reiniciada pelo par. Corresponde a :c:data:`errno` ``ECONNRESET``." +"Uma subclasse de :exc:`ConnectionError`, levantada quando uma conexão é " +"redefinida pelo par. Corresponde a :c:data:`errno` :py:data:`~errno." +"ECONNRESET`." -#: ../../library/exceptions.rst:667 +#: ../../library/exceptions.rst:698 msgid "" "Raised when trying to create a file or directory which already exists. " -"Corresponds to :c:data:`errno` ``EEXIST``." +"Corresponds to :c:data:`errno` :py:data:`~errno.EEXIST`." msgstr "" "Levantada ao tentar criar um arquivo ou diretório que já existe. Corresponde " -"a :c:data:`errno` ``EEXIST``." +"a :c:data:`errno` :py:data:`~errno.EEXIST`." -#: ../../library/exceptions.rst:672 +#: ../../library/exceptions.rst:703 msgid "" "Raised when a file or directory is requested but doesn't exist. Corresponds " -"to :c:data:`errno` ``ENOENT``." +"to :c:data:`errno` :py:data:`~errno.ENOENT`." msgstr "" "Levantada quando um arquivo ou diretório é solicitado, mas não existe. " -"Corresponde a :c:data:`errno` ``ENOENT``." +"Corresponde a :c:data:`errno` :py:data:`~errno.ENOENT`." -#: ../../library/exceptions.rst:677 +#: ../../library/exceptions.rst:708 msgid "" "Raised when a system call is interrupted by an incoming signal. Corresponds " "to :c:data:`errno` :py:data:`~errno.EINTR`." @@ -1126,77 +1179,76 @@ msgstr "" "Levantada quando uma chamada do sistema é interrompida por um sinal de " "entrada. Corresponde a :c:data:`errno` :py:data:`~errno.EINTR`." -#: ../../library/exceptions.rst:680 +#: ../../library/exceptions.rst:711 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:" +"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:687 +#: ../../library/exceptions.rst:718 msgid "" "Raised when a file operation (such as :func:`os.remove`) is requested on a " -"directory. Corresponds to :c:data:`errno` ``EISDIR``." +"directory. Corresponds to :c:data:`errno` :py:data:`~errno.EISDIR`." msgstr "" "Levantada quando uma operação de arquivo (como :func:`os.remove`) é " -"solicitada em um diretório. Corresponde a :c:data:`errno` ``EISDIR``." +"solicitada em um diretório. Corresponde a :c:data:`errno` :py:data:`~errno." +"EISDIR`." -#: ../../library/exceptions.rst:693 +#: ../../library/exceptions.rst:724 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` ``ENOTDIR``." +"as if it were a directory. Corresponds to :c:data:`errno` :py:data:`~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` ``ENOTDIR``." +"a :c:data:`errno` :py:data:`~errno.ENOTDIR`." -#: ../../library/exceptions.rst:701 +#: ../../library/exceptions.rst:732 msgid "" "Raised when trying to run an operation without the adequate access rights - " -"for example filesystem permissions. Corresponds to :c:data:`errno` " -"``EACCES`` and ``EPERM``." +"for example filesystem permissions. Corresponds to :c:data:`errno` :py:data:" +"`~errno.EACCES` and :py:data:`~errno.EPERM`." 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` ``EACCES`` e ``EPERM``." -#: ../../library/exceptions.rst:707 +#: ../../library/exceptions.rst:738 msgid "" -"Raised when a given process doesn't exist. Corresponds to :c:data:`errno` " -"``ESRCH``." +"Raised when a given process doesn't exist. Corresponds to :c:data:`errno` :" +"py:data:`~errno.ESRCH`." msgstr "" "Levantada quando um determinado processo não existe. Corresponde a :c:data:" -"`errno` ``ESRCH``." +"`errno` :py:data:`~errno.ESRCH`." -#: ../../library/exceptions.rst:712 +#: ../../library/exceptions.rst:743 msgid "" "Raised when a system function timed out at the system level. Corresponds to :" -"c:data:`errno` ``ETIMEDOUT``." +"c:data:`errno` :py:data:`~errno.ETIMEDOUT`." msgstr "" "Levantada quando uma função do sistema expirou no nível do sistema. " -"Corresponde a :c:data:`errno` ``ETIMEDOUT``." +"Corresponde a :c:data:`errno` :py:data:`~errno.ETIMEDOUT`." -#: ../../library/exceptions.rst:715 +#: ../../library/exceptions.rst:746 msgid "All the above :exc:`OSError` subclasses were added." msgstr "Todas as subclasses de :exc:`OSError` acima foram adicionadas." -#: ../../library/exceptions.rst:721 +#: ../../library/exceptions.rst:752 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:727 +#: ../../library/exceptions.rst:758 msgid "Warnings" msgstr "Avisos" -#: ../../library/exceptions.rst:729 +#: ../../library/exceptions.rst:760 msgid "" "The following exceptions are used as warning categories; see the :ref:" "`warning-categories` documentation for more details." @@ -1204,107 +1256,111 @@ 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:734 +#: ../../library/exceptions.rst:765 msgid "Base class for warning categories." msgstr "Classe base para categorias de aviso." -#: ../../library/exceptions.rst:739 +#: ../../library/exceptions.rst:770 msgid "Base class for warnings generated by user code." msgstr "Classe base para avisos gerados pelo código do usuário." -#: ../../library/exceptions.rst:744 +#: ../../library/exceptions.rst:775 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:747 +#: ../../library/exceptions.rst:778 msgid "" "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." +"`565`). Habilitar o :ref:`Modo de Desenvolvimento do Python ` exibe " +"este aviso." -#: ../../library/exceptions.rst:754 +#: ../../library/exceptions.rst:782 ../../library/exceptions.rst:798 +msgid "The deprecation policy is described in :pep:`387`." +msgstr "A política de descontinuação está descrita na :pep:`387`." + +#: ../../library/exceptions.rst:787 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:758 +#: ../../library/exceptions.rst:791 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:762 ../../library/exceptions.rst:786 -#: ../../library/exceptions.rst:813 +#: ../../library/exceptions.rst:795 ../../library/exceptions.rst:821 +#: ../../library/exceptions.rst:848 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:768 +#: ../../library/exceptions.rst:803 msgid "Base class for warnings about dubious syntax." msgstr "Classe base para avisos sobre sintaxe duvidosa." -#: ../../library/exceptions.rst:773 +#: ../../library/exceptions.rst:808 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:778 +#: ../../library/exceptions.rst:813 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:784 +#: ../../library/exceptions.rst:819 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:792 +#: ../../library/exceptions.rst:827 msgid "Base class for warnings related to Unicode." msgstr "Classe base para avisos relacionados a Unicode." -#: ../../library/exceptions.rst:797 +#: ../../library/exceptions.rst:832 msgid "Base class for warnings related to encodings." msgstr "Classe base para avisos relacionados a codificações." -#: ../../library/exceptions.rst:799 +#: ../../library/exceptions.rst:834 msgid "See :ref:`io-encoding-warning` for details." msgstr "Veja :ref:`io-encoding-warning` para detalhes." -#: ../../library/exceptions.rst:806 +#: ../../library/exceptions.rst:841 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:811 +#: ../../library/exceptions.rst:846 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:821 +#: ../../library/exceptions.rst:856 msgid "Exception hierarchy" msgstr "Hierarquia das exceções" -#: ../../library/exceptions.rst:823 +#: ../../library/exceptions.rst:858 msgid "The class hierarchy for built-in exceptions is:" msgstr "A hierarquia de classes para exceções embutidas é:" diff --git a/library/faulthandler.po b/library/faulthandler.po index df4a9b2b5..030212bd6 100644 --- a/library/faulthandler.po +++ b/library/faulthandler.po @@ -1,27 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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: -# And Past , 2021 -# i17obot , 2021 +# python-doc bot, 2025 # #, 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:05+0000\n" -"Last-Translator: i17obot , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:57+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/faulthandler.rst:2 msgid ":mod:`faulthandler` --- Dump the Python traceback" @@ -97,26 +97,51 @@ msgid "" "enable` at Python startup." msgstr "" -#: ../../library/faulthandler.rst:48 -msgid "Dumping the traceback" +#: ../../library/faulthandler.rst:49 +msgid "Module :mod:`pdb`" msgstr "" +#: ../../library/faulthandler.rst:49 +msgid "Interactive source code debugger for Python programs." +msgstr "" + +#: ../../library/faulthandler.rst:51 +msgid "Module :mod:`traceback`" +msgstr "Módulo :mod:`traceback`" + #: ../../library/faulthandler.rst:52 msgid "" +"Standard interface to extract, format and print stack traces of Python " +"programs." +msgstr "" +"Interface padrão para extrair, formatar e imprimir rastreamentos de pilha de " +"programas Python." + +#: ../../library/faulthandler.rst:55 +msgid "Dumping the traceback" +msgstr "" + +#: ../../library/faulthandler.rst:59 +msgid "" "Dump the tracebacks of all threads into *file*. If *all_threads* is " "``False``, dump only the current thread." msgstr "" -#: ../../library/faulthandler.rst:55 ../../library/faulthandler.rst:73 -#: ../../library/faulthandler.rst:115 ../../library/faulthandler.rst:137 +#: ../../library/faulthandler.rst:62 +msgid "" +":func:`traceback.print_tb`, which can be used to print a traceback object." +msgstr "" + +#: ../../library/faulthandler.rst:64 ../../library/faulthandler.rst:82 +#: ../../library/faulthandler.rst:124 ../../library/faulthandler.rst:146 msgid "Added support for passing file descriptor to this function." msgstr "" -#: ../../library/faulthandler.rst:60 +#: ../../library/faulthandler.rst:69 msgid "Fault handler state" msgstr "" -#: ../../library/faulthandler.rst:64 +#: ../../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 " @@ -124,37 +149,37 @@ msgid "" "for every running thread. Otherwise, dump only the current thread." msgstr "" -#: ../../library/faulthandler.rst:70 +#: ../../library/faulthandler.rst:79 msgid "" "The *file* must be kept open until the fault handler is disabled: see :ref:" "`issue with file descriptors `." msgstr "" -#: ../../library/faulthandler.rst:76 +#: ../../library/faulthandler.rst:85 msgid "On Windows, a handler for Windows exception is also installed." msgstr "" -#: ../../library/faulthandler.rst:79 +#: ../../library/faulthandler.rst:88 msgid "" "The dump now mentions if a garbage collector collection is running if " "*all_threads* is true." msgstr "" -#: ../../library/faulthandler.rst:85 +#: ../../library/faulthandler.rst:94 msgid "" "Disable the fault handler: uninstall the signal handlers installed by :func:" "`enable`." msgstr "" -#: ../../library/faulthandler.rst:90 +#: ../../library/faulthandler.rst:99 msgid "Check if the fault handler is enabled." msgstr "" -#: ../../library/faulthandler.rst:94 +#: ../../library/faulthandler.rst:103 msgid "Dumping the tracebacks after a timeout" msgstr "" -#: ../../library/faulthandler.rst:98 +#: ../../library/faulthandler.rst:107 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``, " @@ -165,58 +190,58 @@ msgid "" "a sub-second resolution." msgstr "" -#: ../../library/faulthandler.rst:106 +#: ../../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 " "descriptors `." msgstr "" -#: ../../library/faulthandler.rst:110 +#: ../../library/faulthandler.rst:119 msgid "This function is implemented using a watchdog thread." msgstr "" -#: ../../library/faulthandler.rst:112 +#: ../../library/faulthandler.rst:121 msgid "This function is now always available." msgstr "" -#: ../../library/faulthandler.rst:120 +#: ../../library/faulthandler.rst:129 msgid "Cancel the last call to :func:`dump_traceback_later`." msgstr "" -#: ../../library/faulthandler.rst:124 +#: ../../library/faulthandler.rst:133 msgid "Dumping the traceback on a user signal" msgstr "" -#: ../../library/faulthandler.rst:128 +#: ../../library/faulthandler.rst:137 msgid "" "Register a user signal: install a handler for the *signum* signal to dump " "the traceback of all threads, or of the current thread if *all_threads* is " "``False``, into *file*. Call the previous handler if chain is ``True``." msgstr "" -#: ../../library/faulthandler.rst:132 +#: ../../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 `." msgstr "" -#: ../../library/faulthandler.rst:135 ../../library/faulthandler.rst:146 +#: ../../library/faulthandler.rst:144 ../../library/faulthandler.rst:155 msgid "Not available on Windows." msgstr "Não disponível no Windows." -#: ../../library/faulthandler.rst:142 +#: ../../library/faulthandler.rst:151 msgid "" "Unregister a user signal: uninstall the handler of the *signum* signal " "installed by :func:`register`. Return ``True`` if the signal was registered, " "``False`` otherwise." msgstr "" -#: ../../library/faulthandler.rst:152 +#: ../../library/faulthandler.rst:161 msgid "Issue with file descriptors" msgstr "" -#: ../../library/faulthandler.rst:154 +#: ../../library/faulthandler.rst:163 msgid "" ":func:`enable`, :func:`dump_traceback_later` and :func:`register` keep the " "file descriptor of their *file* argument. If the file is closed and its file " @@ -225,11 +250,11 @@ msgid "" "Call these functions again each time that the file is replaced." msgstr "" -#: ../../library/faulthandler.rst:162 +#: ../../library/faulthandler.rst:171 msgid "Example" msgstr "Exemplo" -#: ../../library/faulthandler.rst:164 +#: ../../library/faulthandler.rst:173 msgid "" "Example of a segmentation fault on Linux with and without enabling the fault " "handler:" diff --git a/library/fcntl.po b/library/fcntl.po index 9e3d937b7..2f2515b05 100644 --- a/library/fcntl.po +++ b/library/fcntl.po @@ -1,32 +1,32 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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 -# Claudio Rogerio Carvalho Filho , 2021 +# python-doc bot, 2025 +# Rafael Fontenelle , 2025 # #, 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:06+0000\n" -"Last-Translator: Claudio Rogerio Carvalho Filho , " -"2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:57+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=2; plural=(n > 1);\n" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/fcntl.rst:2 msgid ":mod:`fcntl` --- The ``fcntl`` and ``ioctl`` system calls" -msgstr ":mod:`fcntl` --- as chamadas do sistema ``fcntl`` e ``ioctl`` " +msgstr ":mod:`fcntl` --- as chamadas de sistema ``fcntl`` e ``ioctl``" #: ../../library/fcntl.rst:16 msgid "" @@ -49,12 +49,19 @@ msgid "" "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:27 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:31 msgid "" @@ -68,21 +75,21 @@ msgid "" "On macOS, the fcntl module exposes the ``F_GETPATH`` constant, which obtains " "the path of a file from a file descriptor. On Linux(>=3.15), the fcntl " "module exposes the ``F_OFD_GETLK``, ``F_OFD_SETLK`` and ``F_OFD_SETLKW`` " -"constants, which working with open file description locks." +"constants, which are used when working with open file description locks." msgstr "" -#: ../../library/fcntl.rst:42 +#: ../../library/fcntl.rst:43 msgid "" "On Linux >= 2.6.11, the fcntl module exposes the ``F_GETPIPE_SZ`` and " "``F_SETPIPE_SZ`` constants, which allow to check and modify a pipe's size " "respectively." msgstr "" -#: ../../library/fcntl.rst:47 +#: ../../library/fcntl.rst:48 msgid "The module defines the following functions:" msgstr "O módulo define as seguintes funções:" -#: ../../library/fcntl.rst:52 +#: ../../library/fcntl.rst:53 msgid "" "Perform the operation *cmd* on file descriptor *fd* (file objects providing " "a :meth:`~io.IOBase.fileno` method are accepted as well). The values used " @@ -100,25 +107,45 @@ msgid "" "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 "" - -#: ../../library/fcntl.rst:69 +"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:70 msgid "If the :c:func:`fcntl` fails, an :exc:`OSError` is raised." msgstr "" "Se o :c:func:`fcntl` vier a falhar, um exceção :exc:`OSError` é levantada." -#: ../../library/fcntl.rst:71 +#: ../../library/fcntl.rst:72 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:76 +#: ../../library/fcntl.rst:77 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:79 +#: ../../library/fcntl.rst:80 msgid "" "The *request* parameter is limited to values that can fit in 32-bits. " "Additional constants of interest for use as the *request* argument can be " @@ -126,26 +153,26 @@ msgid "" "relevant C header files." msgstr "" -#: ../../library/fcntl.rst:84 +#: ../../library/fcntl.rst:85 msgid "" "The parameter *arg* can be one of an integer, an object supporting the read-" "only buffer interface (like :class:`bytes`) or an object supporting the read-" "write buffer interface (like :class:`bytearray`)." msgstr "" -#: ../../library/fcntl.rst:88 +#: ../../library/fcntl.rst:89 msgid "" "In all but the last case, behaviour is as for the :func:`~fcntl.fcntl` " "function." msgstr "" -#: ../../library/fcntl.rst:91 +#: ../../library/fcntl.rst:92 msgid "" "If a mutable buffer is passed, then the behaviour is determined by the value " "of the *mutate_flag* parameter." msgstr "" -#: ../../library/fcntl.rst:94 +#: ../../library/fcntl.rst:95 msgid "" "If it is false, the buffer's mutability is ignored and behaviour is as for a " "read-only buffer, except that the 1024 byte limit mentioned above is avoided " @@ -153,7 +180,7 @@ msgid "" "system wants to put there, things should work." msgstr "" -#: ../../library/fcntl.rst:99 +#: ../../library/fcntl.rst:100 msgid "" "If *mutate_flag* is true (the default), then the buffer is (in effect) " "passed to the underlying :func:`ioctl` system call, the latter's return code " @@ -164,59 +191,71 @@ msgid "" "copied back into the supplied buffer." msgstr "" -#: ../../library/fcntl.rst:107 +#: ../../library/fcntl.rst:108 msgid "If the :c:func:`ioctl` fails, an :exc:`OSError` exception is raised." msgstr "" -#: ../../library/fcntl.rst:109 +#: ../../library/fcntl.rst:110 msgid "An example::" msgstr "Um exemplo::" -#: ../../library/fcntl.rst:122 +#: ../../library/fcntl.rst:123 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:127 +#: ../../library/fcntl.rst:128 msgid "" "Perform the lock operation *operation* on file descriptor *fd* (file objects " "providing a :meth:`~io.IOBase.fileno` method are accepted as well). See the " "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:132 +#: ../../library/fcntl.rst:133 msgid "If the :c:func:`flock` fails, an :exc:`OSError` exception is raised." msgstr "" -#: ../../library/fcntl.rst:134 +#: ../../library/fcntl.rst:135 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:139 +#: ../../library/fcntl.rst:140 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:" 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:144 +#: ../../library/fcntl.rst:145 msgid ":const:`LOCK_UN` -- unlock" msgstr ":const:`LOCK_UN` -- desbloquear" -#: ../../library/fcntl.rst:145 +#: ../../library/fcntl.rst:146 msgid ":const:`LOCK_SH` -- acquire a shared lock" msgstr "" -#: ../../library/fcntl.rst:146 +#: ../../library/fcntl.rst:147 msgid ":const:`LOCK_EX` -- acquire an exclusive lock" msgstr "" -#: ../../library/fcntl.rst:148 +#: ../../library/fcntl.rst:149 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:" @@ -228,56 +267,68 @@ msgid "" "for writing." msgstr "" -#: ../../library/fcntl.rst:157 +#: ../../library/fcntl.rst:158 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:" 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:161 +#: ../../library/fcntl.rst:162 msgid ":const:`0` -- relative to the start of the file (:data:`os.SEEK_SET`)" msgstr "" -#: ../../library/fcntl.rst:162 +#: ../../library/fcntl.rst:163 msgid "" ":const:`1` -- relative to the current buffer position (:data:`os.SEEK_CUR`)" msgstr "" -#: ../../library/fcntl.rst:163 +#: ../../library/fcntl.rst:164 msgid ":const:`2` -- relative to the end of the file (:data:`os.SEEK_END`)" msgstr "" -#: ../../library/fcntl.rst:165 +#: ../../library/fcntl.rst:166 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:169 +#: ../../library/fcntl.rst:170 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:171 +#: ../../library/fcntl.rst:172 msgid "Examples (all on a SVR4 compliant system)::" -msgstr "" +msgstr "Exemplos (todos em um sistema compatível com SVR4)::" -#: ../../library/fcntl.rst:181 +#: ../../library/fcntl.rst:182 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:192 +#: ../../library/fcntl.rst:193 msgid "Module :mod:`os`" msgstr "Módulo :mod:`os`" -#: ../../library/fcntl.rst:190 +#: ../../library/fcntl.rst:191 msgid "" "If the locking flags :data:`~os.O_SHLOCK` and :data:`~os.O_EXLOCK` are " "present in the :mod:`os` module (on BSD only), the :func:`os.open` function " diff --git a/library/filecmp.po b/library/filecmp.po index 62f733c45..2270c40fa 100644 --- a/library/filecmp.po +++ b/library/filecmp.po @@ -1,27 +1,28 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.10\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-08-05 13:13+0000\n" -"PO-Revision-Date: 2021-06-28 01:06+0000\n" -"Last-Translator: i17obot , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-10-23 17:42+0000\n" +"PO-Revision-Date: 2025-09-22 15:57+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=2; plural=(n > 1);\n" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/filecmp.rst:2 msgid ":mod:`filecmp` --- File and Directory Comparisons" @@ -37,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 "" @@ -54,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 "" @@ -73,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 "" @@ -89,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`." msgstr "" +"O parâmetro *shallow* tem o mesmo significado e valor padrão que :func:" +"`filecmp.cmp`." #: ../../library/filecmp.rst:54 msgid "" @@ -102,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 "" @@ -109,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" @@ -127,25 +159,28 @@ 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 "" @@ -153,6 +188,9 @@ 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 "" @@ -163,35 +201,35 @@ msgstr "" #: ../../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*." @@ -202,22 +240,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 "" @@ -225,19 +269,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 54d2081c3..618a8764c 100644 --- a/library/fileformats.po +++ b/library/fileformats.po @@ -1,27 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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.10\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-06-29 12:56+0000\n" -"PO-Revision-Date: 2021-06-28 01:06+0000\n" -"Last-Translator: Erick Simões , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:57+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/fileformats.rst:5 msgid "File Formats" diff --git a/library/fileinput.po b/library/fileinput.po index 1815f0fba..d3636b4af 100644 --- a/library/fileinput.po +++ b/library/fileinput.po @@ -1,27 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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.10\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-06-29 12:56+0000\n" -"PO-Revision-Date: 2021-06-28 01:06+0000\n" -"Last-Translator: i17obot , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:57+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/fileinput.rst:2 msgid ":mod:`fileinput` --- Iterate over lines from multiple input streams" @@ -37,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::" @@ -51,6 +54,13 @@ 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 "" @@ -59,10 +69,15 @@ msgid "" "`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 "" @@ -70,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 "" @@ -77,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 "" @@ -90,14 +113,14 @@ msgid "" "*openhook* parameter to :func:`fileinput.input` or :class:`FileInput()`. The " "hook must be a function that takes two arguments, *filename* and *mode*, and " "returns an accordingly opened file-like object. If *encoding* and/or " -"*errors* are specified, they will be passed to the hook as aditional keyword " -"arguments. This module provides a :func:`hook_encoded` to support compressed " -"files." +"*errors* are specified, they will be passed to the hook as additional " +"keyword arguments. This module provides a :func:`hook_compressed` to support " +"compressed files." 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 "" @@ -106,6 +129,10 @@ 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 "" @@ -113,37 +140,48 @@ msgid "" "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:171 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:183 #: ../../library/fileinput.rst:213 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." 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 "" @@ -151,6 +189,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 "" @@ -158,18 +199,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 "" @@ -181,16 +229,25 @@ 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 "" @@ -216,12 +273,17 @@ 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:162 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:164 msgid "" @@ -229,6 +291,9 @@ msgid "" "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:174 msgid "The ``'rU'`` and ``'U'`` modes." @@ -240,7 +305,7 @@ msgstr "" #: ../../library/fileinput.rst:180 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:187 msgid "" @@ -255,10 +320,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:199 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:203 msgid "" @@ -267,37 +343,52 @@ 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:208 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:211 msgid "" "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:219 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:222 msgid "" "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:226 msgid "Added the optional *errors* parameter." -msgstr "" +msgstr "Adicionado o parâmetro opcional *errors*." #: ../../library/fileinput.rst:229 msgid "" -"This function is deprecated since :func:`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 b0a89b5e6..9e9e0ef7b 100644 --- a/library/filesys.po +++ b/library/filesys.po @@ -1,28 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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.10\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-06-29 12:56+0000\n" -"PO-Revision-Date: 2021-06-28 01:06+0000\n" -"Last-Translator: Claudio Rogerio Carvalho Filho , " -"2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:57+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/filesys.rst:5 msgid "File and Directory Access" diff --git a/library/fnmatch.po b/library/fnmatch.po index 2177833a3..09081d050 100644 --- a/library/fnmatch.po +++ b/library/fnmatch.po @@ -1,29 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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 -# Welington Carlos , 2021 -# i17obot , 2021 +# python-doc bot, 2025 # #, 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:06+0000\n" -"Last-Translator: i17obot , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:57+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/fnmatch.rst:2 msgid ":mod:`fnmatch` --- Unix filename pattern matching" 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 8ec7f171d..d48d31213 100644 --- a/library/fractions.po +++ b/library/fractions.po @@ -1,26 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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.10\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-06-29 12:56+0000\n" -"PO-Revision-Date: 2021-06-28 01:06+0000\n" -"Last-Translator: Rafael Fontenelle , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:57+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/fractions.rst:2 msgid ":mod:`fractions` --- Rational numbers" @@ -34,12 +35,16 @@ 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 "" @@ -73,16 +78,23 @@ msgstr "" 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 hashable, and should be treated " -"as immutable. In addition, :class:`Fraction` has the following properties " -"and methods:" +"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:83 msgid "" "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:87 msgid "" @@ -93,11 +105,11 @@ msgstr "" #: ../../library/fractions.rst:94 msgid "Numerator of the Fraction in lowest term." -msgstr "" +msgstr "Numerador de Fraction no menor termo." #: ../../library/fractions.rst:98 msgid "Denominator of the Fraction in lowest term." -msgstr "" +msgstr "Denominador de Fraction no menor termo." #: ../../library/fractions.rst:103 msgid "" @@ -107,28 +119,37 @@ msgstr "" #: ../../library/fractions.rst:110 msgid "" -"This class method constructs a :class:`Fraction` representing the exact " -"value of *flt*, which must be a :class:`float`. 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:116 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:122 msgid "" -"This class method constructs a :class:`Fraction` representing the exact " -"value of *dec*, which must be a :class:`decimal.Decimal` instance." +"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:127 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:134 msgid "" @@ -136,22 +157,31 @@ 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:142 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:155 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:165 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:172 msgid "" @@ -161,6 +191,11 @@ msgid "" "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:181 msgid "Module :mod:`numbers`" @@ -168,4 +203,4 @@ msgstr "Módulo :mod:`numbers`" #: ../../library/fractions.rst:182 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 4f410786f..45e374f94 100644 --- a/library/frameworks.po +++ b/library/frameworks.po @@ -1,28 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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.10\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-06-29 12:56+0000\n" -"PO-Revision-Date: 2021-06-28 01:06+0000\n" -"Last-Translator: Claudio Rogerio Carvalho Filho , " -"2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:57+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/frameworks.rst:5 msgid "Program Frameworks" diff --git a/library/ftplib.po b/library/ftplib.po index 45ce3cce1..8a6958bf8 100644 --- a/library/ftplib.po +++ b/library/ftplib.po @@ -1,28 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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 -# Christian Janiake , 2021 -# i17obot , 2021 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.10\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-07-27 13:07+0000\n" -"PO-Revision-Date: 2021-06-28 01:06+0000\n" -"Last-Translator: i17obot , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:57+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/ftplib.rst:2 msgid ":mod:`ftplib` --- FTP protocol client" @@ -210,6 +209,8 @@ 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:218 msgid "" @@ -246,6 +247,8 @@ 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:250 msgid "" diff --git a/library/functional.po b/library/functional.po index 611a0e22c..01f2f75dd 100644 --- a/library/functional.po +++ b/library/functional.po @@ -1,31 +1,31 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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.10\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-06-29 12:56+0000\n" -"PO-Revision-Date: 2021-06-28 01:06+0000\n" -"Last-Translator: Raphael Mendonça, 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:57+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"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 813732c03..2d1f5825f 100644 --- a/library/functions.po +++ b/library/functions.po @@ -1,39 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, Python Software 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 -# Adorilson Bezerra , 2021 -# felipe caridade , 2021 -# Claudio Rogerio Carvalho Filho , 2021 -# (Douglas da Silva) , 2021 -# Katyanna Moura , 2021 -# Vinicius Gubiani Ferreira , 2021 -# Porfirio_Prodigy, 2021 -# Rafael Fontenelle , 2021 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.10\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-08-10 13:16+0000\n" -"PO-Revision-Date: 2021-06-28 01:06+0000\n" -"Last-Translator: Rafael Fontenelle , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2026-04-13 18:20+0000\n" +"PO-Revision-Date: 2025-09-22 15:57+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/functions.rst:5 ../../library/functions.rst:11 msgid "Built-in Functions" @@ -431,16 +419,12 @@ msgstr "" "__aiter__()``." #: ../../library/functions.rst:69 -msgid "" -"``aiter(x)`` itself has an ``__aiter__()`` method that returns ``x``, so " -"``aiter(aiter(x))`` is the same as ``aiter(x)``." -msgstr "" - -#: ../../library/functions.rst:72 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:78 +#: ../../library/functions.rst:75 msgid "" "Return ``True`` if all elements of the *iterable* are true (or if the " "iterable is empty). Equivalent to::" @@ -448,26 +432,35 @@ msgstr "" "Retorna ``True`` se todos os elementos de *iterable* são verdadeiros (ou se " "*iterable* estiver vazio). Equivalente a::" -#: ../../library/functions.rst:90 +#: ../../library/functions.rst:87 msgid "" "When awaited, return the next item from the given :term:`asynchronous " "iterator`, or *default* if given and the iterator is exhausted." 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:93 +#: ../../library/functions.rst:90 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:96 +#: ../../library/functions.rst:93 msgid "" "This calls the :meth:`~object.__anext__` method of *async_iterator*, " "returning an :term:`awaitable`. Awaiting this returns the next value of the " "iterator. If *default* is given, it is returned if the iterator is " "exhausted, otherwise :exc:`StopAsyncIteration` is raised." msgstr "" +"Isso chama o método :meth:`~object.__anext__` de *async_iterator*, " +"retornando um :term:`aguardável`. Ao aguardar isso, retorna o próximo valor " +"do iterador. Se *default* for fornecido, ele será retornado se o iterador " +"for esgotado, caso contrário, a exceção :exc:`StopAsyncIteration` será " +"levantada." -#: ../../library/functions.rst:105 +#: ../../library/functions.rst:102 msgid "" "Return ``True`` if any element of the *iterable* is true. If the iterable " "is empty, return ``False``. Equivalent to::" @@ -475,15 +468,19 @@ msgstr "" "Retorna ``True`` se algum elemento de *iterable* for verdadeiro. Se " "*iterable* estiver vazio, retorna ``False``. Equivalente a::" -#: ../../library/functions.rst:117 +#: ../../library/functions.rst:114 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." 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:125 +#: ../../library/functions.rst:122 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` " @@ -495,18 +492,20 @@ msgstr "" "class:`int`, ele tem que definir um método :meth:`__index__` que devolve um " "inteiro. Alguns exemplos:" -#: ../../library/functions.rst:135 +#: ../../library/functions.rst:132 msgid "" "If the prefix \"0b\" is desired or not, you can use either of the following " "ways." msgstr "" +"Se o prefixo \"0b\" é desejado ou não, você pode usar uma das seguintes " +"maneiras." -#: ../../library/functions.rst:142 ../../library/functions.rst:807 -#: ../../library/functions.rst:1102 +#: ../../library/functions.rst:139 ../../library/functions.rst:811 +#: ../../library/functions.rst:1119 msgid "See also :func:`format` for more information." msgstr "Veja também :func:`format` para mais informações." -#: ../../library/functions.rst:147 +#: ../../library/functions.rst:144 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 " @@ -515,13 +514,19 @@ msgid "" "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:156 ../../library/functions.rst:675 -#: ../../library/functions.rst:891 +#: ../../library/functions.rst:153 ../../library/functions.rst:678 +#: ../../library/functions.rst:899 msgid "*x* is now a positional-only parameter." msgstr "*x* é agora um parâmetro somente posicional." -#: ../../library/functions.rst:161 +#: ../../library/functions.rst:158 msgid "" "This function drops you into the debugger at the call site. Specifically, " "it calls :func:`sys.breakpointhook`, passing ``args`` and ``kws`` straight " @@ -530,7 +535,8 @@ msgid "" "so you don't have to explicitly import :mod:`pdb` or type as much code to " "enter the debugger. However, :func:`sys.breakpointhook` can be set to some " "other function and :func:`breakpoint` will automatically call that, allowing " -"you to drop into the debugger of choice." +"you to drop into the debugger of choice. If :func:`sys.breakpointhook` is " +"not accessible, this function will raise :exc:`RuntimeError`." msgstr "" "Esta função coloca você no depurador no local da chamada. Especificamente, " "ela chama :func:`sys.breakpointhook`, passando ``args`` e ``kws`` " @@ -540,17 +546,18 @@ msgstr "" "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." +"depurador de sua escolha. Se :func:`sys.breakpointhook` não estiver " +"acessível, esta função vai levantar :exc:`RuntimeError`." -#: ../../library/functions.rst:171 +#: ../../library/functions.rst:170 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:179 +#: ../../library/functions.rst:178 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 " @@ -563,7 +570,7 @@ msgstr "" "mutable`, assim como a maior parte dos métodos que o tipo :class:`bytes` " "tem, veja :ref:`bytes-methods`." -#: ../../library/functions.rst:184 +#: ../../library/functions.rst:183 msgid "" "The optional *source* parameter can be used to initialize the array in a few " "different ways:" @@ -571,7 +578,7 @@ msgstr "" "O parâmetro opcional *source* pode ser usado para inicializar o vetor de " "algumas maneiras diferentes:" -#: ../../library/functions.rst:187 +#: ../../library/functions.rst:186 msgid "" "If it is a *string*, you must also give the *encoding* (and optionally, " "*errors*) parameters; :func:`bytearray` then converts the string to bytes " @@ -581,7 +588,7 @@ msgstr "" "opcionalmente, *errors*); :func:`bytearray` então converte a string para " "bytes usando :meth:`str.encode`." -#: ../../library/functions.rst:191 +#: ../../library/functions.rst:190 msgid "" "If it is an *integer*, the array will have that size and will be initialized " "with null bytes." @@ -589,7 +596,7 @@ msgstr "" "Se é um *inteiro*, o vetor terá esse tamanho e será inicializado com bytes " "nulos." -#: ../../library/functions.rst:194 +#: ../../library/functions.rst:193 msgid "" "If it is an object conforming to the :ref:`buffer interface " "`, a read-only buffer of the object will be used to " @@ -599,7 +606,7 @@ msgstr "" "`, um buffer somente leitura do objeto será usado para " "inicializar o vetor de bytes." -#: ../../library/functions.rst:197 +#: ../../library/functions.rst:196 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." @@ -607,40 +614,44 @@ 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:200 +#: ../../library/functions.rst:199 msgid "Without an argument, an array of size 0 is created." msgstr "Sem nenhum argumento, um vetor de tamanho 0 é criado." -#: ../../library/functions.rst:202 +#: ../../library/functions.rst:201 msgid "See also :ref:`binaryseq` and :ref:`typebytearray`." msgstr "Veja também :ref:`binaryseq` e :ref:`typebytearray`." -#: ../../library/functions.rst:209 +#: ../../library/functions.rst:208 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 " "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." -#: ../../library/functions.rst:214 +#: ../../library/functions.rst:213 msgid "" "Accordingly, constructor arguments are interpreted as for :func:`bytearray`." msgstr "" "Consequentemente, argumentos do construtor são interpretados como os de :" "func:`bytearray`." -#: ../../library/functions.rst:216 +#: ../../library/functions.rst:215 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:218 +#: ../../library/functions.rst:217 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:223 +#: ../../library/functions.rst:222 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 " @@ -654,13 +665,13 @@ msgstr "" "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__`." -#: ../../library/functions.rst:229 +#: ../../library/functions.rst:228 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:236 +#: ../../library/functions.rst:235 msgid "" "Return the string representing a character whose Unicode code point is the " "integer *i*. For example, ``chr(97)`` returns the string ``'a'``, while " @@ -670,7 +681,7 @@ msgstr "" "exemplo, ``chr(97)`` retorna a string ``'a'``, enquanto ``chr(8364)`` " "retorna a string ``'€'``. É o inverso de :func:`ord`." -#: ../../library/functions.rst:240 +#: ../../library/functions.rst:239 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." @@ -679,18 +690,21 @@ msgstr "" "16). Será lançada uma exceção :exc:`ValueError` se *i* estiver fora desse " "intervalo." -#: ../../library/functions.rst:246 +#: ../../library/functions.rst:245 msgid "Transform a method into a class method." msgstr "Transforma um método em um método de classe." -#: ../../library/functions.rst:248 +#: ../../library/functions.rst:247 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 " "this idiom::" msgstr "" +"Um método de classe recebe a classe como um primeiro argumento implícito, " +"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:256 +#: ../../library/functions.rst:255 msgid "" "The ``@classmethod`` form is a function :term:`decorator` -- see :ref:" "`function` for details." @@ -698,7 +712,7 @@ msgstr "" "O termo ``@classmethod`` é uma função :term:`decoradora ` -- " "veja :ref:`function` para detalhes." -#: ../../library/functions.rst:259 +#: ../../library/functions.rst:258 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 " @@ -710,7 +724,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:264 +#: ../../library/functions.rst:263 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 " @@ -720,7 +734,7 @@ 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:268 +#: ../../library/functions.rst:267 msgid "" "Class methods can now wrap other :term:`descriptors ` such as :" "func:`property`." @@ -728,14 +742,17 @@ msgstr "" "Métodos de classe agora podem envolver outros :term:`descritores " "` tal como :func:`property`." -#: ../../library/functions.rst:272 +#: ../../library/functions.rst:271 msgid "" "Class methods now inherit the method attributes (``__module__``, " "``__name__``, ``__qualname__``, ``__doc__`` and ``__annotations__``) and " "have a new ``__wrapped__`` attribute." msgstr "" +"Métodos de classe agora herdam os atributos do método (``__module__``, " +"``__name__``, ``__qualname__``, ``__doc__`` e ``__annotations__``) e têm um " +"novo atributo ``__wrapped__``." -#: ../../library/functions.rst:279 +#: ../../library/functions.rst:278 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 " @@ -747,7 +764,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:284 +#: ../../library/functions.rst:283 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 (``''`` " @@ -757,7 +774,7 @@ msgstr "" "algum valor reconhecível se isso não foi lido de um arquivo (``''`` " "é comumente usado)." -#: ../../library/functions.rst:288 +#: ../../library/functions.rst:287 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 " @@ -771,7 +788,7 @@ 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:294 +#: ../../library/functions.rst:293 msgid "" "The optional arguments *flags* and *dont_inherit* control which :ref:" "`compiler options ` should be activated and which :ref:" @@ -796,7 +813,7 @@ msgstr "" "-- os sinalizadores (recursos futuros e opções do compilador) no código " "circundante são ignorados." -#: ../../library/functions.rst:305 +#: ../../library/functions.rst:304 msgid "" "Compiler options and future statements are specified by bits which can be " "bitwise ORed together to specify multiple options. The bitfield required to " @@ -813,7 +830,7 @@ msgstr "" "`Sinalizadores de compilador ` podem ser encontrados no " "módulo :mod:`ast`, com o prefixo ``PyCF_``." -#: ../../library/functions.rst:313 +#: ../../library/functions.rst:312 msgid "" "The argument *optimize* specifies the optimization level of the compiler; " "the default value of ``-1`` selects the optimization level of the " @@ -828,7 +845,7 @@ msgstr "" "``__debug__`` é falso) ou ``2`` (strings de documentação também são " "removidas)." -#: ../../library/functions.rst:319 +#: ../../library/functions.rst:318 msgid "" "This function raises :exc:`SyntaxError` if the compiled source is invalid, " "and :exc:`ValueError` if the source contains null bytes." @@ -836,7 +853,7 @@ 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:322 +#: ../../library/functions.rst:321 msgid "" "If you want to parse Python code into its AST representation, see :func:`ast." "parse`." @@ -844,7 +861,7 @@ msgstr "" "Se você quer analisar código Python em sua representação AST, veja :func:" "`ast.parse`." -#: ../../library/functions.rst:325 +#: ../../library/functions.rst:324 msgid "" "Raises an :ref:`auditing event ` ``compile`` with arguments " "``source``, ``filename``." @@ -852,17 +869,17 @@ msgstr "" "Levanta um :ref:`evento de auditoria ` ``compile`` com argumentos " "``source``, ``filename``." -#: ../../library/functions.rst:327 +#: ../../library/functions.rst:326 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:333 +#: ../../library/functions.rst:332 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 " @@ -874,23 +891,26 @@ msgstr "" "linhas. Isso é para facilitar a detecção de instruções completas e " "incompletas no módulo :mod:`code`." -#: ../../library/functions.rst:340 +#: ../../library/functions.rst:339 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:344 +#: ../../library/functions.rst:343 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." msgstr "" +"Permitido o uso de marcadores de novas linhas no estilo Windows e Mac. Além " +"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:348 +#: ../../library/functions.rst:347 msgid "" "Previously, :exc:`TypeError` was raised when null bytes were encountered in " "*source*." @@ -898,7 +918,7 @@ msgstr "" "Anteriormente, :exc:`TypeError` era levantada quando havia bytes nulos em " "*source*." -#: ../../library/functions.rst:352 +#: ../../library/functions.rst:351 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``." @@ -907,7 +927,7 @@ msgstr "" "habilitar o suporte em nível superior a ``await``, ``async for``, e ``async " "with``." -#: ../../library/functions.rst:359 +#: ../../library/functions.rst:358 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, " @@ -927,7 +947,7 @@ 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:368 +#: ../../library/functions.rst:367 msgid "" "For a general Python object ``x``, ``complex(x)`` delegates to ``x." "__complex__()``. If ``__complex__()`` is not defined then it falls back to :" @@ -939,7 +959,7 @@ msgstr "" "repassada para :meth:`__float__`. Se ``__float__()`` não está definido então " "a chamada é, novamente, repassada para :meth:`__index__`." -#: ../../library/functions.rst:375 +#: ../../library/functions.rst:374 msgid "" "When converting from a string, the string must not contain whitespace around " "the central ``+`` or ``-`` operator. For example, ``complex('1+2j')`` is " @@ -950,17 +970,17 @@ msgstr "" "``complex('1+2j')`` funciona, mas ``complex('1 + 2j')`` levanta :exc:" "`ValueError`." -#: ../../library/functions.rst:380 +#: ../../library/functions.rst:379 msgid "The complex type is described in :ref:`typesnumeric`." msgstr "O tipo complexo está descrito em :ref:`typesnumeric`." -#: ../../library/functions.rst:382 ../../library/functions.rst:672 -#: ../../library/functions.rst:888 +#: ../../library/functions.rst:381 ../../library/functions.rst:675 +#: ../../library/functions.rst:896 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:385 +#: ../../library/functions.rst:384 msgid "" "Falls back to :meth:`__index__` if :meth:`__complex__` and :meth:`__float__` " "are not defined." @@ -968,17 +988,19 @@ msgstr "" "Chamadas para :meth:`__index__` se :meth:`__complex__` e :meth:`__float__` " "não estão definidas." -#: ../../library/functions.rst:392 +#: ../../library/functions.rst:391 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 " "function deletes the named attribute, provided the object allows it. For " -"example, ``delattr(x, 'foobar')`` is equivalent to ``del x.foobar``." +"example, ``delattr(x, 'foobar')`` is equivalent to ``del x.foobar``. *name* " +"need not be a Python identifier (see :func:`setattr`)." msgstr "" "Essa função está relacionada com :func:`setattr`. Os argumentos são um " "objeto e uma string. A string deve ser o nome de um dos atributos do objeto. " "A função remove o atributo indicado, desde que o objeto permita. Por " -"exemplo, ``delattr(x, 'foobar')`` é equivalente a ``del x.foobar``." +"exemplo, ``delattr(x, 'foobar')`` é equivalente a ``del x.foobar``. *name* " +"não precisa ser um identificador Python (veja :func:`setattr`)." #: ../../library/functions.rst:404 msgid "" @@ -1026,6 +1048,11 @@ msgid "" "complete and may be inaccurate when the object has a custom :func:" "`__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." #: ../../library/functions.rst:426 msgid "" @@ -1093,6 +1120,15 @@ msgid "" "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. " +"Com tipos de operandos mistos, as regras para operadores aritméticos " +"binários se aplicam. Para números inteiros, o resultado é o mesmo que " +"``(a // b, a % b)``. Para números de ponto flutuante, o resultado é ``(q, a " +"% b)``, onde *q* geralmente é ``math.floor(a / b)``, mas pode ser 1 a menos " +"que isso. Em qualquer caso, ``q * b + a % b`` está muito próximo de *a*, se " +"``a % b`` é diferente de zero, tem o mesmo sinal que *b* e ``0 <= abs(a % b) " +"< abs(b)``." #: ../../library/functions.rst:481 msgid "" @@ -1138,6 +1174,19 @@ msgid "" "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:523 msgid "" @@ -1154,6 +1203,10 @@ msgid "" "of a string. If the code object has been compiled with ``'exec'`` as the " "*mode* argument, :func:`eval`\\'s return value will be ``None``." msgstr "" +"Esta função também pode ser usada para executar objetos código arbitrários " +"(como os criados por :func:`compile`). Nesse caso, passe um objeto código em " +"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:535 msgid "" @@ -1162,12 +1215,18 @@ msgid "" "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 é 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:540 msgid "" "If the given source is a string, then leading and trailing spaces and tabs " "are stripped." msgstr "" +"Se a fonte fornecida for uma string, os espaços e tabulações à esquerda ou à " +"direita serão removidos." #: ../../library/functions.rst:543 msgid "" @@ -1190,7 +1249,7 @@ msgid "" "Raises an :ref:`auditing event ` ``exec`` with the code object as " "the argument. Code compilation events may also be raised." msgstr "" -"Levanta um :ref:`evento de auditioria ` ``exec`` com o código " +"Levanta um :ref:`evento de auditoria ` ``exec`` com o código " "objeto como argumento. Eventos de compilação de código também podem ser " "levantados." @@ -1201,19 +1260,19 @@ msgid "" "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 \"File input\" in the Reference Manual). Be aware that the :" +"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 " -"\"Arquivo de Entrada\" no Manual de Referência). Tenha cuidado que as " -"instruções :keyword:`nonlocal`, :keyword:`yield`, and :keyword:`return` nã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 " +"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``." @@ -1230,6 +1289,16 @@ msgid "" "*locals*, the code will be executed as if it were embedded in a class " "definition." msgstr "" +"Em todos os casos, se os parâmetros opcionais são omitidos, o código é " +"executado no escopo atual. Se somente *globals* é fornecido, deve ser um " +"dicionário (e não uma subclasse de dicionário), que será usado tanto para as " +"variáveis globais quanto para locais. Se *globals* e *locals* são " +"fornecidos, eles são usados para as variáveis globais e locais, " +"respectivamente. Se fornecido, *locals* pode ser qualquer objeto de " +"mapeamento. Lembre que no nível de módulo, globais e locais são o mesmo " +"dicionário. Se o exec recebe dois objetos separados como *globals* and " +"*locals*, o código será executado como se estivesse embutido em uma " +"definição de classe." #: ../../library/functions.rst:576 msgid "" @@ -1262,10 +1331,10 @@ msgid "" "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:603 msgid "" @@ -1314,19 +1383,31 @@ msgid "" "sign may be ``'+'`` or ``'-'``; a ``'+'`` sign has no effect on the value " "produced. The argument may also be a string representing a NaN (not-a-" "number), or positive or negative infinity. More precisely, the input must " -"conform to the following grammar after leading and trailing whitespace " -"characters are removed:" +"conform to the ``floatvalue`` production rule in the following grammar, " +"after leading and trailing whitespace characters are removed:" msgstr "" +"Se o argumento for uma string, ele deve conter um número decimal, " +"opcionalmente precedido por um sinal e opcionalmente embutido em um espaço " +"em branco. O sinal opcional pode ser ``'+'`` ou ``'-'``; um sinal ``'+'`` " +"não tem efeito no valor produzido. O argumento também pode ser uma string " +"representando um NaN (não um número) ou infinito positivo ou negativo. Mais " +"precisamente, a entrada deve estar de acordo com a regra de produção " +"``floatvalue`` na seguinte gramática, depois que os espaços em branco " +"iniciais e finais forem removidos:" -#: ../../library/functions.rst:641 +#: ../../library/functions.rst:644 msgid "" -"Here ``floatnumber`` is the form of a Python floating-point literal, " -"described in :ref:`floating`. Case is not significant, so, for example, " -"\"inf\", \"Inf\", \"INFINITY\", and \"iNfINity\" are all acceptable " -"spellings for positive infinity." +"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." 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." -#: ../../library/functions.rst:646 +#: ../../library/functions.rst:649 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 " @@ -1338,7 +1419,7 @@ 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:651 +#: ../../library/functions.rst:654 msgid "" "For a general Python object ``x``, ``float(x)`` delegates to ``x." "__float__()``. If ``__float__()`` is not defined then it falls back to :" @@ -1348,31 +1429,35 @@ msgstr "" "__float__()``. Se ``__float__()`` não estiver definido, então ele delega " "para o método :meth:`__index__`." -#: ../../library/functions.rst:655 +#: ../../library/functions.rst:658 msgid "If no argument is given, ``0.0`` is returned." msgstr "Se nenhum argumento for fornecido, será retornado ``0.0``." -#: ../../library/functions.rst:657 +#: ../../library/functions.rst:660 msgid "Examples::" msgstr "Exemplos::" -#: ../../library/functions.rst:670 +#: ../../library/functions.rst:673 msgid "The float type is described in :ref:`typesnumeric`." msgstr "O tipo float é descrito em :ref:`typesnumeric`." -#: ../../library/functions.rst:678 +#: ../../library/functions.rst:681 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:688 +#: ../../library/functions.rst:691 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 " "is used by most built-in types: :ref:`formatspec`." msgstr "" +"Converte um valor *value* em uma representação \"formatada\", controlado por " +"*format_spec*. A interpretação de *format_spec* dependerá do tipo do " +"argumento *value*; no entanto há uma sintaxe de formatação padrão usada pela " +"maioria dos tipos embutidos: :ref:`formatspec`." -#: ../../library/functions.rst:693 +#: ../../library/functions.rst:696 msgid "" "The default *format_spec* is an empty string which usually gives the same " "effect as calling :func:`str(value) `." @@ -1380,7 +1465,7 @@ msgstr "" "O *format_spec* padrão é uma string vazia que geralmente produz o mesmo " "efeito que chamar :func:`str(value) `." -#: ../../library/functions.rst:696 +#: ../../library/functions.rst:699 msgid "" "A call to ``format(value, format_spec)`` is translated to ``type(value)." "__format__(value, format_spec)`` which bypasses the instance dictionary when " @@ -1396,7 +1481,7 @@ msgstr "" "*format_spec* não estiver vazio, ou se o *format_spec* ou o valor de retorno " "não forem strings." -#: ../../library/functions.rst:703 +#: ../../library/functions.rst:706 msgid "" "``object().__format__(format_spec)`` raises :exc:`TypeError` if " "*format_spec* is not an empty string." @@ -1404,7 +1489,7 @@ msgstr "" "``object().__format__(format_spec)`` levanta um :exc:`TypeError` se " "*format_spec* não for uma string vazia." -#: ../../library/functions.rst:712 +#: ../../library/functions.rst:715 msgid "" "Return a new :class:`frozenset` object, optionally with elements taken from " "*iterable*. ``frozenset`` is a built-in class. See :class:`frozenset` and :" @@ -1414,7 +1499,7 @@ msgstr "" "obtidos de *iterable*. ``frozenset`` é uma classe embutida. Veja :class:" "`frozenset` e :ref:`types-set` para documentação sobre essas classes." -#: ../../library/functions.rst:716 +#: ../../library/functions.rst:719 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." @@ -1423,45 +1508,45 @@ msgstr "" "`list`, :class:`tuple`, e :class:`dict`, assim como o módulo :mod:" "`collections`." -#: ../../library/functions.rst:723 +#: ../../library/functions.rst:726 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 " "result is the value of that attribute. For example, ``getattr(x, " "'foobar')`` is equivalent to ``x.foobar``. If the named attribute does not " "exist, *default* is returned if provided, otherwise :exc:`AttributeError` is " -"raised." +"raised. *name* need not be a Python identifier (see :func:`setattr`)." 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 " -"fornecido, caso contrário a exceção :exc:`AttributeError` é levantada." +"fornecido, caso contrário a exceção :exc:`AttributeError` é levantada. " +"*name* não precisa ser um identificador Python (veja :func:`setattr`)." -#: ../../library/functions.rst:731 +#: ../../library/functions.rst:735 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`." 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:739 +#: ../../library/functions.rst:743 msgid "" -"Return a dictionary representing the current global symbol table. This is " -"always the dictionary of the current module (inside a function or method, " -"this is the module where it is defined, not the module from which it is " -"called)." +"Return the dictionary implementing the current module namespace. For code " +"within functions, this is set when the function is defined and remains the " +"same regardless of where the function is called." msgstr "" -"Devolve um dicionário representando a tabela de símbolos global atual. É " -"sempre o dicionário do módulo atual (dentro de uma função ou método, é o " -"módulo onde está definido, não o módulo do qual é chamado)." +"Retorna o dicionário implementando o espaço de nomes do módulo atual. Para " +"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:746 +#: ../../library/functions.rst:750 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. " @@ -1473,7 +1558,7 @@ msgstr "" "implementado chamando ``getattr(object, name)`` e vendo se levanta um :exc:" "`AttributeError` ou não.)" -#: ../../library/functions.rst:754 +#: ../../library/functions.rst:758 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 " @@ -1486,7 +1571,7 @@ 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:761 +#: ../../library/functions.rst:765 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 :" @@ -1496,7 +1581,7 @@ msgstr "" "func:`hash` trunca o valor devolvido baseado no comprimento de bits da " "máquina hospedeira. Veja :meth:`__hash__` para mais detalhes." -#: ../../library/functions.rst:767 +#: ../../library/functions.rst:771 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 " @@ -1513,21 +1598,25 @@ msgstr "" "console. Se o argumento é qualquer outro tipo de objeto, uma página de ajuda " "para o objeto é gerada." -#: ../../library/functions.rst:774 +#: ../../library/functions.rst:778 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 " "positional-only. For more info, see :ref:`the FAQ entry on positional-only " "parameters `." msgstr "" +"Note que se uma barra(/) aparecer na lista de parâmetros de uma função, " +"quando invocando :func:`help`, significa que os parâmetros anteriores a " +"barra são apenas posicionais. Para mais informações, veja :ref:`a entrada no " +"FAQ sobre parâmetros somente-posicionais `." -#: ../../library/functions.rst:779 +#: ../../library/functions.rst:783 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:781 +#: ../../library/functions.rst:785 msgid "" "Changes to :mod:`pydoc` and :mod:`inspect` mean that the reported signatures " "for callables are now more comprehensive and consistent." @@ -1535,7 +1624,7 @@ 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:788 +#: ../../library/functions.rst:792 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 :" @@ -1546,7 +1635,7 @@ msgstr "" "tem que definir um método :meth:`__index__` que retorne um inteiro. Alguns " "exemplos:" -#: ../../library/functions.rst:797 +#: ../../library/functions.rst:801 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 " @@ -1556,7 +1645,7 @@ msgstr "" "letras maiúsculas ou minúsculas, com prefixo ou sem, você pode usar qualquer " "uma das seguintes maneiras:" -#: ../../library/functions.rst:809 +#: ../../library/functions.rst:813 msgid "" "See also :func:`int` for converting a hexadecimal string to an integer using " "a base of 16." @@ -1564,7 +1653,7 @@ msgstr "" "Veja também :func:`int` para converter uma string hexadecimal para um " "inteiro usando a base 16." -#: ../../library/functions.rst:814 +#: ../../library/functions.rst:818 msgid "" "To obtain a hexadecimal string representation for a float, use the :meth:" "`float.hex` method." @@ -1572,7 +1661,7 @@ msgstr "" "Para obter uma string hexadecimal de um ponto flutuante, use o método :meth:" "`float.hex`." -#: ../../library/functions.rst:820 +#: ../../library/functions.rst:824 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. " @@ -1584,7 +1673,11 @@ msgstr "" "vida. Dois objetos com ciclos de vida não sobrepostos podem ter o mesmo " "valor para :func:`id`." -#: ../../library/functions.rst:827 +#: ../../library/functions.rst:829 +msgid "This is the address of the object in memory." +msgstr "Este é o endereço do objeto na memória." + +#: ../../library/functions.rst:831 msgid "" "Raises an :ref:`auditing event ` ``builtins.id`` with argument " "``id``." @@ -1592,7 +1685,7 @@ msgstr "" "Levanta um :ref:`evento de auditoria ` ``builtins.id`` com o " "argumento ``id``." -#: ../../library/functions.rst:832 +#: ../../library/functions.rst:836 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, " @@ -1605,7 +1698,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:842 +#: ../../library/functions.rst:846 msgid "" "If the :mod:`readline` module was loaded, then :func:`input` will use it to " "provide elaborate line editing and history features." @@ -1613,7 +1706,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:845 +#: ../../library/functions.rst:849 msgid "" "Raises an :ref:`auditing event ` ``builtins.input`` with argument " "``prompt``." @@ -1621,7 +1714,7 @@ msgstr "" "Levanta um :ref:`evento de auditoria ` ``builtins.input`` com " "argumento ``prompt``." -#: ../../library/functions.rst:847 +#: ../../library/functions.rst:851 msgid "" "Raises an :ref:`auditing event ` ``builtins.input`` with argument " "``prompt`` before reading input" @@ -1629,23 +1722,23 @@ msgstr "" "Levanta um :ref:`evento de auditoria ` ``builtins.input`` com " "argumento ``prompt`` antes de ler a entrada." -#: ../../library/functions.rst:850 +#: ../../library/functions.rst:854 msgid "" "Raises an :ref:`auditing event ` ``builtins.input/result`` with " "argument ``result``." msgstr "" -"Levanta um evento de auditoria ``builtins.input/result`` com argumento " -"``result``." +"Levanta um :ref:`evento de auditoria ` ``builtins.input/result`` " +"com argumento ``result``." -#: ../../library/functions.rst:852 +#: ../../library/functions.rst:856 msgid "" -"Raises an auditing event ``builtins.input/result`` with the result after " -"successfully reading input." +"Raises an :ref:`auditing event ` ``builtins.input/result`` with " +"the result after successfully reading input." msgstr "" -"Levanta um evento de auditoria ``builtins.input/result`` com o resultado " -"depois de ler a entrada com sucesso." +"Levanta um :ref:`evento de auditoria ` ``builtins.input/result`` " +"com o resultado depois de ler a entrada com sucesso." -#: ../../library/functions.rst:859 +#: ../../library/functions.rst:863 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)`` " @@ -1660,39 +1753,50 @@ msgstr "" "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." -#: ../../library/functions.rst:866 +#: ../../library/functions.rst:870 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 :ref:`integer " -"literal ` in radix *base*. Optionally, the literal can be " -"preceded by ``+`` or ``-`` (with no space in between) and surrounded by " -"whitespace. A base-n literal consists of the digits 0 to n-1, with ``a`` to " -"``z`` (or ``A`` to ``Z``) having values 10 to 35. The default *base* is 10. " -"The allowed values are 0 and 2--36. Base-2, -8, and -16 literals can be " -"optionally prefixed with ``0b``/``0B``, ``0o``/``0O``, or ``0x``/``0X``, as " -"with integer literals in code. Base 0 means to interpret exactly as a code " -"literal, so that the actual base is 2, 8, 10, or 16, and so that " -"``int('010', 0)`` is not legal, while ``int('010')`` is, as well as " -"``int('010', 8)``." -msgstr "" -"Se *x* não é um número ou se *base* é fornecida, então *x* deve ser uma " -"string, instância de :class:`bytes` ou :class:`bytearray` representando um :" -"ref:`inteiro literal ` em base *base*. Opcionalmente, o literal " -"pode ser precedido por ``+`` ou ``-`` (sem espaço entre eles) e cercado por " -"espaços em branco. Um literal base-n consiste de dígitos de 0 até n-1, com " -"``a`` até ``z`` (ou ``A`` até ``Z``) com valores de 10 até 35. A *base* " -"padrão é 10. Os valores permitidos são 0 e 2--36. Literais em base-2, -8, e " -"-16 podem ser opcionalmente prefixado com ``0b``/``0B``, ``0o``/``0O``, ou " -"``0x``/``0X``, assim como literais inteiros. Base 0 significa que será " -"interpretado exatamente como um literal, ou seja, as bases são, na verdade, " -"2, 8, 10, ou 16, e que ``int('010', 0)`` não é legal, enquanto " -"``int('010')`` é, assim como ``int('010', 8)``." - -#: ../../library/functions.rst:879 +"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 " +"inteiro na base *base*. Opcionalmente, a string pode ser precedida por ``+`` " +"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:876 +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 " +"values 10--35 can be represented by ``a`` to ``z`` (or ``A`` to ``Z``). The " +"default *base* is 10. The allowed bases are 0 and 2--36. Base-2, -8, and -16 " +"strings can be optionally prefixed with ``0b``/``0B``, ``0o``/``0O``, or " +"``0x``/``0X``, as with integer literals in code. For base 0, the string is " +"interpreted in a similar way to an :ref:`integer literal in code " +"`, in that the actual base is 2, 8, 10, or 16 as determined by the " +"prefix. Base 0 also disallows leading zeros: ``int('010', 0)`` is not legal, " +"while ``int('010')`` and ``int('010', 8)`` are." +msgstr "" +"Uma string de inteiro de base n contém dígitos, cada um representando um " +"valor de 0 a n-1. Os valores 0--9 podem ser representados por qualquer " +"dígito decimal Unicode. Os valores 10--35 podem ser representados por ``a`` " +"a ``z`` (ou ``A`` a ``Z``). A *base* padrão é 10. As bases permitidas são 0 " +"e 2--36. As strings base-2, -8 e -16 podem ser opcionalmente prefixadas com " +"``0b``/``0B``, ``0o``/``0O`` ou ``0x``/``0X``, como acontece com literais " +"inteiros no código. Para a base 0, a string é interpretada de maneira " +"semelhante a um :ref:`literal inteiro no código `, em que a base " +"real é 2, 8, 10 ou 16 conforme determinado pelo prefixo. A base 0 também não " +"permite zeros à esquerda: ``int('010', 0)`` não é válido, enquanto " +"``int('010')`` e ``int('010', 8)`` são." + +#: ../../library/functions.rst:887 msgid "The integer type is described in :ref:`typesnumeric`." msgstr "O tipo inteiro está descrito em :ref:`typesnumeric`." -#: ../../library/functions.rst:881 +#: ../../library/functions.rst:889 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 " @@ -1705,11 +1809,28 @@ msgstr "" "`base.__int__ ` ao invés de :meth:`base.__index__ `." -#: ../../library/functions.rst:894 +#: ../../library/functions.rst:902 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:900 +#: ../../library/functions.rst:905 +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 ` " +"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 " +"`." + +#: ../../library/functions.rst:916 msgid "" "Return ``True`` if the *object* argument is an instance of the *classinfo* " "argument, or of a (direct, indirect, or :term:`virtual `). Se *object* não é um objeto do tipo dado, a função " +"sempre devolve ``False``. Se *classinfo* é uma tupla de tipos de objetos (ou " +"recursivamente, como outras tuplas) ou um :ref:`types-union` de vários " +"tipos, retorna ``True`` se *object* é uma instância de qualquer um dos " +"tipos. Se *classinfo* não é um tipo ou tupla de tipos ou outras tuplas, é " +"levantada uma exceção :exc:`TypeError`." -#: ../../library/functions.rst:910 ../../library/functions.rst:923 +#: ../../library/functions.rst:926 ../../library/functions.rst:940 msgid "*classinfo* can be a :ref:`types-union`." -msgstr "" +msgstr "*classinfo* pode ser um :ref:`types-union`." -#: ../../library/functions.rst:916 +#: ../../library/functions.rst:932 msgid "" "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 a :ref:" -"`types-union`, in which case every entry in *classinfo* will be checked. In " +"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`." -#: ../../library/functions.rst:929 +#: ../../library/functions.rst:946 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 " -"iteration protocol (the :meth:`__iter__` method), or it must support the " -"sequence protocol (the :meth:`__getitem__` method with integer arguments " +"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 " @@ -1751,21 +1888,21 @@ msgstr "" "Devolve 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 de iteração (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 desses " -"protocolos, um :exc:`TypeError` é levantado. Se o segundo argumento, " +"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 " +"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 " "cada chamada para o seu método :meth:`~iterator.__next__`; se o valor " "devolvido é igual a *sentinel*, então :exc:`StopIteration` será levantado, " "caso contrário o valor será devolvido." -#: ../../library/functions.rst:942 +#: ../../library/functions.rst:959 msgid "See also :ref:`typeiter`." msgstr "Veja também :ref:`typeiter`." -#: ../../library/functions.rst:944 +#: ../../library/functions.rst:961 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 " @@ -1775,7 +1912,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:956 +#: ../../library/functions.rst:973 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 " @@ -1785,7 +1922,7 @@ 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:962 +#: ../../library/functions.rst:979 msgid "" "``len`` raises :exc:`OverflowError` on lengths larger than :data:`sys." "maxsize`, such as :class:`range(2 ** 100) `." @@ -1793,7 +1930,7 @@ msgstr "" "``len`` levanta :exc:`OverflowError` em tamanhos maiores que :data:`sys." "maxsize`, tal como :class:`range(2 ** 100) `." -#: ../../library/functions.rst:970 +#: ../../library/functions.rst:987 msgid "" "Rather than being a function, :class:`list` is actually a mutable sequence " "type, as documented in :ref:`typesseq-list` and :ref:`typesseq`." @@ -1801,27 +1938,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:976 +#: ../../library/functions.rst:993 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." 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:982 +#: ../../library/functions.rst:999 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:987 +#: ../../library/functions.rst:1004 msgid "" "Return an iterator that applies *function* to every item of *iterable*, " "yielding the results. If additional *iterable* arguments are passed, " @@ -1838,14 +1975,14 @@ msgstr "" "parâmetros de entrada da função já estão organizados em tuplas, veja :func:" "`itertools.starmap`\\." -#: ../../library/functions.rst:998 +#: ../../library/functions.rst:1015 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:1001 +#: ../../library/functions.rst:1018 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 " @@ -1855,7 +1992,7 @@ 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:1006 ../../library/functions.rst:1043 +#: ../../library/functions.rst:1023 ../../library/functions.rst:1060 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 " @@ -1870,7 +2007,7 @@ msgstr "" "vazio, e *default* não foi fornecido, uma exceção :exc:`ValueError` é " "levantada." -#: ../../library/functions.rst:1012 +#: ../../library/functions.rst:1029 msgid "" "If multiple items are maximal, the function returns the first one " "encountered. This is consistent with other sort-stability preserving tools " @@ -1882,15 +2019,15 @@ msgstr "" "estabilidade, tais como ``sorted(iterable, key=keyfunc, reverse=True)[0]`` e " "``heapq.nlargest(1, iterable, key=keyfunc)``." -#: ../../library/functions.rst:1017 ../../library/functions.rst:1054 +#: ../../library/functions.rst:1034 ../../library/functions.rst:1071 msgid "The *default* keyword-only argument." msgstr "O parâmetro somente-nomeado *default*." -#: ../../library/functions.rst:1020 ../../library/functions.rst:1057 +#: ../../library/functions.rst:1037 ../../library/functions.rst:1074 msgid "The *key* can be ``None``." msgstr "O valor de *key* pode ser ``None``." -#: ../../library/functions.rst:1028 +#: ../../library/functions.rst:1045 msgid "" "Return a \"memory view\" object created from the given argument. See :ref:" "`typememoryview` for more information." @@ -1898,14 +2035,14 @@ 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:1035 +#: ../../library/functions.rst:1052 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:1038 +#: ../../library/functions.rst:1055 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 " @@ -1915,7 +2052,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:1049 +#: ../../library/functions.rst:1066 msgid "" "If multiple items are minimal, the function returns the first one " "encountered. This is consistent with other sort-stability preserving tools " @@ -1927,25 +2064,28 @@ msgstr "" "estabilidade, tais como ``sorted(iterable, key=keyfunc)[0]`` e ``heapq." "nsmallest(1, iterable, key=keyfunc)``." -#: ../../library/functions.rst:1063 +#: ../../library/functions.rst:1080 msgid "" -"Retrieve the next item from the *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 *iterator* 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:1070 +#: ../../library/functions.rst:1087 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 " "function does not accept any arguments." msgstr "" +"Devolve um novo objeto sem funcionalidades. :class:`object` é a classe base " +"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:1076 +#: ../../library/functions.rst:1093 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." @@ -1954,25 +2094,27 @@ msgstr "" "não consegue definir atributos arbitrários para uma instância da classe :" "class:`object`." -#: ../../library/functions.rst:1082 +#: ../../library/functions.rst:1099 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 " "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 :" +"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:" -#: ../../library/functions.rst:1092 +#: ../../library/functions.rst:1109 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." 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:1109 +#: ../../library/functions.rst:1126 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 " @@ -1982,7 +2124,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:1113 +#: ../../library/functions.rst:1130 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 " @@ -1990,8 +2132,13 @@ msgid "" "given, it is closed when the returned I/O object is closed unless *closefd* " "is set to ``False``.)" msgstr "" +"*file* é um :term:`objeto caminho ou similar` fornecendo o caminho (absoluto " +"ou relativo ao diretório de trabalho atual) do arquivo que será aberto, ou " +"de um inteiro descritor de arquivo a ser manipulado (Se um descritor de " +"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:1119 +#: ../../library/functions.rst:1136 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. " @@ -2004,81 +2151,94 @@ msgid "" "encoding. (For reading and writing raw bytes use binary mode and leave " "*encoding* unspecified.) The available modes are:" msgstr "" - -#: ../../library/functions.rst:1136 +"*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 " +"modo texto. Outros valores comuns são ``'w'`` para escrever (truncando o " +"arquivo se ele já existe), ``'x'`` para criação exclusiva e ``'a'`` para " +"anexar (o qual em *alguns* sistemas Unix, significa que *todas* as escritas " +"anexam ao final do arquivo independentemente da posição de busca atual). No " +"modo texto, se *encoding* não for especificada, a codificação usada depende " +"da plataforma: ``locale.getpreferredencoding(False)`` é chamada para obter a " +"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:1153 msgid "Character" msgstr "Caractere" -#: ../../library/functions.rst:1136 +#: ../../library/functions.rst:1153 msgid "Meaning" msgstr "Significado" -#: ../../library/functions.rst:1138 +#: ../../library/functions.rst:1155 msgid "``'r'``" msgstr "``'r'``" -#: ../../library/functions.rst:1138 +#: ../../library/functions.rst:1155 msgid "open for reading (default)" msgstr "abre para leitura (padrão)" -#: ../../library/functions.rst:1139 +#: ../../library/functions.rst:1156 msgid "``'w'``" msgstr "``'w'``" -#: ../../library/functions.rst:1139 +#: ../../library/functions.rst:1156 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:1140 +#: ../../library/functions.rst:1157 msgid "``'x'``" msgstr "``'x'``" -#: ../../library/functions.rst:1140 +#: ../../library/functions.rst:1157 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:1141 +#: ../../library/functions.rst:1158 msgid "``'a'``" msgstr "``'a'``" -#: ../../library/functions.rst:1141 +#: ../../library/functions.rst:1158 msgid "open for writing, appending to the end of file if it exists" -msgstr "" +msgstr "abre para escrita, anexando ao final do arquivo caso o mesmo exista" -#: ../../library/functions.rst:1142 +#: ../../library/functions.rst:1159 msgid "``'b'``" msgstr "``'b'``" -#: ../../library/functions.rst:1142 +#: ../../library/functions.rst:1159 msgid "binary mode" -msgstr "binary mode" +msgstr "modo binário" -#: ../../library/functions.rst:1143 +#: ../../library/functions.rst:1160 msgid "``'t'``" msgstr "``'t'``" -#: ../../library/functions.rst:1143 +#: ../../library/functions.rst:1160 msgid "text mode (default)" msgstr "modo texto (padrão)" -#: ../../library/functions.rst:1144 +#: ../../library/functions.rst:1161 msgid "``'+'``" msgstr "``'+'``" -#: ../../library/functions.rst:1144 +#: ../../library/functions.rst:1161 msgid "open for updating (reading and writing)" msgstr "aberto para atualização (leitura e escrita)" -#: ../../library/functions.rst:1147 +#: ../../library/functions.rst:1164 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 " "``'r+b'`` open the file with no truncation." msgstr "" +"O modo padrão é ``'r'`` (abre para leitura de texto, um sinônimo de " +"``'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:1151 +#: ../../library/functions.rst:1168 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* " @@ -2097,7 +2257,7 @@ msgstr "" "dependente da plataforma, ou usando a codificação definida em *encoding* se " "fornecida." -#: ../../library/functions.rst:1159 +#: ../../library/functions.rst:1176 msgid "" "There is an additional mode character permitted, ``'U'``, which no longer " "has any effect, and is considered deprecated. It previously enabled :term:" @@ -2105,8 +2265,13 @@ msgid "" "Python 3.0. Refer to the documentation of the :ref:`newline ` parameter for further details." msgstr "" +"Existe um modo de caractere adicional permitido, ``'U'``, o qual não tem " +"mais nenhum efeito, e é considerado como descontinuado. Ele anteriormente " +"habilitava :term:`novas linhas universais` no modo texto, o que se tornou o " +"comportamento padrão no Python 3.0. Consulte a documentação do parâmetro :" +"ref:`newline ` para maiores detalhes." -#: ../../library/functions.rst:1167 +#: ../../library/functions.rst:1184 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 " @@ -2116,23 +2281,31 @@ msgstr "" "texto; todo processamento é feito pelo próprio Python, e é então " "independente de plataforma." -#: ../../library/functions.rst:1171 +#: ../../library/functions.rst:1188 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. When no *buffering* argument is " +"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 inteiro opcional usado para definir a política de " -"buffering. Passe o valor 0 para desativar o buffering (permitido somente em " -"modo binário), passe 1 para selecionar buffering de linha (permitido somente " -"em modo texto), e um inteiro > 1 para indicar o tamanho em bytes de um " -"buffer com tamanho fixo. Quando nenhum valor é fornecido no argumento " -"*buffering*, a política de buffering padrão funciona conforme as seguintes " -"regras:" +"*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 " +"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`` " +"para :func:`io.TextIOWrapper.reconfigure`. Quando nenhum argumento " +"*buffering* é fornecido, a política de buffering padrão funciona da seguinte " +"forma:" -#: ../../library/functions.rst:1177 +#: ../../library/functions.rst:1198 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 " @@ -2145,7 +2318,7 @@ msgstr "" "não consiga. Em muitos sistemas, o buffer possuirá tipicamente 4096 ou 8192 " "bytes de comprimento." -#: ../../library/functions.rst:1182 +#: ../../library/functions.rst:1203 msgid "" "\"Interactive\" text files (files for which :meth:`~io.IOBase.isatty` " "returns ``True``) use line buffering. Other text files use the policy " @@ -2155,7 +2328,7 @@ msgstr "" "isatty` retornam ``True``) usam buffering de linha. Outros arquivos de texto " "usam a política descrita acima para arquivos binários." -#: ../../library/functions.rst:1186 +#: ../../library/functions.rst:1207 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 " @@ -2170,7 +2343,7 @@ msgstr "" "pode ser usada. Veja o módulo :mod:`codecs` para a lista de codificações " "suportadas." -#: ../../library/functions.rst:1193 +#: ../../library/functions.rst:1214 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 " @@ -2185,7 +2358,7 @@ msgstr "" "tratamento de erro registrado com :func:`codecs.register_error` também é " "válido. Os nomes padrões incluem:" -#: ../../library/functions.rst:1201 +#: ../../library/functions.rst:1222 msgid "" "``'strict'`` to raise a :exc:`ValueError` exception if there is an encoding " "error. The default value of ``None`` has the same effect." @@ -2193,7 +2366,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:1205 +#: ../../library/functions.rst:1226 msgid "" "``'ignore'`` ignores errors. Note that ignoring encoding errors can lead to " "data loss." @@ -2201,7 +2374,7 @@ msgstr "" "``'ignore'`` ignora erros. Note que ignorar erros de código pode levar à " "perda de dados." -#: ../../library/functions.rst:1208 +#: ../../library/functions.rst:1229 msgid "" "``'replace'`` causes a replacement marker (such as ``'?'``) to be inserted " "where there is malformed data." @@ -2209,7 +2382,7 @@ msgstr "" "``'replace'`` faz um marcador de substituição (tal como ``'?'``) ser " "inserido onde existem dados malformados." -#: ../../library/functions.rst:1211 +#: ../../library/functions.rst:1232 msgid "" "``'surrogateescape'`` will represent any incorrect bytes as low surrogate " "code units ranging from U+DC80 to U+DCFF. These surrogate code units will " @@ -2223,7 +2396,7 @@ msgstr "" "erros for usado ao gravar dados. Isso é útil para processar arquivos em uma " "codificação desconhecida." -#: ../../library/functions.rst:1218 +#: ../../library/functions.rst:1239 msgid "" "``'xmlcharrefreplace'`` is only supported when writing to a file. Characters " "not supported by the encoding are replaced with the appropriate XML " @@ -2233,7 +2406,7 @@ msgstr "" "caracteres não suportados pela codificação são substituídos pela referência " "de caracteres XML apropriada ``&#nnn;``." -#: ../../library/functions.rst:1222 +#: ../../library/functions.rst:1243 msgid "" "``'backslashreplace'`` replaces malformed data by Python's backslashed " "escape sequences." @@ -2241,7 +2414,7 @@ msgstr "" "``'backslashreplace'`` substitui dados malformados pela sequência de escape " "utilizando contrabarra do Python." -#: ../../library/functions.rst:1225 +#: ../../library/functions.rst:1246 msgid "" "``'namereplace'`` (also only supported when writing) replaces unsupported " "characters with ``\\N{...}`` escape sequences." @@ -2249,17 +2422,17 @@ msgstr "" "``'namereplace'`` (também é suportado somente quando estiver escrevendo) " "substitui caractere não suportados com sequências de escape ``\\N{...}``." -#: ../../library/functions.rst:1233 +#: ../../library/functions.rst:1254 msgid "" -"*newline* controls how :term:`universal newlines` mode works (it only " -"applies to text mode). It can be ``None``, ``''``, ``'\\n'``, ``'\\r'``, " -"and ``'\\r\\n'``. It works as follows:" +"*newline* determines how to parse newline characters from the stream. It can " +"be ``None``, ``''``, ``'\\n'``, ``'\\r'``, and ``'\\r\\n'``. It works as " +"follows:" msgstr "" -"*newline* controla como o modo de :term:`novas linhas universais ` funciona (se aplica apenas ao modo texto). Ele pode ser ``None``, " -"``''``, ``'\\n'``, ``'\\r'`` e ``'\\r\\n'``. Ele funciona da seguinte forma:" +"*newline* determina como analisar caracteres de nova linha do fluxo. Ele " +"pode ser ``None``, ``''``, ``'\\n'``, ``'\\r'`` e ``'\\r\\n'``. Ele funciona " +"da seguinte forma:" -#: ../../library/functions.rst:1237 +#: ../../library/functions.rst:1258 msgid "" "When reading input from the stream, if *newline* is ``None``, universal " "newlines mode is enabled. Lines in the input can end in ``'\\n'``, " @@ -2278,7 +2451,7 @@ msgstr "" "apenas pela string especificada e a finalização da linha é retornada ao " "chamador sem tradução." -#: ../../library/functions.rst:1245 +#: ../../library/functions.rst:1266 msgid "" "When writing output to the stream, if *newline* is ``None``, any ``'\\n'`` " "characters written are translated to the system default line separator, :" @@ -2292,15 +2465,19 @@ 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:1251 +#: ../../library/functions.rst:1272 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 " "closed. If a filename is given *closefd* must be ``True`` (the default); " "otherwise, an error will be raised." msgstr "" +"Se *closefd* for ``False`` e um descritor de arquivo em vez de um nome de " +"arquivo for fornecido, o descritor de arquivo subjacente será mantido aberto " +"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:1256 +#: ../../library/functions.rst:1277 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 " @@ -2314,11 +2491,11 @@ msgstr "" "arquivo aberto (passando :mod:`os.open` como *opener* resulta em " "funcionalidade semelhante à passagem de ``None``)." -#: ../../library/functions.rst:1262 +#: ../../library/functions.rst:1283 msgid "The newly created file is :ref:`non-inheritable `." msgstr "O arquivo recém-criado é :ref:`non-inheritable `." -#: ../../library/functions.rst:1264 +#: ../../library/functions.rst:1285 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::" @@ -2326,7 +2503,7 @@ 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::" -#: ../../library/functions.rst:1277 +#: ../../library/functions.rst:1298 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 " @@ -2353,22 +2530,25 @@ msgstr "" "bruto, uma subclasse de :class:`io.RawIOBase`, :class:`io.FileIO`, é " "retornado." -#: ../../library/functions.rst:1298 +#: ../../library/functions.rst:1319 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`." 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`." -#: ../../library/functions.rst:1302 +#: ../../library/functions.rst:1323 msgid "" "Raises an :ref:`auditing event ` ``open`` with arguments ``file``, " "``mode``, ``flags``." msgstr "" -"Levanta um :ref:`auditing event ` ``open`` com os argumentos " +"Levanta um :ref:`evento de auditoria ` ``open`` com os argumentos " "``file``, ``mode``, ``flags``." -#: ../../library/functions.rst:1304 +#: ../../library/functions.rst:1325 msgid "" "The ``mode`` and ``flags`` arguments may have been modified or inferred from " "the original call." @@ -2376,21 +2556,21 @@ msgstr "" "Os argumentos ``mode`` e ``flags`` podem ter sido modificados ou inferidos a " "partir da chamada original." -#: ../../library/functions.rst:1310 +#: ../../library/functions.rst:1331 msgid "The *opener* parameter was added." msgstr "O parâmetro *opener* foi adicionado." -#: ../../library/functions.rst:1311 +#: ../../library/functions.rst:1332 msgid "The ``'x'`` mode was added." msgstr "O modo ``'x'`` foi adicionado." -#: ../../library/functions.rst:1312 +#: ../../library/functions.rst:1333 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:" +":exc:`IOError` costumava ser levantada, agora ela é um apelido para :exc:" "`OSError`." -#: ../../library/functions.rst:1313 +#: ../../library/functions.rst:1334 msgid "" ":exc:`FileExistsError` is now raised if the file opened in exclusive " "creation mode (``'x'``) already exists." @@ -2398,15 +2578,15 @@ msgstr "" ":exc:`FileExistsError` agora é levantado se o arquivo aberto no modo de " "criação exclusivo (``'x'``) já existir." -#: ../../library/functions.rst:1319 +#: ../../library/functions.rst:1340 msgid "The file is now non-inheritable." msgstr "O arquivo agora é não herdável." -#: ../../library/functions.rst:1323 +#: ../../library/functions.rst:1344 msgid "The ``'U'`` mode." msgstr "O modo ``'U'``." -#: ../../library/functions.rst:1328 +#: ../../library/functions.rst:1349 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 :" @@ -2415,18 +2595,18 @@ 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:1331 +#: ../../library/functions.rst:1352 msgid "The ``'namereplace'`` error handler was added." msgstr "O tratador de erros ``'namereplace'`` foi adicionado." -#: ../../library/functions.rst:1336 +#: ../../library/functions.rst:1357 msgid "Support added to accept objects implementing :class:`os.PathLike`." msgstr "" "Suporte adicionado para aceitar objetos implementados :class:`os.PathLike`." -#: ../../library/functions.rst:1337 +#: ../../library/functions.rst:1358 msgid "" "On Windows, opening a console buffer may return a subclass of :class:`io." "RawIOBase` other than :class:`io.FileIO`." @@ -2434,7 +2614,7 @@ 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:1342 +#: ../../library/functions.rst:1363 msgid "" "Given a string representing one Unicode character, return an integer " "representing the Unicode code point of that character. For example, " @@ -2446,7 +2626,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:1350 +#: ../../library/functions.rst:1371 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) % " @@ -2458,24 +2638,29 @@ 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:1355 +#: ../../library/functions.rst:1376 msgid "" "The arguments must have numeric types. With mixed operand types, the " "coercion rules for binary arithmetic operators apply. For :class:`int` " "operands, the result has the same type as the operands (after coercion) " "unless the second argument is negative; in that case, all arguments are " -"converted to float and a float result is delivered. For example, ``10**2`` " -"returns ``100``, but ``10**-2`` returns ``0.01``." +"converted to float and a float result is delivered. For example, ``pow(10, " +"2)`` returns ``100``, but ``pow(10, -2)`` returns ``0.01``. For a negative " +"base of type :class:`int` or :class:`float` and a non-integral exponent, a " +"complex result is delivered. For example, ``pow(-9, 0.5)`` returns a value " +"close to ``3j``." msgstr "" "Os argumentos devem ter tipos numéricos. Com tipos de operandos mistos, " "aplicam-se as regras de coerção para operadores aritméticos binários. Para " "operandos :class:`int`, o resultado tem o mesmo tipo que os operandos (após " "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, ``10**2`` retorna ``100``, mas ``10**-2`` " -"retorna ``0.01``." +"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``." -#: ../../library/functions.rst:1362 +#: ../../library/functions.rst:1386 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 " @@ -2489,12 +2674,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:1368 +#: ../../library/functions.rst:1392 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:1375 +#: ../../library/functions.rst:1399 msgid "" "For :class:`int` operands, the three-argument form of ``pow`` now allows the " "second argument to be negative, permitting computation of modular inverses." @@ -2503,21 +2688,24 @@ msgstr "" "permite que o segundo argumento seja negativo, permitindo o cálculo de " "inversos modulares." -#: ../../library/functions.rst:1380 +#: ../../library/functions.rst:1404 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:1387 +#: ../../library/functions.rst:1411 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 " "keyword arguments." msgstr "" +"Exibe *objects* no fluxo de texto *arquivo*, separado por *sep* e seguido " +"por *end*. *sep*, *end*, *file* e *flush*, se houver, devem ser fornecidos " +"como argumentos nomeados." -#: ../../library/functions.rst:1391 +#: ../../library/functions.rst:1415 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* " @@ -2531,7 +2719,7 @@ msgstr "" "que significa usar os valores padrão. Se nenhum *object* for fornecido, :" "func:`print` escreverá apenas *end*." -#: ../../library/functions.rst:1397 +#: ../../library/functions.rst:1421 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 " @@ -2541,24 +2729,26 @@ 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 " +"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:1402 +#: ../../library/functions.rst:1426 msgid "" -"Whether the output is buffered is usually determined by *file*, but if the " -"*flush* keyword argument is true, the stream is forcibly flushed." +"Output buffering is usually determined by *file*. However, if *flush* is " +"true, the stream is forcibly flushed." 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:1405 +#: ../../library/functions.rst:1430 msgid "Added the *flush* keyword argument." msgstr "Adicionado o argumento nomeado *flush*." -#: ../../library/functions.rst:1411 +#: ../../library/functions.rst:1436 msgid "Return a property attribute." msgstr "Retorna um atributo de propriedade." -#: ../../library/functions.rst:1413 +#: ../../library/functions.rst:1438 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 " @@ -2568,17 +2758,19 @@ 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:1417 +#: ../../library/functions.rst:1442 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:1434 +#: ../../library/functions.rst:1459 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 = " +"valor`` irá invocar o método setter, e ``del c.x`` o método deleter." -#: ../../library/functions.rst:1437 +#: ../../library/functions.rst:1462 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 " @@ -2590,17 +2782,17 @@ msgstr "" "torna possível criar facilmente propriedades apenas para leitura usando :" "func:`property` como um :term:`decorador`::" -#: ../../library/functions.rst:1450 +#: ../../library/functions.rst:1475 msgid "" -"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.\"" +"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 \"getter" -"\" para um atributo somente leitura com o mesmo nome, e define a docstring " -"de *voltage* para \"Get the current voltage.\"" +"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:1454 +#: ../../library/functions.rst:1479 msgid "" "A property object has :attr:`~property.getter`, :attr:`~property.setter`, " "and :attr:`~property.deleter` methods usable as decorators that create a " @@ -2612,7 +2804,7 @@ msgstr "" "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:1476 +#: ../../library/functions.rst:1501 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 " @@ -2622,7 +2814,7 @@ msgstr "" "nas funções adicionais usar o mesmo nome que a property original (``x`` " "neste caso)." -#: ../../library/functions.rst:1480 +#: ../../library/functions.rst:1505 msgid "" "The returned property object also has the attributes ``fget``, ``fset``, and " "``fdel`` corresponding to the constructor arguments." @@ -2630,11 +2822,11 @@ msgstr "" "O objeto property retornado também tem os atributos ``fget``, ``fset``, e " "``fdel`` correspondendo aos argumentos do construtor." -#: ../../library/functions.rst:1483 +#: ../../library/functions.rst:1508 msgid "The docstrings of property objects are now writeable." msgstr "Agora é possível escrever nas docstrings de objetos property." -#: ../../library/functions.rst:1492 +#: ../../library/functions.rst:1517 msgid "" "Rather than being a function, :class:`range` is actually an immutable " "sequence type, as documented in :ref:`typesseq-range` and :ref:`typesseq`." @@ -2642,7 +2834,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:1498 +#: ../../library/functions.rst:1523 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 " @@ -2650,10 +2842,21 @@ 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." -msgstr "" - -#: ../../library/functions.rst:1509 +"function returns for its instances by defining a :meth:`__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 " +"com o mesmo valor quando passado para :func:`eval`, caso contrário, a " +"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`." + +#: ../../library/functions.rst:1536 msgid "" "Return a reverse :term:`iterator`. *seq* must be an object which has a :" "meth:`__reversed__` method or supports the sequence protocol (the :meth:" @@ -2665,7 +2868,7 @@ msgstr "" "método :meth:`__len__` e o método :meth:`__getitem__` com argumentos " "inteiros começando em ``0``)." -#: ../../library/functions.rst:1517 +#: ../../library/functions.rst:1544 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 " @@ -2675,7 +2878,7 @@ msgstr "" "Se *ndigits* for omitido ou for ``None``, ele retornará o número inteiro " "mais próximo de sua entrada." -#: ../../library/functions.rst:1521 +#: ../../library/functions.rst:1548 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 " @@ -2685,8 +2888,16 @@ msgid "" "negative). The return value is an integer if *ndigits* is omitted or " "``None``. Otherwise, the return value has the same type as *number*." msgstr "" +"Para os tipos embutidos com suporte a :func:`round`, os valores são " +"arredondados para o múltiplo mais próximo de 10 para a potência de menos " +"*ndigit*; se dois múltiplos são igualmente próximos, o arredondamento é " +"feito para a opção par (por exemplo, ``round(0.5)`` e ``round(-0.5)`` são " +"``0`` e ``round(1.5)`` é ``2``). Qualquer valor inteiro é válido para " +"*ndigits* (positivo, zero ou negativo). O valor de retorno é um número " +"inteiro se *ndigits* for omitido ou ``None``. Caso contrário, o valor de " +"retorno tem o mesmo tipo que *number*." -#: ../../library/functions.rst:1530 +#: ../../library/functions.rst:1557 msgid "" "For a general Python object ``number``, ``round`` delegates to ``number." "__round__``." @@ -2694,7 +2905,7 @@ msgstr "" "Para um objeto Python geral ``number``, ``round`` delega para ``number." "__round__``." -#: ../../library/functions.rst:1535 +#: ../../library/functions.rst:1562 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 " @@ -2708,7 +2919,7 @@ 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:1546 +#: ../../library/functions.rst:1573 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-" @@ -2718,7 +2929,7 @@ msgstr "" "de *iterable*. ``set`` é uma classe embutida. Veja :class:`set` e :ref:" "`types-set` para documentação sobre esta classe." -#: ../../library/functions.rst:1550 +#: ../../library/functions.rst:1577 msgid "" "For other containers see the built-in :class:`frozenset`, :class:`list`, :" "class:`tuple`, and :class:`dict` classes, as well as the :mod:`collections` " @@ -2728,7 +2939,7 @@ msgstr "" "class:`list`, :class:`tuple` e :class:`dict`, bem como o módulo :mod:" "`collections`." -#: ../../library/functions.rst:1557 +#: ../../library/functions.rst:1584 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 " @@ -2736,19 +2947,39 @@ msgid "" "provided the object allows it. For example, ``setattr(x, 'foobar', 123)`` " "is equivalent to ``x.foobar = 123``." 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``." + +#: ../../library/functions.rst:1590 +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.." +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." -#: ../../library/functions.rst:1565 +#: ../../library/functions.rst:1598 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:1574 +#: ../../library/functions.rst:1607 msgid "" "Return a :term:`slice` object representing the set of indices specified by " "``range(start, stop, step)``. The *start* and *step* arguments default to " @@ -2760,19 +2991,29 @@ msgid "" "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 "" - -#: ../../library/functions.rst:1587 +"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:1620 msgid "Return a new sorted list from the items in *iterable*." msgstr "Retorna uma nova lista classificada dos itens em *iterable*." -#: ../../library/functions.rst:1589 +#: ../../library/functions.rst:1622 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:1591 +#: ../../library/functions.rst:1624 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." @@ -2782,7 +3023,7 @@ msgstr "" "comparação de cada elemento em *iterable* (por exemplo, ``key=str.lower``). " "O valor padrão é ``None`` (compara os elementos diretamente)." -#: ../../library/functions.rst:1595 +#: ../../library/functions.rst:1628 msgid "" "*reverse* is a boolean value. If set to ``True``, then the list elements " "are sorted as if each comparison were reversed." @@ -2791,7 +3032,7 @@ msgstr "" "elementos da lista são classificados como se cada comparação estivesse " "invertida." -#: ../../library/functions.rst:1598 +#: ../../library/functions.rst:1631 msgid "" "Use :func:`functools.cmp_to_key` to convert an old-style *cmp* function to a " "*key* function." @@ -2799,7 +3040,7 @@ msgstr "" "Usa :func:`functools.cmp_to_key` para converter a função das antigas *cmp* " "para uma função *key*." -#: ../../library/functions.rst:1601 +#: ../../library/functions.rst:1634 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 " @@ -2811,18 +3052,38 @@ 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:1606 +#: ../../library/functions.rst:1639 +msgid "" +"The sort algorithm uses only ``<`` comparisons between items. While " +"defining an :meth:`~object.__lt__` method will suffice for sorting, :PEP:`8` " +"recommends that all six :ref:`rich comparisons ` be " +"implemented. This will help avoid bugs when using the same data with other " +"ordering tools such as :func:`max` that rely on a different underlying " +"method. Implementing all six comparisons also helps avoid confusion for " +"mixed type comparisons which can call reflected the :meth:`~object.__gt__` " +"method." +msgstr "" +"O algoritmo de classificação usa apenas comparações ``<`` entre itens. " +"Embora definir um método :meth:`~object.__lt__` seja suficiente para " +"ordenação, :PEP:`8` recomenda que todas as seis :ref:`comparações ricas " +"` sejam implementadas. Isso ajudará a evitar erros ao usar os " +"mesmos dados com outras ferramentas de ordenação, como :func:`max`, que " +"dependem de um método subjacente diferente. Implementar todas as seis " +"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:1648 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`." -#: ../../library/functions.rst:1610 +#: ../../library/functions.rst:1652 msgid "Transform a method into a static method." msgstr "Transforma um método em método estático." -#: ../../library/functions.rst:1612 +#: ../../library/functions.rst:1654 msgid "" "A static method does not receive an implicit first argument. To declare a " "static method, use this idiom::" @@ -2830,7 +3091,7 @@ 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:1619 +#: ../../library/functions.rst:1661 msgid "" "The ``@staticmethod`` form is a function :term:`decorator` -- see :ref:" "`function` for details." @@ -2838,21 +3099,27 @@ msgstr "" "A forma ``@staticmethod`` é uma função de :term:`decorador` -- veja :ref:" "`function` para detalhes." -#: ../../library/functions.rst:1622 +#: ../../library/functions.rst:1664 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 " "functions (such as ``f()``)." msgstr "" +"Um método estático pode ser chamado na classe (tal como ``C.f()``) ou em uma " +"instância (tal como ``C().f()``). Além disso, eles podem ser chamados como " +"funções regulares (como ``f()``)." -#: ../../library/functions.rst:1626 +#: ../../library/functions.rst:1668 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 " "class constructors." msgstr "" +"Métodos estáticos em Python são similares àqueles encontrados em Java ou C+" +"+. Veja também :func:`classmethod` para uma variante útil na criação de " +"construtores de classe alternativos." -#: ../../library/functions.rst:1630 +#: ../../library/functions.rst:1672 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 " @@ -2866,25 +3133,28 @@ 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:1642 +#: ../../library/functions.rst:1684 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:1644 +#: ../../library/functions.rst:1686 msgid "" "Static methods now inherit the method attributes (``__module__``, " "``__name__``, ``__qualname__``, ``__doc__`` and ``__annotations__``), have a " "new ``__wrapped__`` attribute, and are now callable as regular functions." msgstr "" +"Métodos estáticos agora herdam os atributos do método (``__module__``, " +"``__name__``, ``__qualname__``, ``__doc__`` e ``__annotations__``), têm um " +"novo atributo ``__wrapped__`` e agora são chamáveis como funções regulares." -#: ../../library/functions.rst:1659 +#: ../../library/functions.rst:1701 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:1661 +#: ../../library/functions.rst:1703 msgid "" "``str`` is the built-in string :term:`class`. For general information about " "strings, see :ref:`textseq`." @@ -2892,7 +3162,7 @@ msgstr "" "``str`` é uma :term:`classe` de string embutida. Para informações gerais " "sobre strings, consulte :ref:`textseq`." -#: ../../library/functions.rst:1667 +#: ../../library/functions.rst:1709 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 " @@ -2902,7 +3172,7 @@ 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:1671 +#: ../../library/functions.rst:1713 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 ``''." @@ -2916,11 +3186,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:1677 +#: ../../library/functions.rst:1719 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:1682 +#: ../../library/functions.rst:1724 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 " @@ -2930,7 +3200,7 @@ msgstr "" "irmão do *type*. Isso é útil para acessar métodos herdados que foram " "substituídos em uma classe." -#: ../../library/functions.rst:1686 +#: ../../library/functions.rst:1728 msgid "" "The *object-or-type* determines the :term:`method resolution order` to be " "searched. The search starts from the class right after the *type*." @@ -2938,7 +3208,7 @@ 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:1690 +#: ../../library/functions.rst:1732 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` " @@ -2948,7 +3218,7 @@ msgstr "" "> A -> object`` e o valor de *type* é ``B``, então :func:`super` procura por " "``C -> A -> object``." -#: ../../library/functions.rst:1694 +#: ../../library/functions.rst:1736 msgid "" "The :attr:`~class.__mro__` attribute of the *object-or-type* lists the " "method resolution search order used by both :func:`getattr` and :func:" @@ -2960,7 +3230,7 @@ msgstr "" "atributo é dinâmico e pode mudar sempre que a hierarquia da herança é " "atualizada." -#: ../../library/functions.rst:1699 +#: ../../library/functions.rst:1741 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. " @@ -2972,7 +3242,7 @@ msgstr "" "verdadeiro. Se o segundo argumento é um tipo, ``issubclass(type2, type)`` " "deve ser verdadeiro (isto é útil para classmethods)." -#: ../../library/functions.rst:1704 +#: ../../library/functions.rst:1746 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 " @@ -2980,11 +3250,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:1709 +#: ../../library/functions.rst:1751 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 " @@ -3007,12 +3277,12 @@ msgstr "" "e porque essa ordem pode incluir classes de irmãos desconhecidas antes do " "tempo de execução)." -#: ../../library/functions.rst:1719 +#: ../../library/functions.rst:1761 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:1726 +#: ../../library/functions.rst:1768 msgid "" "In addition to method lookups, :func:`super` also works for attribute " "lookups. One possible use case for this is calling :term:`descriptors " @@ -3022,7 +3292,7 @@ msgstr "" "de atributo. Um possível caso de uso para isso é chamar :term:`descritores " "` em uma classe pai ou irmã." -#: ../../library/functions.rst:1730 +#: ../../library/functions.rst:1772 msgid "" "Note that :func:`super` is implemented as part of the binding process for " "explicit dotted attribute lookups such as ``super().__getitem__(name)``. It " @@ -3039,7 +3309,7 @@ msgstr "" "para procuras implícitas usando instruções ou operadores como ``super()" "[name]``." -#: ../../library/functions.rst:1737 +#: ../../library/functions.rst:1779 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 " @@ -3056,7 +3326,7 @@ msgstr "" "corretamente a classe que está sendo definida, além de acessar a instância " "atual para métodos comuns." -#: ../../library/functions.rst:1744 +#: ../../library/functions.rst:1786 msgid "" "For practical suggestions on how to design cooperative classes using :func:" "`super`, see `guide to using super() `_." -#: ../../library/functions.rst:1753 +#: ../../library/functions.rst:1795 msgid "" "Rather than being a function, :class:`tuple` is actually an immutable " "sequence type, as documented in :ref:`typesseq-tuple` and :ref:`typesseq`." @@ -3074,7 +3344,7 @@ 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:1762 +#: ../../library/functions.rst:1804 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." @@ -3084,7 +3354,7 @@ msgstr "" "tipo de objeto e geralmente o mesmo objeto retornado por :attr:`object." "__class__ `." -#: ../../library/functions.rst:1766 +#: ../../library/functions.rst:1808 msgid "" "The :func:`isinstance` built-in function is recommended for testing the type " "of an object, because it takes subclasses into account." @@ -3092,7 +3362,7 @@ 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:1770 +#: ../../library/functions.rst:1812 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 " @@ -3114,11 +3384,11 @@ msgstr "" "`~object.__dict__`. As duas instruções a seguir criam objetos :class:`type` " "idênticos:" -#: ../../library/functions.rst:1785 +#: ../../library/functions.rst:1827 msgid "See also :ref:`bltin-type-objects`." msgstr "Veja também :ref:`bltin-type-objects`." -#: ../../library/functions.rst:1787 +#: ../../library/functions.rst:1829 msgid "" "Keyword arguments provided to the three argument form are passed to the " "appropriate metaclass machinery (usually :meth:`~object.__init_subclass__`) " @@ -3130,20 +3400,19 @@ msgstr "" "__init_subclass__`) da mesma forma que palavras-chave em uma definição de " "classe (além de *metaclasse*) fariam." -#: ../../library/functions.rst:1792 +#: ../../library/functions.rst:1834 msgid "See also :ref:`class-customization`." msgstr "Veja também :ref:`class-customization`." -#: ../../library/functions.rst:1794 +#: ../../library/functions.rst:1836 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." -#: ../../library/functions.rst:1800 +#: ../../library/functions.rst:1842 msgid "" "Return the :attr:`~object.__dict__` attribute for a module, class, instance, " "or any other object with a :attr:`~object.__dict__` attribute." @@ -3151,7 +3420,7 @@ 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:1803 +#: ../../library/functions.rst:1845 msgid "" "Objects such as modules and instances have an updateable :attr:`~object." "__dict__` attribute; however, other objects may have write restrictions on " @@ -3163,7 +3432,7 @@ msgstr "" "atributos :attr:`~object.__dict__` (por exemplo, classes usam um :class:" "`types.MappingProxyType` para prevenir atualizações diretas a dicionário)." -#: ../../library/functions.rst:1808 +#: ../../library/functions.rst:1850 msgid "" "Without an argument, :func:`vars` acts like :func:`locals`. Note, the " "locals dictionary is only useful for reads since updates to the locals " @@ -3173,7 +3442,7 @@ msgstr "" "dicionário locals é apenas útil para leitura, pelo fato de alterações no " "dicionário locals serem ignoradas." -#: ../../library/functions.rst:1812 +#: ../../library/functions.rst:1854 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 " @@ -3183,89 +3452,120 @@ msgstr "" "ela não tem um atributo :attr:`~object.__dict__` (por exemplo, se sua classe " "define o atributo :attr:`~object.__slots__`)." -#: ../../library/functions.rst:1818 +#: ../../library/functions.rst:1860 msgid "" "Iterate over several iterables in parallel, producing tuples with an item " "from each one." msgstr "" +"Itera sobre vários iteráveis em paralelo, produzindo tuplas com um item de " +"cada um." -#: ../../library/functions.rst:1821 +#: ../../library/functions.rst:1863 msgid "Example::" msgstr "Exemplo::" -#: ../../library/functions.rst:1830 +#: ../../library/functions.rst:1872 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." msgstr "" +"Mais formalmente: :func:`zip` retorna um iterador de tuplas, onde a *i*-" +"ésima tupla contém o *i*-ésimo elemento de cada um dos iteráveis do " +"argumento." -#: ../../library/functions.rst:1833 +#: ../../library/functions.rst:1875 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 `_." 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:1837 +#: ../../library/functions.rst:1879 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`." 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`." -#: ../../library/functions.rst:1841 +#: ../../library/functions.rst:1883 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 " "the code that prepared these iterables. Python offers three different " "approaches to dealing with this issue:" msgstr "" +"Uma coisa a considerar é que os iteráveis passados para :func:`zip` podem " +"ter comprimentos diferentes; às vezes por design e às vezes por causa de um " +"bug no código que preparou esses iteráveis. Python oferece três abordagens " +"diferentes para lidar com esse problema:" -#: ../../library/functions.rst:1846 +#: ../../library/functions.rst:1888 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 " "result to the length of the shortest iterable::" msgstr "" +"Por padrão, :func:`zip` para quando o iterável mais curto se esgota. Ele irá " +"ignorar os itens restantes nos iteráveis mais longos, cortando o resultado " +"para o comprimento do iterável mais curto::" -#: ../../library/functions.rst:1853 +#: ../../library/functions.rst:1895 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`` " "option. Its output is the same as regular :func:`zip`::" msgstr "" +":func:`zip` é frequentemente usado em casos onde os iteráveis são " +"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:1860 +#: ../../library/functions.rst:1902 msgid "" -"Unlike the default behavior, it checks that the lengths of iterables are " -"identical, raising a :exc:`ValueError` if they aren't:" +"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:" -#: ../../library/functions.rst:1868 +#: ../../library/functions.rst:1920 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 " "bug in another part of the program." msgstr "" +"Sem o argumento ``strict=True``, qualquer bug que resulte em iteráveis de " +"diferentes comprimentos será silenciado, possivelmente se manifestando como " +"um bug difícil de encontrar em outra parte do programa." -#: ../../library/functions.rst:1872 +#: ../../library/functions.rst:1924 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`." 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:1876 +#: ../../library/functions.rst:1928 msgid "" "Edge cases: With a single iterable argument, :func:`zip` returns an iterator " "of 1-tuples. With no arguments, it returns an empty iterator." 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:1879 +#: ../../library/functions.rst:1931 msgid "Tips and tricks:" -msgstr "" +msgstr "Dicas e truques:" -#: ../../library/functions.rst:1881 +#: ../../library/functions.rst:1933 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 " @@ -3273,8 +3573,14 @@ msgid "" "``n`` times so that each output tuple has the result of ``n`` calls to the " "iterator. This has the effect of dividing the input into n-length chunks." msgstr "" +"A ordem de avaliação da esquerda para a direita dos iteráveis é garantida. " +"Isso torna possível um idioma para agrupar uma série de dados em grupos de " +"comprimento n usando ``zip(*[iter(s)]*n, strict=True)``. Isso repete o " +"*mesmo* iterador ``n`` vezes para que cada tupla de saída tenha o resultado " +"de chamadas ``n`` para o iterador. Isso tem o efeito de dividir a entrada em " +"pedaços de n comprimentos." -#: ../../library/functions.rst:1887 +#: ../../library/functions.rst:1939 msgid "" ":func:`zip` in conjunction with the ``*`` operator can be used to unzip a " "list::" @@ -3282,11 +3588,11 @@ msgstr "" ":func:`zip` em conjunto com o operador ``*`` pode ser usado para " "descompactar uma lista::" -#: ../../library/functions.rst:1898 +#: ../../library/functions.rst:1950 msgid "Added the ``strict`` argument." -msgstr "" +msgstr "Adicionado o argumento ``strict``." -#: ../../library/functions.rst:1910 +#: ../../library/functions.rst:1962 msgid "" "This is an advanced function that is not needed in everyday Python " "programming, unlike :func:`importlib.import_module`." @@ -3294,7 +3600,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:1913 +#: ../../library/functions.rst:1965 msgid "" "This function is invoked by the :keyword:`import` statement. It can be " "replaced (by importing the :mod:`builtins` module and assigning to " @@ -3314,7 +3620,7 @@ msgstr "" "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:1922 +#: ../../library/functions.rst:1974 msgid "" "The function imports the module *name*, potentially using the given " "*globals* and *locals* to determine how to interpret the name in a package " @@ -3323,8 +3629,14 @@ msgid "" "does not use its *locals* argument at all and uses its *globals* only to " "determine the package context of the :keyword:`import` statement." msgstr "" +"A função importa o módulo *name*, potencialmente usando os dados *globals* e " +"*locals* para determinar como interpretar o nome em um contexto de pacote. O " +"*fromlist* fornece os nomes de objetos ou submódulos que devem ser " +"importados do módulo, fornecidos por *name*. A implementação padrão não usa " +"seu argumento *locals* e usa seus *globals* apenas para determinar o " +"contexto do pacote da instrução :keyword:`import`." -#: ../../library/functions.rst:1929 +#: ../../library/functions.rst:1981 msgid "" "*level* specifies whether to use absolute or relative imports. ``0`` (the " "default) means only perform absolute imports. Positive values for *level* " @@ -3338,31 +3650,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:1935 +#: ../../library/functions.rst:1987 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:1940 +#: ../../library/functions.rst:1992 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:1945 +#: ../../library/functions.rst:1997 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:1949 +#: ../../library/functions.rst:2001 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." @@ -3370,15 +3682,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:1952 +#: ../../library/functions.rst:2004 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:1959 +#: ../../library/functions.rst:2011 msgid "" "Here, the ``spam.ham`` module is returned from :func:`__import__`. From " "this object, the names to import are retrieved and assigned to their " @@ -3388,7 +3700,7 @@ msgstr "" "desse objeto, os nomes a serem importados são recuperados e atribuídos aos " "seus respectivos nomes." -#: ../../library/functions.rst:1963 +#: ../../library/functions.rst:2015 msgid "" "If you simply want to import a module (potentially within a package) by " "name, use :func:`importlib.import_module`." @@ -3396,7 +3708,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:1966 +#: ../../library/functions.rst:2018 msgid "" "Negative values for *level* are no longer supported (which also changes the " "default value to 0)." @@ -3404,7 +3716,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:1970 +#: ../../library/functions.rst:2022 msgid "" "When the command line options :option:`-E` or :option:`-I` are being used, " "the environment variable :envvar:`PYTHONCASEOK` is now ignored." @@ -3412,11 +3724,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:1975 +#: ../../library/functions.rst:2027 msgid "Footnotes" msgstr "Notas de rodapé" -#: ../../library/functions.rst:1976 +#: ../../library/functions.rst:2028 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 " diff --git a/library/functools.po b/library/functools.po index c0b830365..ee30df3ec 100644 --- a/library/functools.po +++ b/library/functools.po @@ -1,30 +1,28 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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 -# Italo Penaforte , 2021 -# Adorilson Bezerra , 2021 -# i17obot , 2021 +# python-doc bot, 2025 +# Rafael Fontenelle , 2025 # #, 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:06+0000\n" -"Last-Translator: i17obot , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-11-21 17:56+0000\n" +"PO-Revision-Date: 2025-09-22 15:57+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=2; plural=(n > 1);\n" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/functools.rst:2 msgid "" @@ -57,8 +55,8 @@ msgid "" "Simple lightweight unbounded function cache. Sometimes called `\"memoize\" " "`_." msgstr "" -"Cache simples e leve de funções sem vínculo. Às vezes chamado de `\"memoizar" -"\" `_." +"Cache simples e leve de funções sem vínculo. Às vezes chamado de " +"`\"memoizar\" `_." #: ../../library/functools.rst:34 msgid "" @@ -72,7 +70,7 @@ msgstr "" "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:258 +#: ../../library/functools.rst:39 ../../library/functools.rst:264 msgid "For example::" msgstr "Por exemplo::" @@ -90,7 +88,7 @@ msgstr "" "instâncias que são efetivamente imutáveis." #: ../../library/functools.rst:62 ../../library/functools.rst:127 -#: ../../library/functools.rst:350 +#: ../../library/functools.rst:356 msgid "Example::" msgstr "Exemplo::" @@ -100,6 +98,10 @@ msgid "" "`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:77 msgid "" @@ -109,12 +111,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:83 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:86 msgid "" @@ -122,6 +131,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:90 msgid "" @@ -159,16 +171,11 @@ msgstr "" #: ../../library/functools.rst:122 msgid "" -"A comparison function is any callable that accept two arguments, compares " +"A comparison function is any callable that accepts two arguments, compares " "them, and returns a negative number for less-than, zero for equality, or a " "positive number for greater-than. A key function is a callable that accepts " "one argument and returns another value to be used as the sort key." msgstr "" -"Uma função de comparação é qualquer chamável que aceita dois argumentos, os " -"compara e retorna um número negativo por menos de zero, igual a igualdade ou " -"um número positivo por maior que. Uma função chave é um chamável que aceita " -"um argumento e retorna outro valor para ser usado como a chave de " -"classificação." #: ../../library/functools.rst:131 msgid "" @@ -190,11 +197,8 @@ msgstr "" #: ../../library/functools.rst:143 msgid "" "Since a dictionary is used to cache results, the positional and keyword " -"arguments to the function must be hashable." +"arguments to the function must be :term:`hashable`." msgstr "" -"Uma vez que um dicionário é usado para armazenar resultados em cache, os " -"argumentos posicionais e argumentos nomeados para a função devem ser " -"hashable." #: ../../library/functools.rst:146 msgid "" @@ -228,14 +232,22 @@ msgstr "" #: ../../library/functools.rst:162 msgid "" "If *typed* is set to true, function arguments of different types will be " -"cached separately. For example, ``f(3)`` and ``f(3.0)`` will always be " -"treated as distinct calls with distinct results. If *typed* is false, the " -"implementation will usually but not always regard them as equivalent calls " -"and only cache a single result." +"cached separately. If *typed* is false, the implementation will usually " +"regard them as equivalent calls and only cache a single result. (Some types " +"such as *str* and *int* may be cached separately even when *typed* is false.)" msgstr "" #: ../../library/functools.rst:168 msgid "" +"Note, type specificity applies only to the function's immediate arguments " +"rather than their contents. The scalar arguments, ``Decimal(42)`` and " +"``Fraction(42)`` are be treated as distinct calls with distinct results. In " +"contrast, the tuple arguments ``('answer', Decimal(42))`` and ``('answer', " +"Fraction(42))`` are treated as equivalent." +msgstr "" + +#: ../../library/functools.rst:174 +msgid "" "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 " @@ -246,7 +258,7 @@ msgstr "" "*digitado*. Este é apenas para fins informativos. A alteração dos valores " "não tem efeito." -#: ../../library/functools.rst:173 +#: ../../library/functools.rst:179 msgid "" "To help measure the effectiveness of the cache and tune the *maxsize* " "parameter, the wrapped function is instrumented with a :func:`cache_info` " @@ -254,7 +266,7 @@ msgid "" "*maxsize* and *currsize*." msgstr "" -#: ../../library/functools.rst:178 +#: ../../library/functools.rst:184 msgid "" "The decorator also provides a :func:`cache_clear` function for clearing or " "invalidating the cache." @@ -262,7 +274,7 @@ msgstr "" "O decorador também fornece uma função :func:`cache_clear` para limpar ou " "invalidar o cache." -#: ../../library/functools.rst:181 +#: ../../library/functools.rst:187 msgid "" "The original underlying function is accessible through the :attr:" "`__wrapped__` attribute. This is useful for introspection, for bypassing " @@ -272,13 +284,13 @@ msgstr "" "`__wrapped__`. Isso é útil para introspecção, para ignorar o cache, ou para " "reinstalar a função com um cache diferente." -#: ../../library/functools.rst:185 +#: ../../library/functools.rst:191 msgid "" "The cache keeps references to the arguments and return values until they age " "out of the cache or until the cache is cleared." msgstr "" -#: ../../library/functools.rst:188 +#: ../../library/functools.rst:194 msgid "" "An `LRU (least recently used) cache `_ works best when the " @@ -295,7 +307,7 @@ msgstr "" "não cresça sem limites em processos de longa execução, como servidores da " "web." -#: ../../library/functools.rst:195 +#: ../../library/functools.rst:201 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 " @@ -308,11 +320,11 @@ msgstr "" "mutáveis distintos em cada chamada ou funções impuras, como time() ou " "random()." -#: ../../library/functools.rst:200 +#: ../../library/functools.rst:206 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:219 +#: ../../library/functools.rst:225 msgid "" "Example of efficiently computing `Fibonacci numbers `_ using a cache to implement a `dynamic " @@ -323,33 +335,33 @@ msgstr "" "`programação dinâmica `_ " "técnica::" -#: ../../library/functools.rst:239 +#: ../../library/functools.rst:245 msgid "Added the *typed* option." msgstr "Adicionada a opção *typed*." -#: ../../library/functools.rst:242 +#: ../../library/functools.rst:248 msgid "Added the *user_function* option." msgstr "Adicionada a opção *user_function*." -#: ../../library/functools.rst:245 +#: ../../library/functools.rst:251 msgid "Added the function :func:`cache_parameters`" msgstr "Adicionada a função :func:`cache_parameters`" -#: ../../library/functools.rst:250 +#: ../../library/functools.rst:256 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:254 +#: ../../library/functools.rst:260 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:278 +#: ../../library/functools.rst:284 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 " @@ -358,7 +370,7 @@ msgid "" "rich comparison methods instead is likely to provide an easy speed boost." msgstr "" -#: ../../library/functools.rst:287 +#: ../../library/functools.rst:293 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 " @@ -366,13 +378,13 @@ msgid "" "the original method is abstract." msgstr "" -#: ../../library/functools.rst:294 +#: ../../library/functools.rst:300 msgid "" "Returning NotImplemented from the underlying comparison function for " "unrecognised types is now supported." msgstr "" -#: ../../library/functools.rst:300 +#: ../../library/functools.rst:306 msgid "" "Return a new :ref:`partial object` which when called will " "behave like *func* called with the positional arguments *args* and keyword " @@ -381,29 +393,29 @@ msgid "" "extend and override *keywords*. Roughly equivalent to::" msgstr "" -#: ../../library/functools.rst:316 +#: ../../library/functools.rst:322 msgid "" -"The :func:`partial` is used for partial function application which \"freezes" -"\" some portion of a function's arguments and/or keywords resulting in a new " -"object with a simplified signature. For example, :func:`partial` can be " -"used to create a callable that behaves like the :func:`int` function where " -"the *base* argument defaults to two:" +"The :func:`partial` is used for partial function application which " +"\"freezes\" some portion of a function's arguments and/or keywords resulting " +"in a new object with a simplified signature. For example, :func:`partial` " +"can be used to create a callable that behaves like the :func:`int` function " +"where the *base* argument defaults to two:" msgstr "" -#: ../../library/functools.rst:331 +#: ../../library/functools.rst:337 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." msgstr "" -#: ../../library/functools.rst:335 +#: ../../library/functools.rst:341 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:338 +#: ../../library/functools.rst:344 msgid "" "When *func* is a descriptor (such as a normal Python function, :func:" "`classmethod`, :func:`staticmethod`, :func:`abstractmethod` or another " @@ -412,7 +424,7 @@ msgid "" "objects>` returned as the result." msgstr "" -#: ../../library/functools.rst:344 +#: ../../library/functools.rst:350 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 " @@ -421,7 +433,7 @@ msgid "" "`partialmethod` constructor." msgstr "" -#: ../../library/functools.rst:375 +#: ../../library/functools.rst:381 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 " @@ -434,120 +446,125 @@ msgid "" "the first item is returned." msgstr "" -#: ../../library/functools.rst:384 +#: ../../library/functools.rst:390 msgid "Roughly equivalent to::" msgstr "Aproximadamente equivalente a::" -#: ../../library/functools.rst:396 +#: ../../library/functools.rst:402 msgid "" "See :func:`itertools.accumulate` for an iterator that yields all " "intermediate values." msgstr "" -#: ../../library/functools.rst:401 +#: ../../library/functools.rst:407 msgid "" "Transform a function into a :term:`single-dispatch ` :term:" "`generic function`." msgstr "" -#: ../../library/functools.rst:404 +#: ../../library/functools.rst:410 msgid "" "To define a generic function, decorate it with the ``@singledispatch`` " -"decorator. Note that the dispatch happens on the type of the first argument, " -"create your function accordingly::" +"decorator. When defining a function using ``@singledispatch``, note that the " +"dispatch happens on the type of the first argument::" msgstr "" -#: ../../library/functools.rst:415 +#: ../../library/functools.rst:421 msgid "" "To add overloaded implementations to the function, use the :func:`register` " -"attribute of the generic function. It is a decorator. For functions " -"annotated with types, the decorator will infer the type of the first " -"argument automatically::" +"attribute of the generic function, which can be used as a decorator. For " +"functions annotated with types, the decorator will infer the type of the " +"first argument automatically::" msgstr "" -#: ../../library/functools.rst:433 +#: ../../library/functools.rst:439 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:444 +#: ../../library/functools.rst:450 msgid "" -"To enable registering lambdas and pre-existing functions, the :func:" -"`register` attribute can be used in a functional form::" +"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:452 +#: ../../library/functools.rst:458 msgid "" -"The :func:`register` attribute returns the undecorated function which " -"enables decorator stacking, pickling, as well as creating unit tests for " -"each variant independently::" +"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:466 +#: ../../library/functools.rst:472 msgid "" "When called, the generic function dispatches on the type of the first " "argument::" msgstr "" -#: ../../library/functools.rst:486 +#: ../../library/functools.rst:492 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 " -"``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:492 +#: ../../library/functools.rst:498 msgid "" -"If an implementation registered to :term:`abstract base class`, virtual " -"subclasses will be dispatched to that implementation::" +"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:506 +#: ../../library/functools.rst:513 msgid "" -"To check which implementation will the generic function choose for a given " +"To check which implementation the generic function will choose for a given " "type, use the ``dispatch()`` attribute::" msgstr "" -#: ../../library/functools.rst:514 +#: ../../library/functools.rst:521 msgid "" "To access all registered implementations, use the read-only ``registry`` " "attribute::" msgstr "" -#: ../../library/functools.rst:528 -msgid "The :func:`register` attribute supports using type annotations." +#: ../../library/functools.rst:535 +msgid "The :func:`register` attribute now supports using type annotations." msgstr "" -#: ../../library/functools.rst:534 +#: ../../library/functools.rst:541 msgid "" "Transform a method into a :term:`single-dispatch ` :term:" "`generic function`." msgstr "" -#: ../../library/functools.rst:537 +#: ../../library/functools.rst:544 msgid "" "To define a generic method, decorate it with the ``@singledispatchmethod`` " -"decorator. Note that the dispatch happens on the type of the first non-self " -"or non-cls argument, create your function accordingly::" +"decorator. When defining a function using ``@singledispatchmethod``, note " +"that the dispatch happens on the type of the first non-*self* or non-*cls* " +"argument::" msgstr "" -#: ../../library/functools.rst:554 +#: ../../library/functools.rst:562 msgid "" -"``@singledispatchmethod`` supports nesting with other decorators such as " -"``@classmethod``. Note that to allow for ``dispatcher.register``, " -"``singledispatchmethod`` must be the *outer most* decorator. Here is the " -"``Negator`` class with the ``neg`` methods being class bound::" +"``@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:575 +#: ../../library/functools.rst:584 msgid "" -"The same pattern can be used for other similar decorators: ``staticmethod``, " -"``abstractmethod``, and others." +"The same pattern can be used for other similar decorators: :func:" +"`@staticmethod`, :func:`@abstractmethod`, " +"and others." msgstr "" -#: ../../library/functools.rst:583 +#: ../../library/functools.rst:593 msgid "" "Update a *wrapper* function to look like the *wrapped* function. The " "optional arguments are tuples to specify which attributes of the original " @@ -561,7 +578,7 @@ msgid "" "``__dict__``, i.e. the instance dictionary)." msgstr "" -#: ../../library/functools.rst:593 +#: ../../library/functools.rst:603 msgid "" "To allow access to the original function for introspection and other " "purposes (e.g. bypassing a caching decorator such as :func:`lru_cache`), " @@ -569,7 +586,7 @@ msgid "" "that refers to the function being wrapped." msgstr "" -#: ../../library/functools.rst:598 +#: ../../library/functools.rst:608 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 " @@ -578,7 +595,7 @@ msgid "" "is typically less than helpful." msgstr "" -#: ../../library/functools.rst:604 +#: ../../library/functools.rst:614 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 " @@ -587,26 +604,26 @@ msgid "" "wrapper function itself is missing any attributes named in *updated*." msgstr "" -#: ../../library/functools.rst:610 +#: ../../library/functools.rst:620 msgid "Automatic addition of the ``__wrapped__`` attribute." msgstr "" -#: ../../library/functools.rst:613 +#: ../../library/functools.rst:623 msgid "Copying of the ``__annotations__`` attribute by default." msgstr "" -#: ../../library/functools.rst:616 +#: ../../library/functools.rst:626 msgid "Missing attributes no longer trigger an :exc:`AttributeError`." msgstr "" -#: ../../library/functools.rst:619 +#: ../../library/functools.rst:629 msgid "" "The ``__wrapped__`` attribute now always refers to the wrapped function, " "even if that function defined a ``__wrapped__`` attribute. (see :issue:" "`17482`)" msgstr "" -#: ../../library/functools.rst:627 +#: ../../library/functools.rst:637 msgid "" "This is a convenience function for invoking :func:`update_wrapper` as a " "function decorator when defining a wrapper function. It is equivalent to " @@ -614,42 +631,42 @@ msgid "" "updated=updated)``. For example::" msgstr "" -#: ../../library/functools.rst:653 +#: ../../library/functools.rst:663 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." msgstr "" -#: ../../library/functools.rst:661 +#: ../../library/functools.rst:671 msgid ":class:`partial` Objects" msgstr "Objetos :class:`partial`" -#: ../../library/functools.rst:663 +#: ../../library/functools.rst:673 msgid "" ":class:`partial` objects are callable objects created by :func:`partial`. " "They have three read-only attributes:" msgstr "" -#: ../../library/functools.rst:669 +#: ../../library/functools.rst:679 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:675 +#: ../../library/functools.rst:685 msgid "" "The leftmost positional arguments that will be prepended to the positional " "arguments provided to a :class:`partial` object call." msgstr "" -#: ../../library/functools.rst:681 +#: ../../library/functools.rst:691 msgid "" "The keyword arguments that will be supplied when the :class:`partial` object " "is called." msgstr "" -#: ../../library/functools.rst:684 +#: ../../library/functools.rst:694 msgid "" ":class:`partial` objects are like :class:`function` objects in that they are " "callable, weak referencable, and can have attributes. There are some " diff --git a/library/gc.po b/library/gc.po index de72e6659..f6edf1190 100644 --- a/library/gc.po +++ b/library/gc.po @@ -1,27 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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: -# Livia Cavalcanti , 2021 -# Rafael Fontenelle , 2021 +# python-doc bot, 2025 # #, 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:06+0000\n" -"Last-Translator: Rafael Fontenelle , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-11-25 17:28+0000\n" +"PO-Revision-Date: 2025-09-22 15:57+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/gc.rst:2 msgid ":mod:`gc` --- Garbage Collector interface" @@ -40,25 +40,24 @@ msgid "" "this includes ``gc.DEBUG_SAVEALL``, causing garbage-collected objects to be " "saved in gc.garbage for inspection." msgstr "" -"Este módulo fornece uma interface para o opcional garbage collector. Ele " -"disponibiliza a habilidade de desabilitar o collector, 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 collector encontra mas não pode \"limpar\". " -"Como o collector complementa a contagem de referência já usada em Python, " -"você pode desabilitar o collector se você tem certeza que o seu programa não " -"cria ciclos de referências. 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 garbage-collector sejam salvos para " -"inspeção em gc.garbage." +"Este módulo fornece uma interface para o coletor de lixo opcional. Ele " +"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:" -msgstr "" +msgstr "O módulo :mod:`gc` fornece as seguintes funções:" #: ../../library/gc.rst:28 msgid "Enable automatic garbage collection." -msgstr "" +msgstr "Habilita a coleta de lixo automática." #: ../../library/gc.rst:33 msgid "Disable automatic garbage collection." @@ -75,6 +74,10 @@ msgid "" "0 to 2). A :exc:`ValueError` is raised if the generation number is " "invalid. The number of unreachable objects found is returned." msgstr "" +"Sem argumentos, execute uma coleta completa. O argumento opcional " +"*generation* pode ser um inteiro especificando qual geração coletar (de 0 a " +"2). Uma exceção :exc:`ValueError` é levantada se o número de geração for " +"inválido. O número de objetos inacessíveis encontrados é retornado." #: ../../library/gc.rst:48 msgid "" @@ -83,6 +86,10 @@ msgid "" "run. Not all items in some free lists may be freed due to the particular " "implementation, in particular :class:`float`." msgstr "" +"As listas livres mantidas para vários tipos embutidos são limpas sempre que " +"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:56 msgid "" @@ -90,6 +97,10 @@ msgid "" "written to ``sys.stderr``. See below for a list of debugging flags which " "can be combined using bit operations to control debugging." msgstr "" +"Define os sinalizadores de depuração da coleta de lixo. As informações de " +"depuração serão gravadas em ``sys.stderr``. Veja abaixo uma lista de " +"sinalizadores de depuração que podem ser combinados usando operações de bit " +"para controlar a depuração." #: ../../library/gc.rst:63 msgid "Return the debugging flags currently set." @@ -101,6 +112,9 @@ msgid "" "returned. If *generation* is not None, return only the objects tracked by " "the collector that are in that generation." msgstr "" +"Retorna uma lista de todos os objetos rastreados pelo coletor, excluindo a " +"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 msgid "New *generation* parameter." @@ -111,6 +125,8 @@ msgid "" "Raises an :ref:`auditing event ` ``gc.get_objects`` with argument " "``generation``." msgstr "" +"Levanta um :ref:`evento de auditoria ` ``gc.get_objects`` com o " +"argumento ``generation``." #: ../../library/gc.rst:79 msgid "" @@ -118,16 +134,19 @@ msgid "" "statistics since interpreter start. The number of keys may change in the " "future, but currently each dictionary will contain the following items:" msgstr "" +"Retorna uma lista de três dicionários por geração contendo estatísticas de " +"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 msgid "``collections`` is the number of times this generation was collected;" -msgstr "" +msgstr "``collections`` é o número de vezes que esta geração foi coletada;" #: ../../library/gc.rst:86 msgid "" "``collected`` is the total number of objects collected inside this " "generation;" -msgstr "" +msgstr "``collected`` é o número total de objetos coletados nesta geração;" #: ../../library/gc.rst:89 msgid "" @@ -135,12 +154,17 @@ msgid "" "uncollectable (and were therefore moved to the :data:`garbage` list) inside " "this generation." msgstr "" +"``uncollectable`` é o número total de objetos que foram considerados " +"incobráveis (e, portanto, movidos para a lista :data:`garbage`) dentro desta " +"geração." #: ../../library/gc.rst:98 msgid "" "Set the garbage collection thresholds (the collection frequency). Setting " "*threshold0* to zero disables collection." msgstr "" +"Define os limites de coleta de lixo (a frequência de coleta). Definir " +"*threshold0* como zero desativa a coleta." #: ../../library/gc.rst:101 msgid "" @@ -160,12 +184,28 @@ msgid "" "org/garbage_collector/#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 " +"geração mais nova (geração ``0``). Se um objeto sobreviver a uma coleção, " +"ele será movido para a próxima geração mais antiga. Como a geração ``2`` é a " +"geração mais antiga, os objetos dessa geração permanecem lá após uma coleta. " +"Para decidir quando executar, o coletor acompanha o número de alocações e " +"desalocações de objetos desde a última coleta. Quando o número de alocações " +"menos o número de desalocações exceder *threshold0*, a coleta será iniciada. " +"Inicialmente, apenas a geração ``0`` é examinada. Se a geração ``0`` foi " +"examinada mais de *threshold1* vezes desde que a geração ``1`` foi " +"examinada, então a geração ``1`` também é examinada. Com a terceira geração, " +"as coisas são um pouco mais complicadas, veja `Coletando a geração mais " +"antiga `_ para mais informações." #: ../../library/gc.rst:118 msgid "" "Return the current collection counts as a tuple of ``(count0, count1, " "count2)``." msgstr "" +"Retorna as contagens da coleta atual como uma tupla de ``(count0, count1, " +"count2)``." #: ../../library/gc.rst:124 msgid "" @@ -182,6 +222,10 @@ msgid "" "extension types which do refer to other objects but do not support garbage " "collection will not be found." msgstr "" +"Retorna a lista de objetos que se referem diretamente a qualquer um dos " +"objs. Esta função localizará apenas os contêineres que suportam coleta de " +"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 msgid "" @@ -190,6 +234,11 @@ msgid "" "listed among the resulting referrers. To get only currently live objects, " "call :func:`collect` before calling :func:`get_referrers`." 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`." #: ../../library/gc.rst:141 msgid "" @@ -198,12 +247,18 @@ msgid "" "temporarily invalid state. Avoid using :func:`get_referrers` for any purpose " "other than debugging." msgstr "" +"Deve-se tomar cuidado ao usar objetos retornados por :func:`get_referrers` " +"porque alguns deles ainda podem estar em construção e, portanto, em um " +"estado temporariamente inválido. Evite usar :func:`get_referrers` para " +"qualquer finalidade que não seja depuração." #: ../../library/gc.rst:146 msgid "" "Raises an :ref:`auditing event ` ``gc.get_referrers`` with " "argument ``objs``." msgstr "" +"Levanta um :ref:`evento de auditoria ` ``gc.get_referrers`` com o " +"argumento ``objs``." #: ../../library/gc.rst:151 msgid "" @@ -216,12 +271,23 @@ msgid "" "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 " +"métodos a nível do C :c:member:`~PyTypeObject.tp_traverse` dos argumentos " +"(se houver), e podem não ser todos os objetos diretamente alcançáveis. Os " +"métodos :c:member:`~PyTypeObject.tp_traverse` são suportados apenas por " +"objetos que suportam coleta de lixo e são necessários apenas para visitar " +"objetos que possam estar envolvidos em um ciclo. Assim, por exemplo, se um " +"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 msgid "" "Raises an :ref:`auditing event ` ``gc.get_referents`` with " "argument ``objs``." msgstr "" +"Levanta um :ref:`evento de auditoria ` ``gc.get_referents`` com o " +"argumento ``objs``." #: ../../library/gc.rst:163 msgid "" @@ -232,12 +298,21 @@ msgid "" "present in order to suppress the garbage collector footprint of simple " "instances (e.g. dicts containing only atomic keys and values)::" msgstr "" +"Retorna ``True`` se o objeto está atualmente rastreado pelo coletor de lixo, " +"``False`` caso contrário. Como regra geral, as instâncias de tipos atômicos " +"não são rastreadas e as instâncias de tipos não atômicos (contêineres, " +"objetos definidos pelo usuário...) são. No entanto, algumas otimizações " +"específicas do tipo podem estar presentes para suprimir a pegada do coletor " +"de lixo de instâncias simples (por exemplo, dicts contendo apenas chaves e " +"valores atômicos)::" #: ../../library/gc.rst:188 msgid "" "Returns ``True`` if the given object has been finalized by the garbage " "collector, ``False`` otherwise. ::" msgstr "" +"Retorna ``True`` se o objeto fornecido foi finalizado pelo coletor de lixo, " +"``False`` caso contrário. ::" #: ../../library/gc.rst:209 msgid "" @@ -254,16 +329,20 @@ msgid "" "Unfreeze the objects in the permanent generation, put them back into the " "oldest generation." msgstr "" +"Descongela os objetos na geração permanente, coloca-os de volta na geração " +"mais antiga." #: ../../library/gc.rst:229 msgid "Return the number of objects in the permanent generation." -msgstr "" +msgstr "Retorna o número de objetos na geração permanente." #: ../../library/gc.rst:234 msgid "" "The following variables are provided for read-only access (you can mutate " "the values but should not rebind them):" 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:239 msgid "" @@ -272,12 +351,18 @@ msgid "" "should be empty most of the time, except when using instances of C extension " "types with a non-``NULL`` ``tp_del`` slot." msgstr "" +"Uma lista de objetos que o coletor considerou inacessíveis, mas não puderam " +"ser liberados (objetos não coletáveis). A partir do Python 3.4, esta lista " +"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:244 msgid "" "If :const:`DEBUG_SAVEALL` is set, then all unreachable objects will be added " "to this list rather than freed." 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:247 msgid "" @@ -286,12 +371,18 @@ msgid "" "`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." #: ../../library/gc.rst:253 msgid "" "Following :pep:`442`, objects with a :meth:`__del__` method don't end up in :" "attr:`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:259 msgid "" @@ -299,72 +390,89 @@ msgid "" "after collection. The callbacks will be called with two arguments, *phase* " "and *info*." msgstr "" +"Uma lista de retornos de chamada que serão invocados pelo coletor de lixo " +"antes e depois da coleta. As funções de retorno serão chamadas com dois " +"argumentos, *phase* e *info*." #: ../../library/gc.rst:263 msgid "*phase* can be one of two values:" -msgstr "" +msgstr "*phase* pode ser um dos dois valores:" #: ../../library/gc.rst:265 msgid "\"start\": The garbage collection is about to start." -msgstr "" +msgstr "\"start\": A coleta de lixo está prestes a começar." #: ../../library/gc.rst:267 msgid "\"stop\": The garbage collection has finished." -msgstr "" +msgstr "\"stop\": A coleta de lixo terminou." #: ../../library/gc.rst:269 msgid "" "*info* is a dict providing more information for the callback. The following " "keys are currently defined:" 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:272 msgid "\"generation\": The oldest generation being collected." -msgstr "" +msgstr "\"generation\": A geração mais antiga sendo coletada." #: ../../library/gc.rst:274 msgid "" "\"collected\": When *phase* is \"stop\", the number of objects successfully " "collected." msgstr "" +"\"collected\": Quando *phase* é \"stop\", o número de objetos coletados com " +"sucesso." #: ../../library/gc.rst:277 msgid "" "\"uncollectable\": When *phase* is \"stop\", the number of objects that " "could not be collected and were put in :data:`garbage`." 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:280 msgid "" "Applications can add their own callbacks to this list. The primary use " "cases are:" 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:283 msgid "" "Gathering statistics about garbage collection, such as how often various " "generations are collected, and how long the collection takes." 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:287 msgid "" "Allowing applications to identify and clear their own uncollectable types " "when they appear in :data:`garbage`." 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:293 msgid "The following constants are provided for use with :func:`set_debug`:" -msgstr "" +msgstr "As seguintes constantes são fornecidas para uso com :func:`set_debug`:" #: ../../library/gc.rst:298 msgid "" "Print statistics during collection. This information can be useful when " "tuning the collection frequency." msgstr "" +"Imprimir estatísticas durante a coleta. Esta informação pode ser útil ao " +"sintonizar a frequência de coleta." #: ../../library/gc.rst:304 msgid "Print information on collectable objects found." -msgstr "" +msgstr "Imprimir informações sobre objetos colecionáveis encontrados." #: ../../library/gc.rst:309 msgid "" @@ -372,18 +480,26 @@ msgid "" "reachable but cannot be freed by the collector). These objects will be " "added to the ``garbage`` list." msgstr "" +"Imprime informações de objetos não colecionáveis encontrados (objetos que " +"não são alcançáveis, mas não podem ser liberados pelo coletor). Esses " +"objetos serão adicionados à lista ``garbage``." #: ../../library/gc.rst:313 msgid "" "Also print the contents of the :data:`garbage` list at :term:`interpreter " "shutdown`, if it isn't empty." msgstr "" +"Imprime também o conteúdo da lista :data:`garbage` em :term:`desligamento do " +"interpretador`, se não estiver vazia." #: ../../library/gc.rst:319 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." msgstr "" +"Quando definido, todos os objetos inacessíveis encontrados serão anexados ao " +"*lixo* em vez de serem liberados. Isso pode ser útil para depurar um " +"programa com vazamento." #: ../../library/gc.rst:325 msgid "" @@ -391,3 +507,6 @@ msgid "" "leaking program (equal to ``DEBUG_COLLECTABLE | DEBUG_UNCOLLECTABLE | " "DEBUG_SAVEALL``)." msgstr "" +"Os sinalizadores de depuração necessários para o coletor imprimir " +"informações sobre um programa com vazamento (igual a ``DEBUG_COLLECTABLE | " +"DEBUG_UNCOLLECTABLE | DEBUG_SAVEALL``)." diff --git a/library/getopt.po b/library/getopt.po index ffd2d8616..b71b1aecc 100644 --- a/library/getopt.po +++ b/library/getopt.po @@ -1,27 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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.10\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-06-29 12:56+0000\n" -"PO-Revision-Date: 2021-06-28 01:06+0000\n" -"Last-Translator: i17obot , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:57+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/getopt.rst:2 msgid ":mod:`getopt` --- C-style parser for command line options" @@ -181,7 +181,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:" diff --git a/library/getpass.po b/library/getpass.po index 7255f68a3..ee4be2db5 100644 --- a/library/getpass.po +++ b/library/getpass.po @@ -1,26 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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.10\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-06-29 12:56+0000\n" -"PO-Revision-Date: 2021-06-28 01:06+0000\n" -"Last-Translator: Rafael Fontenelle , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:57+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/getpass.rst:2 msgid ":mod:`getpass` --- Portable password input" diff --git a/library/gettext.po b/library/gettext.po index bf28f8483..6754adea7 100644 --- a/library/gettext.po +++ b/library/gettext.po @@ -1,28 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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 -# Victor Matheus Castro , 2021 +# python-doc bot, 2025 # #, 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:06+0000\n" -"Last-Translator: Victor Matheus Castro , " -"2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:57+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/gettext.rst:2 msgid ":mod:`gettext` --- Multilingual internationalization services" @@ -537,8 +536,8 @@ 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:344 msgid "" @@ -611,10 +610,10 @@ 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` \"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 " +"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:384 @@ -846,9 +845,9 @@ msgid "" "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:527 msgid "" @@ -856,7 +855,7 @@ msgid "" "original GNU :program:`gettext` only supported C or C++ source code but its " "extended version :program:`xgettext` scans code written in a number of " "languages, including Python, to find strings marked as translatable. `Babel " -"`__ is a Python internationalization library that " +"`__ is a Python internationalization library that " "includes a :file:`pybabel` script to extract and compile message catalogs. " "François Pinard's program called :program:`xpot` does a similar job and is " "available as part of his `po-utils package `__ é uma biblioteca de " +"traduzíveis. `Babel `__ é uma biblioteca de " "internacionalização do Python que inclui um script :file:`pybabel` para " "extrair e compilar catálogos de mensagens. O programa de François Pinard " "chamado :program:`xpot` faz um trabalho semelhante e está disponível como " diff --git a/library/glob.po b/library/glob.po index b8d7ecc1a..f038727e7 100644 --- a/library/glob.po +++ b/library/glob.po @@ -1,33 +1,31 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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 -# Sheila Gomes , 2021 -# i17obot , 2021 -# Rafael Fontenelle , 2021 +# python-doc bot, 2025 # #, 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:06+0000\n" -"Last-Translator: Rafael Fontenelle , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:57+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/glob.rst:2 msgid ":mod:`glob` --- Unix style pathname pattern expansion" -msgstr ":mod:glob --- Expansão de padrão de nome de arquivo no estilo Unix" +msgstr ":mod:`glob` --- Expansão de padrão de nome de arquivo no estilo Unix" #: ../../library/glob.rst:7 msgid "**Source code:** :source:`Lib/glob.py`" @@ -40,10 +38,7 @@ msgid "" "in arbitrary order. No tilde expansion is done, but ``*``, ``?``, and " "character ranges expressed with ``[]`` will be correctly matched. This is " "done by using the :func:`os.scandir` and :func:`fnmatch.fnmatch` functions " -"in concert, and not by actually invoking a subshell. Note that unlike :func:" -"`fnmatch.fnmatch`, :mod:`glob` treats filenames beginning with a dot (``.``) " -"as special cases. (For tilde and shell variable expansion, use :func:`os." -"path.expanduser` and :func:`os.path.expandvars`.)" +"in concert, and not by actually invoking a subshell." msgstr "" "O módulo :mod:`glob` encontra todos os nomes de caminho que correspondem a " "um padrão especificado de acordo com as regras usadas pelo shell Unix, " @@ -51,12 +46,22 @@ msgstr "" "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. Observe que, ao contrário de :func:`fnmatch." -"fnmatch`, :mod:`glob` trata nomes de arquivos que começam com um ponto (``." -"``) como casos especiais. (Para expansão de til e variável de shell, use :" -"func:`os.path.expanduser` e :func:`os.path.expandvars`.)" +"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`.)" +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`.)" -#: ../../library/glob.rst:31 +#: ../../library/glob.rst:34 msgid "" "For a literal match, wrap the meta-characters in brackets. For example, " "``'[?]'`` matches the character ``'?'``." @@ -64,13 +69,13 @@ msgstr "" "Para uma correspondência literal, coloque os metacaracteres entre colchetes. " "Por exemplo, ``'[?]'`` corresponde ao caractere ``'?'``." -#: ../../library/glob.rst:36 +#: ../../library/glob.rst:39 msgid "The :mod:`pathlib` module offers high-level path objects." msgstr "O módulo :mod:`pathlib` oferece objetos de caminho de alto nível." -#: ../../library/glob.rst:41 +#: ../../library/glob.rst:44 msgid "" -"Return a possibly-empty list of path names that match *pathname*, which must " +"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 " @@ -79,17 +84,8 @@ msgid "" "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:50 + +#: ../../library/glob.rst:53 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 :" @@ -101,15 +97,15 @@ msgstr "" "em :func:`glob` que alterar o diretório atual antes de chamá-lo. Se " "*pathname* for relativo, o resultado conterá caminhos relativos a *root_dir*." -#: ../../library/glob.rst:56 +#: ../../library/glob.rst:59 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:62 +#: ../../library/glob.rst:65 msgid "" "If *recursive* is true, the pattern \"``**``\" will match any files and zero " "or more directories, subdirectories and symbolic links to directories. If " @@ -121,23 +117,23 @@ msgstr "" "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:67 ../../library/glob.rst:86 +#: ../../library/glob.rst:70 ../../library/glob.rst:89 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:68 ../../library/glob.rst:87 +#: ../../library/glob.rst:71 ../../library/glob.rst:90 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:71 +#: ../../library/glob.rst:74 msgid "" "Using the \"``**``\" pattern in large directory trees may consume an " "inordinate amount of time." @@ -145,15 +141,15 @@ msgstr "" "Usar o padrão \"``**``\" em grandes árvores de diretório pode consumir uma " "quantidade excessiva de tempo." -#: ../../library/glob.rst:74 ../../library/glob.rst:89 +#: ../../library/glob.rst:77 ../../library/glob.rst:92 msgid "Support for recursive globs using \"``**``\"." msgstr "Suporte a globs recursivos usando \"``**``\"." -#: ../../library/glob.rst:77 ../../library/glob.rst:92 +#: ../../library/glob.rst:80 ../../library/glob.rst:95 msgid "Added the *root_dir* and *dir_fd* parameters." msgstr "Adicionados os parâmetros *root_dir* e *dir_fd*." -#: ../../library/glob.rst:83 +#: ../../library/glob.rst:86 msgid "" "Return an :term:`iterator` which yields the same values as :func:`glob` " "without actually storing them all simultaneously." @@ -161,7 +157,7 @@ msgstr "" "Retorna um :term:`iterador ` que produz os mesmos valores que :" "func:`glob` sem realmente armazená-los todos simultaneamente." -#: ../../library/glob.rst:98 +#: ../../library/glob.rst:101 msgid "" "Escape all special characters (``'?'``, ``'*'`` and ``'['``). This is useful " "if you want to match an arbitrary literal string that may have special " @@ -175,7 +171,7 @@ msgstr "" "compartilhamento de unidade/UNC não têm escape, por exemplo, no Windows " "``escape('//?/c:/Quo vadis?.txt')`` retorna ``'//?/c:/Quo vadis[?].txt'``." -#: ../../library/glob.rst:107 +#: ../../library/glob.rst:110 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 " @@ -189,7 +185,7 @@ msgstr "" "resultados. Observe como todos os componentes principais do caminho são " "preservados. ::" -#: ../../library/glob.rst:125 +#: ../../library/glob.rst:128 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 :" @@ -199,10 +195,10 @@ msgstr "" "correspondidos por padrão. Por exemplo, considere um diretório contendo :" "file:`card.gif` e :file:`.card.gif` ::" -#: ../../library/glob.rst:137 +#: ../../library/glob.rst:140 msgid "Module :mod:`fnmatch`" msgstr "Módulo :mod:`fnmatch`" -#: ../../library/glob.rst:138 +#: ../../library/glob.rst:141 msgid "Shell-style filename (not path) expansion" msgstr "Expansão de nome de arquivo no estilo shell (não caminho)" diff --git a/library/graphlib.po b/library/graphlib.po index b69235142..12cdb5a2f 100644 --- a/library/graphlib.po +++ b/library/graphlib.po @@ -1,28 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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 -# Leticia Portella , 2021 -# Rafael Fontenelle , 2021 +# python-doc bot, 2025 # #, 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:06+0000\n" -"Last-Translator: Rafael Fontenelle , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:57+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/graphlib.rst:2 msgid ":mod:`graphlib` --- Functionality to operate with graph-like structures" @@ -34,10 +33,12 @@ msgid "**Source code:** :source:`Lib/graphlib.py`" msgstr "**Código-fonte:** :source:`Lib/graphlib.py`" #: ../../library/graphlib.rst:20 -msgid "Provides functionality to topologically sort a graph of hashable nodes." +msgid "" +"Provides functionality to topologically sort a graph of :term:`hashable` " +"nodes." msgstr "" -"Fornece funcionalidade para classificar topologicamente um grafo de nós " -"hasheáveis." +"Fornece funcionalidade para classificar topologicamente um grafo de nós :" +"term:`hasheáveis `." #: ../../library/graphlib.rst:22 msgid "" @@ -131,10 +132,10 @@ msgstr "" #: ../../library/graphlib.rst:87 msgid "" "Add a new node and its predecessors to the graph. Both the *node* and all " -"elements in *predecessors* must be hashable." +"elements in *predecessors* must be :term:`hashable`." msgstr "" "Adiciona um novo nó e seus predecessores ao grafo. O *node* e todos os " -"elementos em *predecessors* devem ser hasheáveis." +"elementos em *predecessors* devem ser :term:`hasheáveis `." #: ../../library/graphlib.rst:90 msgid "" diff --git a/library/grp.po b/library/grp.po index 78fd2719f..28c508a84 100644 --- a/library/grp.po +++ b/library/grp.po @@ -1,30 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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 -# Welington Carlos , 2021 -# Claudio Rogerio Carvalho Filho , 2021 -# Marciel Leal , 2021 -# i17obot , 2021 +# python-doc bot, 2025 # #, 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:07+0000\n" -"Last-Translator: i17obot , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:57+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/grp.rst:2 msgid ":mod:`grp` --- The group database" @@ -35,13 +32,18 @@ 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." #: ../../library/grp.rst:13 msgid "" "Group database entries are reported as a tuple-like object, whose attributes " "correspond to the members of the ``group`` structure (Attribute field below, " -"see ````):" +"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:18 msgid "Index" @@ -77,7 +79,7 @@ msgstr "gr_passwd" #: ../../library/grp.rst:22 msgid "the (encrypted) group password; often empty" -msgstr "" +msgstr "a senha do grupo (criptografada); geralmente vazia" #: ../../library/grp.rst:25 msgid "2" @@ -85,7 +87,7 @@ msgstr "2" #: ../../library/grp.rst:25 msgid "gr_gid" -msgstr "" +msgstr "gr_gid" #: ../../library/grp.rst:25 msgid "the numerical group ID" @@ -101,7 +103,7 @@ msgstr "gr_mem" #: ../../library/grp.rst:27 msgid "all the group member's user names" -msgstr "" +msgstr "todos os nomes de usuários dos membros do grupo" #: ../../library/grp.rst:31 msgid "" @@ -113,6 +115,13 @@ msgid "" "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:38 msgid "It defines the following items:" @@ -123,36 +132,44 @@ msgid "" "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:46 msgid "" -"Since Python 3.6 the support of non-integer arguments like floats or strings " -"in :func:`getgrgid` is deprecated." +":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:52 +#: ../../library/grp.rst:51 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:58 +#: ../../library/grp.rst:57 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:64 +#: ../../library/grp.rst:63 msgid "Module :mod:`pwd`" msgstr "Módulo :mod:`pwd`" -#: ../../library/grp.rst:64 +#: ../../library/grp.rst:63 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:66 +#: ../../library/grp.rst:65 msgid "Module :mod:`spwd`" msgstr "Módulo :mod:`spwd`" -#: ../../library/grp.rst:67 +#: ../../library/grp.rst:66 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 8489ccf37..1d84aa1b3 100644 --- a/library/gzip.po +++ b/library/gzip.po @@ -1,29 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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 -# Adorilson Bezerra , 2021 -# Christian Janiake , 2021 -# i17obot , 2021 +# python-doc bot, 2025 # #, 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:07+0000\n" -"Last-Translator: i17obot , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-23 17:01+0000\n" +"PO-Revision-Date: 2025-09-22 15:58+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/gzip.rst:2 msgid ":mod:`gzip` --- Support for :program:`gzip` files" @@ -38,10 +36,12 @@ 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 "" @@ -51,6 +51,11 @@ msgid "" "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 "" @@ -58,6 +63,10 @@ msgid "" "`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:" @@ -68,12 +77,16 @@ 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." 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 "" @@ -81,12 +94,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." msgstr "" +"O argumento *compresslevel* é um inteiro de 0 a 9, como para o construtor " +"de :class:`GzipFile`." #: ../../library/gzip.rst:44 msgid "" @@ -94,6 +113,9 @@ 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 "" @@ -101,18 +123,23 @@ msgid "" "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:165 +#: ../../library/gzip.rst:59 ../../library/gzip.rst:171 msgid "Accepts a :term:`path-like object`." msgstr "Aceita um :term:`objeto caminho ou similar`." @@ -138,6 +165,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 "" @@ -147,6 +178,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 "" @@ -157,6 +193,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 "" @@ -164,6 +206,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 "" @@ -172,6 +217,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 "" @@ -200,6 +249,7 @@ msgstr "" #: ../../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 "" @@ -214,6 +264,9 @@ msgid "" "`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 "" @@ -231,124 +284,153 @@ msgid "" "returned by :func:`os.stat`." msgstr "" -#: ../../library/gzip.rst:146 +#: ../../library/gzip.rst:148 +msgid "" +"The path to the gzip file on disk, as a :class:`str` or :class:`bytes`. " +"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:150 +#: ../../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:153 +#: ../../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:156 +#: ../../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:159 +#: ../../library/gzip.rst:165 msgid "" "Added support for writing arbitrary :term:`bytes-like objects `. 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:168 +#: ../../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:175 +#: ../../library/gzip.rst:181 msgid "" "Compress the *data*, returning a :class:`bytes` object containing the " "compressed data. *compresslevel* and *mtime* have the same meaning as in " "the :class:`GzipFile` constructor above." msgstr "" +"Compacta *data*, retornando um objeto :class:`bytes` contendo os dados " +"compactados. *compresslevel* e *mtime* têm o mesmo significado que no " +"construtor de :class:`GzipFile` acima." -#: ../../library/gzip.rst:180 +#: ../../library/gzip.rst:186 msgid "Added the *mtime* parameter for reproducible output." -msgstr "" +msgstr "Adicionado o parâmetro *mtime* para saída reproduzível." -#: ../../library/gzip.rst:185 +#: ../../library/gzip.rst:191 msgid "" "Decompress the *data*, returning a :class:`bytes` object containing the " "uncompressed data." msgstr "" -#: ../../library/gzip.rst:194 +#: ../../library/gzip.rst:200 msgid "Examples of usage" msgstr "Exemplos de uso" -#: ../../library/gzip.rst:196 +#: ../../library/gzip.rst:202 msgid "Example of how to read a compressed file::" -msgstr "" +msgstr "Exemplo de como ler um arquivo comprimido::" -#: ../../library/gzip.rst:202 +#: ../../library/gzip.rst:208 msgid "Example of how to create a compressed GZIP file::" -msgstr "" +msgstr "Exemplo de como criar um arquivo comprimido com GZIP::" -#: ../../library/gzip.rst:209 +#: ../../library/gzip.rst:215 msgid "Example of how to GZIP compress an existing file::" -msgstr "" +msgstr "Exemplo de como comprimir um arquivo existente com GZIP::" -#: ../../library/gzip.rst:217 +#: ../../library/gzip.rst:223 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:226 +#: ../../library/gzip.rst:232 msgid "Module :mod:`zlib`" msgstr "Módulo :mod:`zlib`" -#: ../../library/gzip.rst:226 +#: ../../library/gzip.rst:232 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:233 +#: ../../library/gzip.rst:239 msgid "Command Line Interface" msgstr "Interface de linha de comando" -#: ../../library/gzip.rst:235 +#: ../../library/gzip.rst:241 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:238 +#: ../../library/gzip.rst:244 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:242 +#: ../../library/gzip.rst:248 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:246 +#: ../../library/gzip.rst:252 msgid "Command line options" msgstr "Opções da linha de comando" -#: ../../library/gzip.rst:250 +#: ../../library/gzip.rst:256 msgid "If *file* is not specified, read from :attr:`sys.stdin`." msgstr "" -#: ../../library/gzip.rst:254 +#: ../../library/gzip.rst:260 msgid "Indicates the fastest compression method (less compression)." -msgstr "" +msgstr "Indica o método mais rápido de compressão (menor compressão)" -#: ../../library/gzip.rst:258 +#: ../../library/gzip.rst:264 msgid "Indicates the slowest compression method (best compression)." -msgstr "" +msgstr "Indica o método mais lento de compressão (melhor compressão)." -#: ../../library/gzip.rst:262 +#: ../../library/gzip.rst:268 msgid "Decompress the given file." msgstr "Descompacta o arquivo dado." -#: ../../library/gzip.rst:266 +#: ../../library/gzip.rst:272 msgid "Show the help message." msgstr "Exibe a mensagem de ajuda." diff --git a/library/hashlib.po b/library/hashlib.po index 60a26185c..f16dc7f99 100644 --- a/library/hashlib.po +++ b/library/hashlib.po @@ -1,29 +1,28 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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 -# i17obot , 2021 +# python-doc bot, 2025 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.10\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-08-10 13:16+0000\n" -"PO-Revision-Date: 2021-06-28 01:07+0000\n" -"Last-Translator: i17obot , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-10-03 17:10+0000\n" +"PO-Revision-Date: 2025-09-22 15:58+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=2; plural=(n > 1);\n" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/hashlib.rst:2 msgid ":mod:`hashlib` --- Secure hashes and message digests" @@ -48,16 +47,18 @@ msgid "" "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:37 msgid "" -"Some algorithms have known hash collision weaknesses, refer to the \"See also" -"\" section at the end." +"Some algorithms have known hash collision weaknesses, refer to the \"See " +"also\" section at the end." msgstr "" #: ../../library/hashlib.rst:44 msgid "Hash algorithms" -msgstr "" +msgstr "Algoritmos de hash" #: ../../library/hashlib.rst:46 msgid "" @@ -113,6 +114,12 @@ 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." @@ -126,7 +133,7 @@ msgstr "" #: ../../library/hashlib.rst:108 msgid "More condensed:" -msgstr "" +msgstr "Mais condensado:" #: ../../library/hashlib.rst:115 msgid "" @@ -152,6 +159,10 @@ msgid "" "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:141 msgid "" @@ -161,30 +172,39 @@ msgid "" "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:149 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:155 msgid "The size of the resulting hash in bytes." -msgstr "" +msgstr "O tamanho do hash resultante em bytes." #: ../../library/hashlib.rst:159 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:161 msgid "A hash object has the following attributes:" -msgstr "" +msgstr "Um objeto hash tem os seguintes atributos:" #: ../../library/hashlib.rst:165 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:168 msgid "" @@ -192,10 +212,13 @@ msgid "" "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:173 msgid "A hash object has the following methods:" -msgstr "" +msgstr "Um objeto hash tem os seguintes métodos:" #: ../../library/hashlib.rst:178 msgid "" @@ -203,6 +226,10 @@ msgid "" "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:183 msgid "" @@ -217,6 +244,9 @@ msgid "" "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:198 ../../library/hashlib.rst:226 msgid "" @@ -224,16 +254,23 @@ msgid "" "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:205 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:210 msgid "SHAKE variable length digests" -msgstr "" +msgstr "Resumos de comprimento variável de SHAKE" #: ../../library/hashlib.rst:212 msgid "" @@ -242,6 +279,10 @@ msgid "" "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:219 msgid "" @@ -252,22 +293,29 @@ msgstr "" #: ../../library/hashlib.rst:232 msgid "Key derivation" -msgstr "" +msgstr "Derivação de chave" #: ../../library/hashlib.rst:234 msgid "" "Key derivation and key stretching algorithms are designed for secure " "password hashing. Naive algorithms such as ``sha1(password)`` are not " "resistant against brute-force attacks. A good password hashing function must " -"be tunable, slow, and include a `salt `_." +"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:242 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:245 msgid "" @@ -277,179 +325,216 @@ 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:251 msgid "" "The number of *iterations* should be chosen based on the hash algorithm and " -"computing power. As of 2013, at least 100,000 iterations of SHA-256 are " -"suggested." +"computing power. As of 2022, hundreds of thousands of iterations of SHA-256 " +"are suggested. For rationale as to why and how to choose what is best for " +"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:255 +#: ../../library/hashlib.rst:257 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:267 +#: ../../library/hashlib.rst:270 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:273 +#: ../../library/hashlib.rst:276 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:279 +#: ../../library/hashlib.rst:282 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:282 +#: ../../library/hashlib.rst:285 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:287 +#: ../../library/hashlib.rst:290 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:295 +#: ../../library/hashlib.rst:298 msgid "BLAKE2" -msgstr "" +msgstr "BLAKE2" -#: ../../library/hashlib.rst:302 +#: ../../library/hashlib.rst:305 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:305 +#: ../../library/hashlib.rst:308 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:308 +#: ../../library/hashlib.rst:311 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:311 +#: ../../library/hashlib.rst:314 msgid "" "BLAKE2 supports **keyed mode** (a faster and simpler replacement for HMAC_), " "**salted hashing**, **personalization**, and **tree hashing**." msgstr "" -#: ../../library/hashlib.rst:314 +#: ../../library/hashlib.rst:317 msgid "" "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:319 +#: ../../library/hashlib.rst:322 msgid "Creating hash objects" -msgstr "" +msgstr "Criando objetos hash" -#: ../../library/hashlib.rst:321 +#: ../../library/hashlib.rst:324 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:335 +#: ../../library/hashlib.rst:338 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:338 +#: ../../library/hashlib.rst:341 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:341 +#: ../../library/hashlib.rst:344 msgid "*digest_size*: size of output digest in bytes." -msgstr "" +msgstr "*digest_size*: tamanho do resumo de saída em bytes." -#: ../../library/hashlib.rst:343 +#: ../../library/hashlib.rst:346 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:346 +#: ../../library/hashlib.rst:349 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:349 +#: ../../library/hashlib.rst:352 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:352 +#: ../../library/hashlib.rst:355 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:355 +#: ../../library/hashlib.rst:358 msgid "Hash" -msgstr "" +msgstr "Hash" -#: ../../library/hashlib.rst:355 +#: ../../library/hashlib.rst:358 msgid "digest_size" msgstr "digest_size" -#: ../../library/hashlib.rst:355 +#: ../../library/hashlib.rst:358 msgid "len(key)" -msgstr "" +msgstr "len(key)" -#: ../../library/hashlib.rst:355 +#: ../../library/hashlib.rst:358 msgid "len(salt)" -msgstr "" +msgstr "len(salt)" -#: ../../library/hashlib.rst:355 +#: ../../library/hashlib.rst:358 msgid "len(person)" -msgstr "" +msgstr "len(person)" -#: ../../library/hashlib.rst:357 +#: ../../library/hashlib.rst:360 msgid "BLAKE2b" -msgstr "" +msgstr "BLAKE2b" -#: ../../library/hashlib.rst:357 +#: ../../library/hashlib.rst:360 msgid "64" -msgstr "" +msgstr "64" -#: ../../library/hashlib.rst:357 +#: ../../library/hashlib.rst:360 msgid "16" -msgstr "" +msgstr "16" -#: ../../library/hashlib.rst:358 +#: ../../library/hashlib.rst:361 msgid "BLAKE2s" -msgstr "" +msgstr "BLAKE2s" -#: ../../library/hashlib.rst:358 +#: ../../library/hashlib.rst:361 msgid "32" msgstr "32" -#: ../../library/hashlib.rst:358 +#: ../../library/hashlib.rst:361 msgid "8" msgstr "8" -#: ../../library/hashlib.rst:363 +#: ../../library/hashlib.rst:366 msgid "" "BLAKE2 specification defines constant lengths for salt and personalization " "parameters, however, for convenience, this implementation accepts byte " @@ -459,94 +544,90 @@ msgid "" "the case for *key*.)" msgstr "" -#: ../../library/hashlib.rst:370 +#: ../../library/hashlib.rst:373 msgid "These sizes are available as module `constants`_ described below." msgstr "" -#: ../../library/hashlib.rst:372 +#: ../../library/hashlib.rst:375 msgid "" "Constructor functions also accept the following tree hashing parameters:" msgstr "" -#: ../../library/hashlib.rst:374 +#: ../../library/hashlib.rst:377 msgid "*fanout*: fanout (0 to 255, 0 if unlimited, 1 in sequential mode)." msgstr "" -#: ../../library/hashlib.rst:376 +#: ../../library/hashlib.rst:379 msgid "" "*depth*: maximal depth of tree (1 to 255, 255 if unlimited, 1 in sequential " "mode)." msgstr "" -#: ../../library/hashlib.rst:379 +#: ../../library/hashlib.rst:382 msgid "" -"*leaf_size*: maximal byte length of leaf (0 to 2**32-1, 0 if unlimited or in " -"sequential mode)." +"*leaf_size*: maximal byte length of leaf (0 to ``2**32-1``, 0 if unlimited " +"or in sequential mode)." msgstr "" -#: ../../library/hashlib.rst:382 +#: ../../library/hashlib.rst:385 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)." +"*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:385 +#: ../../library/hashlib.rst:388 msgid "" "*node_depth*: node depth (0 to 255, 0 for leaves, or in sequential mode)." msgstr "" -#: ../../library/hashlib.rst:387 +#: ../../library/hashlib.rst:390 msgid "" "*inner_size*: inner digest size (0 to 64 for BLAKE2b, 0 to 32 for BLAKE2s, 0 " "in sequential mode)." msgstr "" -#: ../../library/hashlib.rst:390 +#: ../../library/hashlib.rst:393 msgid "" "*last_node*: boolean indicating whether the processed node is the last one " -"(`False` for sequential mode)." +"(``False`` for sequential mode)." msgstr "" -#: ../../library/hashlib.rstNone -msgid "Explanation of tree mode parameters." -msgstr "" - -#: ../../library/hashlib.rst:396 +#: ../../library/hashlib.rst:399 msgid "" "See section 2.10 in `BLAKE2 specification `_ for comprehensive review of tree hashing." msgstr "" -#: ../../library/hashlib.rst:402 +#: ../../library/hashlib.rst:405 msgid "Constants" msgstr "Constantes" -#: ../../library/hashlib.rst:407 +#: ../../library/hashlib.rst:410 msgid "Salt length (maximum length accepted by constructors)." msgstr "" -#: ../../library/hashlib.rst:413 +#: ../../library/hashlib.rst:416 msgid "" "Personalization string length (maximum length accepted by constructors)." msgstr "" -#: ../../library/hashlib.rst:419 +#: ../../library/hashlib.rst:422 msgid "Maximum key size." msgstr "" -#: ../../library/hashlib.rst:425 +#: ../../library/hashlib.rst:428 msgid "Maximum digest size that the hash function can output." msgstr "" -#: ../../library/hashlib.rst:429 +#: ../../library/hashlib.rst:432 msgid "Examples" msgstr "Exemplos" -#: ../../library/hashlib.rst:432 +#: ../../library/hashlib.rst:435 msgid "Simple hashing" msgstr "" -#: ../../library/hashlib.rst:434 +#: ../../library/hashlib.rst:437 msgid "" "To calculate hash of some data, you should first construct a hash object by " "calling the appropriate constructor function (:func:`blake2b` or :func:" @@ -555,79 +636,78 @@ msgid "" "`digest` (or :meth:`hexdigest` for hex-encoded string)." msgstr "" -#: ../../library/hashlib.rst:447 +#: ../../library/hashlib.rst:450 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:454 +#: ../../library/hashlib.rst:457 msgid "" "You can call :meth:`hash.update` as many times as you need to iteratively " "update the hash:" msgstr "" -#: ../../library/hashlib.rst:467 +#: ../../library/hashlib.rst:470 msgid "Using different digest sizes" msgstr "" -#: ../../library/hashlib.rst:469 +#: ../../library/hashlib.rst:472 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:483 +#: ../../library/hashlib.rst:486 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:499 +#: ../../library/hashlib.rst:502 msgid "Keyed hashing" msgstr "" -#: ../../library/hashlib.rst:501 +#: ../../library/hashlib.rst:504 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." +"wikipedia.org/wiki/HMAC>`_ (HMAC). BLAKE2 can be securely used in prefix-MAC " +"mode thanks to the indifferentiability property inherited from BLAKE." msgstr "" -#: ../../library/hashlib.rst:507 +#: ../../library/hashlib.rst:510 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:517 +#: ../../library/hashlib.rst:520 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:546 +#: ../../library/hashlib.rst:549 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:557 +#: ../../library/hashlib.rst:560 msgid "Randomized hashing" msgstr "" -#: ../../library/hashlib.rst:559 +#: ../../library/hashlib.rst:562 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:563 +#: ../../library/hashlib.rst:566 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, " @@ -648,37 +728,37 @@ msgid "" "when all portions of the message are prepared by the signer." msgstr "" -#: ../../library/hashlib.rst:582 +#: ../../library/hashlib.rst:585 msgid "" "(`NIST SP-800-106 \"Randomized Hashing for Digital Signatures\" `_)" msgstr "" -#: ../../library/hashlib.rst:585 +#: ../../library/hashlib.rst:588 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:590 +#: ../../library/hashlib.rst:593 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 " "passwords. See `BLAKE2 FAQ `_ for more information." msgstr "" -#: ../../library/hashlib.rst:613 +#: ../../library/hashlib.rst:616 msgid "Personalization" msgstr "" -#: ../../library/hashlib.rst:615 +#: ../../library/hashlib.rst:618 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:619 +#: ../../library/hashlib.rst:622 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 " @@ -688,41 +768,41 @@ msgid "" "hash function used in the protocol summarily stops this type of attack." msgstr "" -#: ../../library/hashlib.rst:626 +#: ../../library/hashlib.rst:629 msgid "" -"(`The Skein Hash Function Family `_, p. 21)" +"(`The Skein Hash Function Family `_, p. 21)" msgstr "" -#: ../../library/hashlib.rst:630 +#: ../../library/hashlib.rst:633 msgid "BLAKE2 can be personalized by passing bytes to the *person* argument::" msgstr "" -#: ../../library/hashlib.rst:644 +#: ../../library/hashlib.rst:647 msgid "" "Personalization together with the keyed mode can also be used to derive " "different keys from a single one." msgstr "" -#: ../../library/hashlib.rst:658 +#: ../../library/hashlib.rst:661 msgid "Tree mode" msgstr "Modo árvore" -#: ../../library/hashlib.rst:660 +#: ../../library/hashlib.rst:663 msgid "Here's an example of hashing a minimal tree with two leaf nodes::" msgstr "" -#: ../../library/hashlib.rst:666 +#: ../../library/hashlib.rst:669 msgid "" "This example uses 64-byte internal digests, and returns the 32-byte final " "digest::" msgstr "" -#: ../../library/hashlib.rst:696 +#: ../../library/hashlib.rst:699 msgid "Credits" msgstr "" -#: ../../library/hashlib.rst:698 +#: ../../library/hashlib.rst:701 msgid "" "BLAKE2_ was designed by *Jean-Philippe Aumasson*, *Samuel Neves*, *Zooko " "Wilcox-O'Hearn*, and *Christian Winnerlein* based on SHA-3_ finalist BLAKE_ " @@ -730,104 +810,113 @@ msgid "" "*Raphael C.-W. Phan*." msgstr "" -#: ../../library/hashlib.rst:703 +#: ../../library/hashlib.rst:706 msgid "" "It uses core algorithm from ChaCha_ cipher designed by *Daniel J. " "Bernstein*." msgstr "" -#: ../../library/hashlib.rst:705 +#: ../../library/hashlib.rst:708 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:709 +#: ../../library/hashlib.rst:712 msgid "The C code was partly rewritten for Python by *Christian Heimes*." msgstr "" -#: ../../library/hashlib.rst:711 +#: ../../library/hashlib.rst:714 msgid "" "The following public domain dedication applies for both C hash function " "implementation, extension code, and this documentation:" msgstr "" -#: ../../library/hashlib.rst:714 +#: ../../library/hashlib.rst:717 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:718 +#: ../../library/hashlib.rst:721 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:722 +#: ../../library/hashlib.rst:725 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:726 +#: ../../library/hashlib.rst:729 msgid "*Alexandr Sokolovskiy*" msgstr "" -#: ../../library/hashlib.rst:740 +#: ../../library/hashlib.rst:744 msgid "Module :mod:`hmac`" msgstr "" -#: ../../library/hashlib.rst:740 +#: ../../library/hashlib.rst:744 msgid "A module to generate message authentication codes using hashes." msgstr "" -#: ../../library/hashlib.rst:743 +#: ../../library/hashlib.rst:747 msgid "Module :mod:`base64`" msgstr "Módulo :mod:`base64`" -#: ../../library/hashlib.rst:743 +#: ../../library/hashlib.rst:747 msgid "Another way to encode binary hashes for non-binary environments." msgstr "" -#: ../../library/hashlib.rst:746 +#: ../../library/hashlib.rst:750 msgid "https://blake2.net" msgstr "" -#: ../../library/hashlib.rst:746 +#: ../../library/hashlib.rst:750 msgid "Official BLAKE2 website." msgstr "" -#: ../../library/hashlib.rst:749 +#: ../../library/hashlib.rst:753 msgid "" "https://csrc.nist.gov/csrc/media/publications/fips/180/2/archive/2002-08-01/" "documents/fips180-2.pdf" msgstr "" -#: ../../library/hashlib.rst:749 +#: ../../library/hashlib.rst:753 msgid "The FIPS 180-2 publication on Secure Hash Algorithms." msgstr "" -#: ../../library/hashlib.rst:753 +#: ../../library/hashlib.rst:757 msgid "" "https://en.wikipedia.org/wiki/" "Cryptographic_hash_function#Cryptographic_hash_algorithms" msgstr "" -#: ../../library/hashlib.rst:752 +#: ../../library/hashlib.rst:756 msgid "" "Wikipedia article with information on which algorithms have known issues and " "what that means regarding their use." msgstr "" -#: ../../library/hashlib.rst:755 +#: ../../library/hashlib.rst:760 msgid "https://www.ietf.org/rfc/rfc8018.txt" msgstr "" -#: ../../library/hashlib.rst:756 +#: ../../library/hashlib.rst:760 msgid "PKCS #5: Password-Based Cryptography Specification Version 2.1" msgstr "" + +#: ../../library/hashlib.rst:762 +msgid "" +"https://nvlpubs.nist.gov/nistpubs/Legacy/SP/nistspecialpublication800-132.pdf" +msgstr "" + +#: ../../library/hashlib.rst:763 +msgid "NIST Recommendation for Password-Based Key Derivation." +msgstr "" diff --git a/library/heapq.po b/library/heapq.po index 02afb1664..a0c198404 100644 --- a/library/heapq.po +++ b/library/heapq.po @@ -1,31 +1,31 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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.10\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-06-29 12:56+0000\n" -"PO-Revision-Date: 2021-06-28 01:07+0000\n" -"Last-Translator: i17obot , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:58+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"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`" @@ -36,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 "" @@ -57,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 "" @@ -64,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:" @@ -77,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 "" @@ -85,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 "" @@ -92,10 +110,13 @@ 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 "" @@ -103,6 +124,9 @@ msgid "" "*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 "" @@ -111,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 "" @@ -119,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 "" @@ -130,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 "" @@ -137,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 "" @@ -151,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 "" @@ -159,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 "" @@ -172,6 +218,11 @@ 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 "" @@ -181,6 +232,11 @@ msgid "" "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 "" @@ -190,10 +246,15 @@ msgid "" "`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" -msgstr "" +msgstr "Exemplos básicos" #: ../../library/heapq.rst:138 msgid "" @@ -201,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 "" @@ -256,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 "" @@ -263,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 "" @@ -270,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 "" @@ -277,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" @@ -289,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 "" @@ -308,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 "" @@ -323,14 +435,23 @@ msgstr "" #: ../../library/heapq.rst:275 msgid "" "A nice feature of this sort is that you can efficiently insert new items " -"while the sort is going on, provided that the inserted items are not \"better" -"\" than the last 0'th element you extracted. This is especially useful in " -"simulation contexts, where the tree holds all incoming events, and the \"win" -"\" condition means the smallest scheduled time. When an event schedules " -"other events for execution, they are scheduled into the future, so 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 "" +"while the sort is going on, provided that the inserted items are not " +"\"better\" than the last 0'th element you extracted. This is especially " +"useful in simulation contexts, where the tree holds all incoming events, and " +"the \"win\" condition means the smallest scheduled time. When an event " +"schedules other events for execution, they are scheduled into the future, so " +"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 "" @@ -340,6 +461,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 "" @@ -354,6 +480,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 "" @@ -365,12 +503,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" @@ -388,3 +536,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 f2f2d84cf..dec02e8b3 100644 --- a/library/hmac.po +++ b/library/hmac.po @@ -1,27 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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.10\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-06-29 12:56+0000\n" -"PO-Revision-Date: 2021-06-28 01:07+0000\n" -"Last-Translator: i17obot , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:58+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/hmac.rst:2 msgid ":mod:`hmac` --- Keyed-Hashing for Message Authentication" @@ -34,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 "" @@ -43,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 "" @@ -50,6 +57,9 @@ 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 msgid "" @@ -66,6 +76,11 @@ msgid "" "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 msgid "" @@ -73,10 +88,13 @@ msgid "" "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 msgid "An HMAC object has the following methods:" -msgstr "" +msgstr "Um objeto HMAC tem os seguintes métodos:" #: ../../library/hmac.rst:55 msgid "" @@ -84,10 +102,14 @@ msgid "" "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 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 msgid "" @@ -96,14 +118,22 @@ msgid "" "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 msgid "" -"When comparing the output of :meth:`digest` to an externally-supplied digest " +"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." 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 msgid "" @@ -111,14 +141,22 @@ msgid "" "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 msgid "" -"When comparing the output of :meth:`hexdigest` to an externally-supplied " +"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." 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 msgid "" @@ -126,22 +164,27 @@ msgid "" "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 msgid "A hash object has the following attributes:" -msgstr "" +msgstr "Um objeto hash tem os seguintes atributos:" #: ../../library/hmac.rst:102 msgid "The size of the resulting HMAC digest in bytes." -msgstr "" +msgstr "O tamanho do resumo HMAC resultante em bytes." #: ../../library/hmac.rst:106 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 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 msgid "" @@ -162,6 +205,11 @@ msgid "" "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 msgid "" @@ -169,11 +217,15 @@ msgid "" "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 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 msgid "Module :mod:`hashlib`" @@ -181,4 +233,4 @@ msgstr "Módulo :mod:`hashlib`" #: ../../library/hmac.rst:150 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 30a4f1ce5..ccae9a2d9 100644 --- a/library/html.entities.po +++ b/library/html.entities.po @@ -1,26 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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.10\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-06-29 12:56+0000\n" -"PO-Revision-Date: 2021-06-28 01:07+0000\n" -"Last-Translator: Rafael Fontenelle , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:58+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/html.entities.rst:2 msgid ":mod:`html.entities` --- Definitions of HTML general entities" @@ -79,6 +80,9 @@ msgid "Footnotes" msgstr "Notas de rodapé" #: ../../library/html.entities.rst:47 -msgid "See https://www.w3.org/TR/html5/syntax.html#named-character-references" +msgid "" +"See https://html.spec.whatwg.org/multipage/named-characters.html#named-" +"character-references" msgstr "" -"Veja https://www.w3.org/TR/html5/syntax.html#named-character-references" +"Veja https://html.spec.whatwg.org/multipage/named-characters.html#named-" +"character-references" diff --git a/library/html.parser.po b/library/html.parser.po index 8707543e4..aa6efc66e 100644 --- a/library/html.parser.po +++ b/library/html.parser.po @@ -1,27 +1,28 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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 +# Rafael Fontenelle , 2025 # #, 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:07+0000\n" -"Last-Translator: Raphael Mendonça, 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-11-19 18:20+0000\n" +"PO-Revision-Date: 2025-09-22 15:58+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=2; plural=(n > 1);\n" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/html.parser.rst:2 msgid ":mod:`html.parser` --- Simple HTML and XHTML parser" @@ -37,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::" 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`." 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`):" 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 of a tag (e.g. ``
``)." +"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 " @@ -150,30 +207,43 @@ 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/')])``." 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 " @@ -181,62 +251,85 @@ msgid "" "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``." +"in this case the method will receive ``'62'`` or ``'x3E'``. This method is " +"only called if *convert_charrefs* is false." msgstr "" -#: ../../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 " @@ -244,67 +337,92 @@ 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``)::" +"`~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::" diff --git a/library/html.po b/library/html.po index 6ca5e7e7e..6ddaa5800 100644 --- a/library/html.po +++ b/library/html.po @@ -1,30 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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 -# 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.10\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-06-29 12:56+0000\n" -"PO-Revision-Date: 2021-06-28 01:07+0000\n" -"Last-Translator: Marcelo Bitencourt , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:58+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/html.rst:2 msgid ":mod:`html` --- HyperText Markup Language support" @@ -32,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." @@ -42,15 +39,16 @@ msgstr "Este módulo define utilitários para manipular HTML." msgid "" "Convert the characters ``&``, ``<`` and ``>`` in string *s* to HTML-safe " "sequences. Use this if you need to display text that might contain such " -"characters in HTML. If the optional flag *quote* is true, the characters (``" -"\"``) and (``'``) are also translated; this helps for inclusion in an HTML " -"attribute value delimited by quotes, as in ````." +"characters in HTML. If the optional flag *quote* is true, the characters " +"(``\"``) and (``'``) are also translated; this helps for inclusion in an " +"HTML attribute value delimited by quotes, as in ````." msgstr "" "Converte os caracteres ``&``, ``<`` e ``>`` na string *s* para sequências " "seguras em HTML. Use se necessitar mostrar texto que possa conter estes " -"caracteres no HTML. Se o flag opcional *quote* é true, os caracteres (``" -"\"``) e (``'``) também são convertidos; isso auxilia na inclusão de valores " -"delimitados por aspas num atributo HTML, como em ````." +"caracteres no HTML. Se o flag opcional *quote* é true, os caracteres " +"(``\"``) e (``'``) também são convertidos; isso auxilia na inclusão de " +"valores delimitados por aspas num atributo HTML, como em ````." #: ../../library/html.rst:26 msgid "" diff --git a/library/http.client.po b/library/http.client.po index bd19f8044..f42660ba1 100644 --- a/library/http.client.po +++ b/library/http.client.po @@ -1,29 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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 -# Marcos Wenneton Araújo , 2021 -# i17obot , 2021 +# python-doc bot, 2025 # #, 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:07+0000\n" -"Last-Translator: i17obot , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:58+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/http.client.rst:2 msgid ":mod:`http.client` --- HTTP protocol client" @@ -35,13 +33,10 @@ msgstr "**Código-fonte:** :source:`Lib/http/client.py`" #: ../../library/http.client.rst:17 msgid "" -"This module defines classes which implement the client side of the HTTP and " +"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." msgstr "" -"Este módulo define classes que implementam o lado do cliente nos protocolos " -"HTTP e HTTPS. Normalmente não é utilizada diretamente -- o módulo :mod:" -"`urllib.request` o utiliza para manipular URLs que utilizam HTTP e HTTPS." #: ../../library/http.client.rst:23 msgid "" @@ -66,7 +61,7 @@ msgstr "O módulo fornece as seguintes classes:" #: ../../library/http.client.rst:37 msgid "" "An :class:`HTTPConnection` instance represents one transaction with an HTTP " -"server. It should be instantiated passing it a host and optional port " +"server. It should be instantiated by passing it a host and optional port " "number. If no port number is passed, the port is extracted from the host " "string if it has the form ``host:port``, else the default HTTP port (80) is " "used. If the optional *timeout* parameter is given, blocking operations " @@ -76,18 +71,6 @@ msgid "" "source address the HTTP connection is made from. The optional *blocksize* " "parameter sets the buffer size in bytes for sending a file-like message body." msgstr "" -"Uma instância :class:`HTTPConnection` representa uma transação com um " -"servidor HTTP. Deve ser instanciada passando a ela um host e um número de " -"porta opcional. Se nenhum número de porta for informado, a porta é extraída " -"da string do host se ela tem o formato ``host:port``, se não é utilizada a " -"porta padrão HTTP (80). Se o argumento opcional *timeout* for dado, " -"operações de bloqueio (como tentativas de conexão) vão expirar depois desta " -"quantidade de segundos (se não for fornecida, as configurações padrões " -"globais de timeout são utilizadas). O argumento opcional *source_adress* " -"deve ser uma tupla com (host, porta) para utilização do endereço de origem " -"de onde a conexão HTTP está sendo feita. O argumento opcional *blocksize* " -"define o tamanho do buffer em bytes para o envio de um corpo de mensagem " -"semelhante a um arquivo." #: ../../library/http.client.rst:49 msgid "" @@ -104,10 +87,8 @@ msgstr "*source_address* foi adicionado." #: ../../library/http.client.rst:60 msgid "" "The *strict* parameter was removed. HTTP 0.9-style \"Simple Responses\" are " -"not longer supported." +"no longer supported." msgstr "" -"O argumento *strict* foi removido. \"Respostas Simples\" HTTP com o estilo " -"0.9 não são mais suportadas." #: ../../library/http.client.rst:64 msgid "*blocksize* parameter was added." @@ -380,17 +361,17 @@ msgid "" "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 " +"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:277 msgid "" @@ -510,6 +491,8 @@ 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:376 msgid "Close the connection to the server." @@ -586,6 +569,8 @@ 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:448 msgid "HTTPResponse Objects" @@ -618,7 +603,7 @@ msgstr "" 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*, " -"return all of the values joined by ', '. If 'default' is any iterable other " +"return all of the values joined by ', '. If *default* is any iterable other " "than a single string, its elements are similarly returned joined by commas." msgstr "" @@ -699,24 +684,24 @@ msgid "" msgstr "" #: ../../library/http.client.rst:579 -msgid "Here is an example session that shows how to ``POST`` requests::" +msgid "Here is an example session that uses the ``POST`` method::" msgstr "" #: ../../library/http.client.rst:595 msgid "" -"Client side ``HTTP PUT`` requests are very similar to ``POST`` requests. The " -"difference lies only the server side where HTTP server will allow resources " -"to be created via ``PUT`` request. It should be noted that custom HTTP " -"methods are also handled in :class:`urllib.request.Request` by setting the " -"appropriate method attribute. Here is an example session that shows how to " -"send a ``PUT`` request using http.client::" +"Client side HTTP ``PUT`` requests are very similar to ``POST`` requests. The " +"difference lies only on the server side where HTTP servers will allow " +"resources to be created via ``PUT`` requests. It should be noted that custom " +"HTTP methods are also handled in :class:`urllib.request.Request` by setting " +"the appropriate method attribute. Here is an example session that uses the " +"``PUT`` method::" msgstr "" -#: ../../library/http.client.rst:617 +#: ../../library/http.client.rst:616 msgid "HTTPMessage Objects" msgstr "" -#: ../../library/http.client.rst:619 +#: ../../library/http.client.rst:618 msgid "" "An :class:`http.client.HTTPMessage` instance holds the headers from an HTTP " "response. It is implemented using the :class:`email.message.Message` class." diff --git a/library/http.cookiejar.po b/library/http.cookiejar.po index 89100e222..89c1593f7 100644 --- a/library/http.cookiejar.po +++ b/library/http.cookiejar.po @@ -1,30 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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 -# Vinicius Gubiani Ferreira , 2021 -# i17obot , 2021 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.10\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-07-27 13:07+0000\n" -"PO-Revision-Date: 2021-06-28 01:07+0000\n" -"Last-Translator: i17obot , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:58+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/http.cookiejar.rst:2 msgid ":mod:`http.cookiejar` --- Cookie handling for HTTP clients" @@ -82,7 +79,7 @@ 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." @@ -111,17 +108,22 @@ msgid "" "this class are documented in section :ref:`file-cookie-jar-classes`." msgstr "" -#: ../../library/http.cookiejar.rst:76 ../../library/http.cookiejar.rst:350 +#: ../../library/http.cookiejar.rst:74 +msgid "" +"This should not be initialized directly – use its subclasses below instead." +msgstr "" + +#: ../../library/http.cookiejar.rst:78 ../../library/http.cookiejar.rst:351 msgid "The filename parameter supports a :term:`path-like object`." msgstr "" -#: ../../library/http.cookiejar.rst:81 +#: ../../library/http.cookiejar.rst:83 msgid "" "This class is responsible for deciding whether each cookie should be " "accepted from / returned to the server." msgstr "" -#: ../../library/http.cookiejar.rst:87 +#: ../../library/http.cookiejar.rst:89 msgid "" "Constructor arguments should be passed as keyword arguments only. " "*blocked_domains* is a sequence of domain names that we never accept cookies " @@ -133,7 +135,7 @@ msgid "" "`CookiePolicy` and :class:`DefaultCookiePolicy` objects." msgstr "" -#: ../../library/http.cookiejar.rst:96 +#: ../../library/http.cookiejar.rst:98 msgid "" ":class:`DefaultCookiePolicy` implements the standard accept / reject rules " "for Netscape and :rfc:`2965` cookies. By default, :rfc:`2109` cookies (ie. " @@ -146,7 +148,7 @@ msgid "" "parameters to allow some fine-tuning of policy." msgstr "" -#: ../../library/http.cookiejar.rst:109 +#: ../../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:" @@ -154,29 +156,29 @@ msgid "" "class:`CookieJar` instance." msgstr "" -#: ../../library/http.cookiejar.rst:118 +#: ../../library/http.cookiejar.rst:120 msgid "Module :mod:`urllib.request`" msgstr "Módulo :mod:`urllib.request`" -#: ../../library/http.cookiejar.rst:118 +#: ../../library/http.cookiejar.rst:120 msgid "URL opening with automatic cookie handling." msgstr "" -#: ../../library/http.cookiejar.rst:123 +#: ../../library/http.cookiejar.rst:125 msgid "Module :mod:`http.cookies`" msgstr "" -#: ../../library/http.cookiejar.rst:121 +#: ../../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." msgstr "" -#: ../../library/http.cookiejar.rst:129 -msgid "https://curl.haxx.se/rfc/cookie_spec.html" +#: ../../library/http.cookiejar.rst:131 +msgid "https://curl.se/rfc/cookie_spec.html" msgstr "" -#: ../../library/http.cookiejar.rst:126 +#: ../../library/http.cookiejar.rst:128 msgid "" "The specification of the original Netscape cookie protocol. Though this is " "still the dominant protocol, the 'Netscape cookie protocol' implemented by " @@ -184,55 +186,55 @@ msgid "" "resemblance to the one sketched out in ``cookie_spec.html``." msgstr "" -#: ../../library/http.cookiejar.rst:132 +#: ../../library/http.cookiejar.rst:134 msgid ":rfc:`2109` - HTTP State Management Mechanism" msgstr "" -#: ../../library/http.cookiejar.rst:132 +#: ../../library/http.cookiejar.rst:134 msgid "Obsoleted by :rfc:`2965`. Uses :mailheader:`Set-Cookie` with version=1." msgstr "" -#: ../../library/http.cookiejar.rst:136 +#: ../../library/http.cookiejar.rst:138 msgid ":rfc:`2965` - HTTP State Management Mechanism" msgstr "" -#: ../../library/http.cookiejar.rst:135 +#: ../../library/http.cookiejar.rst:137 msgid "" "The Netscape protocol with the bugs fixed. Uses :mailheader:`Set-Cookie2` " "in place of :mailheader:`Set-Cookie`. Not widely used." msgstr "" -#: ../../library/http.cookiejar.rst:139 +#: ../../library/http.cookiejar.rst:141 msgid "http://kristol.org/cookie/errata.html" msgstr "" -#: ../../library/http.cookiejar.rst:139 +#: ../../library/http.cookiejar.rst:141 msgid "Unfinished errata to :rfc:`2965`." msgstr "" -#: ../../library/http.cookiejar.rst:141 +#: ../../library/http.cookiejar.rst:143 msgid ":rfc:`2964` - Use of HTTP State Management" msgstr "" -#: ../../library/http.cookiejar.rst:146 +#: ../../library/http.cookiejar.rst:148 msgid "CookieJar and FileCookieJar Objects" msgstr "" -#: ../../library/http.cookiejar.rst:148 +#: ../../library/http.cookiejar.rst:150 msgid "" ":class:`CookieJar` objects support the :term:`iterator` protocol for " "iterating over contained :class:`Cookie` objects." msgstr "" -#: ../../library/http.cookiejar.rst:151 +#: ../../library/http.cookiejar.rst:153 msgid ":class:`CookieJar` has the following methods:" msgstr "" -#: ../../library/http.cookiejar.rst:156 +#: ../../library/http.cookiejar.rst:158 msgid "Add correct :mailheader:`Cookie` header to *request*." msgstr "" -#: ../../library/http.cookiejar.rst:158 +#: ../../library/http.cookiejar.rst:160 msgid "" "If policy allows (ie. the :attr:`rfc2965` and :attr:`hide_cookie2` " "attributes of the :class:`CookieJar`'s :class:`CookiePolicy` instance are " @@ -240,28 +242,28 @@ msgid "" "when appropriate." msgstr "" -#: ../../library/http.cookiejar.rst:162 +#: ../../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:`get_host`, :meth:" -"`get_type`, :meth:`unverifiable`, :meth:`has_header`, :meth:`get_header`, :" -"meth:`header_items`, :meth:`add_unredirected_header` and :attr:" -"`origin_req_host` attribute 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:171 ../../library/http.cookiejar.rst:197 +#: ../../library/http.cookiejar.rst:172 ../../library/http.cookiejar.rst:198 msgid "" "*request* object needs :attr:`origin_req_host` attribute. Dependency on a " "deprecated method :meth:`get_origin_req_host` has been removed." msgstr "" -#: ../../library/http.cookiejar.rst:177 +#: ../../library/http.cookiejar.rst:178 msgid "" "Extract cookies from HTTP *response* and store them in the :class:" "`CookieJar`, where allowed by policy." msgstr "" -#: ../../library/http.cookiejar.rst:180 +#: ../../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 " @@ -269,52 +271,52 @@ msgid "" "approval)." msgstr "" -#: ../../library/http.cookiejar.rst:184 +#: ../../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." msgstr "" -#: ../../library/http.cookiejar.rst:188 +#: ../../library/http.cookiejar.rst:189 msgid "" "The *request* object (usually a :class:`urllib.request.Request` instance) " -"must support the methods :meth:`get_full_url`, :meth:`get_host`, :meth:" -"`unverifiable`, and :attr:`origin_req_host` attribute, as documented by :mod:" -"`urllib.request`. The request is used to set default values for cookie-" +"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:202 +#: ../../library/http.cookiejar.rst:203 msgid "Set the :class:`CookiePolicy` instance to be used." msgstr "" -#: ../../library/http.cookiejar.rst:207 +#: ../../library/http.cookiejar.rst:208 msgid "" "Return sequence of :class:`Cookie` objects extracted from *response* object." msgstr "" -#: ../../library/http.cookiejar.rst:209 +#: ../../library/http.cookiejar.rst:210 msgid "" "See the documentation for :meth:`extract_cookies` for the interfaces " "required of the *response* and *request* arguments." msgstr "" -#: ../../library/http.cookiejar.rst:215 +#: ../../library/http.cookiejar.rst:216 msgid "Set a :class:`Cookie` if policy says it's OK to do so." msgstr "" -#: ../../library/http.cookiejar.rst:220 +#: ../../library/http.cookiejar.rst:221 msgid "" "Set a :class:`Cookie`, without checking with policy to see whether or not it " "should be set." msgstr "" -#: ../../library/http.cookiejar.rst:226 +#: ../../library/http.cookiejar.rst:227 msgid "Clear some cookies." msgstr "" -#: ../../library/http.cookiejar.rst:228 +#: ../../library/http.cookiejar.rst:229 msgid "" "If invoked without arguments, clear all cookies. If given a single " "argument, only cookies belonging to that *domain* will be removed. If given " @@ -323,15 +325,15 @@ msgid "" "*domain*, *path* and *name* is removed." msgstr "" -#: ../../library/http.cookiejar.rst:234 +#: ../../library/http.cookiejar.rst:235 msgid "Raises :exc:`KeyError` if no matching cookie exists." msgstr "" -#: ../../library/http.cookiejar.rst:239 +#: ../../library/http.cookiejar.rst:240 msgid "Discard all session cookies." msgstr "Descarta os cookies de sessão." -#: ../../library/http.cookiejar.rst:241 +#: ../../library/http.cookiejar.rst:242 msgid "" "Discards all contained cookies that have a true :attr:`discard` attribute " "(usually because they had either no ``max-age`` or ``expires`` cookie-" @@ -340,27 +342,27 @@ msgid "" "window." msgstr "" -#: ../../library/http.cookiejar.rst:246 +#: ../../library/http.cookiejar.rst:247 msgid "" "Note that the :meth:`save` method won't save session cookies anyway, unless " "you ask otherwise by passing a true *ignore_discard* argument." msgstr "" -#: ../../library/http.cookiejar.rst:249 +#: ../../library/http.cookiejar.rst:250 msgid ":class:`FileCookieJar` implements the following additional methods:" msgstr "" -#: ../../library/http.cookiejar.rst:254 +#: ../../library/http.cookiejar.rst:255 msgid "Save cookies to a file." msgstr "" -#: ../../library/http.cookiejar.rst:256 +#: ../../library/http.cookiejar.rst:257 msgid "" "This base class raises :exc:`NotImplementedError`. Subclasses may leave " "this method unimplemented." msgstr "" -#: ../../library/http.cookiejar.rst:259 +#: ../../library/http.cookiejar.rst:260 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 " @@ -368,65 +370,65 @@ msgid "" "`None`, :exc:`ValueError` is raised." msgstr "" -#: ../../library/http.cookiejar.rst:264 +#: ../../library/http.cookiejar.rst:265 msgid "" "*ignore_discard*: save even cookies set to be discarded. *ignore_expires*: " "save even cookies that have expired" msgstr "" -#: ../../library/http.cookiejar.rst:267 +#: ../../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." msgstr "" -#: ../../library/http.cookiejar.rst:274 +#: ../../library/http.cookiejar.rst:275 msgid "Load cookies from a file." msgstr "" -#: ../../library/http.cookiejar.rst:276 +#: ../../library/http.cookiejar.rst:277 msgid "Old cookies are kept unless overwritten by newly loaded ones." msgstr "" -#: ../../library/http.cookiejar.rst:278 +#: ../../library/http.cookiejar.rst:279 msgid "Arguments are as for :meth:`save`." msgstr "" -#: ../../library/http.cookiejar.rst:280 +#: ../../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." msgstr "" -#: ../../library/http.cookiejar.rst:284 +#: ../../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:" +":exc:`IOError` costumava ser levantada, agora ela é um apelido para :exc:" "`OSError`." -#: ../../library/http.cookiejar.rst:290 +#: ../../library/http.cookiejar.rst:291 msgid "Clear all cookies and reload cookies from a saved file." msgstr "" -#: ../../library/http.cookiejar.rst:292 +#: ../../library/http.cookiejar.rst:293 msgid "" ":meth:`revert` can raise the same exceptions as :meth:`load`. If there is a " "failure, the object's state will not be altered." msgstr "" -#: ../../library/http.cookiejar.rst:295 +#: ../../library/http.cookiejar.rst:296 msgid ":class:`FileCookieJar` instances have the following public attributes:" msgstr "" -#: ../../library/http.cookiejar.rst:300 +#: ../../library/http.cookiejar.rst:301 msgid "" "Filename of default file in which to keep cookies. This attribute may be " "assigned to." msgstr "" -#: ../../library/http.cookiejar.rst:306 +#: ../../library/http.cookiejar.rst:307 msgid "" "If true, load cookies lazily from disk. This attribute should not be " "assigned to. This is only a hint, since this only affects performance, not " @@ -435,43 +437,43 @@ msgid "" "in the standard library lazily loads cookies." msgstr "" -#: ../../library/http.cookiejar.rst:316 +#: ../../library/http.cookiejar.rst:317 msgid "FileCookieJar subclasses and co-operation with web browsers" msgstr "" -#: ../../library/http.cookiejar.rst:318 +#: ../../library/http.cookiejar.rst:319 msgid "" "The following :class:`CookieJar` subclasses are provided for reading and " "writing." msgstr "" -#: ../../library/http.cookiejar.rst:323 +#: ../../library/http.cookiejar.rst:324 msgid "" "A :class:`FileCookieJar` that can load from and save cookies to disk in the " -"Mozilla ``cookies.txt`` file format (which is also used by the Lynx and " -"Netscape browsers)." +"Mozilla ``cookies.txt`` file format (which is also used by curl and the Lynx " +"and Netscape browsers)." msgstr "" -#: ../../library/http.cookiejar.rst:329 +#: ../../library/http.cookiejar.rst:330 msgid "" "This loses information about :rfc:`2965` cookies, and also about newer or " "non-standard cookie-attributes such as ``port``." msgstr "" -#: ../../library/http.cookiejar.rst:334 +#: ../../library/http.cookiejar.rst:335 msgid "" "Back up your cookies before saving if you have cookies whose loss / " "corruption would be inconvenient (there are some subtleties which may lead " "to slight changes in the file over a load / save round-trip)." msgstr "" -#: ../../library/http.cookiejar.rst:338 +#: ../../library/http.cookiejar.rst:339 msgid "" "Also note that cookies saved while Mozilla is running will get clobbered by " "Mozilla." msgstr "" -#: ../../library/http.cookiejar.rst:344 +#: ../../library/http.cookiejar.rst:345 msgid "" "A :class:`FileCookieJar` that can load from and save cookies to disk in " "format compatible with the libwww-perl library's ``Set-Cookie3`` file " @@ -479,47 +481,47 @@ msgid "" "file." msgstr "" -#: ../../library/http.cookiejar.rst:355 +#: ../../library/http.cookiejar.rst:356 msgid "CookiePolicy Objects" msgstr "Objeto CookiePolicy" -#: ../../library/http.cookiejar.rst:357 +#: ../../library/http.cookiejar.rst:358 msgid "" "Objects implementing the :class:`CookiePolicy` interface have the following " "methods:" msgstr "" -#: ../../library/http.cookiejar.rst:363 +#: ../../library/http.cookiejar.rst:364 msgid "" "Return boolean value indicating whether cookie should be accepted from " "server." msgstr "" -#: ../../library/http.cookiejar.rst:365 +#: ../../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`." msgstr "" -#: ../../library/http.cookiejar.rst:372 +#: ../../library/http.cookiejar.rst:373 msgid "" "Return boolean value indicating whether cookie should be returned to server." msgstr "" -#: ../../library/http.cookiejar.rst:374 +#: ../../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`." msgstr "" -#: ../../library/http.cookiejar.rst:381 +#: ../../library/http.cookiejar.rst:382 msgid "" "Return ``False`` if cookies should not be returned, given cookie domain." msgstr "" -#: ../../library/http.cookiejar.rst:383 +#: ../../library/http.cookiejar.rst:384 msgid "" "This method is an optimization. It removes the need for checking every " "cookie with a particular domain (which might involve reading many files). " @@ -527,7 +529,7 @@ msgid "" "leaves all the work to :meth:`return_ok`." msgstr "" -#: ../../library/http.cookiejar.rst:388 +#: ../../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:" @@ -537,7 +539,7 @@ msgid "" "`return_ok` is never called for that cookie path." msgstr "" -#: ../../library/http.cookiejar.rst:395 +#: ../../library/http.cookiejar.rst:396 msgid "" "Note that :meth:`domain_return_ok` is called for every *cookie* domain, not " "just for the *request* domain. For example, the function might be called " @@ -545,19 +547,19 @@ msgid "" "domain is ``\"www.example.com\"``. The same goes for :meth:`path_return_ok`." msgstr "" -#: ../../library/http.cookiejar.rst:400 +#: ../../library/http.cookiejar.rst:401 msgid "The *request* argument is as documented for :meth:`return_ok`." msgstr "" -#: ../../library/http.cookiejar.rst:405 +#: ../../library/http.cookiejar.rst:406 msgid "Return ``False`` if cookies should not be returned, given cookie path." msgstr "" -#: ../../library/http.cookiejar.rst:407 +#: ../../library/http.cookiejar.rst:408 msgid "See the documentation for :meth:`domain_return_ok`." msgstr "" -#: ../../library/http.cookiejar.rst:409 +#: ../../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, " @@ -565,21 +567,21 @@ msgid "" "may be assigned to." msgstr "" -#: ../../library/http.cookiejar.rst:417 +#: ../../library/http.cookiejar.rst:418 msgid "Implement Netscape protocol." msgstr "" -#: ../../library/http.cookiejar.rst:422 +#: ../../library/http.cookiejar.rst:423 msgid "Implement :rfc:`2965` protocol." msgstr "" -#: ../../library/http.cookiejar.rst:427 +#: ../../library/http.cookiejar.rst:428 msgid "" "Don't add :mailheader:`Cookie2` header to requests (the presence of this " "header indicates to the server that we understand :rfc:`2965` cookies)." msgstr "" -#: ../../library/http.cookiejar.rst:430 +#: ../../library/http.cookiejar.rst:431 msgid "" "The most useful way to define a :class:`CookiePolicy` class is by " "subclassing from :class:`DefaultCookiePolicy` and overriding some or all of " @@ -588,28 +590,28 @@ msgid "" "to be useful)." msgstr "" -#: ../../library/http.cookiejar.rst:439 +#: ../../library/http.cookiejar.rst:440 msgid "DefaultCookiePolicy Objects" msgstr "" -#: ../../library/http.cookiejar.rst:441 +#: ../../library/http.cookiejar.rst:442 msgid "Implements the standard rules for accepting and returning cookies." msgstr "" -#: ../../library/http.cookiejar.rst:443 +#: ../../library/http.cookiejar.rst:444 msgid "" "Both :rfc:`2965` and Netscape cookies are covered. RFC 2965 handling is " "switched off by default." msgstr "" -#: ../../library/http.cookiejar.rst:446 +#: ../../library/http.cookiejar.rst:447 msgid "" "The easiest way to provide your own policy is to override this class and " "call its methods in your overridden implementations before adding your own " "additional checks::" msgstr "" -#: ../../library/http.cookiejar.rst:459 +#: ../../library/http.cookiejar.rst:460 msgid "" "In addition to the features required to implement the :class:`CookiePolicy` " "interface, this class allows you to block and allow domains from setting and " @@ -618,7 +620,7 @@ msgid "" "cost of blocking some benign cookies)." msgstr "" -#: ../../library/http.cookiejar.rst:465 +#: ../../library/http.cookiejar.rst:466 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 " @@ -629,59 +631,59 @@ msgid "" "off again by setting it to :const:`None`." msgstr "" -#: ../../library/http.cookiejar.rst:473 +#: ../../library/http.cookiejar.rst:474 msgid "" "Domains in block or allow lists that do not start with a dot must equal the " "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\"``, " +"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:482 +#: ../../library/http.cookiejar.rst:483 msgid "" ":class:`DefaultCookiePolicy` implements the following additional methods:" msgstr "" -#: ../../library/http.cookiejar.rst:487 +#: ../../library/http.cookiejar.rst:488 msgid "Return the sequence of blocked domains (as a tuple)." msgstr "" -#: ../../library/http.cookiejar.rst:492 +#: ../../library/http.cookiejar.rst:493 msgid "Set the sequence of blocked domains." msgstr "" -#: ../../library/http.cookiejar.rst:497 +#: ../../library/http.cookiejar.rst:498 msgid "" "Return whether *domain* is on the blocklist for setting or receiving cookies." msgstr "" -#: ../../library/http.cookiejar.rst:502 +#: ../../library/http.cookiejar.rst:503 msgid "Return :const:`None`, or the sequence of allowed domains (as a tuple)." msgstr "" -#: ../../library/http.cookiejar.rst:507 +#: ../../library/http.cookiejar.rst:508 msgid "Set the sequence of allowed domains, or :const:`None`." msgstr "" -#: ../../library/http.cookiejar.rst:512 +#: ../../library/http.cookiejar.rst:513 msgid "" "Return whether *domain* is not on the allowlist for setting or receiving " "cookies." msgstr "" -#: ../../library/http.cookiejar.rst:515 +#: ../../library/http.cookiejar.rst:516 msgid "" ":class:`DefaultCookiePolicy` instances have the following attributes, which " "are all initialised from the constructor arguments of the same name, and " "which may all be assigned to." msgstr "" -#: ../../library/http.cookiejar.rst:522 +#: ../../library/http.cookiejar.rst:523 msgid "" "If true, request that the :class:`CookieJar` instance downgrade :rfc:`2109` " "cookies (ie. cookies received in a :mailheader:`Set-Cookie` header with a " @@ -692,22 +694,22 @@ msgid "" "by default." msgstr "" -#: ../../library/http.cookiejar.rst:530 +#: ../../library/http.cookiejar.rst:531 msgid "General strictness switches:" msgstr "" -#: ../../library/http.cookiejar.rst:534 +#: ../../library/http.cookiejar.rst:535 msgid "" "Don't allow sites to set two-component domains with country-code top-level " "domains like ``.co.uk``, ``.gov.uk``, ``.co.nz``.etc. This is far from " "perfect and isn't guaranteed to work!" msgstr "" -#: ../../library/http.cookiejar.rst:539 +#: ../../library/http.cookiejar.rst:540 msgid ":rfc:`2965` protocol strictness switches:" msgstr "" -#: ../../library/http.cookiejar.rst:543 +#: ../../library/http.cookiejar.rst:544 msgid "" "Follow :rfc:`2965` rules on unverifiable transactions (usually, an " "unverifiable transaction is one resulting from a redirect or a request for " @@ -715,46 +717,46 @@ msgid "" "blocked on the basis of verifiability" msgstr "" -#: ../../library/http.cookiejar.rst:549 +#: ../../library/http.cookiejar.rst:550 msgid "Netscape protocol strictness switches:" msgstr "" -#: ../../library/http.cookiejar.rst:553 +#: ../../library/http.cookiejar.rst:554 msgid "" "Apply :rfc:`2965` rules on unverifiable transactions even to Netscape " "cookies." msgstr "" -#: ../../library/http.cookiejar.rst:558 +#: ../../library/http.cookiejar.rst:559 msgid "" "Flags indicating how strict to be with domain-matching rules for Netscape " "cookies. See below for acceptable values." msgstr "" -#: ../../library/http.cookiejar.rst:564 +#: ../../library/http.cookiejar.rst:565 msgid "" "Ignore cookies in Set-Cookie: headers that have names starting with ``'$'``." msgstr "" -#: ../../library/http.cookiejar.rst:569 +#: ../../library/http.cookiejar.rst:570 msgid "Don't allow setting cookies whose path doesn't path-match request URI." msgstr "" -#: ../../library/http.cookiejar.rst:571 +#: ../../library/http.cookiejar.rst:572 msgid "" ":attr:`strict_ns_domain` is a collection of flags. Its value is constructed " "by or-ing together (for example, ``DomainStrictNoDots|" "DomainStrictNonDomain`` means both flags are set)." msgstr "" -#: ../../library/http.cookiejar.rst:578 +#: ../../library/http.cookiejar.rst:579 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`` " "contains a dot)." msgstr "" -#: ../../library/http.cookiejar.rst:585 +#: ../../library/http.cookiejar.rst:586 msgid "" "Cookies that did not explicitly specify a ``domain`` cookie-attribute can " "only be returned to a domain equal to the domain that set the cookie (eg. " @@ -762,31 +764,31 @@ msgid "" "no ``domain`` cookie-attribute)." msgstr "" -#: ../../library/http.cookiejar.rst:593 +#: ../../library/http.cookiejar.rst:594 msgid "When setting cookies, require a full :rfc:`2965` domain-match." msgstr "" -#: ../../library/http.cookiejar.rst:595 +#: ../../library/http.cookiejar.rst:596 msgid "" "The following attributes are provided for convenience, and are the most " "useful combinations of the above flags:" msgstr "" -#: ../../library/http.cookiejar.rst:601 +#: ../../library/http.cookiejar.rst:602 msgid "" "Equivalent to 0 (ie. all of the above Netscape domain strictness flags " "switched off)." msgstr "" -#: ../../library/http.cookiejar.rst:607 +#: ../../library/http.cookiejar.rst:608 msgid "Equivalent to ``DomainStrictNoDots|DomainStrictNonDomain``." msgstr "Equivalente a ``DomainStrictNoDots|DomainStrictNonDomain``." -#: ../../library/http.cookiejar.rst:611 +#: ../../library/http.cookiejar.rst:612 msgid "Cookie Objects" msgstr "Objetos Cookie" -#: ../../library/http.cookiejar.rst:613 +#: ../../library/http.cookiejar.rst:614 msgid "" ":class:`Cookie` instances have Python attributes roughly corresponding to " "the standard cookie-attributes specified in the various cookie standards. " @@ -797,14 +799,14 @@ msgid "" "(Netscape) cookies." msgstr "" -#: ../../library/http.cookiejar.rst:621 +#: ../../library/http.cookiejar.rst:622 msgid "" "Assignment to these attributes should not be necessary other than in rare " "circumstances in a :class:`CookiePolicy` method. The class does not enforce " "internal consistency, so you should know what you're doing if you do that." msgstr "" -#: ../../library/http.cookiejar.rst:628 +#: ../../library/http.cookiejar.rst:629 msgid "" "Integer or :const:`None`. Netscape cookies have :attr:`version` 0. :rfc:" "`2965` and :rfc:`2109` cookies have a ``version`` cookie-attribute of 1. " @@ -812,51 +814,51 @@ msgid "" "Netscape cookies, in which case :attr:`version` is 0." msgstr "" -#: ../../library/http.cookiejar.rst:636 +#: ../../library/http.cookiejar.rst:637 msgid "Cookie name (a string)." msgstr "" -#: ../../library/http.cookiejar.rst:641 +#: ../../library/http.cookiejar.rst:642 msgid "Cookie value (a string), or :const:`None`." msgstr "" -#: ../../library/http.cookiejar.rst:646 +#: ../../library/http.cookiejar.rst:647 msgid "" "String representing a port or a set of ports (eg. '80', or '80,8080'), or :" "const:`None`." msgstr "" -#: ../../library/http.cookiejar.rst:652 +#: ../../library/http.cookiejar.rst:653 msgid "Cookie path (a string, eg. ``'/acme/rocket_launchers'``)." msgstr "" -#: ../../library/http.cookiejar.rst:657 +#: ../../library/http.cookiejar.rst:658 msgid "``True`` if cookie should only be returned over a secure connection." msgstr "" -#: ../../library/http.cookiejar.rst:662 +#: ../../library/http.cookiejar.rst:663 msgid "" "Integer expiry date in seconds since epoch, or :const:`None`. See also the :" "meth:`is_expired` method." msgstr "" -#: ../../library/http.cookiejar.rst:668 +#: ../../library/http.cookiejar.rst:669 msgid "``True`` if this is a session cookie." msgstr "" -#: ../../library/http.cookiejar.rst:673 +#: ../../library/http.cookiejar.rst:674 msgid "" "String comment from the server explaining the function of this cookie, or :" "const:`None`." msgstr "" -#: ../../library/http.cookiejar.rst:679 +#: ../../library/http.cookiejar.rst:680 msgid "" "URL linking to a comment from the server explaining the function of this " "cookie, or :const:`None`." msgstr "" -#: ../../library/http.cookiejar.rst:685 +#: ../../library/http.cookiejar.rst:686 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 " @@ -865,70 +867,70 @@ msgid "" "cookies, in which case :attr:`version` is 0." msgstr "" -#: ../../library/http.cookiejar.rst:694 +#: ../../library/http.cookiejar.rst:695 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:700 +#: ../../library/http.cookiejar.rst:701 msgid "``True`` if a domain was explicitly specified by the server." msgstr "" -#: ../../library/http.cookiejar.rst:705 +#: ../../library/http.cookiejar.rst:706 msgid "" "``True`` if the domain explicitly specified by the server began with a dot " "(``'.'``)." msgstr "" -#: ../../library/http.cookiejar.rst:708 +#: ../../library/http.cookiejar.rst:709 msgid "" "Cookies may have additional non-standard cookie-attributes. These may be " "accessed using the following methods:" msgstr "" -#: ../../library/http.cookiejar.rst:714 +#: ../../library/http.cookiejar.rst:715 msgid "Return ``True`` if cookie has the named cookie-attribute." msgstr "" -#: ../../library/http.cookiejar.rst:719 +#: ../../library/http.cookiejar.rst:720 msgid "" "If cookie has the named cookie-attribute, return its value. Otherwise, " "return *default*." msgstr "" -#: ../../library/http.cookiejar.rst:725 +#: ../../library/http.cookiejar.rst:726 msgid "Set the value of the named cookie-attribute." msgstr "" -#: ../../library/http.cookiejar.rst:727 +#: ../../library/http.cookiejar.rst:728 msgid "The :class:`Cookie` class also defines the following method:" msgstr "" -#: ../../library/http.cookiejar.rst:732 +#: ../../library/http.cookiejar.rst:733 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:738 +#: ../../library/http.cookiejar.rst:739 msgid "Examples" msgstr "Exemplos" -#: ../../library/http.cookiejar.rst:740 +#: ../../library/http.cookiejar.rst:741 msgid "" "The first example shows the most common usage of :mod:`http.cookiejar`::" msgstr "" -#: ../../library/http.cookiejar.rst:747 +#: ../../library/http.cookiejar.rst:748 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:756 +#: ../../library/http.cookiejar.rst:757 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 f12d1aeb7..b05a486dc 100644 --- a/library/http.cookies.po +++ b/library/http.cookies.po @@ -1,31 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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 -# 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.10\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-06-29 12:56+0000\n" -"PO-Revision-Date: 2021-06-28 01:07+0000\n" -"Last-Translator: i17obot , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:58+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/http.cookies.rst:2 msgid ":mod:`http.cookies` --- HTTP state management" diff --git a/library/http.po b/library/http.po index 4ceec1db2..0f860ccf2 100644 --- a/library/http.po +++ b/library/http.po @@ -1,30 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, Python Software 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 +# python-doc bot, 2025 # #, 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:07+0000\n" -"Last-Translator: Marcos Wenneton Araújo , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2026-03-25 18:42+0000\n" +"PO-Revision-Date: 2025-09-22 15:58+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/http.rst:2 msgid ":mod:`http` --- HTTP modules" @@ -47,15 +44,15 @@ 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`" msgstr "" -":mod:`http.server` contains basic HTTP server classes based on :mod:" +":mod:`http.server` contém classes básicas de servidor HTTP baseadas em :mod:" "`socketserver`" #: ../../library/http.rst:21 @@ -63,7 +60,7 @@ 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 @@ -84,7 +81,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 msgid "Usage::" @@ -92,7 +89,7 @@ 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 "" @@ -110,11 +107,11 @@ msgstr "Código" #: ../../library/http.rst:60 msgid "Enum Name" -msgstr "Nome da Enumeração" +msgstr "Nome da enumeração" #: ../../library/http.rst:60 msgid "Details" -msgstr "Detalhes" +msgstr "Detalhes (em inglês)" #: ../../library/http.rst:62 msgid "``100``" @@ -162,7 +159,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``" @@ -270,7 +267,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``" @@ -282,7 +279,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``" @@ -666,7 +663,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``" @@ -691,7 +688,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``" @@ -719,7 +716,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``" @@ -806,8 +803,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``" @@ -831,7 +827,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``" @@ -843,7 +839,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``" @@ -855,7 +851,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 "" @@ -864,23 +860,23 @@ 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``." diff --git a/library/http.server.po b/library/http.server.po index ab4e3ba3c..40436c1a1 100644 --- a/library/http.server.po +++ b/library/http.server.po @@ -1,30 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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 -# Marco Rougeth , 2021 -# Sheila Gomes , 2021 -# i17obot , 2021 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.10\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-07-30 13:09+0000\n" -"PO-Revision-Date: 2021-06-28 01:07+0000\n" -"Last-Translator: i17obot , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:58+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/http.server.rst:2 msgid ":mod:`http.server` --- HTTP servers" @@ -40,8 +37,8 @@ msgstr "" #: ../../library/http.server.rst:22 msgid "" -":mod:`http.server` is not recommended for production. It only implements " -"basic security checks." +":mod:`http.server` is not recommended for production. It only implements :" +"ref:`basic security checks `." msgstr "" #: ../../library/http.server.rst:25 @@ -236,8 +233,8 @@ msgstr "" #: ../../library/http.server.rst:191 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:196 @@ -483,8 +480,8 @@ msgstr "" #: ../../library/http.server.rst:391 msgid "" -"For example usage, see the implementation of the :func:`test` function " -"invocation in the :mod:`http.server` module." +"For example usage, see the implementation of the ``test`` function in :" +"source:`Lib/http/server.py`." msgstr "" #: ../../library/http.server.rst:394 @@ -501,52 +498,58 @@ msgstr "" #: ../../library/http.server.rst:414 msgid "" ":mod:`http.server` can also be invoked directly using the :option:`-m` " -"switch of the interpreter with a ``port number`` argument. Similar to the " -"previous example, this serves files relative to the current directory::" +"switch of the interpreter. Similar to the previous example, this serves " +"files relative to the current directory::" msgstr "" #: ../../library/http.server.rst:420 msgid "" -"By default, server binds itself to all interfaces. The option ``-b/--bind`` " -"specifies a specific address to which it should bind. Both IPv4 and IPv6 " -"addresses are supported. For example, the following command causes the " +"The server listens to port 8000 by default. The default can be overridden by " +"passing the desired port number as an argument::" +msgstr "" + +#: ../../library/http.server.rst:425 +msgid "" +"By default, the server binds itself to all interfaces. The option ``-b/--" +"bind`` specifies a specific address to which it should bind. Both IPv4 and " +"IPv6 addresses are supported. For example, the following command causes the " "server to bind to localhost only::" msgstr "" -#: ../../library/http.server.rst:427 +#: ../../library/http.server.rst:432 msgid "``--bind`` argument was introduced." msgstr "" -#: ../../library/http.server.rst:430 +#: ../../library/http.server.rst:435 msgid "``--bind`` argument enhanced to support IPv6" msgstr "" -#: ../../library/http.server.rst:433 +#: ../../library/http.server.rst:438 msgid "" -"By default, server uses the current directory. The option ``-d/--directory`` " -"specifies a directory to which it should serve the files. For example, the " -"following command uses a specific directory::" +"By default, the server uses the current directory. The option ``-d/--" +"directory`` specifies a directory to which it should serve the files. For " +"example, the following command uses a specific directory::" msgstr "" -#: ../../library/http.server.rst:439 -msgid "``--directory`` specify alternate directory" +#: ../../library/http.server.rst:444 +msgid "``--directory`` argument was introduced." msgstr "" -#: ../../library/http.server.rst:444 +#: ../../library/http.server.rst:449 msgid "" "This class is used to serve either files or output of CGI scripts from the " "current directory and below. Note that mapping HTTP hierarchic structure to " "local directory structure is exactly as in :class:`SimpleHTTPRequestHandler`." msgstr "" -#: ../../library/http.server.rst:450 +#: ../../library/http.server.rst:455 msgid "" "CGI scripts run by the :class:`CGIHTTPRequestHandler` class cannot execute " "redirects (HTTP code 302), because code 200 (script output follows) is sent " "prior to execution of the CGI script. This pre-empts the status code." msgstr "" -#: ../../library/http.server.rst:455 +#: ../../library/http.server.rst:460 msgid "" "The class will however, run the CGI script, instead of serving it as a file, " "if it guesses it to be a CGI script. Only directory-based CGI are used --- " @@ -554,42 +557,66 @@ msgid "" "denoting CGI scripts." msgstr "" -#: ../../library/http.server.rst:460 +#: ../../library/http.server.rst:465 msgid "" "The :func:`do_GET` and :func:`do_HEAD` functions are modified to run CGI " "scripts and serve the output, instead of serving files, if the request leads " "to somewhere below the ``cgi_directories`` path." msgstr "" -#: ../../library/http.server.rst:464 +#: ../../library/http.server.rst:469 msgid "The :class:`CGIHTTPRequestHandler` defines the following data member:" msgstr "" -#: ../../library/http.server.rst:468 +#: ../../library/http.server.rst:473 msgid "" "This defaults to ``['/cgi-bin', '/htbin']`` and describes directories to " "treat as containing CGI scripts." msgstr "" -#: ../../library/http.server.rst:471 +#: ../../library/http.server.rst:476 msgid "The :class:`CGIHTTPRequestHandler` defines the following method:" msgstr "" -#: ../../library/http.server.rst:475 +#: ../../library/http.server.rst:480 msgid "" "This method serves the ``'POST'`` request type, only allowed for CGI " "scripts. Error 501, \"Can only POST to CGI scripts\", is output when trying " "to POST to a non-CGI url." msgstr "" -#: ../../library/http.server.rst:479 +#: ../../library/http.server.rst:484 msgid "" "Note that CGI scripts will be run with UID of user nobody, for security " "reasons. Problems with the CGI script will be translated to error 403." msgstr "" -#: ../../library/http.server.rst:482 +#: ../../library/http.server.rst:487 msgid "" ":class:`CGIHTTPRequestHandler` can be enabled in the command line by passing " "the ``--cgi`` option::" msgstr "" + +#: ../../library/http.server.rst:495 +msgid "Security Considerations" +msgstr "Considerações de Segurança" + +#: ../../library/http.server.rst:499 +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:503 +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." +msgstr "" + +#: ../../library/http.server.rst:509 +msgid "Control characters are scrubbed in stderr logs." +msgstr "" diff --git a/library/i18n.po b/library/i18n.po index dcf62220b..ea9d2443b 100644 --- a/library/i18n.po +++ b/library/i18n.po @@ -1,27 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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.10\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-06-29 12:56+0000\n" -"PO-Revision-Date: 2021-06-28 01:07+0000\n" -"Last-Translator: Raphael Mendonça, 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:58+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/i18n.rst:5 msgid "Internationalization" diff --git a/library/idle.po b/library/idle.po index e3bdcdedc..deb198164 100644 --- a/library/idle.po +++ b/library/idle.po @@ -1,30 +1,29 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, Python Software 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 , 2021 -# Claudio Rogerio Carvalho Filho , 2021 -# Risaffi , 2021 -# i17obot , 2021 +# python-doc bot, 2025 +# Nicolas Noda Uesu, 2025 +# Adorilson Bezerra , 2026 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.10\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-07-27 13:07+0000\n" -"PO-Revision-Date: 2021-06-28 01:07+0000\n" -"Last-Translator: i17obot , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2026-03-11 18:08+0000\n" +"PO-Revision-Date: 2025-09-22 15:58+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=2; plural=(n > 1);\n" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/idle.rst:4 msgid "IDLE" @@ -32,15 +31,17 @@ msgstr "IDLE" #: ../../library/idle.rst:8 msgid "**Source code:** :source:`Lib/idlelib/`" -msgstr "**Código-fonte:**:source:`Lib/idlelib/`" +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" @@ -49,38 +50,48 @@ 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 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 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 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 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 msgid "configuration, browsers, and other dialogs" -msgstr "" +msgstr "configuração, navegadores e outros diálogos" #: ../../library/idle.rst:40 msgid "Menus" -msgstr "" +msgstr "Menus" #: ../../library/idle.rst:42 msgid "" @@ -89,6 +100,11 @@ msgid "" "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 msgid "" @@ -96,6 +112,9 @@ msgid "" "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 msgid "" @@ -103,66 +122,73 @@ msgid "" "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 msgid "File menu (Shell and Editor)" -msgstr "Menu Arquivo (Console e Editor)" +msgstr "Menu File (Console e editor)" #: ../../library/idle.rst:59 msgid "New File" -msgstr "Novo Arquivo" +msgstr "New File" #: ../../library/idle.rst:59 msgid "Create a new file editing window." -msgstr "" +msgstr "Cria uma nova janela de edição de arquivo." #: ../../library/idle.rst:62 msgid "Open..." -msgstr "Abrir..." +msgstr "Open..." #: ../../library/idle.rst:62 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 -msgid "Recent Files" -msgstr "Arquivos Recentes" +msgid "Open Module..." +msgstr "Open Module..." #: ../../library/idle.rst:65 -msgid "Open a list of recent files. Click one to open it." -msgstr "" +msgid "Open an existing module (searches sys.path)." +msgstr "Abre um módulo existente (procura em sys.path)." #: ../../library/idle.rst:68 -msgid "Open Module..." -msgstr "" +msgid "Recent Files" +msgstr "Recent Files" #: ../../library/idle.rst:68 -msgid "Open an existing module (searches sys.path)." -msgstr "" +msgid "Open a list of recent files. Click one to open it." +msgstr "Abre uma lista de arquivos recentes. Clique em um para abri-lo." #: ../../library/idle.rst:76 -msgid "Class Browser" -msgstr "" +msgid "Module Browser" +msgstr "Module Browser" #: ../../library/idle.rst:75 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 msgid "Path Browser" -msgstr "" +msgstr "Path Browser" #: ../../library/idle.rst:79 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 msgid "Save" -msgstr "Salvar" +msgstr "Save" #: ../../library/idle.rst:83 msgid "" @@ -171,290 +197,337 @@ msgid "" "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:90 +#: ../../library/idle.rst:93 msgid "Save As..." -msgstr "Salvar como..." +msgstr "Save As..." #: ../../library/idle.rst:89 msgid "" "Save the current window with a Save As dialog. The file saved becomes the " -"new associated file for the window." +"new associated file for the window. (If your file namager is set to hide " +"extensions, the current extension will be omitted in the file name box. If " +"the new filename has no '.', '.py' and '.txt' will be added for Python and " +"text files, except that on macOS Aqua,'.py' is added for all files.)" msgstr "" -#: ../../library/idle.rst:94 +#: ../../library/idle.rst:97 msgid "Save Copy As..." -msgstr "" +msgstr "Save Copy As..." -#: ../../library/idle.rst:93 +#: ../../library/idle.rst:96 msgid "" "Save the current window to different file without changing the associated " -"file." +"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:97 +#: ../../library/idle.rst:100 msgid "Print Window" -msgstr "" +msgstr "Print Window" -#: ../../library/idle.rst:97 +#: ../../library/idle.rst:100 msgid "Print the current window to the default printer." -msgstr "" +msgstr "Imprime a janela atual para a impressora padrão." -#: ../../library/idle.rst:100 -msgid "Close" -msgstr "" - -#: ../../library/idle.rst:100 -msgid "Close the current window (ask to save if unsaved)." -msgstr "" +#: ../../library/idle.rst:105 +msgid "Close Window" +msgstr "Close Window" #: ../../library/idle.rst:103 -msgid "Exit" +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:103 -msgid "Close all windows and quit IDLE (ask to save unsaved windows)." +#: ../../library/idle.rst:108 +msgid "Exit IDLE" +msgstr "Exit IDLE" + +#: ../../library/idle.rst:108 +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:106 +#: ../../library/idle.rst:111 msgid "Edit menu (Shell and Editor)" -msgstr "" +msgstr "Menu Edit (Shell e Editor)" -#: ../../library/idle.rst:110 +#: ../../library/idle.rst:115 msgid "Undo" -msgstr "Desfazer" +msgstr "Undo" -#: ../../library/idle.rst:109 +#: ../../library/idle.rst:114 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:113 +#: ../../library/idle.rst:118 msgid "Redo" -msgstr "" +msgstr "Redo" -#: ../../library/idle.rst:113 +#: ../../library/idle.rst:118 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 +msgid "Select All" +msgstr "Select All" -#: ../../library/idle.rst:116 ../../library/idle.rst:365 +#: ../../library/idle.rst:121 +msgid "Select the entire contents of the current window." +msgstr "Seleciona todo o conteúdo da janela atual." + +#: ../../library/idle.rst:124 ../../library/idle.rst:370 msgid "Cut" -msgstr "" +msgstr "Cut" -#: ../../library/idle.rst:116 ../../library/idle.rst:365 +#: ../../library/idle.rst:124 ../../library/idle.rst:370 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:119 ../../library/idle.rst:368 +#: ../../library/idle.rst:127 ../../library/idle.rst:373 msgid "Copy" -msgstr "" +msgstr "Copy" -#: ../../library/idle.rst:119 ../../library/idle.rst:368 +#: ../../library/idle.rst:127 ../../library/idle.rst:373 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:122 ../../library/idle.rst:371 +#: ../../library/idle.rst:130 ../../library/idle.rst:376 msgid "Paste" -msgstr "" +msgstr "Paste" -#: ../../library/idle.rst:122 ../../library/idle.rst:371 +#: ../../library/idle.rst:130 ../../library/idle.rst:376 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:124 +#: ../../library/idle.rst:132 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:127 -msgid "Select All" -msgstr "" - -#: ../../library/idle.rst:127 -msgid "Select the entire contents of the current window." -msgstr "" - -#: ../../library/idle.rst:130 +#: ../../library/idle.rst:135 msgid "Find..." -msgstr "" +msgstr "Find..." -#: ../../library/idle.rst:130 +#: ../../library/idle.rst:135 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:133 +#: ../../library/idle.rst:138 msgid "Find Again" -msgstr "" +msgstr "Find Again" -#: ../../library/idle.rst:133 +#: ../../library/idle.rst:138 msgid "Repeat the last search, if there is one." -msgstr "" +msgstr "Repete a última pesquisa, se houver uma." -#: ../../library/idle.rst:136 +#: ../../library/idle.rst:141 msgid "Find Selection" -msgstr "" +msgstr "Find Selection" -#: ../../library/idle.rst:136 +#: ../../library/idle.rst:141 msgid "Search for the currently selected string, if there is one." -msgstr "" +msgstr "Procura a string atualmente selecionada, se houver uma." -#: ../../library/idle.rst:139 +#: ../../library/idle.rst:144 msgid "Find in Files..." -msgstr "" +msgstr "Find in Files..." -#: ../../library/idle.rst:139 +#: ../../library/idle.rst:144 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:142 +#: ../../library/idle.rst:147 msgid "Replace..." -msgstr "" +msgstr "Replace..." -#: ../../library/idle.rst:142 +#: ../../library/idle.rst:147 msgid "Open a search-and-replace dialog." -msgstr "" +msgstr "Abre uma caixa de diálogo de pesquisa e substituição." -#: ../../library/idle.rst:147 +#: ../../library/idle.rst:152 msgid "Go to Line" -msgstr "" +msgstr "Go to Line" -#: ../../library/idle.rst:145 +#: ../../library/idle.rst:150 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:151 +#: ../../library/idle.rst:156 msgid "Show Completions" -msgstr "" +msgstr "Show Completions" -#: ../../library/idle.rst:150 +#: ../../library/idle.rst:155 msgid "" "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:155 +#: ../../library/idle.rst:160 msgid "Expand Word" -msgstr "" +msgstr "Expand Word" -#: ../../library/idle.rst:154 +#: ../../library/idle.rst:159 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:160 -msgid "Show call tip" -msgstr "" +#: ../../library/idle.rst:165 +msgid "Show Call Tip" +msgstr "Show Call Tip" -#: ../../library/idle.rst:158 +#: ../../library/idle.rst:163 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:163 -msgid "Show surrounding parens" -msgstr "" +#: ../../library/idle.rst:168 +msgid "Show Surrounding Parens" +msgstr "Show Surrounding Parens" -#: ../../library/idle.rst:163 +#: ../../library/idle.rst:168 msgid "Highlight the surrounding parenthesis." -msgstr "" +msgstr "Realça os parênteses envolventes." -#: ../../library/idle.rst:168 +#: ../../library/idle.rst:173 msgid "Format menu (Editor window only)" +msgstr "Menu Format (Somente na janela do Editor)" + +#: ../../library/idle.rst:178 +msgid "Format Paragraph" +msgstr "Format Paragraph" + +#: ../../library/idle.rst:176 +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:171 +#: ../../library/idle.rst:181 msgid "Indent Region" -msgstr "" +msgstr "Indent Region" -#: ../../library/idle.rst:171 +#: ../../library/idle.rst:181 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:174 +#: ../../library/idle.rst:184 msgid "Dedent Region" -msgstr "" +msgstr "Dedent Region" -#: ../../library/idle.rst:174 +#: ../../library/idle.rst:184 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:177 +#: ../../library/idle.rst:187 msgid "Comment Out Region" -msgstr "" +msgstr "Comment Out Region" -#: ../../library/idle.rst:177 +#: ../../library/idle.rst:187 msgid "Insert ## in front of selected lines." -msgstr "" +msgstr "Insere ## à frente das linhas selecionadas." -#: ../../library/idle.rst:180 +#: ../../library/idle.rst:190 msgid "Uncomment Region" -msgstr "" +msgstr "Uncomment Region" -#: ../../library/idle.rst:180 +#: ../../library/idle.rst:190 msgid "Remove leading # or ## from selected lines." -msgstr "" +msgstr "Remove # ou ## iniciais das linhas selecionadas." -#: ../../library/idle.rst:184 +#: ../../library/idle.rst:194 msgid "Tabify Region" -msgstr "" +msgstr "Tabify Region" -#: ../../library/idle.rst:183 +#: ../../library/idle.rst:193 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:187 +#: ../../library/idle.rst:197 msgid "Untabify Region" -msgstr "" +msgstr "Untabify Region" -#: ../../library/idle.rst:187 +#: ../../library/idle.rst:197 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:190 +#: ../../library/idle.rst:200 msgid "Toggle Tabs" -msgstr "" +msgstr "Toggle Tabs" -#: ../../library/idle.rst:190 +#: ../../library/idle.rst:200 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:194 +#: ../../library/idle.rst:204 msgid "New Indent Width" -msgstr "" +msgstr "New Indent Width" -#: ../../library/idle.rst:193 +#: ../../library/idle.rst:203 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:199 -msgid "Format Paragraph" +#: ../../library/idle.rst:210 +msgid "Strip Trailing Chitespace" msgstr "" -#: ../../library/idle.rst:197 -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 "" - -#: ../../library/idle.rst:205 -msgid "Strip trailing whitespace" -msgstr "" - -#: ../../library/idle.rst:202 +#: ../../library/idle.rst:207 msgid "" "Remove trailing space and other whitespace characters after the last non-" "whitespace character of a line by applying str.rstrip to each line, " @@ -462,15 +535,15 @@ msgid "" "extra newlines at the end of the file." msgstr "" -#: ../../library/idle.rst:211 +#: ../../library/idle.rst:216 msgid "Run menu (Editor window only)" -msgstr "" +msgstr "Menu Run (Somente na janela do Editor)" -#: ../../library/idle.rst:222 +#: ../../library/idle.rst:227 msgid "Run Module" -msgstr "" +msgstr "Run Module" -#: ../../library/idle.rst:216 +#: ../../library/idle.rst:221 msgid "" "Do :ref:`Check Module `. If no error, restart the shell to " "clean the environment, then execute the module. Output is displayed in the " @@ -479,23 +552,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:229 +#: ../../library/idle.rst:234 msgid "Run... Customized" -msgstr "" +msgstr "Run... Customized" -#: ../../library/idle.rst:227 +#: ../../library/idle.rst:232 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:238 +#: ../../library/idle.rst:243 msgid "Check Module" -msgstr "" +msgstr "Check Module" -#: ../../library/idle.rst:234 +#: ../../library/idle.rst:239 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 " @@ -503,71 +587,76 @@ 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:244 +#: ../../library/idle.rst:249 msgid "Python Shell" -msgstr "" +msgstr "Python Shell" -#: ../../library/idle.rst:243 +#: ../../library/idle.rst:248 msgid "Open or wake up the Python Shell window." -msgstr "" +msgstr "Abre ou ativa a janela do Shell Python." -#: ../../library/idle.rst:247 +#: ../../library/idle.rst:252 msgid "Shell menu (Shell window only)" msgstr "" -#: ../../library/idle.rst:250 +#: ../../library/idle.rst:255 msgid "View Last Restart" -msgstr "" +msgstr "View Last Restart" -#: ../../library/idle.rst:250 +#: ../../library/idle.rst:255 msgid "Scroll the shell window to the last Shell restart." msgstr "" -#: ../../library/idle.rst:253 +#: ../../library/idle.rst:258 msgid "Restart Shell" -msgstr "" +msgstr "Restart Shell" -#: ../../library/idle.rst:253 +#: ../../library/idle.rst:258 msgid "" "Restart the shell to clean the environment and reset display and exception " "handling." msgstr "" -#: ../../library/idle.rst:256 +#: ../../library/idle.rst:261 msgid "Previous History" -msgstr "" +msgstr "Previous History" -#: ../../library/idle.rst:256 +#: ../../library/idle.rst:261 msgid "" "Cycle through earlier commands in history which match the current entry." msgstr "" -#: ../../library/idle.rst:259 +#: ../../library/idle.rst:264 msgid "Next History" -msgstr "" +msgstr "Next History" -#: ../../library/idle.rst:259 +#: ../../library/idle.rst:264 msgid "Cycle through later commands in history which match the current entry." msgstr "" -#: ../../library/idle.rst:262 +#: ../../library/idle.rst:267 msgid "Interrupt Execution" -msgstr "" +msgstr "Interrupt Execution" -#: ../../library/idle.rst:262 +#: ../../library/idle.rst:267 msgid "Stop a running program." msgstr "" -#: ../../library/idle.rst:265 +#: ../../library/idle.rst:270 msgid "Debug menu (Shell window only)" msgstr "" -#: ../../library/idle.rst:272 +#: ../../library/idle.rst:277 msgid "Go to File/Line" -msgstr "" +msgstr "Go to File/Line" -#: ../../library/idle.rst:268 +#: ../../library/idle.rst:273 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 " @@ -576,45 +665,45 @@ msgid "" "Shell window and Output windows." msgstr "" -#: ../../library/idle.rst:281 +#: ../../library/idle.rst:286 msgid "Debugger (toggle)" -msgstr "" +msgstr "Debugger (toggle)" -#: ../../library/idle.rst:279 +#: ../../library/idle.rst:284 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 "" -#: ../../library/idle.rst:285 +#: ../../library/idle.rst:290 msgid "Stack Viewer" -msgstr "" +msgstr "Stack Viewer" -#: ../../library/idle.rst:284 +#: ../../library/idle.rst:289 msgid "" "Show the stack traceback of the last exception in a tree widget, with access " "to locals and globals." msgstr "" -#: ../../library/idle.rst:288 +#: ../../library/idle.rst:293 msgid "Auto-open Stack Viewer" -msgstr "" +msgstr "Auto-open Stack Viewer" -#: ../../library/idle.rst:288 +#: ../../library/idle.rst:293 msgid "" "Toggle automatically opening the stack viewer on an unhandled exception." msgstr "" -#: ../../library/idle.rst:291 +#: ../../library/idle.rst:296 msgid "Options menu (Shell and Editor)" msgstr "" -#: ../../library/idle.rst:299 +#: ../../library/idle.rst:304 msgid "Configure IDLE" -msgstr "" +msgstr "Configure IDLE" -#: ../../library/idle.rst:294 +#: ../../library/idle.rst:299 msgid "" "Open a configuration dialog and change preferences for the following: fonts, " "indentation, keybindings, text color themes, startup windows and size, " @@ -623,39 +712,39 @@ msgid "" "see :ref:`Setting preferences ` under Help and preferences." msgstr "" -#: ../../library/idle.rst:301 +#: ../../library/idle.rst:306 msgid "" "Most configuration options apply to all windows or all future windows. The " "option items below only apply to the active window." msgstr "" -#: ../../library/idle.rst:308 +#: ../../library/idle.rst:313 msgid "Show/Hide Code Context (Editor Window only)" -msgstr "" +msgstr "Show/Hide Code Context (Editor Window only)" -#: ../../library/idle.rst:305 +#: ../../library/idle.rst:310 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 "" -#: ../../library/idle.rst:313 +#: ../../library/idle.rst:318 msgid "Show/Hide Line Numbers (Editor Window only)" -msgstr "" +msgstr "Show/Hide Line Numbers (Editor Window only)" -#: ../../library/idle.rst:311 +#: ../../library/idle.rst:316 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 "" -#: ../../library/idle.rst:321 +#: ../../library/idle.rst:326 msgid "Zoom/Restore Height" -msgstr "" +msgstr "Zoom/Restore Height" -#: ../../library/idle.rst:316 +#: ../../library/idle.rst:321 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 " @@ -665,74 +754,74 @@ msgid "" "no effect when a window is maximized." msgstr "" -#: ../../library/idle.rst:324 +#: ../../library/idle.rst:329 msgid "Window menu (Shell and Editor)" msgstr "" -#: ../../library/idle.rst:326 +#: ../../library/idle.rst:331 msgid "" "Lists the names of all open windows; select one to bring it to the " "foreground (deiconifying it if necessary)." msgstr "" -#: ../../library/idle.rst:330 +#: ../../library/idle.rst:335 msgid "Help menu (Shell and Editor)" msgstr "" -#: ../../library/idle.rst:333 +#: ../../library/idle.rst:338 msgid "About IDLE" -msgstr "" +msgstr "About IDLE" -#: ../../library/idle.rst:333 +#: ../../library/idle.rst:338 msgid "Display version, copyright, license, credits, and more." msgstr "" -#: ../../library/idle.rst:337 +#: ../../library/idle.rst:342 msgid "IDLE Help" -msgstr "" +msgstr "IDLE Help" -#: ../../library/idle.rst:336 +#: ../../library/idle.rst:341 msgid "" "Display this IDLE document, detailing the menu options, basic editing and " "navigation, and other tips." msgstr "" -#: ../../library/idle.rst:341 +#: ../../library/idle.rst:346 msgid "Python Docs" -msgstr "Documentação do Python" +msgstr "Python Docs" -#: ../../library/idle.rst:340 +#: ../../library/idle.rst:345 msgid "" "Access local Python documentation, if installed, or start a web browser and " "open docs.python.org showing the latest Python documentation." msgstr "" -#: ../../library/idle.rst:344 +#: ../../library/idle.rst:349 msgid "Turtle Demo" -msgstr "Demonstração com o Turtle" +msgstr "Turtle Demo" -#: ../../library/idle.rst:344 +#: ../../library/idle.rst:349 msgid "Run the turtledemo module with example Python code and turtle drawings." msgstr "" -#: ../../library/idle.rst:346 +#: ../../library/idle.rst:351 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 "" -#: ../../library/idle.rst:359 -msgid "Context Menus" +#: ../../library/idle.rst:364 +msgid "Context menus" msgstr "" -#: ../../library/idle.rst:361 +#: ../../library/idle.rst:366 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 "" -#: ../../library/idle.rst:373 +#: ../../library/idle.rst:378 msgid "" "Editor windows also have breakpoint functions. Lines with a breakpoint set " "are specially marked. Breakpoints only have an effect when running under " @@ -740,66 +829,66 @@ msgid "" "directory." msgstr "" -#: ../../library/idle.rst:379 +#: ../../library/idle.rst:384 msgid "Set Breakpoint" -msgstr "" +msgstr "Set Breakpoint" -#: ../../library/idle.rst:379 +#: ../../library/idle.rst:384 msgid "Set a breakpoint on the current line." msgstr "" -#: ../../library/idle.rst:382 +#: ../../library/idle.rst:387 msgid "Clear Breakpoint" -msgstr "" +msgstr "Clear Breakpoint" -#: ../../library/idle.rst:382 +#: ../../library/idle.rst:387 msgid "Clear the breakpoint on that line." msgstr "" -#: ../../library/idle.rst:384 +#: ../../library/idle.rst:389 msgid "Shell and Output windows also have the following." msgstr "" -#: ../../library/idle.rst:387 +#: ../../library/idle.rst:392 msgid "Go to file/line" -msgstr "" +msgstr "Go to file/line" -#: ../../library/idle.rst:387 +#: ../../library/idle.rst:392 msgid "Same as in Debug menu." msgstr "" -#: ../../library/idle.rst:389 +#: ../../library/idle.rst:394 msgid "" "The Shell window also has an output squeezing facility explained in the " "*Python Shell window* subsection below." msgstr "" -#: ../../library/idle.rst:395 +#: ../../library/idle.rst:400 msgid "Squeeze" -msgstr "" +msgstr "Squeeze" -#: ../../library/idle.rst:393 +#: ../../library/idle.rst:398 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 "" -#: ../../library/idle.rst:400 -msgid "Editing and navigation" +#: ../../library/idle.rst:405 +msgid "Editing and Navigation" msgstr "" -#: ../../library/idle.rst:403 +#: ../../library/idle.rst:408 msgid "Editor windows" msgstr "" -#: ../../library/idle.rst:405 +#: ../../library/idle.rst:410 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 "" -#: ../../library/idle.rst:409 +#: ../../library/idle.rst:414 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 " @@ -807,99 +896,99 @@ msgid "" "numbers with 0." msgstr "" -#: ../../library/idle.rst:414 +#: ../../library/idle.rst:419 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 "" -#: ../../library/idle.rst:418 +#: ../../library/idle.rst:423 msgid "Key bindings" msgstr "Teclas de atalho" -#: ../../library/idle.rst:420 +#: ../../library/idle.rst:425 msgid "" "In this section, 'C' refers to the :kbd:`Control` key on Windows and Unix " "and the :kbd:`Command` key on macOS." msgstr "" -#: ../../library/idle.rst:423 +#: ../../library/idle.rst:428 msgid ":kbd:`Backspace` deletes to the left; :kbd:`Del` deletes to the right" msgstr "" -#: ../../library/idle.rst:425 +#: ../../library/idle.rst:430 msgid "" ":kbd:`C-Backspace` delete word left; :kbd:`C-Del` delete word to the right" msgstr "" -#: ../../library/idle.rst:427 +#: ../../library/idle.rst:432 msgid "Arrow keys and :kbd:`Page Up`/:kbd:`Page Down` to move around" msgstr "" -#: ../../library/idle.rst:429 +#: ../../library/idle.rst:434 msgid ":kbd:`C-LeftArrow` and :kbd:`C-RightArrow` moves by words" msgstr "" -#: ../../library/idle.rst:431 +#: ../../library/idle.rst:436 msgid ":kbd:`Home`/:kbd:`End` go to begin/end of line" msgstr "" -#: ../../library/idle.rst:433 +#: ../../library/idle.rst:438 msgid ":kbd:`C-Home`/:kbd:`C-End` go to begin/end of file" msgstr "" -#: ../../library/idle.rst:435 +#: ../../library/idle.rst:440 msgid "Some useful Emacs bindings are inherited from Tcl/Tk:" msgstr "" -#: ../../library/idle.rst:437 +#: ../../library/idle.rst:442 msgid ":kbd:`C-a` beginning of line" msgstr "" -#: ../../library/idle.rst:439 +#: ../../library/idle.rst:444 msgid ":kbd:`C-e` end of line" msgstr "" -#: ../../library/idle.rst:441 +#: ../../library/idle.rst:446 msgid ":kbd:`C-k` kill line (but doesn't put it in clipboard)" msgstr "" -#: ../../library/idle.rst:443 +#: ../../library/idle.rst:448 msgid ":kbd:`C-l` center window around the insertion point" msgstr "" -#: ../../library/idle.rst:445 +#: ../../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 "" -#: ../../library/idle.rst:448 +#: ../../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:451 +#: ../../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:454 +#: ../../library/idle.rst:459 msgid ":kbd:`C-d` delete next character" msgstr "" -#: ../../library/idle.rst:456 +#: ../../library/idle.rst:461 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 "" -#: ../../library/idle.rst:460 +#: ../../library/idle.rst:465 msgid "Automatic indentation" -msgstr "" +msgstr "Indentação automática" -#: ../../library/idle.rst:462 +#: ../../library/idle.rst:467 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 " @@ -908,18 +997,39 @@ 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 Python por um tab). Depois de certas " +"palavras-chave (break, return, etc.) a linha seguinte é desindentada. Na " +"indentação inicial, :kbd:`Backspace` apaga até 4 espaços se eles estiverem " +"lá. :kbd:`Tab` insere espaços (na janela do console Python um tab), o número " +"depende da largura de indentação. Atualmente, os tabs estão limitados a " +"quatro espaços devido a limitações do Tcl/Tk." -#: ../../library/idle.rst:469 +#: ../../library/idle.rst:474 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 +msgid "Search and Replace" +msgstr "Busca e Substituição" -#: ../../library/idle.rst:475 +#: ../../library/idle.rst:480 +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 " +"interpreted according to the Python re module." +msgstr "" + +#: ../../library/idle.rst:488 msgid "Completions" msgstr "" -#: ../../library/idle.rst:477 +#: ../../library/idle.rst:490 msgid "" "Completions are supplied, when requested and available, for module names, " "attributes of classes or functions, or filenames. Each request method " @@ -932,7 +1042,7 @@ msgid "" "box. A double click within the box selects and closes." msgstr "" -#: ../../library/idle.rst:488 +#: ../../library/idle.rst:501 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. " @@ -944,7 +1054,7 @@ msgid "" "directory name and a separator." msgstr "" -#: ../../library/idle.rst:498 +#: ../../library/idle.rst:511 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 :" @@ -955,7 +1065,7 @@ msgid "" "directory." msgstr "" -#: ../../library/idle.rst:506 +#: ../../library/idle.rst:519 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 " @@ -963,14 +1073,14 @@ msgid "" "without opening a box." msgstr "" -#: ../../library/idle.rst:511 +#: ../../library/idle.rst:524 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 "" -#: ../../library/idle.rst:515 +#: ../../library/idle.rst:528 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 " @@ -978,18 +1088,18 @@ msgid "" "file. This also increases possible attribute completions." msgstr "" -#: ../../library/idle.rst:521 +#: ../../library/idle.rst:534 msgid "" -"Completion boxes intially exclude names beginning with '_' or, for modules, " +"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 "" -#: ../../library/idle.rst:528 +#: ../../library/idle.rst:541 msgid "Calltips" -msgstr "" +msgstr "Dicas de chamada" -#: ../../library/idle.rst:530 +#: ../../library/idle.rst:543 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 " @@ -999,7 +1109,7 @@ msgid "" "or enter its shortcut to display a calltip." msgstr "" -#: ../../library/idle.rst:537 +#: ../../library/idle.rst:550 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 " @@ -1008,14 +1118,14 @@ msgid "" "or name (keyword) only. Details are subject to change." msgstr "" -#: ../../library/idle.rst:543 +#: ../../library/idle.rst:556 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 "" -#: ../../library/idle.rst:547 +#: ../../library/idle.rst:560 msgid "" "For example, restart the Shell and enter ``itertools.count(``. A calltip " "appears because Idle imports itertools into the user process for its own " @@ -1025,18 +1135,18 @@ msgid "" "display a calltip." msgstr "" -#: ../../library/idle.rst:554 +#: ../../library/idle.rst:567 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 "" -#: ../../library/idle.rst:561 +#: ../../library/idle.rst:574 msgid "Code Context" msgstr "" -#: ../../library/idle.rst:563 +#: ../../library/idle.rst:576 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 " @@ -1050,72 +1160,91 @@ msgid "" "the top of the editor." msgstr "" -#: ../../library/idle.rst:574 +#: ../../library/idle.rst:587 msgid "" "The text and background colors for the context pane can be configured under " "the Highlights tab in the Configure IDLE dialog." msgstr "" -#: ../../library/idle.rst:578 -msgid "Python Shell window" +#: ../../library/idle.rst:591 +msgid "Shell window" +msgstr "" + +#: ../../library/idle.rst:593 +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 "" -#: ../../library/idle.rst:580 +#: ../../library/idle.rst:596 msgid "" -"With IDLE's Shell, one enters, edits, and recalls complete statements. Most " -"consoles and terminals only work with a single physical line at a time." +"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." msgstr "" -#: ../../library/idle.rst:583 +#: ../../library/idle.rst:602 msgid "" "When one pastes code into Shell, it is not compiled and possibly executed " -"until one hits :kbd:`Return`. One may edit pasted code first. If one pastes " -"more that one statement into Shell, the result will be a :exc:`SyntaxError` " -"when multiple statements are compiled as if they were one." +"until one hits :kbd:`Return`, as specified above. One may edit pasted code " +"first. If one pastes more than one statement into Shell, the result will be " +"a :exc:`SyntaxError` when multiple statements are compiled as if they were " +"one." msgstr "" -#: ../../library/idle.rst:588 +#: ../../library/idle.rst:608 +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 "" + +#: ../../library/idle.rst:613 msgid "" "The editing features described in previous subsections work when entering " "code interactively. IDLE's Shell window also responds to the following keys." msgstr "" -#: ../../library/idle.rst:591 +#: ../../library/idle.rst:616 msgid ":kbd:`C-c` interrupts executing command" msgstr "" -#: ../../library/idle.rst:593 +#: ../../library/idle.rst:618 msgid "" ":kbd:`C-d` sends end-of-file; closes window if typed at a ``>>>`` prompt" msgstr "" -#: ../../library/idle.rst:595 +#: ../../library/idle.rst:620 msgid ":kbd:`Alt-/` (Expand word) is also useful to reduce typing" msgstr "" -#: ../../library/idle.rst:597 +#: ../../library/idle.rst:622 msgid "Command history" msgstr "" -#: ../../library/idle.rst:599 +#: ../../library/idle.rst:624 msgid "" ":kbd:`Alt-p` retrieves previous command matching what you have typed. On " "macOS use :kbd:`C-p`." msgstr "" -#: ../../library/idle.rst:602 +#: ../../library/idle.rst:627 msgid ":kbd:`Alt-n` retrieves next. On macOS use :kbd:`C-n`." msgstr "" -#: ../../library/idle.rst:604 -msgid ":kbd:`Return` while on any previous command retrieves that command" +#: ../../library/idle.rst:629 +msgid "" +":kbd:`Return` while the cursor is on any previous command retrieves that " +"command" msgstr "" -#: ../../library/idle.rst:607 +#: ../../library/idle.rst:633 msgid "Text colors" msgstr "" -#: ../../library/idle.rst:609 +#: ../../library/idle.rst:635 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 " @@ -1125,7 +1254,7 @@ msgid "" "(when present), found text (when possible), and selected text." msgstr "" -#: ../../library/idle.rst:616 +#: ../../library/idle.rst:642 msgid "" "IDLE also highlights the :ref:`soft keywords ` :keyword:" "`match`, :keyword:`case `, and :keyword:`_ ` in " @@ -1134,7 +1263,7 @@ msgid "" "patterns." msgstr "" -#: ../../library/idle.rst:622 +#: ../../library/idle.rst:648 msgid "" "Text coloring is done in the background, so uncolorized text is occasionally " "visible. To change the color scheme, use the Configure IDLE dialog " @@ -1142,11 +1271,11 @@ msgid "" "and text in popups and dialogs is not user-configurable." msgstr "" -#: ../../library/idle.rst:629 -msgid "Startup and code execution" +#: ../../library/idle.rst:655 +msgid "Startup and Code Execution" msgstr "" -#: ../../library/idle.rst:631 +#: ../../library/idle.rst:657 msgid "" "Upon startup with the ``-s`` option, IDLE will execute the file referenced " "by the environment variables :envvar:`IDLESTARTUP` or :envvar:" @@ -1158,7 +1287,7 @@ msgid "" "modules." msgstr "" -#: ../../library/idle.rst:639 +#: ../../library/idle.rst:665 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`` " @@ -1167,15 +1296,15 @@ msgid "" "importing functions to be used from IDLE's Python shell." msgstr "" -#: ../../library/idle.rst:646 +#: ../../library/idle.rst:672 msgid "Command line usage" msgstr "Uso na linha de comando" -#: ../../library/idle.rst:662 +#: ../../library/idle.rst:688 msgid "If there are arguments:" msgstr "" -#: ../../library/idle.rst:664 +#: ../../library/idle.rst:690 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'``. " @@ -1183,17 +1312,17 @@ msgid "" "dialog." msgstr "" -#: ../../library/idle.rst:669 +#: ../../library/idle.rst:695 msgid "" "Otherwise, arguments are files opened for editing and ``sys.argv`` reflects " "the arguments passed to IDLE itself." msgstr "" -#: ../../library/idle.rst:673 +#: ../../library/idle.rst:699 msgid "Startup failure" msgstr "" -#: ../../library/idle.rst:675 +#: ../../library/idle.rst:701 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 " @@ -1203,7 +1332,7 @@ msgid "" "directs the user here. It then exits." msgstr "" -#: ../../library/idle.rst:682 +#: ../../library/idle.rst:708 msgid "" "One specific connection failure on Unix systems results from misconfigured " "masquerading rules somewhere in a system's network setup. When IDLE is " @@ -1213,7 +1342,7 @@ msgid "" "``tcplisten `` in another." msgstr "" -#: ../../library/idle.rst:690 +#: ../../library/idle.rst:716 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 " @@ -1222,7 +1351,7 @@ msgid "" "file." msgstr "" -#: ../../library/idle.rst:696 +#: ../../library/idle.rst:722 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 " @@ -1232,7 +1361,7 @@ msgid "" "connections." msgstr "" -#: ../../library/idle.rst:703 +#: ../../library/idle.rst:729 msgid "" "Python installation issues occasionally stop IDLE: multiple versions can " "clash, or a single installation might need admin access. If one undo the " @@ -1240,7 +1369,7 @@ msgid "" "completely remove Python and start over." msgstr "" -#: ../../library/idle.rst:708 +#: ../../library/idle.rst:734 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 " @@ -1249,7 +1378,7 @@ msgid "" "may fix a temporary problem." msgstr "" -#: ../../library/idle.rst:714 +#: ../../library/idle.rst:740 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 " @@ -1260,14 +1389,14 @@ msgid "" "with the settings dialog." msgstr "" -#: ../../library/idle.rst:722 +#: ../../library/idle.rst:748 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 "" -#: ../../library/idle.rst:726 +#: ../../library/idle.rst:752 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 " @@ -1276,11 +1405,11 @@ msgid "" "upgrade tcl/tk, then re-configure IDLE to use a font that works better." msgstr "" -#: ../../library/idle.rst:734 +#: ../../library/idle.rst:760 msgid "Running user code" msgstr "" -#: ../../library/idle.rst:736 +#: ../../library/idle.rst:762 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, " @@ -1290,7 +1419,7 @@ msgid "" "``threading.active_count()`` returns 2 instead of 1." msgstr "" -#: ../../library/idle.rst:743 +#: ../../library/idle.rst:769 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 " @@ -1300,7 +1429,7 @@ msgid "" "__stderr__`` are not touched, but may be ``None``." msgstr "" -#: ../../library/idle.rst:750 +#: ../../library/idle.rst:776 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 " @@ -1312,24 +1441,25 @@ msgid "" "fields and lines." msgstr "" -#: ../../library/idle.rst:759 +#: ../../library/idle.rst:785 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. The secondary subprocess will then 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 "" -#: ../../library/idle.rst:766 +#: ../../library/idle.rst:794 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 "" -#: ../../library/idle.rst:770 +#: ../../library/idle.rst:798 msgid "" "When Shell has the focus, it controls the keyboard and screen. This is " "normally transparent, but functions that directly access the keyboard and " @@ -1337,7 +1467,7 @@ msgid "" "determine whether a key has been pressed and if so, which." msgstr "" -#: ../../library/idle.rst:775 +#: ../../library/idle.rst:803 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 " @@ -1345,17 +1475,17 @@ msgid "" "frames." msgstr "" -#: ../../library/idle.rst:780 +#: ../../library/idle.rst:808 msgid "" "When user code raises SystemExit either directly or by calling sys.exit, " "IDLE returns to a Shell prompt instead of exiting." msgstr "" -#: ../../library/idle.rst:784 +#: ../../library/idle.rst:812 msgid "User output in Shell" msgstr "" -#: ../../library/idle.rst:786 +#: ../../library/idle.rst:814 msgid "" "When a program outputs text, the result is determined by the corresponding " "output device. When IDLE executes user code, ``sys.stdout`` and ``sys." @@ -1365,7 +1495,7 @@ msgid "" "rather than production runs." msgstr "" -#: ../../library/idle.rst:793 +#: ../../library/idle.rst:821 msgid "" "For instance, Shell never throws away output. A program that sends " "unlimited output to Shell will eventually fill memory, resulting in a memory " @@ -1374,7 +1504,7 @@ msgid "" "lines, with 300 the default." msgstr "" -#: ../../library/idle.rst:799 +#: ../../library/idle.rst:827 msgid "" "A Tk Text widget, and hence IDLE's Shell, displays characters (codepoints) " "in the BMP (Basic Multilingual Plane) subset of Unicode. Which characters " @@ -1388,7 +1518,7 @@ msgid "" "spacing behavior.) ::" msgstr "" -#: ../../library/idle.rst:817 +#: ../../library/idle.rst:845 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 " @@ -1397,13 +1527,13 @@ msgid "" "regardless of how they are displayed." msgstr "" -#: ../../library/idle.rst:823 +#: ../../library/idle.rst:851 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 "" -#: ../../library/idle.rst:826 +#: ../../library/idle.rst:854 msgid "" "For SyntaxError tracebacks, the normal '^' marking where the error was " "detected is replaced by coloring the text with an error highlight. When code " @@ -1412,7 +1542,7 @@ msgid "" "opened if necessary." msgstr "" -#: ../../library/idle.rst:832 +#: ../../library/idle.rst:860 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 " @@ -1421,18 +1551,18 @@ msgid "" "on the output. This can be useful lines long enough to slow down scrolling." msgstr "" -#: ../../library/idle.rst:840 +#: ../../library/idle.rst:868 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 "" -#: ../../library/idle.rst:845 +#: ../../library/idle.rst:873 msgid "Developing tkinter applications" msgstr "" -#: ../../library/idle.rst:847 +#: ../../library/idle.rst:875 msgid "" "IDLE is intentionally different from standard Python in order to facilitate " "development of tkinter programs. Enter ``import tkinter as tk; root = tk." @@ -1444,7 +1574,7 @@ msgid "" "changes in standard Python until one enters ``root.update()``." msgstr "" -#: ../../library/idle.rst:856 +#: ../../library/idle.rst:884 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 " @@ -1452,7 +1582,7 @@ msgid "" "``mainloop()`` returns, at which time there is nothing left to interact with." msgstr "" -#: ../../library/idle.rst:862 +#: ../../library/idle.rst:890 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 " @@ -1460,11 +1590,11 @@ msgid "" "mainloop call when running in standard Python." msgstr "" -#: ../../library/idle.rst:868 +#: ../../library/idle.rst:896 msgid "Running without a subprocess" msgstr "" -#: ../../library/idle.rst:870 +#: ../../library/idle.rst:898 msgid "" "By default, IDLE executes user code in a separate subprocess via a socket, " "which uses the internal loopback interface. This connection is not " @@ -1472,7 +1602,7 @@ msgid "" "firewall software complains anyway, you can ignore it." msgstr "" -#: ../../library/idle.rst:875 +#: ../../library/idle.rst:903 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 " @@ -1481,7 +1611,7 @@ msgid "" "command line switch." msgstr "" -#: ../../library/idle.rst:881 +#: ../../library/idle.rst:909 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 " @@ -1495,15 +1625,15 @@ msgid "" "at all possible." msgstr "" -#: ../../library/idle.rst:896 -msgid "Help and preferences" +#: ../../library/idle.rst:924 +msgid "Help and Preferences" msgstr "" -#: ../../library/idle.rst:901 +#: ../../library/idle.rst:929 msgid "Help sources" msgstr "" -#: ../../library/idle.rst:903 +#: ../../library/idle.rst:931 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 " @@ -1513,7 +1643,7 @@ msgid "" "the opened box." msgstr "" -#: ../../library/idle.rst:911 +#: ../../library/idle.rst:939 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 " @@ -1522,17 +1652,17 @@ msgid "" "instead." msgstr "" -#: ../../library/idle.rst:917 +#: ../../library/idle.rst:945 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:923 +#: ../../library/idle.rst:951 msgid "Setting preferences" msgstr "" -#: ../../library/idle.rst:925 +#: ../../library/idle.rst:953 msgid "" "The font preferences, highlighting, keys, and general preferences can be " "changed via Configure IDLE on the Option menu. Non-default user settings are " @@ -1541,7 +1671,7 @@ msgid "" "or more of the files in ``.idlerc``." msgstr "" -#: ../../library/idle.rst:931 +#: ../../library/idle.rst:959 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 " @@ -1550,7 +1680,7 @@ msgid "" "them to the top of the sample and try changing first size and then font." msgstr "" -#: ../../library/idle.rst:938 +#: ../../library/idle.rst:966 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, " @@ -1558,22 +1688,22 @@ msgid "" "IDLEs." msgstr "" -#: ../../library/idle.rst:944 +#: ../../library/idle.rst:972 msgid "IDLE on macOS" msgstr "" -#: ../../library/idle.rst:946 +#: ../../library/idle.rst:974 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:951 +#: ../../library/idle.rst:979 msgid "Extensions" msgstr "" -#: ../../library/idle.rst:953 +#: ../../library/idle.rst:981 msgid "" "IDLE contains an extension facility. Preferences for extensions can be " "changed with the Extensions tab of the preferences dialog. See the beginning " @@ -1581,3 +1711,26 @@ msgid "" "The only current default extension is zzdummy, an example also used for " "testing." msgstr "" + +#: ../../library/idle.rst:989 +msgid "idlelib" +msgstr "" + +#: ../../library/idle.rst:994 +msgid "**Source code:** :source:`Lib/idlelib`" +msgstr "" + +#: ../../library/idle.rst:998 +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 +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 " +"maps IDLE menu items to the code that implements the item. Except for files " +"listed under 'Startup', the idlelib code is 'private' in sense that feature " +"changes can be backported (see :pep:`434`)." +msgstr "" diff --git a/library/imaplib.po b/library/imaplib.po index fd5926b22..5c7b137ab 100644 --- a/library/imaplib.po +++ b/library/imaplib.po @@ -1,28 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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.10\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-06-29 12:56+0000\n" -"PO-Revision-Date: 2021-06-28 01:07+0000\n" -"Last-Translator: i17obot , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:58+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/imaplib.rst:2 msgid ":mod:`imaplib` --- IMAP4 protocol client" @@ -71,7 +70,7 @@ msgstr "Suporte para a instrução :keyword:`with` foi adicionado." #: ../../library/imaplib.rst:55 ../../library/imaplib.rst:122 msgid "The optional *timeout* parameter was added." -msgstr "" +msgstr "O parâmetro opcional *timeout* foi adicionado." #: ../../library/imaplib.rst:58 msgid "Three exceptions are defined as attributes of the :class:`IMAP4` class:" @@ -429,6 +428,8 @@ 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:381 msgid "The *timeout* parameter was added." @@ -501,6 +502,8 @@ 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:457 msgid "" diff --git a/library/imghdr.po b/library/imghdr.po index c687b6abe..10c0a0bdc 100644 --- a/library/imghdr.po +++ b/library/imghdr.po @@ -1,197 +1,199 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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 -# 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.10\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-06-29 12:56+0000\n" -"PO-Revision-Date: 2021-06-28 01:08+0000\n" -"Last-Translator: i17obot , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:58+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/imghdr.rst:2 msgid ":mod:`imghdr` --- Determine the type of an image" msgstr ":mod:`imghdr` --- Determina o tipo de uma imagem" -#: ../../library/imghdr.rst:7 +#: ../../library/imghdr.rst:8 msgid "**Source code:** :source:`Lib/imghdr.py`" msgstr "**Código-fonte:** :source:`Lib/imghdr.py`" -#: ../../library/imghdr.rst:11 +#: ../../library/imghdr.rst:10 +msgid "" +"The :mod:`imghdr` module is deprecated (see :pep:`PEP 594 <594#imghdr>` for " +"details and alternatives)." +msgstr "" + +#: ../../library/imghdr.rst:16 msgid "" "The :mod:`imghdr` module determines the type of image contained in a file or " "byte stream." msgstr "" -#: ../../library/imghdr.rst:14 +#: ../../library/imghdr.rst:19 msgid "The :mod:`imghdr` module defines the following function:" msgstr "" -#: ../../library/imghdr.rst:19 +#: ../../library/imghdr.rst:24 msgid "" "Tests the image data contained in the file named by *file*, and returns a " "string describing the image type. If optional *h* is provided, the *file* " "argument is ignored and *h* is assumed to contain the byte stream to test." msgstr "" -#: ../../library/imghdr.rst:23 +#: ../../library/imghdr.rst:28 msgid "Accepts a :term:`path-like object`." msgstr "Aceita um :term:`objeto caminho ou similar`." -#: ../../library/imghdr.rst:26 +#: ../../library/imghdr.rst:31 msgid "" "The following image types are recognized, as listed below with the return " "value from :func:`what`:" msgstr "" -#: ../../library/imghdr.rst:30 +#: ../../library/imghdr.rst:35 msgid "Value" msgstr "Valor" -#: ../../library/imghdr.rst:30 +#: ../../library/imghdr.rst:35 msgid "Image format" msgstr "" -#: ../../library/imghdr.rst:32 +#: ../../library/imghdr.rst:37 msgid "``'rgb'``" msgstr "``'rgb'``" -#: ../../library/imghdr.rst:32 +#: ../../library/imghdr.rst:37 msgid "SGI ImgLib Files" msgstr "" -#: ../../library/imghdr.rst:34 +#: ../../library/imghdr.rst:39 msgid "``'gif'``" msgstr "``'gif'``" -#: ../../library/imghdr.rst:34 +#: ../../library/imghdr.rst:39 msgid "GIF 87a and 89a Files" msgstr "" -#: ../../library/imghdr.rst:36 +#: ../../library/imghdr.rst:41 msgid "``'pbm'``" msgstr "``'pbm'``" -#: ../../library/imghdr.rst:36 +#: ../../library/imghdr.rst:41 msgid "Portable Bitmap Files" msgstr "" -#: ../../library/imghdr.rst:38 +#: ../../library/imghdr.rst:43 msgid "``'pgm'``" msgstr "``'pgm'``" -#: ../../library/imghdr.rst:38 +#: ../../library/imghdr.rst:43 msgid "Portable Graymap Files" msgstr "" -#: ../../library/imghdr.rst:40 +#: ../../library/imghdr.rst:45 msgid "``'ppm'``" msgstr "``'ppm'``" -#: ../../library/imghdr.rst:40 +#: ../../library/imghdr.rst:45 msgid "Portable Pixmap Files" msgstr "" -#: ../../library/imghdr.rst:42 +#: ../../library/imghdr.rst:47 msgid "``'tiff'``" msgstr "``'tiff'``" -#: ../../library/imghdr.rst:42 +#: ../../library/imghdr.rst:47 msgid "TIFF Files" msgstr "Arquivos TIFF" -#: ../../library/imghdr.rst:44 +#: ../../library/imghdr.rst:49 msgid "``'rast'``" msgstr "``'rast'``" -#: ../../library/imghdr.rst:44 +#: ../../library/imghdr.rst:49 msgid "Sun Raster Files" msgstr "" -#: ../../library/imghdr.rst:46 +#: ../../library/imghdr.rst:51 msgid "``'xbm'``" msgstr "``'xbm'``" -#: ../../library/imghdr.rst:46 +#: ../../library/imghdr.rst:51 msgid "X Bitmap Files" msgstr "" -#: ../../library/imghdr.rst:48 +#: ../../library/imghdr.rst:53 msgid "``'jpeg'``" msgstr "``'jpeg'``" -#: ../../library/imghdr.rst:48 +#: ../../library/imghdr.rst:53 msgid "JPEG data in JFIF or Exif formats" msgstr "" -#: ../../library/imghdr.rst:50 +#: ../../library/imghdr.rst:55 msgid "``'bmp'``" msgstr "``'bmp'``" -#: ../../library/imghdr.rst:50 +#: ../../library/imghdr.rst:55 msgid "BMP files" msgstr "" -#: ../../library/imghdr.rst:52 +#: ../../library/imghdr.rst:57 msgid "``'png'``" msgstr "``'png'``" -#: ../../library/imghdr.rst:52 +#: ../../library/imghdr.rst:57 msgid "Portable Network Graphics" msgstr "" -#: ../../library/imghdr.rst:54 +#: ../../library/imghdr.rst:59 msgid "``'webp'``" msgstr "``'webp'``" -#: ../../library/imghdr.rst:54 +#: ../../library/imghdr.rst:59 msgid "WebP files" msgstr "" -#: ../../library/imghdr.rst:56 +#: ../../library/imghdr.rst:61 msgid "``'exr'``" msgstr "``'exr'``" -#: ../../library/imghdr.rst:56 +#: ../../library/imghdr.rst:61 msgid "OpenEXR Files" msgstr "" -#: ../../library/imghdr.rst:59 +#: ../../library/imghdr.rst:64 msgid "The *exr* and *webp* formats were added." msgstr "" -#: ../../library/imghdr.rst:63 +#: ../../library/imghdr.rst:68 msgid "" "You can extend the list of file types :mod:`imghdr` can recognize by " "appending to this variable:" msgstr "" -#: ../../library/imghdr.rst:69 +#: ../../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``." msgstr "" -#: ../../library/imghdr.rst:73 +#: ../../library/imghdr.rst:78 msgid "" "The test function should return a string describing the image type if the " "test succeeded, or ``None`` if it failed." @@ -199,6 +201,6 @@ msgstr "" "A função de teste deve retornar uma string descrevendo o tipo de imagem, se " "o teste for bem-sucedido, ou ``None``, se falhar." -#: ../../library/imghdr.rst:76 +#: ../../library/imghdr.rst:81 msgid "Example::" msgstr "Exemplo::" diff --git a/library/imp.po b/library/imp.po index 42339fef1..0d7e6d150 100644 --- a/library/imp.po +++ b/library/imp.po @@ -1,27 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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.10\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-06-29 12:56+0000\n" -"PO-Revision-Date: 2021-06-28 01:08+0000\n" -"Last-Translator: Raphael Mendonça, 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:58+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/imp.rst:2 msgid ":mod:`imp` --- Access the :ref:`import ` internals" @@ -206,12 +206,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 "" @@ -219,10 +223,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 "" @@ -235,6 +242,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/imp.rst:173 msgid "" @@ -260,6 +275,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 "" diff --git a/library/importlib.metadata.po b/library/importlib.metadata.po index e907437a5..c85e6aa99 100644 --- a/library/importlib.metadata.po +++ b/library/importlib.metadata.po @@ -1,28 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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 -# i17obot , 2021 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.10\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-07-13 12:58+0000\n" -"PO-Revision-Date: 2021-06-28 01:08+0000\n" -"Last-Translator: i17obot , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:58+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"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`" @@ -30,11 +29,11 @@ msgstr "" #: ../../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.py`" -msgstr "" +msgid "**Source code:** :source:`Lib/importlib/metadata/__init__.py`" +msgstr "**Código-fonte:** :source:`Lib/importlib/metadata/__init__.py`" #: ../../library/importlib.metadata.rst:16 msgid "" @@ -72,6 +71,7 @@ msgstr "" #: ../../library/importlib.metadata.rst:48 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:57 msgid "" @@ -82,7 +82,7 @@ msgstr "" #: ../../library/importlib.metadata.rst:61 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:66 msgid "" @@ -90,18 +90,22 @@ msgid "" "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:72 msgid "Functional API" -msgstr "" +msgstr "API funcional" #: ../../library/importlib.metadata.rst:74 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:80 msgid "Entry points" -msgstr "" +msgstr "Pontos de entrada" #: ../../library/importlib.metadata.rst:82 msgid "" @@ -111,10 +115,15 @@ msgid "" "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:89 msgid "Query all entry points::" -msgstr "" +msgstr "Consultar todos os pontos de entrada::" #: ../../library/importlib.metadata.rst:93 msgid "" @@ -128,38 +137,51 @@ 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:106 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:111 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:117 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:122 msgid "Inspect the resolved entry point::" -msgstr "" +msgstr "Inspecione o ponto de entrada resolvido::" #: ../../library/importlib.metadata.rst:136 msgid "" "The ``group`` and ``name`` are arbitrary values defined by the package " "author and usually a client will wish to resolve all entry points for a " -"particular group. Read `the setuptools docs `_ " -"for more information on entry points, their definition, and usage." +"particular group. Read `the setuptools docs `_ 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:142 msgid "*Compatibility Note*" -msgstr "" +msgstr "*Notas de compatibilidade*" #: ../../library/importlib.metadata.rst:144 msgid "" @@ -175,7 +197,7 @@ msgstr "" #: ../../library/importlib.metadata.rst:157 msgid "Distribution metadata" -msgstr "" +msgstr "Metadados de distribuição" #: ../../library/importlib.metadata.rst:159 msgid "" @@ -189,26 +211,33 @@ 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:171 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:177 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:181 msgid "The ``json`` attribute was added." -msgstr "" +msgstr "O atributo ``json`` foi adicionado." #: ../../library/importlib.metadata.rst:188 msgid "Distribution versions" -msgstr "" +msgstr "Versões de distribuição" #: ../../library/importlib.metadata.rst:190 msgid "" @@ -218,7 +247,7 @@ msgstr "" #: ../../library/importlib.metadata.rst:200 msgid "Distribution files" -msgstr "" +msgstr "Arquivos de distribuição" #: ../../library/importlib.metadata.rst:202 msgid "" @@ -239,6 +268,8 @@ 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:235 msgid "" @@ -249,10 +280,16 @@ 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:246 msgid "Distribution requirements" -msgstr "" +msgstr "Requisitos de distribuição" #: ../../library/importlib.metadata.rst:248 msgid "" @@ -266,15 +303,15 @@ msgstr "" #: ../../library/importlib.metadata.rst:258 msgid "" -"A convience method to resolve the distribution or distributions (in the case " -"of a namespace package) for top-level Python packages or modules::" +"A convenience method to resolve the distribution or distributions (in the " +"case of a namespace package) for top-level Python packages or modules::" msgstr "" -#: ../../library/importlib.metadata.rst:269 +#: ../../library/importlib.metadata.rst:270 msgid "Distributions" -msgstr "" +msgstr "Distribuições" -#: ../../library/importlib.metadata.rst:271 +#: ../../library/importlib.metadata.rst:272 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 " @@ -282,29 +319,33 @@ msgid "" "can get the ``Distribution`` instance::" msgstr "" -#: ../../library/importlib.metadata.rst:279 +#: ../../library/importlib.metadata.rst:280 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:285 +#: ../../library/importlib.metadata.rst:286 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:293 +#: ../../library/importlib.metadata.rst:294 msgid "" "The full set of available metadata is not described here. See :pep:`566` " "for additional details." msgstr "" -#: ../../library/importlib.metadata.rst:298 +#: ../../library/importlib.metadata.rst:299 msgid "Extending the search algorithm" -msgstr "" +msgstr "Estendendo o algoritmo de pesquisa" -#: ../../library/importlib.metadata.rst:300 +#: ../../library/importlib.metadata.rst:301 msgid "" "Because package metadata is not available through :data:`sys.path` searches, " "or package loaders directly, the metadata for a package is found through " @@ -313,14 +354,14 @@ msgid "" "path finders ` on :data:`sys.meta_path`." msgstr "" -#: ../../library/importlib.metadata.rst:306 +#: ../../library/importlib.metadata.rst:307 msgid "" "The default ``PathFinder`` for Python includes a hook that calls into " "``importlib.metadata.MetadataPathFinder`` for finding distributions loaded " "from typical file-system-based paths." msgstr "" -#: ../../library/importlib.metadata.rst:310 +#: ../../library/importlib.metadata.rst:311 msgid "" "The abstract class :py:class:`importlib.abc.MetaPathFinder` defines the " "interface expected of finders by Python's import system. ``importlib." @@ -329,15 +370,24 @@ msgid "" "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:324 +#: ../../library/importlib.metadata.rst:325 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:328 +#: ../../library/importlib.metadata.rst:329 msgid "" "What this means in practice is that to support finding distribution package " "metadata in locations other than the file system, subclass ``Distribution`` " @@ -345,7 +395,9 @@ msgid "" "instances of this derived ``Distribution`` in the ``find_distributions()`` " "method." msgstr "" - -#: ../../library/importlib.metadata.rst:340 -msgid "Footnotes" -msgstr "Notas de rodapé" +"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 211cddcfa..10a8fd200 100644 --- a/library/importlib.po +++ b/library/importlib.po @@ -1,40 +1,36 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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 -# Adorilson Bezerra , 2021 -# i17obot , 2021 -# Rafael Fontenelle , 2021 -# Marco Rougeth , 2021 -# Claudio Rogerio Carvalho Filho , 2021 -# Ruan Aragão , 2021 +# python-doc bot, 2025 +# Rafael Fontenelle , 2025 # #, 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:08+0000\n" -"Last-Translator: Ruan Aragão , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-25 17:21+0000\n" +"PO-Revision-Date: 2025-09-22 15:58+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=2; plural=(n > 1);\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:17 msgid "Introduction" @@ -57,6 +53,10 @@ 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 ":ref:`import`" @@ -64,12 +64,13 @@ msgstr ":ref:`import`" #: ../../library/importlib.rst:33 msgid "The language reference for the :keyword:`import` statement." -msgstr "" +msgstr "A referência da linguagem para a instrução :keyword:`import`." #: ../../library/importlib.rst:38 msgid "" "`Packages specification `__" msgstr "" +"`Especificação dos pacotes `__" #: ../../library/importlib.rst:36 msgid "" @@ -77,14 +78,17 @@ msgid "" "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:41 msgid "The :func:`.__import__` function" -msgstr "" +msgstr "A função :func:`.__import__`" #: ../../library/importlib.rst:41 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:44 msgid ":pep:`235`" @@ -92,7 +96,7 @@ msgstr ":pep:`235`" #: ../../library/importlib.rst:44 msgid "Import on Case-Insensitive Platforms" -msgstr "" +msgstr "Importação em plataformas que diferenciam maiúsculo de minúsculo" #: ../../library/importlib.rst:47 msgid ":pep:`263`" @@ -100,7 +104,7 @@ msgstr ":pep:`263`" #: ../../library/importlib.rst:47 msgid "Defining Python Source Code Encodings" -msgstr "" +msgstr "Definindo codificações do código-fonte do Python" #: ../../library/importlib.rst:50 msgid ":pep:`302`" @@ -108,7 +112,7 @@ msgstr ":pep:`302`" #: ../../library/importlib.rst:50 msgid "New Import Hooks" -msgstr "" +msgstr "Novos ganchos de importação" #: ../../library/importlib.rst:53 msgid ":pep:`328`" @@ -116,7 +120,7 @@ msgstr ":pep:`328`" #: ../../library/importlib.rst:53 msgid "Imports: Multi-Line and Absolute/Relative" -msgstr "" +msgstr "Importações: Multilinha e Absoluto/Relativo" #: ../../library/importlib.rst:56 msgid ":pep:`366`" @@ -124,7 +128,7 @@ msgstr ":pep:`366`" #: ../../library/importlib.rst:56 msgid "Main module explicit relative imports" -msgstr "" +msgstr "Importações relativas explícitas do módulo principal" #: ../../library/importlib.rst:59 msgid ":pep:`420`" @@ -132,7 +136,7 @@ msgstr ":pep:`420`" #: ../../library/importlib.rst:59 msgid "Implicit namespace packages" -msgstr "" +msgstr "Pacotes de espaço de nomes implícitos" #: ../../library/importlib.rst:62 msgid ":pep:`451`" @@ -140,7 +144,7 @@ msgstr ":pep:`451`" #: ../../library/importlib.rst:62 msgid "A ModuleSpec Type for the Import System" -msgstr "" +msgstr "Um tipo de ModuleSpec para o sistema de importação" #: ../../library/importlib.rst:65 msgid ":pep:`488`" @@ -148,7 +152,7 @@ msgstr ":pep:`488`" #: ../../library/importlib.rst:65 msgid "Elimination of PYO files" -msgstr "" +msgstr "Eliminação de arquivos PYO" #: ../../library/importlib.rst:68 msgid ":pep:`489`" @@ -156,7 +160,7 @@ msgstr ":pep:`489`" #: ../../library/importlib.rst:68 msgid "Multi-phase extension module initialization" -msgstr "" +msgstr "Inicialização de módulo extensão multifase" #: ../../library/importlib.rst:71 msgid ":pep:`552`" @@ -164,7 +168,7 @@ msgstr ":pep:`552`" #: ../../library/importlib.rst:71 msgid "Deterministic pycs" -msgstr "" +msgstr "pycs determinísticos" #: ../../library/importlib.rst:74 msgid ":pep:`3120`" @@ -172,7 +176,7 @@ msgstr ":pep:`3120`" #: ../../library/importlib.rst:74 msgid "Using UTF-8 as the Default Source Encoding" -msgstr "" +msgstr "Usando UTF-8 como fonte padrão de codificação" #: ../../library/importlib.rst:76 msgid ":pep:`3147`" @@ -180,7 +184,7 @@ msgstr ":pep:`3147`" #: ../../library/importlib.rst:77 msgid "PYC Repository Directories" -msgstr "" +msgstr "Diretórios de repositório de PYC" #: ../../library/importlib.rst:81 msgid "Functions" @@ -188,13 +192,15 @@ msgstr "Funções" #: ../../library/importlib.rst:85 msgid "An implementation of the built-in :func:`__import__` function." -msgstr "" +msgstr "Uma implementação da função embutida :func:`__import__`." #: ../../library/importlib.rst:88 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:93 msgid "" @@ -205,6 +211,12 @@ 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:101 msgid "" @@ -215,6 +227,13 @@ msgid "" "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:108 msgid "" @@ -223,10 +242,14 @@ 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:113 msgid "Parent packages are automatically imported." -msgstr "" +msgstr "Os pacotes pai são importados automaticamente." #: ../../library/importlib.rst:118 msgid "" @@ -253,7 +276,7 @@ msgstr "" #: ../../library/importlib.rst:135 msgid "Use :func:`importlib.util.find_spec` instead." -msgstr "" +msgstr "Use :func:`importlib.util.find_spec`." #: ../../library/importlib.rst:140 msgid "" @@ -263,6 +286,11 @@ 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:150 msgid "" @@ -273,10 +301,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:157 msgid "When :func:`reload` is executed:" -msgstr "" +msgstr "Quando :func:`reload` é executado:" #: ../../library/importlib.rst:159 msgid "" @@ -286,18 +320,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:165 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:168 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:171 msgid "" @@ -305,10 +348,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:175 msgid "There are a number of other caveats:" -msgstr "" +msgstr "Existem várias outras ressalvas:" #: ../../library/importlib.rst:177 msgid "" @@ -321,6 +367,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:191 msgid "" @@ -330,6 +384,11 @@ 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:197 msgid "" @@ -339,6 +398,11 @@ msgid "" "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:203 msgid "" @@ -347,20 +411,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:209 msgid "" ":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:215 msgid ":mod:`importlib.abc` -- Abstract base classes related to import" msgstr "" +":mod:`importlib.abc` -- classes base abstratas relacionadas a importação" #: ../../library/importlib.rst:220 msgid "**Source code:** :source:`Lib/importlib/abc.py`" -msgstr "" +msgstr "**Código-fonte:** :source:`Lib/importlib/abc.py`" #: ../../library/importlib.rst:225 msgid "" @@ -368,10 +439,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:229 msgid "ABC hierarchy::" -msgstr "" +msgstr "Hierarquia de ABC::" #: ../../library/importlib.rst:245 msgid "An abstract base class representing a :term:`finder`." @@ -400,16 +475,16 @@ msgid "" msgstr "" #: ../../library/importlib.rst:267 -msgid "" -"An abstract base class representing a :term:`meta path finder`. For " -"compatibility, this is a subclass of :class:`Finder`." +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:272 ../../library/importlib.rst:327 +#: ../../library/importlib.rst:271 ../../library/importlib.rst:326 msgid "No longer a subclass of :class:`Finder`." msgstr "" -#: ../../library/importlib.rst:277 +#: ../../library/importlib.rst:276 msgid "" "An abstract method for finding a :term:`spec ` for the " "specified module. If this is a top-level import, *path* will be ``None``. " @@ -420,8 +495,17 @@ 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:291 +#: ../../library/importlib.rst:290 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 " @@ -430,44 +514,52 @@ msgid "" "returned." msgstr "" -#: ../../library/importlib.rst:297 +#: ../../library/importlib.rst:296 msgid "" "If :meth:`find_spec` is defined, backwards-compatible functionality is " "provided." msgstr "" -#: ../../library/importlib.rst:300 +#: ../../library/importlib.rst:299 msgid "" "Returns ``None`` when called instead of raising :exc:`NotImplementedError`. " "Can use :meth:`find_spec` to provide functionality." msgstr "" -#: ../../library/importlib.rst:305 ../../library/importlib.rst:361 -#: ../../library/importlib.rst:369 ../../library/importlib.rst:1149 -#: ../../library/importlib.rst:1206 +#: ../../library/importlib.rst:304 ../../library/importlib.rst:360 +#: ../../library/importlib.rst:368 ../../library/importlib.rst:1195 +#: ../../library/importlib.rst:1252 msgid "Use :meth:`find_spec` instead." msgstr "" -#: ../../library/importlib.rst:310 +#: ../../library/importlib.rst:309 msgid "" "An optional method which, when called, should invalidate any internal cache " "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:314 +#: ../../library/importlib.rst:313 msgid "Returns ``None`` when called instead of ``NotImplemented``." msgstr "" -#: ../../library/importlib.rst:320 +#: ../../library/importlib.rst:319 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`." 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:332 +#: ../../library/importlib.rst:331 msgid "" "An abstract method for finding a :term:`spec ` for the " "specified module. The finder will search for the module only within the :" @@ -477,8 +569,16 @@ msgid "" "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:344 +#: ../../library/importlib.rst:343 msgid "" "A legacy method for finding a :term:`loader` for the specified module. " "Returns a 2-tuple of ``(loader, portion)`` where ``portion`` is a sequence " @@ -491,62 +591,71 @@ msgid "" "failure to find anything for the module)." msgstr "" -#: ../../library/importlib.rst:354 +#: ../../library/importlib.rst:353 msgid "" "If :meth:`find_spec` is defined then backwards-compatible functionality is " "provided." msgstr "" -#: ../../library/importlib.rst:357 +#: ../../library/importlib.rst:356 msgid "" "Returns ``(None, [])`` instead of raising :exc:`NotImplementedError`. Uses :" "meth:`find_spec` when available to provide functionality." msgstr "" -#: ../../library/importlib.rst:366 +#: ../../library/importlib.rst:365 msgid "" "A concrete implementation of :meth:`Finder.find_module` which is equivalent " "to ``self.find_loader(fullname)[0]``." msgstr "" -#: ../../library/importlib.rst:374 +#: ../../library/importlib.rst:373 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." 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:382 +#: ../../library/importlib.rst:381 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:385 ../../library/importlib.rst:870 +#: ../../library/importlib.rst:384 ../../library/importlib.rst:916 msgid "" "Loaders that wish to support resource reading should implement a " "``get_resource_reader(fullname)`` method as specified by :class:`importlib." "abc.ResourceReader`." msgstr "" -#: ../../library/importlib.rst:389 +#: ../../library/importlib.rst:388 msgid "Introduced the optional ``get_resource_reader()`` method." msgstr "" -#: ../../library/importlib.rst:394 +#: ../../library/importlib.rst:393 msgid "" "A method that returns the module object to use when importing a module. " "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:400 +#: ../../library/importlib.rst:399 msgid "" "Starting in Python 3.6, this method will not be optional when :meth:" "`exec_module` is defined." msgstr "" -#: ../../library/importlib.rst:406 +#: ../../library/importlib.rst:405 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 " @@ -554,17 +663,17 @@ msgid "" "abc.Loader.create_module` must be defined." msgstr "" -#: ../../library/importlib.rst:413 +#: ../../library/importlib.rst:412 msgid ":meth:`~importlib.abc.Loader.create_module` must also be defined." msgstr ":meth:`~importlib.abc.Loader.create_module` precisa ser definida." -#: ../../library/importlib.rst:418 +#: ../../library/importlib.rst:417 msgid "" "A legacy method for loading a module. If the module cannot be loaded, :exc:" "`ImportError` is raised, otherwise the loaded module is returned." msgstr "" -#: ../../library/importlib.rst:422 +#: ../../library/importlib.rst:421 msgid "" "If the requested module already exists in :data:`sys.modules`, that module " "should be used and reloaded. Otherwise the loader should create a new module " @@ -575,84 +684,86 @@ msgid "" "left alone (see :func:`importlib.util.module_for_loader`)." msgstr "" -#: ../../library/importlib.rst:431 +#: ../../library/importlib.rst:430 msgid "" "The loader should set several attributes on the module. (Note that some of " "these attributes can change when a module is reloaded):" msgstr "" -#: ../../library/importlib.rst:436 +#: ../../library/importlib.rst:435 msgid ":attr:`__name__`" msgstr ":attr:`__name__`" -#: ../../library/importlib.rst:436 +#: ../../library/importlib.rst:435 msgid "The name of the module." msgstr "O nome do módulo." -#: ../../library/importlib.rst:440 +#: ../../library/importlib.rst:439 msgid ":attr:`__file__`" msgstr ":attr:`__file__`" -#: ../../library/importlib.rst:439 +#: ../../library/importlib.rst:438 msgid "" "The path to where the module data is stored (not set for built-in modules)." msgstr "" -#: ../../library/importlib.rst:444 +#: ../../library/importlib.rst:443 msgid ":attr:`__cached__`" msgstr ":attr:`__cached__`" -#: ../../library/importlib.rst:443 +#: ../../library/importlib.rst:442 msgid "" "The path to where a compiled version of the module is/should be stored (not " "set when the attribute would be inappropriate)." msgstr "" -#: ../../library/importlib.rst:448 +#: ../../library/importlib.rst:447 msgid ":attr:`__path__`" msgstr ":attr:`__path__`" -#: ../../library/importlib.rst:447 +#: ../../library/importlib.rst:446 msgid "" "A list of strings specifying the search path within a package. This " "attribute is not set on modules." msgstr "" -#: ../../library/importlib.rst:455 +#: ../../library/importlib.rst:454 msgid ":attr:`__package__`" msgstr ":attr:`__package__`" -#: ../../library/importlib.rst:451 +#: ../../library/importlib.rst:450 msgid "" -"The fully-qualified name of the package under which the module was loaded as " +"The fully qualified name of the package under which the module was loaded as " "a submodule (or the empty string for top-level modules). For packages, it is " "the same as :attr:`__name__`. The :func:`importlib.util.module_for_loader` " "decorator can handle the details for :attr:`__package__`." msgstr "" -#: ../../library/importlib.rst:460 +#: ../../library/importlib.rst:459 msgid ":attr:`__loader__`" msgstr ":attr:`__loader__`" -#: ../../library/importlib.rst:458 +#: ../../library/importlib.rst:457 msgid "" "The loader used to load the module. The :func:`importlib.util." "module_for_loader` decorator can handle the details for :attr:`__package__`." msgstr "" -#: ../../library/importlib.rst:462 +#: ../../library/importlib.rst:461 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:465 +#: ../../library/importlib.rst:464 msgid "" "Raise :exc:`ImportError` when called instead of :exc:`NotImplementedError`. " "Functionality provided when :meth:`exec_module` is available." msgstr "" -#: ../../library/importlib.rst:470 +#: ../../library/importlib.rst:469 msgid "" "The recommended API for loading a module is :meth:`exec_module` (and :meth:" "`create_module`). Loaders should implement it instead of load_module(). " @@ -660,31 +771,33 @@ msgid "" "load_module() when exec_module() is implemented." msgstr "" -#: ../../library/importlib.rst:479 +#: ../../library/importlib.rst:478 msgid "" "A legacy method which when implemented calculates and returns the given " "module's repr, as a string. The module type's default repr() will use the " "result of this method as appropriate." msgstr "" -#: ../../library/importlib.rst:485 +#: ../../library/importlib.rst:484 msgid "Made optional instead of an abstractmethod." msgstr "" -#: ../../library/importlib.rst:488 +#: ../../library/importlib.rst:487 msgid "The import machinery now takes care of this automatically." msgstr "" -#: ../../library/importlib.rst:494 +#: ../../library/importlib.rst:493 msgid "*Superseded by TraversableResources*" -msgstr "" +msgstr "*Substituída por TraversableResources*" -#: ../../library/importlib.rst:496 +#: ../../library/importlib.rst:495 msgid "" "An :term:`abstract base class` to provide the ability to read *resources*." msgstr "" +"Uma :term:`classe base abstrata` para fornecer a capacidade de ler " +"*recursos*." -#: ../../library/importlib.rst:499 +#: ../../library/importlib.rst:498 msgid "" "From the perspective of this ABC, a *resource* is a binary artifact that is " "shipped within a package. Typically this is something like a data file that " @@ -693,8 +806,14 @@ msgid "" "does not matter if the package and its data file(s) are stored in a e.g. zip " "file versus on the file system." msgstr "" +"Da perspectiva deste ABC, um *recurso* é um artefato binário que é enviado " +"dentro de um pacote. Normalmente isso é algo como um arquivo de dados que " +"fica próximo ao arquivo ``__init__.py`` do pacote. O objetivo desta classe é " +"ajudar a abstrair o acesso a tais arquivos de dados para que não importe se " +"o pacote e seu(s) arquivo(s) de dados estão armazenados em um arquivo, por " +"exemplo, zip versus no sistema de arquivos." -#: ../../library/importlib.rst:507 +#: ../../library/importlib.rst:506 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 " @@ -705,8 +824,17 @@ msgid "" "class are expected to directly correlate to a specific package (instead of " "potentially representing multiple packages or a module)." msgstr "" +"Para qualquer um dos métodos desta classe, espera-se que o argumento " +"*resource* seja um :term:`objeto caminho ou similar` que representa " +"conceitualmente apenas um nome de arquivo. Isso significa que nenhum caminho " +"de subdiretório deve ser incluído no argumento *resource*. Isso ocorre " +"porque a localização do pacote para o qual o leitor se destina, atua como o " +"\"diretório\". Portanto, a metáfora para diretórios e nomes de arquivos são " +"pacotes e recursos, respectivamente. É também por isso que se espera que as " +"instâncias dessa classe se correlacionem diretamente a um pacote específico " +"(em vez de representar potencialmente vários pacotes ou um módulo)." -#: ../../library/importlib.rst:518 +#: ../../library/importlib.rst:517 msgid "" "Loaders that wish to support resource reading are expected to provide a " "method called ``get_resource_reader(fullname)`` which returns an object " @@ -714,42 +842,59 @@ msgid "" "not a package, this method should return :const:`None`. An object compatible " "with this ABC should only be returned when the specified module is a package." msgstr "" +"Carregadores que desejam oferecer suporte à leitura de recursos devem " +"fornecer um método chamado ``get_resource_reader(nomecompleto)`` que retorna " +"um objeto implementando esta interface ABC. Se o módulo especificado por " +"nomecompleto não for um pacote, este método deve retornar :const:`None`. Um " +"objeto compatível com este ABC só deve ser retornado quando o módulo " +"especificado for um pacote." -#: ../../library/importlib.rst:529 +#: ../../library/importlib.rst:528 msgid "" "Returns an opened, :term:`file-like object` for binary reading of the " "*resource*." msgstr "" +"Retorna um :term:`objeto arquivo ou similar` aberto para leitura binária de " +"*resource*." -#: ../../library/importlib.rst:532 +#: ../../library/importlib.rst:531 msgid "If the resource cannot be found, :exc:`FileNotFoundError` is raised." msgstr "" +"Se o recurso não puder ser encontrado, :exc:`FileNotFoundError` é levantada." -#: ../../library/importlib.rst:537 +#: ../../library/importlib.rst:536 msgid "Returns the file system path to the *resource*." -msgstr "" +msgstr "Retorna o caminho do sistema de arquivos para *resource*." -#: ../../library/importlib.rst:539 +#: ../../library/importlib.rst:538 msgid "" "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`." -#: ../../library/importlib.rst:544 +#: ../../library/importlib.rst:543 msgid "" "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." -#: ../../library/importlib.rst:549 +#: ../../library/importlib.rst:548 msgid "" "Returns an :term:`iterable` of strings over the contents of the package. Do " "note that it is not required that all names returned by the iterator be " "actual resources, e.g. it is acceptable to return names for which :meth:" "`is_resource` would be false." msgstr "" +"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." -#: ../../library/importlib.rst:555 +#: ../../library/importlib.rst:554 msgid "" "Allowing non-resource names to be returned is to allow for situations where " "how a package and its resources are stored are known a priori and the non-" @@ -757,24 +902,33 @@ msgid "" "is allowed so that when it is known that the package and resources are " "stored on the file system then those subdirectory names can be used directly." msgstr "" +"Permitir que nomes que não são recursos sejam retornados é permitir " +"situações em que a forma como um pacote e seus recursos são armazenados é " +"conhecida a priori e os nomes que não são recursos seriam úteis. Por " +"exemplo, o retorno de nomes de subdiretórios é permitido para que, quando se " +"souber que o pacote e os recursos estão armazenados no sistema de arquivos, " +"esses nomes de subdiretórios possam ser usados diretamente." -#: ../../library/importlib.rst:563 +#: ../../library/importlib.rst:562 msgid "The abstract method returns an iterable of no items." -msgstr "" +msgstr "O método abstrato retorna um iterável sem itens." -#: ../../library/importlib.rst:568 +#: ../../library/importlib.rst:567 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." 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:572 +#: ../../library/importlib.rst:571 msgid "" "This ABC is deprecated in favour of supporting resource loading through :" "class:`importlib.abc.ResourceReader`." msgstr "" -#: ../../library/importlib.rst:578 +#: ../../library/importlib.rst:577 msgid "" "An abstract method to return the bytes for the data located at *path*. " "Loaders that have a file-like storage back-end that allows storing arbitrary " @@ -783,35 +937,50 @@ 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:586 +#: ../../library/importlib.rst:585 msgid "Raises :exc:`OSError` instead of :exc:`NotImplementedError`." -msgstr "" +msgstr "Levanta :exc:`OSError` em vez de :exc:`NotImplementedError`." -#: ../../library/importlib.rst:592 +#: ../../library/importlib.rst:591 msgid "" "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:597 +#: ../../library/importlib.rst:596 msgid "" "Return the code object for a module, or ``None`` if the module does not have " "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:603 +#: ../../library/importlib.rst:602 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:609 +#: ../../library/importlib.rst:608 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:614 +#: ../../library/importlib.rst:613 msgid "" "An abstract method to return the source of a module. It is returned as a " "text string using :term:`universal newlines`, translating all recognized " @@ -819,131 +988,166 @@ 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:620 ../../library/importlib.rst:629 -#: ../../library/importlib.rst:679 +#: ../../library/importlib.rst:619 ../../library/importlib.rst:628 +#: ../../library/importlib.rst:678 msgid "Raises :exc:`ImportError` instead of :exc:`NotImplementedError`." -msgstr "" +msgstr "Levanta :exc:`ImportError` em vez de :exc:`NotImplementedError`." -#: ../../library/importlib.rst:625 +#: ../../library/importlib.rst:624 msgid "" "An optional method to return a true value if the module is a package, a " "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:634 +#: ../../library/importlib.rst:633 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:636 +#: ../../library/importlib.rst:635 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)." 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:641 +#: ../../library/importlib.rst:640 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:646 +#: ../../library/importlib.rst:645 msgid "Made the method static." -msgstr "" +msgstr "O método foi tornado estático." -#: ../../library/importlib.rst:651 +#: ../../library/importlib.rst:650 msgid "Implementation of :meth:`Loader.exec_module`." -msgstr "" +msgstr "Implementação de :meth:`Loader.exec_module`." -#: ../../library/importlib.rst:657 +#: ../../library/importlib.rst:656 msgid "Implementation of :meth:`Loader.load_module`." -msgstr "" +msgstr "Implementação de :meth:`Loader.load_module`." -#: ../../library/importlib.rst:659 +#: ../../library/importlib.rst:658 msgid "use :meth:`exec_module` instead." -msgstr "" +msgstr "use :meth:`exec_module`." -#: ../../library/importlib.rst:665 +#: ../../library/importlib.rst:664 msgid "" "An abstract base class which inherits from :class:`InspectLoader` that, when " "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:671 +#: ../../library/importlib.rst:670 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:675 +#: ../../library/importlib.rst:674 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:685 +#: ../../library/importlib.rst:684 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`." 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:689 +#: ../../library/importlib.rst:688 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:696 +#: ../../library/importlib.rst:695 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:700 +#: ../../library/importlib.rst:699 msgid "Path to the file of the module." -msgstr "" +msgstr "Caminho para o arquivo do módulo" -#: ../../library/importlib.rst:704 +#: ../../library/importlib.rst:703 msgid "Calls super's ``load_module()``." -msgstr "" +msgstr "Chama ``load_module()`` do super." -#: ../../library/importlib.rst:706 +#: ../../library/importlib.rst:705 msgid "Use :meth:`Loader.exec_module` instead." -msgstr "" +msgstr "Use :meth:`Loader.exec_module`" -#: ../../library/importlib.rst:711 ../../library/importlib.rst:1351 +#: ../../library/importlib.rst:710 ../../library/importlib.rst:1397 msgid "Returns :attr:`path`." -msgstr "" +msgstr "Retorna :attr:`path`." -#: ../../library/importlib.rst:715 +#: ../../library/importlib.rst:714 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:720 +#: ../../library/importlib.rst:719 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:" 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:724 +#: ../../library/importlib.rst:723 msgid ":meth:`ResourceLoader.get_data`" msgstr ":meth:`ResourceLoader.get_data`" -#: ../../library/importlib.rst:727 +#: ../../library/importlib.rst:726 msgid ":meth:`ExecutionLoader.get_filename`" msgstr ":meth:`ExecutionLoader.get_filename`" -#: ../../library/importlib.rst:726 +#: ../../library/importlib.rst:725 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:729 +#: ../../library/importlib.rst:728 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 :" @@ -954,84 +1158,108 @@ msgid "" "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:740 +#: ../../library/importlib.rst:739 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:743 +#: ../../library/importlib.rst:742 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:745 +#: ../../library/importlib.rst:744 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:747 +#: ../../library/importlib.rst:746 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:752 ../../library/importlib.rst:765 +#: ../../library/importlib.rst:751 ../../library/importlib.rst:764 msgid "Raise :exc:`OSError` instead of :exc:`NotImplementedError`." -msgstr "" +msgstr "Levanta :exc:`OSError` em vez de :exc:`NotImplementedError`." -#: ../../library/importlib.rst:757 +#: ../../library/importlib.rst:756 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:760 +#: ../../library/importlib.rst:759 msgid "" "This method is deprecated in favour of :meth:`path_stats`. You don't have " "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:770 +#: ../../library/importlib.rst:769 msgid "" "Optional abstract method which writes the specified bytes to a file path. " "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:774 +#: ../../library/importlib.rst:773 msgid "" "When writing to the path fails because the path is read-only (:attr:`errno." "EACCES`/:exc:`PermissionError`), do not propagate the exception." msgstr "" -#: ../../library/importlib.rst:778 +#: ../../library/importlib.rst:777 msgid "No longer raises :exc:`NotImplementedError` when called." -msgstr "" +msgstr "Não mais levanta :exc:`NotImplementedError` quando chamado." -#: ../../library/importlib.rst:783 +#: ../../library/importlib.rst:782 msgid "Concrete implementation of :meth:`InspectLoader.get_code`." -msgstr "" +msgstr "Implementação concreta de :meth:`InspectLoader.get_code`." -#: ../../library/importlib.rst:787 +#: ../../library/importlib.rst:786 msgid "Concrete implementation of :meth:`Loader.exec_module`." -msgstr "" +msgstr "Implementação concreta de :meth:`Loader.exec_module`." -#: ../../library/importlib.rst:793 +#: ../../library/importlib.rst:792 msgid "Concrete implementation of :meth:`Loader.load_module`." -msgstr "" +msgstr "Implementação concreta de :meth:`Loader.load_module`." -#: ../../library/importlib.rst:795 +#: ../../library/importlib.rst:794 msgid "Use :meth:`exec_module` instead." -msgstr "" +msgstr "Use :meth:`exec_module`." -#: ../../library/importlib.rst:800 +#: ../../library/importlib.rst:799 msgid "Concrete implementation of :meth:`InspectLoader.get_source`." -msgstr "" +msgstr "Implementação concreta de :meth:`InspectLoader.get_source`." -#: ../../library/importlib.rst:804 +#: ../../library/importlib.rst:803 msgid "" "Concrete implementation of :meth:`InspectLoader.is_package`. A module is " "determined to be a package if its file path (as provided by :meth:" @@ -1039,36 +1267,103 @@ msgid "" "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:812 +msgid "" +"An object with a subset of :class:`pathlib.Path` methods suitable for " +"traversing directories and opening files." +msgstr "" +"Um objeto com um subconjunto de métodos de :class:`pathlib.Path` adequados " +"para percorrer diretórios e abrir arquivos." + +#: ../../library/importlib.rst:815 +msgid "" +"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`." + +#: ../../library/importlib.rst:822 +msgid "The base name of this object without any parent references." +msgstr "" + +#: ../../library/importlib.rst:826 +msgid "Yield Traversable objects in self." +msgstr "Produz objetos Traversable em self." + +#: ../../library/importlib.rst:830 +msgid "Return True if self is a directory." +msgstr "Retorna True se self for um diretório." + +#: ../../library/importlib.rst:834 +msgid "Return True if self is a file." +msgstr "Retorna True se self for um arquivo." + +#: ../../library/importlib.rst:838 ../../library/importlib.rst:842 +msgid "Return Traversable child in self." +msgstr "Retorna o filho Traversable em self." + +#: ../../library/importlib.rst:846 +msgid "" +"*mode* may be 'r' or 'rb' to open as text or binary. Return a handle " +"suitable for reading (same as :attr:`pathlib.Path.open`)." +msgstr "" +"*mode* pode ser 'r' ou 'rb' para abrir como texto ou binário. Retorna um " +"manipulador adequado para leitura (o mesmo que :attr:`pathlib.Path.open`)." + +#: ../../library/importlib.rst:849 +msgid "" +"When opening as text, accepts encoding parameters such as those accepted by :" +"attr:`io.TextIOWrapper`." +msgstr "" +"Ao abrir como texto, aceita parâmetros de codificação como os aceitos por :" +"attr:`io.TextIOWrapper`." -#: ../../library/importlib.rst:813 +#: ../../library/importlib.rst:854 +msgid "Read contents of self as bytes." +msgstr "Lê o conteúdo de self como bytes." + +#: ../../library/importlib.rst:858 +msgid "Read contents of self as text." +msgstr "Lê o conteúdo de self como texto." + +#: ../../library/importlib.rst:860 ../../library/importlib.rst:876 msgid "" -"An object with a subset of pathlib.Path methods suitable for traversing " -"directories and opening files." +"Note: In Python 3.11 and later, this class is found in ``importlib.resources." +"abc``." msgstr "" -#: ../../library/importlib.rst:821 +#: ../../library/importlib.rst:865 msgid "" "An abstract base class for resource readers capable of serving the ``files`` " "interface. Subclasses ResourceReader and provides concrete implementations " "of the ResourceReader's abstract methods. Therefore, any loader supplying " -"TraversableReader also supplies ResourceReader." +"TraversableResources also supplies ResourceReader." msgstr "" -#: ../../library/importlib.rst:827 +#: ../../library/importlib.rst:871 msgid "" "Loaders that wish to support resource reading are expected to implement this " "interface." msgstr "" +"Espera-se que os carregadores que desejam oferecer suporte à leitura de " +"recursos implementem essa interface." -#: ../../library/importlib.rst:834 +#: ../../library/importlib.rst:880 msgid ":mod:`importlib.resources` -- Resources" -msgstr "" +msgstr ":mod:`importlib.resources` -- Recursos" -#: ../../library/importlib.rst:839 +#: ../../library/importlib.rst:885 msgid "**Source code:** :source:`Lib/importlib/resources.py`" msgstr "" -#: ../../library/importlib.rst:845 +#: ../../library/importlib.rst:891 msgid "" "This module leverages Python's import system to provide access to " "*resources* within *packages*. If you can import a package, you can access " @@ -1076,7 +1371,7 @@ msgid "" "binary or text mode." msgstr "" -#: ../../library/importlib.rst:850 +#: ../../library/importlib.rst:896 msgid "" "Resources are roughly akin to files inside directories, though it's " "important to keep in mind that this is just a metaphor. Resources and " @@ -1084,7 +1379,7 @@ msgid "" "file system." msgstr "" -#: ../../library/importlib.rst:856 +#: ../../library/importlib.rst:902 msgid "" "This module provides functionality similar to `pkg_resources `_ `Basic Resource " @@ -1094,7 +1389,7 @@ msgid "" "consistent semantics." msgstr "" -#: ../../library/importlib.rst:864 +#: ../../library/importlib.rst:910 msgid "" "The standalone backport of this module provides more information on `using " "importlib.resources `_." msgstr "" -#: ../../library/importlib.rst:874 +#: ../../library/importlib.rst:920 msgid "The following types are defined." msgstr "" -#: ../../library/importlib.rst:878 +#: ../../library/importlib.rst:924 msgid "" "The ``Package`` type is defined as ``Union[str, ModuleType]``. This means " "that where the function describes accepting a ``Package``, you can pass in " @@ -1114,55 +1409,57 @@ msgid "" "``__spec__.submodule_search_locations`` that is not ``None``." msgstr "" -#: ../../library/importlib.rst:885 +#: ../../library/importlib.rst:931 msgid "" "This type describes the resource names passed into the various functions in " "this package. This is defined as ``Union[str, os.PathLike]``." msgstr "" -#: ../../library/importlib.rst:889 +#: ../../library/importlib.rst:935 msgid "The following functions are available." msgstr "" -#: ../../library/importlib.rst:894 +#: ../../library/importlib.rst:940 msgid "" -"Returns an :class:`importlib.resources.abc.Traversable` object representing " -"the resource container for the package (think directory) and its resources " +"Returns an :class:`importlib.abc.Traversable` object representing the " +"resource container for the package (think directory) and its resources " "(think files). A Traversable may contain other containers (think " "subdirectories)." msgstr "" -#: ../../library/importlib.rst:899 ../../library/importlib.rst:1000 +#: ../../library/importlib.rst:945 ../../library/importlib.rst:1046 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``." -#: ../../library/importlib.rst:906 +#: ../../library/importlib.rst:952 msgid "" -"Given a :class:`importlib.resources.abc.Traversable` object representing a " -"file, typically from :func:`importlib.resources.files`, return a context " -"manager for use in a :keyword:`with` statement. The context manager provides " -"a :class:`pathlib.Path` object." +"Given a :class:`importlib.abc.Traversable` object representing a file, " +"typically from :func:`importlib.resources.files`, return a context manager " +"for use in a :keyword:`with` statement. The context manager provides a :" +"class:`pathlib.Path` object." msgstr "" -#: ../../library/importlib.rst:911 +#: ../../library/importlib.rst:957 msgid "" "Exiting the context manager cleans up any temporary file created when the " "resource was extracted from e.g. a zip file." msgstr "" -#: ../../library/importlib.rst:914 +#: ../../library/importlib.rst:960 msgid "" "Use ``as_file`` when the Traversable methods (``read_text``, etc) are " "insufficient and an actual file on the file system is required." msgstr "" -#: ../../library/importlib.rst:922 +#: ../../library/importlib.rst:968 msgid "Open for binary reading the *resource* within *package*." -msgstr "" +msgstr "Abre para leitura binária o *resource* dentro do *package*." -#: ../../library/importlib.rst:924 +#: ../../library/importlib.rst:970 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 " @@ -1170,14 +1467,22 @@ msgid "" "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.rst:933 +#: ../../library/importlib.rst:979 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.rst:936 +#: ../../library/importlib.rst:982 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 " @@ -1185,19 +1490,27 @@ 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.rst:942 +#: ../../library/importlib.rst:988 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.rst:948 +#: ../../library/importlib.rst:994 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.rst:951 +#: ../../library/importlib.rst:997 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 " @@ -1205,14 +1518,21 @@ 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.rst:960 +#: ../../library/importlib.rst:1006 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.rst:963 +#: ../../library/importlib.rst:1009 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 " @@ -1221,29 +1541,45 @@ 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.rst:973 +#: ../../library/importlib.rst:1019 msgid "" "Return the path to the *resource* as an actual file system path. This " "function returns a context manager for use in a :keyword:`with` statement. " "The context manager provides a :class:`pathlib.Path` object." msgstr "" +"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.rst:977 +#: ../../library/importlib.rst:1023 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.rst:980 +#: ../../library/importlib.rst:1026 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)." 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.rst:988 +#: ../../library/importlib.rst:1034 msgid "" "Return ``True`` if there is a resource named *name* in the package, " "otherwise ``False``. Remember that directories are *not* resources! " @@ -1251,66 +1587,81 @@ msgid "" "``Package`` requirements." msgstr "" -#: ../../library/importlib.rst:996 +#: ../../library/importlib.rst:1042 msgid "" "Return an iterable over the named items within the package. The iterable " "returns :class:`str` resources (e.g. files) and non-resources (e.g. " "directories). The iterable does not recurse into subdirectories." 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.rst:1005 +#: ../../library/importlib.rst:1051 msgid ":mod:`importlib.machinery` -- Importers and path hooks" -msgstr "" +msgstr ":mod:`importlib.machinery` -- Importadores e ganchos de caminho" -#: ../../library/importlib.rst:1010 +#: ../../library/importlib.rst:1056 msgid "**Source code:** :source:`Lib/importlib/machinery.py`" -msgstr "" +msgstr "**Código-fonte:** :source:`Lib/importlib/machinery.py`" -#: ../../library/importlib.rst:1014 +#: ../../library/importlib.rst:1060 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:1019 +#: ../../library/importlib.rst:1065 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:1026 +#: ../../library/importlib.rst:1072 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:1031 ../../library/importlib.rst:1041 +#: ../../library/importlib.rst:1077 ../../library/importlib.rst:1087 msgid "Use :attr:`BYTECODE_SUFFIXES` instead." -msgstr "" +msgstr "Use :attr:`BYTECODE_SUFFIXES`." -#: ../../library/importlib.rst:1036 +#: ../../library/importlib.rst:1082 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:1046 +#: ../../library/importlib.rst:1092 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:1051 +#: ../../library/importlib.rst:1097 msgid "The value is no longer dependent on ``__debug__``." -msgstr "" +msgstr "O valor não mais depende de ``__debug__``." -#: ../../library/importlib.rst:1056 +#: ../../library/importlib.rst:1102 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:1063 +#: ../../library/importlib.rst:1109 msgid "" "Returns a combined list of strings representing all file suffixes for " "modules recognized by the standard import machinery. This is a helper for " @@ -1318,58 +1669,83 @@ msgid "" "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:1074 +#: ../../library/importlib.rst:1120 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." 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:1079 ../../library/importlib.rst:1093 -#: ../../library/importlib.rst:1106 ../../library/importlib.rst:1121 +#: ../../library/importlib.rst:1125 ../../library/importlib.rst:1139 +#: ../../library/importlib.rst:1152 ../../library/importlib.rst:1167 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:1082 +#: ../../library/importlib.rst:1128 msgid "" "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:1089 +#: ../../library/importlib.rst:1135 msgid "" "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:1096 +#: ../../library/importlib.rst:1142 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:1103 +#: ../../library/importlib.rst:1149 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:1111 +#: ../../library/importlib.rst:1157 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:1118 +#: ../../library/importlib.rst:1164 msgid "" "A :term:`Finder ` for :data:`sys.path` and package ``__path__`` " "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:1126 +#: ../../library/importlib.rst:1172 msgid "" "Class method that attempts to find a :term:`spec ` for the " "module specified by *fullname* on :data:`sys.path` or, if defined, on " @@ -1382,56 +1758,85 @@ msgid "" "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:1140 +#: ../../library/importlib.rst:1186 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`." 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:1147 +#: ../../library/importlib.rst:1193 msgid "A legacy wrapper around :meth:`find_spec`." msgstr "" -#: ../../library/importlib.rst:1154 +#: ../../library/importlib.rst:1200 msgid "" "Calls :meth:`importlib.abc.PathEntryFinder.invalidate_caches` on all finders " "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:1159 +#: ../../library/importlib.rst:1205 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:1162 +#: ../../library/importlib.rst:1208 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:1169 +#: ../../library/importlib.rst:1215 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:1172 +#: ../../library/importlib.rst:1218 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:1175 +#: ../../library/importlib.rst:1221 msgid "" "The *loader_details* argument is a variable number of 2-item tuples each " "containing a loader and a sequence of file suffixes the loader recognizes. " "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:1180 +#: ../../library/importlib.rst:1226 msgid "" "The finder will cache the directory contents as necessary, making stat calls " "for each module search to verify the cache is not outdated. Because cache " @@ -1443,153 +1848,192 @@ msgid "" "prevent this from happening, when you create a module dynamically, make sure " "to call :func:`importlib.invalidate_caches`." msgstr "" - -#: ../../library/importlib.rst:1194 +"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:1240 msgid "The path the finder will search in." -msgstr "" +msgstr "O caminho que o localizador irá procurar." -#: ../../library/importlib.rst:1198 +#: ../../library/importlib.rst:1244 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:1204 +#: ../../library/importlib.rst:1250 msgid "Attempt to find the loader to handle *fullname* within :attr:`path`." msgstr "" -#: ../../library/importlib.rst:1211 +#: ../../library/importlib.rst:1257 msgid "Clear out the internal cache." -msgstr "" +msgstr "Limpa o cache interno." -#: ../../library/importlib.rst:1215 +#: ../../library/importlib.rst:1261 msgid "" "A class method which returns a closure for use on :attr:`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 "" -#: ../../library/importlib.rst:1220 +#: ../../library/importlib.rst:1266 msgid "" "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:1226 +#: ../../library/importlib.rst:1272 msgid "" "A concrete implementation of :class:`importlib.abc.SourceLoader` by " "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:1234 +#: ../../library/importlib.rst:1280 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:1238 +#: ../../library/importlib.rst:1284 msgid "The path to the source file." -msgstr "" +msgstr "O caminho para o arquivo fonte." -#: ../../library/importlib.rst:1242 +#: ../../library/importlib.rst:1288 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:1246 +#: ../../library/importlib.rst:1292 msgid "" "Concrete implementation of :meth:`importlib.abc.SourceLoader.path_stats`." msgstr "" +"Implementação concreta de :meth:`importlib.abc.SourceLoader.path_stats`." -#: ../../library/importlib.rst:1250 +#: ../../library/importlib.rst:1296 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:1254 ../../library/importlib.rst:1297 +#: ../../library/importlib.rst:1300 ../../library/importlib.rst:1343 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:1259 ../../library/importlib.rst:1302 +#: ../../library/importlib.rst:1305 ../../library/importlib.rst:1348 msgid "Use :meth:`importlib.abc.Loader.exec_module` instead." -msgstr "" +msgstr "Use :meth:`importlib.abc.Loader.exec_module`." -#: ../../library/importlib.rst:1264 +#: ../../library/importlib.rst:1310 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:1267 +#: ../../library/importlib.rst:1313 msgid "" "Please note that direct use of bytecode files (and thus not source code " "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:1276 +#: ../../library/importlib.rst:1322 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:1280 +#: ../../library/importlib.rst:1326 msgid "The path to the bytecode file." -msgstr "" +msgstr "O caminho para o arquivo de bytecode." -#: ../../library/importlib.rst:1284 +#: ../../library/importlib.rst:1330 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:1288 +#: ../../library/importlib.rst:1334 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:1292 +#: ../../library/importlib.rst:1338 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:1307 +#: ../../library/importlib.rst:1353 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:1310 +#: ../../library/importlib.rst:1356 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:1317 +#: ../../library/importlib.rst:1363 msgid "Name of the module the loader supports." -msgstr "" +msgstr "Nome do módulo ao qual o carregador dá suporte." -#: ../../library/importlib.rst:1321 +#: ../../library/importlib.rst:1367 msgid "Path to the extension module." -msgstr "" +msgstr "Caminho para o módulo de extensão." -#: ../../library/importlib.rst:1325 +#: ../../library/importlib.rst:1371 msgid "" "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:1332 +#: ../../library/importlib.rst:1378 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:1338 +#: ../../library/importlib.rst:1384 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:1343 +#: ../../library/importlib.rst:1389 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:1347 +#: ../../library/importlib.rst:1393 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:1358 +#: ../../library/importlib.rst:1404 msgid "" "A specification for a module's import-system-related state. This is " "typically exposed as the module's ``__spec__`` attribute. In the " @@ -1602,29 +2046,29 @@ msgid "" "``__spec__.submodule_search_locations``." msgstr "" -#: ../../library/importlib.rst:1372 +#: ../../library/importlib.rst:1418 msgid "(``__name__``)" msgstr "" -#: ../../library/importlib.rst:1374 -msgid "A string for the fully-qualified name of the module." +#: ../../library/importlib.rst:1420 +msgid "A string for the fully qualified name of the module." msgstr "" -#: ../../library/importlib.rst:1378 +#: ../../library/importlib.rst:1424 msgid "(``__loader__``)" msgstr "(``__loader__``)" -#: ../../library/importlib.rst:1380 +#: ../../library/importlib.rst:1426 msgid "" "The :term:`Loader ` that should be used when loading the module. :" "term:`Finders ` should always set this." msgstr "" -#: ../../library/importlib.rst:1385 +#: ../../library/importlib.rst:1431 msgid "(``__file__``)" msgstr "" -#: ../../library/importlib.rst:1387 +#: ../../library/importlib.rst:1433 msgid "" "Name of the place from which the module is loaded, e.g. \"builtin\" for " "built-in modules and the filename for modules loaded from source. Normally " @@ -1632,67 +2076,67 @@ msgid "" "indicates it is unspecified (e.g. for namespace packages)." msgstr "" -#: ../../library/importlib.rst:1394 +#: ../../library/importlib.rst:1440 msgid "(``__path__``)" msgstr "" -#: ../../library/importlib.rst:1396 +#: ../../library/importlib.rst:1442 msgid "" "List of strings for where to find submodules, if a package (``None`` " "otherwise)." msgstr "" -#: ../../library/importlib.rst:1401 +#: ../../library/importlib.rst:1447 msgid "" "Container of extra module-specific data for use during loading (or ``None``)." msgstr "" -#: ../../library/importlib.rst:1406 +#: ../../library/importlib.rst:1452 msgid "(``__cached__``)" msgstr "(``__cached__``)" -#: ../../library/importlib.rst:1408 +#: ../../library/importlib.rst:1454 msgid "String for where the compiled module should be stored (or ``None``)." msgstr "" -#: ../../library/importlib.rst:1412 +#: ../../library/importlib.rst:1458 msgid "(``__package__``)" msgstr "(``__package__``)" -#: ../../library/importlib.rst:1414 +#: ../../library/importlib.rst:1460 msgid "" -"(Read-only) The fully-qualified name of the package under which the module " +"(Read-only) The fully qualified name of the package under which the module " "should be loaded as a submodule (or the empty string for top-level modules). " "For packages, it is the same as :attr:`__name__`." msgstr "" -#: ../../library/importlib.rst:1420 +#: ../../library/importlib.rst:1466 msgid "" "Boolean indicating whether or not the module's \"origin\" attribute refers " "to a loadable location." msgstr "" -#: ../../library/importlib.rst:1424 +#: ../../library/importlib.rst:1470 msgid ":mod:`importlib.util` -- Utility code for importers" msgstr "" -#: ../../library/importlib.rst:1430 +#: ../../library/importlib.rst:1476 msgid "**Source code:** :source:`Lib/importlib/util.py`" msgstr "" -#: ../../library/importlib.rst:1434 +#: ../../library/importlib.rst:1480 msgid "" "This module contains the various objects that help in the construction of " "an :term:`importer`." msgstr "" -#: ../../library/importlib.rst:1439 +#: ../../library/importlib.rst:1485 msgid "" "The bytes which represent the bytecode version number. If you need help with " "loading/writing bytecode then consider :class:`importlib.abc.SourceLoader`." msgstr "" -#: ../../library/importlib.rst:1446 +#: ../../library/importlib.rst:1492 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 " @@ -1702,7 +2146,7 @@ msgid "" "`NotImplementedError` will be raised)." msgstr "" -#: ../../library/importlib.rst:1453 +#: ../../library/importlib.rst:1499 msgid "" "The *optimization* parameter is used to specify the optimization level of " "the bytecode file. An empty string represents no optimization, so ``/foo/bar/" @@ -1715,7 +2159,7 @@ msgid "" "be alphanumeric, else :exc:`ValueError` is raised." msgstr "" -#: ../../library/importlib.rst:1463 +#: ../../library/importlib.rst:1509 msgid "" "The *debug_override* parameter is deprecated and can be used to override the " "system's value for ``__debug__``. A ``True`` value is the equivalent of " @@ -1724,18 +2168,18 @@ msgid "" "are not ``None`` then :exc:`TypeError` is raised." msgstr "" -#: ../../library/importlib.rst:1471 +#: ../../library/importlib.rst:1517 msgid "" "The *optimization* parameter was added and the *debug_override* parameter " "was deprecated." msgstr "" -#: ../../library/importlib.rst:1475 ../../library/importlib.rst:1491 -#: ../../library/importlib.rst:1640 +#: ../../library/importlib.rst:1521 ../../library/importlib.rst:1537 +#: ../../library/importlib.rst:1686 msgid "Accepts a :term:`path-like object`." msgstr "Aceita um :term:`objeto caminho ou similar`." -#: ../../library/importlib.rst:1481 +#: ../../library/importlib.rst:1527 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." @@ -1745,25 +2189,25 @@ msgid "" "cache_tag` is not defined, :exc:`NotImplementedError` is raised." msgstr "" -#: ../../library/importlib.rst:1496 +#: ../../library/importlib.rst:1542 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`)." msgstr "" -#: ../../library/importlib.rst:1504 +#: ../../library/importlib.rst:1550 msgid "Resolve a relative module name to an absolute one." msgstr "" -#: ../../library/importlib.rst:1506 +#: ../../library/importlib.rst:1552 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." msgstr "" -#: ../../library/importlib.rst:1511 +#: ../../library/importlib.rst:1557 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:" @@ -1771,13 +2215,13 @@ msgid "" "package (e.g. requesting ``..bacon`` from within the ``spam`` package)." msgstr "" -#: ../../library/importlib.rst:1518 +#: ../../library/importlib.rst:1564 msgid "" "To improve consistency with import statements, raise :exc:`ImportError` " "instead of :exc:`ValueError` for invalid relative import attempts." msgstr "" -#: ../../library/importlib.rst:1525 +#: ../../library/importlib.rst:1571 msgid "" "Find the :term:`spec ` for a module, optionally relative to the " "specified **package** name. If the module is in :attr:`sys.modules`, then " @@ -1787,30 +2231,30 @@ msgid "" "if no spec is found." msgstr "" -#: ../../library/importlib.rst:1532 +#: ../../library/importlib.rst:1578 msgid "" "If **name** is for a submodule (contains a dot), the parent module is " "automatically imported." msgstr "" -#: ../../library/importlib.rst:1535 +#: ../../library/importlib.rst:1581 msgid "**name** and **package** work the same as for :func:`import_module`." msgstr "" -#: ../../library/importlib.rst:1539 +#: ../../library/importlib.rst:1585 msgid "" "Raises :exc:`ModuleNotFoundError` instead of :exc:`AttributeError` if " "**package** is in fact not a package (i.e. lacks a :attr:`__path__` " "attribute)." msgstr "" -#: ../../library/importlib.rst:1546 +#: ../../library/importlib.rst:1592 msgid "" "Create a new module based on **spec** and :meth:`spec.loader.create_module " "`." msgstr "" -#: ../../library/importlib.rst:1549 +#: ../../library/importlib.rst:1595 msgid "" "If :meth:`spec.loader.create_module ` " "does not return ``None``, then any pre-existing attributes will not be " @@ -1818,14 +2262,14 @@ msgid "" "accessing **spec** or setting an attribute on the module." msgstr "" -#: ../../library/importlib.rst:1554 +#: ../../library/importlib.rst:1600 msgid "" "This function is preferred over using :class:`types.ModuleType` to create a " "new module as **spec** is used to set as many import-controlled attributes " "on the module as possible." msgstr "" -#: ../../library/importlib.rst:1562 +#: ../../library/importlib.rst:1608 msgid "" "A :term:`decorator` for :meth:`importlib.abc.Loader.load_module` to handle " "selecting the proper module object to load with. The decorated method is " @@ -1835,7 +2279,7 @@ msgid "" "work on static methods because of the assumption of two arguments." msgstr "" -#: ../../library/importlib.rst:1571 +#: ../../library/importlib.rst:1617 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." @@ -1845,7 +2289,7 @@ msgid "" "available). These attributes are set unconditionally to support reloading." msgstr "" -#: ../../library/importlib.rst:1579 +#: ../../library/importlib.rst:1625 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 " @@ -1853,25 +2297,25 @@ msgid "" "was already in :data:`sys.modules` then it is left alone." msgstr "" -#: ../../library/importlib.rst:1584 +#: ../../library/importlib.rst:1630 msgid "" ":attr:`__loader__` and :attr:`__package__` are automatically set (when " "possible)." msgstr "" -#: ../../library/importlib.rst:1588 +#: ../../library/importlib.rst:1634 msgid "" "Set :attr:`__name__`, :attr:`__loader__` :attr:`__package__` unconditionally " "to support reloading." msgstr "" -#: ../../library/importlib.rst:1592 +#: ../../library/importlib.rst:1638 msgid "" "The import machinery now directly performs all the functionality provided by " "this function." msgstr "" -#: ../../library/importlib.rst:1598 +#: ../../library/importlib.rst:1644 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 " @@ -1880,23 +2324,23 @@ msgid "" "`__loader__` should be set to." msgstr "" -#: ../../library/importlib.rst:1605 +#: ../../library/importlib.rst:1651 msgid "" "Set ``__loader__`` if set to ``None``, as if the attribute does not exist." msgstr "" -#: ../../library/importlib.rst:1609 ../../library/importlib.rst:1618 +#: ../../library/importlib.rst:1655 ../../library/importlib.rst:1664 msgid "The import machinery takes care of this automatically." msgstr "" -#: ../../library/importlib.rst:1614 +#: ../../library/importlib.rst:1660 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." msgstr "" -#: ../../library/importlib.rst:1623 +#: ../../library/importlib.rst:1669 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 " @@ -1905,7 +2349,7 @@ msgid "" "spec." msgstr "" -#: ../../library/importlib.rst:1633 +#: ../../library/importlib.rst:1679 msgid "" "A factory function for creating a :class:`~importlib.machinery.ModuleSpec` " "instance based on the path to a file. Missing information will be filled in " @@ -1913,20 +2357,20 @@ msgid "" "module will be file-based." msgstr "" -#: ../../library/importlib.rst:1645 +#: ../../library/importlib.rst:1691 msgid "" "Return the hash of *source_bytes* as bytes. A hash-based ``.pyc`` file " "embeds the :func:`source_hash` of the corresponding source file's contents " "in its header." msgstr "" -#: ../../library/importlib.rst:1653 +#: ../../library/importlib.rst:1699 msgid "" "A class which postpones the execution of the loader of a module until the " "module has an attribute accessed." msgstr "" -#: ../../library/importlib.rst:1656 +#: ../../library/importlib.rst:1702 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 " @@ -1939,7 +2383,7 @@ msgid "" "raised if such a substitution is detected." msgstr "" -#: ../../library/importlib.rst:1667 +#: ../../library/importlib.rst:1713 msgid "" "For projects where startup time is critical, this class allows for " "potentially minimizing the cost of loading a module if it is never used. For " @@ -1948,66 +2392,74 @@ msgid "" "postponed and thus occurring out of context." msgstr "" -#: ../../library/importlib.rst:1675 +#: ../../library/importlib.rst:1721 msgid "" "Began calling :meth:`~importlib.abc.Loader.create_module`, removing the " "compatibility warning for :class:`importlib.machinery.BuiltinImporter` and :" "class:`importlib.machinery.ExtensionFileLoader`." msgstr "" -#: ../../library/importlib.rst:1682 +#: ../../library/importlib.rst:1728 msgid "" -"A static method which returns a callable that creates a lazy loader. This is " +"A class method which returns a callable that creates a lazy loader. This is " "meant to be used in situations where the loader is passed by class instead " "of by instance. ::" msgstr "" -#: ../../library/importlib.rst:1695 +#: ../../library/importlib.rst:1741 msgid "Examples" msgstr "Exemplos" -#: ../../library/importlib.rst:1698 +#: ../../library/importlib.rst:1744 msgid "Importing programmatically" msgstr "" -#: ../../library/importlib.rst:1700 +#: ../../library/importlib.rst:1746 msgid "" "To programmatically import a module, use :func:`importlib.import_module`. ::" msgstr "" -#: ../../library/importlib.rst:1709 +#: ../../library/importlib.rst:1755 msgid "Checking if a module can be imported" -msgstr "" +msgstr "Checando se o módulo pode ser importado" -#: ../../library/importlib.rst:1711 +#: ../../library/importlib.rst:1757 msgid "" "If you need to find out if a module can be imported without actually doing " -"the import, then you should use :func:`importlib.util.find_spec`. ::" +"the import, then you should use :func:`importlib.util.find_spec`." msgstr "" -#: ../../library/importlib.rst:1734 -msgid "Importing a source file directly" +#: ../../library/importlib.rst:1760 +msgid "" +"Note that if ``name`` is a submodule (contains a dot), :func:`importlib.util." +"find_spec` will import the parent module. ::" msgstr "" -#: ../../library/importlib.rst:1736 +#: ../../library/importlib.rst:1783 +msgid "Importing a source file directly" +msgstr "Importa o arquivo de origem diretamente" + +#: ../../library/importlib.rst:1785 msgid "" "To import a Python source file directly, use the following recipe (Python " "3.5 and newer only)::" msgstr "" +"Importação um arquivo Python diretamente da fonte, use o seguinte caminho " +"(Somente versões Python 3.5 acima)" -#: ../../library/importlib.rst:1754 +#: ../../library/importlib.rst:1803 msgid "Implementing lazy imports" msgstr "" -#: ../../library/importlib.rst:1756 +#: ../../library/importlib.rst:1805 msgid "The example below shows how to implement lazy imports::" msgstr "" -#: ../../library/importlib.rst:1778 +#: ../../library/importlib.rst:1827 msgid "Setting up an importer" msgstr "" -#: ../../library/importlib.rst:1780 +#: ../../library/importlib.rst:1829 msgid "" "For deep customizations of import, you typically want to implement an :term:" "`importer`. This means managing both the :term:`finder` and :term:`loader` " @@ -2021,11 +2473,11 @@ msgid "" "for the appropriate classes defined within this package)::" msgstr "" -#: ../../library/importlib.rst:1812 +#: ../../library/importlib.rst:1861 msgid "Approximating :func:`importlib.import_module`" msgstr "" -#: ../../library/importlib.rst:1814 +#: ../../library/importlib.rst:1863 msgid "" "Import itself is implemented in Python code, making it possible to expose " "most of the import machinery through importlib. The following helps " diff --git a/library/index.po b/library/index.po index 8a0665ab0..52082d3cf 100644 --- a/library/index.po +++ b/library/index.po @@ -1,27 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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.10\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-06-29 12:56+0000\n" -"PO-Revision-Date: 2021-06-28 01:08+0000\n" -"Last-Translator: Raphael Mendonça, 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:58+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/index.rst:5 msgid "The Python Standard Library" diff --git a/library/inspect.po b/library/inspect.po index 9ec769d3d..033e62b70 100644 --- a/library/inspect.po +++ b/library/inspect.po @@ -1,33 +1,28 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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 -# Hugo Santos Piauilino , 2021 -# Danilo Lima , 2021 -# Rafael Fontenelle , 2021 -# Marco Rougeth , 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.10\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-06-29 12:56+0000\n" -"PO-Revision-Date: 2021-06-28 01:08+0000\n" -"Last-Translator: i17obot , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-23 17:01+0000\n" +"PO-Revision-Date: 2025-09-22 15:58+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=2; plural=(n > 1);\n" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/inspect.rst:2 msgid ":mod:`inspect` --- Inspect live objects" @@ -46,6 +41,12 @@ 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 msgid "" @@ -53,6 +54,9 @@ msgid "" "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 msgid "Types and members" @@ -85,13 +89,13 @@ msgstr "módulo" #: ../../library/inspect.rst:43 ../../library/inspect.rst:48 #: ../../library/inspect.rst:58 ../../library/inspect.rst:76 -#: ../../library/inspect.rst:233 +#: ../../library/inspect.rst:234 msgid "__doc__" msgstr "__doc__" #: ../../library/inspect.rst:43 ../../library/inspect.rst:48 #: ../../library/inspect.rst:58 ../../library/inspect.rst:76 -#: ../../library/inspect.rst:233 +#: ../../library/inspect.rst:234 msgid "documentation string" msgstr "string de documentação" @@ -105,11 +109,11 @@ msgstr "nome de arquivo (faltando para módulos embutidos)" #: ../../library/inspect.rst:48 msgid "class" -msgstr "class" +msgstr "classe" #: ../../library/inspect.rst:50 ../../library/inspect.rst:60 -#: ../../library/inspect.rst:78 ../../library/inspect.rst:202 -#: ../../library/inspect.rst:216 ../../library/inspect.rst:235 +#: ../../library/inspect.rst:78 ../../library/inspect.rst:203 +#: ../../library/inspect.rst:217 ../../library/inspect.rst:236 msgid "__name__" msgstr "__name__" @@ -118,14 +122,14 @@ msgid "name with which this class was defined" msgstr "nome com o qual esta classe foi definida" #: ../../library/inspect.rst:53 ../../library/inspect.rst:63 -#: ../../library/inspect.rst:81 ../../library/inspect.rst:204 -#: ../../library/inspect.rst:218 ../../library/inspect.rst:238 +#: ../../library/inspect.rst:81 ../../library/inspect.rst:205 +#: ../../library/inspect.rst:219 ../../library/inspect.rst:239 msgid "__qualname__" msgstr "__qualname__" #: ../../library/inspect.rst:53 ../../library/inspect.rst:63 -#: ../../library/inspect.rst:81 ../../library/inspect.rst:204 -#: ../../library/inspect.rst:218 ../../library/inspect.rst:238 +#: ../../library/inspect.rst:81 ../../library/inspect.rst:205 +#: ../../library/inspect.rst:219 ../../library/inspect.rst:239 msgid "qualified name" msgstr "nome qualificado" @@ -154,7 +158,7 @@ msgstr "__func__" msgid "function object containing implementation of method" msgstr "objeto função contendo implementação de método" -#: ../../library/inspect.rst:69 ../../library/inspect.rst:240 +#: ../../library/inspect.rst:69 ../../library/inspect.rst:241 msgid "__self__" msgstr "__self__" @@ -180,15 +184,17 @@ msgstr "__code__" #: ../../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:87 msgid "__defaults__" -msgstr "" +msgstr "__defaults__" #: ../../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:91 msgid "__kwdefaults__" @@ -197,6 +203,7 @@ msgstr "__kwdefaults__" #: ../../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:95 msgid "__globals__" @@ -204,15 +211,15 @@ msgstr "__globals__" #: ../../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:98 msgid "__builtins__" -msgstr "" +msgstr "__builtins__" #: ../../library/inspect.rst:98 msgid "builtins namespace" -msgstr "" +msgstr "espaço de nomes de métodos e funções embutidas" #: ../../library/inspect.rst:100 msgid "__annotations__" @@ -223,10 +230,12 @@ 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: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:109 msgid "traceback" @@ -238,7 +247,7 @@ msgstr "tb_frame" #: ../../library/inspect.rst:109 msgid "frame object at this level" -msgstr "" +msgstr "objeto quadro neste nível" #: ../../library/inspect.rst:112 msgid "tb_lasti" @@ -246,7 +255,7 @@ msgstr "tb_lasti" #: ../../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:115 msgid "tb_lineno" @@ -254,7 +263,7 @@ msgstr "tb_lineno" #: ../../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:118 msgid "tb_next" @@ -262,12 +271,12 @@ msgstr "tb_next" #: ../../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:122 ../../library/inspect.rst:206 -#: ../../library/inspect.rst:223 +#: ../../library/inspect.rst:122 ../../library/inspect.rst:207 +#: ../../library/inspect.rst:224 msgid "frame" -msgstr "" +msgstr "quadro" #: ../../library/inspect.rst:122 msgid "f_back" @@ -275,7 +284,7 @@ msgstr "f_back" #: ../../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:125 msgid "f_builtins" @@ -283,7 +292,7 @@ msgstr "f_builtins" #: ../../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:128 msgid "f_code" @@ -291,7 +300,7 @@ msgstr "f_code" #: ../../library/inspect.rst:128 msgid "code object being executed in this frame" -msgstr "" +msgstr "objeto código sendo executado neste quadro" #: ../../library/inspect.rst:131 msgid "f_globals" @@ -299,7 +308,7 @@ msgstr "f_globals" #: ../../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:134 msgid "f_lasti" @@ -315,7 +324,7 @@ msgstr "f_locals" #: ../../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:143 msgid "f_trace" @@ -323,12 +332,12 @@ msgstr "f_trace" #: ../../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:146 ../../library/inspect.rst:210 -#: ../../library/inspect.rst:227 +#: ../../library/inspect.rst:146 ../../library/inspect.rst:211 +#: ../../library/inspect.rst:228 msgid "code" -msgstr "" +msgstr "código" #: ../../library/inspect.rst:146 msgid "co_argcount" @@ -339,6 +348,8 @@ 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:151 msgid "co_code" @@ -346,7 +357,7 @@ msgstr "co_code" #: ../../library/inspect.rst:151 msgid "string of raw compiled bytecode" -msgstr "" +msgstr "string de bytecode compilado bruto" #: ../../library/inspect.rst:154 msgid "co_cellvars" @@ -434,132 +445,132 @@ msgid "co_names" msgstr "co_names" #: ../../library/inspect.rst:190 -msgid "tuple of names of local variables" +msgid "tuple of names other than arguments and function locals" msgstr "" -#: ../../library/inspect.rst:193 +#: ../../library/inspect.rst:194 msgid "co_nlocals" msgstr "co_nlocals" -#: ../../library/inspect.rst:193 +#: ../../library/inspect.rst:194 msgid "number of local variables" msgstr "" -#: ../../library/inspect.rst:195 +#: ../../library/inspect.rst:196 msgid "co_stacksize" msgstr "co_stacksize" -#: ../../library/inspect.rst:195 +#: ../../library/inspect.rst:196 msgid "virtual machine stack space required" msgstr "" -#: ../../library/inspect.rst:198 +#: ../../library/inspect.rst:199 msgid "co_varnames" msgstr "co_varnames" -#: ../../library/inspect.rst:198 +#: ../../library/inspect.rst:199 msgid "tuple of names of arguments and local variables" msgstr "" -#: ../../library/inspect.rst:202 +#: ../../library/inspect.rst:203 msgid "generator" msgstr "gerador" -#: ../../library/inspect.rst:202 ../../library/inspect.rst:216 +#: ../../library/inspect.rst:203 ../../library/inspect.rst:217 msgid "name" msgstr "nome" -#: ../../library/inspect.rst:206 +#: ../../library/inspect.rst:207 msgid "gi_frame" msgstr "gi_frame" -#: ../../library/inspect.rst:208 +#: ../../library/inspect.rst:209 msgid "gi_running" msgstr "gi_running" -#: ../../library/inspect.rst:208 +#: ../../library/inspect.rst:209 msgid "is the generator running?" msgstr "" -#: ../../library/inspect.rst:210 +#: ../../library/inspect.rst:211 msgid "gi_code" msgstr "gi_code" -#: ../../library/inspect.rst:212 +#: ../../library/inspect.rst:213 msgid "gi_yieldfrom" msgstr "gi_yieldfrom" -#: ../../library/inspect.rst:212 +#: ../../library/inspect.rst:213 msgid "object being iterated by ``yield from``, or ``None``" msgstr "" -#: ../../library/inspect.rst:216 +#: ../../library/inspect.rst:217 msgid "coroutine" msgstr "corrotina" -#: ../../library/inspect.rst:220 +#: ../../library/inspect.rst:221 msgid "cr_await" msgstr "cr_await" -#: ../../library/inspect.rst:220 +#: ../../library/inspect.rst:221 msgid "object being awaited on, or ``None``" msgstr "" -#: ../../library/inspect.rst:223 +#: ../../library/inspect.rst:224 msgid "cr_frame" msgstr "cr_frame" -#: ../../library/inspect.rst:225 +#: ../../library/inspect.rst:226 msgid "cr_running" msgstr "cr_running" -#: ../../library/inspect.rst:225 +#: ../../library/inspect.rst:226 msgid "is the coroutine running?" msgstr "" -#: ../../library/inspect.rst:227 +#: ../../library/inspect.rst:228 msgid "cr_code" msgstr "cr_code" -#: ../../library/inspect.rst:229 +#: ../../library/inspect.rst:230 msgid "cr_origin" msgstr "cr_origin" -#: ../../library/inspect.rst:229 +#: ../../library/inspect.rst:230 msgid "where coroutine was created, or ``None``. See |coroutine-origin-link|" msgstr "" -#: ../../library/inspect.rst:233 +#: ../../library/inspect.rst:234 msgid "builtin" msgstr "" -#: ../../library/inspect.rst:235 +#: ../../library/inspect.rst:236 msgid "original name of this function or method" msgstr "" -#: ../../library/inspect.rst:240 +#: ../../library/inspect.rst:241 msgid "instance to which a method is bound, or ``None``" msgstr "" -#: ../../library/inspect.rst:247 +#: ../../library/inspect.rst:248 msgid "Add ``__qualname__`` and ``gi_yieldfrom`` attributes to generators." msgstr "" -#: ../../library/inspect.rst:249 +#: ../../library/inspect.rst:250 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:255 msgid "Add ``cr_origin`` attribute to coroutines." msgstr "" -#: ../../library/inspect.rst:258 +#: ../../library/inspect.rst:259 msgid "Add ``__builtins__`` attribute to functions." msgstr "" -#: ../../library/inspect.rst:262 +#: ../../library/inspect.rst:263 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 " @@ -567,14 +578,14 @@ msgid "" "the predicate returns a true value are included." msgstr "" -#: ../../library/inspect.rst:269 +#: ../../library/inspect.rst:270 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__`." msgstr "" -#: ../../library/inspect.rst:276 +#: ../../library/inspect.rst:277 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 " @@ -583,134 +594,134 @@ msgid "" "``None`` is returned." msgstr "" -#: ../../library/inspect.rst:282 +#: ../../library/inspect.rst:283 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:286 +#: ../../library/inspect.rst:287 msgid "The function is based directly on :mod:`importlib`." msgstr "" -#: ../../library/inspect.rst:292 +#: ../../library/inspect.rst:293 msgid "Return ``True`` if the object is a module." msgstr "" -#: ../../library/inspect.rst:297 +#: ../../library/inspect.rst:298 msgid "" "Return ``True`` if the object is a class, whether built-in or created in " "Python code." msgstr "" -#: ../../library/inspect.rst:303 +#: ../../library/inspect.rst:304 msgid "Return ``True`` if the object is a bound method written in Python." msgstr "" -#: ../../library/inspect.rst:308 +#: ../../library/inspect.rst:309 msgid "" "Return ``True`` if the object is a Python function, which includes functions " "created by a :term:`lambda` expression." msgstr "" -#: ../../library/inspect.rst:314 +#: ../../library/inspect.rst:315 msgid "Return ``True`` if the object is a Python generator function." msgstr "" -#: ../../library/inspect.rst:316 +#: ../../library/inspect.rst:317 msgid "" "Functions wrapped in :func:`functools.partial` now return ``True`` if the " "wrapped function is a Python generator function." msgstr "" -#: ../../library/inspect.rst:323 +#: ../../library/inspect.rst:324 msgid "Return ``True`` if the object is a generator." msgstr "" -#: ../../library/inspect.rst:328 +#: ../../library/inspect.rst:329 msgid "" "Return ``True`` if the object is a :term:`coroutine function` (a function " "defined with an :keyword:`async def` syntax)." msgstr "" -#: ../../library/inspect.rst:333 +#: ../../library/inspect.rst:334 msgid "" "Functions wrapped in :func:`functools.partial` now return ``True`` if the " "wrapped function is a :term:`coroutine function`." msgstr "" -#: ../../library/inspect.rst:340 +#: ../../library/inspect.rst:341 msgid "" "Return ``True`` if the object is a :term:`coroutine` created by an :keyword:" "`async def` function." msgstr "" -#: ../../library/inspect.rst:348 +#: ../../library/inspect.rst:349 msgid "" "Return ``True`` if the object can be used in :keyword:`await` expression." msgstr "" -#: ../../library/inspect.rst:350 +#: ../../library/inspect.rst:351 msgid "" "Can also be used to distinguish generator-based coroutines from regular " "generators::" msgstr "" -#: ../../library/inspect.rst:367 +#: ../../library/inspect.rst:368 msgid "" "Return ``True`` if the object is an :term:`asynchronous generator` function, " "for example::" msgstr "" -#: ../../library/inspect.rst:378 +#: ../../library/inspect.rst:379 msgid "" "Functions wrapped in :func:`functools.partial` now return ``True`` if the " "wrapped function is a :term:`asynchronous generator` function." msgstr "" -#: ../../library/inspect.rst:385 +#: ../../library/inspect.rst:386 msgid "" "Return ``True`` if the object is an :term:`asynchronous generator iterator` " "created by an :term:`asynchronous generator` function." msgstr "" -#: ../../library/inspect.rst:392 +#: ../../library/inspect.rst:393 msgid "Return ``True`` if the object is a traceback." msgstr "" -#: ../../library/inspect.rst:397 +#: ../../library/inspect.rst:398 msgid "Return ``True`` if the object is a frame." msgstr "" -#: ../../library/inspect.rst:402 +#: ../../library/inspect.rst:403 msgid "Return ``True`` if the object is a code." msgstr "" -#: ../../library/inspect.rst:407 +#: ../../library/inspect.rst:408 msgid "" "Return ``True`` if the object is a built-in function or a bound built-in " "method." msgstr "" -#: ../../library/inspect.rst:412 +#: ../../library/inspect.rst:413 msgid "" "Return ``True`` if the object is a user-defined or built-in function or " "method." msgstr "" -#: ../../library/inspect.rst:417 +#: ../../library/inspect.rst:418 msgid "Return ``True`` if the object is an abstract base class." msgstr "" -#: ../../library/inspect.rst:422 +#: ../../library/inspect.rst:423 msgid "" "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:426 +#: ../../library/inspect.rst:427 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__` " @@ -718,7 +729,7 @@ msgid "" "__name__` attribute is usually sensible, and :attr:`__doc__` often is." msgstr "" -#: ../../library/inspect.rst:432 +#: ../../library/inspect.rst:433 msgid "" "Methods implemented via descriptors that also pass one of the other tests " "return ``False`` from the :func:`ismethoddescriptor` test, simply because " @@ -726,11 +737,11 @@ msgid "" "`__func__` attribute (etc) when an object passes :func:`ismethod`." msgstr "" -#: ../../library/inspect.rst:440 +#: ../../library/inspect.rst:441 msgid "Return ``True`` if the object is a data descriptor." msgstr "" -#: ../../library/inspect.rst:442 +#: ../../library/inspect.rst:443 msgid "" "Data descriptors have a :attr:`~object.__set__` or a :attr:`~object." "__delete__` method. Examples are properties (defined in Python), getsets, " @@ -741,45 +752,46 @@ msgid "" "and members have both of these attributes), but this is not guaranteed." msgstr "" -#: ../../library/inspect.rst:453 +#: ../../library/inspect.rst:454 msgid "Return ``True`` if the object is a getset descriptor." msgstr "" -#: ../../library/inspect.rst:457 +#: ../../library/inspect.rst:458 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``." msgstr "" -#: ../../library/inspect.rst:464 +#: ../../library/inspect.rst:465 msgid "Return ``True`` if the object is a member descriptor." msgstr "" -#: ../../library/inspect.rst:468 +#: ../../library/inspect.rst:469 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``." msgstr "" -#: ../../library/inspect.rst:476 +#: ../../library/inspect.rst:477 msgid "Retrieving source code" msgstr "" -#: ../../library/inspect.rst:480 +#: ../../library/inspect.rst:481 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." +"documentation string from the inheritance hierarchy. Return ``None`` if the " +"documentation string is invalid or missing." msgstr "" -#: ../../library/inspect.rst:485 +#: ../../library/inspect.rst:487 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:491 +#: ../../library/inspect.rst:493 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 " @@ -788,7 +800,7 @@ msgid "" "been defined in C or the interactive shell." msgstr "" -#: ../../library/inspect.rst:500 +#: ../../library/inspect.rst:502 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, " @@ -798,48 +810,52 @@ msgstr "" "Isso falhará com um :exc:`TypeError` se o objeto for um módulo, classe ou " "função embutidos." -#: ../../library/inspect.rst:507 -msgid "Try to guess which module an object was defined in." +#: ../../library/inspect.rst:509 +msgid "" +"Try to guess which module an object was defined in. Return ``None`` if the " +"module cannot be determined." msgstr "" -#: ../../library/inspect.rst:512 +#: ../../library/inspect.rst:515 msgid "" -"Return the name of the Python source file in which an object was defined. " -"This will fail with a :exc:`TypeError` if the object is a built-in module, " -"class, or function." +"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:519 +#: ../../library/inspect.rst:523 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 " "object. The source code is returned as a list of the lines corresponding to " "the object and the line number indicates where in the original source file " "the first line of code was found. An :exc:`OSError` is raised if the source " -"code cannot be retrieved." +"code cannot be retrieved. A :exc:`TypeError` is raised if the object is a " +"built-in module, class, or function." msgstr "" -#: ../../library/inspect.rst:526 ../../library/inspect.rst:538 +#: ../../library/inspect.rst:532 ../../library/inspect.rst:546 msgid "" ":exc:`OSError` is raised instead of :exc:`IOError`, now an alias of the " "former." msgstr "" -#: ../../library/inspect.rst:533 +#: ../../library/inspect.rst:539 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 " "source code is returned as a single string. An :exc:`OSError` is raised if " -"the source code cannot be retrieved." +"the source code cannot be retrieved. A :exc:`TypeError` is raised if the " +"object is a built-in module, class, or function." msgstr "" -#: ../../library/inspect.rst:545 +#: ../../library/inspect.rst:553 msgid "" "Clean up indentation from docstrings that are indented to line up with " "blocks of code." msgstr "" -#: ../../library/inspect.rst:548 +#: ../../library/inspect.rst:556 msgid "" "All leading whitespace is removed from the first line. Any leading " "whitespace that can be uniformly removed from the second line onwards is " @@ -847,28 +863,28 @@ msgid "" "Also, all tabs are expanded to spaces." msgstr "" -#: ../../library/inspect.rst:557 +#: ../../library/inspect.rst:565 msgid "Introspecting callables with the Signature object" msgstr "" -#: ../../library/inspect.rst:561 +#: ../../library/inspect.rst:569 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." msgstr "" -#: ../../library/inspect.rst:567 +#: ../../library/inspect.rst:575 msgid "Return a :class:`Signature` object for the given ``callable``::" msgstr "" -#: ../../library/inspect.rst:584 +#: ../../library/inspect.rst:592 msgid "" "Accepts a wide range of Python callables, from plain functions and classes " "to :func:`functools.partial` objects." msgstr "" -#: ../../library/inspect.rst:587 +#: ../../library/inspect.rst:595 msgid "" "For objects defined in modules using stringized annotations (``from " "__future__ import annotations``), :func:`signature` will attempt to " @@ -879,7 +895,7 @@ msgid "" "instructions on how to use these parameters." msgstr "" -#: ../../library/inspect.rst:596 +#: ../../library/inspect.rst:604 msgid "" "Raises :exc:`ValueError` if no signature can be provided, and :exc:" "`TypeError` if that type of object is not supported. Also, if the " @@ -888,39 +904,39 @@ msgid "" "exception." msgstr "" -#: ../../library/inspect.rst:602 +#: ../../library/inspect.rst:610 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:606 +#: ../../library/inspect.rst:614 msgid "" "``follow_wrapped`` parameter. Pass ``False`` to get a signature of " "``callable`` specifically (``callable.__wrapped__`` will not be used to " "unwrap decorated callables.)" msgstr "" -#: ../../library/inspect.rst:611 +#: ../../library/inspect.rst:619 msgid "``globals``, ``locals``, and ``eval_str`` parameters." msgstr "" -#: ../../library/inspect.rst:616 +#: ../../library/inspect.rst:624 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:623 +#: ../../library/inspect.rst:631 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." msgstr "" -#: ../../library/inspect.rst:627 +#: ../../library/inspect.rst:635 msgid "" "The optional *parameters* argument is a sequence of :class:`Parameter` " "objects, which is validated to check that there are no parameters with " @@ -929,54 +945,54 @@ msgid "" "defaults follow parameters without defaults." msgstr "" -#: ../../library/inspect.rst:633 +#: ../../library/inspect.rst:641 msgid "" "The optional *return_annotation* argument, can be an arbitrary Python " "object, is the \"return\" annotation of the callable." msgstr "" -#: ../../library/inspect.rst:636 +#: ../../library/inspect.rst:644 msgid "" "Signature objects are *immutable*. Use :meth:`Signature.replace` to make a " "modified copy." msgstr "" -#: ../../library/inspect.rst:639 -msgid "Signature objects are picklable and hashable." +#: ../../library/inspect.rst:647 +msgid "Signature objects are picklable and :term:`hashable`." msgstr "" -#: ../../library/inspect.rst:644 +#: ../../library/inspect.rst:652 msgid "A special class-level marker to specify absence of a return annotation." msgstr "" -#: ../../library/inspect.rst:648 +#: ../../library/inspect.rst:656 msgid "" "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:652 ../../library/inspect.rst:996 +#: ../../library/inspect.rst:660 ../../library/inspect.rst:1005 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:659 +#: ../../library/inspect.rst:667 msgid "" -"The \"return\" annotation for the callable. If the callable has no \"return" -"\" annotation, this attribute is set to :attr:`Signature.empty`." +"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:664 +#: ../../library/inspect.rst:672 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:670 +#: ../../library/inspect.rst:678 msgid "" "Works the same way as :meth:`Signature.bind`, but allows the omission of " "some required arguments (mimics :func:`functools.partial` behavior.) " @@ -984,7 +1000,7 @@ msgid "" "arguments do not match the signature." msgstr "" -#: ../../library/inspect.rst:677 +#: ../../library/inspect.rst:685 msgid "" "Create a new Signature instance based on the instance replace was invoked " "on. It is possible to pass different ``parameters`` and/or " @@ -993,7 +1009,7 @@ msgid "" "attr:`Signature.empty`." msgstr "" -#: ../../library/inspect.rst:694 +#: ../../library/inspect.rst:702 msgid "" "Return a :class:`Signature` (or its subclass) object for a given callable " "``obj``. Pass ``follow_wrapped=False`` to get a signature of ``obj`` " @@ -1001,138 +1017,166 @@ msgid "" "will be used as the namespaces when resolving annotations." msgstr "" -#: ../../library/inspect.rst:699 +#: ../../library/inspect.rst:707 msgid "This method simplifies subclassing of :class:`Signature`::" msgstr "" -#: ../../library/inspect.rst:708 +#: ../../library/inspect.rst:716 msgid "``globalns`` and ``localns`` parameters." msgstr "" -#: ../../library/inspect.rst:714 +#: ../../library/inspect.rst:722 msgid "" "Parameter objects are *immutable*. Instead of modifying a Parameter object, " "you can use :meth:`Parameter.replace` to create a modified copy." msgstr "" -#: ../../library/inspect.rst:717 -msgid "Parameter objects are picklable and hashable." +#: ../../library/inspect.rst:725 +msgid "Parameter objects are picklable and :term:`hashable`." msgstr "" -#: ../../library/inspect.rst:722 +#: ../../library/inspect.rst:730 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:727 +#: ../../library/inspect.rst:735 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:732 +#: ../../library/inspect.rst:740 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:736 +#: ../../library/inspect.rst:744 msgid "" "These parameter names are exposed by this module as names like ``implicit0``." msgstr "" -#: ../../library/inspect.rst:742 +#: ../../library/inspect.rst:750 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:747 +#: ../../library/inspect.rst:755 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:752 +#: ../../library/inspect.rst:760 msgid "" -"Describes how argument values are bound to the parameter. Possible values " -"(accessible via :class:`Parameter`, like ``Parameter.KEYWORD_ONLY``):" +"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:" 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:758 +#: ../../library/inspect.rst:767 msgid "Name" msgstr "Nome" -#: ../../library/inspect.rst:758 +#: ../../library/inspect.rst:767 msgid "Meaning" msgstr "Significado" -#: ../../library/inspect.rst:760 +#: ../../library/inspect.rst:769 msgid "*POSITIONAL_ONLY*" -msgstr "" +msgstr "*POSITIONAL_ONLY*" -#: ../../library/inspect.rst:760 +#: ../../library/inspect.rst:769 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:765 +#: ../../library/inspect.rst:774 msgid "*POSITIONAL_OR_KEYWORD*" -msgstr "" +msgstr "*POSITIONAL_OR_KEYWORD*" -#: ../../library/inspect.rst:765 +#: ../../library/inspect.rst:774 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:770 +#: ../../library/inspect.rst:779 msgid "*VAR_POSITIONAL*" msgstr "```*VAR_POSITIONAL*```" -#: ../../library/inspect.rst:770 +#: ../../library/inspect.rst:779 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:775 +#: ../../library/inspect.rst:784 msgid "*KEYWORD_ONLY*" -msgstr "" +msgstr "*KEYWORD_ONLY*" -#: ../../library/inspect.rst:775 +#: ../../library/inspect.rst:784 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:780 +#: ../../library/inspect.rst:789 msgid "*VAR_KEYWORD*" -msgstr "" +msgstr "*VAR_KEYWORD*" -#: ../../library/inspect.rst:780 +#: ../../library/inspect.rst:789 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:786 +#: ../../library/inspect.rst:795 msgid "Example: print all keyword-only arguments without default values::" msgstr "" -#: ../../library/inspect.rst:800 +#: ../../library/inspect.rst:809 msgid "Describes a enum value of Parameter.kind." msgstr "" -#: ../../library/inspect.rst:804 +#: ../../library/inspect.rst:813 msgid "Example: print all descriptions of arguments::" msgstr "" -#: ../../library/inspect.rst:819 +#: ../../library/inspect.rst:828 msgid "" "Create a new Parameter instance based on the instance replaced was invoked " "on. To override a :class:`Parameter` attribute, pass the corresponding " @@ -1140,94 +1184,94 @@ msgid "" "pass :attr:`Parameter.empty`." msgstr "" -#: ../../library/inspect.rst:837 +#: ../../library/inspect.rst:846 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." msgstr "" -#: ../../library/inspect.rst:844 +#: ../../library/inspect.rst:853 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:849 +#: ../../library/inspect.rst:858 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`." msgstr "" -#: ../../library/inspect.rst:853 +#: ../../library/inspect.rst:862 msgid "" "Should be used in conjunction with :attr:`Signature.parameters` for any " "argument processing purposes." msgstr "" -#: ../../library/inspect.rst:858 +#: ../../library/inspect.rst:867 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." msgstr "" -#: ../../library/inspect.rst:863 +#: ../../library/inspect.rst:872 msgid "" ":attr:`arguments` is now of type :class:`dict`. Formerly, it was of type :" "class:`collections.OrderedDict`." msgstr "" -#: ../../library/inspect.rst:869 +#: ../../library/inspect.rst:878 msgid "" "A tuple of positional arguments values. Dynamically computed from the :attr:" "`arguments` attribute." msgstr "" -#: ../../library/inspect.rst:874 +#: ../../library/inspect.rst:883 msgid "" "A dict of keyword arguments values. Dynamically computed from the :attr:" "`arguments` attribute." msgstr "" -#: ../../library/inspect.rst:879 +#: ../../library/inspect.rst:888 msgid "A reference to the parent :class:`Signature` object." msgstr "" -#: ../../library/inspect.rst:883 +#: ../../library/inspect.rst:892 msgid "Set default values for missing arguments." msgstr "" -#: ../../library/inspect.rst:885 +#: ../../library/inspect.rst:894 msgid "" "For variable-positional arguments (``*args``) the default is an empty tuple." msgstr "" -#: ../../library/inspect.rst:888 +#: ../../library/inspect.rst:897 msgid "" "For variable-keyword arguments (``**kwargs``) the default is an empty dict." msgstr "" -#: ../../library/inspect.rst:901 +#: ../../library/inspect.rst:910 msgid "" "The :attr:`args` and :attr:`kwargs` properties can be used to invoke " "functions::" msgstr "" -#: ../../library/inspect.rst:914 +#: ../../library/inspect.rst:923 msgid ":pep:`362` - Function Signature Object." msgstr "" -#: ../../library/inspect.rst:915 +#: ../../library/inspect.rst:924 msgid "The detailed specification, implementation details and examples." msgstr "" -#: ../../library/inspect.rst:921 +#: ../../library/inspect.rst:930 msgid "Classes and functions" msgstr "Classes e funções" -#: ../../library/inspect.rst:925 +#: ../../library/inspect.rst:934 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 " @@ -1238,7 +1282,7 @@ msgid "" "will appear multiple times." msgstr "" -#: ../../library/inspect.rst:936 +#: ../../library/inspect.rst:945 msgid "" "Get the names and default values of a Python function's parameters. A :term:" "`named tuple` ``ArgSpec(args, varargs, keywords, defaults)`` is returned. " @@ -1249,33 +1293,35 @@ msgid "" "in *args*." msgstr "" -#: ../../library/inspect.rst:944 +#: ../../library/inspect.rst:953 msgid "" "Use :func:`getfullargspec` for an updated API that is usually a drop-in " "replacement, but also correctly handles function annotations and keyword-" "only parameters." msgstr "" -#: ../../library/inspect.rst:949 +#: ../../library/inspect.rst:958 msgid "" "Alternatively, use :func:`signature` and :ref:`Signature Object `, which provide a more structured introspection API for " "callables." msgstr "" -#: ../../library/inspect.rst:956 +#: ../../library/inspect.rst:965 msgid "" "Get the names and default values of a Python function's parameters. A :term:" "`named tuple` is returned:" msgstr "" -#: ../../library/inspect.rst:959 +#: ../../library/inspect.rst:968 msgid "" "``FullArgSpec(args, varargs, varkw, defaults, kwonlyargs, kwonlydefaults, " "annotations)``" msgstr "" +"``FullArgSpec(args, varargs, varkw, defaults, kwonlyargs, kwonlydefaults, " +"annotations)``" -#: ../../library/inspect.rst:962 +#: ../../library/inspect.rst:971 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 " @@ -1290,7 +1336,7 @@ msgid "" "report the function return value annotation (if any)." msgstr "" -#: ../../library/inspect.rst:977 +#: ../../library/inspect.rst:986 msgid "" "Note that :func:`signature` and :ref:`Signature Object ` provide the recommended API for callable introspection, and support " @@ -1300,14 +1346,14 @@ msgid "" "``inspect`` module API." msgstr "" -#: ../../library/inspect.rst:984 +#: ../../library/inspect.rst:993 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:989 +#: ../../library/inspect.rst:998 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 " @@ -1315,7 +1361,7 @@ msgid "" "code migrating away from the legacy :func:`getargspec` API." msgstr "" -#: ../../library/inspect.rst:1004 +#: ../../library/inspect.rst:1013 msgid "" "Get information about arguments passed into a particular frame. A :term:" "`named tuple` ``ArgInfo(args, varargs, keywords, locals)`` is returned. " @@ -1324,47 +1370,47 @@ msgid "" "dictionary of the given frame." msgstr "" -#: ../../library/inspect.rst:1011 ../../library/inspect.rst:1048 +#: ../../library/inspect.rst:1020 ../../library/inspect.rst:1057 msgid "This function was inadvertently marked as deprecated in Python 3.5." msgstr "" -#: ../../library/inspect.rst:1016 +#: ../../library/inspect.rst:1025 msgid "" "Format a pretty argument spec from the values returned by :func:" "`getfullargspec`." msgstr "" -#: ../../library/inspect.rst:1019 +#: ../../library/inspect.rst:1028 msgid "" "The first seven arguments are (``args``, ``varargs``, ``varkw``, " "``defaults``, ``kwonlyargs``, ``kwonlydefaults``, ``annotations``)." msgstr "" -#: ../../library/inspect.rst:1022 +#: ../../library/inspect.rst:1031 msgid "" "The other six arguments are functions that are called to turn argument " "names, ``*`` argument name, ``**`` argument name, default values, return " "annotation and individual annotations into strings, respectively." msgstr "" -#: ../../library/inspect.rst:1026 +#: ../../library/inspect.rst:1035 msgid "For example:" msgstr "Por exemplo:" -#: ../../library/inspect.rst:1035 +#: ../../library/inspect.rst:1044 msgid "" "Use :func:`signature` and :ref:`Signature Object `, which provide a better introspecting API for callables." msgstr "" -#: ../../library/inspect.rst:1043 +#: ../../library/inspect.rst:1052 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." msgstr "" -#: ../../library/inspect.rst:1053 +#: ../../library/inspect.rst:1062 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 " @@ -1372,7 +1418,7 @@ msgid "" "user-defined metatype is in use, cls will be the first element of the tuple." msgstr "" -#: ../../library/inspect.rst:1061 +#: ../../library/inspect.rst:1070 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 " @@ -1385,11 +1431,11 @@ msgid "" "example::" msgstr "" -#: ../../library/inspect.rst:1084 +#: ../../library/inspect.rst:1093 msgid "Use :meth:`Signature.bind` and :meth:`Signature.bind_partial` instead." msgstr "" -#: ../../library/inspect.rst:1090 +#: ../../library/inspect.rst:1099 msgid "" "Get the mapping of external name references in a Python function or method " "*func* to their current values. A :term:`named tuple` " @@ -1401,18 +1447,18 @@ msgid "" "builtins." msgstr "" -#: ../../library/inspect.rst:1099 +#: ../../library/inspect.rst:1108 msgid "" ":exc:`TypeError` is raised if *func* is not a Python function or method." msgstr "" -#: ../../library/inspect.rst:1106 +#: ../../library/inspect.rst:1115 msgid "" "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:1109 +#: ../../library/inspect.rst:1118 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 " @@ -1422,68 +1468,70 @@ msgid "" "``__signature__`` attribute defined." msgstr "" -#: ../../library/inspect.rst:1116 +#: ../../library/inspect.rst:1125 msgid ":exc:`ValueError` is raised if a cycle is encountered." msgstr "" -#: ../../library/inspect.rst:1123 +#: ../../library/inspect.rst:1132 msgid "Compute the annotations dict for an object." -msgstr "" +msgstr "Calcula o dicionário de anotações para um objeto." -#: ../../library/inspect.rst:1125 +#: ../../library/inspect.rst:1134 msgid "" "``obj`` may be a callable, class, or module. Passing in an object of any " "other type raises :exc:`TypeError`." msgstr "" -#: ../../library/inspect.rst:1128 +#: ../../library/inspect.rst:1137 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:1132 +#: ../../library/inspect.rst:1141 msgid "This function handles several details for you:" -msgstr "" +msgstr "Esta função cuida de vários detalhes para você:" -#: ../../library/inspect.rst:1134 +#: ../../library/inspect.rst:1143 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``)." msgstr "" -#: ../../library/inspect.rst:1138 +#: ../../library/inspect.rst:1147 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:1142 +#: ../../library/inspect.rst:1151 msgid "" "Ignores inherited annotations on classes. If a class doesn't have its own " "annotations dict, returns an empty dict." msgstr "" -#: ../../library/inspect.rst:1144 +#: ../../library/inspect.rst:1153 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:1146 -msgid "Always, always, always returns a freshly-created dict." +#: ../../library/inspect.rst:1155 +msgid "Always, always, always returns a freshly created dict." msgstr "" -#: ../../library/inspect.rst:1148 +#: ../../library/inspect.rst:1157 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:1151 +#: ../../library/inspect.rst:1160 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()` " @@ -1491,12 +1539,12 @@ msgid "" "call.)" msgstr "" -#: ../../library/inspect.rst:1155 +#: ../../library/inspect.rst:1164 msgid "" "If eval_str is false (the default), values of type ``str`` are unchanged." msgstr "" -#: ../../library/inspect.rst:1157 +#: ../../library/inspect.rst:1166 msgid "" "``globals`` and ``locals`` are passed in to :func:`eval()`; see the " "documentation for :func:`eval()` for more information. If ``globals`` or " @@ -1504,35 +1552,35 @@ msgid "" "specific default, contingent on ``type(obj)``:" msgstr "" -#: ../../library/inspect.rst:1162 +#: ../../library/inspect.rst:1171 msgid "If ``obj`` is a module, ``globals`` defaults to ``obj.__dict__``." msgstr "" -#: ../../library/inspect.rst:1163 +#: ../../library/inspect.rst:1172 msgid "" "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:1166 +#: ../../library/inspect.rst:1175 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." msgstr "" -#: ../../library/inspect.rst:1170 +#: ../../library/inspect.rst:1179 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:1180 +#: ../../library/inspect.rst:1189 msgid "The interpreter stack" msgstr "A pilha to interpretador" -#: ../../library/inspect.rst:1182 +#: ../../library/inspect.rst:1191 msgid "" "When the following functions return \"frame records,\" each record is a :" "term:`named tuple` ``FrameInfo(frame, filename, lineno, function, " @@ -1542,11 +1590,11 @@ msgid "" "list." msgstr "" -#: ../../library/inspect.rst:1190 +#: ../../library/inspect.rst:1199 msgid "Return a named tuple instead of a tuple." msgstr "" -#: ../../library/inspect.rst:1195 +#: ../../library/inspect.rst:1204 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 " @@ -1558,7 +1606,7 @@ msgid "" "consumption which occurs." msgstr "" -#: ../../library/inspect.rst:1203 +#: ../../library/inspect.rst:1212 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 :" @@ -1566,27 +1614,27 @@ msgid "" "disabled when Python was compiled or using :func:`gc.disable`. For example::" msgstr "" -#: ../../library/inspect.rst:1215 +#: ../../library/inspect.rst:1224 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:1219 +#: ../../library/inspect.rst:1228 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:1226 +#: ../../library/inspect.rst:1235 msgid "" "Get information about a frame or traceback object. A :term:`named tuple` " "``Traceback(filename, lineno, function, code_context, index)`` is returned." msgstr "" -#: ../../library/inspect.rst:1232 +#: ../../library/inspect.rst:1241 msgid "" "Get a list of frame records for a frame and all outer frames. These frames " "represent the calls that lead to the creation of *frame*. The first entry in " @@ -1594,14 +1642,14 @@ msgid "" "outermost call on *frame*'s stack." msgstr "" -#: ../../library/inspect.rst:1237 ../../library/inspect.rst:1250 -#: ../../library/inspect.rst:1274 ../../library/inspect.rst:1287 +#: ../../library/inspect.rst:1246 ../../library/inspect.rst:1259 +#: ../../library/inspect.rst:1283 ../../library/inspect.rst:1296 msgid "" "A list of :term:`named tuples ` ``FrameInfo(frame, filename, " "lineno, function, code_context, index)`` is returned." msgstr "" -#: ../../library/inspect.rst:1245 +#: ../../library/inspect.rst:1254 msgid "" "Get a list of frame records for a traceback's frame and all inner frames. " "These frames represent calls made as a consequence of *frame*. The first " @@ -1609,11 +1657,11 @@ msgid "" "the exception was raised." msgstr "" -#: ../../library/inspect.rst:1258 +#: ../../library/inspect.rst:1267 msgid "Return the frame object for the caller's stack frame." msgstr "" -#: ../../library/inspect.rst:1262 +#: ../../library/inspect.rst:1271 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 " @@ -1621,14 +1669,14 @@ msgid "" "``None``." msgstr "" -#: ../../library/inspect.rst:1270 +#: ../../library/inspect.rst:1279 msgid "" "Return a list of frame records 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:1282 +#: ../../library/inspect.rst:1291 msgid "" "Return a list of frame records for the stack between the current frame and " "the frame in which an exception currently being handled was raised in. The " @@ -1636,11 +1684,11 @@ msgid "" "where the exception was raised." msgstr "" -#: ../../library/inspect.rst:1294 +#: ../../library/inspect.rst:1303 msgid "Fetching attributes statically" msgstr "" -#: ../../library/inspect.rst:1296 +#: ../../library/inspect.rst:1305 msgid "" "Both :func:`getattr` and :func:`hasattr` can trigger code execution when " "fetching or checking for the existence of attributes. Descriptors, like " @@ -1648,20 +1696,20 @@ msgid "" "`__getattribute__` may be called." msgstr "" -#: ../../library/inspect.rst:1301 +#: ../../library/inspect.rst:1310 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." msgstr "" -#: ../../library/inspect.rst:1307 +#: ../../library/inspect.rst:1316 msgid "" "Retrieve attributes without triggering dynamic lookup via the descriptor " "protocol, :meth:`__getattr__` or :meth:`__getattribute__`." msgstr "" -#: ../../library/inspect.rst:1310 +#: ../../library/inspect.rst:1319 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 " @@ -1669,31 +1717,31 @@ msgid "" "return descriptors objects instead of instance members." msgstr "" -#: ../../library/inspect.rst:1316 +#: ../../library/inspect.rst:1325 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:1322 +#: ../../library/inspect.rst:1331 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:1326 +#: ../../library/inspect.rst:1335 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:1352 +#: ../../library/inspect.rst:1361 msgid "Current State of Generators and Coroutines" msgstr "" -#: ../../library/inspect.rst:1354 +#: ../../library/inspect.rst:1363 msgid "" "When implementing coroutine schedulers and for other advanced uses of " "generators, it is useful to determine whether a generator is currently " @@ -1702,31 +1750,31 @@ msgid "" "generator to be determined easily." msgstr "" -#: ../../library/inspect.rst:1362 +#: ../../library/inspect.rst:1371 msgid "Get current state of a generator-iterator." msgstr "" -#: ../../library/inspect.rst:1368 ../../library/inspect.rst:1383 +#: ../../library/inspect.rst:1377 ../../library/inspect.rst:1392 msgid "Possible states are:" msgstr "" -#: ../../library/inspect.rst:1365 +#: ../../library/inspect.rst:1374 msgid "GEN_CREATED: Waiting to start execution." msgstr "" -#: ../../library/inspect.rst:1366 +#: ../../library/inspect.rst:1375 msgid "GEN_RUNNING: Currently being executed by the interpreter." msgstr "" -#: ../../library/inspect.rst:1367 +#: ../../library/inspect.rst:1376 msgid "GEN_SUSPENDED: Currently suspended at a yield expression." msgstr "" -#: ../../library/inspect.rst:1368 +#: ../../library/inspect.rst:1377 msgid "GEN_CLOSED: Execution has completed." msgstr "" -#: ../../library/inspect.rst:1374 +#: ../../library/inspect.rst:1383 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 " @@ -1734,30 +1782,30 @@ msgid "" "``cr_frame`` attributes." msgstr "" -#: ../../library/inspect.rst:1380 +#: ../../library/inspect.rst:1389 msgid "CORO_CREATED: Waiting to start execution." msgstr "" -#: ../../library/inspect.rst:1381 +#: ../../library/inspect.rst:1390 msgid "CORO_RUNNING: Currently being executed by the interpreter." msgstr "" -#: ../../library/inspect.rst:1382 +#: ../../library/inspect.rst:1391 msgid "CORO_SUSPENDED: Currently suspended at an await expression." msgstr "" -#: ../../library/inspect.rst:1383 +#: ../../library/inspect.rst:1392 msgid "CORO_CLOSED: Execution has completed." msgstr "" -#: ../../library/inspect.rst:1387 +#: ../../library/inspect.rst:1396 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:1393 +#: ../../library/inspect.rst:1402 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. " @@ -1765,14 +1813,14 @@ msgid "" "generator, and all the same caveats apply." msgstr "" -#: ../../library/inspect.rst:1398 +#: ../../library/inspect.rst:1407 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:1404 +#: ../../library/inspect.rst:1413 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 " @@ -1780,76 +1828,76 @@ msgid "" "dictionary." msgstr "" -#: ../../library/inspect.rst:1413 +#: ../../library/inspect.rst:1422 msgid "" "This function is analogous to :func:`~inspect.getgeneratorlocals`, but works " "for coroutine objects created by :keyword:`async def` functions." msgstr "" -#: ../../library/inspect.rst:1422 +#: ../../library/inspect.rst:1431 msgid "Code Objects Bit Flags" msgstr "" -#: ../../library/inspect.rst:1424 +#: ../../library/inspect.rst:1433 msgid "" "Python code objects have a ``co_flags`` attribute, which is a bitmap of the " "following flags:" msgstr "" -#: ../../library/inspect.rst:1429 +#: ../../library/inspect.rst:1438 msgid "The code object is optimized, using fast locals." msgstr "" -#: ../../library/inspect.rst:1433 +#: ../../library/inspect.rst:1442 msgid "" "If set, a new dict will be created for the frame's ``f_locals`` when the " "code object is executed." msgstr "" -#: ../../library/inspect.rst:1438 +#: ../../library/inspect.rst:1447 msgid "The code object has a variable positional parameter (``*args``-like)." msgstr "" -#: ../../library/inspect.rst:1442 +#: ../../library/inspect.rst:1451 msgid "The code object has a variable keyword parameter (``**kwargs``-like)." msgstr "" -#: ../../library/inspect.rst:1446 +#: ../../library/inspect.rst:1455 msgid "The flag is set when the code object is a nested function." msgstr "" -#: ../../library/inspect.rst:1450 +#: ../../library/inspect.rst:1459 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:1455 +#: ../../library/inspect.rst:1464 msgid "The flag is set if there are no free or cell variables." msgstr "" -#: ../../library/inspect.rst:1459 +#: ../../library/inspect.rst:1468 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:1467 +#: ../../library/inspect.rst:1476 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:1476 +#: ../../library/inspect.rst:1485 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:1483 +#: ../../library/inspect.rst:1492 msgid "" "The flags are specific to CPython, and may not be defined in other Python " "implementations. Furthermore, the flags are an implementation detail, and " @@ -1857,24 +1905,24 @@ msgid "" "use public APIs from the :mod:`inspect` module for any introspection needs." msgstr "" -#: ../../library/inspect.rst:1493 +#: ../../library/inspect.rst:1502 msgid "Command Line Interface" msgstr "Interface de linha de comando" -#: ../../library/inspect.rst:1495 +#: ../../library/inspect.rst:1504 msgid "" "The :mod:`inspect` module also provides a basic introspection capability " "from the command line." msgstr "" -#: ../../library/inspect.rst:1500 +#: ../../library/inspect.rst:1509 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:1506 +#: ../../library/inspect.rst:1515 msgid "" "Print information about the specified object rather than the source code" msgstr "" diff --git a/library/internet.po b/library/internet.po index b4129379a..90853ff0c 100644 --- a/library/internet.po +++ b/library/internet.po @@ -1,26 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.10\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-07-27 13:07+0000\n" -"PO-Revision-Date: 2021-06-28 01:08+0000\n" -"Last-Translator: Raphael Mendonça, 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:58+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/internet.rst:5 msgid "Internet Protocols and Support" @@ -34,3 +35,8 @@ msgid "" "`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 " +"populares. Segue uma visão geral:" diff --git a/library/intro.po b/library/intro.po index fa942f9d7..f7d1bafb6 100644 --- a/library/intro.po +++ b/library/intro.po @@ -1,28 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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 -# Ruan Aragão , 2021 -# VERUSKA RODRIGUES DA SILVA , 2021 +# python-doc bot, 2025 # #, 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:08+0000\n" -"Last-Translator: VERUSKA RODRIGUES DA SILVA , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:58+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/intro.rst:5 msgid "Introduction" @@ -34,12 +33,12 @@ msgstr "A \"biblioteca Python\" contém vários tipos diferentes de componentes. #: ../../library/intro.rst:9 msgid "" -"It contains data types that would normally be considered part of the \"core" -"\" of a language, such as numbers and lists. For these types, the Python " -"language core defines the form of literals and places some constraints on " -"their semantics, but does not fully define the semantics. (On the other " -"hand, the language core does define syntactic properties like the spelling " -"and priorities of operators.)" +"It contains data types that would normally be considered part of the " +"\"core\" of a language, such as numbers and lists. For these types, the " +"Python language core defines the form of literals and places some " +"constraints on their semantics, but does not fully define the semantics. " +"(On the other hand, the language core does define syntactic properties like " +"the spelling and priorities of operators.)" msgstr "" "Ela contém tipos de dados que seriam normalmente considerados como parte " "\"central\" de uma linguagem, tais como números e listas. Para esses tipos, " @@ -55,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 "" @@ -97,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 @@ -121,10 +120,10 @@ 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!" @@ -147,8 +146,8 @@ msgstr "" #: ../../library/intro.rst:60 msgid "" "If not separately noted, all functions that claim \"Availability: Unix\" are " -"supported on Mac OS X, which builds on a Unix core." +"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 Mac OS X, 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." diff --git a/library/io.po b/library/io.po index 8f2adac7c..fabf3907b 100644 --- a/library/io.po +++ b/library/io.po @@ -1,31 +1,28 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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 -# Katyanna Moura , 2021 -# Vinícius Muniz de Melo , 2021 -# Claudio Rogerio Carvalho Filho , 2021 -# i17obot , 2021 -# Rafael Fontenelle , 2021 +# python-doc bot, 2025 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.10\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-07-14 12:57+0000\n" -"PO-Revision-Date: 2021-06-28 01:08+0000\n" -"Last-Translator: Rafael Fontenelle , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-11-15 17:13+0000\n" +"PO-Revision-Date: 2025-09-22 15:58+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=2; plural=(n > 1);\n" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/io.rst:2 msgid ":mod:`io` --- Core tools for working with streams" @@ -48,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 "" @@ -57,6 +61,11 @@ 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 "" @@ -71,10 +80,12 @@ 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:850 ../../library/io.rst:1112 +#: ../../library/io.rst:51 ../../library/io.rst:848 ../../library/io.rst:1109 msgid "Text I/O" -msgstr "" +msgstr "E/S de texto" #: ../../library/io.rst:53 msgid "" @@ -83,6 +94,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 "" @@ -94,16 +110,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`." msgstr "" +"A API de fluxo de texto é descrita em detalhes na documentação de :class:" +"`TextIOBase`." -#: ../../library/io.rst:72 ../../library/io.rst:1100 +#: ../../library/io.rst:72 ../../library/io.rst:1097 msgid "Binary I/O" -msgstr "" +msgstr "E/S binária" #: ../../library/io.rst:74 msgid "" @@ -113,6 +133,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 "" @@ -124,22 +150,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`." 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 "" @@ -148,15 +181,22 @@ 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 "" @@ -172,6 +212,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 "" @@ -183,24 +228,24 @@ msgstr "" msgid "" "Accordingly, it is highly recommended that you specify the encoding " "explicitly when opening text files. If you want to use UTF-8, pass " -"``encoding=\"utf-8\"``. To use the current locale encoding, ``encoding=" -"\"locale\"`` is supported in Python 3.10." +"``encoding=\"utf-8\"``. To use the current locale encoding, " +"``encoding=\"locale\"`` is supported in Python 3.10." msgstr "" #: ../../library/io.rst:134 msgid "" -"When you need to run existing code on Windows that attempts to opens UTF-8 " +"When you need to run existing code on Windows that attempts to open UTF-8 " "files using the default locale encoding, you can enable the UTF-8 mode. See :" "ref:`UTF-8 mode on Windows `." msgstr "" #: ../../library/io.rst:141 msgid "Opt-in EncodingWarning" -msgstr "" +msgstr "Ativar EncodingWarning" #: ../../library/io.rst:143 msgid "See :pep:`597` for more details." -msgstr "" +msgstr "Veja a :pep:`597` para mais detalhes." #: ../../library/io.rst:146 msgid "" @@ -218,10 +263,15 @@ msgid "" "`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:160 msgid "High-level Module Interface" -msgstr "" +msgstr "Interface de alto nível do módulo" #: ../../library/io.rst:164 msgid "" @@ -229,10 +279,13 @@ msgid "" "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:171 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:173 msgid "" @@ -360,7 +413,7 @@ 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 readable, writable, and both readable and " +"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." @@ -460,19 +513,17 @@ msgid "I/O Base Classes" msgstr "" #: ../../library/io.rst:309 -msgid "" -"The abstract base class for all I/O classes, acting on streams of bytes. " -"There is no public constructor." +msgid "The abstract base class for all I/O classes." msgstr "" -#: ../../library/io.rst:312 +#: ../../library/io.rst:311 msgid "" "This class provides empty abstract implementations for many methods that " "derived classes can override selectively; the default implementations " "represent a file that cannot be read, written or seeked." msgstr "" -#: ../../library/io.rst:317 +#: ../../library/io.rst:316 msgid "" "Even though :class:`IOBase` does not declare :meth:`read` or :meth:`write` " "because their signatures will vary, implementations and clients should " @@ -481,20 +532,20 @@ msgid "" "they do not support are called." msgstr "" -#: ../../library/io.rst:323 +#: ../../library/io.rst:322 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." msgstr "" -#: ../../library/io.rst:327 +#: ../../library/io.rst:326 msgid "" "Note that calling any method (even inquiries) on a closed stream is " "undefined. Implementations may raise :exc:`ValueError` in this case." msgstr "" -#: ../../library/io.rst:330 +#: ../../library/io.rst:329 msgid "" ":class:`IOBase` (and its subclasses) supports the iterator protocol, meaning " "that an :class:`IOBase` object can be iterated over yielding the lines in a " @@ -503,140 +554,140 @@ msgid "" "character strings). See :meth:`~IOBase.readline` below." msgstr "" -#: ../../library/io.rst:336 +#: ../../library/io.rst:335 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::" msgstr "" -#: ../../library/io.rst:343 +#: ../../library/io.rst:342 msgid ":class:`IOBase` provides these data attributes and methods:" msgstr "" -#: ../../library/io.rst:347 +#: ../../library/io.rst:346 msgid "" "Flush and close this stream. This method has no effect if the file is " "already closed. Once the file is closed, any operation on the file (e.g. " "reading or writing) will raise a :exc:`ValueError`." msgstr "" -#: ../../library/io.rst:351 +#: ../../library/io.rst:350 msgid "" "As a convenience, it is allowed to call this method more than once; only the " "first call, however, will have an effect." msgstr "" -#: ../../library/io.rst:356 +#: ../../library/io.rst:355 msgid "``True`` if the stream is closed." msgstr "" -#: ../../library/io.rst:360 +#: ../../library/io.rst:359 msgid "" "Return the underlying file descriptor (an integer) of the stream if it " "exists. An :exc:`OSError` is raised if the IO object does not use a file " "descriptor." msgstr "" -#: ../../library/io.rst:366 +#: ../../library/io.rst:365 msgid "" "Flush the write buffers of the stream if applicable. This does nothing for " "read-only and non-blocking streams." msgstr "" -#: ../../library/io.rst:371 +#: ../../library/io.rst:370 msgid "" "Return ``True`` if the stream is interactive (i.e., connected to a terminal/" "tty device)." msgstr "" -#: ../../library/io.rst:376 +#: ../../library/io.rst:375 msgid "" "Return ``True`` if the stream can be read from. If ``False``, :meth:`read` " "will raise :exc:`OSError`." msgstr "" -#: ../../library/io.rst:381 +#: ../../library/io.rst:380 msgid "" "Read and return one line from the stream. If *size* is specified, at most " "*size* bytes will be read." msgstr "" -#: ../../library/io.rst:384 +#: ../../library/io.rst:383 msgid "" "The line terminator is always ``b'\\n'`` for binary files; for text files, " "the *newline* argument to :func:`open` can be used to select the line " "terminator(s) recognized." msgstr "" -#: ../../library/io.rst:390 +#: ../../library/io.rst:389 msgid "" "Read and return a list of lines from the stream. *hint* can be specified to " "control the number of lines read: no more lines will be read if the total " "size (in bytes/characters) of all lines so far exceeds *hint*." msgstr "" -#: ../../library/io.rst:394 +#: ../../library/io.rst:393 msgid "" "*hint* values of ``0`` or less, as well as ``None``, are treated as no hint." msgstr "" -#: ../../library/io.rst:397 +#: ../../library/io.rst:396 msgid "" "Note that it's already possible to iterate on file objects using ``for line " "in file: ...`` without calling ``file.readlines()``." msgstr "" -#: ../../library/io.rst:402 +#: ../../library/io.rst:401 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:" msgstr "" -#: ../../library/io.rst:406 +#: ../../library/io.rst:405 msgid "" ":data:`SEEK_SET` or ``0`` -- start of the stream (the default); *offset* " "should be zero or positive" msgstr "" -#: ../../library/io.rst:408 +#: ../../library/io.rst:407 msgid "" ":data:`SEEK_CUR` or ``1`` -- current stream position; *offset* may be " "negative" msgstr "" -#: ../../library/io.rst:410 +#: ../../library/io.rst:409 msgid "" ":data:`SEEK_END` or ``2`` -- end of the stream; *offset* is usually negative" msgstr "" -#: ../../library/io.rst:413 +#: ../../library/io.rst:412 msgid "Return the new absolute position." msgstr "" -#: ../../library/io.rst:415 ../../library/io.rst:926 +#: ../../library/io.rst:414 ../../library/io.rst:923 msgid "The ``SEEK_*`` constants." msgstr "" -#: ../../library/io.rst:418 +#: ../../library/io.rst:417 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." msgstr "" -#: ../../library/io.rst:425 +#: ../../library/io.rst:424 msgid "" "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:430 +#: ../../library/io.rst:429 msgid "Return the current stream position." msgstr "" -#: ../../library/io.rst:434 +#: ../../library/io.rst:433 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 " @@ -645,36 +696,34 @@ msgid "" "additional bytes are zero-filled). The new file size is returned." msgstr "" -#: ../../library/io.rst:441 +#: ../../library/io.rst:440 msgid "Windows will now zero-fill files when extending." msgstr "" -#: ../../library/io.rst:446 +#: ../../library/io.rst:445 msgid "" "Return ``True`` if the stream supports writing. If ``False``, :meth:`write` " "and :meth:`truncate` will raise :exc:`OSError`." msgstr "" -#: ../../library/io.rst:451 +#: ../../library/io.rst:450 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:457 +#: ../../library/io.rst:456 msgid "" "Prepare for object destruction. :class:`IOBase` provides a default " "implementation of this method that calls the instance's :meth:`~IOBase." "close` method." msgstr "" -#: ../../library/io.rst:464 -msgid "" -"Base class for raw binary streams. It inherits :class:`IOBase`. There is " -"no public constructor." +#: ../../library/io.rst:463 +msgid "Base class for raw binary streams. It inherits :class:`IOBase`." msgstr "" -#: ../../library/io.rst:467 +#: ../../library/io.rst:465 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 " @@ -682,13 +731,13 @@ msgid "" "text streams, described later in this page)." msgstr "" -#: ../../library/io.rst:472 +#: ../../library/io.rst:470 msgid "" ":class:`RawIOBase` provides these methods in addition to those from :class:" "`IOBase`:" msgstr "" -#: ../../library/io.rst:477 +#: ../../library/io.rst:475 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, " @@ -696,25 +745,25 @@ msgid "" "if the operating system call returns fewer than *size* bytes." msgstr "" -#: ../../library/io.rst:482 +#: ../../library/io.rst:480 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:486 +#: ../../library/io.rst:484 msgid "" "The default implementation defers to :meth:`readall` and :meth:`readinto`." msgstr "" -#: ../../library/io.rst:491 +#: ../../library/io.rst:489 msgid "" "Read and return all the bytes from the stream until EOF, using multiple " "calls to the stream if necessary." msgstr "" -#: ../../library/io.rst:496 +#: ../../library/io.rst:494 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:" @@ -722,7 +771,7 @@ msgid "" "available, ``None`` is returned." msgstr "" -#: ../../library/io.rst:504 +#: ../../library/io.rst:502 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 " @@ -733,13 +782,13 @@ msgid "" "the implementation should only access *b* during the method call." msgstr "" -#: ../../library/io.rst:517 +#: ../../library/io.rst:515 msgid "" "Base class for binary streams that support some kind of buffering. It " -"inherits :class:`IOBase`. There is no public constructor." +"inherits :class:`IOBase`." msgstr "" -#: ../../library/io.rst:520 +#: ../../library/io.rst:518 msgid "" "The main difference with :class:`RawIOBase` is that methods :meth:`read`, :" "meth:`readinto` and :meth:`write` will try (respectively) to read as much " @@ -747,7 +796,7 @@ msgid "" "perhaps more than one system call." msgstr "" -#: ../../library/io.rst:525 +#: ../../library/io.rst:523 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 " @@ -755,55 +804,55 @@ msgid "" "``None``." msgstr "" -#: ../../library/io.rst:530 +#: ../../library/io.rst:528 msgid "" "Besides, the :meth:`read` method does not have a default implementation that " "defers to :meth:`readinto`." msgstr "" -#: ../../library/io.rst:533 +#: ../../library/io.rst:531 msgid "" "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:537 +#: ../../library/io.rst:535 msgid "" ":class:`BufferedIOBase` provides or overrides these data attributes and " "methods in addition to those from :class:`IOBase`:" msgstr "" -#: ../../library/io.rst:542 +#: ../../library/io.rst:540 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." msgstr "" -#: ../../library/io.rst:548 +#: ../../library/io.rst:546 msgid "Separate the underlying raw stream from the buffer and return it." msgstr "" -#: ../../library/io.rst:550 +#: ../../library/io.rst:548 msgid "" "After the raw stream has been detached, the buffer is in an unusable state." msgstr "" -#: ../../library/io.rst:553 +#: ../../library/io.rst:551 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:561 +#: ../../library/io.rst:559 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." msgstr "" -#: ../../library/io.rst:565 +#: ../../library/io.rst:563 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 " @@ -812,13 +861,13 @@ msgid "" "imminent." msgstr "" -#: ../../library/io.rst:571 ../../library/io.rst:594 ../../library/io.rst:604 +#: ../../library/io.rst:569 ../../library/io.rst:592 ../../library/io.rst:602 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:576 +#: ../../library/io.rst:574 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`) " @@ -826,26 +875,26 @@ msgid "" "top of a :class:`BufferedIOBase` object." msgstr "" -#: ../../library/io.rst:582 +#: ../../library/io.rst:580 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:587 +#: ../../library/io.rst:585 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`." msgstr "" -#: ../../library/io.rst:591 +#: ../../library/io.rst:589 msgid "" "Like :meth:`read`, multiple reads may be issued to the underlying raw " "stream, unless the latter is interactive." msgstr "" -#: ../../library/io.rst:599 +#: ../../library/io.rst:597 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." @@ -853,7 +902,7 @@ msgid "" "read." msgstr "" -#: ../../library/io.rst:611 +#: ../../library/io.rst:609 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 " @@ -862,41 +911,41 @@ msgid "" "or held in a buffer for performance and latency reasons." msgstr "" -#: ../../library/io.rst:618 +#: ../../library/io.rst:616 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:622 +#: ../../library/io.rst:620 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:627 +#: ../../library/io.rst:625 msgid "Raw File I/O" msgstr "" -#: ../../library/io.rst:631 +#: ../../library/io.rst:629 msgid "" "A raw binary stream representing an OS-level file containing bytes data. It " "inherits :class:`RawIOBase`." msgstr "" -#: ../../library/io.rst:634 +#: ../../library/io.rst:632 msgid "The *name* can be one of two things:" msgstr "" -#: ../../library/io.rst:636 +#: ../../library/io.rst:634 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:639 +#: ../../library/io.rst:637 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 " @@ -904,7 +953,7 @@ msgid "" "set to ``False``." msgstr "" -#: ../../library/io.rst:644 +#: ../../library/io.rst:642 msgid "" "The *mode* can be ``'r'``, ``'w'``, ``'x'`` or ``'a'`` for reading " "(default), writing, exclusive creation or appending. The file will be " @@ -915,13 +964,13 @@ msgid "" "``'+'`` to the mode to allow simultaneous reading and writing." msgstr "" -#: ../../library/io.rst:652 +#: ../../library/io.rst:650 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." msgstr "" -#: ../../library/io.rst:655 +#: ../../library/io.rst:653 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 " @@ -930,372 +979,371 @@ msgid "" "similar to passing ``None``)." msgstr "" -#: ../../library/io.rst:661 +#: ../../library/io.rst:659 msgid "The newly created file is :ref:`non-inheritable `." msgstr "O arquivo recém-criado é :ref:`non-inheritable `." -#: ../../library/io.rst:663 +#: ../../library/io.rst:661 msgid "" "See the :func:`open` built-in function for examples on using the *opener* " "parameter." msgstr "" -#: ../../library/io.rst:666 +#: ../../library/io.rst:664 msgid "The *opener* parameter was added. The ``'x'`` mode was added." msgstr "" -#: ../../library/io.rst:670 +#: ../../library/io.rst:668 msgid "The file is now non-inheritable." msgstr "O arquivo agora é não herdável." -#: ../../library/io.rst:673 +#: ../../library/io.rst:671 msgid "" ":class:`FileIO` provides these data attributes in addition to those from :" "class:`RawIOBase` and :class:`IOBase`:" msgstr "" -#: ../../library/io.rst:678 +#: ../../library/io.rst:676 msgid "The mode as given in the constructor." msgstr "" -#: ../../library/io.rst:682 +#: ../../library/io.rst:680 msgid "" "The file name. This is the file descriptor of the file when no name is " "given in the constructor." msgstr "" -#: ../../library/io.rst:687 +#: ../../library/io.rst:685 msgid "Buffered Streams" msgstr "" -#: ../../library/io.rst:689 +#: ../../library/io.rst:687 msgid "" "Buffered I/O streams provide a higher-level interface to an I/O device than " "raw I/O does." msgstr "" -#: ../../library/io.rst:694 +#: ../../library/io.rst:692 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." msgstr "" -#: ../../library/io.rst:698 +#: ../../library/io.rst:696 msgid "" "The optional argument *initial_bytes* is a :term:`bytes-like object` that " "contains initial data." msgstr "" -#: ../../library/io.rst:701 +#: ../../library/io.rst:699 msgid "" ":class:`BytesIO` provides or overrides these methods in addition to those " "from :class:`BufferedIOBase` and :class:`IOBase`:" msgstr "" -#: ../../library/io.rst:706 +#: ../../library/io.rst:704 msgid "" "Return a readable and writable view over the contents of the buffer without " "copying them. Also, mutating the view will transparently update the " "contents of the buffer::" msgstr "" -#: ../../library/io.rst:717 +#: ../../library/io.rst:715 msgid "" "As long as the view exists, the :class:`BytesIO` object cannot be resized or " "closed." msgstr "" -#: ../../library/io.rst:724 +#: ../../library/io.rst:722 msgid "Return :class:`bytes` containing the entire contents of the buffer." msgstr "" -#: ../../library/io.rst:729 +#: ../../library/io.rst:727 msgid "In :class:`BytesIO`, this is the same as :meth:`~BufferedIOBase.read`." msgstr "" -#: ../../library/io.rst:731 ../../library/io.rst:774 +#: ../../library/io.rst:729 ../../library/io.rst:772 msgid "The *size* argument is now optional." msgstr "" -#: ../../library/io.rst:736 +#: ../../library/io.rst:734 msgid "" "In :class:`BytesIO`, this is the same as :meth:`~BufferedIOBase.readinto`." msgstr "" -#: ../../library/io.rst:742 +#: ../../library/io.rst:740 msgid "" "A buffered binary stream providing higher-level access to a readable, non " "seekable :class:`RawIOBase` raw binary stream. It inherits :class:" "`BufferedIOBase`." msgstr "" -#: ../../library/io.rst:746 +#: ../../library/io.rst:744 msgid "" "When reading data from this object, a larger amount of data may be requested " "from the underlying raw stream, and kept in an internal buffer. The buffered " "data can then be returned directly on subsequent reads." msgstr "" -#: ../../library/io.rst:750 +#: ../../library/io.rst:748 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." msgstr "" -#: ../../library/io.rst:754 +#: ../../library/io.rst:752 msgid "" ":class:`BufferedReader` provides or overrides these methods in addition to " "those from :class:`BufferedIOBase` and :class:`IOBase`:" msgstr "" -#: ../../library/io.rst:759 +#: ../../library/io.rst:757 msgid "" "Return bytes from the stream without advancing the position. At most one " "single read on the raw stream is done to satisfy the call. The number of " "bytes returned may be less or more than requested." msgstr "" -#: ../../library/io.rst:765 +#: ../../library/io.rst:763 msgid "" "Read and return *size* bytes, or if *size* is not given or negative, until " "EOF or if the read call would block in non-blocking mode." msgstr "" -#: ../../library/io.rst:770 +#: ../../library/io.rst:768 msgid "" "Read and return up to *size* bytes with only one call on the raw stream. If " "at least one byte is buffered, only buffered bytes are returned. Otherwise, " "one raw stream read call is made." msgstr "" -#: ../../library/io.rst:780 +#: ../../library/io.rst:778 msgid "" "A buffered binary stream providing higher-level access to a writeable, non " "seekable :class:`RawIOBase` raw binary stream. It inherits :class:" "`BufferedIOBase`." msgstr "" -#: ../../library/io.rst:784 +#: ../../library/io.rst:782 msgid "" "When writing to this object, data is normally placed into an internal " "buffer. The buffer will be written out to the underlying :class:`RawIOBase` " "object under various conditions, including:" msgstr "" -#: ../../library/io.rst:788 +#: ../../library/io.rst:786 msgid "when the buffer gets too small for all pending data;" msgstr "" -#: ../../library/io.rst:789 +#: ../../library/io.rst:787 msgid "when :meth:`flush()` is called;" msgstr "" -#: ../../library/io.rst:790 +#: ../../library/io.rst:788 msgid "" "when a :meth:`seek()` is requested (for :class:`BufferedRandom` objects);" msgstr "" -#: ../../library/io.rst:791 +#: ../../library/io.rst:789 msgid "when the :class:`BufferedWriter` object is closed or destroyed." msgstr "" -#: ../../library/io.rst:793 +#: ../../library/io.rst:791 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`." msgstr "" -#: ../../library/io.rst:797 +#: ../../library/io.rst:795 msgid "" ":class:`BufferedWriter` provides or overrides these methods in addition to " "those from :class:`BufferedIOBase` and :class:`IOBase`:" msgstr "" -#: ../../library/io.rst:802 +#: ../../library/io.rst:800 msgid "" "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:807 +#: ../../library/io.rst:805 msgid "" "Write the :term:`bytes-like object`, *b*, and return the number of bytes " "written. When in non-blocking mode, a :exc:`BlockingIOError` is raised if " "the buffer needs to be written out but the raw stream blocks." msgstr "" -#: ../../library/io.rst:815 +#: ../../library/io.rst:813 msgid "" "A buffered binary stream providing higher-level access to a seekable :class:" "`RawIOBase` raw binary stream. It inherits :class:`BufferedReader` and :" "class:`BufferedWriter`." msgstr "" -#: ../../library/io.rst:819 +#: ../../library/io.rst:817 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`." msgstr "" -#: ../../library/io.rst:823 +#: ../../library/io.rst:821 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." msgstr "" -#: ../../library/io.rst:830 +#: ../../library/io.rst:828 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`." msgstr "" -#: ../../library/io.rst:834 +#: ../../library/io.rst:832 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`." msgstr "" -#: ../../library/io.rst:838 +#: ../../library/io.rst:836 msgid "" ":class:`BufferedRWPair` implements all of :class:`BufferedIOBase`\\'s " "methods except for :meth:`~BufferedIOBase.detach`, which raises :exc:" "`UnsupportedOperation`." msgstr "" -#: ../../library/io.rst:844 +#: ../../library/io.rst:842 msgid "" ":class:`BufferedRWPair` does not attempt to synchronize accesses to its " "underlying raw streams. You should not pass it the same object as reader " "and writer; use :class:`BufferedRandom` instead." msgstr "" -#: ../../library/io.rst:854 +#: ../../library/io.rst:852 msgid "" "Base class for text streams. This class provides a character and line based " -"interface to stream I/O. It inherits :class:`IOBase`. There is no public " -"constructor." +"interface to stream I/O. It inherits :class:`IOBase`." msgstr "" -#: ../../library/io.rst:858 +#: ../../library/io.rst:855 msgid "" ":class:`TextIOBase` provides or overrides these data attributes and methods " "in addition to those from :class:`IOBase`:" msgstr "" -#: ../../library/io.rst:863 +#: ../../library/io.rst:860 msgid "" "The name of the encoding used to decode the stream's bytes into strings, and " "to encode strings into bytes." msgstr "" -#: ../../library/io.rst:868 +#: ../../library/io.rst:865 msgid "The error setting of the decoder or encoder." msgstr "" -#: ../../library/io.rst:872 +#: ../../library/io.rst:869 msgid "" "A string, a tuple of strings, or ``None``, indicating the newlines " "translated so far. Depending on the implementation and the initial " "constructor flags, this may not be available." msgstr "" -#: ../../library/io.rst:878 +#: ../../library/io.rst:875 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." msgstr "" -#: ../../library/io.rst:884 +#: ../../library/io.rst:881 msgid "" "Separate the underlying binary buffer from the :class:`TextIOBase` and " "return it." msgstr "" -#: ../../library/io.rst:887 +#: ../../library/io.rst:884 msgid "" "After the underlying buffer has been detached, the :class:`TextIOBase` is in " "an unusable state." msgstr "" -#: ../../library/io.rst:890 +#: ../../library/io.rst:887 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`." msgstr "" -#: ../../library/io.rst:898 +#: ../../library/io.rst:895 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." msgstr "" -#: ../../library/io.rst:903 +#: ../../library/io.rst:900 msgid "" "Read until newline or EOF and return a single ``str``. If the stream is " "already at EOF, an empty string is returned." msgstr "" -#: ../../library/io.rst:906 +#: ../../library/io.rst:903 msgid "If *size* is specified, at most *size* characters will be read." msgstr "" -#: ../../library/io.rst:910 +#: ../../library/io.rst:907 msgid "" "Change the stream position to the given *offset*. Behaviour depends on the " "*whence* parameter. The default value for *whence* is :data:`SEEK_SET`." msgstr "" -#: ../../library/io.rst:914 +#: ../../library/io.rst:911 msgid "" ":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:918 +#: ../../library/io.rst:915 msgid "" ":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:921 +#: ../../library/io.rst:918 msgid "" ":data:`SEEK_END` or ``2``: seek to the end of the stream; *offset* must be " "zero (all other values are unsupported)." msgstr "" -#: ../../library/io.rst:924 +#: ../../library/io.rst:921 msgid "Return the new absolute position as an opaque number." msgstr "" -#: ../../library/io.rst:931 +#: ../../library/io.rst:928 msgid "" "Return the current stream position as an opaque number. The number does not " "usually represent a number of bytes in the underlying binary storage." msgstr "" -#: ../../library/io.rst:937 +#: ../../library/io.rst:934 msgid "" "Write the string *s* to the stream and return the number of characters " "written." msgstr "" -#: ../../library/io.rst:944 +#: ../../library/io.rst:941 msgid "" "A buffered text stream providing higher-level access to a :class:" "`BufferedIOBase` buffered binary stream. It inherits :class:`TextIOBase`." msgstr "" -#: ../../library/io.rst:948 +#: ../../library/io.rst:945 msgid "" "*encoding* gives the name of the encoding that the stream will be decoded or " "encoded with. It defaults to :func:`locale.getpreferredencoding(False) " @@ -1304,7 +1352,7 @@ msgid "" "encoding` for more information." msgstr "" -#: ../../library/io.rst:954 +#: ../../library/io.rst:951 msgid "" "*errors* is an optional string that specifies how encoding and decoding " "errors are to be handled. Pass ``'strict'`` to raise a :exc:`ValueError` " @@ -1314,18 +1362,18 @@ msgid "" "marker (such as ``'?'``) to be inserted where there is malformed data. " "``'backslashreplace'`` causes malformed data to be replaced by a backslashed " "escape sequence. When writing, ``'xmlcharrefreplace'`` (replace with the " -"appropriate XML character reference) or ``'namereplace'`` (replace with ``" -"\\N{...}`` escape sequences) can be used. Any other error handling name " +"appropriate XML character reference) or ``'namereplace'`` (replace with " +"``\\N{...}`` escape sequences) can be used. Any other error handling name " "that has been registered with :func:`codecs.register_error` is also valid." msgstr "" -#: ../../library/io.rst:970 +#: ../../library/io.rst:967 msgid "" "*newline* controls how line endings are handled. It can be ``None``, " "``''``, ``'\\n'``, ``'\\r'``, and ``'\\r\\n'``. It works as follows:" msgstr "" -#: ../../library/io.rst:973 +#: ../../library/io.rst:970 msgid "" "When reading input from the stream, if *newline* is ``None``, :term:" "`universal newlines` mode is enabled. Lines in the input can end in " @@ -1337,7 +1385,7 @@ msgid "" "returned to the caller untranslated." msgstr "" -#: ../../library/io.rst:982 +#: ../../library/io.rst:979 msgid "" "When writing output to the stream, if *newline* is ``None``, any ``'\\n'`` " "characters written are translated to the system default line separator, :" @@ -1351,24 +1399,24 @@ msgstr "" "tradução ocorrerá. Se *newline* for um dos outros valores legais, qualquer " "caractere ``'\\n'`` escrito será traduzido para a string especificada." -#: ../../library/io.rst:988 +#: ../../library/io.rst:985 msgid "" "If *line_buffering* is ``True``, :meth:`flush` is implied when a call to " "write contains a newline character or a carriage return." msgstr "" -#: ../../library/io.rst:991 +#: ../../library/io.rst:988 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*." msgstr "" -#: ../../library/io.rst:995 +#: ../../library/io.rst:992 msgid "The *write_through* argument has been added." msgstr "" -#: ../../library/io.rst:998 +#: ../../library/io.rst:995 msgid "" "The default *encoding* is now ``locale.getpreferredencoding(False)`` instead " "of ``locale.getpreferredencoding()``. Don't change temporary the locale " @@ -1376,108 +1424,108 @@ msgid "" "instead of the user preferred encoding." msgstr "" -#: ../../library/io.rst:1004 +#: ../../library/io.rst:1001 msgid "" "The *encoding* argument now supports the ``\"locale\"`` dummy encoding name." msgstr "" -#: ../../library/io.rst:1007 +#: ../../library/io.rst:1004 msgid "" ":class:`TextIOWrapper` provides these data attributes and methods in " "addition to those from :class:`TextIOBase` and :class:`IOBase`:" msgstr "" -#: ../../library/io.rst:1012 +#: ../../library/io.rst:1009 msgid "Whether line buffering is enabled." msgstr "" -#: ../../library/io.rst:1016 +#: ../../library/io.rst:1013 msgid "Whether writes are passed immediately to the underlying binary buffer." msgstr "" -#: ../../library/io.rst:1024 +#: ../../library/io.rst:1021 msgid "" "Reconfigure this text stream using new settings for *encoding*, *errors*, " "*newline*, *line_buffering* and *write_through*." msgstr "" -#: ../../library/io.rst:1027 +#: ../../library/io.rst:1024 msgid "" "Parameters not specified keep current settings, except ``errors='strict'`` " "is used when *encoding* is specified but *errors* is not specified." msgstr "" -#: ../../library/io.rst:1031 +#: ../../library/io.rst:1028 msgid "" "It is not possible to change the encoding or newline if some data has " "already been read from the stream. On the other hand, changing encoding " "after write is possible." msgstr "" -#: ../../library/io.rst:1035 +#: ../../library/io.rst:1032 msgid "" "This method does an implicit stream flush before setting the new parameters." msgstr "" -#: ../../library/io.rst:1043 +#: ../../library/io.rst:1040 msgid "" "A text stream using an in-memory text buffer. It inherits :class:" "`TextIOBase`." msgstr "" -#: ../../library/io.rst:1046 +#: ../../library/io.rst:1043 msgid "" "The text buffer is discarded when the :meth:`~IOBase.close` method is called." msgstr "" -#: ../../library/io.rst:1049 +#: ../../library/io.rst:1046 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." msgstr "" -#: ../../library/io.rst:1054 +#: ../../library/io.rst:1051 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:1058 +#: ../../library/io.rst:1055 msgid "" ":class:`StringIO` provides this method in addition to those from :class:" "`TextIOBase` and :class:`IOBase`:" msgstr "" -#: ../../library/io.rst:1063 +#: ../../library/io.rst:1060 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." msgstr "" -#: ../../library/io.rst:1067 +#: ../../library/io.rst:1064 msgid "Example usage::" msgstr "Exemplo de uso::" -#: ../../library/io.rst:1089 +#: ../../library/io.rst:1086 msgid "" "A helper codec that decodes newlines for :term:`universal newlines` mode. It " "inherits :class:`codecs.IncrementalDecoder`." msgstr "" -#: ../../library/io.rst:1094 +#: ../../library/io.rst:1091 msgid "Performance" -msgstr "Performance" +msgstr "Desempenho" -#: ../../library/io.rst:1096 +#: ../../library/io.rst:1093 msgid "" "This section discusses the performance of the provided concrete I/O " "implementations." msgstr "" -#: ../../library/io.rst:1102 +#: ../../library/io.rst:1099 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 " @@ -1490,7 +1538,7 @@ msgid "" "data." msgstr "" -#: ../../library/io.rst:1114 +#: ../../library/io.rst:1111 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 " @@ -1500,23 +1548,23 @@ msgid "" "to the reconstruction algorithm used." msgstr "" -#: ../../library/io.rst:1121 +#: ../../library/io.rst:1118 msgid "" ":class:`StringIO`, however, is a native in-memory unicode container and will " "exhibit similar speed to :class:`BytesIO`." msgstr "" -#: ../../library/io.rst:1125 +#: ../../library/io.rst:1122 msgid "Multi-threading" msgstr "Multi-threading" -#: ../../library/io.rst:1127 +#: ../../library/io.rst:1124 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." msgstr "" -#: ../../library/io.rst:1130 +#: ../../library/io.rst:1127 msgid "" "Binary buffered objects (instances of :class:`BufferedReader`, :class:" "`BufferedWriter`, :class:`BufferedRandom` and :class:`BufferedRWPair`) " @@ -1524,15 +1572,15 @@ msgid "" "them from multiple threads at once." msgstr "" -#: ../../library/io.rst:1135 +#: ../../library/io.rst:1132 msgid ":class:`TextIOWrapper` objects are not thread-safe." msgstr "" -#: ../../library/io.rst:1138 +#: ../../library/io.rst:1135 msgid "Reentrancy" msgstr "" -#: ../../library/io.rst:1140 +#: ../../library/io.rst:1137 msgid "" "Binary buffered objects (instances of :class:`BufferedReader`, :class:" "`BufferedWriter`, :class:`BufferedRandom` and :class:`BufferedRWPair`) are " @@ -1543,7 +1591,7 @@ msgid "" "from entering the buffered object." msgstr "" -#: ../../library/io.rst:1148 +#: ../../library/io.rst:1145 msgid "" "The above implicitly extends to text files, since the :func:`open()` " "function will wrap a buffered object inside a :class:`TextIOWrapper`. This " diff --git a/library/ipaddress.po b/library/ipaddress.po index d87984fe6..52be518a4 100644 --- a/library/ipaddress.po +++ b/library/ipaddress.po @@ -1,33 +1,31 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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 -# mvpetri , 2021 -# Claudio Rogerio Carvalho Filho , 2021 -# i17obot , 2021 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.10\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-08-19 13:46+0000\n" -"PO-Revision-Date: 2021-06-28 01:08+0000\n" -"Last-Translator: i17obot , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:58+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"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`" @@ -38,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 "" @@ -47,52 +47,79 @@ 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`." 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 "" "Return an :class:`IPv4Address` or :class:`IPv6Address` object depending on " "the IP address passed as argument. 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." +"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." 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 "" "Return an :class:`IPv4Network` or :class:`IPv6Network` object depending on " "the IP address passed as argument. *address* is a string or integer " "representing the IP network. Either IPv4 or IPv6 networks may be supplied; " -"integers less than 2**32 will be considered to be IPv4 by default. *strict* " -"is passed to :class:`IPv4Network` or :class:`IPv6Network` 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 "" +"integers less than ``2**32`` will be considered to be IPv4 by default. " +"*strict* is passed to :class:`IPv4Network` or :class:`IPv6Network` " +"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 "" @@ -102,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 "" @@ -120,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:" @@ -138,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." @@ -148,18 +193,25 @@ 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 "" @@ -174,25 +226,31 @@ 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 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 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 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 msgid "" @@ -201,6 +259,10 @@ msgid "" "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 msgid "" @@ -208,59 +270,156 @@ msgid "" "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 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 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 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 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:195 +msgid "" +"``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:196 ../../library/ipaddress.rst:223 +msgid "" +"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:202 +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:207 +msgid "Fixed some false positives and false negatives." +msgstr "Corrigidos alguns falsos positivos e falsos negativos." + +#: ../../library/ipaddress.rst:209 +msgid "" +"``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:211 +msgid "``64:ff9b:1::/48`` is considered private." +msgstr "``64:ff9b:1::/48`` é considerado privado." + +#: ../../library/ipaddress.rst:212 +msgid "``2002::/16`` is considered private." +msgstr "``2002::/16`` é considerado privado." -#: ../../library/ipaddress.rst:197 +#: ../../library/ipaddress.rst:213 msgid "" -"``True`` if the address is allocated for public networks. See iana-ipv4-" -"special-registry_ (for IPv4) or iana-ipv6-special-registry_ (for IPv6)." +"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:205 +#: ../../library/ipaddress.rst:219 +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:229 +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:236 +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:240 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:210 +#: ../../library/ipaddress.rst:245 msgid "``True`` if the address is otherwise IETF reserved." -msgstr "" +msgstr "``True`` se o endereço for reservado para IETF." -#: ../../library/ipaddress.rst:214 +#: ../../library/ipaddress.rst:249 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:219 +#: ../../library/ipaddress.rst:254 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:" +"``True`` se o endereço está reservado para uso de link local. Veja: :RFC:" "`3927`." -#: ../../library/ipaddress.rst:227 +#: ../../library/ipaddress.rst:262 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 " @@ -281,17 +440,19 @@ msgstr "" "disponíveis. ``__format__`` é utilizado por ``format``, ``str.format`` e f-" "strings." -#: ../../library/ipaddress.rst:254 +#: ../../library/ipaddress.rst:289 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:292 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:294 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 " @@ -302,12 +463,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:302 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 " @@ -321,16 +482,18 @@ msgstr "" "``fe80::1234%1`` pode identificar o endereço ``fe80::1234`` no primeiro link " "do nó." -#: ../../library/ipaddress.rst:272 +#: ../../library/ipaddress.rst:307 msgid "An integer that fits into 128 bits." msgstr "Um inteiro que cabe em 128 bits." -#: ../../library/ipaddress.rst:273 +#: ../../library/ipaddress.rst:308 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:318 msgid "" "The short form of the address representation, with leading zeroes in groups " "omitted and the longest sequence of groups consisting entirely of zeroes " @@ -340,11 +503,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:322 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:326 msgid "" "The long form of the address representation, with all leading zeroes and " "groups consisting entirely of zeroes included." @@ -352,7 +515,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:330 msgid "" "For the following attributes and methods, see the corresponding " "documentation of the :class:`IPv4Address` class:" @@ -360,107 +523,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:345 msgid "is_global" msgstr "" -#: ../../library/ipaddress.rst:315 +#: ../../library/ipaddress.rst:350 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`." 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:357 msgid "" "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:363 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:369 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:376 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:383 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:389 msgid "Conversion to Strings and Integers" -msgstr "" +msgstr "Conversão para strings e inteiros" -#: ../../library/ipaddress.rst:356 +#: ../../library/ipaddress.rst:391 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:404 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:408 ../../library/ipaddress.rst:792 +#: ../../library/ipaddress.rst:928 msgid "Operators" msgstr "Operadores" -#: ../../library/ipaddress.rst:375 +#: ../../library/ipaddress.rst:410 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:416 msgid "Comparison operators" -msgstr "" +msgstr "Operadores de comparação" -#: ../../library/ipaddress.rst:383 +#: ../../library/ipaddress.rst:418 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:435 msgid "Arithmetic operators" msgstr "Operadores aritméticos" -#: ../../library/ipaddress.rst:402 +#: ../../library/ipaddress.rst:437 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:450 msgid "IP Network definitions" -msgstr "" +msgstr "Definições de rede IP" -#: ../../library/ipaddress.rst:417 +#: ../../library/ipaddress.rst:452 msgid "" "The :class:`IPv4Network` and :class:`IPv6Network` objects provide a " "mechanism for defining and inspecting IP network definitions. A network " @@ -470,12 +665,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:462 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:464 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 " @@ -486,12 +688,22 @@ 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:475 msgid "Network objects" -msgstr "Objetos Network" +msgstr "Objetos de rede" -#: ../../library/ipaddress.rst:442 +#: ../../library/ipaddress.rst:477 msgid "" "All attributes implemented by address objects are implemented by network " "objects as well. In addition, network objects implement additional " @@ -500,13 +712,21 @@ msgid "" "`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:486 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:488 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 " @@ -517,27 +737,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:497 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:501 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:505 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:508 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, " @@ -545,93 +781,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:514 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:518 ../../library/ipaddress.rst:738 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." 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:522 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:528 ../../library/ipaddress.rst:744 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:533 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:543 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:548 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:553 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:558 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:562 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:568 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:571 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:577 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:582 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:587 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:591 msgid "Length of the network prefix, in bits." msgstr "Comprimento do prefixo de rede, em bits." -#: ../../library/ipaddress.rst:560 +#: ../../library/ipaddress.rst:595 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 " @@ -640,21 +908,32 @@ 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:613 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:618 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." 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:631 msgid "" "The subnets that join to make the current network definition, depending on " "the argument values. *prefixlen_diff* is the amount our prefix length " @@ -663,8 +942,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:656 msgid "" "The supernet containing this network definition, depending on the argument " "values. *prefixlen_diff* is the amount our prefix length should be " @@ -672,76 +957,105 @@ 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:672 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:683 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:694 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:705 msgid "" -"It uses the same ordering and comparison algorithm as \"<\", \"==\", and \">" -"\"" +"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:711 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:713 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:718 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::`` not." +"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:722 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``." 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:726 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:729 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:734 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:767 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-" @@ -749,140 +1063,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:782 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:787 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:794 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:800 ../../library/ipaddress.rst:936 msgid "Logical operators" -msgstr "" +msgstr "Operadores lógicos" -#: ../../library/ipaddress.rst:767 +#: ../../library/ipaddress.rst:802 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:807 msgid "Iteration" msgstr "Iteração" -#: ../../library/ipaddress.rst:774 +#: ../../library/ipaddress.rst:809 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:836 msgid "Networks as containers of addresses" msgstr "Redes como contêineres de endereços" -#: ../../library/ipaddress.rst:803 +#: ../../library/ipaddress.rst:838 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:851 msgid "Interface objects" -msgstr "" +msgstr "Objetos de interface" -#: ../../library/ipaddress.rst:818 +#: ../../library/ipaddress.rst:853 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:858 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:862 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:868 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:876 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:884 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:892 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:900 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:909 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:913 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:923 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:930 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:938 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:940 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:944 msgid "" "For ordering (``<``, ``>``, etc) the rules are different. Interface and " "address objects with the same IP version can be compared, and the address " @@ -890,32 +1251,45 @@ 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:952 msgid "Other Module Level Functions" -msgstr "" +msgstr "Outras funções de nível de módulo" -#: ../../library/ipaddress.rst:919 +#: ../../library/ipaddress.rst:954 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:958 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." 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:971 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." 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:979 msgid "" "Return an iterator of the summarized network range given the first and last " "IP addresses. *first* is the first :class:`IPv4Address` or :class:" @@ -925,47 +1299,66 @@ msgid "" "`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:960 +#: ../../library/ipaddress.rst:995 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:973 +#: ../../library/ipaddress.rst:1008 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:1014 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:1018 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:1022 msgid "Custom Exceptions" -msgstr "" +msgstr "Exceções personalizadas" -#: ../../library/ipaddress.rst:989 +#: ../../library/ipaddress.rst:1024 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:1029 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:1034 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 f970f3f65..0d13fc547 100644 --- a/library/ipc.po +++ b/library/ipc.po @@ -1,26 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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.10\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-06-29 12:56+0000\n" -"PO-Revision-Date: 2021-06-28 01:08+0000\n" -"Last-Translator: Rafael Fontenelle , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:58+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/ipc.rst:5 msgid "Networking and Interprocess Communication" diff --git a/library/itertools.po b/library/itertools.po index 68c70e40b..91e9b7eb3 100644 --- a/library/itertools.po +++ b/library/itertools.po @@ -1,32 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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 -# And Past , 2021 -# Adorilson Bezerra , 2021 -# Alexandre B A Villares, 2021 -# i17obot , 2021 +# python-doc bot, 2025 # #, 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:08+0000\n" -"Last-Translator: i17obot , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:58+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/itertools.rst:2 msgid ":mod:`itertools` --- Functions creating iterators for efficient looping" @@ -40,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:20 msgid "" @@ -191,7 +186,7 @@ msgstr ":func:`chain.from_iterable`" #: ../../library/itertools.rst:52 ../../library/itertools.rst:58 msgid "iterable" -msgstr "iterable" +msgstr "iterável" #: ../../library/itertools.rst:52 msgid "``chain.from_iterable(['ABC', 'DEF']) --> A B C D E F``" @@ -276,11 +271,11 @@ msgstr ":func:`pairwise`" #: ../../library/itertools.rst:58 msgid "(p[0], p[1]), (p[1], p[2])" -msgstr "" +msgstr "(p[0], p[1]), (p[1], p[2])" #: ../../library/itertools.rst:58 msgid "``pairwise('ABCDEFG') --> AB BC CD DE EF FG``" -msgstr "" +msgstr "``pairwise('ABCDEFG') --> AB BC CD DE EF FG``" #: ../../library/itertools.rst:59 msgid ":func:`starmap`" @@ -469,8 +464,8 @@ msgstr "" #: ../../library/itertools.rst:113 ../../library/itertools.rst:211 #: ../../library/itertools.rst:260 ../../library/itertools.rst:487 -#: ../../library/itertools.rst:512 ../../library/itertools.rst:594 -#: ../../library/itertools.rst:647 +#: ../../library/itertools.rst:514 ../../library/itertools.rst:596 +#: ../../library/itertools.rst:649 msgid "Roughly equivalent to::" msgstr "Aproximadamente equivalente a::" @@ -488,10 +483,10 @@ msgstr "" "função :func:`min` calcular um valor mínimo, :func:`max` para um valor " "máximo, ou :func:`operator.mul` para calcular um produto. Tabelas de " "amortização podem ser construídas acumulando juros e aplicando pagamentos. " -"`Relações de recorrência `_ de primeira ordem podem ser modeladas " -"fornecendo o valor inicial no iterável e usando somente o valor total " -"acumulado no argumento *func*::" +"`Relações de recorrência `_ de primeira ordem podem ser modeladas fornecendo o " +"valor inicial no iterável e usando somente o valor total acumulado no " +"argumento *func*::" #: ../../library/itertools.rst:162 msgid "" @@ -526,8 +521,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:201 @@ -562,18 +557,25 @@ msgid "" "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 " +"elementos não estão ordenandos (de acordo com a sua posição na entrada)::" #: ../../library/itertools.rst:244 msgid "" "The number of items returned is ``n! / r! / (n-r)!`` when ``0 <= r <= n`` or " "zero when ``r > n``." msgstr "" +"O número de itens devolvidos é ``n! / r! / (n-r)!`` quando ``0 <= r <= n`` " +"ou zero quando ``r > n``." #: ../../library/itertools.rst:249 msgid "" "Return *r* length subsequences of elements from the input *iterable* " "allowing individual elements to be repeated more than once." msgstr "" +"Devolve subsequências de comprimento *r* de elementos do *iterável* de " +"entrada permitindo que elementos individuais sejam repetidos mais de uma vez." #: ../../library/itertools.rst:256 msgid "" @@ -581,6 +583,9 @@ msgid "" "So if the input elements are unique, the generated combinations will also be " "unique." msgstr "" +"Os elementos são tratados como únicos baseado em suas posições, não em seus " +"valores. Portanto se os elementos de entrada forem únicos, não haverá " +"repetição de valores nas combinações geradas." #: ../../library/itertools.rst:279 msgid "" @@ -588,11 +593,16 @@ msgid "" "a subsequence of :func:`product` 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_with_replacement` também pode ser " +"expresso como uma subsequência de :func:`product` depois de filtradas as " +"entradas onde os elementos não estão ordenados (de acordo com a sua posição " +"na entrada)::" #: ../../library/itertools.rst:290 msgid "" "The number of items returned is ``(n+r-1)! / r! / (n-1)!`` when ``n > 0``." msgstr "" +"O número de itens devolvidos é ``(n+r-1)! / r! / (n-1)!`` quando ``n > 0``." #: ../../library/itertools.rst:297 msgid "" @@ -601,6 +611,10 @@ msgid "" "Stops when either the *data* or *selectors* iterables has been exhausted. " "Roughly equivalent to::" msgstr "" +"Crie um iterador que filtra elementos de *data* devolvendo apenas aqueles " +"que tem um elemento correspondente em *selectors* que seja avaliado " +"``True``. Interrompe quando os iteráveis *data* ou *selectors* tiveram sido " +"esgotados. Aproximadamente equivalente a::" #: ../../library/itertools.rst:311 msgid "" @@ -609,6 +623,10 @@ msgid "" "data points. Also, used with :func:`zip` to add sequence numbers. Roughly " "equivalent to::" msgstr "" +"Crie um iterador que devolve valores igualmente espaçados começando pelo " +"número *start*. Frequentemente usado com um argumento da função :func:`map` " +"para gerar pontos de dados consecutivos. Também usado com :func:`zip` para " +"adicionar números sequenciais. Aproximadamente equivalente a::" #: ../../library/itertools.rst:323 msgid "" @@ -616,10 +634,13 @@ msgid "" "achieved by substituting multiplicative code such as: ``(start + step * i " "for i in count())``." msgstr "" +"Quando é feita uma contagem usando números de ponto flutuante, é possível " +"ter melhor precisão substituindo código multiplicativo como ``(start + step " +"* i for i in count())``." #: ../../library/itertools.rst:327 msgid "Added *step* argument and allowed non-integer arguments." -msgstr "" +msgstr "Adicionou argumento *step* e permitiu argumentos não-inteiros." #: ../../library/itertools.rst:332 msgid "" @@ -627,6 +648,9 @@ msgid "" "each. When the iterable is exhausted, return elements from the saved copy. " "Repeats indefinitely. Roughly equivalent to::" msgstr "" +"Crie um iterador que devolve elementos do iterável assim como salva uma " +"cópia de cada um. Quando o iterável é esgotado, devolve elementos da cópia " +"salva. Repete indefinidamente. Aproximadamente equivalente a::" #: ../../library/itertools.rst:346 msgid "" @@ -657,6 +681,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:390 msgid "" @@ -666,6 +695,11 @@ 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:396 msgid "" @@ -674,6 +708,11 @@ msgid "" "`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:408 msgid ":func:`groupby` is roughly equivalent to::" @@ -710,39 +749,42 @@ msgid "" "values." msgstr "" -#: ../../library/itertools.rst:498 +#: ../../library/itertools.rst:500 msgid "" "Return successive *r* length permutations of elements in the *iterable*." msgstr "" -#: ../../library/itertools.rst:500 +#: ../../library/itertools.rst:502 msgid "" "If *r* is not specified or is ``None``, then *r* defaults to the length of " "the *iterable* and all possible full-length permutations are generated." msgstr "" -#: ../../library/itertools.rst:504 +#: ../../library/itertools.rst:506 msgid "" "The permutation tuples are emitted in lexicographic ordering according to " "the order of the input *iterable*. So, if the input *iterable* is sorted, " "the combination tuples will be produced in sorted order." msgstr "" -#: ../../library/itertools.rst:508 +#: ../../library/itertools.rst:510 msgid "" "Elements are treated as unique based on their position, not on their value. " "So if the input elements are unique, there will be no repeat values in each " "permutation." msgstr "" -#: ../../library/itertools.rst:539 +#: ../../library/itertools.rst:541 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)::" 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 " +"elementos repetidos (os de mesma posição no conjunto de entrada)::" -#: ../../library/itertools.rst:551 +#: ../../library/itertools.rst:553 msgid "" "The number of items returned is ``n! / (n-r)!`` when ``0 <= r <= n`` or zero " "when ``r > n``." @@ -750,46 +792,53 @@ msgstr "" "O número de itens retornado é ``n! / (n-r)!`` quando ``0 <= r <= n`` ou zero " "quando ``r > n``." -#: ../../library/itertools.rst:556 +#: ../../library/itertools.rst:558 msgid "Cartesian product of input iterables." -msgstr "" +msgstr "Produto cartesiano de iteráveis de entrada" -#: ../../library/itertools.rst:558 +#: ../../library/itertools.rst:560 msgid "" "Roughly equivalent to nested for-loops in a generator expression. For " "example, ``product(A, B)`` returns the same as ``((x,y) for x in A for y in " "B)``." msgstr "" +"Aproximadamente equivalente a laços for aninhados em uma expressão geradora. " +"Por exemplo, ``product(A, B)`` devolve o mesmo que ``((x,y) for x in A for y " +"in B)``." -#: ../../library/itertools.rst:561 +#: ../../library/itertools.rst:563 msgid "" "The nested loops cycle like an odometer with the rightmost element advancing " "on every iteration. This pattern creates a lexicographic ordering so that " "if the input's iterables are sorted, the product tuples are emitted in " "sorted order." msgstr "" +"Os laços aninhados circulam como um hodômetro com o elemento mais à direita " +"avançando a cada iteração. Este padrão cria uma ordenação lexicográfica de " +"maneira que se os iteráveis de entrada estiverem ordenados, as tuplas " +"produzidas são emitidas de maneira ordenada." -#: ../../library/itertools.rst:566 +#: ../../library/itertools.rst:568 msgid "" "To compute the product of an iterable with itself, specify the number of " "repetitions with the optional *repeat* keyword argument. For example, " "``product(A, repeat=4)`` means the same as ``product(A, A, A, A)``." msgstr "" -#: ../../library/itertools.rst:570 +#: ../../library/itertools.rst:572 msgid "" "This function is roughly equivalent to the following code, except that the " "actual implementation does not build up intermediate results in memory::" msgstr "" -#: ../../library/itertools.rst:583 +#: ../../library/itertools.rst:585 msgid "" "Before :func:`product` runs, it completely consumes the input iterables, " "keeping pools of values in memory to generate the products. Accordingly, it " "is only useful with finite inputs." msgstr "" -#: ../../library/itertools.rst:589 +#: ../../library/itertools.rst:591 msgid "" "Make an iterator that returns *object* over and over again. Runs " "indefinitely unless the *times* argument is specified. Used as argument to :" @@ -797,13 +846,13 @@ msgid "" "func:`zip` to create an invariant part of a tuple record." msgstr "" -#: ../../library/itertools.rst:605 +#: ../../library/itertools.rst:607 msgid "" "A common use for *repeat* is to supply a stream of constant values to *map* " "or *zip*::" msgstr "" -#: ../../library/itertools.rst:613 +#: ../../library/itertools.rst:615 msgid "" "Make an iterator that computes the function using arguments obtained from " "the iterable. Used instead of :func:`map` when argument parameters are " @@ -813,38 +862,38 @@ msgid "" "equivalent to::" msgstr "" -#: ../../library/itertools.rst:627 +#: ../../library/itertools.rst:629 msgid "" "Make an iterator that returns elements from the iterable as long as the " "predicate is true. Roughly equivalent to::" msgstr "" -#: ../../library/itertools.rst:641 +#: ../../library/itertools.rst:643 msgid "Return *n* independent iterators from a single iterable." msgstr "" -#: ../../library/itertools.rst:643 +#: ../../library/itertools.rst:645 msgid "" "The following Python code helps explain what *tee* does (although the actual " "implementation is more complex and uses only a single underlying :abbr:`FIFO " "(first-in, first-out)` queue)." msgstr "" -#: ../../library/itertools.rst:664 +#: ../../library/itertools.rst:666 msgid "" "Once :func:`tee` has made a split, the original *iterable* should not be " "used anywhere else; otherwise, the *iterable* could get advanced without the " "tee objects being informed." msgstr "" -#: ../../library/itertools.rst:668 +#: ../../library/itertools.rst:670 msgid "" "``tee`` iterators are not threadsafe. A :exc:`RuntimeError` may be raised " "when using simultaneously iterators returned by the same :func:`tee` call, " "even if the original *iterable* is threadsafe." msgstr "" -#: ../../library/itertools.rst:672 +#: ../../library/itertools.rst:674 msgid "" "This itertool may require significant auxiliary storage (depending on how " "much temporary data needs to be stored). In general, if one iterator uses " @@ -852,7 +901,7 @@ msgid "" "func:`list` instead of :func:`tee`." msgstr "" -#: ../../library/itertools.rst:680 +#: ../../library/itertools.rst:682 msgid "" "Make an iterator that aggregates elements from each of the iterables. If the " "iterables are of uneven length, missing values are filled-in with " @@ -860,32 +909,41 @@ msgid "" "Roughly equivalent to::" msgstr "" -#: ../../library/itertools.rst:704 +#: ../../library/itertools.rst:706 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``." 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``." -#: ../../library/itertools.rst:713 +#: ../../library/itertools.rst:715 msgid "Itertools Recipes" msgstr "Receitas com itertools" -#: ../../library/itertools.rst:715 +#: ../../library/itertools.rst:717 msgid "" "This section shows recipes for creating an extended toolset using the " "existing itertools as building blocks." msgstr "" +"Esta seção mostra receitas para criação de um ferramental ampliado usando as " +"ferramentas existentes de itertools como elementos construtivos." -#: ../../library/itertools.rst:718 +#: ../../library/itertools.rst:720 msgid "" "Substantially all of these recipes and many, many others can be installed " "from the `more-itertools project `_ found on the Python Package Index::" msgstr "" +"Praticamente todas essas receitas e muitas, muitas outras podem ser " +"instaladas a partir do projeto `more-itertools `_ que pode ser encontrado no Indíce de Pacotes do Python::" -#: ../../library/itertools.rst:724 +#: ../../library/itertools.rst:726 msgid "" "The extended tools offer the same high performance as the underlying " "toolset. The superior memory performance is kept by processing elements one " diff --git a/library/json.po b/library/json.po index d5bbca199..08126fd72 100644 --- a/library/json.po +++ b/library/json.po @@ -1,33 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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 -# Ricardo Cappellano , 2021 -# Claudio Rogerio Carvalho Filho , 2021 -# Leticia Portella , 2021 -# Adorilson Bezerra , 2021 -# felipe caridade , 2021 -# i17obot , 2021 +# python-doc bot, 2025 # #, 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:08+0000\n" -"Last-Translator: i17obot , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:58+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/json.rst:2 msgid ":mod:`json` --- JSON encoder and decoder" @@ -39,21 +33,32 @@ 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]_ )." + +#: ../../library/json.rst:22 +msgid "" +"Be cautious when parsing JSON data from untrusted sources. A malicious JSON " +"string may cause the decoder to consume considerable CPU and memory " +"resources. Limiting the size of data to be parsed is recommended." 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]_ )." +"Tenha cuidado quando estiver analisando dados JSON de fontes não-confiáveis. " +"Uma string JSON maliciosa pode fazer o decodificador consumir recursos " +"consideráveis de CPU e memória. É recomendado limitar o tamanho do dado a " +"ser analisado." -#: ../../library/json.rst:21 +#: ../../library/json.rst:26 msgid "" ":mod:`json` exposes an API familiar to users of the standard library :mod:" "`marshal` and :mod:`pickle` modules." @@ -61,52 +66,52 @@ msgstr "" ":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:24 +#: ../../library/json.rst:29 msgid "Encoding basic Python object hierarchies::" msgstr "Codificação de hierarquias básicas de objetos Python::" -#: ../../library/json.rst:43 +#: ../../library/json.rst:48 msgid "Compact encoding::" msgstr "Codificação compacta::" -#: ../../library/json.rst:49 +#: ../../library/json.rst:54 msgid "Pretty printing::" msgstr "Saída bonita::" -#: ../../library/json.rst:58 +#: ../../library/json.rst:63 msgid "Decoding JSON::" msgstr "Decodificando JSON::" -#: ../../library/json.rst:70 +#: ../../library/json.rst:75 msgid "Specializing JSON object decoding::" msgstr "Especialização em decodificação de objeto JSON::" -#: ../../library/json.rst:85 +#: ../../library/json.rst:90 msgid "Extending :class:`JSONEncoder`::" msgstr "Estendendo :class:`JSONEncoder`::" -#: ../../library/json.rst:103 +#: ../../library/json.rst:108 msgid "Using :mod:`json.tool` from the shell to validate and pretty-print:" msgstr "" "Usando :mod:`json.tool` para validar a partir do console e exibir formatado:" -#: ../../library/json.rst:114 +#: ../../library/json.rst:119 msgid "See :ref:`json-commandline` for detailed documentation." msgstr "Veja :ref:`json-commandline` para a documentação detalhada." -#: ../../library/json.rst:118 +#: ../../library/json.rst:123 msgid "" -"JSON is a subset of `YAML `_ 1.2. The JSON produced by " +"JSON is a subset of `YAML `_ 1.2. The JSON produced by " "this module's default settings (in particular, the default *separators* " "value) is also a subset of YAML 1.0 and 1.1. This module can thus also be " "used as a YAML serializer." msgstr "" -"JSON é um subconjunto do `YAML `_ 1.2. O JSON gerado pelas " -"definições padrões desse módulo (particularmente, o valor padrão dos " +"JSON é um subconjunto do `YAML `_ 1.2. O JSON gerado " +"pelas definições padrões desse módulo (particularmente, o valor padrão dos " "*separadores*) é também um subconjunto do YAML 1.0 e 1.1. Esse módulo pode, " "portanto, também ser usado como serializador YAML." -#: ../../library/json.rst:125 +#: ../../library/json.rst:130 msgid "" "This module's encoders and decoders preserve input and output order by " "default. Order is only lost if the underlying containers are unordered." @@ -115,26 +120,11 @@ msgstr "" "saída por padrão. A ordem só é perdida se os contêineres subjacentes estão " "desordenados." -#: ../../library/json.rst:128 -msgid "" -"Prior to Python 3.7, :class:`dict` was not guaranteed to be ordered, so " -"inputs and outputs were typically scrambled unless :class:`collections." -"OrderedDict` was specifically requested. Starting with Python 3.7, the " -"regular :class:`dict` became order preserving, so it is no longer necessary " -"to specify :class:`collections.OrderedDict` for JSON generation and parsing." -msgstr "" -"Antes de Python 3.7, não era garantido que :class:`dict` estaria ordenado, " -"então as entradas e saídas eram tipicamente embaralhadas a menos que um :" -"class:`collections.OrderedDict` fosse especificamente requisitado. A partir " -"de Python 3.7, :class:`dict` comum passou a preservar a ordenação, não sendo " -"mais necessário especificar :class:`collections.OrderedDict` para a geração " -"e análise de JSON." - -#: ../../library/json.rst:137 +#: ../../library/json.rst:135 msgid "Basic Usage" msgstr "Uso básico" -#: ../../library/json.rst:144 +#: ../../library/json.rst:142 msgid "" "Serialize *obj* as a JSON formatted stream to *fp* (a ``.write()``-" "supporting :term:`file-like object`) using this :ref:`conversion table `. " +"conversão`." -#: ../../library/json.rst:148 +#: ../../library/json.rst:146 msgid "" "If *skipkeys* is true (default: ``False``), then dict keys that are not of a " "basic type (:class:`str`, :class:`int`, :class:`float`, :class:`bool`, " @@ -155,7 +145,7 @@ msgstr "" "`float`, :class:`bool`, ``None``) serão ignoradas ao invés de levantar uma " "exceção :exc:`TypeError`." -#: ../../library/json.rst:152 +#: ../../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." @@ -164,7 +154,7 @@ msgstr "" "class:`bytes`. Dessa forma, ``fp.write()`` precisa ter suporte para " "entradas :class:`str`." -#: ../../library/json.rst:156 ../../library/json.rst:429 +#: ../../library/json.rst:154 ../../library/json.rst:433 msgid "" "If *ensure_ascii* is true (the default), the output is guaranteed to have " "all incoming non-ASCII characters escaped. If *ensure_ascii* is false, " @@ -174,17 +164,17 @@ msgstr "" "todos os caracteres não ASCII que chegam escapados. Se *ensure_ascii* for " "falso, a saída desses caracteres ficará como está." -#: ../../library/json.rst:160 +#: ../../library/json.rst:158 msgid "" "If *check_circular* is false (default: ``True``), then the circular " "reference check for container types will be skipped and a circular reference " -"will result in an :exc:`OverflowError` (or worse)." +"will result in an :exc:`RecursionError` (or worse)." msgstr "" -"Se *check_circular* for falso (padrão: ``True``), então a checagem " +"Se *check_circular* for falso (padrão: ``True``), então a checagem de " "referência circular para tipos contêiner será ignorada e uma referência " -"circular resultará em uma exceção :exc:`OverflowError` (ou pior)." +"circular resultará em uma exceção :exc:`RecursionError` (ou pior)." -#: ../../library/json.rst:164 +#: ../../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``, " @@ -198,7 +188,7 @@ msgstr "" "`ValueError`. Se *allow_nan* for verdadeiro, seus equivalentes JavaScript " "(``NaN``, ``Infinity``, ``-Infinity``) serão usados." -#: ../../library/json.rst:170 ../../library/json.rst:448 +#: ../../library/json.rst:168 ../../library/json.rst:452 msgid "" "If *indent* is a non-negative integer or string, then JSON array elements " "and object members will be pretty-printed with that indent level. An indent " @@ -215,11 +205,11 @@ msgstr "" "*indent* for uma string (como ``\"\\t\"``), essa string será usada para " "indentar cada nível." -#: ../../library/json.rst:177 ../../library/json.rst:455 +#: ../../library/json.rst:175 ../../library/json.rst:459 msgid "Allow strings for *indent* in addition to integers." msgstr "Permite strings para *indent*, além de inteiros." -#: ../../library/json.rst:180 ../../library/json.rst:458 +#: ../../library/json.rst:178 ../../library/json.rst:462 msgid "" "If specified, *separators* should be an ``(item_separator, key_separator)`` " "tuple. The default is ``(', ', ': ')`` if *indent* is ``None`` and ``(',', " @@ -231,11 +221,11 @@ msgstr "" "``(',', ': ')`` caso contrário. Para pegar representação JSON mais compacta, " "você deve especificar ``(',', ':')`` para eliminar espaços em branco." -#: ../../library/json.rst:185 ../../library/json.rst:463 +#: ../../library/json.rst:183 ../../library/json.rst:467 msgid "Use ``(',', ': ')`` as default if *indent* is not ``None``." msgstr "Usa ``(',', ': ')`` como padrão se *indent* não for ``None``." -#: ../../library/json.rst:188 ../../library/json.rst:466 +#: ../../library/json.rst:186 ../../library/json.rst:470 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 " @@ -247,7 +237,7 @@ msgstr "" "codificável JSON do objeto ou levantar uma exceção :exc:`TypeError`. Se não " "for especificada, :exc:`TypeError` é levantada." -#: ../../library/json.rst:193 +#: ../../library/json.rst:191 msgid "" "If *sort_keys* is true (default: ``False``), then the output of dictionaries " "will be sorted by key." @@ -255,7 +245,7 @@ msgstr "" "Se *sort_keys* for verdadeiro (padrão: ``False``), então os dicionários da " "saída serão ordenados pela chave." -#: ../../library/json.rst:196 +#: ../../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 " @@ -266,14 +256,14 @@ msgstr "" "adicionais), especifique isso com argumento *cls*; caso contrário é usado :" "class:`JSONEncoder`." -#: ../../library/json.rst:200 ../../library/json.rst:273 +#: ../../library/json.rst:198 ../../library/json.rst:277 msgid "" "All optional parameters are now :ref:`keyword-only `." msgstr "" "Todos os parâmetros opcionais agora são :ref:`somente-nomeados `." -#: ../../library/json.rst:205 +#: ../../library/json.rst:203 msgid "" "Unlike :mod:`pickle` and :mod:`marshal`, JSON is not a framed protocol, so " "trying to serialize multiple objects with repeated calls to :func:`dump` " @@ -283,7 +273,7 @@ msgstr "" "datagrama, assim tentar serializar múltiplos objetos com chamadas repetidas " "para :func:`dump` usando o mesmo *fp* resultará em um arquivo JSON inválido." -#: ../../library/json.rst:214 +#: ../../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:" @@ -293,7 +283,7 @@ msgstr "" "`tabela de conversão `. Os argumentos têm o mesmo " "significado que na função :func:`dump`." -#: ../../library/json.rst:220 +#: ../../library/json.rst:218 msgid "" "Keys in key/value pairs of JSON are always of the type :class:`str`. When a " "dictionary is converted into JSON, all the keys of the dictionary are " @@ -307,7 +297,7 @@ msgstr "" "depois de volta para um dicionário, o dicionário pode não ser igual ao " "original. Isto é, ``loads(dumps(x)) != x`` se x tem chaves não strings." -#: ../../library/json.rst:229 +#: ../../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:" @@ -318,21 +308,21 @@ msgstr "" "para um objeto Python usando essa :ref:`tabela de conversão `." -#: ../../library/json.rst:233 +#: ../../library/json.rst:231 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)." msgstr "" "*object_hook* é uma função opcional que será chamada com o resultado de " -"qualquer objeto literal decodificado (um :class:`dict`). O valor do retorno " +"qualquer objeto literal decodificado (um :class:`dict`). O valor de retorno " "de *object_hook* será usado no lugar de :class:`dict`. Esse recurso pode ser " -"usado para implementar decodificadores personalizados (por exemplo, sugestão " -"para classes `JSON-RPC `_)." +"usado para implementar decodificadores personalizados (por exemplo, para " +"oferecer suporte a dicas de classe `JSON-RPC `_)." -#: ../../library/json.rst:239 +#: ../../library/json.rst:237 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 " @@ -347,11 +337,11 @@ msgstr "" "personalizados. Se *object_pairs_hook* também for definido, o " "*object_pairs_hook* terá prioridade." -#: ../../library/json.rst:245 ../../library/json.rst:344 +#: ../../library/json.rst:243 ../../library/json.rst:348 msgid "Added support for *object_pairs_hook*." msgstr "Adicionado suporte para *object_pairs_hook*." -#: ../../library/json.rst:248 ../../library/json.rst:347 +#: ../../library/json.rst:246 ../../library/json.rst:351 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)``. " @@ -363,7 +353,7 @@ msgstr "" "``float(num_str)``. Pode ser usado para qualquer outro tipo de dado ou " "analisador de pontos flutuante JSON (por exemplo, :class:`decimal.Decimal`)." -#: ../../library/json.rst:253 ../../library/json.rst:352 +#: ../../library/json.rst:251 ../../library/json.rst:356 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 " @@ -375,7 +365,18 @@ msgstr "" "ser usado para qualquer outro tipo de dado ou analisador de inteiros JSON " "(por exemplo, :class:`float`)." -#: ../../library/json.rst:258 ../../library/json.rst:357 +#: ../../library/json.rst:256 +msgid "" +"The default *parse_int* of :func:`int` now limits the maximum length of the " +"integer string via the interpreter's :ref:`integer string conversion length " +"limitation ` to help avoid denial of service attacks." +msgstr "" +"O *parse_int* padrão para :func:`int` agora limita o tamanho máximo da " +"string de inteiro via :ref:`limitação de comprimento de string na conversão " +"para inteiro ` do interpretador para ajudar a evitar " +"ataques por negação de serviço." + +#: ../../library/json.rst:262 ../../library/json.rst:361 msgid "" "*parse_constant*, if specified, will be called with one of the following " "strings: ``'-Infinity'``, ``'Infinity'``, ``'NaN'``. This can be used to " @@ -385,23 +386,23 @@ msgstr "" "strings: ``'-Infinity'``, ``'Infinity'``, ``'NaN'``. Isso pode ser usado " "para levantar uma exceção se forem encontrados números JSON inválidos." -#: ../../library/json.rst:263 +#: ../../library/json.rst:267 msgid "*parse_constant* doesn't get called on 'null', 'true', 'false' anymore." msgstr "*parse_constant* não é mais chamada para 'null', 'true', 'false'." -#: ../../library/json.rst:266 +#: ../../library/json.rst:270 msgid "" "To use a custom :class:`JSONDecoder` subclass, specify it with the ``cls`` " "kwarg; otherwise :class:`JSONDecoder` is used. Additional keyword arguments " "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:" +"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:270 ../../library/json.rst:288 -#: ../../library/json.rst:367 +#: ../../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." @@ -409,7 +410,7 @@ msgstr "" "Se os dados a serem desserializados não forem um documento JSON válido, será " "levantada uma exceção :exc:`JSONDecodeError`." -#: ../../library/json.rst:276 +#: ../../library/json.rst:280 msgid "" "*fp* can now be a :term:`binary file`. The input encoding should be UTF-8, " "UTF-16 or UTF-32." @@ -417,7 +418,7 @@ msgstr "" "*fp* agora pode ser um :term:`arquivo binário `. A entrada deve " "estar codificada como UTF-8, UTF-16 ou UTF-32." -#: ../../library/json.rst:282 +#: ../../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:" @@ -427,12 +428,12 @@ msgstr "" "`bytearray` contendo um documento JSON) para um objeto Python essa :ref:" "`tabela de conversão `." -#: ../../library/json.rst:286 +#: ../../library/json.rst:290 msgid "The other arguments have the same meaning as in :func:`load`." msgstr "" "Os outros argumentos têm o mesmo significado que os da função :func:`load`." -#: ../../library/json.rst:291 +#: ../../library/json.rst:295 msgid "" "*s* can now be of type :class:`bytes` or :class:`bytearray`. The input " "encoding should be UTF-8, UTF-16 or UTF-32." @@ -440,95 +441,95 @@ msgstr "" "*s* agora pode ser um do tipo :class:`bytes` ou :class:`bytearray`. A " "entrada deve estar codificado como UTF-8, UTF-16 ou UTF-32." -#: ../../library/json.rst:295 +#: ../../library/json.rst:299 msgid "The keyword argument *encoding* has been removed." msgstr "O argumento nomeado *encoding* foi removido." -#: ../../library/json.rst:300 +#: ../../library/json.rst:304 msgid "Encoders and Decoders" msgstr "Codificadores e decodificadores" -#: ../../library/json.rst:304 +#: ../../library/json.rst:308 msgid "Simple JSON decoder." msgstr "Decodificador JSON simples." -#: ../../library/json.rst:306 +#: ../../library/json.rst:310 msgid "Performs the following translations in decoding by default:" msgstr "Executa as seguintes traduções na decodificação por padrão:" -#: ../../library/json.rst:311 ../../library/json.rst:400 +#: ../../library/json.rst:315 ../../library/json.rst:404 msgid "JSON" msgstr "JSON" -#: ../../library/json.rst:311 ../../library/json.rst:400 +#: ../../library/json.rst:315 ../../library/json.rst:404 msgid "Python" msgstr "Python" -#: ../../library/json.rst:313 ../../library/json.rst:402 +#: ../../library/json.rst:317 ../../library/json.rst:406 msgid "object" -msgstr "object" +msgstr "objeto" -#: ../../library/json.rst:313 ../../library/json.rst:402 +#: ../../library/json.rst:317 ../../library/json.rst:406 msgid "dict" msgstr "dict" -#: ../../library/json.rst:315 ../../library/json.rst:404 +#: ../../library/json.rst:319 ../../library/json.rst:408 msgid "array" msgstr "array" -#: ../../library/json.rst:315 +#: ../../library/json.rst:319 msgid "list" msgstr "lista" -#: ../../library/json.rst:317 ../../library/json.rst:406 +#: ../../library/json.rst:321 ../../library/json.rst:410 msgid "string" msgstr "string" -#: ../../library/json.rst:317 ../../library/json.rst:406 +#: ../../library/json.rst:321 ../../library/json.rst:410 msgid "str" msgstr "str" -#: ../../library/json.rst:319 +#: ../../library/json.rst:323 msgid "number (int)" -msgstr "number (int)" +msgstr "número (inteiro)" -#: ../../library/json.rst:319 +#: ../../library/json.rst:323 msgid "int" msgstr "int" -#: ../../library/json.rst:321 +#: ../../library/json.rst:325 msgid "number (real)" -msgstr "number (real)" +msgstr "número (real)" -#: ../../library/json.rst:321 +#: ../../library/json.rst:325 msgid "float" -msgstr "float" +msgstr "ponto flutuante" -#: ../../library/json.rst:323 ../../library/json.rst:410 +#: ../../library/json.rst:327 ../../library/json.rst:414 msgid "true" msgstr "true" -#: ../../library/json.rst:323 ../../library/json.rst:410 +#: ../../library/json.rst:327 ../../library/json.rst:414 msgid "True" msgstr "True" -#: ../../library/json.rst:325 ../../library/json.rst:412 +#: ../../library/json.rst:329 ../../library/json.rst:416 msgid "false" msgstr "false" -#: ../../library/json.rst:325 ../../library/json.rst:412 +#: ../../library/json.rst:329 ../../library/json.rst:416 msgid "False" msgstr "False" -#: ../../library/json.rst:327 ../../library/json.rst:414 +#: ../../library/json.rst:331 ../../library/json.rst:418 msgid "null" msgstr "null" -#: ../../library/json.rst:327 ../../library/json.rst:414 +#: ../../library/json.rst:331 ../../library/json.rst:418 msgid "None" msgstr "None" -#: ../../library/json.rst:330 +#: ../../library/json.rst:334 msgid "" "It also understands ``NaN``, ``Infinity``, and ``-Infinity`` as their " "corresponding ``float`` values, which is outside the JSON spec." @@ -536,20 +537,20 @@ msgstr "" "Ele também entende ``NaN``, ``Infinity`` e ``-Infinity`` como seus valores " "``float`` correspondentes, que estão fora da especificação JSON." -#: ../../library/json.rst:333 +#: ../../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)." +"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 `_)" +"(por exemplo, para oferecer suporte a dicas de classe `JSON-RPC `_)." -#: ../../library/json.rst:338 +#: ../../library/json.rst:342 msgid "" "*object_pairs_hook*, if specified will be called with the result of every " "JSON object decoded with an ordered list of pairs. The return value of " @@ -563,7 +564,7 @@ msgstr "" "pode ser usado para implementar decodificadores personalizados. Se " "*object_hook* também for definido, o *object_pairs_hook* terá prioridade." -#: ../../library/json.rst:362 +#: ../../library/json.rst:366 msgid "" "If *strict* is false (``True`` is the default), then control characters will " "be allowed inside strings. Control characters in this context are those " @@ -575,13 +576,13 @@ msgstr "" "aqueles com códigos de caracteres no intervalo 0--31, incluindo ``'\\t'`` " "(tab), ``'\\n'``, ``'\\r'`` e ``'\\0'``." -#: ../../library/json.rst:370 ../../library/json.rst:471 +#: ../../library/json.rst:374 ../../library/json.rst:475 msgid "All parameters are now :ref:`keyword-only `." msgstr "" "Todos os parâmetros agora são :ref:`somente-nomeado `." -#: ../../library/json.rst:375 +#: ../../library/json.rst:379 msgid "" "Return the Python representation of *s* (a :class:`str` instance containing " "a JSON document)." @@ -589,7 +590,7 @@ msgstr "" "Retorna a representação Python de *s* (uma instância :class:`str` contendo " "um documento JSON)." -#: ../../library/json.rst:378 +#: ../../library/json.rst:382 msgid "" ":exc:`JSONDecodeError` will be raised if the given JSON document is not " "valid." @@ -597,7 +598,7 @@ msgstr "" "Uma exceção :exc:`JSONDecodeError` será levantada se o documento JSON " "fornecido não for válido." -#: ../../library/json.rst:383 +#: ../../library/json.rst:387 msgid "" "Decode a JSON document from *s* (a :class:`str` beginning with a JSON " "document) and return a 2-tuple of the Python representation and the index in " @@ -607,7 +608,7 @@ msgstr "" "um documento JSON) e retornando uma tupla de 2 elementos, a representação " "Python e o índice em *s* onde o documento finaliza." -#: ../../library/json.rst:387 +#: ../../library/json.rst:391 msgid "" "This can be used to decode a JSON document from a string that may have " "extraneous data at the end." @@ -615,31 +616,31 @@ msgstr "" "Isso pode ser usado para decodificar um documento JSON a partir de uma " "string que possa ter dados extras ao final." -#: ../../library/json.rst:393 +#: ../../library/json.rst:397 msgid "Extensible JSON encoder for Python data structures." msgstr "Codificador JSON extensível para estruturas de dados Python." -#: ../../library/json.rst:395 +#: ../../library/json.rst:399 msgid "Supports the following objects and types by default:" msgstr "Por padrão, possui suporte para os seguintes objetos e tipos:" -#: ../../library/json.rst:404 +#: ../../library/json.rst:408 msgid "list, tuple" msgstr "list, tuple" -#: ../../library/json.rst:408 +#: ../../library/json.rst:412 msgid "int, float, int- & float-derived Enums" msgstr "int, float e Enums derivados de int e float" -#: ../../library/json.rst:408 +#: ../../library/json.rst:412 msgid "number" -msgstr "number" +msgstr "número" -#: ../../library/json.rst:417 +#: ../../library/json.rst:421 msgid "Added support for int- and float-derived Enum classes." msgstr "Adicionado suporte para classes Enum derivadas de int e float." -#: ../../library/json.rst:420 +#: ../../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 " @@ -651,7 +652,7 @@ msgstr "" "serializável para ``o`` se possível, caso contrário deveria chamar a " "implementação da superclasse (para levantar :exc:`TypeError`)." -#: ../../library/json.rst:425 +#: ../../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:" @@ -662,20 +663,20 @@ msgstr "" "`int`, :class:`float` ou ``None``. Se *skipkeys* é verdadeiro, esses itens " "são simplesmente pulados." -#: ../../library/json.rst:433 +#: ../../library/json.rst:437 msgid "" "If *check_circular* is true (the default), then lists, dicts, and custom " "encoded objects will be checked for circular references during encoding to " -"prevent an infinite recursion (which would cause an :exc:`OverflowError`). " +"prevent an infinite recursion (which would cause an :exc:`RecursionError`). " "Otherwise, no such check takes place." msgstr "" "Se *check_circular* é verdadeiro (o padrão), então listas, dicionários e " "objetos codificados personalizados serão verificados por referências " "circulares durante a codificação para prevenir uma recursão infinita (que " -"iria causar uma :exc:`OverflowError`). Caso contrário, nenhuma verificação " +"iria causar uma :exc:`RecursionError`). Caso contrário, nenhuma verificação " "será feita." -#: ../../library/json.rst:438 +#: ../../library/json.rst:442 msgid "" "If *allow_nan* is true (the default), then ``NaN``, ``Infinity``, and ``-" "Infinity`` will be encoded as such. This behavior is not JSON specification " @@ -688,7 +689,7 @@ msgstr "" "codificadores e decodificadores baseados em JavaScript. Caso contrário, será " "levantada uma :exc:`ValueError` para tais pontos flutuantes." -#: ../../library/json.rst:444 +#: ../../library/json.rst:448 msgid "" "If *sort_keys* is true (default: ``False``), then the output of dictionaries " "will be sorted by key; this is useful for regression tests to ensure that " @@ -699,7 +700,7 @@ msgstr "" "para certificar-se que as serializações de JSON possam ser comparadas com " "uma base no dia a dia." -#: ../../library/json.rst:477 +#: ../../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:" @@ -709,7 +710,7 @@ msgstr "" "para *o* ou que chame a implementação base (para levantar uma :exc:" "`TypeError`)." -#: ../../library/json.rst:481 +#: ../../library/json.rst:485 msgid "" "For example, to support arbitrary iterators, you could implement :meth:" "`default` like this::" @@ -717,7 +718,7 @@ msgstr "" "Por exemplo, para suporte a iteradores arbitrários, você poderia " "implementar :meth:`default` dessa forma::" -#: ../../library/json.rst:497 +#: ../../library/json.rst:501 msgid "" "Return a JSON string representation of a Python data structure, *o*. For " "example::" @@ -725,7 +726,7 @@ msgstr "" "Retorna uma string representando um JSON a partir da estrutura de dados " "Python, *o*. Por exemplo::" -#: ../../library/json.rst:506 +#: ../../library/json.rst:510 msgid "" "Encode the given object, *o*, and yield each string representation as " "available. For example::" @@ -733,53 +734,54 @@ msgstr "" "Codifica o objeto dado, *o*, e produz cada representação em string assim que " "disponível. Por exemplo::" -#: ../../library/json.rst:514 +#: ../../library/json.rst:518 msgid "Exceptions" msgstr "Exceções" -#: ../../library/json.rst:518 +#: ../../library/json.rst:522 msgid "Subclass of :exc:`ValueError` with the following additional attributes:" msgstr "Subclasse de :exc:`ValueError` com os seguintes atributos adicionais:" -#: ../../library/json.rst:522 +#: ../../library/json.rst:526 msgid "The unformatted error message." msgstr "A mensagem de erro não formatada." -#: ../../library/json.rst:526 +#: ../../library/json.rst:530 msgid "The JSON document being parsed." msgstr "O documento JSON sendo analisado." -#: ../../library/json.rst:530 +#: ../../library/json.rst:534 msgid "The start index of *doc* where parsing failed." msgstr "O índice inicial de *doc* em que a análise falhou." -#: ../../library/json.rst:534 +#: ../../library/json.rst:538 msgid "The line corresponding to *pos*." msgstr "A linha correspondente a *pos*." -#: ../../library/json.rst:538 +#: ../../library/json.rst:542 msgid "The column corresponding to *pos*." msgstr "A coluna correspondente a *pos*." -#: ../../library/json.rst:544 +#: ../../library/json.rst:548 msgid "Standard Compliance and Interoperability" msgstr "Conformidade e interoperabilidade entre padrões" -#: ../../library/json.rst:546 +#: ../../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:552 +#: ../../library/json.rst:556 msgid "" "This module does not comply with the RFC in a strict fashion, implementing " "some extensions that are valid JavaScript but not valid JSON. In particular:" @@ -788,11 +790,11 @@ msgstr "" "implementando algumas extensões que são JavaScript válidas, mas não JSON " "válido. Em particular:" -#: ../../library/json.rst:555 +#: ../../library/json.rst:559 msgid "Infinite and NaN number values are accepted and output;" msgstr "Os valores de números infinitos e NaN são aceitos e produzidos;" -#: ../../library/json.rst:556 +#: ../../library/json.rst:560 msgid "" "Repeated names within an object are accepted, and only the value of the last " "name-value pair is used." @@ -800,7 +802,7 @@ msgstr "" "Nomes repetidos em um objeto são aceitos e apenas o valor do último par nome-" "valor é usado." -#: ../../library/json.rst:559 +#: ../../library/json.rst:563 msgid "" "Since the RFC permits RFC-compliant parsers to accept input texts that are " "not RFC-compliant, this module's deserializer is technically RFC-compliant " @@ -810,11 +812,11 @@ msgstr "" "textos de entrada que não sejam compatíveis com a RFC, o desserializador " "deste módulo é tecnicamente compatível com a RFC nas configurações padrão." -#: ../../library/json.rst:564 +#: ../../library/json.rst:568 msgid "Character Encodings" msgstr "Codificações de caracteres" -#: ../../library/json.rst:566 +#: ../../library/json.rst:570 msgid "" "The RFC requires that JSON be represented using either UTF-8, UTF-16, or " "UTF-32, with UTF-8 being the recommended default for maximum " @@ -823,7 +825,7 @@ msgstr "" "A RFC requer que JSON seja representado usando UTF-8, UTF-16 ou UTF-32, com " "UTF-8 sendo o padrão recomendado para interoperabilidade máxima." -#: ../../library/json.rst:569 +#: ../../library/json.rst:573 msgid "" "As permitted, though not required, by the RFC, this module's serializer sets " "*ensure_ascii=True* by default, thus escaping the output so that the " @@ -833,7 +835,7 @@ msgstr "" "módulo define *ensure_ascii=True* por padrão, escapando a saída para que as " "strings resultantes contenham apenas caracteres ASCII." -#: ../../library/json.rst:573 +#: ../../library/json.rst:577 msgid "" "Other than the *ensure_ascii* parameter, this module is defined strictly in " "terms of conversion between Python objects and :class:`Unicode strings " @@ -844,7 +846,7 @@ msgstr "" "termos de conversão entre objetos Python e :class:`strings Unicode ` e, " "portanto, não aborda diretamente o problema de codificação de caracteres." -#: ../../library/json.rst:578 +#: ../../library/json.rst:582 msgid "" "The RFC prohibits adding a byte order mark (BOM) to the start of a JSON " "text, and this module's serializer does not add a BOM to its output. The RFC " @@ -859,7 +861,7 @@ msgstr "" "desserializador deste módulo levanta uma :exc:`ValueError` quando um BOM " "inicial está presente." -#: ../../library/json.rst:584 +#: ../../library/json.rst:588 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 " @@ -873,11 +875,11 @@ msgstr "" "de interoperabilidade. Por padrão, este módulo aceita e produz (quando " "presente no original :class:`str`) pontos de código para tais sequências." -#: ../../library/json.rst:592 +#: ../../library/json.rst:596 msgid "Infinite and NaN Number Values" msgstr "Valores numéricos infinitos e NaN" -#: ../../library/json.rst:594 +#: ../../library/json.rst:598 msgid "" "The RFC does not permit the representation of infinite or NaN number values. " "Despite that, by default, this module accepts and outputs ``Infinity``, ``-" @@ -887,7 +889,7 @@ msgstr "" "Apesar disso, por padrão, este módulo aceita e produz ``Infinity``, ``-" "Infinity`` e ``NaN`` como se fossem valores literais de número JSON válidos::" -#: ../../library/json.rst:609 +#: ../../library/json.rst:613 msgid "" "In the serializer, the *allow_nan* parameter can be used to alter this " "behavior. In the deserializer, the *parse_constant* parameter can be used " @@ -897,11 +899,11 @@ msgstr "" "comportamento. No desserializador, o parâmetro *parse_constant* pode ser " "usado para alterar esse comportamento." -#: ../../library/json.rst:615 +#: ../../library/json.rst:619 msgid "Repeated Names Within an Object" msgstr "Nomes repetidos dentro de um objeto" -#: ../../library/json.rst:617 +#: ../../library/json.rst:621 msgid "" "The RFC specifies that the names within a JSON object should be unique, but " "does not mandate how repeated names in JSON objects should be handled. By " @@ -913,17 +915,17 @@ msgstr "" "Por padrão, este módulo não levanta uma exceção; em vez disso, ele ignora " "tudo, exceto o último par nome-valor para um determinado nome::" -#: ../../library/json.rst:626 +#: ../../library/json.rst:630 msgid "The *object_pairs_hook* parameter can be used to alter this behavior." msgstr "" "O parâmetro *object_pairs_hook* pode ser usado para alterar este " "comportamento." -#: ../../library/json.rst:630 +#: ../../library/json.rst:634 msgid "Top-level Non-Object, Non-Array Values" msgstr "Valores não objeto e não vetor de nível superior" -#: ../../library/json.rst:632 +#: ../../library/json.rst:636 msgid "" "The old version of JSON specified by the obsolete :rfc:`4627` required that " "the top-level value of a JSON text must be either a JSON object or array " @@ -939,7 +941,7 @@ msgstr "" "não tem nenhuma implementação que faça essa restrição, seja em seus " "serializadores, sejam nos desserializadores." -#: ../../library/json.rst:639 +#: ../../library/json.rst:643 msgid "" "Regardless, for maximum interoperability, you may wish to voluntarily adhere " "to the restriction yourself." @@ -947,32 +949,32 @@ msgstr "" "Independentemente, para máxima interoperabilidade, você pode querer aderir " "voluntariamente à restrição." -#: ../../library/json.rst:644 +#: ../../library/json.rst:648 msgid "Implementation Limitations" msgstr "Limitações de implementação" -#: ../../library/json.rst:646 +#: ../../library/json.rst:650 msgid "Some JSON deserializer implementations may set limits on:" msgstr "" "Algumas implementações de desserializadores JSON podem definir limites em:" -#: ../../library/json.rst:648 +#: ../../library/json.rst:652 msgid "the size of accepted JSON texts" msgstr "o tamanho de textos JSON aceitos" -#: ../../library/json.rst:649 +#: ../../library/json.rst:653 msgid "the maximum level of nesting of JSON objects and arrays" msgstr "o nível máximo de aninhamento de objetos e vetores JSON" -#: ../../library/json.rst:650 +#: ../../library/json.rst:654 msgid "the range and precision of JSON numbers" msgstr "o intervalo e a precisão de números JSON" -#: ../../library/json.rst:651 +#: ../../library/json.rst:655 msgid "the content and maximum length of JSON strings" msgstr "o conteúdo e o tamanho máximo de strings JSON" -#: ../../library/json.rst:653 +#: ../../library/json.rst:657 msgid "" "This module does not impose any such limits beyond those of the relevant " "Python datatypes themselves or the Python interpreter itself." @@ -980,7 +982,7 @@ msgstr "" "Esse módulo não impõe nenhum limite além daqueles já colocados pelas " "estruturas de dados Python ou pelo interpretador Python em si." -#: ../../library/json.rst:656 +#: ../../library/json.rst:660 msgid "" "When serializing to JSON, beware any such limitations in applications that " "may consume your JSON. In particular, it is common for JSON numbers to be " @@ -999,15 +1001,15 @@ msgstr "" "serializando instâncias de tipos numéricos \"exóticos\" como :class:`decimal." "Decimal`." -#: ../../library/json.rst:669 +#: ../../library/json.rst:673 msgid "Command Line Interface" msgstr "Interface de linha de comando" -#: ../../library/json.rst:674 +#: ../../library/json.rst:678 msgid "**Source code:** :source:`Lib/json/tool.py`" msgstr "**Código-fonte:** :source:`Lib/json/tool.py`" -#: ../../library/json.rst:678 +#: ../../library/json.rst:682 msgid "" "The :mod:`json.tool` module provides a simple command line interface to " "validate and pretty-print JSON objects." @@ -1015,7 +1017,7 @@ msgstr "" "O módulo :mod:`json.tool` fornece uma interface de linha de comando simples " "para validação e embelezamento de saída para objetos JSON." -#: ../../library/json.rst:681 +#: ../../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:" @@ -1024,7 +1026,7 @@ msgstr "" "especificados, :attr:`sys.stdin` e :attr:`sys.stdout` serão usados " "respectivamente:" -#: ../../library/json.rst:693 +#: ../../library/json.rst:697 msgid "" "The output is now in the same order as the input. Use the :option:`--sort-" "keys` option to sort the output of dictionaries alphabetically by key." @@ -1032,19 +1034,19 @@ msgstr "" "A saída agora está na mesma ordem da entrada. Use a opção :option:`--sort-" "keys` para ordenar a saída de dicionários alfabeticamente pela chave." -#: ../../library/json.rst:700 +#: ../../library/json.rst:704 msgid "Command line options" msgstr "Opções da linha de comando" -#: ../../library/json.rst:704 +#: ../../library/json.rst:708 msgid "The JSON file to be validated or pretty-printed:" msgstr "O arquivo JSON para ser validado ou saída embelezada:" -#: ../../library/json.rst:720 +#: ../../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`." -#: ../../library/json.rst:724 +#: ../../library/json.rst:728 msgid "" "Write the output of the *infile* to the given *outfile*. Otherwise, write it " "to :attr:`sys.stdout`." @@ -1052,11 +1054,11 @@ msgstr "" "Escreve a saída de *infile* para o *outfile* dado. Caso contrário, escreve " "em :attr:`sys.stdout`." -#: ../../library/json.rst:729 +#: ../../library/json.rst:733 msgid "Sort the output of dictionaries alphabetically by key." msgstr "Ordena a saída de dicionários alfabeticamente pela chave." -#: ../../library/json.rst:735 +#: ../../library/json.rst:739 msgid "" "Disable escaping of non-ascii characters, see :func:`json.dumps` for more " "information." @@ -1064,23 +1066,23 @@ msgstr "" "Desabilita escape de caracteres não-ascii, veja :func:`json.dumps` para mais " "informações." -#: ../../library/json.rst:741 +#: ../../library/json.rst:745 msgid "Parse every input line as separate JSON object." msgstr "Analisa cada linha da entrada como um objeto JSON separado." -#: ../../library/json.rst:747 +#: ../../library/json.rst:751 msgid "Mutually exclusive options for whitespace control." msgstr "Opções mutualmente exclusivas para controle de espaços em branco." -#: ../../library/json.rst:753 +#: ../../library/json.rst:757 msgid "Show the help message." msgstr "Exibe a mensagem de ajuda." -#: ../../library/json.rst:757 +#: ../../library/json.rst:761 msgid "Footnotes" msgstr "Notas de rodapé" -#: ../../library/json.rst:758 +#: ../../library/json.rst:762 msgid "" "As noted in `the errata for RFC 7159 `_, JSON permits literal U+2028 (LINE SEPARATOR) " diff --git a/library/keyword.po b/library/keyword.po index 7c00e5732..78ce49a66 100644 --- a/library/keyword.po +++ b/library/keyword.po @@ -1,27 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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.10\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-06-29 12:56+0000\n" -"PO-Revision-Date: 2021-06-28 01:08+0000\n" -"Last-Translator: Hildeberto Abreu Magalhães , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:58+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/keyword.rst:2 msgid ":mod:`keyword` --- Testing for Python keywords" @@ -34,10 +34,11 @@ 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 `." +"`keyword ` or :ref:`soft keyword `." msgstr "" -"Este módulo permite que um programa Python determine se uma string é uma :" -"ref:`palavra reservada `." +"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 `." @@ -57,19 +58,19 @@ msgstr "" "efeito, estas serão incluídas também." #: ../../library/keyword.rst:29 -msgid "Return ``True`` if *s* is a Python soft :ref:`keyword `." +msgid "Return ``True`` if *s* is a Python :ref:`soft keyword `." msgstr "" -"Retorna ``True`` se *s* for uma :ref:`palavra reservada ` suave do " -"Python." +"Retorna ``True`` se *s* for uma :ref:`palavra reservada contextual ` do Python." #: ../../library/keyword.rst:36 msgid "" -"Sequence containing all the soft :ref:`keywords ` defined for the " -"interpreter. If any soft keywords are defined to only be active when " +"Sequence containing all the :ref:`soft keywords ` defined for " +"the interpreter. If any soft 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 ` suaves " -"definidas para o interpretador. Se alguma palavra reservada suave estiver " -"definida para apenas estar ativa quando instruções :mod:`__future__` " -"específicas tiverem efeito, estas serão incluídas também." +"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 fa3d81db3..c001355f5 100644 --- a/library/language.po +++ b/library/language.po @@ -1,28 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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.10\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-06-29 12:56+0000\n" -"PO-Revision-Date: 2021-06-28 01:08+0000\n" -"Last-Translator: Claudio Rogerio Carvalho Filho , " -"2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:58+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/language.rst:5 msgid "Python Language Services" diff --git a/library/linecache.po b/library/linecache.po index 7d605cba2..fb73f7191 100644 --- a/library/linecache.po +++ b/library/linecache.po @@ -1,28 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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 -# Sheila Gomes , 2021 -# Italo Penaforte , 2021 +# python-doc bot, 2025 # #, 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:08+0000\n" -"Last-Translator: Italo Penaforte , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:58+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/linecache.rst:2 msgid ":mod:`linecache` --- Random access to text lines" diff --git a/library/locale.po b/library/locale.po index 98dd6ae1c..169a6c678 100644 --- a/library/locale.po +++ b/library/locale.po @@ -1,30 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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 -# Welington Carlos , 2021 -# Claudio Rogerio Carvalho Filho , 2021 -# Italo Penaforte , 2021 -# Rafael Fontenelle , 2021 +# python-doc bot, 2025 # #, 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:08+0000\n" -"Last-Translator: Rafael Fontenelle , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:58+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/locale.rst:2 msgid ":mod:`locale` --- Internationalization services" @@ -310,7 +307,7 @@ msgstr "Valor" #: ../../library/locale.rst:130 msgid "Explanation" -msgstr "Explanação" +msgstr "Explicação" #: ../../library/locale.rst:132 msgid "``0``" @@ -362,7 +359,7 @@ msgstr "Nada é especificado nesta localidade." #: ../../library/locale.rst:150 msgid "" -"The function sets temporarily the ``LC_CTYPE`` locale to the ``LC_NUMERIC`` " +"The function temporarily sets the ``LC_CTYPE`` locale to the ``LC_NUMERIC`` " "locale or the ``LC_MONETARY`` locale if locales are different and numeric or " "monetary strings are non-ASCII. This temporary change affects other threads." msgstr "" @@ -373,7 +370,7 @@ msgstr "" #: ../../library/locale.rst:154 msgid "" -"The function now sets temporarily the ``LC_CTYPE`` locale to the " +"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 " @@ -488,21 +485,23 @@ msgstr "" #: ../../library/locale.rst:232 msgid "" -"The expression is in the syntax suitable for the :c:func:`regex` function " -"from the C library, which might differ from the syntax used in :mod:`re`." -msgstr "" -"A expressão está na sintaxe adequada para a função :c:func:`regex` da " -"biblioteca C, que pode ser diferente da sintaxe usada em :mod:`re`." - -#: ../../library/locale.rst:237 -msgid "" "Get a regular expression that can be used with the regex(3) function to " "recognize a negative response to a yes/no question." msgstr "" "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:242 +#: ../../library/locale.rst:237 +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`." +msgstr "" +"As expressões regulares para :const:`YESEXPR` e :const:`NOEXPR` usam uma " +"sintaxe adequada para a função :c:func:`regex` da biblioteca C, que pode ser " +"diferente da sintaxe usada em :mod:`re`." + +#: ../../library/locale.rst:244 msgid "" "Get the currency symbol, preceded by \"-\" if the symbol should appear " "before the value, \"+\" if the symbol should appear after the value, or \"." @@ -512,11 +511,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:248 +#: ../../library/locale.rst:250 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:250 +#: ../../library/locale.rst:252 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 " @@ -527,7 +526,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:255 +#: ../../library/locale.rst:257 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` " @@ -541,7 +540,7 @@ msgstr "" "especificado e, portanto, você não deve presumir que tem conhecimento dele " "em sistemas diferentes." -#: ../../library/locale.rst:263 +#: ../../library/locale.rst:265 msgid "" "Get a format string for :func:`time.strftime` to represent date and time in " "a locale-specific era-based way." @@ -549,7 +548,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:268 +#: ../../library/locale.rst:270 msgid "" "Get a format string for :func:`time.strftime` to represent a date in a " "locale-specific era-based way." @@ -557,7 +556,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:273 +#: ../../library/locale.rst:275 msgid "" "Get a format string for :func:`time.strftime` to represent a time in a " "locale-specific era-based way." @@ -565,7 +564,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:278 +#: ../../library/locale.rst:280 msgid "" "Get a representation of up to 100 values used to represent the values 0 to " "99." @@ -573,7 +572,7 @@ msgstr "" "Obtém uma representação de até 100 valores usada para representar os valores " "de 0 a 99." -#: ../../library/locale.rst:284 +#: ../../library/locale.rst:286 msgid "" "Tries to determine the default locale settings and returns them as a tuple " "of the form ``(language code, encoding)``." @@ -581,7 +580,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:287 +#: ../../library/locale.rst:289 msgid "" "According to POSIX, a program which has not called ``setlocale(LC_ALL, '')`` " "runs using the portable ``'C'`` locale. Calling ``setlocale(LC_ALL, '')`` " @@ -595,7 +594,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:293 +#: ../../library/locale.rst:295 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 " @@ -612,7 +611,7 @@ msgstr "" "contém ``'LC_ALL'``, ``'LC_CTYPE'``, ``'LANG'`` e ``'LANGUAGE'``, nesta " "ordem." -#: ../../library/locale.rst:300 ../../library/locale.rst:311 +#: ../../library/locale.rst:302 ../../library/locale.rst:313 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 " @@ -622,7 +621,7 @@ msgstr "" "*language code* e *encoding* podem ser ``None`` se seus valores não puderem " "ser determinados." -#: ../../library/locale.rst:307 +#: ../../library/locale.rst:309 msgid "" "Returns the current setting for the given locale category as sequence " "containing *language code*, *encoding*. *category* may be one of the :const:" @@ -633,7 +632,7 @@ msgstr "" "dos valores :const:`LC_\\*`, exceto :const:`LC_ALL`. O padrão é :const:" "`LC_CTYPE`." -#: ../../library/locale.rst:318 +#: ../../library/locale.rst:320 msgid "" "Return the :term:`locale encoding` used for text data, according to user " "preferences. User preferences are expressed differently on different " @@ -646,7 +645,7 @@ msgstr "" "disponíveis programaticamente em alguns sistemas, portanto, essa função " "retorna apenas uma estimativa." -#: ../../library/locale.rst:323 +#: ../../library/locale.rst:325 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 " @@ -657,7 +656,7 @@ msgstr "" "invocar setlocale não for necessário ou desejado, *do_setlocale* deve ser " "definido como ``False``." -#: ../../library/locale.rst:327 +#: ../../library/locale.rst:329 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* " @@ -667,7 +666,7 @@ msgstr "" "sempre retorna ``'UTF-8'``, a :term:`codificação da localidade` e o " "argumento *do_setlocale* são ignorados." -#: ../../library/locale.rst:331 +#: ../../library/locale.rst:333 msgid "" "The :ref:`Python preinitialization ` configures the LC_CTYPE " "locale. See also the :term:`filesystem encoding and error handler`." @@ -676,7 +675,7 @@ msgstr "" "LC_CTYPE. Veja também :term:`tratador de erros e codificação do sistema de " "arquivos`." -#: ../../library/locale.rst:334 +#: ../../library/locale.rst:336 msgid "" "The function now always returns ``UTF-8`` on Android or if the :ref:`Python " "UTF-8 Mode ` is enabled." @@ -684,7 +683,7 @@ 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:341 +#: ../../library/locale.rst:343 msgid "" "Returns a normalized locale code for the given locale name. The returned " "locale code is formatted for use with :func:`setlocale`. If normalization " @@ -695,7 +694,7 @@ msgstr "" "`setlocale`. Se a normalização falhar, o nome original será retornado " "inalterado." -#: ../../library/locale.rst:345 +#: ../../library/locale.rst:347 msgid "" "If the given encoding is not known, the function defaults to the default " "encoding for the locale code just like :func:`setlocale`." @@ -703,19 +702,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:351 +#: ../../library/locale.rst:353 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:353 +#: ../../library/locale.rst:355 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:359 +#: ../../library/locale.rst:361 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 " @@ -727,7 +726,7 @@ msgstr "" "positivo, ou ``0``, dependendo se *string1* agrupa antes ou depois de " "*string2* ou é igual a ele." -#: ../../library/locale.rst:367 +#: ../../library/locale.rst:369 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, " @@ -740,19 +739,19 @@ msgstr "" "mesma string é comparada repetidamente, por exemplo, ao agrupar uma " "sequência de strings." -#: ../../library/locale.rst:376 +#: ../../library/locale.rst:378 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." +"is ``True``, also takes the grouping into account." msgstr "" -"Formata um número *val* de acordo com a configuração atual de :const:" +"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 verdadeiro, também leva o agrupamento em consideração." +"*grouping* for ``True``, também levará em conta o agrupamento." -#: ../../library/locale.rst:381 +#: ../../library/locale.rst:383 msgid "" "If *monetary* is true, the conversion uses monetary thousands separator and " "grouping strings." @@ -760,7 +759,7 @@ msgstr "" "Se *monetary* for verdadeiro, a conversão usa o separador de milhares " "monetários e strings de agrupamento." -#: ../../library/locale.rst:384 +#: ../../library/locale.rst:386 msgid "" "Processes formatting specifiers as in ``format % val``, but takes the " "current locale settings into account." @@ -768,11 +767,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:387 +#: ../../library/locale.rst:389 msgid "The *monetary* keyword parameter was added." msgstr "O parâmetro nomeado *monetary* foi adicionado." -#: ../../library/locale.rst:393 +#: ../../library/locale.rst:395 msgid "" "Please note that this function works like :meth:`format_string` but will " "only work for exactly one ``%char`` specifier. For example, ``'%f'`` and " @@ -782,15 +781,15 @@ 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:397 +#: ../../library/locale.rst:399 msgid "For whole format strings, use :func:`format_string`." msgstr "Para strings de formato inteiras, use :func:`format_string`." -#: ../../library/locale.rst:399 +#: ../../library/locale.rst:401 msgid "Use :meth:`format_string` instead." msgstr "Use :meth:`format_string`." -#: ../../library/locale.rst:405 +#: ../../library/locale.rst:407 msgid "" "Formats a number *val* according to the current :const:`LC_MONETARY` " "settings." @@ -798,27 +797,27 @@ msgstr "" "Formata um número *val* de acordo com as configurações atuais de :const:" "`LC_MONETARY`." -#: ../../library/locale.rst:407 +#: ../../library/locale.rst:409 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." +"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 verdadeiro (o que não é o padrão), o " -"agrupamento é feito com o valor. Se *international* for verdadeiro (o que " -"não é o padrão), o símbolo da moeda internacional será usado." +"é 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:412 +#: ../../library/locale.rst:416 msgid "" -"Note that this function will not work with the 'C' locale, so you have to " -"set a locale via :func:`setlocale` first." +"This function will not work with the 'C' locale, so you have to set a locale " +"via :func:`setlocale` first." msgstr "" -"Observe que esta função não funcionará com a localidade 'C', então você deve " -"definir uma localidade via :func:`setlocale` primeiro." +"Esta função não funcionará com a localidade 'C', então você deve definir uma " +"localidade via :func:`setlocale` primeiro." -#: ../../library/locale.rst:418 +#: ../../library/locale.rst:422 msgid "" "Formats a floating point number using the same format as the built-in " "function ``str(float)``, but takes the decimal point into account." @@ -826,7 +825,7 @@ 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:424 +#: ../../library/locale.rst:428 msgid "" "Converts a string into a normalized number string, following the :const:" "`LC_NUMERIC` settings." @@ -834,7 +833,7 @@ msgstr "" "Converte uma string em uma string numérica normalizada, seguindo as " "configurações de :const:`LC_NUMERIC`." -#: ../../library/locale.rst:432 +#: ../../library/locale.rst:436 msgid "" "Converts a normalized number string into a formatted string following the :" "const:`LC_NUMERIC` settings." @@ -842,15 +841,16 @@ msgstr "" "Converte uma string numérica normalizada em uma string formatada, seguindo " "as configurações de :const:`LC_NUMERIC`." -#: ../../library/locale.rst:440 +#: ../../library/locale.rst:444 msgid "" -"Converts a string to a floating point number, following the :const:" -"`LC_NUMERIC` settings." +"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 em um número de ponto flutuante, seguindo as " -"configurações de :const:`LC_NUMERIC`." +"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:446 +#: ../../library/locale.rst:450 msgid "" "Converts a string to an integer, following the :const:`LC_NUMERIC` " "conventions." @@ -858,7 +858,7 @@ msgstr "" "Converte uma string em um número inteiro, seguindo as convenções de :const:" "`LC_NUMERIC`." -#: ../../library/locale.rst:453 +#: ../../library/locale.rst:457 msgid "" "Locale category for the character type functions. Depending on the settings " "of this category, the functions of module :mod:`string` dealing with case " @@ -868,7 +868,7 @@ msgstr "" "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." -#: ../../library/locale.rst:460 +#: ../../library/locale.rst:464 msgid "" "Locale category for sorting strings. The functions :func:`strcoll` and :" "func:`strxfrm` of the :mod:`locale` module are affected." @@ -876,7 +876,7 @@ 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:466 +#: ../../library/locale.rst:470 msgid "" "Locale category for the formatting of time. The function :func:`time." "strftime` follows these conventions." @@ -884,7 +884,7 @@ msgstr "" "Categoria da localidade para a formatação de hora. A função :func:`time." "strftime` segue essas convenções." -#: ../../library/locale.rst:472 +#: ../../library/locale.rst:476 msgid "" "Locale category for formatting of monetary values. The available options " "are available from the :func:`localeconv` function." @@ -892,7 +892,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:478 +#: ../../library/locale.rst:482 msgid "" "Locale category for message display. Python currently does not support " "application specific locale-aware messages. Messages displayed by the " @@ -904,7 +904,15 @@ msgstr "" "aplicação. Mensagens exibidas pelo sistema operacional, como aquelas " "retornadas por :func:`os.strerror` podem ser afetadas por esta categoria." -#: ../../library/locale.rst:486 +#: ../../library/locale.rst:487 +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:493 msgid "" "Locale category for formatting numbers. The functions :func:`.format`, :" "func:`atoi`, :func:`atof` and :func:`.str` of the :mod:`locale` module are " @@ -916,7 +924,7 @@ msgstr "" "são afetadas por essa categoria. Todas as outras operações de formatação " "numérica não são afetadas." -#: ../../library/locale.rst:494 +#: ../../library/locale.rst:501 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 " @@ -933,7 +941,7 @@ msgstr "" "retornada. Esta string pode ser usada posteriormente para restaurar as " "configurações." -#: ../../library/locale.rst:503 +#: ../../library/locale.rst:510 msgid "" "This is a symbolic constant used for different values returned by :func:" "`localeconv`." @@ -941,15 +949,15 @@ msgstr "" "Esta é uma constante simbólica usada para diferentes valores retornados por :" "func:`localeconv`." -#: ../../library/locale.rst:507 +#: ../../library/locale.rst:514 msgid "Example::" msgstr "Exemplo::" -#: ../../library/locale.rst:520 +#: ../../library/locale.rst:527 msgid "Background, details, hints, tips and caveats" msgstr "Histórico, detalhes, dicas, dicas e advertências" -#: ../../library/locale.rst:522 +#: ../../library/locale.rst:529 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 " @@ -962,7 +970,7 @@ msgstr "" "causar despejos de memória. Isso torna a localidade um tanto dolorosa de " "usar corretamente." -#: ../../library/locale.rst:527 +#: ../../library/locale.rst:534 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 :" @@ -979,7 +987,7 @@ msgstr "" "de localidade preferidas do usuário para outras categorias chamando " "``setlocale(LC_ALL, '')``." -#: ../../library/locale.rst:534 +#: ../../library/locale.rst:541 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 " @@ -991,7 +999,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:539 +#: ../../library/locale.rst:546 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 " @@ -1009,7 +1017,7 @@ 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:546 +#: ../../library/locale.rst:553 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`, :" @@ -1019,7 +1027,7 @@ msgstr "" "usar as funções especiais definidas por este módulo: :func:`atof`, :func:" "`atoi`, :func:`.format`, :func:`.str`." -#: ../../library/locale.rst:550 +#: ../../library/locale.rst:557 msgid "" "There is no way to perform case conversions and character classifications " "according to the locale. For (Unicode) text strings these are done " @@ -1037,11 +1045,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:561 +#: ../../library/locale.rst:568 msgid "For extension writers and programs that embed Python" msgstr "Para escritores de extensão e programas que incorporam Python" -#: ../../library/locale.rst:563 +#: ../../library/locale.rst:570 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 " @@ -1053,7 +1061,7 @@ 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:568 +#: ../../library/locale.rst:575 msgid "" "When Python code uses the :mod:`locale` module to change the locale, this " "also affects the embedding application. If the embedding application " @@ -1069,11 +1077,11 @@ msgstr "" "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:579 +#: ../../library/locale.rst:586 msgid "Access to message catalogs" msgstr "Acesso a catálogos de mensagens" -#: ../../library/locale.rst:587 +#: ../../library/locale.rst:594 msgid "" "The locale module exposes the C library's gettext interface on systems that " "provide this interface. It consists of the functions :func:`!gettext`, :" @@ -1091,7 +1099,7 @@ msgstr "" "catálogos de mensagens e os algoritmos de pesquisa da biblioteca C para " "localizar catálogos de mensagens." -#: ../../library/locale.rst:594 +#: ../../library/locale.rst:601 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 " diff --git a/library/logging.config.po b/library/logging.config.po index 0922ff242..51b42c2f5 100644 --- a/library/logging.config.po +++ b/library/logging.config.po @@ -1,31 +1,28 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, Python Software 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 -# Marco Rougeth , 2021 -# Claudio Rogerio Carvalho Filho , 2021 -# Katyanna Moura , 2021 -# i17obot , 2021 +# python-doc bot, 2025 +# Rainer Terroso, 2026 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.10\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-08-10 13:16+0000\n" -"PO-Revision-Date: 2021-06-28 01:09+0000\n" -"Last-Translator: i17obot , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2026-01-23 17:24+0000\n" +"PO-Revision-Date: 2025-09-22 15:58+0000\n" +"Last-Translator: Rainer Terroso, 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=2; plural=(n > 1);\n" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/logging.config.rst:2 msgid ":mod:`logging.config` --- Logging configuration" @@ -39,26 +36,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 "" @@ -68,12 +67,19 @@ 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 "" @@ -82,32 +88,39 @@ msgid "" "`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 "" @@ -118,6 +131,12 @@ msgid "" "`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 "" @@ -125,6 +144,9 @@ 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 "" @@ -145,6 +167,12 @@ msgid "" "the developer provides a mechanism to present the choices and load the " "chosen configuration)." msgstr "" +"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:0 msgid "Parameters" @@ -200,18 +228,23 @@ msgstr "" #: ../../library/logging.config.rst:114 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 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 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 msgid "" @@ -219,6 +252,10 @@ msgid "" "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." @@ -235,6 +272,14 @@ msgid "" "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:140 msgid "" @@ -249,6 +294,16 @@ 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 msgid "" @@ -256,6 +311,10 @@ msgid "" "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 msgid "" @@ -270,14 +329,29 @@ msgid "" "to the victim's :func:`listen` socket and sending a configuration which runs " "whatever code the attacker wants to have executed in the victim's process. " "This is especially easy to do if the default port is used, but not hard even " -"if a different port is used). To avoid the risk of this happening, use the " +"if a different port is used. To avoid the risk of this happening, use the " "``verify`` argument to :func:`listen` to prevent unrecognised configurations " "from being applied." msgstr "" +"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:175 msgid "The ``verify`` argument was added." -msgstr "" +msgstr "O argumento ``verify`` foi adicionado." #: ../../library/logging.config.rst:180 msgid "" @@ -287,6 +361,11 @@ 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 msgid "" @@ -294,12 +373,42 @@ msgid "" "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 +msgid "Security considerations" +msgstr "Considerações de segurança" #: ../../library/logging.config.rst:197 +msgid "" +"The logging configuration functionality tries to offer convenience, and in " +"part this is done by offering the ability to convert text in configuration " +"files into Python objects used in logging configuration - for example, as " +"described in :ref:`logging-config-dict-userdef`. However, these same " +"mechanisms (importing callables from user-defined modules and calling them " +"with parameters from the configuration) could be used to invoke any code you " +"like, and for this reason you should treat configuration files from " +"untrusted sources with *extreme caution* and satisfy yourself that nothing " +"bad can happen if you load them, before actually loading them." +msgstr "" +"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:211 msgid "Configuration dictionary schema" -msgstr "" +msgstr "Esquema do Dicionário de Configuração" -#: ../../library/logging.config.rst:199 +#: ../../library/logging.config.rst:213 msgid "" "Describing a logging configuration requires listing the various objects to " "create and the connections between them; for example, you may create a " @@ -311,24 +420,37 @@ msgid "" "these objects and connections is defined in :ref:`logging-config-dict-" "connections` below." msgstr "" - -#: ../../library/logging.config.rst:211 +"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:225 msgid "Dictionary Schema Details" -msgstr "" +msgstr "Detalhes do Esquema de Dicionário" -#: ../../library/logging.config.rst:213 +#: ../../library/logging.config.rst:227 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:216 +#: ../../library/logging.config.rst:230 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:221 +#: ../../library/logging.config.rst:235 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 " @@ -337,38 +459,51 @@ msgid "" "`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:230 +#: ../../library/logging.config.rst:244 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:234 +#: ../../library/logging.config.rst:248 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:238 +#: ../../library/logging.config.rst:252 msgid "``format``" -msgstr "" +msgstr "``format``" -#: ../../library/logging.config.rst:239 +#: ../../library/logging.config.rst:253 msgid "``datefmt``" -msgstr "" +msgstr "``datefmt``" -#: ../../library/logging.config.rst:240 +#: ../../library/logging.config.rst:254 msgid "``style``" -msgstr "" +msgstr "``style``" -#: ../../library/logging.config.rst:241 +#: ../../library/logging.config.rst:255 msgid "``validate`` (since version >=3.8)" -msgstr "" +msgstr "``validate`` (desde a versão >=3.8)" -#: ../../library/logging.config.rst:243 +#: ../../library/logging.config.rst:257 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 :" @@ -378,57 +513,79 @@ msgid "" "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:252 +#: ../../library/logging.config.rst:266 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:256 +#: ../../library/logging.config.rst:270 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:260 +#: ../../library/logging.config.rst:274 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:264 ../../library/logging.config.rst:306 +#: ../../library/logging.config.rst:278 ../../library/logging.config.rst:320 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:266 +#: ../../library/logging.config.rst:280 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:269 +#: ../../library/logging.config.rst:283 msgid "``level`` (optional). The level of the handler." -msgstr "" +msgstr "``level`` (opcional). O nível do manipulador." -#: ../../library/logging.config.rst:271 +#: ../../library/logging.config.rst:285 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:274 +#: ../../library/logging.config.rst:288 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:277 +#: ../../library/logging.config.rst:291 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:296 +#: ../../library/logging.config.rst:310 msgid "" "the handler with id ``console`` is instantiated as a :class:`logging." "StreamHandler`, using ``sys.stdout`` as the underlying stream. The handler " @@ -436,45 +593,61 @@ msgid "" "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:302 +#: ../../library/logging.config.rst:316 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:308 +#: ../../library/logging.config.rst:322 msgid "``level`` (optional). The level of the logger." -msgstr "" +msgstr "``level`` (opcional). O nível do logger." -#: ../../library/logging.config.rst:310 +#: ../../library/logging.config.rst:324 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:312 +#: ../../library/logging.config.rst:326 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:315 +#: ../../library/logging.config.rst:329 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:318 +#: ../../library/logging.config.rst:332 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:321 +#: ../../library/logging.config.rst:335 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:325 +#: ../../library/logging.config.rst:339 msgid "" "*incremental* - whether the configuration is to be interpreted as " "incremental to the existing configuration. This value defaults to " @@ -482,34 +655,48 @@ msgid "" "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:331 +#: ../../library/logging.config.rst:345 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:334 +#: ../../library/logging.config.rst:348 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``." 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:342 +#: ../../library/logging.config.rst:356 msgid "Incremental Configuration" -msgstr "" +msgstr "Configuração Incremental" -#: ../../library/logging.config.rst:344 +#: ../../library/logging.config.rst:358 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:350 +#: ../../library/logging.config.rst:364 msgid "" "Furthermore, there is not a compelling case for arbitrarily altering the " "object graph of loggers, handlers, filters, formatters at run-time, once a " @@ -519,8 +706,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:359 +#: ../../library/logging.config.rst:373 msgid "" "Thus, when the ``incremental`` key of a configuration dict is present and is " "``True``, the system will completely ignore any ``formatters`` and " @@ -528,20 +723,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:365 +#: ../../library/logging.config.rst:379 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:373 +#: ../../library/logging.config.rst:387 msgid "Object connections" -msgstr "" +msgstr "Conexões de objeto" -#: ../../library/logging.config.rst:375 +#: ../../library/logging.config.rst:389 msgid "" "The schema describes a set of logging objects - loggers, handlers, " "formatters, filters - which are connected to each other in an object graph. " @@ -556,18 +761,32 @@ 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:389 +"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:403 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:410 +#: ../../library/logging.config.rst:424 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:413 +#: ../../library/logging.config.rst:427 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." @@ -577,28 +796,43 @@ msgid "" "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:421 +#: ../../library/logging.config.rst:435 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:431 +#: ../../library/logging.config.rst:445 msgid "User-defined objects" -msgstr "" +msgstr "Objetos definidos pelo usuário" -#: ../../library/logging.config.rst:433 +#: ../../library/logging.config.rst:447 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:438 +#: ../../library/logging.config.rst:452 msgid "" "Objects to be configured are described by dictionaries which detail their " "configuration. In some places, the logging system will be able to infer " @@ -610,8 +844,17 @@ 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:464 +#: ../../library/logging.config.rst:478 msgid "" "The above YAML snippet defines three formatters. The first, with id " "``brief``, is a standard :class:`logging.Formatter` instance with the " @@ -621,12 +864,19 @@ msgid "" "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:476 +#: ../../library/logging.config.rst:490 msgid "and::" msgstr "e::" -#: ../../library/logging.config.rst:483 +#: ../../library/logging.config.rst:497 msgid "" "respectively, and as these dictionaries do not contain the special key " "``'()'``, the instantiation is inferred from the context: as a result, " @@ -634,8 +884,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:496 +#: ../../library/logging.config.rst:510 msgid "" "and this contains the special key ``'()'``, which means that user-defined " "instantiation is wanted. In this case, the specified factory callable will " @@ -646,20 +900,98 @@ 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:508 +#: ../../library/logging.config.rst:522 +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:527 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:517 -msgid "Access to external objects" +#: ../../library/logging.config.rst:532 +msgid "" +"You can also specify a special key ``'.'`` whose value is a dictionary is a " +"mapping of attribute names to values. If found, the specified attributes " +"will be set on the user-defined object before it is returned. Thus, with the " +"following configuration::" +msgstr "" + +#: ../../library/logging.config.rst:548 +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:551 +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:560 +msgid "Handler configuration order" +msgstr "Ordem de configuração de manipuladores" + +#: ../../library/logging.config.rst:562 +msgid "" +"Handlers are configured in alphabetical order of their keys, and a " +"configured handler replaces the configuration dictionary in (a working copy " +"of) the ``handlers`` dictionary in the schema. If you use a construct such " +"as ``cfg://handlers.foo``, then initially ``handlers['foo']`` points to the " +"configuration dictionary for the handler named ``foo``, and later (once that " +"handler has been configured) it points to the configured handler instance. " +"Thus, ``cfg://handlers.foo`` could resolve to either a dictionary or a " +"handler instance. In general, it is wise to name handlers in a way such that " +"dependent handlers are configured _after_ any handlers they depend on; that " +"allows something like ``cfg://handlers.foo`` to be used in configuring a " +"handler that depends on handler ``foo``. If that dependent handler were " +"named ``bar``, problems would result, because the configuration of ``bar`` " +"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." msgstr "" -#: ../../library/logging.config.rst:519 +#: ../../library/logging.config.rst:583 +msgid "Access to external objects" +msgstr "Acesso a objetos externos" + +#: ../../library/logging.config.rst:585 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 " @@ -673,8 +1005,19 @@ msgid "" "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:532 +#: ../../library/logging.config.rst:598 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 " @@ -683,12 +1026,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:544 +#: ../../library/logging.config.rst:610 msgid "Access to internal objects" -msgstr "" +msgstr "Acesso a objetos internos" -#: ../../library/logging.config.rst:546 +#: ../../library/logging.config.rst:612 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 " @@ -698,8 +1048,15 @@ 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:554 +#: ../../library/logging.config.rst:620 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:" @@ -712,8 +1069,19 @@ msgid "" "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:576 +#: ../../library/logging.config.rst:642 msgid "" "The literal string ``'cfg://handlers.file'`` will be resolved in an " "analogous way to strings with the ``ext://`` prefix, but looking in the " @@ -721,8 +1089,13 @@ msgid "" "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:594 +#: ../../library/logging.config.rst:660 msgid "" "in the configuration, the string ``'cfg://handlers'`` would resolve to the " "dict with key ``handlers``, the string ``'cfg://handlers.email`` would " @@ -738,7 +1111,7 @@ msgid "" "to the string value if needed." msgstr "" -#: ../../library/logging.config.rst:608 +#: ../../library/logging.config.rst:674 msgid "" "Given a string ``cfg://handlers.myhandler.mykey.123``, this will resolve to " "``config_dict['handlers']['myhandler']['mykey']['123']``. If the string is " @@ -747,12 +1120,18 @@ 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:620 +#: ../../library/logging.config.rst:686 msgid "Import resolution and custom importers" -msgstr "" +msgstr "Resolução de importações e importadores personalizados" -#: ../../library/logging.config.rst:622 +#: ../../library/logging.config.rst:688 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 " @@ -764,17 +1143,19 @@ msgid "" "instance level, you need to wrap it with :func:`staticmethod`. For example::" msgstr "" -#: ../../library/logging.config.rst:637 +#: ../../library/logging.config.rst:703 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:644 +#: ../../library/logging.config.rst:710 msgid "Configuration file format" msgstr "Formato do arquivo de configuração" -#: ../../library/logging.config.rst:646 +#: ../../library/logging.config.rst:712 msgid "" "The configuration file format understood by :func:`fileConfig` is based on :" "mod:`configparser` functionality. The file must contain sections called " @@ -791,7 +1172,7 @@ msgid "" "specified in a section called ``[logger_root]``." msgstr "" -#: ../../library/logging.config.rst:661 +#: ../../library/logging.config.rst:727 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, " @@ -804,17 +1185,19 @@ msgid "" "when it's convenient to do so." msgstr "" -#: ../../library/logging.config.rst:671 +#: ../../library/logging.config.rst:737 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:684 +#: ../../library/logging.config.rst:750 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:693 +#: ../../library/logging.config.rst:759 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 " @@ -822,21 +1205,27 @@ msgid "" "``logging`` package's namespace." msgstr "" -#: ../../library/logging.config.rst:698 +#: ../../library/logging.config.rst:764 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:703 +#: ../../library/logging.config.rst:769 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:714 +#: ../../library/logging.config.rst:780 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``, " @@ -848,29 +1237,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:723 +#: ../../library/logging.config.rst:789 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:733 +#: ../../library/logging.config.rst:799 msgid "" "The ``class`` entry indicates the handler's class (as determined by :func:" "`eval` in the ``logging`` package's namespace). The ``level`` is interpreted " "as for loggers, and ``NOTSET`` is taken to mean 'log everything'." msgstr "" +"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:737 +#: ../../library/logging.config.rst:803 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:742 +#: ../../library/logging.config.rst:808 msgid "" "The ``args`` entry, when :func:`eval`\\ uated in the context of the " "``logging`` package's namespace, is the list of arguments to the constructor " @@ -879,26 +1288,28 @@ msgid "" "provided, it defaults to ``()``." msgstr "" -#: ../../library/logging.config.rst:748 +#: ../../library/logging.config.rst:814 msgid "" "The optional ``kwargs`` entry, when :func:`eval`\\ uated 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 "" -#: ../../library/logging.config.rst:805 +#: ../../library/logging.config.rst:871 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:816 +#: ../../library/logging.config.rst:882 msgid "" "The arguments for the formatter configuration are the same as the keys in " "the dictionary schema :ref:`formatters section `." msgstr "" -#: ../../library/logging.config.rst:822 +#: ../../library/logging.config.rst:888 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 " @@ -906,19 +1317,24 @@ msgid "" "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:831 +#: ../../library/logging.config.rst:897 msgid "Module :mod:`logging`" msgstr "Módulo :mod:`logging`" -#: ../../library/logging.config.rst:831 +#: ../../library/logging.config.rst:897 msgid "API reference for the logging module." msgstr "Referência da API para o módulo de logging." -#: ../../library/logging.config.rst:833 +#: ../../library/logging.config.rst:899 msgid "Module :mod:`logging.handlers`" msgstr "Módulo :mod:`logging.handlers`" -#: ../../library/logging.config.rst:834 +#: ../../library/logging.config.rst:900 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 8bf9ef5f2..1eeb05e24 100644 --- a/library/logging.handlers.po +++ b/library/logging.handlers.po @@ -1,33 +1,28 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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 -# 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.10\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-07-27 13:07+0000\n" -"PO-Revision-Date: 2021-06-28 01:09+0000\n" -"Last-Translator: i17obot , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-12-13 17:12+0000\n" +"PO-Revision-Date: 2025-09-22 15:58+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=2; plural=(n > 1);\n" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/logging.handlers.rst:2 msgid ":mod:`logging.handlers` --- Logging handlers" @@ -41,18 +36,20 @@ 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 "" @@ -61,10 +58,14 @@ msgid "" "`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 "" @@ -73,6 +74,10 @@ msgid "" "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 "" @@ -80,6 +85,9 @@ msgid "" "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 "" @@ -88,6 +96,10 @@ msgid "" "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 "" @@ -95,12 +107,18 @@ msgid "" "`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" @@ -108,11 +126,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." @@ -123,20 +141,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 "" @@ -144,6 +168,9 @@ 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 "" @@ -157,74 +184,96 @@ msgid "" msgstr "" #: ../../library/logging.handlers.rst:105 -#: ../../library/logging.handlers.rst:187 -#: ../../library/logging.handlers.rst:322 -#: ../../library/logging.handlers.rst:428 +#: ../../library/logging.handlers.rst:190 +#: ../../library/logging.handlers.rst:338 +#: ../../library/logging.handlers.rst:444 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:191 -#: ../../library/logging.handlers.rst:326 -#: ../../library/logging.handlers.rst:432 +#: ../../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 "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:124 +#: ../../library/logging.handlers.rst:127 msgid "NullHandler" msgstr "NullHandler" -#: ../../library/logging.handlers.rst:128 +#: ../../library/logging.handlers.rst:131 msgid "" "The :class:`NullHandler` class, located in the core :mod:`logging` package, " "does not do any formatting or output. It is essentially a 'no-op' handler " "for use by library developers." msgstr "" +"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:134 +#: ../../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:138 -#: ../../library/logging.handlers.rst:142 +#: ../../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:146 +#: ../../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:150 +#: ../../library/logging.handlers.rst:153 msgid "" "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:156 +#: ../../library/logging.handlers.rst:159 msgid "WatchedFileHandler" -msgstr "" +msgstr "WatchedFileHandler" -#: ../../library/logging.handlers.rst:160 +#: ../../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." 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:164 +#: ../../library/logging.handlers.rst:167 msgid "" "A file change can happen because of usage of programs such as *newsyslog* " "and *logrotate* which perform log file rotation. This handler, intended for " @@ -233,8 +282,15 @@ 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:171 +#: ../../library/logging.handlers.rst:174 msgid "" "This handler is not appropriate for use under Windows, because under Windows " "open log files cannot be moved or renamed - logging opens the files with " @@ -242,8 +298,13 @@ 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:180 +#: ../../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 " @@ -254,24 +315,29 @@ msgid "" "errors are handled." msgstr "" -#: ../../library/logging.handlers.rst:196 +#: ../../library/logging.handlers.rst:199 msgid "" "Checks to see if the file has changed. If it has, the existing stream is " "flushed and closed and the file opened again, typically as a precursor to " "outputting the record to the file." msgstr "" +"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:205 +#: ../../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:211 +#: ../../library/logging.handlers.rst:214 msgid "BaseRotatingHandler" -msgstr "" +msgstr "BaseRotatingHandler" -#: ../../library/logging.handlers.rst:213 +#: ../../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:" @@ -279,76 +345,135 @@ msgid "" "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:221 +#: ../../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:225 +#: ../../library/logging.handlers.rst:228 msgid "" "If this attribute is set to a callable, the :meth:`rotation_filename` method " "delegates to this callable. The parameters passed to the callable are those " "passed to :meth:`rotation_filename`." msgstr "" +"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:229 +#: ../../library/logging.handlers.rst:232 msgid "" "The namer function is called quite a few times during rollover, so it should " "be as simple and as fast as possible. It should also return the same output " "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 "" +"It's also worth noting that care should be taken when using a namer to " +"preserve certain attributes in the filename which are used during rotation. " +"For example, :class:`RotatingFileHandler` expects to have a set of log files " +"whose names contain successive integers, so that rotation works as expected, " +"and :class:`TimedRotatingFileHandler` deletes old log files (based on the " +"``backupCount`` parameter passed to the handler's initializer) by " +"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 "" +"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:239 +#: ../../library/logging.handlers.rst:255 msgid "" "If this attribute is set to a callable, the :meth:`rotate` method delegates " "to this callable. The parameters passed to the callable are those passed " "to :meth:`rotate`." msgstr "" +"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:247 +#: ../../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:249 +#: ../../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:251 +#: ../../library/logging.handlers.rst:267 msgid "" "The default implementation calls the 'namer' attribute of the handler, if " "it's callable, passing the default name to it. If the attribute isn't " "callable (the default is ``None``), the name is returned unchanged." msgstr "" +"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:255 +#: ../../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:262 +#: ../../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:264 +#: ../../library/logging.handlers.rst:280 msgid "" "The default implementation calls the 'rotator' attribute of the handler, if " "it's callable, passing the source and dest arguments to it. If the attribute " "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:269 +#: ../../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:271 +#: ../../library/logging.handlers.rst:287 msgid "" "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:276 +#: ../../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 :" @@ -357,28 +482,38 @@ msgid "" "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:283 +#: ../../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:286 +#: ../../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:292 +#: ../../library/logging.handlers.rst:308 msgid "RotatingFileHandler" -msgstr "" +msgstr "RotatingFileHandler" -#: ../../library/logging.handlers.rst:294 +#: ../../library/logging.handlers.rst:310 msgid "" "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:300 +#: ../../library/logging.handlers.rst:316 msgid "" "Returns a new instance of the :class:`RotatingFileHandler` class. The " "specified file is opened and used as the stream for logging. If *mode* is " @@ -388,8 +523,15 @@ 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:307 +#: ../../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 " @@ -406,157 +548,208 @@ msgid "" "log.1`, and if files :file:`app.log.1`, :file:`app.log.2`, etc. exist, then " "they are renamed to :file:`app.log.2`, :file:`app.log.3` etc. respectively." msgstr "" - -#: ../../library/logging.handlers.rst:331 -#: ../../library/logging.handlers.rst:437 +"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:336 +#: ../../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:342 +#: ../../library/logging.handlers.rst:358 msgid "TimedRotatingFileHandler" -msgstr "" +msgstr "TimedRotatingFileHandler" -#: ../../library/logging.handlers.rst:344 +#: ../../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." 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:351 +#: ../../library/logging.handlers.rst:367 msgid "" "Returns a new instance of the :class:`TimedRotatingFileHandler` class. The " "specified file is opened and used as the stream for logging. On rotating it " "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:356 +#: ../../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:360 +#: ../../library/logging.handlers.rst:376 msgid "Value" msgstr "Valor" -#: ../../library/logging.handlers.rst:360 +#: ../../library/logging.handlers.rst:376 msgid "Type of interval" -msgstr "" +msgstr "Tipo de intervalo" -#: ../../library/logging.handlers.rst:360 +#: ../../library/logging.handlers.rst:376 msgid "If/how *atTime* is used" -msgstr "" +msgstr "Se/como *atTime* é usado" -#: ../../library/logging.handlers.rst:362 +#: ../../library/logging.handlers.rst:378 msgid "``'S'``" msgstr "``'S'``" -#: ../../library/logging.handlers.rst:362 +#: ../../library/logging.handlers.rst:378 msgid "Seconds" -msgstr "" +msgstr "Segundos" -#: ../../library/logging.handlers.rst:362 -#: ../../library/logging.handlers.rst:364 -#: ../../library/logging.handlers.rst:366 -#: ../../library/logging.handlers.rst:368 +#: ../../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:364 +#: ../../library/logging.handlers.rst:380 msgid "``'M'``" msgstr "``'M'``" -#: ../../library/logging.handlers.rst:364 +#: ../../library/logging.handlers.rst:380 msgid "Minutes" -msgstr "" +msgstr "Minutos" -#: ../../library/logging.handlers.rst:366 +#: ../../library/logging.handlers.rst:382 msgid "``'H'``" msgstr "``'H'``" -#: ../../library/logging.handlers.rst:366 +#: ../../library/logging.handlers.rst:382 msgid "Hours" msgstr "Horas" -#: ../../library/logging.handlers.rst:368 +#: ../../library/logging.handlers.rst:384 msgid "``'D'``" msgstr "``'D'``" -#: ../../library/logging.handlers.rst:368 +#: ../../library/logging.handlers.rst:384 msgid "Days" msgstr "Dias" -#: ../../library/logging.handlers.rst:370 +#: ../../library/logging.handlers.rst:386 msgid "``'W0'-'W6'``" msgstr "``'W0'-'W6'``" -#: ../../library/logging.handlers.rst:370 +#: ../../library/logging.handlers.rst:386 msgid "Weekday (0=Monday)" -msgstr "" +msgstr "Dia da semana (0=Segunda)" -#: ../../library/logging.handlers.rst:370 -#: ../../library/logging.handlers.rst:373 +#: ../../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:373 +#: ../../library/logging.handlers.rst:389 msgid "``'midnight'``" msgstr "``'midnight'``" -#: ../../library/logging.handlers.rst:373 +#: ../../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:378 +#: ../../library/logging.handlers.rst:394 msgid "" "When using weekday-based rotation, specify 'W0' for Monday, 'W1' for " "Tuesday, and so on up to 'W6' for Sunday. In this case, the value passed for " "*interval* isn't used." msgstr "" +"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:382 +#: ../../library/logging.handlers.rst:398 msgid "" "The system will save old log files by appending extensions to the filename. " -"The extensions are date-and-time based, using the strftime format ``%Y-%m-%d_" -"%H-%M-%S`` or a leading portion thereof, depending on the rollover interval." +"The extensions are date-and-time based, using the strftime format ``%Y-%m-" +"%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:387 +#: ../../library/logging.handlers.rst:403 msgid "" "When computing the next rollover time for the first time (when the handler " "is created), the last modification time of an existing log file, or else the " "current time, is used to compute when the next rotation will occur." msgstr "" +"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:391 +#: ../../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:394 +#: ../../library/logging.handlers.rst:410 msgid "" "If *backupCount* is nonzero, at most *backupCount* files will be kept, and " "if more would be created when rollover occurs, the oldest one is deleted. " "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:399 +#: ../../library/logging.handlers.rst:415 msgid "" "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:402 +#: ../../library/logging.handlers.rst:418 msgid "" "If *atTime* is not ``None``, it must be a ``datetime.time`` instance which " "specifies the time of day when rollover occurs, for the cases where rollover " @@ -565,14 +758,22 @@ 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:409 +#: ../../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:412 +#: ../../library/logging.handlers.rst:428 msgid "" "Calculation of the initial rollover time is done when the handler is " "initialised. Calculation of subsequent rollover times is done only when " @@ -586,45 +787,79 @@ 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:425 +#: ../../library/logging.handlers.rst:441 msgid "*atTime* parameter was added." -msgstr "" +msgstr "parâmetro *atTime* foi adicionado." -#: ../../library/logging.handlers.rst:441 +#: ../../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:447 -msgid "SocketHandler" +#: ../../library/logging.handlers.rst:461 +msgid "" +"Returns a list of filenames which should be deleted as part of rollover. " +"These are the absolute paths of the oldest backup log files written by the " +"handler." 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:449 +#: ../../library/logging.handlers.rst:467 +msgid "SocketHandler" +msgstr "SocketHandler" + +#: ../../library/logging.handlers.rst:469 msgid "" "The :class:`SocketHandler` class, located in the :mod:`logging.handlers` " "module, sends logging output to a network socket. The base class uses a TCP " "socket." msgstr "" +"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:455 +#: ../../library/logging.handlers.rst:475 msgid "" "Returns a new instance of the :class:`SocketHandler` class intended to " "communicate with a remote machine whose address is given by *host* and " "*port*." msgstr "" +"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:458 +#: ../../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:464 +#: ../../library/logging.handlers.rst:484 msgid "Closes the socket." -msgstr "" +msgstr "Fecha o soquete." -#: ../../library/logging.handlers.rst:469 +#: ../../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 " @@ -632,29 +867,44 @@ msgid "" "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:479 +#: ../../library/logging.handlers.rst:499 msgid "" "Handles an error which has occurred during :meth:`emit`. The most likely " "cause is a lost connection. Closes the socket so that we can retry on the " "next event." msgstr "" +"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:486 +#: ../../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`)." 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:493 +#: ../../library/logging.handlers.rst:513 msgid "" "Pickles the record's attribute dictionary in binary format with a length " "prefix, and returns it ready for transmission across the socket. The details " "of this operation are equivalent to::" msgstr "" +"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:501 +#: ../../library/logging.handlers.rst:521 msgid "" "Note that pickles aren't completely secure. If you are concerned about " "security, you may want to override this method to implement a more secure " @@ -662,21 +912,32 @@ 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:510 +#: ../../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`." 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:514 +#: ../../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:520 +#: ../../library/logging.handlers.rst:540 msgid "" "Tries to create a socket; on failure, uses an exponential back-off " "algorithm. On initial failure, the handler will drop the message it was " @@ -686,86 +947,136 @@ 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:528 +#: ../../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:530 +#: ../../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:531 +#: ../../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:532 +#: ../../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:534 +#: ../../library/logging.handlers.rst:554 msgid "" "This means that if the remote listener starts up *after* the handler has " "been used, you could lose messages (since the handler won't even attempt a " "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:543 +#: ../../library/logging.handlers.rst:563 msgid "DatagramHandler" -msgstr "" +msgstr "DatagramHandler" -#: ../../library/logging.handlers.rst:545 +#: ../../library/logging.handlers.rst:565 msgid "" "The :class:`DatagramHandler` class, located in the :mod:`logging.handlers` " "module, inherits from :class:`SocketHandler` to support sending logging " "messages over UDP sockets." msgstr "" +"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:552 +#: ../../library/logging.handlers.rst:572 msgid "" "Returns a new instance of the :class:`DatagramHandler` class intended to " "communicate with a remote machine whose address is given by *host* and " "*port*." msgstr "" +"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 "" +"As UDP is not a streaming protocol, there is no persistent connection " +"between an instance of this handler and *host*. For this reason, when using " +"a network socket, a DNS lookup might have to be made each time an event is " +"logged, which can introduce some latency into the system. If this affects " +"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:555 +#: ../../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:561 +#: ../../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." 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:570 +#: ../../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:576 +#: ../../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:583 +#: ../../library/logging.handlers.rst:610 msgid "SysLogHandler" -msgstr "" +msgstr "SysLogHandler" -#: ../../library/logging.handlers.rst:585 +#: ../../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:591 +#: ../../library/logging.handlers.rst:618 msgid "" "Returns a new instance of the :class:`SysLogHandler` class intended to " "communicate with a remote Unix machine whose address is given by *address* " @@ -780,7 +1091,7 @@ msgid "" "rsyslog), specify a value of :const:`socket.SOCK_STREAM`." msgstr "" -#: ../../library/logging.handlers.rst:603 +#: ../../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 " @@ -790,22 +1101,46 @@ msgid "" "do this check at runtime if your application needs to run on several " "platforms). On Windows, you pretty much have to use the UDP option." msgstr "" +"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:612 -msgid "*socktype* was added." +#: ../../library/logging.handlers.rst:639 +msgid "" +"On macOS 12.x (Monterey), Apple has changed the behaviour of their syslog " +"daemon - it no longer listens on a domain socket. Therefore, you cannot " +"expect :class:`SysLogHandler` to work on this system." msgstr "" +"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:618 +#: ../../library/logging.handlers.rst:643 +msgid "See :gh:`91070` for more information." +msgstr "Consulte :gh:`91070` para obter mais informações." + +#: ../../library/logging.handlers.rst:645 +msgid "*socktype* was added." +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:623 +#: ../../library/logging.handlers.rst:656 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:626 +#: ../../library/logging.handlers.rst:659 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 " @@ -815,8 +1150,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:635 +#: ../../library/logging.handlers.rst:668 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 " @@ -825,8 +1167,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:642 +#: ../../library/logging.handlers.rst:675 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 " @@ -836,263 +1184,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:653 +#: ../../library/logging.handlers.rst:686 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:657 +#: ../../library/logging.handlers.rst:690 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:660 +#: ../../library/logging.handlers.rst:693 msgid "**Priorities**" -msgstr "" +msgstr "**Prioridades**" -#: ../../library/logging.handlers.rst:663 -#: ../../library/logging.handlers.rst:685 +#: ../../library/logging.handlers.rst:696 +#: ../../library/logging.handlers.rst:718 msgid "Name (string)" -msgstr "" +msgstr "Nome (string)" -#: ../../library/logging.handlers.rst:663 -#: ../../library/logging.handlers.rst:685 +#: ../../library/logging.handlers.rst:696 +#: ../../library/logging.handlers.rst:718 msgid "Symbolic value" -msgstr "" +msgstr "Valor simbólico" -#: ../../library/logging.handlers.rst:665 +#: ../../library/logging.handlers.rst:698 msgid "``alert``" msgstr "``alert``" -#: ../../library/logging.handlers.rst:665 +#: ../../library/logging.handlers.rst:698 msgid "LOG_ALERT" -msgstr "" +msgstr "LOG_ALERT" -#: ../../library/logging.handlers.rst:667 +#: ../../library/logging.handlers.rst:700 msgid "``crit`` or ``critical``" -msgstr "" +msgstr "``crit`` ou ``critical``" -#: ../../library/logging.handlers.rst:667 +#: ../../library/logging.handlers.rst:700 msgid "LOG_CRIT" -msgstr "" +msgstr "LOG_CRIT" -#: ../../library/logging.handlers.rst:669 +#: ../../library/logging.handlers.rst:702 msgid "``debug``" msgstr "``debug``" -#: ../../library/logging.handlers.rst:669 +#: ../../library/logging.handlers.rst:702 msgid "LOG_DEBUG" -msgstr "" +msgstr "LOG_DEBUG" -#: ../../library/logging.handlers.rst:671 +#: ../../library/logging.handlers.rst:704 msgid "``emerg`` or ``panic``" msgstr "" -#: ../../library/logging.handlers.rst:671 +#: ../../library/logging.handlers.rst:704 msgid "LOG_EMERG" msgstr "LOG_EMERG" -#: ../../library/logging.handlers.rst:673 +#: ../../library/logging.handlers.rst:706 msgid "``err`` or ``error``" msgstr "``err`` ou ``error``" -#: ../../library/logging.handlers.rst:673 +#: ../../library/logging.handlers.rst:706 msgid "LOG_ERR" msgstr "LOG_ERR" -#: ../../library/logging.handlers.rst:675 +#: ../../library/logging.handlers.rst:708 msgid "``info``" msgstr "``info``" -#: ../../library/logging.handlers.rst:675 +#: ../../library/logging.handlers.rst:708 msgid "LOG_INFO" msgstr "" -#: ../../library/logging.handlers.rst:677 +#: ../../library/logging.handlers.rst:710 msgid "``notice``" msgstr "``notice``" -#: ../../library/logging.handlers.rst:677 +#: ../../library/logging.handlers.rst:710 msgid "LOG_NOTICE" msgstr "" -#: ../../library/logging.handlers.rst:679 +#: ../../library/logging.handlers.rst:712 msgid "``warn`` or ``warning``" msgstr "" -#: ../../library/logging.handlers.rst:679 +#: ../../library/logging.handlers.rst:712 msgid "LOG_WARNING" msgstr "" -#: ../../library/logging.handlers.rst:682 +#: ../../library/logging.handlers.rst:715 msgid "**Facilities**" msgstr "" -#: ../../library/logging.handlers.rst:687 +#: ../../library/logging.handlers.rst:720 msgid "``auth``" msgstr "``auth``" -#: ../../library/logging.handlers.rst:687 +#: ../../library/logging.handlers.rst:720 msgid "LOG_AUTH" msgstr "" -#: ../../library/logging.handlers.rst:689 +#: ../../library/logging.handlers.rst:722 msgid "``authpriv``" msgstr "``authpriv``" -#: ../../library/logging.handlers.rst:689 +#: ../../library/logging.handlers.rst:722 msgid "LOG_AUTHPRIV" msgstr "" -#: ../../library/logging.handlers.rst:691 +#: ../../library/logging.handlers.rst:724 msgid "``cron``" msgstr "``cron``" -#: ../../library/logging.handlers.rst:691 +#: ../../library/logging.handlers.rst:724 msgid "LOG_CRON" msgstr "" -#: ../../library/logging.handlers.rst:693 +#: ../../library/logging.handlers.rst:726 msgid "``daemon``" msgstr "``daemon``" -#: ../../library/logging.handlers.rst:693 +#: ../../library/logging.handlers.rst:726 msgid "LOG_DAEMON" msgstr "" -#: ../../library/logging.handlers.rst:695 +#: ../../library/logging.handlers.rst:728 msgid "``ftp``" msgstr "``ftp``" -#: ../../library/logging.handlers.rst:695 +#: ../../library/logging.handlers.rst:728 msgid "LOG_FTP" msgstr "" -#: ../../library/logging.handlers.rst:697 +#: ../../library/logging.handlers.rst:730 msgid "``kern``" msgstr "``kern``" -#: ../../library/logging.handlers.rst:697 +#: ../../library/logging.handlers.rst:730 msgid "LOG_KERN" msgstr "" -#: ../../library/logging.handlers.rst:699 +#: ../../library/logging.handlers.rst:732 msgid "``lpr``" msgstr "``lpr``" -#: ../../library/logging.handlers.rst:699 +#: ../../library/logging.handlers.rst:732 msgid "LOG_LPR" msgstr "" -#: ../../library/logging.handlers.rst:701 +#: ../../library/logging.handlers.rst:734 msgid "``mail``" msgstr "``mail``" -#: ../../library/logging.handlers.rst:701 +#: ../../library/logging.handlers.rst:734 msgid "LOG_MAIL" msgstr "" -#: ../../library/logging.handlers.rst:703 +#: ../../library/logging.handlers.rst:736 msgid "``news``" msgstr "``news``" -#: ../../library/logging.handlers.rst:703 +#: ../../library/logging.handlers.rst:736 msgid "LOG_NEWS" msgstr "" -#: ../../library/logging.handlers.rst:705 +#: ../../library/logging.handlers.rst:738 msgid "``syslog``" msgstr "``syslog``" -#: ../../library/logging.handlers.rst:705 +#: ../../library/logging.handlers.rst:738 msgid "LOG_SYSLOG" msgstr "" -#: ../../library/logging.handlers.rst:707 +#: ../../library/logging.handlers.rst:740 msgid "``user``" msgstr "``user``" -#: ../../library/logging.handlers.rst:707 +#: ../../library/logging.handlers.rst:740 msgid "LOG_USER" msgstr "" -#: ../../library/logging.handlers.rst:709 +#: ../../library/logging.handlers.rst:742 msgid "``uucp``" msgstr "``uucp``" -#: ../../library/logging.handlers.rst:709 +#: ../../library/logging.handlers.rst:742 msgid "LOG_UUCP" msgstr "" -#: ../../library/logging.handlers.rst:711 +#: ../../library/logging.handlers.rst:744 msgid "``local0``" msgstr "``local0``" -#: ../../library/logging.handlers.rst:711 +#: ../../library/logging.handlers.rst:744 msgid "LOG_LOCAL0" msgstr "" -#: ../../library/logging.handlers.rst:713 +#: ../../library/logging.handlers.rst:746 msgid "``local1``" msgstr "``local1``" -#: ../../library/logging.handlers.rst:713 +#: ../../library/logging.handlers.rst:746 msgid "LOG_LOCAL1" msgstr "" -#: ../../library/logging.handlers.rst:715 +#: ../../library/logging.handlers.rst:748 msgid "``local2``" msgstr "``local2``" -#: ../../library/logging.handlers.rst:715 +#: ../../library/logging.handlers.rst:748 msgid "LOG_LOCAL2" msgstr "" -#: ../../library/logging.handlers.rst:717 +#: ../../library/logging.handlers.rst:750 msgid "``local3``" msgstr "``local3``" -#: ../../library/logging.handlers.rst:717 +#: ../../library/logging.handlers.rst:750 msgid "LOG_LOCAL3" msgstr "" -#: ../../library/logging.handlers.rst:719 +#: ../../library/logging.handlers.rst:752 msgid "``local4``" msgstr "``local4``" -#: ../../library/logging.handlers.rst:719 +#: ../../library/logging.handlers.rst:752 msgid "LOG_LOCAL4" msgstr "" -#: ../../library/logging.handlers.rst:721 +#: ../../library/logging.handlers.rst:754 msgid "``local5``" msgstr "``local5``" -#: ../../library/logging.handlers.rst:721 +#: ../../library/logging.handlers.rst:754 msgid "LOG_LOCAL5" msgstr "" -#: ../../library/logging.handlers.rst:723 +#: ../../library/logging.handlers.rst:756 msgid "``local6``" msgstr "``local6``" -#: ../../library/logging.handlers.rst:723 +#: ../../library/logging.handlers.rst:756 msgid "LOG_LOCAL6" msgstr "" -#: ../../library/logging.handlers.rst:725 +#: ../../library/logging.handlers.rst:758 msgid "``local7``" msgstr "``local7``" -#: ../../library/logging.handlers.rst:725 +#: ../../library/logging.handlers.rst:758 msgid "LOG_LOCAL7" msgstr "" -#: ../../library/logging.handlers.rst:730 +#: ../../library/logging.handlers.rst:763 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 " @@ -1101,11 +1461,11 @@ msgid "" "all other level names to 'warning'." msgstr "" -#: ../../library/logging.handlers.rst:740 +#: ../../library/logging.handlers.rst:773 msgid "NTEventLogHandler" msgstr "" -#: ../../library/logging.handlers.rst:742 +#: ../../library/logging.handlers.rst:775 msgid "" "The :class:`NTEventLogHandler` class, located in the :mod:`logging.handlers` " "module, supports sending logging messages to a local Windows NT, Windows " @@ -1113,7 +1473,7 @@ msgid "" "Win32 extensions for Python installed." msgstr "" -#: ../../library/logging.handlers.rst:750 +#: ../../library/logging.handlers.rst:783 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 " @@ -1129,7 +1489,7 @@ msgid "" "or ``'Security'``, and defaults to ``'Application'``." msgstr "" -#: ../../library/logging.handlers.rst:766 +#: ../../library/logging.handlers.rst:799 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 " @@ -1138,19 +1498,19 @@ msgid "" "not do this." msgstr "" -#: ../../library/logging.handlers.rst:775 +#: ../../library/logging.handlers.rst:808 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:781 +#: ../../library/logging.handlers.rst:814 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:787 +#: ../../library/logging.handlers.rst:820 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 " @@ -1161,7 +1521,7 @@ msgid "" "the handler's *typemap* attribute." msgstr "" -#: ../../library/logging.handlers.rst:798 +#: ../../library/logging.handlers.rst:831 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 " @@ -1170,17 +1530,17 @@ msgid "" "message ID in :file:`win32service.pyd`." msgstr "" -#: ../../library/logging.handlers.rst:807 +#: ../../library/logging.handlers.rst:840 msgid "SMTPHandler" msgstr "" -#: ../../library/logging.handlers.rst:809 +#: ../../library/logging.handlers.rst:842 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:815 +#: ../../library/logging.handlers.rst:848 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. " @@ -1191,7 +1551,7 @@ msgid "" "*credentials* argument." msgstr "" -#: ../../library/logging.handlers.rst:822 +#: ../../library/logging.handlers.rst:855 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 " @@ -1201,31 +1561,31 @@ msgid "" "SMTP.starttls` method.)" msgstr "" -#: ../../library/logging.handlers.rst:829 +#: ../../library/logging.handlers.rst:862 msgid "" "A timeout can be specified for communication with the SMTP server using the " "*timeout* argument." msgstr "" -#: ../../library/logging.handlers.rst:832 +#: ../../library/logging.handlers.rst:865 msgid "The *timeout* argument was added." msgstr "" -#: ../../library/logging.handlers.rst:837 +#: ../../library/logging.handlers.rst:870 msgid "Formats the record and sends it to the specified addressees." msgstr "" -#: ../../library/logging.handlers.rst:842 +#: ../../library/logging.handlers.rst:875 msgid "" "If you want to specify a subject line which is record-dependent, override " "this method." msgstr "" -#: ../../library/logging.handlers.rst:848 +#: ../../library/logging.handlers.rst:881 msgid "MemoryHandler" msgstr "" -#: ../../library/logging.handlers.rst:850 +#: ../../library/logging.handlers.rst:883 msgid "" "The :class:`MemoryHandler` class, located in the :mod:`logging.handlers` " "module, supports buffering of logging records in memory, periodically " @@ -1233,7 +1593,7 @@ msgid "" "buffer is full, or when an event of a certain severity or greater is seen." msgstr "" -#: ../../library/logging.handlers.rst:855 +#: ../../library/logging.handlers.rst:888 msgid "" ":class:`MemoryHandler` is a subclass of the more general :class:" "`BufferingHandler`, which is an abstract class. This buffers logging records " @@ -1242,31 +1602,31 @@ msgid "" "should, then :meth:`flush` is expected to do the flushing." msgstr "" -#: ../../library/logging.handlers.rst:864 +#: ../../library/logging.handlers.rst:897 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:870 +#: ../../library/logging.handlers.rst:903 msgid "" "Append the record to the buffer. If :meth:`shouldFlush` returns true, call :" "meth:`flush` to process the buffer." msgstr "" -#: ../../library/logging.handlers.rst:876 +#: ../../library/logging.handlers.rst:909 msgid "" "You can override this to implement custom flushing behavior. This version " "just zaps the buffer to empty." msgstr "" -#: ../../library/logging.handlers.rst:882 +#: ../../library/logging.handlers.rst:915 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:888 +#: ../../library/logging.handlers.rst:921 msgid "" "Returns a new instance of the :class:`MemoryHandler` class. The instance is " "initialized with a buffer size of *capacity* (number of records buffered). " @@ -1278,41 +1638,41 @@ msgid "" "the buffer will occur when the handler is closed." msgstr "" -#: ../../library/logging.handlers.rst:897 +#: ../../library/logging.handlers.rst:930 msgid "The *flushOnClose* parameter was added." msgstr "" -#: ../../library/logging.handlers.rst:903 +#: ../../library/logging.handlers.rst:936 msgid "Calls :meth:`flush`, sets the target to ``None`` and clears the buffer." msgstr "" -#: ../../library/logging.handlers.rst:909 +#: ../../library/logging.handlers.rst:942 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." msgstr "" -#: ../../library/logging.handlers.rst:916 +#: ../../library/logging.handlers.rst:949 msgid "Sets the target handler for this handler." msgstr "" -#: ../../library/logging.handlers.rst:921 +#: ../../library/logging.handlers.rst:954 msgid "Checks for buffer full or a record at the *flushLevel* or higher." msgstr "" -#: ../../library/logging.handlers.rst:927 +#: ../../library/logging.handlers.rst:960 msgid "HTTPHandler" msgstr "HTTPHandler" -#: ../../library/logging.handlers.rst:929 +#: ../../library/logging.handlers.rst:962 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:936 +#: ../../library/logging.handlers.rst:969 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. " @@ -1326,11 +1686,11 @@ msgid "" "cleartext across the wire." msgstr "" -#: ../../library/logging.handlers.rst:947 +#: ../../library/logging.handlers.rst:980 msgid "The *context* parameter was added." msgstr "" -#: ../../library/logging.handlers.rst:952 +#: ../../library/logging.handlers.rst:985 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." @@ -1339,14 +1699,14 @@ msgid "" "customization of what's sent to the server is required." msgstr "" -#: ../../library/logging.handlers.rst:960 +#: ../../library/logging.handlers.rst:993 msgid "" "Sends the record to the web server as a URL-encoded dictionary. The :meth:" "`mapLogRecord` method is used to convert the record to the dictionary to be " "sent." msgstr "" -#: ../../library/logging.handlers.rst:964 +#: ../../library/logging.handlers.rst:997 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 " @@ -1356,18 +1716,18 @@ msgid "" "the dictionary in a form suitable for sending to a web server." msgstr "" -#: ../../library/logging.handlers.rst:977 +#: ../../library/logging.handlers.rst:1010 msgid "QueueHandler" msgstr "" -#: ../../library/logging.handlers.rst:981 +#: ../../library/logging.handlers.rst:1014 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:985 +#: ../../library/logging.handlers.rst:1018 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 " @@ -1377,7 +1737,7 @@ msgid "" "an email via :class:`SMTPHandler`) are done on a separate thread." msgstr "" -#: ../../library/logging.handlers.rst:994 +#: ../../library/logging.handlers.rst:1027 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-" @@ -1387,7 +1747,14 @@ msgid "" "instances for *queue*." msgstr "" -#: ../../library/logging.handlers.rst:1004 +#: ../../library/logging.handlers.rst:1034 +#: ../../library/logging.handlers.rst:1123 +msgid "" +"If you are using :mod:`multiprocessing`, you should avoid using :class:" +"`~queue.SimpleQueue` and instead use :class:`multiprocessing.Queue`." +msgstr "" + +#: ../../library/logging.handlers.rst:1039 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." @@ -1397,38 +1764,64 @@ msgid "" "raiseExceptions` is ``True``)." msgstr "" -#: ../../library/logging.handlers.rst:1013 +#: ../../library/logging.handlers.rst:1048 msgid "" "Prepares a record for queuing. The object returned by this method is " "enqueued." msgstr "" -#: ../../library/logging.handlers.rst:1016 +#: ../../library/logging.handlers.rst:1051 msgid "" "The base implementation formats the record to merge the message, arguments, " -"and exception information, if present. It also removes unpickleable items " -"from the record in-place." +"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``." msgstr "" -#: ../../library/logging.handlers.rst:1020 +#: ../../library/logging.handlers.rst:1059 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:1026 +#: ../../library/logging.handlers.rst:1063 +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 " +"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 " +"ensuring the record is pickleable, and you might or might not be able to " +"avoid doing that depending on whether your ``args`` are pickleable. (Note " +"that you may have to consider not only your own code but also code in any " +"libraries that you use.)" +msgstr "" + +#: ../../library/logging.handlers.rst:1079 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:1035 +#: ../../library/logging.handlers.rst:1085 +msgid "" +"When created via configuration using :func:`~logging.config.dictConfig`, " +"this attribute will contain a :class:`QueueListener` instance for use with " +"this handler. Otherwise, it will be ``None``." +msgstr "" + +#: ../../library/logging.handlers.rst:1094 msgid "QueueListener" msgstr "" -#: ../../library/logging.handlers.rst:1039 +#: ../../library/logging.handlers.rst:1098 msgid "" "The :class:`QueueListener` class, located in the :mod:`logging.handlers` " "module, supports receiving logging messages from a queue, such as those " @@ -1439,7 +1832,7 @@ msgid "" "works hand-in-hand with :class:`QueueHandler`." msgstr "" -#: ../../library/logging.handlers.rst:1047 +#: ../../library/logging.handlers.rst:1106 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 " @@ -1449,7 +1842,7 @@ msgid "" "an email via :class:`SMTPHandler`) are done on a separate thread." msgstr "" -#: ../../library/logging.handlers.rst:1056 +#: ../../library/logging.handlers.rst:1115 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 " @@ -1460,7 +1853,7 @@ msgid "" "class:`~queue.SimpleQueue` instances for *queue*." msgstr "" -#: ../../library/logging.handlers.rst:1064 +#: ../../library/logging.handlers.rst:1126 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 " @@ -1468,82 +1861,82 @@ msgid "" "versions - to always pass each message to each handler." msgstr "" -#: ../../library/logging.handlers.rst:1069 +#: ../../library/logging.handlers.rst:1131 msgid "The ``respect_handler_level`` argument was added." msgstr "" -#: ../../library/logging.handlers.rst:1074 +#: ../../library/logging.handlers.rst:1136 msgid "Dequeues a record and return it, optionally blocking." msgstr "" -#: ../../library/logging.handlers.rst:1076 +#: ../../library/logging.handlers.rst:1138 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:1082 +#: ../../library/logging.handlers.rst:1144 msgid "Prepare a record for handling." msgstr "" -#: ../../library/logging.handlers.rst:1084 +#: ../../library/logging.handlers.rst:1146 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:1090 +#: ../../library/logging.handlers.rst:1152 msgid "Handle a record." msgstr "" -#: ../../library/logging.handlers.rst:1092 +#: ../../library/logging.handlers.rst:1154 msgid "" "This just loops through the handlers offering them the record to handle. The " "actual object passed to the handlers is that which is returned from :meth:" "`prepare`." msgstr "" -#: ../../library/logging.handlers.rst:1098 +#: ../../library/logging.handlers.rst:1160 msgid "Starts the listener." msgstr "" -#: ../../library/logging.handlers.rst:1100 +#: ../../library/logging.handlers.rst:1162 msgid "" "This starts up a background thread to monitor the queue for LogRecords to " "process." msgstr "" -#: ../../library/logging.handlers.rst:1105 +#: ../../library/logging.handlers.rst:1167 msgid "Stops the listener." msgstr "" -#: ../../library/logging.handlers.rst:1107 +#: ../../library/logging.handlers.rst:1169 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:1113 +#: ../../library/logging.handlers.rst:1175 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:1124 +#: ../../library/logging.handlers.rst:1186 msgid "Module :mod:`logging`" msgstr "Módulo :mod:`logging`" -#: ../../library/logging.handlers.rst:1124 +#: ../../library/logging.handlers.rst:1186 msgid "API reference for the logging module." msgstr "Referência da API para o módulo de logging." -#: ../../library/logging.handlers.rst:1126 +#: ../../library/logging.handlers.rst:1188 msgid "Module :mod:`logging.config`" msgstr "Módulo :mod:`logging.config`" -#: ../../library/logging.handlers.rst:1127 +#: ../../library/logging.handlers.rst:1189 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 2be14ee64..698a9fb64 100644 --- a/library/logging.po +++ b/library/logging.po @@ -1,35 +1,28 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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 -# Marco Rougeth , 2021 -# Claudio Rogerio Carvalho Filho , 2021 -# Katyanna Moura , 2021 -# Aline Balogh , 2021 -# i17obot , 2021 -# Danilo Lima , 2021 -# Glaucia Esppenchutz , 2021 -# Eduardo Farias, 2021 +# python-doc bot, 2025 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.10\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-07-26 13:07+0000\n" -"PO-Revision-Date: 2021-06-28 01:09+0000\n" -"Last-Translator: Eduardo Farias, 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:58+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=2; plural=(n > 1);\n" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/logging.rst:2 msgid ":mod:`logging` --- Logging facility for Python" @@ -44,20 +37,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 "" @@ -80,16 +73,20 @@ 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:" + +#: ../../library/logging.rst:41 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 see the " -"tutorials (see the links on the right)." +"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 fornece muita funcionalidade e flexibilidade. Se não for familiar " -"com registro de eventos, a melhor forma de lidar com isso é verificar os " -"tutoriais (siga os links à direita)." +"O módulo provê várias funcionalidades e flexibilidade. Se você não está " +"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:37 +#: ../../library/logging.rst:45 msgid "" "The basic classes defined by the module, together with their functions, are " "listed below." @@ -97,11 +94,11 @@ msgstr "" "As classes básicas definidas no módulo, juntamente com suas funções, são " "listadas abaixo." -#: ../../library/logging.rst:40 +#: ../../library/logging.rst:48 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:41 +#: ../../library/logging.rst:49 msgid "" "Handlers send the log records (created by loggers) to the appropriate " "destination." @@ -109,7 +106,7 @@ msgstr "" "Handlers enviam os registros do evento (criados por loggers) aos destinos " "apropriados." -#: ../../library/logging.rst:43 +#: ../../library/logging.rst:51 msgid "" "Filters provide a finer grained facility for determining which log records " "to output." @@ -117,28 +114,29 @@ msgstr "" "Filters fornecem uma facilidade granular para determinar quais registros de " "eventos enviar à saída." -#: ../../library/logging.rst:45 +#: ../../library/logging.rst:53 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:51 +#: ../../library/logging.rst:59 msgid "Logger Objects" msgstr "Objetos Logger" -#: ../../library/logging.rst:53 +#: ../../library/logging.rst:61 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:58 +#: ../../library/logging.rst:66 msgid "" "The ``name`` is potentially a period-separated hierarchical value, like " "``foo.bar.baz`` (though it could also be just plain ``foo``, for example). " @@ -162,7 +160,7 @@ msgstr "" "getLogger(__name__)``. Isso porque num módulo, ``__name__`` é o nome do " "módulo no espaço de nomes do pacote Python." -#: ../../library/logging.rst:74 +#: ../../library/logging.rst:82 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 " @@ -170,23 +168,49 @@ 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:80 +#: ../../library/logging.rst:88 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." - -#: ../../library/logging.rst:83 +"Se o valor for falso, as mensagens de registro não serão passadas para os " +"tratadores de registradores ancestrais." + +#: ../../library/logging.rst:91 +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 " +"method call such as ``logging.getLogger('A.B.C').error(...)`` will [subject " +"to passing that logger's level and filter settings] be passed in turn to any " +"handlers attached to loggers named ``A.B``, ``A`` and the root logger, after " +"first being passed to any handlers attached to ``A.B.C``. If any logger in " +"the chain ``A.B.C``, ``A.B``, ``A`` has its ``propagate`` attribute set to " +"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 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:100 msgid "The constructor sets this attribute to ``True``." msgstr "O construtor atribui este valor como ``True``." -#: ../../library/logging.rst:85 +#: ../../library/logging.rst:102 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 " @@ -197,16 +221,16 @@ 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:96 +#: ../../library/logging.rst:113 msgid "" "Sets the threshold for this logger to *level*. Logging messages which are " "less severe than *level* will be ignored; logging messages which have " @@ -220,7 +244,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:101 +#: ../../library/logging.rst:118 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 " @@ -232,32 +256,42 @@ 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:106 +#: ../../library/logging.rst:123 msgid "" "The term 'delegation to the parent' means that if a logger has a level of " "NOTSET, its chain of ancestor loggers is traversed until either an ancestor " "with a level other than NOTSET is found, or the root is reached." msgstr "" +"O termo \"delegação ao pai\" significa que o logger possui um nível de " +"NOTSET, e a sua cadeia de loggers ancestrais será percorrida até que um " +"ancestral com o nível diferente de NOTSET seja encontrado ou até a raiz ser " +"alcançada." -#: ../../library/logging.rst:110 +#: ../../library/logging.rst:127 msgid "" "If an ancestor is found with a level other than NOTSET, then that ancestor's " "level is treated as the effective level of the logger where the ancestor " "search began, and is used to determine how a logging event is handled." msgstr "" +"Se um ancestral for achado com um nível diferente de NOTSET, então o nível " +"daquele ancestral será tratado como o nível efetivo do logger que começou a " +"busca por ancestrais, e é usado para determinar como um registro de evento " +"será manipulado." -#: ../../library/logging.rst:114 +#: ../../library/logging.rst:131 msgid "" "If the root is reached, and it has a level of NOTSET, then all messages will " "be processed. Otherwise, the root's level will be used as the effective " "level." msgstr "" +"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:117 ../../library/logging.rst:426 +#: ../../library/logging.rst:134 ../../library/logging.rst:447 msgid "See :ref:`levels` for a list of levels." -msgstr "" +msgstr "Veja :ref:`levels` para uma lista de níveis." -#: ../../library/logging.rst:119 +#: ../../library/logging.rst:136 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`. " @@ -265,16 +299,25 @@ msgid "" "such as e.g. :meth:`getEffectiveLevel` and :meth:`isEnabledFor` will return/" "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." -#: ../../library/logging.rst:129 +#: ../../library/logging.rst:146 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`." 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:137 +#: ../../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 " @@ -282,8 +325,14 @@ msgid "" "`NOTSET` is found, and that value is returned. The value returned is an " "integer, typically one of :const:`logging.DEBUG`, :const:`logging.INFO` etc." msgstr "" +"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" -#: ../../library/logging.rst:147 +#: ../../library/logging.rst:164 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 " @@ -291,8 +340,13 @@ msgid "" "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." -#: ../../library/logging.rst:158 +#: ../../library/logging.rst:175 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 " @@ -302,13 +356,15 @@ msgid "" "are supplied." msgstr "" -#: ../../library/logging.rst:164 +#: ../../library/logging.rst:181 msgid "" "There are four keyword arguments in *kwargs* which are inspected: " "*exc_info*, *stack_info*, *stacklevel* and *extra*." msgstr "" +"Existem quatro argumentos nomeados em *kwargs* que serão inspecionados: " +"*exc_info*, *stack_info*, *stacklevel* e *extra*." -#: ../../library/logging.rst:167 +#: ../../library/logging.rst:184 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 " @@ -317,7 +373,7 @@ msgid "" "information." msgstr "" -#: ../../library/logging.rst:172 ../../library/logging.rst:977 +#: ../../library/logging.rst:189 ../../library/logging.rst:1067 msgid "" "The second optional keyword argument is *stack_info*, which defaults to " "``False``. If true, stack information is added to the logging message, " @@ -329,20 +385,22 @@ msgid "" "handlers." msgstr "" -#: ../../library/logging.rst:181 ../../library/logging.rst:986 +#: ../../library/logging.rst:198 ../../library/logging.rst:1076 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:189 ../../library/logging.rst:994 +#: ../../library/logging.rst:206 ../../library/logging.rst:1084 msgid "" "This mimics the ``Traceback (most recent call last):`` which is used when " "displaying exception frames." msgstr "" +"Isso imita o ``Traceback (most recent call last):`` que é usado ao exibir " +"quadros de exceção." -#: ../../library/logging.rst:192 +#: ../../library/logging.rst:209 msgid "" "The third optional keyword argument is *stacklevel*, which defaults to " "``1``. If greater than 1, the corresponding number of stack frames are " @@ -354,7 +412,7 @@ msgid "" "module." msgstr "" -#: ../../library/logging.rst:200 +#: ../../library/logging.rst:217 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` " @@ -363,18 +421,18 @@ msgid "" "incorporated into logged messages. For example::" msgstr "" -#: ../../library/logging.rst:212 +#: ../../library/logging.rst:229 msgid "would print something like" -msgstr "" +msgstr "imprimiria algo como" -#: ../../library/logging.rst:218 ../../library/logging.rst:1014 +#: ../../library/logging.rst:235 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.)" +"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:222 +#: ../../library/logging.rst:239 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:" @@ -385,7 +443,7 @@ msgid "" "dictionary with these keys." msgstr "" -#: ../../library/logging.rst:229 ../../library/logging.rst:1025 +#: ../../library/logging.rst:246 ../../library/logging.rst:1115 msgid "" "While this might be annoying, this feature is intended for use in " "specialized circumstances, such as multi-threaded servers where the same " @@ -396,71 +454,81 @@ msgid "" "particular :class:`Handler`\\ s." msgstr "" -#: ../../library/logging.rst:236 ../../library/logging.rst:1032 -msgid "The *stack_info* parameter was added." +#: ../../library/logging.rst:253 +msgid "" +"If no handler is attached to this logger (or any of its ancestors, taking " +"into account the relevant :attr:`Logger.propagate` attributes), the message " +"will be sent to the handler set on :attr:`lastResort`." msgstr "" +"Se nenhum tratador esta ligado à este logger (ou nenhum de seus ancestrais, " +"levando em consideração os atributos :attr:`Logger.propagate` relevantes), a " +"mensagem será enviada para o tratador definido em :attr:`lastResort`." -#: ../../library/logging.rst:239 +#: ../../library/logging.rst:257 ../../library/logging.rst:1126 +msgid "The *stack_info* parameter was added." +msgstr "O parâmetro *stack_info* foi adicionado." + +#: ../../library/logging.rst:260 msgid "The *exc_info* parameter can now accept exception instances." msgstr "" -#: ../../library/logging.rst:242 +#: ../../library/logging.rst:263 msgid "The *stacklevel* parameter was added." -msgstr "" +msgstr "O parâmetro *stacklevel* foi adicionado." -#: ../../library/logging.rst:248 +#: ../../library/logging.rst:269 msgid "" "Logs a message with level :const:`INFO` on this logger. The arguments are " "interpreted as for :meth:`debug`." msgstr "" -#: ../../library/logging.rst:254 +#: ../../library/logging.rst:275 msgid "" "Logs a message with level :const:`WARNING` on this logger. The arguments are " "interpreted as for :meth:`debug`." msgstr "" -#: ../../library/logging.rst:257 +#: ../../library/logging.rst:278 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:263 +#: ../../library/logging.rst:284 msgid "" "Logs a message with level :const:`ERROR` on this logger. The arguments are " "interpreted as for :meth:`debug`." msgstr "" -#: ../../library/logging.rst:269 +#: ../../library/logging.rst:290 msgid "" "Logs a message with level :const:`CRITICAL` on this logger. The arguments " "are interpreted as for :meth:`debug`." msgstr "" -#: ../../library/logging.rst:275 +#: ../../library/logging.rst:296 msgid "" "Logs a message with integer level *level* on this logger. The other " "arguments are interpreted as for :meth:`debug`." msgstr "" -#: ../../library/logging.rst:281 +#: ../../library/logging.rst:302 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:288 +#: ../../library/logging.rst:309 msgid "Adds the specified filter *filter* to this logger." msgstr "" -#: ../../library/logging.rst:293 +#: ../../library/logging.rst:314 msgid "Removes the specified filter *filter* from this logger." msgstr "" -#: ../../library/logging.rst:298 +#: ../../library/logging.rst:319 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 " @@ -469,22 +537,22 @@ msgid "" "processing of the record occurs." msgstr "" -#: ../../library/logging.rst:307 +#: ../../library/logging.rst:328 msgid "Adds the specified handler *hdlr* to this logger." -msgstr "" +msgstr "Adiciona o tratador especificado por *hdlr* deste logger." -#: ../../library/logging.rst:312 +#: ../../library/logging.rst:333 msgid "Removes the specified handler *hdlr* from this logger." -msgstr "" +msgstr "Remove o tratador especificado por *hdlr* deste logger." -#: ../../library/logging.rst:317 +#: ../../library/logging.rst:338 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:321 +#: ../../library/logging.rst:342 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 " @@ -494,7 +562,7 @@ msgid "" "calls it." msgstr "" -#: ../../library/logging.rst:331 +#: ../../library/logging.rst:352 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 " @@ -503,13 +571,13 @@ msgid "" "filter`." msgstr "" -#: ../../library/logging.rst:339 +#: ../../library/logging.rst:360 msgid "" "This is a factory method which can be overridden in subclasses to create " "specialized :class:`LogRecord` instances." msgstr "" -#: ../../library/logging.rst:344 +#: ../../library/logging.rst:365 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. " @@ -519,15 +587,15 @@ msgid "" "the existence of handlers." msgstr "" -#: ../../library/logging.rst:353 +#: ../../library/logging.rst:374 msgid "Loggers can now be pickled and unpickled." msgstr "" -#: ../../library/logging.rst:359 +#: ../../library/logging.rst:380 msgid "Logging Levels" -msgstr "" +msgstr "Níveis de Logging" -#: ../../library/logging.rst:361 +#: ../../library/logging.rst:382 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 " @@ -535,68 +603,73 @@ 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:368 +#: ../../library/logging.rst:389 msgid "Level" msgstr "Nível" -#: ../../library/logging.rst:368 +#: ../../library/logging.rst:389 msgid "Numeric value" msgstr "Valor numérico" -#: ../../library/logging.rst:370 +#: ../../library/logging.rst:391 msgid "``CRITICAL``" msgstr "``CRITICAL``" -#: ../../library/logging.rst:370 +#: ../../library/logging.rst:391 msgid "50" msgstr "50" -#: ../../library/logging.rst:372 +#: ../../library/logging.rst:393 msgid "``ERROR``" msgstr "``ERROR``" -#: ../../library/logging.rst:372 +#: ../../library/logging.rst:393 msgid "40" msgstr "40" -#: ../../library/logging.rst:374 +#: ../../library/logging.rst:395 msgid "``WARNING``" msgstr "``WARNING``" -#: ../../library/logging.rst:374 +#: ../../library/logging.rst:395 msgid "30" msgstr "30" -#: ../../library/logging.rst:376 +#: ../../library/logging.rst:397 msgid "``INFO``" msgstr "``INFO``" -#: ../../library/logging.rst:376 +#: ../../library/logging.rst:397 msgid "20" msgstr "20" -#: ../../library/logging.rst:378 +#: ../../library/logging.rst:399 msgid "``DEBUG``" msgstr "``DEBUG``" -#: ../../library/logging.rst:378 +#: ../../library/logging.rst:399 msgid "10" msgstr "10" -#: ../../library/logging.rst:380 +#: ../../library/logging.rst:401 msgid "``NOTSET``" msgstr "``NOTSET``" -#: ../../library/logging.rst:380 +#: ../../library/logging.rst:401 msgid "0" msgstr "0" -#: ../../library/logging.rst:387 +#: ../../library/logging.rst:408 msgid "Handler Objects" -msgstr "Manipulação de Objetos" +msgstr "Objetos Handler" -#: ../../library/logging.rst:389 +#: ../../library/logging.rst:410 msgid "" "Handlers have the following attributes and methods. Note that :class:" "`Handler` is never instantiated directly; this class acts as a base for more " @@ -604,53 +677,53 @@ msgid "" "to call :meth:`Handler.__init__`." msgstr "" -#: ../../library/logging.rst:398 +#: ../../library/logging.rst:419 msgid "" "Initializes the :class:`Handler` instance by setting its level, setting the " "list of filters to the empty list and creating a lock (using :meth:" "`createLock`) for serializing access to an I/O mechanism." msgstr "" -#: ../../library/logging.rst:405 +#: ../../library/logging.rst:426 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:411 +#: ../../library/logging.rst:432 msgid "Acquires the thread lock created with :meth:`createLock`." msgstr "" -#: ../../library/logging.rst:416 +#: ../../library/logging.rst:437 msgid "Releases the thread lock acquired with :meth:`acquire`." msgstr "" -#: ../../library/logging.rst:421 +#: ../../library/logging.rst:442 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:428 +#: ../../library/logging.rst:449 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:436 +#: ../../library/logging.rst:457 msgid "Sets the :class:`Formatter` for this handler to *fmt*." msgstr "" -#: ../../library/logging.rst:441 +#: ../../library/logging.rst:462 msgid "Adds the specified filter *filter* to this handler." msgstr "" -#: ../../library/logging.rst:446 +#: ../../library/logging.rst:467 msgid "Removes the specified filter *filter* from this handler." msgstr "" -#: ../../library/logging.rst:451 +#: ../../library/logging.rst:472 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 " @@ -659,13 +732,13 @@ msgid "" "record." msgstr "" -#: ../../library/logging.rst:460 +#: ../../library/logging.rst:481 msgid "" "Ensure all logging output has been flushed. This version does nothing and is " "intended to be implemented by subclasses." msgstr "" -#: ../../library/logging.rst:466 +#: ../../library/logging.rst:487 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 :" @@ -673,14 +746,14 @@ msgid "" "from overridden :meth:`close` methods." msgstr "" -#: ../../library/logging.rst:474 +#: ../../library/logging.rst:495 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:481 +#: ../../library/logging.rst:502 msgid "" "This method should be called from handlers when an exception is encountered " "during an :meth:`emit` call. If the module-level attribute " @@ -693,29 +766,54 @@ msgid "" "more useful during development)." msgstr "" -#: ../../library/logging.rst:494 +#: ../../library/logging.rst:515 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:500 +#: ../../library/logging.rst:521 msgid "" "Do whatever it takes to actually log the specified logging record. This " "version is intended to be implemented by subclasses and so raises a :exc:" "`NotImplementedError`." msgstr "" -#: ../../library/logging.rst:504 +#: ../../library/logging.rst:525 +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 " +"you should be careful when calling anything that invokes other parts of the " +"logging API which might do locking, because that might result in a deadlock. " +"Specifically:" +msgstr "" + +#: ../../library/logging.rst:531 +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 +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 " +"another thread, because that thread will try to acquire the module-level " +"lock *before* the handler-level lock, whereas this thread tries to acquire " +"the module-level lock *after* the handler-level lock (because in this " +"method, the handler-level lock has already been acquired)." +msgstr "" + +#: ../../library/logging.rst:541 msgid "" "For a list of handlers included as standard, see :mod:`logging.handlers`." msgstr "" -#: ../../library/logging.rst:509 +#: ../../library/logging.rst:546 msgid "Formatter Objects" msgstr "" -#: ../../library/logging.rst:513 +#: ../../library/logging.rst:550 msgid "" ":class:`Formatter` objects have the following attributes and methods. They " "are responsible for converting a :class:`LogRecord` to (usually) a string " @@ -726,7 +824,7 @@ msgid "" "information in the formatted output (such as a timestamp), keep reading." msgstr "" -#: ../../library/logging.rst:521 +#: ../../library/logging.rst:558 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 " @@ -736,13 +834,13 @@ msgid "" "ref:`old-string-formatting` for more information on string formatting." msgstr "" -#: ../../library/logging.rst:528 +#: ../../library/logging.rst:565 msgid "" "The useful mapping keys in a :class:`LogRecord` are given in the section on :" "ref:`logrecord-attributes`." msgstr "" -#: ../../library/logging.rst:534 +#: ../../library/logging.rst:571 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 " @@ -751,7 +849,7 @@ msgid "" "format is used which is described in the :meth:`formatTime` documentation." msgstr "" -#: ../../library/logging.rst:540 +#: ../../library/logging.rst:577 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:" @@ -761,29 +859,29 @@ msgid "" "for more information on using {- and $-formatting for log messages." msgstr "" -#: ../../library/logging.rst:548 +#: ../../library/logging.rst:585 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:552 +#: ../../library/logging.rst:589 msgid "The *style* parameter was added." msgstr "" -#: ../../library/logging.rst:555 +#: ../../library/logging.rst:592 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:560 +#: ../../library/logging.rst:597 msgid "The *defaults* parameter was added." msgstr "" -#: ../../library/logging.rst:565 +#: ../../library/logging.rst:602 msgid "" "The record's attribute dictionary is used as the operand to a string " "formatting operation. Returns the resulting string. Before formatting the " @@ -802,13 +900,13 @@ msgid "" "recalculates it afresh." msgstr "" -#: ../../library/logging.rst:581 +#: ../../library/logging.rst:618 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:587 +#: ../../library/logging.rst:624 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 " @@ -821,7 +919,7 @@ msgid "" "resulting string is returned." msgstr "" -#: ../../library/logging.rst:597 +#: ../../library/logging.rst:634 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 " @@ -831,7 +929,7 @@ msgid "" "be shown in GMT, set the ``converter`` attribute in the ``Formatter`` class." msgstr "" -#: ../../library/logging.rst:605 +#: ../../library/logging.rst:642 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 " @@ -846,11 +944,11 @@ msgid "" "the millisecond value)." msgstr "" -#: ../../library/logging.rst:618 +#: ../../library/logging.rst:655 msgid "The ``default_msec_format`` can be ``None``." msgstr "" -#: ../../library/logging.rst:623 +#: ../../library/logging.rst:660 msgid "" "Formats the specified exception information (a standard exception tuple as " "returned by :func:`sys.exc_info`) as a string. This default implementation " @@ -858,18 +956,50 @@ msgid "" "returned." msgstr "" -#: ../../library/logging.rst:630 +#: ../../library/logging.rst:667 msgid "" "Formats the specified stack information (a string as returned by :func:" "`traceback.print_stack`, but with the last newline removed) as a string. " "This default implementation just returns the input value." msgstr "" -#: ../../library/logging.rst:637 +#: ../../library/logging.rst:673 +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 " +"to use to format each line (that corresponds to a single record). If not " +"specified, the default formatter (which just outputs the event message) is " +"used as the line formatter." +msgstr "" + +#: ../../library/logging.rst:681 +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 " +"specific behaviour, e.g. to show the count of records, a title or a " +"separator line." +msgstr "" + +#: ../../library/logging.rst:688 +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 +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 " +"concatenation of the header, each record formatted with the line formatter, " +"and the footer." +msgstr "" + +#: ../../library/logging.rst:703 msgid "Filter Objects" msgstr "" -#: ../../library/logging.rst:639 +#: ../../library/logging.rst:705 msgid "" "``Filters`` can be used by ``Handlers`` and ``Loggers`` for more " "sophisticated filtering than is provided by levels. The base filter class " @@ -879,7 +1009,7 @@ msgid "" "If initialized with the empty string, all events are passed." msgstr "" -#: ../../library/logging.rst:649 +#: ../../library/logging.rst:715 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 " @@ -887,13 +1017,13 @@ msgid "" "event." msgstr "" -#: ../../library/logging.rst:656 +#: ../../library/logging.rst:722 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:660 +#: ../../library/logging.rst:726 msgid "" "Note that filters attached to handlers are consulted before an event is " "emitted by the handler, whereas filters attached to loggers are consulted " @@ -903,13 +1033,13 @@ msgid "" "setting, unless the filter has also been applied to those descendant loggers." msgstr "" -#: ../../library/logging.rst:667 +#: ../../library/logging.rst:733 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:670 +#: ../../library/logging.rst:736 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) " @@ -920,7 +1050,7 @@ msgid "" "value should conform to that returned by :meth:`~Filter.filter`." msgstr "" -#: ../../library/logging.rst:680 +#: ../../library/logging.rst:746 msgid "" "Although filters are used primarily to filter records based on more " "sophisticated criteria than levels, they get to see every record which is " @@ -932,11 +1062,11 @@ msgid "" "contextual information into logs (see :ref:`filters-contextual`)." msgstr "" -#: ../../library/logging.rst:692 +#: ../../library/logging.rst:759 msgid "LogRecord Objects" msgstr "" -#: ../../library/logging.rst:694 +#: ../../library/logging.rst:761 msgid "" ":class:`LogRecord` instances are created automatically by the :class:" "`Logger` every time something is logged, and can be created manually via :" @@ -944,73 +1074,76 @@ msgid "" "wire)." msgstr "" -#: ../../library/logging.rst:702 +#: ../../library/logging.rst:769 msgid "Contains all the information pertinent to the event being logged." msgstr "" -#: ../../library/logging.rst:704 +#: ../../library/logging.rst:771 msgid "" -"The primary information is passed in :attr:`msg` and :attr:`args`, which are " -"combined using ``msg % args`` to create the :attr:`message` field of the " -"record." +"The primary information is passed in *msg* and *args*, which are combined " +"using ``msg % args`` to create the :attr:`!message` attribute of the record." msgstr "" #: ../../library/logging.rst:0 msgid "Parameters" msgstr "Parâmetros" -#: ../../library/logging.rst:708 +#: ../../library/logging.rst:775 msgid "" -"The name of the logger used to log the event represented by this LogRecord. " -"Note that this name will always have this value, even though it may be " -"emitted by a handler attached to a different (ancestor) logger." +"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 " +"have this value, even though it may be emitted by a handler attached to a " +"different (ancestor) logger." msgstr "" -#: ../../library/logging.rst:712 +#: ../../library/logging.rst:783 msgid "" -"The numeric level of the logging event (one of DEBUG, INFO etc.) Note that " -"this is converted to *two* attributes of the LogRecord: ``levelno`` for the " -"numeric value and ``levelname`` for the corresponding level name." +"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." msgstr "" -#: ../../library/logging.rst:716 -msgid "The full pathname of the source file where the logging call was made." +#: ../../library/logging.rst:790 +msgid "" +"The full string path of the source file where the logging call was made." msgstr "" -#: ../../library/logging.rst:718 +#: ../../library/logging.rst:794 msgid "The line number in the source file where the logging call was made." msgstr "" -#: ../../library/logging.rst:720 +#: ../../library/logging.rst:798 msgid "" -"The event description message, possibly a format string with placeholders " -"for variable data." +"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:722 +#: ../../library/logging.rst:803 msgid "" "Variable data to merge into the *msg* argument to obtain the event " "description." msgstr "" -#: ../../library/logging.rst:724 +#: ../../library/logging.rst:807 msgid "" -"An exception tuple with the current exception information, 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:726 +#: ../../library/logging.rst:812 msgid "" "The name of the function or method from which the logging call was invoked." msgstr "" -#: ../../library/logging.rst:728 +#: ../../library/logging.rst:816 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:733 +#: ../../library/logging.rst:823 msgid "" "Returns the message for this :class:`LogRecord` instance after merging any " "user-supplied arguments with the message. If the user-supplied message " @@ -1019,7 +1152,7 @@ msgid "" "whose ``__str__`` method can return the actual format string to be used." msgstr "" -#: ../../library/logging.rst:740 +#: ../../library/logging.rst:830 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 " @@ -1027,24 +1160,24 @@ msgid "" "this for the factory's signature)." msgstr "" -#: ../../library/logging.rst:746 +#: ../../library/logging.rst:836 msgid "" "This functionality can be used to inject your own values into a :class:" "`LogRecord` at creation time. You can use the following pattern::" msgstr "" -#: ../../library/logging.rst:758 +#: ../../library/logging.rst:848 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:767 +#: ../../library/logging.rst:857 msgid "LogRecord attributes" msgstr "Atributos LogRecord" -#: ../../library/logging.rst:769 +#: ../../library/logging.rst:859 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 " @@ -1055,7 +1188,7 @@ msgid "" "style format string." msgstr "" -#: ../../library/logging.rst:777 +#: ../../library/logging.rst:867 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 (:" @@ -1063,7 +1196,7 @@ msgid "" "course, replace ``attrname`` with the actual attribute name you want to use." msgstr "" -#: ../../library/logging.rst:783 +#: ../../library/logging.rst:873 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: " @@ -1072,308 +1205,308 @@ msgid "" "on the options available to you." msgstr "" -#: ../../library/logging.rst:790 +#: ../../library/logging.rst:880 msgid "Attribute name" msgstr "" -#: ../../library/logging.rst:790 ../../library/logging.rst:1179 +#: ../../library/logging.rst:880 ../../library/logging.rst:1263 msgid "Format" msgstr "Formatação" -#: ../../library/logging.rst:790 ../../library/logging.rst:1179 +#: ../../library/logging.rst:880 ../../library/logging.rst:1263 msgid "Description" msgstr "Descrição" -#: ../../library/logging.rst:792 ../../library/logging.rst:0 +#: ../../library/logging.rst:882 ../../library/logging.rst:0 msgid "args" -msgstr "" +msgstr "args" -#: ../../library/logging.rst:792 ../../library/logging.rst:806 -#: ../../library/logging.rst:834 ../../library/logging.rst:852 +#: ../../library/logging.rst:882 ../../library/logging.rst:896 +#: ../../library/logging.rst:924 ../../library/logging.rst:942 msgid "You shouldn't need to format this yourself." msgstr "" -#: ../../library/logging.rst:792 +#: ../../library/logging.rst:882 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:797 +#: ../../library/logging.rst:887 msgid "asctime" msgstr "" -#: ../../library/logging.rst:797 +#: ../../library/logging.rst:887 msgid "``%(asctime)s``" msgstr "``%(asctime)s``" -#: ../../library/logging.rst:797 +#: ../../library/logging.rst:887 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:803 +#: ../../library/logging.rst:893 msgid "created" msgstr "" -#: ../../library/logging.rst:803 +#: ../../library/logging.rst:893 msgid "``%(created)f``" msgstr "``%(created)f``" -#: ../../library/logging.rst:803 +#: ../../library/logging.rst:893 msgid "" "Time when the :class:`LogRecord` was created (as returned by :func:`time." "time`)." msgstr "" -#: ../../library/logging.rst:806 ../../library/logging.rst:0 +#: ../../library/logging.rst:896 ../../library/logging.rst:0 msgid "exc_info" msgstr "" -#: ../../library/logging.rst:806 +#: ../../library/logging.rst:896 msgid "" "Exception tuple (à la ``sys.exc_info``) or, if no exception has occurred, " "``None``." msgstr "" -#: ../../library/logging.rst:809 +#: ../../library/logging.rst:899 msgid "filename" msgstr "filename" -#: ../../library/logging.rst:809 +#: ../../library/logging.rst:899 msgid "``%(filename)s``" msgstr "``%(filename)s``" -#: ../../library/logging.rst:809 +#: ../../library/logging.rst:899 msgid "Filename portion of ``pathname``." msgstr "" -#: ../../library/logging.rst:811 +#: ../../library/logging.rst:901 msgid "funcName" msgstr "" -#: ../../library/logging.rst:811 +#: ../../library/logging.rst:901 msgid "``%(funcName)s``" msgstr "``%(funcName)s``" -#: ../../library/logging.rst:811 +#: ../../library/logging.rst:901 msgid "Name of function containing the logging call." msgstr "" -#: ../../library/logging.rst:813 +#: ../../library/logging.rst:903 msgid "levelname" msgstr "" -#: ../../library/logging.rst:813 +#: ../../library/logging.rst:903 msgid "``%(levelname)s``" msgstr "``%(levelname)s``" -#: ../../library/logging.rst:813 +#: ../../library/logging.rst:903 msgid "" "Text logging level for the message (``'DEBUG'``, ``'INFO'``, ``'WARNING'``, " "``'ERROR'``, ``'CRITICAL'``)." msgstr "" -#: ../../library/logging.rst:817 +#: ../../library/logging.rst:907 msgid "levelno" msgstr "" -#: ../../library/logging.rst:817 +#: ../../library/logging.rst:907 msgid "``%(levelno)s``" msgstr "``%(levelno)s``" -#: ../../library/logging.rst:817 +#: ../../library/logging.rst:907 msgid "" "Numeric logging level for the message (:const:`DEBUG`, :const:`INFO`, :const:" "`WARNING`, :const:`ERROR`, :const:`CRITICAL`)." msgstr "" -#: ../../library/logging.rst:822 +#: ../../library/logging.rst:912 msgid "lineno" msgstr "" -#: ../../library/logging.rst:822 +#: ../../library/logging.rst:912 msgid "``%(lineno)d``" msgstr "``%(lineno)d``" -#: ../../library/logging.rst:822 +#: ../../library/logging.rst:912 msgid "Source line number where the logging call was issued (if available)." msgstr "" -#: ../../library/logging.rst:825 +#: ../../library/logging.rst:915 msgid "message" msgstr "" -#: ../../library/logging.rst:825 +#: ../../library/logging.rst:915 msgid "``%(message)s``" msgstr "``%(message)s``" -#: ../../library/logging.rst:825 +#: ../../library/logging.rst:915 msgid "" "The logged message, computed as ``msg % args``. This is set when :meth:" "`Formatter.format` is invoked." msgstr "" -#: ../../library/logging.rst:829 +#: ../../library/logging.rst:919 msgid "module" msgstr "módulo" -#: ../../library/logging.rst:829 +#: ../../library/logging.rst:919 msgid "``%(module)s``" msgstr "``%(module)s``" -#: ../../library/logging.rst:829 +#: ../../library/logging.rst:919 msgid "Module (name portion of ``filename``)." msgstr "" -#: ../../library/logging.rst:831 +#: ../../library/logging.rst:921 msgid "msecs" msgstr "" -#: ../../library/logging.rst:831 +#: ../../library/logging.rst:921 msgid "``%(msecs)d``" msgstr "``%(msecs)d``" -#: ../../library/logging.rst:831 +#: ../../library/logging.rst:921 msgid "" "Millisecond portion of the time when the :class:`LogRecord` was created." msgstr "" -#: ../../library/logging.rst:834 ../../library/logging.rst:0 +#: ../../library/logging.rst:924 ../../library/logging.rst:0 msgid "msg" msgstr "" -#: ../../library/logging.rst:834 +#: ../../library/logging.rst:924 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:839 ../../library/logging.rst:0 +#: ../../library/logging.rst:929 ../../library/logging.rst:0 msgid "name" msgstr "nome" -#: ../../library/logging.rst:839 +#: ../../library/logging.rst:929 msgid "``%(name)s``" msgstr "``%(name)s``" -#: ../../library/logging.rst:839 +#: ../../library/logging.rst:929 msgid "Name of the logger used to log the call." msgstr "" -#: ../../library/logging.rst:841 +#: ../../library/logging.rst:931 msgid "pathname" msgstr "" -#: ../../library/logging.rst:841 +#: ../../library/logging.rst:931 msgid "``%(pathname)s``" msgstr "``%(pathname)s``" -#: ../../library/logging.rst:841 +#: ../../library/logging.rst:931 msgid "" "Full pathname of the source file where the logging call was issued (if " "available)." msgstr "" -#: ../../library/logging.rst:844 +#: ../../library/logging.rst:934 msgid "process" -msgstr "" +msgstr "processo" -#: ../../library/logging.rst:844 +#: ../../library/logging.rst:934 msgid "``%(process)d``" msgstr "``%(process)d``" -#: ../../library/logging.rst:844 +#: ../../library/logging.rst:934 msgid "Process ID (if available)." msgstr "" -#: ../../library/logging.rst:846 +#: ../../library/logging.rst:936 msgid "processName" msgstr "" -#: ../../library/logging.rst:846 +#: ../../library/logging.rst:936 msgid "``%(processName)s``" msgstr "``%(processName)s``" -#: ../../library/logging.rst:846 +#: ../../library/logging.rst:936 msgid "Process name (if available)." msgstr "" -#: ../../library/logging.rst:848 +#: ../../library/logging.rst:938 msgid "relativeCreated" msgstr "" -#: ../../library/logging.rst:848 +#: ../../library/logging.rst:938 msgid "``%(relativeCreated)d``" msgstr "``%(relativeCreated)d``" -#: ../../library/logging.rst:848 +#: ../../library/logging.rst:938 msgid "" "Time in milliseconds when the LogRecord was created, relative to the time " "the logging module was loaded." msgstr "" -#: ../../library/logging.rst:852 +#: ../../library/logging.rst:942 msgid "stack_info" msgstr "" -#: ../../library/logging.rst:852 +#: ../../library/logging.rst:942 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:858 +#: ../../library/logging.rst:948 msgid "thread" msgstr "" -#: ../../library/logging.rst:858 +#: ../../library/logging.rst:948 msgid "``%(thread)d``" msgstr "``%(thread)d``" -#: ../../library/logging.rst:858 +#: ../../library/logging.rst:948 msgid "Thread ID (if available)." msgstr "" -#: ../../library/logging.rst:860 +#: ../../library/logging.rst:950 msgid "threadName" msgstr "" -#: ../../library/logging.rst:860 +#: ../../library/logging.rst:950 msgid "``%(threadName)s``" msgstr "``%(threadName)s``" -#: ../../library/logging.rst:860 +#: ../../library/logging.rst:950 msgid "Thread name (if available)." msgstr "" -#: ../../library/logging.rst:863 +#: ../../library/logging.rst:953 msgid "*processName* was added." msgstr "" -#: ../../library/logging.rst:870 +#: ../../library/logging.rst:960 msgid "LoggerAdapter Objects" msgstr "" -#: ../../library/logging.rst:872 +#: ../../library/logging.rst:962 msgid "" ":class:`LoggerAdapter` instances are used to conveniently pass contextual " "information into logging calls. For a usage example, see the section on :ref:" "`adding contextual information to your logging output `." msgstr "" -#: ../../library/logging.rst:878 +#: ../../library/logging.rst:968 msgid "" "Returns an instance of :class:`LoggerAdapter` initialized with an " "underlying :class:`Logger` instance and a dict-like object." msgstr "" -#: ../../library/logging.rst:883 +#: ../../library/logging.rst:973 msgid "" "Modifies the message and/or keyword arguments passed to a logging call in " "order to insert contextual information. This implementation takes the object " @@ -1382,7 +1515,7 @@ msgid "" "(possibly modified) versions of the arguments passed in." msgstr "" -#: ../../library/logging.rst:889 +#: ../../library/logging.rst:979 msgid "" "In addition to the above, :class:`LoggerAdapter` supports the following " "methods of :class:`Logger`: :meth:`~Logger.debug`, :meth:`~Logger.info`, :" @@ -1394,24 +1527,24 @@ msgid "" "interchangeably." msgstr "" -#: ../../library/logging.rst:898 +#: ../../library/logging.rst:988 msgid "" "The :meth:`~Logger.isEnabledFor`, :meth:`~Logger.getEffectiveLevel`, :meth:" "`~Logger.setLevel` and :meth:`~Logger.hasHandlers` methods were added to :" "class:`LoggerAdapter`. These methods delegate to the underlying logger." msgstr "" -#: ../../library/logging.rst:903 +#: ../../library/logging.rst:993 msgid "" "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:909 +#: ../../library/logging.rst:999 msgid "Thread Safety" msgstr "" -#: ../../library/logging.rst:911 +#: ../../library/logging.rst:1001 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 " @@ -1420,7 +1553,7 @@ msgid "" "O." msgstr "" -#: ../../library/logging.rst:916 +#: ../../library/logging.rst:1006 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 " @@ -1428,17 +1561,17 @@ msgid "" "always re-entrant, and so cannot be invoked from such signal handlers." msgstr "" -#: ../../library/logging.rst:923 +#: ../../library/logging.rst:1013 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:925 +#: ../../library/logging.rst:1015 msgid "" "In addition to the classes described above, there are a number of module-" "level functions." msgstr "" -#: ../../library/logging.rst:931 +#: ../../library/logging.rst:1021 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 " @@ -1447,14 +1580,14 @@ msgid "" "logging." msgstr "" -#: ../../library/logging.rst:936 +#: ../../library/logging.rst:1026 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:943 +#: ../../library/logging.rst:1033 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 " @@ -1463,24 +1596,24 @@ msgid "" "example::" msgstr "" -#: ../../library/logging.rst:954 +#: ../../library/logging.rst:1044 msgid "Return a callable which is used to create a :class:`LogRecord`." msgstr "" -#: ../../library/logging.rst:956 +#: ../../library/logging.rst:1046 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:961 +#: ../../library/logging.rst:1051 msgid "" "See :func:`setLogRecordFactory` for more information about the how the " "factory is called." msgstr "" -#: ../../library/logging.rst:966 +#: ../../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 " @@ -1489,7 +1622,7 @@ msgid "" "argument.)" msgstr "" -#: ../../library/logging.rst:971 +#: ../../library/logging.rst:1061 msgid "" "There are three keyword arguments in *kwargs* which are inspected: " "*exc_info* which, if it does not evaluate as false, causes exception " @@ -1499,7 +1632,7 @@ msgid "" "exception information." msgstr "" -#: ../../library/logging.rst:997 +#: ../../library/logging.rst:1087 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 " @@ -1508,11 +1641,18 @@ msgid "" "logged messages. For example::" msgstr "" -#: ../../library/logging.rst:1008 +#: ../../library/logging.rst:1098 msgid "would print something like:" msgstr "" -#: ../../library/logging.rst:1018 +#: ../../library/logging.rst:1104 +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.)" +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:" @@ -1523,64 +1663,58 @@ msgid "" "dictionary with these keys." msgstr "" -#: ../../library/logging.rst:1037 +#: ../../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 msgid "" "Logs a message with level :const:`INFO` on the root logger. The arguments " "are interpreted as for :func:`debug`." msgstr "" -#: ../../library/logging.rst:1043 +#: ../../library/logging.rst:1137 msgid "" "Logs a message with level :const:`WARNING` on the root logger. The arguments " "are interpreted as for :func:`debug`." msgstr "" -#: ../../library/logging.rst:1046 +#: ../../library/logging.rst:1140 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:1053 +#: ../../library/logging.rst:1147 msgid "" "Logs a message with level :const:`ERROR` on the root logger. The arguments " "are interpreted as for :func:`debug`." msgstr "" -#: ../../library/logging.rst:1059 +#: ../../library/logging.rst:1153 msgid "" "Logs a message with level :const:`CRITICAL` on the root logger. The " "arguments are interpreted as for :func:`debug`." msgstr "" -#: ../../library/logging.rst:1065 +#: ../../library/logging.rst:1159 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." msgstr "" -#: ../../library/logging.rst:1071 +#: ../../library/logging.rst:1165 msgid "" "Logs a message with level *level* on the root logger. The other arguments " "are interpreted as for :func:`debug`." msgstr "" -#: ../../library/logging.rst:1074 -msgid "" -"The above module-level convenience functions, which delegate to the root " -"logger, call :func:`basicConfig` to ensure that at least one handler is " -"available. Because of this, they should *not* be used in threads, in " -"versions of Python earlier than 2.7.1 and 3.2, unless at least one handler " -"has been added to the root logger *before* the threads are started. In " -"earlier versions of Python, due to a thread safety shortcoming in :func:" -"`basicConfig`, this can (under rare circumstances) lead to handlers being " -"added multiple times to the root logger, which can in turn lead to multiple " -"messages for the same event." -msgstr "" - -#: ../../library/logging.rst:1086 +#: ../../library/logging.rst:1170 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 " @@ -1594,7 +1728,7 @@ msgid "" "individual loggers." msgstr "" -#: ../../library/logging.rst:1097 +#: ../../library/logging.rst:1181 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 " @@ -1602,13 +1736,13 @@ msgid "" "a suitable value." msgstr "" -#: ../../library/logging.rst:1102 +#: ../../library/logging.rst:1186 msgid "" "The *level* parameter was defaulted to level ``CRITICAL``. See :issue:" "`28524` for more information about this change." msgstr "" -#: ../../library/logging.rst:1108 +#: ../../library/logging.rst:1192 msgid "" "Associates level *level* with text *levelName* in an internal dictionary, " "which is used to map numeric levels to a textual representation, for example " @@ -1618,17 +1752,17 @@ msgid "" "and they should increase in increasing order of severity." msgstr "" -#: ../../library/logging.rst:1115 +#: ../../library/logging.rst:1199 msgid "" "If you are thinking of defining your own levels, please see the section on :" "ref:`custom-levels`." msgstr "" -#: ../../library/logging.rst:1120 +#: ../../library/logging.rst:1204 msgid "Returns the textual or numeric representation of logging level *level*." msgstr "" -#: ../../library/logging.rst:1122 +#: ../../library/logging.rst:1206 msgid "" "If *level* is one of the predefined levels :const:`CRITICAL`, :const:" "`ERROR`, :const:`WARNING`, :const:`INFO` or :const:`DEBUG` then you get the " @@ -1638,29 +1772,29 @@ msgid "" "the corresponding string representation is returned." msgstr "" -#: ../../library/logging.rst:1129 +#: ../../library/logging.rst:1213 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:1133 +#: ../../library/logging.rst:1217 msgid "" "If no matching numeric or string value is passed in, the string 'Level %s' % " "level is returned." msgstr "" -#: ../../library/logging.rst:1136 +#: ../../library/logging.rst:1220 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:1142 +#: ../../library/logging.rst:1226 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. " @@ -1668,7 +1802,7 @@ msgid "" "Python 3.4, but reinstated in 3.4.2 due to retain backward compatibility." msgstr "" -#: ../../library/logging.rst:1150 +#: ../../library/logging.rst:1234 msgid "" "Creates and returns a new :class:`LogRecord` instance whose attributes are " "defined by *attrdict*. This function is useful for taking a pickled :class:" @@ -1676,7 +1810,7 @@ msgid "" "as a :class:`LogRecord` instance at the receiving end." msgstr "" -#: ../../library/logging.rst:1158 +#: ../../library/logging.rst:1242 msgid "" "Does basic configuration for the logging system by creating a :class:" "`StreamHandler` with a default :class:`Formatter` and adding it to the root " @@ -1685,13 +1819,13 @@ msgid "" "no handlers are defined for the root logger." msgstr "" -#: ../../library/logging.rst:1164 +#: ../../library/logging.rst:1248 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:1167 +#: ../../library/logging.rst:1251 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 " @@ -1700,54 +1834,54 @@ msgid "" "unexpected results such as messages being duplicated in the log." msgstr "" -#: ../../library/logging.rst:1174 +#: ../../library/logging.rst:1258 msgid "The following keyword arguments are supported." msgstr "" -#: ../../library/logging.rst:1181 +#: ../../library/logging.rst:1265 msgid "*filename*" msgstr "" -#: ../../library/logging.rst:1181 +#: ../../library/logging.rst:1265 msgid "" "Specifies that a :class:`FileHandler` be created, using the specified " "filename, rather than a :class:`StreamHandler`." msgstr "" -#: ../../library/logging.rst:1185 +#: ../../library/logging.rst:1269 msgid "*filemode*" msgstr "" -#: ../../library/logging.rst:1185 +#: ../../library/logging.rst:1269 msgid "" "If *filename* is specified, open the file in this :ref:`mode `. " "Defaults to ``'a'``." msgstr "" -#: ../../library/logging.rst:1189 +#: ../../library/logging.rst:1273 msgid "*format*" msgstr "" -#: ../../library/logging.rst:1189 +#: ../../library/logging.rst:1273 msgid "" "Use the specified format string for the handler. Defaults to attributes " "``levelname``, ``name`` and ``message`` separated by colons." msgstr "" -#: ../../library/logging.rst:1194 +#: ../../library/logging.rst:1278 msgid "*datefmt*" msgstr "" -#: ../../library/logging.rst:1194 +#: ../../library/logging.rst:1278 msgid "" "Use the specified date/time format, as accepted by :func:`time.strftime`." msgstr "" -#: ../../library/logging.rst:1197 +#: ../../library/logging.rst:1281 msgid "*style*" msgstr "" -#: ../../library/logging.rst:1197 +#: ../../library/logging.rst:1281 msgid "" "If *format* is specified, use this style for the format string. One of " "``'%'``, ``'{'`` or ``'$'`` for :ref:`printf-style `." msgstr "" -#: ../../library/logging.rst:1208 +#: ../../library/logging.rst:1292 msgid "*stream*" msgstr "" -#: ../../library/logging.rst:1208 +#: ../../library/logging.rst:1292 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:1214 +#: ../../library/logging.rst:1298 msgid "*handlers*" msgstr "" -#: ../../library/logging.rst:1214 +#: ../../library/logging.rst:1298 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 " @@ -1787,33 +1921,33 @@ msgid "" "present, a ``ValueError`` is raised." msgstr "" -#: ../../library/logging.rst:1223 +#: ../../library/logging.rst:1307 msgid "*force*" msgstr "" -#: ../../library/logging.rst:1223 +#: ../../library/logging.rst:1307 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:1229 +#: ../../library/logging.rst:1313 msgid "*encoding*" msgstr "" -#: ../../library/logging.rst:1229 +#: ../../library/logging.rst:1313 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:1234 +#: ../../library/logging.rst:1318 msgid "*errors*" msgstr "" -#: ../../library/logging.rst:1234 +#: ../../library/logging.rst:1318 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 " @@ -1822,39 +1956,39 @@ msgid "" "`open`, which means that it will be treated the same as passing 'errors'." msgstr "" -#: ../../library/logging.rst:1245 +#: ../../library/logging.rst:1329 msgid "The *style* argument was added." -msgstr "" +msgstr "O argumento *style* foi adicionado." -#: ../../library/logging.rst:1248 +#: ../../library/logging.rst:1332 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:1254 +#: ../../library/logging.rst:1338 msgid "The *force* argument was added." -msgstr "" +msgstr "O argumento *force* foi adicionado." -#: ../../library/logging.rst:1257 +#: ../../library/logging.rst:1341 msgid "The *encoding* and *errors* arguments were added." -msgstr "" +msgstr "Os argumentos *encoding* e *errors* foram adicionados." -#: ../../library/logging.rst:1262 +#: ../../library/logging.rst:1346 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:1266 +#: ../../library/logging.rst:1350 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:1273 +#: ../../library/logging.rst:1357 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 " @@ -1866,32 +2000,34 @@ msgid "" "loggers." msgstr "" -#: ../../library/logging.rst:1284 +#: ../../library/logging.rst:1368 msgid "Set a callable which is used to create a :class:`LogRecord`." msgstr "" -#: ../../library/logging.rst:1286 +#: ../../library/logging.rst:1370 msgid "The factory callable to be used to instantiate a log record." msgstr "" -#: ../../library/logging.rst:1288 +#: ../../library/logging.rst:1372 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:1293 +#: ../../library/logging.rst:1377 msgid "The factory has the following signature:" msgstr "" -#: ../../library/logging.rst:1295 +#: ../../library/logging.rst:1379 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:1297 +#: ../../library/logging.rst:1381 msgid "The logger name." msgstr "" @@ -1899,7 +2035,7 @@ msgstr "" msgid "level" msgstr "" -#: ../../library/logging.rst:1298 +#: ../../library/logging.rst:1382 msgid "The logging level (numeric)." msgstr "" @@ -1907,7 +2043,7 @@ msgstr "" msgid "fn" msgstr "" -#: ../../library/logging.rst:1299 +#: ../../library/logging.rst:1383 msgid "The full pathname of the file where the logging call was made." msgstr "" @@ -1915,19 +2051,19 @@ msgstr "" msgid "lno" msgstr "" -#: ../../library/logging.rst:1300 +#: ../../library/logging.rst:1384 msgid "The line number in the file where the logging call was made." msgstr "" -#: ../../library/logging.rst:1301 +#: ../../library/logging.rst:1385 msgid "The logging message." msgstr "" -#: ../../library/logging.rst:1302 +#: ../../library/logging.rst:1386 msgid "The arguments for the logging message." msgstr "" -#: ../../library/logging.rst:1303 +#: ../../library/logging.rst:1387 msgid "An exception tuple, or ``None``." msgstr "" @@ -1935,7 +2071,7 @@ msgstr "" msgid "func" msgstr "func" -#: ../../library/logging.rst:1304 +#: ../../library/logging.rst:1388 msgid "The name of the function or method which invoked the logging call." msgstr "" @@ -1943,7 +2079,7 @@ msgstr "" msgid "sinfo" msgstr "" -#: ../../library/logging.rst:1306 +#: ../../library/logging.rst:1390 msgid "" "A stack traceback such as is provided by :func:`traceback.print_stack`, " "showing the call hierarchy." @@ -1951,17 +2087,17 @@ msgstr "" #: ../../library/logging.rst:0 msgid "kwargs" -msgstr "" +msgstr "kwargs" -#: ../../library/logging.rst:1308 +#: ../../library/logging.rst:1392 msgid "Additional keyword arguments." msgstr "" -#: ../../library/logging.rst:1312 +#: ../../library/logging.rst:1396 msgid "Module-Level Attributes" msgstr "" -#: ../../library/logging.rst:1316 +#: ../../library/logging.rst:1400 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``, " @@ -1972,22 +2108,22 @@ msgid "" "reason, ``lastResort`` can be set to ``None``." msgstr "" -#: ../../library/logging.rst:1327 +#: ../../library/logging.rst:1411 msgid "Integration with the warnings module" msgstr "" -#: ../../library/logging.rst:1329 +#: ../../library/logging.rst:1413 msgid "" "The :func:`captureWarnings` function can be used to integrate :mod:`logging` " "with the :mod:`warnings` module." msgstr "" -#: ../../library/logging.rst:1334 +#: ../../library/logging.rst:1418 msgid "" "This function is used to turn the capture of warnings by logging on and off." msgstr "" -#: ../../library/logging.rst:1337 +#: ../../library/logging.rst:1421 msgid "" "If *capture* is ``True``, warnings issued by the :mod:`warnings` module will " "be redirected to the logging system. Specifically, a warning will be " @@ -1996,48 +2132,46 @@ msgid "" "`WARNING`." msgstr "" -#: ../../library/logging.rst:1342 +#: ../../library/logging.rst:1426 msgid "" "If *capture* is ``False``, the redirection of warnings to the logging system " "will stop, and warnings will be redirected to their original destinations (i." "e. those in effect before ``captureWarnings(True)`` was called)." msgstr "" -#: ../../library/logging.rst:1350 +#: ../../library/logging.rst:1434 msgid "Module :mod:`logging.config`" msgstr "Módulo :mod:`logging.config`" -#: ../../library/logging.rst:1350 +#: ../../library/logging.rst:1434 msgid "Configuration API for the logging module." msgstr "API de configuração para o módulo logging." -#: ../../library/logging.rst:1353 +#: ../../library/logging.rst:1437 msgid "Module :mod:`logging.handlers`" msgstr "Módulo :mod:`logging.handlers`" -#: ../../library/logging.rst:1353 +#: ../../library/logging.rst:1437 msgid "Useful handlers included with the logging module." -msgstr "" +msgstr "Tratadores úteis incluídos no módulo logging." -#: ../../library/logging.rst:1357 +#: ../../library/logging.rst:1441 msgid ":pep:`282` - A Logging System" -msgstr "" +msgstr ":pep:`282` - A Logging System" -#: ../../library/logging.rst:1356 +#: ../../library/logging.rst:1440 msgid "" "The proposal which described this feature for inclusion in the Python " "standard library." msgstr "" -#: ../../library/logging.rst:1362 +#: ../../library/logging.rst:1446 msgid "" -"`Original Python logging package `_" msgstr "" -"`Original Python logging package `_" -#: ../../library/logging.rst:1360 +#: ../../library/logging.rst:1444 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 d05ef1212..f93e6fee0 100644 --- a/library/lzma.po +++ b/library/lzma.po @@ -1,30 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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 -# i17obot , 2021 -# Rafael Fontenelle , 2022 +# python-doc bot, 2025 # #, 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:09+0000\n" -"Last-Translator: Rafael Fontenelle , 2022\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:58+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/lzma.rst:2 msgid ":mod:`lzma` --- Compression using the LZMA algorithm" @@ -41,11 +38,11 @@ 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 "" @@ -54,26 +51,29 @@ msgid "" "thread-safe, so if you need to use a single :class:`LZMAFile` instance from " "multiple threads, it is necessary to protect it with a lock." msgstr "" +"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 :" +"Abre um arquivo comprimido com LZMA no modo binário ou texto, retornando um :" "term:`objeto arquivo `." #: ../../library/lzma.rst:41 @@ -83,14 +83,22 @@ msgid "" "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 `), neste caso o arquivo nomeado é aberto , ou pode ser um objeto " +"arquivo existente para leitura ou escrita." #: ../../library/lzma.rst:46 msgid "" -"The *mode* argument can be any of ``\"r\"``, ``\"rb\"``, ``\"w\"``, ``\"wb" -"\"``, ``\"x\"``, ``\"xb\"``, ``\"a\"`` or ``\"ab\"`` for binary mode, or ``" -"\"rt\"``, ``\"wt\"``, ``\"xt\"``, or ``\"at\"`` for text mode. The default " -"is ``\"rb\"``." +"The *mode* argument can be any of ``\"r\"``, ``\"rb\"``, ``\"w\"``, " +"``\"wb\"``, ``\"x\"``, ``\"xb\"``, ``\"a\"`` or ``\"ab\"`` for binary mode, " +"or ``\"rt\"``, ``\"wt\"``, ``\"xt\"``, or ``\"at\"`` for text mode. The " +"default is ``\"rb\"``." msgstr "" +"O argumento *mode* pode ser qualquer um de ``\"r\"``, ``\"rb\"``, ``\"w\"``, " +"``\"wb\"``, ``\"x\"``, ``\"xb\"``, ``\"a\"`` ou ``\"ab\"`` para modo " +"binário, ou ``\"rt\"``, ``\"wt\"``, ``\"xt\"`` , ou ``\"at\"`` para o modo " +"de texto. O padrão é ``\"rb\"``." #: ../../library/lzma.rst:50 ../../library/lzma.rst:95 msgid "" @@ -116,6 +124,9 @@ msgid "" "constructor: ``LZMAFile(filename, mode, ...)``. In this case, the " "*encoding*, *errors* and *newline* arguments must not be provided." msgstr "" +"Para o modo binário, esta função é equivalente ao construtor :class:" +"`LZMAFile`: ``LZMAFile(filename, mode, ...)``. Nesse caso, os argumentos " +"*encoding*, *errors* e *newline* não devem ser fornecidos." #: ../../library/lzma.rst:61 msgid "" @@ -123,10 +134,13 @@ msgid "" "class:`io.TextIOWrapper` instance with the specified encoding, error " "handling behavior, and line ending(s)." msgstr "" +"Para o modo texto, um objeto :class:`LZMAFile` é 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/lzma.rst:65 msgid "Added support for the ``\"x\"``, ``\"xb\"`` and ``\"xt\"`` modes." -msgstr "" +msgstr "Adicionado suporte para os modos ``\"x\"``, ``\"xb\"`` e ``\"xt\"``." #: ../../library/lzma.rst:68 ../../library/lzma.rst:126 msgid "Accepts a :term:`path-like object`." @@ -134,7 +148,7 @@ msgstr "Aceita um :term:`objeto caminho ou similar`." #: ../../library/lzma.rst:74 msgid "Open an LZMA-compressed file in binary mode." -msgstr "Abre um arquivo compactado com LZMA no modo binário." +msgstr "Abre um arquivo comprimido com LZMA no modo binário." #: ../../library/lzma.rst:76 msgid "" @@ -145,20 +159,32 @@ msgid "" "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 "" "The *mode* argument can be either ``\"r\"`` for reading (default), ``\"w\"`` " "for overwriting, ``\"x\"`` for exclusive creation, or ``\"a\"`` for " -"appending. These can equivalently be given as ``\"rb\"``, ``\"wb\"``, ``\"xb" -"\"`` and ``\"ab\"`` respectively." +"appending. These can equivalently be given as ``\"rb\"``, ``\"wb\"``, " +"``\"xb\"`` and ``\"ab\"`` respectively." msgstr "" +"O argumento *mode* pode ser ``\"r\"`` para leitura (padrão), ``\"w\"`` para " +"substituição, ``\"x\"`` para criação exclusiva ou ``\"a\"`` para anexar. " +"Estes podem ser equivalentemente dados como ``\"rb\"``, ``\"wb\"``, " +"``\"xb\"`` e ``\"ab\"`` respectivamente." #: ../../library/lzma.rst:88 msgid "" "If *filename* is a file object (rather than an actual file name), a mode of " "``\"w\"`` does not truncate the file, and is instead equivalent to ``\"a\"``." msgstr "" +"Se *filename* for um objeto arquivo (em vez de um nome de arquivo real), um " +"modo de ``\"w\"`` não truncará o arquivo e será equivalente a ``\"a\"``." #: ../../library/lzma.rst:91 msgid "" @@ -167,7 +193,7 @@ 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 @@ -176,10 +202,13 @@ msgid "" "BufferedIOBase`, except for :meth:`detach` and :meth:`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." #: ../../library/lzma.rst:106 msgid "The following method is also provided:" -msgstr "" +msgstr "O seguinte método também é fornecido:" #: ../../library/lzma.rst:110 msgid "" @@ -187,6 +216,10 @@ msgid "" "of data will be returned, unless EOF has been reached. The exact number of " "bytes returned is unspecified (the *size* argument is ignored)." msgstr "" +"Retorna dados armazenados em buffer sem avançar a posição do arquivo. Pelo " +"menos um byte de dados será retornado, a menos que o EOF tenha sido " +"atingido. O número exato de bytes retornados não é especificado (o argumento " +"*size* é ignorado)." #: ../../library/lzma.rst:114 msgid "" @@ -195,10 +228,14 @@ msgid "" "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*)." #: ../../library/lzma.rst:119 msgid "Added support for the ``\"x\"`` and ``\"xb\"`` modes." -msgstr "" +msgstr "Adicionado suporte para os modos ``\"x\"`` e ``\"xb\"``." #: ../../library/lzma.rst:122 msgid "" @@ -210,13 +247,13 @@ msgstr "" #: ../../library/lzma.rst:131 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 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 @@ -224,7 +261,7 @@ msgid "" "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 @@ -232,28 +269,34 @@ msgid "" "The *format* argument specifies what container format should be used. " "Possible values are:" msgstr "" +"O argumento *format* especifica qual formato de contêiner deve ser usado. Os " +"valores possíveis são:" #: ../../library/lzma.rst:144 msgid ":const:`FORMAT_XZ`: The ``.xz`` container format." -msgstr "" +msgstr ":const:`FORMAT_XZ`: O formato de contêiner ``.xz``." #: ../../library/lzma.rst:144 msgid "This is the default format." -msgstr "" +msgstr "Este é o formato padrão." #: ../../library/lzma.rst:148 msgid ":const:`FORMAT_ALONE`: The legacy ``.lzma`` container format." -msgstr "" +msgstr ":const:`FORMAT_ALONE`: O formato de contêiner legado ``.lzma``." #: ../../library/lzma.rst:147 msgid "" "This format is more limited than ``.xz`` -- it does not support integrity " "checks or multiple filters." 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 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 msgid "" @@ -264,8 +307,8 @@ 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:" +"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 @@ -274,31 +317,40 @@ msgid "" "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 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 msgid "" ":const:`CHECK_NONE`: No integrity check. This is the default (and the only " "acceptable value) for :const:`FORMAT_ALONE` and :const:`FORMAT_RAW`." msgstr "" +":const:`CHECK_NONE`: 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 msgid ":const:`CHECK_CRC32`: 32-bit Cyclic Redundancy Check." -msgstr "" +msgstr ":const:`CHECK_CRC32`: Verificação de redundância cíclica de 32 bits." #: ../../library/lzma.rst:166 msgid "" ":const:`CHECK_CRC64`: 64-bit Cyclic Redundancy Check. This is the default " "for :const:`FORMAT_XZ`." 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 msgid ":const:`CHECK_SHA256`: 256-bit Secure Hash Algorithm." -msgstr "" +msgstr ":const:`CHECK_SHA256`: Algoritmo de hash seguro de 256 bits." #: ../../library/lzma.rst:171 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." #: ../../library/lzma.rst:173 msgid "" @@ -306,6 +358,9 @@ msgid "" "level (with the *preset* argument), or in detail as a custom filter chain " "(with the *filters* argument)." msgstr "" +"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 msgid "" @@ -315,6 +370,12 @@ msgid "" "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 compressão mais " +"lento." #: ../../library/lzma.rst:186 msgid "" @@ -324,12 +385,19 @@ msgid "" "`LZMACompressor` object can be as high as 800 MiB. For this reason, it is " "generally best to stick with the default preset." msgstr "" +"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 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 msgid "" "The *filters* argument (if provided) should be a filter chain specifier. " "See :ref:`filter-chain-specs` for details." 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 msgid "" @@ -339,28 +407,40 @@ msgid "" "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 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 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 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 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 msgid "" @@ -369,6 +449,10 @@ msgid "" "``.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 msgid "" @@ -377,6 +461,10 @@ msgid "" "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 msgid "" @@ -385,6 +473,11 @@ msgid "" "const:`FORMAT_RAW`, but should not be used for other formats. See :ref:" "`filter-chain-specs` for more information about filter chains." msgstr "" +"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 msgid "" @@ -393,6 +486,10 @@ msgid "" "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 msgid "" @@ -401,8 +498,8 @@ msgid "" "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:" @@ -417,7 +514,7 @@ 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." @@ -428,18 +525,18 @@ msgid "" "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 msgid "" -"Attempting to decompress data after the end of stream is reached raises an " -"`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 " -"um `EOFError`. Quaisquer dados encontrados após o final do fluxo são " +"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 @@ -452,6 +549,9 @@ msgid "" "`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 msgid "``True`` if the end-of-stream marker has been reached." @@ -459,11 +559,11 @@ msgstr "``True`` se o marcador de fim de fluxo foi atingido." #: ../../library/lzma.rst:279 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 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 msgid "" @@ -471,37 +571,47 @@ msgid "" "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 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 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 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 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 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 msgid "Miscellaneous" @@ -511,6 +621,8 @@ msgstr "Diversos" 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 msgid "" @@ -518,10 +630,14 @@ msgid "" "`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 msgid "Specifying custom filter chains" -msgstr "" +msgstr "Especificando cadeias de filtros personalizadas" #: ../../library/lzma.rst:329 msgid "" @@ -530,6 +646,11 @@ msgid "" "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 msgid "Compression filters:" @@ -549,7 +670,7 @@ msgstr "" #: ../../library/lzma.rst:339 msgid "Delta filter:" -msgstr "" +msgstr "Filtro delta:" #: ../../library/lzma.rst:339 msgid ":const:`FILTER_DELTA`" @@ -557,7 +678,7 @@ msgstr ":const:`FILTER_DELTA`" #: ../../library/lzma.rst:347 msgid "Branch-Call-Jump (BCJ) filters:" -msgstr "" +msgstr "Filtros Branch-Call-Jump (BCJ):" #: ../../library/lzma.rst:342 msgid ":const:`FILTER_X86`" @@ -589,60 +710,78 @@ msgid "" "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 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 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 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 msgid "``lc``: Number of literal context bits." -msgstr "" +msgstr "``lc``: Número de bits de contexto literal." #: ../../library/lzma.rst:361 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 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 msgid "``mode``: :const:`MODE_FAST` or :const:`MODE_NORMAL`." -msgstr "" +msgstr "``mode``: :const:`MODE_FAST` ou :const:`MODE_NORMAL`." #: ../../library/lzma.rst:365 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 msgid "" "``mf``: What match finder to use -- :const:`MF_HC3`, :const:`MF_HC4`, :const:" "`MF_BT2`, :const:`MF_BT3`, or :const:`MF_BT4`." msgstr "" +"``mf``: 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 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 msgid "" @@ -652,6 +791,10 @@ 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 msgid "" @@ -662,6 +805,12 @@ 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 msgid "Examples" @@ -669,7 +818,7 @@ msgstr "Exemplos" #: ../../library/lzma.rst:387 msgid "Reading in a compressed file::" -msgstr "" +msgstr "Lendo em um arquivo comprimido::" #: ../../library/lzma.rst:393 msgid "Creating a compressed file::" @@ -677,7 +826,7 @@ msgstr "Criando um arquivo comprimido::" #: ../../library/lzma.rst:400 msgid "Compressing data in memory::" -msgstr "" +msgstr "Comprimindo dados na memória::" #: ../../library/lzma.rst:406 msgid "Incremental compression::" @@ -685,8 +834,9 @@ msgstr "Compressão incremental::" #: ../../library/lzma.rst:417 msgid "Writing compressed data to an already-open file::" -msgstr "" +msgstr "Escrevendo dados comprimidos em um arquivo já aberto::" #: ../../library/lzma.rst:426 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 2f4eed44f..98255c1d8 100644 --- a/library/mailbox.po +++ b/library/mailbox.po @@ -1,33 +1,28 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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 -# 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 , 2025 # #, 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:09+0000\n" -"Last-Translator: Claudio Rogerio Carvalho Filho , " -"2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-11-05 17:40+0000\n" +"PO-Revision-Date: 2025-09-22 15:58+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=2; plural=(n > 1);\n" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/mailbox.rst:2 msgid ":mod:`mailbox` --- Manipulate mailboxes in various formats" @@ -49,11 +44,11 @@ msgstr "" #: ../../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" @@ -61,7 +56,7 @@ msgstr "" #: ../../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 "" @@ -482,7 +477,7 @@ msgstr "" #: ../../library/mailbox.rst:431 msgid "" -"`maildir man page from Courier `_" +"`maildir man page from Courier `_" msgstr "" #: ../../library/mailbox.rst:430 @@ -701,7 +696,7 @@ msgid "" msgstr "" #: ../../library/mailbox.rst:618 -msgid "`nmh - Message Handling System `_" +msgid "`nmh - Message Handling System `_" msgstr "" #: ../../library/mailbox.rst:618 @@ -953,7 +948,7 @@ msgstr "Significado" #: ../../library/mailbox.rst:1131 ../../library/mailbox.rst:1218 #: ../../library/mailbox.rst:1351 msgid "Explanation" -msgstr "Explanação" +msgstr "Explicação" #: ../../library/mailbox.rst:816 ../../library/mailbox.rst:987 #: ../../library/mailbox.rst:1357 @@ -1743,7 +1738,7 @@ msgstr "" msgid "" "Raised when some mailbox-related condition beyond the control of the program " "causes it to be unable to proceed, such as when failing to acquire a lock " -"that another program already holds a lock, or when a uniquely-generated file " +"that another program already holds a lock, or when a uniquely generated file " "name already exists." msgstr "" diff --git a/library/mailcap.po b/library/mailcap.po index 084553554..10f19db6b 100644 --- a/library/mailcap.po +++ b/library/mailcap.po @@ -1,37 +1,43 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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.10\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-07-27 13:07+0000\n" -"PO-Revision-Date: 2021-06-28 01:09+0000\n" -"Last-Translator: i17obot , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:58+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/mailcap.rst:2 msgid ":mod:`mailcap` --- Mailcap file handling" msgstr "" -#: ../../library/mailcap.rst:7 +#: ../../library/mailcap.rst:8 msgid "**Source code:** :source:`Lib/mailcap.py`" msgstr "**Código-fonte:** :source:`Lib/mailcap.py`" -#: ../../library/mailcap.rst:11 +#: ../../library/mailcap.rst:10 +msgid "" +"The :mod:`mailcap` module is deprecated (see :pep:`PEP 594 <594#mailcap>` " +"for details). The :mod:`mimetypes` module provides an alternative." +msgstr "" + +#: ../../library/mailcap.rst:17 msgid "" "Mailcap files are used to configure how MIME-aware applications such as mail " "readers and web browsers react to files with different MIME types. (The name " @@ -43,7 +49,7 @@ msgid "" "automatically started to view the file." msgstr "" -#: ../../library/mailcap.rst:20 +#: ../../library/mailcap.rst:26 msgid "" "The mailcap format is documented in :rfc:`1524`, \"A User Agent " "Configuration Mechanism For Multimedia Mail Format Information\", but is not " @@ -51,7 +57,7 @@ msgid "" "systems." msgstr "" -#: ../../library/mailcap.rst:27 +#: ../../library/mailcap.rst:33 msgid "" "Return a 2-tuple; the first element is a string containing the command line " "to be executed (which can be passed to :func:`os.system`), and the second " @@ -59,7 +65,7 @@ msgid "" "type can be found, ``(None, None)`` is returned." msgstr "" -#: ../../library/mailcap.rst:32 +#: ../../library/mailcap.rst:38 msgid "" "*key* is the name of the field desired, which represents the type of " "activity to be performed; the default value is 'view', since in the most " @@ -69,14 +75,14 @@ msgid "" "`1524` for a complete list of these fields." msgstr "" -#: ../../library/mailcap.rst:39 +#: ../../library/mailcap.rst:45 msgid "" "*filename* is the filename to be substituted for ``%s`` in the command line; " "the default value is ``'/dev/null'`` which is almost certainly not what you " "want, so usually you'll override it by specifying a filename." msgstr "" -#: ../../library/mailcap.rst:43 +#: ../../library/mailcap.rst:49 msgid "" "*plist* can be a list containing named parameters; the default value is " "simply an empty list. Each entry in the list must be a string containing " @@ -88,7 +94,7 @@ msgid "" "command line would be ``'showpartial 1 2 3'``." msgstr "" -#: ../../library/mailcap.rst:52 +#: ../../library/mailcap.rst:58 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 " @@ -97,7 +103,24 @@ msgid "" "the check fails." msgstr "" -#: ../../library/mailcap.rst:60 +#: ../../library/mailcap.rst:65 +msgid "" +"To prevent security issues with shell metacharacters (symbols that have " +"special effects in a shell command line), ``findmatch`` will refuse to " +"inject ASCII characters other than alphanumerics and ``@+=:,./-_`` into the " +"returned command line." +msgstr "" + +#: ../../library/mailcap.rst:70 +msgid "" +"If a disallowed character appears in *filename*, ``findmatch`` will always " +"return ``(None, None)`` as if no entry was found. If such a character " +"appears elsewhere (a value in *plist* or in *MIMEtype*), ``findmatch`` will " +"ignore all mailcap entries which use that value. A :mod:`warning ` " +"will be raised in either case." +msgstr "" + +#: ../../library/mailcap.rst:78 msgid "" "Returns a dictionary mapping MIME types to a list of mailcap file entries. " "This dictionary must be passed to the :func:`findmatch` function. An entry " @@ -105,7 +128,7 @@ msgid "" "the details of this representation." msgstr "" -#: ../../library/mailcap.rst:65 +#: ../../library/mailcap.rst:83 msgid "" "The information is derived from all of the mailcap files found on the " "system. Settings in the user's mailcap file :file:`$HOME/.mailcap` will " @@ -113,6 +136,6 @@ msgid "" "usr/etc/mailcap`, and :file:`/usr/local/etc/mailcap`." msgstr "" -#: ../../library/mailcap.rst:70 +#: ../../library/mailcap.rst:88 msgid "An example usage::" msgstr "Um exemplo de uso::" diff --git a/library/markup.po b/library/markup.po index 16e1f6805..dceff3f86 100644 --- a/library/markup.po +++ b/library/markup.po @@ -1,27 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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.10\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-06-29 12:56+0000\n" -"PO-Revision-Date: 2021-06-28 01:09+0000\n" -"Last-Translator: Claudio Rogerio Carvalho Filho , " -"2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:58+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/markup.rst:5 msgid "Structured Markup Processing Tools" diff --git a/library/marshal.po b/library/marshal.po index 825974894..b50de0c66 100644 --- a/library/marshal.po +++ b/library/marshal.po @@ -1,26 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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.10\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-07-01 12:51+0000\n" -"PO-Revision-Date: 2021-06-28 01:09+0000\n" -"Last-Translator: Rafael Fontenelle , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:58+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/marshal.rst:2 msgid ":mod:`marshal` --- Internal Python object serialization" @@ -109,7 +110,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:" @@ -147,7 +148,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 @@ -168,8 +169,8 @@ 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 "" @@ -213,7 +214,7 @@ 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 " +"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." @@ -222,7 +223,7 @@ 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 diff --git a/library/math.po b/library/math.po index 091906198..4df01df81 100644 --- a/library/math.po +++ b/library/math.po @@ -1,31 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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 -# Adorilson Bezerra , 2021 -# Vinicius Gubiani Ferreira , 2021 -# i17obot , 2021 -# Rafael Fontenelle , 2021 +# python-doc bot, 2025 # #, 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:09+0000\n" -"Last-Translator: Rafael Fontenelle , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:58+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/math.rst:2 msgid ":mod:`math` --- Mathematical functions" @@ -69,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 ``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 teto de *x*, o menor inteiro maior ou igual a *x*. Se *x* não for " -"um ponto flutuante, delega para ``x.__ceil__()``, que deve retornar um valor " -"de :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 "" @@ -121,7 +117,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 @@ -144,13 +140,13 @@ msgstr "" #: ../../library/math.rst:80 msgid "" -"Return the floor of *x*, the largest integer less than or equal to *x*. If " -"*x* is not a float, delegates to ``x.__floor__()``, which should return an :" -"class:`~numbers.Integral` value." +"Return the floor of *x*, the largest integer less than or equal to *x*. If " +"*x* is not a float, delegates to :meth:`x.__floor__ `, " +"which should return an :class:`~numbers.Integral` value." msgstr "" -"Retorna o piso de *x*, o maior inteiro menor ou igual a *x*. Se *x* não for " -"um ponto flutuante, delega para ``x.__floor__()``, que deve retornar um " -"valor de :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 "" @@ -210,11 +206,11 @@ 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 "" @@ -273,7 +269,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." @@ -498,31 +494,35 @@ msgstr "" #: ../../library/math.rst:301 msgid "" -"Return the :class:`~numbers.Real` value *x* truncated to an :class:`~numbers." -"Integral` (usually an integer). Delegates to :meth:`x.__trunc__() `." +"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." msgstr "" -"Retorna o valor *x* :class:`~numbers.Real` truncado com um :class:`~numbers." -"Integral` (geralmente um inteiro). Delega para :meth:`x.__trunc__() `." +"Retorna *x* com a parte fracionária removida, deixando a parte inteira. Isso " +"arredonda para 0: ``trunc()`` é equivalente a :func:`floor` para *x* " +"positivos, e equivalentes a :func:`ceil` para *x* negativos. Se *x* não é um " +"ponto flutuante, então delega para :meth:`x.__trunc__ `, " +"cujo qual deve retornar um valor do tipo :class:`~numbers.Integral`." -#: ../../library/math.rst:307 +#: ../../library/math.rst:309 msgid "Return the value of the least significant bit of the float *x*:" msgstr "Retorna o valor do bit menos significativo do ponto flutuante *x*:" -#: ../../library/math.rst:309 +#: ../../library/math.rst:311 msgid "If *x* is a NaN (not a number), return *x*." msgstr "Se *x* for um NaN (não um número), retorna *x*." -#: ../../library/math.rst:310 +#: ../../library/math.rst:312 msgid "If *x* is negative, return ``ulp(-x)``." msgstr "Se *x* for negativo, retorna ``ulp(-x)``." -#: ../../library/math.rst:311 +#: ../../library/math.rst:313 msgid "If *x* is a positive infinity, return *x*." msgstr "Se *x* for um infinito positivo, retorna *x*." -#: ../../library/math.rst:312 +#: ../../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, :" @@ -532,7 +532,7 @@ msgstr "" "*desnormalizado* representável (menor que o ponto flutuante de valor mínimo " "positivo *normalizado*, :data:`sys.float_info.min `)." -#: ../../library/math.rst:315 +#: ../../library/math.rst:317 msgid "" "If *x* is equal to the largest positive representable float, return the " "value of the least significant bit of *x*, such that the first float smaller " @@ -542,7 +542,7 @@ msgstr "" "valor do bit menos significativo de *x*, tal que o primeiro ponto flutuante " "menor que *x* seja ``x - ulp(x)``." -#: ../../library/math.rst:318 +#: ../../library/math.rst:320 msgid "" "Otherwise (*x* is a positive finite number), return the value of the least " "significant bit of *x*, such that the first float bigger than *x* is ``x + " @@ -552,13 +552,13 @@ msgstr "" "menos significativo de *x*, de modo que o primeiro ponto flutuante maior que " "*x* seja ``x + ulp(x)``." -#: ../../library/math.rst:322 +#: ../../library/math.rst:324 msgid "ULP stands for \"Unit in the Last Place\"." msgstr "" "ULP significa \"Unit in the Last Place\" ou, em português, unidade na última " "posição." -#: ../../library/math.rst:324 +#: ../../library/math.rst:326 msgid "" "See also :func:`math.nextafter` and :data:`sys.float_info.epsilon `." @@ -566,7 +566,7 @@ msgstr "" "Veja também :func:`math.nextafter` e :data:`sys.float_info.epsilon `." -#: ../../library/math.rst:330 +#: ../../library/math.rst:332 msgid "" "Note that :func:`frexp` and :func:`modf` have a different call/return " "pattern than their C equivalents: they take a single argument and return a " @@ -578,7 +578,7 @@ msgstr "" "um par de valores, ao invés de retornar seu segundo valor de retorno por " "meio de um \"parâmetro de saída\" (não existe tal coisa em Python)." -#: ../../library/math.rst:335 +#: ../../library/math.rst:337 msgid "" "For the :func:`ceil`, :func:`floor`, and :func:`modf` functions, note that " "*all* floating-point numbers of sufficiently large magnitude are exact " @@ -593,11 +593,11 @@ msgstr "" "caso em que qualquer ponto flutuante *x* com ``abs(x) >= 2**52`` " "necessariamente não tem bits fracionários." -#: ../../library/math.rst:343 +#: ../../library/math.rst:345 msgid "Power and logarithmic functions" msgstr "Funções de potência e logarítmicas" -#: ../../library/math.rst:347 +#: ../../library/math.rst:349 msgid "" "Return *e* raised to the power *x*, where *e* = 2.718281... is the base of " "natural logarithms. This is usually more accurate than ``math.e ** x`` or " @@ -607,7 +607,7 @@ msgstr "" "logaritmos naturais. Isso geralmente é mais preciso do que ``math.e ** x`` " "ou ``pow(math.e, x)``." -#: ../../library/math.rst:354 +#: ../../library/math.rst:356 msgid "" "Return *e* raised to the power *x*, minus 1. Here *e* is the base of " "natural logarithms. For small floats *x*, the subtraction in ``exp(x) - 1`` " @@ -621,11 +621,11 @@ msgstr "" "`_\\; a função :func:" "`expm1` fornece uma maneira de calcular essa quantidade com precisão total::" -#: ../../library/math.rst:371 +#: ../../library/math.rst:373 msgid "With one argument, return the natural logarithm of *x* (to base *e*)." msgstr "Com um argumento, retorna o logaritmo natural de *x* (para base *e*)." -#: ../../library/math.rst:373 +#: ../../library/math.rst:375 msgid "" "With two arguments, return the logarithm of *x* to the given *base*, " "calculated as ``log(x)/log(base)``." @@ -633,7 +633,7 @@ msgstr "" "Com dois argumentos, retorna o logaritmo de *x* para a *base* fornecida, " "calculada como ``log(x)/log(base)``." -#: ../../library/math.rst:379 +#: ../../library/math.rst:381 msgid "" "Return the natural logarithm of *1+x* (base *e*). The result is calculated " "in a way which is accurate for *x* near zero." @@ -641,7 +641,7 @@ msgstr "" "Retorna o logaritmo natural de *1+x* (base *e*). O resultado é calculado de " "forma precisa para *x* próximo a zero." -#: ../../library/math.rst:385 +#: ../../library/math.rst:387 msgid "" "Return the base-2 logarithm of *x*. This is usually more accurate than " "``log(x, 2)``." @@ -649,7 +649,7 @@ msgstr "" "Retorna o logaritmo de base 2 de *x*. Isso geralmente é mais preciso do que " "``log(x, 2)``." -#: ../../library/math.rst:392 +#: ../../library/math.rst:394 msgid "" ":meth:`int.bit_length` returns the number of bits necessary to represent an " "integer in binary, excluding the sign and leading zeros." @@ -657,7 +657,7 @@ msgstr "" ":meth:`int.bit_length` retorna o número de bits necessários para representar " "um inteiro em binário, excluindo o sinal e os zeros à esquerda." -#: ../../library/math.rst:398 +#: ../../library/math.rst:400 msgid "" "Return the base-10 logarithm of *x*. This is usually more accurate than " "``log(x, 10)``." @@ -665,7 +665,7 @@ msgstr "" "Retorna o logaritmo de base 10 de *x*. Isso geralmente é mais preciso do que " "``log(x, 10)``." -#: ../../library/math.rst:404 +#: ../../library/math.rst:406 msgid "" "Return ``x`` raised to the power ``y``. Exceptional cases follow Annex 'F' " "of the C99 standard as far as possible. In particular, ``pow(1.0, x)`` and " @@ -679,7 +679,7 @@ msgstr "" "NaN. Se ambos ``x`` e ``y`` são finitos, ``x`` é negativo, e ``y`` não é um " "inteiro, então ``pow(x, y)`` é indefinido e levanta :exc:`ValueError`." -#: ../../library/math.rst:411 +#: ../../library/math.rst:413 msgid "" "Unlike the built-in ``**`` operator, :func:`math.pow` converts both its " "arguments to type :class:`float`. Use ``**`` or the built-in :func:`pow` " @@ -689,15 +689,15 @@ msgstr "" "seus argumentos para o tipo :class:`float`. Use ``**`` ou a função embutida :" "func:`pow` para calcular potências inteiras exatas." -#: ../../library/math.rst:418 +#: ../../library/math.rst:420 msgid "Return the square root of *x*." msgstr "Retorna a raiz quadrada de *x*." -#: ../../library/math.rst:422 +#: ../../library/math.rst:424 msgid "Trigonometric functions" msgstr "Funções trigonométricas" -#: ../../library/math.rst:426 +#: ../../library/math.rst:428 msgid "" "Return the arc cosine of *x*, in radians. The result is between ``0`` and " "``pi``." @@ -705,7 +705,7 @@ msgstr "" "Retorna o arco cosseno de *x*, em radianos. O resultado está entre ``0`` e " "``pi``." -#: ../../library/math.rst:432 +#: ../../library/math.rst:434 msgid "" "Return the arc sine of *x*, in radians. The result is between ``-pi/2`` and " "``pi/2``." @@ -713,7 +713,7 @@ msgstr "" "Retorna o arco seno de *x*, em radianos. O resultado está entre ``-pi/2`` e " "``pi/2``." -#: ../../library/math.rst:438 +#: ../../library/math.rst:440 msgid "" "Return the arc tangent of *x*, in radians. The result is between ``-pi/2`` " "and ``pi/2``." @@ -721,7 +721,7 @@ msgstr "" "Retorna o arco tangente de *x*, em radianos. O resultado está entre ``-" "pi/2`` e ``pi/2``." -#: ../../library/math.rst:444 +#: ../../library/math.rst:446 msgid "" "Return ``atan(y / x)``, in radians. The result is between ``-pi`` and " "``pi``. The vector in the plane from the origin to point ``(x, y)`` makes " @@ -737,11 +737,11 @@ msgstr "" "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:454 +#: ../../library/math.rst:456 msgid "Return the cosine of *x* radians." msgstr "Retorna o cosseno de *x* radianos." -#: ../../library/math.rst:459 +#: ../../library/math.rst:461 msgid "" "Return the Euclidean distance between two points *p* and *q*, each given as " "a sequence (or iterable) of coordinates. The two points must have the same " @@ -751,11 +751,11 @@ msgstr "" "como uma sequência (ou iterável) de coordenadas. Os dois pontos devem ter a " "mesma dimensão." -#: ../../library/math.rst:463 +#: ../../library/math.rst:465 msgid "Roughly equivalent to::" msgstr "Aproximadamente equivalente a::" -#: ../../library/math.rst:472 +#: ../../library/math.rst:474 msgid "" "Return the Euclidean norm, ``sqrt(sum(x**2 for x in coordinates))``. This is " "the length of the vector from the origin to the point given by the " @@ -764,7 +764,7 @@ msgstr "" "Retorna a norma euclidiana, ``sqrt(sum(x**2 for x in coordinates))``. Este é " "o comprimento do vetor da origem até o ponto dado pelas coordenadas." -#: ../../library/math.rst:476 +#: ../../library/math.rst:478 msgid "" "For a two dimensional point ``(x, y)``, this is equivalent to computing the " "hypotenuse of a right triangle using the Pythagorean theorem, ``sqrt(x*x + " @@ -774,7 +774,7 @@ msgstr "" "hipotenusa de um triângulo retângulo usando o teorema de Pitágoras, " "``sqrt(x*x + y*y)``." -#: ../../library/math.rst:480 +#: ../../library/math.rst:482 msgid "" "Added support for n-dimensional points. Formerly, only the two dimensional " "case was supported." @@ -782,7 +782,7 @@ msgstr "" "Adicionado suporte para pontos n-dimensionais. Anteriormente, apenas o caso " "bidimensional era suportado." -#: ../../library/math.rst:484 +#: ../../library/math.rst:486 msgid "" "Improved the algorithm's accuracy so that the maximum error is under 1 ulp " "(unit in the last place). More typically, the result is almost always " @@ -792,31 +792,31 @@ msgstr "" "ulp (unidade no último lugar). Mais tipicamente, o resultado é quase sempre " "arredondado corretamente para 1/2 ulp." -#: ../../library/math.rst:492 +#: ../../library/math.rst:494 msgid "Return the sine of *x* radians." msgstr "Retorna o seno de *x* radianos." -#: ../../library/math.rst:497 +#: ../../library/math.rst:499 msgid "Return the tangent of *x* radians." msgstr "Retorna o tangente de *x* radianos." -#: ../../library/math.rst:501 +#: ../../library/math.rst:503 msgid "Angular conversion" msgstr "Conversão angular" -#: ../../library/math.rst:505 +#: ../../library/math.rst:507 msgid "Convert angle *x* from radians to degrees." msgstr "Converte o ângulo *x* de radianos para graus." -#: ../../library/math.rst:510 +#: ../../library/math.rst:512 msgid "Convert angle *x* from degrees to radians." msgstr "Converte o ângulo *x* de graus para radianos." -#: ../../library/math.rst:514 +#: ../../library/math.rst:516 msgid "Hyperbolic functions" msgstr "Funções hiperbólicas" -#: ../../library/math.rst:516 +#: ../../library/math.rst:518 msgid "" "`Hyperbolic functions `_ " "are analogs of trigonometric functions that are based on hyperbolas instead " @@ -826,52 +826,52 @@ msgstr "" "são análogas de funções trigonométricas baseadas em hipérboles em vez de " "círculos." -#: ../../library/math.rst:522 +#: ../../library/math.rst:524 msgid "Return the inverse hyperbolic cosine of *x*." msgstr "Retorna o cosseno hiperbólico inverso de *x*." -#: ../../library/math.rst:527 +#: ../../library/math.rst:529 msgid "Return the inverse hyperbolic sine of *x*." msgstr "Retorna o seno hiperbólico inverso de *x*." -#: ../../library/math.rst:532 +#: ../../library/math.rst:534 msgid "Return the inverse hyperbolic tangent of *x*." msgstr "Retorna a tangente hiperbólica inversa de *x*." -#: ../../library/math.rst:537 +#: ../../library/math.rst:539 msgid "Return the hyperbolic cosine of *x*." msgstr "Retorna o cosseno hiperbólico de *x*." -#: ../../library/math.rst:542 +#: ../../library/math.rst:544 msgid "Return the hyperbolic sine of *x*." msgstr "Retorna o seno hiperbólico de *x*." -#: ../../library/math.rst:547 +#: ../../library/math.rst:549 msgid "Return the hyperbolic tangent of *x*." msgstr "Retorna a tangente hiperbólica de *x*." -#: ../../library/math.rst:551 +#: ../../library/math.rst:553 msgid "Special functions" msgstr "Funções especiais" -#: ../../library/math.rst:555 +#: ../../library/math.rst:557 msgid "" "Return the `error function `_ " "at *x*." msgstr "" "Retorna a `função erro `_ em *x*." -#: ../../library/math.rst:558 +#: ../../library/math.rst:560 msgid "" "The :func:`erf` function can be used to compute traditional statistical " "functions such as the `cumulative standard normal distribution `_::" +"wikipedia.org/wiki/Normal_distribution#Cumulative_distribution_functions>`_::" msgstr "" -"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:571 +#: ../../library/math.rst:573 msgid "" "Return the complementary error function at *x*. The `complementary error " "function `_ is defined as " @@ -885,32 +885,32 @@ msgstr "" "causaria uma `perda de significância `_\\." -#: ../../library/math.rst:582 +#: ../../library/math.rst:584 msgid "" "Return the `Gamma function `_ " "at *x*." msgstr "" "Retorna a `função gama `_ em *x*." -#: ../../library/math.rst:590 +#: ../../library/math.rst:592 msgid "" "Return the natural logarithm of the absolute value of the Gamma function at " "*x*." msgstr "Retorna o logaritmo natural do valor absoluto da função gama em *x*." -#: ../../library/math.rst:597 +#: ../../library/math.rst:599 msgid "Constants" msgstr "Constantes" -#: ../../library/math.rst:601 +#: ../../library/math.rst:603 msgid "The mathematical constant *π* = 3.141592..., to available precision." msgstr "A constante matemática *π* = 3.141592..., para a precisão disponível." -#: ../../library/math.rst:606 +#: ../../library/math.rst:608 msgid "The mathematical constant *e* = 2.718281..., to available precision." msgstr "A constante matemática *e* = 2.718281..., para a precisão disponível." -#: ../../library/math.rst:611 +#: ../../library/math.rst:613 msgid "" "The mathematical constant *τ* = 6.283185..., to available precision. Tau is " "a circle constant equal to 2\\ *π*, the ratio of a circle's circumference to " @@ -925,7 +925,7 @@ msgstr "" "comece a comemorar o `dia do Tau `_ comendo duas vezes " "mais torta!" -#: ../../library/math.rst:622 +#: ../../library/math.rst:624 msgid "" "A floating-point positive infinity. (For negative infinity, use ``-math." "inf``.) Equivalent to the output of ``float('inf')``." @@ -933,15 +933,23 @@ msgstr "" "Um infinito positivo de ponto flutuante. (Para infinito negativo, use ``-" "math.inf``.) Equivalente à saída de ``float('inf')``." -#: ../../library/math.rst:630 +#: ../../library/math.rst:632 msgid "" -"A floating-point \"not a number\" (NaN) value. Equivalent to the output of " -"``float('nan')``." +"A floating-point \"not a number\" (NaN) value. Equivalent to the output of " +"``float('nan')``. Due to the requirements of the `IEEE-754 standard `_, ``math.nan`` and ``float('nan')`` are not " +"considered to equal to any other numeric value, including themselves. To " +"check whether a number is a NaN, use the :func:`isnan` function to test for " +"NaNs instead of ``is`` or ``==``. Example::" msgstr "" -"Um valor de ponto flutuante \"não um número\" (NaN). Equivalente à saída de " -"``float('nan')``." +"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 " +"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:638 +#: ../../library/math.rst:655 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 " @@ -968,7 +976,7 @@ msgstr "" "esta regra, por exemplo, ``pow(float('nan'), 0.0)`` ou ``hypot(float('nan'), " "float('inf'))``." -#: ../../library/math.rst:650 +#: ../../library/math.rst:667 msgid "" "Note that Python makes no effort to distinguish signaling NaNs from quiet " "NaNs, and behavior for signaling NaNs remains unspecified. Typical behavior " @@ -979,10 +987,10 @@ msgstr "" "permanece não especificado. O comportamento típico é tratar todos os NaNs " "como se estivessem quietos." -#: ../../library/math.rst:657 +#: ../../library/math.rst:674 msgid "Module :mod:`cmath`" msgstr "Módulo :mod:`cmath`" -#: ../../library/math.rst:658 +#: ../../library/math.rst:675 msgid "Complex number versions of many of these functions." msgstr "Versões de números complexos de muitas dessas funções." diff --git a/library/mimetypes.po b/library/mimetypes.po index 7ef3bb084..7f7972952 100644 --- a/library/mimetypes.po +++ b/library/mimetypes.po @@ -1,30 +1,29 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, Python Software 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 -# Philippe Gonzaga , 2021 -# i17obot , 2021 +# python-doc bot, 2025 +# Rafael Fontenelle , 2025 +# Adorilson Bezerra , 2025 # #, 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:09+0000\n" -"Last-Translator: i17obot , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2026-02-05 17:49+0000\n" +"PO-Revision-Date: 2025-09-22 15:58+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=2; plural=(n > 1);\n" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/mimetypes.rst:2 msgid ":mod:`mimetypes` --- Map filenames to MIME types" @@ -64,7 +63,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 "" @@ -101,7 +100,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 "" @@ -144,8 +143,8 @@ msgid "" "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 "" @@ -162,6 +161,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 "" @@ -172,6 +173,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 "" @@ -179,6 +187,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 "" @@ -186,10 +197,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 "" @@ -198,6 +212,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 "" +"Carrega 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 "" @@ -206,18 +225,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 "" @@ -225,6 +251,9 @@ 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 "" @@ -233,24 +262,33 @@ msgid "" "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" @@ -262,6 +300,9 @@ 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 "" @@ -272,12 +313,21 @@ msgid "" "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ões 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 "" @@ -287,12 +337,21 @@ msgid "" "`.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 que mapeia extensões de nomes de arquivo para tipos de " +"codificação. Inicialmente, é uma cópia do :data:`encodings_map` global " +"definido no módulo." #: ../../library/mimetypes.rst:215 msgid "" @@ -301,6 +360,10 @@ 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 "" @@ -309,43 +372,57 @@ msgid "" "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 MIME 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." 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 @@ -353,10 +430,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:270 msgid ":ref:`Availability `: Windows." 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 9dfdf5a31..323277263 100644 --- a/library/mm.po +++ b/library/mm.po @@ -1,27 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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.10\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-06-29 12:56+0000\n" -"PO-Revision-Date: 2021-06-28 01:09+0000\n" -"Last-Translator: Claudio Rogerio Carvalho Filho , " -"2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:58+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/mm.rst:5 msgid "Multimedia Services" diff --git a/library/mmap.po b/library/mmap.po index dfb0f3006..4bf2750b5 100644 --- a/library/mmap.po +++ b/library/mmap.po @@ -1,27 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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.10\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-06-29 12:56+0000\n" -"PO-Revision-Date: 2021-06-28 01:09+0000\n" -"Last-Translator: i17obot , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:58+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/mmap.rst:2 msgid ":mod:`mmap` --- Memory-mapped file support" @@ -132,7 +132,7 @@ msgstr "" "maior que o tamanho atual do arquivo, o arquivo será estendido para conter " "*length* bytes. Se *length* for ``0``, o tamanho máximo do mapa será o " "tamanho atual do arquivo, exceto que, se o arquivo estiver vazio, o Windows " -"gerará uma exceção (você não poderá criar um mapeamento vazio no Windows)." +"levantará uma exceção (você não poderá criar um mapeamento vazio no Windows)." #: ../../library/mmap.rst:58 msgid "" @@ -159,12 +159,18 @@ msgid "" "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:70 ../../library/mmap.rst:161 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:75 msgid "" @@ -173,6 +179,10 @@ msgid "" "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:80 msgid "" @@ -184,6 +194,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:88 msgid "" @@ -192,6 +209,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:93 msgid "" @@ -200,6 +221,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:98 msgid "" @@ -208,13 +233,20 @@ 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:103 msgid "" "To ensure validity of the created memory mapping the file specified by the " -"descriptor *fileno* is internally automatically synchronized with physical " -"backing store on Mac OS X and OpenVMS." +"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:107 msgid "This example shows a simple way of using :class:`~mmap.mmap`::" diff --git a/library/modulefinder.po b/library/modulefinder.po index 829438f01..38f4d456a 100644 --- a/library/modulefinder.po +++ b/library/modulefinder.po @@ -1,26 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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.10\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-06-29 12:56+0000\n" -"PO-Revision-Date: 2021-06-28 01:09+0000\n" -"Last-Translator: Rafael Fontenelle , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:58+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/modulefinder.rst:2 msgid ":mod:`modulefinder` --- Find modules used by a script" diff --git a/library/modules.po b/library/modules.po index c5b930472..a07b78d9c 100644 --- a/library/modules.po +++ b/library/modules.po @@ -1,28 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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.10\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-06-29 12:56+0000\n" -"PO-Revision-Date: 2021-06-28 01:09+0000\n" -"Last-Translator: Claudio Rogerio Carvalho Filho , " -"2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:58+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/modules.rst:5 msgid "Importing Modules" diff --git a/library/msilib.po b/library/msilib.po index d48f78f0a..77809ae87 100644 --- a/library/msilib.po +++ b/library/msilib.po @@ -1,40 +1,43 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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 -# Claudio Rogerio Carvalho Filho , 2021 -# Risaffi , 2021 -# i17obot , 2021 +# python-doc bot, 2025 # #, 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:09+0000\n" -"Last-Translator: i17obot , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:58+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/msilib.rst:2 msgid ":mod:`msilib` --- Read and write Microsoft Installer files" msgstr "" -#: ../../library/msilib.rst:11 +#: ../../library/msilib.rst:12 msgid "**Source code:** :source:`Lib/msilib/__init__.py`" msgstr "**Código-fonte:** :source:`Lib/msilib/__init__.py`" -#: ../../library/msilib.rst:17 +#: ../../library/msilib.rst:16 +msgid "" +"The :mod:`msilib` module is deprecated (see :pep:`PEP 594 <594#msilib>` for " +"details)." +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 (``." @@ -43,7 +46,7 @@ msgid "" "database is possible." msgstr "" -#: ../../library/msilib.rst:22 +#: ../../library/msilib.rst:27 msgid "" "This package aims to provide complete access to all tables in an ``.msi`` " "file, therefore, it is a fairly low-level API. Two primary applications of " @@ -52,40 +55,40 @@ msgid "" "different version of ``msilib``)." msgstr "" -#: ../../library/msilib.rst:28 +#: ../../library/msilib.rst:33 msgid "" "The package contents can be roughly split into four parts: low-level CAB " "routines, low-level MSI routines, higher-level MSI routines, and standard " "table structures." msgstr "" -#: ../../library/msilib.rst:35 +#: ../../library/msilib.rst:40 msgid "" "Create a new CAB file named *cabname*. *files* must be a list of tuples, " "each containing the name of the file on disk, and the name of the file " "inside the CAB file." msgstr "" -#: ../../library/msilib.rst:39 +#: ../../library/msilib.rst:44 msgid "" "The files are added to the CAB file in the order they appear in the list. " "All files are added into a single CAB file, using the MSZIP compression " "algorithm." msgstr "" -#: ../../library/msilib.rst:42 +#: ../../library/msilib.rst:47 msgid "" "Callbacks to Python for the various steps of MSI creation are currently not " "exposed." msgstr "" -#: ../../library/msilib.rst:48 +#: ../../library/msilib.rst:53 msgid "" "Return the string representation of a new unique identifier. This wraps the " "Windows API functions :c:func:`UuidCreate` and :c:func:`UuidToString`." msgstr "" -#: ../../library/msilib.rst:54 +#: ../../library/msilib.rst:59 msgid "" "Return a new database object by calling MsiOpenDatabase. *path* is the " "file name of the MSI file; *persist* can be one of the constants " @@ -96,84 +99,84 @@ msgid "" "new one created." msgstr "" -#: ../../library/msilib.rst:65 +#: ../../library/msilib.rst:70 msgid "" "Return a new record object by calling :c:func:`MSICreateRecord`. *count* is " "the number of fields of the record." msgstr "" -#: ../../library/msilib.rst:71 +#: ../../library/msilib.rst:76 msgid "" "Create and return a new database *name*, initialize it with *schema*, and " "set the properties *ProductName*, *ProductCode*, *ProductVersion*, and " "*Manufacturer*." msgstr "" -#: ../../library/msilib.rst:75 +#: ../../library/msilib.rst:80 msgid "" "*schema* must be a module object containing ``tables`` and " "``_Validation_records`` attributes; typically, :mod:`msilib.schema` should " "be used." msgstr "" -#: ../../library/msilib.rst:79 +#: ../../library/msilib.rst:84 msgid "" "The database will contain just the schema and the validation records when " "this function returns." msgstr "" -#: ../../library/msilib.rst:85 +#: ../../library/msilib.rst:90 msgid "Add all *records* to the table named *table* in *database*." msgstr "" -#: ../../library/msilib.rst:87 +#: ../../library/msilib.rst:92 msgid "" "The *table* argument must be one of the predefined tables in the MSI schema, " "e.g. ``'Feature'``, ``'File'``, ``'Component'``, ``'Dialog'``, " "``'Control'``, etc." msgstr "" -#: ../../library/msilib.rst:91 +#: ../../library/msilib.rst:96 msgid "" "*records* should be a list of tuples, each one containing all fields of a " "record according to the schema of the table. For optional fields, ``None`` " "can be passed." msgstr "" -#: ../../library/msilib.rst:95 +#: ../../library/msilib.rst:100 msgid "Field values can be ints, strings, or instances of the Binary class." msgstr "" -#: ../../library/msilib.rst:100 +#: ../../library/msilib.rst:105 msgid "" "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:106 +#: ../../library/msilib.rst:111 msgid "" "Add all table content from *module* to *database*. *module* must contain an " "attribute *tables* listing all tables for which content should be added, and " "one attribute per table that has the actual content." msgstr "" -#: ../../library/msilib.rst:110 +#: ../../library/msilib.rst:115 msgid "This is typically used to install the sequence tables." msgstr "" -#: ../../library/msilib.rst:115 +#: ../../library/msilib.rst:120 msgid "" "Add the file *path* into the ``_Stream`` table of *database*, with the " "stream name *name*." msgstr "" -#: ../../library/msilib.rst:121 +#: ../../library/msilib.rst:126 msgid "" "Return a new UUID, in the format that MSI typically requires (i.e. in curly " "braces, and with all hexdigits in upper-case)." msgstr "" -#: ../../library/msilib.rst:127 +#: ../../library/msilib.rst:132 msgid "" "`FCICreate `_ " "`UuidCreate `_" msgstr "" -#: ../../library/msilib.rst:134 +#: ../../library/msilib.rst:139 msgid "Database Objects" msgstr "Objetos de banco de dados." -#: ../../library/msilib.rst:139 +#: ../../library/msilib.rst:144 msgid "" "Return a view object, by calling :c:func:`MSIDatabaseOpenView`. *sql* is the " "SQL statement to execute." msgstr "" -#: ../../library/msilib.rst:145 +#: ../../library/msilib.rst:150 msgid "" "Commit the changes pending in the current transaction, by calling :c:func:" "`MSIDatabaseCommit`." msgstr "" -#: ../../library/msilib.rst:151 +#: ../../library/msilib.rst:156 msgid "" "Return a new summary information object, by calling :c:func:" "`MsiGetSummaryInformation`. *count* is the maximum number of updated values." msgstr "" -#: ../../library/msilib.rst:157 +#: ../../library/msilib.rst:162 msgid "Close the database object, through :c:func:`MsiCloseHandle`." msgstr "" -#: ../../library/msilib.rst:163 +#: ../../library/msilib.rst:168 msgid "" "`MSIDatabaseOpenView `_ `MSIDatabaseCommit `_" msgstr "" -#: ../../library/msilib.rst:171 +#: ../../library/msilib.rst:176 msgid "View Objects" msgstr "" -#: ../../library/msilib.rst:176 +#: ../../library/msilib.rst:181 msgid "" "Execute the SQL query of the view, through :c:func:`MSIViewExecute`. If " "*params* is not ``None``, it is a record describing actual values of the " "parameter tokens in the query." msgstr "" -#: ../../library/msilib.rst:183 +#: ../../library/msilib.rst:188 msgid "" "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:190 +#: ../../library/msilib.rst:195 msgid "" "Return a result record of the query, through calling :c:func:`MsiViewFetch`." msgstr "" -#: ../../library/msilib.rst:195 +#: ../../library/msilib.rst:200 msgid "" "Modify the view, by calling :c:func:`MsiViewModify`. *kind* can be one of " "``MSIMODIFY_SEEK``, ``MSIMODIFY_REFRESH``, ``MSIMODIFY_INSERT``, " @@ -250,15 +253,15 @@ msgid "" "``MSIMODIFY_VALIDATE_FIELD``, or ``MSIMODIFY_VALIDATE_DELETE``." msgstr "" -#: ../../library/msilib.rst:202 +#: ../../library/msilib.rst:207 msgid "*data* must be a record describing the new data." msgstr "" -#: ../../library/msilib.rst:207 +#: ../../library/msilib.rst:212 msgid "Close the view, through :c:func:`MsiViewClose`." msgstr "" -#: ../../library/msilib.rst:212 +#: ../../library/msilib.rst:217 msgid "" "`MsiViewExecute `_ `MSIViewGetColumnInfo `_" msgstr "" -#: ../../library/msilib.rst:221 +#: ../../library/msilib.rst:226 msgid "Summary Information Objects" msgstr "" -#: ../../library/msilib.rst:226 +#: ../../library/msilib.rst:231 msgid "" "Return a property of the summary, through :c:func:" "`MsiSummaryInfoGetProperty`. *field* is the name of the property, and can be " @@ -284,26 +287,26 @@ msgid "" "``PID_WORDCOUNT``, ``PID_CHARCOUNT``, ``PID_APPNAME``, or ``PID_SECURITY``." msgstr "" -#: ../../library/msilib.rst:237 +#: ../../library/msilib.rst:242 msgid "" "Return the number of summary properties, through :c:func:" "`MsiSummaryInfoGetPropertyCount`." msgstr "" -#: ../../library/msilib.rst:243 +#: ../../library/msilib.rst:248 msgid "" "Set a property through :c:func:`MsiSummaryInfoSetProperty`. *field* can have " "the same values as in :meth:`GetProperty`, *value* is the new value of the " "property. Possible value types are integer and string." msgstr "" -#: ../../library/msilib.rst:250 +#: ../../library/msilib.rst:255 msgid "" "Write the modified properties to the summary information stream, using :c:" "func:`MsiSummaryInfoPersist`." msgstr "" -#: ../../library/msilib.rst:256 +#: ../../library/msilib.rst:261 msgid "" "`MsiSummaryInfoGetProperty `_ `MsiSummaryInfoGetPropertyCount `_" msgstr "" -#: ../../library/msilib.rst:264 +#: ../../library/msilib.rst:269 msgid "Record Objects" msgstr "" -#: ../../library/msilib.rst:269 +#: ../../library/msilib.rst:274 msgid "" "Return the number of fields of the record, through :c:func:" "`MsiRecordGetFieldCount`." msgstr "" -#: ../../library/msilib.rst:275 +#: ../../library/msilib.rst:280 msgid "" "Return the value of *field* as an integer where possible. *field* must be " "an integer." msgstr "" -#: ../../library/msilib.rst:281 +#: ../../library/msilib.rst:286 msgid "" "Return the value of *field* as a string where possible. *field* must be an " "integer." msgstr "" -#: ../../library/msilib.rst:287 +#: ../../library/msilib.rst:292 msgid "" "Set *field* to *value* through :c:func:`MsiRecordSetString`. *field* must be " "an integer; *value* a string." msgstr "" -#: ../../library/msilib.rst:293 +#: ../../library/msilib.rst:298 msgid "" "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:299 +#: ../../library/msilib.rst:304 msgid "" "Set *field* to *value* through :c:func:`MsiRecordSetInteger`. Both *field* " "and *value* must be an integer." msgstr "" -#: ../../library/msilib.rst:305 +#: ../../library/msilib.rst:310 msgid "" "Set all fields of the record to 0, through :c:func:`MsiRecordClearData`." msgstr "" -#: ../../library/msilib.rst:310 +#: ../../library/msilib.rst:315 msgid "" "`MsiRecordGetFieldCount `_ `MsiRecordSetString `_" msgstr "" -#: ../../library/msilib.rst:319 +#: ../../library/msilib.rst:324 msgid "Errors" msgstr "Erros" -#: ../../library/msilib.rst:321 +#: ../../library/msilib.rst:326 msgid "" "All wrappers around MSI functions raise :exc:`MSIError`; the string inside " "the exception will contain more detail." msgstr "" -#: ../../library/msilib.rst:328 +#: ../../library/msilib.rst:333 msgid "CAB Objects" msgstr "" -#: ../../library/msilib.rst:333 +#: ../../library/msilib.rst:338 msgid "" "The class :class:`CAB` represents a CAB file. During MSI construction, files " "will be added simultaneously to the ``Files`` table, and to a CAB file. " @@ -391,34 +394,34 @@ msgid "" "added to the MSI file." msgstr "" -#: ../../library/msilib.rst:338 +#: ../../library/msilib.rst:343 msgid "*name* is the name of the CAB file in the MSI file." msgstr "" -#: ../../library/msilib.rst:343 +#: ../../library/msilib.rst:348 msgid "" "Add the file with the pathname *full* to the CAB file, under the name " "*logical*. If there is already a file named *logical*, a new file name is " "created." msgstr "" -#: ../../library/msilib.rst:347 +#: ../../library/msilib.rst:352 msgid "" "Return the index of the file in the CAB file, and the new name of the file " "inside the CAB file." msgstr "" -#: ../../library/msilib.rst:353 +#: ../../library/msilib.rst:358 msgid "" "Generate a CAB file, add it as a stream to the MSI file, put it into the " "``Media`` table, and remove the generated file from the disk." msgstr "" -#: ../../library/msilib.rst:360 +#: ../../library/msilib.rst:365 msgid "Directory Objects" msgstr "Objetos Directory" -#: ../../library/msilib.rst:365 +#: ../../library/msilib.rst:370 msgid "" "Create a new directory in the Directory table. There is a current component " "at each point in time for the directory, which is either explicitly created " @@ -430,7 +433,7 @@ msgid "" "table. *componentflags* specifies the default flags that new components get." msgstr "" -#: ../../library/msilib.rst:377 +#: ../../library/msilib.rst:382 msgid "" "Add an entry to the Component table, and make this component the current " "component for this directory. If no component name is given, the directory " @@ -439,7 +442,7 @@ msgid "" "is given, the KeyPath is left null in the Component table." msgstr "" -#: ../../library/msilib.rst:386 +#: ../../library/msilib.rst:391 msgid "" "Add a file to the current component of the directory, starting a new one if " "there is no current component. By default, the file name in the source and " @@ -448,17 +451,17 @@ msgid "" "*language* can be specified for the entry in the File table." msgstr "" -#: ../../library/msilib.rst:395 +#: ../../library/msilib.rst:400 msgid "" "Add a list of files to the current component as specified in the glob " "pattern. Individual files can be excluded in the *exclude* list." msgstr "" -#: ../../library/msilib.rst:401 +#: ../../library/msilib.rst:406 msgid "Remove ``.pyc`` files on uninstall." msgstr "" -#: ../../library/msilib.rst:406 +#: ../../library/msilib.rst:411 msgid "" "`Directory Table `_ `File Table `_" msgstr "" -#: ../../library/msilib.rst:414 +#: ../../library/msilib.rst:419 msgid "Features" msgstr "Recursos" -#: ../../library/msilib.rst:419 +#: ../../library/msilib.rst:424 msgid "" "Add a new record to the ``Feature`` table, using the values *id*, *parent." "id*, *title*, *desc*, *display*, *level*, *directory*, and *attributes*. The " @@ -479,24 +482,24 @@ msgid "" "of :class:`Directory`." msgstr "" -#: ../../library/msilib.rst:427 +#: ../../library/msilib.rst:432 msgid "" "Make this feature the current feature of :mod:`msilib`. New components are " "automatically added to the default feature, unless a feature is explicitly " "specified." msgstr "" -#: ../../library/msilib.rst:434 +#: ../../library/msilib.rst:439 msgid "" "`Feature Table `_" msgstr "" -#: ../../library/msilib.rst:439 +#: ../../library/msilib.rst:444 msgid "GUI classes" msgstr "Classes GUI" -#: ../../library/msilib.rst:441 +#: ../../library/msilib.rst:446 msgid "" ":mod:`msilib` provides several classes that wrap the GUI tables in an MSI " "database. However, no standard user interface is provided; use :mod:" @@ -504,81 +507,81 @@ msgid "" "installing Python packages." msgstr "" -#: ../../library/msilib.rst:449 +#: ../../library/msilib.rst:454 msgid "" "Base class of the dialog controls. *dlg* is the dialog object the control " "belongs to, and *name* is the control's name." msgstr "" -#: ../../library/msilib.rst:455 +#: ../../library/msilib.rst:460 msgid "Make an entry into the ``ControlEvent`` table for this control." msgstr "" -#: ../../library/msilib.rst:460 +#: ../../library/msilib.rst:465 msgid "Make an entry into the ``EventMapping`` table for this control." msgstr "" -#: ../../library/msilib.rst:465 +#: ../../library/msilib.rst:470 msgid "Make an entry into the ``ControlCondition`` table for this control." msgstr "Cria uma entrada na tabela ``ControlCondition`` para este controle." -#: ../../library/msilib.rst:470 +#: ../../library/msilib.rst:475 msgid "" "Create a radio button control named *name*. *property* is the installer " "property that gets set when a radio button is selected." msgstr "" -#: ../../library/msilib.rst:476 +#: ../../library/msilib.rst:481 msgid "" "Add a radio button named *name* to the group, at the coordinates *x*, *y*, " "*width*, *height*, and with the label *text*. If *value* is ``None``, it " "defaults to *name*." msgstr "" -#: ../../library/msilib.rst:483 +#: ../../library/msilib.rst:488 msgid "" "Return a new :class:`Dialog` object. An entry in the ``Dialog`` table is " "made, with the specified coordinates, dialog attributes, title, name of the " "first, default, and cancel controls." msgstr "" -#: ../../library/msilib.rst:490 +#: ../../library/msilib.rst:495 msgid "" "Return a new :class:`Control` object. An entry in the ``Control`` table is " "made with the specified parameters." msgstr "" -#: ../../library/msilib.rst:493 +#: ../../library/msilib.rst:498 msgid "" "This is a generic method; for specific types, specialized methods are " "provided." msgstr "" -#: ../../library/msilib.rst:499 +#: ../../library/msilib.rst:504 msgid "Add and return a ``Text`` control." msgstr "" -#: ../../library/msilib.rst:504 +#: ../../library/msilib.rst:509 msgid "Add and return a ``Bitmap`` control." msgstr "" -#: ../../library/msilib.rst:509 +#: ../../library/msilib.rst:514 msgid "Add and return a ``Line`` control." msgstr "" -#: ../../library/msilib.rst:514 +#: ../../library/msilib.rst:519 msgid "Add and return a ``PushButton`` control." msgstr "" -#: ../../library/msilib.rst:519 +#: ../../library/msilib.rst:524 msgid "Add and return a ``RadioButtonGroup`` control." msgstr "" -#: ../../library/msilib.rst:524 +#: ../../library/msilib.rst:529 msgid "Add and return a ``CheckBox`` control." msgstr "" -#: ../../library/msilib.rst:529 +#: ../../library/msilib.rst:534 msgid "" "`Dialog Table `_ `Control Table `_" msgstr "" -#: ../../library/msilib.rst:540 +#: ../../library/msilib.rst:545 msgid "Precomputed tables" msgstr "" -#: ../../library/msilib.rst:542 +#: ../../library/msilib.rst:547 msgid "" ":mod:`msilib` provides a few subpackages that contain only schema and table " "definitions. Currently, these definitions are based on MSI version 2.0." msgstr "" -#: ../../library/msilib.rst:548 +#: ../../library/msilib.rst:553 msgid "" "This is the standard MSI schema for MSI 2.0, with the *tables* variable " "providing a list of table definitions, and *_Validation_records* providing " "the data for MSI validation." msgstr "" -#: ../../library/msilib.rst:555 +#: ../../library/msilib.rst:560 msgid "" "This module contains table contents for the standard sequence tables: " "*AdminExecuteSequence*, *AdminUISequence*, *AdvtExecuteSequence*, " "*InstallExecuteSequence*, and *InstallUISequence*." msgstr "" -#: ../../library/msilib.rst:562 +#: ../../library/msilib.rst:567 msgid "" "This module contains definitions for the UIText and ActionText tables, for " "the standard installer actions." diff --git a/library/msvcrt.po b/library/msvcrt.po index d9a9be89b..6fd11c0e4 100644 --- a/library/msvcrt.po +++ b/library/msvcrt.po @@ -1,26 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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.10\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-06-29 12:56+0000\n" -"PO-Revision-Date: 2021-06-28 01:09+0000\n" -"Last-Translator: Rafael Fontenelle , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:58+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/msvcrt.rst:2 msgid ":mod:`msvcrt` --- Useful routines from the MS VC++ runtime" @@ -93,7 +94,7 @@ 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 @@ -112,14 +113,13 @@ 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 "" @@ -150,7 +150,7 @@ 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 "" @@ -166,7 +166,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" diff --git a/library/multiprocessing.po b/library/multiprocessing.po index dc3268c40..1ae84d91e 100644 --- a/library/multiprocessing.po +++ b/library/multiprocessing.po @@ -1,33 +1,28 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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 -# Hugo Santos Piauilino , 2021 -# Vinicius Gubiani Ferreira , 2021 -# i17obot , 2021 -# Raphael Mendonça, 2021 -# Claudio Rogerio Carvalho Filho , 2021 -# Caio Fauza, 2021 -# Rafael Fontenelle , 2021 +# python-doc bot, 2025 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.10\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-08-10 13:16+0000\n" -"PO-Revision-Date: 2021-06-28 01:10+0000\n" -"Last-Translator: Rafael Fontenelle , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:58+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=2; plural=(n > 1);\n" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/multiprocessing.rst:2 msgid ":mod:`multiprocessing` --- Process-based parallelism" @@ -72,31 +67,59 @@ msgid "" "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:41 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:47 +#: ../../library/multiprocessing.rst:48 +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 "" +":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:57 msgid "The :class:`Process` class" msgstr "A classe :class:`Process`" -#: ../../library/multiprocessing.rst:49 +#: ../../library/multiprocessing.rst:59 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 ::" 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:64 +#: ../../library/multiprocessing.rst:74 msgid "" "To show the individual process IDs involved, here is an expanded example::" msgstr "" "Para mostrar os IDs de processo individuais envolvidos, aqui está um exemplo " "expandido::" -#: ../../library/multiprocessing.rst:85 +#: ../../library/multiprocessing.rst:95 msgid "" "For an explanation of why the ``if __name__ == '__main__'`` part is " "necessary, see :ref:`multiprocessing-programming`." @@ -104,57 +127,67 @@ msgstr "" "Para uma explicação do porquê a parte ``if __name__ == '__main__'`` é " "necessária, veja :ref:`multiprocessing-programming`." -#: ../../library/multiprocessing.rst:91 +#: ../../library/multiprocessing.rst:101 msgid "Contexts and start methods" msgstr "Contextos e métodos de inicialização" -#: ../../library/multiprocessing.rst:95 +#: ../../library/multiprocessing.rst:105 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:106 +#: ../../library/multiprocessing.rst:116 msgid "*spawn*" msgstr "*spawn*" -#: ../../library/multiprocessing.rst:99 +#: ../../library/multiprocessing.rst:109 msgid "" -"The parent process starts a fresh python interpreter process. The child " +"The parent process starts a fresh Python interpreter process. The child " "process will only inherit those resources necessary to run the process " "object's :meth:`~Process.run` method. In particular, unnecessary file " "descriptors and handles from the parent process will not be inherited. " "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:106 +#: ../../library/multiprocessing.rst:116 msgid "Available on Unix and Windows. The default on Windows and macOS." msgstr "Disponível para Unix e Windows. O padrão no Windows e macOS." -#: ../../library/multiprocessing.rst:115 +#: ../../library/multiprocessing.rst:125 msgid "*fork*" msgstr "*fork*" -#: ../../library/multiprocessing.rst:109 +#: ../../library/multiprocessing.rst:119 msgid "" "The parent process uses :func:`os.fork` to fork the Python interpreter. The " "child process, when it begins, is effectively identical to the parent " "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:115 +#: ../../library/multiprocessing.rst:125 msgid "Available on Unix only. The default on Unix." msgstr "Disponível apenas para Unix. O padrão no Unix." -#: ../../library/multiprocessing.rst:126 +#: ../../library/multiprocessing.rst:136 msgid "*forkserver*" msgstr "*forkserver*" -#: ../../library/multiprocessing.rst:118 +#: ../../library/multiprocessing.rst:128 msgid "" "When the program starts and selects the *forkserver* start method, a server " "process is started. From then on, whenever a new process is needed, the " @@ -169,7 +202,7 @@ msgstr "" "servidor é de thread único, então é seguro utilizar :func:`os.fork`. Nenhum " "recurso desnecessário é herdado." -#: ../../library/multiprocessing.rst:125 +#: ../../library/multiprocessing.rst:135 msgid "" "Available on Unix platforms which support passing file descriptors over Unix " "pipes." @@ -177,21 +210,24 @@ msgstr "" "Disponível em plataformas Unix que suportam a passagem de descritores de " "arquivo em Unix pipes." -#: ../../library/multiprocessing.rst:130 +#: ../../library/multiprocessing.rst:140 ../../library/multiprocessing.rst:1053 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:134 +#: ../../library/multiprocessing.rst:144 msgid "" -"*spawn* added on all unix platforms, and *forkserver* added for some unix " +"*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:140 +#: ../../library/multiprocessing.rst:150 msgid "" "On Unix using the *spawn* or *forkserver* start methods will also start a " "*resource tracker* process which tracks the unlinked named system resources " @@ -206,33 +242,44 @@ msgid "" "space in the main memory.)" msgstr "" -#: ../../library/multiprocessing.rst:153 +#: ../../library/multiprocessing.rst:163 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:170 +#: ../../library/multiprocessing.rst:180 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:173 +#: ../../library/multiprocessing.rst:183 msgid "" "Alternatively, you can use :func:`get_context` to obtain a context object. " "Context objects have the same API as the multiprocessing module, and allow " "one to use multiple start methods in the same program. ::" msgstr "" +"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:191 +#: ../../library/multiprocessing.rst:201 msgid "" "Note that objects related to one context may not be compatible with " "processes for a different context. In particular, locks created using the " "*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:196 +#: ../../library/multiprocessing.rst:206 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." @@ -241,7 +288,7 @@ msgstr "" "provavelmente deve utilizar :func:`get_context` para evitar interferir na " "escolha do usuário." -#: ../../library/multiprocessing.rst:202 +#: ../../library/multiprocessing.rst:212 msgid "" "The ``'spawn'`` and ``'forkserver'`` start methods cannot currently be used " "with \"frozen\" executables (i.e., binaries produced by packages like " @@ -249,21 +296,23 @@ msgid "" "work." msgstr "" -#: ../../library/multiprocessing.rst:209 +#: ../../library/multiprocessing.rst:219 msgid "Exchanging objects between processes" msgstr "Trocando objetos entre processos" -#: ../../library/multiprocessing.rst:211 +#: ../../library/multiprocessing.rst:221 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:214 +#: ../../library/multiprocessing.rst:224 msgid "**Queues**" msgstr "**Filas**" -#: ../../library/multiprocessing.rst:216 +#: ../../library/multiprocessing.rst:226 msgid "" "The :class:`Queue` class is a near clone of :class:`queue.Queue`. For " "example::" @@ -271,21 +320,23 @@ msgstr "" "A classe :class:`Queue` é quase um clone de :class:`queue.Queue`. Por " "exemplo::" -#: ../../library/multiprocessing.rst:231 +#: ../../library/multiprocessing.rst:241 msgid "Queues are thread and process safe." msgstr "" -#: ../../library/multiprocessing.rst:233 +#: ../../library/multiprocessing.rst:243 msgid "**Pipes**" -msgstr "**Pipes**" +msgstr "**Encadeamentos**" -#: ../../library/multiprocessing.rst:235 +#: ../../library/multiprocessing.rst:245 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:251 +#: ../../library/multiprocessing.rst:261 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:" @@ -294,31 +345,41 @@ msgid "" "the *same* end of the pipe at the same time. Of course there is no risk of " "corruption from processes using different ends of the pipe at the same time." msgstr "" +"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:261 +#: ../../library/multiprocessing.rst:271 msgid "Synchronization between processes" msgstr "Sincronização entre processos" -#: ../../library/multiprocessing.rst:263 +#: ../../library/multiprocessing.rst:273 msgid "" ":mod:`multiprocessing` contains equivalents of all the synchronization " "primitives from :mod:`threading`. For instance one can use a lock to ensure " "that only one process prints to standard output at a time::" msgstr "" +":mod:`multiprocessing` 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:282 +#: ../../library/multiprocessing.rst:292 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:287 +#: ../../library/multiprocessing.rst:297 msgid "Sharing state between processes" msgstr "Compartilhando estado entre processos" -#: ../../library/multiprocessing.rst:289 +#: ../../library/multiprocessing.rst:299 msgid "" "As mentioned above, when doing concurrent programming it is usually best to " "avoid using shared state as far as possible. This is particularly true when " @@ -328,7 +389,7 @@ msgstr "" "melhor evitar o uso de estado compartilhado, tanto quanto possível. Isso é " "particularmente verdadeiro ao utilizar múltiplos processos." -#: ../../library/multiprocessing.rst:293 +#: ../../library/multiprocessing.rst:303 msgid "" "However, if you really do need to use some shared data then :mod:" "`multiprocessing` provides a couple of ways of doing so." @@ -337,11 +398,11 @@ msgstr "" "dados, então :mod:`multiprocessing` fornece algumas maneiras de se fazer " "isso." -#: ../../library/multiprocessing.rst:296 +#: ../../library/multiprocessing.rst:306 msgid "**Shared memory**" -msgstr "**Shared memory**" +msgstr "**Memória compartilhada**" -#: ../../library/multiprocessing.rst:298 +#: ../../library/multiprocessing.rst:308 msgid "" "Data can be stored in a shared memory map using :class:`Value` or :class:" "`Array`. For example, the following code ::" @@ -350,19 +411,23 @@ msgstr "" "utilizando :class:`Value` ou :class:`Array`. Por exemplo, o código a " "seguir ::" -#: ../../library/multiprocessing.rst:319 ../../library/multiprocessing.rst:365 +#: ../../library/multiprocessing.rst:329 ../../library/multiprocessing.rst:375 msgid "will print ::" -msgstr "será impresso::" +msgstr "vai exibir ::" -#: ../../library/multiprocessing.rst:324 +#: ../../library/multiprocessing.rst:334 msgid "" "The ``'d'`` and ``'i'`` arguments used when creating ``num`` and ``arr`` are " "typecodes of the kind used by the :mod:`array` module: ``'d'`` indicates a " "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:329 +#: ../../library/multiprocessing.rst:339 msgid "" "For more flexibility in using shared memory one can use the :mod:" "`multiprocessing.sharedctypes` module which supports the creation of " @@ -370,20 +435,23 @@ msgid "" 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:333 +#: ../../library/multiprocessing.rst:343 msgid "**Server process**" -msgstr "**Processo do Servidor**" +msgstr "**Processo de servidor**" -#: ../../library/multiprocessing.rst:335 +#: ../../library/multiprocessing.rst:345 msgid "" "A manager object returned by :func:`Manager` controls a server process which " "holds Python objects and allows other processes to manipulate them using " "proxies." msgstr "" +"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:339 +#: ../../library/multiprocessing.rst:349 msgid "" "A manager returned by :func:`Manager` will support types :class:`list`, :" "class:`dict`, :class:`~managers.Namespace`, :class:`Lock`, :class:`RLock`, :" @@ -391,37 +459,52 @@ msgid "" "`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:370 +#: ../../library/multiprocessing.rst:380 msgid "" "Server process managers are more flexible than using shared memory objects " "because they can be made to support arbitrary object types. Also, a single " "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:377 +#: ../../library/multiprocessing.rst:387 msgid "Using a pool of workers" -msgstr "" +msgstr "Usando um pool de workers" -#: ../../library/multiprocessing.rst:379 +#: ../../library/multiprocessing.rst:389 msgid "" "The :class:`~multiprocessing.pool.Pool` class represents a pool of worker " "processes. It has methods which allows tasks to be offloaded to the worker " "processes in a few different ways." msgstr "" +"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:383 +#: ../../library/multiprocessing.rst:393 msgid "For example::" msgstr "Por exemplo::" -#: ../../library/multiprocessing.rst:427 +#: ../../library/multiprocessing.rst:437 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:432 +#: ../../library/multiprocessing.rst:442 msgid "" "Functionality within this package requires that the ``__main__`` module be " "importable by the children. This is covered in :ref:`multiprocessing-" @@ -429,29 +512,39 @@ 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:455 +#: ../../library/multiprocessing.rst:465 msgid "" "(If you try this it will actually output three full tracebacks interleaved " "in a semi-random fashion, and then you may have to stop the parent process " "somehow.)" msgstr "" +"(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:461 +#: ../../library/multiprocessing.rst:471 msgid "Reference" msgstr "Referência" -#: ../../library/multiprocessing.rst:463 +#: ../../library/multiprocessing.rst:473 msgid "" "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:468 +#: ../../library/multiprocessing.rst:478 msgid ":class:`Process` and exceptions" -msgstr "" +msgstr ":class:`Process` e exceções" -#: ../../library/multiprocessing.rst:473 +#: ../../library/multiprocessing.rst:483 msgid "" "Process objects represent activity that is run in a separate process. The :" "class:`Process` class has equivalents of all the methods of :class:" @@ -461,7 +554,7 @@ msgstr "" "separado. A classe :class:`Process` possui equivalentes de todos os métodos " "de :class:`threading.Thread`." -#: ../../library/multiprocessing.rst:477 +#: ../../library/multiprocessing.rst:487 msgid "" "The constructor should always be called with keyword arguments. *group* " "should always be ``None``; it exists solely for compatibility with :class:" @@ -475,44 +568,54 @@ msgid "" "creating process." msgstr "" -#: ../../library/multiprocessing.rst:488 +#: ../../library/multiprocessing.rst:498 msgid "By default, no arguments are passed to *target*." msgstr "Por padrão, nenhum argumento é passado para *target*." -#: ../../library/multiprocessing.rst:490 +#: ../../library/multiprocessing.rst:500 msgid "" "If a subclass overrides the constructor, it must make sure it invokes the " "base class constructor (:meth:`Process.__init__`) before doing anything else " "to the process." msgstr "" +"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:494 +#: ../../library/multiprocessing.rst:504 msgid "Added the *daemon* argument." msgstr "Adicionado o argumento *daemon*." -#: ../../library/multiprocessing.rst:499 +#: ../../library/multiprocessing.rst:509 msgid "Method representing the process's activity." msgstr "Método que representa a atividade do processo." -#: ../../library/multiprocessing.rst:501 +#: ../../library/multiprocessing.rst:511 msgid "" "You may override this method in a subclass. The standard :meth:`run` method " "invokes the callable object passed to the object's constructor as the target " "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:508 +#: ../../library/multiprocessing.rst:518 msgid "Start the process's activity." msgstr "Inicia a atividade do processo." -#: ../../library/multiprocessing.rst:510 +#: ../../library/multiprocessing.rst:520 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:515 +#: ../../library/multiprocessing.rst:525 msgid "" "If the optional argument *timeout* is ``None`` (the default), the method " "blocks until the process whose :meth:`join` method is called terminates. If " @@ -521,58 +624,79 @@ 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:522 +#: ../../library/multiprocessing.rst:532 msgid "A process can be joined many times." -msgstr "" +msgstr "Um processo pode ser usar \"join\" muitas vezes." -#: ../../library/multiprocessing.rst:524 +#: ../../library/multiprocessing.rst:534 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:529 +#: ../../library/multiprocessing.rst:539 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:533 +#: ../../library/multiprocessing.rst:543 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." 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:540 +#: ../../library/multiprocessing.rst:550 msgid "Return whether the process is alive." msgstr "Retorna se o processo está ativo." -#: ../../library/multiprocessing.rst:542 +#: ../../library/multiprocessing.rst:552 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:547 +#: ../../library/multiprocessing.rst:557 msgid "" "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:550 +#: ../../library/multiprocessing.rst:560 msgid "The initial value is inherited from the creating process." -msgstr "" +msgstr "O valor inicial é herdado do processo de criação." -#: ../../library/multiprocessing.rst:552 +#: ../../library/multiprocessing.rst:562 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:555 +#: ../../library/multiprocessing.rst:565 msgid "" "Note that a daemonic process is not allowed to create child processes. " "Otherwise a daemonic process would leave its children orphaned if it gets " @@ -580,80 +704,119 @@ 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:561 +#: ../../library/multiprocessing.rst:571 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:566 +#: ../../library/multiprocessing.rst:576 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:571 +#: ../../library/multiprocessing.rst:581 msgid "" "The child's exit code. This will be ``None`` if the process has not yet " -"terminated. A negative value *-N* indicates that the child was terminated " -"by signal *N*." +"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:577 -msgid "The process's authentication key (a byte string)." +#: ../../library/multiprocessing.rst:584 +msgid "" +"If the child's :meth:`run` method returned normally, the exit code will be " +"0. If it terminated via :func:`sys.exit` with an integer argument *N*, the " +"exit code will be *N*." msgstr "" +"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:588 +msgid "" +"If the child terminated due to an exception not caught within :meth:`run`, " +"the exit code will be 1. If it was terminated by signal *N*, the exit code " +"will be the negative value *-N*." +msgstr "" +"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:594 +msgid "The process's authentication key (a byte string)." +msgstr "A chave de autenticação do processo (uma string de bytes)." -#: ../../library/multiprocessing.rst:579 +#: ../../library/multiprocessing.rst:596 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:582 +#: ../../library/multiprocessing.rst:599 msgid "" "When a :class:`Process` object is created, it will inherit the " "authentication key of its parent process, although this may be changed by " "setting :attr:`authkey` to another byte string." msgstr "" +"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:586 +#: ../../library/multiprocessing.rst:603 msgid "See :ref:`multiprocessing-auth-keys`." -msgstr "" +msgstr "Veja :ref:`multiprocessing-auth-keys`." -#: ../../library/multiprocessing.rst:590 +#: ../../library/multiprocessing.rst:607 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:593 +#: ../../library/multiprocessing.rst:610 msgid "" "You can use this value if you want to wait on several events at once using :" "func:`multiprocessing.connection.wait`. Otherwise calling :meth:`join()` is " "simpler." msgstr "" -#: ../../library/multiprocessing.rst:597 +#: ../../library/multiprocessing.rst:614 msgid "" "On Windows, this is an OS handle usable with the ``WaitForSingleObject`` and " "``WaitForMultipleObjects`` family of API calls. On Unix, this is a file " "descriptor usable with primitives from the :mod:`select` module." msgstr "" -#: ../../library/multiprocessing.rst:605 +#: ../../library/multiprocessing.rst:622 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." msgstr "" -#: ../../library/multiprocessing.rst:609 +#: ../../library/multiprocessing.rst:626 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:614 +#: ../../library/multiprocessing.rst:631 msgid "" "If this method is used when the associated process is using a pipe or queue " "then the pipe or queue is liable to become corrupted and may become unusable " @@ -661,72 +824,94 @@ 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:622 +#: ../../library/multiprocessing.rst:639 msgid "Same as :meth:`terminate()` but using the ``SIGKILL`` signal on Unix." msgstr "" -#: ../../library/multiprocessing.rst:628 +#: ../../library/multiprocessing.rst:645 msgid "" "Close the :class:`Process` object, releasing all resources associated with " "it. :exc:`ValueError` is raised if the underlying process is still " "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:636 +#: ../../library/multiprocessing.rst:653 msgid "" "Note that the :meth:`start`, :meth:`join`, :meth:`is_alive`, :meth:" "`terminate` and :attr:`exitcode` methods should only be called by the " "process that created the process object." msgstr "" +"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:640 +#: ../../library/multiprocessing.rst:657 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:661 +#: ../../library/multiprocessing.rst:677 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:665 +#: ../../library/multiprocessing.rst:681 msgid "" "Exception raised by :meth:`Connection.recv_bytes_into()` when the supplied " "buffer object is too small for the message read." msgstr "" -#: ../../library/multiprocessing.rst:668 +#: ../../library/multiprocessing.rst:684 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:673 +#: ../../library/multiprocessing.rst:689 msgid "Raised when there is an authentication error." -msgstr "" +msgstr "Levantada quando há um erro de autenticação." -#: ../../library/multiprocessing.rst:677 +#: ../../library/multiprocessing.rst:693 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:680 +#: ../../library/multiprocessing.rst:696 msgid "Pipes and Queues" -msgstr "" +msgstr "Encadeamentos e filas" -#: ../../library/multiprocessing.rst:682 +#: ../../library/multiprocessing.rst:698 msgid "" "When using multiple processes, one generally uses message passing for " "communication between processes and avoids having to use any synchronization " "primitives like locks." msgstr "" +"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:686 +#: ../../library/multiprocessing.rst:702 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:689 +#: ../../library/multiprocessing.rst:705 msgid "" "The :class:`Queue`, :class:`SimpleQueue` and :class:`JoinableQueue` types " "are multi-producer, multi-consumer :abbr:`FIFO (first-in, first-out)` queues " @@ -735,29 +920,45 @@ msgid "" "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:696 +#: ../../library/multiprocessing.rst:712 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." 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:701 +#: ../../library/multiprocessing.rst:717 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:706 +#: ../../library/multiprocessing.rst:722 msgid "" ":mod:`multiprocessing` uses the usual :exc:`queue.Empty` and :exc:`queue." "Full` exceptions to signal a timeout. They are not available in the :mod:" "`multiprocessing` namespace so you need to import them from :mod:`queue`." msgstr "" +":mod:`multiprocessing` 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:713 +#: ../../library/multiprocessing.rst:729 msgid "" "When an object is put on a queue, the object is pickled and a background " "thread later flushes the pickled data to an underlying pipe. This has some " @@ -765,39 +966,62 @@ 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:720 +#: ../../library/multiprocessing.rst:736 msgid "" "After putting an object on an empty queue there may be an infinitesimal " "delay before the queue's :meth:`~Queue.empty` method returns :const:`False` " "and :meth:`~Queue.get_nowait` can return without raising :exc:`queue.Empty`." msgstr "" +"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:725 +#: ../../library/multiprocessing.rst:741 msgid "" "If multiple processes are enqueuing objects, it is possible for the objects " "to be received at the other end out-of-order. However, objects enqueued by " "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:732 +#: ../../library/multiprocessing.rst:748 msgid "" "If a process is killed using :meth:`Process.terminate` or :func:`os.kill` " "while it is trying to use a :class:`Queue`, then the data in the queue is " "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:739 +#: ../../library/multiprocessing.rst:755 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." 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:744 +#: ../../library/multiprocessing.rst:760 msgid "" "This means that if you try joining that process you may get a deadlock " "unless you are sure that all items which have been put on the queue have " @@ -805,77 +1029,106 @@ 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:749 +#: ../../library/multiprocessing.rst:765 msgid "" "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:752 +#: ../../library/multiprocessing.rst:768 msgid "" "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:758 +#: ../../library/multiprocessing.rst:774 msgid "" "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:762 +#: ../../library/multiprocessing.rst:778 msgid "" "If *duplex* is ``True`` (the default) then the pipe is bidirectional. If " "*duplex* is ``False`` then the pipe is unidirectional: ``conn1`` can only be " "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:770 +#: ../../library/multiprocessing.rst:786 msgid "" "Returns a process shared queue implemented using a pipe and a few locks/" "semaphores. When a process first puts an item on the queue a feeder thread " "is started which transfers objects from a buffer into the pipe." msgstr "" +"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:774 +#: ../../library/multiprocessing.rst:790 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:777 +#: ../../library/multiprocessing.rst:793 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:782 +#: ../../library/multiprocessing.rst:798 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:785 +#: ../../library/multiprocessing.rst:801 msgid "" "Note that this may raise :exc:`NotImplementedError` on Unix platforms like " -"Mac OS X where ``sem_getvalue()`` is not implemented." +"macOS where ``sem_getvalue()`` is not implemented." msgstr "" -#: ../../library/multiprocessing.rst:790 +#: ../../library/multiprocessing.rst:806 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:795 +#: ../../library/multiprocessing.rst:811 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:800 +#: ../../library/multiprocessing.rst:816 msgid "" "Put obj into the queue. If the optional argument *block* is ``True`` (the " "default) and *timeout* is ``None`` (the default), block if necessary until a " @@ -885,18 +1138,28 @@ 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:809 +#: ../../library/multiprocessing.rst:825 msgid "" "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:815 +#: ../../library/multiprocessing.rst:831 msgid "Equivalent to ``put(obj, False)``." -msgstr "" +msgstr "Equivalente a ``put(obj, False)``." -#: ../../library/multiprocessing.rst:819 +#: ../../library/multiprocessing.rst:835 msgid "" "Remove and return an item from the queue. If optional args *block* is " "``True`` (the default) and *timeout* is ``None`` (the default), block if " @@ -906,53 +1169,80 @@ msgid "" "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:827 +#: ../../library/multiprocessing.rst:843 msgid "" "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:833 +#: ../../library/multiprocessing.rst:849 msgid "Equivalent to ``get(False)``." msgstr "Equivalente a ``get(False)``." -#: ../../library/multiprocessing.rst:835 +#: ../../library/multiprocessing.rst:851 msgid "" ":class:`multiprocessing.Queue` has a few additional methods not found in :" "class:`queue.Queue`. These methods are usually unnecessary for most code:" msgstr "" +":class:`multiprocessing.Queue` 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:841 +#: ../../library/multiprocessing.rst:857 msgid "" "Indicate that no more data will be put on this queue by the current " "process. The background thread will quit once it has flushed all buffered " "data to the pipe. This is called automatically when the queue is garbage " "collected." 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:848 +#: ../../library/multiprocessing.rst:864 msgid "" "Join the background thread. This can only be used after :meth:`close` has " "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:852 +#: ../../library/multiprocessing.rst:868 msgid "" "By default if a process is not the creator of the queue then on exit it will " "attempt to join the queue's background thread. The process can call :meth:" "`cancel_join_thread` to make :meth:`join_thread` do nothing." msgstr "" +"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:858 +#: ../../library/multiprocessing.rst:874 msgid "" "Prevent :meth:`join_thread` from blocking. In particular, this prevents the " "background thread from being joined automatically when the process exits -- " "see :meth:`join_thread`." msgstr "" +"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:862 +#: ../../library/multiprocessing.rst:878 msgid "" "A better name for this method might be ``allow_exit_without_flush()``. It " "is likely to cause enqueued data to be lost, and you almost certainly will " @@ -960,8 +1250,14 @@ 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:871 +#: ../../library/multiprocessing.rst:887 msgid "" "This class's functionality requires a functioning shared semaphore " "implementation on the host operating system. Without one, the functionality " @@ -970,66 +1266,89 @@ 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:880 +#: ../../library/multiprocessing.rst:896 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:884 +#: ../../library/multiprocessing.rst:900 msgid "Close the queue: release internal resources." -msgstr "" +msgstr "Fecha a fila: libera recursos internos." -#: ../../library/multiprocessing.rst:886 +#: ../../library/multiprocessing.rst:902 msgid "" "A queue must not be used anymore after it is closed. For example, :meth:" "`get`, :meth:`put` and :meth:`empty` methods must no longer be called." msgstr "" +"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:894 +#: ../../library/multiprocessing.rst:910 msgid "Return ``True`` if the queue is empty, ``False`` otherwise." msgstr "Retorna ``True`` se a fila estiver vazia, ``False`` caso contrário." -#: ../../library/multiprocessing.rst:898 +#: ../../library/multiprocessing.rst:914 msgid "Remove and return an item from the queue." -msgstr "" +msgstr "Remove e retorna um item da fila." -#: ../../library/multiprocessing.rst:902 +#: ../../library/multiprocessing.rst:918 msgid "Put *item* into the queue." -msgstr "" +msgstr "Coloca *item* na fila." -#: ../../library/multiprocessing.rst:907 +#: ../../library/multiprocessing.rst:923 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:912 +#: ../../library/multiprocessing.rst:928 msgid "" "Indicate that a formerly enqueued task is complete. Used by queue " "consumers. For each :meth:`~Queue.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 "" +"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:917 +#: ../../library/multiprocessing.rst:933 msgid "" "If a :meth:`~queue.Queue.join` is currently blocking, it will resume when " "all items have been processed (meaning that a :meth:`task_done` call was " "received for every item that had been :meth:`~Queue.put` into the queue)." msgstr "" +"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:921 +#: ../../library/multiprocessing.rst:937 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:927 +#: ../../library/multiprocessing.rst:943 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:929 +#: ../../library/multiprocessing.rst:945 msgid "" "The count of unfinished tasks goes up whenever an item is added to the " "queue. The count goes down whenever a consumer calls :meth:`task_done` to " @@ -1037,87 +1356,112 @@ 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:937 +#: ../../library/multiprocessing.rst:953 msgid "Miscellaneous" msgstr "Diversos" -#: ../../library/multiprocessing.rst:941 +#: ../../library/multiprocessing.rst:957 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:943 +#: ../../library/multiprocessing.rst:959 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:948 +#: ../../library/multiprocessing.rst:964 msgid "Return the number of CPUs in the system." -msgstr "" +msgstr "Retorna o número de CPUs no sistema." -#: ../../library/multiprocessing.rst:950 +#: ../../library/multiprocessing.rst:966 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))``" 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." +"usar. O número de CPUs utilizáveis pode ser obtido com ``len(os." "sched_getaffinity(0))``" -#: ../../library/multiprocessing.rst:954 -msgid "May raise :exc:`NotImplementedError`." +#: ../../library/multiprocessing.rst:970 +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:957 +#: ../../library/multiprocessing.rst:974 msgid ":func:`os.cpu_count`" msgstr ":func:`os.cpu_count`" -#: ../../library/multiprocessing.rst:961 +#: ../../library/multiprocessing.rst:978 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:963 +#: ../../library/multiprocessing.rst:980 msgid "An analogue of :func:`threading.current_thread`." -msgstr "" +msgstr "Um análogo de :func:`threading.current_thread`." -#: ../../library/multiprocessing.rst:967 +#: ../../library/multiprocessing.rst:984 msgid "" "Return the :class:`Process` object corresponding to the parent process of " "the :func:`current_process`. For the main process, ``parent_process`` will " "be ``None``." msgstr "" +"Retorna o objeto :class:`Process` correspondente ao processo pai do :func:" +"`current_process`. Para o processo principal, ``parent_process`` será " +"``None``." -#: ../../library/multiprocessing.rst:975 +#: ../../library/multiprocessing.rst:992 msgid "" "Add support for when a program which uses :mod:`multiprocessing` has been " "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:979 +#: ../../library/multiprocessing.rst:996 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:991 +#: ../../library/multiprocessing.rst:1008 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:994 +#: ../../library/multiprocessing.rst:1011 msgid "" "Calling ``freeze_support()`` has no effect when invoked on any operating " "system other than Windows. In addition, if the module is being run normally " "by the Python interpreter on Windows (the program has not been frozen), then " "``freeze_support()`` has no effect." 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:1001 +#: ../../library/multiprocessing.rst:1018 msgid "" "Returns a list of the supported start methods, the first of which is the " "default. The possible start methods are ``'fork'``, ``'spawn'`` and " @@ -1126,289 +1470,378 @@ msgid "" "default." msgstr "" -#: ../../library/multiprocessing.rst:1011 +#: ../../library/multiprocessing.rst:1028 msgid "" "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:1014 +#: ../../library/multiprocessing.rst:1031 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." msgstr "" -#: ../../library/multiprocessing.rst:1023 +#: ../../library/multiprocessing.rst:1040 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:1025 +#: ../../library/multiprocessing.rst:1042 msgid "" "If the start method has not been fixed and *allow_none* is false, then the " "start method is fixed to the default and the name is returned. If the start " "method has not been fixed and *allow_none* is true then ``None`` is returned." 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:1030 +#: ../../library/multiprocessing.rst:1047 msgid "" "The return value can be ``'fork'``, ``'spawn'``, ``'forkserver'`` or " "``None``. ``'fork'`` is the default on Unix, while ``'spawn'`` is the " -"default on Windows." +"default on Windows and macOS." msgstr "" -#: ../../library/multiprocessing.rst:1038 +#: ../../library/multiprocessing.rst:1061 msgid "" -"Sets 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 ::" +"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:1044 +#: ../../library/multiprocessing.rst:1067 msgid "before they can create child processes." -msgstr "" +msgstr "antes que eles possam criar processos filho." -#: ../../library/multiprocessing.rst:1046 +#: ../../library/multiprocessing.rst:1069 msgid "Now supported on Unix when the ``'spawn'`` start method is used." msgstr "" -#: ../../library/multiprocessing.rst:1051 +#: ../../library/multiprocessing.rst:1074 msgid "" "Set the method which should be used to start child processes. *method* can " "be ``'fork'``, ``'spawn'`` or ``'forkserver'``." msgstr "" -#: ../../library/multiprocessing.rst:1054 +#: ../../library/multiprocessing.rst:1077 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:1062 +#: ../../library/multiprocessing.rst:1085 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`." 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:1069 +#: ../../library/multiprocessing.rst:1092 msgid "Connection Objects" -msgstr "" +msgstr "Objetos de conexão" -#: ../../library/multiprocessing.rst:1073 +#: ../../library/multiprocessing.rst:1096 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:1076 +#: ../../library/multiprocessing.rst:1099 msgid "" "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:1084 +#: ../../library/multiprocessing.rst:1107 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:1087 +#: ../../library/multiprocessing.rst:1110 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:1092 +#: ../../library/multiprocessing.rst:1115 msgid "" "Return an object sent from the other end of the connection using :meth:" "`send`. Blocks until there is something to receive. Raises :exc:`EOFError` " "if there is nothing left to receive and the other end was closed." msgstr "" +"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:1099 +#: ../../library/multiprocessing.rst:1122 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:1103 +#: ../../library/multiprocessing.rst:1126 msgid "Close the connection." -msgstr "" +msgstr "Fecha a conexão." -#: ../../library/multiprocessing.rst:1105 +#: ../../library/multiprocessing.rst:1128 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:1109 +#: ../../library/multiprocessing.rst:1132 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:1111 +#: ../../library/multiprocessing.rst:1134 msgid "" "If *timeout* is not specified then it will return immediately. If *timeout* " "is a number then this specifies the maximum time in seconds to block. If " "*timeout* is ``None`` then an infinite timeout is used." msgstr "" +"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:1115 +#: ../../library/multiprocessing.rst:1138 msgid "" "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:1120 +#: ../../library/multiprocessing.rst:1143 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:1122 +#: ../../library/multiprocessing.rst:1145 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" 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:1129 +#: ../../library/multiprocessing.rst:1152 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." 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:1134 +#: ../../library/multiprocessing.rst:1157 msgid "" "If *maxlength* is specified and the message is longer than *maxlength* then :" "exc:`OSError` is raised and the connection will no longer be readable." msgstr "" +"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:1138 +#: ../../library/multiprocessing.rst:1161 msgid "" "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:1145 +#: ../../library/multiprocessing.rst:1168 msgid "" "Read into *buffer* a complete message of byte data sent from the other end " "of the connection and return the number of bytes in the message. Blocks " "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:1151 +#: ../../library/multiprocessing.rst:1174 msgid "" "*buffer* must be a writable :term:`bytes-like object`. If *offset* is given " "then the message will be written into the buffer from that position. Offset " "must be a non-negative integer less than the length of *buffer* (in bytes)." msgstr "" +"*buffer* 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:1156 +#: ../../library/multiprocessing.rst:1179 msgid "" "If the buffer is too short then a :exc:`BufferTooShort` exception is raised " "and the complete message is available as ``e.args[0]`` where ``e`` is the " "exception instance." msgstr "" +"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:1160 +#: ../../library/multiprocessing.rst:1183 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:1164 +#: ../../library/multiprocessing.rst:1187 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`." msgstr "" -#: ../../library/multiprocessing.rst:1169 +#: ../../library/multiprocessing.rst:1192 msgid "For example:" msgstr "Por exemplo:" -#: ../../library/multiprocessing.rst:1194 +#: ../../library/multiprocessing.rst:1217 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:1198 +#: ../../library/multiprocessing.rst:1221 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`." 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:1205 +#: ../../library/multiprocessing.rst:1228 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:1211 +#: ../../library/multiprocessing.rst:1234 msgid "Synchronization primitives" -msgstr "" +msgstr "Primitivas de sincronização" -#: ../../library/multiprocessing.rst:1215 +#: ../../library/multiprocessing.rst:1238 msgid "" "Generally synchronization primitives are not as necessary in a multiprocess " "program as they are in a multithreaded program. See the documentation for :" "mod:`threading` module." msgstr "" +"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:1219 +#: ../../library/multiprocessing.rst:1242 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:1224 +#: ../../library/multiprocessing.rst:1247 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:1230 +#: ../../library/multiprocessing.rst:1253 msgid "" "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:1233 -#: ../../library/multiprocessing.rst:1371 +#: ../../library/multiprocessing.rst:1256 +#: ../../library/multiprocessing.rst:1394 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:1237 +#: ../../library/multiprocessing.rst:1260 msgid "" -"On Mac OS X, this is indistinguishable from :class:`Semaphore` because " +"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:1242 +#: ../../library/multiprocessing.rst:1265 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:1244 +#: ../../library/multiprocessing.rst:1267 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:1247 -#: ../../library/multiprocessing.rst:1781 +#: ../../library/multiprocessing.rst:1270 +#: ../../library/multiprocessing.rst:1805 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:1252 +#: ../../library/multiprocessing.rst:1275 msgid "A clone of :class:`threading.Event`." -msgstr "" +msgstr "Um clone de :class:`threading.Event`." -#: ../../library/multiprocessing.rst:1257 +#: ../../library/multiprocessing.rst:1280 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 " @@ -1418,41 +1851,61 @@ msgid "" "`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:1265 +#: ../../library/multiprocessing.rst:1288 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:1269 +#: ../../library/multiprocessing.rst:1292 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:1274 -#: ../../library/multiprocessing.rst:1325 +#: ../../library/multiprocessing.rst:1297 +#: ../../library/multiprocessing.rst:1348 msgid "Acquire a lock, blocking or non-blocking." -msgstr "" +msgstr "Adquire uma trava, bloqueante ou não." -#: ../../library/multiprocessing.rst:1276 +#: ../../library/multiprocessing.rst:1299 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:1281 +#: ../../library/multiprocessing.rst:1304 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:1285 +#: ../../library/multiprocessing.rst:1308 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 " @@ -1465,20 +1918,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:1300 +#: ../../library/multiprocessing.rst:1323 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:1303 +#: ../../library/multiprocessing.rst:1326 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:1309 +#: ../../library/multiprocessing.rst:1332 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. " @@ -1486,21 +1954,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:1315 +#: ../../library/multiprocessing.rst:1338 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:1319 +#: ../../library/multiprocessing.rst:1342 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:1327 +#: ../../library/multiprocessing.rst:1350 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 " @@ -1512,8 +1991,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:1337 +#: ../../library/multiprocessing.rst:1360 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 " @@ -1523,15 +2011,25 @@ 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:1345 +#: ../../library/multiprocessing.rst:1368 msgid "" "Use and behaviors of the *timeout* argument are the same as in :meth:`Lock." "acquire`. Note that some of these behaviors of *timeout* differ from the " "implemented behaviors in :meth:`threading.RLock.acquire`." msgstr "" +"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:1352 +#: ../../library/multiprocessing.rst:1375 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 " @@ -1540,8 +2038,15 @@ 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:1360 +#: ../../library/multiprocessing.rst:1383 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 " @@ -1549,18 +2054,28 @@ msgid "" "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:1369 +#: ../../library/multiprocessing.rst:1392 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:1376 +#: ../../library/multiprocessing.rst:1399 msgid "" -"On Mac OS X, ``sem_timedwait`` is unsupported, so calling ``acquire()`` with " -"a timeout will emulate that function's behavior using a sleeping loop." +"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:1381 +#: ../../library/multiprocessing.rst:1404 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." @@ -1569,13 +2084,13 @@ msgid "" "interrupted and :exc:`KeyboardInterrupt` will be raised." msgstr "" -#: ../../library/multiprocessing.rst:1387 +#: ../../library/multiprocessing.rst:1410 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:1392 +#: ../../library/multiprocessing.rst:1415 msgid "" "Some of this package's functionality requires a functioning shared semaphore " "implementation on the host operating system. Without one, the :mod:" @@ -1583,33 +2098,47 @@ msgid "" "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:1400 +#: ../../library/multiprocessing.rst:1423 msgid "Shared :mod:`ctypes` Objects" -msgstr "" +msgstr "Objetos :mod:`ctypes` compartilhados" -#: ../../library/multiprocessing.rst:1402 +#: ../../library/multiprocessing.rst:1425 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:1407 +#: ../../library/multiprocessing.rst:1430 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:1411 -#: ../../library/multiprocessing.rst:1498 +#: ../../library/multiprocessing.rst:1434 +#: ../../library/multiprocessing.rst:1521 msgid "" "*typecode_or_type* determines the type of the returned object: it is either " "a ctypes type or a one character typecode of the kind used by the :mod:" "`array` module. *\\*args* is passed on to the constructor for the type." msgstr "" +"*typecode_or_type* 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:1415 +#: ../../library/multiprocessing.rst:1438 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` " @@ -1618,33 +2147,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:1422 +#: ../../library/multiprocessing.rst:1445 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:1428 +#: ../../library/multiprocessing.rst:1451 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:1434 -#: ../../library/multiprocessing.rst:1524 -#: ../../library/multiprocessing.rst:1539 +#: ../../library/multiprocessing.rst:1457 +#: ../../library/multiprocessing.rst:1547 +#: ../../library/multiprocessing.rst:1562 msgid "Note that *lock* is a keyword-only argument." -msgstr "" +msgstr "Observe que *lock* é um argumento somente-nomeado." -#: ../../library/multiprocessing.rst:1438 +#: ../../library/multiprocessing.rst:1461 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:1441 +#: ../../library/multiprocessing.rst:1464 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 " @@ -1653,8 +2195,14 @@ 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:1448 +#: ../../library/multiprocessing.rst:1471 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:" @@ -1663,29 +2211,40 @@ msgid "" "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:1455 +#: ../../library/multiprocessing.rst:1478 msgid "Note that *lock* is a keyword only argument." -msgstr "" +msgstr "Observe que *lock* é um argumento somente-nomeado." -#: ../../library/multiprocessing.rst:1457 +#: ../../library/multiprocessing.rst:1480 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:1462 +#: ../../library/multiprocessing.rst:1485 msgid "The :mod:`multiprocessing.sharedctypes` module" -msgstr "" +msgstr "O módulo :mod:`multiprocessing.sharedctypes`" -#: ../../library/multiprocessing.rst:1467 +#: ../../library/multiprocessing.rst:1490 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:1473 +#: ../../library/multiprocessing.rst:1496 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. " @@ -1693,12 +2252,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:1481 +#: ../../library/multiprocessing.rst:1504 msgid "Return a ctypes array allocated from shared memory." -msgstr "" +msgstr "Retorna um vetor de ctypes alocado da memória compartilhada." -#: ../../library/multiprocessing.rst:1483 +#: ../../library/multiprocessing.rst:1506 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 " @@ -1707,41 +2271,59 @@ 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:1490 +#: ../../library/multiprocessing.rst:1513 msgid "" "Note that setting and getting an element is potentially non-atomic -- use :" "func:`Array` instead to make sure that access is automatically synchronized " "using a lock." msgstr "" +"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:1496 +#: ../../library/multiprocessing.rst:1519 msgid "Return a ctypes object allocated from shared memory." -msgstr "" +msgstr "Retorna um objeto ctypes alocado da memória compartilhada." -#: ../../library/multiprocessing.rst:1502 +#: ../../library/multiprocessing.rst:1525 msgid "" "Note that setting and getting the value is potentially non-atomic -- use :" "func:`Value` instead to make sure that access is automatically synchronized " "using a lock." msgstr "" +"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:1506 +#: ../../library/multiprocessing.rst:1529 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:1512 +#: ../../library/multiprocessing.rst:1535 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:1516 -#: ../../library/multiprocessing.rst:1532 +#: ../../library/multiprocessing.rst:1539 +#: ../../library/multiprocessing.rst:1555 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." @@ -1750,122 +2332,136 @@ msgid "" "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:1528 +#: ../../library/multiprocessing.rst:1551 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:1543 +#: ../../library/multiprocessing.rst:1566 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:1548 +#: ../../library/multiprocessing.rst:1571 msgid "" "Return a process-safe wrapper object for a ctypes object which uses *lock* " "to synchronize access. If *lock* is ``None`` (the default) then a :class:" "`multiprocessing.RLock` object is created automatically." msgstr "" +"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:1552 +#: ../../library/multiprocessing.rst:1575 msgid "" "A synchronized wrapper will have two methods in addition to those of the " "object it wraps: :meth:`get_obj` returns the wrapped object and :meth:" "`get_lock` returns the lock object used for synchronization." msgstr "" -#: ../../library/multiprocessing.rst:1556 +#: ../../library/multiprocessing.rst:1579 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:1559 +#: ../../library/multiprocessing.rst:1582 msgid "Synchronized objects support the :term:`context manager` protocol." msgstr "" -#: ../../library/multiprocessing.rst:1563 +#: ../../library/multiprocessing.rst:1586 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:1568 +#: ../../library/multiprocessing.rst:1591 msgid "ctypes" msgstr "ctypes" -#: ../../library/multiprocessing.rst:1568 +#: ../../library/multiprocessing.rst:1591 msgid "sharedctypes using type" msgstr "sharedctypes using type" -#: ../../library/multiprocessing.rst:1568 +#: ../../library/multiprocessing.rst:1591 msgid "sharedctypes using typecode" msgstr "sharedctypes using typecode" -#: ../../library/multiprocessing.rst:1570 +#: ../../library/multiprocessing.rst:1593 msgid "c_double(2.4)" msgstr "c_double(2.4)" -#: ../../library/multiprocessing.rst:1570 +#: ../../library/multiprocessing.rst:1593 msgid "RawValue(c_double, 2.4)" msgstr "RawValue(c_double, 2.4)" -#: ../../library/multiprocessing.rst:1570 +#: ../../library/multiprocessing.rst:1593 msgid "RawValue('d', 2.4)" msgstr "RawValue('d', 2.4)" -#: ../../library/multiprocessing.rst:1571 +#: ../../library/multiprocessing.rst:1594 msgid "MyStruct(4, 6)" msgstr "MyStruct(4, 6)" -#: ../../library/multiprocessing.rst:1571 +#: ../../library/multiprocessing.rst:1594 msgid "RawValue(MyStruct, 4, 6)" msgstr "RawValue(MyStruct, 4, 6)" -#: ../../library/multiprocessing.rst:1572 +#: ../../library/multiprocessing.rst:1595 msgid "(c_short * 7)()" msgstr "(c_short * 7)()" -#: ../../library/multiprocessing.rst:1572 +#: ../../library/multiprocessing.rst:1595 msgid "RawArray(c_short, 7)" msgstr "RawArray(c_short, 7)" -#: ../../library/multiprocessing.rst:1572 +#: ../../library/multiprocessing.rst:1595 msgid "RawArray('h', 7)" msgstr "RawArray('h', 7)" -#: ../../library/multiprocessing.rst:1573 +#: ../../library/multiprocessing.rst:1596 msgid "(c_int * 3)(9, 2, 8)" msgstr "(c_int * 3)(9, 2, 8)" -#: ../../library/multiprocessing.rst:1573 +#: ../../library/multiprocessing.rst:1596 msgid "RawArray(c_int, (9, 2, 8))" msgstr "RawArray(c_int, (9, 2, 8))" -#: ../../library/multiprocessing.rst:1573 +#: ../../library/multiprocessing.rst:1596 msgid "RawArray('i', (9, 2, 8))" msgstr "RawArray('i', (9, 2, 8))" -#: ../../library/multiprocessing.rst:1577 +#: ../../library/multiprocessing.rst:1600 msgid "" "Below is an example where a number of ctypes objects are modified by a child " "process::" msgstr "" -#: ../../library/multiprocessing.rst:1615 +#: ../../library/multiprocessing.rst:1638 msgid "The results printed are ::" msgstr "" -#: ../../library/multiprocessing.rst:1628 +#: ../../library/multiprocessing.rst:1651 msgid "Managers" msgstr "Gerenciadores" -#: ../../library/multiprocessing.rst:1630 +#: ../../library/multiprocessing.rst:1653 msgid "" "Managers provide a way to create data which can be shared between different " "processes, including sharing over a network between processes running on " @@ -1874,39 +2470,44 @@ msgid "" "proxies." msgstr "" -#: ../../library/multiprocessing.rst:1638 +#: ../../library/multiprocessing.rst:1662 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:1646 +#: ../../library/multiprocessing.rst:1670 msgid "" "Manager processes will be shutdown as soon as they are garbage collected or " "their parent process exits. The manager classes are defined in the :mod:" "`multiprocessing.managers` module:" msgstr "" -#: ../../library/multiprocessing.rst:1652 +#: ../../library/multiprocessing.rst:1676 msgid "Create a BaseManager object." msgstr "Criando um objeto BaseManager." -#: ../../library/multiprocessing.rst:1654 +#: ../../library/multiprocessing.rst:1678 msgid "" "Once created one should call :meth:`start` or ``get_server()." "serve_forever()`` to ensure that the manager object refers to a started " "manager process." msgstr "" -#: ../../library/multiprocessing.rst:1657 +#: ../../library/multiprocessing.rst:1681 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:1660 +#: ../../library/multiprocessing.rst:1684 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`` " @@ -1914,50 +2515,50 @@ msgid "" "it must be a byte string." msgstr "" -#: ../../library/multiprocessing.rst:1667 +#: ../../library/multiprocessing.rst:1691 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:1672 +#: ../../library/multiprocessing.rst:1696 msgid "" "Returns a :class:`Server` object which represents the actual server under " "the control of the Manager. The :class:`Server` object supports the :meth:" "`serve_forever` method::" msgstr "" -#: ../../library/multiprocessing.rst:1681 +#: ../../library/multiprocessing.rst:1705 msgid ":class:`Server` additionally has an :attr:`address` attribute." msgstr "" -#: ../../library/multiprocessing.rst:1685 +#: ../../library/multiprocessing.rst:1709 msgid "Connect a local manager object to a remote manager process::" msgstr "" -#: ../../library/multiprocessing.rst:1693 +#: ../../library/multiprocessing.rst:1717 msgid "" "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:1696 +#: ../../library/multiprocessing.rst:1720 msgid "This can be called multiple times." msgstr "" -#: ../../library/multiprocessing.rst:1700 +#: ../../library/multiprocessing.rst:1724 msgid "" "A classmethod which can be used for registering a type or callable with the " "manager class." msgstr "" -#: ../../library/multiprocessing.rst:1703 +#: ../../library/multiprocessing.rst:1727 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:1706 +#: ../../library/multiprocessing.rst:1730 msgid "" "*callable* is a callable used for creating objects for this type " "identifier. If a manager instance will be connected to the server using " @@ -1965,14 +2566,14 @@ msgid "" "then this can be left as ``None``." msgstr "" -#: ../../library/multiprocessing.rst:1712 +#: ../../library/multiprocessing.rst:1736 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:1716 +#: ../../library/multiprocessing.rst:1740 msgid "" "*exposed* is used to specify a sequence of method names which proxies for " "this typeid should be allowed to access using :meth:`BaseProxy." @@ -1983,7 +2584,7 @@ msgid "" "method and whose name does not begin with ``'_'``.)" msgstr "" -#: ../../library/multiprocessing.rst:1725 +#: ../../library/multiprocessing.rst:1749 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 " @@ -1993,22 +2594,22 @@ msgid "" "returned by the method will be copied by value." msgstr "" -#: ../../library/multiprocessing.rst:1732 +#: ../../library/multiprocessing.rst:1756 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:1736 +#: ../../library/multiprocessing.rst:1760 msgid ":class:`BaseManager` instances also have one read-only property:" msgstr "" -#: ../../library/multiprocessing.rst:1740 +#: ../../library/multiprocessing.rst:1764 msgid "The address used by the manager." msgstr "" -#: ../../library/multiprocessing.rst:1742 +#: ../../library/multiprocessing.rst:1766 msgid "" "Manager objects support the context management protocol -- see :ref:" "`typecontextmanager`. :meth:`~contextmanager.__enter__` starts the server " @@ -2016,200 +2617,222 @@ msgid "" "object. :meth:`~contextmanager.__exit__` calls :meth:`shutdown`." msgstr "" -#: ../../library/multiprocessing.rst:1748 +#: ../../library/multiprocessing.rst:1772 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:1753 +#: ../../library/multiprocessing.rst:1777 msgid "" "A subclass of :class:`BaseManager` which can be used for the synchronization " "of processes. Objects of this type are returned by :func:`multiprocessing." "Manager`." msgstr "" -#: ../../library/multiprocessing.rst:1757 +#: ../../library/multiprocessing.rst:1781 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:1763 +#: ../../library/multiprocessing.rst:1787 msgid "" "Create a shared :class:`threading.Barrier` object and return a proxy for it." msgstr "" -#: ../../library/multiprocessing.rst:1770 +#: ../../library/multiprocessing.rst:1794 msgid "" "Create a shared :class:`threading.BoundedSemaphore` object and return a " "proxy for it." msgstr "" -#: ../../library/multiprocessing.rst:1775 +#: ../../library/multiprocessing.rst:1799 msgid "" "Create a shared :class:`threading.Condition` object and return a proxy for " "it." msgstr "" -#: ../../library/multiprocessing.rst:1778 +#: ../../library/multiprocessing.rst:1802 msgid "" "If *lock* is supplied then it should be a proxy for a :class:`threading." "Lock` or :class:`threading.RLock` object." msgstr "" -#: ../../library/multiprocessing.rst:1786 +#: ../../library/multiprocessing.rst:1810 msgid "" "Create a shared :class:`threading.Event` object and return a proxy for it." msgstr "" -#: ../../library/multiprocessing.rst:1790 +#: ../../library/multiprocessing.rst:1814 msgid "" "Create a shared :class:`threading.Lock` object and return a proxy for it." msgstr "" -#: ../../library/multiprocessing.rst:1794 +#: ../../library/multiprocessing.rst:1818 msgid "Create a shared :class:`Namespace` object and return a proxy for it." msgstr "" -#: ../../library/multiprocessing.rst:1798 +#: ../../library/multiprocessing.rst:1822 msgid "Create a shared :class:`queue.Queue` object and return a proxy for it." msgstr "" -#: ../../library/multiprocessing.rst:1802 +#: ../../library/multiprocessing.rst:1826 msgid "" "Create a shared :class:`threading.RLock` object and return a proxy for it." msgstr "" -#: ../../library/multiprocessing.rst:1806 +#: ../../library/multiprocessing.rst:1830 msgid "" "Create a shared :class:`threading.Semaphore` object and return a proxy for " "it." msgstr "" -#: ../../library/multiprocessing.rst:1811 +#: ../../library/multiprocessing.rst:1835 msgid "Create an array and return a proxy for it." msgstr "" -#: ../../library/multiprocessing.rst:1815 +#: ../../library/multiprocessing.rst:1839 msgid "" "Create an object with a writable ``value`` attribute and return a proxy for " "it." msgstr "" -#: ../../library/multiprocessing.rst:1822 +#: ../../library/multiprocessing.rst:1846 msgid "Create a shared :class:`dict` object and return a proxy for it." msgstr "" -#: ../../library/multiprocessing.rst:1827 +#: ../../library/multiprocessing.rst:1851 msgid "Create a shared :class:`list` object and return a proxy for it." msgstr "" -#: ../../library/multiprocessing.rst:1829 +#: ../../library/multiprocessing.rst:1853 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:1836 +#: ../../library/multiprocessing.rst:1860 msgid "A type that can register with :class:`SyncManager`." msgstr "" -#: ../../library/multiprocessing.rst:1838 +#: ../../library/multiprocessing.rst:1862 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:1841 +#: ../../library/multiprocessing.rst:1865 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:1857 +#: ../../library/multiprocessing.rst:1881 msgid "Customized managers" msgstr "" -#: ../../library/multiprocessing.rst:1859 +#: ../../library/multiprocessing.rst:1883 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:1884 +#: ../../library/multiprocessing.rst:1908 msgid "Using a remote manager" msgstr "" -#: ../../library/multiprocessing.rst:1886 +#: ../../library/multiprocessing.rst:1910 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:1889 +#: ../../library/multiprocessing.rst:1913 msgid "" "Running the following commands creates a server for a single shared queue " "which remote clients can access::" msgstr "" -#: ../../library/multiprocessing.rst:1901 +#: ../../library/multiprocessing.rst:1925 msgid "One client can access the server as follows::" msgstr "" -#: ../../library/multiprocessing.rst:1911 +#: ../../library/multiprocessing.rst:1935 msgid "Another client can also use it::" msgstr "" -#: ../../library/multiprocessing.rst:1922 +#: ../../library/multiprocessing.rst:1946 msgid "" "Local processes can also access that queue, using the code from above on the " "client to access it remotely::" msgstr "" -#: ../../library/multiprocessing.rst:1947 +#: ../../library/multiprocessing.rst:1971 msgid "Proxy Objects" -msgstr "" +msgstr "Objetos proxies" -#: ../../library/multiprocessing.rst:1949 +#: ../../library/multiprocessing.rst:1973 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:1953 +#: ../../library/multiprocessing.rst:1977 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:1971 +#: ../../library/multiprocessing.rst:1995 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:1975 +#: ../../library/multiprocessing.rst:1999 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`:" 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:1991 +#: ../../library/multiprocessing.rst:2015 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:2004 +#: ../../library/multiprocessing.rst:2028 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 " @@ -2219,54 +2842,67 @@ 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:2023 +#: ../../library/multiprocessing.rst:2047 msgid "" "This approach is perhaps less convenient than employing nested :ref:" "`multiprocessing-proxy_objects` for most use cases but also demonstrates a " "level of control over the synchronization." msgstr "" +"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:2029 +#: ../../library/multiprocessing.rst:2053 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:2037 +#: ../../library/multiprocessing.rst:2061 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:2041 +#: ../../library/multiprocessing.rst:2065 msgid "Proxy objects are instances of subclasses of :class:`BaseProxy`." msgstr "" -#: ../../library/multiprocessing.rst:2045 +#: ../../library/multiprocessing.rst:2069 msgid "Call and return the result of a method of the proxy's referent." msgstr "" -#: ../../library/multiprocessing.rst:2047 +#: ../../library/multiprocessing.rst:2071 msgid "" "If ``proxy`` is a proxy whose referent is ``obj`` then the expression ::" msgstr "" -#: ../../library/multiprocessing.rst:2051 +#: ../../library/multiprocessing.rst:2075 msgid "will evaluate the expression ::" msgstr "" -#: ../../library/multiprocessing.rst:2055 +#: ../../library/multiprocessing.rst:2079 msgid "in the manager's process." msgstr "" -#: ../../library/multiprocessing.rst:2057 +#: ../../library/multiprocessing.rst:2081 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:2061 +#: ../../library/multiprocessing.rst:2085 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 " @@ -2274,79 +2910,79 @@ msgid "" "meth:`_callmethod`." msgstr "" -#: ../../library/multiprocessing.rst:2066 +#: ../../library/multiprocessing.rst:2090 msgid "" "Note in particular that an exception will be raised if *methodname* has not " "been *exposed*." msgstr "" -#: ../../library/multiprocessing.rst:2069 +#: ../../library/multiprocessing.rst:2093 msgid "An example of the usage of :meth:`_callmethod`:" msgstr "" -#: ../../library/multiprocessing.rst:2085 +#: ../../library/multiprocessing.rst:2109 msgid "Return a copy of the referent." msgstr "" -#: ../../library/multiprocessing.rst:2087 +#: ../../library/multiprocessing.rst:2111 msgid "If the referent is unpicklable then this will raise an exception." msgstr "" -#: ../../library/multiprocessing.rst:2091 +#: ../../library/multiprocessing.rst:2115 msgid "Return a representation of the proxy object." msgstr "" -#: ../../library/multiprocessing.rst:2095 +#: ../../library/multiprocessing.rst:2119 msgid "Return the representation of the referent." msgstr "" -#: ../../library/multiprocessing.rst:2099 +#: ../../library/multiprocessing.rst:2123 msgid "Cleanup" -msgstr "" +msgstr "Limpeza" -#: ../../library/multiprocessing.rst:2101 +#: ../../library/multiprocessing.rst:2125 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:2104 +#: ../../library/multiprocessing.rst:2128 msgid "" "A shared object gets deleted from the manager process when there are no " "longer any proxies referring to it." msgstr "" -#: ../../library/multiprocessing.rst:2109 +#: ../../library/multiprocessing.rst:2133 msgid "Process Pools" msgstr "" -#: ../../library/multiprocessing.rst:2114 +#: ../../library/multiprocessing.rst:2138 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:2119 +#: ../../library/multiprocessing.rst:2143 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:2123 +#: ../../library/multiprocessing.rst:2147 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:2126 -#: ../../library/multiprocessing.rst:2685 +#: ../../library/multiprocessing.rst:2150 +#: ../../library/multiprocessing.rst:2711 msgid "" "If *initializer* is not ``None`` then each worker process will call " "``initializer(*initargs)`` when it starts." msgstr "" -#: ../../library/multiprocessing.rst:2129 +#: ../../library/multiprocessing.rst:2153 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 " @@ -2354,7 +2990,7 @@ msgid "" "which means worker processes will live as long as the pool." msgstr "" -#: ../../library/multiprocessing.rst:2134 +#: ../../library/multiprocessing.rst:2158 msgid "" "*context* can be used to specify the context used for starting the worker " "processes. Usually a pool is created using the function :func:" @@ -2362,13 +2998,13 @@ msgid "" "both cases *context* is set appropriately." msgstr "" -#: ../../library/multiprocessing.rst:2140 +#: ../../library/multiprocessing.rst:2164 msgid "" "Note that the methods of the pool object should only be called by the " "process which created the pool." msgstr "" -#: ../../library/multiprocessing.rst:2144 +#: ../../library/multiprocessing.rst:2168 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 " @@ -2376,22 +3012,22 @@ msgid "" "to do this can lead to the process hanging on finalization." msgstr "" -#: ../../library/multiprocessing.rst:2149 +#: ../../library/multiprocessing.rst:2173 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:2153 +#: ../../library/multiprocessing.rst:2177 msgid "*maxtasksperchild*" msgstr "*maxtasksperchild*" -#: ../../library/multiprocessing.rst:2156 +#: ../../library/multiprocessing.rst:2180 msgid "*context*" msgstr "*context*" -#: ../../library/multiprocessing.rst:2161 +#: ../../library/multiprocessing.rst:2185 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 " @@ -2402,7 +3038,7 @@ msgid "" "ability to the end user." msgstr "" -#: ../../library/multiprocessing.rst:2171 +#: ../../library/multiprocessing.rst:2195 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 " @@ -2410,14 +3046,14 @@ msgid "" "executed in one of the workers of the pool." msgstr "" -#: ../../library/multiprocessing.rst:2178 +#: ../../library/multiprocessing.rst:2202 msgid "" "A variant of the :meth:`apply` method which returns a :class:" "`~multiprocessing.pool.AsyncResult` object." msgstr "" -#: ../../library/multiprocessing.rst:2181 -#: ../../library/multiprocessing.rst:2212 +#: ../../library/multiprocessing.rst:2205 +#: ../../library/multiprocessing.rst:2236 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, " @@ -2425,60 +3061,60 @@ msgid "" "applied instead." msgstr "" -#: ../../library/multiprocessing.rst:2186 -#: ../../library/multiprocessing.rst:2217 +#: ../../library/multiprocessing.rst:2210 +#: ../../library/multiprocessing.rst:2241 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:2190 -#: ../../library/multiprocessing.rst:2221 +#: ../../library/multiprocessing.rst:2214 +#: ../../library/multiprocessing.rst:2245 msgid "" "Callbacks should complete immediately since otherwise the thread which " "handles the results will get blocked." msgstr "" -#: ../../library/multiprocessing.rst:2195 +#: ../../library/multiprocessing.rst:2219 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:2199 +#: ../../library/multiprocessing.rst:2223 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:2203 +#: ../../library/multiprocessing.rst:2227 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:2209 +#: ../../library/multiprocessing.rst:2233 msgid "" "A variant of the :meth:`.map` method which returns a :class:" "`~multiprocessing.pool.AsyncResult` object." msgstr "" -#: ../../library/multiprocessing.rst:2226 +#: ../../library/multiprocessing.rst:2250 msgid "A lazier version of :meth:`.map`." msgstr "" -#: ../../library/multiprocessing.rst:2228 +#: ../../library/multiprocessing.rst:2252 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:2233 +#: ../../library/multiprocessing.rst:2257 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: " @@ -2486,65 +3122,65 @@ msgid "" "result cannot be returned within *timeout* seconds." msgstr "" -#: ../../library/multiprocessing.rst:2240 +#: ../../library/multiprocessing.rst:2264 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:2246 +#: ../../library/multiprocessing.rst:2270 msgid "" -"Like :meth:`map` except that the elements of the *iterable* are expected to " -"be iterables that are unpacked as arguments." +"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:2249 +#: ../../library/multiprocessing.rst:2274 msgid "" "Hence an *iterable* of ``[(1,2), (3, 4)]`` results in ``[func(1,2), " "func(3,4)]``." msgstr "" -#: ../../library/multiprocessing.rst:2256 +#: ../../library/multiprocessing.rst:2281 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:2264 +#: ../../library/multiprocessing.rst:2289 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:2269 +#: ../../library/multiprocessing.rst:2294 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:2275 +#: ../../library/multiprocessing.rst:2300 msgid "" "Wait for the worker processes to exit. One must call :meth:`close` or :meth:" "`terminate` before using :meth:`join`." msgstr "" -#: ../../library/multiprocessing.rst:2278 +#: ../../library/multiprocessing.rst:2303 msgid "" "Pool objects now support the context management protocol -- see :ref:" "`typecontextmanager`. :meth:`~contextmanager.__enter__` returns the pool " "object, and :meth:`~contextmanager.__exit__` calls :meth:`terminate`." msgstr "" -#: ../../library/multiprocessing.rst:2286 +#: ../../library/multiprocessing.rst:2311 msgid "" "The class of the result returned by :meth:`Pool.apply_async` and :meth:`Pool." "map_async`." msgstr "" -#: ../../library/multiprocessing.rst:2291 +#: ../../library/multiprocessing.rst:2316 msgid "" "Return the result when it arrives. If *timeout* is not ``None`` and the " "result does not arrive within *timeout* seconds then :exc:`multiprocessing." @@ -2552,41 +3188,41 @@ msgid "" "exception will be reraised by :meth:`get`." msgstr "" -#: ../../library/multiprocessing.rst:2298 +#: ../../library/multiprocessing.rst:2323 msgid "Wait until the result is available or until *timeout* seconds pass." msgstr "" -#: ../../library/multiprocessing.rst:2302 +#: ../../library/multiprocessing.rst:2327 msgid "Return whether the call has completed." msgstr "" -#: ../../library/multiprocessing.rst:2306 +#: ../../library/multiprocessing.rst:2331 msgid "" "Return whether the call completed without raising an exception. Will raise :" "exc:`ValueError` if the result is not ready." msgstr "" -#: ../../library/multiprocessing.rst:2309 +#: ../../library/multiprocessing.rst:2334 msgid "" "If the result is not ready, :exc:`ValueError` is raised instead of :exc:" "`AssertionError`." msgstr "" -#: ../../library/multiprocessing.rst:2313 +#: ../../library/multiprocessing.rst:2338 msgid "The following example demonstrates the use of a pool::" msgstr "" -#: ../../library/multiprocessing.rst:2340 +#: ../../library/multiprocessing.rst:2365 msgid "Listeners and Clients" msgstr "" -#: ../../library/multiprocessing.rst:2345 +#: ../../library/multiprocessing.rst:2370 msgid "" "Usually message passing between processes is done using queues or by using :" "class:`~Connection` objects returned by :func:`~multiprocessing.Pipe`." msgstr "" -#: ../../library/multiprocessing.rst:2349 +#: ../../library/multiprocessing.rst:2374 msgid "" "However, the :mod:`multiprocessing.connection` module allows some extra " "flexibility. It basically gives a high level message oriented API for " @@ -2595,46 +3231,46 @@ msgid "" "multiple connections at the same time." msgstr "" -#: ../../library/multiprocessing.rst:2358 +#: ../../library/multiprocessing.rst:2383 msgid "" "Send a randomly generated message to the other end of the connection and " "wait for a reply." msgstr "" -#: ../../library/multiprocessing.rst:2361 +#: ../../library/multiprocessing.rst:2386 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:2367 +#: ../../library/multiprocessing.rst:2392 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:2370 +#: ../../library/multiprocessing.rst:2395 msgid "" "If a welcome message is not received, then :exc:`~multiprocessing." "AuthenticationError` is raised." msgstr "" -#: ../../library/multiprocessing.rst:2375 +#: ../../library/multiprocessing.rst:2400 msgid "" "Attempt to set up a connection to the listener which is using address " "*address*, returning a :class:`~Connection`." msgstr "" -#: ../../library/multiprocessing.rst:2378 +#: ../../library/multiprocessing.rst:2403 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:2382 -#: ../../library/multiprocessing.rst:2417 +#: ../../library/multiprocessing.rst:2407 +#: ../../library/multiprocessing.rst:2442 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 " @@ -2643,26 +3279,26 @@ msgid "" "`multiprocessing-auth-keys`." msgstr "" -#: ../../library/multiprocessing.rst:2390 +#: ../../library/multiprocessing.rst:2415 msgid "" "A wrapper for a bound socket or Windows named pipe which is 'listening' for " "connections." msgstr "" -#: ../../library/multiprocessing.rst:2393 +#: ../../library/multiprocessing.rst:2418 msgid "" "*address* is the address to be used by the bound socket or named pipe of the " "listener object." msgstr "" -#: ../../library/multiprocessing.rst:2398 +#: ../../library/multiprocessing.rst:2423 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:2402 +#: ../../library/multiprocessing.rst:2427 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 " @@ -2676,49 +3312,49 @@ msgid "" "using :func:`tempfile.mkstemp`." msgstr "" -#: ../../library/multiprocessing.rst:2413 +#: ../../library/multiprocessing.rst:2438 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:2425 +#: ../../library/multiprocessing.rst:2450 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:2432 +#: ../../library/multiprocessing.rst:2457 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:2436 +#: ../../library/multiprocessing.rst:2461 msgid "Listener objects have the following read-only properties:" msgstr "" -#: ../../library/multiprocessing.rst:2440 +#: ../../library/multiprocessing.rst:2465 msgid "The address which is being used by the Listener object." msgstr "" -#: ../../library/multiprocessing.rst:2444 +#: ../../library/multiprocessing.rst:2469 msgid "" "The address from which the last accepted connection came. If this is " "unavailable then it is ``None``." msgstr "" -#: ../../library/multiprocessing.rst:2447 +#: ../../library/multiprocessing.rst:2472 msgid "" "Listener objects now support the context management protocol -- see :ref:" "`typecontextmanager`. :meth:`~contextmanager.__enter__` returns the " "listener object, and :meth:`~contextmanager.__exit__` calls :meth:`close`." msgstr "" -#: ../../library/multiprocessing.rst:2454 +#: ../../library/multiprocessing.rst:2479 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 " @@ -2727,32 +3363,32 @@ msgid "" "zero timeout." msgstr "" -#: ../../library/multiprocessing.rst:2460 +#: ../../library/multiprocessing.rst:2485 msgid "" "For both Unix and Windows, an object can appear in *object_list* if it is" msgstr "" -#: ../../library/multiprocessing.rst:2463 +#: ../../library/multiprocessing.rst:2488 msgid "a readable :class:`~multiprocessing.connection.Connection` object;" msgstr "" -#: ../../library/multiprocessing.rst:2464 +#: ../../library/multiprocessing.rst:2489 msgid "a connected and readable :class:`socket.socket` object; or" msgstr "" -#: ../../library/multiprocessing.rst:2465 +#: ../../library/multiprocessing.rst:2490 msgid "" "the :attr:`~multiprocessing.Process.sentinel` attribute of a :class:" "`~multiprocessing.Process` object." msgstr "" -#: ../../library/multiprocessing.rst:2468 +#: ../../library/multiprocessing.rst:2493 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:2471 +#: ../../library/multiprocessing.rst:2496 msgid "" "**Unix**: ``wait(object_list, timeout)`` almost equivalent ``select." "select(object_list, [], [], timeout)``. The difference is that, if :func:" @@ -2760,7 +3396,7 @@ msgid "" "an error number of ``EINTR``, whereas :func:`wait` will not." msgstr "" -#: ../../library/multiprocessing.rst:2477 +#: ../../library/multiprocessing.rst:2502 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 " @@ -2769,34 +3405,34 @@ msgid "" "that pipe handles and socket handles are **not** waitable handles.)" msgstr "" -#: ../../library/multiprocessing.rst:2487 +#: ../../library/multiprocessing.rst:2512 msgid "**Examples**" msgstr "" -#: ../../library/multiprocessing.rst:2489 +#: ../../library/multiprocessing.rst:2514 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:2508 +#: ../../library/multiprocessing.rst:2533 msgid "" "The following code connects to the server and receives some data from the " "server::" msgstr "" -#: ../../library/multiprocessing.rst:2525 +#: ../../library/multiprocessing.rst:2550 msgid "" "The following code uses :func:`~multiprocessing.connection.wait` to wait for " "messages from multiple processes at once::" msgstr "" -#: ../../library/multiprocessing.rst:2564 +#: ../../library/multiprocessing.rst:2589 msgid "Address Formats" msgstr "Formatos de Endereços" -#: ../../library/multiprocessing.rst:2566 +#: ../../library/multiprocessing.rst:2591 msgid "" "An ``'AF_INET'`` address is a tuple of the form ``(hostname, port)`` where " "*hostname* is a string and *port* is an integer." @@ -2804,31 +3440,32 @@ msgstr "" "Um endereço ``'AF_INET'`` é uma tupla na forma de ``(hostname, port)`` sendo " "*hostname* uma string e *port* um inteiro." -#: ../../library/multiprocessing.rst:2569 +#: ../../library/multiprocessing.rst:2594 msgid "" "An ``'AF_UNIX'`` address is a string representing a filename on the " "filesystem." msgstr "" -#: ../../library/multiprocessing.rst:2572 +#: ../../library/multiprocessing.rst:2597 msgid "" -"An ``'AF_PIPE'`` address is a string of the form :samp:`r'\\\\\\\\.\\\\pipe\\" -"\\{PipeName}'`. To use :func:`Client` to connect to a named pipe on a " -"remote computer called *ServerName* one should use an address of the form :" -"samp:`r'\\\\\\\\{ServerName}\\\\pipe\\\\{PipeName}'` instead." +"An ``'AF_PIPE'`` address is a string of the form :samp:`r'\\\\\\\\\\\\.\\" +"\\pipe\\\\\\\\{PipeName}'`. To use :func:`Client` to connect to a named " +"pipe on a remote computer called *ServerName* one should use an address of " +"the form :samp:`r'\\\\\\\\\\\\\\\\{ServerName}\\\\pipe\\\\\\\\{PipeName}'` " +"instead." msgstr "" -#: ../../library/multiprocessing.rst:2577 +#: ../../library/multiprocessing.rst:2602 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:2584 +#: ../../library/multiprocessing.rst:2609 msgid "Authentication keys" msgstr "" -#: ../../library/multiprocessing.rst:2586 +#: ../../library/multiprocessing.rst:2611 msgid "" "When one uses :meth:`Connection.recv `, the data received " "is automatically unpickled. Unfortunately unpickling data from an untrusted " @@ -2836,7 +3473,7 @@ msgid "" "use the :mod:`hmac` module to provide digest authentication." msgstr "" -#: ../../library/multiprocessing.rst:2592 +#: ../../library/multiprocessing.rst:2617 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 " @@ -2844,7 +3481,7 @@ msgid "" "using the same key does **not** involve sending the key over the connection.)" msgstr "" -#: ../../library/multiprocessing.rst:2598 +#: ../../library/multiprocessing.rst:2623 msgid "" "If authentication is requested but no authentication key is specified then " "the return value of ``current_process().authkey`` is used (see :class:" @@ -2855,17 +3492,17 @@ msgid "" "setting up connections between themselves." msgstr "" -#: ../../library/multiprocessing.rst:2606 +#: ../../library/multiprocessing.rst:2631 msgid "" "Suitable authentication keys can also be generated by using :func:`os." "urandom`." msgstr "" -#: ../../library/multiprocessing.rst:2610 +#: ../../library/multiprocessing.rst:2635 msgid "Logging" msgstr "Gerando logs" -#: ../../library/multiprocessing.rst:2612 +#: ../../library/multiprocessing.rst:2637 msgid "" "Some support for logging is available. Note, however, that the :mod:" "`logging` package does not use process shared locks so it is possible " @@ -2873,53 +3510,54 @@ msgid "" "mixed up." msgstr "" -#: ../../library/multiprocessing.rst:2619 +#: ../../library/multiprocessing.rst:2644 msgid "" "Returns the logger used by :mod:`multiprocessing`. If necessary, a new one " "will be created." msgstr "" -#: ../../library/multiprocessing.rst:2622 +#: ../../library/multiprocessing.rst:2647 msgid "" "When first created the logger has level :data:`logging.NOTSET` and no " "default handler. Messages sent to this logger will not by default propagate " "to the root logger." msgstr "" -#: ../../library/multiprocessing.rst:2626 +#: ../../library/multiprocessing.rst:2651 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:2633 +#: ../../library/multiprocessing.rst:2658 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 " "output to :data:`sys.stderr` using format ``'[%(levelname)s/%(processName)s] " -"%(message)s'``." +"%(message)s'``. You can modify ``levelname`` of the logger by passing a " +"``level`` argument." msgstr "" -#: ../../library/multiprocessing.rst:2638 +#: ../../library/multiprocessing.rst:2664 msgid "Below is an example session with logging turned on::" msgstr "" -#: ../../library/multiprocessing.rst:2653 +#: ../../library/multiprocessing.rst:2679 msgid "For a full table of logging levels, see the :mod:`logging` module." msgstr "" -#: ../../library/multiprocessing.rst:2657 +#: ../../library/multiprocessing.rst:2683 msgid "The :mod:`multiprocessing.dummy` module" msgstr "" -#: ../../library/multiprocessing.rst:2662 +#: ../../library/multiprocessing.rst:2688 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:2667 +#: ../../library/multiprocessing.rst:2693 msgid "" "In particular, the ``Pool`` function provided by :mod:`multiprocessing." "dummy` returns an instance of :class:`ThreadPool`, which is a subclass of :" @@ -2927,7 +3565,7 @@ msgid "" "worker threads rather than worker processes." msgstr "" -#: ../../library/multiprocessing.rst:2675 +#: ../../library/multiprocessing.rst:2701 msgid "" "A thread pool object which controls a pool of worker threads to which jobs " "can be submitted. :class:`ThreadPool` instances are fully interface " @@ -2937,18 +3575,18 @@ msgid "" "pool.Pool.terminate` manually." msgstr "" -#: ../../library/multiprocessing.rst:2682 +#: ../../library/multiprocessing.rst:2708 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:2688 +#: ../../library/multiprocessing.rst:2714 msgid "" "Unlike :class:`Pool`, *maxtasksperchild* and *context* cannot be provided." msgstr "" -#: ../../library/multiprocessing.rst:2692 +#: ../../library/multiprocessing.rst:2718 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 :" @@ -2958,7 +3596,7 @@ msgid "" "is not understood by any other libraries." msgstr "" -#: ../../library/multiprocessing.rst:2699 +#: ../../library/multiprocessing.rst:2725 msgid "" "Users should generally prefer to use :class:`concurrent.futures." "ThreadPoolExecutor`, which has a simpler interface that was designed around " @@ -2967,69 +3605,69 @@ msgid "" "`asyncio`." msgstr "" -#: ../../library/multiprocessing.rst:2709 +#: ../../library/multiprocessing.rst:2735 msgid "Programming guidelines" msgstr "" -#: ../../library/multiprocessing.rst:2711 +#: ../../library/multiprocessing.rst:2737 msgid "" "There are certain guidelines and idioms which should be adhered to when " "using :mod:`multiprocessing`." msgstr "" -#: ../../library/multiprocessing.rst:2716 +#: ../../library/multiprocessing.rst:2742 msgid "All start methods" msgstr "" -#: ../../library/multiprocessing.rst:2718 +#: ../../library/multiprocessing.rst:2744 msgid "The following applies to all start methods." msgstr "" -#: ../../library/multiprocessing.rst:2720 +#: ../../library/multiprocessing.rst:2746 msgid "Avoid shared state" msgstr "" -#: ../../library/multiprocessing.rst:2722 +#: ../../library/multiprocessing.rst:2748 msgid "" "As far as possible one should try to avoid shifting large amounts of data " "between processes." msgstr "" -#: ../../library/multiprocessing.rst:2725 +#: ../../library/multiprocessing.rst:2751 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:2729 +#: ../../library/multiprocessing.rst:2755 msgid "Picklability" msgstr "" -#: ../../library/multiprocessing.rst:2731 +#: ../../library/multiprocessing.rst:2757 msgid "Ensure that the arguments to the methods of proxies are picklable." msgstr "" -#: ../../library/multiprocessing.rst:2733 +#: ../../library/multiprocessing.rst:2759 msgid "Thread safety of proxies" msgstr "" -#: ../../library/multiprocessing.rst:2735 +#: ../../library/multiprocessing.rst:2761 msgid "" "Do not use a proxy object from more than one thread unless you protect it " "with a lock." msgstr "" -#: ../../library/multiprocessing.rst:2738 +#: ../../library/multiprocessing.rst:2764 msgid "" "(There is never a problem with different processes using the *same* proxy.)" msgstr "" -#: ../../library/multiprocessing.rst:2740 +#: ../../library/multiprocessing.rst:2766 msgid "Joining zombie processes" msgstr "" -#: ../../library/multiprocessing.rst:2742 +#: ../../library/multiprocessing.rst:2768 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 :" @@ -3040,11 +3678,11 @@ msgid "" "all the processes that you start." msgstr "" -#: ../../library/multiprocessing.rst:2750 +#: ../../library/multiprocessing.rst:2776 msgid "Better to inherit than pickle/unpickle" msgstr "" -#: ../../library/multiprocessing.rst:2752 +#: ../../library/multiprocessing.rst:2778 msgid "" "When using the *spawn* or *forkserver* start methods many types from :mod:" "`multiprocessing` need to be picklable so that child processes can use " @@ -3054,11 +3692,11 @@ msgid "" "inherit it from an ancestor process." msgstr "" -#: ../../library/multiprocessing.rst:2760 +#: ../../library/multiprocessing.rst:2786 msgid "Avoid terminating processes" msgstr "" -#: ../../library/multiprocessing.rst:2762 +#: ../../library/multiprocessing.rst:2788 msgid "" "Using the :meth:`Process.terminate ` " "method to stop a process is liable to cause any shared resources (such as " @@ -3066,18 +3704,18 @@ msgid "" "become broken or unavailable to other processes." msgstr "" -#: ../../library/multiprocessing.rst:2768 +#: ../../library/multiprocessing.rst:2794 msgid "" "Therefore it is probably best to only consider using :meth:`Process." "terminate ` on processes which never use " "any shared resources." msgstr "" -#: ../../library/multiprocessing.rst:2772 +#: ../../library/multiprocessing.rst:2798 msgid "Joining processes that use queues" msgstr "" -#: ../../library/multiprocessing.rst:2774 +#: ../../library/multiprocessing.rst:2800 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 " @@ -3086,7 +3724,7 @@ msgid "" "queue to avoid this behaviour.)" msgstr "" -#: ../../library/multiprocessing.rst:2780 +#: ../../library/multiprocessing.rst:2806 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 " @@ -3095,21 +3733,21 @@ msgid "" "processes will be joined automatically." msgstr "" -#: ../../library/multiprocessing.rst:2786 +#: ../../library/multiprocessing.rst:2812 msgid "An example which will deadlock is the following::" msgstr "" -#: ../../library/multiprocessing.rst:2800 +#: ../../library/multiprocessing.rst:2826 msgid "" "A fix here would be to swap the last two lines (or simply remove the ``p." "join()`` line)." msgstr "" -#: ../../library/multiprocessing.rst:2803 +#: ../../library/multiprocessing.rst:2829 msgid "Explicitly pass resources to child processes" msgstr "" -#: ../../library/multiprocessing.rst:2805 +#: ../../library/multiprocessing.rst:2831 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. " @@ -3117,7 +3755,7 @@ msgid "" "for the child process." msgstr "" -#: ../../library/multiprocessing.rst:2810 +#: ../../library/multiprocessing.rst:2836 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 " @@ -3126,29 +3764,29 @@ msgid "" "collected in the parent process." msgstr "" -#: ../../library/multiprocessing.rst:2817 +#: ../../library/multiprocessing.rst:2843 msgid "So for instance ::" msgstr "" -#: ../../library/multiprocessing.rst:2829 +#: ../../library/multiprocessing.rst:2855 msgid "should be rewritten as ::" msgstr "" -#: ../../library/multiprocessing.rst:2841 +#: ../../library/multiprocessing.rst:2867 msgid "Beware of replacing :data:`sys.stdin` with a \"file like object\"" msgstr "" -#: ../../library/multiprocessing.rst:2843 +#: ../../library/multiprocessing.rst:2869 msgid ":mod:`multiprocessing` originally unconditionally called::" msgstr "" -#: ../../library/multiprocessing.rst:2847 +#: ../../library/multiprocessing.rst:2873 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:2853 +#: ../../library/multiprocessing.rst:2879 msgid "" "Which solves the fundamental issue of processes colliding with each other " "resulting in a bad file descriptor error, but introduces a potential danger " @@ -3158,33 +3796,33 @@ msgid "" "data being flushed to the object multiple times, resulting in corruption." msgstr "" -#: ../../library/multiprocessing.rst:2860 +#: ../../library/multiprocessing.rst:2886 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:2872 +#: ../../library/multiprocessing.rst:2898 msgid "" "For more information, see :issue:`5155`, :issue:`5313` and :issue:`5331`" msgstr "" -#: ../../library/multiprocessing.rst:2875 +#: ../../library/multiprocessing.rst:2901 msgid "The *spawn* and *forkserver* start methods" msgstr "" -#: ../../library/multiprocessing.rst:2877 +#: ../../library/multiprocessing.rst:2903 msgid "" "There are a few extra restriction which don't apply to the *fork* start " "method." msgstr "" -#: ../../library/multiprocessing.rst:2880 +#: ../../library/multiprocessing.rst:2906 msgid "More picklability" msgstr "" -#: ../../library/multiprocessing.rst:2882 +#: ../../library/multiprocessing.rst:2908 msgid "" "Ensure that all arguments to :meth:`Process.__init__` are picklable. Also, " "if you subclass :class:`~multiprocessing.Process` then make sure that " @@ -3192,11 +3830,11 @@ msgid "" "Process.start>` method is called." msgstr "" -#: ../../library/multiprocessing.rst:2887 +#: ../../library/multiprocessing.rst:2913 msgid "Global variables" msgstr "" -#: ../../library/multiprocessing.rst:2889 +#: ../../library/multiprocessing.rst:2915 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 " @@ -3204,66 +3842,66 @@ msgid "" "Process.start>` was called." msgstr "" -#: ../../library/multiprocessing.rst:2894 +#: ../../library/multiprocessing.rst:2920 msgid "" "However, global variables which are just module level constants cause no " "problems." msgstr "" -#: ../../library/multiprocessing.rst:2897 +#: ../../library/multiprocessing.rst:2925 msgid "Safe importing of main module" msgstr "" -#: ../../library/multiprocessing.rst:2899 +#: ../../library/multiprocessing.rst:2927 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 " "process)." msgstr "" -#: ../../library/multiprocessing.rst:2903 +#: ../../library/multiprocessing.rst:2931 msgid "" "For example, using the *spawn* or *forkserver* start method running the " "following module would fail with a :exc:`RuntimeError`::" msgstr "" -#: ../../library/multiprocessing.rst:2915 +#: ../../library/multiprocessing.rst:2943 msgid "" "Instead one should protect the \"entry point\" of the program by using ``if " "__name__ == '__main__':`` as follows::" msgstr "" -#: ../../library/multiprocessing.rst:2929 +#: ../../library/multiprocessing.rst:2957 msgid "" "(The ``freeze_support()`` line can be omitted if the program will be run " "normally instead of frozen.)" msgstr "" -#: ../../library/multiprocessing.rst:2932 +#: ../../library/multiprocessing.rst:2960 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:2935 +#: ../../library/multiprocessing.rst:2963 msgid "" "Similar restrictions apply if a pool or manager is created in the main " "module." msgstr "" -#: ../../library/multiprocessing.rst:2942 +#: ../../library/multiprocessing.rst:2970 msgid "Examples" msgstr "Exemplos" -#: ../../library/multiprocessing.rst:2944 +#: ../../library/multiprocessing.rst:2972 msgid "Demonstration of how to create and use customized managers and proxies:" msgstr "" -#: ../../library/multiprocessing.rst:2950 +#: ../../library/multiprocessing.rst:2978 msgid "Using :class:`~multiprocessing.pool.Pool`:" msgstr "" -#: ../../library/multiprocessing.rst:2956 +#: ../../library/multiprocessing.rst:2984 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 44ae4cb8c..19dc110b9 100644 --- a/library/multiprocessing.shared_memory.po +++ b/library/multiprocessing.shared_memory.po @@ -1,32 +1,39 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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: +# python-doc bot, 2025 +# #, 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:10+0000\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:58+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/multiprocessing.shared_memory.rst:2 msgid "" -":mod:`multiprocessing.shared_memory` --- Provides shared memory for direct " -"access across processes" +":mod:`multiprocessing.shared_memory` --- Shared memory for direct access " +"across processes" msgstr "" +":mod:`multiprocessing.shared_memory` --- Memória compartilhada para acesso " +"direto entre processos" #: ../../library/multiprocessing.shared_memory.rst:7 msgid "**Source code:** :source:`Lib/multiprocessing/shared_memory.py`" -msgstr "" +msgstr "**Código-fonte:** :source:`Lib/multiprocessing/shared_memory.py`" #: ../../library/multiprocessing.shared_memory.rst:18 msgid "" @@ -38,6 +45,13 @@ msgid "" "`SharedMemoryManager`, is also provided in the ``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``" #: ../../library/multiprocessing.shared_memory.rst:26 msgid "" @@ -53,6 +67,19 @@ msgid "" "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 " +"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." #: ../../library/multiprocessing.shared_memory.rst:41 msgid "" @@ -62,6 +89,11 @@ msgid "" "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 msgid "" @@ -72,6 +104,13 @@ msgid "" "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." #: ../../library/multiprocessing.shared_memory.rst:54 msgid "" @@ -79,12 +118,18 @@ msgid "" "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:58 msgid "" "*create* controls whether a new shared memory block is created (``True``) or " "an existing shared memory block is attached (``False``)." msgstr "" +"*create* 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:61 msgid "" @@ -94,6 +139,12 @@ msgid "" "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 "" +"*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." #: ../../library/multiprocessing.shared_memory.rst:69 msgid "" @@ -102,6 +153,11 @@ msgid "" "instance is no longer needed. Note that calling ``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." #: ../../library/multiprocessing.shared_memory.rst:77 msgid "" @@ -115,37 +171,58 @@ msgid "" "relinquishing its hold on a shared memory block may call ``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 " +"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." #: ../../library/multiprocessing.shared_memory.rst:90 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 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 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 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`::" #: ../../library/multiprocessing.shared_memory.rst:127 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:" +"`SharedMemory` class with `NumPy arrays `_, accessing " +"the same ``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." #: ../../library/multiprocessing.shared_memory.rst:181 msgid "" "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 " +"usada para o gerenciamento dos blocos de memória compartilhada entre " +"processos." #: ../../library/multiprocessing.shared_memory.rst:184 msgid "" @@ -160,6 +237,17 @@ msgid "" "instances through a ``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 " +"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 msgid "" @@ -167,6 +255,9 @@ msgid "" "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." #: ../../library/multiprocessing.shared_memory.rst:200 msgid "" @@ -175,24 +266,34 @@ msgid "" "may be used to connect to an existing ``SharedMemoryManager`` service from " "other processes." msgstr "" +"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." #: ../../library/multiprocessing.shared_memory.rst:207 msgid "" "Create and return a new :class:`SharedMemory` object with the specified " "``size`` in bytes." msgstr "" +"Cria e retorna um novo objeto :class:`SharedMemory` com o ``size`` " +"especificado em bytes" #: ../../library/multiprocessing.shared_memory.rst:212 msgid "" "Create and return a new :class:`ShareableList` object, initialized by the " "values from the input ``sequence``." msgstr "" +"Cria e retorna um novo objeto :class:`ShareableList`, inicializado pelos " +"valores da entrada ``sequence`` ." #: ../../library/multiprocessing.shared_memory.rst:216 msgid "" "The following example demonstrates the basic mechanisms of a :class:" "`SharedMemoryManager`:" msgstr "" +"O exemplo a seguir demonstra os mecanismos básicos de um :class:" +"`SharedMemoryManager`:" #: ../../library/multiprocessing.shared_memory.rst:234 msgid "" @@ -201,6 +302,10 @@ msgid "" "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 "" @@ -208,6 +313,10 @@ msgid "" "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 "" @@ -220,6 +329,15 @@ msgid "" "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 "" @@ -227,6 +345,9 @@ msgid "" "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." #: ../../library/multiprocessing.shared_memory.rst:273 msgid "" @@ -235,32 +356,42 @@ msgid "" "``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``." #: ../../library/multiprocessing.shared_memory.rst:280 msgid "Returns the number of occurrences of ``value``." -msgstr "" +msgstr "Retorna o número de ocorrências de ``value``." #: ../../library/multiprocessing.shared_memory.rst:284 msgid "" "Returns first index position of ``value``. Raises :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." #: ../../library/multiprocessing.shared_memory.rst:289 msgid "" "Read-only attribute containing the :mod:`struct` packing format used by all " "currently stored values." msgstr "" +"Atributo somente leitura contendo o formato de empacotamento :mod:`struct` " +"usado por todos os valores armazenados atualmente." #: ../../library/multiprocessing.shared_memory.rst:294 msgid "The :class:`SharedMemory` instance where the values are stored." -msgstr "" +msgstr "A instância de :class:`SharedMemory` onde os valores são armazenados." #: ../../library/multiprocessing.shared_memory.rst:297 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`:" #: ../../library/multiprocessing.shared_memory.rst:330 msgid "" @@ -268,3 +399,20 @@ msgid "" "same :class:`ShareableList` by supplying the name of the shared memory block " "behind it:" msgstr "" +"O exemplo a seguir retrata como um, dois ou mais processos podem acessar a " +"mesma :class:`ShareableList` fornecendo o nome do bloco de memória " +"compartilhada por trás dela:" + +#: ../../library/multiprocessing.shared_memory.rst:345 +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 " +"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):" diff --git a/library/netdata.po b/library/netdata.po index 37ac1fc60..47d3b44e0 100644 --- a/library/netdata.po +++ b/library/netdata.po @@ -1,27 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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.10\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-07-27 13:07+0000\n" -"PO-Revision-Date: 2021-06-28 01:10+0000\n" -"Last-Translator: Rafael Fontenelle , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:58+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/netdata.rst:6 msgid "Internet Data Handling" diff --git a/library/netrc.po b/library/netrc.po index 8d49a5b63..dd5597724 100644 --- a/library/netrc.po +++ b/library/netrc.po @@ -1,27 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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: -# Marciel Leal , 2021 -# Rafael Fontenelle , 2021 +# python-doc bot, 2025 # #, 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:10+0000\n" -"Last-Translator: Rafael Fontenelle , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:58+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/netrc.rst:3 msgid ":mod:`netrc` --- netrc file processing" @@ -110,7 +110,7 @@ msgstr "Objetos netrc" #: ../../library/netrc.rst:60 msgid "A :class:`~netrc.netrc` instance has the following methods:" msgstr "" -"Uma instância da classe :class:`~netrc.netrc` tem os seguintes métodos: " +"Uma instância da classe :class:`~netrc.netrc` tem os seguintes métodos:" #: ../../library/netrc.rst:65 msgid "" diff --git a/library/nis.po b/library/nis.po index 2ae2f8307..6b6c489ba 100644 --- a/library/nis.po +++ b/library/nis.po @@ -1,32 +1,41 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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.10\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-06-29 12:56+0000\n" -"PO-Revision-Date: 2021-06-28 01:10+0000\n" -"Last-Translator: Rafael Fontenelle , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:58+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/nis.rst:3 msgid ":mod:`nis` --- Interface to Sun's NIS (Yellow Pages)" msgstr ":mod:`nis` --- Interface para NIS da Sun (Yellow Pages)" -#: ../../library/nis.rst:14 +#: ../../library/nis.rst:13 +msgid "" +"The :mod:`nis` module is deprecated (see :pep:`PEP 594 <594#nis>` for " +"details)." +msgstr "" +"O módulo :mod:`nis` foi descontinuado (veja :pep:`PEP 594 <594#nis>` para " +"mais detalhes)." + +#: ../../library/nis.rst:19 msgid "" "The :mod:`nis` module gives a thin wrapper around the NIS library, useful " "for central administration of several hosts." @@ -34,7 +43,7 @@ msgstr "" "O módulo :mod:`nis` fornece um invólucro fino em torno da biblioteca NIS, " "útil para administração central de vários hosts." -#: ../../library/nis.rst:17 +#: ../../library/nis.rst:22 msgid "" "Because NIS exists only on Unix systems, this module is only available for " "Unix." @@ -42,11 +51,11 @@ msgstr "" "Como o NIS existe apenas em sistemas Unix, este módulo está disponível " "apenas para Unix." -#: ../../library/nis.rst:19 +#: ../../library/nis.rst:24 msgid "The :mod:`nis` module defines the following functions:" msgstr "O módulo :mod:`nis` define as seguintes funções:" -#: ../../library/nis.rst:24 +#: ../../library/nis.rst:29 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. " @@ -58,12 +67,12 @@ msgstr "" "limpo em 8 bits. O valor de retorno é uma matriz arbitrária de bytes (pode " "conter ``NULL`` e outras diversões)." -#: ../../library/nis.rst:29 ../../library/nis.rst:41 +#: ../../library/nis.rst:34 ../../library/nis.rst:46 msgid "Note that *mapname* is first checked if it is an alias to another name." msgstr "" "Observe que *mapname* é verificado primeiro se for um alias para outro nome." -#: ../../library/nis.rst:31 ../../library/nis.rst:43 ../../library/nis.rst:51 +#: ../../library/nis.rst:36 ../../library/nis.rst:48 ../../library/nis.rst:56 msgid "" "The *domain* argument allows overriding the NIS domain used for the lookup. " "If unspecified, lookup is in the default NIS domain." @@ -71,7 +80,7 @@ msgstr "" "O argumento *domain* permite substituir o domínio NIS usado para a pesquisa. " "Se não especificado, a pesquisa está no domínio NIS padrão." -#: ../../library/nis.rst:37 +#: ../../library/nis.rst:42 msgid "" "Return a dictionary mapping *key* to *value* such that ``match(key, " "mapname)==value``. Note that both keys and values of the dictionary are " @@ -81,18 +90,18 @@ msgstr "" "``match(key, mapname)==value``. Observe que as chaves e os valores do " "dicionário são matrizes arbitrárias de bytes." -#: ../../library/nis.rst:49 +#: ../../library/nis.rst:54 msgid "Return a list of all valid maps." msgstr "Retorna uma lista de todos os mapas válidos." -#: ../../library/nis.rst:57 +#: ../../library/nis.rst:62 msgid "Return the system default NIS domain." msgstr "Retorna o domínio NIS padrão do sistema." -#: ../../library/nis.rst:60 +#: ../../library/nis.rst:65 msgid "The :mod:`nis` module defines the following exception:" msgstr "O módulo :mod:`nis` define a exceção padrão:" -#: ../../library/nis.rst:64 +#: ../../library/nis.rst:69 msgid "An error raised when a NIS function returns an error code." msgstr "Um erro levantado quando uma função NIS retorna um códio de erro." diff --git a/library/nntplib.po b/library/nntplib.po index 7daa36c00..05d21c96c 100644 --- a/library/nntplib.po +++ b/library/nntplib.po @@ -1,38 +1,41 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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 -# i17obot , 2021 +# python-doc bot, 2025 # #, 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:10+0000\n" -"Last-Translator: i17obot , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:58+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/nntplib.rst:2 msgid ":mod:`nntplib` --- NNTP protocol client" msgstr "" -#: ../../library/nntplib.rst:7 +#: ../../library/nntplib.rst:8 msgid "**Source code:** :source:`Lib/nntplib.py`" msgstr "**Código-fonte:** :source:`Lib/nntplib.py`" -#: ../../library/nntplib.rst:15 +#: ../../library/nntplib.rst:14 +msgid "The :mod:`nntplib` module is deprecated (see :pep:`594` for details)." +msgstr "" + +#: ../../library/nntplib.rst:19 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 " @@ -40,23 +43,23 @@ msgid "" "`3977` as well as the older :rfc:`977` and :rfc:`2980`." msgstr "" -#: ../../library/nntplib.rst:20 +#: ../../library/nntplib.rst:24 msgid "" "Here are two small examples of how it can be used. To list some statistics " "about a newsgroup and print the subjects of the last 10 articles::" msgstr "" -#: ../../library/nntplib.rst:44 +#: ../../library/nntplib.rst:48 msgid "" "To post an article from a binary file (this assumes that the article has " "valid headers, and that you have right to post on the particular newsgroup)::" msgstr "" -#: ../../library/nntplib.rst:54 +#: ../../library/nntplib.rst:58 msgid "The module itself defines the following classes:" msgstr "" -#: ../../library/nntplib.rst:59 +#: ../../library/nntplib.rst:63 msgid "" "Return a new :class:`NNTP` object, representing a connection to the NNTP " "server running on host *host*, listening at port *port*. An optional " @@ -74,40 +77,42 @@ msgid "" "close the NNTP connection when done, e.g.:" msgstr "" -#: ../../library/nntplib.rst:82 ../../library/nntplib.rst:114 +#: ../../library/nntplib.rst:86 ../../library/nntplib.rst:118 msgid "" "Raises an :ref:`auditing event ` ``nntplib.connect`` with " "arguments ``self``, ``host``, ``port``." msgstr "" -#: ../../library/nntplib.rst:84 ../../library/nntplib.rst:116 +#: ../../library/nntplib.rst:88 ../../library/nntplib.rst:120 msgid "" "Raises an :ref:`auditing event ` ``nntplib.putline`` with " "arguments ``self``, ``line``." msgstr "" -#: ../../library/nntplib.rst:86 ../../library/nntplib.rst:118 +#: ../../library/nntplib.rst:90 ../../library/nntplib.rst:122 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." msgstr "" -#: ../../library/nntplib.rst:90 +#: ../../library/nntplib.rst:94 msgid "*usenetrc* is now ``False`` by default." msgstr "" -#: ../../library/nntplib.rst:93 +#: ../../library/nntplib.rst:97 msgid "Support for the :keyword:`with` statement was added." msgstr "Suporte para a instrução :keyword:`with` foi adicionado." -#: ../../library/nntplib.rst:96 ../../library/nntplib.rst:129 +#: ../../library/nntplib.rst:100 ../../library/nntplib.rst:133 msgid "" "If the *timeout* parameter is set to be zero, it will raise a :class:" "`ValueError` to prevent the creation of a non-blocking socket." msgstr "" +"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:102 +#: ../../library/nntplib.rst:106 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:" @@ -118,85 +123,85 @@ msgid "" "`NNTP`." msgstr "" -#: ../../library/nntplib.rst:110 +#: ../../library/nntplib.rst:114 msgid "" "Note that SSL-on-563 is discouraged per :rfc:`4642`, in favor of STARTTLS as " "described below. However, some servers only support the former." msgstr "" -#: ../../library/nntplib.rst:124 +#: ../../library/nntplib.rst:128 msgid "" "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:135 +#: ../../library/nntplib.rst:139 msgid "" "Derived from the standard exception :exc:`Exception`, this is the base class " "for all exceptions raised by the :mod:`nntplib` module. Instances of this " "class have the following attribute:" msgstr "" -#: ../../library/nntplib.rst:141 +#: ../../library/nntplib.rst:145 msgid "The response of the server if available, as a :class:`str` object." msgstr "" -#: ../../library/nntplib.rst:146 +#: ../../library/nntplib.rst:150 msgid "Exception raised when an unexpected reply is received from the server." msgstr "" -#: ../../library/nntplib.rst:151 +#: ../../library/nntplib.rst:155 msgid "" "Exception raised when a response code in the range 400--499 is received." msgstr "" -#: ../../library/nntplib.rst:156 +#: ../../library/nntplib.rst:160 msgid "" "Exception raised when a response code in the range 500--599 is received." msgstr "" -#: ../../library/nntplib.rst:161 +#: ../../library/nntplib.rst:165 msgid "" "Exception raised when a reply is received from the server that does not " "begin with a digit in the range 1--5." msgstr "" -#: ../../library/nntplib.rst:167 +#: ../../library/nntplib.rst:171 msgid "Exception raised when there is some error in the response data." msgstr "" -#: ../../library/nntplib.rst:173 +#: ../../library/nntplib.rst:177 msgid "NNTP Objects" msgstr "" -#: ../../library/nntplib.rst:175 +#: ../../library/nntplib.rst:179 msgid "" "When connected, :class:`NNTP` and :class:`NNTP_SSL` objects support the " "following methods and attributes." msgstr "" -#: ../../library/nntplib.rst:179 +#: ../../library/nntplib.rst:183 msgid "Attributes" -msgstr "" +msgstr "Atributos" -#: ../../library/nntplib.rst:183 +#: ../../library/nntplib.rst:187 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." msgstr "" -#: ../../library/nntplib.rst:191 +#: ../../library/nntplib.rst:195 msgid "" "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:197 +#: ../../library/nntplib.rst:201 msgid "Methods" msgstr "Métodos" -#: ../../library/nntplib.rst:199 +#: ../../library/nntplib.rst:203 msgid "" "The *response* that is returned as the first item in the return tuple of " "almost all methods is the server's response: a string beginning with a three-" @@ -204,7 +209,7 @@ msgid "" "one of the above exceptions." msgstr "" -#: ../../library/nntplib.rst:204 +#: ../../library/nntplib.rst:208 msgid "" "Many of the following methods take an optional keyword-only argument *file*. " "When the *file* argument is supplied, it must be either a :term:`file " @@ -214,26 +219,26 @@ msgid "" "of lines, tuples or objects that the method normally returns will be empty." msgstr "" -#: ../../library/nntplib.rst:211 +#: ../../library/nntplib.rst:215 msgid "" "Many of the following methods have been reworked and fixed, which makes them " "incompatible with their 3.1 counterparts." msgstr "" -#: ../../library/nntplib.rst:218 +#: ../../library/nntplib.rst:222 msgid "" "Send a ``QUIT`` command and close the connection. Once this method has been " "called, no other methods of the NNTP object should be called." msgstr "" -#: ../../library/nntplib.rst:224 +#: ../../library/nntplib.rst:228 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/nntplib.rst:231 +#: ../../library/nntplib.rst:235 msgid "" "Return the :rfc:`3977` capabilities advertised by the server, as a :class:" "`dict` instance mapping capability names to (possibly empty) lists of " @@ -241,14 +246,14 @@ msgid "" "command, an empty dictionary is returned instead." msgstr "" -#: ../../library/nntplib.rst:245 +#: ../../library/nntplib.rst:249 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." msgstr "" -#: ../../library/nntplib.rst:249 +#: ../../library/nntplib.rst:253 msgid "" "Unless intentionally delayed, login is normally performed during the :class:" "`NNTP` object initialization and separately calling this function is " @@ -256,14 +261,14 @@ msgid "" "or *password* when creating the object, and must set *usenetrc* to False." msgstr "" -#: ../../library/nntplib.rst:260 +#: ../../library/nntplib.rst:264 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." msgstr "" -#: ../../library/nntplib.rst:265 +#: ../../library/nntplib.rst:269 msgid "" "Note that this may not be done after authentication information has been " "transmitted, and authentication occurs by default if possible during a :" @@ -271,13 +276,13 @@ msgid "" "on suppressing this behavior." msgstr "" -#: ../../library/nntplib.rst:272 +#: ../../library/nntplib.rst:276 msgid "" "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:279 +#: ../../library/nntplib.rst:283 msgid "" "Send a ``NEWGROUPS`` command. The *date* argument should be a :class:" "`datetime.date` or :class:`datetime.datetime` object. Return a pair " @@ -286,18 +291,18 @@ msgid "" "will be empty." msgstr "" -#: ../../library/nntplib.rst:295 +#: ../../library/nntplib.rst:299 msgid "" "Send a ``NEWNEWS`` command. Here, *group* is a group name or ``'*'``, and " "*date* has the same meaning as for :meth:`newgroups`. Return a pair " "``(response, articles)`` where *articles* is a list of message ids." msgstr "" -#: ../../library/nntplib.rst:299 +#: ../../library/nntplib.rst:303 msgid "This command is frequently disabled by NNTP server administrators." msgstr "" -#: ../../library/nntplib.rst:304 +#: ../../library/nntplib.rst:308 msgid "" "Send a ``LIST`` or ``LIST ACTIVE`` command. Return a pair ``(response, " "list)`` where *list* is a list of tuples representing all the groups " @@ -307,48 +312,48 @@ msgid "" "article numbers, and *flag* usually takes one of these values:" msgstr "" -#: ../../library/nntplib.rst:312 +#: ../../library/nntplib.rst:316 msgid "``y``: Local postings and articles from peers are allowed." msgstr "" -#: ../../library/nntplib.rst:313 +#: ../../library/nntplib.rst:317 msgid "``m``: The group is moderated and all postings must be approved." msgstr "``m``: O grupo é moderado e todas as postagens devem ser aprovadas." -#: ../../library/nntplib.rst:314 +#: ../../library/nntplib.rst:318 msgid "``n``: No local postings are allowed, only articles from peers." msgstr "" -#: ../../library/nntplib.rst:315 +#: ../../library/nntplib.rst:319 msgid "``j``: Articles from peers are filed in the junk group instead." msgstr "" -#: ../../library/nntplib.rst:316 +#: ../../library/nntplib.rst:320 msgid "``x``: No local postings, and articles from peers are ignored." msgstr "" -#: ../../library/nntplib.rst:317 +#: ../../library/nntplib.rst:321 msgid "``=foo.bar``: Articles are filed in the ``foo.bar`` group instead." msgstr "" -#: ../../library/nntplib.rst:319 +#: ../../library/nntplib.rst:323 msgid "" "If *flag* has another value, then the status of the newsgroup should be " "considered unknown." msgstr "" -#: ../../library/nntplib.rst:322 +#: ../../library/nntplib.rst:326 msgid "" "This command can return very large results, especially if *group_pattern* is " "not specified. It is best to cache the results offline unless you really " "need to refresh them." msgstr "" -#: ../../library/nntplib.rst:326 +#: ../../library/nntplib.rst:330 msgid "*group_pattern* was added." msgstr "*group_pattern* foi adicionado." -#: ../../library/nntplib.rst:332 +#: ../../library/nntplib.rst:336 msgid "" "Send a ``LIST NEWSGROUPS`` command, where *grouppattern* is a wildmat string " "as specified in :rfc:`3977` (it's essentially the same as DOS or UNIX shell " @@ -356,20 +361,20 @@ msgid "" "*descriptions* is a dictionary mapping group names to textual descriptions." msgstr "" -#: ../../library/nntplib.rst:346 +#: ../../library/nntplib.rst:350 msgid "" "Get a description for a single group *group*. If more than one group " "matches (if 'group' is a real wildmat string), return the first match. If " "no group matches, return an empty string." msgstr "" -#: ../../library/nntplib.rst:350 +#: ../../library/nntplib.rst:354 msgid "" "This elides the response code from the server. If the response code is " "needed, use :meth:`descriptions`." msgstr "" -#: ../../library/nntplib.rst:356 +#: ../../library/nntplib.rst:360 msgid "" "Send a ``GROUP`` command, where *name* is the group name. The group is " "selected as the current group, if it exists. Return a tuple ``(response, " @@ -378,7 +383,7 @@ msgid "" "*last* is the last article number in the group, and *name* is the group name." msgstr "" -#: ../../library/nntplib.rst:366 +#: ../../library/nntplib.rst:370 msgid "" "Send an ``OVER`` command, or an ``XOVER`` command on legacy servers. " "*message_spec* can be either a string representing a message id, or a " @@ -388,7 +393,7 @@ msgid "" "`None` to select the current article in the current group." msgstr "" -#: ../../library/nntplib.rst:373 +#: ../../library/nntplib.rst:377 msgid "" "Return a pair ``(response, overviews)``. *overviews* is a list of " "``(article_number, overview)`` tuples, one for each article selected by " @@ -399,40 +404,40 @@ msgid "" "following items are guaranteed to be present by the NNTP specification:" msgstr "" -#: ../../library/nntplib.rst:381 +#: ../../library/nntplib.rst:385 msgid "" "the ``subject``, ``from``, ``date``, ``message-id`` and ``references`` " "headers" msgstr "" -#: ../../library/nntplib.rst:383 +#: ../../library/nntplib.rst:387 msgid "" "the ``:bytes`` metadata: the number of bytes in the entire raw article " "(including headers and body)" msgstr "" -#: ../../library/nntplib.rst:385 +#: ../../library/nntplib.rst:389 msgid "the ``:lines`` metadata: the number of lines in the article body" msgstr "" -#: ../../library/nntplib.rst:387 +#: ../../library/nntplib.rst:391 msgid "" "The value of each item is either a string, or :const:`None` if not present." msgstr "" -#: ../../library/nntplib.rst:389 +#: ../../library/nntplib.rst:393 msgid "" "It is advisable to use the :func:`decode_header` function on header values " "when they may contain non-ASCII characters::" msgstr "" -#: ../../library/nntplib.rst:409 +#: ../../library/nntplib.rst:413 msgid "" "Send a ``HELP`` command. Return a pair ``(response, list)`` where *list* is " "a list of help strings." msgstr "" -#: ../../library/nntplib.rst:415 +#: ../../library/nntplib.rst:419 msgid "" "Send a ``STAT`` command, where *message_spec* is either a message id " "(enclosed in ``'<'`` and ``'>'``) or an article number in the current group. " @@ -441,15 +446,15 @@ msgid "" "where *number* is the article number and *id* is the message id." msgstr "" -#: ../../library/nntplib.rst:429 +#: ../../library/nntplib.rst:433 msgid "Send a ``NEXT`` command. Return as for :meth:`.stat`." msgstr "" -#: ../../library/nntplib.rst:434 +#: ../../library/nntplib.rst:438 msgid "Send a ``LAST`` command. Return as for :meth:`.stat`." msgstr "" -#: ../../library/nntplib.rst:439 +#: ../../library/nntplib.rst:443 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 :" @@ -460,21 +465,21 @@ msgid "" "comprising the raw message including headers and body." msgstr "" -#: ../../library/nntplib.rst:464 +#: ../../library/nntplib.rst:468 msgid "" "Same as :meth:`article()`, but sends a ``HEAD`` command. The *lines* " "returned (or written to *file*) will only contain the message headers, not " "the body." msgstr "" -#: ../../library/nntplib.rst:471 +#: ../../library/nntplib.rst:475 msgid "" "Same as :meth:`article()`, but sends a ``BODY`` command. The *lines* " "returned (or written to *file*) will only contain the message body, not the " "headers." msgstr "" -#: ../../library/nntplib.rst:478 +#: ../../library/nntplib.rst:482 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 " @@ -484,30 +489,30 @@ msgid "" "appends the termination line." msgstr "" -#: ../../library/nntplib.rst:485 +#: ../../library/nntplib.rst:489 msgid "" "If the method succeeds, the server's response is returned. If the server " "refuses posting, a :class:`NNTPReplyError` is raised." msgstr "" -#: ../../library/nntplib.rst:491 +#: ../../library/nntplib.rst:495 msgid "" "Send an ``IHAVE`` command. *message_id* is the id of the message to send to " "the server (enclosed in ``'<'`` and ``'>'``). The *data* parameter and the " "return value are the same as for :meth:`post()`." msgstr "" -#: ../../library/nntplib.rst:498 +#: ../../library/nntplib.rst:502 msgid "" "Return a pair ``(response, date)``. *date* is a :class:`~datetime.datetime` " "object containing the current date and time of the server." msgstr "" -#: ../../library/nntplib.rst:504 +#: ../../library/nntplib.rst:508 msgid "Send a ``SLAVE`` command. Return the server's *response*." msgstr "" -#: ../../library/nntplib.rst:509 +#: ../../library/nntplib.rst:513 msgid "" "Set the instance's debugging level. This controls the amount of debugging " "output printed. The default, ``0``, produces no debugging output. A value " @@ -517,13 +522,13 @@ msgid "" "the connection (including message text)." msgstr "" -#: ../../library/nntplib.rst:517 +#: ../../library/nntplib.rst:521 msgid "" "The following are optional NNTP extensions defined in :rfc:`2980`. Some of " "them have been superseded by newer commands in :rfc:`3977`." msgstr "" -#: ../../library/nntplib.rst:523 +#: ../../library/nntplib.rst:527 msgid "" "Send an ``XHDR`` command. The *hdr* argument is a header keyword, e.g. " "``'subject'``. The *str* argument should have the form ``'first-last'`` " @@ -538,7 +543,7 @@ msgid "" "*file* is supplied, then the returned *list* is an empty list." msgstr "" -#: ../../library/nntplib.rst:538 +#: ../../library/nntplib.rst:542 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:" @@ -546,15 +551,15 @@ msgid "" "automatically use the newer ``OVER`` command if available." msgstr "" -#: ../../library/nntplib.rst:546 +#: ../../library/nntplib.rst:550 msgid "Utility functions" msgstr "Funções utilitárias" -#: ../../library/nntplib.rst:548 +#: ../../library/nntplib.rst:552 msgid "The module also defines the following utility function:" msgstr "" -#: ../../library/nntplib.rst:553 +#: ../../library/nntplib.rst:557 msgid "" "Decode a header value, un-escaping any escaped non-ASCII characters. " "*header_str* must be a :class:`str` object. The unescaped value is " diff --git a/library/numbers.po b/library/numbers.po index 9eb8a55d9..b7623ee77 100644 --- a/library/numbers.po +++ b/library/numbers.po @@ -1,27 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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 -# Sheila Gomes , 2021 +# python-doc bot, 2025 # #, 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:10+0000\n" -"Last-Translator: Sheila Gomes , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:58+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/numbers.rst:2 msgid ":mod:`numbers` --- Numeric abstract base classes" @@ -101,8 +101,8 @@ msgid "" "``%``, ``<``, ``<=``, ``>``, 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 ``>=``." +"`round`, :func:`math.floor`, :func:`math.ceil`, :func:`divmod`, ``//``, " +"``%``, ``<``, ``<=``, ``>`` e ``>=``." #: ../../library/numbers.rst:55 msgid "" @@ -115,18 +115,27 @@ msgstr "" #: ../../library/numbers.rst:61 msgid "" "Subtypes :class:`Real` and adds :attr:`~Rational.numerator` and :attr:" -"`~Rational.denominator` properties, which should be in lowest terms. With " -"these, it provides a default for :func:`float`." +"`~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`, que devem estar nos termos mais baixos. Com " -"eles, ele fornece um padrão para :func:`float`." +"e :attr:`~Rational.denominator`. Ele fornece um padrão para :func:`float`." -#: ../../library/numbers.rst:68 ../../library/numbers.rst:72 +#: ../../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." +msgstr "" +"Os valores :attr:`~Rational.numerator` e :attr:`~Rational.denominator` devem " +"ser instâncias de :class:`Integral` e devem estar nos termos mais baixos " +"com :attr:`~Rational.denominator` positivo." + +#: ../../library/numbers.rst:71 ../../library/numbers.rst:75 msgid "Abstract." msgstr "Abstrata." -#: ../../library/numbers.rst:77 +#: ../../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:" @@ -139,11 +148,11 @@ msgstr "" "operações de módulo e de string de bits: ``<<``, ``>>``, ``&``, ``^``, ``|" "``, ``~``." -#: ../../library/numbers.rst:85 +#: ../../library/numbers.rst:88 msgid "Notes for type implementors" msgstr "Nota para implementadores de tipos" -#: ../../library/numbers.rst:87 +#: ../../library/numbers.rst:90 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 " @@ -155,11 +164,11 @@ msgstr "" "extensões diferentes dos números reais. Por exemplo, :class:`fractions." "Fraction` implementa :func:`hash` desta forma::" -#: ../../library/numbers.rst:106 +#: ../../library/numbers.rst:109 msgid "Adding More Numeric ABCs" msgstr "Adicionando mais ABCs numéricas" -#: ../../library/numbers.rst:108 +#: ../../library/numbers.rst:111 msgid "" "There are, of course, more possible ABCs for numbers, and this would be a " "poor hierarchy if it precluded the possibility of adding those. You can add " @@ -169,11 +178,11 @@ msgstr "" "hierarquia pobre se excluísse a possibilidade de adicioná-los. Você pode " "adicionar ``MyFoo`` entre :class:`Complex` e :class:`Real` com::" -#: ../../library/numbers.rst:120 +#: ../../library/numbers.rst:123 msgid "Implementing the arithmetic operations" msgstr "Implementando as operações aritméticas" -#: ../../library/numbers.rst:122 +#: ../../library/numbers.rst:125 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 " @@ -187,7 +196,7 @@ msgstr "" "operação lá. Para subtipos de :class:`Integral`, isso significa que :meth:" "`__add__` e :meth:`__radd__` devem ser definidos com::" -#: ../../library/numbers.rst:153 +#: ../../library/numbers.rst:156 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 " @@ -201,11 +210,11 @@ msgstr "" "instância de ``A``, que é um subtipo de :class:`Complex` (``a : A <: " "Complex``) e ``b : B <: Complex``. Vou considerar ``a + b``:" -#: ../../library/numbers.rst:160 +#: ../../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:162 +#: ../../library/numbers.rst:165 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 " @@ -219,7 +228,7 @@ msgstr "" "`NotImplemented` de :meth:`__add__`. (Ou ``A`` pode não implementar :meth:" "`__add__`.)" -#: ../../library/numbers.rst:168 +#: ../../library/numbers.rst:171 msgid "" "Then ``B``'s :meth:`__radd__` gets a chance. If it accepts ``a``, all is " "well." @@ -227,7 +236,7 @@ msgstr "" "Então, :meth:`__radd__` do ``B`` consegue uma chance. Se ele aceitar ``a``, " "está tudo bem." -#: ../../library/numbers.rst:170 +#: ../../library/numbers.rst:173 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." @@ -235,7 +244,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:173 +#: ../../library/numbers.rst:176 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 " @@ -245,7 +254,7 @@ 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:178 +#: ../../library/numbers.rst:181 msgid "" "If ``A <: Complex`` and ``B <: Real`` without sharing any other knowledge, " "then the appropriate shared operation is the one involving the built in :" @@ -256,7 +265,7 @@ msgstr "" "a :class:`complex` embutida, e ambos :meth:`__radd__` s chegam lá, de forma " "que ``a+b == b+a``." -#: ../../library/numbers.rst:183 +#: ../../library/numbers.rst:186 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 " diff --git a/library/numeric.po b/library/numeric.po index de8223b52..37e8e3481 100644 --- a/library/numeric.po +++ b/library/numeric.po @@ -1,27 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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.10\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-06-29 12:56+0000\n" -"PO-Revision-Date: 2021-06-28 01:10+0000\n" -"Last-Translator: Raphael Mendonça, 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:58+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/numeric.rst:6 msgid "Numeric and Mathematical Modules" diff --git a/library/operator.po b/library/operator.po index a6f65d0d6..f7d2fd2a7 100644 --- a/library/operator.po +++ b/library/operator.po @@ -1,32 +1,31 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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 -# Misael borges , 2021 -# Rafael Fontenelle , 2021 +# python-doc bot, 2025 # #, 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:10+0000\n" -"Last-Translator: Rafael Fontenelle , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:58+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/operator.rst:2 msgid ":mod:`operator` --- Standard operators as functions" -msgstr ":mod:`operator` --- Operadores padrão como funções" +msgstr ":mod:`operator` --- Operadores padrões como funções" #: ../../library/operator.rst:9 msgid "**Source code:** :source:`Lib/operator.py`" @@ -64,7 +63,7 @@ msgid "" "after the rich comparison operators they support:" msgstr "" "As funções de comparação de objetos são úteis para todos os objetos e são " -"nomeadas após os operadores de comparação que os mesmos suportam:" +"nomeadas conforme os operadores de comparação que os mesmos suportam:" #: ../../library/operator.rst:45 msgid "" @@ -76,15 +75,13 @@ msgid "" "which may or may not be interpretable as a Boolean value. See :ref:" "`comparisons` for more information about rich comparisons." msgstr "" -"Executa \"comparações ricas\" entre *a* e *b*. Especialmente, ``lt(a, b)`` é " -"equivalente a ``a < b``, ``le(a, b)`` é equivalente a ``a <= b``, ``eq(a, " +"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, " "b)`` é equivalente a ``a == b``, ``ne(a, b)`` é equivalente a ``a != b``, " "``gt(a, b)`` é equivalente a ``a > b`` e ``ge(a, b)`` é equivalente a ``a >= " "b``. Observe que essas funções podem retornar qualquer valor, que pode ou " "não ser interpretável como um valor booleano. Consulte :ref:`comparisons` " -"para obter mais informações sobre comparações ricas. Como as funções de " -"comparação de objetos são úteis para todos os objetos e são nomeados pelos " -"sistemas de comparação." +"para obter mais informações sobre comparações ricas." #: ../../library/operator.rst:54 msgid "" @@ -92,7 +89,8 @@ msgid "" "support truth tests, identity tests, and boolean operations:" msgstr "" "As operações lógicas também são geralmente aplicáveis a todos os objetos e " -"suportam testes de verdade, testes de identidade e operações booleanas:" +"tem suporte para testes de verdade, testes de identidade e operações " +"booleanas:" #: ../../library/operator.rst:61 msgid "" @@ -102,7 +100,7 @@ msgid "" "`__len__` methods.)" msgstr "" "Retorna o resultado de :keyword:`not` *obj*. (Veja que não existe nenhum " -"método :meth:`__not__` para a instância do 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__`.)" @@ -111,8 +109,8 @@ msgid "" "Return :const:`True` if *obj* is true, and :const:`False` otherwise. This " "is equivalent to using the :class:`bool` constructor." msgstr "" -"Retorna :const:`True` se o *obj* for True, e :const:`False` caso contrário. " -"Isso é equivalente a utilizar a construção :class:`bool`." +"Retorna :const:`True` se o *obj* for verdadeiro, e :const:`False` caso " +"contrário. Isso é equivalente a utilizar a construção :class:`bool`." #: ../../library/operator.rst:75 msgid "Return ``a is b``. Tests object identity." @@ -132,11 +130,11 @@ msgstr "Retorna o valor absoluto de *obj*." #: ../../library/operator.rst:95 msgid "Return ``a + b``, for *a* and *b* numbers." -msgstr "Retorna ``a + b``, onde *a* e *b* são números" +msgstr "Retorna ``a + b``, onde *a* e *b* são números." #: ../../library/operator.rst:101 msgid "Return the bitwise and of *a* and *b*." -msgstr "Retornar bit a bit de *a* e *b*." +msgstr "Retorna bit a bit de *a* e *b*." #: ../../library/operator.rst:107 msgid "Return ``a // b``." @@ -145,7 +143,7 @@ msgstr "Retorna ``a // b``." #: ../../library/operator.rst:113 msgid "Return *a* converted to an integer. Equivalent to ``a.__index__()``." msgstr "" -"Retorna *a* convertendo para um inteiro. Equivalente a``a.__index__()``." +"Retorna *a* convertendo para um inteiro. Equivalente a ``a.__index__()``." #: ../../library/operator.rst:115 msgid "" @@ -171,7 +169,7 @@ msgstr "Retorna ``a % b``." #: ../../library/operator.rst:143 msgid "Return ``a * b``, for *a* and *b* numbers." -msgstr "Retorna ``a * b``, onde *a* e *b* são números" +msgstr "Retorna ``a * b``, onde *a* e *b* são números." #: ../../library/operator.rst:149 msgid "Return ``a @ b``." @@ -236,11 +234,11 @@ msgstr "Retorna o número de ocorrências de *b* em *a*." #: ../../library/operator.rst:225 msgid "Remove the value of *a* at index *b*." -msgstr "Remove o valor de *a* no índice *b*." +msgstr "Remove de *a* o valor no índice *b*." #: ../../library/operator.rst:231 msgid "Return the value of *a* at index *b*." -msgstr "Retorna o valor de *a* no índice *b*." +msgstr "Retorna de *a* o valor no índice *b*." #: ../../library/operator.rst:236 msgid "Return the index of the first of occurrence of *b* in *a*." @@ -248,7 +246,7 @@ msgstr "Retorna o índice da primeira ocorrência de *b* em *a*." #: ../../library/operator.rst:242 msgid "Set the value of *a* at index *b* to *c*." -msgstr "Define o valor de *a* no índice *b* para *c*." +msgstr "Define em *a* o valor no índice *b* para *c*." #: ../../library/operator.rst:247 msgid "" @@ -269,8 +267,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 a função :func:`map`, :func:`sorted`, :meth:" -"`itertools.groupby`, ou outra função que espera um argumento de função." +"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:262 msgid "" @@ -293,8 +292,8 @@ msgid "" "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)``." +"Depois de ``f = attrgetter('name', 'date')``, a chamada a ``f(b)`` retorna " +"``(b.name, b.date)``." #: ../../library/operator.rst:271 msgid "" @@ -316,8 +315,8 @@ msgid "" "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últiplo itens são especificados, " -"retorna uma tupla de valores da pesquisa. Por exemplo:" +"operando do método :meth:`__getitem__`. Se múltiplos itens são " +"especificados, retorna uma tupla de valores da pesquisa. Por exemplo:" #: ../../library/operator.rst:301 msgid "After ``f = itemgetter(2)``, the call ``f(r)`` returns ``r[2]``." @@ -335,12 +334,12 @@ msgstr "" #: ../../library/operator.rst:318 msgid "" "The items can be any type accepted by the operand's :meth:`__getitem__` " -"method. Dictionaries accept any hashable value. Lists, tuples, and strings " -"accept an index or a slice:" +"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 hashable. Listas, tuplas e strings " -"aceitam um índice ou uma fatia:" +"dicionários aceitam qualquer valor :term:`hasheável`. Listas, tuplas e " +"strings aceitam um índice ou uma fatia:" #: ../../library/operator.rst:332 msgid "" @@ -357,7 +356,7 @@ msgid "" "to the method as well. For example:" msgstr "" "Retorna um objeto chamável que invoca o método *name* em seu operando. Se " -"argumentos adicionais e/ou argumentos de keyword forem fornecidos, os mesmos " +"argumentos adicionais e/ou argumentos nomeados forem fornecidos, os mesmos " "serão passados para o método. Por exemplo:" #: ../../library/operator.rst:349 @@ -377,15 +376,15 @@ msgstr "" #: ../../library/operator.rst:365 msgid "Mapping Operators to Functions" -msgstr "Mapeando os Operadores para suas Respectivas Funções" +msgstr "Mapeando os operadores para suas respectivas funções" #: ../../library/operator.rst:367 msgid "" "This table shows how abstract operations correspond to operator symbols in " "the Python syntax and the functions in the :mod:`operator` module." msgstr "" -"Esta tabela mostra como as operações abstratos correspondem aos símbolos do " -"operador na sintaxe Python e as funções no módulo :mod:`operator`." +"Esta tabela mostra como as operações abstratas correspondem aos símbolos do " +"operador na sintaxe Python e às funções no módulo :mod:`operator`." #: ../../library/operator.rst:371 msgid "Operation" @@ -397,7 +396,7 @@ msgstr "Sintaxe" #: ../../library/operator.rst:371 msgid "Function" -msgstr "Função " +msgstr "Função" #: ../../library/operator.rst:373 msgid "Addition" @@ -425,7 +424,7 @@ msgstr "``concat(seq1, seq2)``" #: ../../library/operator.rst:377 msgid "Containment Test" -msgstr "Teste de Contenção" +msgstr "Teste de pertinência" #: ../../library/operator.rst:377 msgid "``obj in seq``" @@ -457,7 +456,7 @@ msgstr "``floordiv(a, b)``" #: ../../library/operator.rst:383 msgid "Bitwise And" -msgstr "E Bit a Bit" +msgstr "E bit a bit" #: ../../library/operator.rst:383 msgid "``a & b``" @@ -469,7 +468,7 @@ msgstr "``and_(a, b)``" #: ../../library/operator.rst:385 msgid "Bitwise Exclusive Or" -msgstr "Ou Exclusivo Bit a Bit" +msgstr "Ou exclusivo bit a bit" #: ../../library/operator.rst:385 msgid "``a ^ b``" @@ -481,7 +480,7 @@ msgstr "``xor(a, b)``" #: ../../library/operator.rst:387 msgid "Bitwise Inversion" -msgstr "Inversão Bit a Bit" +msgstr "Inversão bit a bit" #: ../../library/operator.rst:387 msgid "``~ a``" @@ -493,7 +492,7 @@ msgstr "``invert(a)``" #: ../../library/operator.rst:389 msgid "Bitwise Or" -msgstr "Ou Bit a Bit" +msgstr "Ou bit a bit" #: ../../library/operator.rst:389 msgid "``a | b``" @@ -549,7 +548,7 @@ msgstr "``setitem(obj, k, v)``" #: ../../library/operator.rst:399 msgid "Indexed Deletion" -msgstr "Eliminação Indexada" +msgstr "Eliminação indexada" #: ../../library/operator.rst:399 msgid "``del obj[k]``" @@ -573,7 +572,7 @@ msgstr "``getitem(obj, k)``" #: ../../library/operator.rst:403 msgid "Left Shift" -msgstr "Left Shift" +msgstr "Deslocamento à esquerda" #: ../../library/operator.rst:403 msgid "``a << b``" @@ -609,7 +608,7 @@ msgstr "``mul(a, b)``" #: ../../library/operator.rst:409 msgid "Matrix Multiplication" -msgstr "Multiplicação de Arrays" +msgstr "Multiplicação de matrizes" #: ../../library/operator.rst:409 msgid "``a @ b``" @@ -621,7 +620,7 @@ msgstr "``matmul(a, b)``" #: ../../library/operator.rst:411 msgid "Negation (Arithmetic)" -msgstr "Negação (Aritmética)" +msgstr "Negação (aritmética)" #: ../../library/operator.rst:411 msgid "``- a``" @@ -633,7 +632,7 @@ msgstr "``neg(a)``" #: ../../library/operator.rst:413 msgid "Negation (Logical)" -msgstr "Negação (Lógica)" +msgstr "Negação (lógica)" #: ../../library/operator.rst:413 msgid "``not a``" @@ -657,7 +656,7 @@ msgstr "``pos(a)``" #: ../../library/operator.rst:417 msgid "Right Shift" -msgstr "Right Shift" +msgstr "Deslocamento à direita" #: ../../library/operator.rst:417 msgid "``a >> b``" @@ -669,7 +668,7 @@ msgstr "``rshift(a, b)``" #: ../../library/operator.rst:419 msgid "Slice Assignment" -msgstr "Atribuição de Fatiamento" +msgstr "Atribuição de fatia" #: ../../library/operator.rst:419 msgid "``seq[i:j] = values``" @@ -681,7 +680,7 @@ msgstr "``setitem(seq, slice(i, j), values)``" #: ../../library/operator.rst:421 msgid "Slice Deletion" -msgstr "Remoção de Fatiamento" +msgstr "Remoção de fatia" #: ../../library/operator.rst:421 msgid "``del seq[i:j]``" @@ -705,7 +704,7 @@ msgstr "``getitem(seq, slice(i, j))``" #: ../../library/operator.rst:425 msgid "String Formatting" -msgstr "Formatação de Strings" +msgstr "Formatação de strings" #: ../../library/operator.rst:425 msgid "``s % obj``" @@ -729,7 +728,7 @@ msgstr "``sub(a, b)``" #: ../../library/operator.rst:429 msgid "Truth Test" -msgstr "Teste Verdadeiro" +msgstr "Teste verdadeiro" #: ../../library/operator.rst:429 msgid "``obj``" @@ -814,7 +813,7 @@ msgid "" "y``." msgstr "" "Muitas operações possuem uma versão \"in-place\". Listadas abaixo, as " -"funções fornecem um acesso mais primitivo as operadores locais do que a " +"funções fornecem um acesso mais primitivo aos operadores locais do que a " "sintaxe usual; por exemplo, a :term:`instrução` ``x += y`` é equivalente a " "``x = operator.iadd(x, y)``. Outra maneira de colocá-lo é dizendo que ``z = " "operator.iadd(x, y)`` é equivalente à instrução composta ``z = x; z += y``." @@ -836,7 +835,7 @@ msgid "" "For immutable targets such as strings, numbers, and tuples, the updated " "value is computed, but not assigned back to the input variable:" msgstr "" -"Para os casos imutáveis, como as Strings, números e tuplas, o valor " +"Para os casos imutáveis, como as strings, números e tuplas, o valor " "atualizado será calculado, mas não será atribuído de volta à variável de " "entrada:" @@ -850,11 +849,11 @@ msgstr "" #: ../../library/operator.rst:480 msgid "``a = iadd(a, b)`` is equivalent to ``a += b``." -msgstr "``a = iadd(a, b)`` is equivalent to ``a += b``." +msgstr "``a = iadd(a, b)`` é equivalente a ``a += b``." #: ../../library/operator.rst:486 msgid "``a = iand(a, b)`` is equivalent to ``a &= b``." -msgstr "``a = iand(a, b)`` is equivalent to ``a &= b``." +msgstr "``a = iand(a, b)`` é equivalente a ``a &= b``." #: ../../library/operator.rst:492 msgid "" diff --git a/library/optparse.po b/library/optparse.po index 8513d0822..2b48e1fb0 100644 --- a/library/optparse.po +++ b/library/optparse.po @@ -1,30 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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 -# Claudio Rogerio Carvalho Filho , 2021 -# Italo Penaforte , 2021 -# And Past , 2021 +# python-doc bot, 2025 # #, 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:10+0000\n" -"Last-Translator: And Past , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:58+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/optparse.rst:2 msgid ":mod:`optparse` --- Parser for command line options" @@ -39,6 +36,8 @@ 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 "" @@ -50,16 +49,25 @@ msgid "" "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 "" @@ -75,22 +83,24 @@ msgstr "" #: ../../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 "" @@ -100,10 +110,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" @@ -116,6 +131,10 @@ 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 "" @@ -124,10 +143,14 @@ msgid "" "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 "" @@ -140,16 +163,27 @@ msgid "" "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 "" @@ -157,30 +191,41 @@ 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``" +"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 "" "These option syntaxes are not supported by :mod:`optparse`, and they never " "will be. This is deliberate: the first three are non-standard on any " "environment, and the last only makes sense if you're exclusively targeting " -"VMS, MS-DOS, and/or Windows." +"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 "" @@ -189,10 +234,13 @@ msgid "" "`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 "" @@ -204,6 +252,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" @@ -215,10 +270,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 "" @@ -227,10 +285,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 "" @@ -238,10 +300,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 "" @@ -254,6 +319,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 "" @@ -262,6 +335,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 "" @@ -271,6 +348,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 "" @@ -281,16 +363,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 "" @@ -302,6 +392,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 "" @@ -315,6 +412,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" @@ -326,16 +433,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 "" @@ -343,12 +455,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 "" @@ -356,6 +473,9 @@ 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 "" @@ -364,12 +484,19 @@ msgid "" "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 "" @@ -388,11 +515,17 @@ 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 "" @@ -401,10 +534,14 @@ msgid "" "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 "" @@ -415,15 +552,23 @@ msgid "" "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 "" @@ -431,6 +576,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::" @@ -440,6 +588,8 @@ 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 "" @@ -453,12 +603,17 @@ 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 "" @@ -466,10 +621,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 "" @@ -477,6 +635,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 "" @@ -486,16 +647,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 "" @@ -504,6 +672,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 "" @@ -511,6 +684,9 @@ 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 "" @@ -518,22 +694,25 @@ msgid "" "``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 msgid "``\"store_const\"``" msgstr "``\"store_const\"``" #: ../../library/optparse.rst:407 ../../library/optparse.rst:928 -msgid "store a constant value" -msgstr "armazena um valor constante" +msgid "store a constant value, pre-set via :attr:`Option.const`" +msgstr "armazena um valor constante, predefinido via :attr:`Option.const`" #: ../../library/optparse.rst:410 ../../library/optparse.rst:937 msgid "``\"append\"``" @@ -541,7 +720,7 @@ msgstr "``\"append\"``" #: ../../library/optparse.rst:410 ../../library/optparse.rst:937 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 msgid "``\"count\"``" @@ -549,7 +728,7 @@ msgstr "``\"count\"``" #: ../../library/optparse.rst:413 ../../library/optparse.rst:943 msgid "increment a counter by one" -msgstr "" +msgstr "incrementa um contador em um" #: ../../library/optparse.rst:416 ../../library/optparse.rst:946 msgid "``\"callback\"``" @@ -557,33 +736,45 @@ msgstr "``\"callback\"``" #: ../../library/optparse.rst:416 ../../library/optparse.rst:946 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`." 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 "" -"All of the above examples involve setting some variable (the \"destination" -"\") when certain command-line options are seen. What happens if those " -"options are never seen? Since we didn't supply any defaults, they are all " -"set to ``None``. This is usually fine, but sometimes you want more " +"All of the above examples involve setting some variable (the " +"\"destination\") when certain command-line options are seen. What happens " +"if those options are never seen? Since we didn't supply any defaults, they " +"are all set to ``None``. This is usually fine, but sometimes you want more " "control. :mod:`optparse` lets you supply a default value for each " "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 "" @@ -591,16 +782,21 @@ 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 "" @@ -615,10 +811,13 @@ msgid "" "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 msgid "Generating help" -msgstr "" +msgstr "Gerando texto de ajuda" #: ../../library/optparse.rst:472 msgid "" @@ -628,6 +827,12 @@ 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 msgid "" @@ -635,22 +840,29 @@ msgid "" "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 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 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 msgid "the script defines its own usage message::" -msgstr "" +msgstr "o script define sua própria mensagem de uso::" #: ../../library/optparse.rst:520 msgid "" @@ -658,6 +870,9 @@ msgid "" "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 msgid "" @@ -665,6 +880,9 @@ msgid "" "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 msgid "" @@ -672,12 +890,17 @@ msgid "" "\\ :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 msgid "" -"options that take a value indicate this fact in their automatically-" +"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 msgid "" @@ -686,8 +909,14 @@ msgid "" "`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::" +"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 msgid "" @@ -698,6 +927,12 @@ 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 msgid "" @@ -706,10 +941,14 @@ msgid "" "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 msgid "Grouping Options" -msgstr "" +msgstr "Agrupando opções" #: ../../library/optparse.rst:560 msgid "" @@ -717,27 +956,31 @@ msgid "" "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 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:1620 msgid "where" -msgstr "" +msgstr "onde" #: ../../library/optparse.rst:570 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 msgid "title is the group title" -msgstr "" +msgstr "*title* é o título do grupo" #: ../../library/optparse.rst:573 msgid "description, optional, is a long description of the group" -msgstr "" +msgstr "*description*, opcional, é uma descrição longa do grupo" #: ../../library/optparse.rst:575 msgid "" @@ -745,38 +988,50 @@ msgid "" "`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 msgid "" "Once all the options are declared, using the :class:`OptionParser` method :" "meth:`add_option_group` the group is added to the previously defined parser." msgstr "" +"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 msgid "" "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 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 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 msgid "that results in the following output:" -msgstr "" +msgstr "que resulta na seguinte saída:" #: ../../library/optparse.rst:655 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 msgid "" @@ -784,10 +1039,13 @@ msgid "" "*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 msgid "Printing a version string" -msgstr "" +msgstr "Exibindo uma string de versão" #: ../../library/optparse.rst:669 msgid "" @@ -795,6 +1053,9 @@ msgid "" "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 msgid "" @@ -804,34 +1065,47 @@ msgid "" "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:681 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 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 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 " +"*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 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 msgid "How :mod:`optparse` handles errors" -msgstr "" +msgstr "Como :mod:`optparse` trata erros" #: ../../library/optparse.rst:708 msgid "" @@ -842,6 +1116,13 @@ msgid "" "are dealt with in the usual way: raise an exception (either :exc:`optparse." "OptionError` or :exc:`TypeError`) and let the program crash." msgstr "" +"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 msgid "" @@ -853,6 +1134,14 @@ 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 msgid "" @@ -860,16 +1149,21 @@ msgid "" "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 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 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 msgid "" @@ -877,6 +1171,9 @@ msgid "" "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 msgid "" @@ -884,28 +1181,35 @@ msgid "" "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 msgid "Putting it all together" -msgstr "" +msgstr "Juntando tudo" #: ../../library/optparse.rst:765 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 msgid "Reference Guide" -msgstr "" +msgstr "Guia de referência" #: ../../library/optparse.rst:799 msgid "Creating the parser" -msgstr "" +msgstr "Criando o analisador sintático" #: ../../library/optparse.rst:801 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 msgid "" @@ -913,23 +1217,26 @@ msgid "" "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 msgid "``usage`` (default: ``\"%prog [options]\"``)" -msgstr "" +msgstr "``usage`` (padrão: ``\"%prog [options]\"``)" #: ../../library/optparse.rst:810 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 " +"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`." msgstr "" #: ../../library/optparse.rst:821 msgid "``option_list`` (default: ``[]``)" -msgstr "" +msgstr "``option_list`` (padrão: ``[]``)" #: ../../library/optparse.rst:817 msgid "" @@ -939,40 +1246,56 @@ 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 msgid "``option_class`` (default: optparse.Option)" -msgstr "" +msgstr "``option_class`` (padrão: optparse.Option)" #: ../../library/optparse.rst:824 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 msgid "``version`` (default: ``None``)" -msgstr "" +msgstr "``version`` (padrão: ``None``)" #: ../../library/optparse.rst:827 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``." +"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 msgid "``conflict_handler`` (default: ``\"error\"``)" -msgstr "" +msgstr "``conflict_handler`` (padrão: ``\"error\"``)" #: ../../library/optparse.rst:833 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 msgid "``description`` (default: ``None``)" -msgstr "" +msgstr "``description`` (padrão: ``None``)" #: ../../library/optparse.rst:838 msgid "" @@ -981,10 +1304,14 @@ msgid "" "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 msgid "``formatter`` (default: a new :class:`IndentedHelpFormatter`)" -msgstr "" +msgstr "``formatter`` (padrão: um novo :class:`IndentedHelpFormatter`)" #: ../../library/optparse.rst:844 msgid "" @@ -992,16 +1319,21 @@ msgid "" "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 msgid "``add_help_option`` (default: ``True``)" -msgstr "" +msgstr "``add_help_option`` (padrão: ``True``)" #: ../../library/optparse.rst:849 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 msgid "``prog``" @@ -1012,18 +1344,20 @@ 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 msgid "``epilog`` (default: ``None``)" -msgstr "" +msgstr "``epilog`` (padrão: ``None``)" #: ../../library/optparse.rst:857 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 msgid "Populating the parser" -msgstr "" +msgstr "Preenchendo o analisador sintático" #: ../../library/optparse.rst:864 msgid "" @@ -1031,10 +1365,15 @@ msgid "" "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 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 msgid "" @@ -1042,12 +1381,17 @@ msgid "" "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 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 msgid "" @@ -1057,10 +1401,15 @@ msgid "" "`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:894 msgid "Defining options" -msgstr "" +msgstr "Definindo as opções" #: ../../library/optparse.rst:896 msgid "" @@ -1068,20 +1417,26 @@ msgid "" "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 msgid "" "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 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 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 msgid "" @@ -1091,6 +1446,11 @@ 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 msgid "" @@ -1098,6 +1458,9 @@ msgid "" "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 msgid "``\"store\"``" @@ -1105,7 +1468,7 @@ msgstr "``\"store\"``" #: ../../library/optparse.rst:925 msgid "store this option's argument (default)" -msgstr "" +msgstr "armazena o argumento desta opção (padrão)" #: ../../library/optparse.rst:931 msgid "``\"store_true\"``" @@ -1113,7 +1476,7 @@ msgstr "``\"store_true\"``" #: ../../library/optparse.rst:931 msgid "store ``True``" -msgstr "" +msgstr "armazena ``True``" #: ../../library/optparse.rst:934 msgid "``\"store_false\"``" @@ -1121,15 +1484,16 @@ msgstr "``\"store_false\"``" #: ../../library/optparse.rst:934 msgid "store ``False``" -msgstr "" +msgstr "armazena ``False``" #: ../../library/optparse.rst:940 msgid "``\"append_const\"``" msgstr "``\"append_const\"``" #: ../../library/optparse.rst:940 -msgid "append a constant value to a list" +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:1226 msgid "``\"help\"``" @@ -1139,6 +1503,8 @@ msgstr "``\"help\"``" 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 msgid "" @@ -1146,6 +1512,9 @@ msgid "" "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 msgid "" @@ -1159,26 +1528,30 @@ msgstr "" #: ../../library/optparse.rst:961 msgid "For example, when you call ::" -msgstr "" +msgstr "Por exemplo, quando você chama ::" #: ../../library/optparse.rst:965 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:969 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:973 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:980 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:984 msgid "" @@ -1186,10 +1559,13 @@ msgid "" "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:992 msgid "Option attributes" -msgstr "" +msgstr "Atributos da classe Option" #: ../../library/optparse.rst:994 msgid "" @@ -1198,10 +1574,14 @@ msgid "" "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:1001 msgid "(default: ``\"store\"``)" -msgstr "" +msgstr "(padrão: ``\"store\"``)" #: ../../library/optparse.rst:1003 msgid "" @@ -1209,21 +1589,27 @@ msgid "" "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:1009 msgid "(default: ``\"string\"``)" -msgstr "" +msgstr "(padrão: ``\"string\"``)" #: ../../library/optparse.rst:1011 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:1017 ../../library/optparse.rst:1067 msgid "(default: derived from option strings)" -msgstr "" +msgstr "(padrão: derivado de strings de opção)" #: ../../library/optparse.rst:1019 msgid "" @@ -1232,16 +1618,22 @@ msgid "" "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:1026 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:1031 msgid "(default: 1)" -msgstr "" +msgstr "(padrão: 1)" #: ../../library/optparse.rst:1033 msgid "" @@ -1249,16 +1641,23 @@ msgid "" "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:1039 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:1043 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:1048 msgid "" @@ -1266,12 +1665,17 @@ msgid "" "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:1055 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:1060 msgid "" @@ -1286,10 +1690,12 @@ 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:1076 msgid "Standard option actions" -msgstr "" +msgstr "Ações de opção padrão" #: ../../library/optparse.rst:1078 msgid "" @@ -1298,12 +1704,19 @@ msgid "" "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:1083 msgid "" "``\"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:1086 msgid "" @@ -1314,16 +1727,25 @@ msgid "" "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:1093 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:1096 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:1098 msgid "" @@ -1332,6 +1754,11 @@ msgid "" "``foo_bar``). If there are no long option strings, :mod:`optparse` derives a " "destination from the first short option string (e.g., ``-f`` implies ``f``)." msgstr "" +"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:1103 ../../library/optparse.rst:1123 #: ../../library/optparse.rst:1145 ../../library/optparse.rst:1163 @@ -1341,49 +1768,55 @@ msgstr "Exemplo::" #: ../../library/optparse.rst:1108 msgid "As it parses the command line ::" -msgstr "" +msgstr "Como ele analisa a linha de comando ::" #: ../../library/optparse.rst:1112 msgid ":mod:`optparse` will set ::" -msgstr "" +msgstr ":mod:`optparse` vai definir ::" #: ../../library/optparse.rst:1118 msgid "" "``\"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:1121 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:1132 msgid "If ``--noisy`` is seen, :mod:`optparse` will set ::" -msgstr "" +msgstr "Se ``--noisy`` é encontrado, :mod:`optparse` vai definir ::" #: ../../library/optparse.rst:1136 msgid "``\"store_true\"`` [relevant: :attr:`~Option.dest`]" -msgstr "" +msgstr "``\"store_true\"`` [relevante: :attr:`~Option.dest`]" #: ../../library/optparse.rst:1138 msgid "" "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:1141 msgid "``\"store_false\"`` [relevant: :attr:`~Option.dest`]" -msgstr "" +msgstr "``\"store_false\"`` [relevante: :attr:`~Option.dest`]" #: ../../library/optparse.rst:1143 msgid "Like ``\"store_true\"``, but stores ``False``." -msgstr "" +msgstr "Como ``\"store_true\"``, mas armazenad ``False``." #: ../../library/optparse.rst:1150 msgid "" "``\"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:1153 msgid "" @@ -1394,22 +1827,32 @@ 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:1160 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:1167 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:1173 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:1177 msgid "" @@ -1419,12 +1862,19 @@ 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:1188 msgid "" "``\"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:1191 msgid "" @@ -1433,10 +1883,14 @@ msgid "" "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:1196 msgid "``\"count\"`` [relevant: :attr:`~Option.dest`]" -msgstr "" +msgstr "``\"count\"`` [relevante: :attr:`~Option.dest`]" #: ../../library/optparse.rst:1198 msgid "" @@ -1444,16 +1898,21 @@ msgid "" "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:1206 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:1212 msgid "Every subsequent occurrence of ``-v`` results in ::" -msgstr "" +msgstr "Cada ocorrência subsequente de ``-v`` resulta em ::" #: ../../library/optparse.rst:1216 msgid "" @@ -1461,16 +1920,21 @@ msgid "" "`~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:1220 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:1224 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:1228 msgid "" @@ -1479,6 +1943,10 @@ msgid "" "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:1233 msgid "" @@ -1492,6 +1960,9 @@ 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:1255 msgid "" @@ -1499,12 +1970,17 @@ msgid "" "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:1268 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:1271 msgid "``\"version\"``" @@ -1519,10 +1995,17 @@ msgid "" "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:1284 msgid "Standard option types" -msgstr "" +msgstr "Tipos de opção padrão" #: ../../library/optparse.rst:1286 msgid "" @@ -1530,6 +2013,10 @@ msgid "" "``\"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:1290 msgid "" @@ -1537,26 +2024,32 @@ msgid "" "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:1293 msgid "Integer arguments (type ``\"int\"``) are parsed as follows:" msgstr "" +"Argumentos inteiros (tipo ``\"int\"``) são analisados da seguinte forma:" #: ../../library/optparse.rst:1295 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:1297 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:1299 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:1301 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:1304 msgid "" @@ -1564,12 +2057,18 @@ msgid "" "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:1308 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:1311 msgid "" @@ -1579,6 +2078,11 @@ msgid "" "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:1321 msgid "Parsing arguments" @@ -1601,7 +2105,7 @@ msgstr "``args``" #: ../../library/optparse.rst:1331 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:1336 msgid "``values``" @@ -1631,6 +2135,8 @@ msgstr "" #: ../../library/optparse.rst:1345 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:1347 msgid "" @@ -1650,7 +2156,7 @@ msgstr "" #: ../../library/optparse.rst:1361 msgid "Querying and manipulating your option parser" -msgstr "" +msgstr "Consultando e manipulando seu analisador sintático de opções" #: ../../library/optparse.rst:1363 msgid "" @@ -1658,6 +2164,10 @@ msgid "" "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:1369 msgid "" @@ -1665,10 +2175,13 @@ msgid "" "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:1375 msgid "and treats it as equivalent to ::" -msgstr "" +msgstr "e trata-a como equivalente a ::" #: ../../library/optparse.rst:1379 msgid "" @@ -1676,6 +2189,9 @@ msgid "" "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:1383 msgid "" @@ -1683,24 +2199,34 @@ msgid "" "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:1389 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:1394 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:1399 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:1404 msgid "" @@ -1709,22 +2235,31 @@ msgid "" "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:1413 msgid "Conflicts between options" -msgstr "" +msgstr "Conflitos entre opções" #: ../../library/optparse.rst:1415 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:1422 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:1425 msgid "" @@ -1733,24 +2268,30 @@ msgid "" "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:1431 msgid "or with a separate call::" -msgstr "" +msgstr "ou com uma chamada separada::" #: ../../library/optparse.rst:1435 msgid "The available conflict handlers are:" -msgstr "" +msgstr "Os manipuladores de conflitos disponíveis são:" #: ../../library/optparse.rst:1439 msgid "``\"error\"`` (default)" -msgstr "" +msgstr "``\"error\"`` (padrão)" #: ../../library/optparse.rst:1438 msgid "" "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:1443 msgid "``\"resolve\"``" @@ -1758,42 +2299,57 @@ msgstr "``\"resolve\"``" #: ../../library/optparse.rst:1442 msgid "resolve option conflicts intelligently (see below)" -msgstr "" +msgstr "resolve conflitos de opções de forma inteligente (veja abaixo)" #: ../../library/optparse.rst:1445 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:1452 msgid "" -"At this point, :mod:`optparse` detects that a previously-added option is " -"already using the ``-n`` option string. Since ``conflict_handler`` is ``" -"\"resolve\"``, it resolves the situation by removing ``-n`` from the earlier " -"option's list of option strings. Now ``--dry-run`` is the only way for the " -"user to activate that option. If the user asks for help, the help message " -"will reflect that::" +"At this point, :mod:`optparse` detects that a previously added option is " +"already using the ``-n`` option string. Since ``conflict_handler`` is " +"``\"resolve\"``, it resolves the situation by removing ``-n`` from the " +"earlier option's list of option strings. Now ``--dry-run`` is the only way " +"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:1463 msgid "" -"It's possible to whittle away the option strings for a previously-added " +"It's possible to whittle away the option strings for a previously added " "option until there are none left, and the user has no way of invoking that " "option from the command-line. In that case, :mod:`optparse` removes that " "option 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:1471 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:1483 msgid "Cleanup" -msgstr "" +msgstr "Limpeza" #: ../../library/optparse.rst:1485 msgid "" @@ -1804,14 +2360,20 @@ 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:1496 msgid "Other methods" -msgstr "" +msgstr "Outros métodos" #: ../../library/optparse.rst:1498 msgid "OptionParser supports several other public methods:" -msgstr "" +msgstr "OptionParser provê vários outros métodos públicos:" #: ../../library/optparse.rst:1502 msgid "" @@ -1828,12 +2390,18 @@ msgid "" "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:1515 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:1520 msgid "" @@ -1843,14 +2411,19 @@ msgid "" "\"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:1533 msgid "To avoid this confusion, use :meth:`set_defaults`::" -msgstr "" +msgstr "Para evitar essa confusão, use :meth:`set_defaults`::" #: ../../library/optparse.rst:1545 msgid "Option Callbacks" -msgstr "" +msgstr "Funções de retorno de opção" #: ../../library/optparse.rst:1547 msgid "" @@ -1859,24 +2432,31 @@ msgid "" "callback option. Extending :mod:`optparse` is more general, but overkill for " "a lot of simple cases. Quite often a simple callback is all you need." msgstr "" +"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:1552 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:1554 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:1556 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:1563 msgid "Defining a callback option" -msgstr "" +msgstr "Definindo uma opção de retorno de chamada" #: ../../library/optparse.rst:1565 msgid "" @@ -1885,6 +2465,10 @@ msgid "" "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:1571 msgid "" @@ -1897,6 +2481,15 @@ 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:1580 msgid "" @@ -1905,16 +2498,22 @@ msgid "" "`~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:1587 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:1589 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:1596 msgid ":attr:`~Option.type`" @@ -1927,6 +2526,11 @@ msgid "" "`~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:1602 msgid ":attr:`~Option.nargs`" @@ -1939,6 +2543,10 @@ msgid "" "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:1605 msgid ":attr:`~Option.callback_args`" @@ -1947,6 +2555,8 @@ msgstr ":attr:`~Option.callback_args`" #: ../../library/optparse.rst:1605 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:1609 msgid ":attr:`~Option.callback_kwargs`" @@ -1955,14 +2565,16 @@ msgstr ":attr:`~Option.callback_kwargs`" #: ../../library/optparse.rst:1608 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:1614 msgid "How callbacks are called" -msgstr "" +msgstr "Como os retornos de chamada são chamados" #: ../../library/optparse.rst:1616 msgid "All callbacks are called as follows::" -msgstr "" +msgstr "Todos os retornos de chamada são chamados da seguinte forma:" #: ../../library/optparse.rst:1623 msgid "``option``" @@ -1970,7 +2582,7 @@ msgstr "``option``" #: ../../library/optparse.rst:1623 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:1630 msgid "``opt_str``" @@ -1981,9 +2593,14 @@ 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 " "full, canonical option string---e.g. if the user puts ``--foo`` on the " -"command-line as an abbreviation for ``--foobar``, then ``opt_str`` will be ``" -"\"--foobar\"``.)" +"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:1637 msgid "``value``" @@ -1998,6 +2615,12 @@ msgid "" "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:1660 msgid "``parser``" @@ -2008,6 +2631,9 @@ 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:1647 msgid "``parser.largs``" @@ -2031,6 +2657,10 @@ msgid "" "(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:1660 msgid "``parser.values``" @@ -2044,12 +2674,20 @@ 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:1663 msgid "" "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:1669 msgid "``kwargs``" @@ -2060,10 +2698,12 @@ msgid "" "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:1674 msgid "Raising errors in a callback" -msgstr "" +msgstr "Levantando erros em uma função de retorno" #: ../../library/optparse.rst:1676 msgid "" @@ -2074,34 +2714,45 @@ 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:1686 msgid "Callback example 1: trivial callback" -msgstr "" +msgstr "Exemplo de função de retorno 1: retorno de chamada trivial" #: ../../library/optparse.rst:1688 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:1696 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:1702 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:1704 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:1719 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:1721 msgid "" @@ -2112,7 +2763,7 @@ msgstr "" #: ../../library/optparse.rst:1738 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:1740 msgid "" @@ -2121,15 +2772,21 @@ msgid "" "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:1753 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:1759 msgid "Callback example 5: fixed arguments" -msgstr "" +msgstr "Exemplo de função de retorno 5: argumentos fixos" #: ../../library/optparse.rst:1761 msgid "" @@ -2140,11 +2797,18 @@ msgid "" "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:1768 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:1777 msgid "" @@ -2152,10 +2816,14 @@ msgid "" "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:1785 msgid "Callback example 6: variable arguments" -msgstr "" +msgstr "Exemplo de função de retorno 6: argumentos variáveis" #: ../../library/optparse.rst:1787 msgid "" @@ -2166,22 +2834,34 @@ msgid "" "`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:1794 msgid "either ``--`` or ``-`` can be option arguments" -msgstr "" +msgstr "``--`` ou ``-`` podem ser argumentos de opção" #: ../../library/optparse.rst:1796 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:1799 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:1802 msgid "" @@ -2191,16 +2871,23 @@ 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:1808 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:1842 msgid "Extending :mod:`optparse`" -msgstr "" +msgstr "Estendendo :mod:`optparse`" #: ../../library/optparse.rst:1844 msgid "" @@ -2208,10 +2895,13 @@ msgid "" "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:1852 msgid "Adding new types" -msgstr "" +msgstr "Adicionando novos tipos" #: ../../library/optparse.rst:1854 msgid "" @@ -2220,18 +2910,26 @@ msgid "" "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:1860 msgid "" "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:1865 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:1870 msgid "" @@ -2243,6 +2941,13 @@ 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:1878 msgid "" @@ -2252,6 +2957,11 @@ 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:1884 msgid "" @@ -2260,20 +2970,28 @@ msgid "" "even sillier than it used to be, because :mod:`optparse` 1.3 added built-in " "support for complex numbers, but never mind.)" msgstr "" +"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:1889 msgid "First, the necessary imports::" -msgstr "" +msgstr "Primeiro, as importações necessárias::" #: ../../library/optparse.rst:1894 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:1904 msgid "Finally, the Option subclass::" -msgstr "" +msgstr "Finalmente, a subclasse de Option::" #: ../../library/optparse.rst:1911 msgid "" @@ -2282,6 +3000,10 @@ msgid "" "`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:1916 msgid "" @@ -2289,6 +3011,9 @@ msgid "" "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:1923 msgid "" @@ -2296,20 +3021,25 @@ msgid "" "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:1934 msgid "Adding new actions" -msgstr "" +msgstr "Adicionando novas ações" #: ../../library/optparse.rst:1936 msgid "" "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:1942 msgid "\"store\" actions" -msgstr "" +msgstr "Ações \"store\"" #: ../../library/optparse.rst:1940 msgid "" @@ -2317,10 +3047,13 @@ msgid "" "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:1948 msgid "\"typed\" actions" -msgstr "" +msgstr "Ações \"typed\"" #: ../../library/optparse.rst:1945 msgid "" @@ -2329,32 +3062,42 @@ msgid "" "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:1950 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" -"\"``." +"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:1954 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:1959 msgid "All actions must be listed in ACTIONS." -msgstr "" +msgstr "Todas as ações devem ser listadas em ACTIONS." #: ../../library/optparse.rst:1963 msgid "\"store\" actions are additionally listed here." -msgstr "" +msgstr "As ações \"store\" também são listadas aqui." #: ../../library/optparse.rst:1967 msgid "\"typed\" actions are additionally listed here." -msgstr "" +msgstr "As ações \"typed\" também são listadas aqui." #: ../../library/optparse.rst:1971 msgid "" @@ -2363,12 +3106,18 @@ msgid "" "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:1976 msgid "" "In order to actually implement your new action, you must override Option's :" "meth:`take_action` method and add a case that recognizes your action." msgstr "" +"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:1979 msgid "" @@ -2379,18 +3128,24 @@ 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:1988 msgid "would result in a list ::" -msgstr "" +msgstr "resultaria em uma lista ::" #: ../../library/optparse.rst:1992 msgid "Again we define a subclass of Option::" -msgstr "" +msgstr "Novamente, nós definimos uma subclasse de Option::" #: ../../library/optparse.rst:2009 msgid "Features of note:" -msgstr "" +msgstr "Características de nota:" #: ../../library/optparse.rst:2011 msgid "" @@ -2398,6 +3153,9 @@ msgid "" "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:2015 msgid "" @@ -2405,6 +3163,9 @@ msgid "" "``\"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:2019 msgid "" @@ -2412,6 +3173,9 @@ msgid "" "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:2023 msgid "" @@ -2419,16 +3183,20 @@ msgid "" "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:2029 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 " -"very handy for actions like ``\"extend\"``, ``\"append\"``, and ``\"count" -"\"``, all of which accumulate data in a variable and expect that 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." +"very handy for actions like ``\"extend\"``, ``\"append\"``, and " +"``\"count\"``, all of which accumulate data in a variable and expect that " +"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." msgstr "" diff --git a/library/os.path.po b/library/os.path.po index 9056a887a..9a4343637 100644 --- a/library/os.path.po +++ b/library/os.path.po @@ -1,71 +1,56 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, Python Software 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 -# Sheila Gomes , 2021 -# Marcos Wenneton Araújo , 2021 -# Rafael Fontenelle , 2021 +# python-doc bot, 2025 # #, 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: Rafael Fontenelle , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2026-02-03 17:39+0000\n" +"PO-Revision-Date: 2025-09-22 15:58+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/os.path.rst:2 msgid ":mod:`os.path` --- Common pathname manipulations" -msgstr ":mod:`os.path` --- Manipulações comuns de nome nomes de caminhos" +msgstr ":mod:`os.path` --- Manipulações comuns de nomes de caminhos" #: ../../library/os.path.rst:7 msgid "" "**Source code:** :source:`Lib/posixpath.py` (for POSIX) and :source:`Lib/" -"ntpath.py` (for Windows NT)." +"ntpath.py` (for Windows)." msgstr "" "**Código-fonte:** :source:`Lib/posixpath.py` (para POSIX) e :source:`Lib/" -"ntpath.py` (para Windows NT)." +"ntpath.py` (para Windows)." #: ../../library/os.path.rst:14 msgid "" "This module implements some useful functions on pathnames. To read or write " "files see :func:`open`, and for accessing the filesystem see the :mod:`os` " -"module. The path parameters can be passed as either strings, or bytes. " -"Applications are encouraged to represent file names as (Unicode) character " -"strings. Unfortunately, some file names may not be representable as strings " -"on Unix, so applications that need to support arbitrary file names on Unix " -"should use bytes objects to represent path names. Vice versa, using bytes " -"objects cannot represent all file names on Windows (in the standard ``mbcs`` " -"encoding), hence Windows applications should use string objects to access " -"all files." +"module. The path parameters can be passed as strings, or bytes, or any " +"object implementing the :class:`os.PathLike` protocol." 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. As aplicações são encorajadas a representar " -"nomes de arquivos como strings de caracteres (Unicode). Infelizmente, alguns " -"nomes de arquivo podem não ser representados como strings no Unix, então as " -"aplicações que precisam ter suporte a nomes de arquivo arbitrários no Unix " -"devem usar objetos bytes para representar nomes de caminho. Vice-versa, usar " -"objetos bytes não pode representar todos os nomes de arquivos no Windows (na " -"codificação ``mbcs`` padrão), portanto, as aplicações do Windows devem usar " -"objetos string para acessar todos os arquivos." - -#: ../../library/os.path.rst:25 -msgid "" -"Unlike a unix shell, Python does not do any *automatic* path expansions. " +"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`." + +#: ../../library/os.path.rst:19 +msgid "" +"Unlike a Unix shell, Python does not do any *automatic* path expansions. " "Functions such as :func:`expanduser` and :func:`expandvars` can be invoked " "explicitly when an application desires shell-like path expansion. (See also " "the :mod:`glob` module.)" @@ -75,11 +60,11 @@ msgstr "" "invocadas explicitamente quando uma aplicação deseja uma expansão de caminho " "no estilo do shell. (Veja também o módulo :mod:`glob`.)" -#: ../../library/os.path.rst:32 +#: ../../library/os.path.rst:26 msgid "The :mod:`pathlib` module offers high-level path objects." msgstr "O módulo :mod:`pathlib` oferece objetos de caminho de alto nível." -#: ../../library/os.path.rst:37 +#: ../../library/os.path.rst:31 msgid "" "All of these functions accept either only bytes or only string objects as " "their parameters. The result is an object of the same type, if a path or " @@ -89,7 +74,7 @@ msgstr "" "seus parâmetros. O resultado é um objeto do mesmo tipo, se um caminho ou " "nome de arquivo for retornado." -#: ../../library/os.path.rst:44 +#: ../../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:" @@ -107,15 +92,15 @@ msgstr "" "módulos individuais se quiser manipular um caminho que esteja *sempre* em um " "dos diferentes formatos. Todos eles têm a mesma interface:" -#: ../../library/os.path.rst:52 +#: ../../library/os.path.rst:45 msgid ":mod:`posixpath` for UNIX-style paths" msgstr ":mod:`posixpath` para caminhos no estilo UNIX" -#: ../../library/os.path.rst:53 +#: ../../library/os.path.rst:46 msgid ":mod:`ntpath` for Windows paths" msgstr ":mod:`ntpath` para caminhos do Windows" -#: ../../library/os.path.rst:58 +#: ../../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 " @@ -127,7 +112,7 @@ msgstr "" "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:66 +#: ../../library/os.path.rst:59 msgid "" "Return a normalized absolutized version of the pathname *path*. On most " "platforms, this is equivalent to calling the function :func:`normpath` as " @@ -137,23 +122,23 @@ msgstr "" "maioria das plataformas, isso é equivalente a chamar a função :func:" "`normpath` da seguinte forma: ``normpath(join(os.getcwd(), path))``." -#: ../../library/os.path.rst:70 ../../library/os.path.rst:83 -#: ../../library/os.path.rst:123 ../../library/os.path.rst:132 -#: ../../library/os.path.rst:148 ../../library/os.path.rst:158 -#: ../../library/os.path.rst:184 ../../library/os.path.rst:204 -#: ../../library/os.path.rst:221 ../../library/os.path.rst:233 -#: ../../library/os.path.rst:242 ../../library/os.path.rst:252 -#: ../../library/os.path.rst:262 ../../library/os.path.rst:272 -#: ../../library/os.path.rst:282 ../../library/os.path.rst:301 -#: ../../library/os.path.rst:331 ../../library/os.path.rst:351 -#: ../../library/os.path.rst:374 ../../library/os.path.rst:396 -#: ../../library/os.path.rst:414 ../../library/os.path.rst:427 -#: ../../library/os.path.rst:443 ../../library/os.path.rst:459 -#: ../../library/os.path.rst:484 ../../library/os.path.rst:510 +#: ../../library/os.path.rst:63 ../../library/os.path.rst:76 +#: ../../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`." -#: ../../library/os.path.rst:76 +#: ../../library/os.path.rst:69 msgid "" "Return the base name of pathname *path*. This is the second element of the " "pair returned by passing *path* to the function :func:`split`. Note that " @@ -167,7 +152,7 @@ msgstr "" "onde :program:`basename` para ``'/foo/bar/'`` retorna ``'bar'``, a função :" "func:`basename` retorna uma string vazia (``''``)." -#: ../../library/os.path.rst:89 +#: ../../library/os.path.rst:82 msgid "" "Return the longest common sub-path of each pathname in the sequence " "*paths*. Raise :exc:`ValueError` if *paths* contain both absolute and " @@ -180,37 +165,34 @@ msgstr "" "*paths* estiverem vazios. Ao contrário de :func:`commonprefix`, retorna um " "caminho válido." -#: ../../library/os.path.rst:96 ../../library/os.path.rst:395 -#: ../../library/os.path.rst:407 ../../library/os.path.rst:423 -#: ../../library/os.path.rst:439 +#: ../../library/os.path.rst:89 ../../library/os.path.rst:416 +#: ../../library/os.path.rst:428 ../../library/os.path.rst:444 +#: ../../library/os.path.rst:460 msgid ":ref:`Availability `: Unix, Windows." -msgstr ":ref:`Disponibilidade`: Unix, Windows." +msgstr ":ref:`Disponibilidade `: Unix, Windows." -#: ../../library/os.path.rst:99 +#: ../../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:105 +#: ../../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:111 +#: ../../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:129 +#: ../../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`." @@ -218,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:138 +#: ../../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 " @@ -232,7 +214,7 @@ msgstr "" "for concedida para executar :func:`os.stat` no arquivo solicitado, mesmo se " "o *path* existir fisicamente." -#: ../../library/os.path.rst:144 +#: ../../library/os.path.rst:139 msgid "" "*path* can now be an integer: ``True`` is returned if it is an open file " "descriptor, ``False`` otherwise." @@ -240,7 +222,7 @@ msgstr "" "*path* agora pode ser um inteiro: ``True`` é retornado se for um descritor " "de arquivo aberto, ``False`` caso contrário." -#: ../../library/os.path.rst:154 +#: ../../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 :" @@ -250,7 +232,7 @@ msgstr "" "``True`` para links simbólicos quebrados. Equivalente a :func:`exists` em " "plataformas sem :func:`os.lstat`." -#: ../../library/os.path.rst:166 +#: ../../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." @@ -258,7 +240,7 @@ 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:171 +#: ../../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 " @@ -270,7 +252,7 @@ msgstr "" "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:176 +#: ../../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 " @@ -284,7 +266,7 @@ msgstr "" "home do usuário atual corresponde a :envvar:`USERNAME`, e substituindo-o se " "for o caso." -#: ../../library/os.path.rst:181 +#: ../../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." @@ -292,11 +274,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:187 +#: ../../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:196 +#: ../../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 " @@ -308,15 +290,15 @@ msgstr "" "ambiente *name*. Nomes de variáveis malformados e referências a variáveis " "não existentes permanecem inalterados." -#: ../../library/os.path.rst:201 +#: ../../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:210 +#: ../../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:" @@ -328,7 +310,7 @@ msgstr "" "mod:`time`). Levanta :exc:`OSError` se o arquivo não existe ou está " "inacessível." -#: ../../library/os.path.rst:217 +#: ../../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 " @@ -340,7 +322,7 @@ msgstr "" "o módulo :mod:`time`). Levanta :exc:`OSError` se o arquivo não existe ou " "está inacessível." -#: ../../library/os.path.rst:227 +#: ../../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 " @@ -354,7 +336,7 @@ msgstr "" "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:239 +#: ../../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." @@ -362,7 +344,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:248 +#: ../../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 " @@ -372,7 +354,7 @@ 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:258 +#: ../../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 " @@ -382,7 +364,7 @@ msgstr "" "`. Isso segue links simbólicos, então :func:`islink` e :func:" "`isfile` podem ser verdadeiros para o mesmo caminho." -#: ../../library/os.path.rst:268 +#: ../../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 " @@ -392,7 +374,7 @@ msgstr "" "segue links simbólicos, então :func:`islink` e :func:`isdir` podem ser " "verdadeiros para o mesmo caminho." -#: ../../library/os.path.rst:278 +#: ../../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 " @@ -402,7 +384,7 @@ msgstr "" "`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:288 +#: ../../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 " @@ -426,49 +408,51 @@ msgstr "" "caminho, ``GetVolumePathName`` é chamado para ver se é diferente do caminho " "de entrada." -#: ../../library/os.path.rst:298 +#: ../../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:307 +#: ../../library/os.path.rst:302 msgid "" -"Join one or more path components intelligently. The return value is the " -"concatenation of *path* and any members of *\\*paths* with exactly one " -"directory separator following each non-empty part except the last, meaning " -"that the result will only end in a separator if the last part is empty. If " -"a component is an absolute path, all previous components are thrown away and " -"joining continues from the absolute path component." +"Join one or more path segments intelligently. The return value is the " +"concatenation of *path* and all members of *\\*paths*, with exactly one " +"directory separator following each non-empty part, except the last. That is, " +"the result will only end in a separator if the last part is either empty or " +"ends in a separator. If a segment is an absolute path (which on Windows " +"requires both a drive and a root), then all previous segments are ignored " +"and joining continues from the absolute path segment." msgstr "" -"Junta um ou mais componentes do caminho de forma inteligente. O valor de " -"retorno é a concatenação de *path* e qualquer membro de *\\*paths* com " +"Junta um ou mais segmentos do caminho de forma inteligente. O valor de " +"retorno é a concatenação de *path* e todos os membros de *\\*paths* com " "exatamente um separador de diretório seguindo cada parte não vazia exceto a " -"última, o que significa que o resultado só terminará em um separador se a " -"última parte estiver vazia. Se um componente for um caminho absoluto, todos " -"os componentes anteriores serão descartados e a união continuará a partir do " -"componente do caminho absoluto." - -#: ../../library/os.path.rst:314 -msgid "" -"On Windows, the drive letter is not reset when an absolute path component (e." -"g., ``r'\\foo'``) is encountered. If a component contains a drive letter, " -"all previous components are thrown away and the drive letter 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`." -msgstr "" -"No Windows, a letra da unidade não é redefinida quando um componente de " -"caminho absoluto (por exemplo, ``r'\\foo'``) é encontrado. Se um componente " -"contiver uma letra de unidade, todos os componentes anteriores serão " -"descartados e a letra da unidade será redefinida. Observe que, como há um " +"última. Significa que o resultado só terminará em um separador se a última " +"parte estiver vazia ou terminar em um separador. Se um segmento for um " +"caminho absoluto (que no Windows requer a unidade/drive e uma raiz), todos " +"os segmentos anteriores serão ignorados e a união continuará a partir do " +"segmento do caminho absoluto." + +#: ../../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`." +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`." -#: ../../library/os.path.rst:321 +#: ../../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:327 +#: ../../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. " @@ -479,7 +463,7 @@ msgstr "" "também converte barras normais em barras invertidas. Em outros sistemas " "operacionais, retorna o caminho inalterado." -#: ../../library/os.path.rst:337 +#: ../../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 " @@ -494,23 +478,23 @@ msgstr "" "normais em barras invertidas. Para normalizar o estado de letras maiúsculas/" "minúsculas, use :func:`normcase`." -#: ../../library/os.path.rst:344 +#: ../../library/os.path.rst:340 msgid "" "On POSIX systems, in accordance with `IEEE Std 1003.1 2013 Edition; 4.13 " -"Pathname Resolution `_, if a pathname begins with exactly two " "slashes, the first component following the leading characters may be " "interpreted in an implementation-defined manner, although more than two " "leading characters shall be treated as a single character." msgstr "" "Em sistemas POSIX, de acordo com `IEEE Std 1003.1 2013 Edition; 4.13 " -"Pathname Resolution `_, se um nome de caminho começa com " "exatamente duas barras, o primeiro componente após os caracteres iniciais " "pode ser interpretado em um forma definida pela implementação, embora mais " "de dois caracteres iniciais devam ser tratados como um único caractere." -#: ../../library/os.path.rst:357 +#: ../../library/os.path.rst:353 msgid "" "Return the canonical path of the specified filename, eliminating any " "symbolic links encountered in the path (if they are supported by the " @@ -520,29 +504,67 @@ msgstr "" "quaisquer links simbólicos encontrados no caminho (se esses forem suportados " "pelo sistema operacional)." +#: ../../library/os.path.rst:357 +msgid "" +"By default, the path is evaluated up to the first component that does not " +"exist, is a symlink loop, or whose evaluation raises :exc:`OSError`. All " +"such components are appended unchanged to the existing part of the path." +msgstr "" +"Por padrão, o caminho é avaliado até o primeiro componente que não existe, é " +"um laço de link simbólico ou cuja avaliação levanta :exc:`OSError`. Todos " +"esses componentes são anexados inalterados à parte existente do caminho." + #: ../../library/os.path.rst:361 msgid "" -"If a path doesn't exist or a symlink loop is encountered, and *strict* is " -"``True``, :exc:`OSError` is raised. If *strict* is ``False``, the path is " -"resolved as far as possible and any remainder is appended without checking " -"whether it exists." +"Some errors that are handled this way include \"access denied\", \"not a " +"directory\", or \"bad argument to internal function\". Thus, the resulting " +"path may be missing or inaccessible, may still contain links or loops, and " +"may traverse non-directories." msgstr "" -"Se um caminho não existe ou um loop de link simbólico é encontrado, e " -"*strict* é ``True``, :exc:`OSError` é levantada. Se *strict* for ``False``, " -"o caminho será resolvido tanto quanto possível e qualquer resto é anexado " -"sem verificar se existe." +"Alguns erros tratados dessa forma incluem \"acesso negado\", \"não é um " +"diretório\" ou \"argumento inválido para função interna\". Assim, o caminho " +"resultante pode estar ausente ou inacessível, ainda pode conter links ou " +"laços e pode passar por diretórios não especificados." + +#: ../../library/os.path.rst:366 +msgid "This behavior can be modified by keyword arguments:" +msgstr "Esse comportamento pode ser modificado por argumentos nomeados:" -#: ../../library/os.path.rst:367 +#: ../../library/os.path.rst:368 +msgid "" +"If *strict* is ``True``, the first error encountered when evaluating the " +"path is re-raised. In particular, :exc:`FileNotFoundError` is raised if " +"*path* does not exist, or another :exc:`OSError` if it is otherwise " +"inaccessible." +msgstr "" +"Se *strict* for ``True``, o primeiro erro encontrado ao avaliar o caminho " +"será levantado novamente. Em particular, :exc:`FileNotFoundError` é " +"levantada se *path* não existir, ou outro :exc:`OSError` se ele estiver " +"inacessível." + +#: ../../library/os.path.rst:373 +msgid "" +"If *strict* is :py:data:`os.path.ALLOW_MISSING`, errors other than :exc:" +"`FileNotFoundError` are re-raised (as with ``strict=True``). Thus, the " +"returned path will not contain any symbolic links, but the named file and " +"some of its parent directories may be missing." +msgstr "" +"Se *strict* for :py:data:`os.path.ALLOW_MISSING`, erros diferentes de :exc:" +"`FileNotFoundError` serão levantados novamente (como em ``strict=True``). " +"Portanto, o caminho retornado não conterá nenhum link simbólico, mas o " +"arquivo nomeado e alguns de seus diretórios pais podem estar ausentes." + +#: ../../library/os.path.rst:379 msgid "" "This function emulates the operating system's procedure for making a path " "canonical, which differs slightly between Windows and UNIX with respect to " "how links and subsequent path components interact." msgstr "" "Esta função emula o procedimento do sistema operacional para tornar um " -"caminho canônico, que difere ligeiramente entre o Windows e o UNIX no que " -"diz respeito à interação dos links e dos componentes do caminho subsequentes." +"caminho canônico, que difere ligeiramente entre o Windows e o UNIX em " +"relação a como links e componentes de caminho subsequentes interagem." -#: ../../library/os.path.rst:371 +#: ../../library/os.path.rst:383 msgid "" "Operating system APIs make paths canonical as needed, so it's not normally " "necessary to call this function." @@ -550,15 +572,27 @@ msgstr "" "As APIs do sistema operacional tornam os caminhos canônicos conforme " "necessário, portanto, normalmente não é necessário chamar esta função." -#: ../../library/os.path.rst:377 +#: ../../library/os.path.rst:389 msgid "Symbolic links and junctions are now resolved on Windows." msgstr "Links simbólicos e junções agora são resolvidos no Windows." -#: ../../library/os.path.rst:380 +#: ../../library/os.path.rst:392 msgid "The *strict* parameter was added." -msgstr "O parâmetro *script* foi adicionado." +msgstr "O parâmetro *strict* foi adicionado." + +#: ../../library/os.path.rst:395 +msgid "" +"The :py:data:`~os.path.ALLOW_MISSING` value for the *strict* parameter was " +"added." +msgstr "" +"O valor :py:data:`~os.path.ALLOW_MISSING` para o parâmetro *strict* foi " +"adicionado." + +#: ../../library/os.path.rst:401 +msgid "Special value used for the *strict* argument in :func:`realpath`." +msgstr "Valor especial usado para o argumento *strict* em :func:`realpath`." -#: ../../library/os.path.rst:386 +#: ../../library/os.path.rst:407 msgid "" "Return a relative filepath to *path* either from the current directory or " "from an optional *start* directory. This is a path computation: the " @@ -572,11 +606,11 @@ msgstr "" "*start*. No Windows, :exc:`ValueError` é levantada quando *path* e *start* " "estão em unidades diferentes." -#: ../../library/os.path.rst:392 +#: ../../library/os.path.rst:413 msgid "*start* defaults to :attr:`os.curdir`." msgstr "*start* tem como padrão :attr:`os.curdir`." -#: ../../library/os.path.rst:402 +#: ../../library/os.path.rst:423 msgid "" "Return ``True`` if both pathname arguments refer to the same file or " "directory. This is determined by the device number and i-node number and " @@ -587,17 +621,17 @@ msgstr "" "número do nó-i e levanta uma exceção se uma chamada :func:`os.stat` em " "qualquer um dos caminhos falhar." -#: ../../library/os.path.rst:408 ../../library/os.path.rst:424 -#: ../../library/os.path.rst:440 +#: ../../library/os.path.rst:429 ../../library/os.path.rst:445 +#: ../../library/os.path.rst:461 msgid "Added Windows support." msgstr "Adicionado suporte ao Windows." -#: ../../library/os.path.rst:411 +#: ../../library/os.path.rst:432 msgid "Windows now uses the same implementation as all other platforms." msgstr "" "O Windows agora usa a mesma implementação que todas as outras plataformas." -#: ../../library/os.path.rst:420 +#: ../../library/os.path.rst:441 msgid "" "Return ``True`` if the file descriptors *fp1* and *fp2* refer to the same " "file." @@ -605,7 +639,7 @@ msgstr "" "Retorna ``True`` se os descritores de arquivo *fp1* e *fp2* fazem referência " "ao mesmo arquivo." -#: ../../library/os.path.rst:433 +#: ../../library/os.path.rst:454 msgid "" "Return ``True`` if the stat tuples *stat1* and *stat2* refer to the same " "file. These structures may have been returned by :func:`os.fstat`, :func:`os." @@ -617,7 +651,7 @@ msgstr "" "func:`os.fstat`, :func:`os.lstat` ou :func:`os.stat`. Esta função implementa " "a comparação subjacente usada por :func:`samefile` e :func:`sameopenfile`." -#: ../../library/os.path.rst:449 +#: ../../library/os.path.rst:470 msgid "" "Split the pathname *path* into a pair, ``(head, tail)`` where *tail* is the " "last pathname component and *head* is everything leading up to that. The " @@ -639,7 +673,7 @@ msgstr "" "local que *path* (mas as strings podem ser diferentes). Veja também as " "funções :func:`dirname` e :func:`basename`." -#: ../../library/os.path.rst:465 +#: ../../library/os.path.rst:486 msgid "" "Split the pathname *path* into a pair ``(drive, tail)`` where *drive* is " "either a mount point or the empty string. On systems which do not use drive " @@ -651,14 +685,14 @@ msgstr "" "especificações de unidade, *unidade* sempre será a string vazia. Em todos os " "casos, ``unidade + rabo`` será o mesmo que *path*." -#: ../../library/os.path.rst:470 +#: ../../library/os.path.rst:491 msgid "" "On Windows, splits a pathname into drive/UNC sharepoint and relative path." msgstr "" "No Windows, divide um nome de caminho em unidade/ponto de compartilhamento " "UNC e caminho relativo." -#: ../../library/os.path.rst:472 +#: ../../library/os.path.rst:493 msgid "" "If the path contains a drive letter, drive will contain everything up to and " "including the colon::" @@ -666,7 +700,7 @@ msgstr "" "Se o caminho contiver uma letra de unidade, a unidade conterá tudo, " "incluindo os dois pontos::" -#: ../../library/os.path.rst:478 +#: ../../library/os.path.rst:499 msgid "" "If the path contains a UNC path, drive will contain the host name and share, " "up to but not including the fourth separator::" @@ -674,7 +708,7 @@ msgstr "" "Se o caminho contiver um caminho UNC, a unidade conterá o nome do host e o " "compartilhamento, até mas não incluindo o quarto separador::" -#: ../../library/os.path.rst:490 +#: ../../library/os.path.rst:511 msgid "" "Split the pathname *path* into a pair ``(root, ext)`` such that ``root + " "ext == path``, and the extension, *ext*, is empty or begins with a period " @@ -684,11 +718,11 @@ msgstr "" "+ ext == path``, e a extensão, *ext*, esteja vazia ou comece com um ponto e " "contenha no máximo um período." -#: ../../library/os.path.rst:494 +#: ../../library/os.path.rst:515 msgid "If the path contains no extension, *ext* will be ``''``::" msgstr "Se o caminho não contiver extensão, *ext* será ``''``::" -#: ../../library/os.path.rst:499 +#: ../../library/os.path.rst:520 msgid "" "If the path contains an extension, then *ext* will be set to this extension, " "including the leading period. Note that previous periods will be ignored::" @@ -697,11 +731,15 @@ msgstr "" "incluindo o ponto inicial. Observe que os períodos anteriores serão " "ignorados::" -#: ../../library/os.path.rst:505 -msgid "Leading periods on the basename are ignored::" -msgstr "Os pontos ao final no nome de base são ignorados::" +#: ../../library/os.path.rst:528 +msgid "" +"Leading periods of the last component of the path are considered to be part " +"of the root::" +msgstr "" +"Os períodos iniciais do último componente do caminho são considerados parte " +"da raiz::" -#: ../../library/os.path.rst:516 +#: ../../library/os.path.rst:542 msgid "" "``True`` if arbitrary Unicode strings can be used as file names (within " "limitations imposed by the file system)." diff --git a/library/os.po b/library/os.po index c4a2422bf..5d87cfd09 100644 --- a/library/os.po +++ b/library/os.po @@ -1,40 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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 -# 01419cbcade949a3bc5433893a160e74, 2021 -# Hildeberto Abreu Magalhães , 2021 -# Sheila Gomes , 2021 -# Claudio Rogerio Carvalho Filho , 2021 -# Italo Penaforte , 2021 -# Vinícius Muniz de Melo , 2021 -# Rafael Biagioni de Fazio , 2021 -# Rodrigo Neres , 2021 -# i17obot , 2021 -# Jayme Tosi Neto , 2021 -# Vitor Buxbaum Orlandi, 2021 -# Eduardo Farias, 2021 -# Adorilson Bezerra , 2021 -# Rafael Fontenelle , 2021 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.10\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-07-27 13:07+0000\n" -"PO-Revision-Date: 2021-06-28 01:10+0000\n" -"Last-Translator: Rafael Fontenelle , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:58+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/os.rst:2 msgid ":mod:`os` --- Miscellaneous operating system interfaces" @@ -58,7 +45,7 @@ msgstr "" "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`." @@ -113,8 +100,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." @@ -207,7 +194,7 @@ msgstr "" #: ../../library/os.rst:92 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:98 msgid "Python UTF-8 Mode" @@ -261,11 +248,11 @@ msgstr "" #: ../../library/os.rst:116 msgid "" -"On Unix, :func:`os.device_encoding` returns ``'UTF-8'``. rather than the " +"On Unix, :func:`os.device_encoding` returns ``'UTF-8'`` rather than the " "device encoding." msgstr "" -"Em sistemas Unix, :func:`os.device_encoding` retorna ``'UTF-8'``, ao invés " -"da codificação do dispositivo." +"Em sistemas Unix, :func:`os.device_encoding` retorna ``'UTF-8'`` ao invés da " +"codificação do dispositivo." #: ../../library/os.rst:119 msgid "" @@ -380,82 +367,84 @@ msgid "" msgstr "" "Retorna o nome do arquivo correspondente ao terminal de controle do processo." -#: ../../library/os.rst:168 ../../library/os.rst:332 ../../library/os.rst:341 -#: ../../library/os.rst:350 ../../library/os.rst:360 ../../library/os.rst:369 -#: ../../library/os.rst:404 ../../library/os.rst:412 ../../library/os.rst:449 -#: ../../library/os.rst:460 ../../library/os.rst:470 ../../library/os.rst:480 -#: ../../library/os.rst:490 ../../library/os.rst:500 ../../library/os.rst:532 -#: ../../library/os.rst:539 ../../library/os.rst:546 ../../library/os.rst:556 -#: ../../library/os.rst:567 ../../library/os.rst:576 ../../library/os.rst:594 -#: ../../library/os.rst:602 ../../library/os.rst:610 ../../library/os.rst:619 -#: ../../library/os.rst:627 ../../library/os.rst:634 ../../library/os.rst:641 -#: ../../library/os.rst:650 ../../library/os.rst:855 ../../library/os.rst:867 -#: ../../library/os.rst:876 ../../library/os.rst:898 ../../library/os.rst:919 -#: ../../library/os.rst:956 ../../library/os.rst:977 ../../library/os.rst:989 -#: ../../library/os.rst:1169 ../../library/os.rst:1184 -#: ../../library/os.rst:1199 ../../library/os.rst:1212 -#: ../../library/os.rst:1281 ../../library/os.rst:1396 -#: ../../library/os.rst:1416 ../../library/os.rst:1428 -#: ../../library/os.rst:1479 ../../library/os.rst:1488 -#: ../../library/os.rst:1496 ../../library/os.rst:1505 -#: ../../library/os.rst:1541 ../../library/os.rst:1789 -#: ../../library/os.rst:1858 ../../library/os.rst:1872 -#: ../../library/os.rst:1885 ../../library/os.rst:1912 -#: ../../library/os.rst:1927 ../../library/os.rst:1940 -#: ../../library/os.rst:2128 ../../library/os.rst:2150 -#: ../../library/os.rst:2194 ../../library/os.rst:2205 -#: ../../library/os.rst:2882 ../../library/os.rst:3036 -#: ../../library/os.rst:3268 ../../library/os.rst:3661 -#: ../../library/os.rst:3669 ../../library/os.rst:3676 -#: ../../library/os.rst:3683 ../../library/os.rst:3690 -#: ../../library/os.rst:3697 ../../library/os.rst:3704 -#: ../../library/os.rst:3711 ../../library/os.rst:3719 -#: ../../library/os.rst:3727 ../../library/os.rst:3734 -#: ../../library/os.rst:3741 ../../library/os.rst:3750 -#: ../../library/os.rst:3758 ../../library/os.rst:3766 -#: ../../library/os.rst:3773 ../../library/os.rst:3780 -#: ../../library/os.rst:3801 ../../library/os.rst:3856 -#: ../../library/os.rst:3863 ../../library/os.rst:3884 -#: ../../library/os.rst:4000 ../../library/os.rst:4048 -#: ../../library/os.rst:4280 ../../library/os.rst:4301 -#: ../../library/os.rst:4312 ../../library/os.rst:4332 -#: ../../library/os.rst:4347 ../../library/os.rst:4402 -#: ../../library/os.rst:4416 ../../library/os.rst:4454 -#: ../../library/os.rst:4470 ../../library/os.rst:4484 -#: ../../library/os.rst:4495 ../../library/os.rst:4507 -#: ../../library/os.rst:4514 ../../library/os.rst:4523 -#: ../../library/os.rst:4532 ../../library/os.rst:4541 -#: ../../library/os.rst:4550 ../../library/os.rst:4696 -#: ../../library/os.rst:4705 ../../library/os.rst:4726 -#: ../../library/os.rst:4736 ../../library/os.rst:4745 +#: ../../library/os.rst:168 ../../library/os.rst:345 ../../library/os.rst:354 +#: ../../library/os.rst:363 ../../library/os.rst:373 ../../library/os.rst:382 +#: ../../library/os.rst:417 ../../library/os.rst:425 ../../library/os.rst:462 +#: ../../library/os.rst:473 ../../library/os.rst:483 ../../library/os.rst:493 +#: ../../library/os.rst:503 ../../library/os.rst:513 ../../library/os.rst:546 +#: ../../library/os.rst:553 ../../library/os.rst:560 ../../library/os.rst:570 +#: ../../library/os.rst:581 ../../library/os.rst:590 ../../library/os.rst:608 +#: ../../library/os.rst:616 ../../library/os.rst:624 ../../library/os.rst:633 +#: ../../library/os.rst:641 ../../library/os.rst:648 ../../library/os.rst:655 +#: ../../library/os.rst:664 ../../library/os.rst:869 ../../library/os.rst:881 +#: ../../library/os.rst:890 ../../library/os.rst:912 ../../library/os.rst:933 +#: ../../library/os.rst:970 ../../library/os.rst:991 ../../library/os.rst:1003 +#: ../../library/os.rst:1183 ../../library/os.rst:1198 +#: ../../library/os.rst:1213 ../../library/os.rst:1226 +#: ../../library/os.rst:1295 ../../library/os.rst:1410 +#: ../../library/os.rst:1430 ../../library/os.rst:1442 +#: ../../library/os.rst:1493 ../../library/os.rst:1502 +#: ../../library/os.rst:1510 ../../library/os.rst:1519 +#: ../../library/os.rst:1555 ../../library/os.rst:1803 +#: ../../library/os.rst:1872 ../../library/os.rst:1886 +#: ../../library/os.rst:1899 ../../library/os.rst:1926 +#: ../../library/os.rst:1941 ../../library/os.rst:1954 +#: ../../library/os.rst:2150 ../../library/os.rst:2172 +#: ../../library/os.rst:2216 ../../library/os.rst:2227 +#: ../../library/os.rst:2906 ../../library/os.rst:3060 +#: ../../library/os.rst:3293 ../../library/os.rst:3686 +#: ../../library/os.rst:3694 ../../library/os.rst:3701 +#: ../../library/os.rst:3708 ../../library/os.rst:3715 +#: ../../library/os.rst:3722 ../../library/os.rst:3729 +#: ../../library/os.rst:3736 ../../library/os.rst:3744 +#: ../../library/os.rst:3752 ../../library/os.rst:3759 +#: ../../library/os.rst:3766 ../../library/os.rst:3775 +#: ../../library/os.rst:3783 ../../library/os.rst:3791 +#: ../../library/os.rst:3798 ../../library/os.rst:3805 +#: ../../library/os.rst:3826 ../../library/os.rst:3881 +#: ../../library/os.rst:3888 ../../library/os.rst:3909 +#: ../../library/os.rst:4025 ../../library/os.rst:4073 +#: ../../library/os.rst:4305 ../../library/os.rst:4326 +#: ../../library/os.rst:4337 ../../library/os.rst:4357 +#: ../../library/os.rst:4372 ../../library/os.rst:4427 +#: ../../library/os.rst:4441 ../../library/os.rst:4479 +#: ../../library/os.rst:4495 ../../library/os.rst:4509 +#: ../../library/os.rst:4520 ../../library/os.rst:4532 +#: ../../library/os.rst:4539 ../../library/os.rst:4548 +#: ../../library/os.rst:4557 ../../library/os.rst:4566 +#: ../../library/os.rst:4575 ../../library/os.rst:4721 +#: ../../library/os.rst:4730 ../../library/os.rst:4751 +#: ../../library/os.rst:4761 ../../library/os.rst:4770 msgid ":ref:`Availability `: Unix." msgstr ":ref:`Disponibilidade `: Unix." #: ../../library/os.rst:173 msgid "" -"A :term:`mapping` object representing the string environment. For example, " -"``environ['HOME']`` is the pathname of your home directory (on some " -"platforms), and is equivalent to ``getenv(\"HOME\")`` in C." +"A :term:`mapping` object where keys and values are strings that represent " +"the process environment. For example, ``environ['HOME']`` is the pathname " +"of your home directory (on some platforms), and is equivalent to " +"``getenv(\"HOME\")`` in C." msgstr "" -"Um objeto :term:`mapeamento ` representando uma string do " -"ambiente. Por exemplo, ``environ['HOME']`` é o nome do caminho do seu " -"diretório pessoal (em algumas plataformas), e é equivalente a ``getenv(\"HOME" -"\")`` em C." +"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." -#: ../../library/os.rst:177 +#: ../../library/os.rst:178 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 ``os." -"environ``, except for changes made by modifying ``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 " "processamento do arquivo :file:`site.py`. Mudanças no ambiente feitas após " -"esse momento não são refletidas em ``os.environ``, exceto pelas mudanças " -"feitas modificando ``os.environ`` diretamente." +"esse momento não são refletidas em :data:`os.environ`, exceto pelas mudanças " +"feitas modificando :data:`os.environ` diretamente." -#: ../../library/os.rst:182 +#: ../../library/os.rst:183 msgid "" "This mapping may be used to modify the environment as well as query the " "environment. :func:`putenv` will be called automatically when the mapping " @@ -465,7 +454,7 @@ msgstr "" "lo. :func:`putenv` será chamado automaticamente quando o mapeamento for " "modificado." -#: ../../library/os.rst:186 +#: ../../library/os.rst:187 msgid "" "On Unix, keys and values use :func:`sys.getfilesystemencoding` and " "``'surrogateescape'`` error handler. Use :data:`environb` if you would like " @@ -475,15 +464,25 @@ msgstr "" "tratador de erros ``'surrogateescape'``. Use :data:`environb` se quiser usar " "uma codificação diferente." -#: ../../library/os.rst:192 +#: ../../library/os.rst:191 +msgid "" +"On Windows, the keys are converted to uppercase. This also applies when " +"getting, setting, or deleting an item. For example, ``environ['monty'] = " +"'python'`` maps the key ``'MONTY'`` to the value ``'python'``." +msgstr "" +"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'``." + +#: ../../library/os.rst:198 msgid "" -"Calling :func:`putenv` directly does not change ``os.environ``, so it's " -"better to modify ``os.environ``." +"Calling :func:`putenv` directly does not change :data:`os.environ`, so it's " +"better to modify :data:`os.environ`." msgstr "" -"Chamar a função :func:`putenv` diretamente não muda ``os.environ``, por isso " -"é melhor modificar ``os.environ``." +"Chamar a função :func:`putenv` diretamente não muda :data:`os.environ`, por " +"isso é melhor modificar :data:`os.environ`." -#: ../../library/os.rst:197 +#: ../../library/os.rst:203 msgid "" "On some platforms, including FreeBSD and macOS, setting ``environ`` may " "cause memory leaks. Refer to the system documentation for :c:func:`putenv`." @@ -492,38 +491,38 @@ msgstr "" "``environ`` pode causar vazamentos de memória. Consulte a documentação do " "sistema para :c:func:`putenv`." -#: ../../library/os.rst:201 +#: ../../library/os.rst:207 msgid "" "You can delete items in this mapping to unset environment variables. :func:" -"`unsetenv` will be called automatically when an item is deleted from ``os." -"environ``, and when one of the :meth:`pop` or :meth:`clear` methods is " +"`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 ``os.environ``, e quando um dos métodos :meth:`pop` ou :meth:" +"excluído de :data:`os.environ`, e quando um dos métodos :meth:`pop` ou :meth:" "`clear` é chamado." -#: ../../library/os.rst:206 ../../library/os.rst:222 +#: ../../library/os.rst:212 ../../library/os.rst:228 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:212 +#: ../../library/os.rst:218 msgid "" -"Bytes version of :data:`environ`: a :term:`mapping` object representing the " -"environment as byte strings. :data:`environ` and :data:`environb` are " -"synchronized (modify :data:`environb` updates :data:`environ`, and vice " -"versa)." +"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)." msgstr "" "Versão bytes de :data:`environ`: um objeto de :term:`mapeamento ` " -"representando o ambiente como strings byte. :data:`environ` e :data:" -"`environb` são sincronizados (modificar :data:`environb` atualiza :data:" -"`environ`, e vice versa)." +"onde as chaves e valores são objetos :class:`bytes` representando o ambiente " +"do processo. :data:`environ` e :data:`environb` são sincronizados " +"(modificar :data:`environb` atualiza :data:`environ`, e vice versa)." -#: ../../library/os.rst:217 +#: ../../library/os.rst:223 msgid "" ":data:`environb` is only available if :data:`supports_bytes_environ` is " "``True``." @@ -531,24 +530,24 @@ msgstr "" ":data:`environb` está disponível somente se :data:`supports_bytes_environ` " "for ``True``." -#: ../../library/os.rst:231 +#: ../../library/os.rst:237 msgid "These functions are described in :ref:`os-file-dir`." msgstr "Essas funções são descritas em: :ref:`os-file-dir`." -#: ../../library/os.rst:236 +#: ../../library/os.rst:242 msgid "" "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* " -"para :term:`tratador de erros e codificação do sistema de arquivos`; " -"retorna :class:`bytes` inalterados." +"Codifica o *filename* :term:`caminho ou similar ` para :" +"term:`tratador de erros e codificação do sistema de arquivos`; retorna :" +"class:`bytes` inalterados." -#: ../../library/os.rst:240 +#: ../../library/os.rst:246 msgid ":func:`fsdecode` is the reverse function." msgstr ":func:`fsdecode` é a função inversa." -#: ../../library/os.rst:244 ../../library/os.rst:259 +#: ../../library/os.rst:250 ../../library/os.rst:265 msgid "" "Support added to accept objects implementing the :class:`os.PathLike` " "interface." @@ -556,7 +555,7 @@ msgstr "" "Adicionado suporte para aceitar objetos que implementam a interface :class:" "`os.PathLike`." -#: ../../library/os.rst:251 +#: ../../library/os.rst:257 msgid "" "Decode the :term:`path-like ` *filename* from the :term:" "`filesystem encoding and error handler`; return :class:`str` unchanged." @@ -565,16 +564,16 @@ msgstr "" "do :term:`tratador de erros e codificação do sistema de arquivos`; retorna :" "class:`str` inalterada." -#: ../../library/os.rst:255 +#: ../../library/os.rst:261 msgid ":func:`fsencode` is the reverse function." msgstr ":func:`fsencode` é a função inversa." -#: ../../library/os.rst:266 +#: ../../library/os.rst:272 msgid "Return the file system representation of the path." msgstr "" "Retorna a representação do sistema de arquivos do caminho (argumento *path*)." -#: ../../library/os.rst:268 +#: ../../library/os.rst:274 msgid "" "If :class:`str` or :class:`bytes` is passed in, it is returned unchanged. " "Otherwise :meth:`~os.PathLike.__fspath__` is called and its value is " @@ -586,7 +585,7 @@ msgstr "" "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:278 +#: ../../library/os.rst:284 msgid "" "An :term:`abstract base class` for objects representing a file system path, " "e.g. :class:`pathlib.PurePath`." @@ -594,11 +593,11 @@ msgstr "" "Uma :term:`classe base abstrata` para objetos representando um caminho do " "sistema de arquivos, como, por exemplo, :class:`pathlib.PurePath`." -#: ../../library/os.rst:285 +#: ../../library/os.rst:291 msgid "Return the file system path representation of the object." msgstr "Retorna a representação do caminho do sistema de arquivos do objeto." -#: ../../library/os.rst:287 +#: ../../library/os.rst:293 msgid "" "The method should only return a :class:`str` or :class:`bytes` object, with " "the preference being for :class:`str`." @@ -606,15 +605,21 @@ msgstr "" "O método deverá retornar somente objetos :class:`str` ou :class:`bytes`, " "preferencialmente :class:`str`." -#: ../../library/os.rst:293 +#: ../../library/os.rst:299 msgid "" -"Return the value of the environment variable *key* if it exists, or " -"*default* if it doesn't. *key*, *default* and the result are str." +"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." msgstr "" -"Retorna o valor da variável de ambiente *key* se existir, ou *default*, se " -"não. *key*, *default* e o resultado são str." +"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 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:296 +#: ../../library/os.rst:305 msgid "" "On Unix, keys and values are decoded with :func:`sys.getfilesystemencoding` " "and ``'surrogateescape'`` error handler. Use :func:`os.getenvb` if you would " @@ -624,20 +629,26 @@ msgstr "" "getfilesystemencoding` e o o manipulador de erros ``'surrogateescape'``. " "Use :func:`os.getenvb` se quiser usar uma codificação diferente." -#: ../../library/os.rst:300 +#: ../../library/os.rst:309 msgid ":ref:`Availability `: most flavors of Unix, Windows." msgstr "" ":ref:`Disponibilidade `: várias versões de Unix, Windows." -#: ../../library/os.rst:305 +#: ../../library/os.rst:314 msgid "" -"Return the value of the environment variable *key* if it exists, or " -"*default* if it doesn't. *key*, *default* and the result are bytes." +"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." msgstr "" -"Retorna o valor da variável de ambiente *key*, se existir, ou *default*, se " -"não existir. *key*, *default* e o resultado são bytes." +"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 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:308 +#: ../../library/os.rst:321 msgid "" ":func:`getenvb` is only available if :data:`supports_bytes_environ` is " "``True``." @@ -645,11 +656,11 @@ msgstr "" ":func:`getenvb` está disponível somente se :data:`supports_bytes_environ` " "for ``True``." -#: ../../library/os.rst:312 +#: ../../library/os.rst:325 msgid ":ref:`Availability `: most flavors of Unix." msgstr ":ref:`Disponibilidade `: várias versões de Unix." -#: ../../library/os.rst:318 +#: ../../library/os.rst:331 msgid "" "Returns the list of directories that will be searched for a named " "executable, similar to a shell, when launching a process. *env*, when " @@ -661,7 +672,7 @@ msgstr "" "deve ser um dicionário de variáveis de ambiente para procurar o PATH. Por " "padrão, quando *env* é ``None``, :data:`environ` é usado." -#: ../../library/os.rst:329 +#: ../../library/os.rst:342 msgid "" "Return the effective group id of the current process. This corresponds to " "the \"set id\" bit on the file being executed in the current process." @@ -669,15 +680,15 @@ msgstr "" "Retorna o ID do grupo efetivo do processo atual. Isso corresponde ao bit " "\"set id\" no arquivo que está sendo executado no processo atual." -#: ../../library/os.rst:339 +#: ../../library/os.rst:352 msgid "Return the current process's effective user id." msgstr "Retorna o ID de usuário efetivo do processo atual." -#: ../../library/os.rst:348 +#: ../../library/os.rst:361 msgid "Return the real group id of the current process." msgstr "Retorna o ID do grupo real do processo atual." -#: ../../library/os.rst:355 +#: ../../library/os.rst:368 msgid "" "Return list of group ids that *user* belongs to. If *group* is not in the " "list, it is included; typically, *group* is specified as the group ID field " @@ -687,13 +698,13 @@ msgstr "" "estiver na lista, será incluído; normalmente, *group* é especificado como o " "campo de ID do grupo, a partir do registro de senha para *user*." -#: ../../library/os.rst:366 +#: ../../library/os.rst:379 msgid "" "Return list of supplemental group ids associated with the current process." msgstr "" "Retorna a lista de IDs de grupos suplementares associados ao processo atual." -#: ../../library/os.rst:372 +#: ../../library/os.rst:385 msgid "" "On macOS, :func:`getgroups` behavior differs somewhat from other Unix " "platforms. If the Python interpreter was built with a deployment target of :" @@ -723,7 +734,7 @@ msgstr "" "limitado a 16. O valor da constante :const:`MACOSX_DEPLOYMENT_TARGET`, pode " "ser obtido com :func:`sysconfig.get_config_var`." -#: ../../library/os.rst:389 +#: ../../library/os.rst:402 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." @@ -738,17 +749,17 @@ msgstr "" "getpwuid(os.getuid())[0]`` para obter o nome de login do ID do usuário real " "atual." -#: ../../library/os.rst:396 ../../library/os.rst:431 ../../library/os.rst:931 -#: ../../library/os.rst:943 ../../library/os.rst:1145 ../../library/os.rst:1567 -#: ../../library/os.rst:1956 ../../library/os.rst:2228 -#: ../../library/os.rst:3016 ../../library/os.rst:3050 -#: ../../library/os.rst:3628 ../../library/os.rst:4133 -#: ../../library/os.rst:4144 ../../library/os.rst:4238 -#: ../../library/os.rst:4262 +#: ../../library/os.rst:409 ../../library/os.rst:444 ../../library/os.rst:945 +#: ../../library/os.rst:957 ../../library/os.rst:1159 ../../library/os.rst:1581 +#: ../../library/os.rst:1970 ../../library/os.rst:2250 +#: ../../library/os.rst:3040 ../../library/os.rst:3074 +#: ../../library/os.rst:3653 ../../library/os.rst:4158 +#: ../../library/os.rst:4169 ../../library/os.rst:4263 +#: ../../library/os.rst:4287 msgid ":ref:`Availability `: Unix, Windows." -msgstr ":ref:`Disponibilidade`: Unix, Windows." +msgstr ":ref:`Disponibilidade `: Unix, Windows." -#: ../../library/os.rst:401 +#: ../../library/os.rst:414 msgid "" "Return the process group id of the process with process id *pid*. If *pid* " "is 0, the process group id of the current process is returned." @@ -756,29 +767,29 @@ msgstr "" "Retorna o ID do grupo de processo com *pid*. Se *pid* for 0, o ID do grupo " "do processos do processo atual é retornado." -#: ../../library/os.rst:410 +#: ../../library/os.rst:423 msgid "Return the id of the current process group." msgstr "Retorna o ID do grupo do processo atual." -#: ../../library/os.rst:419 +#: ../../library/os.rst:432 msgid "Return the current process id." msgstr "Retorna o ID do processo atual." -#: ../../library/os.rst:426 +#: ../../library/os.rst:439 msgid "" "Return the parent's process id. When the parent process has exited, on Unix " "the id returned is the one of the init process (1), on Windows it is still " "the same id, which may be already reused by another process." msgstr "" "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:432 +#: ../../library/os.rst:445 msgid "Added support for Windows." msgstr "Adicionado suporte para Windows." -#: ../../library/os.rst:440 +#: ../../library/os.rst:453 msgid "" "Get program scheduling priority. The value *which* is one of :const:" "`PRIO_PROCESS`, :const:`PRIO_PGRP`, or :const:`PRIO_USER`, and *who* is " @@ -796,20 +807,20 @@ msgstr "" "(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:457 +#: ../../library/os.rst:470 msgid "" "Parameters for the :func:`getpriority` and :func:`setpriority` functions." msgstr "Parâmetros para as funções :func:`getpriority` e :func:`setpriority`." -#: ../../library/os.rst:466 +#: ../../library/os.rst:479 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:476 +#: ../../library/os.rst:489 msgid "" "Return a tuple (rgid, egid, sgid) denoting the current process's real, " "effective, and saved group ids." @@ -817,11 +828,11 @@ msgstr "" "Retorna uma tupla (rgid, egid, sgid) indicando os IDs de grupos real, " "efetivo e salvo do processo atual." -#: ../../library/os.rst:488 +#: ../../library/os.rst:501 msgid "Return the current process's real user id." msgstr "Retorna o ID de usuário real do processo atual." -#: ../../library/os.rst:495 +#: ../../library/os.rst:508 msgid "" "Call the system initgroups() to initialize the group access list with all of " "the groups of which the specified username is a member, plus the specified " @@ -831,7 +842,7 @@ msgstr "" "com todos os grupos dos quais o nome de usuário especificado é membro, mais " "o ID do grupo especificado." -#: ../../library/os.rst:508 +#: ../../library/os.rst:521 msgid "" "Set the environment variable named *key* to the string *value*. Such " "changes to the environment affect subprocesses started with :func:`os." @@ -841,19 +852,23 @@ msgstr "" "mudanças no ambiente afetam os subprocessos iniciados com :func:`os." "system`, :func:`popen` ou :func:`fork` e :func:`execv`." -#: ../../library/os.rst:512 +#: ../../library/os.rst:525 msgid "" -"Assignments to items in ``os.environ`` are automatically translated into " +"Assignments to items in :data:`os.environ` are automatically translated into " "corresponding calls to :func:`putenv`; however, calls to :func:`putenv` " -"don't update ``os.environ``, so it is actually preferable to assign to items " -"of ``os.environ``." +"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." msgstr "" -"As atribuições para itens em ``os.environ`` são automaticamente convertidas " -"em chamadas correspondentes para :func:`putenv`; no entanto, chamadas para :" -"func:`putenv` não atualizam ``os.environ``, então é realmente preferível " -"atribuir itens a ``os.environ``." +"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." -#: ../../library/os.rst:519 +#: ../../library/os.rst:533 msgid "" "On some platforms, including FreeBSD and macOS, setting ``environ`` may " "cause memory leaks. Refer to the system documentation for :c:func:`putenv`." @@ -862,7 +877,7 @@ msgstr "" "causar vazamentos de memória. Consulte a documentação do sistema para :c:" "func:`putenv`." -#: ../../library/os.rst:522 +#: ../../library/os.rst:536 msgid "" "Raises an :ref:`auditing event ` ``os.putenv`` with arguments " "``key``, ``value``." @@ -870,23 +885,23 @@ msgstr "" "Levanta um :ref:`evento de auditoria ` ``os.putenv`` com os " "argumentos ``key``, ``value``." -#: ../../library/os.rst:524 +#: ../../library/os.rst:538 msgid "The function is now always available." msgstr "A função está agora sempre disponível." -#: ../../library/os.rst:530 +#: ../../library/os.rst:544 msgid "Set the current process's effective group id." msgstr "Define o ID do grupo efetivo do processo atual." -#: ../../library/os.rst:537 +#: ../../library/os.rst:551 msgid "Set the current process's effective user id." msgstr "Define o ID do usuário efetivo do processo atual." -#: ../../library/os.rst:544 +#: ../../library/os.rst:558 msgid "Set the current process' group id." msgstr "Define o ID do grupo do processo atual." -#: ../../library/os.rst:551 +#: ../../library/os.rst:565 msgid "" "Set the list of supplemental group ids associated with the current process " "to *groups*. *groups* must be a sequence, and each element must be an " @@ -898,7 +913,7 @@ msgstr "" "número inteiro identificando um grupo. Esta operação normalmente está " "disponível apenas para o superusuário." -#: ../../library/os.rst:557 +#: ../../library/os.rst:571 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:" @@ -910,7 +925,7 @@ msgstr "" "documentação de :func:`getgroups` para casos em que ele pode não retornar o " "mesmo grupo de listas definido chamando setgroups()." -#: ../../library/os.rst:564 +#: ../../library/os.rst:578 msgid "" "Call the system call :c:func:`setpgrp` or ``setpgrp(0, 0)`` depending on " "which version is implemented (if any). See the Unix manual for the " @@ -920,7 +935,7 @@ msgstr "" "dependendo da versão implementada (se houver). Veja o manual do Unix para a " "semântica." -#: ../../library/os.rst:572 +#: ../../library/os.rst:586 msgid "" "Call the system call :c:func:`setpgid` to set the process group id of the " "process with id *pid* to the process group with id *pgrp*. See the Unix " @@ -930,7 +945,7 @@ msgstr "" "processo com *pid* para o grupo de processos com o id *pgrp*. Veja o manual " "do Unix para a semântica." -#: ../../library/os.rst:583 +#: ../../library/os.rst:597 msgid "" "Set program scheduling priority. The value *which* is one of :const:" "`PRIO_PROCESS`, :const:`PRIO_PGRP`, or :const:`PRIO_USER`, and *who* is " @@ -952,23 +967,23 @@ msgstr "" "valor na faixa de -20 a 19. A prioridade padrão é 0; prioridades menores " "resultam em um agendamento mais favorável." -#: ../../library/os.rst:600 +#: ../../library/os.rst:614 msgid "Set the current process's real and effective group ids." msgstr "Define os IDs de grupo real e efetivo do processo atual." -#: ../../library/os.rst:607 +#: ../../library/os.rst:621 msgid "Set the current process's real, effective, and saved group ids." msgstr "Define os IDs de grupo real, efetivo e salvo do processo atual." -#: ../../library/os.rst:616 +#: ../../library/os.rst:630 msgid "Set the current process's real, effective, and saved user ids." msgstr "Define os IDs de usuário real, efetivo e salvo do processo atual." -#: ../../library/os.rst:625 +#: ../../library/os.rst:639 msgid "Set the current process's real and effective user ids." msgstr "Define os IDs de usuário real e efetivo do processo atual." -#: ../../library/os.rst:632 +#: ../../library/os.rst:646 msgid "" "Call the system call :c:func:`getsid`. See the Unix manual for the " "semantics." @@ -976,7 +991,7 @@ msgstr "" "Executa a chamada de sistema :c:func:`getsid`. Veja o manual do Unix para " "semântica." -#: ../../library/os.rst:639 +#: ../../library/os.rst:653 msgid "" "Call the system call :c:func:`setsid`. See the Unix manual for the " "semantics." @@ -984,11 +999,11 @@ msgstr "" "Executa a chamada de sistema :c:func:`setsid`. Veja o manual do Unix para " "semântica." -#: ../../library/os.rst:648 +#: ../../library/os.rst:662 msgid "Set the current process's user id." msgstr "Define o ID de usuário do processo atual." -#: ../../library/os.rst:656 +#: ../../library/os.rst:670 msgid "" "Return the error message corresponding to the error code in *code*. On " "platforms where :c:func:`strerror` returns ``NULL`` when given an unknown " @@ -998,7 +1013,7 @@ msgstr "" "plataformas em que :c:func:`strerror` retorna ``NULL`` quando recebe um " "número de erro desconhecido, :exc:`ValueError` é levantada." -#: ../../library/os.rst:663 +#: ../../library/os.rst:677 msgid "" "``True`` if the native OS type of the environment is bytes (eg. ``False`` on " "Windows)." @@ -1006,11 +1021,11 @@ msgstr "" "``True`` se o tipo de sistema operacional nativo do ambiente estiver em " "bytes (por exemplo, ``False`` no Windows)." -#: ../../library/os.rst:671 +#: ../../library/os.rst:685 msgid "Set the current numeric umask and return the previous umask." msgstr "Define o umask numérico atual e retorna o umask anterior." -#: ../../library/os.rst:680 +#: ../../library/os.rst:694 msgid "" "Returns information identifying the current operating system. The return " "value is an object with five attributes:" @@ -1018,28 +1033,28 @@ msgstr "" "Retorna informações identificando o sistema operacional atual. O valor " "retornado é um objeto com cinco atributos:" -#: ../../library/os.rst:683 +#: ../../library/os.rst:697 msgid ":attr:`sysname` - operating system name" msgstr ":attr:`sysname` - nome do sistema operacional" -#: ../../library/os.rst:684 +#: ../../library/os.rst:698 msgid ":attr:`nodename` - name of machine on network (implementation-defined)" msgstr "" ":attr:`nodename` - nome da máquina na rede (definido pela implementação)" -#: ../../library/os.rst:685 +#: ../../library/os.rst:699 msgid ":attr:`release` - operating system release" msgstr ":attr:`release` - lançamento do sistema operacional" -#: ../../library/os.rst:686 +#: ../../library/os.rst:700 msgid ":attr:`version` - operating system version" msgstr ":attr:`version` - versão do sistema operacional" -#: ../../library/os.rst:687 +#: ../../library/os.rst:701 msgid ":attr:`machine` - hardware identifier" msgstr ":attr:`machine` - identificador de hardware" -#: ../../library/os.rst:689 +#: ../../library/os.rst:703 msgid "" "For backwards compatibility, this object is also iterable, behaving like a " "five-tuple containing :attr:`sysname`, :attr:`nodename`, :attr:`release`, :" @@ -1049,7 +1064,7 @@ msgstr "" "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:694 +#: ../../library/os.rst:708 msgid "" "Some systems truncate :attr:`nodename` to 8 characters or to the leading " "component; a better way to get the hostname is :func:`socket.gethostname` " @@ -1060,11 +1075,11 @@ msgstr "" "`socket.gethostname` ou até mesmo ``socket.gethostbyaddr(socket." "gethostname())``." -#: ../../library/os.rst:700 +#: ../../library/os.rst:714 msgid ":ref:`Availability `: recent flavors of Unix." msgstr ":ref:`Disponibilidade `: versões recentes de Unix." -#: ../../library/os.rst:701 ../../library/os.rst:4263 +#: ../../library/os.rst:715 ../../library/os.rst:4288 msgid "" "Return type changed from a tuple to a tuple-like object with named " "attributes." @@ -1072,7 +1087,7 @@ msgstr "" "Tipo de retorno foi alterado de uma tupla para um objeto tupla ou similar " "com atributos nomeados." -#: ../../library/os.rst:710 +#: ../../library/os.rst:724 msgid "" "Unset (delete) the environment variable named *key*. Such changes to the " "environment affect subprocesses started with :func:`os.system`, :func:" @@ -1082,19 +1097,19 @@ msgstr "" "ambiente afetam subprocessos iniciados com :func:`os.system`, :func:`popen` " "ou :func:`fork` e :func:`execv`." -#: ../../library/os.rst:714 +#: ../../library/os.rst:728 msgid "" -"Deletion of items in ``os.environ`` is automatically translated into a " +"Deletion of items in :data:`os.environ` is automatically translated into a " "corresponding call to :func:`unsetenv`; however, calls to :func:`unsetenv` " -"don't update ``os.environ``, so it is actually preferable to delete items of " -"``os.environ``." +"don't update :data:`os.environ`, so it is actually preferable to delete " +"items of :data:`os.environ`." msgstr "" -"A exclusão de itens em ``os.environ`` é automaticamente traduzida para uma " -"chamada correspondente a :func:`unsetenv`; no entanto, chamadas a :func:" -"`unsetenv` não atualizam ``os.environ``, por isso, na verdade é preferível " -"excluir itens de ``os.environ``." +"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 é " +"preferível excluir itens de :data:`os.environ`." -#: ../../library/os.rst:719 +#: ../../library/os.rst:733 msgid "" "Raises an :ref:`auditing event ` ``os.unsetenv`` with argument " "``key``." @@ -1102,16 +1117,16 @@ msgstr "" "Levanta um :ref:`evento de auditoria ` ``os.unsetenv`` com o " "argumento ``key``." -#: ../../library/os.rst:721 +#: ../../library/os.rst:735 msgid "The function is now always available and is also available on Windows." msgstr "" "A função está agora sempre disponível e também está disponível no Windows." -#: ../../library/os.rst:728 +#: ../../library/os.rst:742 msgid "File Object Creation" msgstr "Criação de objetos arquivos" -#: ../../library/os.rst:730 +#: ../../library/os.rst:744 msgid "" "These functions create new :term:`file objects `. (See also :" "func:`~os.open` for opening file descriptors.)" @@ -1119,7 +1134,7 @@ msgstr "" "Estas funções criam novos :term:`objetos arquivos `. (Veja " "também :func:`~os.open` para abrir os descritores de arquivos.)" -#: ../../library/os.rst:736 +#: ../../library/os.rst:750 msgid "" "Return an open file object connected to the file descriptor *fd*. This is " "an alias of the :func:`open` built-in function and accepts the same " @@ -1131,18 +1146,18 @@ msgstr "" "argumentos. A única diferença é que o primeiro argumento de :func:`fdopen` " "deve ser sempre um inteiro." -#: ../../library/os.rst:745 +#: ../../library/os.rst:759 msgid "File Descriptor Operations" msgstr "Operações dos descritores de arquivos" -#: ../../library/os.rst:747 +#: ../../library/os.rst:761 msgid "" "These functions operate on I/O streams referenced using file descriptors." msgstr "" "Estas funções operam em fluxos de E/S referenciados usando descritores de " "arquivos." -#: ../../library/os.rst:749 +#: ../../library/os.rst:763 msgid "" "File descriptors are small integers corresponding to a file that has been " "opened by the current process. For example, standard input is usually file " @@ -1159,7 +1174,7 @@ msgstr "" "plataformas UNIX, sockets e pipes também são referenciados como descritores " "de arquivos." -#: ../../library/os.rst:756 +#: ../../library/os.rst:770 msgid "" "The :meth:`~io.IOBase.fileno` method can be used to obtain the file " "descriptor associated with a :term:`file object` when required. Note that " @@ -1171,11 +1186,11 @@ msgstr "" "solicitado. Note-se que usar o descritor de arquivo diretamente ignorará os " "métodos do objeto arquivo, ignorando aspectos como buffer interno de dados." -#: ../../library/os.rst:764 +#: ../../library/os.rst:778 msgid "Close file descriptor *fd*." msgstr "Fecha o descritor de arquivo *fd*." -#: ../../library/os.rst:768 +#: ../../library/os.rst:782 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 " @@ -1187,7 +1202,7 @@ msgstr "" "fechar um \"objeto arquivo\" retornado pela função embutida :func:`open` ou " "por :func:`popen` ou :func:`fdopen`, use seu método :meth:`~io.IOBase.close`." -#: ../../library/os.rst:776 +#: ../../library/os.rst:790 msgid "" "Close all file descriptors from *fd_low* (inclusive) to *fd_high* " "(exclusive), ignoring errors. Equivalent to (but much faster than)::" @@ -1195,7 +1210,7 @@ msgstr "" "Fecha todos os descritores de arquivos de *fd_low* (inclusivo) a *fd_high* " "(exclusivo), ignorando erros. Equivalente a (mas muito mais rápido do que)::" -#: ../../library/os.rst:788 +#: ../../library/os.rst:802 msgid "" "Copy *count* bytes from file descriptor *src*, starting from offset " "*offset_src*, to file descriptor *dst*, starting from offset *offset_dst*. " @@ -1212,7 +1227,7 @@ msgstr "" "uma :exc:`OSError` é levantada com :attr:`~OSError.errno` definido como :" "data:`errno.EXDEV`." -#: ../../library/os.rst:795 ../../library/os.rst:1443 +#: ../../library/os.rst:809 ../../library/os.rst:1457 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 " @@ -1224,7 +1239,7 @@ msgstr "" "alguns sistemas de arquivos poderiam implementar otimizações extras. A cópia " "é feita como se ambos os arquivos estivessem abertos como binários." -#: ../../library/os.rst:800 +#: ../../library/os.rst:814 msgid "" "The return value is the amount of bytes copied. This could be less than the " "amount requested." @@ -1232,13 +1247,13 @@ msgstr "" "O valor de retorno é a quantidade de bytes copiados. Ele pode ser inferior à " "quantidade solicitada." -#: ../../library/os.rst:804 +#: ../../library/os.rst:818 msgid "" ":ref:`Availability `: Linux kernel >= 4.5 or glibc >= 2.27." msgstr "" ":ref:`Disponibilidade `: kernel Linux >= 4.5 ou glibc >= 2.27." -#: ../../library/os.rst:810 +#: ../../library/os.rst:824 msgid "" "Return a string describing the encoding of the device associated with *fd* " "if it is connected to a terminal; else return :const:`None`." @@ -1246,7 +1261,7 @@ msgstr "" "Retorna uma string descrevendo a codificação do dispositivo associado a *fd* " "se estiver conectado a um terminal; senão retorna :const:`None`." -#: ../../library/os.rst:813 +#: ../../library/os.rst:827 msgid "" "On Unix, if the :ref:`Python UTF-8 Mode ` is enabled, return " "``'UTF-8'`` rather than the device encoding." @@ -1254,11 +1269,11 @@ msgstr "" "No Unix, se o :ref:`Modo UTF-8 do Python ` estiver habilitado, " "retorna ``'UTF-8'`` ao invés da codificação do dispositivo." -#: ../../library/os.rst:816 +#: ../../library/os.rst:830 msgid "On Unix, the function now implements the Python UTF-8 Mode." msgstr "No Unix, a função agora implementa o Modo UTF-8 do Python." -#: ../../library/os.rst:822 +#: ../../library/os.rst:836 msgid "" "Return a duplicate of file descriptor *fd*. The new file descriptor is :ref:" "`non-inheritable `." @@ -1266,7 +1281,7 @@ msgstr "" "Retorna uma cópia do descritor de arquivo *fd*. O novo descritor de arquivo " "é :ref:`não-herdável `." -#: ../../library/os.rst:825 +#: ../../library/os.rst:839 msgid "" "On Windows, when duplicating a standard stream (0: stdin, 1: stdout, 2: " "stderr), the new file descriptor is :ref:`inheritable `." @@ -1274,31 +1289,32 @@ msgstr "" "No Windows, ao duplicar um fluxo padrão (0: stdin, 1: stdout, 2: stderr), o " "novo descritor de arquivo é :ref:`herdável `." -#: ../../library/os.rst:829 ../../library/os.rst:1031 +#: ../../library/os.rst:843 ../../library/os.rst:1045 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:835 +#: ../../library/os.rst:849 msgid "" "Duplicate file descriptor *fd* to *fd2*, closing the latter first if " "necessary. Return *fd2*. The new file descriptor is :ref:`inheritable " "` 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:840 +#: ../../library/os.rst:854 msgid "Add the optional *inheritable* parameter." msgstr "Adicionado o parâmetro opcional *inheritable*." -#: ../../library/os.rst:843 +#: ../../library/os.rst:857 msgid "Return *fd2* on success. Previously, ``None`` was always returned." msgstr "" "Retorna *fd2* em caso de sucesso. Anteriormente, retornava sempre ``None``." -#: ../../library/os.rst:849 +#: ../../library/os.rst:863 msgid "" "Change the mode of the file given by *fd* to the numeric *mode*. See the " "docs for :func:`chmod` for possible values of *mode*. As of Python 3.3, " @@ -1308,7 +1324,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:853 ../../library/os.rst:1833 ../../library/os.rst:1924 +#: ../../library/os.rst:867 ../../library/os.rst:1847 ../../library/os.rst:1938 msgid "" "Raises an :ref:`auditing event ` ``os.chmod`` with arguments " "``path``, ``mode``, ``dir_fd``." @@ -1316,18 +1332,18 @@ msgstr "" "Levanta um :ref:`evento de auditoria ` ``os.chmod`` com os " "argumentos ``path``, ``mode``, ``dir_fd``." -#: ../../library/os.rst:860 +#: ../../library/os.rst:874 msgid "" "Change the owner and group id of the file given by *fd* to the numeric *uid* " "and *gid*. To leave one of the ids unchanged, set it to -1. See :func:" "`chown`. As of Python 3.3, this is equivalent to ``os.chown(fd, uid, gid)``." msgstr "" -"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." +"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:865 ../../library/os.rst:1855 ../../library/os.rst:1937 +#: ../../library/os.rst:879 ../../library/os.rst:1869 ../../library/os.rst:1951 msgid "" "Raises an :ref:`auditing event ` ``os.chown`` with arguments " "``path``, ``uid``, ``gid``, ``dir_fd``." @@ -1335,19 +1351,19 @@ msgstr "" "Levanta um :ref:`evento de auditoria ` ``os.chown`` com os " "argumentos ``path``, ``uid``, ``gid``, ``dir_fd``." -#: ../../library/os.rst:872 +#: ../../library/os.rst:886 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:878 +#: ../../library/os.rst:892 msgid "This function is not available on MacOS." msgstr "Esta função não está disponível no MacOS." -#: ../../library/os.rst:883 +#: ../../library/os.rst:897 msgid "" "Return system configuration information relevant to an open file. *name* " "specifies the configuration value to retrieve; it may be a string which is " @@ -1363,27 +1379,27 @@ 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:891 ../../library/os.rst:2185 +#: ../../library/os.rst:905 ../../library/os.rst:2207 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." 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:896 +#: ../../library/os.rst:910 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:903 +#: ../../library/os.rst:917 msgid "" "Get the status of the file descriptor *fd*. Return a :class:`stat_result` " "object." @@ -1391,15 +1407,15 @@ msgstr "" "Captura o estado do descritor de arquivo *fd*. Retorna um objeto :class:" "`stat_result`." -#: ../../library/os.rst:906 +#: ../../library/os.rst:920 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:910 ../../library/os.rst:2021 +#: ../../library/os.rst:924 ../../library/os.rst:2035 msgid "The :func:`.stat` function." msgstr "A função :func:`.stat`." -#: ../../library/os.rst:915 +#: ../../library/os.rst:929 msgid "" "Return information about the filesystem containing the file associated with " "file descriptor *fd*, like :func:`statvfs`. As of Python 3.3, this is " @@ -1409,7 +1425,7 @@ msgstr "" "associado com descritor de arquivo *fd*, como :func:`statvfs`. A partir do " "Python 3.3, isso equivale a ``os.statvfs(fd)``." -#: ../../library/os.rst:924 +#: ../../library/os.rst:938 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` " @@ -1419,7 +1435,7 @@ msgstr "" "isto chama a função nativa :c:func:`fsync`; no Windows, a função de MS :c:" "func:`_commit`." -#: ../../library/os.rst:927 +#: ../../library/os.rst:941 msgid "" "If you're starting with a buffered Python :term:`file object` *f*, first do " "``f.flush()``, and then do ``os.fsync(f.fileno())``, to ensure that all " @@ -1430,7 +1446,7 @@ msgstr "" "fileno())``, para garantir que todos os buffers internos associados com *f* " "sejam gravados no disco." -#: ../../library/os.rst:936 +#: ../../library/os.rst:950 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." @@ -1440,7 +1456,7 @@ msgstr "" "tenha no máximo *length* bytes de tamanho. A partir do Python 3.3, isto é " "equivalente a ``os.truncate(fd, length)``." -#: ../../library/os.rst:940 +#: ../../library/os.rst:954 msgid "" "Raises an :ref:`auditing event ` ``os.truncate`` with arguments " "``fd``, ``length``." @@ -1448,11 +1464,11 @@ msgstr "" "Levanta :ref:`evento de auditoria ` ``os.truncate`` com os " "argumentos ``fd``, ``length``." -#: ../../library/os.rst:944 ../../library/os.rst:3053 +#: ../../library/os.rst:958 ../../library/os.rst:3077 msgid "Added support for Windows" msgstr "Adicionado suporte para o Windows." -#: ../../library/os.rst:950 +#: ../../library/os.rst:964 msgid "" "Get the blocking mode of the file descriptor: ``False`` if the :data:" "`O_NONBLOCK` flag is set, ``True`` if the flag is cleared." @@ -1461,11 +1477,11 @@ msgstr "" "sinalizador :data:`O_NONBLOCK` estiver marcado, ``True`` se o sinalizador " "estiver desmarcado." -#: ../../library/os.rst:953 +#: ../../library/os.rst:967 msgid "See also :func:`set_blocking` and :meth:`socket.socket.setblocking`." msgstr "Veja também :func:`set_blocking` e :meth:`socket.socket.setblocking`." -#: ../../library/os.rst:962 +#: ../../library/os.rst:976 msgid "" "Return ``True`` if the file descriptor *fd* is open and connected to a tty(-" "like) device, else ``False``." @@ -1473,19 +1489,19 @@ msgstr "" "Retorna ``True`` se o descritor de arquivo *fd* estiver aberto e conectado a " "um dispositivo do tipo tty, senão ``False``." -#: ../../library/os.rst:968 +#: ../../library/os.rst:982 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* " "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." +"`F_TEST`. *len* especifica a seção do arquivo para travar." -#: ../../library/os.rst:974 +#: ../../library/os.rst:988 msgid "" "Raises an :ref:`auditing event ` ``os.lockf`` with arguments " "``fd``, ``cmd``, ``len``." @@ -1493,11 +1509,11 @@ msgstr "" "Levanta um :ref:`evento de auditoria ` ``os.lockf`` com os " "argumentos ``fd``, ``cmd``, ``len``." -#: ../../library/os.rst:986 +#: ../../library/os.rst:1000 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:995 +#: ../../library/os.rst:1009 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 " @@ -1513,7 +1529,7 @@ msgstr "" "relação ao final do arquivo. Retorna a nova posição do cursor em bytes, a " "partir do início." -#: ../../library/os.rst:1006 +#: ../../library/os.rst:1020 msgid "" "Parameters to the :func:`lseek` function. Their values are 0, 1, and 2, " "respectively." @@ -1521,7 +1537,7 @@ msgstr "" "Parâmetros para a função :func:`lseek`. Seus valores são respectivamente 0, " "1, e 2." -#: ../../library/os.rst:1009 +#: ../../library/os.rst:1023 msgid "" "Some operating systems could support additional values, like :data:`os." "SEEK_HOLE` or :data:`os.SEEK_DATA`." @@ -1529,20 +1545,20 @@ msgstr "" "Alguns sistemas operacionais podem ter suporte para valores adicionais, " "como :data:`os.SEEK_HOLE` ou :data:`os.SEEK_DATA`." -#: ../../library/os.rst:1016 +#: ../../library/os.rst:1030 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:1021 +#: ../../library/os.rst:1035 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`) " @@ -1550,20 +1566,20 @@ msgid "" "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:1026 +#: ../../library/os.rst:1040 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:1029 +#: ../../library/os.rst:1043 msgid "" "Raises an :ref:`auditing event ` ``open`` with arguments ``path``, " "``mode``, ``flags``." @@ -1571,7 +1587,7 @@ msgstr "" "Levanta um :ref:`evento de auditoria ` ``open`` com os argumentos " "``path``, ``mode``, ``flags``." -#: ../../library/os.rst:1036 +#: ../../library/os.rst:1050 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 :" @@ -1584,14 +1600,14 @@ msgstr "" "Para envolver um descritor de arquivo em um objeto arquivo, use :func:" "`fdopen`." -#: ../../library/os.rst:1041 ../../library/os.rst:2061 -#: ../../library/os.rst:2129 ../../library/os.rst:2151 -#: ../../library/os.rst:2232 ../../library/os.rst:2263 +#: ../../library/os.rst:1055 ../../library/os.rst:2080 +#: ../../library/os.rst:2151 ../../library/os.rst:2173 +#: ../../library/os.rst:2254 ../../library/os.rst:2285 msgid "The *dir_fd* argument." msgstr "O argumento *dir_fd*." -#: ../../library/os.rst:1044 ../../library/os.rst:1363 -#: ../../library/os.rst:1522 ../../library/os.rst:4384 +#: ../../library/os.rst:1058 ../../library/os.rst:1377 +#: ../../library/os.rst:1536 ../../library/os.rst:4409 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 :" @@ -1602,25 +1618,25 @@ msgstr "" "levantar uma exceção :exc:`InterruptedError` (consulte :pep:`475` para " "entender a justificativa)." -#: ../../library/os.rst:1049 ../../library/os.rst:1730 -#: ../../library/os.rst:1762 ../../library/os.rst:1793 -#: ../../library/os.rst:1839 ../../library/os.rst:1873 -#: ../../library/os.rst:1913 ../../library/os.rst:1928 -#: ../../library/os.rst:1941 ../../library/os.rst:2000 -#: ../../library/os.rst:2029 ../../library/os.rst:2064 -#: ../../library/os.rst:2105 ../../library/os.rst:2132 -#: ../../library/os.rst:2154 ../../library/os.rst:2195 -#: ../../library/os.rst:2266 ../../library/os.rst:2285 -#: ../../library/os.rst:2371 ../../library/os.rst:2644 -#: ../../library/os.rst:2895 ../../library/os.rst:3056 -#: ../../library/os.rst:3072 ../../library/os.rst:3112 -#: ../../library/os.rst:3210 ../../library/os.rst:3271 -#: ../../library/os.rst:3454 ../../library/os.rst:3633 -#: ../../library/os.rst:4121 +#: ../../library/os.rst:1063 ../../library/os.rst:1744 +#: ../../library/os.rst:1776 ../../library/os.rst:1807 +#: ../../library/os.rst:1853 ../../library/os.rst:1887 +#: ../../library/os.rst:1927 ../../library/os.rst:1942 +#: ../../library/os.rst:1955 ../../library/os.rst:2014 +#: ../../library/os.rst:2043 ../../library/os.rst:2083 +#: ../../library/os.rst:2127 ../../library/os.rst:2154 +#: ../../library/os.rst:2176 ../../library/os.rst:2217 +#: ../../library/os.rst:2288 ../../library/os.rst:2307 +#: ../../library/os.rst:2395 ../../library/os.rst:2668 +#: ../../library/os.rst:2919 ../../library/os.rst:3080 +#: ../../library/os.rst:3096 ../../library/os.rst:3136 +#: ../../library/os.rst:3235 ../../library/os.rst:3296 +#: ../../library/os.rst:3479 ../../library/os.rst:3658 +#: ../../library/os.rst:4146 msgid "Accepts a :term:`path-like object`." msgstr "Aceita um :term:`objeto caminho ou similar`." -#: ../../library/os.rst:1052 +#: ../../library/os.rst:1066 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 ``|" @@ -1630,33 +1646,33 @@ msgid "" "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 ``|``. " +"`~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 do manual :" +"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:1067 +#: ../../library/os.rst:1081 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:1078 +#: ../../library/os.rst:1092 msgid "The above constants are only available on Unix." msgstr "As constantes acima estão disponíveis apenas no Unix." -#: ../../library/os.rst:1080 +#: ../../library/os.rst:1094 msgid "Add :data:`O_CLOEXEC` constant." msgstr "Adicionada a constante :data:`O_CLOEXEC`." -#: ../../library/os.rst:1091 +#: ../../library/os.rst:1105 msgid "The above constants are only available on Windows." msgstr "As constantes acima estão disponíveis apenas no Windows." -#: ../../library/os.rst:1098 +#: ../../library/os.rst:1112 msgid "The above constants are only available on macOS." msgstr "As constantes acima estão disponíveis apenas no macOS." -#: ../../library/os.rst:1100 +#: ../../library/os.rst:1114 msgid "" "Add :data:`O_EVTONLY`, :data:`O_FSYNC`, :data:`O_SYMLINK` and :data:" "`O_NOFOLLOW_ANY` constants." @@ -1664,7 +1680,7 @@ msgstr "" "Adicionadas as constantes :data:`O_EVTONLY`, :data:`O_FSYNC`, :data:" "`O_SYMLINK` e :data:`O_NOFOLLOW_ANY`." -#: ../../library/os.rst:1114 +#: ../../library/os.rst:1128 msgid "" "The above constants are extensions and not present if they are not defined " "by the C library." @@ -1672,15 +1688,15 @@ 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:1117 +#: ../../library/os.rst:1131 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:1127 +#: ../../library/os.rst:1141 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 " @@ -1689,19 +1705,19 @@ 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:1133 ../../library/os.rst:1159 -#: ../../library/os.rst:3818 +#: ../../library/os.rst:1147 ../../library/os.rst:1173 +#: ../../library/os.rst:3843 msgid ":ref:`Availability `: some flavors of Unix." msgstr ":ref:`Disponibilidade `: algumas versões de Unix." -#: ../../library/os.rst:1134 ../../library/os.rst:1146 +#: ../../library/os.rst:1148 ../../library/os.rst:1160 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:1140 +#: ../../library/os.rst:1154 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-" @@ -1711,7 +1727,7 @@ msgstr "" "w)`` usáveis para leitura e escrita, respectivamente. O novo descritor de " "arquivo é :ref:`não-herdável `." -#: ../../library/os.rst:1152 +#: ../../library/os.rst:1166 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:" @@ -1719,11 +1735,12 @@ msgid "" "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:1165 +#: ../../library/os.rst:1179 msgid "" "Ensures that enough disk space is allocated for the file specified by *fd* " "starting from *offset* and continuing for *len* bytes." @@ -1731,7 +1748,7 @@ 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:1175 +#: ../../library/os.rst:1189 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 " @@ -1749,7 +1766,7 @@ msgstr "" "`POSIX_FADV_NOREUSE`, :data:`POSIX_FADV_WILLNEED` ou :data:" "`POSIX_FADV_DONTNEED`." -#: ../../library/os.rst:1195 +#: ../../library/os.rst:1209 msgid "" "Flags that can be used in *advice* in :func:`posix_fadvise` that specify the " "access pattern that is likely to be used." @@ -1757,7 +1774,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:1205 +#: ../../library/os.rst:1219 msgid "" "Read at most *n* bytes from file descriptor *fd* at a position of *offset*, " "leaving the file offset unchanged." @@ -1765,7 +1782,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:1208 ../../library/os.rst:1352 +#: ../../library/os.rst:1222 ../../library/os.rst:1366 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." @@ -1773,7 +1790,7 @@ 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:1218 +#: ../../library/os.rst:1232 msgid "" "Read from a file descriptor *fd* at a position of *offset* into mutable :" "term:`bytes-like objects ` *buffers*, leaving the file " @@ -1781,12 +1798,12 @@ msgid "" "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:1223 ../../library/os.rst:1293 +#: ../../library/os.rst:1237 ../../library/os.rst:1307 msgid "" "The flags argument contains a bitwise OR of zero or more of the following " "flags:" @@ -1794,15 +1811,15 @@ msgstr "" "O argumento *flags* contém um OR bit a bit de zero ou mais dos seguintes " "sinalizadores:" -#: ../../library/os.rst:1226 +#: ../../library/os.rst:1240 msgid ":data:`RWF_HIPRI`" msgstr ":data:`RWF_HIPRI`" -#: ../../library/os.rst:1227 +#: ../../library/os.rst:1241 msgid ":data:`RWF_NOWAIT`" msgstr ":data:`RWF_NOWAIT`" -#: ../../library/os.rst:1229 ../../library/os.rst:1472 +#: ../../library/os.rst:1243 ../../library/os.rst:1486 msgid "" "Return the total number of bytes actually read which can be less than the " "total capacity of all the objects." @@ -1810,8 +1827,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:1232 ../../library/os.rst:1302 -#: ../../library/os.rst:1475 ../../library/os.rst:1537 +#: ../../library/os.rst:1246 ../../library/os.rst:1316 +#: ../../library/os.rst:1489 ../../library/os.rst:1551 msgid "" "The operating system may set a limit (:func:`sysconf` value " "``'SC_IOV_MAX'``) on the number of buffers that can be used." @@ -1819,11 +1836,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:1235 +#: ../../library/os.rst:1249 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:1240 +#: ../../library/os.rst:1254 msgid "" ":ref:`Availability `: Linux 2.6.30 and newer, FreeBSD 6.0 and " "newer, OpenBSD 2.7 and newer, AIX 7.1 and newer. Using flags requires Linux " @@ -1833,7 +1850,7 @@ msgstr "" "e posterior, OpenBSD 2.7 e posterior, AIX 7.1 ou posterior. O uso de " "sinalizadores requer Linux 4.6 ou posterior." -#: ../../library/os.rst:1246 +#: ../../library/os.rst:1260 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 " @@ -1841,10 +1858,9 @@ 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:1250 +#: ../../library/os.rst:1264 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." @@ -1854,11 +1870,11 @@ msgstr "" "lidos. Se nenhum bytes foi lido, ele retornará ``-1`` e definirá errno como :" "data:`errno.EAGAIN`." -#: ../../library/os.rst:1255 +#: ../../library/os.rst:1269 msgid ":ref:`Availability `: Linux 4.14 and newer." msgstr ":ref:`Disponibilidade `: Linux 4.14 e mais novos." -#: ../../library/os.rst:1261 +#: ../../library/os.rst:1275 msgid "" "High priority read/write. Allows block-based filesystems to use polling of " "the device, which provides lower latency, but may use additional resources." @@ -1867,7 +1883,7 @@ msgstr "" "em blocos para usar a consulta do dispositivo, que fornece latência " "inferior, mas pode usar recursos adicionais." -#: ../../library/os.rst:1265 +#: ../../library/os.rst:1279 msgid "" "Currently, on Linux, this feature is usable only on a file descriptor opened " "using the :data:`O_DIRECT` flag." @@ -1875,11 +1891,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:1269 +#: ../../library/os.rst:1283 msgid ":ref:`Availability `: Linux 4.6 and newer." msgstr ":ref:`Disponibilidade `: Linux 4.6 e mais novos." -#: ../../library/os.rst:1275 +#: ../../library/os.rst:1289 msgid "" "Write the bytestring in *str* to file descriptor *fd* at position of " "*offset*, leaving the file offset unchanged." @@ -1887,11 +1903,11 @@ msgstr "" "Escreve a bytestring in *str* no descritor de arquivo *fd* na posição " "*offset*, mantendo o deslocamento do arquivo inalterado." -#: ../../library/os.rst:1278 ../../library/os.rst:1512 +#: ../../library/os.rst:1292 ../../library/os.rst:1526 msgid "Return the number of bytes actually written." msgstr "Retorna o número de bytes realmente escritos." -#: ../../library/os.rst:1287 +#: ../../library/os.rst:1301 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:" @@ -1906,27 +1922,27 @@ msgstr "" "do primeiro buffer é gravado antes de prosseguir para o segundo, e assim por " "diante." -#: ../../library/os.rst:1296 +#: ../../library/os.rst:1310 msgid ":data:`RWF_DSYNC`" msgstr ":data:`RWF_DSYNC`" -#: ../../library/os.rst:1297 +#: ../../library/os.rst:1311 msgid ":data:`RWF_SYNC`" msgstr ":data:`RWF_SYNC`" -#: ../../library/os.rst:1298 +#: ../../library/os.rst:1312 msgid ":data:`RWF_APPEND`" msgstr ":data:`RWF_APPEND`" -#: ../../library/os.rst:1300 +#: ../../library/os.rst:1314 msgid "Return the total number of bytes actually written." msgstr "Retorna o número total de bytes realmente escritos." -#: ../../library/os.rst:1305 +#: ../../library/os.rst:1319 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:1310 +#: ../../library/os.rst:1324 msgid "" ":ref:`Availability `: Linux 2.6.30 and newer, FreeBSD 6.0 and " "newer, OpenBSD 2.7 and newer, AIX 7.1 and newer. Using flags requires Linux " @@ -1936,29 +1952,29 @@ msgstr "" "e posterior, OpenBSD 2.7 e posterior, AIX 7.1 ou posterior. O uso de " "sinalizadores requer Linux 4.7 ou posterior." -#: ../../library/os.rst:1316 +#: ../../library/os.rst:1330 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:1320 ../../library/os.rst:1330 +#: ../../library/os.rst:1334 ../../library/os.rst:1344 msgid ":ref:`Availability `: Linux 4.7 and newer." msgstr ":ref:`Disponibilidade `: Linux 4.7 e mais novos." -#: ../../library/os.rst:1326 +#: ../../library/os.rst:1340 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:1336 +#: ../../library/os.rst:1350 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 " @@ -1967,22 +1983,22 @@ 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 " +"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:1344 +#: ../../library/os.rst:1358 msgid ":ref:`Availability `: Linux 4.16 and newer." msgstr ":ref:`Disponibilidade `: Linux 4.16 e mais recentes." -#: ../../library/os.rst:1350 +#: ../../library/os.rst:1364 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:1357 +#: ../../library/os.rst:1371 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 " @@ -1996,7 +2012,7 @@ msgstr "" "func:`popen` ou :func:`fdopen`, ou :data:`sys.stdin`, use seus métodos :meth:" "`~file.read` ou :meth:`~file.readline`." -#: ../../library/os.rst:1372 +#: ../../library/os.rst:1386 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 " @@ -2006,15 +2022,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:1376 +#: ../../library/os.rst:1390 msgid "" "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:1379 +#: ../../library/os.rst:1393 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." @@ -2022,7 +2038,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:1382 +#: ../../library/os.rst:1396 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 " @@ -2033,7 +2049,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:1386 +#: ../../library/os.rst:1400 msgid "" "On macOS and FreeBSD, a value of ``0`` for *count* specifies to send until " "the end of *in_fd* is reached." @@ -2041,7 +2057,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:1389 +#: ../../library/os.rst:1403 msgid "" "All platforms support sockets as *out_fd* file descriptor, and some " "platforms allow other types (e.g. regular file, pipe) as well." @@ -2050,7 +2066,7 @@ msgstr "" "*out_fd*, e algumas plataformas permitem outros tipos (por exemplo, arquivo " "regular, encadeamento) também." -#: ../../library/os.rst:1392 +#: ../../library/os.rst:1406 msgid "" "Cross-platform applications should not use *headers*, *trailers* and *flags* " "arguments." @@ -2058,7 +2074,7 @@ msgstr "" "Aplicativos de plataforma cruzada não devem usar os argumentos *headers*, " "*trailers* e *flags*." -#: ../../library/os.rst:1399 +#: ../../library/os.rst:1413 msgid "" "For a higher-level wrapper of :func:`sendfile`, see :meth:`socket.socket." "sendfile`." @@ -2066,11 +2082,11 @@ msgstr "" "Para um invólucro de nível mais alto de :func:`sendfile`, consulte :meth:" "`socket.socket.sendfile`." -#: ../../library/os.rst:1404 +#: ../../library/os.rst:1418 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:1410 +#: ../../library/os.rst:1424 msgid "" "Set the blocking mode of the specified file descriptor. Set the :data:" "`O_NONBLOCK` flag if blocking is ``False``, clear the flag otherwise." @@ -2079,11 +2095,11 @@ msgstr "" "sinalizador :data:`O_NONBLOCK` se blocking for ``False``; do contrário, " "limpa o sinalizador." -#: ../../library/os.rst:1413 +#: ../../library/os.rst:1427 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:1424 +#: ../../library/os.rst:1438 msgid "" "Parameters to the :func:`sendfile` function, if the implementation supports " "them." @@ -2091,7 +2107,7 @@ msgstr "" "Parâmetros para a função :func:`sendfile`, se a implementação tiver suporte " "a eles." -#: ../../library/os.rst:1434 +#: ../../library/os.rst:1448 msgid "" "Transfer *count* bytes from file descriptor *src*, starting from offset " "*offset_src*, to file descriptor *dst*, starting from offset *offset_dst*. " @@ -2112,7 +2128,7 @@ msgstr "" "uma :exc:`OSError` é levantada com :attr:`~OSError.errno` definido para :" "data:`errno.EXDEV`." -#: ../../library/os.rst:1448 +#: ../../library/os.rst:1462 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, " @@ -2120,31 +2136,31 @@ 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:1455 +#: ../../library/os.rst:1469 msgid "" ":ref:`Availability `: Linux kernel >= 2.6.17 and glibc >= 2.5" msgstr "" ":ref:`Disponibilidade `: kernel Linux >= 2.6.17 e glibc >= 2.5" -#: ../../library/os.rst:1467 +#: ../../library/os.rst:1481 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:1485 +#: ../../library/os.rst:1499 msgid "" "Return the process group associated with the terminal given by *fd* (an open " "file descriptor as returned by :func:`os.open`)." @@ -2152,7 +2168,7 @@ 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:1493 +#: ../../library/os.rst:1507 msgid "" "Set the process group associated with the terminal given by *fd* (an open " "file descriptor as returned by :func:`os.open`) to *pg*." @@ -2160,7 +2176,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:1501 +#: ../../library/os.rst:1515 msgid "" "Return a string which specifies the terminal device associated with file " "descriptor *fd*. If *fd* is not associated with a terminal device, an " @@ -2170,11 +2186,11 @@ msgstr "" "descritor de arquivo *fd*. Se *fd* não estiver associado a um dispositivo de " "terminal, uma exceção é levantada." -#: ../../library/os.rst:1510 +#: ../../library/os.rst:1524 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:1516 +#: ../../library/os.rst:1530 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 " @@ -2188,7 +2204,7 @@ msgstr "" "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:1530 +#: ../../library/os.rst:1544 msgid "" "Write the contents of *buffers* to file descriptor *fd*. *buffers* must be a " "sequence of :term:`bytes-like objects `. Buffers are " @@ -2196,19 +2212,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:1535 +#: ../../library/os.rst:1549 msgid "Returns the total number of bytes actually written." msgstr "Retorna o número total de bytes realmente escritos." -#: ../../library/os.rst:1548 +#: ../../library/os.rst:1562 msgid "Querying the size of a terminal" msgstr "Consultando o tamanho de um terminal" -#: ../../library/os.rst:1554 +#: ../../library/os.rst:1568 msgid "" "Return the size of the terminal window as ``(columns, lines)``, tuple of " "type :class:`terminal_size`." @@ -2216,7 +2233,7 @@ msgstr "" "Retorna o tamanho da janela do terminal como ``(columns, lines)``, tupla do " "tipo :class:`terminal_size`." -#: ../../library/os.rst:1557 +#: ../../library/os.rst:1571 msgid "" "The optional argument ``fd`` (default ``STDOUT_FILENO``, or standard output) " "specifies which file descriptor should be queried." @@ -2224,7 +2241,7 @@ 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:1560 +#: ../../library/os.rst:1574 msgid "" "If the file descriptor is not connected to a terminal, an :exc:`OSError` is " "raised." @@ -2232,7 +2249,7 @@ msgstr "" "Se o descritor de arquivo não estiver conectado a um terminal, uma exceção :" "exc:`OSError` é levantada." -#: ../../library/os.rst:1563 +#: ../../library/os.rst:1577 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." @@ -2240,7 +2257,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:1571 +#: ../../library/os.rst:1585 msgid "" "A subclass of tuple, holding ``(columns, lines)`` of the terminal window " "size." @@ -2248,30 +2265,30 @@ msgstr "" "Uma subclasse de tupla, contendo ``(columns, lines)`` do tamanho da janela " "do terminal." -#: ../../library/os.rst:1575 +#: ../../library/os.rst:1589 msgid "Width of the terminal window in characters." msgstr "Largura da janela do terminal em caracteres." -#: ../../library/os.rst:1579 +#: ../../library/os.rst:1593 msgid "Height of the terminal window in characters." msgstr "Altura da janela do terminal em caracteres." -#: ../../library/os.rst:1585 +#: ../../library/os.rst:1599 msgid "Inheritance of File Descriptors" msgstr "Herança de descritores de arquivos" -#: ../../library/os.rst:1589 +#: ../../library/os.rst:1603 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:1593 +#: ../../library/os.rst:1607 msgid "" "On UNIX, non-inheritable file descriptors are closed in child processes at " "the execution of a new program, other file descriptors are inherited." @@ -2280,7 +2297,7 @@ msgstr "" "filho na execução de um novo programa, outros descritores de arquivo são " "herdados." -#: ../../library/os.rst:1596 +#: ../../library/os.rst:1610 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, " @@ -2299,46 +2316,46 @@ msgstr "" "fechados, e os manipuladores herdáveis são herdados apenas se o parâmetro " "*close_fds* for ``False``." -#: ../../library/os.rst:1606 +#: ../../library/os.rst:1620 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:1610 +#: ../../library/os.rst:1624 msgid "Set the \"inheritable\" flag of the specified file descriptor." msgstr "" "Define o sinalizador \"herdável\" do descritor de arquivo especificado." -#: ../../library/os.rst:1614 +#: ../../library/os.rst:1628 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:1616 ../../library/os.rst:1622 -#: ../../library/os.rst:3560 ../../library/os.rst:4156 -#: ../../library/os.rst:4202 +#: ../../library/os.rst:1630 ../../library/os.rst:1636 +#: ../../library/os.rst:3585 ../../library/os.rst:4181 +#: ../../library/os.rst:4227 msgid ":ref:`Availability `: Windows." msgstr ":ref:`Disponibilidade `: Windows." -#: ../../library/os.rst:1620 +#: ../../library/os.rst:1634 msgid "Set the \"inheritable\" flag of the specified handle." msgstr "Define o sinalizador \"herdável\" do manipulador especificado." -#: ../../library/os.rst:1628 +#: ../../library/os.rst:1642 msgid "Files and Directories" msgstr "Arquivos e diretórios" -#: ../../library/os.rst:1630 +#: ../../library/os.rst:1644 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:1635 +#: ../../library/os.rst:1649 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. " @@ -2348,7 +2365,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 " @@ -2356,7 +2373,7 @@ msgstr "" "POSIX, Python irá chamar a variante da função prefixada com ``f`` (por " "exemplo, chamar ``fchdir`` em vez de ``chdir``).)" -#: ../../library/os.rst:1643 +#: ../../library/os.rst:1657 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 " @@ -2368,15 +2385,16 @@ msgstr "" "supports_fd`. Se esta funcionalidade não estiver disponível, usá-la " "levantará uma :exc:`NotImplementedError`." -#: ../../library/os.rst:1648 +#: ../../library/os.rst:1662 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:1653 +#: ../../library/os.rst:1667 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 " @@ -2386,25 +2404,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:1660 +#: ../../library/os.rst:1674 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:1666 +#: ../../library/os.rst:1680 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 " @@ -2412,22 +2430,23 @@ 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:1672 +#: ../../library/os.rst:1686 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:1680 +#: ../../library/os.rst:1694 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 " @@ -2440,23 +2459,23 @@ msgid "" 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." -#: ../../library/os.rst:1689 +#: ../../library/os.rst:1703 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:1692 +#: ../../library/os.rst:1706 msgid "" "If *effective_ids* is ``True``, :func:`access` will perform its access " "checks using the effective uid/gid instead of the real uid/gid. " @@ -2471,7 +2490,7 @@ msgstr "" "supports_effective_ids`. Se não estiver disponível, usá-lo levantará uma :" "exc:`NotImplementedError`." -#: ../../library/os.rst:1700 +#: ../../library/os.rst:1714 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 " @@ -2485,11 +2504,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:1711 +#: ../../library/os.rst:1725 msgid "is better written as::" msgstr "é melhor escrito como::" -#: ../../library/os.rst:1723 +#: ../../library/os.rst:1737 msgid "" "I/O operations may fail even when :func:`access` indicates that they would " "succeed, particularly for operations on network filesystems which may have " @@ -2500,12 +2519,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:1727 +#: ../../library/os.rst:1741 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:1739 +#: ../../library/os.rst:1753 msgid "" "Values to pass as the *mode* parameter of :func:`access` to test the " "existence, readability, writability and executability of *path*, " @@ -2515,20 +2534,20 @@ msgstr "" "testar a existência, legibilidade, capacidade de escrita e executabilidade " "de *path*, respectivamente." -#: ../../library/os.rst:1748 +#: ../../library/os.rst:1762 msgid "Change the current working directory to *path*." msgstr "Altera o diretório de trabalho atual para *path*." -#: ../../library/os.rst:1750 +#: ../../library/os.rst:1764 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:1753 +#: ../../library/os.rst:1767 msgid "" "This function can raise :exc:`OSError` and subclasses such as :exc:" "`FileNotFoundError`, :exc:`PermissionError`, and :exc:`NotADirectoryError`." @@ -2536,7 +2555,7 @@ msgstr "" "Esta função pode levantar :exc:`OSError` e subclasses como :exc:" "`FileNotFoundError`, :exc:`PermissionError` e :exc:`NotADirectoryError`." -#: ../../library/os.rst:1756 ../../library/os.rst:1883 +#: ../../library/os.rst:1770 ../../library/os.rst:1897 msgid "" "Raises an :ref:`auditing event ` ``os.chdir`` with argument " "``path``." @@ -2544,14 +2563,14 @@ msgstr "" "Levanta um :ref:`evento de auditoria ` ``os.chdir`` com o " "argumento ``path``." -#: ../../library/os.rst:1758 +#: ../../library/os.rst:1772 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:1768 +#: ../../library/os.rst:1782 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:" @@ -2561,62 +2580,62 @@ msgstr "" "assumir uma combinação (OU bit a bit) dos seguintes valores (conforme " "definido no módulo :mod:`stat`):" -#: ../../library/os.rst:1771 +#: ../../library/os.rst:1785 msgid ":data:`stat.UF_NODUMP`" msgstr ":data:`stat.UF_NODUMP`" -#: ../../library/os.rst:1772 +#: ../../library/os.rst:1786 msgid ":data:`stat.UF_IMMUTABLE`" msgstr ":data:`stat.UF_IMMUTABLE`" -#: ../../library/os.rst:1773 +#: ../../library/os.rst:1787 msgid ":data:`stat.UF_APPEND`" msgstr ":data:`stat.UF_APPEND`" -#: ../../library/os.rst:1774 +#: ../../library/os.rst:1788 msgid ":data:`stat.UF_OPAQUE`" msgstr ":data:`stat.UF_OPAQUE`" -#: ../../library/os.rst:1775 +#: ../../library/os.rst:1789 msgid ":data:`stat.UF_NOUNLINK`" msgstr ":data:`stat.UF_NOUNLINK`" -#: ../../library/os.rst:1776 +#: ../../library/os.rst:1790 msgid ":data:`stat.UF_COMPRESSED`" msgstr ":data:`stat.UF_COMPRESSED`" -#: ../../library/os.rst:1777 +#: ../../library/os.rst:1791 msgid ":data:`stat.UF_HIDDEN`" msgstr ":data:`stat.UF_HIDDEN`" -#: ../../library/os.rst:1778 +#: ../../library/os.rst:1792 msgid ":data:`stat.SF_ARCHIVED`" msgstr ":data:`stat.SF_ARCHIVED`" -#: ../../library/os.rst:1779 +#: ../../library/os.rst:1793 msgid ":data:`stat.SF_IMMUTABLE`" msgstr ":data:`stat.SF_IMMUTABLE`" -#: ../../library/os.rst:1780 +#: ../../library/os.rst:1794 msgid ":data:`stat.SF_APPEND`" msgstr ":data:`stat.SF_APPEND`" -#: ../../library/os.rst:1781 +#: ../../library/os.rst:1795 msgid ":data:`stat.SF_NOUNLINK`" msgstr ":data:`stat.SF_NOUNLINK`" -#: ../../library/os.rst:1782 +#: ../../library/os.rst:1796 msgid ":data:`stat.SF_SNAPSHOT`" msgstr ":data:`stat.SF_SNAPSHOT`" -#: ../../library/os.rst:1784 +#: ../../library/os.rst:1798 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:1786 ../../library/os.rst:1909 +#: ../../library/os.rst:1800 ../../library/os.rst:1923 msgid "" "Raises an :ref:`auditing event ` ``os.chflags`` with arguments " "``path``, ``flags``." @@ -2624,11 +2643,11 @@ msgstr "" "Levanta um :ref:`evento de auditoria ` ``os.chflags`` com os " "argumentos ``path``, ``flags``." -#: ../../library/os.rst:1790 +#: ../../library/os.rst:1804 msgid "The *follow_symlinks* argument." msgstr "O argumento *follow_symlinks*." -#: ../../library/os.rst:1799 +#: ../../library/os.rst:1813 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 " @@ -2638,105 +2657,105 @@ msgstr "" "seguintes valores (conforme definido no módulo :mod:`stat`) ou combinações " "de OU bit a bit deles:" -#: ../../library/os.rst:1803 +#: ../../library/os.rst:1817 msgid ":data:`stat.S_ISUID`" msgstr ":data:`stat.S_ISUID`" -#: ../../library/os.rst:1804 +#: ../../library/os.rst:1818 msgid ":data:`stat.S_ISGID`" msgstr ":data:`stat.S_ISGID`" -#: ../../library/os.rst:1805 +#: ../../library/os.rst:1819 msgid ":data:`stat.S_ENFMT`" msgstr ":data:`stat.S_ENFMT`" -#: ../../library/os.rst:1806 +#: ../../library/os.rst:1820 msgid ":data:`stat.S_ISVTX`" msgstr ":data:`stat.S_ISVTX`" -#: ../../library/os.rst:1807 +#: ../../library/os.rst:1821 msgid ":data:`stat.S_IREAD`" msgstr ":data:`stat.S_IREAD`" -#: ../../library/os.rst:1808 +#: ../../library/os.rst:1822 msgid ":data:`stat.S_IWRITE`" msgstr ":data:`stat.S_IWRITE`" -#: ../../library/os.rst:1809 +#: ../../library/os.rst:1823 msgid ":data:`stat.S_IEXEC`" msgstr ":data:`stat.S_IEXEC`" -#: ../../library/os.rst:1810 +#: ../../library/os.rst:1824 msgid ":data:`stat.S_IRWXU`" msgstr ":data:`stat.S_IRWXU`" -#: ../../library/os.rst:1811 +#: ../../library/os.rst:1825 msgid ":data:`stat.S_IRUSR`" msgstr ":data:`stat.S_IRUSR`" -#: ../../library/os.rst:1812 +#: ../../library/os.rst:1826 msgid ":data:`stat.S_IWUSR`" msgstr ":data:`stat.S_IWUSR`" -#: ../../library/os.rst:1813 +#: ../../library/os.rst:1827 msgid ":data:`stat.S_IXUSR`" msgstr ":data:`stat.S_IXUSR`" -#: ../../library/os.rst:1814 +#: ../../library/os.rst:1828 msgid ":data:`stat.S_IRWXG`" msgstr ":data:`stat.S_IRWXG`" -#: ../../library/os.rst:1815 +#: ../../library/os.rst:1829 msgid ":data:`stat.S_IRGRP`" msgstr ":data:`stat.S_IRGRP`" -#: ../../library/os.rst:1816 +#: ../../library/os.rst:1830 msgid ":data:`stat.S_IWGRP`" msgstr ":data:`stat.S_IWGRP`" -#: ../../library/os.rst:1817 +#: ../../library/os.rst:1831 msgid ":data:`stat.S_IXGRP`" msgstr ":data:`stat.S_IXGRP`" -#: ../../library/os.rst:1818 +#: ../../library/os.rst:1832 msgid ":data:`stat.S_IRWXO`" msgstr ":data:`stat.S_IRWXO`" -#: ../../library/os.rst:1819 +#: ../../library/os.rst:1833 msgid ":data:`stat.S_IROTH`" msgstr ":data:`stat.S_IROTH`" -#: ../../library/os.rst:1820 +#: ../../library/os.rst:1834 msgid ":data:`stat.S_IWOTH`" msgstr ":data:`stat.S_IWOTH`" -#: ../../library/os.rst:1821 +#: ../../library/os.rst:1835 msgid ":data:`stat.S_IXOTH`" msgstr ":data:`stat.S_IXOTH`" -#: ../../library/os.rst:1823 ../../library/os.rst:1848 -#: ../../library/os.rst:3102 +#: ../../library/os.rst:1837 ../../library/os.rst:1862 +#: ../../library/os.rst:3126 msgid "" "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:1829 +#: ../../library/os.rst:1843 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 " -"``stat.S_IWRITE`` e ``stat.S_IREAD`` ou um valor inteiro correspondente). " -"Todos os outros bits são ignorados." +"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:1835 ../../library/os.rst:1859 +#: ../../library/os.rst:1849 ../../library/os.rst:1873 msgid "" "Added support for specifying *path* as an open file descriptor, and the " "*dir_fd* and *follow_symlinks* arguments." @@ -2744,7 +2763,7 @@ msgstr "" "Adicionado suporte para especificar *path* como um descritor de arquivo " "aberto e os argumentos *dir_fd* e *follow_symlinks*." -#: ../../library/os.rst:1845 +#: ../../library/os.rst:1859 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." @@ -2752,7 +2771,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:1852 +#: ../../library/os.rst:1866 msgid "" "See :func:`shutil.chown` for a higher-level function that accepts names in " "addition to numeric ids." @@ -2760,15 +2779,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:1863 +#: ../../library/os.rst:1877 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:1869 +#: ../../library/os.rst:1883 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:1879 +#: ../../library/os.rst:1893 msgid "" "Change the current working directory to the directory represented by the " "file descriptor *fd*. The descriptor must refer to an opened directory, not " @@ -2779,15 +2798,15 @@ msgstr "" "aberto, não a um arquivo aberto. No Python 3.3, isso é equivalente a ``os." "chdir(fd)``." -#: ../../library/os.rst:1890 +#: ../../library/os.rst:1904 msgid "Return a string representing the current working directory." msgstr "Retorna uma string representando o diretório de trabalho atual." -#: ../../library/os.rst:1895 +#: ../../library/os.rst:1909 msgid "Return a bytestring representing the current working directory." msgstr "Retorna uma bytestring representando o diretório de trabalho atual." -#: ../../library/os.rst:1897 +#: ../../library/os.rst:1911 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 " @@ -2797,7 +2816,7 @@ msgstr "" "código ANSI: consulte a :pep:`529` para a justificativa. A função não está " "mais descontinuada no Windows." -#: ../../library/os.rst:1905 +#: ../../library/os.rst:1919 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." @@ -2807,7 +2826,7 @@ msgstr "" "`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:1919 +#: ../../library/os.rst:1933 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` " @@ -2819,7 +2838,7 @@ msgstr "" "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:1933 +#: ../../library/os.rst:1947 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 " @@ -2829,42 +2848,42 @@ 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:1947 +#: ../../library/os.rst:1961 msgid "Create a hard link pointing to *src* named *dst*." msgstr "Cria um link físico apontando para *src* chamado *dst*." -#: ../../library/os.rst:1949 +#: ../../library/os.rst:1963 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 `." 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:1953 +#: ../../library/os.rst:1967 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:1957 +#: ../../library/os.rst:1971 msgid "Added Windows support." msgstr "Adicionado suporte ao Windows." -#: ../../library/os.rst:1960 +#: ../../library/os.rst:1974 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:1963 ../../library/os.rst:2315 -#: ../../library/os.rst:2352 ../../library/os.rst:3024 +#: ../../library/os.rst:1977 ../../library/os.rst:2339 +#: ../../library/os.rst:2376 ../../library/os.rst:3048 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:1969 +#: ../../library/os.rst:1983 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 " @@ -2878,7 +2897,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:1975 +#: ../../library/os.rst:1989 msgid "" "*path* may be a :term:`path-like object`. If *path* is of type ``bytes`` " "(directly or indirectly through the :class:`PathLike` interface), the " @@ -2890,7 +2909,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:1980 ../../library/os.rst:2400 +#: ../../library/os.rst:1994 ../../library/os.rst:2424 msgid "" "This function can also support :ref:`specifying a file descriptor " "`; the file descriptor must refer to a directory." @@ -2899,7 +2918,7 @@ msgstr "" "arquivo `; o descritor de arquivo deve fazer referência a um " "diretório." -#: ../../library/os.rst:1983 +#: ../../library/os.rst:1997 msgid "" "Raises an :ref:`auditing event ` ``os.listdir`` with argument " "``path``." @@ -2907,13 +2926,13 @@ msgstr "" "Levanta um :ref:`evento de auditoria ` ``os.listdir`` com o " "argumento ``path``." -#: ../../library/os.rst:1986 +#: ../../library/os.rst:2000 msgid "To encode ``str`` filenames to ``bytes``, use :func:`~os.fsencode`." msgstr "" "Para codificar nomes de arquivos ``str`` para ``bytes``, use :func:`~os." "fsencode`." -#: ../../library/os.rst:1990 +#: ../../library/os.rst:2004 msgid "" "The :func:`scandir` function returns directory entries along with file " "attribute information, giving better performance for many common use cases." @@ -2922,17 +2941,17 @@ msgstr "" "de atributo de arquivo, dando melhor desempenho para muitos casos de uso " "comuns." -#: ../../library/os.rst:1994 +#: ../../library/os.rst:2008 msgid "The *path* parameter became optional." msgstr "O parâmetro *path* tornou-se opcional." -#: ../../library/os.rst:1997 ../../library/os.rst:2886 +#: ../../library/os.rst:2011 ../../library/os.rst:2910 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:2006 +#: ../../library/os.rst:2020 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 :" @@ -2942,15 +2961,15 @@ msgstr "" "fornecido. Semelhante a :func:`~os.stat`, mas não segue links simbólicos. " "Retorna um objeto :class:`stat_result`." -#: ../../library/os.rst:2010 +#: ../../library/os.rst:2024 msgid "" "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:2013 +#: ../../library/os.rst:2027 msgid "" "As of Python 3.3, this is equivalent to ``os.stat(path, dir_fd=dir_fd, " "follow_symlinks=False)``." @@ -2958,9 +2977,9 @@ msgstr "" "No Python 3.3, isso é equivalente a ``os.stat(path, dir_fd=dir_fd, " "follow_symlinks=False)``." -#: ../../library/os.rst:2016 ../../library/os.rst:2053 -#: ../../library/os.rst:2118 ../../library/os.rst:2146 -#: ../../library/os.rst:2220 +#: ../../library/os.rst:2030 ../../library/os.rst:2072 +#: ../../library/os.rst:2140 ../../library/os.rst:2168 +#: ../../library/os.rst:2242 msgid "" "This function can also support :ref:`paths relative to directory descriptors " "`." @@ -2968,16 +2987,16 @@ msgstr "" "Esta função também pode ter suporte a :ref:`caminhos relativos a descritores " "de diretório `." -#: ../../library/os.rst:2023 ../../library/os.rst:2229 -#: ../../library/os.rst:3017 +#: ../../library/os.rst:2037 ../../library/os.rst:2251 +#: ../../library/os.rst:3041 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:2026 +#: ../../library/os.rst:2040 msgid "Added the *dir_fd* parameter." msgstr "Adicionado o parâmetro *dir_fd*." -#: ../../library/os.rst:2032 +#: ../../library/os.rst:2046 msgid "" "On Windows, now opens reparse points that represent another path (name " "surrogates), including symbolic links and directory junctions. Other kinds " @@ -2989,15 +3008,21 @@ msgstr "" "Outros tipos de pontos de nova análise são resolvidos pelo sistema " "operacional como para :func:`~os.stat`." -#: ../../library/os.rst:2041 +#: ../../library/os.rst:2055 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:2043 -msgid "If the directory already exists, :exc:`FileExistsError` is raised." -msgstr "Se o diretório já existe, :exc:`FileExistsError` é levantada." +#: ../../library/os.rst:2057 +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." -#: ../../library/os.rst:2047 +#: ../../library/os.rst:2062 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 " @@ -3011,7 +3036,18 @@ 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:2056 +#: ../../library/os.rst:2068 +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:2075 msgid "" "It is also possible to create temporary directories; see the :mod:`tempfile` " "module's :func:`tempfile.mkdtemp` function." @@ -3019,7 +3055,7 @@ msgstr "" "Também é possível criar diretórios temporários; veja a função :func:" "`tempfile.mkdtemp` do módulo :mod:`tempfile`." -#: ../../library/os.rst:2059 ../../library/os.rst:2093 +#: ../../library/os.rst:2078 ../../library/os.rst:2115 msgid "" "Raises an :ref:`auditing event ` ``os.mkdir`` with arguments " "``path``, ``mode``, ``dir_fd``." @@ -3027,20 +3063,24 @@ msgstr "" "Levanta um :ref:`evento de auditoria ` ``os.mkdir`` com os " "argumentos ``path``, ``mode``, ``dir_fd``." -#: ../../library/os.rst:2074 +#: ../../library/os.rst:2086 +msgid "Windows now handles a *mode* of ``0o700``." +msgstr "O Windows agora lida com um *mode* de ``0o700``." + +#: ../../library/os.rst:2096 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:2077 +#: ../../library/os.rst:2099 msgid "" "The *mode* parameter is passed to :func:`mkdir` for creating the leaf " "directory; see :ref:`the mkdir() description ` for how it is " -"interpreted. To set the file permission bits of any newly-created parent " +"interpreted. To set the file permission bits of any newly created parent " "directories you can set the umask before invoking :func:`makedirs`. The " "file permission bits of existing parent directories are not changed." msgstr "" @@ -3051,7 +3091,7 @@ msgstr "" "`makedirs`. Os bits de permissão de arquivo dos diretórios pais existentes " "não são alterados." -#: ../../library/os.rst:2083 +#: ../../library/os.rst:2105 msgid "" "If *exist_ok* is ``False`` (the default), an :exc:`FileExistsError` is " "raised if the target directory already exists." @@ -3059,7 +3099,7 @@ msgstr "" "Se *exist_ok* for ``False`` (o padrão), uma :exc:`FileExistsError` é " "levantada se o diretório alvo já existir." -#: ../../library/os.rst:2088 +#: ../../library/os.rst:2110 msgid "" ":func:`makedirs` will become confused if the path elements to create " "include :data:`pardir` (eg. \"..\" on UNIX systems)." @@ -3067,15 +3107,15 @@ 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:2091 +#: ../../library/os.rst:2113 msgid "This function handles UNC paths correctly." msgstr "Esta função trata os caminhos UNC corretamente." -#: ../../library/os.rst:2095 +#: ../../library/os.rst:2117 msgid "The *exist_ok* parameter." msgstr "O parâmetro *exist_ok*." -#: ../../library/os.rst:2100 +#: ../../library/os.rst:2122 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 " @@ -3088,15 +3128,15 @@ msgstr "" "impossível de implementar com segurança, ele foi removido no Python 3.4.1. " "Consulte :issue:`21082`." -#: ../../library/os.rst:2108 +#: ../../library/os.rst:2130 msgid "" -"The *mode* argument no longer affects the file permission bits of newly-" +"The *mode* argument no longer affects the file permission bits of newly " "created intermediate-level directories." 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:2115 +#: ../../library/os.rst:2137 msgid "" "Create a FIFO (a named pipe) named *path* with numeric mode *mode*. The " "current umask value is first masked out from the mode." @@ -3104,7 +3144,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:2121 +#: ../../library/os.rst:2143 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 " @@ -3120,7 +3160,7 @@ msgstr "" "cliente para escrita. Observe que :func:`mkfifo` não abre o FIFO -- apenas " "cria o ponto de encontro." -#: ../../library/os.rst:2138 +#: ../../library/os.rst:2160 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 " @@ -3138,7 +3178,7 @@ msgstr "" "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:2160 +#: ../../library/os.rst:2182 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`)." @@ -3146,7 +3186,7 @@ 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`)." -#: ../../library/os.rst:2166 +#: ../../library/os.rst:2188 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`)." @@ -3154,13 +3194,13 @@ 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`)." -#: ../../library/os.rst:2172 +#: ../../library/os.rst:2194 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:2177 +#: ../../library/os.rst:2199 msgid "" "Return system configuration information relevant to a named file. *name* " "specifies the configuration value to retrieve; it may be a string which is " @@ -3179,15 +3219,15 @@ 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:2190 ../../library/os.rst:2879 -#: ../../library/os.rst:3045 +#: ../../library/os.rst:2212 ../../library/os.rst:2903 +#: ../../library/os.rst:3069 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:2201 +#: ../../library/os.rst:2223 msgid "" "Dictionary mapping names accepted by :func:`pathconf` and :func:`fpathconf` " "to the integer values defined for those names by the host operating system. " @@ -3198,7 +3238,7 @@ msgstr "" "operacional do host. Isso pode ser usado para determinar o conjunto de nomes " "conhecidos pelo sistema." -#: ../../library/os.rst:2210 +#: ../../library/os.rst:2232 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 " @@ -3210,7 +3250,7 @@ msgstr "" "relativo, pode ser convertido para um caminho absoluto usando ``os.path." "join(os.path.dirname(path), result)``." -#: ../../library/os.rst:2215 +#: ../../library/os.rst:2237 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 " @@ -3219,10 +3259,10 @@ msgid "" 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:2223 +#: ../../library/os.rst:2245 msgid "" "When trying to resolve a path that may contain links, use :func:`~os.path." "realpath` to properly handle recursion and platform differences." @@ -3231,16 +3271,16 @@ msgstr "" "realpath` para lidar corretamente com a recursão e as diferenças de " "plataforma." -#: ../../library/os.rst:2235 +#: ../../library/os.rst:2257 msgid "Accepts a :term:`path-like object` on Unix." msgstr "Aceita um :term:`objeto caminho ou similar` no Unix." -#: ../../library/os.rst:2238 +#: ../../library/os.rst:2260 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:2241 +#: ../../library/os.rst:2263 msgid "" "Added support for directory junctions, and changed to return the " "substitution path (which typically includes ``\\\\?\\`` prefix) rather than " @@ -3250,18 +3290,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:2248 +#: ../../library/os.rst:2270 msgid "" "Remove (delete) the file *path*. If *path* is a directory, an :exc:" -"`IsADirectoryError` is raised. Use :func:`rmdir` to remove directories. If " -"the file does not exist, a :exc:`FileNotFoundError` is raised." +"`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:" -"`IsADirectoryError` é levantada. Use :func:`rmdir` para remover diretórios. " -"Se o arquivo não existir, uma :exc:`FileNotFoundError` é levantada." +"`OSError` é levantada. Use :func:`rmdir` para remover diretórios. Se o " +"arquivo não existir, uma :exc:`FileNotFoundError` é levantada." -#: ../../library/os.rst:2252 ../../library/os.rst:2363 -#: ../../library/os.rst:2999 +#: ../../library/os.rst:2274 ../../library/os.rst:2387 +#: ../../library/os.rst:3023 msgid "" "This function can support :ref:`paths relative to directory descriptors " "`." @@ -3269,7 +3309,7 @@ msgstr "" "Esta função tem suporte a :ref:`caminhos relativos para descritores de " "diretório `." -#: ../../library/os.rst:2255 +#: ../../library/os.rst:2277 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 " @@ -3281,20 +3321,20 @@ msgstr "" "armazenamento alocado para o arquivo não é disponibilizado até que o arquivo " "original não esteja mais em uso." -#: ../../library/os.rst:2259 +#: ../../library/os.rst:2281 msgid "This function is semantically identical to :func:`unlink`." msgstr "Esta função é semanticamente idêntica a :func:`unlink`." -#: ../../library/os.rst:2261 ../../library/os.rst:2283 -#: ../../library/os.rst:3067 +#: ../../library/os.rst:2283 ../../library/os.rst:2305 +#: ../../library/os.rst:3091 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:2274 +#: ../../library/os.rst:2296 msgid "" "Remove directories recursively. Works like :func:`rmdir` except that, if " "the leaf directory is successfully removed, :func:`removedirs` tries to " @@ -3314,29 +3354,35 @@ 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:2291 +#: ../../library/os.rst:2313 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:2294 -msgid "On Windows, if *dst* exists a :exc:`FileExistsError` is always raised." +#: ../../library/os.rst:2316 +msgid "" +"On Windows, if *dst* exists a :exc:`FileExistsError` is always raised. The " +"operation may fail if *src* and *dst* are on different filesystems. Use :" +"func:`shutil.move` to support moves to a different filesystem." msgstr "" -"No Windows, se *dst* existir, uma :exc:`FileExistsError` é sempre levantada." +"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:2296 +#: ../../library/os.rst:2320 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 " "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* it will be replaced silently if the user " -"has permission. The operation may fail on some Unix flavors if *src* and " -"*dst* are on different filesystems. If successful, the renaming will be an " -"atomic operation (this is a POSIX requirement)." +"raised. If both are files, *dst* will be replaced silently if the user has " +"permission. The operation may fail on some Unix flavors if *src* and *dst* " +"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 " @@ -3348,35 +3394,35 @@ msgstr "" "diferentes. Se for bem-sucedido, a renomeação será uma operação atômica " "(este é um requisito POSIX)." -#: ../../library/os.rst:2305 ../../library/os.rst:2345 +#: ../../library/os.rst:2329 ../../library/os.rst:2369 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:2308 +#: ../../library/os.rst:2332 msgid "" "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:2310 ../../library/os.rst:2331 -#: ../../library/os.rst:2348 +#: ../../library/os.rst:2334 ../../library/os.rst:2355 +#: ../../library/os.rst:2372 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:2312 +#: ../../library/os.rst:2336 msgid "The *src_dir_fd* and *dst_dir_fd* arguments." msgstr "Os argumentos *src_dir_fd* e *dst_dir_fd*." -#: ../../library/os.rst:2321 +#: ../../library/os.rst:2345 msgid "" "Recursive directory or file renaming function. Works like :func:`rename`, " "except creation of any intermediate directories needed to make the new " @@ -3384,13 +3430,13 @@ 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:" +"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 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`." +"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:2328 +#: ../../library/os.rst:2352 msgid "" "This function can fail with the new directory structure made if you lack " "permissions needed to remove the leaf directory or file." @@ -3398,26 +3444,26 @@ 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:2333 +#: ../../library/os.rst:2357 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:2339 +#: ../../library/os.rst:2363 msgid "" -"Rename the file or directory *src* to *dst*. If *dst* is a directory, :exc:" -"`OSError` will be raised. If *dst* exists and is a file, it will be " -"replaced silently if the user has permission. The operation may fail if " -"*src* and *dst* are on different filesystems. If successful, the renaming " -"will be an atomic operation (this is a POSIX requirement)." +"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 " +"will be replaced silently if the user has permission. The operation may " +"fail if *src* and *dst* are on different filesystems. If successful, the " +"renaming will be an atomic operation (this is a POSIX requirement)." msgstr "" -"Renomeia o arquivo ou diretório *src* para *dst*. Se *dst* for um " -"diretório, :exc:`OSError` será levantada. Se *dst* existir e for um arquivo, " +"Renomeia o arquivo ou diretório *src* para *dst*. Se *dst* for um diretório " +"não vazio, :exc:`OSError` será levantada. Se *dst* existir e for um arquivo, " "ele será substituído silenciosamente se o usuário tiver permissão. A " "operação pode falhar 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:2358 +#: ../../library/os.rst:2382 msgid "" "Remove (delete) the directory *path*. If the directory does not exist or is " "not empty, an :exc:`FileNotFoundError` or an :exc:`OSError` is raised " @@ -3429,19 +3475,19 @@ msgstr "" "respectivamente. Para remover árvores de diretório inteiras, pode ser usada :" "func:`shutil.rmtree`." -#: ../../library/os.rst:2366 +#: ../../library/os.rst:2390 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``." +"Levanta um :ref:`evento de auditoria ` ``os.rmdir`` com os " +"argumentos ``path``, ``dir_fd``." -#: ../../library/os.rst:2368 ../../library/os.rst:3069 +#: ../../library/os.rst:2392 ../../library/os.rst:3093 msgid "The *dir_fd* parameter." msgstr "O parâmetro *dir_fd*." -#: ../../library/os.rst:2377 +#: ../../library/os.rst:2401 msgid "" "Return an iterator of :class:`os.DirEntry` objects corresponding to the " "entries in the directory given by *path*. The entries are yielded in " @@ -3457,7 +3503,7 @@ msgstr "" "criação do iterador, não é especificado se uma entrada para esse arquivo " "deve ser incluída." -#: ../../library/os.rst:2384 +#: ../../library/os.rst:2408 msgid "" "Using :func:`scandir` instead of :func:`listdir` can significantly increase " "the performance of code that also needs file type or file attribute " @@ -3472,13 +3518,13 @@ msgstr "" "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 " +"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 apenas uma para links simbólicos no Windows." +"sistema no Unix, mas requer uma apenas para links simbólicos no Windows." -#: ../../library/os.rst:2394 +#: ../../library/os.rst:2418 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 " @@ -3488,11 +3534,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:2403 +#: ../../library/os.rst:2427 msgid "" "Raises an :ref:`auditing event ` ``os.scandir`` with argument " "``path``." @@ -3500,19 +3546,19 @@ msgstr "" "Levanta um :ref:`evento de auditoria ` ``os.scandir`` com o " "argumento ``path``." -#: ../../library/os.rst:2405 +#: ../../library/os.rst:2429 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:2410 +#: ../../library/os.rst:2434 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:2412 +#: ../../library/os.rst:2436 msgid "" "This is called automatically when the iterator is exhausted or garbage " "collected, or when an error happens during iterating. However it is " @@ -3522,7 +3568,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:2419 +#: ../../library/os.rst:2443 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 " @@ -3531,49 +3577,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:2431 +#: ../../library/os.rst:2455 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." msgstr "" "Em sistemas baseados no Unix, :func:`scandir` usa o sistema `opendir() " -"`_ e " -"as funções `readdir() `_ e " +"as funções `readdir() `_. No Windows, ela usa os funções `FindFirstFileW " "`_ e `FindNextFileW `_ do Win32." -#: ../../library/os.rst:2443 +#: ../../library/os.rst:2467 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." 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:2449 +#: ../../library/os.rst:2473 msgid "The function accepts a :term:`path-like object`." msgstr "A função aceita um :term:`objeto caminho ou similar`." -#: ../../library/os.rst:2451 +#: ../../library/os.rst:2475 msgid "Added support for :ref:`file descriptors ` on Unix." msgstr "" "Adicionado suporte para :ref:`descritores de arquivo ` no Unix." -#: ../../library/os.rst:2457 +#: ../../library/os.rst:2481 msgid "" "Object yielded by :func:`scandir` to expose the file path and other file " "attributes of a directory entry." @@ -3581,7 +3627,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:2460 +#: ../../library/os.rst:2484 msgid "" ":func:`scandir` will provide as much of this information as possible without " "making additional system calls. When a ``stat()`` or ``lstat()`` system call " @@ -3592,7 +3638,7 @@ msgstr "" "``lstat()`` é feita, o objeto ``os.DirEntry`` irá armazenar o resultado em " "cache." -#: ../../library/os.rst:2464 +#: ../../library/os.rst:2488 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 " @@ -3604,7 +3650,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:2469 +#: ../../library/os.rst:2493 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 " @@ -3616,7 +3662,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:2474 +#: ../../library/os.rst:2498 msgid "" "To be directly usable as a :term:`path-like object`, ``os.DirEntry`` " "implements the :class:`PathLike` interface." @@ -3624,19 +3670,19 @@ msgstr "" "Para ser diretamente utilizável como um :term:`objeto caminho ou similar`, " "``os.DirEntry`` implementa a interface :class:`PathLike`." -#: ../../library/os.rst:2477 +#: ../../library/os.rst:2501 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:2481 +#: ../../library/os.rst:2505 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`." -#: ../../library/os.rst:2484 +#: ../../library/os.rst:2508 msgid "" "The :attr:`name` attribute will be ``bytes`` if the :func:`scandir` *path* " "argument is of type ``bytes`` and ``str`` otherwise. Use :func:`~os." @@ -3646,7 +3692,7 @@ msgstr "" "`scandir` for do tipo ``bytes`` e, caso contrário, ``str``. Usa :func:`~os." "fsdecode` para decodificar nomes de arquivos de bytes." -#: ../../library/os.rst:2490 +#: ../../library/os.rst:2514 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 " @@ -3662,7 +3708,7 @@ msgstr "" "`descritor de arquivo `, o atributo :attr:`path` é o mesmo que o " "atributo :attr:`name`." -#: ../../library/os.rst:2497 +#: ../../library/os.rst:2521 msgid "" "The :attr:`path` attribute will be ``bytes`` if the :func:`scandir` *path* " "argument is of type ``bytes`` and ``str`` otherwise. Use :func:`~os." @@ -3672,11 +3718,11 @@ msgstr "" "`scandir` for do tipo ``bytes`` e, caso contrário, ``str``. Usa :func:`~os." "fsdecode` para decodificar nomes de arquivos de bytes." -#: ../../library/os.rst:2503 +#: ../../library/os.rst:2527 msgid "Return the inode number of the entry." msgstr "Retorna o número de nó-i da entrada." -#: ../../library/os.rst:2505 +#: ../../library/os.rst:2529 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." @@ -3685,7 +3731,7 @@ msgstr "" "stat(entry.path, follow_symlinks=False).st_ino`` para obter informações " "atualizadas." -#: ../../library/os.rst:2509 +#: ../../library/os.rst:2533 msgid "" "On the first, uncached call, a system call is required on Windows but not on " "Unix." @@ -3693,7 +3739,7 @@ msgstr "" "Na primeira chamada sem cache, uma chamada de sistema é necessária no " "Windows, mas não no Unix." -#: ../../library/os.rst:2514 +#: ../../library/os.rst:2538 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 " @@ -3703,7 +3749,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:2518 +#: ../../library/os.rst:2542 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 " @@ -3713,7 +3759,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:2522 +#: ../../library/os.rst:2546 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 " @@ -3723,7 +3769,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:2526 +#: ../../library/os.rst:2550 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 " @@ -3740,7 +3786,7 @@ msgstr "" "sistema será necessária para seguir o link simbólico, a menos que " "*follow_symlinks* seja ``False``." -#: ../../library/os.rst:2533 ../../library/os.rst:2563 +#: ../../library/os.rst:2557 ../../library/os.rst:2587 msgid "" "This method can raise :exc:`OSError`, such as :exc:`PermissionError`, but :" "exc:`FileNotFoundError` is caught and not raised." @@ -3748,7 +3794,7 @@ msgstr "" "Este método pode levantar :exc:`OSError`, tal como :exc:`PermissionError`, " "mas :exc:`FileNotFoundError` é capturada e não levantada." -#: ../../library/os.rst:2538 +#: ../../library/os.rst:2562 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-" @@ -3759,7 +3805,7 @@ msgstr "" "um diretório ou outra entrada que não seja de arquivo, ou se ela não existe " "mais." -#: ../../library/os.rst:2542 +#: ../../library/os.rst:2566 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 " @@ -3770,7 +3816,7 @@ 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:2546 +#: ../../library/os.rst:2570 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`." @@ -3779,7 +3825,7 @@ msgstr "" "sistema em cache feitas e exceções levantadas são conforme :func:`~os." "DirEntry.is_dir`." -#: ../../library/os.rst:2551 +#: ../../library/os.rst:2575 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 " @@ -3789,7 +3835,7 @@ 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:2555 +#: ../../library/os.rst:2579 msgid "" "The result is cached on the ``os.DirEntry`` object. Call :func:`os.path." "islink` to fetch up-to-date information." @@ -3797,7 +3843,7 @@ msgstr "" "O resultado é armazenado em cache no objeto ``os.DirEntry``. Chama :func:`os." "path.islink` para buscar informações atualizadas." -#: ../../library/os.rst:2558 +#: ../../library/os.rst:2582 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 " @@ -3809,7 +3855,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:2568 +#: ../../library/os.rst:2592 msgid "" "Return a :class:`stat_result` object for this entry. This method follows " "symbolic links by default; to stat a symbolic link add the " @@ -3819,7 +3865,7 @@ msgstr "" "links simbólicos por padrão; para estabelecer um link simbólico, adicione o " "argumento ``follow_symlinks=False``." -#: ../../library/os.rst:2572 +#: ../../library/os.rst:2596 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 " @@ -3830,7 +3876,7 @@ msgstr "" "entrada for um ponto de nova análise (por exemplo, um link simbólico ou " "junção de diretório)." -#: ../../library/os.rst:2577 +#: ../../library/os.rst:2601 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 " @@ -3840,17 +3886,17 @@ msgstr "" "`stat_result` são sempre definidos como zero. Chame :func:`os.stat` para " "obter esses atributos." -#: ../../library/os.rst:2581 +#: ../../library/os.rst:2605 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:2585 +#: ../../library/os.rst:2609 msgid "" "Note that there is a nice correspondence between several attributes and " "methods of ``os.DirEntry`` and of :class:`pathlib.Path`. In particular, the " @@ -3862,7 +3908,7 @@ msgstr "" "tem o mesmo significado, assim como os métodos ``is_dir()``, ``is_file()``, " "``is_symlink()`` e ``stat()``." -#: ../../library/os.rst:2593 +#: ../../library/os.rst:2617 msgid "" "Added support for the :class:`~os.PathLike` interface. Added support for :" "class:`bytes` paths on Windows." @@ -3870,7 +3916,7 @@ msgstr "" "Adicionado suporte para a interface :class:`~os.PathLike`. Adicionado " "suporte para caminhos :class:`bytes` no Windows." -#: ../../library/os.rst:2600 +#: ../../library/os.rst:2624 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 " @@ -3884,18 +3930,18 @@ msgstr "" "indiretamente através da interface :class:`PathLike` -- ou como um descritor " "de arquivo aberto. Retorna um objeto :class:`stat_result`." -#: ../../library/os.rst:2606 +#: ../../library/os.rst:2630 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 " +"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:2609 ../../library/os.rst:3433 -#: ../../library/os.rst:3449 ../../library/os.rst:3465 -#: ../../library/os.rst:3485 +#: ../../library/os.rst:2633 ../../library/os.rst:3458 +#: ../../library/os.rst:3474 ../../library/os.rst:3490 +#: ../../library/os.rst:3510 msgid "" "This function can support :ref:`specifying a file descriptor ` and :" "ref:`not following symlinks `." @@ -3903,7 +3949,7 @@ msgstr "" "Esta função tem suporte a :ref:`especificar um descritor de arquivo " "` e :ref:`não seguir links simbólicos `." -#: ../../library/os.rst:2612 +#: ../../library/os.rst:2636 msgid "" "On Windows, passing ``follow_symlinks=False`` will disable following all " "name-surrogate reparse points, which includes symlinks and directory " @@ -3916,27 +3962,26 @@ msgid "" "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:2625 ../../library/os.rst:3353 +"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:2649 ../../library/os.rst:3378 msgid "Example::" msgstr "Exemplo::" -#: ../../library/os.rst:2638 +#: ../../library/os.rst:2662 msgid ":func:`fstat` and :func:`lstat` functions." msgstr "As funções :func:`fstat` e :func:`lstat`." -#: ../../library/os.rst:2640 +#: ../../library/os.rst:2664 msgid "" "Added the *dir_fd* and *follow_symlinks* arguments, specifying a file " "descriptor instead of a path." @@ -3944,7 +3989,7 @@ msgstr "" "Adicionados os argumentos *dir_fd* e *follow_symlinks*, especificando um " "descritor de arquivo em vez de um caminho." -#: ../../library/os.rst:2647 +#: ../../library/os.rst:2671 msgid "" "On Windows, all reparse points that can be resolved by the operating system " "are now followed, and passing ``follow_symlinks=False`` disables following " @@ -3955,13 +4000,13 @@ 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:2658 +#: ../../library/os.rst:2682 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." @@ -3971,16 +4016,16 @@ msgstr "" "estrutura :c:type:`stat`. É usado para o resultado de :func:`os.stat`, :func:" "`os.fstat` e :func:`os.lstat`." -#: ../../library/os.rst:2662 +#: ../../library/os.rst:2686 msgid "Attributes:" msgstr "Atributos:" -#: ../../library/os.rst:2666 +#: ../../library/os.rst:2690 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:2670 +#: ../../library/os.rst:2694 msgid "" "Platform dependent, but if non-zero, uniquely identifies the file for a " "given value of ``st_dev``. Typically:" @@ -3989,11 +4034,11 @@ msgstr "" "exclusivamente o arquivo para um determinado valor de ``st_dev``. " "Tipicamente:" -#: ../../library/os.rst:2673 +#: ../../library/os.rst:2697 msgid "the inode number on Unix," msgstr "o número do nó-i no Unix," -#: ../../library/os.rst:2674 +#: ../../library/os.rst:2698 msgid "" "the `file index `_ on " "Windows" @@ -4001,23 +4046,23 @@ msgstr "" "o `índice de arquivo `_ " "no Windows" -#: ../../library/os.rst:2680 +#: ../../library/os.rst:2704 msgid "Identifier of the device on which this file resides." msgstr "Identificador do dispositivo no qual este arquivo reside." -#: ../../library/os.rst:2684 +#: ../../library/os.rst:2708 msgid "Number of hard links." msgstr "Número de links físicos." -#: ../../library/os.rst:2688 +#: ../../library/os.rst:2712 msgid "User identifier of the file owner." msgstr "Identificador de usuário do proprietário do arquivo." -#: ../../library/os.rst:2692 +#: ../../library/os.rst:2716 msgid "Group identifier of the file owner." msgstr "Identificador de grupo do proprietário do arquivo." -#: ../../library/os.rst:2696 +#: ../../library/os.rst:2720 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 " @@ -4027,36 +4072,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:2700 +#: ../../library/os.rst:2724 msgid "Timestamps:" -msgstr "Timestamps:" +msgstr "Registros de data e hora:" -#: ../../library/os.rst:2704 +#: ../../library/os.rst:2728 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:2708 +#: ../../library/os.rst:2732 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:2712 ../../library/os.rst:2728 +#: ../../library/os.rst:2736 ../../library/os.rst:2752 msgid "Platform dependent:" msgstr "Dependente da plataforma:" -#: ../../library/os.rst:2714 ../../library/os.rst:2730 +#: ../../library/os.rst:2738 ../../library/os.rst:2754 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:2715 +#: ../../library/os.rst:2739 msgid "the time of creation on Windows, expressed in seconds." msgstr "a hora de criação no Windows, expresso em segundos." -#: ../../library/os.rst:2719 +#: ../../library/os.rst:2743 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:2723 +#: ../../library/os.rst:2747 msgid "" "Time of most recent content modification expressed in nanoseconds as an " "integer." @@ -4064,14 +4109,14 @@ msgstr "" "Hora da modificação de conteúdo mais recente expressa em nanossegundos como " "um número inteiro." -#: ../../library/os.rst:2731 +#: ../../library/os.rst:2755 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:2736 +#: ../../library/os.rst:2760 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 " @@ -4086,7 +4131,7 @@ msgstr "" "attr:`st_atime` tem resolução de apenas 1 dia. Consulte a documentação do " "sistema operacional para obter detalhes." -#: ../../library/os.rst:2743 +#: ../../library/os.rst:2767 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 " @@ -4105,7 +4150,7 @@ msgstr "" "hora exatos, sempre deve usar :attr:`st_atime_ns`, :attr:`st_mtime_ns` e :" "attr:`st_ctime_ns`." -#: ../../library/os.rst:2752 +#: ../../library/os.rst:2776 msgid "" "On some Unix systems (such as Linux), the following attributes may also be " "available:" @@ -4113,7 +4158,7 @@ msgstr "" "Em alguns sistemas Unix (como Linux), os seguintes atributos também podem " "estar disponíveis:" -#: ../../library/os.rst:2757 +#: ../../library/os.rst:2781 msgid "" "Number of 512-byte blocks allocated for file. This may be smaller than :attr:" "`st_size`/512 when the file has holes." @@ -4121,7 +4166,7 @@ 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:2762 +#: ../../library/os.rst:2786 msgid "" "\"Preferred\" blocksize for efficient file system I/O. Writing to a file in " "smaller chunks may cause an inefficient read-modify-rewrite." @@ -4130,15 +4175,15 @@ msgstr "" "Gravar em um arquivo em partes menores pode causar uma leitura-modificação-" "reescrita ineficiente." -#: ../../library/os.rst:2767 +#: ../../library/os.rst:2791 msgid "Type of device if an inode device." msgstr "Tipo de dispositivo, se for um dispositivo nó-i." -#: ../../library/os.rst:2771 +#: ../../library/os.rst:2795 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:2773 +#: ../../library/os.rst:2797 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):" @@ -4146,22 +4191,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:2778 +#: ../../library/os.rst:2802 msgid "File generation number." msgstr "Número de geração do arquivo." -#: ../../library/os.rst:2782 +#: ../../library/os.rst:2806 msgid "Time of file creation." msgstr "Horário da criação do arquivo." -#: ../../library/os.rst:2784 +#: ../../library/os.rst:2808 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:2789 +#: ../../library/os.rst:2813 msgid "" "String that uniquely identifies the type of the filesystem that contains the " "file." @@ -4169,28 +4214,28 @@ msgstr "" "String que identifica exclusivamente o tipo de sistema de arquivos que " "contém o arquivo." -#: ../../library/os.rst:2792 -msgid "On Mac OS systems, the following attributes may also be available:" +#: ../../library/os.rst:2816 +msgid "On macOS systems, the following attributes may also be available:" msgstr "" -"Em sistemas Mac OS, os seguintes atributos também podem estar disponíveis:" +"Em sistemas macOS, os seguintes atributos também podem estar disponíveis:" -#: ../../library/os.rst:2796 +#: ../../library/os.rst:2820 msgid "Real size of the file." msgstr "Tamanho real do arquivo." -#: ../../library/os.rst:2800 +#: ../../library/os.rst:2824 msgid "Creator of the file." msgstr "Criador do arquivo." -#: ../../library/os.rst:2804 +#: ../../library/os.rst:2828 msgid "File type." msgstr "Tipo de arquivo." -#: ../../library/os.rst:2806 +#: ../../library/os.rst:2830 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:2810 +#: ../../library/os.rst:2834 msgid "" "Windows file attributes: ``dwFileAttributes`` member of the " "``BY_HANDLE_FILE_INFORMATION`` structure returned by :c:func:" @@ -4202,7 +4247,7 @@ msgstr "" "`GetFileInformationByHandle`. Veja as constantes ``FILE_ATTRIBUTE_*`` no " "módulo :mod:`stat`." -#: ../../library/os.rst:2817 +#: ../../library/os.rst:2841 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 " @@ -4212,7 +4257,7 @@ msgstr "" "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`." -#: ../../library/os.rst:2821 +#: ../../library/os.rst:2845 msgid "" "The standard module :mod:`stat` defines functions and constants that are " "useful for extracting information from a :c:type:`stat` structure. (On " @@ -4222,7 +4267,7 @@ msgstr "" "extrair informações de uma estrutura :c:type:`stat`. (No Windows, alguns " "itens são preenchidos com valores fictícios.)" -#: ../../library/os.rst:2825 +#: ../../library/os.rst:2849 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 " @@ -4243,7 +4288,7 @@ msgstr "" "versões mais antigas do Python, acessar :class:`stat_result` como uma tupla " "sempre retorna inteiros." -#: ../../library/os.rst:2834 +#: ../../library/os.rst:2858 msgid "" "Added the :attr:`st_atime_ns`, :attr:`st_mtime_ns`, and :attr:`st_ctime_ns` " "members." @@ -4251,25 +4296,25 @@ msgstr "" "Adicionados os membros :attr:`st_atime_ns`, :attr:`st_mtime_ns` e :attr:" "`st_ctime_ns`." -#: ../../library/os.rst:2838 +#: ../../library/os.rst:2862 msgid "Added the :attr:`st_file_attributes` member on Windows." msgstr "Adicionado o membro :attr:`st_file_attributes` no Windows." -#: ../../library/os.rst:2841 +#: ../../library/os.rst:2865 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:2845 +#: ../../library/os.rst:2869 msgid "Added the :attr:`st_fstype` member to Solaris/derivatives." msgstr "Adicionado o membro :attr:`st_fstype` ao Solaris/derivados." -#: ../../library/os.rst:2848 +#: ../../library/os.rst:2872 msgid "Added the :attr:`st_reparse_tag` member on Windows." msgstr "Adicionado o membro :attr:`st_reparse_tag` no Windows." -#: ../../library/os.rst:2851 +#: ../../library/os.rst:2875 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." @@ -4278,7 +4323,7 @@ msgstr "" "como :const:`S_IFCHR`, :const:`S_IFIFO` ou :const:`S_IFBLK` conforme " "apropriado." -#: ../../library/os.rst:2858 +#: ../../library/os.rst:2882 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 " @@ -4294,20 +4339,20 @@ msgstr "" "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:2865 +#: ../../library/os.rst:2889 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:2870 +#: ../../library/os.rst:2894 msgid "" "Additional module-level constants are defined for GNU/glibc based systems. " "These are :const:`ST_NODEV` (disallow access to device special files), :" @@ -4323,20 +4368,20 @@ msgstr "" "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:2883 +"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:2907 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:2889 +#: ../../library/os.rst:2913 msgid "" "The :const:`ST_NODEV`, :const:`ST_NOEXEC`, :const:`ST_SYNCHRONOUS`, :const:" "`ST_MANDLOCK`, :const:`ST_WRITE`, :const:`ST_APPEND`, :const:" @@ -4348,11 +4393,11 @@ msgstr "" "`ST_APPEND`, :const:`ST_IMMUTABLE`, :const:`ST_NOATIME`, :const:" "`ST_NODIRATIME` e :const:`ST_RELATIME` foram adicionadas." -#: ../../library/os.rst:2898 +#: ../../library/os.rst:2922 msgid "Added :attr:`f_fsid`." msgstr "Adicionado :attr:`f_fsid`." -#: ../../library/os.rst:2904 +#: ../../library/os.rst:2928 msgid "" "A :class:`set` object indicating which functions in the :mod:`os` module " "accept an open file descriptor for their *dir_fd* parameter. Different " @@ -4367,13 +4412,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:2914 +#: ../../library/os.rst:2938 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 " @@ -4386,7 +4431,7 @@ msgstr "" "se :func:`os.stat` aceita descritores de arquivo abertos para *dir_fd* na " "plataforma local::" -#: ../../library/os.rst:2921 +#: ../../library/os.rst:2945 msgid "" "Currently *dir_fd* parameters only work on Unix platforms; none of them work " "on Windows." @@ -4394,7 +4439,7 @@ msgstr "" "Atualmente os parâmetros *dir_fd* funcionam apenas em plataformas Unix; " "nenhum deles funciona no Windows." -#: ../../library/os.rst:2929 +#: ../../library/os.rst:2953 msgid "" "A :class:`set` object indicating whether :func:`os.access` permits " "specifying ``True`` for its *effective_ids* parameter on the local platform. " @@ -4404,27 +4449,27 @@ msgid "" 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:2935 +#: ../../library/os.rst:2959 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:2940 +#: ../../library/os.rst:2964 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:2948 +#: ../../library/os.rst:2972 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 " @@ -4437,9 +4482,9 @@ 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:2955 +#: ../../library/os.rst:2979 msgid "" "To determine whether a particular function permits specifying an open file " "descriptor for its *path* parameter, use the ``in`` operator on " @@ -4453,7 +4498,7 @@ msgstr "" "func:`os.chdir` aceita descritores de arquivo abertos para *path* em sua " "plataforma local::" -#: ../../library/os.rst:2968 +#: ../../library/os.rst:2992 msgid "" "A :class:`set` object indicating which functions in the :mod:`os` module " "accept ``False`` for their *follow_symlinks* parameter on the local " @@ -4476,7 +4521,7 @@ msgstr "" "(Especificar ``True`` para *follow_symlinks* é sempre aceito em todas as " "plataformas.)" -#: ../../library/os.rst:2978 +#: ../../library/os.rst:3002 msgid "" "To check whether a particular function accepts ``False`` for its " "*follow_symlinks* parameter, use the ``in`` operator on " @@ -4490,11 +4535,11 @@ msgstr "" "``True`` se você pode especificar ``follow_symlinks=False`` ao chamar :func:" "`os.stat` na plataforma local::" -#: ../../library/os.rst:2991 +#: ../../library/os.rst:3015 msgid "Create a symbolic link pointing to *src* named *dst*." msgstr "Cria um link simbólico apontando para *src* chamado *dst*." -#: ../../library/os.rst:2993 +#: ../../library/os.rst:3017 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 " @@ -4504,13 +4549,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:3004 +#: ../../library/os.rst:3028 msgid "" "On newer versions of Windows 10, unprivileged accounts can create symlinks " "if Developer Mode is enabled. When Developer Mode is not available/enabled, " @@ -4523,22 +4568,22 @@ msgstr "" "*SeCreateSymbolicLinkPrivilege* é necessário ou o processo deve ser " "executado como um administrador." -#: ../../library/os.rst:3010 +#: ../../library/os.rst:3034 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:3013 +#: ../../library/os.rst:3037 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:3020 +#: ../../library/os.rst:3044 msgid "" "Added the *dir_fd* argument, and now allow *target_is_directory* on non-" "Windows platforms." @@ -4546,17 +4591,17 @@ msgstr "" "Adicionado o argumento *dir_fd* e agora permite *target_is_directory* em " "plataformas não Windows." -#: ../../library/os.rst:3027 +#: ../../library/os.rst:3051 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:3033 +#: ../../library/os.rst:3057 msgid "Force write of everything to disk." msgstr "Força a escrita de tudo para o disco." -#: ../../library/os.rst:3042 +#: ../../library/os.rst:3066 msgid "" "Truncate the file corresponding to *path*, so that it is at most *length* " "bytes in size." @@ -4564,15 +4609,15 @@ msgstr "" "Trunca o arquivo correspondente ao *path*, de modo que tenha no máximo " "*length* bytes." -#: ../../library/os.rst:3047 +#: ../../library/os.rst:3071 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:3062 +#: ../../library/os.rst:3086 msgid "" "Remove (delete) the file *path*. This function is semantically identical " "to :func:`remove`; the ``unlink`` name is its traditional Unix name. Please " @@ -4582,12 +4627,12 @@ msgstr "" "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:3078 +#: ../../library/os.rst:3102 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:3080 +#: ../../library/os.rst:3104 msgid "" ":func:`utime` takes two optional parameters, *times* and *ns*. These specify " "the times set on *path* and are used as follows:" @@ -4595,24 +4640,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:3083 +#: ../../library/os.rst:3107 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:3086 +#: ../../library/os.rst:3110 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:3089 +#: ../../library/os.rst:3113 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." @@ -4621,35 +4667,35 @@ msgstr "" "especificar ``ns=(atime_ns, mtime_ns)`` onde ambos os tempos são a hora " "atual." -#: ../../library/os.rst:3093 +#: ../../library/os.rst:3117 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:3095 +#: ../../library/os.rst:3119 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 " -"`utime`." +"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 `utime`." +"stat` com o parâmetro *ns* para :func:`utime`." -#: ../../library/os.rst:3106 +#: ../../library/os.rst:3130 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:3108 +#: ../../library/os.rst:3132 msgid "" "Added support for specifying *path* as an open file descriptor, and the " "*dir_fd*, *follow_symlinks*, and *ns* parameters." @@ -4657,7 +4703,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:3122 +#: ../../library/os.rst:3146 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* " @@ -4669,30 +4715,31 @@ msgstr "" "raiz no diretório *top* (incluindo o próprio *top*), ele produz uma tupla de " "3 elementos ``(dirpath, dirnames, filenames)``." -#: ../../library/os.rst:3127 +#: ../../library/os.rst:3151 msgid "" "*dirpath* is a string, the path to the directory. *dirnames* is a list of " -"the names of the subdirectories in *dirpath* (excluding ``'.'`` and " -"``'..'``). *filenames* is a list of the names of the non-directory files in " -"*dirpath*. Note that the names in the lists contain no path components. To " -"get a full path (which begins with *top*) to a file or directory in " -"*dirpath*, do ``os.path.join(dirpath, name)``. Whether or not the lists are " -"sorted depends on the file system. If a file is removed from or added to " -"the *dirpath* directory during generating the lists, whether a name for that " -"file be included is unspecified." +"the names of the subdirectories in *dirpath* (including symlinks to " +"directories, and excluding ``'.'`` and ``'..'``). *filenames* is a list of " +"the names of the non-directory files in *dirpath*. Note that the names in " +"the lists contain no path components. To get a full path (which begins with " +"*top*) to a file or directory in *dirpath*, do ``os.path.join(dirpath, " +"name)``. Whether or not the lists are sorted depends on the file system. " +"If a file is removed from or added to the *dirpath* directory during " +"generating the lists, whether a name for that file be included is " +"unspecified." msgstr "" "*dirpath* é uma string, o caminho para o diretório. *dirnames* é uma lista " -"dos nomes dos subdiretórios em *dirpath* (excluindo ``'.'`` e ``'..'``). " -"*filenames* é uma lista dos 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 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:3137 +"dos nomes dos subdiretórios em *dirpath* (incluindo links simbólicos para " +"diretórios e excluindo ``'.'`` e ``'..'``). *filenames* é uma lista dos " +"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*, " +"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:3162 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 " @@ -4710,7 +4757,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:3145 +#: ../../library/os.rst:3170 msgid "" "When *topdown* is ``True``, the caller can modify the *dirnames* list in-" "place (perhaps using :keyword:`del` or slice assignment), and :func:`walk` " @@ -4732,7 +4779,7 @@ msgstr "" "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:3154 +#: ../../library/os.rst:3179 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 " @@ -4748,7 +4795,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:3160 +#: ../../library/os.rst:3185 msgid "" "By default, :func:`walk` will not walk down into symbolic links that resolve " "to directories. Set *followlinks* to ``True`` to visit directories pointed " @@ -4759,7 +4806,7 @@ msgstr "" "diretórios apontados por links simbólicos, em sistemas que oferecem suporte " "a eles." -#: ../../library/os.rst:3166 +#: ../../library/os.rst:3191 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` " @@ -4769,7 +4816,7 @@ msgstr "" "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:3172 +#: ../../library/os.rst:3197 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 " @@ -4779,17 +4826,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:3176 ../../library/os.rst:3237 +#: ../../library/os.rst:3201 ../../library/os.rst:3262 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:3189 +#: ../../library/os.rst:3214 msgid "" "In the next example (simple implementation of :func:`shutil.rmtree`), " "walking the tree bottom-up is essential, :func:`rmdir` doesn't allow " @@ -4799,15 +4846,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:3204 +#: ../../library/os.rst:3229 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:3206 +#: ../../library/os.rst:3231 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`." @@ -4815,7 +4862,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:3220 +#: ../../library/os.rst:3245 msgid "" "This behaves exactly like :func:`walk`, except that it yields a 4-tuple " "``(dirpath, dirnames, filenames, dirfd)``, and it supports ``dir_fd``." @@ -4824,7 +4871,7 @@ msgstr "" "elementos ``(dirpath, dirnames, filenames, dirfd)``, e tem suporte a " "``dir_fd``." -#: ../../library/os.rst:3223 +#: ../../library/os.rst:3248 msgid "" "*dirpath*, *dirnames* and *filenames* are identical to :func:`walk` output, " "and *dirfd* is a file descriptor referring to the directory *dirpath*." @@ -4832,7 +4879,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:3226 +#: ../../library/os.rst:3251 msgid "" "This function always supports :ref:`paths relative to directory descriptors " "` and :ref:`not following symlinks `. Note however " @@ -4844,7 +4891,7 @@ msgstr "" "Observe, entretanto, que, ao contrário de outras funções, o valor padrão :" "func:`fwalk` para *follow_symlinks* é ``False``." -#: ../../library/os.rst:3233 +#: ../../library/os.rst:3258 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 " @@ -4854,7 +4901,7 @@ 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:3250 +#: ../../library/os.rst:3275 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::" @@ -4862,19 +4909,20 @@ 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::" -#: ../../library/os.rst:3265 +#: ../../library/os.rst:3290 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:3274 +#: ../../library/os.rst:3299 msgid "Added support for :class:`bytes` paths." msgstr "Adicionado suporte para caminhos em :class:`bytes`." -#: ../../library/os.rst:3280 +#: ../../library/os.rst:3305 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 " @@ -4883,10 +4931,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:3285 +#: ../../library/os.rst:3310 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/" @@ -4902,7 +4950,7 @@ msgstr "" "arquivo e, como tal, vários arquivos podem ter o mesmo nome sem quaisquer " "efeitos colaterais." -#: ../../library/os.rst:3293 +#: ../../library/os.rst:3318 msgid "" ":ref:`Availability `: Linux 3.17 or newer with glibc 2.27 or " "newer." @@ -4910,11 +4958,11 @@ msgstr "" ":ref:`Disponibilidade `: Linux 3.17 ou mais novos com glibc " "2.27 ou mais novo." -#: ../../library/os.rst:3315 +#: ../../library/os.rst:3340 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:3319 +#: ../../library/os.rst:3344 msgid "" ":ref:`Availability `: Linux 3.17 or newer with glibc 2.27 or " "newer. The ``MFD_HUGE*`` flags are only available since Linux 4.14." @@ -4923,7 +4971,7 @@ msgstr "" "2.27 ou mais novos. Os sinalizadores ``MFD_HUGE*`` estão disponíveis desde " "o Linux 4.14." -#: ../../library/os.rst:3325 +#: ../../library/os.rst:3350 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." @@ -4932,12 +4980,12 @@ msgid "" "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:`non-inheritable `." +"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:3331 +#: ../../library/os.rst:3356 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 " @@ -4949,7 +4997,7 @@ 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:3336 +#: ../../library/os.rst:3361 msgid "" "*flags* can be constructed from :const:`EFD_CLOEXEC`, :const:`EFD_NONBLOCK`, " "and :const:`EFD_SEMAPHORE`." @@ -4957,16 +5005,16 @@ msgstr "" "*flags* podem ser construídas a partir de :const:`EFD_CLOEXEC`, :const:" "`EFD_NONBLOCK` e :const:`EFD_SEMAPHORE`." -#: ../../library/os.rst:3339 +#: ../../library/os.rst:3364 msgid "" "If :const:`EFD_SEMAPHORE` is specified and the event counter is non-zero, :" "func:`eventfd_read` returns 1 and decrements the counter by one." msgstr "" -"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:3342 +#: ../../library/os.rst:3367 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 " @@ -4976,7 +5024,7 @@ msgstr "" "diferente de zero, :func:`eventfd_read` retorna o valor atual do contador de " "evento e zera o contador." -#: ../../library/os.rst:3346 +#: ../../library/os.rst:3371 msgid "" "If the event counter is zero and :const:`EFD_NONBLOCK` is not specified, :" "func:`eventfd_read` blocks." @@ -4984,7 +5032,7 @@ msgstr "" "Se o contador de evento for zero e :const:`EFD_NONBLOCK` não for " "especificado, :func:`eventfd_read` bloqueia." -#: ../../library/os.rst:3349 +#: ../../library/os.rst:3374 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:" @@ -4994,7 +5042,7 @@ msgstr "" "a operação de escrita incrementar o contador para um valor maior que 2\\ :" "sup:`64`\\ -\\ 2." -#: ../../library/os.rst:3371 +#: ../../library/os.rst:3396 msgid "" ":ref:`Availability `: Linux 2.6.27 or newer with glibc 2.8 or " "newer." @@ -5002,7 +5050,7 @@ msgstr "" ":ref:`Disponibilidade `: Linux 2.6.27 ou mais recente com " "glibc 2.8 ou mais recente." -#: ../../library/os.rst:3376 +#: ../../library/os.rst:3401 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`." @@ -5010,12 +5058,12 @@ 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:3380 ../../library/os.rst:3389 -#: ../../library/os.rst:3397 ../../library/os.rst:3406 +#: ../../library/os.rst:3405 ../../library/os.rst:3414 +#: ../../library/os.rst:3422 ../../library/os.rst:3431 msgid ":ref:`Availability `: See :func:`eventfd`" msgstr ":ref:`Disponibilidade `: Veja :func:`eventfd`" -#: ../../library/os.rst:3385 +#: ../../library/os.rst:3410 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`." @@ -5024,20 +5072,20 @@ msgstr "" "um inteiro sem sinal de 64 bits. A função não verifica se *fd* é um :func:" "`eventfd`." -#: ../../library/os.rst:3394 +#: ../../library/os.rst:3419 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`" +"`eventfd`." -#: ../../library/os.rst:3402 +#: ../../library/os.rst:3427 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:3411 +#: ../../library/os.rst:3436 msgid "" "Provide semaphore-like semantics for reads from a :func:`eventfd` file " "descriptor. On read the internal counter is decremented by one." @@ -5045,7 +5093,7 @@ 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:3415 +#: ../../library/os.rst:3440 msgid "" ":ref:`Availability `: Linux 2.6.30 or newer with glibc 2.8 or " "newer." @@ -5053,15 +5101,15 @@ msgstr "" ":ref:`Disponibilidade `: Linux 2.6.30 ou mais recente com " "glibc 2.8 ou mais recente." -#: ../../library/os.rst:3420 +#: ../../library/os.rst:3445 msgid "Linux extended attributes" msgstr "Atributos estendidos do Linux" -#: ../../library/os.rst:3424 +#: ../../library/os.rst:3449 msgid "These functions are all available on Linux only." msgstr "Estas funções estão todas disponíveis apenas no Linux." -#: ../../library/os.rst:3428 +#: ../../library/os.rst:3453 msgid "" "Return the value of the extended filesystem attribute *attribute* for " "*path*. *attribute* can be bytes or str (directly or indirectly through the :" @@ -5073,20 +5121,20 @@ msgstr "" "meio da interface :class:`PathLike`). Se for str, ele é codificado com a " "codificação do sistema de arquivos." -#: ../../library/os.rst:3436 +#: ../../library/os.rst:3461 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:3438 ../../library/os.rst:3470 -#: ../../library/os.rst:3495 +#: ../../library/os.rst:3463 ../../library/os.rst:3495 +#: ../../library/os.rst:3520 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:3444 +#: ../../library/os.rst:3469 msgid "" "Return a list of the extended filesystem attributes on *path*. The " "attributes in the list are represented as strings decoded with the " @@ -5098,7 +5146,7 @@ msgstr "" "codificação do sistema de arquivos. Se *path* for ``None``, :func:" "`listxattr` irá examinar o diretório atual." -#: ../../library/os.rst:3452 +#: ../../library/os.rst:3477 msgid "" "Raises an :ref:`auditing event ` ``os.listxattr`` with argument " "``path``." @@ -5106,7 +5154,7 @@ msgstr "" "Levanta um :ref:`evento de auditoria ` ``os.listxattr`` com o " "argumento ``path``." -#: ../../library/os.rst:3460 +#: ../../library/os.rst:3485 msgid "" "Removes the extended filesystem attribute *attribute* from *path*. " "*attribute* should be bytes or str (directly or indirectly through the :" @@ -5118,15 +5166,15 @@ msgstr "" "interface :class:`PathLike`). Se for uma string, é codificada com o :term:" "`tratador de erros e codificação do sistema de arquivos`" -#: ../../library/os.rst:3468 +#: ../../library/os.rst:3493 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:3476 +#: ../../library/os.rst:3501 msgid "" "Set the extended filesystem attribute *attribute* on *path* to *value*. " "*attribute* must be a bytes or str with no embedded NULs (directly or " @@ -5147,7 +5195,7 @@ msgstr "" "o atributo já existir, o atributo não será criado e ``EEXISTS`` será " "levantada." -#: ../../library/os.rst:3490 +#: ../../library/os.rst:3515 msgid "" "A bug in Linux kernel versions less than 2.6.39 caused the flags argument to " "be ignored on some filesystems." @@ -5155,15 +5203,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:3493 +#: ../../library/os.rst:3518 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:3501 +#: ../../library/os.rst:3526 msgid "" "The maximum size the value of an extended attribute can be. Currently, this " "is 64 KiB on Linux." @@ -5171,7 +5219,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:3507 +#: ../../library/os.rst:3532 msgid "" "This is a possible value for the flags argument in :func:`setxattr`. It " "indicates the operation must create an attribute." @@ -5179,7 +5227,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:3513 +#: ../../library/os.rst:3538 msgid "" "This is a possible value for the flags argument in :func:`setxattr`. It " "indicates the operation must replace an existing attribute." @@ -5187,15 +5235,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:3520 +#: ../../library/os.rst:3545 msgid "Process Management" msgstr "Gerenciamento de processo" -#: ../../library/os.rst:3522 +#: ../../library/os.rst:3547 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:3524 +#: ../../library/os.rst:3549 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 " @@ -5205,15 +5253,15 @@ 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." -#: ../../library/os.rst:3535 +#: ../../library/os.rst:3560 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 " @@ -5227,21 +5275,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:3544 +#: ../../library/os.rst:3569 msgid "Add a path to the DLL search path." msgstr "Adiciona um caminho ao caminho de pesquisa de DLL." -#: ../../library/os.rst:3546 +#: ../../library/os.rst:3571 msgid "" "This search path is used when resolving dependencies for imported extension " -"modules (the module itself is resolved through sys.path), and also by :mod:" -"`ctypes`." +"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 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:3550 +#: ../../library/os.rst:3575 msgid "" "Remove the directory by calling **close()** on the returned object or using " "it in a :keyword:`with` statement." @@ -5249,7 +5297,7 @@ msgstr "" "Remove o diretório chamando **close()** no objeto retornado ou usando-o em " "uma instrução :keyword:`with`." -#: ../../library/os.rst:3553 +#: ../../library/os.rst:3578 msgid "" "See the `Microsoft documentation `_ for more information about how " @@ -5259,15 +5307,15 @@ msgstr "" "com/44228cf2-6306-466c-8f16-f513cd3ba8b5>`_ para obter mais informações " "sobre como as DLLs são carregadas." -#: ../../library/os.rst:3557 +#: ../../library/os.rst:3582 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:3561 +#: ../../library/os.rst:3586 msgid "" "Previous versions of CPython would resolve DLLs using the default behavior " "for the current process. This led to inconsistencies, such as only sometimes " @@ -5279,7 +5327,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:3568 +#: ../../library/os.rst:3593 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 " @@ -5290,7 +5338,7 @@ msgstr "" "consistência. Veja as :ref:`notas de portabilidade ` " "para informações sobre atualização de bibliotecas." -#: ../../library/os.rst:3583 +#: ../../library/os.rst:3608 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 " @@ -5298,23 +5346,23 @@ 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:3588 +#: ../../library/os.rst:3613 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." 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:3594 +#: ../../library/os.rst:3619 msgid "" "The \"l\" and \"v\" variants of the :func:`exec\\* ` functions differ " "in how command-line arguments are passed. The \"l\" variants are perhaps " @@ -5336,7 +5384,7 @@ msgstr "" "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:3603 +#: ../../library/os.rst:3628 msgid "" "The variants which include a \"p\" near the end (:func:`execlp`, :func:" "`execlpe`, :func:`execvp`, and :func:`execvpe`) will use the :envvar:`PATH` " @@ -5358,7 +5406,7 @@ msgstr "" "localizar o executável; *path* deve conter um caminho absoluto ou relativo " "apropriado." -#: ../../library/os.rst:3613 +#: ../../library/os.rst:3638 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 " @@ -5374,7 +5422,7 @@ 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:3620 +#: ../../library/os.rst:3645 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 " @@ -5388,15 +5436,15 @@ msgstr "" "disponível usando :data:`os.supports_fd`. Se não estiver disponível, usá-lo " "vai levantar uma :exc:`NotImplementedError`." -#: ../../library/os.rst:3625 +#: ../../library/os.rst:3650 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:3629 +#: ../../library/os.rst:3654 msgid "" "Added support for specifying *path* as an open file descriptor for :func:" "`execve`." @@ -5404,23 +5452,23 @@ msgstr "" "Adicionado suporte para especificar *path* como um descritor de arquivo " "aberto para :func:`execve`." -#: ../../library/os.rst:3638 +#: ../../library/os.rst:3663 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:3643 +#: ../../library/os.rst:3668 msgid "" -"The standard way to exit is ``sys.exit(n)``. :func:`_exit` should normally " -"only be used in the child process after a :func:`fork`." +"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 é ``sys.exit(n)``. :func:`_exit` normalmente só deve " -"ser usado no processo filho após uma função :func:`fork`." +"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:3646 +#: ../../library/os.rst:3671 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 " @@ -5432,21 +5480,21 @@ msgstr "" "programas de sistema escritos em Python, como um programa de entrega de " "comando externo de servidor de e-mail." -#: ../../library/os.rst:3652 +#: ../../library/os.rst:3677 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:3659 +#: ../../library/os.rst:3684 msgid "Exit code that means no error occurred." msgstr "Código de saída que significa que ocorreu nenhum erro." -#: ../../library/os.rst:3666 +#: ../../library/os.rst:3691 msgid "" "Exit code that means the command was used incorrectly, such as when the " "wrong number of arguments are given." @@ -5454,44 +5502,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:3674 +#: ../../library/os.rst:3699 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:3681 +#: ../../library/os.rst:3706 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:3688 +#: ../../library/os.rst:3713 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:3695 +#: ../../library/os.rst:3720 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:3702 +#: ../../library/os.rst:3727 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:3709 +#: ../../library/os.rst:3734 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:3716 +#: ../../library/os.rst:3741 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:3724 +#: ../../library/os.rst:3749 msgid "" "Exit code that means some system file did not exist, could not be opened, or " "had some other kind of error." @@ -5499,20 +5547,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:3732 +#: ../../library/os.rst:3757 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:3739 +#: ../../library/os.rst:3764 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:3746 +#: ../../library/os.rst:3771 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 " @@ -5522,7 +5570,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:3755 +#: ../../library/os.rst:3780 msgid "" "Exit code that means that a protocol exchange was illegal, invalid, or not " "understood." @@ -5530,7 +5578,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:3763 +#: ../../library/os.rst:3788 msgid "" "Exit code that means that there were insufficient permissions to perform the " "operation (but not intended for file system problems)." @@ -5539,25 +5587,25 @@ msgstr "" "executar a operação (mas sem intenção de causar problemas do sistema de " "arquivos)." -#: ../../library/os.rst:3771 +#: ../../library/os.rst:3796 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:3778 +#: ../../library/os.rst:3803 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:3785 +#: ../../library/os.rst:3810 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:3788 +#: ../../library/os.rst:3813 msgid "" "Note that some platforms including FreeBSD <= 6.3 and Cygwin have known " "issues when using ``fork()`` from a thread." @@ -5565,26 +5613,25 @@ 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:3791 +#: ../../library/os.rst:3816 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:3793 +#: ../../library/os.rst:3818 msgid "" "Calling ``fork()`` in a subinterpreter is no longer supported (:exc:" "`RuntimeError` is raised)." msgstr "" -"Chamar ``fork()`` em um subinterpretador não é mais suportado (:exc:" +"Chamar ``fork()`` em um subinterpretador não é mais possível (:exc:" "`RuntimeError` é levantada)." -#: ../../library/os.rst:3799 +#: ../../library/os.rst:3824 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:3806 +#: ../../library/os.rst:3831 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, " @@ -5592,29 +5639,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:3812 +#: ../../library/os.rst:3837 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:3814 +#: ../../library/os.rst:3839 msgid "" "Calling ``forkpty()`` in a subinterpreter is no longer supported (:exc:" "`RuntimeError` is raised)." msgstr "" -"Chamar ``forkpty()`` em um subinterpretador não é mais suportado (:exc:" +"Chamar ``forkpty()`` em um subinterpretador não é mais permitido (:exc:" "`RuntimeError` é levantada)." -#: ../../library/os.rst:3827 +#: ../../library/os.rst:3852 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." @@ -5622,7 +5668,7 @@ 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:3830 +#: ../../library/os.rst:3855 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 " @@ -5639,42 +5685,42 @@ msgstr "" "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:3838 +#: ../../library/os.rst:3863 msgid "See also :func:`signal.pthread_kill`." msgstr "Veja também :func:`signal.pthread_kill`." -#: ../../library/os.rst:3840 +#: ../../library/os.rst:3865 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``." +"Levanta um :ref:`evento de auditoria ` ``os.kill`` com os " +"argumentos ``pid`` e ``sig``." -#: ../../library/os.rst:3842 +#: ../../library/os.rst:3867 msgid "Windows support." msgstr "Suporte ao Windows." -#: ../../library/os.rst:3852 +#: ../../library/os.rst:3877 msgid "Send the signal *sig* to the process group *pgid*." msgstr "Envia o sinal *sig* para o grupo de processos *pgid*." -#: ../../library/os.rst:3854 +#: ../../library/os.rst:3879 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:3861 +#: ../../library/os.rst:3886 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:3868 +#: ../../library/os.rst:3893 msgid "" "Return a file descriptor referring to the process *pid*. This descriptor " "can be used to perform process management without races and signals. The " @@ -5686,23 +5732,23 @@ msgstr "" "corridas e sinais. O argumento *flags* é fornecido para extensões futuras; " "nenhum valor de sinalizador está definido atualmente." -#: ../../library/os.rst:3873 +#: ../../library/os.rst:3898 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:3875 +#: ../../library/os.rst:3900 msgid ":ref:`Availability `: Linux 5.3+" msgstr ":ref:`Disponibilidade `: Linux 5.3+" -#: ../../library/os.rst:3881 +#: ../../library/os.rst:3906 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:3889 +#: ../../library/os.rst:3914 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 " @@ -5718,7 +5764,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:3896 +#: ../../library/os.rst:3921 msgid "" "The ``close`` method returns :const:`None` if the subprocess exited " "successfully, or the subprocess's return code if there was an error. On " @@ -5739,7 +5785,7 @@ msgstr "" "valor de retorno contém o código de retorno inteiro com sinal do processo " "filho." -#: ../../library/os.rst:3906 +#: ../../library/os.rst:3931 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 " @@ -5750,7 +5796,7 @@ msgstr "" "for ``None``. No Windows, o resultado do método ``close`` é diretamente o " "código de saída (ou ``None``)." -#: ../../library/os.rst:3911 +#: ../../library/os.rst:3936 msgid "" "This is implemented using :class:`subprocess.Popen`; see that class's " "documentation for more powerful ways to manage and communicate with " @@ -5760,19 +5806,19 @@ msgstr "" "documentação desta classe para maneiras mais poderosas de gerenciar e se " "comunicar com subprocessos." -#: ../../library/os.rst:3920 +#: ../../library/os.rst:3945 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." -#: ../../library/os.rst:3922 +#: ../../library/os.rst:3947 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`." -#: ../../library/os.rst:3924 +#: ../../library/os.rst:3949 msgid "" "The positional-only arguments *path*, *args*, and *env* are similar to :func:" "`execve`." @@ -5780,7 +5826,7 @@ msgstr "" "Os argumentos somente-posicional *path*, *args* e *env* são similares a :" "func:`execve`." -#: ../../library/os.rst:3927 +#: ../../library/os.rst:3952 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 " @@ -5790,7 +5836,7 @@ msgstr "" "conter um diretório. Use :func:`posix_spawnp` para passar um arquivo " "executável sem diretório." -#: ../../library/os.rst:3931 +#: ../../library/os.rst:3956 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 " @@ -5804,31 +5850,31 @@ 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:3939 +#: ../../library/os.rst:3964 msgid "(``os.POSIX_SPAWN_OPEN``, *fd*, *path*, *flags*, *mode*)" msgstr "(``os.POSIX_SPAWN_OPEN``, *fd*, *path*, *flags*, *mode*)" -#: ../../library/os.rst:3941 +#: ../../library/os.rst:3966 msgid "Performs ``os.dup2(os.open(path, flags, mode), fd)``." msgstr "Efetua ``os.dup2(os.open(path, flags, mode), fd)``." -#: ../../library/os.rst:3945 +#: ../../library/os.rst:3970 msgid "(``os.POSIX_SPAWN_CLOSE``, *fd*)" msgstr "(``os.POSIX_SPAWN_CLOSE``, *fd*)" -#: ../../library/os.rst:3947 +#: ../../library/os.rst:3972 msgid "Performs ``os.close(fd)``." msgstr "Efetua ``os.close(fd)``." -#: ../../library/os.rst:3951 +#: ../../library/os.rst:3976 msgid "(``os.POSIX_SPAWN_DUP2``, *fd*, *new_fd*)" msgstr "(``os.POSIX_SPAWN_DUP2``, *fd*, *new_fd*)" -#: ../../library/os.rst:3953 +#: ../../library/os.rst:3978 msgid "Performs ``os.dup2(fd, new_fd)``." msgstr "Efetua ``os.dup2(fd, new_fd)``." -#: ../../library/os.rst:3955 +#: ../../library/os.rst:3980 msgid "" "These tuples correspond to the C library :c:func:" "`posix_spawn_file_actions_addopen`, :c:func:" @@ -5842,7 +5888,7 @@ msgstr "" "`posix_spawn_file_actions_adddup2` usadas para preparar para a chamada de :c:" "func:`posix_spawn` em si." -#: ../../library/os.rst:3961 +#: ../../library/os.rst:3986 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 " @@ -5856,7 +5902,7 @@ msgstr "" "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." -#: ../../library/os.rst:3967 +#: ../../library/os.rst:3992 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 " @@ -5874,19 +5920,15 @@ msgstr "" "do UID e GID efetivos. Este argumento corresponde ao sinalizador :c:data:" "`POSIX_SPAWN_RESETIDS` da biblioteca C." -#: ../../library/os.rst:3975 +#: ../../library/os.rst:4000 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* requires :c:data:`POSIX_SPAWN_SETSID` or :c:data:" "`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." -#: ../../library/os.rst:3980 +#: ../../library/os.rst:4005 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 " @@ -5898,7 +5940,7 @@ msgstr "" "de sinal do pai. Este argumento corresponde ao sinalizador :c:data:" "`POSIX_SPAWN_SETSIGMASK` da biblioteca C." -#: ../../library/os.rst:3985 +#: ../../library/os.rst:4010 msgid "" "The *sigdef* argument will reset the disposition of all signals in the set " "specified. This argument corresponds to the C library :c:data:" @@ -5908,7 +5950,7 @@ msgstr "" "especificado. Este argumento corresponde ao sinalizador :c:data:" "`POSIX_SPAWN_SETSIGDEF` da biblioteca C." -#: ../../library/os.rst:3989 +#: ../../library/os.rst:4014 msgid "" "The *scheduler* argument must be a tuple containing the (optional) scheduler " "policy and an instance of :class:`sched_param` with the scheduler " @@ -5924,20 +5966,20 @@ msgstr "" "c:data:`POSIX_SPAWN_SETSCHEDPARAM` e :c:data:`POSIX_SPAWN_SETSCHEDULER` da " "biblioteca C." -#: ../../library/os.rst:3996 ../../library/os.rst:4012 +#: ../../library/os.rst:4021 ../../library/os.rst:4037 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:4006 +#: ../../library/os.rst:4031 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." -#: ../../library/os.rst:4008 +#: ../../library/os.rst:4033 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` " @@ -5947,14 +5989,14 @@ msgstr "" "*executable* na lista de diretórios especificados pela variável de ambiente :" "envvar:`PATH` (da mesma forma que para ``execvp(3)``)." -#: ../../library/os.rst:4016 +#: ../../library/os.rst:4041 msgid "" ":ref:`Availability `: See :func:`posix_spawn` documentation." msgstr "" ":ref:`Disponibilidade `: Veja a documentação do :func:" "`posix_spawn`." -#: ../../library/os.rst:4022 +#: ../../library/os.rst:4047 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 " @@ -5965,24 +6007,23 @@ msgstr "" "parâmetros são opcionais e somente-nomeados. Cada um especifica um ponto de " "chamada diferente." -#: ../../library/os.rst:4027 +#: ../../library/os.rst:4052 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:4028 +#: ../../library/os.rst:4053 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:4030 +#: ../../library/os.rst:4055 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:4032 +#: ../../library/os.rst:4057 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 " @@ -5992,36 +6033,37 @@ 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:4036 +#: ../../library/os.rst:4061 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:4041 +#: ../../library/os.rst:4066 msgid "" "Note that :c:func:`fork` calls made by third-party C code may not call those " "functions, unless it explicitly calls :c:func:`PyOS_BeforeFork`, :c:func:" "`PyOS_AfterFork_Parent` and :c:func:`PyOS_AfterFork_Child`." msgstr "" -"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:" +"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:4045 +#: ../../library/os.rst:4070 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:4061 +#: ../../library/os.rst:4086 msgid "Execute the program *path* in a new process." msgstr "Executa o programa *path* em um novo processo." -#: ../../library/os.rst:4063 +#: ../../library/os.rst:4088 msgid "" "(Note that the :mod:`subprocess` module provides more powerful facilities " "for spawning new processes and retrieving their results; using that module " @@ -6033,7 +6075,7 @@ msgstr "" "preferível a usar essas funções. Verifique especialmente a seção :ref:" "`subprocess-replacements`.)" -#: ../../library/os.rst:4068 +#: ../../library/os.rst:4093 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 " @@ -6044,19 +6086,19 @@ 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:" +"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:4074 +#: ../../library/os.rst:4099 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:4077 +#: ../../library/os.rst:4102 msgid "" "The \"l\" and \"v\" variants of the :func:`spawn\\* ` functions " "differ in how command-line arguments are passed. The \"l\" variants are " @@ -6077,7 +6119,7 @@ msgstr "" "os argumentos para o processo filho devem começar com o nome do comando que " "está sendo executado." -#: ../../library/os.rst:4086 +#: ../../library/os.rst:4111 msgid "" "The variants which include a second \"p\" near the end (:func:`spawnlp`, :" "func:`spawnlpe`, :func:`spawnvp`, and :func:`spawnvpe`) will use the :envvar:" @@ -6094,12 +6136,12 @@ msgstr "" "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:" +"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:4096 +#: ../../library/os.rst:4121 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 " @@ -6120,7 +6162,7 @@ msgstr "" "valores inválidos farão com que a função falhe, com um valor de retorno de " "``127``." -#: ../../library/os.rst:4105 +#: ../../library/os.rst:4130 msgid "" "As an example, the following calls to :func:`spawnlp` and :func:`spawnvpe` " "are equivalent::" @@ -6128,15 +6170,15 @@ msgstr "" "Como exemplo, as seguintes chamadas a :func:`spawnlp` e :func:`spawnvpe` são " "equivalentes::" -#: ../../library/os.rst:4114 +#: ../../library/os.rst:4139 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:4120 +#: ../../library/os.rst:4145 msgid "" ":ref:`Availability `: Unix, Windows. :func:`spawnlp`, :func:" "`spawnlpe`, :func:`spawnvp` and :func:`spawnvpe` are not available on " @@ -6148,19 +6190,19 @@ msgstr "" "Windows. :func:`spawnle` e :func:`spawnve` não são seguros para thread no " "Windows; recomendamos que você use o módulo :mod:`subprocess`." -#: ../../library/os.rst:4128 +#: ../../library/os.rst:4153 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." -#: ../../library/os.rst:4138 +#: ../../library/os.rst:4163 msgid "" "Possible value for the *mode* parameter to the :func:`spawn\\* ` " "family of functions. If this is given as *mode*, the :func:`spawn\\*` " @@ -6168,13 +6210,13 @@ msgid "" "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:4150 +#: ../../library/os.rst:4175 msgid "" "Possible values for the *mode* parameter to the :func:`spawn\\* ` " "family of functions. These are less portable than those listed above. :" @@ -6183,18 +6225,18 @@ msgid "" "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. :" +"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:4161 +#: ../../library/os.rst:4186 msgid "Start a file with its associated application." msgstr "Inicia um arquivo com sua aplicação associada." -#: ../../library/os.rst:4163 +#: ../../library/os.rst:4188 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 " @@ -6208,7 +6250,7 @@ msgstr "" "interativo de comandos: o arquivo é aberto com qualquer aplicação (se " "houver) com a extensão associada." -#: ../../library/os.rst:4168 +#: ../../library/os.rst:4193 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 " @@ -6221,17 +6263,17 @@ msgstr "" "em arquivos), bem como ``'explore'`` e ``'find'`` (para serem usados em " "diretórios)." -#: ../../library/os.rst:4173 +#: ../../library/os.rst:4198 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:4177 +#: ../../library/os.rst:4202 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 " @@ -6241,7 +6283,7 @@ msgstr "" "argumento *cwd*. Este deve ser um caminho absoluto. Um *path* relativo será " "resolvido levando em consideração este argumento." -#: ../../library/os.rst:4181 +#: ../../library/os.rst:4206 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 " @@ -6251,7 +6293,7 @@ msgstr "" "efeito irá depender da aplicação sendo iniciada. Os valores são inteiros " "conforme suportado pela função Win32 :c:func:`ShellExecute`." -#: ../../library/os.rst:4185 +#: ../../library/os.rst:4210 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 " @@ -6269,7 +6311,7 @@ msgstr "" "a função :func:`os.path.normpath` para garantir que os caminhos sejam " "codificados corretamente para Win32." -#: ../../library/os.rst:4193 +#: ../../library/os.rst:4218 msgid "" "To reduce interpreter startup overhead, the Win32 :c:func:`ShellExecute` " "function is not resolved until this function is first called. If the " @@ -6280,23 +6322,23 @@ msgstr "" "primeira vez. Se a função não puder ser resolvida, :exc:" "`NotImplementedError` será levantada." -#: ../../library/os.rst:4197 +#: ../../library/os.rst:4222 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:4199 +#: ../../library/os.rst:4224 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:4203 +#: ../../library/os.rst:4228 msgid "" "Added the *arguments*, *cwd* and *show_cmd* arguments, and the ``os." "startfile/2`` audit event." @@ -6304,7 +6346,7 @@ msgstr "" "Adicionados os argumentos *arguments*, *cwd* e *show_cmd*, e o evento de " "auditoria ``os.startfile/2``." -#: ../../library/os.rst:4210 +#: ../../library/os.rst:4235 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 " @@ -6322,7 +6364,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:4218 +#: ../../library/os.rst:4243 msgid "" "On Unix, the return value is the exit status of the process encoded in the " "format specified for :func:`wait`." @@ -6330,7 +6372,7 @@ msgstr "" "No Unix, o valor de retorno é o status de saída do processo codificado no " "formato especificado para :func:`wait`." -#: ../../library/os.rst:4221 +#: ../../library/os.rst:4246 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 :" @@ -6344,7 +6386,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:4227 +#: ../../library/os.rst:4252 msgid "" "The :mod:`subprocess` module provides more powerful facilities for spawning " "new processes and retrieving their results; using that module is preferable " @@ -6356,7 +6398,7 @@ msgstr "" "esta função. Veja a seção :ref:`subprocess-replacements` na documentação do :" "mod:`subprocess` para algumas receitas úteis." -#: ../../library/os.rst:4232 +#: ../../library/os.rst:4257 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 " @@ -6366,7 +6408,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:4236 +#: ../../library/os.rst:4261 msgid "" "Raises an :ref:`auditing event ` ``os.system`` with argument " "``command``." @@ -6374,59 +6416,56 @@ msgstr "" "Levanta um :ref:`evento de auditoria ` ``os.system`` com o " "argumento ``command``." -#: ../../library/os.rst:4243 +#: ../../library/os.rst:4268 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:4246 -msgid ":attr:`user` - user time" -msgstr ":attr:`user` - tempo do usuário" +#: ../../library/os.rst:4271 +msgid ":attr:`!user` - user time" +msgstr ":attr:`!user` - tempo do usuário" -#: ../../library/os.rst:4247 -msgid ":attr:`system` - system time" -msgstr ":attr:`system` - tempo do sistema" +#: ../../library/os.rst:4272 +msgid ":attr:`!system` - system time" +msgstr ":attr:`!system` - tempo do sistema" -#: ../../library/os.rst:4248 -msgid ":attr:`children_user` - user time of all child processes" -msgstr ":attr:`children_user` - tempo do usuário de todos os processo filhos" +#: ../../library/os.rst:4273 +msgid ":attr:`!children_user` - user time of all child processes" +msgstr ":attr:`!children_user` - tempo do usuário de todos os processos filhos" -#: ../../library/os.rst:4249 -msgid ":attr:`children_system` - system time of all child processes" -msgstr ":attr:`children_system` - tempo do sistema de todos os processo filhos" +#: ../../library/os.rst:4274 +msgid ":attr:`!children_system` - system time of all child processes" +msgstr "" +":attr:`!children_system` - tempo do sistema de todos os processos filhos" -#: ../../library/os.rst:4250 -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:4275 +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:4252 +#: ../../library/os.rst:4277 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." +"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:4256 +#: ../../library/os.rst:4281 msgid "" -"See the Unix manual page :manpage:`times(2)` and :manpage:`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." +"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 :manpage:`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:4270 +#: ../../library/os.rst:4295 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 " @@ -6436,11 +6475,11 @@ 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:4276 ../../library/os.rst:4381 +#: ../../library/os.rst:4301 ../../library/os.rst:4406 msgid "" ":func:`waitstatus_to_exitcode` can be used to convert the exit status into " "an exit code." @@ -6448,7 +6487,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:4283 +#: ../../library/os.rst:4308 msgid "" ":func:`waitpid` can be used to wait for the completion of a specific child " "process and has more options." @@ -6456,7 +6495,7 @@ msgstr "" ":func:`waitpid` pode ser usado para aguardar a conclusão de um processo " "filho específico e tem mais opções." -#: ../../library/os.rst:4288 +#: ../../library/os.rst:4313 msgid "" "Wait for the completion of one or more child processes. *idtype* can be :" "data:`P_PID`, :data:`P_PGID`, :data:`P_ALL`, or :data:`P_PIDFD` on Linux. " @@ -6479,7 +6518,7 @@ msgstr "" "`si_code` ou ``None`` se :data:`WNOHANG` for especificado e não houver " "filhos em um estado de espera." -#: ../../library/os.rst:4308 +#: ../../library/os.rst:4333 msgid "" "These are the possible values for *idtype* in :func:`waitid`. They affect " "how *id* is interpreted." @@ -6487,7 +6526,7 @@ msgstr "" "Estes são os valores possíveis para *idtype* em :func:`waitid`. Eles afetam " "como *id* é interpretado." -#: ../../library/os.rst:4317 +#: ../../library/os.rst:4342 msgid "" "This is a Linux-specific *idtype* that indicates that *id* is a file " "descriptor that refers to a process." @@ -6495,11 +6534,11 @@ msgstr "" "Este é um *idtype* específico do Linux que indica que *id* é um descritor de " "arquivo que se refere a um processo." -#: ../../library/os.rst:4321 +#: ../../library/os.rst:4346 msgid ":ref:`Availability `: Linux 5.4+" msgstr ":ref:`Disponibilidade `: Linux 5.4+" -#: ../../library/os.rst:4328 +#: ../../library/os.rst:4353 msgid "" "Flags that can be used in *options* in :func:`waitid` that specify what " "child signal to wait for." @@ -6507,7 +6546,7 @@ msgstr "" "Sinalizadores que podem ser usados em *options* em :func:`waitid` que " "especificam por qual sinal filho esperar." -#: ../../library/os.rst:4343 +#: ../../library/os.rst:4368 msgid "" "These are the possible values for :attr:`si_code` in the result returned by :" "func:`waitid`." @@ -6515,15 +6554,15 @@ msgstr "" "Estes são os valores possíveis para :attr:`si_code` no resultado retornado " "por :func:`waitid`." -#: ../../library/os.rst:4350 +#: ../../library/os.rst:4375 msgid "Added :data:`CLD_KILLED` and :data:`CLD_STOPPED` values." msgstr "Adicionados os valores :data:`CLD_KILLED` e :data:`CLD_STOPPED`." -#: ../../library/os.rst:4356 +#: ../../library/os.rst:4381 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:4358 +#: ../../library/os.rst:4383 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 " @@ -6531,13 +6570,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:4363 +#: ../../library/os.rst:4388 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 " @@ -6553,7 +6592,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:4370 +#: ../../library/os.rst:4395 msgid "" "An :exc:`OSError` is raised with the value of errno when the syscall returns " "-1." @@ -6561,7 +6600,7 @@ msgstr "" "Uma :exc:`OSError` é levantada com o valor de errno quando a chamada de " "sistema retorna -1." -#: ../../library/os.rst:4373 +#: ../../library/os.rst:4398 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 " @@ -6572,7 +6611,7 @@ msgid "" "`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 " @@ -6582,7 +6621,7 @@ msgstr "" "`spawn\\* ` chamadas com :const:`P_NOWAIT` retornam manipuladores de " "processo adequados." -#: ../../library/os.rst:4392 +#: ../../library/os.rst:4417 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 " @@ -6597,7 +6636,7 @@ msgstr "" "sobre as informações de uso de recursos. O argumento da opção é o mesmo " "fornecido para :func:`waitpid` e :func:`wait4`." -#: ../../library/os.rst:4399 ../../library/os.rst:4413 +#: ../../library/os.rst:4424 ../../library/os.rst:4438 msgid "" ":func:`waitstatus_to_exitcode` can be used to convert the exit status into " "an exitcode." @@ -6605,7 +6644,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:4407 +#: ../../library/os.rst:4432 msgid "" "Similar to :func:`waitpid`, except a 3-element tuple, containing the child's " "process id, exit status indication, and resource usage information is " @@ -6620,15 +6659,15 @@ msgstr "" "argumentos para :func:`wait4` são os mesmos que aqueles fornecidos a :func:" "`waitpid`." -#: ../../library/os.rst:4421 +#: ../../library/os.rst:4446 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:4423 +#: ../../library/os.rst:4448 msgid "On Unix:" msgstr "No Unix:" -#: ../../library/os.rst:4425 +#: ../../library/os.rst:4450 msgid "" "If the process exited normally (if ``WIFEXITED(status)`` is true), return " "the process exit status (return ``WEXITSTATUS(status)``): result greater " @@ -6638,7 +6677,7 @@ msgstr "" "retorna o status de saída do processo (retorna ``WEXITSTATUS(status)``): " "resultado maior ou igual a 0." -#: ../../library/os.rst:4428 +#: ../../library/os.rst:4453 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 " @@ -6650,15 +6689,15 @@ msgstr "" "causou o encerramento do processo (retorna ``-WTERMSIG(status)``): resultado " "menor que 0." -#: ../../library/os.rst:4432 +#: ../../library/os.rst:4457 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:4434 +#: ../../library/os.rst:4459 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:4436 +#: ../../library/os.rst:4461 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 " @@ -6670,7 +6709,7 @@ msgstr "" "``WIFSTOPPED(status)`` é verdadeiro. Esta função não deve ser chamada se " "``WIFSTOPPED(status)`` for verdadeiro." -#: ../../library/os.rst:4443 +#: ../../library/os.rst:4468 msgid "" ":func:`WIFEXITED`, :func:`WEXITSTATUS`, :func:`WIFSIGNALED`, :func:" "`WTERMSIG`, :func:`WIFSTOPPED`, :func:`WSTOPSIG` functions." @@ -6678,7 +6717,7 @@ msgstr "" "As funções :func:`WIFEXITED`, :func:`WEXITSTATUS`, :func:`WIFSIGNALED`, :" "func:`WTERMSIG`, :func:`WIFSTOPPED`, :func:`WSTOPSIG`." -#: ../../library/os.rst:4451 +#: ../../library/os.rst:4476 msgid "" "The option for :func:`waitpid` to return immediately if no child process " "status is available immediately. The function returns ``(0, 0)`` in this " @@ -6688,7 +6727,7 @@ msgstr "" "processo filho estiver disponível imediatamente. A função retorna ``(0, 0)`` " "neste caso." -#: ../../library/os.rst:4459 +#: ../../library/os.rst:4484 msgid "" "This option causes child processes to be reported if they have been " "continued from a job control stop since their status was last reported." @@ -6697,11 +6736,11 @@ msgstr "" "continuados a partir de uma parada de controle de tarefa desde que seu " "status foi relatado pela última vez." -#: ../../library/os.rst:4462 +#: ../../library/os.rst:4487 msgid ":ref:`Availability `: some Unix systems." msgstr ":ref:`Disponibilidade `: alguns sistemas Unix." -#: ../../library/os.rst:4467 +#: ../../library/os.rst:4492 msgid "" "This option causes child processes to be reported if they have been stopped " "but their current state has not been reported since they were stopped." @@ -6710,7 +6749,7 @@ msgstr "" "sido interrompidos, mas seu estado atual não foi relatado desde que foram " "interrompidos." -#: ../../library/os.rst:4473 +#: ../../library/os.rst:4498 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 " @@ -6718,22 +6757,22 @@ msgid "" 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:4479 +#: ../../library/os.rst:4504 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:4482 ../../library/os.rst:4548 +#: ../../library/os.rst:4507 ../../library/os.rst:4573 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:4489 +#: ../../library/os.rst:4514 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 " @@ -6743,11 +6782,11 @@ msgstr "" "`~signal.SIGCONT` (se o processo foi continuado de uma parada de controle de " "trabalho); caso contrário, retorna ``False``." -#: ../../library/os.rst:4493 +#: ../../library/os.rst:4518 msgid "See :data:`WCONTINUED` option." msgstr "Veja a opção :data:`WCONTINUED`." -#: ../../library/os.rst:4500 +#: ../../library/os.rst:4525 msgid "" "Return ``True`` if the process was stopped by delivery of a signal, " "otherwise return ``False``." @@ -6755,7 +6794,7 @@ msgstr "" "Retorna ``True`` se o processo foi interrompido pela entrega de um sinal; " "caso contrário, retorna ``False``." -#: ../../library/os.rst:4503 +#: ../../library/os.rst:4528 msgid "" ":func:`WIFSTOPPED` only returns ``True`` if the :func:`waitpid` call was " "done using :data:`WUNTRACED` option or when the process is being traced " @@ -6765,7 +6804,7 @@ msgstr "" "feita usando a opção :data:`WUNTRACED` ou quando o processo está sendo " "rastreado (veja :manpage:`ptrace(2)`)." -#: ../../library/os.rst:4511 +#: ../../library/os.rst:4536 msgid "" "Return ``True`` if the process was terminated by a signal, otherwise return " "``False``." @@ -6773,7 +6812,7 @@ msgstr "" "Retorna ``True`` se o processo foi encerrado por um sinal; caso contrário, " "retorna ``False``." -#: ../../library/os.rst:4519 +#: ../../library/os.rst:4544 msgid "" "Return ``True`` if the process exited terminated normally, that is, by " "calling ``exit()`` or ``_exit()``, or by returning from ``main()``; " @@ -6783,33 +6822,33 @@ msgstr "" "``exit()`` ou ``_exit()``, ou retornando de ``main()``; caso contrário, " "retorna ``False``." -#: ../../library/os.rst:4528 +#: ../../library/os.rst:4553 msgid "Return the process exit status." msgstr "Retorna o status de saída do processo." -#: ../../library/os.rst:4530 +#: ../../library/os.rst:4555 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:4537 +#: ../../library/os.rst:4562 msgid "Return the signal which caused the process to stop." msgstr "Retorna o sinal que causou a interrupção do processo." -#: ../../library/os.rst:4539 +#: ../../library/os.rst:4564 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:4546 +#: ../../library/os.rst:4571 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:4554 +#: ../../library/os.rst:4579 msgid "Interface to the scheduler" msgstr "Interface do agendador" -#: ../../library/os.rst:4556 +#: ../../library/os.rst:4581 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 " @@ -6819,7 +6858,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:4562 +#: ../../library/os.rst:4587 msgid "" "The following scheduling policies are exposed if they are supported by the " "operating system." @@ -6827,11 +6866,11 @@ msgstr "" "As políticas de agendamento a seguir serão expostas se houver suporte pelo " "sistema operacional." -#: ../../library/os.rst:4567 +#: ../../library/os.rst:4592 msgid "The default scheduling policy." msgstr "A política de agendamento padrão." -#: ../../library/os.rst:4571 +#: ../../library/os.rst:4596 msgid "" "Scheduling policy for CPU-intensive processes that tries to preserve " "interactivity on the rest of the computer." @@ -6839,25 +6878,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:4576 +#: ../../library/os.rst:4601 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:4580 +#: ../../library/os.rst:4605 msgid "Scheduling policy for sporadic server programs." msgstr "Política de agendamento para programas de servidor esporádicos." -#: ../../library/os.rst:4584 +#: ../../library/os.rst:4609 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:4588 +#: ../../library/os.rst:4613 msgid "A round-robin scheduling policy." msgstr "Uma política de agendamento round-robin." -#: ../../library/os.rst:4592 +#: ../../library/os.rst:4617 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 " @@ -6868,25 +6909,25 @@ msgstr "" "política de agendamento e a prioridade de seu filho são redefinidas para o " "padrão." -#: ../../library/os.rst:4599 +#: ../../library/os.rst:4624 msgid "" "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:" +"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:4603 +#: ../../library/os.rst:4628 msgid "At the moment, there is only one possible parameter:" msgstr "Neste momento, há somente um único parâmetro possível:" -#: ../../library/os.rst:4607 +#: ../../library/os.rst:4632 msgid "The scheduling priority for a scheduling policy." msgstr "A prioridade de agendamento para uma política de agendamento." -#: ../../library/os.rst:4612 +#: ../../library/os.rst:4637 msgid "" "Get the minimum priority value for *policy*. *policy* is one of the " "scheduling policy constants above." @@ -6894,7 +6935,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:4618 +#: ../../library/os.rst:4643 msgid "" "Get the maximum priority value for *policy*. *policy* is one of the " "scheduling policy constants above." @@ -6902,7 +6943,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:4624 +#: ../../library/os.rst:4649 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 " @@ -6912,7 +6953,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:4631 +#: ../../library/os.rst:4656 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 " @@ -6922,7 +6963,7 @@ msgstr "" "0 significa o processo de chamada. O resultado é uma das constantes de " "política de agendamento acima." -#: ../../library/os.rst:4638 +#: ../../library/os.rst:4663 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." @@ -6931,7 +6972,7 @@ msgstr "" "de 0 significa o processo de chamada. *param* é uma instância de :class:" "`sched_param`." -#: ../../library/os.rst:4644 +#: ../../library/os.rst:4669 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." @@ -6940,7 +6981,7 @@ msgstr "" "`sched_param` para o processo com PID *pid*. Um *pid* de 0 significa o " "processo de chamada." -#: ../../library/os.rst:4650 +#: ../../library/os.rst:4675 msgid "" "Return the round-robin quantum in seconds for the process with PID *pid*. A " "*pid* of 0 means the calling process." @@ -6948,11 +6989,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:4656 +#: ../../library/os.rst:4681 msgid "Voluntarily relinquish the CPU." msgstr "Libera a CPU voluntariamente." -#: ../../library/os.rst:4661 +#: ../../library/os.rst:4686 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 " @@ -6962,7 +7003,7 @@ 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:4668 +#: ../../library/os.rst:4693 msgid "" "Return the set of CPUs the process with PID *pid* (or the current process if " "zero) is restricted to." @@ -6970,11 +7011,11 @@ msgstr "" "Retorna o conjunto de CPUs ao qual o processo com PID *pid* (ou o processo " "atual se zero) está restrito." -#: ../../library/os.rst:4675 +#: ../../library/os.rst:4700 msgid "Miscellaneous System Information" msgstr "Diversas informações de sistema" -#: ../../library/os.rst:4680 +#: ../../library/os.rst:4705 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 " @@ -6989,11 +7030,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:4688 +#: ../../library/os.rst:4713 msgid "" "If the configuration value specified by *name* isn't defined, ``None`` is " "returned." @@ -7001,7 +7042,7 @@ msgstr "" "Se o valor de configuração especificado por *name* não for definido, retorna " "``None``." -#: ../../library/os.rst:4691 +#: ../../library/os.rst:4716 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 " @@ -7009,11 +7050,11 @@ msgid "" "`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:4701 +#: ../../library/os.rst:4726 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 " @@ -7021,26 +7062,26 @@ 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:4710 +#: ../../library/os.rst:4735 msgid "" "Return the number of CPUs in the system. Returns ``None`` if undetermined." msgstr "" "Retorna o número de CPUs do sistema. Retorna ``None`` se não determinado." -#: ../../library/os.rst:4712 +#: ../../library/os.rst:4737 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))``" 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." +"usar. O número de CPUs utilizáveis pode ser obtido com ``len(os." "sched_getaffinity(0))``" -#: ../../library/os.rst:4722 +#: ../../library/os.rst:4747 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 " @@ -7050,7 +7091,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:4731 +#: ../../library/os.rst:4756 msgid "" "Return integer-valued system configuration values. If the configuration " "value specified by *name* isn't defined, ``-1`` is returned. The comments " @@ -7064,26 +7105,26 @@ msgstr "" "aplicam aqui também; o dicionário que fornece informações sobre os nomes " "conhecidos é fornecido por ``sysconf_names``." -#: ../../library/os.rst:4741 +#: ../../library/os.rst:4766 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:4747 +#: ../../library/os.rst:4772 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:4750 +#: ../../library/os.rst:4775 msgid "" "Higher-level operations on pathnames are defined in the :mod:`os.path` " "module." @@ -7091,7 +7132,7 @@ msgstr "" "Operações de nível mais alto em nomes de caminho são definidos no módulo :" "mod:`os.path`." -#: ../../library/os.rst:4756 +#: ../../library/os.rst:4781 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:" @@ -7101,7 +7142,7 @@ msgstr "" "diretório atual. Isso é ``'.'`` para Windows e POSIX. Também disponível via :" "mod:`os.path`." -#: ../../library/os.rst:4764 +#: ../../library/os.rst:4789 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:" @@ -7111,7 +7152,7 @@ msgstr "" "diretório pai. Isso é ``'..'`` para Windows e POSIX. Também disponível via :" "mod:`os.path`." -#: ../../library/os.rst:4773 +#: ../../library/os.rst:4798 msgid "" "The character used by the operating system to separate pathname components. " "This is ``'/'`` for POSIX and ``'\\\\'`` for Windows. Note that knowing " @@ -7125,7 +7166,7 @@ msgstr "" "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:4783 +#: ../../library/os.rst:4808 msgid "" "An alternative character used by the operating system to separate pathname " "components, or ``None`` if only one separator character exists. This is set " @@ -7137,7 +7178,7 @@ msgstr "" "existir. Isso é definido como ``'/'`` em sistemas Windows onde ``sep`` é uma " "contrabarra. Também disponível via :mod:`os.path`." -#: ../../library/os.rst:4792 +#: ../../library/os.rst:4817 msgid "" "The character which separates the base filename from the extension; for " "example, the ``'.'`` in :file:`os.py`. Also available via :mod:`os.path`." @@ -7145,7 +7186,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:4800 +#: ../../library/os.rst:4825 msgid "" "The character conventionally used by the operating system to separate search " "path components (as in :envvar:`PATH`), such as ``':'`` for POSIX or ``';'`` " @@ -7155,17 +7196,17 @@ 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:4807 +#: ../../library/os.rst:4832 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`." -#: ../../library/os.rst:4814 +#: ../../library/os.rst:4839 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 " @@ -7179,7 +7220,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:4823 +#: ../../library/os.rst:4848 msgid "" "The file path of the null device. For example: ``'/dev/null'`` for POSIX, " "``'nul'`` for Windows. Also available via :mod:`os.path`." @@ -7187,7 +7228,7 @@ 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:4834 +#: ../../library/os.rst:4859 msgid "" "Flags for use with the :func:`~sys.setdlopenflags` and :func:`~sys." "getdlopenflags` functions. See the Unix manual page :manpage:`dlopen(3)` " @@ -7197,11 +7238,11 @@ msgstr "" "`~sys.getdlopenflags`. Veja a página man do Unix :manpage:`dlopen(3)` para " "saber o que significam os diferentes sinalizadores." -#: ../../library/os.rst:4842 +#: ../../library/os.rst:4867 msgid "Random numbers" msgstr "Números aleatórios" -#: ../../library/os.rst:4847 +#: ../../library/os.rst:4872 msgid "" "Get up to *size* random bytes. The function can return less bytes than " "requested." @@ -7209,15 +7250,15 @@ msgstr "" "Obtém até *size* bytes aleatórios. Esta função pode retornar menos bytes que " "a quantia requisitada." -#: ../../library/os.rst:4850 +#: ../../library/os.rst:4875 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:4853 +#: ../../library/os.rst:4878 msgid "" "``getrandom()`` relies on entropy gathered from device drivers and other " "sources of environmental noise. Unnecessarily reading large quantities of " @@ -7229,7 +7270,7 @@ msgstr "" "quantidades de dados terá um impacto negativo sobre outros usuários dos " "dispositivos ``/dev/random`` e ``/dev/urandom``." -#: ../../library/os.rst:4858 +#: ../../library/os.rst:4883 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:" @@ -7239,25 +7280,26 @@ msgstr "" "dos seguintes valores operados com OU juntos: :py:data:`os.GRND_RANDOM` e :" "py:data:`GRND_NONBLOCK`." -#: ../../library/os.rst:4862 +#: ../../library/os.rst:4887 msgid "" -"See also the `Linux getrandom() manual page `_." +"See also the `Linux getrandom() manual page `_." msgstr "" -"Veja também `A página do manual do Linux sobre getrandom() `_." +"Veja também a `página de manual do getrandom() `_ do Linux." -#: ../../library/os.rst:4866 +#: ../../library/os.rst:4891 msgid ":ref:`Availability `: Linux 3.17 and newer." msgstr ":ref:`Disponibilidade`: Linux 3.17 e mais novos." -#: ../../library/os.rst:4871 -msgid "Return a string of *size* random bytes suitable for cryptographic use." +#: ../../library/os.rst:4896 +msgid "" +"Return a bytestring of *size* random bytes suitable for cryptographic use." msgstr "" -"Retorna uma string 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:4873 +#: ../../library/os.rst:4898 msgid "" "This function returns random bytes from an OS-specific randomness source. " "The returned data should be unpredictable enough for cryptographic " @@ -7268,7 +7310,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:4877 +#: ../../library/os.rst:4902 msgid "" "On Linux, if the ``getrandom()`` syscall is available, it is used in " "blocking mode: block until the system urandom entropy pool is initialized " @@ -7285,7 +7327,7 @@ msgstr "" "sinalização :data:`GRND_NONBLOCK`) ou para pesquisar até que o pool de " "entropia urandom do sistema seja inicializado." -#: ../../library/os.rst:4884 +#: ../../library/os.rst:4909 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, " @@ -7295,11 +7337,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:4888 +#: ../../library/os.rst:4913 msgid "On Windows, it will use ``CryptGenRandom()``." msgstr "No Windows, será usado ``CryptGenRandom()``." -#: ../../library/os.rst:4891 +#: ../../library/os.rst:4916 msgid "" "The :mod:`secrets` module provides higher level functions. For an easy-to-" "use interface to the random number generator provided by your platform, " @@ -7309,7 +7351,7 @@ 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:4895 +#: ../../library/os.rst:4920 msgid "" "On Linux, ``getrandom()`` is now used in blocking mode to increase the " "security." @@ -7317,7 +7359,7 @@ msgstr "" "No Linux, ``getrandom()`` é usado agora no modo de bloqueio para aumentar a " "segurança." -#: ../../library/os.rst:4899 +#: ../../library/os.rst:4924 msgid "" "On Linux, if the ``getrandom()`` syscall blocks (the urandom entropy pool is " "not initialized yet), fall back on reading ``/dev/urandom``." @@ -7326,7 +7368,7 @@ msgstr "" "entropia urandom ainda não foi inicializado), recorre à leitura ``/dev/" "urandom``." -#: ../../library/os.rst:4903 +#: ../../library/os.rst:4928 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 " @@ -7337,7 +7379,7 @@ msgstr "" "``getentropy()`` agora é usada. Essas funções evitam o uso de um descritor " "de arquivo interno." -#: ../../library/os.rst:4911 +#: ../../library/os.rst:4936 msgid "" "By default, when reading from ``/dev/random``, :func:`getrandom` blocks if " "no random bytes are available, and when reading from ``/dev/urandom``, it " @@ -7345,9 +7387,9 @@ 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:4915 +#: ../../library/os.rst:4940 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`." @@ -7356,10 +7398,10 @@ msgstr "" "`getrandom` não bloqueia nesses casos, mas, em vez disso, levanta :exc:" "`BlockingIOError` imediatamente." -#: ../../library/os.rst:4922 +#: ../../library/os.rst:4947 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``." diff --git a/library/ossaudiodev.po b/library/ossaudiodev.po index e2113c81f..f0b8d71b1 100644 --- a/library/ossaudiodev.po +++ b/library/ossaudiodev.po @@ -1,36 +1,39 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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 -# Claudio Rogerio Carvalho Filho , 2021 -# i17obot , 2021 -# Danilo Lima , 2021 +# python-doc bot, 2025 # #, 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:10+0000\n" -"Last-Translator: Danilo Lima , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:58+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/ossaudiodev.rst:2 msgid ":mod:`ossaudiodev` --- Access to OSS-compatible audio devices" msgstr "" -#: ../../library/ossaudiodev.rst:10 +#: ../../library/ossaudiodev.rst:9 +msgid "" +"The :mod:`ossaudiodev` module is deprecated (see :pep:`PEP 594 " +"<594#ossaudiodev>` for details)." +msgstr "" + +#: ../../library/ossaudiodev.rst:15 msgid "" "This module allows you to access the OSS (Open Sound System) audio " "interface. OSS is available for a wide range of open-source and commercial " @@ -38,7 +41,7 @@ msgid "" "FreeBSD." msgstr "" -#: ../../library/ossaudiodev.rst:42 +#: ../../library/ossaudiodev.rst:47 msgid "" "Operations in this module now raise :exc:`OSError` where :exc:`IOError` was " "raised." @@ -46,33 +49,33 @@ msgstr "" "As operações neste módulo agora levantam :exc:`OSError` onde :exc:`IOError` " "foi levantado." -#: ../../library/ossaudiodev.rst:50 +#: ../../library/ossaudiodev.rst:55 msgid "" "`Open Sound System Programmer's Guide `_" msgstr "" -#: ../../library/ossaudiodev.rst:50 +#: ../../library/ossaudiodev.rst:55 msgid "the official documentation for the OSS C API" msgstr "" -#: ../../library/ossaudiodev.rst:52 +#: ../../library/ossaudiodev.rst:57 msgid "" "The module defines a large number of constants supplied by the OSS device " "driver; see ```` on either Linux or FreeBSD for a listing." msgstr "" -#: ../../library/ossaudiodev.rst:55 +#: ../../library/ossaudiodev.rst:60 msgid ":mod:`ossaudiodev` defines the following variables and functions:" msgstr "" -#: ../../library/ossaudiodev.rst:60 +#: ../../library/ossaudiodev.rst:65 msgid "" "This exception is raised on certain errors. The argument is a string " "describing what went wrong." msgstr "" -#: ../../library/ossaudiodev.rst:63 +#: ../../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`. " @@ -80,13 +83,13 @@ msgid "" "`OSSAudioError`.)" msgstr "" -#: ../../library/ossaudiodev.rst:67 +#: ../../library/ossaudiodev.rst:72 msgid "" "(For backwards compatibility, the exception class is also available as " "``ossaudiodev.error``.)" msgstr "" -#: ../../library/ossaudiodev.rst:74 +#: ../../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 :" @@ -96,14 +99,14 @@ msgid "" "methods." msgstr "" -#: ../../library/ossaudiodev.rst:80 +#: ../../library/ossaudiodev.rst:85 msgid "" "*device* is the audio device filename to use. If it is not specified, this " "module first looks in the environment variable :envvar:`AUDIODEV` for a " "device to use. If not found, it falls back to :file:`/dev/dsp`." msgstr "" -#: ../../library/ossaudiodev.rst:84 +#: ../../library/ossaudiodev.rst:89 msgid "" "*mode* is one of ``'r'`` for read-only (record) access, ``'w'`` for write-" "only (playback) access and ``'rw'`` for both. Since many sound cards only " @@ -113,14 +116,14 @@ msgid "" "not both at once." msgstr "" -#: ../../library/ossaudiodev.rst:91 +#: ../../library/ossaudiodev.rst:96 msgid "" "Note the unusual calling syntax: the *first* argument is optional, and the " "second is required. This is a historical artifact for compatibility with " "the older :mod:`linuxaudiodev` module which :mod:`ossaudiodev` supersedes." msgstr "" -#: ../../library/ossaudiodev.rst:102 +#: ../../library/ossaudiodev.rst:107 msgid "" "Open a mixer device and return an OSS mixer device object. *device* is the " "mixer device filename to use. If it is not specified, this module first " @@ -128,53 +131,53 @@ msgid "" "If not found, it falls back to :file:`/dev/mixer`." msgstr "" -#: ../../library/ossaudiodev.rst:111 +#: ../../library/ossaudiodev.rst:116 msgid "Audio Device Objects" msgstr "" -#: ../../library/ossaudiodev.rst:113 +#: ../../library/ossaudiodev.rst:118 msgid "" "Before you can write to or read from an audio device, you must call three " "methods in the correct order:" msgstr "" -#: ../../library/ossaudiodev.rst:116 +#: ../../library/ossaudiodev.rst:121 msgid ":meth:`setfmt` to set the output format" msgstr "" -#: ../../library/ossaudiodev.rst:118 +#: ../../library/ossaudiodev.rst:123 msgid ":meth:`channels` to set the number of channels" msgstr "" -#: ../../library/ossaudiodev.rst:120 +#: ../../library/ossaudiodev.rst:125 msgid ":meth:`speed` to set the sample rate" msgstr "" -#: ../../library/ossaudiodev.rst:122 +#: ../../library/ossaudiodev.rst:127 msgid "" "Alternately, you can use the :meth:`setparameters` method to set all three " "audio parameters at once. This is more convenient, but may not be as " "flexible in all cases." msgstr "" -#: ../../library/ossaudiodev.rst:126 +#: ../../library/ossaudiodev.rst:131 msgid "" "The audio device objects returned by :func:`.open` define the following " "methods and (read-only) attributes:" msgstr "" -#: ../../library/ossaudiodev.rst:132 +#: ../../library/ossaudiodev.rst:137 msgid "" "Explicitly close the audio device. When you are done writing to or reading " "from an audio device, you should explicitly close it. A closed device " "cannot be used again." msgstr "" -#: ../../library/ossaudiodev.rst:139 +#: ../../library/ossaudiodev.rst:144 msgid "Return the file descriptor associated with the device." msgstr "" -#: ../../library/ossaudiodev.rst:144 +#: ../../library/ossaudiodev.rst:149 msgid "" "Read *size* bytes from the audio input and return them as a Python string. " "Unlike most Unix device drivers, OSS audio devices in blocking mode (the " @@ -182,7 +185,7 @@ msgid "" "is available." msgstr "" -#: ../../library/ossaudiodev.rst:152 +#: ../../library/ossaudiodev.rst:157 msgid "" "Write a :term:`bytes-like object` *data* to the audio device and return the " "number of bytes written. If the audio device is in blocking mode (the " @@ -191,11 +194,11 @@ msgid "" "data may not be written---see :meth:`writeall`." msgstr "" -#: ../../library/ossaudiodev.rst:158 ../../library/ossaudiodev.rst:172 +#: ../../library/ossaudiodev.rst:163 ../../library/ossaudiodev.rst:177 msgid "Writable :term:`bytes-like object` is now accepted." msgstr "" -#: ../../library/ossaudiodev.rst:164 +#: ../../library/ossaudiodev.rst:169 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 " @@ -206,13 +209,13 @@ msgid "" "of data supplied." msgstr "" -#: ../../library/ossaudiodev.rst:176 +#: ../../library/ossaudiodev.rst:181 msgid "" "Audio device objects also support the context management protocol, i.e. they " "can be used in a :keyword:`with` statement." msgstr "" -#: ../../library/ossaudiodev.rst:181 +#: ../../library/ossaudiodev.rst:186 msgid "" "The following methods each map to exactly one :c:func:`ioctl` system call. " "The correspondence is obvious: for example, :meth:`setfmt` corresponds to " @@ -226,103 +229,103 @@ msgstr "" "``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:190 +#: ../../library/ossaudiodev.rst:195 msgid "" "Put the device into non-blocking mode. Once in non-blocking mode, there is " "no way to return it to blocking mode." msgstr "" -#: ../../library/ossaudiodev.rst:196 +#: ../../library/ossaudiodev.rst:201 msgid "" "Return a bitmask of the audio output formats supported by the soundcard. " "Some of the formats supported by OSS are:" msgstr "" -#: ../../library/ossaudiodev.rst:200 +#: ../../library/ossaudiodev.rst:205 msgid "Format" msgstr "Formatação" -#: ../../library/ossaudiodev.rst:200 ../../library/ossaudiodev.rst:254 +#: ../../library/ossaudiodev.rst:205 ../../library/ossaudiodev.rst:259 msgid "Description" msgstr "Descrição" -#: ../../library/ossaudiodev.rst:202 +#: ../../library/ossaudiodev.rst:207 msgid ":const:`AFMT_MU_LAW`" msgstr ":const:`AFMT_MU_LAW`" -#: ../../library/ossaudiodev.rst:202 +#: ../../library/ossaudiodev.rst:207 msgid "" "a logarithmic encoding (used by Sun ``.au`` files and :file:`/dev/audio`)" msgstr "" -#: ../../library/ossaudiodev.rst:205 +#: ../../library/ossaudiodev.rst:210 msgid ":const:`AFMT_A_LAW`" msgstr ":const:`AFMT_A_LAW`" -#: ../../library/ossaudiodev.rst:205 +#: ../../library/ossaudiodev.rst:210 msgid "a logarithmic encoding" msgstr "" -#: ../../library/ossaudiodev.rst:207 +#: ../../library/ossaudiodev.rst:212 msgid ":const:`AFMT_IMA_ADPCM`" msgstr ":const:`AFMT_IMA_ADPCM`" -#: ../../library/ossaudiodev.rst:207 +#: ../../library/ossaudiodev.rst:212 msgid "" "a 4:1 compressed format defined by the Interactive Multimedia Association" msgstr "" -#: ../../library/ossaudiodev.rst:210 +#: ../../library/ossaudiodev.rst:215 msgid ":const:`AFMT_U8`" msgstr ":const:`AFMT_U8`" -#: ../../library/ossaudiodev.rst:210 +#: ../../library/ossaudiodev.rst:215 msgid "Unsigned, 8-bit audio" msgstr "" -#: ../../library/ossaudiodev.rst:212 +#: ../../library/ossaudiodev.rst:217 msgid ":const:`AFMT_S16_LE`" msgstr ":const:`AFMT_S16_LE`" -#: ../../library/ossaudiodev.rst:212 +#: ../../library/ossaudiodev.rst:217 msgid "" "Signed, 16-bit audio, little-endian byte order (as used by Intel processors)" msgstr "" -#: ../../library/ossaudiodev.rst:215 +#: ../../library/ossaudiodev.rst:220 msgid ":const:`AFMT_S16_BE`" msgstr ":const:`AFMT_S16_BE`" -#: ../../library/ossaudiodev.rst:215 +#: ../../library/ossaudiodev.rst:220 msgid "" "Signed, 16-bit audio, big-endian byte order (as used by 68k, PowerPC, Sparc)" msgstr "" -#: ../../library/ossaudiodev.rst:218 +#: ../../library/ossaudiodev.rst:223 msgid ":const:`AFMT_S8`" msgstr ":const:`AFMT_S8`" -#: ../../library/ossaudiodev.rst:218 +#: ../../library/ossaudiodev.rst:223 msgid "Signed, 8 bit audio" msgstr "" -#: ../../library/ossaudiodev.rst:220 +#: ../../library/ossaudiodev.rst:225 msgid ":const:`AFMT_U16_LE`" msgstr ":const:`AFMT_U16_LE`" -#: ../../library/ossaudiodev.rst:220 +#: ../../library/ossaudiodev.rst:225 msgid "Unsigned, 16-bit little-endian audio" msgstr "" -#: ../../library/ossaudiodev.rst:222 +#: ../../library/ossaudiodev.rst:227 msgid ":const:`AFMT_U16_BE`" msgstr ":const:`AFMT_U16_BE`" -#: ../../library/ossaudiodev.rst:222 +#: ../../library/ossaudiodev.rst:227 msgid "Unsigned, 16-bit big-endian audio" msgstr "" -#: ../../library/ossaudiodev.rst:225 +#: ../../library/ossaudiodev.rst:230 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 " @@ -330,7 +333,7 @@ msgid "" "const:`AFMT_S16_LE`." msgstr "" -#: ../../library/ossaudiodev.rst:233 +#: ../../library/ossaudiodev.rst:238 msgid "" "Try to set the current audio format to *format*---see :meth:`getfmts` for a " "list. Returns the audio format that the device was set to, which may not be " @@ -338,7 +341,7 @@ msgid "" "do this by passing an \"audio format\" of :const:`AFMT_QUERY`." msgstr "" -#: ../../library/ossaudiodev.rst:241 +#: ../../library/ossaudiodev.rst:246 msgid "" "Set the number of output channels to *nchannels*. A value of 1 indicates " "monophonic sound, 2 stereophonic. Some devices may have more than 2 " @@ -346,68 +349,68 @@ msgid "" "of channels the device was set to." msgstr "" -#: ../../library/ossaudiodev.rst:249 +#: ../../library/ossaudiodev.rst:254 msgid "" "Try to set the audio sampling rate to *samplerate* samples per second. " "Returns the rate actually set. Most sound devices don't support arbitrary " "sampling rates. Common rates are:" msgstr "" -#: ../../library/ossaudiodev.rst:254 +#: ../../library/ossaudiodev.rst:259 msgid "Rate" msgstr "" -#: ../../library/ossaudiodev.rst:256 +#: ../../library/ossaudiodev.rst:261 msgid "8000" msgstr "" -#: ../../library/ossaudiodev.rst:256 +#: ../../library/ossaudiodev.rst:261 msgid "default rate for :file:`/dev/audio`" msgstr "" -#: ../../library/ossaudiodev.rst:258 +#: ../../library/ossaudiodev.rst:263 msgid "11025" msgstr "" -#: ../../library/ossaudiodev.rst:258 +#: ../../library/ossaudiodev.rst:263 msgid "speech recording" msgstr "" -#: ../../library/ossaudiodev.rst:260 +#: ../../library/ossaudiodev.rst:265 msgid "22050" msgstr "22050" -#: ../../library/ossaudiodev.rst:262 +#: ../../library/ossaudiodev.rst:267 msgid "44100" msgstr "44100" -#: ../../library/ossaudiodev.rst:262 +#: ../../library/ossaudiodev.rst:267 msgid "CD quality audio (at 16 bits/sample and 2 channels)" msgstr "" -#: ../../library/ossaudiodev.rst:265 +#: ../../library/ossaudiodev.rst:270 msgid "96000" msgstr "" -#: ../../library/ossaudiodev.rst:265 +#: ../../library/ossaudiodev.rst:270 msgid "DVD quality audio (at 24 bits/sample)" msgstr "" -#: ../../library/ossaudiodev.rst:271 +#: ../../library/ossaudiodev.rst:276 msgid "" "Wait until the sound device has played every byte in its buffer. (This " "happens implicitly when the device is closed.) The OSS documentation " "recommends closing and re-opening the device rather than using :meth:`sync`." msgstr "" -#: ../../library/ossaudiodev.rst:278 +#: ../../library/ossaudiodev.rst:283 msgid "" "Immediately stop playing or recording and return the device to a state where " "it can accept commands. The OSS documentation recommends closing and re-" "opening the device after calling :meth:`reset`." msgstr "" -#: ../../library/ossaudiodev.rst:285 +#: ../../library/ossaudiodev.rst:290 msgid "" "Tell the driver that there is likely to be a pause in the output, making it " "possible for the device to handle the pause more intelligently. You might " @@ -415,13 +418,13 @@ msgid "" "or before doing disk I/O." msgstr "" -#: ../../library/ossaudiodev.rst:290 +#: ../../library/ossaudiodev.rst:295 msgid "" "The following convenience methods combine several ioctls, or one ioctl and " "some simple calculations." msgstr "" -#: ../../library/ossaudiodev.rst:296 +#: ../../library/ossaudiodev.rst:301 msgid "" "Set the key audio sampling parameters---sample format, number of channels, " "and sampling rate---in one method call. *format*, *nchannels*, and " @@ -434,73 +437,73 @@ msgid "" "`channels`, and :meth:`speed`)." msgstr "" -#: ../../library/ossaudiodev.rst:306 +#: ../../library/ossaudiodev.rst:311 msgid "For example, ::" msgstr "Por exemplo::" -#: ../../library/ossaudiodev.rst:310 +#: ../../library/ossaudiodev.rst:315 msgid "is equivalent to ::" msgstr "é equivalente a::" -#: ../../library/ossaudiodev.rst:319 +#: ../../library/ossaudiodev.rst:324 msgid "Returns the size of the hardware buffer, in samples." msgstr "" -#: ../../library/ossaudiodev.rst:324 +#: ../../library/ossaudiodev.rst:329 msgid "" "Returns the number of samples that are in the hardware buffer yet to be " "played." msgstr "" -#: ../../library/ossaudiodev.rst:329 +#: ../../library/ossaudiodev.rst:334 msgid "" "Returns the number of samples that could be queued into the hardware buffer " "to be played without blocking." msgstr "" -#: ../../library/ossaudiodev.rst:332 +#: ../../library/ossaudiodev.rst:337 msgid "Audio device objects also support several read-only attributes:" msgstr "" -#: ../../library/ossaudiodev.rst:337 +#: ../../library/ossaudiodev.rst:342 msgid "Boolean indicating whether the device has been closed." msgstr "" -#: ../../library/ossaudiodev.rst:342 +#: ../../library/ossaudiodev.rst:347 msgid "String containing the name of the device file." msgstr "" -#: ../../library/ossaudiodev.rst:347 +#: ../../library/ossaudiodev.rst:352 msgid "The I/O mode for the file, either ``\"r\"``, ``\"rw\"``, or ``\"w\"``." msgstr "" -#: ../../library/ossaudiodev.rst:353 +#: ../../library/ossaudiodev.rst:358 msgid "Mixer Device Objects" msgstr "" -#: ../../library/ossaudiodev.rst:355 +#: ../../library/ossaudiodev.rst:360 msgid "The mixer object provides two file-like methods:" msgstr "" -#: ../../library/ossaudiodev.rst:360 +#: ../../library/ossaudiodev.rst:365 msgid "" "This method closes the open mixer device file. Any further attempts to use " "the mixer after this file is closed will raise an :exc:`OSError`." msgstr "" -#: ../../library/ossaudiodev.rst:366 +#: ../../library/ossaudiodev.rst:371 msgid "Returns the file handle number of the open mixer device file." msgstr "" -#: ../../library/ossaudiodev.rst:368 +#: ../../library/ossaudiodev.rst:373 msgid "Mixer objects also support the context management protocol." msgstr "" -#: ../../library/ossaudiodev.rst:372 +#: ../../library/ossaudiodev.rst:377 msgid "The remaining methods are specific to audio mixing:" msgstr "Os métodos restantes são específicos para edição de áudio:" -#: ../../library/ossaudiodev.rst:377 +#: ../../library/ossaudiodev.rst:382 msgid "" "This method returns a bitmask specifying the available mixer controls " "(\"Control\" being a specific mixable \"channel\", such as :const:" @@ -510,7 +513,7 @@ msgid "" "mixer object supports a PCM mixer, use the following Python code::" msgstr "" -#: ../../library/ossaudiodev.rst:389 +#: ../../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 " @@ -518,7 +521,7 @@ msgid "" "Gravis Ultrasound, for example, :const:`SOUND_MIXER_VOLUME` does not exist." msgstr "" -#: ../../library/ossaudiodev.rst:397 +#: ../../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 " @@ -526,20 +529,20 @@ msgid "" "`controls` to determine which)." msgstr "" -#: ../../library/ossaudiodev.rst:402 +#: ../../library/ossaudiodev.rst:407 msgid "" "See the code example for the :meth:`controls` function for an example of " "getting data from a bitmask." msgstr "" -#: ../../library/ossaudiodev.rst:408 +#: ../../library/ossaudiodev.rst:413 msgid "" "Returns a bitmask specifying the mixer controls that may be used to record. " "See the code example for :meth:`controls` for an example of reading from a " "bitmask." msgstr "" -#: ../../library/ossaudiodev.rst:414 +#: ../../library/ossaudiodev.rst:419 msgid "" "Returns the volume of a given mixer control. The returned volume is a 2-" "tuple ``(left_volume,right_volume)``. Volumes are specified as numbers from " @@ -547,13 +550,13 @@ msgid "" "still returned, but both volumes are the same." msgstr "" -#: ../../library/ossaudiodev.rst:419 +#: ../../library/ossaudiodev.rst:424 msgid "" "Raises :exc:`OSSAudioError` if an invalid control is specified, or :exc:" "`OSError` if an unsupported control is specified." msgstr "" -#: ../../library/ossaudiodev.rst:425 +#: ../../library/ossaudiodev.rst:430 msgid "" "Sets the volume for a given mixer control to ``(left,right)``. ``left`` and " "``right`` must be ints and between 0 (silent) and 100 (full volume). On " @@ -562,19 +565,19 @@ msgid "" "of some soundcard's mixers." msgstr "" -#: ../../library/ossaudiodev.rst:431 +#: ../../library/ossaudiodev.rst:436 msgid "" "Raises :exc:`OSSAudioError` if an invalid mixer control was specified, or if " "the specified volumes were out-of-range." msgstr "" -#: ../../library/ossaudiodev.rst:437 +#: ../../library/ossaudiodev.rst:442 msgid "" "This method returns a bitmask indicating which control(s) are currently " "being used as a recording source." msgstr "" -#: ../../library/ossaudiodev.rst:443 +#: ../../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:" 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 42ea81fff..c870f00a4 100644 --- a/library/pathlib.po +++ b/library/pathlib.po @@ -1,29 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, Python Software 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 , 2021 +# python-doc bot, 2025 # #, 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:11+0000\n" -"Last-Translator: Rafael Fontenelle , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2026-03-25 18:42+0000\n" +"PO-Revision-Date: 2025-09-22 15:58+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/pathlib.rst:3 msgid ":mod:`pathlib` --- Object-oriented filesystem paths" @@ -58,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:29 msgid "Pure paths are useful in some special cases; for example:" @@ -72,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:34 msgid "" @@ -106,7 +104,7 @@ msgstr "Uso básico" #: ../../library/pathlib.rst:49 msgid "Importing the main class::" -msgstr "Importação da classe principal::" +msgstr "Importando a classe principal::" #: ../../library/pathlib.rst:53 msgid "Listing subdirectories::" @@ -147,8 +145,8 @@ 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:" +"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:107 @@ -167,31 +165,32 @@ msgstr "Quando *pathsegments* está vazio, o diretório atual é presumido::" #: ../../library/pathlib.rst:121 msgid "" -"When several absolute paths are given, the last is taken as an anchor " -"(mimicking :func:`os.path.join`'s behaviour)::" +"If a segment is an absolute path, all previous segments are ignored (like :" +"func:`os.path.join`)::" msgstr "" -"Quando vários caminhos absolutos são fornecidos, o último é tomado como uma " -"âncora (imitando o comportamento de :func:`os.path.join`)::" +"Se um segmento for um caminho absoluto, todos os segmentos anteriores serão " +"ignorados (como :func:`os.path.join`)::" #: ../../library/pathlib.rst:129 msgid "" -"However, in a Windows path, changing the local root doesn't discard the " -"previous drive setting::" +"On Windows, the drive is not reset when a rooted relative path segment (e." +"g., ``r'\\foo'``) is encountered::" msgstr "" -"No entanto, em um caminho do Windows, a alteração da raiz local não descarta " -"a configuração da unidade anterior::" +"No Windows, a unidade não é redefinida quando um segmento de caminho " +"relativo enraizado (por exemplo, ``r'\\foo'``) é encontrado::" #: ../../library/pathlib.rst:135 msgid "" "Spurious slashes and single dots are collapsed, but double dots (``'..'``) " -"are not, since this would change the meaning of a path in the face of " -"symbolic links::" +"and leading double slashes (``'//'``) are not, since this would change the " +"meaning of a path for various reasons (e.g. symbolic links, UNC paths)::" msgstr "" -"Barras espúrias e pontos únicos são recolhidos, mas os pontos duplos " -"(``'..'``) não, pois isso mudaria o significado de um caminho em face de " -"links simbólicos::" +"Barras espúrias e pontos simples são recolhidos, mas pontos duplos " +"(``'..'``) e barras duplas iniciais (``'//'``) não são, pois isso mudaria o " +"significado de um caminho por vários motivos (por exemplo, links simbólicos, " +"caminhos UNC)::" -#: ../../library/pathlib.rst:146 +#: ../../library/pathlib.rst:148 msgid "" "(a naïve approach would make ``PurePosixPath('foo/../bar')`` equivalent to " "``PurePosixPath('bar')``, which is wrong if ``foo`` is a symbolic link to " @@ -201,7 +200,7 @@ msgstr "" "equivalente a ``PurePosixPath('bar')``, o que é errado se ``foo`` for um " "link simbólico para outro diretório)" -#: ../../library/pathlib.rst:150 +#: ../../library/pathlib.rst:152 msgid "" "Pure path objects implement the :class:`os.PathLike` interface, allowing " "them to be used anywhere the interface is accepted." @@ -209,11 +208,11 @@ msgstr "" "Objetos caminho puro implementam a interface :class:`os.PathLike`, " "permitindo que sejam usados em qualquer lugar em que a interface seja aceita." -#: ../../library/pathlib.rst:153 +#: ../../library/pathlib.rst:155 msgid "Added support for the :class:`os.PathLike` interface." msgstr "Adicionado suporte para a interface :class:`os.PathLike`." -#: ../../library/pathlib.rst:158 +#: ../../library/pathlib.rst:160 msgid "" "A subclass of :class:`PurePath`, this path flavour represents non-Windows " "filesystem paths::" @@ -221,21 +220,21 @@ msgstr "" "Uma subclasse de :class:`PurePath`, este tipo de caminho representa caminhos " "de sistema de arquivos não Windows::" -#: ../../library/pathlib.rst:164 ../../library/pathlib.rst:174 -#: ../../library/pathlib.rst:638 ../../library/pathlib.rst:648 -#: ../../library/pathlib.rst:658 +#: ../../library/pathlib.rst:166 ../../library/pathlib.rst:178 +#: ../../library/pathlib.rst:671 ../../library/pathlib.rst:681 +#: ../../library/pathlib.rst:691 msgid "*pathsegments* is specified similarly to :class:`PurePath`." msgstr "*pathsegments* é especificado de forma similar para :class:`PurePath`." -#: ../../library/pathlib.rst:168 +#: ../../library/pathlib.rst:170 msgid "" "A subclass of :class:`PurePath`, this path flavour represents Windows " -"filesystem paths::" +"filesystem paths, including `UNC paths`_::" msgstr "" "Uma subclasse de :class:`PurePath`, este tipo de caminho representa os " -"caminhos do sistema de arquivos do Windows::" +"caminhos do sistema de arquivos do Windows, incluindo `Caminhos UNC`_::" -#: ../../library/pathlib.rst:176 +#: ../../library/pathlib.rst:182 msgid "" "Regardless of the system you're running on, you can instantiate all of these " "classes, since they don't provide any operation that does system calls." @@ -244,39 +243,43 @@ msgstr "" "todas essas classes, uma vez que elas não fornecem nenhuma operação que faça " "chamadas de sistema." -#: ../../library/pathlib.rst:181 +#: ../../library/pathlib.rst:187 msgid "General properties" msgstr "Propriedades gerais" -#: ../../library/pathlib.rst:183 +#: ../../library/pathlib.rst:189 msgid "" -"Paths are immutable and hashable. Paths of a same flavour are comparable " -"and orderable. These properties respect the flavour's case-folding " -"semantics::" +"Paths are immutable and :term:`hashable`. Paths of a same flavour are " +"comparable and orderable. These properties respect the flavour's case-" +"folding semantics::" msgstr "" -"Os caminhos são imutáveis e hasheáveis. Os caminhos do mesmo sabor são " -"comparáveis e ordenáveis. Essas propriedades respeitam a semântica de caixa " -"alta e baixa do sabor:" +"Os caminhos são imutáveis e :term:`hasheáveis `. Os caminhos do " +"mesmo sabor são comparáveis e ordenáveis. Essas propriedades respeitam a " +"semântica de caixa alta e baixa do sabor:" -#: ../../library/pathlib.rst:196 +#: ../../library/pathlib.rst:202 msgid "Paths of a different flavour compare unequal and cannot be ordered::" msgstr "" "Caminhos de um sabor diferente são comparados de forma desigual e não podem " "ser ordenados::" -#: ../../library/pathlib.rst:207 +#: ../../library/pathlib.rst:213 msgid "Operators" msgstr "Operadores" -#: ../../library/pathlib.rst:209 +#: ../../library/pathlib.rst:215 msgid "" -"The slash operator helps create child paths, similarly to :func:`os.path." -"join`::" +"The slash operator helps create child paths, like :func:`os.path.join`. If " +"the argument is an absolute path, the previous path is ignored. On Windows, " +"the drive is not reset when the argument is a rooted relative path (e.g., " +"``r'\\foo'``)::" msgstr "" -"O operador barra ajuda a criar caminhos filhos, de forma semelhante a :func:" -"`os.path.join`::" +"O operador barra ajuda a criar caminhos filhos, como :func:`os.path.join`. " +"Se o argumento for um caminho absoluto, o caminho anterior será ignorado. No " +"Windows, a unidade não é redefinida quando o argumento é um caminho relativo " +"enraizado (por exemplo, ``r'\\foo'``)::" -#: ../../library/pathlib.rst:220 +#: ../../library/pathlib.rst:233 msgid "" "A path object can be used anywhere an object implementing :class:`os." "PathLike` is accepted::" @@ -284,7 +287,7 @@ msgstr "" "Um objeto de caminho pode ser usado em qualquer lugar em que um objeto " "implementando :class:`os.PathLike` seja aceito::" -#: ../../library/pathlib.rst:228 +#: ../../library/pathlib.rst:241 msgid "" "The string representation of a path is the raw filesystem path itself (in " "native form, e.g. with backslashes under Windows), which you can pass to any " @@ -295,7 +298,7 @@ msgstr "" "que você pode passar para qualquer função usando um caminho de arquivo como " "uma string::" -#: ../../library/pathlib.rst:239 +#: ../../library/pathlib.rst:252 msgid "" "Similarly, calling :class:`bytes` on a path gives the raw filesystem path as " "a bytes object, as encoded by :func:`os.fsencode`::" @@ -304,7 +307,7 @@ msgstr "" "sistema de arquivos bruto como um objeto bytes, codificado por :func:`os." "fsencode`::" -#: ../../library/pathlib.rst:246 +#: ../../library/pathlib.rst:259 msgid "" "Calling :class:`bytes` is only recommended under Unix. Under Windows, the " "unicode form is the canonical representation of filesystem paths." @@ -312,11 +315,11 @@ msgstr "" "A chamada de :class:`bytes` só é recomendada no Unix. No Windows, a forma " "Unicode é a representação canônica dos caminhos do sistema de arquivos." -#: ../../library/pathlib.rst:251 +#: ../../library/pathlib.rst:264 msgid "Accessing individual parts" msgstr "Acessando partes individuais" -#: ../../library/pathlib.rst:253 +#: ../../library/pathlib.rst:266 msgid "" "To access the individual \"parts\" (components) of a path, use the following " "property:" @@ -324,50 +327,78 @@ msgstr "" "Para acessar as \"partes\" individuais (componentes) de um caminho, use a " "seguinte propriedade:" -#: ../../library/pathlib.rst:258 +#: ../../library/pathlib.rst:271 msgid "A tuple giving access to the path's various components::" msgstr "Uma tupla que dá acesso aos vários componentes do caminho::" -#: ../../library/pathlib.rst:268 +#: ../../library/pathlib.rst:281 msgid "(note how the drive and local root are regrouped in a single part)" msgstr "" "(observe como a unidade e a raiz local são reagrupadas em uma única parte)" -#: ../../library/pathlib.rst:272 +#: ../../library/pathlib.rst:285 msgid "Methods and properties" msgstr "Métodos e propriedades" -#: ../../library/pathlib.rst:278 +#: ../../library/pathlib.rst:291 msgid "Pure paths provide the following methods and properties:" msgstr "Caminhos puros fornecem os seguintes métodos e propriedades:" -#: ../../library/pathlib.rst:282 +#: ../../library/pathlib.rst:295 msgid "A string representing the drive letter or name, if any::" msgstr "Uma string que representa a letra ou nome da unidade, se houver::" -#: ../../library/pathlib.rst:291 +#: ../../library/pathlib.rst:304 msgid "UNC shares are also considered drives::" msgstr "Os compartilhamentos UNC também são considerados unidades::" -#: ../../library/pathlib.rst:298 +#: ../../library/pathlib.rst:311 msgid "A string representing the (local or global) root, if any::" msgstr "Uma string que representa a raiz (local ou global), se houver:" -#: ../../library/pathlib.rst:307 +#: ../../library/pathlib.rst:320 msgid "UNC shares always have a root::" msgstr "Os compartilhamentos UNC sempre têm uma raiz::" -#: ../../library/pathlib.rst:314 +#: ../../library/pathlib.rst:325 +msgid "" +"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::" + +#: ../../library/pathlib.rst:337 +msgid "" +"This behavior conforms to *The Open Group Base Specifications Issue 6*, " +"paragraph `4.11 Pathname Resolution `_:" +msgstr "" +"Este comportamento está em conformidade com o parágrafo `4.11 Pathname " +"Resolution `_ do *The Open Group Base Specifications Issue 6*:" + +#: ../../library/pathlib.rst:341 +msgid "" +"*\"A pathname that begins with two successive slashes may be interpreted in " +"an implementation-defined manner, although more than two leading slashes " +"shall be treated as a single slash.\"*" +msgstr "" +"*\"Um nome de caminho que começa com duas barras sucessivas pode ser " +"interpretado de maneira definida pela implementação, embora mais de duas " +"barras iniciais devam ser tratadas como uma única barra.\"*" + +#: ../../library/pathlib.rst:347 msgid "The concatenation of the drive and root::" msgstr "A concatenação da unidade e da raiz::" -#: ../../library/pathlib.rst:328 +#: ../../library/pathlib.rst:361 msgid "" "An immutable sequence providing access to the logical ancestors of the path::" msgstr "" "Uma sequência imutável que fornece acesso aos ancestrais lógicos do caminho:" -#: ../../library/pathlib.rst:339 +#: ../../library/pathlib.rst:372 msgid "" "The parents sequence now supports :term:`slices ` and negative index " "values." @@ -375,29 +406,29 @@ msgstr "" "A sequência pai agora tem suporte :term:`fatias ` e valores de índice " "negativos." -#: ../../library/pathlib.rst:344 +#: ../../library/pathlib.rst:377 msgid "The logical parent of the path::" msgstr "O pai lógico do caminho::" -#: ../../library/pathlib.rst:350 +#: ../../library/pathlib.rst:383 msgid "You cannot go past an anchor, or empty path::" msgstr "Você não pode passar por uma âncora ou caminho vazio::" -#: ../../library/pathlib.rst:360 +#: ../../library/pathlib.rst:393 msgid "This is a purely lexical operation, hence the following behaviour::" msgstr "Esta é uma operação puramente lexical, daí o seguinte comportamento::" -#: ../../library/pathlib.rst:366 +#: ../../library/pathlib.rst:399 msgid "" "If you want to walk an arbitrary filesystem path upwards, it is recommended " -"to first call :meth:`Path.resolve` so as to resolve symlinks and eliminate `" -"\"..\"` components." +"to first call :meth:`Path.resolve` so as to resolve symlinks and eliminate " +"`\"..\"` components." msgstr "" "Se você quiser percorrer um caminho de sistema de arquivos arbitrário para " "cima, é recomendado primeiro chamar :meth:`Path.resolve` para resolver links " "simbólicos e eliminar componentes `\"..\"`." -#: ../../library/pathlib.rst:373 +#: ../../library/pathlib.rst:406 msgid "" "A string representing the final path component, excluding the drive and " "root, if any::" @@ -405,28 +436,28 @@ msgstr "" "Uma string que representa o componente do caminho final, excluindo a unidade " "e a raiz, se houver::" -#: ../../library/pathlib.rst:379 +#: ../../library/pathlib.rst:412 msgid "UNC drive names are not considered::" msgstr "Nomes de unidades UNC não são considerados:::" -#: ../../library/pathlib.rst:389 +#: ../../library/pathlib.rst:422 msgid "The file extension of the final component, if any::" msgstr "A extensão do arquivo do componente final, se houver::" -#: ../../library/pathlib.rst:401 +#: ../../library/pathlib.rst:434 msgid "A list of the path's file extensions::" msgstr "Uma lista das extensões de arquivo do caminho::" -#: ../../library/pathlib.rst:413 +#: ../../library/pathlib.rst:446 msgid "The final path component, without its suffix::" msgstr "O componente final do caminho, sem seu sufixo::" -#: ../../library/pathlib.rst:425 +#: ../../library/pathlib.rst:458 msgid "" "Return a string representation of the path with forward slashes (``/``)::" msgstr "Retorna uma representação de string do caminho com barras (``/``)::" -#: ../../library/pathlib.rst:436 +#: ../../library/pathlib.rst:469 msgid "" "Represent the path as a ``file`` URI. :exc:`ValueError` is raised if the " "path isn't absolute." @@ -434,7 +465,7 @@ msgstr "" "Representa o caminho como um URI de ``file``. :exc:`ValueError` é levantada " "se o caminho não for absoluto." -#: ../../library/pathlib.rst:449 +#: ../../library/pathlib.rst:482 msgid "" "Return whether the path is absolute or not. A path is considered absolute " "if it has both a root and (if the flavour allows) a drive::" @@ -442,13 +473,13 @@ msgstr "" "Retorna se o caminho é absoluto ou não. Um caminho é considerado absoluto se " "tiver uma raiz e (se o tipo permitir) uma unidade::" -#: ../../library/pathlib.rst:469 +#: ../../library/pathlib.rst:502 msgid "Return whether or not this path is relative to the *other* path." msgstr "" "Retorna se este caminho é ou não relativo a outro caminho, representado por " "*other*." -#: ../../library/pathlib.rst:482 +#: ../../library/pathlib.rst:515 msgid "" "With :class:`PureWindowsPath`, return ``True`` if the path is considered " "reserved under Windows, ``False`` otherwise. With :class:`PurePosixPath`, " @@ -458,7 +489,7 @@ msgstr "" "reservado no Windows, ``False`` caso contrário. Com :class:`PurePosixPath`, " "``False`` é sempre retornado." -#: ../../library/pathlib.rst:491 +#: ../../library/pathlib.rst:524 msgid "" "File system calls on reserved paths can fail mysteriously or have unintended " "effects." @@ -466,7 +497,7 @@ msgstr "" "As chamadas do sistema de arquivos em caminhos reservados podem falhar " "misteriosamente ou ter efeitos indesejados." -#: ../../library/pathlib.rst:497 +#: ../../library/pathlib.rst:530 msgid "" "Calling this method is equivalent to combining the path with each of the " "*other* arguments in turn::" @@ -474,7 +505,7 @@ msgstr "" "Chamar este método é equivalente a combinar o caminho com cada um dos outros " "argumentos, representados por *other*::" -#: ../../library/pathlib.rst:512 +#: ../../library/pathlib.rst:545 msgid "" "Match this path against the provided glob-style pattern. Return ``True`` if " "matching is successful, ``False`` otherwise." @@ -482,7 +513,7 @@ msgstr "" "Compara esse caminho com o padrão de estilo glob fornecido. Retorna ``True`` " "se a correspondência for bem-sucedida, ``False`` caso contrário." -#: ../../library/pathlib.rst:515 +#: ../../library/pathlib.rst:548 msgid "" "If *pattern* is relative, the path can be either relative or absolute, and " "matching is done from the right::" @@ -490,7 +521,7 @@ msgstr "" "Se *pattern* for relativo, o caminho pode ser relativo ou absoluto, e a " "correspondência é feita da direita::" -#: ../../library/pathlib.rst:525 +#: ../../library/pathlib.rst:558 msgid "" "If *pattern* is absolute, the path must be absolute, and the whole path must " "match::" @@ -498,13 +529,13 @@ msgstr "" "Se *pattern* for absoluto, o caminho deve ser absoluto e todo o caminho deve " "corresponder a::" -#: ../../library/pathlib.rst:533 +#: ../../library/pathlib.rst:566 msgid "As with other methods, case-sensitivity follows platform defaults::" msgstr "" "Tal como acontece com outros métodos, a distinção entre maiúsculas e " "minúsculas segue os padrões da plataforma::" -#: ../../library/pathlib.rst:543 +#: ../../library/pathlib.rst:576 msgid "" "Compute a version of this path relative to the path represented by *other*. " "If it's impossible, ValueError is raised::" @@ -512,7 +543,7 @@ msgstr "" "Calcula uma versão deste caminho em relação ao caminho representado por " "*other*. Se for impossível, ValueError é levantada::" -#: ../../library/pathlib.rst:558 +#: ../../library/pathlib.rst:591 msgid "" "NOTE: This function is part of :class:`PurePath` and works with strings. It " "does not check or access the underlying file structure." @@ -520,7 +551,7 @@ msgstr "" "NOTA: Esta função é parte de :class:`PurePath` e funciona com strings. Ela " "não verifica nem acessa a estrutura de arquivos subjacente." -#: ../../library/pathlib.rst:563 +#: ../../library/pathlib.rst:596 msgid "" "Return a new path with the :attr:`name` changed. If the original path " "doesn't have a name, ValueError is raised::" @@ -528,7 +559,7 @@ msgstr "" "Retorna um novo caminho com o :attr:`name` alterado. Se o caminho original " "não tiver um nome, ValueError é levantada::" -#: ../../library/pathlib.rst:580 +#: ../../library/pathlib.rst:613 msgid "" "Return a new path with the :attr:`stem` changed. If the original path " "doesn't have a name, ValueError is raised::" @@ -536,7 +567,7 @@ msgstr "" "Retorna um novo caminho com o :attr:`stem` alterado. Se o caminho original " "não tiver um nome, ValueError é levantada::" -#: ../../library/pathlib.rst:604 +#: ../../library/pathlib.rst:637 msgid "" "Return a new path with the :attr:`suffix` changed. If the original path " "doesn't have a suffix, the new *suffix* is appended instead. If the " @@ -546,11 +577,11 @@ msgstr "" "não tiver um sufixo, o novo *suffixo* será anexado. Se o *suffix* for uma " "string vazia, o sufixo original será removido::" -#: ../../library/pathlib.rst:623 +#: ../../library/pathlib.rst:656 msgid "Concrete paths" msgstr "Caminhos concretos" -#: ../../library/pathlib.rst:625 +#: ../../library/pathlib.rst:658 msgid "" "Concrete paths are subclasses of the pure path classes. In addition to " "operations provided by the latter, they also provide methods to do system " @@ -561,7 +592,7 @@ msgstr "" "fazer chamadas de sistema em objetos de caminho. Existem três maneiras de " "instanciar caminhos concretos:" -#: ../../library/pathlib.rst:631 +#: ../../library/pathlib.rst:664 msgid "" "A subclass of :class:`PurePath`, this class represents concrete paths of the " "system's path flavour (instantiating it creates either a :class:`PosixPath` " @@ -571,15 +602,15 @@ msgstr "" "concretos do tipo de caminho do sistema (instanciando-o cria uma :class:" "`PosixPath` ou uma :class:`WindowsPath`)::" -#: ../../library/pathlib.rst:642 +#: ../../library/pathlib.rst:675 msgid "" "A subclass of :class:`Path` and :class:`PurePosixPath`, this class " "represents concrete non-Windows filesystem paths::" msgstr "" "Uma subclasse de :class:`Path` e :class:`PurePosixPath`, esta classe " -"representa caminhos concretos de sistemas de arquivos não Windows::" +"representa caminhos concretos de sistemas de arquivos não-Windows::" -#: ../../library/pathlib.rst:652 +#: ../../library/pathlib.rst:685 msgid "" "A subclass of :class:`Path` and :class:`PureWindowsPath`, this class " "represents concrete Windows filesystem paths::" @@ -587,7 +618,7 @@ msgstr "" "Uma subclasse de :class:`Path` e :class:`PureWindowsPath`, esta classe " "representa caminhos concretos de sistemas de arquivos do Windows::" -#: ../../library/pathlib.rst:660 +#: ../../library/pathlib.rst:693 msgid "" "You can only instantiate the class flavour that corresponds to your system " "(allowing system calls on non-compatible path flavours could lead to bugs or " @@ -597,11 +628,11 @@ msgstr "" "(permitir chamadas de sistema em tipos de caminho não compatíveis pode levar " "a bugs ou falhas em sua aplicação)::" -#: ../../library/pathlib.rst:680 +#: ../../library/pathlib.rst:713 msgid "Methods" msgstr "Métodos" -#: ../../library/pathlib.rst:682 +#: ../../library/pathlib.rst:715 msgid "" "Concrete paths provide the following methods in addition to pure paths " "methods. Many of these methods can raise an :exc:`OSError` if a system call " @@ -611,7 +642,7 @@ msgstr "" "caminhos puros. Muitos desses métodos podem levantar uma :exc:`OSError` se " "uma chamada de sistema falhar (por exemplo, porque o caminho não existe)." -#: ../../library/pathlib.rst:688 +#: ../../library/pathlib.rst:721 msgid "" ":meth:`~Path.exists()`, :meth:`~Path.is_dir()`, :meth:`~Path.is_file()`, :" "meth:`~Path.is_mount()`, :meth:`~Path.is_symlink()`, :meth:`~Path." @@ -627,26 +658,26 @@ msgstr "" "levantar uma exceção para caminhos que contêm caracteres não representáveis " "no nível do sistema operacional." -#: ../../library/pathlib.rst:698 +#: ../../library/pathlib.rst:731 msgid "" "Return a new path object representing the current directory (as returned by :" "func:`os.getcwd`)::" msgstr "" -"Retorna um novo objeto de caminho que representa o diretório atual (conforme " +"Retorna um novo objeto caminho que representa o diretório atual (conforme " "retornado por :func:`os.getcwd`)::" -#: ../../library/pathlib.rst:707 +#: ../../library/pathlib.rst:740 msgid "" "Return a new path object representing the user's home directory (as returned " "by :func:`os.path.expanduser` with ``~`` construct). If the home directory " "can't be resolved, :exc:`RuntimeError` is raised." msgstr "" -"Retorna um novo objeto de caminho representando o diretório pessoal do " -"usuário (conforme retornado por :func:`os.path.expanduser` com a construção " -"``~``). Se o diretório pessoal não puder ser resolvido, :exc:`RuntimeError` " -"é levantada." +"Retorna um novo objeto caminho representando o diretório pessoal do usuário " +"(conforme retornado por :func:`os.path.expanduser` com a construção ``~``). " +"Se o diretório pessoal não puder ser resolvido, :exc:`RuntimeError` é " +"levantada." -#: ../../library/pathlib.rst:721 +#: ../../library/pathlib.rst:754 msgid "" "Return a :class:`os.stat_result` object containing information about this " "path, like :func:`os.stat`. The result is looked up at each call to this " @@ -656,7 +687,7 @@ msgstr "" "caminho, como :func:`os.stat`. O resultado é consultado em cada chamada para " "este método." -#: ../../library/pathlib.rst:724 +#: ../../library/pathlib.rst:757 msgid "" "This method normally follows symlinks; to stat a symlink add the argument " "``follow_symlinks=False``, or use :meth:`~Path.lstat`." @@ -665,30 +696,30 @@ msgstr "" "simbólico, adicione o argumento ``follow_symlinks=False``, ou use :meth:" "`~Path.lstat`." -#: ../../library/pathlib.rst:735 ../../library/pathlib.rst:755 +#: ../../library/pathlib.rst:768 ../../library/pathlib.rst:788 msgid "The *follow_symlinks* parameter was added." msgstr "O parâmetro *follow_symlinks* foi adicionado." -#: ../../library/pathlib.rst:740 +#: ../../library/pathlib.rst:773 msgid "Change the file mode and permissions, like :func:`os.chmod`." msgstr "Altera o modo de arquivo e as permissões, como :func:`os.chmod`." -#: ../../library/pathlib.rst:742 +#: ../../library/pathlib.rst:775 msgid "" "This method normally follows symlinks. Some Unix flavours support changing " "permissions on the symlink itself; on these platforms you may add the " "argument ``follow_symlinks=False``, or use :meth:`~Path.lchmod`." msgstr "" -" Este método normalmente segue links simbólicos. Alguns tipos de Unix têm " +"Este método normalmente segue links simbólicos. Alguns tipos de Unix têm " "suporte à alteração de permissões no próprio link simbólico; nessas " "plataformas, você pode adicionar o argumento ``follow_symlinks=False``, ou " -"use :meth:`~Path.lchmod`." +"usar :meth:`~Path.lchmod`." -#: ../../library/pathlib.rst:760 +#: ../../library/pathlib.rst:793 msgid "Whether the path points to an existing file or directory::" msgstr "Se o caminho aponta para um arquivo ou diretório existente::" -#: ../../library/pathlib.rst:772 +#: ../../library/pathlib.rst:805 msgid "" "If the path points to a symlink, :meth:`exists` returns whether the symlink " "*points to* an existing file or directory." @@ -696,17 +727,17 @@ msgstr "" "Se o caminho aponta para um link simbólico, :meth:`exists` retorna se o link " "simbólico *aponta para* um arquivo ou diretório existente." -#: ../../library/pathlib.rst:778 +#: ../../library/pathlib.rst:811 msgid "" "Return a new path with expanded ``~`` and ``~user`` constructs, as returned " "by :meth:`os.path.expanduser`. If a home directory can't be resolved, :exc:" "`RuntimeError` is raised." msgstr "" "Retorna um novo caminho com as construções ``~`` e ``~user`` expandidas, " -"como retornado por :meth:`os.path.expanduser`. Se um diretóriopessoal não " +"como retornado por :meth:`os.path.expanduser`. Se um diretório pessoal não " "puder ser resolvido, :exc:`RuntimeError` é levantada." -#: ../../library/pathlib.rst:793 +#: ../../library/pathlib.rst:826 msgid "" "Glob the given relative *pattern* in the directory represented by this path, " "yielding all matching files (of any kind)::" @@ -715,7 +746,7 @@ msgstr "" "este caminho, produzindo todos os arquivos correspondentes (de qualquer " "tipo):" -#: ../../library/pathlib.rst:801 +#: ../../library/pathlib.rst:834 msgid "" "Patterns are the same as for :mod:`fnmatch`, with the addition of \"``**``\" " "which means \"this directory and all subdirectories, recursively\". In " @@ -725,7 +756,7 @@ msgstr "" "significa \"este diretório e todos os subdiretórios, recursivamente\". Em " "outras palavras, ele permite fazer glob recursivo::" -#: ../../library/pathlib.rst:813 +#: ../../library/pathlib.rst:846 msgid "" "Using the \"``**``\" pattern in large directory trees may consume an " "inordinate amount of time." @@ -733,15 +764,15 @@ msgstr "" "Usar o padrão \"``**``\" em grandes árvores de diretório pode consumir uma " "quantidade excessiva de tempo." -#: ../../library/pathlib.rst:816 +#: ../../library/pathlib.rst:849 msgid "" "Raises an :ref:`auditing event ` ``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:821 +#: ../../library/pathlib.rst:854 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." @@ -749,7 +780,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:827 +#: ../../library/pathlib.rst:860 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." @@ -758,9 +789,9 @@ msgstr "" "simbólico apontando para um diretório), ``False`` se apontar para outro tipo " "de arquivo." -#: ../../library/pathlib.rst:830 ../../library/pathlib.rst:839 -#: ../../library/pathlib.rst:868 ../../library/pathlib.rst:877 -#: ../../library/pathlib.rst:886 ../../library/pathlib.rst:895 +#: ../../library/pathlib.rst:863 ../../library/pathlib.rst:872 +#: ../../library/pathlib.rst:901 ../../library/pathlib.rst:910 +#: ../../library/pathlib.rst:919 ../../library/pathlib.rst:928 msgid "" "``False`` is also returned if the path doesn't exist or is a broken symlink; " "other errors (such as permission errors) are propagated." @@ -768,7 +799,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:836 +#: ../../library/pathlib.rst:869 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." @@ -777,7 +808,7 @@ msgstr "" "simbólico apontando para um arquivo regular), ``False`` se apontar para " "outro tipo de arquivo." -#: ../../library/pathlib.rst:845 +#: ../../library/pathlib.rst:878 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 " @@ -793,14 +824,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:857 +#: ../../library/pathlib.rst:890 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:859 +#: ../../library/pathlib.rst:892 msgid "" "``False`` is also returned if the path doesn't exist; other errors (such as " "permission errors) are propagated." @@ -808,7 +839,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:865 +#: ../../library/pathlib.rst:898 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." @@ -817,7 +848,7 @@ msgstr "" "simbólico apontando para um soquete Unix), ``False`` se apontar para outro " "tipo de arquivo." -#: ../../library/pathlib.rst:874 +#: ../../library/pathlib.rst:907 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." @@ -825,7 +856,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:883 +#: ../../library/pathlib.rst:916 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." @@ -834,7 +865,7 @@ msgstr "" "link simbólico apontando para um dispositivo de bloco), ``False`` se apontar " "para outro tipo de arquivo." -#: ../../library/pathlib.rst:892 +#: ../../library/pathlib.rst:925 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 " @@ -844,7 +875,7 @@ msgstr "" "um link simbólico apontando para um dispositivo de caractere), ``False`` se " "apontar para outro tipo de arquivo." -#: ../../library/pathlib.rst:901 +#: ../../library/pathlib.rst:934 msgid "" "When the path points to a directory, yield path objects of the directory " "contents::" @@ -852,27 +883,27 @@ msgstr "" "Quando o caminho aponta para um diretório, produz objetos caminho do " "conteúdo do diretório::" -#: ../../library/pathlib.rst:915 +#: ../../library/pathlib.rst:948 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 " -"directory after creating the iterator, whether an path object for that file " +"directory after creating the iterator, whether a path object for that file " "be included is unspecified." msgstr "" -"Os filhos são produzidos em ordem arbitrária, e as entradas especiais " -"``'.'`` e ``'..'`` não são incluídas. Se um arquivo for removido ou " -"adicionado ao diretório após a criação do iterador, não é especificado se um " -"objeto caminho para esse arquivo deve ser incluído." +"Os filhos são gerados em ordem arbitrária e as entradas especiais ``'.'`` e " +"``'..'`` não são incluídas. Se um arquivo for removido ou adicionado ao " +"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:922 +#: ../../library/pathlib.rst:955 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:928 +#: ../../library/pathlib.rst:961 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." @@ -880,7 +911,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:934 +#: ../../library/pathlib.rst:967 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 " @@ -891,7 +922,7 @@ msgstr "" "arquivo e os sinalizadores de acesso. Se o caminho já existe, :exc:" "`FileExistsError` é levantada." -#: ../../library/pathlib.rst:939 +#: ../../library/pathlib.rst:972 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* " @@ -901,7 +932,7 @@ 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:943 +#: ../../library/pathlib.rst:976 msgid "" "If *parents* is false (the default), a missing parent raises :exc:" "`FileNotFoundError`." @@ -909,7 +940,7 @@ msgstr "" "Se *parents* for falso (o padrão), um pai ausente levanta :exc:" "`FileNotFoundError`." -#: ../../library/pathlib.rst:946 +#: ../../library/pathlib.rst:979 msgid "" "If *exist_ok* is false (the default), :exc:`FileExistsError` is raised if " "the target directory already exists." @@ -917,7 +948,7 @@ msgstr "" "Se *exist_ok* for falso (o padrão), :exc:`FileExistsError` será levantada se " "o diretório alvo já existir." -#: ../../library/pathlib.rst:949 +#: ../../library/pathlib.rst:982 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 " @@ -928,11 +959,11 @@ msgstr "" "se o último componente do caminho não for um arquivo existente não " "pertencente ao diretório." -#: ../../library/pathlib.rst:953 +#: ../../library/pathlib.rst:986 msgid "The *exist_ok* parameter was added." msgstr "O parâmetro *exist_ok* foi adicionado." -#: ../../library/pathlib.rst:959 +#: ../../library/pathlib.rst:992 msgid "" "Open the file pointed to by the path, like the built-in :func:`open` " "function does::" @@ -940,7 +971,7 @@ msgstr "" "Abre o arquivo apontado pelo caminho, como a função embutida :func:`open` " "faz::" -#: ../../library/pathlib.rst:971 +#: ../../library/pathlib.rst:1004 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." @@ -948,15 +979,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:977 +#: ../../library/pathlib.rst:1010 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:990 +#: ../../library/pathlib.rst:1023 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:998 +#: ../../library/pathlib.rst:1031 msgid "" "The file is opened and then closed. The optional parameters have the same " "meaning as in :func:`open`." @@ -964,7 +995,7 @@ msgstr "" "O arquivo é aberto e, então, fechado. Os parâmetros opcionais têm o mesmo " "significado que em :func:`open`." -#: ../../library/pathlib.rst:1006 +#: ../../library/pathlib.rst:1039 msgid "" "Return the path to which the symbolic link points (as returned by :func:`os." "readlink`)::" @@ -972,19 +1003,21 @@ msgstr "" "Retorna o caminho para o qual o link simbólico aponta (conforme retornado " "por :func:`os.readlink`)::" -#: ../../library/pathlib.rst:1019 +#: ../../library/pathlib.rst:1052 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, " -"it will be replaced silently if the user has permission. *target* can be " +"it will be replaced silently if the user has permission. On Windows, if " +"*target* exists, :exc:`FileExistsError` will be raised. *target* can be " "either a string or another path object::" msgstr "" "Renomeia este arquivo ou diretório para o *target* fornecido e retorna uma " "nova instância de Path apontando para *target*. No Unix, se *target* existir " "e for um arquivo, ele será substituído silenciosamente se o usuário tiver " -"permissão. *target* pode ser uma string ou outro objeto de caminho::" +"permissão. No Windows, se *target* existir, :exc:`FileExistsError` será " +"levantado. *target* pode ser uma string ou outro objeto caminho::" -#: ../../library/pathlib.rst:1033 ../../library/pathlib.rst:1047 +#: ../../library/pathlib.rst:1067 ../../library/pathlib.rst:1083 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 " @@ -994,29 +1027,37 @@ msgstr "" "interpretados em relação ao diretório de trabalho atual, *não* ao diretório " "do objeto Path." -#: ../../library/pathlib.rst:1037 ../../library/pathlib.rst:1051 +#: ../../library/pathlib.rst:1071 +msgid "" +"It is implemented in terms of :func:`os.rename` and gives the same " +"guarantees." +msgstr "" +"Está implementada em termos de :func:`os.rename` e fornece as mesmas " +"garantias." + +#: ../../library/pathlib.rst:1073 ../../library/pathlib.rst:1087 msgid "Added return value, return the new Path instance." msgstr "Adicionado valor de retorno, returna a nova instância de Path." -#: ../../library/pathlib.rst:1043 +#: ../../library/pathlib.rst:1079 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 " -"directory, it will be unconditionally replaced." +"empty directory, it will be unconditionally replaced." msgstr "" "Renomeia este arquivo ou diretório para o *target* fornecido e retorna uma " "nova instância de Path apontando para *target*. Se *target* apontar para um " -"arquivo ou diretório existente, ele será substituído incondicionalmente." +"arquivo ou diretório vazio, ele será substituído incondicionalmente." -#: ../../library/pathlib.rst:1057 +#: ../../library/pathlib.rst:1093 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:1066 +#: ../../library/pathlib.rst:1102 msgid "" "\"``..``\" components are also eliminated (this is the only method to do " "so)::" @@ -1024,7 +1065,7 @@ msgstr "" "Componentes \"``..``\" também são eliminados (este é o único método para " "fazer isso)::" -#: ../../library/pathlib.rst:1072 +#: ../../library/pathlib.rst:1108 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 " @@ -1038,11 +1079,11 @@ msgstr "" "infinito for encontrado ao longo do caminho de resolução, :exc:" "`RuntimeError` é levantada." -#: ../../library/pathlib.rst:1078 +#: ../../library/pathlib.rst:1114 msgid "The *strict* argument (pre-3.6 behavior is strict)." msgstr "O argumento *strict* (comportamento pré-3.6 é estrito)." -#: ../../library/pathlib.rst:1083 +#: ../../library/pathlib.rst:1119 msgid "" "This is like calling :func:`Path.glob` with \"``**/``\" added in front of " "the given relative *pattern*::" @@ -1050,7 +1091,7 @@ msgstr "" "É como chamar :func:`Path.glob` com \"``**/``\" adicionado na frente do " "*pattern* relativo fornecido::" -#: ../../library/pathlib.rst:1093 +#: ../../library/pathlib.rst:1129 msgid "" "Raises an :ref:`auditing event ` ``pathlib.Path.rglob`` with " "arguments ``self``, ``pattern``." @@ -1058,11 +1099,11 @@ msgstr "" "Levanta um :ref:`evento de auditoria ` ``pathlib.Path.rglob`` com " "argumentos ``self``, ``pattern``." -#: ../../library/pathlib.rst:1098 +#: ../../library/pathlib.rst:1134 msgid "Remove this directory. The directory must be empty." msgstr "Remove este diretório. O diretório deve estar vazio." -#: ../../library/pathlib.rst:1103 +#: ../../library/pathlib.rst:1139 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:" @@ -1072,7 +1113,7 @@ msgstr "" "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:1107 +#: ../../library/pathlib.rst:1143 msgid "" "An :exc:`OSError` can be raised if either file cannot be accessed for some " "reason." @@ -1080,7 +1121,7 @@ msgstr "" "Um :exc:`OSError` poderá ser levantado caso algum arquivo não puder ser " "acessado por alguma razão." -#: ../../library/pathlib.rst:1124 +#: ../../library/pathlib.rst:1160 msgid "" "Make this path a symbolic link to *target*. Under Windows, " "*target_is_directory* must be true (default ``False``) if the link's target " @@ -1091,29 +1132,29 @@ msgstr "" "link for um diretório. Num sistema POSIX, o valor *target_is_directory* será " "ignorado." -#: ../../library/pathlib.rst:1140 +#: ../../library/pathlib.rst:1176 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." -#: ../../library/pathlib.rst:1145 +#: ../../library/pathlib.rst:1181 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:1148 +#: ../../library/pathlib.rst:1184 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." -#: ../../library/pathlib.rst:1155 +#: ../../library/pathlib.rst:1191 msgid "Make *target* a hard link to this path." msgstr "Faz do *target* um link físico para este caminho." -#: ../../library/pathlib.rst:1159 +#: ../../library/pathlib.rst:1195 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, " @@ -1125,7 +1166,7 @@ msgstr "" "link) é o reverso de :func:`Path.symlink_to` e :func:`Path.hardlink_to`, mas " "corresponde ao de :func:`os.link`." -#: ../../library/pathlib.rst:1168 +#: ../../library/pathlib.rst:1204 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." @@ -1135,7 +1176,7 @@ msgstr "" "ordem de argumentos de :meth:`Path.link_to` não corresponde àquela de :meth:" "`Path.symlink_to`." -#: ../../library/pathlib.rst:1175 +#: ../../library/pathlib.rst:1211 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. " @@ -1147,10 +1188,10 @@ msgstr "" "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 o erro :exc:`FileExistsError` " -"será levantado." +"atualizado para a hora atual), caso contrário a exceção :exc:" +"`FileExistsError` será levantada." -#: ../../library/pathlib.rst:1184 +#: ../../library/pathlib.rst:1220 msgid "" "Remove this file or symbolic link. If the path points to a directory, use :" "func:`Path.rmdir` instead." @@ -1158,7 +1199,7 @@ 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:1187 +#: ../../library/pathlib.rst:1223 msgid "" "If *missing_ok* is false (the default), :exc:`FileNotFoundError` is raised " "if the path does not exist." @@ -1166,7 +1207,7 @@ msgstr "" "Se *missing_ok* for falso (o padrão), :exc:`FileNotFoundError` é levantada " "se o caminho não existir." -#: ../../library/pathlib.rst:1190 +#: ../../library/pathlib.rst:1226 msgid "" "If *missing_ok* is true, :exc:`FileNotFoundError` exceptions will be ignored " "(same behavior as the POSIX ``rm -f`` command)." @@ -1174,29 +1215,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:1193 +#: ../../library/pathlib.rst:1229 msgid "The *missing_ok* parameter was added." msgstr "O parâmetro *missing_ok* foi adicionado." -#: ../../library/pathlib.rst:1199 +#: ../../library/pathlib.rst:1235 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:1208 +#: ../../library/pathlib.rst:1244 msgid "An existing file of the same name is overwritten." msgstr "Um arquivo existente de mesmo nome será substituído." -#: ../../library/pathlib.rst:1215 +#: ../../library/pathlib.rst:1251 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:1224 +#: ../../library/pathlib.rst:1260 msgid "" "An existing file of the same name is overwritten. The optional parameters " "have the same meaning as in :func:`open`." @@ -1204,23 +1245,23 @@ 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:1229 +#: ../../library/pathlib.rst:1265 msgid "The *newline* parameter was added." msgstr "O parâmetro *newline* foi adicionado." -#: ../../library/pathlib.rst:1233 +#: ../../library/pathlib.rst:1269 msgid "Correspondence to tools in the :mod:`os` module" msgstr "Correspondência a ferramentas no módulo :mod:`os`" -#: ../../library/pathlib.rst:1235 +#: ../../library/pathlib.rst:1271 msgid "" "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:" +"Abaixo está uma tabela mapeando várias funções :mod:`os` à sua :class:" "`PurePath`/:class:`Path` equivalente." -#: ../../library/pathlib.rst:1240 +#: ../../library/pathlib.rst:1276 msgid "" "Not all pairs of functions/methods below are equivalent. Some of them, " "despite having some overlapping use-cases, have different semantics. They " @@ -1232,223 +1273,223 @@ msgstr "" "Eles incluem :func:`os.path.abspath` e :meth:`Path.resolve`, :func:`os.path." "relpath` e :meth:`PurePath.relative_to`." -#: ../../library/pathlib.rst:1246 +#: ../../library/pathlib.rst:1282 msgid ":mod:`os` and :mod:`os.path`" msgstr ":mod:`os` e :mod:`os.path`" -#: ../../library/pathlib.rst:1246 +#: ../../library/pathlib.rst:1282 msgid ":mod:`pathlib`" msgstr ":mod:`pathlib`" -#: ../../library/pathlib.rst:1248 +#: ../../library/pathlib.rst:1284 msgid ":func:`os.path.abspath`" msgstr ":func:`os.path.abspath`" -#: ../../library/pathlib.rst:1248 +#: ../../library/pathlib.rst:1284 msgid ":meth:`Path.resolve` [#]_" msgstr ":meth:`Path.resolve` [#]_" -#: ../../library/pathlib.rst:1249 +#: ../../library/pathlib.rst:1285 msgid ":func:`os.chmod`" msgstr ":func:`os.chmod`" -#: ../../library/pathlib.rst:1249 +#: ../../library/pathlib.rst:1285 msgid ":meth:`Path.chmod`" msgstr ":meth:`Path.chmod`" -#: ../../library/pathlib.rst:1250 +#: ../../library/pathlib.rst:1286 msgid ":func:`os.mkdir`" msgstr ":func:`os.mkdir`" -#: ../../library/pathlib.rst:1250 ../../library/pathlib.rst:1251 +#: ../../library/pathlib.rst:1286 ../../library/pathlib.rst:1287 msgid ":meth:`Path.mkdir`" msgstr ":meth:`Path.mkdir`" -#: ../../library/pathlib.rst:1251 +#: ../../library/pathlib.rst:1287 msgid ":func:`os.makedirs`" msgstr ":func:`os.makedirs`" -#: ../../library/pathlib.rst:1252 +#: ../../library/pathlib.rst:1288 msgid ":func:`os.rename`" msgstr ":func:`os.rename`" -#: ../../library/pathlib.rst:1252 +#: ../../library/pathlib.rst:1288 msgid ":meth:`Path.rename`" msgstr ":meth:`Path.rename`" -#: ../../library/pathlib.rst:1253 +#: ../../library/pathlib.rst:1289 msgid ":func:`os.replace`" msgstr ":func:`os.replace`" -#: ../../library/pathlib.rst:1253 +#: ../../library/pathlib.rst:1289 msgid ":meth:`Path.replace`" msgstr ":meth:`Path.replace`" -#: ../../library/pathlib.rst:1254 +#: ../../library/pathlib.rst:1290 msgid ":func:`os.rmdir`" msgstr ":func:`os.rmdir`" -#: ../../library/pathlib.rst:1254 +#: ../../library/pathlib.rst:1290 msgid ":meth:`Path.rmdir`" msgstr ":meth:`Path.rmdir`" -#: ../../library/pathlib.rst:1255 +#: ../../library/pathlib.rst:1291 msgid ":func:`os.remove`, :func:`os.unlink`" msgstr ":func:`os.remove`, :func:`os.unlink`" -#: ../../library/pathlib.rst:1255 +#: ../../library/pathlib.rst:1291 msgid ":meth:`Path.unlink`" msgstr ":meth:`Path.unlink`" -#: ../../library/pathlib.rst:1256 +#: ../../library/pathlib.rst:1292 msgid ":func:`os.getcwd`" msgstr ":func:`os.getcwd`" -#: ../../library/pathlib.rst:1256 +#: ../../library/pathlib.rst:1292 msgid ":func:`Path.cwd`" msgstr ":func:`Path.cwd`" -#: ../../library/pathlib.rst:1257 +#: ../../library/pathlib.rst:1293 msgid ":func:`os.path.exists`" msgstr ":func:`os.path.exists`" -#: ../../library/pathlib.rst:1257 +#: ../../library/pathlib.rst:1293 msgid ":meth:`Path.exists`" msgstr ":meth:`Path.exists`" -#: ../../library/pathlib.rst:1258 +#: ../../library/pathlib.rst:1294 msgid ":func:`os.path.expanduser`" msgstr ":func:`os.path.expanduser`" -#: ../../library/pathlib.rst:1258 +#: ../../library/pathlib.rst:1294 msgid ":meth:`Path.expanduser` and :meth:`Path.home`" msgstr ":meth:`Path.expanduser` and :meth:`Path.home`" -#: ../../library/pathlib.rst:1260 +#: ../../library/pathlib.rst:1296 msgid ":func:`os.listdir`" msgstr ":func:`os.listdir`" -#: ../../library/pathlib.rst:1260 +#: ../../library/pathlib.rst:1296 msgid ":meth:`Path.iterdir`" msgstr ":meth:`Path.iterdir`" -#: ../../library/pathlib.rst:1261 +#: ../../library/pathlib.rst:1297 msgid ":func:`os.path.isdir`" msgstr ":func:`os.path.isdir`" -#: ../../library/pathlib.rst:1261 +#: ../../library/pathlib.rst:1297 msgid ":meth:`Path.is_dir`" msgstr ":meth:`Path.is_dir`" -#: ../../library/pathlib.rst:1262 +#: ../../library/pathlib.rst:1298 msgid ":func:`os.path.isfile`" msgstr ":func:`os.path.isfile`" -#: ../../library/pathlib.rst:1262 +#: ../../library/pathlib.rst:1298 msgid ":meth:`Path.is_file`" msgstr ":meth:`Path.is_file`" -#: ../../library/pathlib.rst:1263 +#: ../../library/pathlib.rst:1299 msgid ":func:`os.path.islink`" msgstr ":func:`os.path.islink`" -#: ../../library/pathlib.rst:1263 +#: ../../library/pathlib.rst:1299 msgid ":meth:`Path.is_symlink`" msgstr ":meth:`Path.is_symlink`" -#: ../../library/pathlib.rst:1264 +#: ../../library/pathlib.rst:1300 msgid ":func:`os.link`" msgstr ":func:`os.link`" -#: ../../library/pathlib.rst:1264 +#: ../../library/pathlib.rst:1300 msgid ":meth:`Path.hardlink_to`" msgstr ":meth:`Path.hardlink_to`" -#: ../../library/pathlib.rst:1265 +#: ../../library/pathlib.rst:1301 msgid ":func:`os.symlink`" msgstr ":func:`os.symlink`" -#: ../../library/pathlib.rst:1265 +#: ../../library/pathlib.rst:1301 msgid ":meth:`Path.symlink_to`" msgstr ":meth:`Path.symlink_to`" -#: ../../library/pathlib.rst:1266 +#: ../../library/pathlib.rst:1302 msgid ":func:`os.readlink`" msgstr ":func:`os.readlink`" -#: ../../library/pathlib.rst:1266 +#: ../../library/pathlib.rst:1302 msgid ":meth:`Path.readlink`" msgstr ":meth:`Path.readlink`" -#: ../../library/pathlib.rst:1267 +#: ../../library/pathlib.rst:1303 msgid ":func:`os.path.relpath`" msgstr ":func:`os.path.relpath`" -#: ../../library/pathlib.rst:1267 -msgid ":meth:`Path.relative_to` [#]_" -msgstr ":meth:`Path.relative_to` [#]_" +#: ../../library/pathlib.rst:1303 +msgid ":meth:`PurePath.relative_to` [#]_" +msgstr ":meth:`PurePath.relative_to` [#]_" -#: ../../library/pathlib.rst:1268 +#: ../../library/pathlib.rst:1304 msgid ":func:`os.stat`" msgstr ":func:`os.stat`" -#: ../../library/pathlib.rst:1268 +#: ../../library/pathlib.rst:1304 msgid ":meth:`Path.stat`, :meth:`Path.owner`, :meth:`Path.group`" msgstr ":meth:`Path.stat`, :meth:`Path.owner`, :meth:`Path.group`" -#: ../../library/pathlib.rst:1271 +#: ../../library/pathlib.rst:1307 msgid ":func:`os.path.isabs`" msgstr ":func:`os.path.isabs`" -#: ../../library/pathlib.rst:1271 +#: ../../library/pathlib.rst:1307 msgid ":meth:`PurePath.is_absolute`" msgstr ":meth:`PurePath.is_absolute`" -#: ../../library/pathlib.rst:1272 +#: ../../library/pathlib.rst:1308 msgid ":func:`os.path.join`" msgstr ":func:`os.path.join`" -#: ../../library/pathlib.rst:1272 +#: ../../library/pathlib.rst:1308 msgid ":func:`PurePath.joinpath`" msgstr ":func:`PurePath.joinpath`" -#: ../../library/pathlib.rst:1273 +#: ../../library/pathlib.rst:1309 msgid ":func:`os.path.basename`" msgstr ":func:`os.path.basename`" -#: ../../library/pathlib.rst:1273 -msgid ":data:`PurePath.name`" -msgstr ":data:`PurePath.name`" +#: ../../library/pathlib.rst:1309 +msgid ":attr:`PurePath.name`" +msgstr ":attr:`PurePath.name`" -#: ../../library/pathlib.rst:1274 +#: ../../library/pathlib.rst:1310 msgid ":func:`os.path.dirname`" msgstr ":func:`os.path.dirname`" -#: ../../library/pathlib.rst:1274 -msgid ":data:`PurePath.parent`" -msgstr ":data:`PurePath.parent`" +#: ../../library/pathlib.rst:1310 +msgid ":attr:`PurePath.parent`" +msgstr ":attr:`PurePath.parent`" -#: ../../library/pathlib.rst:1275 +#: ../../library/pathlib.rst:1311 msgid ":func:`os.path.samefile`" msgstr ":func:`os.path.samefile`" -#: ../../library/pathlib.rst:1275 +#: ../../library/pathlib.rst:1311 msgid ":meth:`Path.samefile`" msgstr ":meth:`Path.samefile`" -#: ../../library/pathlib.rst:1276 +#: ../../library/pathlib.rst:1312 msgid ":func:`os.path.splitext`" msgstr ":func:`os.path.splitext`" -#: ../../library/pathlib.rst:1276 -msgid ":data:`PurePath.suffix`" -msgstr ":data:`PurePath.suffix`" +#: ../../library/pathlib.rst:1312 +msgid ":attr:`PurePath.stem` and :attr:`PurePath.suffix`" +msgstr ":attr:`PurePath.stem` e :attr:`PurePath.suffix`" -#: ../../library/pathlib.rst:1280 +#: ../../library/pathlib.rst:1317 msgid "Footnotes" msgstr "Notas de rodapé" -#: ../../library/pathlib.rst:1281 +#: ../../library/pathlib.rst:1318 msgid "" ":func:`os.path.abspath` does not resolve symbolic links while :meth:`Path." "resolve` does." @@ -1456,10 +1497,10 @@ msgstr "" ":func:`os.path.abspath` não resolve link simbólico enquanto :meth:`Path." "resolve` resolve." -#: ../../library/pathlib.rst:1282 +#: ../../library/pathlib.rst:1319 msgid "" -":meth:`Path.relative_to` requires ``self`` to be the subpath of the " +":meth:`PurePath.relative_to` requires ``self`` to be the subpath of the " "argument, but :func:`os.path.relpath` does not." msgstr "" -":meth:`Path.relative_to` requer ``self`` para ser o subcaminho do argumento, " -"mas :func:`os.path.relpath` não requer." +":meth:`PurePath.relative_to` requer que ``self`` seja o subcaminho do " +"argumento, mas :func:`os.path.relpath` não." diff --git a/library/pdb.po b/library/pdb.po index 2eae89b22..54a6837d2 100644 --- a/library/pdb.po +++ b/library/pdb.po @@ -1,32 +1,31 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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 -# i17obot , 2021 +# python-doc bot, 2025 # #, 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:11+0000\n" -"Last-Translator: i17obot , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:58+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"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`" @@ -59,7 +58,31 @@ msgstr "" "pela leitura do código-fonte. A interface de extensão usa os módulos :mod:" "`bdb` e :mod:`cmd`." -#: ../../library/pdb.rst:30 +#: ../../library/pdb.rst:34 +msgid "Module :mod:`faulthandler`" +msgstr "Módulo :mod:`faulthandler`" + +#: ../../library/pdb.rst:33 +msgid "" +"Used to dump Python tracebacks explicitly, on a fault, after a timeout, or " +"on a user signal." +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/pdb.rst:36 +msgid "Module :mod:`traceback`" +msgstr "Módulo :mod:`traceback`" + +#: ../../library/pdb.rst:37 +msgid "" +"Standard interface to extract, format and print stack traces of Python " +"programs." +msgstr "" +"Interface padrão para extrair, formatar e imprimir rastreamentos de pilha de " +"programas Python." + +#: ../../library/pdb.rst:39 msgid "" "The debugger's prompt is ``(Pdb)``. Typical usage to run a program under " "control of the debugger is::" @@ -67,7 +90,7 @@ msgstr "" "O prompt do depurador é ``(Pdb)``. O uso típico para executar um programa " "sob controle do depurador é::" -#: ../../library/pdb.rst:44 +#: ../../library/pdb.rst:53 msgid "" "Tab-completion via the :mod:`readline` module is available for commands and " "command arguments, e.g. the current global and local names are offered as " @@ -77,7 +100,7 @@ msgstr "" "disponível para comandos e argumentos de comando, por exemplo os nomes " "globais e locais atuais são oferecidos como argumentos do comando ``p``." -#: ../../library/pdb.rst:49 +#: ../../library/pdb.rst:58 msgid "" ":file:`pdb.py` can also be invoked as a script to debug other scripts. For " "example::" @@ -85,7 +108,7 @@ msgstr "" ":file:`pdb.py` também pode ser chamado como um script para depurar outros " "scripts. Por exemplo::" -#: ../../library/pdb.rst:54 +#: ../../library/pdb.rst:63 msgid "" "When invoked as a script, pdb will automatically enter post-mortem debugging " "if the program being debugged exits abnormally. After post-mortem debugging " @@ -100,7 +123,7 @@ msgstr "" "preserva o estado do pdb (p.ex., pontos de interrupção) e, na maioria dos " "casos, é mais útil do que encerrar o depurador na saída do programa." -#: ../../library/pdb.rst:60 +#: ../../library/pdb.rst:69 msgid "" ":file:`pdb.py` now accepts a ``-c`` option that executes commands as if " "given in a :file:`.pdbrc` file, see :ref:`debugger-commands`." @@ -108,35 +131,28 @@ msgstr "" ":file:`pdb.py` agora aceita uma opção ``-c`` que executa comandos como se " "fossem dados em um arquivo :file:`.pdbrc`. Veja :ref:`debugger-commands`." -#: ../../library/pdb.rst:64 +#: ../../library/pdb.rst:73 msgid "" ":file:`pdb.py` now accepts a ``-m`` option that execute modules similar to " -"the way ``python3 -m`` does. As with a script, the debugger will pause " +"the way ``python -m`` does. As with a script, the debugger will pause " "execution just before the first line of the module." msgstr "" -":file:`pdb.py` agora aceita uma opção ``-m`` que executa módulos de maneira " -"semelhante à de ``python3 -m``. Como em um script, o depurador fará uma " -"pausa na execução imediatamente antes da primeira linha do módulo." -#: ../../library/pdb.rst:70 -msgid "" -"The typical usage to break into the debugger from a running program is to " -"insert ::" -msgstr "" -"O uso típico para interromper o depurador a partir de um programa em " -"execução é inserir ::" +#: ../../library/pdb.rst:79 +msgid "The typical usage to break into the debugger is to insert::" +msgstr "O uso típico para entrar no depurador é inserir::" -#: ../../library/pdb.rst:75 +#: ../../library/pdb.rst:83 msgid "" -"at the location you want to break into the debugger. You can then step " -"through the code following this statement, and continue running without the " -"debugger using the :pdbcmd:`continue` command." +"at the location you want to break into the debugger, and then run the " +"program. You can then step through the code following this statement, and " +"continue running without the debugger using the :pdbcmd:`continue` command." msgstr "" -"no local em que você deseja interromper o depurador. Em seguida, você pode " -"percorrer o código após esta instrução e continuar executando sem o " -"depurador usando o comando :pdbcmd:`continue`." +"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`." -#: ../../library/pdb.rst:79 +#: ../../library/pdb.rst:87 msgid "" "The built-in :func:`breakpoint()`, when called with defaults, can be used " "instead of ``import pdb; pdb.set_trace()``." @@ -144,11 +160,11 @@ msgstr "" "A função embutida :func:`breakpoint()`, quando chamada com valores padrão, " "pode ser usada em vez de ``import pdb; pdb.set_trace()``." -#: ../../library/pdb.rst:83 +#: ../../library/pdb.rst:91 msgid "The typical usage to inspect a crashed program is::" msgstr "O uso típico para inspecionar um programa com falha é::" -#: ../../library/pdb.rst:101 +#: ../../library/pdb.rst:109 msgid "" "The module defines the following functions; each enters the debugger in a " "slightly different way:" @@ -156,7 +172,7 @@ msgstr "" "O módulo define as seguintes funções; cada uma entra no depurador de uma " "maneira ligeiramente diferente:" -#: ../../library/pdb.rst:106 +#: ../../library/pdb.rst:114 msgid "" "Execute the *statement* (given as a string or a code object) under debugger " "control. The debugger prompt appears before any code is executed; you can " @@ -177,18 +193,18 @@ msgstr "" "usado. (Veja a explicação das funções embutidas :func:`exec` ou :func:" "`eval`.)" -#: ../../library/pdb.rst:118 +#: ../../library/pdb.rst:126 msgid "" "Evaluate the *expression* (given as a string or a code object) under " "debugger control. When :func:`runeval` returns, it returns the value of the " -"expression. Otherwise this function is similar to :func:`run`." +"*expression*. Otherwise this function is similar to :func:`run`." 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 da expressão. Caso contrário, esta função é semelhante a :" +"retorna o valor de *expression*. Caso contrário, esta função é semelhante a :" "func:`run`." -#: ../../library/pdb.rst:125 +#: ../../library/pdb.rst:133 msgid "" "Call the *function* (a function or method object, not a string) with the " "given arguments. When :func:`runcall` returns, it returns whatever the " @@ -200,7 +216,7 @@ msgstr "" "qualquer que seja a chamada de função retornada. O prompt do depurador " "aparece assim que a função é inserida." -#: ../../library/pdb.rst:133 +#: ../../library/pdb.rst:141 msgid "" "Enter the debugger at the calling stack frame. This is useful to hard-code " "a breakpoint at a given point in a program, even if the code is not " @@ -213,11 +229,11 @@ msgstr "" "asserção falha). Se fornecido, *header* é impresso no console imediatamente " "antes do início da depuração." -#: ../../library/pdb.rst:138 +#: ../../library/pdb.rst:146 msgid "The keyword-only argument *header*." msgstr "O argumento somente-nomeado *header*." -#: ../../library/pdb.rst:144 +#: ../../library/pdb.rst:152 msgid "" "Enter post-mortem debugging of the given *traceback* object. If no " "*traceback* is given, it uses the one of the exception that is currently " @@ -228,7 +244,7 @@ msgstr "" "fornecido um *traceback*, será usada a exceção que está sendo manipulada no " "momento (uma exceção deve ser manipulada para que o padrão seja usado)." -#: ../../library/pdb.rst:152 +#: ../../library/pdb.rst:160 msgid "" "Enter post-mortem debugging of the traceback found in :data:`sys." "last_traceback`." @@ -236,7 +252,7 @@ msgstr "" "Entra na depuração *post-mortem* do traceback encontrado em :data:`sys." "last_traceback`." -#: ../../library/pdb.rst:156 +#: ../../library/pdb.rst:164 msgid "" "The ``run*`` functions and :func:`set_trace` are aliases for instantiating " "the :class:`Pdb` class and calling the method of the same name. If you want " @@ -246,11 +262,11 @@ msgstr "" "instanciar a classe :class:`Pdb` e chamar o método com o mesmo nome. Se você " "deseja acessar outros recursos, faça você mesmo:" -#: ../../library/pdb.rst:163 +#: ../../library/pdb.rst:171 msgid ":class:`Pdb` is the debugger class." msgstr ":class:`Pdb` é a classe do depurador." -#: ../../library/pdb.rst:165 +#: ../../library/pdb.rst:173 msgid "" "The *completekey*, *stdin* and *stdout* arguments are passed to the " "underlying :class:`cmd.Cmd` class; see the description there." @@ -258,7 +274,7 @@ msgstr "" "Os argumentos *completekey*, *stdin* e *stdout* são passados para a classe " "subjacente :class:`cmd.Cmd`; veja a descrição lá." -#: ../../library/pdb.rst:168 +#: ../../library/pdb.rst:176 msgid "" "The *skip* argument, if given, must be an iterable of glob-style module name " "patterns. The debugger will not step into frames that originate in a module " @@ -268,63 +284,62 @@ msgstr "" "módulo no estilo glob. O depurador não entrará nos quadros que se originam " "em um módulo que corresponde a um desses padrões. [1]_" -#: ../../library/pdb.rst:172 +#: ../../library/pdb.rst:180 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 ``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 ``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." +"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 verdadeiro." -#: ../../library/pdb.rst:177 +#: ../../library/pdb.rst:185 msgid "" "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:180 +#: ../../library/pdb.rst:188 msgid "Example call to enable tracing with *skip*::" msgstr "Exemplo de chamada para habilitar rastreamento com *skip*::" -#: ../../library/pdb.rst:184 +#: ../../library/pdb.rst:192 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:186 +#: ../../library/pdb.rst:194 msgid "The *skip* argument." msgstr "O argumento *skip*." -#: ../../library/pdb.rst:189 +#: ../../library/pdb.rst:197 msgid "" "The *nosigint* argument. Previously, a SIGINT handler was never set by Pdb." msgstr "" "O argumento *nosigint*. Anteriormente, um manipulador de SIGINT nunca era " "definido por Pdb." -#: ../../library/pdb.rst:193 +#: ../../library/pdb.rst:201 msgid "The *readrc* argument." msgstr "O argumento *readrc*." -#: ../../library/pdb.rst:201 +#: ../../library/pdb.rst:209 msgid "See the documentation for the functions explained above." msgstr "Consulte a documentação para as funções explicadas acima." -#: ../../library/pdb.rst:207 +#: ../../library/pdb.rst:215 msgid "Debugger Commands" msgstr "Comandos de depuração" -#: ../../library/pdb.rst:209 +#: ../../library/pdb.rst:217 msgid "" "The commands recognized by the debugger are listed below. Most commands can " "be abbreviated to one or two letters as indicated; e.g. ``h(elp)`` means " @@ -345,7 +360,7 @@ msgstr "" "digitados. As alternativas na sintaxe de comando são separadas por uma barra " "vertical (``|``)." -#: ../../library/pdb.rst:218 +#: ../../library/pdb.rst:226 msgid "" "Entering a blank line repeats the last command entered. Exception: if the " "last command was a :pdbcmd:`list` command, the next 11 lines are listed." @@ -354,7 +369,7 @@ msgstr "" "último comando foi um comando :pdbcmd:`list`, as próximas 11 linhas serão " "listadas." -#: ../../library/pdb.rst:221 +#: ../../library/pdb.rst:229 msgid "" "Commands that the debugger doesn't recognize are assumed to be Python " "statements and are executed in the context of the program being debugged. " @@ -372,7 +387,7 @@ msgstr "" "ocorre uma exceção em uma instrução, o nome da exceção é impresso, mas o " "estado do depurador não é alterado." -#: ../../library/pdb.rst:229 +#: ../../library/pdb.rst:237 msgid "" "The debugger supports :ref:`aliases `. Aliases can have " "parameters which allows one a certain level of adaptability to the context " @@ -382,21 +397,25 @@ msgstr "" "podem ter parâmetros que permitem um certo nível de adaptabilidade ao " "contexto em exame." -#: ../../library/pdb.rst:233 +#: ../../library/pdb.rst:241 msgid "" "Multiple commands may be entered on a single line, separated by ``;;``. (A " "single ``;`` is not used as it is the separator for multiple commands in a " "line that is passed to the Python parser.) No intelligence is applied to " "separating the commands; the input is split at the first ``;;`` pair, even " -"if it is in the middle of a quoted string." +"if it is in the middle of a quoted string. A workaround for strings with " +"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 de vários comandos em " -"uma linha que é passada para o analisador sintático do 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." +"``. (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 ``\";\"\";\"``." -#: ../../library/pdb.rst:243 +#: ../../library/pdb.rst:252 msgid "" "If a file :file:`.pdbrc` exists in the user's home directory or in the " "current directory, it is read in and executed as if it had been typed at the " @@ -410,7 +429,7 @@ msgstr "" "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:249 +#: ../../library/pdb.rst:258 msgid "" ":file:`.pdbrc` can now contain commands that continue debugging, such as :" "pdbcmd:`continue` or :pdbcmd:`next`. Previously, these commands had no " @@ -420,7 +439,7 @@ msgstr "" "pdbcmd:`continue` ou :pdbcmd:`next`. Anteriormente, esses comandos não " "tinham efeito." -#: ../../library/pdb.rst:257 +#: ../../library/pdb.rst:266 msgid "" "Without argument, print the list of available commands. With a *command* as " "argument, print help about that command. ``help pdb`` displays the full " @@ -434,7 +453,7 @@ msgstr "" "*command* deve ser um identificador, ``help exec`` deve ser inserido para " "obter ajuda sobre o comando ``!``." -#: ../../library/pdb.rst:265 +#: ../../library/pdb.rst:274 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 commands." @@ -443,7 +462,7 @@ msgstr "" "recente na parte inferior. Uma seta indica o quadro atual, que determina o " "contexto da maioria dos comandos." -#: ../../library/pdb.rst:270 +#: ../../library/pdb.rst:279 msgid "" "Move the current frame *count* (default one) levels down in the stack trace " "(to a newer frame)." @@ -451,7 +470,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:275 +#: ../../library/pdb.rst:284 msgid "" "Move the current frame *count* (default one) levels up in the stack trace " "(to an older frame)." @@ -459,7 +478,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:280 +#: ../../library/pdb.rst:289 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 " @@ -478,7 +497,7 @@ msgstr "" "um número ao qual todos os outros comandos de ponto de interrupção se " "referem." -#: ../../library/pdb.rst:287 +#: ../../library/pdb.rst:296 msgid "" "If a second argument is present, it is an expression which must evaluate to " "true before the breakpoint is honored." @@ -486,7 +505,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:290 +#: ../../library/pdb.rst:299 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 " @@ -496,7 +515,7 @@ 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:296 +#: ../../library/pdb.rst:305 msgid "" "Temporary breakpoint, which is removed automatically when it is first hit. " "The arguments are the same as for :pdbcmd:`break`." @@ -505,7 +524,7 @@ msgstr "" "atingido pela primeira vez. Os argumentos são os mesmos que para :pdbcmd:" "`break`." -#: ../../library/pdb.rst:301 +#: ../../library/pdb.rst:310 msgid "" "With a *filename:lineno* argument, clear all the breakpoints at this line. " "With a space separated list of breakpoint numbers, clear those breakpoints. " @@ -516,7 +535,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:307 +#: ../../library/pdb.rst:316 msgid "" "Disable the breakpoints given as a space separated list of breakpoint " "numbers. Disabling a breakpoint means it cannot cause the program to stop " @@ -529,26 +548,26 @@ 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:314 +#: ../../library/pdb.rst:323 msgid "Enable the breakpoints specified." msgstr "Ativa o ponto de interrupção especificado." -#: ../../library/pdb.rst:318 +#: ../../library/pdb.rst:327 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 ignore " -"count is zero. When non-zero, the count is decremented each time the " -"breakpoint is reached and the breakpoint is not disabled and any associated " -"condition evaluates to true." +"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 " +"ignore count is zero. When non-zero, the *count* is decremented each time " +"the breakpoint is reached and the breakpoint is not disabled and any " +"associated condition evaluates to true." msgstr "" "Define a contagem de ignorados para o número do ponto de interrupção " -"especificado. Se a contagem for omitida, a contagem de ignorados será " -"definida como 0. Um ponto de interrupção se torna ativo quando a contagem de " +"especificado. Se *count* for omitida, a contagem de ignorados será definida " +"como 0. Um ponto de interrupção se torna ativo quando a contagem de " "ignorados é zero. Quando diferente de zero, a contagem é decrementada cada " "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:326 +#: ../../library/pdb.rst:335 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 " @@ -559,17 +578,17 @@ msgstr "" "respeitado. Se *condition* for omitida, qualquer condição existente será " "removida; isto é, o ponto de interrupção é tornado incondicional." -#: ../../library/pdb.rst:332 +#: ../../library/pdb.rst:341 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:341 +#: ../../library/pdb.rst:350 msgid "" "To remove all commands from a breakpoint, type ``commands`` and follow it " "immediately with ``end``; that is, give no commands." @@ -577,14 +596,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:344 +#: ../../library/pdb.rst:353 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:346 +#: ../../library/pdb.rst:355 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 " @@ -594,7 +613,7 @@ msgstr "" "novamente. Simplesmente use o comando :pdbcmd:`continue`, ou :pdbcmd:`step`, " "ou qualquer outro comando que reinicie a execução." -#: ../../library/pdb.rst:350 +#: ../../library/pdb.rst:359 msgid "" "Specifying any command resuming execution (currently :pdbcmd:`continue`, :" "pdbcmd:`step`, :pdbcmd:`next`, :pdbcmd:`return`, :pdbcmd:`jump`, :pdbcmd:" @@ -612,21 +631,21 @@ msgstr "" "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:359 +#: ../../library/pdb.rst:368 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 " +"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 " "breakpoints that are to print a specific message and then continue. If none " "of the other commands print anything, you see no sign that the breakpoint " "was reached." msgstr "" -"Se você usar o comando 'silent' na lista de comandos, a mensagem usual sobre " -"a parada em um ponto de interrupção não será impressa. Isso pode ser " +"Se você usar o comando ``silent`` na lista de comandos, a mensagem usual " +"sobre a parada em um ponto de interrupção não será impressa. Isso pode ser " "desejável para pontos de interrupção que devem imprimir uma mensagem " "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:366 +#: ../../library/pdb.rst:375 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)." @@ -634,7 +653,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:371 +#: ../../library/pdb.rst:380 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 " @@ -648,7 +667,7 @@ msgstr "" "executa funções chamadas em (quase) velocidade máxima, parando apenas na " "próxima linha da função atual.)" -#: ../../library/pdb.rst:379 +#: ../../library/pdb.rst:388 msgid "" "Without argument, continue execution until the line with a number greater " "than the current one is reached." @@ -656,31 +675,31 @@ msgstr "" "Sem argumento, continua a execução até que a linha com um número maior que o " "atual seja atingida." -#: ../../library/pdb.rst:382 +#: ../../library/pdb.rst:391 msgid "" -"With a line number, continue execution until a line with a number greater or " -"equal to that is reached. In both cases, also stop when the current frame " -"returns." +"With *lineno*, continue execution until a line with a number greater or " +"equal to *lineno* is reached. In both cases, also stop when the current " +"frame returns." msgstr "" -"Com um número de linha, continua a execução até que uma linha com um número " -"maior ou igual ao alcançado. Nos dois casos, também interrompe quando o " +"Com *lineno*, continua a execução até que uma linha com um número maior ou " +"igual a *lineno* ser alcançada. Nos dois casos, também interrompe quando o " "quadro atual retornar." -#: ../../library/pdb.rst:386 +#: ../../library/pdb.rst:395 msgid "Allow giving an explicit line number." msgstr "Permite fornecer um número de linha explícito." -#: ../../library/pdb.rst:391 +#: ../../library/pdb.rst:400 msgid "Continue execution until the current function returns." msgstr "Continua a execução até que a função atual retorne." -#: ../../library/pdb.rst:395 +#: ../../library/pdb.rst:404 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:399 +#: ../../library/pdb.rst:408 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 " @@ -690,7 +709,7 @@ 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:403 +#: ../../library/pdb.rst:412 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 :" @@ -700,7 +719,7 @@ msgstr "" "possível pular para o meio de um loop de :keyword:`for` ou sair de uma " "cláusula :keyword:`finally`." -#: ../../library/pdb.rst:409 +#: ../../library/pdb.rst:418 msgid "" "List source code for the current file. Without arguments, list 11 lines " "around the current line or continue the previous listing. With ``.`` as " @@ -715,7 +734,7 @@ msgstr "" "se o segundo argumento for menor que o primeiro, ele será interpretado como " "uma contagem." -#: ../../library/pdb.rst:415 +#: ../../library/pdb.rst:424 msgid "" "The current line in the current frame is indicated by ``->``. If an " "exception is being debugged, the line where the exception was originally " @@ -726,11 +745,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:420 +#: ../../library/pdb.rst:429 msgid "The ``>>`` marker." msgstr "O marcador ``>>``." -#: ../../library/pdb.rst:425 +#: ../../library/pdb.rst:434 msgid "" "List all source code for the current function or frame. Interesting lines " "are marked as for :pdbcmd:`list`." @@ -738,15 +757,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:432 +#: ../../library/pdb.rst:441 msgid "Print the argument list of the current function." msgstr "Imprime a lista de argumentos da função atual." -#: ../../library/pdb.rst:436 -msgid "Evaluate the *expression* in the current context and print its value." -msgstr "Avalia a expressão *expression* no contexto atual e imprima seu valor." +#: ../../library/pdb.rst:445 +msgid "Evaluate *expression* in the current context and print its value." +msgstr "Avalia *expression* no contexto atual e imprima seu valor." -#: ../../library/pdb.rst:440 +#: ../../library/pdb.rst:449 msgid "" "``print()`` can also be used, but is not a debugger command --- this " "executes the Python :func:`print` function." @@ -754,44 +773,45 @@ 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:446 +#: ../../library/pdb.rst:455 msgid "" -"Like the :pdbcmd:`p` command, except the value of the expression is pretty-" +"Like the :pdbcmd:`p` command, except the value of *expression* is pretty-" "printed using the :mod:`pprint` module." msgstr "" -"Como o comando :pdbcmd:`p`, exceto que o valor da expressão é bastante " +"Como o comando :pdbcmd:`p`, exceto que o valor de *expression* é bastante " "impresso usando o módulo :mod:`pprint`." -#: ../../library/pdb.rst:451 -msgid "Print the type of the *expression*." -msgstr "Exibe o tipo da expressão *expression*." +#: ../../library/pdb.rst:460 +msgid "Print the type of *expression*." +msgstr "Exibe o tipo de *expression*." -#: ../../library/pdb.rst:455 -msgid "Try to get source code for the given object and display it." -msgstr "Tenta obter o código-fonte para o objeto especificado e exibe-o." +#: ../../library/pdb.rst:464 +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:461 +#: ../../library/pdb.rst:470 msgid "" -"Display the value of the expression if it changed, each time execution stops " +"Display the value of *expression* if it changed, each time execution stops " "in the current frame." msgstr "" -"Exibe o valor da expressão caso ela tenha sido alterada, sempre que a " +"Exibe o valor de *expression* caso ela tenha sido alterada, sempre que a " "execução for interrompida no quadro atual." -#: ../../library/pdb.rst:464 -msgid "Without expression, list all display expressions for the current frame." +#: ../../library/pdb.rst:473 +msgid "" +"Without *expression*, list all display expressions for the current frame." msgstr "" -"Sem expressão, lista todas as expressões de exibição para o quadro atual." +"Sem *expression*, lista todas as expressões de exibição para o quadro atual." -#: ../../library/pdb.rst:470 +#: ../../library/pdb.rst:479 msgid "" -"Do not display the expression any more in the current frame. Without " -"expression, clear all display expressions for the current frame." +"Do not display *expression* anymore in the current frame. Without " +"*expression*, clear all display expressions for the current frame." msgstr "" -"Não exibe mais a expressão no quadro atual. Sem expressão, limpa todas as " +"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:477 +#: ../../library/pdb.rst:486 msgid "" "Start an interactive interpreter (using the :mod:`code` module) whose global " "namespace contains all the (global and local) names found in the current " @@ -801,21 +821,21 @@ msgstr "" "de nomes global contenha todos os nomes (globais e locais) encontrados no " "escopo atual." -#: ../../library/pdb.rst:487 +#: ../../library/pdb.rst:496 msgid "" -"Create an alias called *name* that executes *command*. The command must " -"*not* be enclosed in quotes. Replaceable parameters can be indicated by ``" -"%1``, ``%2``, and so on, while ``%*`` is replaced by all the parameters. If " -"no command is given, the current alias for *name* is shown. If no arguments " -"are given, all aliases are listed." +"Create an alias called *name* that executes *command*. The *command* must " +"*not* be enclosed in quotes. Replaceable parameters can be indicated by " +"``%1``, ``%2``, and so on, while ``%*`` is replaced by all the parameters. " +"If *command* is omitted, the current alias for *name* is shown. If no " +"arguments are given, all aliases are listed." msgstr "" "Cria um alias chamado *name* que executa *command*. O comando *não* deve " -"estar entre aspas. Os parâmetros substituíveis podem ser indicados por ``" -"%1``, ``%2`` e assim por diante, enquanto ``%*`` é substituído por todos os " -"parâmetros. Se nenhum comando for fornecido, o alias atual para *name* será " +"estar entre aspas. Os parâmetros substituíveis podem ser indicados por " +"``%1``, ``%2`` e assim por diante, enquanto ``%*`` é substituído por todos " +"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:493 +#: ../../library/pdb.rst:502 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 " @@ -829,7 +849,7 @@ 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:499 +#: ../../library/pdb.rst:508 msgid "" "As an example, here are two useful aliases (especially when placed in the :" "file:`.pdbrc` file)::" @@ -837,11 +857,11 @@ msgstr "" "Como exemplo, aqui estão dois aliases úteis (especialmente quando colocados " "no arquivo :file:`.pdbrc`)::" -#: ../../library/pdb.rst:509 -msgid "Delete the specified alias." -msgstr "Executa o alias especificado." +#: ../../library/pdb.rst:518 +msgid "Delete the specified alias *name*." +msgstr "Executa o alias *name* especificado." -#: ../../library/pdb.rst:513 +#: ../../library/pdb.rst:522 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 " @@ -855,39 +875,39 @@ 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:525 +#: ../../library/pdb.rst:534 msgid "" -"Restart the debugged Python program. If an argument is supplied, it is " -"split with :mod:`shlex` and the result is used as the new :data:`sys.argv`. " +"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`." msgstr "" -"Reinicia o programa Python depurado. Se um argumento é 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 " +"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:532 +#: ../../library/pdb.rst:541 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:536 +#: ../../library/pdb.rst:545 msgid "" -"Enter a recursive debugger that steps through the code argument (which is an " -"arbitrary expression or statement to be executed in the current environment)." +"Enter a recursive debugger that steps through *code* (which is an arbitrary " +"expression or statement to be executed in the current environment)." msgstr "" -"Entra em um depurador recursivo que percorre o argumento do código (que é " -"uma expressão ou instrução arbitrária a ser executada no ambiente atual)." +"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:542 +#: ../../library/pdb.rst:551 msgid "Print the return value for the last return of a function." msgstr "Exibe o valor de retorno para o último retorno de uma função." -#: ../../library/pdb.rst:545 +#: ../../library/pdb.rst:554 msgid "Footnotes" msgstr "Notas de rodapé" -#: ../../library/pdb.rst:546 +#: ../../library/pdb.rst:555 msgid "" "Whether a frame is considered to originate in a certain module is determined " "by the ``__name__`` in the frame globals." diff --git a/library/persistence.po b/library/persistence.po index d92dc15aa..800a6c6d4 100644 --- a/library/persistence.po +++ b/library/persistence.po @@ -1,27 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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.10\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-06-29 12:56+0000\n" -"PO-Revision-Date: 2021-06-28 01:11+0000\n" -"Last-Translator: Raphael Mendonça, 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:58+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/persistence.rst:5 msgid "Data Persistence" diff --git a/library/pickle.po b/library/pickle.po index c107e21e1..e85b42465 100644 --- a/library/pickle.po +++ b/library/pickle.po @@ -1,29 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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 -# And Past , 2021 -# Rafael Fontenelle , 2021 +# python-doc bot, 2025 # #, 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:11+0000\n" -"Last-Translator: Rafael Fontenelle , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:58+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/pickle.rst:2 msgid ":mod:`pickle` --- Python object serialization" @@ -37,8 +35,8 @@ msgstr "**Código-fonte:** :source:`Lib/pickle.py`" 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 :" +"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 " "\"serialization\", \"marshalling,\" [#]_ or \"flattening\"; however, to " @@ -48,12 +46,13 @@ 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 \"pickling" -"\" e \"unpickling\". Nesta documentação traduzida, usaremos \"serialização " -"com pickle\" e \"desserialização com pickle\", respectivamente." +"\"flattening\"; no entanto, para evitar confusão, usa-se is termos " +"\"pickling\" e \"unpickling\". Nesta documentação traduzida, usaremos " +"\"serialização com pickle\" e \"desserialização com pickle\", " +"respectivamente." #: ../../library/pickle.rst:33 msgid "The ``pickle`` module **is not secure**. Only unpickle data you trust." @@ -192,10 +191,10 @@ msgstr "Comparação com ``json``" #: ../../library/pickle.rst:92 msgid "" "There are fundamental differences between the pickle protocols and `JSON " -"(JavaScript Object Notation) `_:" +"(JavaScript Object Notation) `_:" msgstr "" "Existem diferenças fundamentais entre os protocolos pickle e `JSON " -"(JavaScript Object Notation) `_:" +"(JavaScript Object Notation) `_:" #: ../../library/pickle.rst:95 msgid "" @@ -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." @@ -318,8 +317,8 @@ msgstr "" #: ../../library/pickle.rst:149 msgid "" "Protocol version 2 was introduced in Python 2.3. It provides much more " -"efficient pickling of :term:`new-style class`\\es. Refer to :pep:`307` for " -"information about improvements brought by protocol 2." +"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 " @@ -374,16 +373,16 @@ msgid "" "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 " -"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 " -"fluxo de bytes em um objeto com a mesma estrutura interna. Talvez a coisa " -"mais óbvia a fazer com esses fluxos de bytes seja escrevê-los em um arquivo, " -"mas também é concebível enviá-los através de uma rede ou armazená-los em um " -"banco de dados. O módulo :mod:`shelve` fornece uma interface simples para " -"serializar e desserializar com pickle os objetos em arquivos de banco de " -"dados no estilo DBM." +"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 fluxo de bytes " +"em um objeto com a mesma estrutura interna. Talvez a coisa mais óbvia a " +"fazer com esses fluxos de bytes seja escrevê-los em um arquivo, mas também é " +"concebível enviá-los através de uma rede ou armazená-los em um banco de " +"dados. O módulo :mod:`shelve` fornece uma interface simples para serializar " +"e desserializar com pickle os objetos em arquivos de banco de dados no " +"estilo DBM." #: ../../library/pickle.rst:181 msgid "Module Interface" @@ -505,7 +504,7 @@ msgstr "" "argumento de protocolo é necessário. Bytes após a representação serializada " "com pickle do objeto são ignorados." -#: ../../library/pickle.rst:249 ../../library/pickle.rst:264 +#: ../../library/pickle.rst:249 msgid "" "Arguments *file*, *fix_imports*, *encoding*, *errors*, *strict* and " "*buffers* have the same meaning as in the :class:`Unpickler` constructor." @@ -525,9 +524,17 @@ 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 +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 construtor :class:`Unpickler`." + #: ../../library/pickle.rst:271 msgid "The :mod:`pickle` module defines three exceptions:" msgstr "O módulo :mod:`pickle` define três exceções:" @@ -888,7 +895,7 @@ 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 "" @@ -898,7 +905,7 @@ msgid "" 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 "" @@ -945,40 +952,37 @@ 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``" -msgstr "``None``, ``True`` e ``False``" +msgid "``None``, ``True``, and ``False``;" +msgstr "" #: ../../library/pickle.rst:499 -msgid "integers, floating point numbers, complex numbers" -msgstr "inteiros, números de ponto flutuante, números complexos" +msgid "integers, floating-point numbers, complex numbers;" +msgstr "inteiros, números de ponto flutuante, números complexos;" #: ../../library/pickle.rst:501 -msgid "strings, bytes, bytearrays" -msgstr "strings, bytes, bytearrays" +msgid "strings, bytes, bytearrays;" +msgstr "strings, bytes, bytearrays;" #: ../../library/pickle.rst:503 -msgid "tuples, lists, sets, and dictionaries containing only picklable objects" +msgid "" +"tuples, lists, sets, and dictionaries containing only picklable objects;" msgstr "" "tuplas, listas, conjuntos e dicionários contendo apenas objetos " -"serializáveis com pickle" +"serializáveis com pickle;" #: ../../library/pickle.rst:505 msgid "" -"functions defined at the top level of a module (using :keyword:`def`, not :" -"keyword:`lambda`)" +"functions (built-in and user-defined) accessible from the top level of a " +"module (using :keyword:`def`, not :keyword:`lambda`);" msgstr "" -"funções definidas no nível superior de um módulo (usando :keyword:`def`, " -"não :keyword:`lambda`)" +"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 -msgid "built-in functions defined at the top level of a module" -msgstr "funções embutidas definidas no nível superior de um módulo" +msgid "classes accessible from the top level of a module;" +msgstr "classes acessíveis no nível superior de um módulo;" #: ../../library/pickle.rst:510 -msgid "classes that are defined at the top level of a module" -msgstr "classes que são definidas no nível superior de um módulo" - -#: ../../library/pickle.rst:512 msgid "" "instances of such classes whose :attr:`~object.__dict__` or the result of " "calling :meth:`__getstate__` is picklable (see section :ref:`pickle-inst` " @@ -988,7 +992,7 @@ msgstr "" "chamada de :meth:`__getstate__` seja serializável com pickle (veja a seção :" "ref:`pickle-inst` para detalhes)." -#: ../../library/pickle.rst:516 +#: ../../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 " @@ -1005,47 +1009,47 @@ msgstr "" "levantada neste caso. Você pode aumentar este limite cuidadosamente com :" "func:`sys.setrecursionlimit`." -#: ../../library/pickle.rst:523 +#: ../../library/pickle.rst:521 msgid "" -"Note that functions (built-in and user-defined) are pickled by \"fully " -"qualified\" name reference, not by value. [#]_ This means that only the " -"function name is pickled, along with the name of the module the function is " -"defined in. 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 por referência de nome \"totalmente qualificado\", não por valor. " -"[#]_ Isso significa que apenas o nome da função é serializado com pickle, " -"junto com o nome do módulo no qual a função está definida. 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:530 -msgid "" -"Similarly, classes are pickled by named reference, 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 por referência " -"nomeada, portanto, aplicam-se as mesmas restrições no ambiente de " +"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 contidos. 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: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:540 +#: ../../library/pickle.rst:538 msgid "" "These restrictions are why picklable functions and classes must be defined " -"in the top level of a module." +"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:543 +#: ../../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 " @@ -1066,11 +1070,11 @@ msgstr "" "de versão nos objetos para que as conversões adequadas possam ser feitas " "pelo método :meth:`__setstate__` da classe." -#: ../../library/pickle.rst:555 +#: ../../library/pickle.rst:553 msgid "Pickling Class Instances" msgstr "Serializando com pickle instâncias de classes" -#: ../../library/pickle.rst:559 +#: ../../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." @@ -1079,7 +1083,7 @@ msgstr "" "personalizar e controlar como as instâncias de classe são serializadas e " "desserializadas com pickle." -#: ../../library/pickle.rst:562 +#: ../../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 " @@ -1096,7 +1100,7 @@ msgstr "" "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:577 +#: ../../library/pickle.rst:575 msgid "" "Classes can alter the default behaviour by providing one or several special " "methods:" @@ -1104,7 +1108,7 @@ msgstr "" "As classes podem alterar o comportamento padrão, fornecendo um ou vários " "métodos especiais:" -#: ../../library/pickle.rst:582 +#: ../../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:" @@ -1121,7 +1125,7 @@ msgstr "" "serão passados para o método :meth:`__new__` após a desserialização com " "pickle." -#: ../../library/pickle.rst:590 +#: ../../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 " @@ -1131,11 +1135,11 @@ msgstr "" "requer argumentos somente-nomeados. Caso contrário, é recomendado para " "compatibilidade implementar :meth:`__getnewargs__`." -#: ../../library/pickle.rst:594 +#: ../../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:600 +#: ../../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 " @@ -1146,7 +1150,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:604 +#: ../../library/pickle.rst:602 msgid "" ":meth:`__getnewargs__` will not be called if :meth:`__getnewargs_ex__` is " "defined." @@ -1154,7 +1158,7 @@ msgstr "" ":meth:`__getnewargs__` não será chamado se :meth:`__getnewargs_ex__` estiver " "definido." -#: ../../library/pickle.rst:607 +#: ../../library/pickle.rst:605 msgid "" "Before Python 3.6, :meth:`__getnewargs__` was called instead of :meth:" "`__getnewargs_ex__` in protocols 2 and 3." @@ -1162,7 +1166,7 @@ msgstr "" "Antes do Python 3.6, :meth:`__getnewargs__` era chamado em vez de :meth:" "`__getnewargs_ex__` nos protocolos 2 e 3." -#: ../../library/pickle.rst:614 +#: ../../library/pickle.rst:612 msgid "" "Classes can further influence how their instances are pickled; if the class " "defines the method :meth:`__getstate__`, it is called and the returned " @@ -1177,7 +1181,7 @@ msgstr "" "meth:`__getstate__` estiver ausente, o :attr:`~object.__dict__` da instância " "é serializado com pickle como de costume." -#: ../../library/pickle.rst:623 +#: ../../library/pickle.rst:621 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 " @@ -1190,7 +1194,7 @@ 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:630 +#: ../../library/pickle.rst:628 msgid "" "If :meth:`__getstate__` returns a false value, the :meth:`__setstate__` " "method will not be called upon unpickling." @@ -1198,7 +1202,7 @@ msgstr "" "Se :meth:`__getstate__` retornar um valor falso, o método :meth:" "`__setstate__` não será chamado quando da desserialização com pickle." -#: ../../library/pickle.rst:634 +#: ../../library/pickle.rst:632 msgid "" "Refer to the section :ref:`pickle-state` for more information about how to " "use the methods :meth:`__getstate__` and :meth:`__setstate__`." @@ -1206,7 +1210,7 @@ msgstr "" "Confira a seção :ref:`pickle-state` para mais informações sobre como usar os " "métodos :meth:`__getstate__` e :meth:`__setstate__`." -#: ../../library/pickle.rst:639 +#: ../../library/pickle.rst:637 msgid "" "At unpickling time, some methods like :meth:`__getattr__`, :meth:" "`__getattribute__`, or :meth:`__setattr__` may be called upon the instance. " @@ -1221,7 +1225,7 @@ msgstr "" "`__new__` para estabelecer tal invariante, pois :meth:`__init__` não é " "chamada quando da desserialização com pickle em uma instância." -#: ../../library/pickle.rst:648 +#: ../../library/pickle.rst:646 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 :" @@ -1235,7 +1239,7 @@ msgstr "" "interface unificada para recuperar os dados necessários para serialização " "com pickle e cópia de objetos. [#]_" -#: ../../library/pickle.rst:654 +#: ../../library/pickle.rst:652 msgid "" "Although powerful, implementing :meth:`__reduce__` directly in your classes " "is error prone. For this reason, class designers should use the high-level " @@ -1251,7 +1255,7 @@ msgstr "" "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." -#: ../../library/pickle.rst:663 +#: ../../library/pickle.rst:661 msgid "" "The interface is currently defined as follows. The :meth:`__reduce__` " "method takes no argument and shall return either a string or preferably a " @@ -1262,7 +1266,7 @@ msgstr "" "preferencialmente uma tupla (o objeto retornado é frequentemente referido " "como o \"valor de redução\")." -#: ../../library/pickle.rst:667 +#: ../../library/pickle.rst:665 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 " @@ -1274,7 +1278,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:672 +#: ../../library/pickle.rst:670 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 " @@ -1284,14 +1288,14 @@ msgstr "" "opcionais podem ser omitidos ou ``None`` pode ser fornecido como seu valor. " "A semântica de cada item está em ordem:" -#: ../../library/pickle.rst:678 +#: ../../library/pickle.rst:676 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:681 +#: ../../library/pickle.rst:679 msgid "" "A tuple of arguments for the callable object. An empty tuple must be given " "if the callable does not accept any argument." @@ -1299,7 +1303,7 @@ 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:684 +#: ../../library/pickle.rst:682 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 " @@ -1311,7 +1315,7 @@ msgstr "" "tiver tal método, o valor deve ser um dicionário e será adicionado ao " "atributo :attr:`~object.__dict__` do objeto." -#: ../../library/pickle.rst:689 +#: ../../library/pickle.rst:687 msgid "" "Optionally, an iterator (and not a sequence) yielding successive items. " "These items will be appended to the object either using ``obj.append(item)`` " @@ -1331,7 +1335,7 @@ msgstr "" "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:698 +#: ../../library/pickle.rst:696 msgid "" "Optionally, an iterator (not a sequence) yielding successive key-value " "pairs. These items will be stored to the object using ``obj[key] = " @@ -1344,7 +1348,7 @@ msgstr "" "dicionário, mas pode ser usado por outras classes, desde que implementem :" "meth:`__setitem__`." -#: ../../library/pickle.rst:703 +#: ../../library/pickle.rst:701 msgid "" "Optionally, a callable with a ``(obj, state)`` signature. This callable " "allows the user to programmatically control the state-updating behavior of a " @@ -1358,11 +1362,11 @@ msgstr "" "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:709 +#: ../../library/pickle.rst:707 msgid "The optional sixth tuple item, ``(obj, state)``, was added." msgstr "O sexto item opcional de tupla, ``(obj, estado)``, foi adicionado." -#: ../../library/pickle.rst:715 +#: ../../library/pickle.rst:713 msgid "" "Alternatively, a :meth:`__reduce_ex__` method may be defined. The only " "difference is this method should take a single integer argument, the " @@ -1379,11 +1383,11 @@ msgstr "" "valores de redução com compatibilidade reversa para versões mais antigas do " "Python." -#: ../../library/pickle.rst:727 +#: ../../library/pickle.rst:725 msgid "Persistence of External Objects" msgstr "Persistência de objetos externos" -#: ../../library/pickle.rst:733 +#: ../../library/pickle.rst:731 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 " @@ -1398,7 +1402,7 @@ msgstr "" "protocolo 0) [#]_ ou apenas um objeto arbitrário (para qualquer protocolo " "mais recente)." -#: ../../library/pickle.rst:739 +#: ../../library/pickle.rst:737 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 " @@ -1410,7 +1414,7 @@ msgstr "" "no selecionador e no separador, :meth:`~Pickler.persistent_id` e :meth:" "`~Unpickler.persistent_load` respectivamente." -#: ../../library/pickle.rst:744 +#: ../../library/pickle.rst:742 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 " @@ -1428,7 +1432,7 @@ 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:751 +#: ../../library/pickle.rst:749 msgid "" "To unpickle external objects, the unpickler must have a custom :meth:" "`~Unpickler.persistent_load` method that takes a persistent ID object and " @@ -1438,7 +1442,7 @@ msgstr "" "método :meth:`~Unpickler.persistent_load` personalizado que recebe um objeto " "de ID persistente e retorna o objeto referenciado." -#: ../../library/pickle.rst:755 +#: ../../library/pickle.rst:753 msgid "" "Here is a comprehensive example presenting how persistent ID can be used to " "pickle external objects by reference." @@ -1446,11 +1450,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:763 +#: ../../library/pickle.rst:761 msgid "Dispatch Tables" msgstr "Tabelas de despacho" -#: ../../library/pickle.rst:765 +#: ../../library/pickle.rst:763 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 " @@ -1460,7 +1464,7 @@ 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:769 +#: ../../library/pickle.rst:767 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 " @@ -1471,11 +1475,11 @@ msgstr "" "usar uma cópia modificada de :data:`copyreg.dispatch_table` como uma tabela " "de despacho privada." -#: ../../library/pickle.rst:774 +#: ../../library/pickle.rst:772 msgid "For example ::" msgstr "Por exemplo ::" -#: ../../library/pickle.rst:781 +#: ../../library/pickle.rst:779 msgid "" "creates an instance of :class:`pickle.Pickler` with a private dispatch table " "which handles the ``SomeClass`` class specially. Alternatively, the code ::" @@ -1484,21 +1488,27 @@ msgstr "" "privada que trata a classe ``SomeClass`` especialmente. Alternativamente, o " "código ::" -#: ../../library/pickle.rst:791 +#: ../../library/pickle.rst:789 +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:796 msgid "" -"does the same, but all instances of ``MyPickler`` will by default share the " -"same dispatch table. The equivalent code using the :mod:`copyreg` module " -"is ::" +"modifies the global dispatch table shared by all users of the :mod:`copyreg` " +"module." msgstr "" -"faz o mesmo, mas todas as instâncias de ``MyPickler`` irão por padrão " -"compartilhar a mesma tabela de despacho. O código equivalente usando o " -"módulo :mod:`copyreg` é ::" +"modifica a tabela de despacho global compartilhada por todos os usuários do " +"módulo :mod:`copyreg`." -#: ../../library/pickle.rst:802 +#: ../../library/pickle.rst:801 msgid "Handling Stateful Objects" msgstr "Manipulação de objetos com estado" -#: ../../library/pickle.rst:808 +#: ../../library/pickle.rst:807 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 " @@ -1518,15 +1528,15 @@ msgstr "" "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:854 +#: ../../library/pickle.rst:853 msgid "A sample usage might be something like this::" -msgstr "Um exemplo de uso pode ser algo assim:: " +msgstr "Um exemplo de uso pode ser algo assim::" -#: ../../library/pickle.rst:868 +#: ../../library/pickle.rst:867 msgid "Custom Reduction for Types, Functions, and Other Objects" msgstr "Redução personalizada para tipos, funções e outros objetos" -#: ../../library/pickle.rst:872 +#: ../../library/pickle.rst:871 msgid "" "Sometimes, :attr:`~Pickler.dispatch_table` may not be flexible enough. In " "particular we may want to customize pickling based on another criterion than " @@ -1538,7 +1548,7 @@ 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:877 +#: ../../library/pickle.rst:876 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 " @@ -1552,7 +1562,7 @@ msgstr "" "pode, alternativamente, retornar ``NotImplemented`` para retornar ao " "comportamento tradicional." -#: ../../library/pickle.rst:882 +#: ../../library/pickle.rst:881 msgid "" "If both the :attr:`~Pickler.dispatch_table` and :meth:`~Pickler." "reducer_override` are defined, then :meth:`~Pickler.reducer_override` method " @@ -1561,7 +1571,7 @@ 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:887 +#: ../../library/pickle.rst:886 msgid "" "For performance reasons, :meth:`~Pickler.reducer_override` may not be called " "for the following objects: ``None``, ``True``, ``False``, and exact " @@ -1575,7 +1585,7 @@ msgstr "" "`str`, :class:`dict`, :class:`set`, :class:`frozenset`, :class:`list` e :" "class:`tuple`." -#: ../../library/pickle.rst:893 +#: ../../library/pickle.rst:892 msgid "" "Here is a simple example where we allow pickling and reconstructing a given " "class::" @@ -1583,11 +1593,11 @@ msgstr "" "Aqui está um exemplo simples onde permitimos serialização com pickle e " "reconstrução de uma determinada classe:" -#: ../../library/pickle.rst:928 +#: ../../library/pickle.rst:927 msgid "Out-of-band Buffers" msgstr "Buffers fora da banda" -#: ../../library/pickle.rst:932 +#: ../../library/pickle.rst:931 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 " @@ -1603,7 +1613,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:939 +#: ../../library/pickle.rst:938 msgid "" "This constraint can be eschewed if both the *provider* (the implementation " "of the object types to be transferred) and the *consumer* (the " @@ -1615,11 +1625,11 @@ 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:945 +#: ../../library/pickle.rst:944 msgid "Provider API" msgstr "API de provedor" -#: ../../library/pickle.rst:947 +#: ../../library/pickle.rst:946 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:" @@ -1631,7 +1641,7 @@ msgstr "" "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:952 +#: ../../library/pickle.rst:951 msgid "" "A :class:`PickleBuffer` object *signals* that the underlying buffer is " "eligible for out-of-band data transfer. Those objects remain compatible " @@ -1645,11 +1655,11 @@ 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:959 +#: ../../library/pickle.rst:958 msgid "Consumer API" msgstr "API de consumidor" -#: ../../library/pickle.rst:961 +#: ../../library/pickle.rst:960 msgid "" "A communications system can enable custom handling of the :class:" "`PickleBuffer` objects generated when serializing an object graph." @@ -1657,7 +1667,7 @@ 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:964 +#: ../../library/pickle.rst:963 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 " @@ -1672,7 +1682,7 @@ msgstr "" "verão seus dados copiados no fluxo pickle, apenas um marcador barato será " "inserido." -#: ../../library/pickle.rst:971 +#: ../../library/pickle.rst:970 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 " @@ -1690,7 +1700,7 @@ msgstr "" "reconstrutores dos objetos cuja serialização com pickle produziu os objetos :" "class:`PickleBuffer` originais." -#: ../../library/pickle.rst:979 +#: ../../library/pickle.rst:978 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. " @@ -1702,11 +1712,11 @@ msgstr "" "banda. As otimizações potenciais incluem o uso de memória compartilhada ou " "compactação dependente do tipo de dados." -#: ../../library/pickle.rst:985 +#: ../../library/pickle.rst:984 msgid "Example" msgstr "Exemplo" -#: ../../library/pickle.rst:987 +#: ../../library/pickle.rst:986 msgid "" "Here is a trivial example where we implement a :class:`bytearray` subclass " "able to participate in out-of-band buffer pickling::" @@ -1715,7 +1725,7 @@ msgstr "" "`bytearray` capaz de participar de serialização com pickle de buffer fora de " "banda::" -#: ../../library/pickle.rst:1011 +#: ../../library/pickle.rst:1010 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 " @@ -1725,7 +1735,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:1015 +#: ../../library/pickle.rst:1014 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::" @@ -1733,7 +1743,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:1024 +#: ../../library/pickle.rst:1023 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::" @@ -1741,7 +1751,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:1034 +#: ../../library/pickle.rst:1033 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 " @@ -1757,15 +1767,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:1041 +#: ../../library/pickle.rst:1040 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:1047 +#: ../../library/pickle.rst:1046 msgid "Restricting Globals" msgstr "Restringindo globais" -#: ../../library/pickle.rst:1052 +#: ../../library/pickle.rst:1051 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 " @@ -1778,7 +1788,7 @@ msgstr "" "arbitrário. Basta considerar o que este fluxo de dados pickle feito à mão " "faz quando carregado::" -#: ../../library/pickle.rst:1062 +#: ../../library/pickle.rst:1061 msgid "" "In this example, the unpickler imports the :func:`os.system` function and " "then apply the string argument \"echo hello world\". Although this example " @@ -1789,7 +1799,7 @@ 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:1066 +#: ../../library/pickle.rst:1065 msgid "" "For this reason, you may want to control what gets unpickled by customizing :" "meth:`Unpickler.find_class`. Unlike its name suggests, :meth:`Unpickler." @@ -1803,7 +1813,7 @@ 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:1072 +#: ../../library/pickle.rst:1071 msgid "" "Here is an example of an unpickler allowing only few safe classes from the :" "mod:`builtins` module to be loaded::" @@ -1811,11 +1821,11 @@ 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:1101 -msgid "A sample usage of our unpickler working has intended::" +#: ../../library/pickle.rst:1100 +msgid "A sample usage of our unpickler working as intended::" msgstr "Um exemplo de uso do nosso unpickler funcionando como esperado::" -#: ../../library/pickle.rst:1120 +#: ../../library/pickle.rst:1119 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 " @@ -1827,11 +1837,11 @@ msgstr "" "você pode querer considerar alternativas como a API de marshalling em :mod:" "`xmlrpc.client` ou soluções de terceiros." -#: ../../library/pickle.rst:1127 +#: ../../library/pickle.rst:1126 msgid "Performance" -msgstr "Performance" +msgstr "Desempenho" -#: ../../library/pickle.rst:1129 +#: ../../library/pickle.rst:1128 msgid "" "Recent versions of the pickle protocol (from protocol 2 and upwards) feature " "efficient binary encodings for several common features and built-in types. " @@ -1842,70 +1852,70 @@ msgstr "" "embutidos. Além disso, o módulo :mod:`pickle` tem um otimizador transparente " "escrito em C." -#: ../../library/pickle.rst:1137 +#: ../../library/pickle.rst:1136 msgid "Examples" msgstr "Exemplos" -#: ../../library/pickle.rst:1139 +#: ../../library/pickle.rst:1138 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:1155 +#: ../../library/pickle.rst:1154 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:1172 +#: ../../library/pickle.rst:1171 msgid "Module :mod:`copyreg`" msgstr "Módulo :mod:`copyreg`" -#: ../../library/pickle.rst:1172 +#: ../../library/pickle.rst:1171 msgid "Pickle interface constructor registration for extension types." msgstr "Registro de construtor de interface Pickle para tipos de extensão." -#: ../../library/pickle.rst:1175 +#: ../../library/pickle.rst:1174 msgid "Module :mod:`pickletools`" msgstr "Módulo :mod:`pickletools`" -#: ../../library/pickle.rst:1175 +#: ../../library/pickle.rst:1174 msgid "Tools for working with and analyzing pickled data." msgstr "Ferramentas para trabalhar e analisar dados serializados com pickle." -#: ../../library/pickle.rst:1178 +#: ../../library/pickle.rst:1177 msgid "Module :mod:`shelve`" msgstr "Módulo :mod:`shelve`" -#: ../../library/pickle.rst:1178 +#: ../../library/pickle.rst:1177 msgid "Indexed databases of objects; uses :mod:`pickle`." msgstr "Banco de dados indexado de objetos; usa :mod:`pickle`." -#: ../../library/pickle.rst:1181 +#: ../../library/pickle.rst:1180 msgid "Module :mod:`copy`" msgstr "Módulo :mod:`copy`" -#: ../../library/pickle.rst:1181 +#: ../../library/pickle.rst:1180 msgid "Shallow and deep object copying." msgstr "Cópia rasa e cópia profunda de objeto." -#: ../../library/pickle.rst:1183 +#: ../../library/pickle.rst:1182 msgid "Module :mod:`marshal`" msgstr "Módulo :mod:`marshal`" -#: ../../library/pickle.rst:1184 +#: ../../library/pickle.rst:1183 msgid "High-performance serialization of built-in types." msgstr "Serialização de alto desempenho de tipos embutidos." -#: ../../library/pickle.rst:1188 +#: ../../library/pickle.rst:1187 msgid "Footnotes" msgstr "Notas de rodapé" -#: ../../library/pickle.rst:1189 +#: ../../library/pickle.rst:1188 msgid "Don't confuse this with the :mod:`marshal` module" msgstr "Não confunda isso com o módulo :mod:`marshal`" -#: ../../library/pickle.rst:1191 +#: ../../library/pickle.rst:1190 msgid "" "This is why :keyword:`lambda` functions cannot be pickled: all :keyword:`!" "lambda` functions share the same name: ````." @@ -1914,7 +1924,7 @@ msgstr "" "pickle: todas as funções :keyword:`!lambda` compartilham o mesmo nome: " "````." -#: ../../library/pickle.rst:1194 +#: ../../library/pickle.rst:1193 msgid "" "The exception raised will likely be an :exc:`ImportError` or an :exc:" "`AttributeError` but it could be something else." @@ -1922,7 +1932,7 @@ msgstr "" "A exceção levantada provavelmente será uma :exc:`ImportError` ou uma :exc:" "`AttributeError`, mas poderia ser outra coisa." -#: ../../library/pickle.rst:1197 +#: ../../library/pickle.rst:1196 msgid "" "The :mod:`copy` module uses this protocol for shallow and deep copying " "operations." @@ -1930,14 +1940,15 @@ msgstr "" "O módulo :mod:`copy` usa este protocolo para operações de cópia rasa e cópia " "profunda." -#: ../../library/pickle.rst:1200 +#: ../../library/pickle.rst:1199 msgid "" -"The limitation on alphanumeric characters is due to the fact the persistent " -"IDs, in protocol 0, are delimited by the newline character. Therefore if " -"any kind of newline characters occurs in persistent IDs, the resulting " -"pickle will become unreadable." +"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 dos IDs " +"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, o pickle resultante se tornará ilegível." +"persistentes, os dados resultantes da serialização com pickle se tornarão " +"ilegíveis." diff --git a/library/pickletools.po b/library/pickletools.po index dbe8f30fd..6efa3d130 100644 --- a/library/pickletools.po +++ b/library/pickletools.po @@ -1,27 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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.10\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-06-29 12:56+0000\n" -"PO-Revision-Date: 2021-06-28 01:11+0000\n" -"Last-Translator: i17obot , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:58+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/pickletools.rst:2 msgid ":mod:`pickletools` --- Tools for pickle developers" diff --git a/library/pipes.po b/library/pipes.po index af6b865f6..3c8d56139 100644 --- a/library/pipes.po +++ b/library/pipes.po @@ -1,96 +1,100 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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 -# Italo Penaforte , 2021 -# i17obot , 2021 +# python-doc bot, 2025 # #, 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:11+0000\n" -"Last-Translator: i17obot , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:58+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/pipes.rst:2 msgid ":mod:`pipes` --- Interface to shell pipelines" msgstr "" -#: ../../library/pipes.rst:10 +#: ../../library/pipes.rst:11 msgid "**Source code:** :source:`Lib/pipes.py`" msgstr "**Código-fonte:** :source:`Lib/pipes.py`" -#: ../../library/pipes.rst:14 +#: ../../library/pipes.rst:13 +msgid "" +"The :mod:`pipes` module is deprecated (see :pep:`PEP 594 <594#pipes>` for " +"details). Please use the :mod:`subprocess` module instead." +msgstr "" + +#: ../../library/pipes.rst:20 msgid "" "The :mod:`pipes` module defines a class to abstract the concept of a " "*pipeline* --- a sequence of converters from one file to another." msgstr "" -#: ../../library/pipes.rst:17 +#: ../../library/pipes.rst:23 msgid "" "Because the module uses :program:`/bin/sh` command lines, a POSIX or " "compatible shell for :func:`os.system` and :func:`os.popen` is required." msgstr "" -#: ../../library/pipes.rst:21 +#: ../../library/pipes.rst:27 msgid ":ref:`Availability `: Unix. Not available on VxWorks." msgstr "" -#: ../../library/pipes.rst:22 +#: ../../library/pipes.rst:28 msgid "The :mod:`pipes` module defines the following class:" msgstr "" -#: ../../library/pipes.rst:27 +#: ../../library/pipes.rst:33 msgid "An abstraction of a pipeline." msgstr "Uma abstração de um pipeline" -#: ../../library/pipes.rst:29 +#: ../../library/pipes.rst:35 msgid "Example::" msgstr "Exemplo::" -#: ../../library/pipes.rst:44 +#: ../../library/pipes.rst:50 msgid "Template Objects" msgstr "Objetos Template" -#: ../../library/pipes.rst:46 +#: ../../library/pipes.rst:52 msgid "Template objects following methods:" msgstr "" -#: ../../library/pipes.rst:51 +#: ../../library/pipes.rst:57 msgid "Restore a pipeline template to its initial state." msgstr "" -#: ../../library/pipes.rst:56 +#: ../../library/pipes.rst:62 msgid "Return a new, equivalent, pipeline template." msgstr "" -#: ../../library/pipes.rst:61 +#: ../../library/pipes.rst:67 msgid "" "If *flag* is true, turn debugging on. Otherwise, turn debugging off. When " "debugging is on, commands to be executed are printed, and the shell is given " "``set -x`` command to be more verbose." msgstr "" -#: ../../library/pipes.rst:68 +#: ../../library/pipes.rst:74 msgid "" "Append a new action at the end. The *cmd* variable must be a valid bourne " "shell command. The *kind* variable consists of two letters." msgstr "" -#: ../../library/pipes.rst:71 +#: ../../library/pipes.rst:77 msgid "" "The first letter can be either of ``'-'`` (which means the command reads its " "standard input), ``'f'`` (which means the commands reads a given file on the " @@ -98,7 +102,7 @@ msgid "" "must be first.)" msgstr "" -#: ../../library/pipes.rst:76 +#: ../../library/pipes.rst:82 msgid "" "Similarly, the second letter can be either of ``'-'`` (which means the " "command writes to standard output), ``'f'`` (which means the command writes " @@ -106,18 +110,18 @@ msgid "" "write anything, and hence must be last.)" msgstr "" -#: ../../library/pipes.rst:84 +#: ../../library/pipes.rst:90 msgid "" "Add a new action at the beginning. See :meth:`append` for explanations of " "the arguments." msgstr "" -#: ../../library/pipes.rst:90 +#: ../../library/pipes.rst:96 msgid "" "Return a file-like object, open to *file*, but read from or written to by " "the pipeline. Note that only one of ``'r'``, ``'w'`` may be given." msgstr "" -#: ../../library/pipes.rst:96 +#: ../../library/pipes.rst:102 msgid "Copy *infile* to *outfile* through the pipe." msgstr "" diff --git a/library/pkgutil.po b/library/pkgutil.po index 4832bd426..334a07852 100644 --- a/library/pkgutil.po +++ b/library/pkgutil.po @@ -1,27 +1,28 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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 +# Rafael Fontenelle , 2025 # #, 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:11+0000\n" -"Last-Translator: Raphael Mendonça, 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-25 17:21+0000\n" +"PO-Revision-Date: 2025-09-22 15:58+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=2; plural=(n > 1);\n" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/pkgutil.rst:2 msgid ":mod:`pkgutil` --- Package extension utility" @@ -54,9 +55,9 @@ msgstr "" #: ../../library/pkgutil.rst:28 msgid "" "This will add to the package's ``__path__`` all subdirectories of " -"directories on ``sys.path`` named after the package. This is useful if one " -"wants to distribute different parts of a single logical package as multiple " -"directories." +"directories on :data:`sys.path` named after the package. This is useful if " +"one wants to distribute different parts of a single logical package as " +"multiple directories." msgstr "" #: ../../library/pkgutil.rst:33 @@ -76,6 +77,10 @@ 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 "" @@ -85,6 +90,11 @@ msgid "" "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." @@ -118,6 +128,7 @@ 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 "" @@ -133,30 +144,36 @@ 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." 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 "" @@ -166,43 +183,61 @@ 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 "" -"If fullname contains a '.', the finders will be for the package containing " -"fullname, otherwise they will be all registered top level finders (i.e. " -"those on both sys.meta_path and sys.path_hooks)." +"If fullname contains a ``'.'``, the finders will be for the package " +"containing fullname, otherwise they will be all registered top level finders " +"(i.e. those on both :data:`sys.meta_path` and :data:`sys.path_hooks`)." msgstr "" +"Se fullname contiver ``'.'``, os localizadores serão para o pacote que " +"contém fullname, caso contrário, serão todos os localizadores de nível " +"superior registrados (ou seja, aqueles em :data:`sys.meta_path` e :data:`sys." +"path_hooks`)." #: ../../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 ``sys.path``." +"``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 "" @@ -211,12 +246,18 @@ msgid "" "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 "" @@ -224,15 +265,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::" @@ -240,7 +289,7 @@ 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 "" @@ -251,18 +300,27 @@ msgid "" "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 "" @@ -272,10 +330,15 @@ msgid "" "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 "" @@ -283,6 +346,9 @@ msgid "" "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 "" @@ -290,14 +356,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 "" @@ -308,6 +377,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 "" @@ -317,23 +392,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 9a84e23cc..9286d2458 100644 --- a/library/platform.po +++ b/library/platform.po @@ -1,28 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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.10\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-08-03 13:12+0000\n" -"PO-Revision-Date: 2021-06-28 01:11+0000\n" -"Last-Translator: i17obot , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:58+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/platform.rst:2 msgid ":mod:`platform` --- Access to underlying platform's identifying data" @@ -37,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 "" @@ -54,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 "" @@ -62,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 "" @@ -70,12 +80,19 @@ 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 "" @@ -85,27 +102,36 @@ msgstr "" #: ../../library/platform.rst:56 msgid "" -"Returns the machine type, e.g. ``'i386'``. An empty string is returned if " +"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 "" @@ -114,22 +140,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 "" @@ -137,64 +171,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 " +"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 "" @@ -202,12 +257,17 @@ 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 "" @@ -215,6 +275,9 @@ msgid "" "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 "" @@ -226,15 +289,15 @@ 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 namedtuple." -msgstr "Resultado alterado de uma tupla para uma namedtuple." +msgid "Result changed from a tuple to a :func:`~collections.namedtuple`." +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." @@ -247,19 +310,32 @@ 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 "" "Get additional version information from the Windows Registry and return a " "tuple ``(release, version, csd, ptype)`` referring to OS release, version " -"number, CSD level (service pack) and OS type (multi/single processor)." +"number, CSD level (service pack) and OS type (multi/single processor). " +"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:206 +#: ../../library/platform.rst:208 msgid "" "As a hint: *ptype* is ``'Uniprocessor Free'`` on single processor NT " "machines and ``'Multiprocessor Free'`` on multi processor machines. The " @@ -268,64 +344,83 @@ msgid "" "code that checks arguments, ranges, etc." msgstr "" -#: ../../library/platform.rst:214 +#: ../../library/platform.rst:216 msgid "" -"Returns a string representing the current Windows edition. Possible values " -"include but are not limited to ``'Enterprise'``, ``'IoTUAP'``, " -"``'ServerStandard'``, and ``'nanoserver'``." +"Returns a string representing the current Windows edition, or ``None`` if " +"the value cannot be determined. Possible values include but are not limited " +"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:222 +#: ../../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:229 -msgid "Mac OS Platform" -msgstr "Plataforma Mac OS" +#: ../../library/platform.rst:231 +msgid "macOS Platform" +msgstr "Plataforma macOS" -#: ../../library/platform.rst:234 +#: ../../library/platform.rst:236 msgid "" -"Get Mac OS version information and return it as tuple ``(release, " +"Get macOS version information and return it as tuple ``(release, " "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:238 +#: ../../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:243 +#: ../../library/platform.rst:245 msgid "Unix Platforms" msgstr "Plataformas Unix" -#: ../../library/platform.rst:247 +#: ../../library/platform.rst:249 msgid "" "Tries to determine the libc version against which the file executable " "(defaults to the Python interpreter) is linked. Returns a tuple of strings " "``(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:251 +#: ../../library/platform.rst:253 msgid "" "Note that this function has intimate knowledge of how different libc " "versions add symbols to the executable is probably only usable for " "executables compiled using :program:`gcc`." msgstr "" +"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:255 +#: ../../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:259 +#: ../../library/platform.rst:261 msgid "Linux Platforms" -msgstr "" +msgstr "Plataformas Linux" -#: ../../library/platform.rst:263 +#: ../../library/platform.rst:265 msgid "" "Get operating system identification from ``os-release`` file and return it " "as a dict. The ``os-release`` file is a `freedesktop.org standard `_ 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:269 +#: ../../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:272 +#: ../../library/platform.rst:274 msgid "" "On success, the function returns a dictionary where keys and values are " "strings. Values have their special characters like ``\"`` and ``$`` " @@ -348,15 +450,24 @@ 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:278 +#: ../../library/platform.rst:280 msgid "" "Note that fields like ``NAME``, ``VERSION``, and ``VARIANT`` are strings " "suitable for presentation to users. Programs should use fields like ``ID``, " "``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:283 +#: ../../library/platform.rst:285 msgid "Example::" msgstr "Exemplo::" diff --git a/library/plistlib.po b/library/plistlib.po index ed840185a..c1bf7bdc8 100644 --- a/library/plistlib.po +++ b/library/plistlib.po @@ -1,28 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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 -# Hildeberto Abreu Magalhães , 2021 +# python-doc bot, 2025 # #, 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:11+0000\n" -"Last-Translator: Hildeberto Abreu Magalhães , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:58+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/plistlib.rst:2 msgid ":mod:`plistlib` --- Generate and parse Apple ``.plist`` files" @@ -34,10 +33,13 @@ msgstr "**Código-fonte:** :source:`Lib/plistlib.py`" #: ../../library/plistlib.rst:19 msgid "" -"This module provides an interface for reading and writing the \"property list" -"\" files used by Apple, primarily on macOS and iOS. This module supports " +"This module provides an interface for reading and writing the \"property " +"list\" files used by Apple, primarily on macOS and iOS. This module supports " "both binary and XML plist files." msgstr "" +"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 "" @@ -45,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." 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`." msgstr "" +"Para trabalhar com dados plist em objetos bytes, use :func:`dumps` e :func:" +"`loads`." #: ../../library/plistlib.rst:33 msgid "" @@ -64,20 +74,27 @@ 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 "" @@ -87,7 +104,7 @@ msgstr "" #: ../../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:" @@ -98,28 +115,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 "" @@ -128,37 +148,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 "" @@ -166,58 +198,74 @@ 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." 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`." +"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" @@ -225,8 +273,8 @@ msgstr "Exemplos" #: ../../library/plistlib.rst:160 msgid "Generating a plist::" -msgstr "" +msgstr "Gerando um plist::" -#: ../../library/plistlib.rst:180 +#: ../../library/plistlib.rst:182 msgid "Parsing a plist::" -msgstr "" +msgstr "Analisando um plist::" diff --git a/library/poplib.po b/library/poplib.po index 91717669b..a9a52c9e7 100644 --- a/library/poplib.po +++ b/library/poplib.po @@ -1,36 +1,35 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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 Biagioni de Fazio , 2021 -# i17obot , 2021 +# python-doc bot, 2025 # #, 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:11+0000\n" -"Last-Translator: i17obot , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:58+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"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 "" @@ -41,6 +40,12 @@ msgid "" "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 "" @@ -48,6 +53,9 @@ 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 "" @@ -56,10 +64,15 @@ msgid "" "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." #: ../../library/poplib.rst:31 msgid "The :mod:`poplib` module provides two classes:" -msgstr "" +msgstr "O módulo :mod:`poplib` fornece duas classes:" #: ../../library/poplib.rst:36 msgid "" @@ -69,12 +82,19 @@ 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:42 ../../library/poplib.rst:68 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:44 ../../library/poplib.rst:70 msgid "" @@ -88,12 +108,17 @@ msgid "" "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:50 ../../library/poplib.rst:91 msgid "" "If the *timeout* parameter is set to be zero, it will raise a :class:" "`ValueError` to prevent the creation of a non-blocking socket." msgstr "" +"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:56 msgid "" @@ -105,6 +130,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:64 msgid "" @@ -132,7 +164,7 @@ msgstr "" #: ../../library/poplib.rst:95 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:100 msgid "" @@ -140,6 +172,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:108 msgid "Module :mod:`imaplib`" diff --git a/library/posix.po b/library/posix.po index 27b700217..20436bf53 100644 --- a/library/posix.po +++ b/library/posix.po @@ -1,26 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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.10\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-06-29 12:56+0000\n" -"PO-Revision-Date: 2021-06-28 01:11+0000\n" -"Last-Translator: Rafael Fontenelle , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:58+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/posix.rst:2 msgid ":mod:`posix` --- The most common POSIX system calls" @@ -73,21 +74,32 @@ msgstr "Suporte a arquivos grandes" #: ../../library/posix.rst:40 msgid "" -"Several operating systems (including AIX, HP-UX and Solaris) provide support " -"for files that are larger than 2 GiB from a C programming model where :c:" -"type:`int` and :c:type:`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`." +"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`." 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 é " +"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 msgid "" "Large file support is enabled in Python when the size of an :c:type:`off_t` " -"is larger than a :c:type:`long` and the :c:type:`long long` is at least as " +"is larger than a :c:expr:`long` and the :c:expr:`long long` is at least as " "large as an :c:type:`off_t`. It may be necessary to configure and compile " "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 " +"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 msgid "On large-file-capable Linux systems, this might work::" diff --git a/library/pprint.po b/library/pprint.po index 3b8f2c520..00b8f886f 100644 --- a/library/pprint.po +++ b/library/pprint.po @@ -1,28 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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 -# And Past , 2021 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.10\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-07-02 12:52+0000\n" -"PO-Revision-Date: 2021-06-28 01:11+0000\n" -"Last-Translator: And Past , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:58+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/pprint.rst:2 msgid ":mod:`pprint` --- Data pretty printer" @@ -41,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 "" @@ -49,18 +55,26 @@ 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:34 msgid "The :mod:`pprint` module defines one class:" @@ -71,6 +85,8 @@ 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 msgid "" @@ -83,12 +99,16 @@ 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:53 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:56 msgid "" @@ -97,6 +117,10 @@ msgid "" "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:61 msgid "" @@ -104,6 +128,9 @@ msgid "" "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:65 msgid "" @@ -112,12 +139,20 @@ msgid "" "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:71 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:74 msgid "" @@ -125,21 +160,24 @@ msgid "" "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:78 ../../library/pprint.rst:120 #: ../../library/pprint.rst:151 msgid "Added the *compact* parameter." -msgstr "" +msgstr "Adicionado o parâmetro *compact*." #: ../../library/pprint.rst:81 ../../library/pprint.rst:123 #: ../../library/pprint.rst:154 msgid "Added the *sort_dicts* parameter." -msgstr "" +msgstr "Adicionado o parâmetro *sort_dicts*." #: ../../library/pprint.rst:84 ../../library/pprint.rst:126 #: ../../library/pprint.rst:157 msgid "Added the *underscore_numbers* parameter." -msgstr "" +msgstr "Adicionado o parâmetro *underscore_numbers*." #: ../../library/pprint.rst:111 msgid "The :mod:`pprint` module also provides several shortcut functions:" @@ -178,6 +216,9 @@ msgid "" "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:186 msgid "Determine if *object* requires a recursive representation." @@ -197,23 +238,27 @@ msgstr "" #: ../../library/pprint.rst:205 msgid "PrettyPrinter Objects" -msgstr "" +msgstr "Objetos PrettyPrinter" #: ../../library/pprint.rst:207 msgid ":class:`PrettyPrinter` instances have the following methods:" -msgstr "" +msgstr "Instâncias :class:`PrettyPrinter` contêm os seguintes métodos:" #: ../../library/pprint.rst:212 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:218 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:221 msgid "" @@ -222,6 +267,10 @@ msgid "" "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:231 msgid "" @@ -231,10 +280,15 @@ msgid "" "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:240 msgid "Determine if the object requires a recursive representation." -msgstr "" +msgstr "Determina se o objeto requer uma representação recursiva." #: ../../library/pprint.rst:242 msgid "" @@ -242,6 +296,10 @@ msgid "" "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:249 msgid "" @@ -260,6 +318,20 @@ msgid "" "the current level; recursive calls should be passed a value less than that " "of the current call." msgstr "" +"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:267 msgid "Example" @@ -281,9 +353,13 @@ 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:380 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::" diff --git a/library/profile.po b/library/profile.po index efb22939a..942178013 100644 --- a/library/profile.po +++ b/library/profile.po @@ -1,35 +1,31 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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 -# Welington Carlos , 2021 -# mvpetri , 2021 -# Claudio Rogerio Carvalho Filho , 2021 -# i17obot , 2021 +# python-doc bot, 2025 # #, 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:11+0000\n" -"Last-Translator: i17obot , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:58+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"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`" @@ -37,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 "" @@ -52,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 "" @@ -93,6 +91,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 "" @@ -256,7 +256,7 @@ msgstr "" #: ../../library/profile.rst:176 msgid "You might also try::" -msgstr "" +msgstr "Você pode tentar também::" #: ../../library/profile.rst:180 msgid "" @@ -367,11 +367,11 @@ msgstr "Adicionado suporte a gerenciador de contexto." #: ../../library/profile.rst:283 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:287 msgid "Stop collecting profiling data. Only in :mod:`cProfile`." -msgstr "" +msgstr "Para de coletar dados de profilling. Apenas em :mod:`cProfile`." #: ../../library/profile.rst:291 msgid "" @@ -389,7 +389,7 @@ msgstr "" #: ../../library/profile.rst:301 msgid "Write the results of the current profile to *filename*." -msgstr "" +msgstr "Escreve os resultados do profile atual para *filename*." #: ../../library/profile.rst:305 msgid "Profile the cmd via :func:`exec`." @@ -415,7 +415,7 @@ msgstr "" #: ../../library/profile.rst:324 msgid "The :class:`Stats` Class" -msgstr "" +msgstr "A classe :class:`Stats`" #: ../../library/profile.rst:326 msgid "" @@ -451,7 +451,7 @@ msgstr "" #: ../../library/profile.rst:351 msgid ":class:`Stats` objects have the following methods:" -msgstr "" +msgstr "Os objetos de :class:`Stats` tem os seguintes métodos:" #: ../../library/profile.rst:355 msgid "" @@ -822,7 +822,7 @@ msgstr "" #: ../../library/profile.rst:575 msgid "Limitations" -msgstr "" +msgstr "Limitações" #: ../../library/profile.rst:577 msgid "" @@ -880,7 +880,7 @@ 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 " "computes the hidden overhead per profiler event, and returns that as a " -"float. For example, on a 1.8Ghz Intel Core i5 running Mac OS X, and using " +"float. For example, on a 1.8Ghz Intel Core i5 running macOS, and using " "Python's time.process_time() as the timer, the magical number is about " "4.04e-6." msgstr "" diff --git a/library/pty.po b/library/pty.po index fcb54d0c1..d6bb35a60 100644 --- a/library/pty.po +++ b/library/pty.po @@ -1,31 +1,31 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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.10\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-08-13 13:42+0000\n" -"PO-Revision-Date: 2021-06-28 01:11+0000\n" -"Last-Translator: And Past , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:58+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"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`" @@ -37,6 +37,9 @@ 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 "" @@ -44,10 +47,14 @@ msgid "" "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 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 msgid "" @@ -57,6 +64,11 @@ 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:37 msgid "" @@ -64,6 +76,10 @@ msgid "" "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 msgid "" @@ -73,6 +89,11 @@ 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 msgid "" @@ -80,6 +101,9 @@ msgid "" "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 msgid "" @@ -88,6 +112,10 @@ msgid "" "order to force spawn to return before the child process exits an empty byte " "array should be returned to signal end of file." msgstr "" +"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 msgid "" @@ -97,6 +125,11 @@ 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 msgid "" @@ -107,11 +140,19 @@ 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 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 msgid "" @@ -126,12 +167,16 @@ 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 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 msgid "Example" @@ -143,3 +188,6 @@ msgid "" "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 b9f6cf0ed..9f3f0593f 100644 --- a/library/pwd.po +++ b/library/pwd.po @@ -1,30 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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 -# Welington Carlos , 2021 -# Claudio Rogerio Carvalho Filho , 2021 -# Marciel Leal , 2021 +# python-doc bot, 2025 # #, 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:11+0000\n" -"Last-Translator: Marciel Leal , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:58+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/pwd.rst:2 msgid ":mod:`pwd` --- The password database" @@ -119,7 +116,7 @@ msgstr "``pw_gecos``" #: ../../library/pwd.rst:28 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:30 msgid "5" @@ -164,15 +161,14 @@ 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:51 msgid "It defines the following items:" @@ -209,5 +205,4 @@ msgstr "Módulo :mod:`spwd`" #: ../../library/pwd.rst:75 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/py_compile.po b/library/py_compile.po index 463c4baef..8d010f497 100644 --- a/library/py_compile.po +++ b/library/py_compile.po @@ -1,28 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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.10\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-06-29 12:56+0000\n" -"PO-Revision-Date: 2021-06-28 01:11+0000\n" -"Last-Translator: Claudio Rogerio Carvalho Filho , " -"2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-11-23 17:17+0000\n" +"PO-Revision-Date: 2025-09-22 15:58+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/py_compile.rst:2 msgid ":mod:`py_compile` --- Compile Python source files" @@ -65,27 +64,29 @@ msgid "" "written to *cfile*, which defaults to the :pep:`3147`/:pep:`488` path, " "ending in ``.pyc``. For example, if *file* is ``/foo/bar/baz.py`` *cfile* " "will default to ``/foo/bar/__pycache__/baz.cpython-32.pyc`` for Python 3.2. " -"If *dfile* is specified, it is used as the name of the source file in error " -"messages instead of *file*. If *doraise* is true, a :exc:`PyCompileError` " -"is raised when an error is encountered while compiling *file*. If *doraise* " -"is false (the default), an error string is written to ``sys.stderr``, but no " -"exception is raised. This function returns the path to byte-compiled file, " -"i.e. whatever *cfile* value was used." +"If *dfile* is specified, it is used instead of *file* as the name of the " +"source file from which source lines are obtained for display in exception " +"tracebacks. If *doraise* is true, a :exc:`PyCompileError` is raised when an " +"error is encountered while compiling *file*. If *doraise* is false (the " +"default), an error string is written to ``sys.stderr``, but no exception is " +"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 como o " -"nome do arquivo fonte nas mensagens de erro em vez de *file*. 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á gerada. Essa função retorna o caminho para o arquivo compilado " -"em bytes, ou seja, qualquer valor *cfile* foi usado." +"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:45 +#: ../../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 " @@ -102,7 +103,7 @@ msgstr "" "entanto, se *quiet* for 2, nenhuma mensagem será escrita e *doraise* não " "terá efeito." -#: ../../library/py_compile.rst:52 +#: ../../library/py_compile.rst:53 msgid "" "If the path that *cfile* becomes (either explicitly specified or computed) " "is a symlink or non-regular file, :exc:`FileExistsError` will be raised. " @@ -120,7 +121,7 @@ msgstr "" "arquivo final compilado em bytecode para evitar problemas de gravação " "simultânea de arquivos." -#: ../../library/py_compile.rst:59 +#: ../../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 " @@ -130,7 +131,7 @@ msgstr "" "embutida :func:`compile`. O padrão de ``-1`` seleciona o nível de otimização " "do interpretador atual." -#: ../../library/py_compile.rst:63 +#: ../../library/py_compile.rst:64 msgid "" "*invalidation_mode* should be a member of the :class:`PycInvalidationMode` " "enum and controls how the generated bytecode cache is invalidated at " @@ -144,7 +145,7 @@ msgstr "" "de ambiente :envvar:`SOURCE_DATE_EPOCH` estiver configurada, caso contrário, " "o padrão é :attr:`PycInvalidationMode.TIMESTAMP`." -#: ../../library/py_compile.rst:69 +#: ../../library/py_compile.rst:70 msgid "" "Changed default value of *cfile* to be :PEP:`3147`-compliant. Previous " "default was *file* + ``'c'`` (``'o'`` if optimization was enabled). Also " @@ -154,7 +155,7 @@ msgstr "" "`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:74 +#: ../../library/py_compile.rst:75 msgid "" "Changed code to use :mod:`importlib` for the byte-code cache file writing. " "This means file creation/writing semantics now match what :mod:`importlib` " @@ -169,7 +170,7 @@ msgstr "" "a ressalva de que :exc:`FileExistsError` é levantada se *cfile* for um link " "simbólico ou um arquivo não regular." -#: ../../library/py_compile.rst:81 +#: ../../library/py_compile.rst:82 msgid "" "The *invalidation_mode* parameter was added as specified in :pep:`552`. If " "the :envvar:`SOURCE_DATE_EPOCH` environment variable is set, " @@ -181,7 +182,7 @@ msgstr "" "configurada, *invalidation_mode* será forçado a :attr:`PycInvalidationMode." "CHECKED_HASH`." -#: ../../library/py_compile.rst:87 +#: ../../library/py_compile.rst:88 msgid "" "The :envvar:`SOURCE_DATE_EPOCH` environment variable no longer overrides the " "value of the *invalidation_mode* argument, and determines its default value " @@ -191,11 +192,11 @@ msgstr "" "valor do argumento *invalidation_mode* e, em vez disso, determina seu valor " "padrão." -#: ../../library/py_compile.rst:92 +#: ../../library/py_compile.rst:93 msgid "The *quiet* parameter was added." msgstr "O parâmetro *quiet* foi adicionado." -#: ../../library/py_compile.rst:98 +#: ../../library/py_compile.rst:99 msgid "" "A enumeration of possible methods the interpreter can use to determine " "whether a bytecode file is up to date with a source file. The ``.pyc`` file " @@ -209,7 +210,7 @@ msgstr "" "Veja :ref:`pyc-invalidation` para obter mais informações sobre como o Python " "invalida arquivos ``.pyc`` em tempo de execução." -#: ../../library/py_compile.rst:108 +#: ../../library/py_compile.rst:109 msgid "" "The ``.pyc`` file includes the timestamp and size of the source file, which " "Python will compare against the metadata of the source file at runtime to " @@ -219,7 +220,7 @@ msgstr "" "fonte, que o Python comparará com os metadados do arquivo fonte no tempo de " "execução para determinar se o arquivo ``.pyc`` precisa ser gerado novamente." -#: ../../library/py_compile.rst:114 +#: ../../library/py_compile.rst:115 msgid "" "The ``.pyc`` file includes a hash of the source file content, which Python " "will compare against the source at runtime to determine if the ``.pyc`` file " @@ -229,7 +230,7 @@ msgstr "" "Python comparará o fonte em tempo de execução para determinar se o arquivo " "``.pyc`` precisa ser gerado novamente." -#: ../../library/py_compile.rst:120 +#: ../../library/py_compile.rst:121 msgid "" "Like :attr:`CHECKED_HASH`, the ``.pyc`` file includes a hash of the source " "file content. However, Python will at runtime assume the ``.pyc`` file is up " @@ -240,7 +241,7 @@ msgstr "" "arquivo ``.pyc`` está atualizado e não validará o ``.pyc`` contra o arquivo " "fonte." -#: ../../library/py_compile.rst:124 +#: ../../library/py_compile.rst:125 msgid "" "This option is useful when the ``.pycs`` are kept up to date by some system " "external to Python like a build system." @@ -248,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:129 +#: ../../library/py_compile.rst:130 msgid "Command-Line Interface" -msgstr "Interface de Linha de Comando" +msgstr "Interface de linha de comando" -#: ../../library/py_compile.rst:131 +#: ../../library/py_compile.rst:132 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 " @@ -260,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:143 +#: ../../library/py_compile.rst:144 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:148 +#: ../../library/py_compile.rst:149 msgid "Suppress errors output." -msgstr "" +msgstr "Suprime a saída de erros." -#: ../../library/py_compile.rst:150 +#: ../../library/py_compile.rst:151 msgid "Added support for ``-``." -msgstr "" +msgstr "Adicionado suporte a ``-``." -#: ../../library/py_compile.rst:153 +#: ../../library/py_compile.rst:154 msgid "Added support for :option:`-q`." -msgstr "" +msgstr "Adicionado suporte a :option:`-q`." -#: ../../library/py_compile.rst:159 +#: ../../library/py_compile.rst:160 msgid "Module :mod:`compileall`" msgstr "Módulo :mod:`compileall`" -#: ../../library/py_compile.rst:160 +#: ../../library/py_compile.rst:161 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 " diff --git a/library/pyclbr.po b/library/pyclbr.po index eef197e58..fb86953a2 100644 --- a/library/pyclbr.po +++ b/library/pyclbr.po @@ -1,26 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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.10\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-06-29 12:56+0000\n" -"PO-Revision-Date: 2021-06-28 01:11+0000\n" -"Last-Translator: Rafael Fontenelle , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:58+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/pyclbr.rst:2 msgid ":mod:`pyclbr` --- Python module browser support" @@ -113,7 +114,7 @@ msgstr "" #: ../../library/pyclbr.rst:60 msgid "Function Objects" -msgstr "Objetos Função" +msgstr "Objetos Function" #: ../../library/pyclbr.rst:61 msgid "" @@ -160,7 +161,7 @@ msgstr "" #: ../../library/pyclbr.rst:110 msgid "Class Objects" -msgstr "Objetos de Class" +msgstr "Objetos classe" #: ../../library/pyclbr.rst:111 msgid "" diff --git a/library/pydoc.po b/library/pydoc.po index 3ae916e6a..f9de971df 100644 --- a/library/pydoc.po +++ b/library/pydoc.po @@ -1,26 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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.10\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-07-27 13:07+0000\n" -"PO-Revision-Date: 2021-06-28 01:12+0000\n" -"Last-Translator: Rafael Fontenelle , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:58+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/pydoc.rst:2 msgid ":mod:`pydoc` --- Documentation generator and online help system" @@ -142,45 +143,46 @@ msgstr "" 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:" -"`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." +"`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 " -"visitantes. :program:`pydoc -p 1234` irá iniciar um servidor HTTP na porta " -"1234, permitindo que você navegue pela documentação em ``http://" +"visitantes. :program:`python -m pydoc -p 1234` irá iniciar um servidor HTTP " +"na porta 1234, permitindo que você navegue pela documentação em ``http://" "localhost:1234/`` em seu navegador preferido. Especificar ``0`` como o " "número da porta irá selecionar uma porta não utilizada arbitrária." #: ../../library/pydoc.rst:73 msgid "" -":program:`pydoc -n ` will start the server listening at the given " -"hostname. By default the hostname is 'localhost' but if you want the server " -"to be reached from other machines, you may want to change the host name that " -"the server responds to. During development this is especially useful if you " -"want to run pydoc from within a container." +":program:`python -m pydoc -n ` will start the server listening at " +"the given hostname. By default the hostname is 'localhost' but if you want " +"the server to be reached from other machines, you may want to change the " +"host name that the server responds to. During development this is " +"especially useful if you want to run pydoc from within a container." msgstr "" -":program:`pydoc -n ` irá iniciar o servidor ouvindo no nome de " -"host fornecido. Por padrão, o nome de host é \"localhost\", mas se você " -"deseja que o servidor seja acessado por outras máquinas, você pode alterar o " -"nome de host ao qual o servidor responde. Durante o desenvolvimento, isso é " -"especialmente útil se você deseja executar o pydoc de dentro de um contêiner." +":program:`python -m pydoc -n ` irá iniciar o servidor ouvindo no " +"nome de host fornecido. Por padrão, o nome de host é \"localhost\", mas se " +"você deseja que o servidor seja acessado por outras máquinas, você pode " +"alterar o nome de host ao qual o servidor responde. Durante o " +"desenvolvimento, isso é especialmente útil se você deseja executar o pydoc " +"de dentro de um contêiner." #: ../../library/pydoc.rst:79 msgid "" -":program:`pydoc -b` will start the server and additionally open a web " -"browser to a module index page. Each served page has a navigation bar at " -"the top where you can *Get* help on an individual item, *Search* all modules " -"with a keyword in their synopsis line, and go to the *Module index*, " +":program:`python -m pydoc -b` will start the server and additionally open a " +"web browser to a module index page. Each served page has a navigation bar " +"at the top where you can *Get* help on an individual item, *Search* all " +"modules with a keyword in their synopsis line, and go to the *Module index*, " "*Topics* and *Keywords* pages." msgstr "" -":program:`pydoc -b` irá iniciar o servidor e, adicionalmente, abrir um " -"navegador da web para uma página de índice do módulo. Cada página exibida " -"tem uma barra de navegação na parte superior onde você pode escolher *Get* " -"para obter ajuda em um item individual, *Search* para pesquisar todos os " -"módulos com uma palavra reservada em sua linha de sinopse e ir para as " +":program:`python -m pydoc -b` irá iniciar o servidor e, adicionalmente, " +"abrir um navegador da web para uma página de índice do módulo. Cada página " +"exibida tem uma barra de navegação na parte superior onde você pode escolher " +"*Get* para obter ajuda em um item individual, *Search* para pesquisar todos " +"os módulos com uma palavra reservada em sua linha de sinopse e ir para as " "páginas de índice do módulo em *Module index*, tópicos em *Topics* e " "palavras reservadas em *Keywords*." diff --git a/library/pyexpat.po b/library/pyexpat.po index af7745e32..aa4d037a1 100644 --- a/library/pyexpat.po +++ b/library/pyexpat.po @@ -1,32 +1,31 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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 -# i17obot , 2021 +# python-doc bot, 2025 # #, 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:12+0000\n" -"Last-Translator: i17obot , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-11-25 17:28+0000\n" +"PO-Revision-Date: 2025-09-22 15:58+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"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 "" @@ -34,6 +33,9 @@ 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 "" @@ -45,38 +47,51 @@ msgid "" "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." 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 "" @@ -87,8 +102,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-" @@ -102,44 +131,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." 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 " @@ -148,14 +197,14 @@ 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: " @@ -164,20 +213,20 @@ msgid "" "`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." 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* " @@ -187,7 +236,7 @@ msgid "" "`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:" @@ -196,7 +245,7 @@ msgid "" "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 " @@ -206,13 +255,13 @@ msgid "" "`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 " @@ -220,18 +269,120 @@ 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 mitigate some " +"common XML vulnerabilities." +msgstr "" + +#: ../../library/pyexpat.rst:247 +msgid "" +"Sets the number of allocated bytes of dynamic memory needed to activate " +"protection against disproportionate use of RAM." +msgstr "" + +#: ../../library/pyexpat.rst:250 +msgid "" +"By default, parser objects have an allocation activation threshold of 64 " +"MiB, or equivalently 67,108,864 bytes." +msgstr "" + +#: ../../library/pyexpat.rst:253 +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:262 +msgid "" +"Sets the maximum amplification factor between direct input and bytes of " +"dynamic memory allocated." +msgstr "" + +#: ../../library/pyexpat.rst:265 +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:270 +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:275 +msgid "" +"By default, parser objects have a maximum amplification factor of 100.0." +msgstr "" + +#: ../../library/pyexpat.rst:277 +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:284 +msgid "" +"The maximum amplification factor is only considered if the threshold that " +"can be adjusted by :meth:`.SetAllocTrackerActivationThreshold` is exceeded." +msgstr "" + +#: ../../library/pyexpat.rst:291 msgid ":class:`xmlparser` objects have the following attributes:" msgstr "" -#: ../../library/pyexpat.rst:204 +#: ../../library/pyexpat.rst:296 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:304 msgid "" "Setting this to true causes the :class:`xmlparser` object to buffer textual " "content returned by Expat to avoid multiple calls to the :meth:" @@ -241,14 +392,14 @@ msgid "" "changed at any time." msgstr "" -#: ../../library/pyexpat.rst:222 +#: ../../library/pyexpat.rst:314 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:321 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 " @@ -258,7 +409,7 @@ msgid "" "is false; it may be changed at any time." msgstr "" -#: ../../library/pyexpat.rst:239 +#: ../../library/pyexpat.rst:331 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 " @@ -269,7 +420,7 @@ msgid "" "time." msgstr "" -#: ../../library/pyexpat.rst:247 +#: ../../library/pyexpat.rst:339 msgid "" "The following attributes contain values relating to the most recent error " "encountered by an :class:`xmlparser` object, and will only have correct " @@ -277,26 +428,26 @@ msgid "" "`xml.parsers.expat.ExpatError` exception." msgstr "" -#: ../../library/pyexpat.rst:255 +#: ../../library/pyexpat.rst:347 msgid "Byte index at which an error occurred." msgstr "" -#: ../../library/pyexpat.rst:260 +#: ../../library/pyexpat.rst:352 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." msgstr "" -#: ../../library/pyexpat.rst:267 +#: ../../library/pyexpat.rst:359 msgid "Column number at which an error occurred." msgstr "" -#: ../../library/pyexpat.rst:272 +#: ../../library/pyexpat.rst:364 msgid "Line number at which an error occurred." msgstr "" -#: ../../library/pyexpat.rst:274 +#: ../../library/pyexpat.rst:366 msgid "" "The following attributes contain values relating to the current parse " "location in an :class:`xmlparser` object. During a callback reporting a " @@ -306,19 +457,19 @@ msgid "" "whether there was an associated callback)." msgstr "" -#: ../../library/pyexpat.rst:284 +#: ../../library/pyexpat.rst:376 msgid "Current byte index in the parser input." msgstr "" -#: ../../library/pyexpat.rst:289 +#: ../../library/pyexpat.rst:381 msgid "Current column number in the parser input." msgstr "" -#: ../../library/pyexpat.rst:294 +#: ../../library/pyexpat.rst:386 msgid "Current line number in the parser input." msgstr "" -#: ../../library/pyexpat.rst:296 +#: ../../library/pyexpat.rst:388 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 " @@ -327,7 +478,7 @@ msgid "" "unless otherwise stated." msgstr "" -#: ../../library/pyexpat.rst:305 +#: ../../library/pyexpat.rst:397 msgid "" "Called when the XML declaration is parsed. The XML declaration is the " "(optional) declaration of the applicable version of the XML recommendation, " @@ -338,7 +489,7 @@ msgid "" "only available with Expat version 1.95.0 or newer." msgstr "" -#: ../../library/pyexpat.rst:316 +#: ../../library/pyexpat.rst:408 msgid "" "Called when Expat begins parsing the document type declaration (``'``." msgstr "" -#: ../../library/pyexpat.rst:430 +#: ../../library/pyexpat.rst:522 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." msgstr "" -#: ../../library/pyexpat.rst:437 +#: ../../library/pyexpat.rst:529 msgid "Called at the end of a CDATA section." msgstr "" -#: ../../library/pyexpat.rst:442 +#: ../../library/pyexpat.rst:534 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 " @@ -469,14 +620,14 @@ msgid "" "supplied." msgstr "" -#: ../../library/pyexpat.rst:449 +#: ../../library/pyexpat.rst:541 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:548 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 " @@ -486,7 +637,7 @@ msgid "" "set, no exception is raised by the parser for this condition." msgstr "" -#: ../../library/pyexpat.rst:466 +#: ../../library/pyexpat.rst:558 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 " @@ -495,7 +646,7 @@ msgid "" "is opaque and should only be used as described below." msgstr "" -#: ../../library/pyexpat.rst:472 +#: ../../library/pyexpat.rst:564 msgid "" "For external entities to be parsed, this handler must be implemented. It is " "responsible for creating the sub-parser using " @@ -505,130 +656,130 @@ msgid "" "`XML_ERROR_EXTERNAL_ENTITY_HANDLING` error, otherwise parsing will continue." msgstr "" -#: ../../library/pyexpat.rst:480 +#: ../../library/pyexpat.rst:572 msgid "" "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:579 msgid "ExpatError Exceptions" msgstr "Exceções ExpatError" -#: ../../library/pyexpat.rst:492 +#: ../../library/pyexpat.rst:584 msgid ":exc:`ExpatError` exceptions have a number of interesting attributes:" msgstr "" -#: ../../library/pyexpat.rst:497 +#: ../../library/pyexpat.rst:589 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::" msgstr "" -#: ../../library/pyexpat.rst:509 +#: ../../library/pyexpat.rst:601 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:608 msgid "" "Line number on which the error was detected. The first line is numbered " "``1``." msgstr "" -#: ../../library/pyexpat.rst:521 +#: ../../library/pyexpat.rst:613 msgid "" "Character offset into the line where the error occurred. The first column " "is numbered ``0``." msgstr "" -#: ../../library/pyexpat.rst:528 +#: ../../library/pyexpat.rst:620 msgid "Example" msgstr "Exemplo" -#: ../../library/pyexpat.rst:530 +#: ../../library/pyexpat.rst:622 msgid "" "The following program defines three handlers that just print out their " "arguments. ::" msgstr "" -#: ../../library/pyexpat.rst:554 +#: ../../library/pyexpat.rst:646 msgid "The output from this program is::" msgstr "" -#: ../../library/pyexpat.rst:571 +#: ../../library/pyexpat.rst:663 msgid "Content Model Descriptions" msgstr "" -#: ../../library/pyexpat.rst:577 +#: ../../library/pyexpat.rst:669 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:673 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." msgstr "" -#: ../../library/pyexpat.rst:585 +#: ../../library/pyexpat.rst:677 msgid "The constants in the model type group are:" msgstr "" -#: ../../library/pyexpat.rst:591 +#: ../../library/pyexpat.rst:683 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:690 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:697 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:711 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:714 msgid "The constants in the quantifier group are:" msgstr "" -#: ../../library/pyexpat.rst:628 +#: ../../library/pyexpat.rst:720 msgid "No modifier is given, so it can appear exactly once, as for ``A``." msgstr "" -#: ../../library/pyexpat.rst:634 +#: ../../library/pyexpat.rst:726 msgid "The model is optional: it can appear once or not at all, as for ``A?``." msgstr "" -#: ../../library/pyexpat.rst:640 +#: ../../library/pyexpat.rst:732 msgid "The model must occur one or more times (like ``A+``)." msgstr "" -#: ../../library/pyexpat.rst:646 +#: ../../library/pyexpat.rst:738 msgid "The model must occur zero or more times, as for ``A*``." msgstr "" -#: ../../library/pyexpat.rst:652 +#: ../../library/pyexpat.rst:744 msgid "Expat error constants" -msgstr "" +msgstr "Constantes de erro de expatriados" -#: ../../library/pyexpat.rst:656 +#: ../../library/pyexpat.rst:748 msgid "" "The following constants are provided in the :mod:`xml.parsers.expat.errors` " "module. These constants are useful in interpreting some of the attributes " @@ -639,181 +790,181 @@ msgid "" "XML_ERROR_{CONSTANT_NAME}]`." msgstr "" -#: ../../library/pyexpat.rst:664 +#: ../../library/pyexpat.rst:756 msgid "The ``errors`` module has the following attributes:" msgstr "" -#: ../../library/pyexpat.rst:668 +#: ../../library/pyexpat.rst:760 msgid "A dictionary mapping string descriptions to their error codes." msgstr "" -#: ../../library/pyexpat.rst:675 +#: ../../library/pyexpat.rst:767 msgid "A dictionary mapping numeric error codes to their string descriptions." msgstr "" -#: ../../library/pyexpat.rst:685 +#: ../../library/pyexpat.rst:777 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:783 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:789 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:795 msgid "An attribute was used more than once in a start tag." msgstr "" -#: ../../library/pyexpat.rst:711 +#: ../../library/pyexpat.rst:803 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:809 msgid "Something other than whitespace occurred after the document element." msgstr "" -#: ../../library/pyexpat.rst:722 +#: ../../library/pyexpat.rst:814 msgid "" "An XML declaration was found somewhere other than the start of the input " "data." msgstr "" -#: ../../library/pyexpat.rst:727 +#: ../../library/pyexpat.rst:819 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:825 msgid "Expat was not able to allocate memory internally." msgstr "" -#: ../../library/pyexpat.rst:738 +#: ../../library/pyexpat.rst:830 msgid "A parameter entity reference was found where it was not allowed." msgstr "" -#: ../../library/pyexpat.rst:743 +#: ../../library/pyexpat.rst:835 msgid "An incomplete character was found in the input." msgstr "" -#: ../../library/pyexpat.rst:748 +#: ../../library/pyexpat.rst:840 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:846 msgid "Some unspecified syntax error was encountered." msgstr "" -#: ../../library/pyexpat.rst:759 +#: ../../library/pyexpat.rst:851 msgid "An end tag did not match the innermost open start tag." msgstr "" -#: ../../library/pyexpat.rst:764 +#: ../../library/pyexpat.rst:856 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:862 msgid "A reference was made to an entity which was not defined." msgstr "" -#: ../../library/pyexpat.rst:775 +#: ../../library/pyexpat.rst:867 msgid "The document encoding is not supported by Expat." msgstr "" -#: ../../library/pyexpat.rst:780 +#: ../../library/pyexpat.rst:872 msgid "A CDATA marked section was not closed." msgstr "" -#: ../../library/pyexpat.rst:788 +#: ../../library/pyexpat.rst:880 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``." msgstr "" -#: ../../library/pyexpat.rst:801 +#: ../../library/pyexpat.rst:893 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:900 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`." msgstr "" -#: ../../library/pyexpat.rst:815 +#: ../../library/pyexpat.rst:907 msgid "An undeclared prefix was found when namespace processing was enabled." msgstr "" -#: ../../library/pyexpat.rst:820 +#: ../../library/pyexpat.rst:912 msgid "" "The document attempted to remove the namespace declaration associated with a " "prefix." msgstr "" -#: ../../library/pyexpat.rst:826 +#: ../../library/pyexpat.rst:918 msgid "A parameter entity contained incomplete markup." msgstr "" -#: ../../library/pyexpat.rst:831 +#: ../../library/pyexpat.rst:923 msgid "The document contained no document element at all." msgstr "" -#: ../../library/pyexpat.rst:836 +#: ../../library/pyexpat.rst:928 msgid "There was an error parsing a text declaration in an external entity." msgstr "" -#: ../../library/pyexpat.rst:841 +#: ../../library/pyexpat.rst:933 msgid "Characters were found in the public id that are not allowed." msgstr "" -#: ../../library/pyexpat.rst:846 +#: ../../library/pyexpat.rst:938 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:944 msgid "" "An attempt to resume the parser was made when the parser had not been " "suspended." msgstr "" -#: ../../library/pyexpat.rst:857 +#: ../../library/pyexpat.rst:949 msgid "This should not be reported to Python applications." msgstr "" -#: ../../library/pyexpat.rst:862 +#: ../../library/pyexpat.rst:954 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:871 +#: ../../library/pyexpat.rst:963 msgid "Footnotes" msgstr "Notas de rodapé" -#: ../../library/pyexpat.rst:872 +#: ../../library/pyexpat.rst:964 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://" diff --git a/library/python.po b/library/python.po index 365e39f48..6a964d4e3 100644 --- a/library/python.po +++ b/library/python.po @@ -1,27 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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.10\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-06-29 12:56+0000\n" -"PO-Revision-Date: 2021-06-28 01:12+0000\n" -"Last-Translator: Italo Penaforte , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:58+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/python.rst:5 msgid "Python Runtime Services" diff --git a/library/queue.po b/library/queue.po index 64ca0ea60..ca9deca53 100644 --- a/library/queue.po +++ b/library/queue.po @@ -1,27 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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.10\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-06-29 12:56+0000\n" -"PO-Revision-Date: 2021-06-28 01:12+0000\n" -"Last-Translator: i17obot , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:58+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/queue.rst:2 msgid ":mod:`queue` --- A synchronized queue class" @@ -43,10 +43,10 @@ msgstr "" msgid "" "The module implements three types of queue, which differ only in the order " "in which the entries are retrieved. In a :abbr:`FIFO (first-in, first-out)` " -"queue, the first tasks added are the first retrieved. In a :abbr:`LIFO (last-" -"in, first-out)` queue, the most recently added entry is the first retrieved " -"(operating like a stack). With a priority queue, the entries are kept " -"sorted (using the :mod:`heapq` module) and the lowest valued entry is " +"queue, the first tasks added are the first retrieved. In a :abbr:`LIFO " +"(last-in, first-out)` queue, the most recently added entry is the first " +"retrieved (operating like a stack). With a priority queue, the entries are " +"kept sorted (using the :mod:`heapq` module) and the lowest valued entry is " "retrieved first." msgstr "" @@ -98,7 +98,7 @@ msgstr "" #: ../../library/queue.rst:59 msgid "" "The lowest valued entries are retrieved first (the lowest valued entry is " -"the one returned by ``sorted(list(entries))[0]``). A typical pattern for " +"the one that would be returned by ``min(entries)``). A typical pattern for " "entries is a tuple in the form: ``(priority_number, data)``." msgstr "" @@ -161,22 +161,22 @@ msgstr "" #: ../../library/queue.rst:130 msgid "" -"Put *item* into the queue. If optional args *block* is true and *timeout* is " -"``None`` (the default), block if necessary until a free slot is available. " -"If *timeout* is a positive number, it blocks at most *timeout* seconds and " -"raises the :exc:`Full` exception if no free slot was available within that " -"time. Otherwise (*block* is false), put an item on the queue if a free slot " -"is immediately available, else raise the :exc:`Full` exception (*timeout* is " -"ignored in that case)." +"Put *item* into the queue. If optional args *block* is true and *timeout* " +"is ``None`` (the default), block if necessary until a free slot is " +"available. If *timeout* is a positive number, it blocks at most *timeout* " +"seconds and raises the :exc:`Full` exception if no free slot was available " +"within that time. Otherwise (*block* is false), put an item on the queue if " +"a free slot is immediately available, else raise the :exc:`Full` exception " +"(*timeout* is ignored in that case)." msgstr "" #: ../../library/queue.rst:141 -msgid "Equivalent to ``put(item, False)``." +msgid "Equivalent to ``put(item, block=False)``." msgstr "" -#: ../../library/queue.rst:146 +#: ../../library/queue.rst:146 ../../library/queue.rst:258 msgid "" -"Remove and return an item from the queue. If optional args *block* is true " +"Remove and return an item from the queue. If optional args *block* is true " "and *timeout* is ``None`` (the default), block if necessary until an item is " "available. If *timeout* is a positive number, it blocks at most *timeout* " "seconds and raises the :exc:`Empty` exception if no item was available " @@ -189,7 +189,7 @@ msgstr "" 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 " +"uninterruptible wait on an underlying lock. This means that no exceptions " "can occur, and in particular a SIGINT will not trigger a :exc:" "`KeyboardInterrupt`." msgstr "" @@ -223,6 +223,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." @@ -233,7 +235,7 @@ 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` " +"complete. When the count of unfinished tasks drops to zero, :meth:`join` " "unblocks." msgstr "" @@ -258,7 +260,7 @@ msgstr "" #: ../../library/queue.rst:230 msgid "" -"Return ``True`` if the queue is empty, ``False`` otherwise. If empty() " +"Return ``True`` if the queue is empty, ``False`` otherwise. If empty() " "returns ``False`` it doesn't guarantee that a subsequent call to get() will " "not block." msgstr "" @@ -271,21 +273,19 @@ msgid "" "compatibility with :meth:`Queue.put`." msgstr "" -#: ../../library/queue.rst:252 +#: ../../library/queue.rst:243 msgid "" -"Equivalent to ``put(item)``, provided for compatibility with :meth:`Queue." -"put_nowait`." +"This method has a C implementation which is reentrant. That is, a ``put()`` " +"or ``get()`` call can be interrupted by another ``put()`` call in the same " +"thread without deadlocking or corrupting internal state inside the queue. " +"This makes it appropriate for use in destructors such as ``__del__`` methods " +"or :mod:`weakref` callbacks." msgstr "" -#: ../../library/queue.rst:258 +#: ../../library/queue.rst:252 msgid "" -"Remove and return an item from the queue. If optional args *block* is true " -"and *timeout* is ``None`` (the default), block if necessary until an item is " -"available. If *timeout* is a positive number, it blocks at most *timeout* " -"seconds and raises the :exc:`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:`Empty` exception (*timeout* is " -"ignored in that case)." +"Equivalent to ``put(item, block=False)``, provided for compatibility with :" +"meth:`Queue.put_nowait`." msgstr "" #: ../../library/queue.rst:275 diff --git a/library/quopri.po b/library/quopri.po index c683485c1..36cf5a9e4 100644 --- a/library/quopri.po +++ b/library/quopri.po @@ -1,26 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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.10\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-06-29 12:56+0000\n" -"PO-Revision-Date: 2021-06-28 01:12+0000\n" -"Last-Translator: Rafael Fontenelle , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:58+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/quopri.rst:2 msgid ":mod:`quopri` --- Encode and decode MIME quoted-printable data" diff --git a/library/random.po b/library/random.po index 5449170f6..730617141 100644 --- a/library/random.po +++ b/library/random.po @@ -1,29 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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 -# i17obot , 2021 -# Adorilson Bezerra , 2021 -# Rafael Fontenelle , 2021 +# python-doc bot, 2025 # #, 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:12+0000\n" -"Last-Translator: Rafael Fontenelle , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:58+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/random.rst:2 msgid ":mod:`random` --- Generate pseudo-random numbers" @@ -50,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 @@ -77,12 +75,12 @@ 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, 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." +"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 "" @@ -383,7 +381,7 @@ 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." @@ -476,8 +474,8 @@ msgid "" "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:245 @@ -488,7 +486,7 @@ msgid "" "'blue', 'blue'], k=5)``." msgstr "" "Elementos repetidos podem ser especificados um de cada vez ou com o " -"parâmetro somente-nomeado opcional *count*. Por exemplo,``sample(['red', " +"parâmetro somente-nomeado opcional *count*. Por exemplo, ``sample(['red', " "'blue'], counts=[4, 2], k=5)`` é equivalente a ``sample(['red', 'red', " "'red', 'red', 'blue', 'blue'], k=5)``." @@ -633,8 +631,8 @@ 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:" +"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:343 @@ -745,7 +743,7 @@ 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:409 @@ -753,7 +751,7 @@ 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:415 @@ -798,7 +796,7 @@ msgstr "" "Simulação de tempos de chegada e entregas de serviços para uma fila " "multisservidor::" -#: ../../library/random.rst:541 +#: ../../library/random.rst:542 msgid "" "`Statistics for Hackers `_ a " "video tutorial by `Jake Vanderplas `_ a simulation of a marketplace by `Peter Norvig `_ 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 `_ isso mostra o uso eficaz de muitas das ferramentas e " -"distribuições fornecidas por este módulo (gauss, uniforme, amostra, " -"betavariado, escolha, triangular e intervalo)." -#: ../../library/random.rst:554 +#: ../../library/random.rst:555 msgid "" -"`A Concrete Introduction to Probability (using Python) `_ a tutorial by `Peter " -"Norvig `_ covering the basics of probability " +"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 por " -"`Peter Norvig `_ cobrindo o básico da teoria das " -"probabilidades, como escrever simulações e como realizar análise de dados " -"usando Python." -#: ../../library/random.rst:562 +#: ../../library/random.rst:563 msgid "Recipes" msgstr "Receitas" -#: ../../library/random.rst:564 +#: ../../library/random.rst:565 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 " @@ -858,7 +846,7 @@ msgstr "" "possíveis. Por exemplo, ``0.05954861408025609`` não é um múltiplo inteiro de " "2⁻⁵³." -#: ../../library/random.rst:570 +#: ../../library/random.rst:571 msgid "" "The following recipe takes a different approach. All floats in the interval " "are possible selections. The mantissa comes from a uniform distribution of " @@ -872,7 +860,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:592 +#: ../../library/random.rst:593 msgid "" "All :ref:`real valued distributions ` in the " "class will use the new method::" @@ -880,7 +868,7 @@ msgstr "" "Todas as :ref:`distribuições reais valoradas ` na " "classe usarão o novo método::" -#: ../../library/random.rst:601 +#: ../../library/random.rst:602 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 " @@ -895,7 +883,7 @@ msgstr "" "menor ponto flutuante positivo não normalizado e é igual a ``math." "ulp(0.0)``.)" -#: ../../library/random.rst:610 +#: ../../library/random.rst:611 msgid "" "`Generating Pseudo-random Floating-Point Values `_ a paper by Allen B. Downey describing " diff --git a/library/re.po b/library/re.po index 89bad3cef..6744399e2 100644 --- a/library/re.po +++ b/library/re.po @@ -1,33 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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: -# Risaffi , 2021 -# i17obot , 2021 -# Rafael Fontenelle , 2021 -# Raphael Mendonça, 2021 -# Marco Rougeth , 2021 -# Claudio Rogerio Carvalho Filho , 2021 -# Adorilson Bezerra , 2021 -# Vinicius Gubiani Ferreira , 2021 +# python-doc bot, 2025 # #, 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:12+0000\n" -"Last-Translator: Vinicius Gubiani Ferreira , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:58+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/re.rst:2 msgid ":mod:`re` --- Regular expression operations" @@ -44,8 +38,8 @@ msgid "" msgstr "" "Este módulo fornece operações para correspondência de expressões regulares " "semelhantes às encontradas em Perl. O nome do módulo vem das iniciais do " -"termo em inglês *regular expressions*, RE. *Regular expressions* também são " -"frequentemente chamadas de *regex*." +"termo em inglês *regular expressions*, também frequentemente chamadas de " +"*regex*." #: ../../library/re.rst:17 msgid "" @@ -56,11 +50,11 @@ msgid "" "substitution, the replacement string must be of the same type as both the " "pattern and the search string." msgstr "" -"Ambos os padrões e strings a serem pesquisados podem ser strings Unicode (:" -"class:`str`) assim como strings de 8 bits (:class:`bytes`). No entanto, " -"strings Unicode e strings de 8 bits não podem ser misturadas: ou seja, você " -"não pode corresponder uma string Unicode com um padrão de bytes ou vice-" -"versa; da mesma forma, ao solicitar uma substituição, a string de " +"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 " +"entanto, strings Unicode e strings de 8 bits não podem ser misturadas: ou " +"seja, você não pode corresponder uma string Unicode com um padrão de bytes " +"ou vice-versa; da mesma forma, ao solicitar uma substituição, a string de " "substituição deve ser do mesmo tipo que o padrão e a string de pesquisa." #: ../../library/re.rst:24 @@ -79,7 +73,7 @@ msgid "" msgstr "" "Expressões regulares usam o caractere de contrabarra (``'\\'``) para indicar " "formas especiais ou para permitir que caracteres especiais sejam usados sem " -"invocar seu significado especial. Isso colide com o uso do Python do mesmo " +"invocar seu significado especial. Isso colide com o uso em Python do mesmo " "caractere para o mesmo propósito em literais de string; por exemplo, para " "corresponder a uma contrabarra literal, pode-se ter que escrever ``'\\\\\\" "\\'`` como a string de padrão, porque a expressão regular deve ser ``\\\\``, " @@ -102,9 +96,10 @@ msgstr "" "A solução é usar a notação de string bruta do Python para padrões de " "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. Normalmente, os " -"padrões serão expressos em código Python usando esta notação de string bruta." +"é uma string de dois caracteres contendo ``'\\'`` e ``'n'``, enquanto " +"``\"\\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." #: ../../library/re.rst:43 msgid "" @@ -116,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 "" @@ -178,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 "" @@ -226,7 +222,7 @@ msgstr "" msgid "The special characters are:" msgstr "Os caracteres especiais são:" -#: ../../library/re.rst:104 ../../library/re.rst:1409 +#: ../../library/re.rst:104 ../../library/re.rst:1435 msgid "``.``" msgstr "``.``" @@ -260,8 +256,8 @@ msgstr "``$``" msgid "" "Matches the end of the string or just before the newline at the end of the " "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 " +"``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 " @@ -286,9 +282,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 "``+``" @@ -313,8 +309,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 "``*?``, ``+?``, ``??``" @@ -332,7 +328,7 @@ msgid "" msgstr "" "Os qualificadores ``'*'``, ``'+'`` e ``'?'`` são todos :dfn:`gulosos`; eles " "correspondem ao máximo de texto possível. Às vezes, esse comportamento não é " -"desejado; se a ER ``<.*>`` for correspondida com ``' b '``, ele irá " +"desejado; se a ER ``<.*>`` for correspondida com ``' b '``, ela irá " "corresponder a toda a string, e não apenas ``''``. Adicionar ``?`` após o " "qualificador faz com que ele execute a correspondência da maneira :dfn:`não " "gulosa` ou :dfn:`minimalista`; tão *poucos* caracteres quanto possível serão " @@ -368,14 +364,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:179 msgid "``{m,n}?``" @@ -405,9 +401,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:188 msgid "" @@ -423,12 +419,12 @@ msgstr "" "se de que o Python também usa a contrabarra como uma sequência de escape em " "literais de string; se a sequência de escape não for reconhecida pelo " "analisador sintático do Python, a contrabarra e o caractere subsequente " -"serão incluídos na string resultante. No entanto, se o Python reconhecer a " +"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:254 +#: ../../library/re.rst:255 msgid "``[]``" msgstr "``[]``" @@ -457,9 +453,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:214 msgid "" @@ -502,13 +498,15 @@ msgstr "" 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 " -"``[]()[{}]`` will both match a parenthesis." +"``[]()[{}]`` will match a right bracket, as well as left bracket, braces, " +"and parentheses." 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 ``[]()[{}]`` ambos corresponderão a um parêntese." +"{}]`` e ``[]()[{}]`` vai corresponder ao colchete à direita, assim como o " +"colchete, chave ou parêntese à esquerda." -#: ../../library/re.rst:242 +#: ../../library/re.rst:243 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 " @@ -517,15 +515,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:252 +#: ../../library/re.rst:253 msgid "" ":exc:`FutureWarning` is raised if a character set contains constructs that " "will change semantically in the future." @@ -533,11 +531,11 @@ msgstr "" ":exc:`FutureWarning` é levantada se um conjunto de caracteres contém " "construções que mudarão semanticamente no futuro." -#: ../../library/re.rst:267 +#: ../../library/re.rst:268 msgid "``|``" msgstr "``|``" -#: ../../library/re.rst:259 +#: ../../library/re.rst:260 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 " @@ -553,18 +551,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:277 +#: ../../library/re.rst:278 msgid "``(...)``" msgstr "``(...)``" -#: ../../library/re.rst:273 +#: ../../library/re.rst:274 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 " @@ -576,16 +574,16 @@ msgstr "" "Corresponde a qualquer expressão regular que esteja entre parênteses e " "indica o início e o fim de um grupo; o conteúdo de um grupo pode ser " "recuperado após uma correspondência ter sido realizada e pode ser " -"correspondido posteriormente na string com a sequência especial ``" -"\\número``, descrita abaixo. Para corresponder aos literais ``'('`` ou " +"correspondido posteriormente na string com a sequência especial " +"``\\número``, descrita abaixo. Para corresponder aos literais ``'('`` ou " "``')'``, use ``\\(`` ou ``\\)``, ou coloque-os dentro de uma classe de " "caracteres: ``[(]``, ``[)]``." -#: ../../library/re.rst:286 +#: ../../library/re.rst:287 msgid "``(?...)``" msgstr "``(?...)``" -#: ../../library/re.rst:282 +#: ../../library/re.rst:283 msgid "" "This is an extension notation (a ``'?'`` following a ``'('`` is not " "meaningful otherwise). The first character after the ``'?'`` determines " @@ -593,17 +591,17 @@ 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:300 +#: ../../library/re.rst:301 msgid "``(?aiLmsux)``" msgstr "``(?aiLmsux)``" -#: ../../library/re.rst:289 +#: ../../library/re.rst:290 msgid "" "(One or more letters from the set ``'a'``, ``'i'``, ``'L'``, ``'m'``, " "``'s'``, ``'u'``, ``'x'``.) The group matches the empty string; the letters " @@ -628,27 +626,27 @@ msgstr "" "um argumento *flag* para função :func:`re.compile`. Os sinalizadores devem " "ser usados primeiro na string de expressão." -#: ../../library/re.rst:308 +#: ../../library/re.rst:309 msgid "``(?:...)``" msgstr "``(?:...)``" -#: ../../library/re.rst:305 +#: ../../library/re.rst:306 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:334 +#: ../../library/re.rst:335 msgid "``(?aiLmsux-imsx:...)``" msgstr "``(?aiLmsux-imsx:...)``" -#: ../../library/re.rst:311 +#: ../../library/re.rst:312 msgid "" "(Zero or more letters from the set ``'a'``, ``'i'``, ``'L'``, ``'m'``, " "``'s'``, ``'u'``, ``'x'``, optionally followed by ``'-'`` followed by one or " @@ -659,7 +657,7 @@ msgid "" "matching), and :const:`re.X` (verbose), for the part of the expression. (The " "flags are described in :ref:`contents-of-module-re`.)" msgstr "" -"(Zero ou mais letras de o conjunto ``'a'``, ``'i'``, ``'L'``, ``'m'``, " +"(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 " @@ -669,7 +667,7 @@ msgstr "" "const:`re.X` (detalhamento), para a parte da expressão. (Os sinalizadores " "são descritos em :ref:`contents-of-module-re`.)" -#: ../../library/re.rst:321 +#: ../../library/re.rst:322 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 " @@ -692,16 +690,16 @@ msgstr "" "o grupo estreito em linha e o modo de correspondência original é restaurado " "fora do grupo." -#: ../../library/re.rst:333 +#: ../../library/re.rst:334 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:361 +#: ../../library/re.rst:362 msgid "``(?P...)``" msgstr "``(?P...)``" -#: ../../library/re.rst:339 +#: ../../library/re.rst:340 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 " @@ -715,85 +713,85 @@ 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:345 +#: ../../library/re.rst:346 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:350 +#: ../../library/re.rst:351 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:350 +#: ../../library/re.rst:351 msgid "Ways to reference it" msgstr "Formas de referenciá-lo" -#: ../../library/re.rst:352 +#: ../../library/re.rst:353 msgid "in the same pattern itself" msgstr "no mesmo padrão" -#: ../../library/re.rst:352 +#: ../../library/re.rst:353 msgid "``(?P=quote)`` (as shown)" -msgstr "``(?P=quote)`` (como mostrado)" +msgstr "``(?P=citação)`` (como mostrado)" -#: ../../library/re.rst:353 ../../library/re.rst:360 +#: ../../library/re.rst:354 ../../library/re.rst:361 msgid "``\\1``" msgstr "``\\1``" -#: ../../library/re.rst:355 +#: ../../library/re.rst:356 msgid "when processing match object *m*" msgstr "ao processar a correspondência do objeto *m*" -#: ../../library/re.rst:355 +#: ../../library/re.rst:356 msgid "``m.group('quote')``" -msgstr "``m.group('quote')``" +msgstr "``m.group('citação')``" -#: ../../library/re.rst:356 +#: ../../library/re.rst:357 msgid "``m.end('quote')`` (etc.)" -msgstr "``m.end('quote')`` (etc.)" +msgstr "``m.end('citação')`` (etc.)" -#: ../../library/re.rst:358 +#: ../../library/re.rst:359 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:358 +#: ../../library/re.rst:359 msgid "``\\g``" -msgstr "``\\g``" +msgstr "``\\g``" -#: ../../library/re.rst:359 +#: ../../library/re.rst:360 msgid "``\\g<1>``" msgstr "``\\g<1>``" -#: ../../library/re.rst:367 +#: ../../library/re.rst:368 msgid "``(?P=name)``" -msgstr "``(?P=name)``" +msgstr "``(?P=nome)``" -#: ../../library/re.rst:366 +#: ../../library/re.rst:367 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:372 +#: ../../library/re.rst:373 msgid "``(?#...)``" msgstr "``(?#...)``" -#: ../../library/re.rst:372 +#: ../../library/re.rst:373 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:379 +#: ../../library/re.rst:380 msgid "``(?=...)``" msgstr "``(?=...)``" -#: ../../library/re.rst:377 +#: ../../library/re.rst:378 msgid "" "Matches if ``...`` matches next, but doesn't consume any of the string. " "This is called a :dfn:`lookahead assertion`. For example, ``Isaac (?" @@ -804,11 +802,11 @@ msgstr "" "=Asimov)`` corresponderá a ``'Isaac '`` apenas se for seguido por " "``'Asimov'``." -#: ../../library/re.rst:386 +#: ../../library/re.rst:387 msgid "``(?!...)``" msgstr "``(?!...)``" -#: ../../library/re.rst:384 +#: ../../library/re.rst:385 msgid "" "Matches if ``...`` doesn't match next. This is a :dfn:`negative lookahead " "assertion`. For example, ``Isaac (?!Asimov)`` will match ``'Isaac '`` only " @@ -818,11 +816,11 @@ msgstr "" "preditiva negativa`. Por exemplo, ``Isaac (?!Asimov)`` corresponderá a " "``'Isaac '`` apenas se *não* for seguido por ``'Asimov'``." -#: ../../library/re.rst:413 +#: ../../library/re.rst:414 msgid "``(?<=...)``" msgstr "``(?<=...)``" -#: ../../library/re.rst:391 +#: ../../library/re.rst:392 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 " @@ -847,19 +845,19 @@ msgstr "" "provavelmente desejará usar a função :func:`search` em vez da função :func:" "`match`:" -#: ../../library/re.rst:406 +#: ../../library/re.rst:407 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:412 +#: ../../library/re.rst:413 msgid "Added support for group references of fixed length." msgstr "Adicionado suporte para referências de grupo de comprimento fixo." -#: ../../library/re.rst:422 +#: ../../library/re.rst:423 msgid "``(?'`` bem como ``'usuario@host.com'``, mas não com " "``''`` nem ``'usuario@host.com>'``." -#: ../../library/re.rst:433 +#: ../../library/re.rst:437 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, " @@ -906,11 +904,11 @@ msgstr "" "ER resultante corresponderá ao segundo caractere. Por exemplo, ``\\$`` " "corresponde ao caractere ``'$'``." -#: ../../library/re.rst:448 +#: ../../library/re.rst:452 msgid "``\\number``" msgstr "``\\número``" -#: ../../library/re.rst:441 +#: ../../library/re.rst:445 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 " @@ -931,19 +929,19 @@ msgstr "" "``']'`` de uma classe de caracteres, todos os escapes numéricos são tratados " "como caracteres." -#: ../../library/re.rst:453 +#: ../../library/re.rst:457 msgid "``\\A``" msgstr "``\\A``" -#: ../../library/re.rst:453 +#: ../../library/re.rst:457 msgid "Matches only at the start of the string." msgstr "Corresponde apenas ao início da string." -#: ../../library/re.rst:469 +#: ../../library/re.rst:473 msgid "``\\b``" msgstr "``\\b``" -#: ../../library/re.rst:458 +#: ../../library/re.rst:462 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 " @@ -954,13 +952,13 @@ msgid "" 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 " +"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'``." -#: ../../library/re.rst:465 +#: ../../library/re.rst:469 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 " @@ -975,11 +973,11 @@ msgstr "" "o caractere de backspace, para compatibilidade com os literais de string do " "Python." -#: ../../library/re.rst:480 +#: ../../library/re.rst:484 msgid "``\\B``" msgstr "``\\B``" -#: ../../library/re.rst:474 +#: ../../library/re.rst:478 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'``, " @@ -998,15 +996,15 @@ msgstr "" "limites das palavras são determinados pela localidade atual se o " "sinalizador :const:`LOCALE` for usado." -#: ../../library/re.rst:492 +#: ../../library/re.rst:496 msgid "``\\d``" msgstr "``\\d``" -#: ../../library/re.rst:489 ../../library/re.rst:509 ../../library/re.rst:529 +#: ../../library/re.rst:493 ../../library/re.rst:513 ../../library/re.rst:532 msgid "For Unicode (str) patterns:" -msgstr "Para padrões (str) Unicode:" +msgstr "Para padrões Unicode (str):" -#: ../../library/re.rst:486 +#: ../../library/re.rst:490 msgid "" "Matches any Unicode decimal digit (that is, any character in Unicode " "character category [Nd]). This includes ``[0-9]``, and also many other " @@ -1018,19 +1016,19 @@ msgstr "" "muitos outros caracteres de dígitos. Se o sinalizador :const:`ASCII` for " "usado, apenas ``[0-9]`` será correspondido." -#: ../../library/re.rst:492 ../../library/re.rst:513 ../../library/re.rst:535 +#: ../../library/re.rst:496 ../../library/re.rst:517 ../../library/re.rst:538 msgid "For 8-bit (bytes) patterns:" msgstr "Para padrões de 8 bits (isto é, bytes):" -#: ../../library/re.rst:492 +#: ../../library/re.rst:496 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:499 +#: ../../library/re.rst:503 msgid "``\\D``" msgstr "``\\D``" -#: ../../library/re.rst:497 +#: ../../library/re.rst:501 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 " @@ -1040,24 +1038,24 @@ msgstr "" "oposto de ``\\d``. Se o sinalizador :const:`ASCII` for usado, isso se " "tornará o equivalente a ``[^0-9]``." -#: ../../library/re.rst:513 +#: ../../library/re.rst:517 msgid "``\\s``" msgstr "``\\s``" -#: ../../library/re.rst:505 +#: ../../library/re.rst:509 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." +"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." 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 ``[ \\t\\n\\r\\f" -"\\v]`` é correspondido." +"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 " +"``[ \\t\\n\\r\\f\\v]`` é correspondido." -#: ../../library/re.rst:512 +#: ../../library/re.rst:516 msgid "" "Matches characters considered whitespace in the ASCII character set; this is " "equivalent to ``[ \\t\\n\\r\\f\\v]``." @@ -1065,11 +1063,11 @@ 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:520 +#: ../../library/re.rst:524 msgid "``\\S``" msgstr "``\\S``" -#: ../../library/re.rst:518 +#: ../../library/re.rst:522 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 " @@ -1079,22 +1077,22 @@ msgstr "" "branco. Este é o oposto de ``\\s``. Se o sinalizador :const:`ASCII` for " "usado, isso se tornará o equivalente a ``[^ \\t\\n\\r\\f\\v]``." -#: ../../library/re.rst:535 +#: ../../library/re.rst:538 msgid "``\\w``" msgstr "``\\w``" -#: ../../library/re.rst:526 +#: ../../library/re.rst:530 msgid "" -"Matches Unicode word characters; this includes most characters that can be " -"part of a word in any language, as well as numbers and the underscore. If " -"the :const:`ASCII` flag is used, only ``[a-zA-Z0-9_]`` is matched." +"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." msgstr "" -"Corresponde a caracteres de palavras Unicode; isso inclui a maioria dos " -"caracteres que podem fazer parte de uma palavra em qualquer idioma, bem como " -"números e sublinhado. Se o sinalizador :const:`ASCII` for usado, apenas ``[a-" +"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." -#: ../../library/re.rst:532 +#: ../../library/re.rst:535 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, " @@ -1106,11 +1104,11 @@ msgstr "" "const:`LOCALE` for usado, corresponde aos caracteres considerados " "alfanuméricos na localidade atual e o sublinhado." -#: ../../library/re.rst:544 +#: ../../library/re.rst:547 msgid "``\\W``" msgstr "``\\W``" -#: ../../library/re.rst:540 +#: ../../library/re.rst:543 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 " @@ -1123,15 +1121,15 @@ msgstr "" "for usado, corresponde a caracteres que não são alfanuméricos na localidade " "local atual nem o sublinhado." -#: ../../library/re.rst:549 +#: ../../library/re.rst:552 msgid "``\\Z``" msgstr "``\\Z``" -#: ../../library/re.rst:549 +#: ../../library/re.rst:552 msgid "Matches only at the end of the string." msgstr "Corresponde apenas ao final da string." -#: ../../library/re.rst:565 +#: ../../library/re.rst:568 msgid "" "Most of the standard escapes supported by Python string literals are also " "accepted by the regular expression parser::" @@ -1139,7 +1137,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:572 +#: ../../library/re.rst:575 msgid "" "(Note that ``\\b`` is used to represent word boundaries, and means " "\"backspace\" only inside character classes.)" @@ -1147,7 +1145,7 @@ msgstr "" "(Observe que ``\\b`` é usado para representar limites de palavras e " "significa fazer \"backspace\" apenas dentro das classes de caracteres.)" -#: ../../library/re.rst:575 +#: ../../library/re.rst:578 msgid "" "``'\\u'``, ``'\\U'``, and ``'\\N'`` escape sequences are only recognized in " "Unicode patterns. In bytes patterns they are errors. Unknown escapes of " @@ -1158,7 +1156,7 @@ msgstr "" "desconhecidos de letras ASCII são reservados para uso futuro e tratados como " "erros." -#: ../../library/re.rst:579 +#: ../../library/re.rst:582 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. " @@ -1170,18 +1168,18 @@ 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:584 +#: ../../library/re.rst:587 msgid "The ``'\\u'`` and ``'\\U'`` escape sequences have been added." msgstr "As sequências de escape ``'\\u'`` e ``'\\U'`` foram adicionadas." -#: ../../library/re.rst:587 +#: ../../library/re.rst:590 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:590 +#: ../../library/re.rst:593 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}'``)." @@ -1190,11 +1188,11 @@ msgstr "" "string, ela se expande para o caractere Unicode nomeado (por exemplo, " "``'\\N{EM DASH}'``)." -#: ../../library/re.rst:598 +#: ../../library/re.rst:601 msgid "Module Contents" msgstr "Conteúdo do módulo" -#: ../../library/re.rst:600 +#: ../../library/re.rst:603 msgid "" "The module defines several functions, constants, and an exception. Some of " "the functions are simplified versions of the full featured methods for " @@ -1206,7 +1204,11 @@ msgstr "" "regulares compiladas. A maioria das aplicações não triviais sempre usa a " "forma compilada." -#: ../../library/re.rst:605 +#: ../../library/re.rst:610 +msgid "Flags" +msgstr "Sinalizadores" + +#: ../../library/re.rst:612 msgid "" "Flag constants are now instances of :class:`RegexFlag`, which is a subclass " "of :class:`enum.IntFlag`." @@ -1214,61 +1216,11 @@ msgstr "" "Constantes de sinalizadores agora são instâncias de :class:`RegexFlag`, que " "é uma subclasse de :class:`enum.IntFlag`." -#: ../../library/re.rst:611 -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." -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." - -#: ../../library/re.rst:616 -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 " -"``|`` 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 ``|``)." - -#: ../../library/re.rst:620 -msgid "The sequence ::" -msgstr "A sequência ::" - -#: ../../library/re.rst:625 -msgid "is equivalent to ::" -msgstr "é equivalente a::" - -#: ../../library/re.rst:629 -msgid "" -"but using :func:`re.compile` and saving the resulting regular expression " -"object for reuse is more efficient when the expression will be used several " -"times in a single program." -msgstr "" -"mas usar :func:`re.compile` e salvar o objeto expressão regular resultante " -"para reutilização é mais eficiente quando a expressão será usada várias " -"vezes em um único programa." - -#: ../../library/re.rst:635 +#: ../../library/re.rst:621 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." -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." - -#: ../../library/re.rst:644 -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. " +"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)``." msgstr "" "Faz com que ``\\w``, ``\\W``, ``\\b``, ``\\B``, ``\\d``, ``\\D``, ``\\s`` e " @@ -1276,7 +1228,7 @@ msgstr "" "Unicode completa. Isso é significativo apenas para padrões Unicode e é " "ignorado para padrões de bytes. Corresponde ao sinalizador em linha ``(?a)``." -#: ../../library/re.rst:649 +#: ../../library/re.rst:626 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 ``(?" @@ -1289,7 +1241,7 @@ msgstr "" "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:658 +#: ../../library/re.rst:635 msgid "" "Display debug information about compiled expression. No corresponding inline " "flag." @@ -1297,7 +1249,7 @@ msgstr "" "Exibe informações de depuração sobre a expressão compilada. Nenhum " "sinalizador em linha correspondente." -#: ../../library/re.rst:665 +#: ../../library/re.rst:642 msgid "" "Perform case-insensitive matching; expressions like ``[A-Z]`` will also " "match lowercase letters. Full Unicode matching (such as ``Ü`` matching " @@ -1314,14 +1266,14 @@ msgstr "" "deste sinalizador a menos que o sinalizador :const:`re.LOCALE` também seja " "usado. Corresponde ao sinalizador em linha ``(?i)``." -#: ../../library/re.rst:672 +#: ../../library/re.rst:649 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 " +"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." msgstr "" "Observe que quando os padrões Unicode ``[a-z]`` ou ``[A-Z]`` são usados em " @@ -1332,7 +1284,7 @@ msgstr "" "Kelvin). Se o sinalizador :const:`ASCII` for usado, apenas as letras 'a' a " "'z' e 'A' a 'Z' serão correspondidas." -#: ../../library/re.rst:683 +#: ../../library/re.rst:660 msgid "" "Make ``\\w``, ``\\W``, ``\\b``, ``\\B`` and case-insensitive matching " "dependent on the current locale. This flag can be used only with bytes " @@ -1351,7 +1303,7 @@ msgstr "" "padrões Unicode (str) e é capaz de lidar com diferentes localidades/idiomas. " "Corresponde ao sinalizador em linha ``(?L)``." -#: ../../library/re.rst:692 +#: ../../library/re.rst:669 msgid "" ":const:`re.LOCALE` can be used only with bytes patterns and is not " "compatible with :const:`re.ASCII`." @@ -1359,7 +1311,7 @@ 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:696 +#: ../../library/re.rst:673 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 " @@ -1369,7 +1321,7 @@ msgstr "" "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:705 +#: ../../library/re.rst:682 msgid "" "When specified, the pattern character ``'^'`` matches at the beginning of " "the string and at the beginning of each line (immediately following each " @@ -1387,7 +1339,7 @@ msgstr "" "e imediatamente antes da nova linha (se houver) no final da string. " "Corresponde ao sinalizador em linha ``(?m)``." -#: ../../library/re.rst:717 +#: ../../library/re.rst:694 msgid "" "Make the ``'.'`` special character match any character at all, including a " "newline; without this flag, ``'.'`` will match anything *except* a newline. " @@ -1398,28 +1350,29 @@ msgstr "" "qualquer coisa *exceto* uma nova linha. Corresponde ao sinalizador em linha " "``(?s)``." -#: ../../library/re.rst:727 +#: ../../library/re.rst:704 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 " "pattern and add comments. Whitespace within the pattern is ignored, except " "when in a character class, or when preceded by an unescaped backslash, or " -"within tokens like ``*?``, ``(?:`` or ``(?P<...>``. When a line contains a " -"``#`` that is not in a character class and is not preceded by an unescaped " -"backslash, all characters from the leftmost such ``#`` through the end of " -"the line are ignored." +"within tokens like ``*?``, ``(?:`` or ``(?P<...>``. For example, ``(? :`` " +"and ``* ?`` are not allowed. When a line contains a ``#`` that is not in a " +"character class and is not preceded by an unescaped backslash, all " +"characters from the leftmost such ``#`` through the end of the line are " +"ignored." msgstr "" "Este sinalizador permite que você escreva expressões regulares que parecem " "mais agradáveis e são mais legíveis, permitindo que você separe visualmente " "seções lógicas do padrão e adicione comentários. O espaço em branco dentro " "do padrão é ignorado, exceto quando em uma classe de caractere, ou quando " "precedido por uma contrabarra sem escape, ou dentro de tokens como ``*?``, " -"``(?:`` ou ``(?P<...>``. 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." +"``(?:`` 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 a partir " +"do ``#`` mais à esquerda até o final da linha são ignorados." -#: ../../library/re.rst:736 +#: ../../library/re.rst:714 msgid "" "This means that the two following regular expression objects that match a " "decimal number are functionally equal::" @@ -1427,11 +1380,65 @@ 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:744 +#: ../../library/re.rst:722 msgid "Corresponds to the inline flag ``(?x)``." msgstr "Corresponde ao sinalizador em linha ``(?x)``." -#: ../../library/re.rst:749 +#: ../../library/re.rst:726 +msgid "Functions" +msgstr "Funções" + +#: ../../library/re.rst:730 +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." +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." + +#: ../../library/re.rst:735 +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 " +"``|`` 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 ``|``)." + +#: ../../library/re.rst:739 +msgid "The sequence ::" +msgstr "A sequência ::" + +#: ../../library/re.rst:744 +msgid "is equivalent to ::" +msgstr "equivale a ::" + +#: ../../library/re.rst:748 +msgid "" +"but using :func:`re.compile` and saving the resulting regular expression " +"object for reuse is more efficient when the expression will be used several " +"times in a single program." +msgstr "" +"mas usar :func:`re.compile` e salvar o objeto expressão regular resultante " +"para reutilização é mais eficiente quando a expressão será usada várias " +"vezes em um único programa." + +#: ../../library/re.rst:754 +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." +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." + +#: ../../library/re.rst:762 msgid "" "Scan through *string* looking for the first location where the regular " "expression *pattern* produces a match, and return a corresponding :ref:" @@ -1445,7 +1452,7 @@ msgstr "" "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:758 +#: ../../library/re.rst:771 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 " @@ -1486,7 +1493,7 @@ msgstr "" "``None`` se a string não corresponder ao padrão; observe que isso é " "diferente de uma correspondência de comprimento zero." -#: ../../library/re.rst:782 +#: ../../library/re.rst:795 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 " @@ -1500,7 +1507,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:797 +#: ../../library/re.rst:810 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 " @@ -1510,7 +1517,7 @@ msgstr "" "string, o resultado começará com uma string vazia. O mesmo vale para o final " "da string::" -#: ../../library/re.rst:804 +#: ../../library/re.rst:817 msgid "" "That way, separator components are always found at the same relative indices " "within the result list." @@ -1518,7 +1525,7 @@ msgstr "" "Dessa forma, os componentes do separador são sempre encontrados nos mesmos " "índices relativos na lista de resultados." -#: ../../library/re.rst:807 +#: ../../library/re.rst:820 msgid "" "Empty matches for the pattern split the string only when not adjacent to a " "previous empty match." @@ -1526,39 +1533,51 @@ 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:817 ../../library/re.rst:897 ../../library/re.rst:921 +#: ../../library/re.rst:830 ../../library/re.rst:920 ../../library/re.rst:944 msgid "Added the optional flags argument." msgstr "Adicionado o argumento de sinalizadores opcionais." -#: ../../library/re.rst:820 +#: ../../library/re.rst:833 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:826 +#: ../../library/re.rst:839 msgid "" "Return all non-overlapping matches of *pattern* in *string*, as a list of " -"strings. The *string* is scanned left-to-right, and matches are returned in " -"the order found. If one or more groups are present in the pattern, return a " -"list of groups; this will be a list of tuples if the pattern has more than " -"one group. Empty matches are included in the result." -msgstr "" -"Retorna todas as correspondências não sobrepostas de padrão *pattern* na " -"*string*, como uma lista de strings. A *string* é percorrida da esquerda " -"para a direita e as correspondências são retornadas na ordem encontrada. Se " -"um ou mais grupos estiverem presentes no padrão, retorna uma lista de " -"grupos; esta será uma lista de tuplas se o padrão tiver mais de um grupo. " -"Correspondências vazias são incluídas no resultado." - -#: ../../library/re.rst:832 ../../library/re.rst:843 +"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 *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:843 +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. " +"If there is exactly one group, return a list of strings matching that " +"group. If multiple groups are present, return a list of tuples of strings " +"matching the groups. Non-capturing groups do not affect the form of the " +"result." +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, 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:855 ../../library/re.rst:866 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:838 +#: ../../library/re.rst:861 msgid "" "Return an :term:`iterator` yielding :ref:`match objects ` " "over all non-overlapping matches for the RE *pattern* in *string*. The " @@ -1571,31 +1590,31 @@ msgstr "" "direita e as correspondências são retornadas na ordem encontrada. " "Correspondências vazias são incluídas no resultado." -#: ../../library/re.rst:849 +#: ../../library/re.rst:872 msgid "" "Return the string obtained by replacing the leftmost non-overlapping " "occurrences of *pattern* in *string* by the replacement *repl*. If the " "pattern isn't found, *string* is returned unchanged. *repl* can be a string " "or a function; if it is a string, any backslash escapes in it are " -"processed. That is, ``\\n`` is converted to a single newline character, ``" -"\\r`` is converted to a carriage return, and so forth. Unknown escapes of " +"processed. That is, ``\\n`` is converted to a single newline character, " +"``\\r`` is converted to a carriage return, and so forth. Unknown escapes of " "ASCII letters are reserved for future use and treated as errors. Other " -"unknown escapes such as ``\\&`` are left alone. Backreferences, such as ``" -"\\6``, are replaced with the substring matched by group 6 in the pattern. " +"unknown escapes such as ``\\&`` are left alone. Backreferences, such as " +"``\\6``, are replaced with the substring matched by group 6 in the pattern. " "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:865 +"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:888 msgid "" "If *repl* is a function, it is called for every non-overlapping occurrence " "of *pattern*. The function takes a single :ref:`match object ` e retorna a string de substituição. " "Por exemplo::" -#: ../../library/re.rst:877 +#: ../../library/re.rst:900 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:879 +#: ../../library/re.rst:902 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, " @@ -1626,33 +1645,33 @@ msgstr "" "adjacentes a uma correspondência vazia anterior, então ``sub('x*', '-', " "'abxd')`` retorna ``'-a-b--d-'``." -#: ../../library/re.rst:887 +#: ../../library/re.rst:910 msgid "" "In string-type *repl* arguments, in addition to the character escapes and " "backreferences described above, ``\\g`` will use the substring matched " -"by the group named ``name``, as defined by the ``(?P...)`` syntax. ``" -"\\g`` uses the corresponding group number; ``\\g<2>`` is therefore " -"equivalent to ``\\2``, but isn't ambiguous in a replacement such as ``" -"\\g<2>0``. ``\\20`` would be interpreted as a reference to group 20, not a " -"reference to group 2 followed by the literal character ``'0'``. The " +"by the group named ``name``, as defined by the ``(?P...)`` syntax. " +"``\\g`` uses the corresponding group number; ``\\g<2>`` is therefore " +"equivalent to ``\\2``, but isn't ambiguous in a replacement such as " +"``\\g<2>0``. ``\\20`` would be interpreted as a reference to group 20, not " +"a reference to group 2 followed by the literal character ``'0'``. The " "backreference ``\\g<0>`` substitutes in the entire substring matched by the " "RE." msgstr "" "Em argumentos *repl* do tipo string, além dos escapes de caractere e " "referências anteriores descritas acima, ``\\g`` usará a substring " "correspondida pelo grupo denominado ``nome``, conforme definido pela sintaxe " -"``(?P...)``. ``\\g`` usa o número do grupo correspondente; ``" -"\\g<2>`` é portanto equivalente a ``\\2``, mas não é ambíguo em uma " +"``(?P...)``. ``\\g`` usa o número do grupo correspondente; " +"``\\g<2>`` é portanto equivalente a ``\\2``, mas não é ambíguo em uma " "substituição como ``\\g<2>0``. ``\\20`` seria interpretado como uma " "referência ao grupo 20, não uma referência ao grupo 2 seguida pelo caractere " "literal ``'0'``. A referência anterior ``\\g6`` substitui em toda a " "substring correspondida pela ER." -#: ../../library/re.rst:900 ../../library/re.rst:924 ../../library/re.rst:1155 +#: ../../library/re.rst:923 ../../library/re.rst:947 ../../library/re.rst:1181 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:903 +#: ../../library/re.rst:926 msgid "" "Unknown escapes in *pattern* consisting of ``'\\'`` and an ASCII letter now " "are errors." @@ -1660,41 +1679,41 @@ msgstr "" "Escapes desconhecidos no padrão *pattern* consistindo em ``'\\'`` e uma " "letra ASCII agora são erros." -#: ../../library/re.rst:907 +#: ../../library/re.rst:930 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:911 +#: ../../library/re.rst:934 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:918 +#: ../../library/re.rst:941 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:930 +#: ../../library/re.rst:953 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:945 +#: ../../library/re.rst:968 msgid "" "This function must not be used for the replacement string in :func:`sub` " "and :func:`subn`, only backslashes should be escaped. For example::" @@ -1702,11 +1721,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:953 +#: ../../library/re.rst:976 msgid "The ``'_'`` character is no longer escaped." msgstr "O caractere ``'_'`` não é mais escapado." -#: ../../library/re.rst:956 +#: ../../library/re.rst:979 msgid "" "Only characters that can have special meaning in a regular expression are " "escaped. As a result, ``'!'``, ``'\"'``, ``'%'``, ``\"'\"``, ``','``, " @@ -1714,15 +1733,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:965 +#: ../../library/re.rst:988 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:970 +#: ../../library/re.rst:992 +msgid "Exceptions" +msgstr "Exceções" + +#: ../../library/re.rst:996 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 " @@ -1731,41 +1754,42 @@ 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:978 +#: ../../library/re.rst:1004 msgid "The unformatted error message." msgstr "A mensagem de erro não formatada." -#: ../../library/re.rst:982 +#: ../../library/re.rst:1008 msgid "The regular expression pattern." msgstr "O padrão da expressão regular." -#: ../../library/re.rst:986 +#: ../../library/re.rst:1012 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:990 +#: ../../library/re.rst:1016 msgid "The line corresponding to *pos* (may be ``None``)." msgstr "A linha correspondente a *pos* (pode ser ``None``)." -#: ../../library/re.rst:994 +#: ../../library/re.rst:1020 msgid "The column corresponding to *pos* (may be ``None``)." msgstr "A coluna correspondente a *pos* (pode ser ``None``)." -#: ../../library/re.rst:996 +#: ../../library/re.rst:1022 msgid "Added additional attributes." msgstr "Adicionados os atributos adicionais." -#: ../../library/re.rst:1002 +#: ../../library/re.rst:1028 msgid "Regular Expression Objects" msgstr "Objetos expressão regular" -#: ../../library/re.rst:1004 +#: ../../library/re.rst:1030 msgid "" "Compiled regular expression objects support the following methods and " "attributes:" @@ -1773,7 +1797,7 @@ msgstr "" "Objetos expressão regular compilados oferecem suporte aos seguintes métodos " "e atributos:" -#: ../../library/re.rst:1009 +#: ../../library/re.rst:1035 msgid "" "Scan through *string* looking for the first location where this regular " "expression produces a match, and return a corresponding :ref:`match object " @@ -1787,7 +1811,7 @@ msgstr "" "corresponder ao padrão; observe que isso é diferente de encontrar uma " "correspondência de comprimento zero em algum ponto da string." -#: ../../library/re.rst:1015 +#: ../../library/re.rst:1041 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 " @@ -1801,7 +1825,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:1021 +#: ../../library/re.rst:1047 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 " @@ -1818,7 +1842,7 @@ msgstr "" "compilado, ``rx.search(string, 0, 50)`` é equivalente a ``rx." "search(string[:50], 0)``. ::" -#: ../../library/re.rst:1036 +#: ../../library/re.rst:1062 msgid "" "If zero or more characters at the *beginning* of *string* match this regular " "expression, return a corresponding :ref:`match object `. " @@ -1830,7 +1854,7 @@ msgstr "" "encontrado. 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:1041 ../../library/re.rst:1059 +#: ../../library/re.rst:1067 ../../library/re.rst:1085 msgid "" "The optional *pos* and *endpos* parameters have the same meaning as for the :" "meth:`~Pattern.search` method. ::" @@ -1838,7 +1862,7 @@ msgstr "" "Os parâmetros opcionais *pos* e *endpos* têm o mesmo significado que para o " "método :meth:`~Pattern.search`. ::" -#: ../../library/re.rst:1049 +#: ../../library/re.rst:1075 msgid "" "If you want to locate a match anywhere in *string*, use :meth:`~Pattern." "search` instead (see also :ref:`search-vs-match`)." @@ -1846,7 +1870,7 @@ 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:1055 +#: ../../library/re.rst:1081 msgid "" "If the whole *string* matches this regular expression, return a " "corresponding :ref:`match object `. Return ``None`` if the " @@ -1858,11 +1882,11 @@ msgstr "" "string não corresponder ao padrão; observe que isso é diferente de uma " "correspondência de comprimento zero." -#: ../../library/re.rst:1073 +#: ../../library/re.rst:1099 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:1078 +#: ../../library/re.rst:1104 msgid "" "Similar to the :func:`findall` function, using the compiled pattern, but " "also accepts optional *pos* and *endpos* parameters that limit the search " @@ -1872,7 +1896,7 @@ msgstr "" "aceita os parâmetros *pos* e *endpos* opcionais que limitam a região de " "pesquisa como para :meth:`search`." -#: ../../library/re.rst:1085 +#: ../../library/re.rst:1111 msgid "" "Similar to the :func:`finditer` function, using the compiled pattern, but " "also accepts optional *pos* and *endpos* parameters that limit the search " @@ -1882,15 +1906,15 @@ msgstr "" "aceita os parâmetros *pos* e *endpos* opcionais que limitam a região de " "pesquisa como para :meth:`search`." -#: ../../library/re.rst:1092 +#: ../../library/re.rst:1118 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:1097 +#: ../../library/re.rst:1123 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:1102 +#: ../../library/re.rst:1128 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 " @@ -1901,11 +1925,11 @@ msgstr "" "linha ``(?...)`` no padrão e sinalizadores implícitos como :data:`UNICODE` " "se o padrão for uma string Unicode." -#: ../../library/re.rst:1109 +#: ../../library/re.rst:1135 msgid "The number of capturing groups in the pattern." msgstr "O número de grupos de captura no padrão." -#: ../../library/re.rst:1114 +#: ../../library/re.rst:1140 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 " @@ -1915,11 +1939,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:1121 +#: ../../library/re.rst:1147 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:1124 +#: ../../library/re.rst:1150 msgid "" "Added support of :func:`copy.copy` and :func:`copy.deepcopy`. Compiled " "regular expression objects are considered atomic." @@ -1927,11 +1951,11 @@ 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:1132 +#: ../../library/re.rst:1158 msgid "Match Objects" msgstr "Objetos correspondência" -#: ../../library/re.rst:1134 +#: ../../library/re.rst:1160 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, " @@ -1942,28 +1966,28 @@ msgstr "" "correspondência, você pode testar se houve uma correspondência com uma " "simples instrução ``if``::" -#: ../../library/re.rst:1143 +#: ../../library/re.rst:1169 msgid "Match objects support the following methods and attributes:" msgstr "" "Os objetos correspondência oferecem suporte aos seguintes métodos e " "atributos:" -#: ../../library/re.rst:1148 +#: ../../library/re.rst:1174 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." +"backreferences (``\\1``, ``\\2``) and named backreferences (``\\g<1>``, " +"``\\g``) are replaced by the contents of the corresponding group." 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 " -"anteriores numéricas (``\\1``, ``\\2``) e referências anteriores nomeadas (``" -"\\g<1>``, ``\\g``) são substituídas pelo conteúdo do grupo " +"anteriores numéricas (``\\1``, ``\\2``) e referências anteriores nomeadas " +"(``\\g<1>``, ``\\g``) são substituídas pelo conteúdo do grupo " "correspondente." -#: ../../library/re.rst:1160 +#: ../../library/re.rst:1186 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 " @@ -1990,33 +2014,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:1182 +#: ../../library/re.rst:1208 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." 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:1187 +#: ../../library/re.rst:1213 msgid "A moderately complicated example::" msgstr "Um exemplo moderadamente complicado::" -#: ../../library/re.rst:1195 +#: ../../library/re.rst:1221 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:1202 +#: ../../library/re.rst:1228 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:1211 +#: ../../library/re.rst:1237 msgid "" "This is identical to ``m.group(g)``. This allows easier access to an " "individual group from a match::" @@ -2024,7 +2048,7 @@ 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:1227 +#: ../../library/re.rst:1253 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 " @@ -2034,11 +2058,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:1231 ../../library/re.rst:1453 +#: ../../library/re.rst:1257 ../../library/re.rst:1482 msgid "For example::" msgstr "Por exemplo::" -#: ../../library/re.rst:1237 +#: ../../library/re.rst:1263 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 " @@ -2048,7 +2072,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:1250 +#: ../../library/re.rst:1276 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 " @@ -2059,7 +2083,7 @@ msgstr "" "usado para grupos que não participaram da correspondência; o padrão é " "``None``. Por exemplo::" -#: ../../library/re.rst:1262 +#: ../../library/re.rst:1288 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 " @@ -2067,14 +2091,14 @@ 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:1270 +#: ../../library/re.rst:1296 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." @@ -2086,42 +2110,44 @@ msgstr "" "'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:1275 +#: ../../library/re.rst:1301 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:1285 +#: ../../library/re.rst:1311 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:1292 +#: ../../library/re.rst:1318 msgid "" "The value of *pos* which was passed to the :meth:`~Pattern.search` or :meth:" "`~Pattern.match` method of a :ref:`regex object `. This is the " "index into the string at which the RE engine started looking for a match." msgstr "" "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 " +"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:1299 +#: ../../library/re.rst:1325 msgid "" "The value of *endpos* which was passed to the :meth:`~Pattern.search` or :" "meth:`~Pattern.match` method of a :ref:`regex object `. This is " "the index into the string beyond which the RE engine will not go." msgstr "" "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:1306 +#: ../../library/re.rst:1332 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)" @@ -2135,7 +2161,7 @@ msgstr "" "string ``'ab'``, enquanto a expressão ``(a)(b)`` terá ``lastindex == 2``, se " "aplicada à mesma string." -#: ../../library/re.rst:1315 +#: ../../library/re.rst:1341 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." @@ -2143,7 +2169,7 @@ 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:1321 +#: ../../library/re.rst:1347 msgid "" "The :ref:`regular expression object ` whose :meth:`~Pattern." "match` or :meth:`~Pattern.search` method produced this match instance." @@ -2151,28 +2177,28 @@ msgstr "" "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:1327 +#: ../../library/re.rst:1353 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:1330 +#: ../../library/re.rst:1356 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:1338 +#: ../../library/re.rst:1364 msgid "Regular Expression Examples" msgstr "Exemplos de expressão regular" -#: ../../library/re.rst:1342 +#: ../../library/re.rst:1368 msgid "Checking for a Pair" msgstr "Verificando por um par" -#: ../../library/re.rst:1344 +#: ../../library/re.rst:1370 msgid "" "In this example, we'll use the following helper function to display match " "objects a little more gracefully::" @@ -2180,7 +2206,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:1352 +#: ../../library/re.rst:1378 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 " @@ -2189,17 +2215,17 @@ msgid "" msgstr "" "Suponha que você esteja escrevendo um programa de pôquer onde a mão de um " "jogador é representada como uma string de 5 caracteres com cada caractere " -"representando uma carta, \"a\" para ás, \"k\" para rei, \"q\" para dama, \"j" -"\" para valete, \"t\" para 10 e \"2\" a \"9\" representando a carta com esse " -"valor." +"representando uma carta, \"a\" para ás, \"k\" para rei, \"q\" para dama, " +"\"j\" para valete, \"t\" para 10 e \"2\" a \"9\" representando a carta com " +"esse valor." -#: ../../library/re.rst:1357 +#: ../../library/re.rst:1383 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:1367 +#: ../../library/re.rst:1393 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 " @@ -2209,7 +2235,7 @@ msgstr "" "valor. Para combinar isso com uma expressão regular, pode-se usar " "referências anteriores como::" -#: ../../library/re.rst:1377 +#: ../../library/re.rst:1403 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::" @@ -2217,11 +2243,11 @@ 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::" -#: ../../library/re.rst:1396 +#: ../../library/re.rst:1422 msgid "Simulating scanf()" msgstr "Simulando scanf()" -#: ../../library/re.rst:1400 +#: ../../library/re.rst:1426 msgid "" "Python does not currently have an equivalent to :c:func:`scanf`. Regular " "expressions are generally more powerful, though also more verbose, than :c:" @@ -2235,112 +2261,124 @@ msgstr "" "mapeamentos mais ou menos equivalentes entre os tokens de formato :c:func:" "`scanf` e expressões regulares." -#: ../../library/re.rst:1407 +#: ../../library/re.rst:1433 msgid ":c:func:`scanf` Token" msgstr "Token :c:func:`scanf`" -#: ../../library/re.rst:1407 +#: ../../library/re.rst:1433 msgid "Regular Expression" msgstr "Expressão regular" -#: ../../library/re.rst:1409 +#: ../../library/re.rst:1435 msgid "``%c``" msgstr "``%c``" -#: ../../library/re.rst:1411 +#: ../../library/re.rst:1437 msgid "``%5c``" msgstr "``%5c``" -#: ../../library/re.rst:1411 +#: ../../library/re.rst:1437 msgid "``.{5}``" msgstr "``.{5}``" -#: ../../library/re.rst:1413 +#: ../../library/re.rst:1439 msgid "``%d``" msgstr "``%d``" -#: ../../library/re.rst:1413 +#: ../../library/re.rst:1439 msgid "``[-+]?\\d+``" msgstr "``[-+]?\\d+``" -#: ../../library/re.rst:1415 +#: ../../library/re.rst:1441 msgid "``%e``, ``%E``, ``%f``, ``%g``" msgstr "``%e``, ``%E``, ``%f``, ``%g``" -#: ../../library/re.rst:1415 +#: ../../library/re.rst:1441 msgid "``[-+]?(\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?``" msgstr "``[-+]?(\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?``" -#: ../../library/re.rst:1417 +#: ../../library/re.rst:1443 msgid "``%i``" msgstr "``%i``" -#: ../../library/re.rst:1417 +#: ../../library/re.rst:1443 msgid "``[-+]?(0[xX][\\dA-Fa-f]+|0[0-7]*|\\d+)``" msgstr "``[-+]?(0[xX][\\dA-Fa-f]+|0[0-7]*|\\d+)``" -#: ../../library/re.rst:1419 +#: ../../library/re.rst:1445 msgid "``%o``" msgstr "``%o``" -#: ../../library/re.rst:1419 +#: ../../library/re.rst:1445 msgid "``[-+]?[0-7]+``" msgstr "``[-+]?[0-7]+``" -#: ../../library/re.rst:1421 +#: ../../library/re.rst:1447 msgid "``%s``" msgstr "``%s``" -#: ../../library/re.rst:1421 +#: ../../library/re.rst:1447 msgid "``\\S+``" msgstr "``\\S+``" -#: ../../library/re.rst:1423 +#: ../../library/re.rst:1449 msgid "``%u``" msgstr "``%u``" -#: ../../library/re.rst:1423 +#: ../../library/re.rst:1449 msgid "``\\d+``" msgstr "``\\d+``" -#: ../../library/re.rst:1425 +#: ../../library/re.rst:1451 msgid "``%x``, ``%X``" msgstr "``%x``, ``%X``" -#: ../../library/re.rst:1425 +#: ../../library/re.rst:1451 msgid "``[-+]?(0[xX])?[\\dA-Fa-f]+``" msgstr "``[-+]?(0[xX])?[\\dA-Fa-f]+``" -#: ../../library/re.rst:1428 +#: ../../library/re.rst:1454 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:1432 +#: ../../library/re.rst:1458 msgid "you would use a :c:func:`scanf` format like ::" msgstr "você usaria um formato de :c:func:`scanf` como ::" -#: ../../library/re.rst:1436 +#: ../../library/re.rst:1462 msgid "The equivalent regular expression would be ::" msgstr "A expressão regular equivalente seria ::" -#: ../../library/re.rst:1444 +#: ../../library/re.rst:1470 msgid "search() vs. match()" msgstr "search() vs. match()" -#: ../../library/re.rst:1448 +#: ../../library/re.rst:1474 msgid "" -"Python offers two different primitive operations based on regular " -"expressions: :func:`re.match` checks for a match only at the beginning of " -"the string, while :func:`re.search` checks for a match anywhere in the " -"string (this is what Perl does by default)." +"Python offers different primitive operations based on regular expressions:" +msgstr "" +"Python oferece diferentes operações primitivas baseadas em expressões " +"regulares:" + +#: ../../library/re.rst:1476 +msgid ":func:`re.match` checks for a match only at the beginning of the string" msgstr "" -"Python oferece duas operações primitivas diferentes baseadas em expressões " -"regulares: :func:`re.match` verifica se há uma correspondência apenas no " -"início da string, enquanto :func:`re.search` verifica se há uma " -"correspondência em qualquer lugar da string (isto é o que o Perl faz por " -"padrão)." +":func:`re.match` verifica uma correspondência apenas no início da string" -#: ../../library/re.rst:1459 +#: ../../library/re.rst:1477 +msgid "" +":func:`re.search` checks for a match anywhere in the string (this is what " +"Perl does by default)" +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:1479 +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:1491 msgid "" "Regular expressions beginning with ``'^'`` can be used with :func:`search` " "to restrict the match at the beginning of the string::" @@ -2348,7 +2386,7 @@ msgstr "" "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:1467 +#: ../../library/re.rst:1499 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 " @@ -2357,14 +2395,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:1477 +#: ../../library/re.rst:1509 msgid "Making a Phonebook" msgstr "Criando uma lista telefônica" -#: ../../library/re.rst:1479 +#: ../../library/re.rst:1511 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 " @@ -2376,33 +2414,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:1484 +#: ../../library/re.rst:1516 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:1497 +#: ../../library/re.rst:1529 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:1510 +#: ../../library/re.rst:1542 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:1523 +#: ../../library/re.rst:1555 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 " @@ -2412,11 +2450,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:1538 +#: ../../library/re.rst:1570 msgid "Text Munging" -msgstr "Mastigação de texto" +msgstr "Mastigando texto" -#: ../../library/re.rst:1540 +#: ../../library/re.rst:1572 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 " @@ -2429,27 +2467,27 @@ msgstr "" "caracteres em cada palavra de uma frase, exceto o primeiro e o último " "caracteres::" -#: ../../library/re.rst:1557 +#: ../../library/re.rst:1589 msgid "Finding all Adverbs" msgstr "Encontrando todos os advérbios" -#: ../../library/re.rst:1559 +#: ../../library/re.rst:1591 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:1570 +#: ../../library/re.rst:1602 msgid "Finding all Adverbs and their Positions" msgstr "Encontrando todos os advérbios e suas posições" -#: ../../library/re.rst:1572 +#: ../../library/re.rst:1604 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 " @@ -2464,11 +2502,11 @@ msgstr "" "os advérbios *e suas posições* em algum texto, ele usaria :func:`finditer` " "da seguinte maneira::" -#: ../../library/re.rst:1586 +#: ../../library/re.rst:1618 msgid "Raw String Notation" msgstr "Notação de string bruta" -#: ../../library/re.rst:1588 +#: ../../library/re.rst:1620 msgid "" "Raw string notation (``r\"text\"``) keeps regular expressions sane. Without " "it, every backslash (``'\\'``) in a regular expression would have to be " @@ -2476,11 +2514,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:1598 +#: ../../library/re.rst:1630 msgid "" "When one wants to match a literal backslash, it must be escaped in the " "regular expression. With raw string notation, this means ``r\"\\\\\"``. " @@ -2488,40 +2526,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:1610 +#: ../../library/re.rst:1642 msgid "Writing a Tokenizer" msgstr "Escrevendo um tokenizador" -#: ../../library/re.rst:1612 +#: ../../library/re.rst:1644 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:1616 +#: ../../library/re.rst:1648 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:1672 +#: ../../library/re.rst:1704 msgid "The tokenizer produces the following output::" msgstr "O tokenizador produz a seguinte saída::" -#: ../../library/re.rst:1695 +#: ../../library/re.rst:1727 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 " diff --git a/library/readline.po b/library/readline.po index 037cdd07c..ea12b6cb8 100644 --- a/library/readline.po +++ b/library/readline.po @@ -1,31 +1,31 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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: -# And Past , 2021 -# i17obot , 2021 +# python-doc bot, 2025 # #, 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:12+0000\n" -"Last-Translator: i17obot , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:58+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"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 "" @@ -37,6 +37,13 @@ msgid "" "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 "" @@ -53,6 +60,9 @@ 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 "" @@ -61,6 +71,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 "" @@ -69,6 +83,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" @@ -77,12 +95,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." 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 "" @@ -90,32 +112,41 @@ 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." 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" @@ -123,7 +154,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 "" @@ -131,6 +162,9 @@ 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 "" @@ -138,6 +172,9 @@ msgid "" "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 "" @@ -146,6 +183,10 @@ msgid "" "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 "" @@ -154,14 +195,19 @@ msgid "" "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 "" @@ -169,6 +215,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 "" @@ -176,12 +225,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 "" @@ -189,6 +243,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 "" @@ -196,12 +253,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 "" @@ -209,10 +271,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 "" @@ -222,6 +296,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 "" @@ -233,10 +312,17 @@ 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 msgid "Completion" -msgstr "" +msgstr "Autocomplemento" #: ../../library/readline.rst:219 msgid "" @@ -247,6 +333,14 @@ 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 msgid "" @@ -257,6 +351,13 @@ 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 msgid "" @@ -265,18 +366,27 @@ msgid "" "*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 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 msgid "" "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 msgid "" @@ -287,6 +397,12 @@ msgid "" "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 msgid "" @@ -295,6 +411,10 @@ msgid "" "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 msgid "" @@ -306,6 +426,15 @@ 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 msgid "Example" @@ -319,21 +448,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 msgid "" "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 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 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 16a817254..ee6daffb4 100644 --- a/library/reprlib.po +++ b/library/reprlib.po @@ -1,31 +1,31 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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.10\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-06-29 12:56+0000\n" -"PO-Revision-Date: 2021-06-28 01:12+0000\n" -"Last-Translator: i17obot , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:58+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"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`" @@ -40,7 +40,7 @@ msgstr "" #: ../../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 "" @@ -49,6 +49,10 @@ 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 "" @@ -56,6 +60,9 @@ msgid "" "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 "" @@ -63,6 +70,9 @@ 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 "" @@ -88,12 +98,17 @@ msgid "" "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 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:92 msgid "" @@ -101,12 +116,17 @@ msgid "" "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:99 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:105 msgid "" @@ -115,6 +135,10 @@ msgid "" "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:113 msgid "" @@ -122,12 +146,18 @@ msgid "" "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:120 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:126 msgid "" @@ -137,6 +167,11 @@ 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:135 msgid "" @@ -146,10 +181,16 @@ msgid "" "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:145 msgid "Subclassing Repr Objects" -msgstr "" +msgstr "Estendendo objetos Repr" #: ../../library/reprlib.rst:147 msgid "" diff --git a/library/resource.po b/library/resource.po index f92e4d87b..2f1a69950 100644 --- a/library/resource.po +++ b/library/resource.po @@ -1,30 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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 -# Welington Carlos , 2021 -# Claudio Rogerio Carvalho Filho , 2021 +# python-doc bot, 2025 # #, 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:12+0000\n" -"Last-Translator: Claudio Rogerio Carvalho Filho , " -"2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:58+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/resource.rst:2 msgid ":mod:`resource` --- Resource usage information" @@ -35,28 +32,37 @@ 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." #: ../../library/resource.rst:16 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:19 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:24 msgid "A deprecated alias of :exc:`OSError`." -msgstr "" +msgstr "Um apelido descontinuado de :exc:`OSError`." #: ../../library/resource.rst:26 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:31 msgid "Resource Limits" -msgstr "" +msgstr "Limites de recursos" #: ../../library/resource.rst:33 msgid "" @@ -68,6 +74,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:41 msgid "" @@ -77,10 +90,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:50 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:55 msgid "" @@ -88,6 +106,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:62 msgid "" @@ -96,6 +118,10 @@ 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:67 msgid "" @@ -107,22 +133,34 @@ msgid "" "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:76 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:79 msgid "VxWorks only supports setting :data:`RLIMIT_NOFILE`." -msgstr "" +msgstr "VxWorks só oferece suporte a definir :data:`RLIMIT_NOFILE`." #: ../../library/resource.rst:81 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:86 msgid "" @@ -132,6 +170,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:92 msgid "" @@ -139,6 +181,9 @@ 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:96 msgid "" @@ -146,12 +191,17 @@ msgid "" "`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:100 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:103 msgid "" @@ -165,6 +215,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:111 msgid "" @@ -174,6 +227,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:120 msgid "" @@ -181,6 +239,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:127 msgid "" @@ -189,55 +251,68 @@ 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:135 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:140 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:145 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:151 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:156 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:161 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:166 msgid "The BSD name for :const:`RLIMIT_NOFILE`." -msgstr "" +msgstr "O nome BSD para :const:`RLIMIT_NOFILE`." #: ../../library/resource.rst:171 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:176 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:181 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:186 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:189 ../../library/resource.rst:226 msgid ":ref:`Availability `: Linux 2.6.8 or later." @@ -246,6 +321,7 @@ msgstr "" #: ../../library/resource.rst:195 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:198 ../../library/resource.rst:207 msgid ":ref:`Availability `: Linux 2.6.12 or later." @@ -253,13 +329,16 @@ msgstr "" #: ../../library/resource.rst:204 msgid "The ceiling of the real-time priority." -msgstr "" +msgstr "O teto da prioridade em tempo real." #: ../../library/resource.rst:213 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:217 msgid ":ref:`Availability `: Linux 2.6.25 or later." @@ -267,7 +346,7 @@ msgstr "" #: ../../library/resource.rst:223 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:231 msgid "" @@ -275,6 +354,9 @@ msgid "" "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:236 ../../library/resource.rst:249 #: ../../library/resource.rst:257 @@ -292,11 +374,12 @@ msgstr "" #: ../../library/resource.rst:254 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:262 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:265 msgid ":ref:`Availability `: FreeBSD 11 or later." @@ -304,11 +387,12 @@ msgstr "" #: ../../library/resource.rst:269 msgid "Resource Usage" -msgstr "" +msgstr "Uso de recursos" #: ../../library/resource.rst:271 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:276 msgid "" @@ -330,12 +414,19 @@ 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:300 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:303 msgid "" @@ -357,7 +448,7 @@ msgstr "Campo" #: ../../library/resource.rst:310 msgid "Resource" -msgstr "" +msgstr "Recurso" #: ../../library/resource.rst:312 msgid "``0``" @@ -369,7 +460,7 @@ msgstr ":attr:`ru_utime`" #: ../../library/resource.rst:312 msgid "time in user mode (float seconds)" -msgstr "" +msgstr "tempo no modo de usuário (segundos em pontos flutuantes)" #: ../../library/resource.rst:314 msgid "``1``" @@ -381,7 +472,7 @@ msgstr ":attr:`ru_stime`" #: ../../library/resource.rst:314 msgid "time in system mode (float seconds)" -msgstr "" +msgstr "tempo no modo de sistema (segundos em pontos flutuantes)" #: ../../library/resource.rst:316 msgid "``2``" @@ -393,7 +484,7 @@ msgstr ":attr:`ru_maxrss`" #: ../../library/resource.rst:316 msgid "maximum resident set size" -msgstr "" +msgstr "tamanho máximo do conjunto residente" #: ../../library/resource.rst:318 msgid "``3``" @@ -405,7 +496,7 @@ msgstr ":attr:`ru_ixrss`" #: ../../library/resource.rst:318 msgid "shared memory size" -msgstr "" +msgstr "tamanho da memória compartilhada" #: ../../library/resource.rst:320 msgid "``4``" @@ -417,7 +508,7 @@ msgstr ":attr:`ru_idrss`" #: ../../library/resource.rst:320 msgid "unshared memory size" -msgstr "" +msgstr "tamanho da memória não compartilhada" #: ../../library/resource.rst:322 msgid "``5``" @@ -429,7 +520,7 @@ msgstr ":attr:`ru_isrss`" #: ../../library/resource.rst:322 msgid "unshared stack size" -msgstr "" +msgstr "tamanho da pilha não compartilhada" #: ../../library/resource.rst:324 msgid "``6``" @@ -441,7 +532,7 @@ msgstr ":attr:`ru_minflt`" #: ../../library/resource.rst:324 msgid "page faults not requiring I/O" -msgstr "" +msgstr "falhas de página que não requerem E/S" #: ../../library/resource.rst:326 msgid "``7``" @@ -453,7 +544,7 @@ msgstr ":attr:`ru_majflt`" #: ../../library/resource.rst:326 msgid "page faults requiring I/O" -msgstr "" +msgstr "falhas de página que requerem E/S" #: ../../library/resource.rst:328 msgid "``8``" @@ -465,7 +556,7 @@ msgstr ":attr:`ru_nswap`" #: ../../library/resource.rst:328 msgid "number of swap outs" -msgstr "" +msgstr "número de trocas para a memórias de swap" #: ../../library/resource.rst:330 msgid "``9``" @@ -477,7 +568,7 @@ msgstr ":attr:`ru_inblock`" #: ../../library/resource.rst:330 msgid "block input operations" -msgstr "" +msgstr "operações de entrada de bloco" #: ../../library/resource.rst:332 msgid "``10``" @@ -489,7 +580,7 @@ msgstr ":attr:`ru_oublock`" #: ../../library/resource.rst:332 msgid "block output operations" -msgstr "" +msgstr "operações de saída de bloco" #: ../../library/resource.rst:334 msgid "``11``" @@ -501,7 +592,7 @@ msgstr ":attr:`ru_msgsnd`" #: ../../library/resource.rst:334 msgid "messages sent" -msgstr "" +msgstr "mensagens enviadas" #: ../../library/resource.rst:336 msgid "``12``" @@ -513,7 +604,7 @@ msgstr ":attr:`ru_msgrcv`" #: ../../library/resource.rst:336 msgid "messages received" -msgstr "" +msgstr "mensagens recebidas" #: ../../library/resource.rst:338 msgid "``13``" @@ -525,7 +616,7 @@ msgstr ":attr:`ru_nsignals`" #: ../../library/resource.rst:338 msgid "signals received" -msgstr "" +msgstr "sinais recebidos" #: ../../library/resource.rst:340 msgid "``14``" @@ -537,7 +628,7 @@ msgstr ":attr:`ru_nvcsw`" #: ../../library/resource.rst:340 msgid "voluntary context switches" -msgstr "" +msgstr "trocas voluntárias de contexto" #: ../../library/resource.rst:342 msgid "``15``" @@ -549,7 +640,7 @@ msgstr ":attr:`ru_nivcsw`" #: ../../library/resource.rst:342 msgid "involuntary context switches" -msgstr "" +msgstr "trocas involuntárias de contexto" #: ../../library/resource.rst:345 msgid "" @@ -557,12 +648,17 @@ msgid "" "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:351 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:354 msgid "" @@ -576,21 +672,31 @@ 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:366 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:372 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:378 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 a81a27709..5bd442fcb 100644 --- a/library/rlcompleter.po +++ b/library/rlcompleter.po @@ -1,32 +1,31 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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.10\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-06-29 12:56+0000\n" -"PO-Revision-Date: 2021-06-28 01:12+0000\n" -"Last-Translator: i17obot , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:58+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"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`" diff --git a/library/runpy.po b/library/runpy.po index 996e56ad6..f4c2359d0 100644 --- a/library/runpy.po +++ b/library/runpy.po @@ -1,28 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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 -# Hemílio Lauro , 2021 -# i17obot , 2021 +# python-doc bot, 2025 # #, 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:12+0000\n" -"Last-Translator: i17obot , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:58+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/runpy.rst:2 msgid ":mod:`runpy` --- Locating and executing Python modules" @@ -39,6 +38,10 @@ msgid "" "line switch that allows scripts to be located using the Python module " "namespace rather than the filesystem." msgstr "" +"O módulo :mod:`runpy` é usado para localizar e executar módulos Python sem " +"importá-los primeiro. Seu principal uso é implementar a opção de linha de " +"comando :option:`-m` que permite que os scripts sejam localizados usando o " +"espaço de nomes do módulo Python em vez do sistema de arquivos." #: ../../library/runpy.rst:18 msgid "" @@ -57,6 +60,11 @@ msgid "" "that limitation is not acceptable for a given use case, :mod:`importlib` is " "likely to be a more suitable choice than this module." msgstr "" +"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." #: ../../library/runpy.rst:27 msgid "The :mod:`runpy` module provides two functions:" @@ -69,6 +77,10 @@ msgid "" "import mechanism (refer to :pep:`302` for details) and then executed in a " "fresh module namespace." msgstr "" +"Execute o código do módulo especificado e retorne o dicionário global do " +"módulo resultante. O código do módulo é localizado primeiro usando o " +"mecanismo de importação padrão (consulte :pep:`302` para detalhes) e então " +"executado em um novo espaço de nomes de módulo." #: ../../library/runpy.rst:40 msgid "" @@ -77,6 +89,10 @@ msgid "" "imported and the ``__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 " +"executado e o dicionário global do módulo resultante retornado." #: ../../library/runpy.rst:46 msgid "" @@ -100,6 +116,11 @@ msgid "" "set of variables - other variables may be set implicitly as an interpreter " "implementation detail)." msgstr "" +"As variáveis globais especiais ``__name__``, ``__spec__``, ``__file__``, " +"``__cached__``, ``__loader__`` e ``__package__`` são definidas no dicionário " +"global antes que o código do módulo seja executado (Observe que este é um " +"conjunto mínimo de variáveis - outras variáveis podem ser definidas " +"implicitamente como um detalhe de implementação do interpretador)." #: ../../library/runpy.rst:58 msgid "" @@ -107,6 +128,9 @@ msgid "" "`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 ." #: ../../library/runpy.rst:62 msgid "" @@ -123,6 +147,8 @@ msgid "" "``__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 no spec de módulo." #: ../../library/runpy.rst:69 msgid "" @@ -132,6 +158,12 @@ msgid "" "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." #: ../../library/runpy.rst:75 msgid "" @@ -140,6 +172,10 @@ msgid "" "arguments. It is recommended that the :mod:`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 " +"sozinho ao invocar esta função a partir do código encadeado." #: ../../library/runpy.rst:81 msgid "" @@ -166,6 +202,10 @@ msgid "" "well as ensuring the real module name is always accessible as ``__spec__." "name``." msgstr "" +"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``." #: ../../library/runpy.rst:101 msgid "" @@ -175,6 +215,12 @@ msgid "" "compiled bytecode file or a valid sys.path entry containing a ``__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``)." #: ../../library/runpy.rst:107 msgid "" @@ -186,6 +232,13 @@ msgid "" "`__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 " +"(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." #: ../../library/runpy.rst:115 msgid "" @@ -195,12 +248,19 @@ msgid "" "below are defined in the supplied dictionary, those definitions are " "overridden by :func:`run_path`." msgstr "" +"O argumento opcional de dicionário *init_globals* pode ser usado para " +"preencher previamente o dicionário global do módulo antes do código ser " +"executado. O dicionário fornecido não será alterado. Se qualquer uma das " +"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 msgid "" "``__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." #: ../../library/runpy.rst:130 msgid "" @@ -209,6 +269,10 @@ msgid "" "path, and ``__spec__``, ``__cached__``, ``__loader__`` and ``__package__`` " "will all be set to :const:`None`." msgstr "" +"Se o caminho fornecido referenciar diretamente um arquivo de script (seja " +"como fonte ou como bytecode pré-compilado), então ``__file__`` será definido " +"para o caminho fornecido e ``__spec__``, ``__cached__``, ``__loader__`` e " +"``__package__`` serão todos definidos como :const:`None`." #: ../../library/runpy.rst:135 msgid "" @@ -218,16 +282,28 @@ msgid "" "``__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 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 ``file_path`` and ``sys.modules[__name__]`` 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 msgid "" @@ -237,12 +313,20 @@ msgid "" "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 msgid "" ":ref:`using-on-interface-options` for equivalent functionality on the " "command line (``python path/to/script``)." msgstr "" +":ref:`using-on-interface-options` para funcionalidade equivalente na linha " +"de comando (``python path/to/script``)." #: ../../library/runpy.rst:160 msgid "" @@ -251,6 +335,10 @@ msgid "" "``__main__`` is imported from a valid sys.path entry rather than being " "executed directly." msgstr "" +"Atualizado para aproveitar o recurso de especificação do 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." #: ../../library/runpy.rst:169 msgid ":pep:`338` -- Executing modules as scripts" @@ -262,11 +350,11 @@ msgstr "PEP escrita e implementada por Nick Coghlan." #: ../../library/runpy.rst:172 msgid ":pep:`366` -- Main module explicit relative imports" -msgstr "" +msgstr ":pep:`366` -- Importações relativas explícitas do módulo principal" #: ../../library/runpy.rst:175 msgid ":pep:`451` -- A ModuleSpec Type for the Import System" -msgstr "" +msgstr ":pep:`451` -- Um tipo ModuleSpec para o sistema de importação" #: ../../library/runpy.rst:175 msgid "PEP written and implemented by Eric Snow" diff --git a/library/sched.po b/library/sched.po index 61286f723..4f307b581 100644 --- a/library/sched.po +++ b/library/sched.po @@ -1,28 +1,28 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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 +# Rafael Fontenelle , 2025 # #, 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:12+0000\n" -"Last-Translator: i17obot , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-23 17:01+0000\n" +"PO-Revision-Date: 2025-09-22 15:58+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=2; plural=(n > 1);\n" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/sched.rst:2 msgid ":mod:`sched` --- Event scheduler" @@ -37,6 +37,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 "" @@ -49,111 +51,151 @@ 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::" msgstr "Exemplo::" -#: ../../library/sched.rst:61 +#: ../../library/sched.rst:67 msgid "Scheduler Objects" msgstr "Objetos Scheduler" -#: ../../library/sched.rst:63 +#: ../../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:68 +#: ../../library/sched.rst:74 msgid "" "Schedule a new event. The *time* argument should be a numeric type " "compatible with the return value of the *timefunc* function passed to the " "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:73 +#: ../../library/sched.rst:79 msgid "" "Executing the event means executing ``action(*argument, **kwargs)``. " "*argument* is a sequence holding the positional arguments for *action*. " "*kwargs* is a dictionary holding the keyword arguments for *action*." msgstr "" +"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:77 +#: ../../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:80 ../../library/sched.rst:93 +#: ../../library/sched.rst:86 ../../library/sched.rst:99 msgid "*argument* parameter is optional." -msgstr "" +msgstr "o parâmetro *argument* é opcional." -#: ../../library/sched.rst:83 ../../library/sched.rst:96 +#: ../../library/sched.rst:89 ../../library/sched.rst:102 msgid "*kwargs* parameter was added." msgstr "o parâmetro *kwargs* foi adicionado." -#: ../../library/sched.rst:89 +#: ../../library/sched.rst:95 msgid "" "Schedule an event for *delay* more time units. Other than the relative time, " "the other arguments, the effect and the return value are the same as those " "for :meth:`enterabs`." msgstr "" +"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:101 +#: ../../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:107 +#: ../../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:112 +#: ../../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." msgstr "" -#: ../../library/sched.rst:116 +#: ../../library/sched.rst:122 msgid "" "If *blocking* is false executes the scheduled events due to expire soonest " "(if any) and then return the deadline of the next scheduled call in the " "scheduler (if any)." msgstr "" +"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:120 +#: ../../library/sched.rst:126 msgid "" "Either *action* or *delayfunc* can raise an exception. In either case, the " "scheduler will maintain a consistent state and propagate the exception. If " "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:125 +#: ../../library/sched.rst:131 msgid "" "If a sequence of events takes longer to run than the time available before " "the next event, the scheduler will simply fall behind. No events will be " "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:130 +#: ../../library/sched.rst:136 msgid "*blocking* parameter was added." -msgstr "" +msgstr "O argumento *blocking* foi adicionado." -#: ../../library/sched.rst:135 +#: ../../library/sched.rst:141 msgid "" "Read-only attribute returning a list of upcoming events in the order they " "will be run. Each event is shown as a :term:`named tuple` with the " "following fields: time, priority, action, argument, kwargs." msgstr "" +"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." diff --git a/library/secrets.po b/library/secrets.po index 40598d207..24d9caef8 100644 --- a/library/secrets.po +++ b/library/secrets.po @@ -1,28 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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 -# i17obot , 2021 +# python-doc bot, 2025 # #, 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:12+0000\n" -"Last-Translator: i17obot , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:58+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/secrets.rst:2 msgid ":mod:`secrets` --- Generate secure random numbers for managing secrets" @@ -80,7 +79,7 @@ msgstr "" "SystemRandom` para detalhes adicionais." #: ../../library/secrets.rst:47 -msgid "Return a randomly-chosen element from a non-empty sequence." +msgid "Return a randomly chosen element from a non-empty sequence." msgstr "" "Retorna um elemento escolhido aleatoriamente de uma sequência não vazia." @@ -193,21 +192,23 @@ msgstr "Outras funções" #: ../../library/secrets.rst:131 msgid "" -"Return ``True`` if strings *a* and *b* are equal, otherwise ``False``, in " -"such a way as to reduce the risk of `timing attacks ` " +"*a* and *b* are equal, otherwise ``False``, using a \"constant-time " +"compare\" to reduce the risk of `timing attacks `_. See :func:`hmac.compare_digest` for additional " "details." msgstr "" -"Retorna ``True`` se as strings *a* e *b* forem iguais, caso contrário, " -"``False``, de forma a reduzir o risco de `ataques de temporização `_. Veja :func:`hmac." -"compare_digest` para detalhes adicionais." +"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." -#: ../../library/secrets.rst:138 +#: ../../library/secrets.rst:140 msgid "Recipes and best practices" msgstr "Receitas e melhores práticas" -#: ../../library/secrets.rst:140 +#: ../../library/secrets.rst:142 msgid "" "This section shows recipes and best practices for using :mod:`secrets` to " "manage a basic level of security." @@ -215,23 +216,23 @@ msgstr "" "Esta seção mostra as receitas e melhores práticas para usar :mod:`secrets` " "para gerenciar um nível básico de segurança." -#: ../../library/secrets.rst:143 +#: ../../library/secrets.rst:145 msgid "Generate an eight-character alphanumeric password:" msgstr "Gerar uma senha alfanumérica de oito caracteres:" -#: ../../library/secrets.rst:155 +#: ../../library/secrets.rst:157 msgid "" -"Applications should not `store passwords in a recoverable format `_, whether plain text or encrypted. " -"They should be salted and hashed using a cryptographically-strong one-way " -"(irreversible) hash function." +"Applications should not `store passwords in a recoverable format `_, whether plain text or " +"encrypted. They should be salted and hashed using a cryptographically " +"strong one-way (irreversible) hash function." msgstr "" -"Os aplicativos não devem `armazenar senhas em um formato recuperável `_, seja em texto simples ou " -"criptografado. Elas devem ser salgadas e transformadas em hash usando uma " +"Os aplicativos não devem `armazenar senhas em um formato recuperável " +"`_, seja em texto simples " +"ou criptografado. Elas devem ser salgadas e transformadas em hash usando uma " "função hash de sentido único criptograficamente forte (irreversível)." -#: ../../library/secrets.rst:161 +#: ../../library/secrets.rst:163 msgid "" "Generate a ten-character alphanumeric password with at least one lowercase " "character, at least one uppercase character, and at least three digits:" @@ -239,11 +240,11 @@ msgstr "" "Gerar uma senha alfanumérica de dez caracteres com pelo menos um caractere " "minúsculo, pelo menos um caractere maiúsculo e pelo menos três dígitos:" -#: ../../library/secrets.rst:178 +#: ../../library/secrets.rst:180 msgid "Generate an `XKCD-style passphrase `_:" msgstr "Gerar uma senha longa do estilo `XKCD `_:" -#: ../../library/secrets.rst:190 +#: ../../library/secrets.rst:192 msgid "" "Generate a hard-to-guess temporary URL containing a security token suitable " "for password recovery applications:" diff --git a/library/security_warnings.po b/library/security_warnings.po index bc6af6dcb..2e34d3f95 100644 --- a/library/security_warnings.po +++ b/library/security_warnings.po @@ -1,30 +1,31 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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.10\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-08-13 13:42+0000\n" -"PO-Revision-Date: 2021-08-10 13:22+0000\n" -"Last-Translator: Rafael Fontenelle , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:58+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"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:" @@ -55,10 +56,12 @@ msgstr "" #: ../../library/security_warnings.rst:16 msgid "" ":mod:`http.server` is not suitable for production use, only implementing " -"basic security checks" +"basic security checks. See the :ref:`security considerations `." msgstr "" ":mod:`http.server` não é adequado para uso em produção, implementando apenas " -"verificações básicas de segurança" +"verificações básicas de segurança. Veja as :ref:`considerações de segurança " +"`." #: ../../library/security_warnings.rst:18 msgid "" @@ -114,13 +117,17 @@ msgid "" ":mod:`tempfile`: :ref:`mktemp is deprecated due to vulnerability to race " "conditions `" msgstr "" +":mod:`tempfile`: :ref:`mktemp foi descontinuado em razão de vulnerabilidade " +"de condições de corrida `" #: ../../library/security_warnings.rst:32 msgid ":mod:`xml`: :ref:`XML vulnerabilities `" -msgstr "" +msgstr ":mod:`xml`: :ref:`Vulnerabilidades no XML `" #: ../../library/security_warnings.rst:33 msgid "" ":mod:`zipfile`: :ref:`maliciously prepared .zip files can cause disk volume " "exhaustion `" msgstr "" +":mod:`zipfile`: :ref:`Arquivos .zip preparados de forma maliciosa podem " +"causar esgotamento do volume do disco `" diff --git a/library/select.po b/library/select.po index ee87a0fba..dc40a806d 100644 --- a/library/select.po +++ b/library/select.po @@ -1,31 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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 -# Sheila Gomes , 2021 -# Claudio Rogerio Carvalho Filho , 2021 -# Hemílio Lauro , 2021 -# Marco Rougeth , 2021 -# i17obot , 2021 +# python-doc bot, 2025 # #, 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:12+0000\n" -"Last-Translator: i17obot , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:58+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/select.rst:2 msgid ":mod:`select` --- Waiting for I/O completion" @@ -49,6 +45,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." #: ../../library/select.rst:26 msgid "The module defines the following:" @@ -56,11 +56,13 @@ msgstr "O módulo define o seguinte:" #: ../../library/select.rst:31 msgid "A deprecated alias of :exc:`OSError`." -msgstr "" +msgstr "Um apelido descontinuado de :exc:`OSError`." #: ../../library/select.rst:33 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:39 msgid "" @@ -68,6 +70,9 @@ 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:43 msgid "" @@ -80,7 +85,7 @@ msgstr "" #: ../../library/select.rst:49 ../../library/select.rst:78 #: ../../library/select.rst:105 msgid "The new file descriptor is :ref:`non-inheritable `." -msgstr "" +msgstr "O novo descritor de arquivo é :ref:`não herdável `." #: ../../library/select.rst:53 ../../library/select.rst:107 msgid "The new file descriptor is now non-inheritable." @@ -95,7 +100,7 @@ msgstr "" #: ../../library/select.rst:62 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 " +"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; " "otherwise it has no effect (though its value is still checked)." msgstr "" @@ -235,7 +240,7 @@ msgstr "" #: ../../library/select.rst:177 msgid ":ref:`Availability `: Unix" -msgstr "" +msgstr ":ref:`Disponibilidade `: Unix" #: ../../library/select.rst:184 msgid "``/dev/poll`` Polling Objects" @@ -310,7 +315,7 @@ msgstr "" #: ../../library/select.rst:255 msgid "" -"Polls the set of registered file descriptors, and returns a possibly-empty " +"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:" @@ -610,7 +615,7 @@ msgstr "" #: ../../library/select.rst:443 msgid "" -"Polls the set of registered file descriptors, and returns a possibly-empty " +"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:" @@ -723,7 +728,7 @@ msgid ":const:`KQ_FILTER_NETDEV`" msgstr ":const:`KQ_FILTER_NETDEV`" #: ../../library/select.rst:536 -msgid "Watch for events on a network device [not available on Mac OS X]" +msgid "Watch for events on a network device [not available on macOS]" msgstr "" #: ../../library/select.rst:539 @@ -963,7 +968,7 @@ msgid "unable to attach to a child" msgstr "" #: ../../library/select.rst:629 -msgid ":const:`KQ_FILTER_NETDEV` filter flags (not available on Mac OS X):" +msgid ":const:`KQ_FILTER_NETDEV` filter flags (not available on macOS):" msgstr "" #: ../../library/select.rst:634 diff --git a/library/selectors.po b/library/selectors.po index 1a79ce612..3f24049b6 100644 --- a/library/selectors.po +++ b/library/selectors.po @@ -1,33 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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 -# Marco Rougeth , 2021 -# Welington Carlos , 2021 -# Claudio Rogerio Carvalho Filho , 2021 -# Ruan Aragão , 2021 -# Hemílio Lauro , 2021 -# i17obot , 2021 +# python-doc bot, 2025 # #, 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:12+0000\n" -"Last-Translator: i17obot , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:58+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/selectors.rst:2 msgid ":mod:`selectors` --- High-level I/O multiplexing" diff --git a/library/shelve.po b/library/shelve.po index 0bac178c7..8c157a15a 100644 --- a/library/shelve.po +++ b/library/shelve.po @@ -1,29 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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 -# And Past , 2021 -# i17obot , 2021 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.10\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-08-10 13:16+0000\n" -"PO-Revision-Date: 2021-06-28 01:12+0000\n" -"Last-Translator: i17obot , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:58+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/shelve.rst:2 msgid ":mod:`shelve` --- Python object persistence" diff --git a/library/shlex.po b/library/shlex.po index 525309349..3e760146e 100644 --- a/library/shlex.po +++ b/library/shlex.po @@ -1,28 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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 -# i17obot , 2021 +# python-doc bot, 2025 # #, 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:13+0000\n" -"Last-Translator: i17obot , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:58+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/shlex.rst:2 msgid ":mod:`shlex` --- Simple lexical analysis" @@ -242,8 +241,8 @@ msgstr "" #: ../../library/shlex.rst:218 msgid "" "This method generates an error message leader in the format of a Unix C " -"compiler error label; the format is ``'\"%s\", line %d: '``, where the ``" -"%s`` is replaced with the name of the current source file and the ``%d`` " +"compiler error label; the format is ``'\"%s\", line %d: '``, where the " +"``%s`` is replaced with the name of the current source file and the ``%d`` " "with the current input line number (the optional arguments can be used to " "override these)." msgstr "" @@ -436,8 +435,8 @@ msgstr "" #: ../../library/shlex.rst:378 msgid "" -"Quotes are stripped out, and do not separate words (``\"Do\"Not\"Separate" -"\"`` is parsed as the single word ``DoNotSeparate``);" +"Quotes are stripped out, and do not separate words " +"(``\"Do\"Not\"Separate\"`` is parsed as the single word ``DoNotSeparate``);" msgstr "" #: ../../library/shlex.rst:381 diff --git a/library/shutil.po b/library/shutil.po index 52c7337c6..0071284b1 100644 --- a/library/shutil.po +++ b/library/shutil.po @@ -1,29 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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 -# Claudio Rogerio Carvalho Filho , 2021 -# i17obot , 2021 -# Rafael Fontenelle , 2021 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.10\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-07-21 13:03+0000\n" -"PO-Revision-Date: 2021-06-28 01:13+0000\n" -"Last-Translator: Rafael Fontenelle , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:58+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/shutil.rst:2 msgid ":mod:`shutil` --- High-level file operations" @@ -131,13 +129,13 @@ msgstr "" "simbólico será criado em vez de copiar o arquivo *src* para o qual o arquivo " "aponta." -#: ../../library/shutil.rst:70 ../../library/shutil.rst:176 -#: ../../library/shutil.rst:207 +#: ../../library/shutil.rst:70 ../../library/shutil.rst:177 +#: ../../library/shutil.rst:208 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 @@ -156,9 +154,9 @@ msgstr "" "Levanta :exc:`SameFileError` em vez de :exc:`Error`. Como a primeira é uma " "subclasse da última, essa alteração é compatível com versões anteriores." -#: ../../library/shutil.rst:81 ../../library/shutil.rst:184 -#: ../../library/shutil.rst:216 ../../library/shutil.rst:281 -#: ../../library/shutil.rst:369 +#: ../../library/shutil.rst:81 ../../library/shutil.rst:185 +#: ../../library/shutil.rst:217 ../../library/shutil.rst:287 +#: ../../library/shutil.rst:375 msgid "" "Platform-specific fast-copy syscalls may be used internally in order to copy " "the file more efficiently. See :ref:`shutil-platform-dependent-efficient-" @@ -197,12 +195,12 @@ msgstr "" "`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:178 +#: ../../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 @@ -286,12 +284,12 @@ msgid "Please see :data:`os.supports_follow_symlinks` for more information." msgstr "" "Por favor, veja :data:`os.supports_follow_symlinks` para mais informações." -#: ../../library/shutil.rst:153 ../../library/shutil.rst:209 +#: ../../library/shutil.rst:153 ../../library/shutil.rst:210 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 @@ -306,14 +304,16 @@ msgid "" "Copies the file *src* to the file or directory *dst*. *src* and *dst* " "should be :term:`path-like objects ` or strings. If *dst* " "specifies a directory, the file will be copied into *dst* using the base " -"filename from *src*. Returns the path to the newly created file." +"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*. Retorna o caminho para o arquivo recém-criado." +"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:165 +#: ../../library/shutil.rst:166 msgid "" "If *follow_symlinks* is false, and *src* is a symbolic link, *dst* will be " "created as a symbolic link. If *follow_symlinks* is true and *src* is a " @@ -324,7 +324,7 @@ msgstr "" "for um link simbólico, *dst* será uma cópia do arquivo ao qual *src* se " "refere." -#: ../../library/shutil.rst:170 +#: ../../library/shutil.rst:171 msgid "" ":func:`~shutil.copy` copies the file data and the file's permission mode " "(see :func:`os.chmod`). Other metadata, like the file's creation and " @@ -336,14 +336,14 @@ msgstr "" "criação e modificação do arquivo, não são preservados. Para preservar todos " "os metadados do arquivo do original, use :func:`~shutil.copy2`." -#: ../../library/shutil.rst:180 +#: ../../library/shutil.rst:181 msgid "" "Added *follow_symlinks* argument. Now returns path to the newly created file." msgstr "" "Adicionado argumento *follow_symlinks*. Agora retorna o caminho para o " "arquivo recém-criado." -#: ../../library/shutil.rst:191 +#: ../../library/shutil.rst:192 msgid "" "Identical to :func:`~shutil.copy` except that :func:`copy2` also attempts to " "preserve file metadata." @@ -351,10 +351,10 @@ msgstr "" "Idêntico a :func:`~shutil.copy`, exceto que :func:`copy2` também tenta " "preservar os metadados do arquivo." -#: ../../library/shutil.rst:194 +#: ../../library/shutil.rst:195 msgid "" "When *follow_symlinks* is false, and *src* is a symbolic link, :func:`copy2` " -"attempts to copy all metadata from the *src* symbolic link to the newly-" +"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:" @@ -365,10 +365,10 @@ msgstr "" "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 gera uma exceção porque não pode " -"preservar os metadados do arquivo." +"os metadados que puder; :func:`copy2` nunca levanta uma exceção porque não " +"pode preservar os metadados do arquivo." -#: ../../library/shutil.rst:203 +#: ../../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 " @@ -378,7 +378,7 @@ msgstr "" "favor, veja :func:`copystat` para obter mais informações sobre o suporte da " "plataforma para modificar os metadados do link simbólico." -#: ../../library/shutil.rst:211 +#: ../../library/shutil.rst:212 msgid "" "Added *follow_symlinks* argument, try to copy extended file system " "attributes too (currently Linux only). Now returns path to the newly created " @@ -388,7 +388,7 @@ msgstr "" "estendidos do sistema de arquivos (atualmente apenas no Linux). Agora " "retorna o caminho para o arquivo recém-criado." -#: ../../library/shutil.rst:223 +#: ../../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 " @@ -399,17 +399,16 @@ msgstr "" "diretórios que correspondem a um dos padrões *patterns* de estilo glob " "fornecidos. Veja o exemplo abaixo." -#: ../../library/shutil.rst:232 +#: ../../library/shutil.rst:233 msgid "" "Recursively copy an entire directory tree rooted at *src* to a directory " -"named *dst* and return the destination directory. *dirs_exist_ok* dictates " -"whether to raise an exception in case *dst* or any missing parent directory " -"already exists." +"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* em " -"um diretório chamado *dst* e retorna o diretório de destino. *dirs_exist_ok* " -"determina se levanta uma exceção caso *dst* ou qualquer diretório pai " -"ausente já exista." +"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 "" @@ -492,31 +491,45 @@ msgstr "" #: ../../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 " +"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:271 +#: ../../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:275 +#: ../../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 silent dangling " +"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 " -"erros silenciosos de links simbólicos quando *symlinks* for falso." +"silenciar erros de links simbólicos quando *symlinks* for falso." -#: ../../library/shutil.rst:286 +#: ../../library/shutil.rst:292 msgid "The *dirs_exist_ok* parameter." msgstr "O parâmetro *dirs_exist_ok*." -#: ../../library/shutil.rst:293 +#: ../../library/shutil.rst:299 msgid "" "Delete an entire directory tree; *path* must point to a directory (but not a " "symbolic link to a directory). If *ignore_errors* is true, errors resulting " @@ -530,7 +543,7 @@ msgstr "" "se falso ou omitido, tais erros são tratados chamando um manipulador " "especificado por *onerror* ou, se for omitido, eles levantam uma exceção." -#: ../../library/shutil.rst:301 +#: ../../library/shutil.rst:307 msgid "" "On platforms that support the necessary fd-based functions a symlink attack " "resistant version of :func:`rmtree` is used by default. On other platforms, " @@ -549,7 +562,7 @@ msgstr "" "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:309 +#: ../../library/shutil.rst:315 msgid "" "If *onerror* is provided, it must be a callable that accepts three " "parameters: *function*, *path*, and *excinfo*." @@ -557,7 +570,7 @@ msgstr "" "Se *onerror* for fornecido, deve ser um chamável que aceite três parâmetros: " "*function*, *path*, e *excinfo*." -#: ../../library/shutil.rst:312 +#: ../../library/shutil.rst:318 msgid "" "The first parameter, *function*, is the function which raised the exception; " "it depends on the platform and implementation. The second parameter, " @@ -571,7 +584,7 @@ msgstr "" "informação de exceção retornada por :func:`sys.exc_info`. As exceções " "levantadas por *onerror* não serão detectadas." -#: ../../library/shutil.rst:318 +#: ../../library/shutil.rst:324 msgid "" "Raises an :ref:`auditing event ` ``shutil.rmtree`` with argument " "``path``." @@ -579,7 +592,7 @@ msgstr "" "Levanta um :ref:`evento de auditoria ` ``shutil.rmtree`` com o " "argumento ``path``." -#: ../../library/shutil.rst:320 +#: ../../library/shutil.rst:326 msgid "" "Added a symlink attack resistant version that is used automatically if " "platform supports fd-based functions." @@ -588,7 +601,7 @@ msgstr "" "automaticamente se a plataforma suportar funções baseadas em descritor de " "arquivo." -#: ../../library/shutil.rst:324 +#: ../../library/shutil.rst:330 msgid "" "On Windows, will no longer delete the contents of a directory junction " "before removing the junction." @@ -596,7 +609,7 @@ msgstr "" "No Windows, não excluirá mais o conteúdo de uma junção de diretório antes de " "remover a junção." -#: ../../library/shutil.rst:330 +#: ../../library/shutil.rst:336 msgid "" "Indicates whether the current platform and implementation provides a symlink " "attack resistant version of :func:`rmtree`. Currently this is only true for " @@ -607,7 +620,7 @@ msgstr "" "para plataformas que suportam funções de acesso ao diretório baseadas em " "descritor de arquivo." -#: ../../library/shutil.rst:339 +#: ../../library/shutil.rst:345 msgid "" "Recursively move a file or directory (*src*) to another location (*dst*) and " "return the destination." @@ -615,7 +628,7 @@ msgstr "" "Move recursivamente um arquivo ou diretório (*src*) para outro local (*dst*) " "e retorna ao destino." -#: ../../library/shutil.rst:342 +#: ../../library/shutil.rst:348 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 " @@ -625,7 +638,7 @@ msgstr "" "diretório. Se o destino já existe, mas não é um diretório, ele pode ser " "sobrescrito dependendo da semântica :func:`os.rename`." -#: ../../library/shutil.rst:346 +#: ../../library/shutil.rst:352 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 " @@ -638,7 +651,7 @@ msgstr "" "apontando para o destino de *src* será criado em ou conforme *dst* e *src* " "serão removidos." -#: ../../library/shutil.rst:351 +#: ../../library/shutil.rst:357 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." @@ -656,15 +669,15 @@ msgstr "" "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:359 +#: ../../library/shutil.rst:365 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:361 +#: ../../library/shutil.rst:367 msgid "" "Added explicit symlink handling for foreign filesystems, thus adapting it to " "the behavior of GNU's :program:`mv`. Now returns *dst*." @@ -673,15 +686,15 @@ msgstr "" "arquivos externos, adaptando-os ao comportamento do GNU :program:`mv`. Agora " "retorna *dst*." -#: ../../library/shutil.rst:366 +#: ../../library/shutil.rst:372 msgid "Added the *copy_function* keyword argument." msgstr "Adicionado o argumento nomeado *copy_function*." -#: ../../library/shutil.rst:374 +#: ../../library/shutil.rst:380 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:379 +#: ../../library/shutil.rst:385 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 " @@ -692,19 +705,19 @@ msgstr "" "quantidade de espaço total, usado e livre, em bytes. *path* pode ser um " "arquivo ou diretório." -#: ../../library/shutil.rst:386 +#: ../../library/shutil.rst:392 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:389 +#: ../../library/shutil.rst:395 msgid ":ref:`Availability `: Unix, Windows." -msgstr ":ref:`Disponibilidade`: Unix, Windows." +msgstr ":ref:`Disponibilidade `: Unix, Windows." -#: ../../library/shutil.rst:393 +#: ../../library/shutil.rst:399 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:395 +#: ../../library/shutil.rst:401 msgid "" "*user* can be a system user name or a uid; the same applies to *group*. At " "least one argument is required." @@ -712,23 +725,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:398 +#: ../../library/shutil.rst:404 msgid "See also :func:`os.chown`, the underlying function." msgstr "Veja também :func:`os.chown`, a função subjacente." -#: ../../library/shutil.rst:400 +#: ../../library/shutil.rst:406 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:403 +#: ../../library/shutil.rst:409 msgid ":ref:`Availability `: Unix." msgstr ":ref:`Disponibilidade `: Unix." -#: ../../library/shutil.rst:409 +#: ../../library/shutil.rst:415 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``." @@ -736,7 +749,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:412 +#: ../../library/shutil.rst:418 msgid "" "*mode* is a permission mask passed to :func:`os.access`, by default " "determining if the file exists and executable." @@ -744,7 +757,7 @@ 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:415 +#: ../../library/shutil.rst:421 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`." @@ -753,7 +766,7 @@ msgstr "" "usados, retornando o valor de \"PATH\" ou uma alternativa de :attr:`os." "defpath`." -#: ../../library/shutil.rst:418 +#: ../../library/shutil.rst:424 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 " @@ -771,7 +784,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:431 +#: ../../library/shutil.rst:437 msgid "" "The :class:`bytes` type is now accepted. If *cmd* type is :class:`bytes`, " "the result type is also :class:`bytes`." @@ -779,7 +792,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:437 +#: ../../library/shutil.rst:443 msgid "" "This exception collects exceptions that are raised during a multi-file " "operation. For :func:`copytree`, the exception argument is a list of 3-" @@ -789,11 +802,11 @@ 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:444 +#: ../../library/shutil.rst:450 msgid "Platform-dependent efficient copy operations" msgstr "Operações de cópia eficientes dependentes da plataforma" -#: ../../library/shutil.rst:446 +#: ../../library/shutil.rst:452 msgid "" "Starting from Python 3.8, all functions involving a file copy (:func:" "`copyfile`, :func:`~shutil.copy`, :func:`copy2`, :func:`copytree`, and :func:" @@ -810,17 +823,17 @@ msgstr "" "do kernel, evitando o uso de buffers de espaço de usuário em Python como em " "\"``outfd.write(infd.read())``\"." -#: ../../library/shutil.rst:454 +#: ../../library/shutil.rst:460 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:456 +#: ../../library/shutil.rst:462 msgid "On Linux :func:`os.sendfile` is used." msgstr "No Linux, :func:`os.sendfile` é usado." -#: ../../library/shutil.rst:458 +#: ../../library/shutil.rst:464 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." @@ -830,7 +843,7 @@ msgstr "" "MiB ao invés de 64 KiB) e uma variante de :func:`shutil.copyfileobj` baseada " "em :func:`memoryview` é usada." -#: ../../library/shutil.rst:462 +#: ../../library/shutil.rst:468 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:" @@ -840,25 +853,15 @@ msgstr "" "destino, o shutil irá silenciosamente voltar a usar a função menos " "eficiente :func:`copyfileobj` internamente." -#: ../../library/shutil.rst:471 +#: ../../library/shutil.rst:477 msgid "copytree example" msgstr "Exemplo de copytree" -#: ../../library/shutil.rst:473 -msgid "" -"This example is the implementation of the :func:`copytree` function, " -"described above, with the docstring omitted. It demonstrates many of the " -"other functions provided by this module. ::" -msgstr "" -"Este exemplo é a implementação da função :func:`copytree`, descrita acima, " -"com a docstring omitida. Ele demonstra muitas das outras funções fornecidas " -"por este módulo. ::" - -#: ../../library/shutil.rst:508 -msgid "Another example that uses the :func:`ignore_patterns` helper::" -msgstr "Outro exemplo que usa o auxiliar :func:`ignore_patterns`::" +#: ../../library/shutil.rst:479 +msgid "An example that uses the :func:`ignore_patterns` helper::" +msgstr "Um exemplo que usa o auxiliar :func:`ignore_patterns`::" -#: ../../library/shutil.rst:514 +#: ../../library/shutil.rst:485 msgid "" "This will copy everything except ``.pyc`` files and files or directories " "whose name starts with ``tmp``." @@ -866,17 +869,17 @@ msgstr "" "Isso irá copiar tudo, exceto os arquivos ``.pyc`` e arquivos ou diretórios " "cujo nome começa com ``tmp``." -#: ../../library/shutil.rst:517 +#: ../../library/shutil.rst:488 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:532 +#: ../../library/shutil.rst:503 msgid "rmtree example" msgstr "exemplo rmtree" -#: ../../library/shutil.rst:534 +#: ../../library/shutil.rst:505 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 " @@ -888,15 +891,15 @@ msgstr "" "função de retorno onerror para limpar o bit somente leitura e tentar remover " "novamente. Qualquer falha subsequente se propagará. ::" -#: ../../library/shutil.rst:552 +#: ../../library/shutil.rst:523 msgid "Archiving operations" msgstr "Operações de arquivamento" -#: ../../library/shutil.rst:556 +#: ../../library/shutil.rst:527 msgid "Added support for the *xztar* format." msgstr "Adicionado suporte ao formato *xztar*." -#: ../../library/shutil.rst:560 +#: ../../library/shutil.rst:531 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." @@ -905,26 +908,26 @@ msgstr "" "também são fornecidos. Eles contam com os módulos :mod:`zipfile` e :mod:" "`tarfile`." -#: ../../library/shutil.rst:565 +#: ../../library/shutil.rst:536 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:567 +#: ../../library/shutil.rst:538 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 " +"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)." 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)." +"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:573 +#: ../../library/shutil.rst:544 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 " @@ -934,7 +937,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:577 +#: ../../library/shutil.rst:548 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. " @@ -947,11 +950,11 @@ msgstr "" "`shutil-archiving-example-with-basedir` para como usar *base_dir* e " "*root_dir* juntos." -#: ../../library/shutil.rst:583 +#: ../../library/shutil.rst:554 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:585 +#: ../../library/shutil.rst:556 msgid "" "If *dry_run* is true, no archive is created, but the operations that would " "be executed are logged to *logger*." @@ -959,7 +962,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:588 +#: ../../library/shutil.rst:559 msgid "" "*owner* and *group* are used when creating a tar archive. By default, uses " "the current owner and group." @@ -967,7 +970,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:591 +#: ../../library/shutil.rst:562 msgid "" "*logger* must be an object compatible with :pep:`282`, usually an instance " "of :class:`logging.Logger`." @@ -975,23 +978,26 @@ msgstr "" "*logger* deve ser um objeto compatível com a :pep:`282`, geralmente uma " "instância de :class:`logging.Logger`." -#: ../../library/shutil.rst:594 +#: ../../library/shutil.rst:565 msgid "The *verbose* argument is unused and deprecated." msgstr "O argumento *verbose* não é usado e foi descontinuado." -#: ../../library/shutil.rst:596 +#: ../../library/shutil.rst:567 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:600 -msgid "This function is not thread-safe." -msgstr "Esta função não é segura para thread." +#: ../../library/shutil.rst:571 +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." +msgstr "" -#: ../../library/shutil.rst:602 +#: ../../library/shutil.rst:576 msgid "" "The modern pax (POSIX.1-2001) format is now used instead of the legacy GNU " "format for archives created with ``format=\"tar\"``." @@ -999,7 +1005,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:609 +#: ../../library/shutil.rst:580 +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:586 msgid "" "Return a list of supported formats for archiving. Each element of the " "returned sequence is a tuple ``(name, description)``." @@ -1007,40 +1021,40 @@ msgstr "" "Retorna uma lista de formatos suportados para arquivamento. Cada elemento da " "sequência retornada é uma tupla ``(nome, descrição)``." -#: ../../library/shutil.rst:612 ../../library/shutil.rst:694 +#: ../../library/shutil.rst:589 ../../library/shutil.rst:692 msgid "By default :mod:`shutil` provides these formats:" msgstr "Por padrão, :mod:`shutil` fornece estes formatos:" -#: ../../library/shutil.rst:614 +#: ../../library/shutil.rst:591 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:615 +#: ../../library/shutil.rst:592 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:616 ../../library/shutil.rst:699 +#: ../../library/shutil.rst:593 ../../library/shutil.rst:697 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:617 ../../library/shutil.rst:700 +#: ../../library/shutil.rst:594 ../../library/shutil.rst:698 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:618 ../../library/shutil.rst:701 +#: ../../library/shutil.rst:595 ../../library/shutil.rst:699 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:620 +#: ../../library/shutil.rst:597 msgid "" "You can register new formats or provide your own archiver for any existing " "formats, by using :func:`register_archive_format`." @@ -1048,11 +1062,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:626 +#: ../../library/shutil.rst:603 msgid "Register an archiver for the format *name*." msgstr "Registra um arquivador para o formato *name*." -#: ../../library/shutil.rst:628 +#: ../../library/shutil.rst:605 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 +1074,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:634 +#: ../../library/shutil.rst:611 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:637 +#: ../../library/shutil.rst:614 msgid "" "*description* is used by :func:`get_archive_formats` which returns the list " "of archivers. Defaults to an empty string." @@ -1083,81 +1097,124 @@ msgstr "" "*description* é usado por :func:`get_archive_formats` que retorna a lista de " "arquivadores. O padrão é uma string vazia." -#: ../../library/shutil.rst:643 +#: ../../library/shutil.rst:620 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:648 +#: ../../library/shutil.rst:625 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:650 +#: ../../library/shutil.rst:627 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:653 +#: ../../library/shutil.rst:630 msgid "" -"*format* is the archive format: one of \"zip\", \"tar\", \"gztar\", \"bztar" -"\", or \"xztar\". Or any other format registered with :func:" +"*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." msgstr "" -"*format* é o formato do arquivo: um de \"zip\", \"tar\", \"gztar\", \"bztar" -"\" ou \"xztar\". Ou qualquer outro formato registrado com :func:" +"*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 " +"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:660 +#: ../../library/shutil.rst:637 +msgid "" +"The keyword-only *filter* argument, which was added in Python 3.10.12, is " +"passed to the underlying unpacking function. For zip files, *filter* is not " +"accepted. For tar files, it is recommended to set it to ``'data'``, unless " +"using features specific to tar and UNIX-like filesystems. (See :ref:`tarfile-" +"extraction-filter` for details.) The ``'data'`` filter will become the " +"default for tar files in Python 3.14." +msgstr "" + +#: ../../library/shutil.rst:646 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:662 +#: ../../library/shutil.rst:650 +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:655 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:668 +#: ../../library/shutil.rst:658 +msgid "Added the *filter* argument." +msgstr "Adicionado o argumento *filter*." + +#: ../../library/shutil.rst:663 msgid "" "Registers an unpack format. *name* is the name of the format and " "*extensions* is a list of extensions corresponding to the format, like ``." "zip`` for Zip files." msgstr "" -"Registra um formato de descompactação. *name* é o nome do formato e " +"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:672 +#: ../../library/shutil.rst:667 msgid "" "*function* is the callable that will be used to unpack archives. The " -"callable will receive the path of the archive, followed by the directory the " -"archive must be extracted to." +"callable will receive:" +msgstr "" +"*function* é o chamável que será usado para desempacotar arquivos. O " +"chamável receberá:" + +#: ../../library/shutil.rst:670 +msgid "the path of the archive, as a positional argument;" +msgstr "o caminho do arquivo, como argumento posicional;" + +#: ../../library/shutil.rst:671 +msgid "" +"the directory the archive must be extracted to, as a positional argument;" msgstr "" -"*function* é o chamável que será usado para descompactar arquivos. O " -"chamável receberá o caminho do arquivo, seguido pelo diretório para o qual o " -"arquivo deve ser extraído." +"o diretório para o qual o arquivo deve ser extraído, como um argumento " +"posicional;" -#: ../../library/shutil.rst:676 +#: ../../library/shutil.rst:672 msgid "" -"When provided, *extra_args* is a sequence of ``(name, value)`` tuples that " -"will be passed as keywords arguments to the callable." +"possibly a *filter* keyword argument, if it was given to :func:" +"`unpack_archive`;" msgstr "" -"Quando fornecido, *extra_args* é uma sequência de tuplas ``(nome, valor)`` " -"que serão passados ​​como argumentos nomeados para o chamável." +"possivelmente um argumento nomeado *filter*, se foi dado a :func:" +"`unpack_archive`;" -#: ../../library/shutil.rst:679 +#: ../../library/shutil.rst:674 +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:677 msgid "" "*description* can be provided to describe the format, and will be returned " "by the :func:`get_unpack_formats` function." @@ -1165,13 +1222,13 @@ msgstr "" "*description* pode ser fornecido para descrever o formato e será devolvido " "pela função :func:`get_unpack_formats`." -#: ../../library/shutil.rst:685 +#: ../../library/shutil.rst:683 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:690 +#: ../../library/shutil.rst:688 msgid "" "Return a list of all registered formats for unpacking. Each element of the " "returned sequence is a tuple ``(name, extensions, description)``." @@ -1180,19 +1237,19 @@ msgstr "" "Cada elemento da sequência retornada é uma tupla ``(name, extensions, " "description)``." -#: ../../library/shutil.rst:696 +#: ../../library/shutil.rst:694 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:698 +#: ../../library/shutil.rst:696 msgid "*tar*: uncompressed tar file." msgstr "*tar*: arquivo tar não comprimido." -#: ../../library/shutil.rst:703 +#: ../../library/shutil.rst:701 msgid "" "You can register new formats or provide your own unpacker for any existing " "formats, by using :func:`register_unpack_format`." @@ -1200,11 +1257,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:710 +#: ../../library/shutil.rst:708 msgid "Archiving example" msgstr "Exemplo de arquivo" -#: ../../library/shutil.rst:712 +#: ../../library/shutil.rst:710 msgid "" "In this example, we create a gzip'ed tar-file archive containing all files " "found in the :file:`.ssh` directory of the user::" @@ -1212,15 +1269,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:722 +#: ../../library/shutil.rst:720 msgid "The resulting archive contains:" msgstr "O arquivo resultante contém:" -#: ../../library/shutil.rst:740 +#: ../../library/shutil.rst:738 msgid "Archiving example with *base_dir*" msgstr "Exemplo de arquivamento com *base_dir*" -#: ../../library/shutil.rst:742 +#: ../../library/shutil.rst:740 msgid "" "In this example, similar to the `one above `_, we " "show how to use :func:`make_archive`, but this time with the usage of " @@ -1230,7 +1287,7 @@ 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:756 +#: ../../library/shutil.rst:754 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::" @@ -1238,19 +1295,19 @@ 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::" -#: ../../library/shutil.rst:770 +#: ../../library/shutil.rst:768 msgid "Listing the files in the resulting archive gives us:" msgstr "Listar os arquivos no arquivo resultante nos dá:" -#: ../../library/shutil.rst:780 +#: ../../library/shutil.rst:778 msgid "Querying the size of the output terminal" msgstr "Consultando o tamanho do terminal de saída" -#: ../../library/shutil.rst:784 +#: ../../library/shutil.rst:782 msgid "Get the size of the terminal window." msgstr "Obtém o tamanho da janela do terminal." -#: ../../library/shutil.rst:786 +#: ../../library/shutil.rst:784 msgid "" "For each of the two dimensions, the environment variable, ``COLUMNS`` and " "``LINES`` respectively, is checked. If the variable is defined and the value " @@ -1260,7 +1317,7 @@ 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:790 +#: ../../library/shutil.rst:788 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:" @@ -1270,7 +1327,7 @@ msgstr "" "terminal conectado a :data:`sys.__stdout__` é consultado invocando :func:`os." "get_terminal_size`." -#: ../../library/shutil.rst:794 +#: ../../library/shutil.rst:792 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 " @@ -1284,12 +1341,12 @@ msgstr "" "``fallback`` é ``(80, 24)``, que é o tamanho padrão usado por muitos " "emuladores de terminal." -#: ../../library/shutil.rst:800 +#: ../../library/shutil.rst:798 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:802 +#: ../../library/shutil.rst:800 msgid "" "See also: The Single UNIX Specification, Version 2, `Other Environment " "Variables`_." diff --git a/library/signal.po b/library/signal.po index 79f16fd3e..be4b8ae13 100644 --- a/library/signal.po +++ b/library/signal.po @@ -1,45 +1,47 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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 -# And Past , 2021 -# Alexandre B A Villares, 2021 -# Renan Lopes , 2021 -# i17obot , 2021 +# python-doc bot, 2025 +# Rafael Fontenelle , 2025 # #, 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:13+0000\n" -"Last-Translator: i17obot , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-10-23 17:42+0000\n" +"PO-Revision-Date: 2025-09-22 15:58+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=2; plural=(n > 1);\n" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/signal.rst:2 msgid ":mod:`signal` --- Set handlers for asynchronous events" msgstr "" -#: ../../library/signal.rst:9 +#: ../../library/signal.rst:7 +msgid "**Source code:** :source:`Lib/signal.py`" +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:13 +#: ../../library/signal.rst:15 msgid "General rules" msgstr "Regras gerais" -#: ../../library/signal.rst:15 +#: ../../library/signal.rst:17 msgid "" "The :func:`signal.signal` function allows defining custom handlers to be " "executed when a signal is received. A small number of default handlers are " @@ -48,20 +50,30 @@ 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:22 +#: ../../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." 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 +#: ../../library/signal.rst:31 msgid "Execution of Python signal handlers" -msgstr "" +msgstr "Execução de manipuladores de sinais Python" -#: ../../library/signal.rst:31 +#: ../../library/signal.rst:33 msgid "" "A Python signal handler does not get executed inside the low-level (C) " "signal handler. Instead, the low-level signal handler sets a flag which " @@ -69,8 +81,13 @@ 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:37 +#: ../../library/signal.rst:39 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 " @@ -79,20 +96,41 @@ msgid "" "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:44 +#: ../../library/signal.rst:46 msgid "" "A long-running calculation implemented purely in C (such as regular " "expression matching on a large body of text) may run uninterrupted for an " "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 "Signals and threads" +#: ../../library/signal.rst:51 +msgid "" +"If the handler raises an exception, it will be raised \"out of thin air\" in " +"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:59 +msgid "Signals and threads" +msgstr "Sinais e threads" -#: ../../library/signal.rst:56 +#: ../../library/signal.rst:61 msgid "" "Python signal handlers are always executed in the main Python thread of the " "main interpreter, even if the signal was received in another thread. This " @@ -100,18 +138,25 @@ 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:61 +#: ../../library/signal.rst:66 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:65 +#: ../../library/signal.rst:70 msgid "Module contents" msgstr "Conteúdo do módulo" -#: ../../library/signal.rst:67 +#: ../../library/signal.rst:72 msgid "" "signal (SIG*), handler (:const:`SIG_DFL`, :const:`SIG_IGN`) and sigmask (:" "const:`SIG_BLOCK`, :const:`SIG_UNBLOCK`, :const:`SIG_SETMASK`) related " @@ -120,130 +165,140 @@ msgid "" "functions return human-readable :class:`enums `." msgstr "" -#: ../../library/signal.rst:77 +#: ../../library/signal.rst:82 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:82 +#: ../../library/signal.rst:87 msgid "" "This is one of two standard signal handling options; it will simply perform " "the default function for the signal. For example, on most systems the " "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:90 +#: ../../library/signal.rst:95 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:96 +#: ../../library/signal.rst:101 msgid "Abort signal from :manpage:`abort(3)`." -msgstr "" +msgstr "Sinal de abortar de :manpage:`abort(3)`." -#: ../../library/signal.rst:100 +#: ../../library/signal.rst:105 msgid "Timer signal from :manpage:`alarm(2)`." -msgstr "" - -#: ../../library/signal.rst:102 ../../library/signal.rst:114 -#: ../../library/signal.rst:120 ../../library/signal.rst:130 -#: ../../library/signal.rst:144 ../../library/signal.rst:162 -#: ../../library/signal.rst:170 ../../library/signal.rst:184 -#: ../../library/signal.rst:190 ../../library/signal.rst:196 -#: ../../library/signal.rst:447 ../../library/signal.rst:454 +msgstr "Sinal do temporizador de :manpage:`alarm(2)`." + +#: ../../library/signal.rst:107 ../../library/signal.rst:119 +#: ../../library/signal.rst:125 ../../library/signal.rst:135 +#: ../../library/signal.rst:149 ../../library/signal.rst:167 +#: ../../library/signal.rst:175 ../../library/signal.rst:189 +#: ../../library/signal.rst:195 ../../library/signal.rst:201 +#: ../../library/signal.rst:452 ../../library/signal.rst:459 msgid ":ref:`Availability `: Unix." msgstr ":ref:`Disponibilidade `: Unix." -#: ../../library/signal.rst:106 +#: ../../library/signal.rst:111 msgid "Interrupt from keyboard (CTRL + BREAK)." -msgstr "" +msgstr "Interrupção do teclado (CTRL + BREAK)." -#: ../../library/signal.rst:108 ../../library/signal.rst:215 -#: ../../library/signal.rst:225 +#: ../../library/signal.rst:113 ../../library/signal.rst:220 +#: ../../library/signal.rst:230 msgid ":ref:`Availability `: Windows." msgstr ":ref:`Disponibilidade `: Windows." -#: ../../library/signal.rst:112 +#: ../../library/signal.rst:117 msgid "Bus error (bad memory access)." -msgstr "" +msgstr "Erro de barramento (acesso incorreto à memória)." -#: ../../library/signal.rst:118 +#: ../../library/signal.rst:123 msgid "Child process stopped or terminated." -msgstr "" +msgstr "Processo filho interrompido ou encerrado." -#: ../../library/signal.rst:124 +#: ../../library/signal.rst:129 msgid "Alias to :data:`SIGCHLD`." -msgstr "" +msgstr "Apelido para :data:`SIGCHLD`." -#: ../../library/signal.rst:128 +#: ../../library/signal.rst:133 msgid "Continue the process if it is currently stopped" -msgstr "" +msgstr "Continua o processo se ele estiver parado no momento" -#: ../../library/signal.rst:134 +#: ../../library/signal.rst:139 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:137 +#: ../../library/signal.rst:142 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:142 +#: ../../library/signal.rst:147 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:148 +#: ../../library/signal.rst:153 msgid "Illegal instruction." msgstr "Instrução ilegal." -#: ../../library/signal.rst:152 +#: ../../library/signal.rst:157 msgid "Interrupt from keyboard (CTRL + C)." -msgstr "" +msgstr "Interrupção do teclado (CTRL + C)." -#: ../../library/signal.rst:154 +#: ../../library/signal.rst:159 msgid "Default action is to raise :exc:`KeyboardInterrupt`." -msgstr "" +msgstr "A ação padrão é levantar :exc:`KeyboardInterrupt`." -#: ../../library/signal.rst:158 +#: ../../library/signal.rst:163 msgid "Kill signal." -msgstr "" +msgstr "Sinal para encerrar forçadamente." -#: ../../library/signal.rst:160 +#: ../../library/signal.rst:165 msgid "It cannot be caught, blocked, or ignored." -msgstr "" +msgstr "Ele não pode ser capturado, bloqueado ou ignorado." -#: ../../library/signal.rst:166 +#: ../../library/signal.rst:171 msgid "Broken pipe: write to pipe with no readers." -msgstr "" +msgstr "Encadeamento quebrado: escreve no encadeamento sem leitores." -#: ../../library/signal.rst:168 +#: ../../library/signal.rst:173 msgid "Default action is to ignore the signal." -msgstr "" +msgstr "A ação padrão é ignorar o sinal." -#: ../../library/signal.rst:174 +#: ../../library/signal.rst:179 msgid "Segmentation fault: invalid memory reference." -msgstr "" +msgstr "Falha de segmentação: referência de memória inválida." -#: ../../library/signal.rst:178 +#: ../../library/signal.rst:183 msgid "Termination signal." -msgstr "" +msgstr "Sinal de encerramento." -#: ../../library/signal.rst:182 +#: ../../library/signal.rst:187 msgid "User-defined signal 1." -msgstr "" +msgstr "Sinal definido pelo usuário 1." -#: ../../library/signal.rst:188 +#: ../../library/signal.rst:193 msgid "User-defined signal 2." -msgstr "" +msgstr "Sinal definido pelo usuário 2." -#: ../../library/signal.rst:194 +#: ../../library/signal.rst:199 msgid "Window resize signal." -msgstr "" +msgstr "Sinal de redimensionamento do Windows." -#: ../../library/signal.rst:200 +#: ../../library/signal.rst:205 msgid "" "All the signal numbers are defined symbolically. For example, the hangup " "signal is defined as :const:`signal.SIGHUP`; the variable names are " @@ -253,84 +308,117 @@ msgid "" "`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:211 +#: ../../library/signal.rst:216 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:221 +#: ../../library/signal.rst:226 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:231 +#: ../../library/signal.rst:236 msgid "One more than the number of the highest signal number." msgstr "" -#: ../../library/signal.rst:236 +#: ../../library/signal.rst:241 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:242 +#: ../../library/signal.rst:247 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:248 +#: ../../library/signal.rst:253 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:256 +#: ../../library/signal.rst:261 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:263 +#: ../../library/signal.rst:268 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:270 +#: ../../library/signal.rst:275 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:276 +#: ../../library/signal.rst:281 msgid "The :mod:`signal` module defines one exception:" -msgstr "" +msgstr "O módulo :mod:`signal` define uma exceção:" -#: ../../library/signal.rst:280 +#: ../../library/signal.rst:285 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`." 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:285 +#: ../../library/signal.rst:290 msgid "" "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:290 +#: ../../library/signal.rst:295 msgid "The :mod:`signal` module defines the following functions:" -msgstr "" +msgstr "O módulo :mod:`signal` define as seguintes funções:" -#: ../../library/signal.rst:295 +#: ../../library/signal.rst:300 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 " @@ -340,14 +428,21 @@ 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:303 +#: ../../library/signal.rst:308 msgid "" ":ref:`Availability `: Unix. See the man page :manpage:" "`alarm(2)` for further information." msgstr "" -#: ../../library/signal.rst:308 +#: ../../library/signal.rst:313 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:" @@ -357,60 +452,79 @@ msgid "" "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:319 +#: ../../library/signal.rst:324 msgid "" -"Return the system description of the signal *signalnum*, such as \"Interrupt" -"\", \"Segmentation fault\", etc. Returns :const:`None` if the signal is not " -"recognized." +"Return the system description of the signal *signalnum*, such as " +"\"Interrupt\", \"Segmentation fault\", etc. Returns :const:`None` if the " +"signal is not recognized." msgstr "" -#: ../../library/signal.rst:328 +#: ../../library/signal.rst:333 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:337 +#: ../../library/signal.rst:342 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:342 +#: ../../library/signal.rst:347 msgid "" ":ref:`Availability `: Unix. See the man page :manpage:" "`signal(2)` for further information." msgstr "" -#: ../../library/signal.rst:343 +#: ../../library/signal.rst:348 msgid "" "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:349 +#: ../../library/signal.rst:354 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:356 +#: ../../library/signal.rst:361 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:361 +#: ../../library/signal.rst:366 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:363 +#: ../../library/signal.rst:368 msgid ":ref:`Availability `: Linux 5.1+" msgstr "" -#: ../../library/signal.rst:369 +#: ../../library/signal.rst:374 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 " @@ -420,95 +534,123 @@ 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:377 +#: ../../library/signal.rst:382 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:381 +#: ../../library/signal.rst:386 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:384 +#: ../../library/signal.rst:389 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:388 +#: ../../library/signal.rst:393 msgid "" ":ref:`Availability `: Unix. See the man page :manpage:" "`pthread_kill(3)` for further information." msgstr "" -#: ../../library/signal.rst:389 +#: ../../library/signal.rst:394 msgid "See also :func:`os.kill`." -msgstr "" +msgstr "Veja também :func:`os.kill`." -#: ../../library/signal.rst:396 +#: ../../library/signal.rst:401 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:400 +#: ../../library/signal.rst:405 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:402 +#: ../../library/signal.rst:407 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:404 +#: ../../library/signal.rst:409 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:407 +#: ../../library/signal.rst:412 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:410 +#: ../../library/signal.rst:415 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." 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:414 +#: ../../library/signal.rst:419 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:417 +#: ../../library/signal.rst:422 msgid ":data:`SIGKILL` and :data:`SIGSTOP` cannot be blocked." -msgstr "" +msgstr ":data:`SIGKILL` e :data:`SIGSTOP` não podem ser bloqueados." -#: ../../library/signal.rst:421 +#: ../../library/signal.rst:426 msgid "" ":ref:`Availability `: Unix. See the man page :manpage:" "`sigprocmask(2)` and :manpage:`pthread_sigmask(3)` for further information." msgstr "" -#: ../../library/signal.rst:422 +#: ../../library/signal.rst:427 msgid "See also :func:`pause`, :func:`sigpending` and :func:`sigwait`." msgstr "Veja também :func:`pause`, :func:`sigpending` e :func:`sigwait`." -#: ../../library/signal.rst:429 +#: ../../library/signal.rst:434 msgid "" "Sets given interval timer (one of :const:`signal.ITIMER_REAL`, :const:" "`signal.ITIMER_VIRTUAL` or :const:`signal.ITIMER_PROF`) specified by *which* " @@ -517,61 +659,89 @@ msgid "" "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:436 +#: ../../library/signal.rst:441 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`." 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:442 +#: ../../library/signal.rst:447 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:444 +#: ../../library/signal.rst:449 msgid "" "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:452 +#: ../../library/signal.rst:457 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:459 +#: ../../library/signal.rst:464 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:464 +#: ../../library/signal.rst:469 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:469 ../../library/signal.rst:523 +#: ../../library/signal.rst:474 ../../library/signal.rst:528 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:474 +#: ../../library/signal.rst:479 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:479 +#: ../../library/signal.rst:484 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 " @@ -581,8 +751,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:488 +#: ../../library/signal.rst:493 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 " @@ -591,36 +768,45 @@ 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:495 +#: ../../library/signal.rst:500 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:498 +#: ../../library/signal.rst:503 msgid "Added ``warn_on_full_buffer`` parameter." -msgstr "" +msgstr "Adiciona o parâmetro ``warn_on_full_buffer``." -#: ../../library/signal.rst:503 +#: ../../library/signal.rst:508 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:509 +#: ../../library/signal.rst:514 msgid "" ":ref:`Availability `: Unix. See the man page :manpage:" "`siginterrupt(3)` for further information." msgstr "" -#: ../../library/signal.rst:510 +#: ../../library/signal.rst:515 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." msgstr "" -#: ../../library/signal.rst:517 +#: ../../library/signal.rst:522 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 " @@ -629,16 +815,26 @@ msgid "" "`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:528 +#: ../../library/signal.rst:533 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:533 +#: ../../library/signal.rst:538 msgid "" "On Windows, :func:`signal` can only be called with :const:`SIGABRT`, :const:" "`SIGFPE`, :const:`SIGILL`, :const:`SIGINT`, :const:`SIGSEGV`, :const:" @@ -647,45 +843,60 @@ msgid "" "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:544 +#: ../../library/signal.rst:549 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:550 +#: ../../library/signal.rst:555 msgid "" ":ref:`Availability `: Unix. See the man page :manpage:" "`sigpending(2)` for further information." msgstr "" -#: ../../library/signal.rst:551 +#: ../../library/signal.rst:556 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:558 +#: ../../library/signal.rst:563 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:564 +#: ../../library/signal.rst:569 msgid "" ":ref:`Availability `: Unix. See the man page :manpage:" "`sigwait(3)` for further information." msgstr "" -#: ../../library/signal.rst:565 +#: ../../library/signal.rst:570 msgid "" "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:573 +#: ../../library/signal.rst:578 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 " @@ -695,61 +906,78 @@ msgid "" "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:582 +#: ../../library/signal.rst:587 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`." 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:589 +#: ../../library/signal.rst:594 msgid "" ":ref:`Availability `: Unix. See the man page :manpage:" "`sigwaitinfo(2)` for further information." msgstr "" -#: ../../library/signal.rst:590 +#: ../../library/signal.rst:595 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:594 +#: ../../library/signal.rst:599 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:602 +#: ../../library/signal.rst:607 msgid "" "Like :func:`sigwaitinfo`, but takes an additional *timeout* argument " "specifying a timeout. If *timeout* is specified as :const:`0`, a poll is " "performed. Returns :const:`None` if a timeout occurs." msgstr "" -#: ../../library/signal.rst:608 +#: ../../library/signal.rst:613 msgid "" ":ref:`Availability `: Unix. See the man page :manpage:" "`sigtimedwait(2)` for further information." msgstr "" -#: ../../library/signal.rst:609 +#: ../../library/signal.rst:614 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:613 +#: ../../library/signal.rst:618 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:622 +#: ../../library/signal.rst:627 msgid "Example" msgstr "Exemplo" -#: ../../library/signal.rst:624 +#: ../../library/signal.rst:629 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 " @@ -758,12 +986,19 @@ 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:647 +#: ../../library/signal.rst:652 msgid "Note on SIGPIPE" -msgstr "" +msgstr "Nota sobre SIGPIPE" -#: ../../library/signal.rst:649 +#: ../../library/signal.rst:654 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 " @@ -771,11 +1006,66 @@ msgid "" "`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:676 +#: ../../library/signal.rst:681 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 also whenever any socket connection is interrupted while your " +"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:690 +msgid "Note on Signal Handlers and Exceptions" +msgstr "Nota sobre manipuladores de sinais e exceções" + +#: ../../library/signal.rst:692 +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. " +"Most notably, a :exc:`KeyboardInterrupt` may appear at any point during " +"execution. Most Python code, including the standard library, cannot be made " +"robust against this, and so a :exc:`KeyboardInterrupt` (or any other " +"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:699 +msgid "To illustrate this issue, consider the following code::" +msgstr "Para ilustrar esse problema, considere o seguinte código:" + +#: ../../library/signal.rst:716 +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 " +"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 74453fd49..9e450e867 100644 --- a/library/site.po +++ b/library/site.po @@ -1,28 +1,28 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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 -# Adorilson Bezerra , 2021 -# i17obot , 2021 +# python-doc bot, 2025 +# Rafael Fontenelle , 2025 # #, 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:13+0000\n" -"Last-Translator: i17obot , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-10-23 17:42+0000\n" +"PO-Revision-Date: 2025-09-22 15:58+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=2; plural=(n > 1);\n" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/site.rst:2 msgid ":mod:`site` --- Site-specific configuration hook" @@ -71,19 +71,19 @@ msgid "" "part. For the head part, it uses ``sys.prefix`` and ``sys.exec_prefix``; " "empty heads are skipped. For the tail part, it uses the empty string and " "then :file:`lib/site-packages` (on Windows) or :file:`lib/python{X.Y}/site-" -"packages` (on Unix and Macintosh). For each of the distinct head-tail " +"packages` (on Unix and macOS). For each of the distinct head-tail " "combinations, it sees if it refers to an existing directory, and if so, adds " "it to ``sys.path`` and also inspects the newly added path for configuration " "files." msgstr "" -"Começa construindo até quatro diretórios a partir de uma parte inicial e " -"outra final. Para a parte inicial, ele usa ``sys.prefix`` and ``sys." -"exec_prefix``; inícios vazios são pulados. Para a parte final, ele usa a " -"string vazia e depois :file:`lib/site-packages` (no Windows) ou :file:`lib/" -"python{X.Y}/site-packages` (no Unix e no Macintosh). Para cada uma das " -"combinações distintas de parte final, ele vê se se refere a um diretório " -"existente e, se for o caso, o adiciona ao ``sys.path`` e também inspeciona o " -"novo caminho adicionado para os arquivos de configuração." +"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." @@ -94,9 +94,9 @@ 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 " +"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 "" @@ -144,7 +144,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 " @@ -223,6 +223,10 @@ msgid "" "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 msgid "Readline configuration" @@ -239,10 +243,18 @@ msgid "" "`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:153 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 msgid "Module contents" @@ -250,7 +262,7 @@ msgstr "Conteúdo do módulo" #: ../../library/site.rst:162 msgid "A list of prefixes for site-packages directories." -msgstr "" +msgstr "Uma lista de prefixos para diretórios site-package." #: ../../library/site.rst:167 msgid "" @@ -260,24 +272,38 @@ msgid "" "`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:177 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 Mac OS X " -"builds, :file:`~/Library/Python/{X.Y}/lib/python/site-packages` for Mac " +"`~/.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:188 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 Mac OS X non-framework builds, :file:`~/Library/Python/" -"{X.Y}` for Mac framework builds, and :file:`{%APPDATA%}\\\\Python` for " +"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:" @@ -290,20 +316,28 @@ msgid "" "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 msgid "This function used to be called unconditionally." -msgstr "" +msgstr "Esta função costumava ser chamada incondicionalmente." #: ../../library/site.rst:210 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 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 msgid "" @@ -311,6 +345,9 @@ msgid "" "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 msgid "" @@ -319,6 +356,11 @@ msgid "" "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:244 msgid "Command Line Interface" @@ -329,6 +371,8 @@ 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 msgid "" @@ -337,20 +381,26 @@ msgid "" "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 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 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 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 msgid "" @@ -359,6 +409,10 @@ msgid "" "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 msgid ":pep:`370` -- Per user site-packages directory" diff --git a/library/smtpd.po b/library/smtpd.po index b2a3f977a..297d9a4bc 100644 --- a/library/smtpd.po +++ b/library/smtpd.po @@ -1,74 +1,72 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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 -# Marco Rougeth , 2021 -# Claudio Rogerio Carvalho Filho , 2021 -# i17obot , 2021 +# python-doc bot, 2025 # #, 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:13+0000\n" -"Last-Translator: i17obot , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:58+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/smtpd.rst:2 msgid ":mod:`smtpd` --- SMTP Server" msgstr ":mod:`smtpd` --- Serviços SMTP" -#: ../../library/smtpd.rst:10 +#: ../../library/smtpd.rst:11 msgid "**Source code:** :source:`Lib/smtpd.py`" msgstr "**Código-fonte:** :source:`Lib/smtpd.py`" -#: ../../library/smtpd.rst:14 +#: ../../library/smtpd.rst:15 msgid "This module offers several classes to implement SMTP (email) servers." msgstr "" -#: ../../library/smtpd.rst:16 +#: ../../library/smtpd.rst:17 msgid "" -"The `aiosmtpd `_ package is a recommended " -"replacement for this module. It is based on :mod:`asyncio` and provides a " -"more straightforward API." +":mod:`smtpd` will be removed in Python 3.12 (see :pep:`PEP 594 <594#smtpd>` " +"for details). The `aiosmtpd `_ package is " +"a recommended replacement for this module. It is based on :mod:`asyncio` " +"and provides a more straightforward API." msgstr "" -#: ../../library/smtpd.rst:21 +#: ../../library/smtpd.rst:24 msgid "" "Several server implementations are present; one is a generic do-nothing " "implementation, which can be overridden, while the other two offer specific " "mail-sending strategies." msgstr "" -#: ../../library/smtpd.rst:25 +#: ../../library/smtpd.rst:28 msgid "" "Additionally the SMTPChannel may be extended to implement very specific " "interaction behaviour with SMTP clients." msgstr "" -#: ../../library/smtpd.rst:28 +#: ../../library/smtpd.rst:31 msgid "" "The code supports :RFC:`5321`, plus the :rfc:`1870` SIZE and :rfc:`6531` " "SMTPUTF8 extensions." msgstr "" -#: ../../library/smtpd.rst:33 +#: ../../library/smtpd.rst:36 msgid "SMTPServer Objects" msgstr "Objetos SMTPServer" -#: ../../library/smtpd.rst:39 +#: ../../library/smtpd.rst:42 msgid "" "Create a new :class:`SMTPServer` object, which binds to local address " "*localaddr*. It will treat *remoteaddr* as an upstream SMTP relayer. Both " @@ -77,20 +75,20 @@ msgid "" "insert itself into :mod:`asyncore`'s event loop on instantiation." msgstr "" -#: ../../library/smtpd.rst:45 ../../library/smtpd.rst:173 +#: ../../library/smtpd.rst:48 ../../library/smtpd.rst:176 msgid "" "*data_size_limit* specifies the maximum number of bytes that will be " "accepted in a ``DATA`` command. A value of ``None`` or ``0`` means no limit." msgstr "" -#: ../../library/smtpd.rst:49 +#: ../../library/smtpd.rst:52 msgid "" "*map* is the socket map to use for connections (an initially empty " "dictionary is a suitable value). If not specified the :mod:`asyncore` " "global socket map is used." msgstr "" -#: ../../library/smtpd.rst:53 +#: ../../library/smtpd.rst:56 msgid "" "*enable_SMTPUTF8* determines whether the ``SMTPUTF8`` extension (as defined " "in :RFC:`6531`) should be enabled. The default is ``False``. When ``True``, " @@ -100,7 +98,7 @@ msgid "" "be set to ``True`` at the same time." msgstr "" -#: ../../library/smtpd.rst:60 +#: ../../library/smtpd.rst:63 msgid "" "*decode_data* specifies whether the data portion of the SMTP transaction " "should be decoded using UTF-8. When *decode_data* is ``False`` (the " @@ -111,7 +109,7 @@ msgid "" "be set to ``True`` at the same time." msgstr "" -#: ../../library/smtpd.rst:70 +#: ../../library/smtpd.rst:73 msgid "" "Raise a :exc:`NotImplementedError` exception. Override this in subclasses to " "do something useful with this message. Whatever was passed in the " @@ -122,110 +120,110 @@ msgid "" "format)." msgstr "" -#: ../../library/smtpd.rst:78 +#: ../../library/smtpd.rst:81 msgid "" "If the *decode_data* constructor keyword is set to ``True``, the *data* " "argument will be a unicode string. If it is set to ``False``, it will be a " "bytes object." msgstr "" -#: ../../library/smtpd.rst:82 +#: ../../library/smtpd.rst:85 msgid "" "*kwargs* is a dictionary containing additional information. It is empty if " "``decode_data=True`` was given as an init argument, otherwise it contains " "the following keys:" msgstr "" -#: ../../library/smtpd.rst:89 +#: ../../library/smtpd.rst:92 msgid "*mail_options*:" msgstr "" -#: ../../library/smtpd.rst:87 +#: ../../library/smtpd.rst:90 msgid "" "a list of all received parameters to the ``MAIL`` command (the elements are " "uppercase strings; example: ``['BODY=8BITMIME', 'SMTPUTF8']``)." msgstr "" -#: ../../library/smtpd.rst:94 +#: ../../library/smtpd.rst:97 msgid "*rcpt_options*:" msgstr "" -#: ../../library/smtpd.rst:92 +#: ../../library/smtpd.rst:95 msgid "" "same as *mail_options* but for the ``RCPT`` command. Currently no ``RCPT " "TO`` options are supported, so for now this will always be an empty list." msgstr "" -#: ../../library/smtpd.rst:96 +#: ../../library/smtpd.rst:99 msgid "" "Implementations of ``process_message`` should use the ``**kwargs`` signature " "to accept arbitrary keyword arguments, since future feature enhancements may " "add keys to the kwargs dictionary." msgstr "" -#: ../../library/smtpd.rst:100 +#: ../../library/smtpd.rst:103 msgid "" "Return ``None`` to request a normal ``250 Ok`` response; otherwise return " "the desired response string in :RFC:`5321` format." msgstr "" -#: ../../library/smtpd.rst:105 +#: ../../library/smtpd.rst:108 msgid "" "Override this in subclasses to use a custom :class:`SMTPChannel` for " "managing SMTP clients." msgstr "" -#: ../../library/smtpd.rst:108 +#: ../../library/smtpd.rst:111 msgid "The *map* constructor argument." msgstr "" -#: ../../library/smtpd.rst:111 +#: ../../library/smtpd.rst:114 msgid "*localaddr* and *remoteaddr* may now contain IPv6 addresses." msgstr "" -#: ../../library/smtpd.rst:114 +#: ../../library/smtpd.rst:117 msgid "" "The *decode_data* and *enable_SMTPUTF8* constructor parameters, and the " "*kwargs* parameter to :meth:`process_message` when *decode_data* is " "``False``." msgstr "" -#: ../../library/smtpd.rst:119 ../../library/smtpd.rst:195 +#: ../../library/smtpd.rst:122 ../../library/smtpd.rst:198 msgid "*decode_data* is now ``False`` by default." msgstr "" -#: ../../library/smtpd.rst:124 +#: ../../library/smtpd.rst:127 msgid "DebuggingServer Objects" msgstr "" -#: ../../library/smtpd.rst:129 +#: ../../library/smtpd.rst:132 msgid "" "Create a new debugging server. Arguments are as per :class:`SMTPServer`. " "Messages will be discarded, and printed on stdout." msgstr "" -#: ../../library/smtpd.rst:134 +#: ../../library/smtpd.rst:137 msgid "PureProxy Objects" msgstr "Objetos PureProxy" -#: ../../library/smtpd.rst:139 +#: ../../library/smtpd.rst:142 msgid "" "Create a new pure proxy server. Arguments are as per :class:`SMTPServer`. " "Everything will be relayed to *remoteaddr*. Note that running this has a " "good chance to make you into an open relay, so please be careful." msgstr "" -#: ../../library/smtpd.rst:145 +#: ../../library/smtpd.rst:148 msgid "MailmanProxy Objects" msgstr "" -#: ../../library/smtpd.rst:152 +#: ../../library/smtpd.rst:155 msgid "" ":class:`MailmanProxy` is deprecated, it depends on a ``Mailman`` module " "which no longer exists and therefore is already broken." msgstr "" -#: ../../library/smtpd.rst:156 +#: ../../library/smtpd.rst:159 msgid "" "Create a new pure proxy server. Arguments are as per :class:`SMTPServer`. " "Everything will be relayed to *remoteaddr*, unless local mailman " @@ -234,116 +232,116 @@ msgid "" "relay, so please be careful." msgstr "" -#: ../../library/smtpd.rst:163 +#: ../../library/smtpd.rst:166 msgid "SMTPChannel Objects" msgstr "" -#: ../../library/smtpd.rst:168 +#: ../../library/smtpd.rst:171 msgid "" "Create a new :class:`SMTPChannel` object which manages the communication " "between the server and a single SMTP client." msgstr "" -#: ../../library/smtpd.rst:171 +#: ../../library/smtpd.rst:174 msgid "*conn* and *addr* are as per the instance variables described below." msgstr "" -#: ../../library/smtpd.rst:177 +#: ../../library/smtpd.rst:180 msgid "" "*enable_SMTPUTF8* determines whether the ``SMTPUTF8`` extension (as defined " "in :RFC:`6531`) should be enabled. The default is ``False``. *decode_data* " "and *enable_SMTPUTF8* cannot be set to ``True`` at the same time." msgstr "" -#: ../../library/smtpd.rst:182 +#: ../../library/smtpd.rst:185 msgid "" "A dictionary can be specified in *map* to avoid using a global socket map." msgstr "" -#: ../../library/smtpd.rst:184 +#: ../../library/smtpd.rst:187 msgid "" "*decode_data* specifies whether the data portion of the SMTP transaction " "should be decoded using UTF-8. The default is ``False``. *decode_data* and " "*enable_SMTPUTF8* cannot be set to ``True`` at the same time." msgstr "" -#: ../../library/smtpd.rst:189 +#: ../../library/smtpd.rst:192 msgid "" "To use a custom SMTPChannel implementation you need to override the :attr:" "`SMTPServer.channel_class` of your :class:`SMTPServer`." msgstr "" -#: ../../library/smtpd.rst:192 +#: ../../library/smtpd.rst:195 msgid "The *decode_data* and *enable_SMTPUTF8* parameters were added." msgstr "" -#: ../../library/smtpd.rst:198 +#: ../../library/smtpd.rst:201 msgid "The :class:`SMTPChannel` has the following instance variables:" msgstr "" -#: ../../library/smtpd.rst:202 +#: ../../library/smtpd.rst:205 msgid "Holds the :class:`SMTPServer` that spawned this channel." msgstr "" -#: ../../library/smtpd.rst:206 +#: ../../library/smtpd.rst:209 msgid "Holds the socket object connecting to the client." msgstr "" -#: ../../library/smtpd.rst:210 +#: ../../library/smtpd.rst:213 msgid "" "Holds the address of the client, the second value returned by :func:`socket." "accept `" msgstr "" -#: ../../library/smtpd.rst:215 +#: ../../library/smtpd.rst:218 msgid "" "Holds a list of the line strings (decoded using UTF-8) received from the " -"client. The lines have their ``\"\\r\\n\"`` line ending translated to ``\"\\n" -"\"``." +"client. The lines have their ``\"\\r\\n\"`` line ending translated to " +"``\"\\n\"``." msgstr "" -#: ../../library/smtpd.rst:221 +#: ../../library/smtpd.rst:224 msgid "" "Holds the current state of the channel. This will be either :attr:`COMMAND` " "initially and then :attr:`DATA` after the client sends a \"DATA\" line." msgstr "" -#: ../../library/smtpd.rst:227 +#: ../../library/smtpd.rst:230 msgid "" "Holds a string containing the greeting sent by the client in its \"HELO\"." msgstr "" -#: ../../library/smtpd.rst:231 +#: ../../library/smtpd.rst:234 msgid "" "Holds a string containing the address identified in the \"MAIL FROM:\" line " "from the client." msgstr "" -#: ../../library/smtpd.rst:236 +#: ../../library/smtpd.rst:239 msgid "" "Holds a list of strings containing the addresses identified in the \"RCPT TO:" "\" lines from the client." msgstr "" -#: ../../library/smtpd.rst:241 +#: ../../library/smtpd.rst:244 msgid "" "Holds a string containing all of the data sent by the client during the DATA " "state, up to but not including the terminating ``\"\\r\\n.\\r\\n\"``." msgstr "" -#: ../../library/smtpd.rst:246 +#: ../../library/smtpd.rst:249 msgid "" -"Holds the fully-qualified domain name of the server as returned by :func:" +"Holds the fully qualified domain name of the server as returned by :func:" "`socket.getfqdn`." msgstr "" -#: ../../library/smtpd.rst:251 +#: ../../library/smtpd.rst:254 msgid "" "Holds the name of the client peer as returned by ``conn.getpeername()`` " "where ``conn`` is :attr:`conn`." msgstr "" -#: ../../library/smtpd.rst:254 +#: ../../library/smtpd.rst:257 msgid "" "The :class:`SMTPChannel` operates by invoking methods named " "``smtp_`` upon reception of a command line from the client. Built " @@ -351,112 +349,112 @@ msgid "" "following commands (and responding to them appropriately):" msgstr "" -#: ../../library/smtpd.rst:260 +#: ../../library/smtpd.rst:263 msgid "Command" msgstr "Comando" -#: ../../library/smtpd.rst:260 +#: ../../library/smtpd.rst:263 msgid "Action taken" msgstr "" -#: ../../library/smtpd.rst:262 +#: ../../library/smtpd.rst:265 msgid "HELO" msgstr "" -#: ../../library/smtpd.rst:262 +#: ../../library/smtpd.rst:265 msgid "" "Accepts the greeting from the client and stores it in :attr:" "`seen_greeting`. Sets server to base command mode." msgstr "" -#: ../../library/smtpd.rst:264 +#: ../../library/smtpd.rst:267 msgid "EHLO" msgstr "EHLO" -#: ../../library/smtpd.rst:264 +#: ../../library/smtpd.rst:267 msgid "" "Accepts the greeting from the client and stores it in :attr:" "`seen_greeting`. Sets server to extended command mode." msgstr "" -#: ../../library/smtpd.rst:266 +#: ../../library/smtpd.rst:269 msgid "NOOP" msgstr "" -#: ../../library/smtpd.rst:266 +#: ../../library/smtpd.rst:269 msgid "Takes no action." msgstr "" -#: ../../library/smtpd.rst:267 +#: ../../library/smtpd.rst:270 msgid "QUIT" msgstr "QUIT" -#: ../../library/smtpd.rst:267 +#: ../../library/smtpd.rst:270 msgid "Closes the connection cleanly." msgstr "" -#: ../../library/smtpd.rst:268 +#: ../../library/smtpd.rst:271 msgid "MAIL" msgstr "" -#: ../../library/smtpd.rst:268 +#: ../../library/smtpd.rst:271 msgid "" "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 "" -#: ../../library/smtpd.rst:272 +#: ../../library/smtpd.rst:275 msgid "RCPT" msgstr "" -#: ../../library/smtpd.rst:272 +#: ../../library/smtpd.rst:275 msgid "" "Accepts the \"RCPT TO:\" syntax and stores the supplied addresses in the :" "attr:`rcpttos` list." msgstr "" -#: ../../library/smtpd.rst:274 +#: ../../library/smtpd.rst:277 msgid "RSET" msgstr "" -#: ../../library/smtpd.rst:274 +#: ../../library/smtpd.rst:277 msgid "" "Resets the :attr:`mailfrom`, :attr:`rcpttos`, and :attr:`received_data`, but " "not the greeting." msgstr "" -#: ../../library/smtpd.rst:276 +#: ../../library/smtpd.rst:279 msgid "DATA" msgstr "DATA" -#: ../../library/smtpd.rst:276 +#: ../../library/smtpd.rst:279 msgid "" "Sets the internal state to :attr:`DATA` and stores remaining lines from the " "client in :attr:`received_data` until the terminator ``\"\\r\\n.\\r\\n\"`` " "is received." msgstr "" -#: ../../library/smtpd.rst:279 +#: ../../library/smtpd.rst:282 msgid "HELP" msgstr "" -#: ../../library/smtpd.rst:279 +#: ../../library/smtpd.rst:282 msgid "Returns minimal information on command syntax" msgstr "" -#: ../../library/smtpd.rst:280 +#: ../../library/smtpd.rst:283 msgid "VRFY" msgstr "VRFY" -#: ../../library/smtpd.rst:280 +#: ../../library/smtpd.rst:283 msgid "Returns code 252 (the server doesn't know if the address is valid)" msgstr "" -#: ../../library/smtpd.rst:281 +#: ../../library/smtpd.rst:284 msgid "EXPN" msgstr "EXPN" -#: ../../library/smtpd.rst:281 +#: ../../library/smtpd.rst:284 msgid "Reports that the command is not implemented." msgstr "" diff --git a/library/smtplib.po b/library/smtplib.po index bef70b66a..0c7ec5dfd 100644 --- a/library/smtplib.po +++ b/library/smtplib.po @@ -1,29 +1,28 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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 -# Claudio Rogerio Carvalho Filho , 2021 -# i17obot , 2021 +# python-doc bot, 2025 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.10\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-07-27 13:07+0000\n" -"PO-Revision-Date: 2021-06-28 01:13+0000\n" -"Last-Translator: i17obot , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-10-15 17:20+0000\n" +"PO-Revision-Date: 2025-09-22 15:58+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=2; plural=(n > 1);\n" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/smtplib.rst:2 msgid ":mod:`smtplib` --- SMTP protocol client" @@ -40,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)." #: ../../library/smtplib.rst:25 msgid "" @@ -97,7 +101,7 @@ msgstr "" #: ../../library/smtplib.rst:70 msgid "The SMTPUTF8 extension (:rfc:`6531`) is now supported." -msgstr "" +msgstr "A extensão SMTPUTF8 ( :rfc:`6531` ) é suportada agora." #: ../../library/smtplib.rst:73 ../../library/smtplib.rst:114 msgid "" @@ -162,7 +166,7 @@ msgstr "" #: ../../library/smtplib.rst:132 msgid "The optional *timeout* parameter was added." -msgstr "" +msgstr "O parâmetro opcional *timeout* foi adicionado." #: ../../library/smtplib.rst:136 msgid "A nice selection of exceptions is defined as well:" @@ -209,15 +213,15 @@ msgstr "" #: ../../library/smtplib.rst:179 msgid "The SMTP server refused to accept the message data." -msgstr "" +msgstr "O servidor SMTP recusou aceitar o dados da mensagem." #: ../../library/smtplib.rst:184 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:189 msgid "The server refused our ``HELO`` message." -msgstr "" +msgstr "O servidor recusou sua mensagem ``HELO``." #: ../../library/smtplib.rst:194 msgid "The command or option attempted is not supported by the server." @@ -311,6 +315,8 @@ 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:266 msgid "" @@ -379,7 +385,7 @@ msgstr "" #: ../../library/smtplib.rst:315 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:320 msgid "" @@ -396,7 +402,7 @@ msgstr ":exc:`SMTPAuthenticationError`" #: ../../library/smtplib.rst:330 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:333 ../../library/smtplib.rst:422 #: ../../library/smtplib.rst:499 @@ -457,7 +463,7 @@ msgstr "" #: ../../library/smtplib.rst:364 msgid "data = authobject(challenge=None)" -msgstr "" +msgstr "data = authobject(challenge=None)" #: ../../library/smtplib.rst:366 msgid "" @@ -525,7 +531,7 @@ msgstr "" #: ../../library/smtplib.rst:422 msgid "The server does not support the STARTTLS extension." -msgstr "" +msgstr "O servidor não da suporte a extensão STARTTLS." #: ../../library/smtplib.rst:425 msgid ":exc:`RuntimeError`" @@ -570,9 +576,9 @@ msgstr "" #: ../../library/smtplib.rst:458 msgid "" "*msg* may be a string containing characters in the ASCII range, or a byte " -"string. A string is encoded to bytes using the ascii codec, and lone ``" -"\\r`` and ``\\n`` characters are converted to ``\\r\\n`` characters. A byte " -"string is not modified." +"string. A string is encoded to bytes using the ascii codec, and lone " +"``\\r`` and ``\\n`` characters are converted to ``\\r\\n`` characters. A " +"byte string is not modified." msgstr "" #: ../../library/smtplib.rst:463 @@ -602,7 +608,7 @@ msgstr "" #: ../../library/smtplib.rst:479 msgid "This method may raise the following exceptions:" -msgstr "" +msgstr "Esse método deve levantar as seguintes exceções:" #: ../../library/smtplib.rst:485 msgid ":exc:`SMTPRecipientsRefused`" @@ -622,7 +628,7 @@ msgstr ":exc:`SMTPSenderRefused`" #: ../../library/smtplib.rst:491 msgid "The server didn't accept the *from_addr*." -msgstr "" +msgstr "O servidor não aceita o *from_addr*." #: ../../library/smtplib.rst:495 msgid ":exc:`SMTPDataError`" diff --git a/library/sndhdr.po b/library/sndhdr.po index b0160b700..c2f9266af 100644 --- a/library/sndhdr.po +++ b/library/sndhdr.po @@ -1,36 +1,45 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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.10\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-06-29 12:56+0000\n" -"PO-Revision-Date: 2021-06-28 01:13+0000\n" -"Last-Translator: Rafael Fontenelle , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:58+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/sndhdr.rst:2 msgid ":mod:`sndhdr` --- Determine type of sound file" msgstr ":mod:`sndhdr` --- Determina o tipo de arquivos de som" -#: ../../library/sndhdr.rst:10 +#: ../../library/sndhdr.rst:11 msgid "**Source code:** :source:`Lib/sndhdr.py`" msgstr "**Código-fonte:** :source:`Lib/sndhdr.py`" -#: ../../library/sndhdr.rst:18 +#: ../../library/sndhdr.rst:17 +msgid "" +"The :mod:`sndhdr` module is deprecated (see :pep:`PEP 594 <594#sndhdr>` for " +"details and alternatives)." +msgstr "" +"O módulo :mod:`sndhdr` foi descontinuado (veja :pep:`PEP 594 <594#sndhdr>` " +"para detalhes e alternativas)." + +#: ../../library/sndhdr.rst:23 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 " @@ -62,7 +71,7 @@ msgstr "" "*bits_per_sample*, será o tamanho da amostra em bits ou ``'A'`` para A-LAW " "ou ``'U'`` para u-LAW." -#: ../../library/sndhdr.rst:35 +#: ../../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, " @@ -72,11 +81,11 @@ msgstr "" "func:`whathdr`. Se tiver sucesso, retorna uma namedtuple conforme descrito " "acima, caso contrário, ``None`` será retornado." -#: ../../library/sndhdr.rst:39 ../../library/sndhdr.rst:49 +#: ../../library/sndhdr.rst:44 ../../library/sndhdr.rst:54 msgid "Result changed from a tuple to a namedtuple." msgstr "Resultado alterado de uma tupla para uma namedtuple." -#: ../../library/sndhdr.rst:45 +#: ../../library/sndhdr.rst:50 msgid "" "Determines the type of sound data stored in a file based on the file " "header. The name of the file is given by *filename*. This function returns " diff --git a/library/socket.po b/library/socket.po index 40aa590e4..c572dccb6 100644 --- a/library/socket.po +++ b/library/socket.po @@ -1,38 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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 -# Claudio Rogerio Carvalho Filho , 2021 -# Leticia Portella , 2021 -# Italo Penaforte , 2021 -# Hildeberto Abreu Magalhães , 2021 -# And Past , 2021 -# felipe caridade , 2021 -# Marcos Wenneton Araújo , 2021 -# Marcone G , 2021 -# Augusta Carla Klug , 2021 -# i17obot , 2021 -# yyyyyyyan , 2021 -# Rafael Fontenelle , 2021 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.10\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-07-27 13:07+0000\n" -"PO-Revision-Date: 2021-06-28 01:13+0000\n" -"Last-Translator: Rafael Fontenelle , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:58+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/socket.rst:2 msgid ":mod:`socket` --- Low-level networking interface" @@ -85,15 +74,15 @@ msgstr "Módulo :mod:`socketserver`" #: ../../library/socket.rst:33 msgid "Classes that simplify writing network servers." -msgstr "" +msgstr "Classes que simplificam a escrita de servidores de rede." #: ../../library/socket.rst:35 msgid "Module :mod:`ssl`" -msgstr "" +msgstr "Módulo :mod:`ssl`" #: ../../library/socket.rst:36 msgid "A TLS/SSL wrapper for socket objects." -msgstr "" +msgstr "Um invólucro de TLS/SSL para objetos socket." #: ../../library/socket.rst:40 msgid "Socket families" @@ -113,6 +102,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:49 msgid "" @@ -125,14 +118,23 @@ 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:59 msgid "" "Previously, :const:`AF_UNIX` socket paths were assumed to use UTF-8 encoding." msgstr "" -#: ../../library/socket.rst:63 ../../library/socket.rst:974 -#: ../../library/socket.rst:1016 ../../library/socket.rst:1746 +#: ../../library/socket.rst:63 ../../library/socket.rst:979 +#: ../../library/socket.rst:1021 ../../library/socket.rst:1751 msgid "Writable :term:`bytes-like object` is now accepted." msgstr "" @@ -242,7 +244,7 @@ msgstr "" msgid "" "A string or a tuple ``(id, unit)`` is used for the :const:`SYSPROTO_CONTROL` " "protocol of the :const:`PF_SYSTEM` family. The string is the name of a " -"kernel control using a dynamically-assigned ID. The tuple can be used if ID " +"kernel control using a dynamically assigned ID. The tuple can be used if ID " "and unit number of the kernel control are known or if a registered ID is " "used." msgstr "" @@ -369,7 +371,7 @@ msgid "" "address, whose interpretation depends on the device." msgstr "" -#: ../../library/socket.rst:200 +#: ../../library/socket.rst:202 msgid "" ":const:`AF_QIPCRTR` is a Linux-only socket based interface for communicating " "with services running on co-processors in Qualcomm platforms. The address " @@ -377,7 +379,7 @@ msgid "" "*port* are non-negative integers." msgstr "" -#: ../../library/socket.rst:207 +#: ../../library/socket.rst:211 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 " @@ -388,14 +390,14 @@ msgid "" "of their data. In both cases ``length`` should be in ``range(8, 2**16, 8)``." msgstr "" -#: ../../library/socket.rst:216 +#: ../../library/socket.rst:220 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:224 +#: ../../library/socket.rst:228 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 " @@ -405,42 +407,43 @@ msgid "" "deterministic behavior use a numeric address in *host* portion." msgstr "" -#: ../../library/socket.rst:231 +#: ../../library/socket.rst:235 msgid "" "All errors raise exceptions. The normal exceptions for invalid argument " -"types and out-of-memory conditions can be raised; starting from Python 3.3, " -"errors related to socket or address semantics raise :exc:`OSError` or one of " -"its subclasses (they used to raise :exc:`socket.error`)." +"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:236 +#: ../../library/socket.rst:240 msgid "" "Non-blocking mode is supported through :meth:`~socket.setblocking`. A " "generalization of this based on timeouts is supported through :meth:`~socket." "settimeout`." msgstr "" -#: ../../library/socket.rst:242 +#: ../../library/socket.rst:246 msgid "Module contents" msgstr "Conteúdo do módulo" -#: ../../library/socket.rst:244 +#: ../../library/socket.rst:248 msgid "The module :mod:`socket` exports the following elements." msgstr "" -#: ../../library/socket.rst:248 +#: ../../library/socket.rst:252 msgid "Exceptions" msgstr "Exceções" -#: ../../library/socket.rst:252 +#: ../../library/socket.rst:256 msgid "A deprecated alias of :exc:`OSError`." -msgstr "" +msgstr "Um apelido descontinuado de :exc:`OSError`." -#: ../../library/socket.rst:254 +#: ../../library/socket.rst:258 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:260 +#: ../../library/socket.rst:264 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 :" @@ -450,12 +453,12 @@ msgid "" "description of *h_errno*, as returned by the :c:func:`hstrerror` C function." msgstr "" -#: ../../library/socket.rst:268 ../../library/socket.rst:281 -#: ../../library/socket.rst:294 +#: ../../library/socket.rst:272 ../../library/socket.rst:285 +#: ../../library/socket.rst:298 msgid "This class was made a subclass of :exc:`OSError`." msgstr "" -#: ../../library/socket.rst:273 +#: ../../library/socket.rst:277 msgid "" "A subclass of :exc:`OSError`, this exception is raised for address-related " "errors by :func:`getaddrinfo` and :func:`getnameinfo`. The accompanying " @@ -465,11 +468,11 @@ msgid "" "match one of the :const:`EAI_\\*` constants defined in this module." msgstr "" -#: ../../library/socket.rst:286 +#: ../../library/socket.rst:290 msgid "A deprecated alias of :exc:`TimeoutError`." msgstr "" -#: ../../library/socket.rst:288 +#: ../../library/socket.rst:292 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:" @@ -478,21 +481,21 @@ msgid "" "currently always \"timed out\"." msgstr "" -#: ../../library/socket.rst:297 +#: ../../library/socket.rst:301 msgid "This class was made an alias of :exc:`TimeoutError`." -msgstr "" +msgstr "Esta classe foi feita como um apelido de :exc:`TimeoutError`." -#: ../../library/socket.rst:302 +#: ../../library/socket.rst:306 msgid "Constants" msgstr "Constantes" -#: ../../library/socket.rst:304 +#: ../../library/socket.rst:308 msgid "" "The AF_* and SOCK_* constants are now :class:`AddressFamily` and :class:" "`SocketKind` :class:`.IntEnum` collections." msgstr "" -#: ../../library/socket.rst:313 +#: ../../library/socket.rst:317 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 " @@ -500,7 +503,7 @@ msgid "" "depending on the system." msgstr "" -#: ../../library/socket.rst:325 +#: ../../library/socket.rst:329 msgid "" "These constants represent the socket types, used for the second argument to :" "func:`.socket`. More constants may be available depending on the system. " @@ -508,24 +511,24 @@ msgid "" "useful.)" msgstr "" -#: ../../library/socket.rst:333 +#: ../../library/socket.rst:337 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:339 +#: ../../library/socket.rst:343 msgid "" -"`Secure File Descriptor Handling `_ for a more thorough explanation." msgstr "" -#: ../../library/socket.rst:343 +#: ../../library/socket.rst:347 msgid ":ref:`Availability `: Linux >= 2.6.27." -msgstr "" +msgstr ":ref:`Disponibilidade `: Linux >= 2.6.27." -#: ../../library/socket.rst:361 +#: ../../library/socket.rst:365 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 " @@ -535,187 +538,187 @@ msgid "" "default values are provided." msgstr "" -#: ../../library/socket.rst:368 +#: ../../library/socket.rst:372 msgid "" "``SO_DOMAIN``, ``SO_PROTOCOL``, ``SO_PEERSEC``, ``SO_PASSSEC``, " "``TCP_USER_TIMEOUT``, ``TCP_CONGESTION`` were added." msgstr "" -#: ../../library/socket.rst:372 +#: ../../library/socket.rst:376 msgid "" "On Windows, ``TCP_FASTOPEN``, ``TCP_KEEPCNT`` appear if run-time Windows " "supports." msgstr "" -#: ../../library/socket.rst:376 +#: ../../library/socket.rst:380 msgid "``TCP_NOTSENT_LOWAT`` was added." msgstr "" -#: ../../library/socket.rst:379 +#: ../../library/socket.rst:383 msgid "" "On Windows, ``TCP_KEEPIDLE``, ``TCP_KEEPINTVL`` appear if run-time Windows " "supports." msgstr "" -#: ../../library/socket.rst:382 +#: ../../library/socket.rst:386 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:392 ../../library/socket.rst:459 -#: ../../library/socket.rst:470 +#: ../../library/socket.rst:396 ../../library/socket.rst:463 +#: ../../library/socket.rst:474 msgid "" "Many constants of these forms, documented in the Linux documentation, are " "also defined in the socket module." msgstr "" -#: ../../library/socket.rst:396 ../../library/socket.rst:407 -#: ../../library/socket.rst:442 +#: ../../library/socket.rst:400 ../../library/socket.rst:411 +#: ../../library/socket.rst:446 msgid ":ref:`Availability `: Linux >= 2.6.25." -msgstr "" +msgstr ":ref:`Disponibilidade `: Linux >= 2.6.25." -#: ../../library/socket.rst:402 +#: ../../library/socket.rst:406 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:409 +#: ../../library/socket.rst:413 msgid "" "The :data:`CAN_BCM_CAN_FD_FRAME` flag is only available on Linux >= 4.8." msgstr "" -#: ../../library/socket.rst:415 +#: ../../library/socket.rst:419 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:419 ../../library/socket.rst:430 +#: ../../library/socket.rst:423 ../../library/socket.rst:434 msgid "This constant is documented in the Linux documentation." msgstr "" -#: ../../library/socket.rst:422 +#: ../../library/socket.rst:426 msgid ":ref:`Availability `: Linux >= 3.6." -msgstr "" +msgstr ":ref:`Disponibilidade `: Linux >= 3.6." -#: ../../library/socket.rst:427 +#: ../../library/socket.rst:431 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:433 +#: ../../library/socket.rst:437 msgid ":ref:`Availability `: Linux >= 4.1." -msgstr "" +msgstr ":ref:`Disponibilidade `: Linux >= 4.1." -#: ../../library/socket.rst:438 +#: ../../library/socket.rst:442 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:447 +#: ../../library/socket.rst:451 msgid "" "CAN_J1939, in the CAN protocol family, is the SAE J1939 protocol. J1939 " "constants, documented in the Linux documentation." msgstr "" -#: ../../library/socket.rst:451 +#: ../../library/socket.rst:455 msgid ":ref:`Availability `: Linux >= 5.4." -msgstr "" +msgstr ":ref:`Disponibilidade `: Linux >= 5.4." -#: ../../library/socket.rst:462 +#: ../../library/socket.rst:466 msgid ":ref:`Availability `: Linux >= 2.2." -msgstr "" +msgstr ":ref:`Disponibilidade `: Linux >= 2.2." -#: ../../library/socket.rst:474 +#: ../../library/socket.rst:478 msgid ":ref:`Availability `: Linux >= 2.6.30." -msgstr "" +msgstr ":ref:`Disponibilidade `: Linux >= 2.6.30." -#: ../../library/socket.rst:483 +#: ../../library/socket.rst:487 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:486 ../../library/socket.rst:1368 +#: ../../library/socket.rst:490 ../../library/socket.rst:1373 msgid "``SIO_LOOPBACK_FAST_PATH`` was added." msgstr "" -#: ../../library/socket.rst:492 +#: ../../library/socket.rst:496 msgid "" "TIPC related constants, matching the ones exported by the C socket API. See " "the TIPC documentation for more information." msgstr "" -#: ../../library/socket.rst:499 +#: ../../library/socket.rst:503 msgid "Constants for Linux Kernel cryptography." msgstr "" -#: ../../library/socket.rst:502 ../../library/socket.rst:1668 +#: ../../library/socket.rst:506 ../../library/socket.rst:1673 msgid ":ref:`Availability `: Linux >= 2.6.38." -msgstr "" +msgstr ":ref:`Disponibilidade `: Linux >= 2.6.38." -#: ../../library/socket.rst:511 +#: ../../library/socket.rst:515 msgid "Constants for Linux host/guest communication." msgstr "" -#: ../../library/socket.rst:514 +#: ../../library/socket.rst:518 msgid ":ref:`Availability `: Linux >= 4.8." -msgstr "" +msgstr ":ref:`Disponibilidade `: Linux >= 4.8." -#: ../../library/socket.rst:520 -msgid ":ref:`Availability `: BSD, OSX." -msgstr "" +#: ../../library/socket.rst:524 +msgid ":ref:`Availability `: BSD, macOS." +msgstr ":ref:`Disponibilidade `: BSD, macOS." -#: ../../library/socket.rst:525 +#: ../../library/socket.rst:529 msgid "" "This constant contains a boolean value which indicates if IPv6 is supported " "on this platform." msgstr "" -#: ../../library/socket.rst:531 +#: ../../library/socket.rst:535 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:540 +#: ../../library/socket.rst:544 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:547 +#: ../../library/socket.rst:551 msgid "" "Constant for Qualcomm's IPC router protocol, used to communicate with " "service providing remote processors." msgstr "" -#: ../../library/socket.rst:550 +#: ../../library/socket.rst:554 msgid ":ref:`Availability `: Linux >= 4.7." -msgstr "" +msgstr ":ref:`Disponibilidade `: Linux >= 4.7." -#: ../../library/socket.rst:553 +#: ../../library/socket.rst:557 msgid "Functions" msgstr "Funções" -#: ../../library/socket.rst:556 +#: ../../library/socket.rst:560 msgid "Creating sockets" msgstr "Criação de sockets" -#: ../../library/socket.rst:558 +#: ../../library/socket.rst:562 msgid "" "The following functions all create :ref:`socket objects `." msgstr "" -#: ../../library/socket.rst:563 +#: ../../library/socket.rst:567 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:" @@ -728,7 +731,7 @@ msgid "" "`CAN_J1939`." msgstr "" -#: ../../library/socket.rst:573 +#: ../../library/socket.rst:577 msgid "" "If *fileno* is specified, the values for *family*, *type*, and *proto* are " "auto-detected from the specified file descriptor. Auto-detection can be " @@ -739,55 +742,57 @@ msgid "" "This may help close a detached socket using :meth:`socket.close()`." msgstr "" -#: ../../library/socket.rst:582 ../../library/socket.rst:719 -#: ../../library/socket.rst:1198 ../../library/socket.rst:1285 +#: ../../library/socket.rst:586 ../../library/socket.rst:723 +#: ../../library/socket.rst:1203 ../../library/socket.rst:1290 msgid "The newly created socket is :ref:`non-inheritable `." msgstr "" -#: ../../library/socket.rst:584 +#: ../../library/socket.rst:588 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:586 +#: ../../library/socket.rst:590 msgid "The AF_CAN family was added. The AF_RDS family was added." msgstr "" -#: ../../library/socket.rst:590 +#: ../../library/socket.rst:594 msgid "The CAN_BCM protocol was added." msgstr "" -#: ../../library/socket.rst:593 ../../library/socket.rst:721 +#: ../../library/socket.rst:597 ../../library/socket.rst:725 msgid "The returned socket is now non-inheritable." msgstr "" -#: ../../library/socket.rst:596 +#: ../../library/socket.rst:600 msgid "The CAN_ISOTP protocol was added." msgstr "" -#: ../../library/socket.rst:599 +#: ../../library/socket.rst:603 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," +"They are still passed to the underlying system ``socket()`` call. Therefore," msgstr "" -#: ../../library/socket.rst:611 +#: ../../library/socket.rst:615 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:615 +#: ../../library/socket.rst:619 msgid "The CAN_J1939 protocol was added." msgstr "" -#: ../../library/socket.rst:618 +#: ../../library/socket.rst:622 msgid "The IPPROTO_MPTCP protocol was added." msgstr "" -#: ../../library/socket.rst:623 +#: ../../library/socket.rst:627 msgid "" "Build a pair of connected socket objects using the given address family, " "socket type, and protocol number. Address family, socket type, and protocol " @@ -796,25 +801,25 @@ msgid "" "`AF_INET`." msgstr "" -#: ../../library/socket.rst:628 +#: ../../library/socket.rst:632 msgid "The newly created sockets are :ref:`non-inheritable `." msgstr "" -#: ../../library/socket.rst:630 +#: ../../library/socket.rst:634 msgid "" "The returned socket objects now support the whole socket API, rather than a " "subset." msgstr "" -#: ../../library/socket.rst:634 +#: ../../library/socket.rst:638 msgid "The returned sockets are now non-inheritable." msgstr "" -#: ../../library/socket.rst:637 +#: ../../library/socket.rst:641 msgid "Windows support added." msgstr "" -#: ../../library/socket.rst:643 +#: ../../library/socket.rst:647 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 " @@ -825,39 +830,39 @@ msgid "" "IPv4 and IPv6." msgstr "" -#: ../../library/socket.rst:651 +#: ../../library/socket.rst:655 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:656 +#: ../../library/socket.rst:660 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:660 +#: ../../library/socket.rst:664 msgid "*source_address* was added." msgstr "*source_address* foi adicionado." -#: ../../library/socket.rst:665 +#: ../../library/socket.rst:669 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:668 +#: ../../library/socket.rst:672 msgid "" "*family* should be either :data:`AF_INET` or :data:`AF_INET6`. *backlog* is " -"the queue size passed to :meth:`socket.listen`; when ``0`` a default " +"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." msgstr "" -#: ../../library/socket.rst:673 +#: ../../library/socket.rst:677 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:" @@ -870,20 +875,20 @@ msgid "" "func:`has_dualstack_ipv6`:" msgstr "" -#: ../../library/socket.rst:695 +#: ../../library/socket.rst:699 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:703 +#: ../../library/socket.rst:707 msgid "" "Return ``True`` if the platform supports creating a TCP socket which can " "handle both IPv4 and IPv6 connections." msgstr "" -#: ../../library/socket.rst:710 +#: ../../library/socket.rst:714 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. " @@ -896,38 +901,38 @@ msgid "" "socket is assumed to be in blocking mode." msgstr "" -#: ../../library/socket.rst:727 +#: ../../library/socket.rst:731 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:731 ../../library/socket.rst:1771 +#: ../../library/socket.rst:735 ../../library/socket.rst:1776 msgid ":ref:`Availability `: Windows." msgstr ":ref:`Disponibilidade `: Windows." -#: ../../library/socket.rst:737 +#: ../../library/socket.rst:741 msgid "" "This is a Python type object that represents the socket object type. It is " "the same as ``type(socket(...))``." msgstr "" -#: ../../library/socket.rst:742 +#: ../../library/socket.rst:746 msgid "Other functions" msgstr "Outras funções" -#: ../../library/socket.rst:744 +#: ../../library/socket.rst:748 msgid "The :mod:`socket` module also offers various network-related services:" msgstr "" -#: ../../library/socket.rst:749 +#: ../../library/socket.rst:753 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:757 +#: ../../library/socket.rst:761 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 " @@ -937,7 +942,7 @@ msgid "" "and *port*, you can pass ``NULL`` to the underlying C API." msgstr "" -#: ../../library/socket.rst:764 +#: ../../library/socket.rst:768 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 " @@ -948,15 +953,15 @@ msgid "" "domain name." msgstr "" -#: ../../library/socket.rst:772 +#: ../../library/socket.rst:776 msgid "The function returns a list of 5-tuples with the following structure:" msgstr "" -#: ../../library/socket.rst:774 +#: ../../library/socket.rst:778 msgid "``(family, type, proto, canonname, sockaddr)``" -msgstr "" +msgstr "``(family, type, proto, canonname, sockaddr)``" -#: ../../library/socket.rst:776 +#: ../../library/socket.rst:780 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 " @@ -968,40 +973,43 @@ msgid "" "be passed to the :meth:`socket.connect` method." msgstr "" -#: ../../library/socket.rst:786 +#: ../../library/socket.rst:790 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:788 +#: ../../library/socket.rst:792 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:798 +#: ../../library/socket.rst:802 msgid "parameters can now be passed using keyword arguments." msgstr "" -#: ../../library/socket.rst:801 +#: ../../library/socket.rst:805 msgid "" "for IPv6 multicast addresses, string representing an address will not " "contain ``%scope_id`` part." msgstr "" -#: ../../library/socket.rst:807 +#: ../../library/socket.rst:811 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 " "name, the hostname returned by :func:`gethostbyaddr` is checked, followed by " "aliases for the host, if available. The first name which includes a period " -"is selected. In case no fully qualified domain name is available, the " -"hostname as returned by :func:`gethostname` is returned." +"is selected. In case no fully qualified domain name is available and *name* " +"was provided, it is returned unchanged. If *name* was empty or equal to " +"``'0.0.0.0'``, the hostname from :func:`gethostname` is returned." msgstr "" -#: ../../library/socket.rst:817 +#: ../../library/socket.rst:822 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 " @@ -1011,43 +1019,47 @@ msgid "" "stack support." msgstr "" -#: ../../library/socket.rst:823 ../../library/socket.rst:837 +#: ../../library/socket.rst:828 ../../library/socket.rst:842 msgid "" "Raises an :ref:`auditing event ` ``socket.gethostbyname`` with " "argument ``hostname``." msgstr "" +"Levanta um :ref:`evento de auditoria ` ``socket.gethostbyname`` " +"com o argumento ``hostname``." -#: ../../library/socket.rst:828 +#: ../../library/socket.rst:833 msgid "" "Translate a host name to IPv4 address format, extended interface. Return a " -"triple ``(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 addresses for the same interface on the same host (often " -"but not always a single address). :func:`gethostbyname_ex` does not support " -"IPv6 name resolution, and :func:`getaddrinfo` should be used instead for " -"IPv4/v6 dual stack support." +"triple ``(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 " +"single address). :func:`gethostbyname_ex` does not support IPv6 name " +"resolution, and :func:`getaddrinfo` should be used instead for IPv4/v6 dual " +"stack support." msgstr "" -#: ../../library/socket.rst:842 +#: ../../library/socket.rst:847 msgid "" "Return a string containing the hostname of the machine where the Python " "interpreter is currently executing." msgstr "" -#: ../../library/socket.rst:845 +#: ../../library/socket.rst:850 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:847 +#: ../../library/socket.rst:852 msgid "" "Note: :func:`gethostname` doesn't always return the fully qualified domain " "name; use :func:`getfqdn` for that." msgstr "" -#: ../../library/socket.rst:853 +#: ../../library/socket.rst:858 msgid "" "Return a triple ``(hostname, aliaslist, ipaddrlist)`` where *hostname* is " "the primary host name responding to the given *ip_address*, *aliaslist* is a " @@ -1058,38 +1070,42 @@ msgid "" "`gethostbyaddr` supports both IPv4 and IPv6." msgstr "" -#: ../../library/socket.rst:861 +#: ../../library/socket.rst:866 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:866 +#: ../../library/socket.rst:871 msgid "" "Translate a socket address *sockaddr* into a 2-tuple ``(host, port)``. " -"Depending on the settings of *flags*, the result can contain a fully-" +"Depending on the settings of *flags*, the result can contain a fully " "qualified domain name or numeric address representation in *host*. " "Similarly, *port* can contain a string port name or a numeric port number." msgstr "" -#: ../../library/socket.rst:871 +#: ../../library/socket.rst:876 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:874 +#: ../../library/socket.rst:879 msgid "" "For more information about *flags* you can consult :manpage:`getnameinfo(3)`." msgstr "" -#: ../../library/socket.rst:876 +#: ../../library/socket.rst:881 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:880 +#: ../../library/socket.rst:885 msgid "" "Translate an internet protocol name (for example, ``'icmp'``) to a constant " "suitable for passing as the (optional) third argument to the :func:`.socket` " @@ -1098,105 +1114,108 @@ msgid "" "chosen automatically if the protocol is omitted or zero." msgstr "" -#: ../../library/socket.rst:889 +#: ../../library/socket.rst:894 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:893 +#: ../../library/socket.rst:898 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:898 +#: ../../library/socket.rst:903 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:902 +#: ../../library/socket.rst:907 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:907 +#: ../../library/socket.rst:912 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:914 +#: ../../library/socket.rst:919 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:918 ../../library/socket.rst:936 +#: ../../library/socket.rst:923 ../../library/socket.rst:941 msgid "" "Raises :exc:`OverflowError` if *x* does not fit in a 16-bit unsigned integer." msgstr "" -#: ../../library/socket.rst:925 +#: ../../library/socket.rst:930 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:932 +#: ../../library/socket.rst:937 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:943 +#: ../../library/socket.rst:948 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 " "characters in length. This is useful when conversing with a program that " -"uses the standard C library and needs objects of type :c:type:`struct " -"in_addr`, which is the C type for the 32-bit packed binary this function " -"returns." +"uses the standard C library and needs objects of type :c:struct:`in_addr`, " +"which is the C type for the 32-bit packed binary this function returns." msgstr "" -#: ../../library/socket.rst:949 +#: ../../library/socket.rst:954 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:952 +#: ../../library/socket.rst:957 msgid "" "If the IPv4 address string passed to this function is invalid, :exc:" "`OSError` will be raised. Note that exactly what is valid depends on the " "underlying C implementation of :c:func:`inet_aton`." msgstr "" -#: ../../library/socket.rst:956 +#: ../../library/socket.rst:961 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:962 +#: ../../library/socket.rst:967 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, " "'123.45.67.89'). This is useful when conversing with a program that uses " -"the standard C library and needs objects of type :c:type:`struct in_addr`, " -"which is the C type for the 32-bit packed binary data this function takes as " -"an argument." +"the standard C library and needs objects of type :c:struct:`in_addr`, which " +"is the C type for the 32-bit packed binary data this function takes as an " +"argument." msgstr "" -#: ../../library/socket.rst:969 +#: ../../library/socket.rst:974 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 " @@ -1204,15 +1223,15 @@ msgid "" "support." msgstr "" -#: ../../library/socket.rst:980 +#: ../../library/socket.rst:985 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:type:`struct in_addr` (similar to :" -"func:`inet_aton`) or :c:type:`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:985 +#: ../../library/socket.rst:990 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:" @@ -1221,25 +1240,25 @@ msgid "" "`inet_pton`." msgstr "" -#: ../../library/socket.rst:992 ../../library/socket.rst:1012 +#: ../../library/socket.rst:997 ../../library/socket.rst:1017 msgid "" ":ref:`Availability `: Unix (maybe not all platforms), Windows." msgstr "" -#: ../../library/socket.rst:993 ../../library/socket.rst:1013 +#: ../../library/socket.rst:998 ../../library/socket.rst:1018 msgid "Windows support added" msgstr "Suporte para Windows adicionado." -#: ../../library/socket.rst:999 +#: ../../library/socket.rst:1004 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, " "``'7.10.0.5'`` or ``'5aef:2b::8'``). :func:`inet_ntop` is useful when a " -"library or network protocol returns an object of type :c:type:`struct " -"in_addr` (similar to :func:`inet_ntoa`) or :c:type:`struct in6_addr`." +"library or network protocol returns an object of type :c:struct:`in_addr` " +"(similar to :func:`inet_ntoa`) or :c:struct:`in6_addr`." msgstr "" -#: ../../library/socket.rst:1006 +#: ../../library/socket.rst:1011 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 " @@ -1247,7 +1266,7 @@ msgid "" "`OSError` is raised for errors from the call to :func:`inet_ntop`." msgstr "" -#: ../../library/socket.rst:1028 +#: ../../library/socket.rst:1033 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 " @@ -1258,14 +1277,14 @@ msgid "" "the permissible range of values." msgstr "" -#: ../../library/socket.rst:1038 ../../library/socket.rst:1059 -#: ../../library/socket.rst:1504 ../../library/socket.rst:1546 -#: ../../library/socket.rst:1652 +#: ../../library/socket.rst:1043 ../../library/socket.rst:1064 +#: ../../library/socket.rst:1509 ../../library/socket.rst:1551 +#: ../../library/socket.rst:1657 msgid "" ":ref:`Availability `: most Unix platforms, possibly others." msgstr "" -#: ../../library/socket.rst:1044 +#: ../../library/socket.rst:1049 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 " @@ -1275,7 +1294,7 @@ msgid "" "values." msgstr "" -#: ../../library/socket.rst:1052 +#: ../../library/socket.rst:1057 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 " @@ -1283,143 +1302,145 @@ msgid "" "received, since additional data may be able to fit into the padding area." msgstr "" -#: ../../library/socket.rst:1065 +#: ../../library/socket.rst:1070 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:1072 +#: ../../library/socket.rst:1077 msgid "" "Set the default timeout in seconds (float) for new socket objects. When the " "socket module is first imported, the default is ``None``. See :meth:" "`~socket.settimeout` for possible values and their respective meanings." msgstr "" -#: ../../library/socket.rst:1080 +#: ../../library/socket.rst:1085 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:1083 +#: ../../library/socket.rst:1088 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:1086 +#: ../../library/socket.rst:1091 msgid ":ref:`Availability `: Unix." msgstr ":ref:`Disponibilidade `: Unix." -#: ../../library/socket.rst:1092 +#: ../../library/socket.rst:1097 msgid "" "Return a list of network interface information (index int, name string) " "tuples. :exc:`OSError` if the system call fails." msgstr "" -#: ../../library/socket.rst:1097 ../../library/socket.rst:1124 -#: ../../library/socket.rst:1141 +#: ../../library/socket.rst:1102 ../../library/socket.rst:1129 +#: ../../library/socket.rst:1146 msgid ":ref:`Availability `: Unix, Windows." -msgstr ":ref:`Disponibilidade`: Unix, Windows." +msgstr ":ref:`Disponibilidade `: Unix, Windows." -#: ../../library/socket.rst:1100 ../../library/socket.rst:1127 -#: ../../library/socket.rst:1144 +#: ../../library/socket.rst:1105 ../../library/socket.rst:1132 +#: ../../library/socket.rst:1149 msgid "Windows support was added." msgstr "Suporte ao Windows foi adicionado." -#: ../../library/socket.rst:1105 +#: ../../library/socket.rst:1110 msgid "" "On Windows network interfaces have different names in different contexts " "(all names are examples):" msgstr "" -#: ../../library/socket.rst:1108 +#: ../../library/socket.rst:1113 msgid "UUID: ``{FB605B73-AAC2-49A6-9A2F-25416AEA0573}``" msgstr "" -#: ../../library/socket.rst:1109 +#: ../../library/socket.rst:1114 msgid "name: ``ethernet_32770``" msgstr "" -#: ../../library/socket.rst:1110 +#: ../../library/socket.rst:1115 msgid "friendly name: ``vEthernet (nat)``" msgstr "" -#: ../../library/socket.rst:1111 +#: ../../library/socket.rst:1116 msgid "description: ``Hyper-V Virtual Ethernet Adapter``" msgstr "" -#: ../../library/socket.rst:1113 +#: ../../library/socket.rst:1118 msgid "" "This function returns names of the second form from the list, " "``ethernet_32770`` in this example case." msgstr "" -#: ../../library/socket.rst:1119 +#: ../../library/socket.rst:1124 msgid "" "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:1131 ../../library/socket.rst:1148 +#: ../../library/socket.rst:1136 ../../library/socket.rst:1153 msgid "\"Interface name\" is a name as documented in :func:`if_nameindex`." msgstr "" -#: ../../library/socket.rst:1136 +#: ../../library/socket.rst:1141 msgid "" "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:1153 +#: ../../library/socket.rst:1158 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." msgstr "" -#: ../../library/socket.rst:1158 +#: ../../library/socket.rst:1163 msgid "" ":ref:`Availability `: Unix supporting :meth:`~socket.sendmsg` " "and :const:`SCM_RIGHTS` mechanism." msgstr "" -#: ../../library/socket.rst:1164 +#: ../../library/socket.rst:1169 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." msgstr "" -#: ../../library/socket.rst:1169 +#: ../../library/socket.rst:1174 msgid "" ":ref:`Availability `: Unix supporting :meth:`~socket.recvmsg` " "and :const:`SCM_RIGHTS` mechanism." msgstr "" -#: ../../library/socket.rst:1174 +#: ../../library/socket.rst:1179 msgid "Any truncated integers at the end of the list of file descriptors." msgstr "" -#: ../../library/socket.rst:1180 +#: ../../library/socket.rst:1185 msgid "Socket Objects" msgstr "" -#: ../../library/socket.rst:1182 +#: ../../library/socket.rst:1187 msgid "" "Socket objects have the following methods. Except for :meth:`~socket." "makefile`, these correspond to Unix system calls applicable to sockets." msgstr "" -#: ../../library/socket.rst:1186 +#: ../../library/socket.rst:1191 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:1193 +#: ../../library/socket.rst:1198 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* " @@ -1428,33 +1449,35 @@ msgid "" "connection." msgstr "" -#: ../../library/socket.rst:1200 ../../library/socket.rst:1287 +#: ../../library/socket.rst:1205 ../../library/socket.rst:1292 msgid "The socket is now non-inheritable." msgstr "" -#: ../../library/socket.rst:1203 ../../library/socket.rst:1418 -#: ../../library/socket.rst:1432 ../../library/socket.rst:1507 -#: ../../library/socket.rst:1578 ../../library/socket.rst:1597 -#: ../../library/socket.rst:1614 ../../library/socket.rst:1657 +#: ../../library/socket.rst:1208 ../../library/socket.rst:1423 +#: ../../library/socket.rst:1437 ../../library/socket.rst:1512 +#: ../../library/socket.rst:1583 ../../library/socket.rst:1602 +#: ../../library/socket.rst:1619 ../../library/socket.rst:1662 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)." msgstr "" -#: ../../library/socket.rst:1211 +#: ../../library/socket.rst:1216 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:1214 +#: ../../library/socket.rst:1219 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:1218 +#: ../../library/socket.rst:1223 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 " @@ -1463,20 +1486,20 @@ msgid "" "flushed)." msgstr "" -#: ../../library/socket.rst:1224 +#: ../../library/socket.rst:1229 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:1228 +#: ../../library/socket.rst:1233 msgid "" ":exc:`OSError` is now raised if an error occurs when the underlying :c:func:" "`close` call is made." msgstr "" -#: ../../library/socket.rst:1234 +#: ../../library/socket.rst:1239 msgid "" ":meth:`close()` releases the resource associated with a connection but does " "not necessarily close the connection immediately. If you want to close the " @@ -1484,13 +1507,13 @@ msgid "" "`close()`." msgstr "" -#: ../../library/socket.rst:1242 +#: ../../library/socket.rst:1247 msgid "" "Connect to a remote socket at *address*. (The format of *address* depends on " "the address family --- see above.)" msgstr "" -#: ../../library/socket.rst:1245 +#: ../../library/socket.rst:1250 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 " @@ -1500,13 +1523,15 @@ msgid "" "(or the exception raised by the signal handler)." msgstr "" -#: ../../library/socket.rst:1252 ../../library/socket.rst:1270 +#: ../../library/socket.rst:1257 ../../library/socket.rst:1275 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:1254 +#: ../../library/socket.rst:1259 msgid "" "The method now waits until the connection completes instead of raising an :" "exc:`InterruptedError` exception if the connection is interrupted by a " @@ -1514,7 +1539,7 @@ msgid "" "blocking or has a timeout (see the :pep:`475` for the rationale)." msgstr "" -#: ../../library/socket.rst:1263 +#: ../../library/socket.rst:1268 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 " @@ -1524,38 +1549,38 @@ msgid "" "asynchronous connects." msgstr "" -#: ../../library/socket.rst:1274 +#: ../../library/socket.rst:1279 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:1283 +#: ../../library/socket.rst:1288 msgid "Duplicate the socket." msgstr "" -#: ../../library/socket.rst:1293 +#: ../../library/socket.rst:1298 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:1296 +#: ../../library/socket.rst:1301 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:1302 +#: ../../library/socket.rst:1307 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:1311 +#: ../../library/socket.rst:1316 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 " @@ -1563,14 +1588,14 @@ msgid "" "above.) On some systems this function is not supported." msgstr "" -#: ../../library/socket.rst:1319 +#: ../../library/socket.rst:1324 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:1326 +#: ../../library/socket.rst:1331 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 " @@ -1582,16 +1607,16 @@ msgid "" "`struct` for a way to decode C structures encoded as byte strings)." msgstr "" -#: ../../library/socket.rst:1338 +#: ../../library/socket.rst:1343 msgid "" "Return ``True`` if socket is in blocking mode, ``False`` if in non-blocking." msgstr "" -#: ../../library/socket.rst:1341 +#: ../../library/socket.rst:1346 msgid "This is equivalent to checking ``socket.gettimeout() == 0``." msgstr "" -#: ../../library/socket.rst:1348 +#: ../../library/socket.rst:1353 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:" @@ -1602,30 +1627,30 @@ msgstr "" msgid "platform" msgstr "platform" -#: ../../library/socket.rst:1355 +#: ../../library/socket.rst:1360 msgid "Windows" msgstr "Windows" -#: ../../library/socket.rst:1357 +#: ../../library/socket.rst:1362 msgid "" "The :meth:`ioctl` method is a limited interface to the WSAIoctl system " "interface. Please refer to the `Win32 documentation `_ for more information." msgstr "" -#: ../../library/socket.rst:1362 +#: ../../library/socket.rst:1367 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:1365 +#: ../../library/socket.rst:1370 msgid "" "Currently only the following control codes are supported: ``SIO_RCVALL``, " "``SIO_KEEPALIVE_VALS``, and ``SIO_LOOPBACK_FAST_PATH``." msgstr "" -#: ../../library/socket.rst:1373 +#: ../../library/socket.rst:1378 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 " @@ -1633,11 +1658,11 @@ msgid "" "connections. If not specified, a default reasonable value is chosen." msgstr "" -#: ../../library/socket.rst:1378 +#: ../../library/socket.rst:1383 msgid "The *backlog* parameter is now optional." msgstr "" -#: ../../library/socket.rst:1386 +#: ../../library/socket.rst:1391 msgid "" "Return a :term:`file object` associated with the socket. The exact returned " "type depends on the arguments given to :meth:`makefile`. These arguments " @@ -1646,28 +1671,28 @@ msgid "" "``'b'``." msgstr "" -#: ../../library/socket.rst:1391 +#: ../../library/socket.rst:1396 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:1395 +#: ../../library/socket.rst:1400 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." msgstr "" -#: ../../library/socket.rst:1401 +#: ../../library/socket.rst:1406 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:1408 +#: ../../library/socket.rst:1413 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 " @@ -1676,13 +1701,13 @@ msgid "" "zero." msgstr "" -#: ../../library/socket.rst:1415 +#: ../../library/socket.rst:1420 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:1426 +#: ../../library/socket.rst:1431 msgid "" "Receive data from the socket. The return value is a pair ``(bytes, " "address)`` where *bytes* is a bytes object representing the data received " @@ -1692,14 +1717,14 @@ msgid "" "address family --- see above.)" msgstr "" -#: ../../library/socket.rst:1437 +#: ../../library/socket.rst:1442 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:" +"For multicast IPv6 address, first item of *address* does not contain " +"``%scope_id`` part anymore. In order to get full IPv6 address use :func:" "`getnameinfo`." msgstr "" -#: ../../library/socket.rst:1444 +#: ../../library/socket.rst:1449 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 " @@ -1710,7 +1735,7 @@ msgid "" "*flags* argument defaults to 0 and has the same meaning as for :meth:`recv`." msgstr "" -#: ../../library/socket.rst:1454 +#: ../../library/socket.rst:1459 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 " @@ -1725,7 +1750,7 @@ msgid "" "socket, if available; otherwise, its value is unspecified." msgstr "" -#: ../../library/socket.rst:1468 +#: ../../library/socket.rst:1473 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 " @@ -1733,12 +1758,12 @@ msgid "" "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:type:`int` type. If :meth:`recvmsg` raises an exception " +"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:1479 +#: ../../library/socket.rst:1484 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 " @@ -1747,7 +1772,7 @@ msgid "" "provided it has not been truncated before the start of its associated data." msgstr "" -#: ../../library/socket.rst:1486 +#: ../../library/socket.rst:1491 msgid "" "On systems which support the :const:`SCM_RIGHTS` mechanism, the following " "function will receive up to *maxfds* file descriptors, returning the message " @@ -1756,7 +1781,7 @@ msgid "" "meth:`sendmsg`. ::" msgstr "" -#: ../../library/socket.rst:1515 +#: ../../library/socket.rst:1520 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 " @@ -1769,7 +1794,7 @@ msgid "" "arguments have the same meaning as for :meth:`recvmsg`." msgstr "" -#: ../../library/socket.rst:1526 +#: ../../library/socket.rst:1531 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 " @@ -1777,11 +1802,11 @@ msgid "" "for :meth:`recvmsg`." msgstr "" -#: ../../library/socket.rst:1531 +#: ../../library/socket.rst:1536 msgid "Example::" msgstr "Exemplo::" -#: ../../library/socket.rst:1552 +#: ../../library/socket.rst:1557 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 " @@ -1791,7 +1816,7 @@ msgid "" "format of *address* depends on the address family --- see above.)" msgstr "" -#: ../../library/socket.rst:1562 +#: ../../library/socket.rst:1567 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), " @@ -1800,7 +1825,7 @@ msgid "" "of the optional argument *flags*; it defaults to zero." msgstr "" -#: ../../library/socket.rst:1571 +#: ../../library/socket.rst:1576 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` " @@ -1810,7 +1835,7 @@ msgid "" "data. For further information on this topic, consult the :ref:`socket-howto`." msgstr "" -#: ../../library/socket.rst:1586 +#: ../../library/socket.rst:1591 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` " @@ -1820,13 +1845,13 @@ msgid "" "to determine how much data, if any, was successfully sent." msgstr "" -#: ../../library/socket.rst:1593 +#: ../../library/socket.rst:1598 msgid "" -"The socket timeout is no more reset each time data is sent successfully. The " -"socket timeout is now the maximum total duration to send all data." +"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:1606 +#: ../../library/socket.rst:1611 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 " @@ -1835,13 +1860,15 @@ msgid "" "address family --- see above.)" msgstr "" -#: ../../library/socket.rst:1612 +#: ../../library/socket.rst:1617 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:1622 +#: ../../library/socket.rst:1627 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. " @@ -1861,27 +1888,29 @@ msgid "" "bytes of non-ancillary data sent." msgstr "" -#: ../../library/socket.rst:1642 +#: ../../library/socket.rst:1647 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` " "mechanism. See also :meth:`recvmsg`. ::" msgstr "" -#: ../../library/socket.rst:1653 +#: ../../library/socket.rst:1658 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:1664 +#: ../../library/socket.rst:1669 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:1673 +#: ../../library/socket.rst:1678 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 " @@ -1895,38 +1924,38 @@ msgid "" "be of :const:`SOCK_STREAM` type. Non-blocking sockets are not supported." msgstr "" -#: ../../library/socket.rst:1689 +#: ../../library/socket.rst:1694 msgid "" "Set the :ref:`inheritable flag ` of the socket's file " "descriptor or socket's handle." msgstr "" -#: ../../library/socket.rst:1697 +#: ../../library/socket.rst:1702 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:1700 +#: ../../library/socket.rst:1705 msgid "" "This method is a shorthand for certain :meth:`~socket.settimeout` calls:" msgstr "" -#: ../../library/socket.rst:1702 +#: ../../library/socket.rst:1707 msgid "``sock.setblocking(True)`` is equivalent to ``sock.settimeout(None)``" msgstr "" -#: ../../library/socket.rst:1704 +#: ../../library/socket.rst:1709 msgid "``sock.setblocking(False)`` is equivalent to ``sock.settimeout(0.0)``" msgstr "" -#: ../../library/socket.rst:1706 +#: ../../library/socket.rst:1711 msgid "" "The method no longer applies :const:`SOCK_NONBLOCK` flag on :attr:`socket." "type`." msgstr "" -#: ../../library/socket.rst:1713 +#: ../../library/socket.rst:1718 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-" @@ -1936,19 +1965,19 @@ msgid "" "blocking mode. If ``None`` is given, the socket is put in blocking mode." msgstr "" -#: ../../library/socket.rst:1720 +#: ../../library/socket.rst:1725 msgid "" "For further information, please consult the :ref:`notes on socket timeouts " "`." msgstr "" -#: ../../library/socket.rst:1722 +#: ../../library/socket.rst:1727 msgid "" "The method no longer toggles :const:`SOCK_NONBLOCK` flag on :attr:`socket." "type`." msgstr "" -#: ../../library/socket.rst:1735 +#: ../../library/socket.rst:1740 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:" @@ -1961,11 +1990,11 @@ msgid "" "C function with ``optval=NULL`` and ``optlen=optlen``." msgstr "" -#: ../../library/socket.rst:1749 +#: ../../library/socket.rst:1754 msgid "setsockopt(level, optname, None, optlen: int) form added." msgstr "" -#: ../../library/socket.rst:1755 +#: ../../library/socket.rst:1760 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`, " @@ -1973,7 +2002,7 @@ msgid "" "and receives are disallowed." msgstr "" -#: ../../library/socket.rst:1763 +#: ../../library/socket.rst:1768 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 " @@ -1984,35 +2013,35 @@ msgid "" "process." msgstr "" -#: ../../library/socket.rst:1775 +#: ../../library/socket.rst:1780 msgid "" "Note that there are no methods :meth:`read` or :meth:`write`; use :meth:" "`~socket.recv` and :meth:`~socket.send` without *flags* argument instead." msgstr "" -#: ../../library/socket.rst:1778 +#: ../../library/socket.rst:1783 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:1784 +#: ../../library/socket.rst:1789 msgid "The socket family." msgstr "" -#: ../../library/socket.rst:1789 +#: ../../library/socket.rst:1794 msgid "The socket type." msgstr "" -#: ../../library/socket.rst:1794 +#: ../../library/socket.rst:1799 msgid "The socket protocol." msgstr "" -#: ../../library/socket.rst:1801 +#: ../../library/socket.rst:1806 msgid "Notes on socket timeouts" msgstr "Notas sobre tempo limite de soquete" -#: ../../library/socket.rst:1803 +#: ../../library/socket.rst:1808 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 " @@ -2022,28 +2051,28 @@ 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:1807 +#: ../../library/socket.rst:1812 msgid "" "In *blocking mode*, operations block until complete or the system returns an " "error (such as connection timed out)." msgstr "" -#: ../../library/socket.rst:1810 +#: ../../library/socket.rst:1815 msgid "" "In *non-blocking mode*, operations fail (with an error that is unfortunately " "system-dependent) if they cannot be completed immediately: functions from " -"the :mod:`select` can be used to know when and whether a socket is available " -"for reading or writing." +"the :mod:`select` module can be used to know when and whether a socket is " +"available for reading or writing." msgstr "" -#: ../../library/socket.rst:1815 +#: ../../library/socket.rst:1820 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:1820 +#: ../../library/socket.rst:1825 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 " @@ -2052,11 +2081,11 @@ msgid "" "you decide to use the :meth:`~socket.fileno()` of a socket." msgstr "" -#: ../../library/socket.rst:1827 +#: ../../library/socket.rst:1832 msgid "Timeouts and the ``connect`` method" msgstr "" -#: ../../library/socket.rst:1829 +#: ../../library/socket.rst:1834 msgid "" "The :meth:`~socket.connect` operation is also subject to the timeout " "setting, and in general it is recommended to call :meth:`~socket.settimeout` " @@ -2066,24 +2095,24 @@ msgid "" "setting." msgstr "" -#: ../../library/socket.rst:1837 +#: ../../library/socket.rst:1842 msgid "Timeouts and the ``accept`` method" msgstr "" -#: ../../library/socket.rst:1839 +#: ../../library/socket.rst:1844 msgid "" "If :func:`getdefaulttimeout` is not :const:`None`, sockets returned by the :" "meth:`~socket.accept` method inherit that timeout. Otherwise, the behaviour " "depends on settings of the listening socket:" msgstr "" -#: ../../library/socket.rst:1843 +#: ../../library/socket.rst:1848 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:1846 +#: ../../library/socket.rst:1851 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 " @@ -2091,11 +2120,11 @@ msgid "" "it is recommended you manually override this setting." msgstr "" -#: ../../library/socket.rst:1855 +#: ../../library/socket.rst:1860 msgid "Example" msgstr "Exemplo" -#: ../../library/socket.rst:1857 +#: ../../library/socket.rst:1862 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 " @@ -2108,11 +2137,11 @@ msgid "" "new socket returned by :meth:`~socket.accept`." msgstr "" -#: ../../library/socket.rst:1867 +#: ../../library/socket.rst:1872 msgid "The first two examples support IPv4 only. ::" msgstr "" -#: ../../library/socket.rst:1898 +#: ../../library/socket.rst:1903 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 " @@ -2122,75 +2151,75 @@ msgid "" "resolution, and sends traffic to the first one connected successfully. ::" msgstr "" -#: ../../library/socket.rst:1970 +#: ../../library/socket.rst:1975 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:1995 +#: ../../library/socket.rst:2000 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:2001 +#: ../../library/socket.rst:2006 msgid "" "After binding (:const:`CAN_RAW`) or connecting (:const:`CAN_BCM`) the " -"socket, you can use the :meth:`socket.send`, and the :meth:`socket.recv` " +"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:2005 +#: ../../library/socket.rst:2010 msgid "This last example might require special privileges::" msgstr "" -#: ../../library/socket.rst:2045 +#: ../../library/socket.rst:2050 msgid "" "Running an example several times with too small delay between executions, " "could lead to this error::" msgstr "" -#: ../../library/socket.rst:2050 +#: ../../library/socket.rst:2055 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:2053 +#: ../../library/socket.rst:2058 msgid "" "There is a :mod:`socket` flag to set, in order to prevent this, :data:" "`socket.SO_REUSEADDR`::" msgstr "" -#: ../../library/socket.rst:2060 +#: ../../library/socket.rst:2065 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:2066 +#: ../../library/socket.rst:2071 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:2068 +#: ../../library/socket.rst:2073 msgid "" "*An Introductory 4.3BSD Interprocess Communication Tutorial*, by Stuart " "Sechrest" msgstr "" -#: ../../library/socket.rst:2070 +#: ../../library/socket.rst:2075 msgid "" "*An Advanced 4.3BSD Interprocess Communication Tutorial*, by Samuel J. " "Leffler et al," msgstr "" -#: ../../library/socket.rst:2073 +#: ../../library/socket.rst:2078 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 " diff --git a/library/socketserver.po b/library/socketserver.po index 21e2b45a9..cf0597687 100644 --- a/library/socketserver.po +++ b/library/socketserver.po @@ -1,30 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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 -# Sheila Gomes , 2021 -# Claudio Rogerio Carvalho Filho , 2021 -# i17obot , 2021 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.10\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-07-27 13:07+0000\n" -"PO-Revision-Date: 2021-06-28 01:13+0000\n" -"Last-Translator: i17obot , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:58+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/socketserver.rst:2 msgid ":mod:`socketserver` --- A framework for network servers" @@ -39,10 +36,12 @@ 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." #: ../../library/socketserver.rst:13 msgid "There are four basic concrete server classes:" -msgstr "" +msgstr "Existem quatro classes básicas de servidores concretos:" #: ../../library/socketserver.rst:18 msgid "" @@ -52,6 +51,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:28 msgid "" @@ -59,6 +63,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:36 msgid "" @@ -66,6 +73,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:42 msgid "" @@ -99,6 +109,17 @@ msgid "" "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:62 msgid "" @@ -111,59 +132,82 @@ msgid "" "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:71 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:76 msgid "Server Creation Notes" -msgstr "" +msgstr "Notas sobre criação do servidor" #: ../../library/socketserver.rst:78 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:95 msgid "" "Note that :class:`UnixDatagramServer` derives from :class:`UDPServer`, not " "from :class:`UnixStreamServer` --- the only difference between an IP and a " -"Unix stream server is the address family, which is simply repeated in both " -"Unix server classes." +"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:104 +#: ../../library/socketserver.rst:103 msgid "" "Forking and threading versions of each type of server can be created using " "these mix-in classes. For instance, :class:`ThreadingUDPServer` is created " "as follows::" msgstr "" +"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:111 +#: ../../library/socketserver.rst:110 msgid "" "The mix-in class comes first, since it overrides a method defined in :class:" "`UDPServer`. Setting the various attributes also changes the behavior of " "the underlying server mechanism." msgstr "" +"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:115 +#: ../../library/socketserver.rst:114 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:118 +#: ../../library/socketserver.rst:117 msgid "" ":meth:`socketserver.ForkingMixIn.server_close` waits until all child " "processes complete, except if :attr:`socketserver.ForkingMixIn." "block_on_close` attribute is false." msgstr "" -#: ../../library/socketserver.rst:122 +#: ../../library/socketserver.rst:121 msgid "" ":meth:`socketserver.ThreadingMixIn.server_close` waits until all non-daemon " "threads complete, except if :attr:`socketserver.ThreadingMixIn." @@ -172,7 +216,7 @@ msgid "" "complete." msgstr "" -#: ../../library/socketserver.rst:131 +#: ../../library/socketserver.rst:130 msgid "" ":meth:`socketserver.ForkingMixIn.server_close` and :meth:`socketserver." "ThreadingMixIn.server_close` now waits until all child processes and non-" @@ -180,11 +224,11 @@ msgid "" "block_on_close` class attribute to opt-in for the pre-3.7 behaviour." msgstr "" -#: ../../library/socketserver.rst:143 +#: ../../library/socketserver.rst:142 msgid "These classes are pre-defined using the mix-in classes." -msgstr "" +msgstr "Essas classes são predefinidas usando as classes mix-in." -#: ../../library/socketserver.rst:146 +#: ../../library/socketserver.rst:145 msgid "" "To implement a service, you must derive a class from :class:" "`BaseRequestHandler` and redefine its :meth:`~BaseRequestHandler.handle` " @@ -194,8 +238,15 @@ msgid "" "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:154 +#: ../../library/socketserver.rst:153 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 " @@ -204,8 +255,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:161 +#: ../../library/socketserver.rst:160 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 " @@ -214,8 +272,14 @@ 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:167 +#: ../../library/socketserver.rst:166 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 " @@ -223,8 +287,13 @@ msgid "" "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:172 +#: ../../library/socketserver.rst:171 msgid "" "Another approach to handling multiple simultaneous requests in an " "environment that supports neither threads nor :func:`~os.fork` (or where " @@ -237,26 +306,33 @@ msgid "" "this." msgstr "" -#: ../../library/socketserver.rst:186 +#: ../../library/socketserver.rst:185 msgid "Server Objects" msgstr "Objetos Server" -#: ../../library/socketserver.rst:190 +#: ../../library/socketserver.rst:189 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." 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:198 +#: ../../library/socketserver.rst:197 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:205 +#: ../../library/socketserver.rst:204 msgid "" "Process a single request. This function calls the following methods in " "order: :meth:`get_request`, :meth:`verify_request`, and :meth:" @@ -266,8 +342,15 @@ msgid "" "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:217 +#: ../../library/socketserver.rst:216 msgid "" "Handle requests until an explicit :meth:`shutdown` request. Poll for " "shutdown every *poll_interval* seconds. Ignores the :attr:`timeout` " @@ -276,42 +359,57 @@ 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:225 +#: ../../library/socketserver.rst:224 msgid "Added ``service_actions`` call to the ``serve_forever`` method." -msgstr "" +msgstr "Adicionada chamada ``service_actions`` ao método ``serve_forever``." -#: ../../library/socketserver.rst:231 +#: ../../library/socketserver.rst:230 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:239 +#: ../../library/socketserver.rst:238 msgid "" "Tell the :meth:`serve_forever` loop to stop and wait until it does. :meth:" "`shutdown` must be called while :meth:`serve_forever` is running in a " "different thread otherwise it will deadlock." msgstr "" +"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:246 +#: ../../library/socketserver.rst:245 msgid "Clean up the server. May be overridden." -msgstr "" +msgstr "Limpa o servidor. Pode ser substituído." -#: ../../library/socketserver.rst:251 +#: ../../library/socketserver.rst:250 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:257 +#: ../../library/socketserver.rst:256 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:263 +#: ../../library/socketserver.rst:262 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:" @@ -319,23 +417,31 @@ msgid "" "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:272 +#: ../../library/socketserver.rst:271 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:275 +#: ../../library/socketserver.rst:274 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:281 +#: ../../library/socketserver.rst:280 msgid "" "Whether the server will allow the reuse of an address. This defaults to :" "const:`False`, and can be set in subclasses to change the policy." msgstr "" +"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:287 +#: ../../library/socketserver.rst:286 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 " @@ -343,53 +449,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:296 +#: ../../library/socketserver.rst:295 msgid "" "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:302 +#: ../../library/socketserver.rst:301 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:307 +#: ../../library/socketserver.rst:306 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:316 +#: ../../library/socketserver.rst:315 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:322 +#: ../../library/socketserver.rst:321 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:329 +#: ../../library/socketserver.rst:328 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:334 +#: ../../library/socketserver.rst:333 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:341 +#: ../../library/socketserver.rst:340 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 " @@ -397,61 +528,88 @@ 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:350 +#: ../../library/socketserver.rst:349 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." 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:362 +#: ../../library/socketserver.rst:361 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:369 +#: ../../library/socketserver.rst:368 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:375 +#: ../../library/socketserver.rst:374 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:381 +#: ../../library/socketserver.rst:380 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:387 +#: ../../library/socketserver.rst:386 msgid "Request Handler Objects" -msgstr "" +msgstr "Objetos manipulador de requisições" -#: ../../library/socketserver.rst:391 +#: ../../library/socketserver.rst:390 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:400 +#: ../../library/socketserver.rst:399 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:406 +#: ../../library/socketserver.rst:405 msgid "" "This function must do all the work required to service a request. The " "default implementation does nothing. Several instance attributes are " @@ -460,62 +618,64 @@ msgid "" "attr:`self.server`, in case it needs access to per-server information." msgstr "" -#: ../../library/socketserver.rst:412 +#: ../../library/socketserver.rst:411 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." msgstr "" -#: ../../library/socketserver.rst:419 +#: ../../library/socketserver.rst:418 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:427 +#: ../../library/socketserver.rst:426 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." -msgstr "" - -#: ../../library/socketserver.rst:434 -msgid "" -"The :attr:`rfile` attributes of both classes support the :class:`io." -"BufferedIOBase` readable interface, and :attr:`DatagramRequestHandler.wfile` " -"supports the :class:`io.BufferedIOBase` writable interface." +"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." msgstr "" -#: ../../library/socketserver.rst:439 +#: ../../library/socketserver.rst:435 msgid "" ":attr:`StreamRequestHandler.wfile` also supports the :class:`io." "BufferedIOBase` writable interface." msgstr "" -#: ../../library/socketserver.rst:445 +#: ../../library/socketserver.rst:441 msgid "Examples" msgstr "Exemplos" -#: ../../library/socketserver.rst:448 +#: ../../library/socketserver.rst:444 msgid ":class:`socketserver.TCPServer` Example" -msgstr "" +msgstr "Exemplo de :class:`socketserver.TCPServer`" -#: ../../library/socketserver.rst:450 ../../library/socketserver.rst:549 +#: ../../library/socketserver.rst:446 ../../library/socketserver.rst:545 msgid "This is the server side::" -msgstr "" +msgstr "Este é o lado do servidor::" -#: ../../library/socketserver.rst:480 +#: ../../library/socketserver.rst:476 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:495 +#: ../../library/socketserver.rst:491 msgid "" "The difference is that the ``readline()`` call in the second handler will " "call ``recv()`` multiple times until it encounters a newline character, " @@ -523,49 +683,55 @@ msgid "" "has been sent from the client in one ``sendall()`` call." msgstr "" -#: ../../library/socketserver.rst:501 ../../library/socketserver.rst:573 +#: ../../library/socketserver.rst:497 ../../library/socketserver.rst:569 msgid "This is the client side::" -msgstr "" +msgstr "Este é o lado do cliente::" -#: ../../library/socketserver.rst:522 ../../library/socketserver.rst:648 +#: ../../library/socketserver.rst:518 ../../library/socketserver.rst:644 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:524 +#: ../../library/socketserver.rst:520 msgid "Server:" -msgstr "" +msgstr "Servidor:" -#: ../../library/socketserver.rst:534 +#: ../../library/socketserver.rst:530 msgid "Client:" msgstr "Cliente:" -#: ../../library/socketserver.rst:547 +#: ../../library/socketserver.rst:543 msgid ":class:`socketserver.UDPServer` Example" msgstr "Exemplo :class:`socketserver.UDPServer`" -#: ../../library/socketserver.rst:592 +#: ../../library/socketserver.rst:588 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:596 +#: ../../library/socketserver.rst:592 msgid "Asynchronous Mixins" -msgstr "" +msgstr "Mixins assíncronos" -#: ../../library/socketserver.rst:598 +#: ../../library/socketserver.rst:594 msgid "" "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:601 +#: ../../library/socketserver.rst:597 msgid "An example for the :class:`ThreadingMixIn` class::" -msgstr "" +msgstr "Um exemplo para a classe :class:`ThreadingMixIn`::" -#: ../../library/socketserver.rst:659 +#: ../../library/socketserver.rst:655 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 05c58c4fb..c6c84b5c2 100644 --- a/library/spwd.po +++ b/library/spwd.po @@ -1,37 +1,41 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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 -# Welington Carlos , 2021 -# Claudio Rogerio Carvalho Filho , 2021 -# Marciel Leal , 2021 -# i17obot , 2021 +# python-doc bot, 2025 # #, 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:13+0000\n" -"Last-Translator: i17obot , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:58+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/spwd.rst:2 msgid ":mod:`spwd` --- The shadow password database" msgstr ":mod:`spwd` --- O banco de dados de senhas shadow" -#: ../../library/spwd.rst:10 +#: ../../library/spwd.rst:9 +msgid "" +"The :mod:`spwd` module is deprecated (see :pep:`PEP 594 <594#spwd>` for " +"details and alternatives)." +msgstr "" +"O módulo :mod:`spwd` foi descontinuado (veja :pep:`PEP 594 <594#spwd>` para " +"detalhes e alternativas)." + +#: ../../library/spwd.rst:15 msgid "" "This module provides access to the Unix shadow password database. It is " "available on various Unix versions." @@ -39,7 +43,7 @@ msgstr "" "Este módulo fornece acesso ao banco de dados de senhas shadow do Unix. Está " "disponível em várias versões do Unix." -#: ../../library/spwd.rst:13 +#: ../../library/spwd.rst:18 msgid "" "You must have enough privileges to access the shadow password database (this " "usually means you have to be root)." @@ -47,7 +51,7 @@ msgstr "" "Você deve ter privilégios suficientes para acessar o banco de dados de " "senhas shadow (isso geralmente significa que você precisa ser root)." -#: ../../library/spwd.rst:16 +#: ../../library/spwd.rst:21 msgid "" "Shadow password database entries are reported as a tuple-like object, whose " "attributes correspond to the members of the ``spwd`` structure (Attribute " @@ -57,127 +61,127 @@ msgstr "" "tupla ou similar, cujos atributos correspondem aos membros da estrutura " "``spwd`` (campo Atributo abaixo, consulte ````):" -#: ../../library/spwd.rst:21 +#: ../../library/spwd.rst:26 msgid "Index" msgstr "Índice" -#: ../../library/spwd.rst:21 +#: ../../library/spwd.rst:26 msgid "Attribute" msgstr "Atributo" -#: ../../library/spwd.rst:21 +#: ../../library/spwd.rst:26 msgid "Meaning" msgstr "Significado" -#: ../../library/spwd.rst:23 +#: ../../library/spwd.rst:28 msgid "0" msgstr "0" -#: ../../library/spwd.rst:23 +#: ../../library/spwd.rst:28 msgid "``sp_namp``" msgstr "``sp_namp``" -#: ../../library/spwd.rst:23 +#: ../../library/spwd.rst:28 msgid "Login name" msgstr "Nome de login" -#: ../../library/spwd.rst:25 +#: ../../library/spwd.rst:30 msgid "1" msgstr "1" -#: ../../library/spwd.rst:25 +#: ../../library/spwd.rst:30 msgid "``sp_pwdp``" msgstr "``sp_pwdp``" -#: ../../library/spwd.rst:25 +#: ../../library/spwd.rst:30 msgid "Encrypted password" msgstr "Senha criptografada" -#: ../../library/spwd.rst:27 +#: ../../library/spwd.rst:32 msgid "2" msgstr "2" -#: ../../library/spwd.rst:27 +#: ../../library/spwd.rst:32 msgid "``sp_lstchg``" msgstr "``sp_lstchg``" -#: ../../library/spwd.rst:27 +#: ../../library/spwd.rst:32 msgid "Date of last change" msgstr "Data da última alteração" -#: ../../library/spwd.rst:29 +#: ../../library/spwd.rst:34 msgid "3" msgstr "3" -#: ../../library/spwd.rst:29 +#: ../../library/spwd.rst:34 msgid "``sp_min``" msgstr "``sp_min``" -#: ../../library/spwd.rst:29 +#: ../../library/spwd.rst:34 msgid "Minimal number of days between changes" msgstr "Número mínimo de dias entre alterações" -#: ../../library/spwd.rst:32 +#: ../../library/spwd.rst:37 msgid "4" msgstr "4" -#: ../../library/spwd.rst:32 +#: ../../library/spwd.rst:37 msgid "``sp_max``" msgstr "``sp_max``" -#: ../../library/spwd.rst:32 +#: ../../library/spwd.rst:37 msgid "Maximum number of days between changes" msgstr "Número máximo de dias entre alterações" -#: ../../library/spwd.rst:35 +#: ../../library/spwd.rst:40 msgid "5" msgstr "5" -#: ../../library/spwd.rst:35 +#: ../../library/spwd.rst:40 msgid "``sp_warn``" msgstr "``sp_warn``" -#: ../../library/spwd.rst:35 +#: ../../library/spwd.rst:40 msgid "Number of days before password expires to warn user about it" msgstr "Número de dias antes da senha expirar para avisar o usuário sobre ela" -#: ../../library/spwd.rst:38 +#: ../../library/spwd.rst:43 msgid "6" msgstr "6" -#: ../../library/spwd.rst:38 +#: ../../library/spwd.rst:43 msgid "``sp_inact``" msgstr "``sp_inact``" -#: ../../library/spwd.rst:38 +#: ../../library/spwd.rst:43 msgid "Number of days after password expires until account is disabled" msgstr "Número de dias após a senha expirar até a conta ser desativada" -#: ../../library/spwd.rst:42 +#: ../../library/spwd.rst:47 msgid "7" msgstr "7" -#: ../../library/spwd.rst:42 +#: ../../library/spwd.rst:47 msgid "``sp_expire``" msgstr "``sp_expire``" -#: ../../library/spwd.rst:42 +#: ../../library/spwd.rst:47 msgid "Number of days since 1970-01-01 when account expires" msgstr "Número de dias desde 1970-01-01 em que a conta expira" -#: ../../library/spwd.rst:45 +#: ../../library/spwd.rst:50 msgid "8" msgstr "8" -#: ../../library/spwd.rst:45 +#: ../../library/spwd.rst:50 msgid "``sp_flag``" msgstr "``sp_flag``" -#: ../../library/spwd.rst:45 +#: ../../library/spwd.rst:50 msgid "Reserved" msgstr "Reservado" -#: ../../library/spwd.rst:48 +#: ../../library/spwd.rst:53 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." @@ -186,17 +190,17 @@ msgstr "" "inteiros. :exc:`KeyError` é levantada se a entrada solicitada não puder ser " "encontrada." -#: ../../library/spwd.rst:51 +#: ../../library/spwd.rst:56 msgid "The following functions are defined:" msgstr "As seguintes funções estão definidas:" -#: ../../library/spwd.rst:56 +#: ../../library/spwd.rst:61 msgid "Return the shadow password database entry for the given user name." msgstr "" "Retorna a entrada do banco de dados de senhas shadow para o nome de usuário " "especificado." -#: ../../library/spwd.rst:58 +#: ../../library/spwd.rst:63 msgid "" "Raises a :exc:`PermissionError` instead of :exc:`KeyError` if the user " "doesn't have privileges." @@ -204,7 +208,7 @@ msgstr "" "Levanta um :exc:`PermissionError` em vez de :exc:`KeyError` se o usuário não " "tiver privilégios." -#: ../../library/spwd.rst:64 +#: ../../library/spwd.rst:69 msgid "" "Return a list of all available shadow password database entries, in " "arbitrary order." @@ -212,18 +216,18 @@ msgstr "" "Retorna uma lista de todas as entradas disponíveis do banco de dados de " "senhas shadow, em ordem arbitrária." -#: ../../library/spwd.rst:71 +#: ../../library/spwd.rst:76 msgid "Module :mod:`grp`" msgstr "Módulo :mod:`grp`" -#: ../../library/spwd.rst:71 +#: ../../library/spwd.rst:76 msgid "An interface to the group database, similar to this." msgstr "Uma interface para o banco de dados do grupo, similar a esta." -#: ../../library/spwd.rst:73 +#: ../../library/spwd.rst:78 msgid "Module :mod:`pwd`" msgstr "Módulo :mod:`pwd`" -#: ../../library/spwd.rst:74 +#: ../../library/spwd.rst:79 msgid "An interface to the normal password database, similar to this." msgstr "Uma interface para o banco de dados de senhas normais, similar a esta." diff --git a/library/sqlite3.po b/library/sqlite3.po index 9c12493c4..57d560806 100644 --- a/library/sqlite3.po +++ b/library/sqlite3.po @@ -1,44 +1,37 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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 -# Ruan Aragão , 2021 -# Leticia Portella , 2021 -# Italo Penaforte , 2021 -# Marcos Wenneton Araújo , 2021 -# i17obot , 2021 -# Marco Rougeth , 2021 -# Porfirio_Prodigy, 2021 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.10\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-07-29 13:22+0000\n" -"PO-Revision-Date: 2021-06-28 01:13+0000\n" -"Last-Translator: Porfirio_Prodigy, 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:58+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/sqlite3.rst:2 msgid ":mod:`sqlite3` --- DB-API 2.0 interface for SQLite databases" -msgstr "" +msgstr ":mod:`sqlite3` --- Interface DB-API 2.0 para bancos de dados SQLite" #: ../../library/sqlite3.rst:9 msgid "**Source code:** :source:`Lib/sqlite3/`" -msgstr "Código fonte" +msgstr "**Código-fonte:** :source:`Lib/sqlite3/`" -#: ../../library/sqlite3.rst:13 +#: ../../library/sqlite3.rst:23 msgid "" "SQLite is a C library that provides a lightweight disk-based database that " "doesn't require a separate server process and allows accessing the database " @@ -47,735 +40,1115 @@ msgid "" "application using SQLite and then port the code to a larger database such as " "PostgreSQL or Oracle." msgstr "" +"SQLite é uma biblioteca C que fornece um banco de dados leve baseado em " +"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 um aplicativo usando SQLite e, em seguida, " +"portar o código para um banco de dados maior, como PostgreSQL ou Oracle." -#: ../../library/sqlite3.rst:20 +#: ../../library/sqlite3.rst:30 msgid "" -"The sqlite3 module was written by Gerhard Häring. It provides a SQL " -"interface compliant with the DB-API 2.0 specification described by :pep:" +"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." 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." -#: ../../library/sqlite3.rst:24 +#: ../../library/sqlite3.rst:34 +msgid "This document includes four main sections:" +msgstr "Esse documento inclui quatro seções principais:" + +#: ../../library/sqlite3.rst:36 +msgid ":ref:`sqlite3-tutorial` teaches how to use the :mod:`!sqlite3` module." +msgstr ":ref:`sqlite3-tutorial` ensina como usar o módulo :mod:`!sqlite3`." + +#: ../../library/sqlite3.rst:37 msgid "" -"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:`example." -"db` file::" +":ref:`sqlite3-reference` describes the classes and functions this module " +"defines." msgstr "" +":ref:`sqlite3-reference` descreve as classes e funções que este módulo " +"define." + +#: ../../library/sqlite3.rst:39 +msgid ":ref:`sqlite3-howtos` details how to handle specific tasks." +msgstr ":ref:`sqlite3-howtos` detalha como lidar com tarefas específicas." -#: ../../library/sqlite3.rst:31 +#: ../../library/sqlite3.rst:40 msgid "" -"You can also supply the special name ``:memory:`` to create a database in " -"RAM." +":ref:`sqlite3-explanation` provides in-depth background on transaction " +"control." msgstr "" +":ref:`sqlite3-explanation` fornece informações detalhadas sobre controle de " +"transações." -#: ../../library/sqlite3.rst:33 +#: ../../library/sqlite3.rst:47 +msgid "https://www.sqlite.org" +msgstr "https://www.sqlite.org" + +#: ../../library/sqlite3.rst:46 msgid "" -"Once you have a :class:`Connection`, you can create a :class:`Cursor` " -"object and call its :meth:`~Cursor.execute` method to perform SQL commands::" +"The SQLite web page; the documentation describes the syntax and the " +"available data types for the supported SQL dialect." msgstr "" +"A página web do SQLite; a documentação descreve a sintaxe e os tipos de " +"dados disponíveis para o dialeto SQL suportado." + +#: ../../library/sqlite3.rst:50 +msgid "https://www.w3schools.com/sql/" +msgstr "https://www.w3schools.com/sql/" + +#: ../../library/sqlite3.rst:50 +msgid "Tutorial, reference and examples for learning SQL syntax." +msgstr "Tutoriais, referências e exemplos para aprender a sintaxe SQL." #: ../../library/sqlite3.rst:52 +msgid ":pep:`249` - Database API Specification 2.0" +msgstr ":pep:`249` - Especificação 2.0 da API de banco de dados" + +#: ../../library/sqlite3.rst:53 +msgid "PEP written by Marc-André Lemburg." +msgstr "PEP escrita por Marc-André Lemburg." + +#: ../../library/sqlite3.rst:66 +msgid "Tutorial" +msgstr "Tutorial" + +#: ../../library/sqlite3.rst:68 msgid "" -"The data you've saved is persistent and is available in subsequent sessions::" +"In this tutorial, you will create a database of Monty Python movies using " +"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:58 +#: ../../library/sqlite3.rst:73 msgid "" -"To retrieve data after executing a SELECT statement, you can either treat " -"the cursor as an :term:`iterator`, call the cursor's :meth:`~Cursor." -"fetchone` method to retrieve a single matching row, or call :meth:`~Cursor." -"fetchall` to get a list of the matching rows." +"First, we need to create a new database and open a database connection to " +"allow :mod:`!sqlite3` to work with it. Call :func:`sqlite3.connect` to " +"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:63 -msgid "This example uses the iterator form::" +#: ../../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:76 +#: ../../library/sqlite3.rst:87 msgid "" -"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 (see the `xkcd webcomic `_ for a humorous " -"example of what can go wrong)::" +"In order to execute SQL statements and fetch results from SQL queries, we " +"will need to use a database cursor. Call :meth:`con.cursor() ` to create the :class:`Cursor`:" msgstr "" +"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:86 +#: ../../library/sqlite3.rst:95 msgid "" -"Instead, use the DB-API's parameter substitution. Put 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:`~Cursor.execute` method. An SQL statement " -"may use one of two kinds of placeholders: question marks (qmark style) or " -"named placeholders (named style). For the qmark style, ``parameters`` must " -"be a :term:`sequence `. For the named style, it can be either a :" -"term:`sequence ` or :class:`dict` instance. The length of the :" -"term:`sequence ` must match the number of placeholders, or a :exc:" -"`ProgrammingError` is raised. If a :class:`dict` is given, it must contain " -"keys for all named parameters. Any extra items are ignored. Here's an " -"example of both styles:" +"Now that we've got a database connection and a cursor, we can create a " +"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(...) `:" 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:105 -msgid "https://www.sqlite.org" +#: ../../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:" 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:104 +#: ../../library/sqlite3.rst:125 msgid "" -"The SQLite web page; the documentation describes the syntax and the " -"available data types for the supported SQL dialect." +"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:108 -msgid "https://www.w3schools.com/sql/" +#: ../../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(...) `:" 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:108 -msgid "Tutorial, reference and examples for learning SQL syntax." +#: ../../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:" 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:110 -msgid ":pep:`249` - Database API Specification 2.0" +#: ../../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:" 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:111 -msgid "PEP written by Marc-André Lemburg." +#: ../../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:117 -msgid "Module functions and constants" -msgstr "Funções e constantes do módulo" +#: ../../library/sqlite3.rst:173 +msgid "" +"Now, insert three more rows by calling :meth:`cur.executemany(...) `:" +msgstr "" +"Agora, insira mais três linhas chamando :meth:`cur.executemany(...) `:" -#: ../../library/sqlite3.rst:122 +#: ../../library/sqlite3.rst:186 msgid "" -"The version number of this module, as a string. This is not the version of " -"the SQLite library." +"Notice that ``?`` placeholders are used to bind ``data`` to the query. " +"Always use placeholders instead of :ref:`string formatting ` " +"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:128 +#: ../../library/sqlite3.rst:192 msgid "" -"The version number of this module, as a tuple of integers. This is not the " -"version of the SQLite library." +"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:134 -msgid "The version number of the run-time SQLite library, as a string." +#: ../../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:" 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:139 +#: ../../library/sqlite3.rst:224 msgid "" -"The version number of the run-time SQLite library, as a tuple of integers." +"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 ":ref:`sqlite3-howtos` para leitura adicional:" + +#: ../../library/sqlite3.rst:238 +msgid ":ref:`sqlite3-placeholders`" +msgstr ":ref:`sqlite3-placeholders`" + +#: ../../library/sqlite3.rst:239 +msgid ":ref:`sqlite3-adapters`" +msgstr ":ref:`sqlite3-adapters`" + +#: ../../library/sqlite3.rst:240 +msgid ":ref:`sqlite3-converters`" +msgstr ":ref:`sqlite3-converters`" + +#: ../../library/sqlite3.rst:241 ../../library/sqlite3.rst:515 +msgid ":ref:`sqlite3-connection-context-manager`" +msgstr ":ref:`sqlite3-connection-context-manager`" + +#: ../../library/sqlite3.rst:242 +msgid ":ref:`sqlite3-howto-row-factory`" +msgstr ":ref:`sqlite3-howto-row-factory`" -#: ../../library/sqlite3.rst:144 ../../library/sqlite3.rst:157 +#: ../../library/sqlite3.rst:244 msgid "" -"This constant is meant to be used with the *detect_types* parameter of the :" -"func:`connect` function." +":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:147 +#: ../../library/sqlite3.rst:249 +msgid "Reference" +msgstr "Referência" + +#: ../../library/sqlite3.rst:257 +msgid "Module functions" +msgstr "Funções do módulo" + +#: ../../library/sqlite3.rst:264 +msgid "Open a connection to an SQLite database." +msgstr "Abra uma conexão com um banco de dados SQLite." + +#: ../../library/sqlite3.rst:0 +msgid "Parameters" +msgstr "Parâmetros" + +#: ../../library/sqlite3.rst:266 msgid "" -"Setting it makes the :mod:`sqlite3` module parse the declared type for each " -"column it returns. It will parse out the first word of the declared type, " -"i. e. for \"integer primary key\", it will parse out \"integer\", or for " -"\"number(10)\" it will parse out \"number\". Then for that column, it will " -"look into the converters dictionary and use the converter function " -"registered for that type there." +"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." msgstr "" -#: ../../library/sqlite3.rst:160 +#: ../../library/sqlite3.rst:272 msgid "" -"Setting this makes the SQLite interface parse the column name for each " -"column it returns. It will look for a string formed [mytype] in there, and " -"then decide that 'mytype' is the type of the column. It will try to find an " -"entry of 'mytype' in the converters dictionary and then use the converter " -"function found there to return the value. The column name found in :attr:" -"`Cursor.description` does not include the type, i. e. if you use something " -"like ``'as \"Expiration date [datetime]\"'`` in your SQL, then we will parse " -"out everything until the first ``'['`` for the column name and strip the " -"preceding space: the column name would simply be \"Expiration date\"." +"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:173 +#: ../../library/sqlite3.rst:279 msgid "" -"Opens a connection to the SQLite database file *database*. By default " -"returns a :class:`Connection` object, unless a custom *factory* is given." +"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." msgstr "" -#: ../../library/sqlite3.rst:176 +#: ../../library/sqlite3.rst:293 msgid "" -"*database* is a :term:`path-like object` giving the pathname (absolute or " -"relative to the current working directory) of the database file to be " -"opened. You can use ``\":memory:\"`` to open a database connection to a " -"database that resides in RAM instead of on disk." +"The :attr:`~Connection.isolation_level` of the connection, controlling " +"whether and how transactions are implicitly opened. Can be ``\"DEFERRED\"`` " +"(default), ``\"EXCLUSIVE\"`` or ``\"IMMEDIATE\"``; or ``None`` to disable " +"opening transactions implicitly. See :ref:`sqlite3-controlling-transactions` " +"for more." msgstr "" -#: ../../library/sqlite3.rst:181 +#: ../../library/sqlite3.rst:301 msgid "" -"When a database is accessed by multiple connections, and one of the " -"processes modifies the database, the SQLite database is locked until that " -"transaction is committed. The *timeout* parameter specifies how long the " -"connection should wait for the lock to go away until raising an exception. " -"The default for the timeout parameter is 5.0 (five seconds)." +"If ``True`` (default), :exc:`ProgrammingError` will be raised if the " +"database connection is used by a thread other than the one that created it. " +"If ``False``, the connection may be accessed in multiple threads; write " +"operations may need to be serialized by the user to avoid data corruption. " +"See :attr:`threadsafety` for more information." msgstr "" -#: ../../library/sqlite3.rst:187 +#: ../../library/sqlite3.rst:310 msgid "" -"For the *isolation_level* parameter, please see the :attr:`~Connection." -"isolation_level` property of :class:`Connection` objects." +"A custom subclass of :class:`Connection` to create the connection with, if " +"not the default :class:`Connection` class." msgstr "" -#: ../../library/sqlite3.rst:190 +#: ../../library/sqlite3.rst:314 msgid "" -"SQLite natively supports only the types TEXT, INTEGER, REAL, BLOB and NULL. " -"If you want to use other types you must add support for them yourself. The " -"*detect_types* parameter and the using custom **converters** registered with " -"the module-level :func:`register_converter` function allow you to easily do " -"that." +"The number of statements that :mod:`!sqlite3` should internally cache for " +"this connection, to avoid parsing overhead. By default, 100 statements." msgstr "" -#: ../../library/sqlite3.rst:195 +#: ../../library/sqlite3.rst:319 msgid "" -"*detect_types* defaults to 0 (i. e. off, no type detection), you can set it " -"to any combination of :const:`PARSE_DECLTYPES` and :const:`PARSE_COLNAMES` " -"to turn type detection on. Due to SQLite behaviour, types can't be detected " -"for generated fields (for example ``max(data)``), even when *detect_types* " -"parameter is set. In such case, the returned type is :class:`str`." +"If set to ``True``, *database* is interpreted as a :abbr:`URI (Uniform " +"Resource Identifier)` with a file path and an optional query string. The " +"scheme part *must* be ``\"file:\"``, and the path can be relative or " +"absolute. The query string allows passing parameters to SQLite, enabling " +"various :ref:`sqlite3-uri-tricks`." msgstr "" -#: ../../library/sqlite3.rst:201 +#: ../../library/sqlite3.rst:0 +msgid "Return type" +msgstr "" + +#: ../../library/sqlite3.rst:330 msgid "" -"By default, *check_same_thread* is :const:`True` and only the creating " -"thread may use the connection. If set :const:`False`, the returned " -"connection may be shared across multiple threads. When using multiple " -"threads with the same connection writing operations should be serialized by " -"the user to avoid data corruption." +"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:206 +#: ../../library/sqlite3.rst:331 msgid "" -"By default, the :mod:`sqlite3` module uses its :class:`Connection` class for " -"the connect call. You can, however, subclass the :class:`Connection` class " -"and make :func:`connect` use your class instead by providing your class for " -"the *factory* parameter." +"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:211 -msgid "Consult the section :ref:`sqlite3-types` of this manual for details." +#: ../../library/sqlite3.rst:333 +msgid "The *uri* parameter." msgstr "" -#: ../../library/sqlite3.rst:213 +#: ../../library/sqlite3.rst:336 msgid "" -"The :mod:`sqlite3` module internally uses a statement cache to avoid SQL " -"parsing overhead. If you want to explicitly set the number of statements " -"that are cached for the connection, you can set the *cached_statements* " -"parameter. The currently implemented default is to cache 100 statements." +"*database* can now also be a :term:`path-like object`, not only a string." msgstr "" -#: ../../library/sqlite3.rst:218 +#: ../../library/sqlite3.rst:339 +msgid "The ``sqlite3.connect/handle`` auditing event." +msgstr "" + +#: ../../library/sqlite3.rst:344 msgid "" -"If *uri* is true, *database* is interpreted as a URI. This allows you to " -"specify options. For example, to open a database in read-only mode you can " -"use::" +"Return ``True`` if the string *statement* appears to contain one or more " +"complete SQL statements. No syntactic verification or parsing of any kind is " +"performed, other than checking that there are no unclosed string literals " +"and the statement is terminated by a semicolon." msgstr "" -#: ../../library/sqlite3.rst:224 +#: ../../library/sqlite3.rst:350 +msgid "For example:" +msgstr "Por exemplo:" + +#: ../../library/sqlite3.rst:359 msgid "" -"More information about this feature, including a list of recognized options, " -"can be found in the `SQLite URI documentation `_." +"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:227 +#: ../../library/sqlite3.rst:365 msgid "" -"Raises an :ref:`auditing event ` ``sqlite3.connect`` with argument " -"``database``." +"Enable or disable callback tracebacks. By default you will not get any " +"tracebacks in user-defined functions, aggregates, converters, authorizer " +"callbacks etc. If you want to debug them, you can call this function with " +"*flag* set to ``True``. Afterwards, you will get tracebacks from callbacks " +"on ``sys.stderr``. Use ``False`` to disable the feature again." msgstr "" -#: ../../library/sqlite3.rst:228 +#: ../../library/sqlite3.rst:374 msgid "" -"Raises an :ref:`auditing event ` ``sqlite3.connect/handle`` with " -"argument ``connection_handle``." +"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 " +"its sole argument, and must return a value of a :ref:`type that SQLite " +"natively understands `." msgstr "" -#: ../../library/sqlite3.rst:230 -msgid "Added the *uri* parameter." -msgstr "Adicionado o parâmetro *uri*." +#: ../../library/sqlite3.rst:382 +msgid "" +"Register the *converter* 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 " +"parameter *detect_types* of :func:`connect` for information regarding how " +"type detection works." +msgstr "" -#: ../../library/sqlite3.rst:233 +#: ../../library/sqlite3.rst:390 msgid "" -"*database* can now also be a :term:`path-like object`, not only a string." +"Note: *typename* and the name of the type in your query are matched case-" +"insensitively." msgstr "" -#: ../../library/sqlite3.rst:236 -msgid "Added the ``sqlite3.connect/handle`` auditing event." +#: ../../library/sqlite3.rst:397 +msgid "Module constants" +msgstr "Constantes do módulo" + +#: ../../library/sqlite3.rst:401 +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 " +"column name, as the converter dictionary key. The type name must be wrapped " +"in square brackets (``[]``)." msgstr "" -#: ../../library/sqlite3.rst:242 +#: ../../library/sqlite3.rst:411 msgid "" -"Registers a callable to convert a bytestring from the database into a custom " -"Python type. The callable will be invoked for all database values that are " -"of the type *typename*. Confer the parameter *detect_types* of the :func:" -"`connect` function for how the type detection works. Note that *typename* " -"and the name of the type in your query are matched in case-insensitive " -"manner." +"This flag may be combined with :const:`PARSE_DECLTYPES` using the ``|`` " +"(bitwise or) operator." msgstr "" -#: ../../library/sqlite3.rst:251 +#: ../../library/sqlite3.rst:416 msgid "" -"Registers a callable to convert the custom Python type *type* into one of " -"SQLite's supported types. The callable *callable* accepts as single " -"parameter the Python value, and must return a value of the following types: " -"int, float, str or bytes." +"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 " +"types are declared when the database table is created. :mod:`!sqlite3` will " +"look up a converter function using the first word of the declared type as " +"the converter dictionary key. For example:" msgstr "" -#: ../../library/sqlite3.rst:259 +#: ../../library/sqlite3.rst:432 msgid "" -"Returns :const:`True` if the string *sql* contains one or more complete SQL " -"statements terminated by semicolons. It does not verify that the SQL is " -"syntactically correct, only that there are no unclosed string literals and " -"the statement is terminated by a semicolon." +"This flag may be combined with :const:`PARSE_COLNAMES` using the ``|`` " +"(bitwise or) operator." msgstr "" -#: ../../library/sqlite3.rst:264 +#: ../../library/sqlite3.rst:439 msgid "" -"This can be used to build a shell for SQLite, as in the following example:" +"Flags that should be returned by the *authorizer_callback* callable passed " +"to :meth:`Connection.set_authorizer`, to indicate whether:" msgstr "" -#: ../../library/sqlite3.rst:272 +#: ../../library/sqlite3.rst:442 +msgid "Access is allowed (:const:`!SQLITE_OK`)," +msgstr "" + +#: ../../library/sqlite3.rst:443 msgid "" -"By default you will not get any tracebacks in user-defined functions, " -"aggregates, converters, authorizer callbacks etc. If you want to debug them, " -"you can call this function with *flag* set to ``True``. Afterwards, you will " -"get tracebacks from callbacks on ``sys.stderr``. Use :const:`False` to " -"disable the feature again." +"The SQL statement should be aborted with an error (:const:`!SQLITE_DENY`)" msgstr "" -#: ../../library/sqlite3.rst:282 -msgid "Connection Objects" +#: ../../library/sqlite3.rst:444 +msgid "" +"The column should be treated as a ``NULL`` value (:const:`!SQLITE_IGNORE`)" msgstr "" -#: ../../library/sqlite3.rst:286 -msgid "A SQLite database connection has the following attributes and methods:" +#: ../../library/sqlite3.rst:448 +msgid "" +"String constant stating the supported DB-API level. Required by the DB-API. " +"Hard-coded to ``\"2.0\"``." msgstr "" -#: ../../library/sqlite3.rst:290 +#: ../../library/sqlite3.rst:453 msgid "" -"Get or set the current default isolation level. :const:`None` for autocommit " -"mode or one of \"DEFERRED\", \"IMMEDIATE\" or \"EXCLUSIVE\". See section :" -"ref:`sqlite3-controlling-transactions` for a more detailed explanation." +"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:459 +msgid "The ``named`` DB-API parameter style is also supported." msgstr "" -#: ../../library/sqlite3.rst:296 +#: ../../library/sqlite3.rst:463 msgid "" -":const:`True` if a transaction is active (there are uncommitted changes), :" -"const:`False` otherwise. Read-only attribute." +"Version number of the runtime SQLite library as a :class:`string `." msgstr "" -#: ../../library/sqlite3.rst:303 +#: ../../library/sqlite3.rst:467 msgid "" -"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." +"Version number of the runtime SQLite library as a :class:`tuple` of :class:" +"`integers `." msgstr "" -#: ../../library/sqlite3.rst:309 +#: ../../library/sqlite3.rst:472 msgid "" -"This method commits the current transaction. If you don't call this method, " -"anything you did since the last call to ``commit()`` is not visible from " -"other database connections. If you wonder why you don't see the data you've " -"written to the database, please check you didn't forget to call this method." +"Integer constant required by the DB-API, stating the level of thread safety " +"the :mod:`!sqlite3` module supports. Currently hard-coded to ``1``, meaning " +"*\"Threads may share the module, but not connections.\"* However, this may " +"not always be true. You can check the underlying SQLite library's compile-" +"time threaded mode using the following query::" msgstr "" -#: ../../library/sqlite3.rst:316 +#: ../../library/sqlite3.rst:485 msgid "" -"This method rolls back any changes to the database since the last call to :" -"meth:`commit`." +"Note that the `SQLITE_THREADSAFE levels `_ do not match the DB-API 2.0 ``threadsafety`` levels." msgstr "" -#: ../../library/sqlite3.rst:321 +#: ../../library/sqlite3.rst:491 msgid "" -"This closes the database connection. Note that this does not automatically " -"call :meth:`commit`. If you just close your database connection without " -"calling :meth:`commit` first, your changes will be lost!" +"Version number of this module as a :class:`string `. This is not the " +"version of the SQLite library." msgstr "" -#: ../../library/sqlite3.rst:327 +#: ../../library/sqlite3.rst:496 msgid "" -"This is a nonstandard shortcut that creates a cursor object by calling the :" -"meth:`~Connection.cursor` method, calls the cursor's :meth:`~Cursor.execute` " -"method with the *parameters* given, and returns the cursor." +"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:503 +msgid "Connection objects" msgstr "" -#: ../../library/sqlite3.rst:334 +#: ../../library/sqlite3.rst:507 msgid "" -"This is a nonstandard shortcut that creates a cursor object by calling the :" -"meth:`~Connection.cursor` method, calls the cursor's :meth:`~Cursor." -"executemany` method with the *parameters* given, and returns the cursor." +"Each open SQLite database is represented by a ``Connection`` object, which " +"is created using :func:`sqlite3.connect`. Their main purpose is creating :" +"class:`Cursor` objects, and :ref:`sqlite3-controlling-transactions`." +msgstr "" + +#: ../../library/sqlite3.rst:514 +msgid ":ref:`sqlite3-connection-shortcuts`" +msgstr "" + +#: ../../library/sqlite3.rst:517 +msgid "An SQLite database connection has the following attributes and methods:" msgstr "" -#: ../../library/sqlite3.rst:341 +#: ../../library/sqlite3.rst:521 +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." +msgstr "" + +#: ../../library/sqlite3.rst:528 +msgid "" +"Commit any pending transaction to the database. If there is no open " +"transaction, this method is a no-op." +msgstr "" + +#: ../../library/sqlite3.rst:533 +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:538 msgid "" -"This is a nonstandard shortcut that creates a cursor object by calling the :" -"meth:`~Connection.cursor` method, calls the cursor's :meth:`~Cursor." -"executescript` method with the given *sql_script*, and returns the cursor." +"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:348 +#: ../../library/sqlite3.rst:545 msgid "" -"Creates a user-defined function that you can later use from within SQL " -"statements under the function name *name*. *num_params* is the number of " -"parameters the function accepts (if *num_params* is -1, the function may " -"take any number of arguments), and *func* is a Python callable that is " -"called as the SQL function. If *deterministic* is true, the created function " -"is marked as `deterministic `_, which " -"allows SQLite to perform additional optimizations. This flag is supported by " -"SQLite 3.8.3 or higher, :exc:`NotSupportedError` will be raised if used with " -"older versions." +"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:358 +#: ../../library/sqlite3.rst:551 msgid "" -"The function can return any of the types supported by SQLite: bytes, str, " -"int, float and ``None``." +"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:361 -msgid "The *deterministic* parameter was added." +#: ../../library/sqlite3.rst:557 +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:563 +msgid "Create or remove a user-defined SQL function." +msgstr "" + +#: ../../library/sqlite3.rst:565 +msgid "The name of the SQL function." +msgstr "O nome da função SQL." + +#: ../../library/sqlite3.rst:568 +msgid "" +"The number of arguments the SQL function can accept. If ``-1``, it may take " +"any number of arguments." +msgstr "" + +#: ../../library/sqlite3.rst:572 +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." msgstr "" -#: ../../library/sqlite3.rst:364 ../../library/sqlite3.rst:381 -#: ../../library/sqlite3.rst:505 ../../library/sqlite3.rst:656 +#: ../../library/sqlite3.rst:579 +msgid "" +"If ``True``, the created SQL function is marked as `deterministic `_, which allows SQLite to perform additional " +"optimizations." +msgstr "" + +#: ../../library/sqlite3.rst:0 +msgid "Raises" +msgstr "Levanta" + +#: ../../library/sqlite3.rst:584 +msgid "If *deterministic* is used with SQLite versions older than 3.8.3." +msgstr "" + +#: ../../library/sqlite3.rst:587 +msgid "The *deterministic* parameter." +msgstr "" + +#: ../../library/sqlite3.rst:590 ../../library/sqlite3.rst:628 +#: ../../library/sqlite3.rst:847 ../../library/sqlite3.rst:966 +#: ../../library/sqlite3.rst:1094 ../../library/sqlite3.rst:1115 msgid "Example:" msgstr "Exemplo:" -#: ../../library/sqlite3.rst:371 -msgid "Creates a user-defined aggregate function." +#: ../../library/sqlite3.rst:606 +msgid "Create or remove a user-defined SQL aggregate function." msgstr "" -#: ../../library/sqlite3.rst:373 -msgid "" -"The aggregate class must implement a ``step`` method, which accepts the " -"number of parameters *num_params* (if *num_params* is -1, the function may " -"take any number of arguments), and a ``finalize`` method which will return " -"the final result of the aggregate." +#: ../../library/sqlite3.rst:608 +msgid "The name of the SQL aggregate function." msgstr "" -#: ../../library/sqlite3.rst:378 +#: ../../library/sqlite3.rst:611 msgid "" -"The ``finalize`` method can return any of the types supported by SQLite: " -"bytes, str, int, float and ``None``." +"The number of arguments the SQL aggregate function can accept. If ``-1``, it " +"may take any number of arguments." msgstr "" -#: ../../library/sqlite3.rst:388 +#: ../../library/sqlite3.rst:615 msgid "" -"Creates a collation with the specified *name* and *callable*. The callable " -"will be passed two string arguments. It should return -1 if the first is " -"ordered lower than the second, 0 if they are ordered equal and 1 if the " -"first is ordered higher than the second. Note that this controls sorting " -"(ORDER BY in SQL) so your comparisons don't affect other SQL operations." +"A class must implement the following methods: * ``step()``: Add a row to " +"the aggregate. * ``finalize()``: Return the final result of the aggregate " +"as :ref:`a type natively supported by SQLite `. The number " +"of arguments that the ``step()`` method must accept is controlled by " +"*n_arg*. Set to ``None`` to remove an existing SQL aggregate function." +msgstr "" + +#: ../../library/sqlite3.rst:616 +msgid "A class must implement the following methods:" +msgstr "Uma classe deve implementar os seguintes métodos:" + +#: ../../library/sqlite3.rst:618 +msgid "``step()``: Add a row to the aggregate." msgstr "" -#: ../../library/sqlite3.rst:394 +#: ../../library/sqlite3.rst:619 msgid "" -"Note that the callable will get its parameters as Python bytestrings, which " -"will normally be encoded in UTF-8." +"``finalize()``: Return the final result of the aggregate as :ref:`a type " +"natively supported by SQLite `." msgstr "" -#: ../../library/sqlite3.rst:397 +#: ../../library/sqlite3.rst:622 msgid "" -"The following example shows a custom collation that sorts \"the wrong way\":" +"The number of arguments that the ``step()`` method must accept is controlled " +"by *n_arg*." msgstr "" -#: ../../library/sqlite3.rst:401 +#: ../../library/sqlite3.rst:625 +msgid "Set to ``None`` to remove an existing SQL aggregate function." +msgstr "" + +#: ../../library/sqlite3.rst:660 msgid "" -"To remove a collation, call ``create_collation`` with ``None`` as callable::" +"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:664 +msgid "``1`` if the first is ordered higher than the second" +msgstr "" + +#: ../../library/sqlite3.rst:665 +msgid "``-1`` if the first is ordered lower than the second" msgstr "" -#: ../../library/sqlite3.rst:408 +#: ../../library/sqlite3.rst:666 +msgid "``0`` if they are ordered equal" +msgstr "" + +#: ../../library/sqlite3.rst:668 +msgid "The following example shows a reverse sorting collation:" +msgstr "" + +#: ../../library/sqlite3.rst:696 +msgid "Remove a collation function by setting *callable* to ``None``." +msgstr "" + +#: ../../library/sqlite3.rst:701 msgid "" -"You can call this method from a different thread to abort any queries that " -"might be executing on the connection. The query will then abort and the " -"caller will get an exception." +"Call this method from a different thread to abort any queries that might be " +"executing on the connection. Aborted queries will raise an :exc:" +"`OperationalError`." msgstr "" -#: ../../library/sqlite3.rst:415 +#: ../../library/sqlite3.rst:708 msgid "" -"This routine registers a callback. The callback is invoked for each attempt " -"to access a column of a table in the database. The callback should return :" -"const:`SQLITE_OK` if access is allowed, :const:`SQLITE_DENY` if the entire " -"SQL statement should be aborted with an error and :const:`SQLITE_IGNORE` if " -"the column should be treated as a NULL value. These constants are available " -"in the :mod:`sqlite3` module." +"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." msgstr "" -#: ../../library/sqlite3.rst:422 +#: ../../library/sqlite3.rst:714 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 :const:`None` " +"authorized. The second and third argument will be arguments or ``None`` " "depending on the first argument. The 4th argument is the name of the " "database (\"main\", \"temp\", etc.) if applicable. The 5th argument is the " "name of the inner-most trigger or view that is responsible for the access " -"attempt or :const:`None` if this access attempt is directly from input SQL " -"code." +"attempt or ``None`` if this access attempt is directly from input SQL code." msgstr "" -#: ../../library/sqlite3.rst:429 +#: ../../library/sqlite3.rst:721 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 " -"the first one. All necessary constants are available in the :mod:`sqlite3` " +"the first one. All necessary constants are available in the :mod:`!sqlite3` " "module." msgstr "" -#: ../../library/sqlite3.rst:436 +#: ../../library/sqlite3.rst:728 msgid "" -"This routine registers a callback. The callback is invoked for every *n* " +"Register 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:441 +#: ../../library/sqlite3.rst:733 msgid "" "If you want to clear any previously installed progress handler, call the " -"method with :const:`None` for *handler*." +"method with ``None`` for *progress_handler*." msgstr "" -#: ../../library/sqlite3.rst:444 +#: ../../library/sqlite3.rst:736 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:451 +#: ../../library/sqlite3.rst:743 msgid "" -"Registers *trace_callback* to be called for each SQL statement that is " -"actually executed by the SQLite backend." +"Register callable *trace_callback* to be invoked for each SQL statement that " +"is actually executed by the SQLite backend." msgstr "" -#: ../../library/sqlite3.rst:454 +#: ../../library/sqlite3.rst:746 msgid "" -"The only argument passed to the callback is the statement (as string) 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 transaction management of the " -"Python module and the execution of triggers defined in the current database." +"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." +msgstr "" + +#: ../../library/sqlite3.rst:754 +msgid "Passing ``None`` as *trace_callback* will disable the trace callback." msgstr "" -#: ../../library/sqlite3.rst:460 +#: ../../library/sqlite3.rst:757 msgid "" -"Passing :const:`None` as *trace_callback* will disable the trace callback." +"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:467 +#: ../../library/sqlite3.rst:767 msgid "" -"This routine allows/disallows the SQLite engine to load SQLite extensions " -"from shared libraries. SQLite extensions can define new functions, " -"aggregates or whole new virtual table implementations. One well-known " -"extension is the fulltext-search extension distributed with SQLite." +"Enable the SQLite engine to load SQLite extensions from shared libraries if " +"*enabled* is ``True``; else, disallow loading SQLite extensions. SQLite " +"extensions can define new functions, aggregates or whole new virtual table " +"implementations. One well-known extension is the fulltext-search extension " +"distributed with SQLite." msgstr "" -#: ../../library/sqlite3.rst:472 ../../library/sqlite3.rst:489 -msgid "Loadable extensions are disabled by default. See [#f1]_." +#: ../../library/sqlite3.rst:776 +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`." msgstr "" -#: ../../library/sqlite3.rst:474 +#: ../../library/sqlite3.rst:783 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:478 +#: ../../library/sqlite3.rst:787 msgid "Added the ``sqlite3.enable_load_extension`` auditing event." msgstr "" -#: ../../library/sqlite3.rst:485 +#: ../../library/sqlite3.rst:830 msgid "" -"This routine loads a SQLite extension from a shared library. You have to " -"enable extension loading with :meth:`enable_load_extension` before you can " -"use this routine." +"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:491 +#: ../../library/sqlite3.rst:834 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:495 +#: ../../library/sqlite3.rst:838 msgid "Added the ``sqlite3.load_extension`` auditing event." msgstr "" -#: ../../library/sqlite3.rst:500 +#: ../../library/sqlite3.rst:843 msgid "" -"You can change this attribute to a callable that accepts the cursor and the " -"original row as a tuple and will return the real result row. This way, you " -"can implement more advanced ways of returning results, such as returning an " -"object that can also access columns by name." +"Return an :term:`iterator` to dump the database as SQL source code. Useful " +"when saving an in-memory database for later restoration. Similar to the ``." +"dump`` command in the :program:`sqlite3` shell." +msgstr "" + +#: ../../library/sqlite3.rst:861 +msgid "Create a backup of an SQLite database." msgstr "" -#: ../../library/sqlite3.rst:509 +#: ../../library/sqlite3.rst:863 msgid "" -"If returning a tuple doesn't suffice and you want name-based access to " -"columns, you should consider setting :attr:`row_factory` to the highly-" -"optimized :class:`sqlite3.Row` type. :class:`Row` provides both index-based " -"and case-insensitive name-based access to columns with almost no memory " -"overhead. It will probably be better than your own custom dictionary-based " -"approach or even a db_row based solution." +"Works even if the database is being accessed by other clients or " +"concurrently by the same connection." msgstr "" -#: ../../library/sqlite3.rst:521 +#: ../../library/sqlite3.rst:866 +msgid "The database connection to save the backup to." +msgstr "" + +#: ../../library/sqlite3.rst:869 msgid "" -"Using this attribute you can control what objects are returned for the " -"``TEXT`` data type. By default, this attribute is set to :class:`str` and " -"the :mod:`sqlite3` module will return Unicode objects for ``TEXT``. If you " -"want to return bytestrings instead, you can set it to :class:`bytes`." +"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:526 +#: ../../library/sqlite3.rst:875 msgid "" -"You can also set it to any other callable that accepts a single bytestring " -"parameter and returns the resulting object." +"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``." msgstr "" -#: ../../library/sqlite3.rst:529 -msgid "See the following example code for illustration:" +#: ../../library/sqlite3.rst:884 +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:536 +#: ../../library/sqlite3.rst:891 msgid "" -"Returns the total number of database rows that have been modified, inserted, " -"or deleted since the database connection was opened." +"The number of seconds to sleep between successive attempts to back up " +"remaining pages." msgstr "" -#: ../../library/sqlite3.rst:542 +#: ../../library/sqlite3.rst:895 +msgid "Example 1, copy an existing database into another:" +msgstr "" + +#: ../../library/sqlite3.rst:914 +msgid "Example 2, copy an existing database into a transient copy:" +msgstr "" + +#: ../../library/sqlite3.rst:926 msgid "" -"Returns an iterator to dump the database in an SQL text format. Useful when " -"saving an in-memory database for later restoration. This function provides " -"the same capabilities as the :kbd:`.dump` command in the :program:`sqlite3` " -"shell." +"This read-only attribute corresponds to the low-level SQLite `autocommit " +"mode`_." msgstr "" -#: ../../library/sqlite3.rst:547 -msgid "Example::" -msgstr "Exemplo::" +#: ../../library/sqlite3.rst:929 +msgid "" +"``True`` if a transaction is active (there are uncommitted changes), " +"``False`` otherwise." +msgstr "" -#: ../../library/sqlite3.rst:561 +#: ../../library/sqlite3.rst:936 msgid "" -"This method makes a backup of a SQLite database even while it's being " -"accessed by other clients, or concurrently by the same connection. The copy " -"will be written into the mandatory argument *target*, that must be another :" -"class:`Connection` instance." +"This attribute controls the :ref:`transaction handling ` performed by :mod:`!sqlite3`. If set to ``None``, " +"transactions are never implicitly opened. If set to one of ``\"DEFERRED\"``, " +"``\"IMMEDIATE\"``, or ``\"EXCLUSIVE\"``, corresponding to the underlying " +"`SQLite transaction behaviour`_, implicit :ref:`transaction management " +"` is performed." msgstr "" -#: ../../library/sqlite3.rst:566 +#: ../../library/sqlite3.rst:944 msgid "" -"By default, or when *pages* is either ``0`` or a negative integer, the " -"entire database is copied in a single step; otherwise the method performs a " -"loop copying up to *pages* pages at a time." +"If not overridden by the *isolation_level* parameter of :func:`connect`, the " +"default is ``\"\"``, which is an alias for ``\"DEFERRED\"``." msgstr "" -#: ../../library/sqlite3.rst:570 +#: ../../library/sqlite3.rst:949 msgid "" -"If *progress* is specified, it must either be ``None`` or a callable object " -"that will be executed at each iteration with three integer arguments, " -"respectively the *status* of the last iteration, the *remaining* number of " -"pages still to be copied and the *total* number of pages." +"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`." msgstr "" -#: ../../library/sqlite3.rst:575 +#: ../../library/sqlite3.rst:956 ../../library/sqlite3.rst:1239 +#: ../../library/sqlite3.rst:1262 +msgid "See :ref:`sqlite3-howto-row-factory` for more details." +msgstr "Consulte :ref:`sqlite3-howto-row-factory` para mais detalhes." + +#: ../../library/sqlite3.rst:960 msgid "" -"The *name* argument specifies the database name that will be copied: it must " -"be a string containing either ``\"main\"``, the default, to indicate the " -"main database, ``\"temp\"`` to indicate the temporary database or the name " -"specified after the ``AS`` keyword in an ``ATTACH DATABASE`` statement for " -"an attached database." +"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``." msgstr "" -#: ../../library/sqlite3.rst:581 +#: ../../library/sqlite3.rst:1000 msgid "" -"The *sleep* argument specifies the number of seconds to sleep by between " -"successive attempts to backup remaining pages, can be specified either as an " -"integer or a floating point value." +"Return the total number of database rows that have been modified, inserted, " +"or deleted since the database connection was opened." msgstr "" -#: ../../library/sqlite3.rst:585 -msgid "Example 1, copy an existing database into another::" +#: ../../library/sqlite3.rst:1006 +msgid "Cursor objects" msgstr "" -#: ../../library/sqlite3.rst:599 -msgid "Example 2, copy an existing database into a transient copy::" +#: ../../library/sqlite3.rst:1008 +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 `." msgstr "" -#: ../../library/sqlite3.rst:613 -msgid "Cursor Objects" +#: ../../library/sqlite3.rst:1015 +msgid "" +"Cursor objects are :term:`iterators `, meaning that if you :meth:" +"`~Cursor.execute` a ``SELECT`` query, you can simply iterate over the cursor " +"to fetch the resulting rows:" msgstr "" -#: ../../library/sqlite3.rst:617 +#: ../../library/sqlite3.rst:1040 msgid "A :class:`Cursor` instance has the following attributes and methods." msgstr "" -#: ../../library/sqlite3.rst:624 +#: ../../library/sqlite3.rst:1047 msgid "" -"Executes an SQL statement. Values may be bound to the statement using :ref:" -"`placeholders `." +"Execute SQL a single SQL statement, optionally binding Python values using :" +"ref:`placeholders `." msgstr "" -#: ../../library/sqlite3.rst:627 +#: ../../library/sqlite3.rst:1051 +msgid "A single SQL statement." +msgstr "" + +#: ../../library/sqlite3.rst:1054 msgid "" -":meth:`execute` will only execute a single SQL statement. If you try to " -"execute more than one statement with it, it will raise a :exc:`.Warning`. " -"Use :meth:`executescript` if you want to execute multiple SQL statements " -"with one call." +"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:635 +#: ../../library/sqlite3.rst:1061 ../../library/sqlite3.rst:1091 +msgid "If *sql* contains more than one SQL statement." +msgstr "" + +#: ../../library/sqlite3.rst:1064 +msgid "" +"If :attr:`~Connection.isolation_level` is not ``None``, *sql* is an " +"``INSERT``, ``UPDATE``, ``DELETE``, or ``REPLACE`` statement, and there is " +"no open transaction, a transaction is implicitly opened before executing " +"*sql*." +msgstr "" + +#: ../../library/sqlite3.rst:1069 +msgid "Use :meth:`executescript` to execute multiple SQL statements." +msgstr "" + +#: ../../library/sqlite3.rst:1073 +msgid "" +"For every item in *parameters*, repeatedly execute the :ref:`parameterized " +"` SQL statement *sql*." +msgstr "" + +#: ../../library/sqlite3.rst:1077 +msgid "Uses the same implicit transaction handling as :meth:`~Cursor.execute`." +msgstr "" + +#: ../../library/sqlite3.rst:1079 +msgid "A single SQL :abbr:`DML (Data Manipulation Language)` statement." +msgstr "" + +#: ../../library/sqlite3.rst:1082 msgid "" -"Executes a :ref:`parameterized ` SQL command against " -"all parameter sequences or mappings found in the sequence " -"*seq_of_parameters*. The :mod:`sqlite3` module also allows using an :term:" -"`iterator` yielding parameters instead of a sequence." +"An :term:`!iterable` of parameters to bind with the placeholders in *sql*. " +"See :ref:`sqlite3-placeholders`." msgstr "" -#: ../../library/sqlite3.rst:642 -msgid "Here's a shorter example using a :term:`generator`:" +#: ../../library/sqlite3.rst:1088 +msgid "If *sql* is not a DML statment." msgstr "" -#: ../../library/sqlite3.rst:649 +#: ../../library/sqlite3.rst:1107 msgid "" -"This is a nonstandard convenience method for executing multiple SQL " -"statements at once. It issues a ``COMMIT`` statement first, then executes " -"the SQL script it gets as a parameter. This method disregards :attr:" -"`isolation_level`; any transaction control must be added to *sql_script*." +"Execute the SQL statements in *sql_script*. If there is a pending " +"transaction, an implicit ``COMMIT`` statement is executed first. No other " +"implicit transaction control is performed; any transaction control must be " +"added to *sql_script*." msgstr "" -#: ../../library/sqlite3.rst:654 -msgid "*sql_script* can be an instance of :class:`str`." +#: ../../library/sqlite3.rst:1113 +msgid "*sql_script* must be a :class:`string `." msgstr "" -#: ../../library/sqlite3.rst:663 +#: ../../library/sqlite3.rst:1131 msgid "" -"Fetches the next row of a query result set, returning a single sequence, or :" -"const:`None` when no more data is available." +"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:669 +#: ../../library/sqlite3.rst:1139 msgid "" -"Fetches the next set of rows of a query result, returning a list. An empty " -"list is returned when no more rows are available." +"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:672 +#: ../../library/sqlite3.rst:1142 msgid "" "The number of rows to fetch per call is specified by the *size* parameter. " -"If it is not given, the cursor's arraysize determines the number of rows to " -"be fetched. The method should try to fetch as many rows as indicated by the " -"size parameter. If this is not possible due to the specified number of rows " -"not being available, fewer rows may be returned." +"If *size* is not given, :attr:`arraysize` determines the number of rows to " +"be fetched. If fewer than *size* rows are available, as many rows as are " +"available are returned." msgstr "" -#: ../../library/sqlite3.rst:678 +#: ../../library/sqlite3.rst:1148 msgid "" "Note there are performance considerations involved with the *size* " "parameter. For optimal performance, it is usually best to use the arraysize " @@ -783,526 +1156,687 @@ msgid "" "the same value from one :meth:`fetchmany` call to the next." msgstr "" -#: ../../library/sqlite3.rst:685 +#: ../../library/sqlite3.rst:1155 msgid "" -"Fetches all (remaining) rows of a query result, returning a list. Note that " -"the cursor's arraysize attribute can affect the performance of this " -"operation. An empty list is returned when no rows are available." +"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:691 +#: ../../library/sqlite3.rst:1162 msgid "Close the cursor now (rather than whenever ``__del__`` is called)." msgstr "" -#: ../../library/sqlite3.rst:693 +#: ../../library/sqlite3.rst:1164 msgid "" "The cursor will be unusable from this point forward; a :exc:" "`ProgrammingError` exception will be raised if any operation is attempted " "with the cursor." msgstr "" -#: ../../library/sqlite3.rst:698 -msgid "" -"Although the :class:`Cursor` class of the :mod:`sqlite3` module implements " -"this attribute, the database engine's own support for the determination of " -"\"rows affected\"/\"rows selected\" is quirky." -msgstr "" - -#: ../../library/sqlite3.rst:702 -msgid "" -"For :meth:`executemany` statements, the number of modifications are summed " -"up into :attr:`rowcount`." +#: ../../library/sqlite3.rst:1169 ../../library/sqlite3.rst:1173 +msgid "Required by the DB-API. Does nothing in :mod:`!sqlite3`." msgstr "" -#: ../../library/sqlite3.rst:705 +#: ../../library/sqlite3.rst:1177 msgid "" -"As required by the Python DB API Spec, the :attr:`rowcount` attribute \"is " -"-1 in case no ``executeXX()`` has been performed on the cursor or the " -"rowcount of the last operation is not determinable by the interface\". This " -"includes ``SELECT`` statements because we cannot determine the number of " -"rows a query produced until all rows were fetched." +"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:713 +#: ../../library/sqlite3.rst:1182 msgid "" -"This read-only attribute provides the rowid of the last modified row. It is " -"only set if you issued an ``INSERT`` or a ``REPLACE`` statement using the :" -"meth:`execute` method. For operations other than ``INSERT`` or ``REPLACE`` " -"or when :meth:`executemany` is called, :attr:`lastrowid` is set to :const:" -"`None`." +"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*:" msgstr "" -#: ../../library/sqlite3.rst:719 +#: ../../library/sqlite3.rst:1196 msgid "" -"If the ``INSERT`` or ``REPLACE`` statement failed to insert the previous " -"successful rowid is returned." +"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:722 -msgid "Added support for the ``REPLACE`` statement." +#: ../../library/sqlite3.rst:1200 +msgid "It is set for ``SELECT`` statements without any matching rows as well." msgstr "" -#: ../../library/sqlite3.rst:727 +#: ../../library/sqlite3.rst:1204 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-only attribute that provides the row id of the last inserted row. It is " +"only updated after successful ``INSERT`` or ``REPLACE`` statements using " +"the :meth:`execute` method. For other statements, after :meth:`executemany` " +"or :meth:`executescript`, or if the insertion failed, the value of " +"``lastrowid`` is left unchanged. The initial value of ``lastrowid`` is " +"``None``." msgstr "" -#: ../../library/sqlite3.rst:732 -msgid "" -"This read-only attribute 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 :const:`None`." +#: ../../library/sqlite3.rst:1212 +msgid "Inserts into ``WITHOUT ROWID`` tables are not recorded." msgstr "" -#: ../../library/sqlite3.rst:736 -msgid "It is set for ``SELECT`` statements without any matching rows as well." +#: ../../library/sqlite3.rst:1214 +msgid "Added support for the ``REPLACE`` statement." msgstr "" -#: ../../library/sqlite3.rst:740 +#: ../../library/sqlite3.rst:1219 msgid "" -"This read-only attribute provides the SQLite database :class:`Connection` " -"used by the :class:`Cursor` object. A :class:`Cursor` object created by " -"calling :meth:`con.cursor() ` will have a :attr:" -"`connection` attribute that refers to *con*::" +"Read-only attribute that provides the number of modified rows for " +"``INSERT``, ``UPDATE``, ``DELETE``, and ``REPLACE`` statements; is ``-1`` " +"for other statements, including :abbr:`CTE (Common Table Expression)` " +"queries. It is only updated by the :meth:`execute` and :meth:`executemany` " +"methods." msgstr "" -#: ../../library/sqlite3.rst:753 -msgid "Row Objects" +#: ../../library/sqlite3.rst:1227 +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 " +"included :class:`sqlite3.Row`; or a :term:`callable` that accepts two " +"arguments, a :class:`Cursor` object and the :class:`!tuple` of row values, " +"and returns a custom object representing an SQLite row." msgstr "" -#: ../../library/sqlite3.rst:757 +#: ../../library/sqlite3.rst:1234 msgid "" -"A :class:`Row` instance serves as a highly optimized :attr:`~Connection." -"row_factory` for :class:`Connection` objects. It tries to mimic a tuple in " -"most of its features." +"Defaults to what :attr:`Connection.row_factory` was set to when the :class:`!" +"Cursor` was created. Assigning to this attribute does not affect :attr:" +"`Connection.row_factory` of the parent connection." +msgstr "" + +#: ../../library/sqlite3.rst:1250 +msgid "Row objects" msgstr "" -#: ../../library/sqlite3.rst:761 +#: ../../library/sqlite3.rst:1254 msgid "" -"It supports mapping access by column name and index, iteration, " -"representation, equality testing and :func:`len`." +"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:764 +#: ../../library/sqlite3.rst:1259 msgid "" -"If two :class:`Row` objects have exactly the same columns and their members " -"are equal, they compare equal." +"Two :class:`!Row` objects compare equal if they have identical column names " +"and values." msgstr "" -#: ../../library/sqlite3.rst:769 +#: ../../library/sqlite3.rst:1266 msgid "" -"This method returns a list of column names. Immediately after a query, it is " -"the first member of each tuple in :attr:`Cursor.description`." +"Return a :class:`list` of column names as :class:`strings `. " +"Immediately after a query, it is the first member of each tuple in :attr:" +"`Cursor.description`." msgstr "" -#: ../../library/sqlite3.rst:772 +#: ../../library/sqlite3.rst:1270 msgid "Added support of slicing." msgstr "" -#: ../../library/sqlite3.rst:775 -msgid "Let's assume we initialize a table as in the example given above::" +#: ../../library/sqlite3.rst:1275 +msgid "PrepareProtocol objects" msgstr "" -#: ../../library/sqlite3.rst:787 -msgid "Now we plug :class:`Row` in::" +#: ../../library/sqlite3.rst:1279 +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:819 +#: ../../library/sqlite3.rst:1287 msgid "Exceptions" msgstr "Exceções" -#: ../../library/sqlite3.rst:823 -msgid "A subclass of :exc:`Exception`." +#: ../../library/sqlite3.rst:1289 +msgid "The exception hierarchy is defined by the DB-API 2.0 (:pep:`249`)." msgstr "" -#: ../../library/sqlite3.rst:827 +#: ../../library/sqlite3.rst:1293 msgid "" -"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:" +"This exception is raised by :mod:`!sqlite3` if an SQL query is not a :class:" +"`string `, or if multiple statements are passed to :meth:`~Cursor." +"execute` or :meth:`~Cursor.executemany`. ``Warning`` is a subclass of :exc:" "`Exception`." +msgstr "" -#: ../../library/sqlite3.rst:832 -msgid "Exception raised for errors that are related to the database." +#: ../../library/sqlite3.rst:1300 +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:1306 +msgid "" +"This exception is raised by :mod:`!sqlite3` for fetch across rollback, or " +"if :mod:`!sqlite3` is unable to bind parameters. ``InterfaceError`` is a " +"subclass of :exc:`Error`." +msgstr "" + +#: ../../library/sqlite3.rst:1312 +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 " +"implicitly through the specialised subclasses. ``DatabaseError`` is a " +"subclass of :exc:`Error`." +msgstr "" + +#: ../../library/sqlite3.rst:1319 +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:836 +#: ../../library/sqlite3.rst:1325 +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 " +"database path is not found, or a transaction could not be processed. " +"``OperationalError`` is a subclass of :exc:`DatabaseError`." +msgstr "" + +#: ../../library/sqlite3.rst:1333 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:841 +#: ../../library/sqlite3.rst:1338 msgid "" -"Exception raised for programming errors, e.g. table not found or already " -"exists, syntax error in the SQL statement, wrong number of parameters " -"specified, etc. It is a subclass of :exc:`DatabaseError`." +"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:847 +#: ../../library/sqlite3.rst:1345 msgid "" -"Exception raised for errors that are related to the database's operation and " -"not necessarily under the control of the programmer, e.g. an unexpected " -"disconnect occurs, the data source name is not found, a transaction could " -"not be processed, etc. It is a subclass of :exc:`DatabaseError`." +"Exception raised for :mod:`!sqlite3` API programming errors, for example " +"trying to operate on a closed :class:`Connection`, or trying to execute non-" +"DML statements with :meth:`~Cursor.executemany`. ``ProgrammingError`` is a " +"subclass of :exc:`DatabaseError`." msgstr "" -#: ../../library/sqlite3.rst:854 +#: ../../library/sqlite3.rst:1352 msgid "" -"Exception raised in case a method or database API was used which is not " -"supported by the database, e.g. calling the :meth:`~Connection.rollback` " -"method on a connection that does not support transaction or has transactions " -"turned off. It is a subclass of :exc:`DatabaseError`." +"Exception raised in case a method or database API is not supported by the " +"underlying SQLite library. For example, setting *deterministic* to ``True`` " +"in :meth:`~Connection.create_function`, if the underlying SQLite library " +"does not support deterministic functions. ``NotSupportedError`` is a " +"subclass of :exc:`DatabaseError`." msgstr "" -#: ../../library/sqlite3.rst:863 +#: ../../library/sqlite3.rst:1362 msgid "SQLite and Python types" msgstr "" -#: ../../library/sqlite3.rst:867 -msgid "Introduction" -msgstr "Introdução" - -#: ../../library/sqlite3.rst:869 +#: ../../library/sqlite3.rst:1364 msgid "" "SQLite natively supports the following types: ``NULL``, ``INTEGER``, " "``REAL``, ``TEXT``, ``BLOB``." msgstr "" -#: ../../library/sqlite3.rst:872 +#: ../../library/sqlite3.rst:1367 msgid "" "The following Python types can thus be sent to SQLite without any problem:" msgstr "" -#: ../../library/sqlite3.rst:875 ../../library/sqlite3.rst:892 +#: ../../library/sqlite3.rst:1370 ../../library/sqlite3.rst:1387 msgid "Python type" -msgstr "Python type" +msgstr "Tipo em Python" -#: ../../library/sqlite3.rst:875 ../../library/sqlite3.rst:892 +#: ../../library/sqlite3.rst:1370 ../../library/sqlite3.rst:1387 msgid "SQLite type" -msgstr "Tipo SQLite" +msgstr "Tipo em SQLite" -#: ../../library/sqlite3.rst:877 ../../library/sqlite3.rst:894 -msgid ":const:`None`" -msgstr ":const:`None`" +#: ../../library/sqlite3.rst:1372 ../../library/sqlite3.rst:1389 +msgid "``None``" +msgstr "``None``" -#: ../../library/sqlite3.rst:877 ../../library/sqlite3.rst:894 +#: ../../library/sqlite3.rst:1372 ../../library/sqlite3.rst:1389 msgid "``NULL``" msgstr "``NULL``" -#: ../../library/sqlite3.rst:879 ../../library/sqlite3.rst:896 +#: ../../library/sqlite3.rst:1374 ../../library/sqlite3.rst:1391 msgid ":class:`int`" msgstr ":class:`int`" -#: ../../library/sqlite3.rst:879 ../../library/sqlite3.rst:896 +#: ../../library/sqlite3.rst:1374 ../../library/sqlite3.rst:1391 msgid "``INTEGER``" msgstr "``INTEGER``" -#: ../../library/sqlite3.rst:881 ../../library/sqlite3.rst:898 +#: ../../library/sqlite3.rst:1376 ../../library/sqlite3.rst:1393 msgid ":class:`float`" msgstr ":class:`float`" -#: ../../library/sqlite3.rst:881 ../../library/sqlite3.rst:898 +#: ../../library/sqlite3.rst:1376 ../../library/sqlite3.rst:1393 msgid "``REAL``" msgstr "``REAL``" -#: ../../library/sqlite3.rst:883 +#: ../../library/sqlite3.rst:1378 msgid ":class:`str`" msgstr ":class:`str`" -#: ../../library/sqlite3.rst:883 ../../library/sqlite3.rst:900 +#: ../../library/sqlite3.rst:1378 ../../library/sqlite3.rst:1395 msgid "``TEXT``" msgstr "``TEXT``" -#: ../../library/sqlite3.rst:885 ../../library/sqlite3.rst:903 +#: ../../library/sqlite3.rst:1380 ../../library/sqlite3.rst:1398 msgid ":class:`bytes`" msgstr ":class:`bytes`" -#: ../../library/sqlite3.rst:885 ../../library/sqlite3.rst:903 +#: ../../library/sqlite3.rst:1380 ../../library/sqlite3.rst:1398 msgid "``BLOB``" msgstr "``BLOB``" -#: ../../library/sqlite3.rst:889 +#: ../../library/sqlite3.rst:1384 msgid "This is how SQLite types are converted to Python types by default:" msgstr "" -#: ../../library/sqlite3.rst:900 +#: ../../library/sqlite3.rst:1395 msgid "depends on :attr:`~Connection.text_factory`, :class:`str` by default" msgstr "" -#: ../../library/sqlite3.rst:906 +#: ../../library/sqlite3.rst:1401 msgid "" -"The type system of the :mod:`sqlite3` module is extensible in two ways: you " -"can store additional Python types in a SQLite database via object " -"adaptation, and you can let the :mod:`sqlite3` module convert SQLite types " -"to different Python types via converters." +"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 " +"adapters `, and you can let the :mod:`!sqlite3` module " +"convert SQLite types to Python types via :ref:`converters `." msgstr "" -#: ../../library/sqlite3.rst:913 -msgid "Using adapters to store additional Python types in SQLite databases" +#: ../../library/sqlite3.rst:1411 +msgid "Default adapters and converters" +msgstr "" + +#: ../../library/sqlite3.rst:1413 +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:915 +#: ../../library/sqlite3.rst:1416 msgid "" -"As described before, SQLite supports only a limited set of types natively. " -"To use other Python types with SQLite, you must **adapt** them to one of the " -"sqlite3 module's supported types for SQLite: one of NoneType, int, float, " -"str, bytes." +"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:920 +#: ../../library/sqlite3.rst:1420 msgid "" -"There are two ways to enable the :mod:`sqlite3` module to adapt a custom " -"Python type to one of the supported ones." +"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:925 -msgid "Letting your object adapt itself" +#: ../../library/sqlite3.rst:1424 +msgid "The following example demonstrates this." msgstr "" -#: ../../library/sqlite3.rst:927 +#: ../../library/sqlite3.rst:1428 msgid "" -"This is a good approach if you write the class yourself. Let's suppose you " -"have a class like this::" +"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:934 +#: ../../library/sqlite3.rst:1434 msgid "" -"Now you want to store the point in a single SQLite column. First you'll " -"have to choose one of the supported types to be used for representing the " -"point. Let's just use str and separate the coordinates using a semicolon. " -"Then you need to give your class a method ``__conform__(self, protocol)`` " -"which must return the converted value. The parameter *protocol* will be :" -"class:`PrepareProtocol`." +"The default \"timestamp\" converter ignores UTC offsets in the database and " +"always returns a naive :class:`datetime.datetime` object. To preserve UTC " +"offsets in timestamps, either leave converters disabled, or register an " +"offset-aware converter with :func:`register_converter`." msgstr "" -#: ../../library/sqlite3.rst:944 -msgid "Registering an adapter callable" +#: ../../library/sqlite3.rst:1443 +msgid "How-to guides" +msgstr "Guias de como fazer" + +#: ../../library/sqlite3.rst:1448 +msgid "How to use placeholders to bind values in SQL queries" msgstr "" -#: ../../library/sqlite3.rst:946 +#: ../../library/sqlite3.rst:1450 msgid "" -"The other possibility is to create a function that converts the type to the " -"string representation and register the function with :meth:" -"`register_adapter`." +"SQL operations usually need to use values from Python variables. However, " +"beware of using Python's string operations to assemble queries, as they are " +"vulnerable to `SQL injection attacks`_. For example, an attacker can simply " +"close the single quote and inject ``OR TRUE`` to select all rows::" msgstr "" -#: ../../library/sqlite3.rst:951 +#: ../../library/sqlite3.rst:1463 msgid "" -"The :mod:`sqlite3` module has two default adapters for Python's built-in :" -"class:`datetime.date` and :class:`datetime.datetime` types. Now let's " -"suppose we want to store :class:`datetime.datetime` objects not in ISO " -"representation, but as a Unix timestamp." +"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 " +"values into the query by providing them as a :class:`tuple` of values to the " +"second argument of the cursor's :meth:`~Cursor.execute` method." msgstr "" -#: ../../library/sqlite3.rst:960 -msgid "Converting SQLite values to custom Python types" +#: ../../library/sqlite3.rst:1468 +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, " +"*parameters* must be a :term:`sequence` whose length must match the number " +"of placeholders, or a :exc:`ProgrammingError` is raised. For the named " +"style, *parameters* should be an instance of a :class:`dict` (or a " +"subclass), which must contain keys for all named parameters; any extra items " +"are ignored. Here's an example of both styles:" msgstr "" -#: ../../library/sqlite3.rst:962 +#: ../../library/sqlite3.rst:1505 msgid "" -"Writing an adapter lets you send custom Python types to SQLite. But to make " -"it really useful we need to make the Python to SQLite to Python roundtrip " -"work." +":pep:`249` numeric placeholders are *not* supported. If used, they will be " +"interpreted as named placeholders." msgstr "" -#: ../../library/sqlite3.rst:965 -msgid "Enter converters." +#: ../../library/sqlite3.rst:1512 +msgid "How to adapt custom Python types to SQLite values" msgstr "" -#: ../../library/sqlite3.rst:967 +#: ../../library/sqlite3.rst:1514 msgid "" -"Let's go back to the :class:`Point` class. We stored the x and y coordinates " -"separated via semicolons as strings in SQLite." +"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:970 +#: ../../library/sqlite3.rst:1518 msgid "" -"First, we'll define a converter function that accepts the string as a " -"parameter and constructs a :class:`Point` object from it." +"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 " +"precedence above the former. For a library that exports a custom type, it " +"may make sense to enable that type to adapt itself. As an application " +"developer, it may make more sense to take direct control by registering " +"custom adapter functions." msgstr "" -#: ../../library/sqlite3.rst:975 -msgid "" -"Converter functions **always** get called with a :class:`bytes` object, no " -"matter under which data type you sent the value to SQLite." +#: ../../library/sqlite3.rst:1530 +msgid "How to write adaptable objects" msgstr "" -#: ../../library/sqlite3.rst:984 +#: ../../library/sqlite3.rst:1532 msgid "" -"Now you need to make the :mod:`sqlite3` module know that what you select " -"from the database is actually a point. There are two ways of doing this:" +"Suppose we have a :class:`!Point` class that represents a pair of " +"coordinates, ``x`` and ``y``, in a Cartesian coordinate system. The " +"coordinate pair will be stored as a text string in the database, using a " +"semicolon to separate the coordinates. This can be implemented by adding a " +"``__conform__(self, protocol)`` method which returns the adapted value. The " +"object passed to *protocol* will be of type :class:`PrepareProtocol`." msgstr "" -#: ../../library/sqlite3.rst:987 -msgid "Implicitly via the declared type" +#: ../../library/sqlite3.rst:1563 +msgid "How to register adapter callables" +msgstr "" + +#: ../../library/sqlite3.rst:1565 +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:989 -msgid "Explicitly via the column name" +#: ../../library/sqlite3.rst:1595 +msgid "How to convert SQLite values to custom Python types" msgstr "" -#: ../../library/sqlite3.rst:991 +#: ../../library/sqlite3.rst:1597 msgid "" -"Both ways are described in section :ref:`sqlite3-module-contents`, in the " -"entries for the constants :const:`PARSE_DECLTYPES` and :const:" -"`PARSE_COLNAMES`." +"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:994 -msgid "The following example illustrates both approaches." +#: ../../library/sqlite3.rst:1602 +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:1000 -msgid "Default adapters and converters" +#: ../../library/sqlite3.rst:1605 +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:1002 +#: ../../library/sqlite3.rst:1610 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." +"Converter functions are **always** passed a :class:`bytes` object, no matter " +"the underlying SQLite data type." msgstr "" -#: ../../library/sqlite3.rst:1005 +#: ../../library/sqlite3.rst:1619 msgid "" -"The default converters are registered under the name \"date\" for :class:" -"`datetime.date` and under the name \"timestamp\" for :class:`datetime." -"datetime`." +"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:1009 +#: ../../library/sqlite3.rst:1623 +msgid "Implicit: set *detect_types* to :const:`PARSE_DECLTYPES`" +msgstr "" + +#: ../../library/sqlite3.rst:1624 +msgid "Explicit: set *detect_types* to :const:`PARSE_COLNAMES`" +msgstr "" + +#: ../../library/sqlite3.rst:1625 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." +"Both: set *detect_types* to ``sqlite3.PARSE_DECLTYPES | sqlite3." +"PARSE_COLNAMES``. Column names take precedence over declared types." msgstr "" -#: ../../library/sqlite3.rst:1013 -msgid "The following example demonstrates this." +#: ../../library/sqlite3.rst:1629 +msgid "The following example illustrates the implicit and explicit approaches:" +msgstr "" + +#: ../../library/sqlite3.rst:1680 +msgid "Adapter and converter recipes" msgstr "" -#: ../../library/sqlite3.rst:1017 +#: ../../library/sqlite3.rst:1682 +msgid "This section shows recipes for common adapters and converters." +msgstr "" + +#: ../../library/sqlite3.rst:1744 +msgid "How to use connection shortcut methods" +msgstr "" + +#: ../../library/sqlite3.rst:1746 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." +"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:1787 +msgid "How to use the connection context manager" msgstr "" -#: ../../library/sqlite3.rst:1025 -msgid "Controlling Transactions" -msgstr "Controlando Transações" +#: ../../library/sqlite3.rst:1789 +msgid "" +"A :class:`Connection` object can be used as a context manager that " +"automatically commits or rolls back open transactions when leaving the body " +"of the context manager. If the body of the :keyword:`with` statement " +"finishes without exceptions, the transaction is committed. If this commit " +"fails, or if the body of the ``with`` statement raises an uncaught " +"exception, the transaction is rolled back." +msgstr "" -#: ../../library/sqlite3.rst:1027 +#: ../../library/sqlite3.rst:1798 msgid "" -"The underlying ``sqlite3`` library operates in ``autocommit`` mode by " -"default, but the Python :mod:`sqlite3` module by default does not." +"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:1030 +#: ../../library/sqlite3.rst:1803 msgid "" -"``autocommit`` mode means that statements that modify the database take " -"effect immediately. A ``BEGIN`` or ``SAVEPOINT`` statement disables " -"``autocommit`` mode, and a ``COMMIT``, a ``ROLLBACK``, or a ``RELEASE`` that " -"ends the outermost transaction, turns ``autocommit`` mode back on." +"The context manager neither implicitly opens a new transaction nor closes " +"the connection." +msgstr "" + +#: ../../library/sqlite3.rst:1836 +msgid "How to work with SQLite URIs" +msgstr "" + +#: ../../library/sqlite3.rst:1838 +msgid "Some useful URI tricks include:" +msgstr "" + +#: ../../library/sqlite3.rst:1840 +msgid "Open a database in read-only mode:" msgstr "" -#: ../../library/sqlite3.rst:1035 +#: ../../library/sqlite3.rst:1849 msgid "" -"The Python :mod:`sqlite3` module by default issues a ``BEGIN`` statement " -"implicitly before a Data Modification Language (DML) statement (i.e. " -"``INSERT``/``UPDATE``/``DELETE``/``REPLACE``)." +"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:1859 +msgid "Create a shared named in-memory database:" msgstr "" -#: ../../library/sqlite3.rst:1039 +#: ../../library/sqlite3.rst:1873 msgid "" -"You can control which kind of ``BEGIN`` statements :mod:`sqlite3` implicitly " -"executes via the *isolation_level* parameter to the :func:`connect` call, or " -"via the :attr:`isolation_level` property of connections. If you specify no " -"*isolation_level*, a plain ``BEGIN`` is used, which is equivalent to " -"specifying ``DEFERRED``. Other possible values are ``IMMEDIATE`` and " -"``EXCLUSIVE``." +"More information about this feature, including a list of parameters, can be " +"found in the `SQLite URI documentation`_." +msgstr "" + +#: ../../library/sqlite3.rst:1882 +msgid "How to create and use row factories" msgstr "" -#: ../../library/sqlite3.rst:1046 +#: ../../library/sqlite3.rst:1884 msgid "" -"You can disable the :mod:`sqlite3` module's implicit transaction management " -"by setting :attr:`isolation_level` to ``None``. This will leave the " -"underlying ``sqlite3`` library operating in ``autocommit`` mode. You can " -"then completely control the transaction state by explicitly issuing " -"``BEGIN``, ``ROLLBACK``, ``SAVEPOINT``, and ``RELEASE`` statements in your " -"code." +"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:1052 +#: ../../library/sqlite3.rst:1889 msgid "" -"Note that :meth:`~Cursor.executescript` disregards :attr:`isolation_level`; " -"any transaction control must be added explicitly." +"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:1055 +#: ../../library/sqlite3.rst:1894 msgid "" -":mod:`sqlite3` used to implicitly commit an open transaction before DDL " -"statements. This is no longer the case." +":class:`!Row` provides indexed and case-insensitive named access to columns, " +"with minimal memory overhead and performance impact over a :class:`!tuple`. " +"To use :class:`!Row` as a row factory, assign it to the :attr:`!row_factory` " +"attribute:" msgstr "" -#: ../../library/sqlite3.rst:1061 -msgid "Using :mod:`sqlite3` efficiently" +#: ../../library/sqlite3.rst:1904 +msgid "Queries now return :class:`!Row` objects:" msgstr "" -#: ../../library/sqlite3.rst:1065 -msgid "Using shortcut methods" +#: ../../library/sqlite3.rst:1919 +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:1067 +#: ../../library/sqlite3.rst:1928 msgid "" -"Using the nonstandard :meth:`execute`, :meth:`executemany` and :meth:" -"`executescript` methods of the :class:`Connection` object, 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 it, queries now return a :class:`!dict` instead of a :class:`!tuple`:" msgstr "" -#: ../../library/sqlite3.rst:1079 -msgid "Accessing columns by name instead of by index" +#: ../../library/sqlite3.rst:1938 +msgid "The following row factory returns a :term:`named tuple`:" msgstr "" -#: ../../library/sqlite3.rst:1081 +#: ../../library/sqlite3.rst:1949 +msgid ":func:`!namedtuple_factory` can be used as follows:" +msgstr "" + +#: ../../library/sqlite3.rst:1964 msgid "" -"One useful feature of the :mod:`sqlite3` module is the built-in :class:" -"`sqlite3.Row` class designed to be used as a row factory." +"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:1084 +#: ../../library/sqlite3.rst:1972 +msgid "Explanation" +msgstr "Explicação" + +#: ../../library/sqlite3.rst:1977 +msgid "Transaction control" +msgstr "Controle de transações" + +#: ../../library/sqlite3.rst:1979 msgid "" -"Rows wrapped with this class can be accessed both by index (like tuples) and " -"case-insensitively by name:" +"The :mod:`!sqlite3` module does not adhere to the transaction handling " +"recommended by :pep:`249`." msgstr "" -#: ../../library/sqlite3.rst:1091 -msgid "Using the connection as a context manager" +#: ../../library/sqlite3.rst:1982 +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 "" +"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:1093 +#: ../../library/sqlite3.rst:1995 msgid "" -"Connection objects can be used as context managers that automatically commit " -"or rollback transactions. In the event of an exception, the transaction is " -"rolled back; otherwise, the transaction is committed:" +"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." 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:1102 -msgid "Footnotes" -msgstr "Notas de rodapé" +#: ../../library/sqlite3.rst:2003 +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:1103 +#: ../../library/sqlite3.rst:2007 msgid "" -"The sqlite3 module is not built with loadable extension support by default, " -"because some platforms (notably Mac OS X) 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 configure." +":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." diff --git a/library/ssl.po b/library/ssl.po index c25580e66..1c365f776 100644 --- a/library/ssl.po +++ b/library/ssl.po @@ -1,34 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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 -# Leticia Portella , 2021 -# Italo Penaforte , 2021 -# felipe caridade , 2021 -# i17obot , 2021 -# Rafael Fontenelle , 2021 -# Raphael Mendonça, 2021 -# Marco Rougeth , 2021 -# Rafael Biagioni de Fazio , 2021 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.10\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-07-27 13:07+0000\n" -"PO-Revision-Date: 2021-06-28 01:13+0000\n" -"Last-Translator: Rafael Biagioni de Fazio , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:58+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/ssl.rst:2 msgid ":mod:`ssl` --- TLS/SSL wrapper for socket objects" @@ -43,10 +36,17 @@ msgid "" "This module provides access to Transport Layer Security (often known as " "\"Secure Sockets Layer\") encryption and peer authentication facilities for " "network sockets, both client-side and server-side. This module uses the " -"OpenSSL library. It is available on all modern Unix systems, Windows, Mac OS " -"X, and probably additional platforms, as long as OpenSSL is installed on " -"that platform." -msgstr "" +"OpenSSL library. It is available on all modern Unix systems, Windows, macOS, " +"and probably additional platforms, as long as OpenSSL is installed on that " +"platform." +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 "" @@ -62,6 +62,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." #: ../../library/ssl.rst:37 msgid "" @@ -69,6 +72,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:41 msgid "" @@ -86,35 +92,44 @@ 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:52 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:57 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:63 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:66 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:70 msgid "Functions, Constants, and Exceptions" -msgstr "" +msgstr "Funções, constantes e exceções." #: ../../library/ssl.rst:74 msgid "Socket creation" -msgstr "" +msgstr "Criação de socket" #: ../../library/ssl.rst:76 msgid "" @@ -129,18 +144,19 @@ msgstr "" #: ../../library/ssl.rst:84 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:97 msgid "Client socket example with custom context and IPv4::" -msgstr "" +msgstr "Exemplo de soquete de cliente com contexto personalizado e IPv4::" #: ../../library/ssl.rst:109 msgid "Server socket example listening on localhost IPv4::" -msgstr "" +msgstr "Exemplo de soquete de servidor escutando no localhost IPv4::" #: ../../library/ssl.rst:123 msgid "Context creation" -msgstr "" +msgstr "Criação de contexto" #: ../../library/ssl.rst:125 msgid "" @@ -434,8 +450,8 @@ msgstr "" #: ../../library/ssl.rst:404 msgid "" "Return the time in seconds since the Epoch, given the ``cert_time`` string " -"representing the \"notBefore\" or \"notAfter\" date from a certificate in ``" -"\"%b %d %H:%M:%S %Y %Z\"`` strptime format (C locale)." +"representing the \"notBefore\" or \"notAfter\" date from a certificate in " +"``\"%b %d %H:%M:%S %Y %Z\"`` strptime format (C locale)." msgstr "" #: ../../library/ssl.rst:409 @@ -780,8 +796,8 @@ msgstr "" #: ../../library/ssl.rst:716 msgid "" -"This protocol is not available if OpenSSL is compiled with the " -"``OPENSSL_NO_SSL2`` flag." +"This protocol is not available if OpenSSL is compiled with the ``no-ssl2`` " +"option." msgstr "" #: ../../library/ssl.rst:721 @@ -798,8 +814,8 @@ msgstr "" #: ../../library/ssl.rst:731 msgid "" -"This protocol is not be available if OpenSSL is compiled with the " -"``OPENSSL_NO_SSLv3`` flag." +"This protocol is not available if OpenSSL is compiled with the ``no-ssl3`` " +"option." msgstr "" #: ../../library/ssl.rst:736 @@ -1220,8 +1236,8 @@ msgstr "" #: ../../library/ssl.rst:1145 msgid "" "The :meth:`shutdown` does not reset the socket timeout each time bytes are " -"received or sent. The socket timeout is now to maximum total duration of the " -"shutdown." +"received or sent. The socket timeout is now the maximum total duration of " +"the shutdown." msgstr "" #: ../../library/ssl.rst:1150 @@ -1269,8 +1285,8 @@ msgstr "" #: ../../library/ssl.rst:1179 msgid "" -"The socket timeout is no more reset each time bytes are received or sent. " -"The socket timeout is now to maximum total duration to read up to *len* " +"The socket timeout is no longer reset each time bytes are received or sent. " +"The socket timeout is now the maximum total duration to read up to *len* " "bytes." msgstr "" @@ -1298,8 +1314,8 @@ msgstr "" #: ../../library/ssl.rst:1198 msgid "" -"The socket timeout is no more reset each time bytes are received or sent. " -"The socket timeout is now to maximum total duration to write *buf*." +"The socket timeout is no longer reset each time bytes are received or sent. " +"The socket timeout is now the maximum total duration to write *buf*." msgstr "" #: ../../library/ssl.rst:1202 @@ -1334,8 +1350,8 @@ msgstr "" #: ../../library/ssl.rst:1226 msgid "" -"The socket timeout is no more reset each time bytes are received or sent. " -"The socket timeout is now to maximum total duration of the handshake." +"The socket timeout is no longer reset each time bytes are received or sent. " +"The socket timeout is now the maximum total duration of the handshake." msgstr "" #: ../../library/ssl.rst:1230 @@ -1343,7 +1359,7 @@ 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 " -"send to the peer." +"sent to the peer." msgstr "" #: ../../library/ssl.rst:1238 @@ -1429,7 +1445,7 @@ msgstr "" #: ../../library/ssl.rst:1314 msgid "" -"Return the list of ciphers shared by the client during the handshake. Each " +"Return the list of ciphers available in both the client and server. Each " "entry of the returned list is a three-value tuple containing the name of the " "cipher, the version of the SSL protocol that defines its use, and the number " "of secret bits the cipher uses. :meth:`~SSLSocket.shared_ciphers` returns " @@ -1523,9 +1539,9 @@ msgstr "" #: ../../library/ssl.rst:1399 msgid "" "Return the actual SSL protocol version negotiated by the connection as a " -"string, or ``None`` is no secure connection is established. As of this " -"writing, possible return values include ``\"SSLv2\"``, ``\"SSLv3\"``, ``" -"\"TLSv1\"``, ``\"TLSv1.1\"`` and ``\"TLSv1.2\"``. Recent OpenSSL versions " +"string, or ``None`` if no secure connection is established. As of this " +"writing, possible return values include ``\"SSLv2\"``, ``\"SSLv3\"``, " +"``\"TLSv1\"``, ``\"TLSv1.1\"`` and ``\"TLSv1.2\"``. Recent OpenSSL versions " "may define more return values." msgstr "" @@ -1744,10 +1760,9 @@ msgid "" "must be the path to a single file in PEM format containing the certificate " "as well as any number of CA certificates needed to establish the " "certificate's authenticity. The *keyfile* string, if present, must point to " -"a file containing the private key in. Otherwise the private key will be " -"taken from *certfile* as well. See the discussion of :ref:`ssl-" -"certificates` for more information on how the certificate is stored in the " -"*certfile*." +"a file containing the private key. Otherwise the private key will be taken " +"from *certfile* as well. See the discussion of :ref:`ssl-certificates` for " +"more information on how the certificate is stored in the *certfile*." msgstr "" #: ../../library/ssl.rst:1556 @@ -1783,7 +1798,7 @@ 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 other systems it calls :meth:`SSLContext." +"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 "" @@ -1962,11 +1977,11 @@ msgstr "" 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`. :meth:`SSLSocket." -"getpeercert`, :meth:`SSLSocket.getpeercert`, :meth:`SSLSocket.cipher` and :" -"meth:`SSLSocket.compress` methods require that the TLS connection has " -"progressed beyond the TLS Client Hello and therefore will not contain return " -"meaningful values nor can they be called safely." +"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:1761 @@ -2163,7 +2178,7 @@ msgstr "" 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 " -"`_ to " +"`_ to " "their numeric values. For example, here is the total number of hits and " "misses in the session cache since the context was created::" msgstr "" @@ -2361,9 +2376,9 @@ msgstr "" #: ../../library/ssl.rst:2124 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::" +"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:2133 @@ -2613,7 +2628,7 @@ msgstr "" #: ../../library/ssl.rst:2461 msgid "Memory BIO Support" -msgstr "" +msgstr "Підтримка BIO пам'яті" #: ../../library/ssl.rst:2465 msgid "" @@ -2876,7 +2891,7 @@ msgstr "" #: ../../library/ssl.rst:2620 msgid "Security considerations" -msgstr "" +msgstr "Considerações de segurança" #: ../../library/ssl.rst:2623 msgid "Best defaults" @@ -2964,7 +2979,7 @@ msgstr "" #: ../../library/ssl.rst:2693 msgid "" -"The SSL context created above will only allow TLSv1.2 and later (if " +"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." @@ -2981,7 +2996,7 @@ msgid "" "`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." diff --git a/library/stat.po b/library/stat.po index 118d49953..a96eebbd7 100644 --- a/library/stat.po +++ b/library/stat.po @@ -1,29 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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 -# Sheila Gomes , 2021 -# Italo Penaforte , 2021 -# i17obot , 2021 +# python-doc bot, 2025 # #, 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:13+0000\n" -"Last-Translator: i17obot , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:58+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/stat.rst:2 msgid ":mod:`stat` --- Interpreting :func:`~os.stat` results" @@ -47,59 +45,68 @@ msgstr "" #: ../../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 "" @@ -107,6 +114,9 @@ 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 "" @@ -133,58 +143,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 "" @@ -192,6 +209,10 @@ 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 "" @@ -204,72 +225,89 @@ msgid "" "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`:" 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 "" @@ -281,6 +319,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 "" @@ -288,34 +333,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." @@ -323,19 +372,19 @@ 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 "" @@ -343,66 +392,73 @@ msgid "" "`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`:" 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 (Mac OS X 10.6+)." -msgstr "" +msgid "The file is stored compressed (macOS 10.6+)." +msgstr "O arquivo é armazenado compactado (macOS 10.6+)." #: ../../library/stat.rst:379 -msgid "The file should not be displayed in a GUI (Mac OS X 10.5+)." -msgstr "" +msgid "The file should not be displayed in a GUI (macOS 10.5+)." +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 Mac OS systems man page :manpage:`chflags(2)` for more " +"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 "" @@ -412,6 +468,11 @@ msgid "" "library/windows/desktop/gg258117.aspx>`_ 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 "" @@ -419,3 +480,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 5e251ef60..a97a8533c 100644 --- a/library/statistics.po +++ b/library/statistics.po @@ -1,35 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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 -# 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 +# python-doc bot, 2025 # #, 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:13+0000\n" -"Last-Translator: Gabriel Aparecido Fonseca , " -"2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:58+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/statistics.rst:2 msgid ":mod:`statistics` --- Mathematical statistics functions" @@ -79,110 +71,128 @@ msgstr "" "misturados, você pode usar :func:`map` para garantir um resultado " "consistente, por exemplo ``map(float, dado_entrada)``." -#: ../../library/statistics.rst:39 +#: ../../library/statistics.rst:38 +msgid "" +"Some datasets use ``NaN`` (not a number) values to represent missing data. " +"Since NaNs have unusual comparison semantics, they cause surprising or " +"undefined behaviors in the statistics functions that sort data or that count " +"occurrences. The functions affected are ``median()``, ``median_low()``, " +"``median_high()``, ``median_grouped()``, ``mode()``, ``multimode()``, and " +"``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" msgstr "Médias e medidas de valor central" -#: ../../library/statistics.rst:41 +#: ../../library/statistics.rst:70 msgid "" "These functions calculate an average or typical value from a population or " "sample." msgstr "" "Essas funções calculam a média ou o valor típico de uma população ou amostra." -#: ../../library/statistics.rst:45 +#: ../../library/statistics.rst:74 msgid ":func:`mean`" msgstr ":func:`mean`" -#: ../../library/statistics.rst:45 +#: ../../library/statistics.rst:74 msgid "Arithmetic mean (\"average\") of data." msgstr "Média aritmética dos dados." -#: ../../library/statistics.rst:46 +#: ../../library/statistics.rst:75 msgid ":func:`fmean`" msgstr ":func:`fmean`" -#: ../../library/statistics.rst:46 +#: ../../library/statistics.rst:75 msgid "Fast, floating point arithmetic mean." msgstr "Média arimética de ponto flutuante rápida." -#: ../../library/statistics.rst:47 +#: ../../library/statistics.rst:76 msgid ":func:`geometric_mean`" msgstr ":func:`geometric_mean`" -#: ../../library/statistics.rst:47 +#: ../../library/statistics.rst:76 msgid "Geometric mean of data." msgstr "Média geométrica dos dados." -#: ../../library/statistics.rst:48 +#: ../../library/statistics.rst:77 msgid ":func:`harmonic_mean`" msgstr ":func:`harmonic_mean`" -#: ../../library/statistics.rst:48 +#: ../../library/statistics.rst:77 msgid "Harmonic mean of data." msgstr "Média harmônica dos dados." -#: ../../library/statistics.rst:49 +#: ../../library/statistics.rst:78 msgid ":func:`median`" msgstr ":func:`median`" -#: ../../library/statistics.rst:49 +#: ../../library/statistics.rst:78 msgid "Median (middle value) of data." msgstr "Mediana (valor do meio) dos dados." -#: ../../library/statistics.rst:50 +#: ../../library/statistics.rst:79 msgid ":func:`median_low`" msgstr ":func:`median_low`" -#: ../../library/statistics.rst:50 +#: ../../library/statistics.rst:79 msgid "Low median of data." msgstr "Mediana inferior dos dados." -#: ../../library/statistics.rst:51 +#: ../../library/statistics.rst:80 msgid ":func:`median_high`" msgstr ":func:`median_high`" -#: ../../library/statistics.rst:51 +#: ../../library/statistics.rst:80 msgid "High median of data." msgstr "Mediana superior dos dados." -#: ../../library/statistics.rst:52 +#: ../../library/statistics.rst:81 msgid ":func:`median_grouped`" msgstr ":func:`median_grouped`" -#: ../../library/statistics.rst:52 +#: ../../library/statistics.rst:81 msgid "Median, or 50th percentile, of grouped data." msgstr "Mediana, ou o 50º percentil dos dados agrupados." -#: ../../library/statistics.rst:53 +#: ../../library/statistics.rst:82 msgid ":func:`mode`" msgstr ":func:`mode`" -#: ../../library/statistics.rst:53 +#: ../../library/statistics.rst:82 msgid "Single mode (most common value) of discrete or nominal data." msgstr "Moda (valor mais comum) de dados discretos ou nominais." -#: ../../library/statistics.rst:54 +#: ../../library/statistics.rst:83 msgid ":func:`multimode`" msgstr ":func:`multimode`" -#: ../../library/statistics.rst:54 +#: ../../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:55 +#: ../../library/statistics.rst:84 msgid ":func:`quantiles`" msgstr ":func:`quantiles`" -#: ../../library/statistics.rst:55 +#: ../../library/statistics.rst:84 msgid "Divide data into intervals with equal probability." msgstr "Divide os dados em intervalos com probabilidade igual." -#: ../../library/statistics.rst:59 +#: ../../library/statistics.rst:88 msgid "Measures of spread" msgstr "Medidas de espalhamento" -#: ../../library/statistics.rst:61 +#: ../../library/statistics.rst:90 msgid "" "These functions calculate a measure of how much the population or sample " "tends to deviate from the typical or average values." @@ -190,76 +200,77 @@ msgstr "" "Essas funções calculam o quanto a população ou amostra tendem a desviar dos " "valores típicos ou médios." -#: ../../library/statistics.rst:65 +#: ../../library/statistics.rst:94 msgid ":func:`pstdev`" msgstr ":func:`pstdev`" -#: ../../library/statistics.rst:65 +#: ../../library/statistics.rst:94 msgid "Population standard deviation of data." msgstr "Desvio padrão populacional dos dados." -#: ../../library/statistics.rst:66 +#: ../../library/statistics.rst:95 msgid ":func:`pvariance`" msgstr ":func:`pvariance`" -#: ../../library/statistics.rst:66 +#: ../../library/statistics.rst:95 msgid "Population variance of data." msgstr "Variância populacional dos dados." -#: ../../library/statistics.rst:67 +#: ../../library/statistics.rst:96 msgid ":func:`stdev`" msgstr ":func:`stdev`" -#: ../../library/statistics.rst:67 +#: ../../library/statistics.rst:96 msgid "Sample standard deviation of data." msgstr "Desvio padrão amostral dos dados." -#: ../../library/statistics.rst:68 +#: ../../library/statistics.rst:97 msgid ":func:`variance`" msgstr ":func:`variance`" -#: ../../library/statistics.rst:68 +#: ../../library/statistics.rst:97 msgid "Sample variance of data." msgstr "Variância amostral dos dados." -#: ../../library/statistics.rst:72 +#: ../../library/statistics.rst:101 msgid "Statistics for relations between two inputs" -msgstr "" +msgstr "Estatísticas para relações entre duas entradas" -#: ../../library/statistics.rst:74 +#: ../../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:77 +#: ../../library/statistics.rst:106 msgid ":func:`covariance`" -msgstr "" +msgstr ":func:`covariance`" -#: ../../library/statistics.rst:77 +#: ../../library/statistics.rst:106 msgid "Sample covariance for two variables." -msgstr "" +msgstr "Covariância amostral para duas variáveis." -#: ../../library/statistics.rst:78 +#: ../../library/statistics.rst:107 msgid ":func:`correlation`" -msgstr "" +msgstr ":func:`correlation`" -#: ../../library/statistics.rst:78 +#: ../../library/statistics.rst:107 msgid "Pearson's correlation coefficient for two variables." msgstr "" -#: ../../library/statistics.rst:79 +#: ../../library/statistics.rst:108 msgid ":func:`linear_regression`" -msgstr "" +msgstr ":func:`linear_regression`" -#: ../../library/statistics.rst:79 +#: ../../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:84 +#: ../../library/statistics.rst:113 msgid "Function details" msgstr "Detalhes das funções" -#: ../../library/statistics.rst:86 +#: ../../library/statistics.rst:115 msgid "" "Note: The functions do not require the data given to them to be sorted. " "However, for reading convenience, most of the examples show sorted sequences." @@ -267,7 +278,7 @@ msgstr "" "Nota: as funções não exigem que os dados estejam ordenados. No entanto, para " "conveniência do leitor, a maioria dos exemplos mostrará sequências ordenadas." -#: ../../library/statistics.rst:91 +#: ../../library/statistics.rst:120 msgid "" "Return the sample arithmetic mean of *data* which can be a sequence or " "iterable." @@ -275,7 +286,7 @@ msgstr "" "Retorna a média aritmética amostral de *data* que pode ser uma sequência ou " "iterável." -#: ../../library/statistics.rst:93 +#: ../../library/statistics.rst:122 msgid "" "The arithmetic mean is the sum of the data divided by the number of data " "points. It is commonly called \"the average\", although it is only one of " @@ -286,29 +297,30 @@ msgstr "" "comumente chamada apenas de \"média\", apesar de ser uma das diversas médias " "matemáticas. Ela representa uma medida da localização central dos dados." -#: ../../library/statistics.rst:98 +#: ../../library/statistics.rst:127 msgid "If *data* is empty, :exc:`StatisticsError` will be raised." msgstr "" "Se *data* for vazio, uma exceção do tipo :exc:`StatisticsError` será " "levantada." -#: ../../library/statistics.rst:100 +#: ../../library/statistics.rst:129 msgid "Some examples of use:" msgstr "Alguns exemplos de uso:" -#: ../../library/statistics.rst:119 +#: ../../library/statistics.rst:148 msgid "" -"The mean is strongly affected by outliers and is not a robust estimator for " -"central location: the mean is not necessarily a typical example of the data " -"points. For more robust measures of central location, see :func:`median` " -"and :func:`mode`." +"The mean is strongly affected by `outliers `_ and is not necessarily a typical example of the data points. For " +"a more robust, although less efficient, measure of `central tendency " +"`_, see :func:`median`." msgstr "" -"A média é fortemente afetada por valores discrepantes e pode não ser um " -"estimador robusto para localização central: a média não é necessariamente " -"uma representação típica dos dados. Para medidas mais robustas de " -"centralidade, veja :func:`median` e :func:`mode`." +"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:124 +#: ../../library/statistics.rst:154 msgid "" "The sample mean gives an unbiased estimate of the true population mean, so " "that when taken on average over all the possible samples, ``mean(sample)`` " @@ -323,12 +335,12 @@ msgstr "" "então ``mean(data)`` é equivalente a calcular a verdadeira média " "populacional μ." -#: ../../library/statistics.rst:133 +#: ../../library/statistics.rst:163 msgid "Convert *data* to floats and compute the arithmetic mean." msgstr "" "Converte valores em *data* para ponto flutuante e calcula a média aritmética." -#: ../../library/statistics.rst:135 +#: ../../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 " @@ -339,12 +351,12 @@ msgstr "" "conjunto de dados de entrada estiver vazio, levanta uma exceção :exc:" "`StatisticsError`." -#: ../../library/statistics.rst:149 +#: ../../library/statistics.rst:179 msgid "Convert *data* to floats and compute the geometric mean." msgstr "" "Converte valores em *data* para ponto flutuante e calcula a média geométrica." -#: ../../library/statistics.rst:151 +#: ../../library/statistics.rst:181 msgid "" "The geometric mean indicates the central tendency or typical value of the " "*data* using the product of the values (as opposed to the arithmetic mean " @@ -354,7 +366,7 @@ msgstr "" "usando o produto dos valores (em oposição à média aritmética que usa a soma " "deles)." -#: ../../library/statistics.rst:155 +#: ../../library/statistics.rst:185 msgid "" "Raises a :exc:`StatisticsError` if the input dataset is empty, if it " "contains a zero, or if it contains a negative value. The *data* may be a " @@ -364,7 +376,7 @@ msgstr "" "for vazia, contiver um zero ou um valor negativo. *data* pode ser uma " "sequência ou iterável." -#: ../../library/statistics.rst:159 +#: ../../library/statistics.rst:189 msgid "" "No special efforts are made to achieve exact results. (However, this may " "change in the future.)" @@ -372,28 +384,35 @@ msgstr "" "Nenhum esforço especial é feito para alcançar resultados exatos. (Mas, isso " "pode mudar no futuro)." -#: ../../library/statistics.rst:172 +#: ../../library/statistics.rst:202 msgid "" "Return the harmonic mean of *data*, a sequence or iterable of real-valued " "numbers. If *weights* is omitted or *None*, then equal weighting is assumed." msgstr "" -#: ../../library/statistics.rst:176 +#: ../../library/statistics.rst:206 msgid "" "The harmonic mean is the reciprocal of the arithmetic :func:`mean` of the " "reciprocals of the data. For example, the harmonic mean of three values *a*, " "*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:181 +#: ../../library/statistics.rst:211 msgid "" "The harmonic mean is a type of average, a measure of the central location of " "the data. It is often appropriate when averaging ratios or rates, for " "example speeds." msgstr "" +"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:185 +#: ../../library/statistics.rst:215 msgid "" "Suppose a car travels 10 km at 40 km/hr, then another 10 km at 60 km/hr. " "What is the average speed?" @@ -401,20 +420,25 @@ msgstr "" "Suponha que um carro viaje 10 km a 40 km/h, e em seguida viaje mais 10 km a " "60 km/h. Qual é a velocidade média?" -#: ../../library/statistics.rst:193 +#: ../../library/statistics.rst:223 msgid "" "Suppose a car travels 40 km/hr for 5 km, and when traffic clears, speeds-up " "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:202 +#: ../../library/statistics.rst:232 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:205 +#: ../../library/statistics.rst:235 msgid "" "The current algorithm has an early-out when it encounters a zero in the " "input. This means that the subsequent inputs are not tested for validity. " @@ -424,11 +448,11 @@ msgstr "" "entrada. Isso significa que as entradas subsequentes não tem a validade " "testada. (Esse comportamento pode mudar no futuro.)" -#: ../../library/statistics.rst:211 +#: ../../library/statistics.rst:241 msgid "Added support for *weights*." -msgstr "" +msgstr "Adicionado suporte a *weights*." -#: ../../library/statistics.rst:216 +#: ../../library/statistics.rst:246 msgid "" "Return the median (middle value) of numeric data, using the common \"mean of " "middle two\" method. If *data* is empty, :exc:`StatisticsError` is raised. " @@ -439,7 +463,7 @@ msgstr "" "uma exceção :exc:`StatisticsError`. *data* pode ser uma sequência ou um " "iterável." -#: ../../library/statistics.rst:220 +#: ../../library/statistics.rst:250 msgid "" "The median is a robust measure of central location and is less affected by " "the presence of outliers. When the number of data points is odd, the middle " @@ -449,7 +473,7 @@ msgstr "" "valores discrepantes. Quando a quantidade de pontos de dados for ímpar, o " "valor de meio é retornado:" -#: ../../library/statistics.rst:229 +#: ../../library/statistics.rst:259 msgid "" "When the number of data points is even, the median is interpolated by taking " "the average of the two middle values:" @@ -457,7 +481,7 @@ msgstr "" "Quando o número de elementos for par, a mediana é calculada tomando-se a " "média entre os dois valores no meio:" -#: ../../library/statistics.rst:237 +#: ../../library/statistics.rst:267 msgid "" "This is suited for when your data is discrete, and you don't mind that the " "median may not be an actual data point." @@ -465,7 +489,7 @@ msgstr "" "Isso serve quando seus dados forem discretos e você não se importa que a " "média possa não ser um valor que de fato ocorre nos seus dados." -#: ../../library/statistics.rst:240 +#: ../../library/statistics.rst:270 msgid "" "If the data is ordinal (supports order operations) but not numeric (doesn't " "support addition), consider using :func:`median_low` or :func:`median_high` " @@ -475,7 +499,7 @@ msgstr "" "mas não são numéricos (não oferecem suporte para adição), considere usar a " "função :func:`median_low` ou :func:`median_high` no lugar." -#: ../../library/statistics.rst:246 +#: ../../library/statistics.rst:276 msgid "" "Return the low median of numeric data. If *data* is empty, :exc:" "`StatisticsError` is raised. *data* can be a sequence or iterable." @@ -484,7 +508,7 @@ msgstr "" "exceção :exc:`StatisticsError` é levantada. *data* pode ser uma sequência ou " "um iterável." -#: ../../library/statistics.rst:249 +#: ../../library/statistics.rst:279 msgid "" "The low median is always a member of the data set. When the number of data " "points is odd, the middle value is returned. When it is even, the smaller " @@ -494,7 +518,7 @@ msgstr "" "de elementos for ímpar, o valor intermediário é retornado. Se houver um " "número par de elementos, o menor entre os dois valores centrais é retornado." -#: ../../library/statistics.rst:260 +#: ../../library/statistics.rst:290 msgid "" "Use the low median when your data are discrete and you prefer the median to " "be an actual data point rather than interpolated." @@ -503,7 +527,7 @@ msgstr "" "mediana seja um valor que de fato existe nos seus dados ao invés de um valor " "interpolado." -#: ../../library/statistics.rst:266 +#: ../../library/statistics.rst:296 msgid "" "Return the high median of data. If *data* is empty, :exc:`StatisticsError` " "is raised. *data* can be a sequence or iterable." @@ -512,7 +536,7 @@ msgstr "" "exceção :exc:`StatisticsError` é levantada. *data* pode ser uma sequência ou " "um iterável." -#: ../../library/statistics.rst:269 +#: ../../library/statistics.rst:299 msgid "" "The high median is always a member of the data set. When the number of data " "points is odd, the middle value is returned. When it is even, the larger of " @@ -522,7 +546,7 @@ msgstr "" "de elementos for ímpar, o valor intermediário é retornado. Se houver um " "número par de elementos, o maior entre os dois valores centrais é retornado." -#: ../../library/statistics.rst:280 +#: ../../library/statistics.rst:310 msgid "" "Use the high median when your data are discrete and you prefer the median to " "be an actual data point rather than interpolated." @@ -531,7 +555,7 @@ msgstr "" "mediana seja um valor que de fato existe nos seus dados ao invés de um valor " "interpolado." -#: ../../library/statistics.rst:286 +#: ../../library/statistics.rst:316 msgid "" "Return the median of grouped continuous data, calculated as the 50th " "percentile, using interpolation. If *data* is empty, :exc:`StatisticsError` " @@ -541,7 +565,7 @@ msgstr "" "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:295 +#: ../../library/statistics.rst:325 msgid "" "In the following example, the data are rounded, so that each value " "represents the midpoint of data classes, e.g. 1 is the midpoint of the class " @@ -555,7 +579,7 @@ msgstr "" "dados oferecidos, o valor do meio cai em algum ponto na classe 3.5--4.5 e " "interpolação é usada para estimá-lo:" -#: ../../library/statistics.rst:306 +#: ../../library/statistics.rst:336 msgid "" "Optional argument *interval* represents the class interval, and defaults to " "1. Changing the class interval naturally will change the interpolation:" @@ -563,7 +587,7 @@ msgstr "" "O argumento opcional *interval* representa o intervalo da classe e tem como " "valor padrão 1. Mudar o intervalo da classe irá mudar a interpolação:" -#: ../../library/statistics.rst:316 +#: ../../library/statistics.rst:346 msgid "" "This function does not check whether the data points are at least *interval* " "apart." @@ -571,7 +595,7 @@ msgstr "" "Essa função não checa se os pontos de dados estão separados por uma " "distância que seja maior ou igual a *interval*." -#: ../../library/statistics.rst:321 +#: ../../library/statistics.rst:351 msgid "" "Under some circumstances, :func:`median_grouped` may coerce data points to " "floats. This behaviour is likely to change in the future." @@ -580,7 +604,7 @@ msgstr "" "dados para pontos flutuantes. Esse comportamento provavelmente irá mudar no " "futuro." -#: ../../library/statistics.rst:326 +#: ../../library/statistics.rst:356 msgid "" "\"Statistics for the Behavioral Sciences\", Frederick J Gravetter and Larry " "B Wallnau (8th Edition)." @@ -588,7 +612,7 @@ msgstr "" "\"Statistics for the Behavioral Sciences\", Frederick J Gravetter and Larry " "B Wallnau (8th Edition)." -#: ../../library/statistics.rst:329 +#: ../../library/statistics.rst:359 msgid "" "The `SSMEDIAN `_ function in the Gnome Gnumeric " @@ -600,7 +624,7 @@ msgstr "" "`essa discussão `_." -#: ../../library/statistics.rst:337 +#: ../../library/statistics.rst:367 msgid "" "Return the single most common data point from discrete or nominal *data*. " "The mode (when it exists) is the most typical value and serves as a measure " @@ -610,7 +634,7 @@ msgstr "" "(quando existe) é o valor mais típico e serve como uma medida de localização " "central." -#: ../../library/statistics.rst:341 +#: ../../library/statistics.rst:371 msgid "" "If there are multiple modes with the same frequency, returns the first one " "encountered in the *data*. If the smallest or largest of those is desired " @@ -622,15 +646,15 @@ msgstr "" "elas, use ``min(multimode(data))`` ou ``max(multimode(data))``. Se a entrada " "*data* é vazia, a exceção :exc:`StatisticsError` é levantada." -#: ../../library/statistics.rst:346 +#: ../../library/statistics.rst:376 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:354 +#: ../../library/statistics.rst:384 msgid "" "The mode is unique in that it is the only statistic in this package that " "also applies to nominal (non-numeric) data:" @@ -638,7 +662,7 @@ msgstr "" "A moda é única no sentido que é a única medida estatística nesse módulo que " "também se aplica a dados nominais (não-numéricos):" -#: ../../library/statistics.rst:362 +#: ../../library/statistics.rst:392 msgid "" "Now handles multimodal datasets by returning the first mode encountered. " "Formerly, it raised :exc:`StatisticsError` when more than one mode was found." @@ -647,7 +671,7 @@ msgstr "" "encontrada. Anteriormente, ela levantava a exceção :exc:`StatisticsError` " "quando mais do que uma moda era encontrada." -#: ../../library/statistics.rst:370 +#: ../../library/statistics.rst:400 msgid "" "Return a list of the most frequently occurring values in the order they were " "first encountered in the *data*. Will return more than one result if there " @@ -657,7 +681,7 @@ msgstr "" "encontrados em *data*. Irá retornar mais do que um resultado se houver " "múltiplas modas ou uma lista vazia se *data* for vazio." -#: ../../library/statistics.rst:386 +#: ../../library/statistics.rst:416 msgid "" "Return the population standard deviation (the square root of the population " "variance). See :func:`pvariance` for arguments and other details." @@ -665,7 +689,7 @@ msgstr "" "Retorna o desvio padrão populacional (a raiz quadrada da variância " "populacional). Veja os argumentos e outros detalhes em :func:`pvariance`." -#: ../../library/statistics.rst:397 +#: ../../library/statistics.rst:427 msgid "" "Return the population variance of *data*, a non-empty sequence or iterable " "of real-valued numbers. Variance, or second moment about the mean, is a " @@ -680,7 +704,7 @@ msgstr "" "espalhados; uma variância menor indica que os dados estão agrupado em volta " "da média." -#: ../../library/statistics.rst:403 +#: ../../library/statistics.rst:433 msgid "" "If the optional second argument *mu* is given, it is typically the mean of " "the *data*. It can also be used to compute the second moment around a point " @@ -692,7 +716,7 @@ msgstr "" "de um ponto que não é a média. Se ele não estiver presente ou for ``None`` " "(o padrão), a média aritmética será automaticamente calculada." -#: ../../library/statistics.rst:408 +#: ../../library/statistics.rst:438 msgid "" "Use this function to calculate the variance from the entire population. To " "estimate the variance from a sample, the :func:`variance` function is " @@ -702,16 +726,16 @@ msgstr "" "a variância de uma amostra, a função :func:`variance` costuma ser uma " "escolha melhor." -#: ../../library/statistics.rst:412 +#: ../../library/statistics.rst:442 msgid "Raises :exc:`StatisticsError` if *data* is empty." msgstr "Levanta :exc:`StatisticsError` se *data* for vazio." -#: ../../library/statistics.rst:414 ../../library/statistics.rst:484 -#: ../../library/statistics.rst:588 ../../library/statistics.rst:616 +#: ../../library/statistics.rst:444 ../../library/statistics.rst:514 +#: ../../library/statistics.rst:618 ../../library/statistics.rst:646 msgid "Examples:" msgstr "Exemplos:" -#: ../../library/statistics.rst:422 +#: ../../library/statistics.rst:452 msgid "" "If you have already calculated the mean of your data, you can pass it as the " "optional second argument *mu* to avoid recalculation:" @@ -719,11 +743,11 @@ msgstr "" "Se você já calculou a média dos seus dados, você pode passar o valor no " "segundo argumento opcional *mu* para evitar recálculos:" -#: ../../library/statistics.rst:431 +#: ../../library/statistics.rst:461 msgid "Decimals and Fractions are supported:" msgstr "Decimais e frações são suportadas:" -#: ../../library/statistics.rst:445 +#: ../../library/statistics.rst:475 msgid "" "When called with the entire population, this gives the population variance " "σ². When called on a sample instead, this is the biased sample variance s², " @@ -734,7 +758,7 @@ msgstr "" "variância amostral enviesada s², também conhecida como variância com N graus " "de liberdade é retornada." -#: ../../library/statistics.rst:449 +#: ../../library/statistics.rst:479 msgid "" "If you somehow know the true population mean μ, you may use this function to " "calculate the variance of a sample, giving the known population mean as the " @@ -748,7 +772,7 @@ msgstr "" "conjunto de amostras aleatórias da população, o resultado será um estimador " "não enviesado da variância populacional." -#: ../../library/statistics.rst:458 +#: ../../library/statistics.rst:488 msgid "" "Return the sample standard deviation (the square root of the sample " "variance). See :func:`variance` for arguments and other details." @@ -756,7 +780,7 @@ msgstr "" "Retorna o desvio padrão amostral (a raiz quadrada da variância amostral). " "Veja :func:`variance` para argumentos e outros detalhes." -#: ../../library/statistics.rst:469 +#: ../../library/statistics.rst:499 msgid "" "Return the sample variance of *data*, an iterable of at least two real-" "valued numbers. Variance, or second moment about the mean, is a measure of " @@ -770,7 +794,7 @@ msgstr "" "dos dados. Uma variância grande indica que os dados são espalhados, uma " "variância menor indica que os dados estão agrupados em volta da média." -#: ../../library/statistics.rst:475 +#: ../../library/statistics.rst:505 msgid "" "If the optional second argument *xbar* is given, it should be the mean of " "*data*. If it is missing or ``None`` (the default), the mean is " @@ -780,7 +804,7 @@ msgstr "" "média de *data*. Se ele não estiver presente ou for ``None`` (valor padrão), " "a média é automaticamente calculada." -#: ../../library/statistics.rst:479 +#: ../../library/statistics.rst:509 msgid "" "Use this function when your data is a sample from a population. To calculate " "the variance from the entire population, see :func:`pvariance`." @@ -788,13 +812,13 @@ msgstr "" "Use essa função quando seus dados representarem uma amostra da população. " "Para calcular a variância de toda população veja :func:`pvariance`." -#: ../../library/statistics.rst:482 +#: ../../library/statistics.rst:512 msgid "Raises :exc:`StatisticsError` if *data* has fewer than two values." msgstr "" "Levanta a exceção :exc:`StatisticsError` se *data* tiver menos do que dois " "valores." -#: ../../library/statistics.rst:492 +#: ../../library/statistics.rst:522 msgid "" "If you have already calculated the mean of your data, you can pass it as the " "optional second argument *xbar* to avoid recalculation:" @@ -802,7 +826,7 @@ msgstr "" "Se você já calculou a média dos seus dados, você pode passar o valor no " "segundo argumento opcional *xbar* para evitar recálculos:" -#: ../../library/statistics.rst:501 +#: ../../library/statistics.rst:531 msgid "" "This function does not attempt to verify that you have passed the actual " "mean as *xbar*. Using arbitrary values for *xbar* can lead to invalid or " @@ -812,11 +836,11 @@ msgstr "" "valores arbitrários para *xbar* pode levar a resultados inválidos ou " "impossíveis." -#: ../../library/statistics.rst:505 +#: ../../library/statistics.rst:535 msgid "Decimal and Fraction values are supported:" msgstr "Decimais e frações são suportados." -#: ../../library/statistics.rst:519 +#: ../../library/statistics.rst:549 msgid "" "This is the sample variance s² with Bessel's correction, also known as " "variance with N-1 degrees of freedom. Provided that the data points are " @@ -829,7 +853,7 @@ msgstr "" "idêntica), o resultado deve ser uma estimativa não enviesada da verdadeira " "variação populacional." -#: ../../library/statistics.rst:524 +#: ../../library/statistics.rst:554 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 " @@ -839,7 +863,7 @@ msgstr "" "deveria passar para a função :func:`pvariance` como o parâmetro *mu* para " "obter a variância da amostra." -#: ../../library/statistics.rst:530 +#: ../../library/statistics.rst:560 msgid "" "Divide *data* into *n* continuous intervals with equal probability. Returns " "a list of ``n - 1`` cut points separating the intervals." @@ -847,7 +871,7 @@ msgstr "" "Divide *data* em *n* intervalos contínuos com igual probabilidade. Retorna " "uma lista de ``n - 1`` pontos de corte separando os intervalos." -#: ../../library/statistics.rst:533 +#: ../../library/statistics.rst:563 msgid "" "Set *n* to 4 for quartiles (the default). Set *n* to 10 for deciles. Set " "*n* to 100 for percentiles which gives the 99 cuts points that separate " @@ -859,7 +883,7 @@ msgstr "" "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:538 +#: ../../library/statistics.rst:568 msgid "" "The *data* can be any iterable containing sample data. For meaningful " "results, the number of data points in *data* should be larger than *n*. " @@ -870,7 +894,7 @@ msgstr "" "Levanta a exceção :exc:`StatisticsError` se não houver pelo menos dois " "pontos de dados." -#: ../../library/statistics.rst:542 +#: ../../library/statistics.rst:572 msgid "" "The cut points are linearly interpolated from the two nearest data points. " "For example, if a cut point falls one-third of the distance between two " @@ -881,7 +905,7 @@ msgstr "" "distância entre dois valores, ``100`` e ``112``, o ponto de corte será " "avaliado como ``104``." -#: ../../library/statistics.rst:547 +#: ../../library/statistics.rst:577 msgid "" "The *method* for computing quantiles can be varied depending on whether the " "*data* includes or excludes the lowest and highest possible values from the " @@ -890,7 +914,7 @@ msgstr "" "O *method* para computar quantis pode variar dependendo se *data* incluir ou " "excluir os menores e maiores valores possíveis da população." -#: ../../library/statistics.rst:551 +#: ../../library/statistics.rst:581 msgid "" "The default *method* is \"exclusive\" and is used for data sampled from a " "population that can have more extreme values than found in the samples. The " @@ -906,7 +930,7 @@ msgstr "" "valores, o método os ordena e atribui a eles os seguintes percentis: 10%, " "20%, 30%, 40%, 50%, 60%, 70%, 80%, 90%." -#: ../../library/statistics.rst:558 +#: ../../library/statistics.rst:588 msgid "" "Setting the *method* to \"inclusive\" is used for describing population data " "or for samples that are known to include the most extreme values from the " @@ -925,19 +949,23 @@ msgstr "" "- 1) / (m - 1)``. Dados 11 valores, o método os ordena e atribui a eles os " "seguintes percentis: 0%, 10%, 20%, 30%, 40%, 50%, 60%, 70%, 80%, 90%, 100%." -#: ../../library/statistics.rst:582 +#: ../../library/statistics.rst:612 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:585 +#: ../../library/statistics.rst:615 msgid "" "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:606 +#: ../../library/statistics.rst:636 msgid "" "Return the `Pearson's correlation coefficient `_ for two inputs. Pearson's correlation " @@ -947,13 +975,16 @@ msgid "" "linear relationship." msgstr "" -#: ../../library/statistics.rst:613 +#: ../../library/statistics.rst:643 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:631 +#: ../../library/statistics.rst:661 msgid "" "Return the slope and intercept of `simple linear regression `_ parameters estimated using " @@ -961,52 +992,68 @@ msgid "" "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:637 +#: ../../library/statistics.rst:667 msgid "*y = slope \\* x + intercept + noise*" -msgstr "" +msgstr "*y = slope \\* x + intercept + noise*" -#: ../../library/statistics.rst:639 +#: ../../library/statistics.rst:669 msgid "" "where ``slope`` and ``intercept`` are the regression parameters that are " "estimated, and ``noise`` represents the variability of the data that was not " "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:645 +#: ../../library/statistics.rst:675 msgid "" "Both inputs must be of the same length (no less than two), and the " "independent variable *x* cannot be constant; otherwise a :exc:" "`StatisticsError` is raised." msgstr "" +"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:649 +#: ../../library/statistics.rst:679 msgid "" "For example, we can use the `release dates of the Monty Python films " "`_ to predict the " "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:667 +#: ../../library/statistics.rst:697 msgid "Exceptions" msgstr "Exceções" -#: ../../library/statistics.rst:669 +#: ../../library/statistics.rst:699 msgid "A single exception is defined:" msgstr "Uma única exceção é definida:" -#: ../../library/statistics.rst:673 +#: ../../library/statistics.rst:703 msgid "Subclass of :exc:`ValueError` for statistics-related exceptions." msgstr "" "Subclasse de :exc:`ValueError` para exceções relacionadas a estatísticas." -#: ../../library/statistics.rst:677 +#: ../../library/statistics.rst:707 msgid ":class:`NormalDist` objects" msgstr "Objetos :class:`NormalDist`" -#: ../../library/statistics.rst:679 +#: ../../library/statistics.rst:709 msgid "" ":class:`NormalDist` is a tool for creating and manipulating normal " "distributions of a `random variable `_. É uma classe que trata a média e o desvio " -"padrão das medições de dados como uma entidade única." +"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." -#: ../../library/statistics.rst:685 +#: ../../library/statistics.rst:715 msgid "" "Normal distributions arise from the `Central Limit Theorem `_ and have a wide range of " @@ -1028,64 +1075,63 @@ msgstr "" "wikipedia.org/wiki/Teorema_central_do_limite>`_ e possuem uma gama de " "aplicações em estatísticas." -#: ../../library/statistics.rst:691 +#: ../../library/statistics.rst:721 msgid "" "Returns a new *NormalDist* object where *mu* represents the `arithmetic mean " "`_ and *sigma* represents the " "`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:696 +#: ../../library/statistics.rst:726 msgid "If *sigma* is negative, raises :exc:`StatisticsError`." msgstr "Se *sigma* for negativo, levanta a exceção :exc:`StatisticsError`." -#: ../../library/statistics.rst:700 +#: ../../library/statistics.rst:730 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." +"wikipedia.org/wiki/Média_aritmética>`_ de uma distribuição normal." -#: ../../library/statistics.rst:706 +#: ../../library/statistics.rst:736 msgid "" "A read-only property for the `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:712 +#: ../../library/statistics.rst:742 msgid "" "A read-only property for the `mode `_ 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:718 +#: ../../library/statistics.rst:748 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." +"org/wiki/Desvio_padrão>`_ de uma distribuição normal." -#: ../../library/statistics.rst:724 +#: ../../library/statistics.rst:754 msgid "" "A read-only property for the `variance `_ of a normal distribution. Equal to the square of the standard " "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:730 +#: ../../library/statistics.rst:760 msgid "" "Makes a normal distribution instance with *mu* and *sigma* parameters " "estimated from the *data* using :func:`fmean` and :func:`stdev`." @@ -1093,7 +1139,7 @@ msgstr "" "Faz uma instância da distribuição normal com os parâmetros *mu* e *sigma* " "estimados a partir de *data* usando :func:`fmean` e :func:`stdev`." -#: ../../library/statistics.rst:733 +#: ../../library/statistics.rst:763 msgid "" "The *data* can be any :term:`iterable` and should consist of values that can " "be converted to type :class:`float`. If *data* does not contain at least " @@ -1107,7 +1153,7 @@ msgstr "" "preciso pelo menos um ponto para estimar um valor central e pelo menos dois " "pontos para estimar a dispersão." -#: ../../library/statistics.rst:741 +#: ../../library/statistics.rst:771 msgid "" "Generates *n* random samples for a given mean and standard deviation. " "Returns a :class:`list` of :class:`float` values." @@ -1115,7 +1161,7 @@ msgstr "" "Gera *n* amostras aleatórias para uma dada média e desvio padrão. Retorna " "uma :class:`list` de valores :class:`float`." -#: ../../library/statistics.rst:744 +#: ../../library/statistics.rst:774 msgid "" "If *seed* is given, creates a new instance of the underlying random number " "generator. This is useful for creating reproducible results, even in a " @@ -1125,7 +1171,7 @@ msgstr "" "número aleatório subjacente. Isso é útil para criar resultados " "reproduzíveis, mesmo em um contexto multithreading." -#: ../../library/statistics.rst:750 +#: ../../library/statistics.rst:780 msgid "" "Using a `probability density function (pdf) `_, compute the relative likelihood that a " @@ -1133,24 +1179,23 @@ msgid "" "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." +"org/wiki/Função_densidade>`_, 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:756 +#: ../../library/statistics.rst:786 msgid "" "The relative likelihood is computed as the probability of a sample occurring " -"in a narrow range divided by the width of the range (hence the word \"density" -"\"). Since the likelihood is relative to other points, its value can be " -"greater than `1.0`." +"in a narrow range divided by the width of the range (hence the word " +"\"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`." +"valor pode ser maior que ``1.0``." -#: ../../library/statistics.rst:763 +#: ../../library/statistics.rst:793 msgid "" "Using a `cumulative distribution function (cdf) `_, compute the probability that a " @@ -1158,25 +1203,25 @@ 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:770 +#: ../../library/statistics.rst:800 msgid "" "Compute the inverse cumulative distribution function, also known as the " "`quantile function `_ or " -"the `percent-point `_ function. Mathematically, it is written " -"``x : P(X <= x) = p``." +"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``." +"`função quantil `_ ou o `função ponto " +"percentual `_. " +"Matematicamente, é representada como ``x : P(X <= x) = p``." -#: ../../library/statistics.rst:776 +#: ../../library/statistics.rst:806 msgid "" "Finds the value *x* of the random variable *X* such that the probability of " "the variable being less than or equal to that value equals the given " @@ -1186,7 +1231,7 @@ msgstr "" "probabilidade da variável ser menor ou igual a esse valor seja igual à " "probabilidade dada *p*." -#: ../../library/statistics.rst:782 +#: ../../library/statistics.rst:812 msgid "" "Measures the agreement between two normal probability distributions. Returns " "a value between 0.0 and 1.0 giving `the overlapping area for the two " @@ -1197,7 +1242,7 @@ msgstr "" "duas funções de densidade de probabilidade `_." -#: ../../library/statistics.rst:789 +#: ../../library/statistics.rst:819 msgid "" "Divide the normal distribution into *n* continuous intervals with equal " "probability. Returns a list of (n - 1) cut points separating the intervals." @@ -1205,7 +1250,7 @@ msgstr "" "Divide a distribuição normal em *n* intervalos contínuos com probabilidade " "igual. Retorna uma lista de (n - 1) pontos de corte separando os intervalos." -#: ../../library/statistics.rst:793 +#: ../../library/statistics.rst:823 msgid "" "Set *n* to 4 for quartiles (the default). Set *n* to 10 for deciles. Set " "*n* to 100 for percentiles which gives the 99 cuts points that separate the " @@ -1215,7 +1260,7 @@ msgstr "" "Defina *n* como 100 para percentis, o que dá os 99 pontos de corte que " "separam a distribuição normal em 100 grupos de tamanhos iguais." -#: ../../library/statistics.rst:799 +#: ../../library/statistics.rst:829 msgid "" "Compute the `Standard Score `_ describing *x* in terms of the number of standard " @@ -1227,7 +1272,7 @@ msgstr "" "de desvios padrão acima ou abaixo da média da distribuição normal: ``(x - " "mean) / stdev``." -#: ../../library/statistics.rst:807 +#: ../../library/statistics.rst:837 msgid "" "Instances of :class:`NormalDist` support addition, subtraction, " "multiplication and division by a constant. These operations are used for " @@ -1237,7 +1282,7 @@ msgstr "" "e divisão por uma constante. Essas operações são usadas para translação e " "dimensionamento. Por exemplo:" -#: ../../library/statistics.rst:817 +#: ../../library/statistics.rst:847 msgid "" "Dividing a constant by an instance of :class:`NormalDist` is not supported " "because the result wouldn't be normally distributed." @@ -1245,7 +1290,7 @@ msgstr "" "A divisão de uma constante por uma instância de :class:`NormalDist` não é " "suportada porque o resultado não seria distribuído normalmente." -#: ../../library/statistics.rst:820 +#: ../../library/statistics.rst:850 msgid "" "Since normal distributions arise from additive effects of independent " "variables, it is possible to `add and subtract two independent normally " @@ -1256,19 +1301,19 @@ 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 " "independentes normalmente distribuídas ` _ representadas como " +"Sum_of_normally_distributed_random_variables>`_ representadas como " "instâncias de :class:`NormalDist`. Por exemplo:" -#: ../../library/statistics.rst:840 +#: ../../library/statistics.rst:870 msgid ":class:`NormalDist` Examples and Recipes" msgstr "Exemplos e receitas com :class:`NormalDist`" -#: ../../library/statistics.rst:842 +#: ../../library/statistics.rst:872 msgid ":class:`NormalDist` readily solves classic probability problems." msgstr "" ":class:`NormalDist` facilmente resolve problemas de probabilidade clássicos." -#: ../../library/statistics.rst:844 +#: ../../library/statistics.rst:874 msgid "" "For example, given `historical data for SAT exams `_ showing that scores are " @@ -1282,7 +1327,7 @@ msgstr "" "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:" -#: ../../library/statistics.rst:857 +#: ../../library/statistics.rst:887 msgid "" "Find the `quartiles `_ and `deciles " "`_ for the SAT scores:" @@ -1290,7 +1335,7 @@ msgstr "" "Encontrar os `quartis `_ e `decis " "`_ para as pontuações SAT:" -#: ../../library/statistics.rst:867 +#: ../../library/statistics.rst:897 msgid "" "To estimate the distribution for a model than isn't easy to solve " "analytically, :class:`NormalDist` can generate input samples for a `Monte " @@ -1301,18 +1346,18 @@ msgstr "" "`simulação Monte Carlo `_:" -#: ../../library/statistics.rst:883 +#: ../../library/statistics.rst:913 msgid "" "Normal distributions can be used to approximate `Binomial distributions " -"`_ when the sample " +"`_ 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%." +"binomiais `_ quando " +"o tamanho da amostra é grande e quando a probabilidade de um teste bem-" +"sucedido é próximo a 50%." -#: ../../library/statistics.rst:888 +#: ../../library/statistics.rst:918 msgid "" "For example, an open source conference has 750 attendees and two rooms with " "a 500 person capacity. There is a talk about Python and another about Ruby. " @@ -1327,26 +1372,26 @@ msgstr "" "tenham mudado, qual é a probabilidade da sala de Python permanecer dentro de " "seus limites de capacidade?" -#: ../../library/statistics.rst:919 +#: ../../library/statistics.rst:949 msgid "Normal distributions commonly arise in machine learning problems." msgstr "" "Distribuições normais geralmente surgem em problemas de aprendizado de " "máquina." -#: ../../library/statistics.rst:921 +#: ../../library/statistics.rst:951 msgid "" "Wikipedia has a `nice example of a Naive Bayesian Classifier `_. The " +"wikipedia.org/wiki/Naive_Bayes_classifier#Person_classification>`_. 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é." +"`_. 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:926 +#: ../../library/statistics.rst:956 msgid "" "We're given a training dataset with measurements for eight people. The " "measurements are assumed to be normally distributed, so we summarize the " @@ -1356,7 +1401,7 @@ msgstr "" "pessoas. As medidas são consideradas normalmente distribuídas, então " "resumimos os dados com :class:`NormalDist`:" -#: ../../library/statistics.rst:939 +#: ../../library/statistics.rst:969 msgid "" "Next, we encounter a new person whose feature measurements are known but " "whose gender is unknown:" @@ -1364,19 +1409,19 @@ msgstr "" "Em seguida, encontramos uma nova pessoa cujas características de medidas são " "conhecidas, mas cujo gênero é desconhecido:" -#: ../../library/statistics.rst:948 +#: ../../library/statistics.rst:978 msgid "" "Starting with a 50% `prior probability `_ of being male or female, we compute the posterior as " "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:" -#: ../../library/statistics.rst:963 +#: ../../library/statistics.rst:993 msgid "" "The final prediction goes to the largest posterior. This is known as the " "`maximum a posteriori , YEAR. # # Translators: -# Raphael Mendonça, 2021 -# i17obot , 2021 -# Welington Carlos , 2021 -# Tiago Henrique , 2021 -# Claudio Rogerio Carvalho Filho , 2021 -# (Douglas da Silva) , 2021 -# Misael borges , 2021 -# Adorilson Bezerra , 2021 -# Vinicius Gubiani Ferreira , 2021 -# Danilo Lima , 2021 -# Rafael Fontenelle , 2021 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.10\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-07-29 13:22+0000\n" -"PO-Revision-Date: 2021-06-28 01:13+0000\n" -"Last-Translator: Rafael Fontenelle , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2026-02-07 17:18+0000\n" +"PO-Revision-Date: 2025-09-22 15:58+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/stdtypes.rst:8 msgid "Built-in Types" @@ -72,10 +63,9 @@ 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 " -"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`." +"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`." #: ../../library/stdtypes.rst:32 msgid "Truth Value Testing" @@ -86,7 +76,7 @@ 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." 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." @@ -144,22 +134,22 @@ 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:274 ../../library/stdtypes.rst:363 -#: ../../library/stdtypes.rst:413 ../../library/stdtypes.rst:881 -#: ../../library/stdtypes.rst:1076 +#: ../../library/stdtypes.rst:275 ../../library/stdtypes.rst:363 +#: ../../library/stdtypes.rst:413 ../../library/stdtypes.rst:882 +#: ../../library/stdtypes.rst:1087 msgid "Operation" msgstr "Operação" -#: ../../library/stdtypes.rst:85 ../../library/stdtypes.rst:274 +#: ../../library/stdtypes.rst:85 ../../library/stdtypes.rst:275 #: ../../library/stdtypes.rst:363 ../../library/stdtypes.rst:413 -#: ../../library/stdtypes.rst:881 ../../library/stdtypes.rst:1076 +#: ../../library/stdtypes.rst:882 ../../library/stdtypes.rst:1087 msgid "Result" msgstr "Resultado" -#: ../../library/stdtypes.rst:85 ../../library/stdtypes.rst:274 -#: ../../library/stdtypes.rst:413 ../../library/stdtypes.rst:881 -#: ../../library/stdtypes.rst:1076 ../../library/stdtypes.rst:2308 -#: ../../library/stdtypes.rst:3529 +#: ../../library/stdtypes.rst:85 ../../library/stdtypes.rst:275 +#: ../../library/stdtypes.rst:413 ../../library/stdtypes.rst:882 +#: ../../library/stdtypes.rst:1087 ../../library/stdtypes.rst:2330 +#: ../../library/stdtypes.rst:3548 msgid "Notes" msgstr "Notas" @@ -168,13 +158,13 @@ msgid "``x or y``" msgstr "``x or y``" #: ../../library/stdtypes.rst:87 -msgid "if *x* is false, then *y*, else *x*" -msgstr "se *x* é falso, então *y*, do contrário *x*" +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:284 -#: ../../library/stdtypes.rst:883 ../../library/stdtypes.rst:886 -#: ../../library/stdtypes.rst:1087 ../../library/stdtypes.rst:2314 -#: ../../library/stdtypes.rst:3535 +#: ../../library/stdtypes.rst:87 ../../library/stdtypes.rst:285 +#: ../../library/stdtypes.rst:884 ../../library/stdtypes.rst:887 +#: ../../library/stdtypes.rst:1098 ../../library/stdtypes.rst:2336 +#: ../../library/stdtypes.rst:3554 msgid "\\(1)" msgstr "\\(1)" @@ -186,10 +176,10 @@ msgstr "``x and y``" 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:287 -#: ../../library/stdtypes.rst:307 ../../library/stdtypes.rst:1115 -#: ../../library/stdtypes.rst:2318 ../../library/stdtypes.rst:2320 -#: ../../library/stdtypes.rst:3539 ../../library/stdtypes.rst:3541 +#: ../../library/stdtypes.rst:90 ../../library/stdtypes.rst:288 +#: ../../library/stdtypes.rst:308 ../../library/stdtypes.rst:1126 +#: ../../library/stdtypes.rst:2340 ../../library/stdtypes.rst:2342 +#: ../../library/stdtypes.rst:3558 ../../library/stdtypes.rst:3560 msgid "\\(2)" msgstr "\\(2)" @@ -201,19 +191,19 @@ msgstr "``not x``" 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:895 -#: ../../library/stdtypes.rst:1118 ../../library/stdtypes.rst:2322 -#: ../../library/stdtypes.rst:2324 ../../library/stdtypes.rst:2326 -#: ../../library/stdtypes.rst:2328 ../../library/stdtypes.rst:3543 -#: ../../library/stdtypes.rst:3545 ../../library/stdtypes.rst:3547 -#: ../../library/stdtypes.rst:3549 +#: ../../library/stdtypes.rst:93 ../../library/stdtypes.rst:896 +#: ../../library/stdtypes.rst:1129 ../../library/stdtypes.rst:2344 +#: ../../library/stdtypes.rst:2346 ../../library/stdtypes.rst:2348 +#: ../../library/stdtypes.rst:2350 ../../library/stdtypes.rst:3562 +#: ../../library/stdtypes.rst:3564 ../../library/stdtypes.rst:3566 +#: ../../library/stdtypes.rst:3568 msgid "\\(3)" msgstr "\\(3)" -#: ../../library/stdtypes.rst:102 ../../library/stdtypes.rst:318 -#: ../../library/stdtypes.rst:431 ../../library/stdtypes.rst:922 -#: ../../library/stdtypes.rst:1126 ../../library/stdtypes.rst:2354 -#: ../../library/stdtypes.rst:3579 +#: ../../library/stdtypes.rst:102 ../../library/stdtypes.rst:319 +#: ../../library/stdtypes.rst:431 ../../library/stdtypes.rst:933 +#: ../../library/stdtypes.rst:1137 ../../library/stdtypes.rst:2376 +#: ../../library/stdtypes.rst:3598 msgid "Notes:" msgstr "Notas:" @@ -240,7 +230,7 @@ msgid "" msgstr "" "``not`` tem uma prioridade mais baixa do que operadores não booleanos, então " "``not a == b`` é interpretado como ``not (a == b)`` e ``a == not b`` é um " -"erro de sintaxe. " +"erro de sintaxe." #: ../../library/stdtypes.rst:120 msgid "Comparisons" @@ -265,9 +255,9 @@ msgstr "" msgid "This table summarizes the comparison operations:" msgstr "Esta tabela resume as operações de comparação:" -#: ../../library/stdtypes.rst:143 ../../library/stdtypes.rst:2285 -#: ../../library/stdtypes.rst:2308 ../../library/stdtypes.rst:3506 -#: ../../library/stdtypes.rst:3529 +#: ../../library/stdtypes.rst:143 ../../library/stdtypes.rst:2307 +#: ../../library/stdtypes.rst:2330 ../../library/stdtypes.rst:3525 +#: ../../library/stdtypes.rst:3548 msgid "Meaning" msgstr "Significado" @@ -354,27 +344,28 @@ msgstr "" #: ../../library/stdtypes.rst:180 msgid "" "Non-identical instances of a class normally compare as non-equal unless the " -"class defines the :meth:`__eq__` method." +"class defines the :meth:`~object.__eq__` method." 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:`__eq__`." +"desiguais ao menos que a classe defina o método :meth:`~object.__eq__`." #: ../../library/stdtypes.rst:183 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:`__lt__`, :meth:`__le__`, :meth:`__gt__`, and :meth:" -"`__ge__` (in general, :meth:`__lt__` and :meth:`__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:`__lt__`, :meth:`__le__`, :meth:" -"`__gt__` e :meth:`__ge__` (no geral, :meth:`__lt__` e :meth:`__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:189 +#: ../../library/stdtypes.rst:190 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 " @@ -384,7 +375,7 @@ msgstr "" "ser personalizado; além disso eles podem ser aplicados a quaisquer dois " "objetos e nunca levantam uma exceção." -#: ../../library/stdtypes.rst:197 +#: ../../library/stdtypes.rst:198 msgid "" "Two more operations with the same syntactic priority, :keyword:`in` and :" "keyword:`not in`, are supported by types that are :term:`iterable` or " @@ -394,16 +385,16 @@ msgstr "" "keyword:`not in`, são suportadas por tipos que são :term:`iteráveis " "` ou implementam o método :meth:`__contains__`." -#: ../../library/stdtypes.rst:204 +#: ../../library/stdtypes.rst:205 msgid "Numeric Types --- :class:`int`, :class:`float`, :class:`complex`" msgstr "Tipos numéricos --- :class:`int`, :class:`float`, :class:`complex`" -#: ../../library/stdtypes.rst:214 +#: ../../library/stdtypes.rst:215 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:type:`double` in C; information " +"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 " @@ -415,7 +406,7 @@ 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 " "subtipo de números inteiros. Inteiros têm precisão ilimitada. Números de " -"ponto flutuante são geralmente implementados usando :c:type:`double` em C; " +"ponto flutuante são geralmente implementados usando :c:expr:`double` em C; " "informações sobre a precisão e representação interna dos números de ponto " "flutuante para a máquina na qual seu programa está sendo executado estão " "disponíveis em :data:`sys.float_info`. Números complexos têm uma parte real " @@ -425,7 +416,7 @@ msgstr "" "racionais, e :mod:`decimal.Decimal`, para números de ponto flutuante com " "precisão definida pelo usuário.)" -#: ../../library/stdtypes.rst:236 +#: ../../library/stdtypes.rst:237 msgid "" "Numbers are created by numeric literals or as the result of built-in " "functions and operators. Unadorned integer literals (including hex, octal " @@ -444,7 +435,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:261 +#: ../../library/stdtypes.rst:262 msgid "" "Python fully supports mixed arithmetic: when a binary arithmetic operator " "has operands of different numeric types, the operand with the \"narrower\" " @@ -461,7 +452,7 @@ msgstr "" "tipos se comporta como se os valores exatos desses números estivessem sendo " "comparados. [2]_" -#: ../../library/stdtypes.rst:267 +#: ../../library/stdtypes.rst:268 msgid "" "The constructors :func:`int`, :func:`float`, and :func:`complex` can be used " "to produce numbers of a specific type." @@ -469,7 +460,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:270 +#: ../../library/stdtypes.rst:271 msgid "" "All numeric types (except complex) support the following operations (for " "priorities of the operations, see :ref:`operator-summary`):" @@ -477,123 +468,123 @@ 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:274 +#: ../../library/stdtypes.rst:275 msgid "Full documentation" msgstr "Documentação completa" -#: ../../library/stdtypes.rst:276 +#: ../../library/stdtypes.rst:277 msgid "``x + y``" msgstr "``x + y``" -#: ../../library/stdtypes.rst:276 +#: ../../library/stdtypes.rst:277 msgid "sum of *x* and *y*" msgstr "soma de *x* e *y*" -#: ../../library/stdtypes.rst:278 +#: ../../library/stdtypes.rst:279 msgid "``x - y``" msgstr "``x - y``" -#: ../../library/stdtypes.rst:278 +#: ../../library/stdtypes.rst:279 msgid "difference of *x* and *y*" msgstr "diferença de *x* e *y*" -#: ../../library/stdtypes.rst:280 +#: ../../library/stdtypes.rst:281 msgid "``x * y``" msgstr "``x * y``" -#: ../../library/stdtypes.rst:280 +#: ../../library/stdtypes.rst:281 msgid "product of *x* and *y*" msgstr "produto de *x* e *y*" -#: ../../library/stdtypes.rst:282 +#: ../../library/stdtypes.rst:283 msgid "``x / y``" msgstr "``x / y``" -#: ../../library/stdtypes.rst:282 +#: ../../library/stdtypes.rst:283 msgid "quotient of *x* and *y*" msgstr "quociente de *x* e *y*" -#: ../../library/stdtypes.rst:284 +#: ../../library/stdtypes.rst:285 msgid "``x // y``" msgstr "``x // y``" -#: ../../library/stdtypes.rst:284 +#: ../../library/stdtypes.rst:285 msgid "floored quotient of *x* and *y*" msgstr "piso do quociente de *x* e *y*" -#: ../../library/stdtypes.rst:287 +#: ../../library/stdtypes.rst:288 msgid "``x % y``" msgstr "``x % y``" -#: ../../library/stdtypes.rst:287 +#: ../../library/stdtypes.rst:288 msgid "remainder of ``x / y``" msgstr "restante de ``x / y``" -#: ../../library/stdtypes.rst:289 +#: ../../library/stdtypes.rst:290 msgid "``-x``" msgstr "``-x``" -#: ../../library/stdtypes.rst:289 +#: ../../library/stdtypes.rst:290 msgid "*x* negated" msgstr "*x* negado" -#: ../../library/stdtypes.rst:291 +#: ../../library/stdtypes.rst:292 msgid "``+x``" msgstr "``+x``" -#: ../../library/stdtypes.rst:291 +#: ../../library/stdtypes.rst:292 msgid "*x* unchanged" msgstr "*x* inalterado" -#: ../../library/stdtypes.rst:293 +#: ../../library/stdtypes.rst:294 msgid "``abs(x)``" msgstr "``abs(x)``" -#: ../../library/stdtypes.rst:293 +#: ../../library/stdtypes.rst:294 msgid "absolute value or magnitude of *x*" msgstr "valor absoluto ou magnitude de *x*" -#: ../../library/stdtypes.rst:293 +#: ../../library/stdtypes.rst:294 msgid ":func:`abs`" msgstr ":func:`abs`" -#: ../../library/stdtypes.rst:296 +#: ../../library/stdtypes.rst:297 msgid "``int(x)``" msgstr "``int(x)``" -#: ../../library/stdtypes.rst:296 +#: ../../library/stdtypes.rst:297 msgid "*x* converted to integer" msgstr "*x* convertido em inteiro" -#: ../../library/stdtypes.rst:296 +#: ../../library/stdtypes.rst:297 msgid "\\(3)\\(6)" msgstr "\\(3)\\(6)" -#: ../../library/stdtypes.rst:296 +#: ../../library/stdtypes.rst:297 msgid ":func:`int`" msgstr ":func:`int`" -#: ../../library/stdtypes.rst:298 +#: ../../library/stdtypes.rst:299 msgid "``float(x)``" msgstr "``float(x)``" -#: ../../library/stdtypes.rst:298 +#: ../../library/stdtypes.rst:299 msgid "*x* converted to floating point" msgstr "*x* convertido em ponto flutuante" -#: ../../library/stdtypes.rst:298 +#: ../../library/stdtypes.rst:299 msgid "\\(4)\\(6)" msgstr "\\(4)\\(6)" -#: ../../library/stdtypes.rst:298 +#: ../../library/stdtypes.rst:299 msgid ":func:`float`" msgstr ":func:`float`" -#: ../../library/stdtypes.rst:300 +#: ../../library/stdtypes.rst:301 msgid "``complex(re, im)``" msgstr "``complex(re, im)``" -#: ../../library/stdtypes.rst:300 +#: ../../library/stdtypes.rst:301 msgid "" "a complex number with real part *re*, imaginary part *im*. *im* defaults to " "zero." @@ -601,60 +592,60 @@ msgstr "" "um número complexo com parte real *re*, parte imaginária *im*. *im* tem como " "padrão zero." -#: ../../library/stdtypes.rst:300 ../../library/stdtypes.rst:1108 -#: ../../library/stdtypes.rst:2316 ../../library/stdtypes.rst:3566 +#: ../../library/stdtypes.rst:301 ../../library/stdtypes.rst:1119 +#: ../../library/stdtypes.rst:2338 ../../library/stdtypes.rst:3585 msgid "\\(6)" msgstr "\\(6)" -#: ../../library/stdtypes.rst:300 +#: ../../library/stdtypes.rst:301 msgid ":func:`complex`" msgstr ":func:`complex`" -#: ../../library/stdtypes.rst:304 +#: ../../library/stdtypes.rst:305 msgid "``c.conjugate()``" msgstr "``c.conjugate()``" -#: ../../library/stdtypes.rst:304 +#: ../../library/stdtypes.rst:305 msgid "conjugate of the complex number *c*" msgstr "conjugado do número complexo *c*" -#: ../../library/stdtypes.rst:307 +#: ../../library/stdtypes.rst:308 msgid "``divmod(x, y)``" msgstr "``divmod(x, y)``" -#: ../../library/stdtypes.rst:307 +#: ../../library/stdtypes.rst:308 msgid "the pair ``(x // y, x % y)``" msgstr "o par ``(x // y, x % y)``" -#: ../../library/stdtypes.rst:307 +#: ../../library/stdtypes.rst:308 msgid ":func:`divmod`" msgstr ":func:`divmod`" -#: ../../library/stdtypes.rst:309 +#: ../../library/stdtypes.rst:310 msgid "``pow(x, y)``" msgstr "``pow(x, y)``" -#: ../../library/stdtypes.rst:309 ../../library/stdtypes.rst:311 +#: ../../library/stdtypes.rst:310 ../../library/stdtypes.rst:312 msgid "*x* to the power *y*" msgstr "*x* elevado a *y*" -#: ../../library/stdtypes.rst:309 ../../library/stdtypes.rst:311 -#: ../../library/stdtypes.rst:1097 ../../library/stdtypes.rst:1100 -#: ../../library/stdtypes.rst:2341 ../../library/stdtypes.rst:2344 -#: ../../library/stdtypes.rst:2347 ../../library/stdtypes.rst:3562 -#: ../../library/stdtypes.rst:3569 +#: ../../library/stdtypes.rst:310 ../../library/stdtypes.rst:312 +#: ../../library/stdtypes.rst:1108 ../../library/stdtypes.rst:1111 +#: ../../library/stdtypes.rst:2363 ../../library/stdtypes.rst:2366 +#: ../../library/stdtypes.rst:2369 ../../library/stdtypes.rst:3581 +#: ../../library/stdtypes.rst:3588 msgid "\\(5)" msgstr "\\(5)" -#: ../../library/stdtypes.rst:309 +#: ../../library/stdtypes.rst:310 msgid ":func:`pow`" msgstr ":func:`pow`" -#: ../../library/stdtypes.rst:311 +#: ../../library/stdtypes.rst:312 msgid "``x ** y``" msgstr "``x ** y``" -#: ../../library/stdtypes.rst:321 +#: ../../library/stdtypes.rst:322 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 " @@ -666,7 +657,7 @@ msgstr "" "resultado é sempre arredondado para menos infinito: ``1//2`` é ``0``, " "``(-1)//2`` é ``-1``, ``1//(-2)`` é ``-1`` e ``(-1)//(-2)`` é ``0``." -#: ../../library/stdtypes.rst:327 +#: ../../library/stdtypes.rst:328 msgid "" "Not for complex numbers. Instead convert to floats using :func:`abs` if " "appropriate." @@ -676,13 +667,13 @@ msgstr "" #: ../../library/stdtypes.rst:339 msgid "" -"Conversion from floating point to integer may round or truncate as in C; see " -"functions :func:`math.floor` and :func:`math.ceil` for well-defined " -"conversions." +"Conversion from :class:`float` to :class:`int` truncates, discarding the " +"fractional part. See functions :func:`math.floor` and :func:`math.ceil` for " +"alternative conversions." msgstr "" -"Conversão de ponto flutuante para inteiro pode arredondar ou truncar como " -"ocorre em C; veja as funções :func:`math.floor` e :func:`math.ceil` para " -"conversões bem definidas." +"Conversão de :class:`float` para :class:`int` trunca, descartando a parte " +"fracionária. Veja as funções :func:`math.floor` e :func:`math.ceil` para " +"conversões alternativas." #: ../../library/stdtypes.rst:344 msgid "" @@ -791,7 +782,7 @@ msgid "" "``~`` 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 ``-" "``)." @@ -811,9 +802,9 @@ 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:1121 -#: ../../library/stdtypes.rst:2330 ../../library/stdtypes.rst:2334 -#: ../../library/stdtypes.rst:3551 ../../library/stdtypes.rst:3555 +#: ../../library/stdtypes.rst:421 ../../library/stdtypes.rst:1132 +#: ../../library/stdtypes.rst:2352 ../../library/stdtypes.rst:2356 +#: ../../library/stdtypes.rst:3570 ../../library/stdtypes.rst:3574 msgid "\\(4)" msgstr "\\(4)" @@ -927,7 +918,7 @@ msgid "" "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``. " +"é o único positivo inteiro ``k`` tal que ``2**(k-1) <= abs(x) < 2**k``. " "Equivalentemente, quando ``abs(x)`` for pequeno o suficiente para ter um " "logaritmo corretamente arrendondado, então ``k = 1 + int(log(abs(x), 2))``. " "Se ``x`` é zero, então ``x.bit_length()`` retorna ``0``." @@ -993,7 +984,7 @@ 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:559 @@ -1145,27 +1136,27 @@ msgstr "Hashing de tipos numéricos" #: ../../library/stdtypes.rst:662 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:`__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 of :data:`sys." -"hash_info`." +"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 " +"of :data:`sys.hash_info`." msgstr "" "Para números ``x`` e ``y``, possivelmente de diferentes tipos, é um " "requisito que ``hash(x) == hash(y)`` sempre que ``x == y`` (veja a " -"documentação do método :meth:`__hash__` para mais detalhes). Para facilitar " -"a implementação e eficiência através de uma variedade de tipos 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:" +"documentação do método :meth:`~object.__hash__` para mais detalhes). Para " +"facilitar a implementação e eficiência através de uma variedade de tipos " +"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." @@ -1265,31 +1256,31 @@ msgstr "" #: ../../library/stdtypes.rst:775 msgid "" -"One method needs to be defined for container objects to provide iteration " -"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 iteração:" +"proverem suporte a :term:`iterável`:" #: ../../library/stdtypes.rst:782 msgid "" -"Return an 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 " +"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." msgstr "" -"Retorna um objeto iterador. O objeto deve suportar o protocolo iterador " -"descrito abaixo. Se um contêiner suporta diferentes tipos de iterador, " -"métodos adicionais podem ser providenciados para requisitar 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." +"Retorna um objeto :term:`iterador`. O objeto deve suportar o protocolo " +"iterador descrito abaixo. Se um contêiner suporta diferentes tipos de " +"iterador, métodos adicionais podem ser providenciados para requisitar " +"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." #: ../../library/stdtypes.rst:791 msgid "" @@ -1301,29 +1292,30 @@ msgstr "" #: ../../library/stdtypes.rst:797 msgid "" -"Return the iterator object itself. This is required to allow both " +"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." +"`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 iterador 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." +"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." -#: ../../library/stdtypes.rst:805 +#: ../../library/stdtypes.rst:806 msgid "" -"Return the next item from the container. If there are no further items, " -"raise the :exc:`StopIteration` exception. This method corresponds to the :c:" -"member:`~PyTypeObject.tp_iternext` slot of the type structure for Python " -"objects in the Python/C API." +"Return the next item from the :term:`iterator`. If there are no further " +"items, raise the :exc:`StopIteration` exception. This method corresponds to " +"the :c:member:`~PyTypeObject.tp_iternext` slot of the type structure for " +"Python objects in the Python/C API." msgstr "" -"Retorna o próximo item do contêiner. 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." +"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." -#: ../../library/stdtypes.rst:810 +#: ../../library/stdtypes.rst:811 msgid "" "Python defines several iterator objects to support iteration over general " "and specific sequence types, dictionaries, and other more specialized " @@ -1335,7 +1327,7 @@ msgstr "" "especializadas. Os tipos específicos não são importantes além de sua " "implementação do protocolo iterador." -#: ../../library/stdtypes.rst:815 +#: ../../library/stdtypes.rst:816 msgid "" "Once an iterator's :meth:`~iterator.__next__` method raises :exc:" "`StopIteration`, it must continue to do so on subsequent calls. " @@ -1345,11 +1337,11 @@ msgstr "" "`StopIteration`, ele deve continuar fazendo isso em chamadas subsequentes. " "Implementações que não obedecem essa propriedade são consideradas quebradas." -#: ../../library/stdtypes.rst:823 +#: ../../library/stdtypes.rst:824 msgid "Generator Types" msgstr "Tipos geradores" -#: ../../library/stdtypes.rst:825 +#: ../../library/stdtypes.rst:826 msgid "" "Python's :term:`generator`\\s provide a convenient way to implement the " "iterator protocol. If a container object's :meth:`__iter__` method is " @@ -1366,11 +1358,11 @@ msgstr "" "sobre geradores podem ser encontradas na :ref:`documentação para a expressão " "yield `." -#: ../../library/stdtypes.rst:837 +#: ../../library/stdtypes.rst:838 msgid "Sequence Types --- :class:`list`, :class:`tuple`, :class:`range`" msgstr "Tipos sequências --- :class:`list`, :class:`tuple`, :class:`range`" -#: ../../library/stdtypes.rst:839 +#: ../../library/stdtypes.rst:840 msgid "" "There are three basic sequence types: lists, tuples, and range objects. " "Additional sequence types tailored for processing of :ref:`binary data " @@ -1382,11 +1374,11 @@ msgstr "" "binários ` e :ref:`strings de texto ` são descritos em " "seções dedicadas." -#: ../../library/stdtypes.rst:848 +#: ../../library/stdtypes.rst:849 msgid "Common Sequence Operations" msgstr "Operações comuns de sequências" -#: ../../library/stdtypes.rst:852 +#: ../../library/stdtypes.rst:853 msgid "" "The operations in the following table are supported by most sequence types, " "both mutable and immutable. The :class:`collections.abc.Sequence` ABC is " @@ -1396,9 +1388,9 @@ 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. " +"operadores em tipos sequências personalizados." -#: ../../library/stdtypes.rst:857 +#: ../../library/stdtypes.rst:858 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* " @@ -1410,7 +1402,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:862 +#: ../../library/stdtypes.rst:863 msgid "" "The ``in`` and ``not in`` operations have the same priorities as the " "comparison operations. The ``+`` (concatenation) and ``*`` (repetition) " @@ -1421,108 +1413,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:883 +#: ../../library/stdtypes.rst:884 msgid "``x in s``" msgstr "``x in s``" -#: ../../library/stdtypes.rst:883 +#: ../../library/stdtypes.rst:884 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:886 +#: ../../library/stdtypes.rst:887 msgid "``x not in s``" msgstr "``x not in s``" -#: ../../library/stdtypes.rst:886 +#: ../../library/stdtypes.rst:887 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:889 +#: ../../library/stdtypes.rst:890 msgid "``s + t``" msgstr "``s + t``" -#: ../../library/stdtypes.rst:889 +#: ../../library/stdtypes.rst:890 msgid "the concatenation of *s* and *t*" msgstr "a concatenação de *s* e *t*" -#: ../../library/stdtypes.rst:889 +#: ../../library/stdtypes.rst:890 msgid "(6)(7)" msgstr "(6)(7)" -#: ../../library/stdtypes.rst:892 +#: ../../library/stdtypes.rst:893 msgid "``s * n`` or ``n * s``" msgstr "``s * n`` ou ``n * s``" -#: ../../library/stdtypes.rst:892 +#: ../../library/stdtypes.rst:893 msgid "equivalent to adding *s* to itself *n* times" msgstr "equivalente a adicionar *s* a si mesmo *n* vezes" -#: ../../library/stdtypes.rst:892 +#: ../../library/stdtypes.rst:893 msgid "(2)(7)" msgstr "(2)(7)" -#: ../../library/stdtypes.rst:895 +#: ../../library/stdtypes.rst:896 msgid "``s[i]``" msgstr "``s[i]``" -#: ../../library/stdtypes.rst:895 +#: ../../library/stdtypes.rst:896 msgid "*i*\\ th item of *s*, origin 0" msgstr "*i*\\ -ésimo item de *s*, origem 0" -#: ../../library/stdtypes.rst:897 +#: ../../library/stdtypes.rst:898 msgid "``s[i:j]``" msgstr "``s[i:j]``" -#: ../../library/stdtypes.rst:897 +#: ../../library/stdtypes.rst:898 msgid "slice of *s* from *i* to *j*" msgstr "fatia de *s* de *i* até *j*" -#: ../../library/stdtypes.rst:897 +#: ../../library/stdtypes.rst:898 msgid "(3)(4)" msgstr "(3)(4)" -#: ../../library/stdtypes.rst:899 +#: ../../library/stdtypes.rst:900 msgid "``s[i:j:k]``" msgstr "``s[i:j:k]``" -#: ../../library/stdtypes.rst:899 +#: ../../library/stdtypes.rst:900 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:899 +#: ../../library/stdtypes.rst:900 msgid "(3)(5)" msgstr "(3)(5)" -#: ../../library/stdtypes.rst:902 +#: ../../library/stdtypes.rst:903 msgid "``len(s)``" msgstr "``len(s)``" -#: ../../library/stdtypes.rst:902 +#: ../../library/stdtypes.rst:903 msgid "length of *s*" msgstr "comprimento de *s*" -#: ../../library/stdtypes.rst:904 +#: ../../library/stdtypes.rst:905 msgid "``min(s)``" msgstr "``min(s)``" -#: ../../library/stdtypes.rst:904 +#: ../../library/stdtypes.rst:905 msgid "smallest item of *s*" msgstr "menor item de *s*" -#: ../../library/stdtypes.rst:906 +#: ../../library/stdtypes.rst:907 msgid "``max(s)``" msgstr "``max(s)``" -#: ../../library/stdtypes.rst:906 +#: ../../library/stdtypes.rst:907 msgid "largest item of *s*" msgstr "maior item de *s*" -#: ../../library/stdtypes.rst:908 +#: ../../library/stdtypes.rst:909 msgid "``s.index(x[, i[, j]])``" msgstr "``s.index(x[, i[, j]])``" -#: ../../library/stdtypes.rst:908 +#: ../../library/stdtypes.rst:909 msgid "" "index of the first occurrence of *x* in *s* (at or after index *i* and " "before index *j*)" @@ -1530,19 +1522,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:908 ../../library/stdtypes.rst:3537 +#: ../../library/stdtypes.rst:909 ../../library/stdtypes.rst:3556 msgid "\\(8)" msgstr "\\(8)" -#: ../../library/stdtypes.rst:912 +#: ../../library/stdtypes.rst:913 msgid "``s.count(x)``" msgstr "``s.count(x)``" -#: ../../library/stdtypes.rst:912 +#: ../../library/stdtypes.rst:913 msgid "total number of occurrences of *x* in *s*" msgstr "numero total de ocorrência de *x* em *s*" -#: ../../library/stdtypes.rst:916 +#: ../../library/stdtypes.rst:917 msgid "" "Sequences of the same type also support comparisons. In particular, tuples " "and lists are compared lexicographically by comparing corresponding " @@ -1550,14 +1542,28 @@ 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:925 +#: ../../library/stdtypes.rst:927 +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)." +msgstr "" +"Iteradores para frente e reversos sobre sequências mutáveis acessam valores " +"usando um índice. Esse índice continuará avançando (ou retrocedendo) mesmo " +"que a sequência subjacente seja alterada. O iterador termina somente quando " +"um :exc:`IndexError` ou um :exc:`StopIteration` é encontrado (ou quando o " +"índice cai abaixo de zero)." + +#: ../../library/stdtypes.rst:936 msgid "" "While the ``in`` and ``not in`` operations are used only for simple " "containment testing in the general case, some specialised sequences (such " @@ -1569,7 +1575,7 @@ msgstr "" "como :class:`str`, :class:`bytes` e :class:`bytearray`) também usam-nas para " "testes de subsequências::" -#: ../../library/stdtypes.rst:934 +#: ../../library/stdtypes.rst:945 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 " @@ -1581,7 +1587,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:946 +#: ../../library/stdtypes.rst:957 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 " @@ -1593,14 +1599,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:958 +#: ../../library/stdtypes.rst:969 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:962 +#: ../../library/stdtypes.rst:973 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 " @@ -1610,7 +1616,7 @@ msgstr "" "``len(s) + i`` ou ``len(s) + j`` será substituído. Mas note que ``-0`` ainda " "será ``0``." -#: ../../library/stdtypes.rst:967 +#: ../../library/stdtypes.rst:978 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 " @@ -1623,7 +1629,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:974 +#: ../../library/stdtypes.rst:985 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 " @@ -1645,7 +1651,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:985 +#: ../../library/stdtypes.rst:996 msgid "" "Concatenating immutable sequences always results in a new object. This " "means that building up a sequence by repeated concatenation will have a " @@ -1658,7 +1664,7 @@ msgstr "" "Para obter um custo de tempo de execução linear, devemos alternar para uma " "das alternativas abaixo:" -#: ../../library/stdtypes.rst:990 +#: ../../library/stdtypes.rst:1001 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 " @@ -1668,7 +1674,7 @@ msgstr "" "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:994 +#: ../../library/stdtypes.rst:1005 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 :" @@ -1681,27 +1687,27 @@ msgstr "" "`bytearray` são objetos mutáveis e possuem um eficiente mecanismo de " "superalocação" -#: ../../library/stdtypes.rst:999 +#: ../../library/stdtypes.rst:1010 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" -#: ../../library/stdtypes.rst:1001 +#: ../../library/stdtypes.rst:1012 msgid "for other types, investigate the relevant class documentation" msgstr "para outros tipos, busque na documentação relevante da classe" -#: ../../library/stdtypes.rst:1005 +#: ../../library/stdtypes.rst:1016 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:1010 +#: ../../library/stdtypes.rst:1021 msgid "" "``index`` raises :exc:`ValueError` when *x* is not found in *s*. Not all " "implementations support passing the additional arguments *i* and *j*. These " @@ -1717,11 +1723,11 @@ 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:1021 +#: ../../library/stdtypes.rst:1032 msgid "Immutable Sequence Types" msgstr "Tipos sequência imutáveis" -#: ../../library/stdtypes.rst:1028 +#: ../../library/stdtypes.rst:1039 msgid "" "The only operation that immutable sequence types generally implement that is " "not also implemented by mutable sequence types is support for the :func:" @@ -1731,7 +1737,7 @@ msgstr "" "que também não é implementada pelos tipos sequências mutáveis é suporte para " "a função embutida :func:`hash`." -#: ../../library/stdtypes.rst:1032 +#: ../../library/stdtypes.rst:1043 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:" @@ -1741,7 +1747,7 @@ msgstr "" "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:1036 +#: ../../library/stdtypes.rst:1047 msgid "" "Attempting to hash an immutable sequence that contains unhashable values " "will result in :exc:`TypeError`." @@ -1749,11 +1755,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:1043 +#: ../../library/stdtypes.rst:1054 msgid "Mutable Sequence Types" msgstr "Tipos sequências mutáveis" -#: ../../library/stdtypes.rst:1050 +#: ../../library/stdtypes.rst:1061 msgid "" "The operations in the following table are defined on mutable sequence types. " "The :class:`collections.abc.MutableSequence` ABC is provided to make it " @@ -1764,7 +1770,7 @@ msgstr "" "fácil a implementação correta dessas operações em tipos sequências " "personalizados." -#: ../../library/stdtypes.rst:1054 +#: ../../library/stdtypes.rst:1065 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 " @@ -1776,79 +1782,79 @@ 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:1078 +#: ../../library/stdtypes.rst:1089 msgid "``s[i] = x``" msgstr "``s[i] = x``" -#: ../../library/stdtypes.rst:1078 +#: ../../library/stdtypes.rst:1089 msgid "item *i* of *s* is replaced by *x*" msgstr "item *i* de *s* é substituído por *x*" -#: ../../library/stdtypes.rst:1081 +#: ../../library/stdtypes.rst:1092 msgid "``s[i:j] = t``" msgstr "``s[i:j] = t``" -#: ../../library/stdtypes.rst:1081 +#: ../../library/stdtypes.rst:1092 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:1085 +#: ../../library/stdtypes.rst:1096 msgid "``del s[i:j]``" msgstr "``del s[i:j]``" -#: ../../library/stdtypes.rst:1085 +#: ../../library/stdtypes.rst:1096 msgid "same as ``s[i:j] = []``" msgstr "o mesmo que ``s[i:j] = []``" -#: ../../library/stdtypes.rst:1087 +#: ../../library/stdtypes.rst:1098 msgid "``s[i:j:k] = t``" msgstr "``s[i:j:k] = t``" -#: ../../library/stdtypes.rst:1087 +#: ../../library/stdtypes.rst:1098 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:1090 +#: ../../library/stdtypes.rst:1101 msgid "``del s[i:j:k]``" msgstr "``del s[i:j:k]``" -#: ../../library/stdtypes.rst:1090 +#: ../../library/stdtypes.rst:1101 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:1093 +#: ../../library/stdtypes.rst:1104 msgid "``s.append(x)``" msgstr "``s.append(x)``" -#: ../../library/stdtypes.rst:1093 +#: ../../library/stdtypes.rst:1104 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:1097 +#: ../../library/stdtypes.rst:1108 msgid "``s.clear()``" msgstr "``s.clear()``" -#: ../../library/stdtypes.rst:1097 +#: ../../library/stdtypes.rst:1108 msgid "removes all items from *s* (same as ``del s[:]``)" msgstr "remove todos os itens de *s* (mesmo que ``del s[:]``)" -#: ../../library/stdtypes.rst:1100 +#: ../../library/stdtypes.rst:1111 msgid "``s.copy()``" msgstr "``s.copy()``" -#: ../../library/stdtypes.rst:1100 +#: ../../library/stdtypes.rst:1111 msgid "creates a shallow copy of *s* (same as ``s[:]``)" msgstr "cria uma cópia rasa de *s* (mesmo que ``s[:]``)" -#: ../../library/stdtypes.rst:1103 +#: ../../library/stdtypes.rst:1114 msgid "``s.extend(t)`` or ``s += t``" msgstr "``s.extend(t)`` ou ``s += t``" -#: ../../library/stdtypes.rst:1103 +#: ../../library/stdtypes.rst:1114 msgid "" "extends *s* with the contents of *t* (for the most part the same as " "``s[len(s):len(s)] = t``)" @@ -1856,54 +1862,54 @@ msgstr "" "estende *s* com o conteúdo de *t* (na maior parte do mesmo ``s[len(s):" "len(s)] = t``)" -#: ../../library/stdtypes.rst:1108 +#: ../../library/stdtypes.rst:1119 msgid "``s *= n``" msgstr "``s *= n``" -#: ../../library/stdtypes.rst:1108 +#: ../../library/stdtypes.rst:1119 msgid "updates *s* with its contents repeated *n* times" msgstr "atualiza *s* com o seu conteúdo por *n* vezes" -#: ../../library/stdtypes.rst:1111 +#: ../../library/stdtypes.rst:1122 msgid "``s.insert(i, x)``" msgstr "``s.insert(i, x)``" -#: ../../library/stdtypes.rst:1111 +#: ../../library/stdtypes.rst:1122 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:1115 +#: ../../library/stdtypes.rst:1126 msgid "``s.pop()`` or ``s.pop(i)``" msgstr "``s.pop()`` ou ``s.pop(i)``" -#: ../../library/stdtypes.rst:1115 +#: ../../library/stdtypes.rst:1126 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:1118 +#: ../../library/stdtypes.rst:1129 msgid "``s.remove(x)``" msgstr "``s.remove(x)``" -#: ../../library/stdtypes.rst:1118 +#: ../../library/stdtypes.rst:1129 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:1121 +#: ../../library/stdtypes.rst:1132 msgid "``s.reverse()``" msgstr "``s.reverse()``" -#: ../../library/stdtypes.rst:1121 +#: ../../library/stdtypes.rst:1132 msgid "reverses the items of *s* in place" msgstr "inverte os itens de *s* in-place" -#: ../../library/stdtypes.rst:1129 +#: ../../library/stdtypes.rst:1140 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:1132 +#: ../../library/stdtypes.rst:1143 msgid "" "The optional argument *i* defaults to ``-1``, so that by default the last " "item is removed and returned." @@ -1911,12 +1917,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:1136 +#: ../../library/stdtypes.rst:1147 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:1139 +#: ../../library/stdtypes.rst:1150 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 " @@ -1927,7 +1933,7 @@ msgstr "" "ocorre como sendo um efeito colateral, o mesmo não retorna a sequência " "invertida." -#: ../../library/stdtypes.rst:1144 +#: ../../library/stdtypes.rst:1155 msgid "" ":meth:`clear` and :meth:`!copy` are included for consistency with the " "interfaces of mutable containers that don't support slicing operations (such " @@ -1941,11 +1947,11 @@ msgstr "" "class:`collections.abc.MutableSequence`, mas a maioria das classes concretas " "de sequências mutáveis fornece isso." -#: ../../library/stdtypes.rst:1150 +#: ../../library/stdtypes.rst:1161 msgid ":meth:`clear` and :meth:`!copy` methods." msgstr "Métodos :meth:`clear` e :meth:`!copy`." -#: ../../library/stdtypes.rst:1154 +#: ../../library/stdtypes.rst:1165 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 " @@ -1957,11 +1963,11 @@ msgstr "" "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:1163 +#: ../../library/stdtypes.rst:1174 msgid "Lists" msgstr "Listas" -#: ../../library/stdtypes.rst:1167 +#: ../../library/stdtypes.rst:1178 msgid "" "Lists are mutable sequences, typically used to store collections of " "homogeneous items (where the precise degree of similarity will vary by " @@ -1971,28 +1977,28 @@ msgstr "" "coleções de itens homogêneos (onde o grau preciso de similaridade variará de " "acordo com a aplicação)." -#: ../../library/stdtypes.rst:1173 +#: ../../library/stdtypes.rst:1184 msgid "Lists may be constructed in several ways:" msgstr "As listas podem ser construídas de várias maneiras:" -#: ../../library/stdtypes.rst:1175 +#: ../../library/stdtypes.rst:1186 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:1176 +#: ../../library/stdtypes.rst:1187 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:1177 +#: ../../library/stdtypes.rst:1188 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:1178 +#: ../../library/stdtypes.rst:1189 msgid "Using the type constructor: ``list()`` or ``list(iterable)``" msgstr "Usando o construtor de tipo: ``list()`` ou ``list(iterable)``" -#: ../../library/stdtypes.rst:1180 +#: ../../library/stdtypes.rst:1191 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 " @@ -2010,7 +2016,7 @@ msgstr "" "``[1, 2, 3]``. Se nenhum argumento for dado, o construtor criará uma nova " "lista vazia ``[]``." -#: ../../library/stdtypes.rst:1189 +#: ../../library/stdtypes.rst:1200 msgid "" "Many other operations also produce lists, including the :func:`sorted` built-" "in." @@ -2018,7 +2024,7 @@ msgstr "" "Muitas outras operações também produzem listas, incluindo a função embutida :" "func:`sorted`." -#: ../../library/stdtypes.rst:1192 +#: ../../library/stdtypes.rst:1203 msgid "" "Lists implement all of the :ref:`common ` and :ref:`mutable " "` sequence operations. Lists also provide the following " @@ -2028,7 +2034,7 @@ msgstr "" "common>` e :ref:`mutáveis `. As listas também fornecem o " "seguinte método adicional:" -#: ../../library/stdtypes.rst:1198 +#: ../../library/stdtypes.rst:1209 msgid "" "This method sorts the list in place, using only ``<`` comparisons between " "items. Exceptions are not suppressed - if any comparison operations fail, " @@ -2040,7 +2046,7 @@ 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:1203 +#: ../../library/stdtypes.rst:1214 msgid "" ":meth:`sort` accepts two arguments that can only be passed by keyword (:ref:" "`keyword-only arguments `):" @@ -2048,7 +2054,7 @@ msgstr "" ":meth:`sort` aceita 2 argumentos que só podem ser passados como :ref:" "`argumentos somente-nomeados `:" -#: ../../library/stdtypes.rst:1206 +#: ../../library/stdtypes.rst:1217 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 " @@ -2063,7 +2069,7 @@ msgstr "" "significa que os itens da lista são classificados diretamente sem calcular " "um valor de chave separado." -#: ../../library/stdtypes.rst:1213 +#: ../../library/stdtypes.rst:1224 msgid "" "The :func:`functools.cmp_to_key` utility is available to convert a 2.x style " "*cmp* function to a *key* function." @@ -2071,7 +2077,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:1216 +#: ../../library/stdtypes.rst:1227 msgid "" "*reverse* is a boolean value. If set to ``True``, then the list elements " "are sorted as if each comparison were reversed." @@ -2080,7 +2086,7 @@ msgstr "" "elementos da lista são classificados como se cada comparação estivesse " "invertida." -#: ../../library/stdtypes.rst:1219 +#: ../../library/stdtypes.rst:1230 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 " @@ -2093,7 +2099,7 @@ msgstr "" "função :func:`sorted` para solicitar explicitamente uma nova instância da " "lista ordenada)." -#: ../../library/stdtypes.rst:1224 +#: ../../library/stdtypes.rst:1235 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 " @@ -2105,14 +2111,14 @@ msgstr "" "comparam igual -- isso é útil para classificar em várias passagens (por " "exemplo, classificar por departamento, depois por nota salarial)." -#: ../../library/stdtypes.rst:1229 +#: ../../library/stdtypes.rst:1240 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`." -#: ../../library/stdtypes.rst:1233 +#: ../../library/stdtypes.rst:1244 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 " @@ -2125,11 +2131,11 @@ msgstr "" "exceção :exc:`ValueError` se puder detectar que a lista foi alterada durante " "uma ordenação." -#: ../../library/stdtypes.rst:1242 +#: ../../library/stdtypes.rst:1253 msgid "Tuples" msgstr "Tuplas" -#: ../../library/stdtypes.rst:1246 +#: ../../library/stdtypes.rst:1257 msgid "" "Tuples are immutable sequences, typically used to store collections of " "heterogeneous data (such as the 2-tuples produced by the :func:`enumerate` " @@ -2143,29 +2149,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:1254 +#: ../../library/stdtypes.rst:1265 msgid "Tuples may be constructed in a number of ways:" msgstr "As tuplas podem ser construídas de várias maneiras:" -#: ../../library/stdtypes.rst:1256 +#: ../../library/stdtypes.rst:1267 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:1257 +#: ../../library/stdtypes.rst:1268 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:1258 +#: ../../library/stdtypes.rst:1269 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:1259 +#: ../../library/stdtypes.rst:1270 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:1261 +#: ../../library/stdtypes.rst:1272 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 " @@ -2182,7 +2188,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:1269 +#: ../../library/stdtypes.rst:1280 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 " @@ -2196,7 +2202,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:1275 +#: ../../library/stdtypes.rst:1286 msgid "" "Tuples implement all of the :ref:`common ` sequence " "operations." @@ -2204,7 +2210,7 @@ msgstr "" "As tuplas implementam todas as operações :ref:`comuns ` de " "sequência." -#: ../../library/stdtypes.rst:1278 +#: ../../library/stdtypes.rst:1289 msgid "" "For heterogeneous collections of data where access by name is clearer than " "access by index, :func:`collections.namedtuple` may be a more appropriate " @@ -2214,11 +2220,11 @@ msgstr "" "que o acesso pelo índice, :func:`collections.namedtuple` pode ser uma " "escolha mais apropriada do que um objeto tupla simples." -#: ../../library/stdtypes.rst:1286 +#: ../../library/stdtypes.rst:1297 msgid "Ranges" msgstr "Intervalos" -#: ../../library/stdtypes.rst:1290 +#: ../../library/stdtypes.rst:1301 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." @@ -2227,21 +2233,21 @@ msgstr "" "comumente usado para percorrer um número determinado de vezes em um laço :" "keyword:`for`." -#: ../../library/stdtypes.rst:1297 +#: ../../library/stdtypes.rst:1308 msgid "" "The arguments to the range constructor must be integers (either built-in :" -"class:`int` or any object that implements the ``__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." +"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 " -"``__index__``). Se o argumento *step* for omitido, será usado o padrão " +"`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:1303 +#: ../../library/stdtypes.rst:1314 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``." @@ -2249,7 +2255,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:1307 +#: ../../library/stdtypes.rst:1318 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 " @@ -2259,7 +2265,7 @@ msgstr "" "fórmula ``r[i] = start + step*i``, mas as restrições serão ``i >= 0`` e " "``r[i] > stop``." -#: ../../library/stdtypes.rst:1311 +#: ../../library/stdtypes.rst:1322 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 " @@ -2270,7 +2276,7 @@ msgstr "" "como indexadores partindo do final da sequência determinada pelos índices " "positivos." -#: ../../library/stdtypes.rst:1316 +#: ../../library/stdtypes.rst:1327 msgid "" "Ranges containing absolute values larger than :data:`sys.maxsize` are " "permitted but some features (such as :func:`len`) may raise :exc:" @@ -2280,11 +2286,11 @@ msgstr "" "permitidos, mas alguns recursos (como :func:`len`) podem levantar :exc:" "`OverflowError`." -#: ../../library/stdtypes.rst:1320 +#: ../../library/stdtypes.rst:1331 msgid "Range examples::" msgstr "Exemplos de intervalos::" -#: ../../library/stdtypes.rst:1337 +#: ../../library/stdtypes.rst:1348 msgid "" "Ranges implement all of the :ref:`common ` sequence " "operations except concatenation and repetition (due to the fact that range " @@ -2296,25 +2302,25 @@ 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:1344 +#: ../../library/stdtypes.rst:1355 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:1349 +#: ../../library/stdtypes.rst:1360 msgid "The value of the *stop* parameter" msgstr "O valor do parâmetro *stop*" -#: ../../library/stdtypes.rst:1353 +#: ../../library/stdtypes.rst:1364 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:1356 +#: ../../library/stdtypes.rst:1367 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 " @@ -2328,7 +2334,7 @@ msgstr "" "representando (como ele apenas armazena os valores ``start``, ``stop`` e " "``step``, calculando itens individuais e subintervalos conforme necessário)." -#: ../../library/stdtypes.rst:1362 +#: ../../library/stdtypes.rst:1373 msgid "" "Range objects implement the :class:`collections.abc.Sequence` ABC, and " "provide features such as containment tests, element index lookup, slicing " @@ -2338,7 +2344,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:1382 +#: ../../library/stdtypes.rst:1393 msgid "" "Testing range objects for equality with ``==`` and ``!=`` compares them as " "sequences. That is, two range objects are considered equal if they " @@ -2354,7 +2360,7 @@ msgstr "" "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:1389 +#: ../../library/stdtypes.rst:1400 msgid "" "Implement the Sequence ABC. Support slicing and negative indices. Test :" "class:`int` objects for membership in constant time instead of iterating " @@ -2364,7 +2370,7 @@ msgstr "" "objetos :class:`int` para associação em tempo constante em vez de iterar " "através de todos os itens." -#: ../../library/stdtypes.rst:1395 +#: ../../library/stdtypes.rst:1406 msgid "" "Define '==' and '!=' to compare range objects based on the sequence of " "values they define (instead of comparing based on object identity)." @@ -2373,28 +2379,28 @@ msgstr "" "valores que eles definem (em vez de comparar com base na identidade do " "objeto)." -#: ../../library/stdtypes.rst:1400 +#: ../../library/stdtypes.rst:1411 msgid "" "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`." -#: ../../library/stdtypes.rst:1406 +#: ../../library/stdtypes.rst:1417 msgid "" -"The `linspace recipe `_ shows " +"The `linspace recipe `_ shows " "how to implement a lazy version of range suitable for floating point " "applications." msgstr "" -"A `receita de linspace `_ " +"A `receita de linspace `_ " "mostra como implementar uma versão preguiçosa de um intervalo adequado para " "aplicações de ponto flutuante." -#: ../../library/stdtypes.rst:1418 +#: ../../library/stdtypes.rst:1429 msgid "Text Sequence Type --- :class:`str`" msgstr "Tipo sequência de texto --- :class:`str`" -#: ../../library/stdtypes.rst:1420 +#: ../../library/stdtypes.rst:1431 msgid "" "Textual data in Python is handled with :class:`str` objects, or :dfn:" "`strings`. Strings are immutable :ref:`sequences ` of Unicode code " @@ -2404,23 +2410,23 @@ msgstr "" "`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:1425 +#: ../../library/stdtypes.rst:1436 msgid "Single quotes: ``'allows embedded \"double\" quotes'``" msgstr "Aspas simples: ``'permitem aspas \"duplas\" internas'``" -#: ../../library/stdtypes.rst:1426 -msgid "Double quotes: ``\"allows embedded 'single' quotes\"``." -msgstr "Aspas duplas: ``\"permitem aspas 'simples' internas\"``." +#: ../../library/stdtypes.rst:1437 +msgid "Double quotes: ``\"allows embedded 'single' quotes\"``" +msgstr "Aspas duplas: ``\"permitem aspas 'simples' internas\"``" -#: ../../library/stdtypes.rst:1427 +#: ../../library/stdtypes.rst:1438 msgid "" -"Triple quoted: ``'''Three single quotes'''``, ``\"\"\"Three double quotes" -"\"\"\"``" +"Triple quoted: ``'''Three single quotes'''``, ``\"\"\"Three double " +"quotes\"\"\"``" msgstr "" -"Aspas triplas: ``'''Três aspas simples'''``, ``\"\"\"Três aspas duplas" -"\"\"\"``" +"Aspas triplas: ``'''Três aspas simples'''``, ``\"\"\"Três aspas " +"duplas\"\"\"``" -#: ../../library/stdtypes.rst:1429 +#: ../../library/stdtypes.rst:1440 msgid "" "Triple quoted strings may span multiple lines - all associated whitespace " "will be included in the string literal." @@ -2428,7 +2434,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:1432 +#: ../../library/stdtypes.rst:1443 msgid "" "String literals that are part of a single expression and have only " "whitespace between them will be implicitly converted to a single string " @@ -2438,17 +2444,17 @@ msgstr "" "espaços em branco entre eles serão implicitamente convertidos em um único " "literal string. Isso é, ``(\"spam \" \"eggs\") == \"spam eggs\"``." -#: ../../library/stdtypes.rst:1436 +#: ../../library/stdtypes.rst:1447 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." 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 strings de escape, e o prefixo ``r`` " +"(\"raw\") que desabilita a maioria dos processos de escape." -#: ../../library/stdtypes.rst:1440 +#: ../../library/stdtypes.rst:1451 msgid "" "Strings may also be created from other objects using the :class:`str` " "constructor." @@ -2456,7 +2462,7 @@ msgstr "" "As strings também podem ser criadas a partir de outros objetos usando o " "construtor :class:`str`." -#: ../../library/stdtypes.rst:1443 +#: ../../library/stdtypes.rst:1454 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]``." @@ -2465,7 +2471,7 @@ msgstr "" "string produz strings de comprimento 1. Ou seja, para uma string não vazia " "*s*, ``s[0] == s[0:1]``." -#: ../../library/stdtypes.rst:1449 +#: ../../library/stdtypes.rst:1460 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 " @@ -2475,7 +2481,7 @@ msgstr "" "classe :class:`io.StringIO` podem ser usados para construir strings de forma " "eficiente a partir de vários partes distintas." -#: ../../library/stdtypes.rst:1453 +#: ../../library/stdtypes.rst:1464 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 " @@ -2486,7 +2492,7 @@ msgstr "" "sobre o significado de literais strings e não pode ser combinado com o " "prefixo ``r``." -#: ../../library/stdtypes.rst:1465 +#: ../../library/stdtypes.rst:1476 msgid "" "Return a :ref:`string ` version of *object*. If *object* is not " "provided, returns the empty string. Otherwise, the behavior of ``str()`` " @@ -2497,22 +2503,17 @@ msgstr "" "``str()`` dependerá se o *encoding* ou *errors* são fornecidos, da seguinte " "forma." -#: ../../library/stdtypes.rst:1469 +#: ../../library/stdtypes.rst:1480 msgid "" "If neither *encoding* nor *errors* is given, ``str(object)`` returns :meth:" -"`object.__str__() `, 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:`object.__str__() `, 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:" +"`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 "" -#: ../../library/stdtypes.rst:1480 +#: ../../library/stdtypes.rst:1492 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 " @@ -2524,15 +2525,15 @@ msgid "" "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 " -"chamar :meth:`bytes.decode`. Veja :ref:`binaryseq` e :ref:`bufferobjects` " -"para obter informações sobre objetos buffer." +"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:1489 +#: ../../library/stdtypes.rst:1501 msgid "" "Passing a :class:`bytes` object to :func:`str` without the *encoding* or " "*errors* arguments falls under the first case of returning the informal " @@ -2544,7 +2545,7 @@ 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:1497 +#: ../../library/stdtypes.rst:1509 msgid "" "For more information on the ``str`` class and its methods, see :ref:" "`textseq` and the :ref:`string-methods` section below. To output formatted " @@ -2556,11 +2557,11 @@ msgstr "" "formatadas, veja as seções :ref:`f-strings` e :ref:`formatstrings`. Além " "disso, veja a seção :ref:`stringservices`." -#: ../../library/stdtypes.rst:1509 +#: ../../library/stdtypes.rst:1521 msgid "String Methods" -msgstr "Métodos de string" +msgstr "String Methods" -#: ../../library/stdtypes.rst:1514 +#: ../../library/stdtypes.rst:1526 msgid "" "Strings implement all of the :ref:`common ` sequence " "operations, along with the additional methods described below." @@ -2568,7 +2569,7 @@ msgstr "" "Strings implementam todas as operações :ref:`comuns ` de " "sequências, juntamente com os métodos adicionais descritos abaixo." -#: ../../library/stdtypes.rst:1517 +#: ../../library/stdtypes.rst:1529 msgid "" "Strings also support two styles of string formatting, one providing a large " "degree of flexibility and customization (see :meth:`str.format`, :ref:" @@ -2585,7 +2586,7 @@ msgstr "" "frequentemente mais rápida para os casos na qual ela consegue manipular (:" "ref:`old-string-formatting`)." -#: ../../library/stdtypes.rst:1524 +#: ../../library/stdtypes.rst:1536 msgid "" "The :ref:`textservices` section of the standard library covers a number of " "other modules that provide various text related utilities (including regular " @@ -2595,7 +2596,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:1530 +#: ../../library/stdtypes.rst:1542 msgid "" "Return a copy of the string with its first character capitalized and the " "rest lowercased." @@ -2603,7 +2604,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:1533 +#: ../../library/stdtypes.rst:1545 msgid "" "The first character is now put into titlecase rather than uppercase. This " "means that characters like digraphs will only have their first letter " @@ -2613,7 +2614,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:1540 +#: ../../library/stdtypes.rst:1552 msgid "" "Return a casefolded copy of the string. Casefolded strings may be used for " "caseless matching." @@ -2621,7 +2622,7 @@ 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:1543 +#: ../../library/stdtypes.rst:1555 msgid "" "Casefolding is similar to lowercasing but more aggressive because it is " "intended to remove all case distinctions in a string. For example, the " @@ -2631,17 +2632,18 @@ msgid "" 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 " -"string. Por exemplo, a letra minúscula alemã ``'ß'`` é equivalente a ``\"ss" -"\"``. Como ela já é uma minúscula, o método :meth:`lower` não irá fazer nada " -"para ``'ß'``; já o método :meth:`casefold` converte a letra para ``\"ss\"``." +"string. Por exemplo, a letra minúscula alemã ``'ß'`` é equivalente a " +"``\"ss\"``. Como ela já é uma minúscula, o método :meth:`lower` não irá " +"fazer nada para ``'ß'``; já o método :meth:`casefold` converte a letra para " +"``\"ss\"``." -#: ../../library/stdtypes.rst:1549 +#: ../../library/stdtypes.rst:1561 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:1557 +#: ../../library/stdtypes.rst:1569 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 " @@ -2652,7 +2654,7 @@ msgstr "" "caractere de espaço ASCII). A string original é retornada se *width* é menor " "ou igual que ``len(s)``." -#: ../../library/stdtypes.rst:1565 +#: ../../library/stdtypes.rst:1577 msgid "" "Return the number of non-overlapping occurrences of substring *sub* in the " "range [*start*, *end*]. Optional arguments *start* and *end* are " @@ -2662,51 +2664,64 @@ msgstr "" "intervalo [*start*, *end*]. Argumentos opcionais *start* e *end* são " "interpretados como na notação de fatias." -#: ../../library/stdtypes.rst:1572 -msgid "" -"Return an encoded version of the string as a bytes object. Default encoding " -"is ``'utf-8'``. *errors* may be given to set a different error handling " -"scheme. The default for *errors* is ``'strict'``, meaning that encoding " -"errors raise a :exc:`UnicodeError`. Other possible values are ``'ignore'``, " -"``'replace'``, ``'xmlcharrefreplace'``, ``'backslashreplace'`` and any other " -"name registered via :func:`codecs.register_error`, see section :ref:`error-" -"handlers`. For a list of possible encodings, see section :ref:`standard-" -"encodings`." -msgstr "" -"Retorna uma versão codificada da string como um objeto bytes. A codificação " -"padrão é ``'utf-8'``. *errors* podem ser fornecidos para definir um esquema " -"de tratamento de erros diferente. O padrão para *errors* é ``'strict'``, o " -"que significa que os erros de codificação levantam uma exceção :exc:" -"`UnicodeError`. Outros valores possíveis são ``'ignore'``, ``'replace'``, " -"``'xmlcharrefreplace'``, ``'backslashreplace'`` e qualquer outro nome " -"registrado via :func:`codecs.register_error`, veja a seção :ref:`error-" -"handlers`. Para obter uma lista das possíveis codificações, consulte a " -"seção :ref:`standard-encodings`." - #: ../../library/stdtypes.rst:1581 msgid "" -"By default, the *errors* argument is not checked for best performances, but " -"only used at the first encoding error. Enable the :ref:`Python Development " -"Mode `, or use a :ref:`debug build ` to check *errors*." +"If *sub* is empty, returns the number of empty strings between characters " +"which is the length of the string plus one." +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:1587 +msgid "Return the string encoded to :class:`bytes`." +msgstr "Retorna a string codificada para :class:`bytes`." + +#: ../../library/stdtypes.rst:1589 ../../library/stdtypes.rst:2722 +msgid "" +"*encoding* defaults to ``'utf-8'``; see :ref:`standard-encodings` for " +"possible values." +msgstr "" +"*encoding* tem como padrão ``'utf-8'``; veja :ref:`standard-encodings` para " +"valores possíveis." + +#: ../../library/stdtypes.rst:1592 +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." +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." + +#: ../../library/stdtypes.rst:1599 +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." msgstr "" -"Por padrão, o argumento *errors* não é verificado para obter os melhores " -"desempenhos, mas apenas usado no primeiro erro de codificação. Habilite o :" -"ref:`Modo de Desenvolvimento do Python ` ou use uma :ref:" -"`construção de depuração ` para verificar *errors*." +"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." -#: ../../library/stdtypes.rst:1586 -msgid "Support for keyword arguments added." +#: ../../library/stdtypes.rst:1604 ../../library/stdtypes.rst:2741 +msgid "Added support for keyword arguments." msgstr "Adicionado suporte para argumentos nomeados." -#: ../../library/stdtypes.rst:1589 ../../library/stdtypes.rst:2725 +#: ../../library/stdtypes.rst:1607 ../../library/stdtypes.rst:2744 msgid "" -"The *errors* is now checked in development mode and in :ref:`debug mode " -"`." +"The value of the *errors* argument is now checked in :ref:`devmode` and in :" +"ref:`debug mode `." msgstr "" -"Os *errors* agora são verificados no modo de desenvolvimento 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:1596 +#: ../../library/stdtypes.rst:1614 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. " @@ -2719,7 +2734,7 @@ msgstr "" "daquela posição. Com o parâmetro opcional *end*, devemos parar de comparar " "na posição especificada." -#: ../../library/stdtypes.rst:1604 +#: ../../library/stdtypes.rst:1622 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 " @@ -2728,9 +2743,9 @@ msgid "" "column is set to zero and the string is examined character by character. If " "the character is a tab (``\\t``), one or more space characters are inserted " "in the result until the current column is equal to the next tab position. " -"(The tab character itself is not copied.) If the character is a newline (``" -"\\n``) or return (``\\r``), it is copied and the current column is reset to " -"zero. Any other character is copied unchanged and the current column is " +"(The tab character itself is not copied.) If the character is a newline " +"(``\\n``) or return (``\\r``), it is copied and the current column is reset " +"to zero. Any other character is copied unchanged and the current column is " "incremented by one regardless of how the character is represented when " "printed." msgstr "" @@ -2748,7 +2763,7 @@ msgstr "" "ser modificado e a coluna atual é incrementada em uma unidade " "independentemente de como o caractere é representado quando é impresso." -#: ../../library/stdtypes.rst:1625 +#: ../../library/stdtypes.rst:1643 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 " @@ -2759,7 +2774,7 @@ msgstr "" "são interpretados como na notação de fatiamento. Retorna ``-1`` se *sub* não " "for localizado." -#: ../../library/stdtypes.rst:1631 +#: ../../library/stdtypes.rst:1649 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 :" @@ -2769,7 +2784,7 @@ msgstr "" "posição de *sub*. Para verificar se *sub* é ou não uma substring, use o " "operador :keyword:`in`::" -#: ../../library/stdtypes.rst:1641 +#: ../../library/stdtypes.rst:1659 msgid "" "Perform a string formatting operation. The string on which this method is " "called can contain literal text or replacement fields delimited by braces " @@ -2785,7 +2800,7 @@ msgstr "" "da string onde cada campo para substituição é substituído com o valor da " "string do argumento correspondente." -#: ../../library/stdtypes.rst:1651 +#: ../../library/stdtypes.rst:1669 msgid "" "See :ref:`formatstrings` for a description of the various formatting options " "that can be specified in format strings." @@ -2793,7 +2808,7 @@ 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:1655 +#: ../../library/stdtypes.rst:1673 msgid "" "When formatting a number (:class:`int`, :class:`float`, :class:`complex`, :" "class:`decimal.Decimal` and subclasses) with the ``n`` type (ex: ``'{:n}'." @@ -2812,7 +2827,7 @@ msgstr "" "diferente da localidade ``LC_CTYPE``. Esta mudança temporária afeta outras " "threads." -#: ../../library/stdtypes.rst:1664 +#: ../../library/stdtypes.rst:1682 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." @@ -2820,7 +2835,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:1672 +#: ../../library/stdtypes.rst:1690 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 " @@ -2830,7 +2845,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:1688 +#: ../../library/stdtypes.rst:1706 msgid "" "Like :meth:`~str.find`, but raise :exc:`ValueError` when the substring is " "not found." @@ -2838,7 +2853,7 @@ msgstr "" "Senelhante a :meth:`~str.find`, mas levanta :exc:`ValueError` quando a " "substring não é encontrada." -#: ../../library/stdtypes.rst:1694 +#: ../../library/stdtypes.rst:1712 msgid "" "Return ``True`` if all characters in the string are alphanumeric and there " "is at least one character, ``False`` otherwise. A character ``c`` is " @@ -2850,14 +2865,14 @@ msgstr "" "alfanumérico se um dos seguintes retorna ``True``: ``c.isalpha()``, ``c." "isdecimal()``, ``c.isdigit()``, ou ``c.isnumeric()``." -#: ../../library/stdtypes.rst:1702 +#: ../../library/stdtypes.rst:1720 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\", \"Lu" -"\", \"Ll\", or \"Lo\". Note that this is different from the \"Alphabetic\" " -"property defined in the Unicode Standard." +"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 "" "Retorna ``True`` se todos os caracteres na string são alfabéticos e existe " "pelo menos um caractere, ``False`` caso contrário. Caracteres alfabéticos " @@ -2866,17 +2881,17 @@ msgstr "" "\"Lm\", \"Lt\", \"Lu\", \"Ll\" ou \"Lo\". Perceba que isso é diferente da " "propriedade \"Alfabética\" definida no Unicode padrão." -#: ../../library/stdtypes.rst:1711 +#: ../../library/stdtypes.rst:1729 msgid "" "Return ``True`` if the string is empty or all characters in the string are " -"ASCII, ``False`` otherwise. ASCII characters have code points in the range U" -"+0000-U+007F." +"ASCII, ``False`` otherwise. ASCII characters have code points in the range " +"U+0000-U+007F." msgstr "" "Retorna ``True`` se a string é vazia ou se todos os caracteres na string são " "ASCII, ``False`` caso contrário. Caracteres ASCII têm pontos de código no " "intervalo U+0000-U+007F." -#: ../../library/stdtypes.rst:1720 +#: ../../library/stdtypes.rst:1738 msgid "" "Return ``True`` if all characters in the string are decimal characters and " "there is at least one character, ``False`` otherwise. Decimal characters are " @@ -2890,7 +2905,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:1730 +#: ../../library/stdtypes.rst:1748 msgid "" "Return ``True`` if all characters in the string are digits and there is at " "least one character, ``False`` otherwise. Digits include decimal characters " @@ -2907,7 +2922,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:1740 +#: ../../library/stdtypes.rst:1758 msgid "" "Return ``True`` if the string is a valid identifier according to the " "language definition, section :ref:`identifiers`." @@ -2915,7 +2930,7 @@ msgstr "" "Retorna ``True`` se a string é um identificador válido conforme a definição " "da linguagem, seção :ref:`identifiers`." -#: ../../library/stdtypes.rst:1743 +#: ../../library/stdtypes.rst:1761 msgid "" "Call :func:`keyword.iskeyword` to test whether string ``s`` is a reserved " "identifier, such as :keyword:`def` and :keyword:`class`." @@ -2923,11 +2938,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:1746 +#: ../../library/stdtypes.rst:1764 msgid "Example: ::" msgstr "Exemplo: ::" -#: ../../library/stdtypes.rst:1759 +#: ../../library/stdtypes.rst:1777 msgid "" "Return ``True`` if all cased characters [4]_ in the string are lowercase and " "there is at least one cased character, ``False`` otherwise." @@ -2936,7 +2951,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:1765 +#: ../../library/stdtypes.rst:1783 msgid "" "Return ``True`` if all characters in the string are numeric characters, and " "there is at least one character, ``False`` otherwise. Numeric characters " @@ -2952,7 +2967,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:1775 +#: ../../library/stdtypes.rst:1793 msgid "" "Return ``True`` if all characters in the string are printable or the string " "is empty, ``False`` otherwise. Nonprintable characters are those characters " @@ -2972,25 +2987,25 @@ msgstr "" "tratamento de strings escritas usando :data:`sys.stdout` ou :data:`sys." "stderr`.)" -#: ../../library/stdtypes.rst:1786 +#: ../../library/stdtypes.rst:1804 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:1789 +#: ../../library/stdtypes.rst:1807 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``." +"`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:1797 +#: ../../library/stdtypes.rst:1815 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 " @@ -3002,7 +3017,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:1804 +#: ../../library/stdtypes.rst:1822 msgid "" "Return ``True`` if all cased characters [4]_ in the string are uppercase and " "there is at least one cased character, ``False`` otherwise." @@ -3011,7 +3026,7 @@ 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:1820 +#: ../../library/stdtypes.rst:1838 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 " @@ -3023,7 +3038,7 @@ msgstr "" "strings no *iterável*, incluindo objetos :class:`bytes`. O separador entre " "elementos é a string que está fornecendo este método." -#: ../../library/stdtypes.rst:1828 +#: ../../library/stdtypes.rst:1846 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 " @@ -3034,7 +3049,7 @@ msgstr "" "caractere ASCII de espaço). A string original é retornada se *width* é menor " "ou igual que ``len(s)``." -#: ../../library/stdtypes.rst:1835 +#: ../../library/stdtypes.rst:1853 msgid "" "Return a copy of the string with all the cased characters [4]_ converted to " "lowercase." @@ -3042,7 +3057,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:1838 +#: ../../library/stdtypes.rst:1856 msgid "" "The lowercasing algorithm used is described in section 3.13 of the Unicode " "Standard." @@ -3050,7 +3065,7 @@ msgstr "" "O algoritmo usado para letras minúsculas é descrito na seção 3.13 do Padrão " "Unicode." -#: ../../library/stdtypes.rst:1844 +#: ../../library/stdtypes.rst:1862 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 " @@ -3063,9 +3078,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:1854 +#: ../../library/stdtypes.rst:1872 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::" @@ -3073,7 +3088,7 @@ 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:1865 +#: ../../library/stdtypes.rst:1883 msgid "" "This static method returns a translation table usable for :meth:`str." "translate`." @@ -3081,7 +3096,7 @@ msgstr "" "Este método estático retorna uma tabela de tradução usável para :meth:`str." "translate`." -#: ../../library/stdtypes.rst:1867 +#: ../../library/stdtypes.rst:1885 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, " @@ -3093,7 +3108,7 @@ msgstr "" "Unicode, strings (de comprimento arbitrário) ou ``None``. Caracteres chave " "serão então convertidos para números ordinais." -#: ../../library/stdtypes.rst:1872 +#: ../../library/stdtypes.rst:1890 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 " @@ -3105,7 +3120,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:1880 +#: ../../library/stdtypes.rst:1898 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 " @@ -3117,7 +3132,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:1888 +#: ../../library/stdtypes.rst:1906 msgid "" "If the string starts with the *prefix* string, return " "``string[len(prefix):]``. Otherwise, return a copy of the original string::" @@ -3125,7 +3140,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:1902 +#: ../../library/stdtypes.rst:1920 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 " @@ -3135,17 +3150,17 @@ msgstr "" "retorna ``string[:-len(suffix)]``. Caso contrário, retorna uma cópia da " "string original::" -#: ../../library/stdtypes.rst:1916 +#: ../../library/stdtypes.rst:1934 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:1923 +#: ../../library/stdtypes.rst:1941 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* " @@ -3156,7 +3171,7 @@ msgstr "" "Argumentos opcionais *start* e *end* são interpretados usando a notação " "slice. Retorna ``-1`` em caso de falha." -#: ../../library/stdtypes.rst:1930 +#: ../../library/stdtypes.rst:1948 msgid "" "Like :meth:`rfind` but raises :exc:`ValueError` when the substring *sub* is " "not found." @@ -3164,7 +3179,7 @@ msgstr "" "Similar a :meth:`rfind` mas levanta um :exc:`ValueError` quando a substring " "*sub* não é encontrada." -#: ../../library/stdtypes.rst:1936 +#: ../../library/stdtypes.rst:1954 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 " @@ -3175,7 +3190,7 @@ msgstr "" "um caractere de espaço ASCII). A string original é retornada se *width* é " "menor que ou igual a ``len(s)``." -#: ../../library/stdtypes.rst:1943 +#: ../../library/stdtypes.rst:1961 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 " @@ -3188,7 +3203,7 @@ msgstr "" "com 3 elementos contendo duas strings vazias, seguido da própria string " "original." -#: ../../library/stdtypes.rst:1951 +#: ../../library/stdtypes.rst:1969 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 " @@ -3203,7 +3218,7 @@ msgstr "" "Exceto pelo fato de separar pela direita, :meth:`rsplit` se comporta como :" "meth:`split`, o qual é descrito em detalhes abaixo." -#: ../../library/stdtypes.rst:1960 +#: ../../library/stdtypes.rst:1978 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 " @@ -3216,9 +3231,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:1970 +#: ../../library/stdtypes.rst:1988 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::" @@ -3226,7 +3241,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:1980 +#: ../../library/stdtypes.rst:1998 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, " @@ -3240,7 +3255,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:1986 +#: ../../library/stdtypes.rst:2004 msgid "" "If *sep* is given, consecutive delimiters are not grouped together and are " "deemed to delimit empty strings (for example, ``'1,,2'.split(',')`` returns " @@ -3255,20 +3270,20 @@ msgstr "" "``['1', '2', '3']``). Separar uma string vazia com um separador especificado " "retorna ``['']``." -#: ../../library/stdtypes.rst:1992 ../../library/stdtypes.rst:2008 -#: ../../library/stdtypes.rst:2060 ../../library/stdtypes.rst:2128 -#: ../../library/stdtypes.rst:2191 ../../library/stdtypes.rst:3041 -#: ../../library/stdtypes.rst:3057 ../../library/stdtypes.rst:3148 -#: ../../library/stdtypes.rst:3164 ../../library/stdtypes.rst:3189 -#: ../../library/stdtypes.rst:3203 ../../library/stdtypes.rst:3231 -#: ../../library/stdtypes.rst:3245 ../../library/stdtypes.rst:3263 -#: ../../library/stdtypes.rst:3290 ../../library/stdtypes.rst:3313 -#: ../../library/stdtypes.rst:3340 ../../library/stdtypes.rst:3382 -#: ../../library/stdtypes.rst:3406 +#: ../../library/stdtypes.rst:2010 ../../library/stdtypes.rst:2026 +#: ../../library/stdtypes.rst:2078 ../../library/stdtypes.rst:2146 +#: ../../library/stdtypes.rst:2213 ../../library/stdtypes.rst:3060 +#: ../../library/stdtypes.rst:3076 ../../library/stdtypes.rst:3167 +#: ../../library/stdtypes.rst:3183 ../../library/stdtypes.rst:3208 +#: ../../library/stdtypes.rst:3222 ../../library/stdtypes.rst:3250 +#: ../../library/stdtypes.rst:3264 ../../library/stdtypes.rst:3282 +#: ../../library/stdtypes.rst:3309 ../../library/stdtypes.rst:3332 +#: ../../library/stdtypes.rst:3359 ../../library/stdtypes.rst:3401 +#: ../../library/stdtypes.rst:3425 msgid "For example::" msgstr "Por exemplo::" -#: ../../library/stdtypes.rst:2001 +#: ../../library/stdtypes.rst:2019 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, " @@ -3285,7 +3300,7 @@ msgstr "" "consiste apenas de espaços em branco com o separador ``None``, retorna " "``[]``." -#: ../../library/stdtypes.rst:2023 +#: ../../library/stdtypes.rst:2041 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 " @@ -3295,7 +3310,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:2027 +#: ../../library/stdtypes.rst:2045 msgid "" "This method splits on the following line boundaries. In particular, the " "boundaries are a superset of :term:`universal newlines`." @@ -3304,107 +3319,107 @@ msgstr "" "limites são um superconjunto de :term:`novas linhas universais `." -#: ../../library/stdtypes.rst:2031 +#: ../../library/stdtypes.rst:2049 msgid "Representation" msgstr "Representação" -#: ../../library/stdtypes.rst:2031 +#: ../../library/stdtypes.rst:2049 msgid "Description" msgstr "Descrição" -#: ../../library/stdtypes.rst:2033 +#: ../../library/stdtypes.rst:2051 msgid "``\\n``" msgstr "``\\n``" -#: ../../library/stdtypes.rst:2033 +#: ../../library/stdtypes.rst:2051 msgid "Line Feed" msgstr "Feed de linha" -#: ../../library/stdtypes.rst:2035 +#: ../../library/stdtypes.rst:2053 msgid "``\\r``" msgstr "``\\r``" -#: ../../library/stdtypes.rst:2035 +#: ../../library/stdtypes.rst:2053 msgid "Carriage Return" msgstr "Retorno de Carro" -#: ../../library/stdtypes.rst:2037 +#: ../../library/stdtypes.rst:2055 msgid "``\\r\\n``" msgstr "``\\r\\n``" -#: ../../library/stdtypes.rst:2037 +#: ../../library/stdtypes.rst:2055 msgid "Carriage Return + Line Feed" msgstr "Retorno do Carro + Feed da Linha" -#: ../../library/stdtypes.rst:2039 +#: ../../library/stdtypes.rst:2057 msgid "``\\v`` or ``\\x0b``" msgstr "``\\v`` ou ``\\x0b``" -#: ../../library/stdtypes.rst:2039 +#: ../../library/stdtypes.rst:2057 msgid "Line Tabulation" msgstr "Tabulação de Linha" -#: ../../library/stdtypes.rst:2041 +#: ../../library/stdtypes.rst:2059 msgid "``\\f`` or ``\\x0c``" msgstr "``\\f`` ou ``\\x0c``" -#: ../../library/stdtypes.rst:2041 +#: ../../library/stdtypes.rst:2059 msgid "Form Feed" msgstr "Formulário de Feed" -#: ../../library/stdtypes.rst:2043 +#: ../../library/stdtypes.rst:2061 msgid "``\\x1c``" msgstr "``\\x1c``" -#: ../../library/stdtypes.rst:2043 +#: ../../library/stdtypes.rst:2061 msgid "File Separator" msgstr "Separador de Arquivos" -#: ../../library/stdtypes.rst:2045 +#: ../../library/stdtypes.rst:2063 msgid "``\\x1d``" msgstr "``\\x1d``" -#: ../../library/stdtypes.rst:2045 +#: ../../library/stdtypes.rst:2063 msgid "Group Separator" msgstr "Separador de Grupo" -#: ../../library/stdtypes.rst:2047 +#: ../../library/stdtypes.rst:2065 msgid "``\\x1e``" msgstr "``\\x1e``" -#: ../../library/stdtypes.rst:2047 +#: ../../library/stdtypes.rst:2065 msgid "Record Separator" msgstr "Separador de Registro" -#: ../../library/stdtypes.rst:2049 +#: ../../library/stdtypes.rst:2067 msgid "``\\x85``" msgstr "``\\x85``" -#: ../../library/stdtypes.rst:2049 +#: ../../library/stdtypes.rst:2067 msgid "Next Line (C1 Control Code)" msgstr "Próxima Linha (C1 Control Code)" -#: ../../library/stdtypes.rst:2051 +#: ../../library/stdtypes.rst:2069 msgid "``\\u2028``" msgstr "``\\u2028``" -#: ../../library/stdtypes.rst:2051 +#: ../../library/stdtypes.rst:2069 msgid "Line Separator" msgstr "Separador de Linha" -#: ../../library/stdtypes.rst:2053 +#: ../../library/stdtypes.rst:2071 msgid "``\\u2029``" msgstr "``\\u2029``" -#: ../../library/stdtypes.rst:2053 +#: ../../library/stdtypes.rst:2071 msgid "Paragraph Separator" msgstr "Separador de Parágrafo" -#: ../../library/stdtypes.rst:2058 +#: ../../library/stdtypes.rst:2076 msgid "``\\v`` and ``\\f`` added to list of line boundaries." msgstr "``\\v`` e ``\\f`` adicionado à lista de limites de linha." -#: ../../library/stdtypes.rst:2067 +#: ../../library/stdtypes.rst:2085 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 " @@ -3414,11 +3429,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:2076 +#: ../../library/stdtypes.rst:2094 msgid "For comparison, ``split('\\n')`` gives::" msgstr "Para comparação, temos ``split('\\n')``::" -#: ../../library/stdtypes.rst:2086 +#: ../../library/stdtypes.rst:2104 msgid "" "Return ``True`` if string starts with the *prefix*, otherwise return " "``False``. *prefix* can also be a tuple of prefixes to look for. With " @@ -3430,7 +3445,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:2094 +#: ../../library/stdtypes.rst:2112 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 " @@ -3445,7 +3460,7 @@ msgstr "" "prefixo, nem um sufixo; ao contrário disso, todas as combinações dos seus " "seus valores são removidas::" -#: ../../library/stdtypes.rst:2105 +#: ../../library/stdtypes.rst:2123 msgid "" "The outermost leading and trailing *chars* argument values are stripped from " "the string. Characters are removed from the leading end until reaching a " @@ -3457,7 +3472,7 @@ 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:2118 +#: ../../library/stdtypes.rst:2136 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()." @@ -3467,7 +3482,7 @@ msgstr "" "minúsculos e vice-versa. Perceba que não é necessariamente verdade que ``s." "swapcase().swapcase() == s``." -#: ../../library/stdtypes.rst:2125 +#: ../../library/stdtypes.rst:2143 msgid "" "Return a titlecased version of the string where words start with an " "uppercase character and the remaining characters are lowercase." @@ -3476,7 +3491,7 @@ msgstr "" "caractere com letra maiúscula e os caracteres restantes são em letras " "minúsculas." -#: ../../library/stdtypes.rst:2133 ../../library/stdtypes.rst:3350 +#: ../../library/stdtypes.rst:2151 ../../library/stdtypes.rst:3369 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 " @@ -3485,17 +3500,26 @@ 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:2141 ../../library/stdtypes.rst:3358 +#: ../../library/stdtypes.rst:2159 msgid "" -"A workaround for apostrophes can be constructed using regular expressions::" +"The :func:`string.capwords` function does not have this problem, as it " +"splits words on spaces only." msgstr "" -"Uma solução alternativa para os apóstrofes pode ser construída usando " -"expressões regulares::" +"A função :func:`string.capwords` não tem esse problema, pois ela divide " +"palavras apenas em espaços." -#: ../../library/stdtypes.rst:2155 +#: ../../library/stdtypes.rst:2162 +msgid "" +"Alternatively, a workaround for apostrophes can be constructed using regular " +"expressions::" +msgstr "" +"Alternativamente, uma solução alternativa para os apóstrofes pode ser " +"construída usando expressões regulares::" + +#: ../../library/stdtypes.rst:2177 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 " @@ -3516,7 +3540,7 @@ msgstr "" "caractere da string de retorno; ou levantar uma exceção :exc:`LookupError`, " "para mapear o caractere para si mesmo." -#: ../../library/stdtypes.rst:2164 +#: ../../library/stdtypes.rst:2186 msgid "" "You can use :meth:`str.maketrans` to create a translation map from character-" "to-character mappings in different formats." @@ -3524,7 +3548,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:2167 +#: ../../library/stdtypes.rst:2189 msgid "" "See also the :mod:`codecs` module for a more flexible approach to custom " "character mappings." @@ -3532,7 +3556,7 @@ msgstr "" "Veja também o módulo :mod:`codecs` para uma abordagem mais flexível para " "mapeamento de caractere customizado." -#: ../../library/stdtypes.rst:2173 +#: ../../library/stdtypes.rst:2195 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`` " @@ -3547,7 +3571,7 @@ msgstr "" "resultante(s) não for \"Lu\" (Letra maiúscula), mas por ex \"Lt\" (Letra em " "titlecase)." -#: ../../library/stdtypes.rst:2179 +#: ../../library/stdtypes.rst:2201 msgid "" "The uppercasing algorithm used is described in section 3.13 of the Unicode " "Standard." @@ -3555,7 +3579,7 @@ msgstr "" "O algoritmo de maiúsculas utilizado é descrito na seção 3.13 do Padrão " "Unicode." -#: ../../library/stdtypes.rst:2185 +#: ../../library/stdtypes.rst:2207 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 " @@ -3568,11 +3592,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:2203 +#: ../../library/stdtypes.rst:2225 msgid "``printf``-style String Formatting" -msgstr "Formatação de String no Formato ``printf``-style " +msgstr "Formatação de string no estilo ``printf``" -#: ../../library/stdtypes.rst:2216 +#: ../../library/stdtypes.rst:2238 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 " @@ -3590,7 +3614,7 @@ msgstr "" "erros. Cada uma dessas alternativas fornece seus próprios custos e " "benefícios de simplicidade, flexibilidade, e/ou extensibilidade." -#: ../../library/stdtypes.rst:2224 +#: ../../library/stdtypes.rst:2246 msgid "" "String objects have one unique built-in operation: the ``%`` operator " "(modulo). This is also known as the string *formatting* or *interpolation* " @@ -3599,14 +3623,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:2230 +#: ../../library/stdtypes.rst:2252 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 " @@ -3619,7 +3643,7 @@ msgstr "" "string de formatação, ou um único mapa de objetos (por exemplo, um " "dicionário)." -#: ../../library/stdtypes.rst:2240 ../../library/stdtypes.rst:3461 +#: ../../library/stdtypes.rst:2262 ../../library/stdtypes.rst:3480 msgid "" "A conversion specifier contains two or more characters and has the following " "components, which must occur in this order:" @@ -3627,19 +3651,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:2243 ../../library/stdtypes.rst:3464 +#: ../../library/stdtypes.rst:2265 ../../library/stdtypes.rst:3483 msgid "The ``'%'`` character, which marks the start of the specifier." msgstr "O caractere ``'%'``, que determina o início do especificador." -#: ../../library/stdtypes.rst:2245 ../../library/stdtypes.rst:3466 +#: ../../library/stdtypes.rst:2267 ../../library/stdtypes.rst:3485 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:2248 ../../library/stdtypes.rst:3469 +#: ../../library/stdtypes.rst:2270 ../../library/stdtypes.rst:3488 msgid "" "Conversion flags (optional), which affect the result of some conversion " "types." @@ -3647,18 +3671,18 @@ msgstr "" "Flags de conversão (opcional), que afetam o resultado de alguns tipos de " "conversão." -#: ../../library/stdtypes.rst:2251 ../../library/stdtypes.rst:3472 +#: ../../library/stdtypes.rst:2273 ../../library/stdtypes.rst:3491 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:2255 ../../library/stdtypes.rst:3476 +#: ../../library/stdtypes.rst:2277 ../../library/stdtypes.rst:3495 msgid "" "Precision (optional), given as a ``'.'`` (dot) followed by the precision. " "If specified as ``'*'`` (an asterisk), the actual precision is read from the " @@ -3670,15 +3694,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:2260 ../../library/stdtypes.rst:3481 +#: ../../library/stdtypes.rst:2282 ../../library/stdtypes.rst:3500 msgid "Length modifier (optional)." -msgstr "Modificador de Comprimento(opcional)." +msgstr "Modificador de comprimento (opcional)." -#: ../../library/stdtypes.rst:2262 ../../library/stdtypes.rst:3483 +#: ../../library/stdtypes.rst:2284 ../../library/stdtypes.rst:3502 msgid "Conversion type." -msgstr "Tipos de Conversão" +msgstr "Tipo de conversão." -#: ../../library/stdtypes.rst:2264 +#: ../../library/stdtypes.rst:2286 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 " @@ -3691,7 +3715,7 @@ msgstr "" "A key de mapeamento seleciona o valor a ser formatado a partir do " "mapeamento. Por exemplo:" -#: ../../library/stdtypes.rst:2273 ../../library/stdtypes.rst:3494 +#: ../../library/stdtypes.rst:2295 ../../library/stdtypes.rst:3513 msgid "" "In this case no ``*`` specifiers may occur in a format (since they require a " "sequential parameter list)." @@ -3699,38 +3723,38 @@ msgstr "" "Nesse caso, nenhum especificador ``*`` poderá ocorrer num formato (uma vez " "que eles exigem uma lista de parâmetros sequenciais)." -#: ../../library/stdtypes.rst:2276 ../../library/stdtypes.rst:3497 +#: ../../library/stdtypes.rst:2298 ../../library/stdtypes.rst:3516 msgid "The conversion flag characters are:" msgstr "Os caracteres flags de conversão são:" -#: ../../library/stdtypes.rst:2285 ../../library/stdtypes.rst:3506 +#: ../../library/stdtypes.rst:2307 ../../library/stdtypes.rst:3525 msgid "Flag" msgstr "Sinalizador" -#: ../../library/stdtypes.rst:2287 ../../library/stdtypes.rst:3508 +#: ../../library/stdtypes.rst:2309 ../../library/stdtypes.rst:3527 msgid "``'#'``" msgstr "``'#'``" -#: ../../library/stdtypes.rst:2287 ../../library/stdtypes.rst:3508 +#: ../../library/stdtypes.rst:2309 ../../library/stdtypes.rst:3527 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:2290 ../../library/stdtypes.rst:3511 +#: ../../library/stdtypes.rst:2312 ../../library/stdtypes.rst:3530 msgid "``'0'``" msgstr "``'0'``" -#: ../../library/stdtypes.rst:2290 ../../library/stdtypes.rst:3511 +#: ../../library/stdtypes.rst:2312 ../../library/stdtypes.rst:3530 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:2292 ../../library/stdtypes.rst:3513 +#: ../../library/stdtypes.rst:2314 ../../library/stdtypes.rst:3532 msgid "``'-'``" msgstr "``'-'``" -#: ../../library/stdtypes.rst:2292 ../../library/stdtypes.rst:3513 +#: ../../library/stdtypes.rst:2314 ../../library/stdtypes.rst:3532 msgid "" "The converted value is left adjusted (overrides the ``'0'`` conversion if " "both are given)." @@ -3738,126 +3762,126 @@ msgstr "" "O valor convertido será ajustado à esquerda (substitui a conversão ``'0'`` " "se ambos forem fornecidos)." -#: ../../library/stdtypes.rst:2295 ../../library/stdtypes.rst:3516 +#: ../../library/stdtypes.rst:2317 ../../library/stdtypes.rst:3535 msgid "``' '``" msgstr "``' '``" -#: ../../library/stdtypes.rst:2295 ../../library/stdtypes.rst:3516 +#: ../../library/stdtypes.rst:2317 ../../library/stdtypes.rst:3535 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:2298 ../../library/stdtypes.rst:3519 +#: ../../library/stdtypes.rst:2320 ../../library/stdtypes.rst:3538 msgid "``'+'``" msgstr "``'+'``" -#: ../../library/stdtypes.rst:2298 ../../library/stdtypes.rst:3519 +#: ../../library/stdtypes.rst:2320 ../../library/stdtypes.rst:3538 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:2302 ../../library/stdtypes.rst:3523 +#: ../../library/stdtypes.rst:2324 ../../library/stdtypes.rst:3542 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:2305 ../../library/stdtypes.rst:3526 +#: ../../library/stdtypes.rst:2327 ../../library/stdtypes.rst:3545 msgid "The conversion types are:" msgstr "Os tipos de conversão são:" -#: ../../library/stdtypes.rst:2308 ../../library/stdtypes.rst:3529 +#: ../../library/stdtypes.rst:2330 ../../library/stdtypes.rst:3548 msgid "Conversion" msgstr "Conversão" -#: ../../library/stdtypes.rst:2310 ../../library/stdtypes.rst:3531 +#: ../../library/stdtypes.rst:2332 ../../library/stdtypes.rst:3550 msgid "``'d'``" msgstr "``'d'``" -#: ../../library/stdtypes.rst:2310 ../../library/stdtypes.rst:2312 -#: ../../library/stdtypes.rst:3531 ../../library/stdtypes.rst:3533 +#: ../../library/stdtypes.rst:2332 ../../library/stdtypes.rst:2334 +#: ../../library/stdtypes.rst:3550 ../../library/stdtypes.rst:3552 msgid "Signed integer decimal." msgstr "Número decimal inteiro sinalizador." -#: ../../library/stdtypes.rst:2312 ../../library/stdtypes.rst:3533 +#: ../../library/stdtypes.rst:2334 ../../library/stdtypes.rst:3552 msgid "``'i'``" msgstr "``'i'``" -#: ../../library/stdtypes.rst:2314 ../../library/stdtypes.rst:3535 +#: ../../library/stdtypes.rst:2336 ../../library/stdtypes.rst:3554 msgid "``'o'``" msgstr "``'o'``" -#: ../../library/stdtypes.rst:2314 ../../library/stdtypes.rst:3535 +#: ../../library/stdtypes.rst:2336 ../../library/stdtypes.rst:3554 msgid "Signed octal value." msgstr "Valor octal sinalizador." -#: ../../library/stdtypes.rst:2316 ../../library/stdtypes.rst:3537 +#: ../../library/stdtypes.rst:2338 ../../library/stdtypes.rst:3556 msgid "``'u'``" msgstr "``'u'``" -#: ../../library/stdtypes.rst:2316 ../../library/stdtypes.rst:3537 +#: ../../library/stdtypes.rst:2338 ../../library/stdtypes.rst:3556 msgid "Obsolete type -- it is identical to ``'d'``." msgstr "Tipo obsoleto -- é idêntico a ``'d'``." -#: ../../library/stdtypes.rst:2318 ../../library/stdtypes.rst:3539 +#: ../../library/stdtypes.rst:2340 ../../library/stdtypes.rst:3558 msgid "``'x'``" msgstr "``'x'``" -#: ../../library/stdtypes.rst:2318 ../../library/stdtypes.rst:3539 +#: ../../library/stdtypes.rst:2340 ../../library/stdtypes.rst:3558 msgid "Signed hexadecimal (lowercase)." -msgstr "Sinalizador hexadecimal (minúsculas)." +msgstr "Hexadecimal com sinal (minúsculo)." -#: ../../library/stdtypes.rst:2320 ../../library/stdtypes.rst:3541 +#: ../../library/stdtypes.rst:2342 ../../library/stdtypes.rst:3560 msgid "``'X'``" msgstr "``'X'``" -#: ../../library/stdtypes.rst:2320 ../../library/stdtypes.rst:3541 +#: ../../library/stdtypes.rst:2342 ../../library/stdtypes.rst:3560 msgid "Signed hexadecimal (uppercase)." -msgstr "Sinalizador hexadecimal (maiúscula)." +msgstr "Hexadecimal com sinal (maiúsculo)." -#: ../../library/stdtypes.rst:2322 ../../library/stdtypes.rst:3543 +#: ../../library/stdtypes.rst:2344 ../../library/stdtypes.rst:3562 msgid "``'e'``" msgstr "``'e'``" -#: ../../library/stdtypes.rst:2322 ../../library/stdtypes.rst:3543 +#: ../../library/stdtypes.rst:2344 ../../library/stdtypes.rst:3562 msgid "Floating point exponential format (lowercase)." msgstr "Formato exponencial de ponto flutuante (minúsculas)." -#: ../../library/stdtypes.rst:2324 ../../library/stdtypes.rst:3545 +#: ../../library/stdtypes.rst:2346 ../../library/stdtypes.rst:3564 msgid "``'E'``" msgstr "``'E'``" -#: ../../library/stdtypes.rst:2324 ../../library/stdtypes.rst:3545 +#: ../../library/stdtypes.rst:2346 ../../library/stdtypes.rst:3564 msgid "Floating point exponential format (uppercase)." msgstr "Formato exponencial de ponto flutuante (maiúscula)." -#: ../../library/stdtypes.rst:2326 ../../library/stdtypes.rst:3547 +#: ../../library/stdtypes.rst:2348 ../../library/stdtypes.rst:3566 msgid "``'f'``" msgstr "``'f'``" -#: ../../library/stdtypes.rst:2326 ../../library/stdtypes.rst:2328 -#: ../../library/stdtypes.rst:3547 ../../library/stdtypes.rst:3549 +#: ../../library/stdtypes.rst:2348 ../../library/stdtypes.rst:2350 +#: ../../library/stdtypes.rst:3566 ../../library/stdtypes.rst:3568 msgid "Floating point decimal format." msgstr "Formato decimal de ponto flutuante." -#: ../../library/stdtypes.rst:2328 ../../library/stdtypes.rst:3549 +#: ../../library/stdtypes.rst:2350 ../../library/stdtypes.rst:3568 msgid "``'F'``" msgstr "``'F'``" -#: ../../library/stdtypes.rst:2330 ../../library/stdtypes.rst:3551 +#: ../../library/stdtypes.rst:2352 ../../library/stdtypes.rst:3570 msgid "``'g'``" msgstr "``'g'``" -#: ../../library/stdtypes.rst:2330 ../../library/stdtypes.rst:3551 +#: ../../library/stdtypes.rst:2352 ../../library/stdtypes.rst:3570 msgid "" "Floating point format. Uses lowercase exponential format if exponent is less " "than -4 or not less than precision, decimal format otherwise." @@ -3866,11 +3890,11 @@ msgstr "" "expoente for inferior a -4 ou não inferior a precisão, formato decimal, caso " "contrário." -#: ../../library/stdtypes.rst:2334 ../../library/stdtypes.rst:3555 +#: ../../library/stdtypes.rst:2356 ../../library/stdtypes.rst:3574 msgid "``'G'``" msgstr "``'G'``" -#: ../../library/stdtypes.rst:2334 ../../library/stdtypes.rst:3555 +#: ../../library/stdtypes.rst:2356 ../../library/stdtypes.rst:3574 msgid "" "Floating point format. Uses uppercase exponential format if exponent is less " "than -4 or not less than precision, decimal format otherwise." @@ -3879,49 +3903,50 @@ msgstr "" "expoente for inferior a -4 ou não inferior que a precisão, formato decimal, " "caso contrário." -#: ../../library/stdtypes.rst:2338 ../../library/stdtypes.rst:3559 +#: ../../library/stdtypes.rst:2360 ../../library/stdtypes.rst:3578 msgid "``'c'``" msgstr "``'c'``" -#: ../../library/stdtypes.rst:2338 +#: ../../library/stdtypes.rst:2360 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:2341 ../../library/stdtypes.rst:3572 +#: ../../library/stdtypes.rst:2363 ../../library/stdtypes.rst:3591 msgid "``'r'``" msgstr "``'r'``" -#: ../../library/stdtypes.rst:2341 +#: ../../library/stdtypes.rst:2363 msgid "String (converts any Python object using :func:`repr`)." msgstr "String (converte qualquer objeto Python usando a função :func:`repr`)." -#: ../../library/stdtypes.rst:2344 ../../library/stdtypes.rst:3566 +#: ../../library/stdtypes.rst:2366 ../../library/stdtypes.rst:3585 msgid "``'s'``" msgstr "``'s'``" -#: ../../library/stdtypes.rst:2344 +#: ../../library/stdtypes.rst:2366 msgid "String (converts any Python object using :func:`str`)." msgstr "String (converte qualquer objeto Python usando a função :func:`str`)." -#: ../../library/stdtypes.rst:2347 ../../library/stdtypes.rst:3569 +#: ../../library/stdtypes.rst:2369 ../../library/stdtypes.rst:3588 msgid "``'a'``" msgstr "``'a'``" -#: ../../library/stdtypes.rst:2347 +#: ../../library/stdtypes.rst:2369 msgid "String (converts any Python object using :func:`ascii`)." msgstr "" "String (converte qualquer objeto Python usando a função :func:`ascii`)." -#: ../../library/stdtypes.rst:2350 ../../library/stdtypes.rst:3575 +#: ../../library/stdtypes.rst:2372 ../../library/stdtypes.rst:3594 msgid "``'%'``" msgstr "``'%'``" -#: ../../library/stdtypes.rst:2350 ../../library/stdtypes.rst:3575 +#: ../../library/stdtypes.rst:2372 ../../library/stdtypes.rst:3594 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:2357 ../../library/stdtypes.rst:3582 +#: ../../library/stdtypes.rst:2379 ../../library/stdtypes.rst:3601 msgid "" "The alternate form causes a leading octal specifier (``'0o'``) to be " "inserted before the first digit." @@ -3929,7 +3954,7 @@ msgstr "" "A forma alternativa faz com que um especificador octal principal (``'0o'``) " "seja inserido antes do primeiro dígito." -#: ../../library/stdtypes.rst:2361 ../../library/stdtypes.rst:3586 +#: ../../library/stdtypes.rst:2383 ../../library/stdtypes.rst:3605 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 " @@ -3939,7 +3964,7 @@ msgstr "" "formato ``'x'`` or ``'X'`` foi usado) para ser inserido antes do primeiro " "dígito." -#: ../../library/stdtypes.rst:2365 ../../library/stdtypes.rst:3590 +#: ../../library/stdtypes.rst:2387 ../../library/stdtypes.rst:3609 msgid "" "The alternate form causes the result to always contain a decimal point, even " "if no digits follow it." @@ -3947,14 +3972,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:2368 ../../library/stdtypes.rst:3593 +#: ../../library/stdtypes.rst:2390 ../../library/stdtypes.rst:3612 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:2372 ../../library/stdtypes.rst:3597 +#: ../../library/stdtypes.rst:2394 ../../library/stdtypes.rst:3616 msgid "" "The alternate form causes the result to always contain a decimal point, and " "trailing zeroes are not removed as they would otherwise be." @@ -3962,31 +3987,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:2375 ../../library/stdtypes.rst:3600 +#: ../../library/stdtypes.rst:2397 ../../library/stdtypes.rst:3619 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:2379 ../../library/stdtypes.rst:3604 +#: ../../library/stdtypes.rst:2401 ../../library/stdtypes.rst:3623 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:2382 ../../library/stdtypes.rst:3613 +#: ../../library/stdtypes.rst:2404 ../../library/stdtypes.rst:3632 msgid "See :pep:`237`." msgstr "Veja :pep:`237`." -#: ../../library/stdtypes.rst:2384 +#: ../../library/stdtypes.rst:2406 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:2389 +#: ../../library/stdtypes.rst:2411 msgid "" "``%f`` conversions for numbers whose absolute value is over 1e50 are no " "longer replaced by ``%g`` conversions." @@ -3994,15 +4019,15 @@ 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:2400 +#: ../../library/stdtypes.rst:2422 msgid "" "Binary Sequence Types --- :class:`bytes`, :class:`bytearray`, :class:" "`memoryview`" msgstr "" -"Tipos de Sequência Binária --- :class:`bytes`, :class:`bytearray`, :class:" +"Tipos de sequência binária --- :class:`bytes`, :class:`bytearray`, :class:" "`memoryview`" -#: ../../library/stdtypes.rst:2408 +#: ../../library/stdtypes.rst:2430 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 :" @@ -4011,23 +4036,23 @@ msgid "" 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 " +"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:2413 +#: ../../library/stdtypes.rst:2435 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:2419 +#: ../../library/stdtypes.rst:2441 msgid "Bytes Objects" -msgstr "Objetos Bytes" +msgstr "Objetos bytes" -#: ../../library/stdtypes.rst:2423 +#: ../../library/stdtypes.rst:2445 msgid "" "Bytes objects are immutable sequences of single bytes. Since many major " "binary protocols are based on the ASCII text encoding, bytes objects offer " @@ -4040,40 +4065,40 @@ 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:2430 +#: ../../library/stdtypes.rst:2452 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:2433 +#: ../../library/stdtypes.rst:2455 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:2434 -msgid "Double quotes: ``b\"still allows embedded 'single' quotes\"``." -msgstr "Aspas duplas: ``b\"still allows embedded 'single' quotes\"``." +#: ../../library/stdtypes.rst:2456 +msgid "Double quotes: ``b\"still allows embedded 'single' quotes\"``" +msgstr "Aspas duplas: ``b\"ainda permite aspas 'simples' dentro\"``" -#: ../../library/stdtypes.rst:2435 +#: ../../library/stdtypes.rst:2457 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:2437 +#: ../../library/stdtypes.rst:2459 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:2441 +#: ../../library/stdtypes.rst:2463 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 " @@ -4084,7 +4109,7 @@ msgstr "" "`strings` para mais sobre as várias formas de bytes literais, incluindo " "suporte a sequências de escape." -#: ../../library/stdtypes.rst:2445 +#: ../../library/stdtypes.rst:2467 msgid "" "While bytes literals and representations are based on ASCII text, bytes " "objects actually behave like immutable sequences of integers, with each " @@ -4107,7 +4132,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:2455 +#: ../../library/stdtypes.rst:2477 msgid "" "In addition to the literal forms, bytes objects can be created in a number " "of other ways:" @@ -4115,27 +4140,27 @@ msgstr "" "Além das formas literais, os objetos bytes podem ser criados de várias " "outras maneiras:" -#: ../../library/stdtypes.rst:2458 +#: ../../library/stdtypes.rst:2480 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:2459 +#: ../../library/stdtypes.rst:2481 msgid "From an iterable of integers: ``bytes(range(20))``" msgstr "De um iterável de inteiros: ``bytes(range(20))``" -#: ../../library/stdtypes.rst:2460 +#: ../../library/stdtypes.rst:2482 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:2462 +#: ../../library/stdtypes.rst:2484 msgid "Also see the :ref:`bytes ` built-in." msgstr "Veja também os embutidos :ref:`bytes `." -#: ../../library/stdtypes.rst:2464 +#: ../../library/stdtypes.rst:2486 msgid "" "Since 2 hexadecimal digits correspond precisely to a single byte, " "hexadecimal numbers are a commonly used format for describing binary data. " @@ -4147,7 +4172,7 @@ msgstr "" "binários. Portanto, o tipo bytes tem um método de classe adicional para ler " "dados nesse formato:" -#: ../../library/stdtypes.rst:2470 +#: ../../library/stdtypes.rst:2492 msgid "" "This :class:`bytes` class method returns a bytes object, decoding the given " "string object. The string must contain two hexadecimal digits per byte, " @@ -4157,7 +4182,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:2477 +#: ../../library/stdtypes.rst:2499 msgid "" ":meth:`bytes.fromhex` now skips all ASCII whitespace in the string, not just " "spaces." @@ -4165,7 +4190,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:2481 +#: ../../library/stdtypes.rst:2503 msgid "" "A reverse conversion function exists to transform a bytes object into its " "hexadecimal representation." @@ -4173,7 +4198,7 @@ msgstr "" "Uma função de conversão reversa existe para transformar um objeto bytes na " "sua representação hexadecimal." -#: ../../library/stdtypes.rst:2486 ../../library/stdtypes.rst:2580 +#: ../../library/stdtypes.rst:2508 ../../library/stdtypes.rst:2593 msgid "" "Return a string object containing two hexadecimal digits for each byte in " "the instance." @@ -4181,22 +4206,22 @@ msgstr "" "Retorna um objeto string contendo dois dígitos hexadecimais para cada byte " "na instância." -#: ../../library/stdtypes.rst:2492 +#: ../../library/stdtypes.rst:2514 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 " -"between each byte. A second optional *bytes_per_sep* parameter controls the " -"spacing. Positive values calculate the separator position from the right, " -"negative values from the left." +"character separator *sep* parameter to include in the output. By default, " +"this separator will be included between each byte. A second optional " +"*bytes_per_sep* parameter controls the spacing. Positive values calculate " +"the separator position from the right, negative values from the left." msgstr "" "Se você quiser tornar a string hexadecimal mais fácil de ler, você pode " "especificar um caractere separador através do parâmetro *sep*, que será " -"incluído no resultado. Por padrão entre cada byte. Um segundo parâmetro " -"opcional *bytes_per_sep* controla o espaçamento. Valores positivos calculam " -"a posição do separador a partir da direita, valores negativos calculam a " -"partir da esquerda." +"incluído no resultado. Por padrão, este separador será incluído entre cada " +"byte. Um segundo parâmetro opcional *bytes_per_sep* controla o espaçamento. " +"Valores positivos calculam a posição do separador a partir da direita, " +"valores negativos calculam a partir da esquerda." -#: ../../library/stdtypes.rst:2508 +#: ../../library/stdtypes.rst:2531 msgid "" ":meth:`bytes.hex` now supports optional *sep* and *bytes_per_sep* parameters " "to insert separators between bytes in the hex output." @@ -4204,7 +4229,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:2512 +#: ../../library/stdtypes.rst:2535 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 " @@ -4217,7 +4242,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:2517 +#: ../../library/stdtypes.rst:2540 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 " @@ -4228,32 +4253,11 @@ msgstr "" "46])``. Você sempre pode converter um objeto bytes em uma lista de inteiros " "usando ``list(b)``." -#: ../../library/stdtypes.rst:2522 -msgid "" -"For Python 2.x users: In the Python 2.x series, a variety of implicit " -"conversions between 8-bit strings (the closest thing 2.x offers to a built-" -"in binary data type) and Unicode strings were permitted. This was a " -"backwards compatibility workaround to account for the fact that Python " -"originally only supported 8-bit text, and Unicode text was a later addition. " -"In Python 3.x, those implicit conversions are gone - conversions between 8-" -"bit binary data and Unicode text must be explicit, and bytes and string " -"objects will always compare unequal." -msgstr "" -"Para usuários do Python 2.x: nas séries do Python 2.x, uma variedade de " -"conversões implícitas entre strings de 8-bits (a coisa mais próxima a um " -"tipo de dados binário embutido que o 2.x oferece) e Unicode strings era " -"permitida. Isso era uma solução de contorno para compatibilidade retroativa " -"para contabilizar o fato que o Python originalmente apenas suportava texto " -"de 8-bits, e texto Unicode foi adicionado mais tarde. No Python 3.x, essas " -"conversões implícitas se foram --- conversões entre dados binários de 8-bits " -"e texto Unicode devem ser explícitas, e bytes e objetos string irão sempre " -"comparar como diferentes." - -#: ../../library/stdtypes.rst:2535 +#: ../../library/stdtypes.rst:2548 msgid "Bytearray Objects" -msgstr "Bytearray Objects" +msgstr "Objetos Bytearray" -#: ../../library/stdtypes.rst:2539 +#: ../../library/stdtypes.rst:2552 msgid "" ":class:`bytearray` objects are a mutable counterpart to :class:`bytes` " "objects." @@ -4261,7 +4265,7 @@ msgstr "" "Objetos :class:`bytearray` são mutáveis, em contrapartida a objetos :class:" "`bytes`." -#: ../../library/stdtypes.rst:2544 +#: ../../library/stdtypes.rst:2557 msgid "" "There is no dedicated literal syntax for bytearray objects, instead they are " "always created by calling the constructor:" @@ -4269,28 +4273,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:2547 +#: ../../library/stdtypes.rst:2560 msgid "Creating an empty instance: ``bytearray()``" msgstr "Criando uma instância vazia: ``bytearray()``" -#: ../../library/stdtypes.rst:2548 +#: ../../library/stdtypes.rst:2561 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:2549 +#: ../../library/stdtypes.rst:2562 msgid "From an iterable of integers: ``bytearray(range(20))``" msgstr "A partir de inteiros iteráveis: ``bytearray(range(20))``" -#: ../../library/stdtypes.rst:2550 +#: ../../library/stdtypes.rst:2563 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:2552 +#: ../../library/stdtypes.rst:2565 msgid "" "As bytearray objects are mutable, they support the :ref:`mutable ` sequence operations in addition to the common bytes and bytearray " @@ -4300,11 +4304,11 @@ msgstr "" "sequência :ref:`mutable ` além das operações comuns de " "bytes e bytearray descritas em :ref:`bytes-methods`." -#: ../../library/stdtypes.rst:2556 +#: ../../library/stdtypes.rst:2569 msgid "Also see the :ref:`bytearray ` built-in." msgstr "Veja também o tipo embutido :ref:`bytearray `." -#: ../../library/stdtypes.rst:2558 +#: ../../library/stdtypes.rst:2571 msgid "" "Since 2 hexadecimal digits correspond precisely to a single byte, " "hexadecimal numbers are a commonly used format for describing binary data. " @@ -4316,7 +4320,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:2564 +#: ../../library/stdtypes.rst:2577 msgid "" "This :class:`bytearray` class method returns bytearray object, decoding the " "given string object. The string must contain two hexadecimal digits per " @@ -4327,7 +4331,7 @@ msgstr "" "dois dígitos hexadecimais por byte, com espaços em branco ASCII sendo " "ignorados." -#: ../../library/stdtypes.rst:2571 +#: ../../library/stdtypes.rst:2584 msgid "" ":meth:`bytearray.fromhex` now skips all ASCII whitespace in the string, not " "just spaces." @@ -4335,7 +4339,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:2575 +#: ../../library/stdtypes.rst:2588 msgid "" "A reverse conversion function exists to transform a bytearray object into " "its hexadecimal representation." @@ -4343,7 +4347,7 @@ msgstr "" "Existe uma função de conversão reversa para transformar um objeto bytearray " "em sua representação hexadecimal." -#: ../../library/stdtypes.rst:2588 +#: ../../library/stdtypes.rst:2601 msgid "" "Similar to :meth:`bytes.hex`, :meth:`bytearray.hex` now supports optional " "*sep* and *bytes_per_sep* parameters to insert separators between bytes in " @@ -4353,7 +4357,7 @@ msgstr "" "parâmetros opcionais *sep* e *bytes_per_sep* para inserir separadores entre " "bytes na saída hexadecimal." -#: ../../library/stdtypes.rst:2593 +#: ../../library/stdtypes.rst:2606 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 " @@ -4366,7 +4370,7 @@ msgstr "" "Strings de texto, onde tanto a indexação como o fatiamento produzirão " "sequências de comprimento 1)" -#: ../../library/stdtypes.rst:2598 +#: ../../library/stdtypes.rst:2611 msgid "" "The representation of bytearray objects uses the bytes literal format " "(``bytearray(b'...')``) since it is often more useful than e.g. " @@ -4378,11 +4382,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:2607 +#: ../../library/stdtypes.rst:2620 msgid "Bytes and Bytearray Operations" msgstr "Operações com Bytes e Bytearray" -#: ../../library/stdtypes.rst:2612 +#: ../../library/stdtypes.rst:2625 msgid "" "Both bytes and bytearray objects support the :ref:`common ` " "sequence operations. They interoperate not just with operands of the same " @@ -4390,14 +4394,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:2620 +#: ../../library/stdtypes.rst:2633 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 " @@ -4407,21 +4411,21 @@ msgstr "" "assim como os métodos de Strings não aceitam bytes como argumentos. Por " "exemplo, devemos escrever::" -#: ../../library/stdtypes.rst:2627 +#: ../../library/stdtypes.rst:2640 msgid "and::" msgstr "e::" -#: ../../library/stdtypes.rst:2632 +#: ../../library/stdtypes.rst:2645 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:2637 +#: ../../library/stdtypes.rst:2650 msgid "" "Using these ASCII based operations to manipulate binary data that is not " "stored in an ASCII based format may lead to data corruption." @@ -4430,7 +4434,7 @@ msgstr "" "não são armazenados num formato baseado em ASCII poderá resultar na " "corrupção de dados." -#: ../../library/stdtypes.rst:2640 +#: ../../library/stdtypes.rst:2653 msgid "" "The following methods on bytes and bytearray objects can be used with " "arbitrary binary data." @@ -4438,7 +4442,7 @@ msgstr "" "Os métodos a seguir em Bytes e Bytearray podem ser usados com dados binários " "arbitrários." -#: ../../library/stdtypes.rst:2646 +#: ../../library/stdtypes.rst:2659 msgid "" "Return the number of non-overlapping occurrences of subsequence *sub* in the " "range [*start*, *end*]. Optional arguments *start* and *end* are " @@ -4448,24 +4452,32 @@ msgstr "" "intervalo [*start*, *end*]. Os argumentos opcionais *start* e *end* são " "interpretados como na notação de fatiamento." -#: ../../library/stdtypes.rst:2650 ../../library/stdtypes.rst:2749 -#: ../../library/stdtypes.rst:2771 ../../library/stdtypes.rst:2837 -#: ../../library/stdtypes.rst:2850 +#: ../../library/stdtypes.rst:2663 ../../library/stdtypes.rst:2768 +#: ../../library/stdtypes.rst:2790 ../../library/stdtypes.rst:2856 +#: ../../library/stdtypes.rst:2869 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:2666 +msgid "" +"If *sub* is empty, returns the number of empty slices between characters " +"which is the length of the bytes object plus one." +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:2653 ../../library/stdtypes.rst:2761 -#: ../../library/stdtypes.rst:2774 ../../library/stdtypes.rst:2840 -#: ../../library/stdtypes.rst:2853 +#: ../../library/stdtypes.rst:2669 ../../library/stdtypes.rst:2780 +#: ../../library/stdtypes.rst:2793 ../../library/stdtypes.rst:2859 +#: ../../library/stdtypes.rst:2872 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:2660 +#: ../../library/stdtypes.rst:2676 msgid "" "If the binary data starts with the *prefix* string, return " "``bytes[len(prefix):]``. Otherwise, return a copy of the original binary " @@ -4475,21 +4487,19 @@ msgstr "" "``bytes[len(prefix):]``. Caso contrário, retorna uma cópia dos dados " "binários originais::" -#: ../../library/stdtypes.rst:2669 +#: ../../library/stdtypes.rst:2685 msgid "The *prefix* may be any :term:`bytes-like object`." -msgstr "" -"O *prefix* pode ser qualquer :term:`objeto byte ou similar `." - -#: ../../library/stdtypes.rst:2673 ../../library/stdtypes.rst:2695 -#: ../../library/stdtypes.rst:2825 ../../library/stdtypes.rst:2918 -#: ../../library/stdtypes.rst:2932 ../../library/stdtypes.rst:2963 -#: ../../library/stdtypes.rst:2977 ../../library/stdtypes.rst:3019 -#: ../../library/stdtypes.rst:3089 ../../library/stdtypes.rst:3107 -#: ../../library/stdtypes.rst:3135 ../../library/stdtypes.rst:3274 -#: ../../library/stdtypes.rst:3329 ../../library/stdtypes.rst:3372 -#: ../../library/stdtypes.rst:3393 ../../library/stdtypes.rst:3415 -#: ../../library/stdtypes.rst:3617 +msgstr "O *prefix* pode ser qualquer :term:`objeto bytes ou similar`." + +#: ../../library/stdtypes.rst:2689 ../../library/stdtypes.rst:2711 +#: ../../library/stdtypes.rst:2844 ../../library/stdtypes.rst:2937 +#: ../../library/stdtypes.rst:2951 ../../library/stdtypes.rst:2982 +#: ../../library/stdtypes.rst:2996 ../../library/stdtypes.rst:3038 +#: ../../library/stdtypes.rst:3108 ../../library/stdtypes.rst:3126 +#: ../../library/stdtypes.rst:3154 ../../library/stdtypes.rst:3293 +#: ../../library/stdtypes.rst:3348 ../../library/stdtypes.rst:3391 +#: ../../library/stdtypes.rst:3412 ../../library/stdtypes.rst:3434 +#: ../../library/stdtypes.rst:3636 msgid "" "The bytearray version of this method does *not* operate in place - it always " "produces a new object, even if no changes were made." @@ -4497,7 +4507,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:2682 +#: ../../library/stdtypes.rst:2698 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 " @@ -4507,57 +4517,49 @@ msgstr "" "estiver vazia, retorna ``bytes[:-len(suffix)]``. Caso contrário, retorna uma " "cópia dos dados binários originais::" -#: ../../library/stdtypes.rst:2691 +#: ../../library/stdtypes.rst:2707 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:2704 +#: ../../library/stdtypes.rst:2720 +msgid "Return the bytes decoded to a :class:`str`." +msgstr "Retorna os bytes decodificados para uma :class:`str`." + +#: ../../library/stdtypes.rst:2725 msgid "" -"Return a string decoded from the given bytes. Default encoding is " -"``'utf-8'``. *errors* may be given to set a different error handling " -"scheme. The default for *errors* is ``'strict'``, meaning that encoding " -"errors raise a :exc:`UnicodeError`. Other possible values are ``'ignore'``, " -"``'replace'`` and any other name registered via :func:`codecs." -"register_error`, see section :ref:`error-handlers`. For a list of possible " -"encodings, see section :ref:`standard-encodings`." +"*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." msgstr "" -"Retorna uma string decodificada dos bytes fornecidos. A codificação padrão é " -"``'utf-8'```. *errors* pode ser fornecido para definir um esquema de " -"tratamento de erros diferente. O padrão de *errors* é ``'strict'``, o que " -"significa que os erros de codificação levantam uma exceção :exc:" -"`UnicodeError`. Outros valores possíveis são ``'ignore'```, ``'replace'`` e " -"qualquer outro nome registrado pela função :func:`codecs.register_error`, " -"veja a seção :ref:`error-handlers`. Para obter uma lista dos possíveis " -"codificações, veja a seção :ref:`standard-encodings`." +"*errors* controla como os erros de decodificação são tratados. Se " +"``'strict'`` (o padrão), uma exceção :exc:`UnicodeError` é levantada. Outros " +"valores possíveis são ``'ignore'``, ``'replace'`` e qualquer outro nome " +"registrado via :func:`codecs.register_error`. Veja :ref:`error-handlers` " +"para detalhes." -#: ../../library/stdtypes.rst:2712 +#: ../../library/stdtypes.rst:2731 msgid "" -"By default, the *errors* argument is not checked for best performances, but " -"only used at the first decoding error. Enable the :ref:`Python Development " -"Mode `, or use a :ref:`debug build ` to check *errors*." +"For performance reasons, the value of *errors* is not checked for validity " +"unless a decoding error actually occurs, :ref:`devmode` is enabled or a :ref:" +"`debug build ` is used." msgstr "" -"Por padrão, o argumento *errors* não é verificado para obter os melhores " -"desempenhos, mas apenas usado no primeiro erro de decodificação. Habilite o :" -"ref:`Modo de Desenvolvimento do Python ` ou use uma :ref:" -"`construção de depuração ` para verificar *errors*." +"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." -#: ../../library/stdtypes.rst:2718 +#: ../../library/stdtypes.rst:2737 msgid "" "Passing the *encoding* argument to :class:`str` allows decoding any :term:" -"`bytes-like object` directly, without needing to make a temporary bytes or " -"bytearray object." +"`bytes-like object` directly, without needing to make a temporary :class:`!" +"bytes` or :class:`!bytearray` object." msgstr "" -"Passando o argumento *encoding* para a classe :class:`str` permite " -"decodificar qualquer :term:`objeto byte ou similar ` " -"diretamente, sem precisar ter bytes temporário ou um objeto bytearray." - -#: ../../library/stdtypes.rst:2722 -msgid "Added support for keyword arguments." -msgstr "Adicionado suporte para argumentos nomeados." +"Passar o argumento *encoding* para :class:`str` permite decodificar qualquer " +"objeto :term:`objeto bytes ou similar` diretamente, sem a necessidade de " +"criar um objeto :class:`!bytes` ou :class:`!bytearray` temporário." -#: ../../library/stdtypes.rst:2733 +#: ../../library/stdtypes.rst:2752 msgid "" "Return ``True`` if the binary data ends with the specified *suffix*, " "otherwise return ``False``. *suffix* can also be a tuple of suffixes to " @@ -4570,13 +4572,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:2738 +#: ../../library/stdtypes.rst:2757 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:2744 +#: ../../library/stdtypes.rst:2763 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 " @@ -4588,7 +4590,7 @@ 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:2754 +#: ../../library/stdtypes.rst:2773 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 :" @@ -4598,7 +4600,7 @@ msgstr "" "posição de *sub*. Para verificar se *sub* é uma substring ou não, use o " "operador :keyword:`in`::" -#: ../../library/stdtypes.rst:2768 +#: ../../library/stdtypes.rst:2787 msgid "" "Like :meth:`~bytes.find`, but raise :exc:`ValueError` when the subsequence " "is not found." @@ -4606,7 +4608,7 @@ msgstr "" "Como :meth:`~bytes.find`, mas levanta a exceção :exc:`ValueError` quando a " "subsequência não for encontrada." -#: ../../library/stdtypes.rst:2781 +#: ../../library/stdtypes.rst:2800 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 " @@ -4616,13 +4618,13 @@ 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:2792 +#: ../../library/stdtypes.rst:2811 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 " @@ -4631,10 +4633,10 @@ msgid "" 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." +"posição em *to*; *from* e *to* devem ambos ser :term:`objetos bytes ou " +"similares ` e ter o mesmo comprimento." -#: ../../library/stdtypes.rst:2803 +#: ../../library/stdtypes.rst:2822 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 " @@ -4648,13 +4650,12 @@ msgstr "" "com 3 elementos contendo uma cópia da sequência original, seguido de dois " "bytes ou objetos bytearray vazios." -#: ../../library/stdtypes.rst:2810 ../../library/stdtypes.rst:2867 +#: ../../library/stdtypes.rst:2829 ../../library/stdtypes.rst:2886 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:2816 +#: ../../library/stdtypes.rst:2835 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 " @@ -4664,15 +4665,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:2820 +#: ../../library/stdtypes.rst:2839 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 `." +"`objeto bytes ou similar`." -#: ../../library/stdtypes.rst:2832 +#: ../../library/stdtypes.rst:2851 msgid "" "Return the highest index in the sequence where the subsequence *sub* is " "found, such that *sub* is contained within ``s[start:end]``. Optional " @@ -4684,7 +4685,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:2847 +#: ../../library/stdtypes.rst:2866 msgid "" "Like :meth:`~bytes.rfind` but raises :exc:`ValueError` when the subsequence " "*sub* is not found." @@ -4692,7 +4693,7 @@ msgstr "" "Semelhante a :meth:`~bytes.rfind` mas levanta :exc:`ValueError` quando a " "subsequência *sub* não é encontrada." -#: ../../library/stdtypes.rst:2860 +#: ../../library/stdtypes.rst:2879 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 " @@ -4706,7 +4707,7 @@ msgstr "" "com 3 elementos contendo dois bytes ou objetos bytearray vazios, seguido por " "uma cópia da sequência original." -#: ../../library/stdtypes.rst:2873 +#: ../../library/stdtypes.rst:2892 msgid "" "Return ``True`` if the binary data starts with the specified *prefix*, " "otherwise return ``False``. *prefix* can also be a tuple of prefixes to " @@ -4719,13 +4720,13 @@ msgstr "" "na posição indicada. Com o parâmetro opcional *end*, encerra a procura na " "posição indicada." -#: ../../library/stdtypes.rst:2878 +#: ../../library/stdtypes.rst:2897 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:2884 +#: ../../library/stdtypes.rst:2903 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 " @@ -4737,14 +4738,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:2889 +#: ../../library/stdtypes.rst:2908 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:2892 +#: ../../library/stdtypes.rst:2911 msgid "" "Set the *table* argument to ``None`` for translations that only delete " "characters::" @@ -4752,11 +4753,11 @@ msgstr "" "Define o argumento *table* como ``None`` para traduções que excluem apenas " "caracteres::" -#: ../../library/stdtypes.rst:2898 +#: ../../library/stdtypes.rst:2917 msgid "*delete* is now supported as a keyword argument." msgstr "*delete* agora é suportado como um argumento nomeado." -#: ../../library/stdtypes.rst:2902 +#: ../../library/stdtypes.rst:2921 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 " @@ -4765,12 +4766,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:2911 +#: ../../library/stdtypes.rst:2930 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). " @@ -4782,7 +4783,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:2925 +#: ../../library/stdtypes.rst:2944 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). " @@ -4794,7 +4795,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:2939 +#: ../../library/stdtypes.rst:2958 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 " @@ -4809,20 +4810,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:2951 +#: ../../library/stdtypes.rst:2970 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::" +"`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:2970 +#: ../../library/stdtypes.rst:2989 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). " @@ -4834,7 +4835,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:2984 +#: ../../library/stdtypes.rst:3003 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 " @@ -4851,7 +4852,7 @@ msgstr "" "meth:`rsplit` comporta-se como :meth:`split`, o qual é descrito em detalhes " "abaixo." -#: ../../library/stdtypes.rst:2995 +#: ../../library/stdtypes.rst:3014 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 " @@ -4866,20 +4867,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:3007 +#: ../../library/stdtypes.rst:3026 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::" +"`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:3026 +#: ../../library/stdtypes.rst:3045 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 " @@ -4893,7 +4894,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:3032 +#: ../../library/stdtypes.rst:3051 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',')`` " @@ -4912,7 +4913,7 @@ msgstr "" "dependendo do tipo do objeto que está sendo separado. O argumento *sep* pode " "ser qualquer :term:`objeto byte ou similar `." -#: ../../library/stdtypes.rst:3050 +#: ../../library/stdtypes.rst:3069 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 " @@ -4929,7 +4930,7 @@ msgstr "" "sequência que consiste apenas de espaços em branco ASCII sem um separador " "especificado, retorna ``[]``." -#: ../../library/stdtypes.rst:3071 +#: ../../library/stdtypes.rst:3090 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 " @@ -4944,29 +4945,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:3084 +#: ../../library/stdtypes.rst:3103 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 `." +"term:`objeto bytes ou similar`." -#: ../../library/stdtypes.rst:3093 +#: ../../library/stdtypes.rst:3112 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:3101 +#: ../../library/stdtypes.rst:3120 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 " @@ -4976,7 +4977,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:3114 +#: ../../library/stdtypes.rst:3133 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 " @@ -5006,7 +5007,7 @@ msgstr "" "incrementada em uma unidade independentemente de como o byte é representado " "quanto é impresso::" -#: ../../library/stdtypes.rst:3142 +#: ../../library/stdtypes.rst:3161 msgid "" "Return ``True`` if all bytes in the sequence are alphabetical ASCII " "characters or ASCII decimal digits and the sequence is not empty, ``False`` " @@ -5021,7 +5022,7 @@ msgstr "" "Dígitos decimais ASCII são aqueles valores de byte na sequência " "``b'0123456789'``." -#: ../../library/stdtypes.rst:3159 +#: ../../library/stdtypes.rst:3178 msgid "" "Return ``True`` if all bytes in the sequence are alphabetic ASCII characters " "and the sequence is not empty, ``False`` otherwise. Alphabetic ASCII " @@ -5033,7 +5034,7 @@ msgstr "" "alfabéticos ASCII são aqueles cujo valor dos bytes estão na sequência " "``b'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'``." -#: ../../library/stdtypes.rst:3175 +#: ../../library/stdtypes.rst:3194 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." @@ -5041,7 +5042,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:3185 +#: ../../library/stdtypes.rst:3204 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 " @@ -5051,7 +5052,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:3200 +#: ../../library/stdtypes.rst:3219 msgid "" "Return ``True`` if there is at least one lowercase ASCII character in the " "sequence and no uppercase ASCII characters, ``False`` otherwise." @@ -5059,9 +5060,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:3210 ../../library/stdtypes.rst:3252 -#: ../../library/stdtypes.rst:3268 ../../library/stdtypes.rst:3318 -#: ../../library/stdtypes.rst:3387 +#: ../../library/stdtypes.rst:3229 ../../library/stdtypes.rst:3271 +#: ../../library/stdtypes.rst:3287 ../../library/stdtypes.rst:3337 +#: ../../library/stdtypes.rst:3406 msgid "" "Lowercase ASCII characters are those byte values in the sequence " "``b'abcdefghijklmnopqrstuvwxyz'``. Uppercase ASCII characters are those byte " @@ -5072,7 +5073,7 @@ msgstr "" "aqueles cujos valores de bytes estão na sequência " "``b'ABCDEFGHIJKLMNOPQRSTUVWXYZ'``." -#: ../../library/stdtypes.rst:3218 +#: ../../library/stdtypes.rst:3237 msgid "" "Return ``True`` if all bytes in the sequence are ASCII whitespace and the " "sequence is not empty, ``False`` otherwise. ASCII whitespace characters are " @@ -5081,11 +5082,11 @@ msgid "" msgstr "" "Retorna ``True`` se todos os bytes na sequência são espaço em branco ASCII e " "a sequência não é vazia, ``False`` caso contrário. Caracteres de espaço em " -"branco ASCII são aqueles cujos valores de bytes estão na sequência ``b' \\t" -"\\n\\r\\x0b\\f'`` (espaço, tabulação, nova linha, retorno do cursor, " +"branco ASCII são aqueles cujos valores de bytes estão na sequência ``b' " +"\\t\\n\\r\\x0b\\f'`` (espaço, tabulação, nova linha, retorno do cursor, " "tabulação vertical, formulário de entrada)." -#: ../../library/stdtypes.rst:3227 +#: ../../library/stdtypes.rst:3246 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 " @@ -5095,7 +5096,7 @@ msgstr "" "vazia, ``False`` caso contrário. Veja :meth:`bytes.title` para mais detalhes " "sobre a definição de \"titlecased\"." -#: ../../library/stdtypes.rst:3242 +#: ../../library/stdtypes.rst:3261 msgid "" "Return ``True`` if there is at least one uppercase alphabetic ASCII " "character in the sequence and no lowercase ASCII characters, ``False`` " @@ -5105,7 +5106,7 @@ msgstr "" "ASCII na sequência e nenhum caractere minúsculo ASCII, ``False`` caso " "contrário." -#: ../../library/stdtypes.rst:3260 +#: ../../library/stdtypes.rst:3279 msgid "" "Return a copy of the sequence with all the uppercase ASCII characters " "converted to their corresponding lowercase counterpart." @@ -5113,7 +5114,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:3285 +#: ../../library/stdtypes.rst:3304 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 " @@ -5126,7 +5127,7 @@ msgstr "" "não são incluídas na lista resultante a não ser que *keepends* seja " "fornecido e verdadeiro." -#: ../../library/stdtypes.rst:3297 +#: ../../library/stdtypes.rst:3316 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 " @@ -5136,7 +5137,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:3310 +#: ../../library/stdtypes.rst:3329 msgid "" "Return a copy of the sequence with all the lowercase ASCII characters " "converted to their corresponding uppercase counterpart and vice-versa." @@ -5144,7 +5145,7 @@ 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:3322 +#: ../../library/stdtypes.rst:3341 msgid "" "Unlike :func:`str.swapcase()`, it is always the case that ``bin.swapcase()." "swapcase() == bin`` for the binary versions. Case conversions are " @@ -5156,7 +5157,7 @@ msgstr "" "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:3336 +#: ../../library/stdtypes.rst:3355 msgid "" "Return a titlecased version of the binary sequence where words start with an " "uppercase ASCII character and the remaining characters are lowercase. " @@ -5167,7 +5168,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:3345 +#: ../../library/stdtypes.rst:3364 msgid "" "Lowercase ASCII characters are those byte values in the sequence " "``b'abcdefghijklmnopqrstuvwxyz'``. Uppercase ASCII characters are those byte " @@ -5180,7 +5181,14 @@ msgstr "" "``b'ABCDEFGHIJKLMNOPQRSTUVWXYZ'``. Todos os outros valores de bytes ignoram " "maiúsculas/minúsculas." -#: ../../library/stdtypes.rst:3379 +#: ../../library/stdtypes.rst:3377 +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:3398 msgid "" "Return a copy of the sequence with all the lowercase ASCII characters " "converted to their corresponding uppercase counterpart." @@ -5188,7 +5196,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:3400 +#: ../../library/stdtypes.rst:3419 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 " @@ -5203,11 +5211,11 @@ msgstr "" "objetos :class:`bytes`, a sequência original é retornada se *width* é menor " "que ou igual a ``len(seq)``." -#: ../../library/stdtypes.rst:3422 +#: ../../library/stdtypes.rst:3441 msgid "``printf``-style Bytes Formatting" msgstr "Estilo de Formatação de bytes ``printf``-style" -#: ../../library/stdtypes.rst:3439 +#: ../../library/stdtypes.rst:3458 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 " @@ -5219,7 +5227,7 @@ 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:3444 +#: ../../library/stdtypes.rst:3463 msgid "" "Bytes objects (``bytes``/``bytearray``) have one unique built-in operation: " "the ``%`` operator (modulo). This is also known as the bytes *formatting* or " @@ -5235,7 +5243,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:3451 +#: ../../library/stdtypes.rst:3470 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 " @@ -5247,7 +5255,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:3485 +#: ../../library/stdtypes.rst:3504 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 " @@ -5260,15 +5268,15 @@ msgstr "" "O mapeamento de chaves seleciona o valor a ser formatado a partir do " "mapeamento. Por exemplo:" -#: ../../library/stdtypes.rst:3559 +#: ../../library/stdtypes.rst:3578 msgid "Single byte (accepts integer or single byte objects)." msgstr "Byte simples (aceita objetos inteiros ou de byte único)." -#: ../../library/stdtypes.rst:3562 +#: ../../library/stdtypes.rst:3581 msgid "``'b'``" msgstr "``'b'``" -#: ../../library/stdtypes.rst:3562 +#: ../../library/stdtypes.rst:3581 msgid "" "Bytes (any object that follows the :ref:`buffer protocol ` or " "has :meth:`__bytes__`)." @@ -5276,7 +5284,7 @@ msgstr "" "Bytes (qualquer objeto que segue o :ref:`buffer protocol ` o " "que possui :meth:`__bytes__`)." -#: ../../library/stdtypes.rst:3566 +#: ../../library/stdtypes.rst:3585 msgid "" "``'s'`` is an alias for ``'b'`` and should only be used for Python2/3 code " "bases." @@ -5284,15 +5292,15 @@ msgstr "" "``'s'`` é um alias para ``'b'`` e só deve ser usado para bases de código " "Python2/3." -#: ../../library/stdtypes.rst:3569 +#: ../../library/stdtypes.rst:3588 msgid "" -"Bytes (converts any Python object using ``repr(obj)." -"encode('ascii','backslashreplace)``)." +"Bytes (converts any Python object using ``repr(obj).encode('ascii', " +"'backslashreplace')``)." msgstr "" -"Bytes (converte qualquer objeto Python usando ``repr(obj)." -"encode('ascii','backslashreplace)``)." +"Bytes (converte qualquer objeto Python usando ``repr(obj).encode('ascii', " +"'backslashreplace')``)." -#: ../../library/stdtypes.rst:3572 +#: ../../library/stdtypes.rst:3591 msgid "" "``'r'`` is an alias for ``'a'`` and should only be used for Python2/3 code " "bases." @@ -5300,48 +5308,48 @@ msgstr "" "``'r'`` é um alias para ``'a'`` e só deve ser usado para bases de código " "Python2/3." -#: ../../library/stdtypes.rst:3572 +#: ../../library/stdtypes.rst:3591 msgid "\\(7)" msgstr "\\(7)" -#: ../../library/stdtypes.rst:3607 +#: ../../library/stdtypes.rst:3626 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:3610 +#: ../../library/stdtypes.rst:3629 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:3622 +#: ../../library/stdtypes.rst:3641 msgid ":pep:`461` - Adding % formatting to bytes and bytearray" msgstr ":pep:`461` - Adicionar formatação % para to bytes e bytearray" -#: ../../library/stdtypes.rst:3629 +#: ../../library/stdtypes.rst:3648 msgid "Memory Views" -msgstr "Memory Views" +msgstr "Visões de memória" -#: ../../library/stdtypes.rst:3631 +#: ../../library/stdtypes.rst:3650 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:3637 +#: ../../library/stdtypes.rst:3656 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:3641 +#: ../../library/stdtypes.rst:3660 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 " @@ -5354,7 +5362,7 @@ msgstr "" "único, mas outros tipos tais como :class:`array.array` podem ter elementos " "maiores." -#: ../../library/stdtypes.rst:3646 +#: ../../library/stdtypes.rst:3665 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 " @@ -5370,7 +5378,7 @@ msgstr "" "atributo :class:`~memoryview.itemsize` irá lhe dar o número de bytes em um " "elemento individual." -#: ../../library/stdtypes.rst:3653 +#: ../../library/stdtypes.rst:3672 msgid "" "A :class:`memoryview` supports slicing and indexing to expose its data. One-" "dimensional slicing will result in a subview::" @@ -5378,7 +5386,7 @@ msgstr "" "Um :class:`memoryview` suporta fatiamento e indexação para expor seus dados. " "Fatiamento unidimensional irá resultar em uma subview::" -#: ../../library/stdtypes.rst:3666 +#: ../../library/stdtypes.rst:3685 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 " @@ -5391,17 +5399,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:3675 +#: ../../library/stdtypes.rst:3694 msgid "Here is an example with a non-byte format::" msgstr "Aqui temos um exemplo usando um formato não-byte::" -#: ../../library/stdtypes.rst:3687 +#: ../../library/stdtypes.rst:3706 msgid "" "If the underlying object is writable, the memoryview supports one-" "dimensional slice assignment. Resizing is not allowed::" @@ -5409,25 +5417,26 @@ msgstr "" "Se o objeto subjacente é gravável, a memoryview suporta atribuição de fatias " "unidimensionais. Redimensionamento não é permitido::" -#: ../../library/stdtypes.rst:3708 +#: ../../library/stdtypes.rst:3727 msgid "" -"One-dimensional memoryviews of hashable (read-only) types with formats 'B', " -"'b' or 'c' are also hashable. The hash is defined as ``hash(m) == hash(m." -"tobytes())``::" +"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 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:3720 +#: ../../library/stdtypes.rst:3739 msgid "" "One-dimensional memoryviews can now be sliced. One-dimensional memoryviews " -"with formats 'B', 'b' or 'c' are now hashable." +"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 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:3724 +#: ../../library/stdtypes.rst:3743 msgid "" "memoryview is now registered automatically with :class:`collections.abc." "Sequence`" @@ -5435,17 +5444,17 @@ msgstr "" "O memoryview agora é registrado automaticamente como uma classe :class:" "`collections.abc.Sequence`" -#: ../../library/stdtypes.rst:3728 +#: ../../library/stdtypes.rst:3747 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:3731 +#: ../../library/stdtypes.rst:3750 msgid ":class:`memoryview` has several methods:" msgstr ":class:`memoryview` possui vários métodos:" -#: ../../library/stdtypes.rst:3735 +#: ../../library/stdtypes.rst:3754 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' " @@ -5456,7 +5465,7 @@ msgstr "" "códigos de formatação dos respectivos operadores são interpretados usando a " "sintaxe :mod:`struct`." -#: ../../library/stdtypes.rst:3739 +#: ../../library/stdtypes.rst:3758 msgid "" "For the subset of :mod:`struct` format strings currently supported by :meth:" "`tolist`, ``v`` and ``w`` are equal if ``v.tolist() == w.tolist()``::" @@ -5465,7 +5474,7 @@ msgstr "" "suportadas por :meth:`tolist`, ``v`` e ``w`` são iguais se ``v.tolist() == w." "tolist()``::" -#: ../../library/stdtypes.rst:3758 +#: ../../library/stdtypes.rst:3777 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 " @@ -5475,7 +5484,7 @@ msgstr "" "`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:3774 +#: ../../library/stdtypes.rst:3793 msgid "" "Note that, as with floating point numbers, ``v is w`` does *not* imply ``v " "== w`` for memoryview objects." @@ -5483,7 +5492,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:3777 +#: ../../library/stdtypes.rst:3796 msgid "" "Previous versions compared the raw memory disregarding the item format and " "the logical array structure." @@ -5491,7 +5500,7 @@ msgstr "" "Versões anteriores comparavam a memória bruta desconsiderando o formato do " "item e estrutura lógica do array." -#: ../../library/stdtypes.rst:3783 +#: ../../library/stdtypes.rst:3802 msgid "" "Return the data in the buffer as a bytestring. This is equivalent to " "calling the :class:`bytes` constructor on the memoryview. ::" @@ -5499,7 +5508,7 @@ msgstr "" "Retorna os dados no buffer como um bytestring. Isso é equivalente a chamar o " "construtor de :class:`bytes` na memoryview. ::" -#: ../../library/stdtypes.rst:3792 +#: ../../library/stdtypes.rst:3811 msgid "" "For non-contiguous arrays the result is equal to the flattened list " "representation with all elements converted to bytes. :meth:`tobytes` " @@ -5511,7 +5520,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:3797 +#: ../../library/stdtypes.rst:3816 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' " @@ -5525,7 +5534,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:3806 +#: ../../library/stdtypes.rst:3825 msgid "" "Return a string object containing two hexadecimal digits for each byte in " "the buffer. ::" @@ -5533,7 +5542,7 @@ msgstr "" "Retorna um objeto string contendo dois dígitos hexadecimais para cada byte " "no buffer. ::" -#: ../../library/stdtypes.rst:3815 +#: ../../library/stdtypes.rst:3834 msgid "" "Similar to :meth:`bytes.hex`, :meth:`memoryview.hex` now supports optional " "*sep* and *bytes_per_sep* parameters to insert separators between bytes in " @@ -5543,11 +5552,11 @@ msgstr "" "parâmetros opcionais *sep* e *bytes_per_sep* para inserir separadores entre " "bytes na saída hexadecimal." -#: ../../library/stdtypes.rst:3822 +#: ../../library/stdtypes.rst:3841 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:3832 +#: ../../library/stdtypes.rst:3851 msgid "" ":meth:`tolist` now supports all single character native formats in :mod:" "`struct` module syntax as well as multi-dimensional representations." @@ -5556,7 +5565,7 @@ msgstr "" "na sintaxe do módulo :mod:`struct`, assim como representações multi-" "dimensionais." -#: ../../library/stdtypes.rst:3839 +#: ../../library/stdtypes.rst:3858 msgid "" "Return a readonly version of the memoryview object. The original memoryview " "object is unchanged. ::" @@ -5564,7 +5573,7 @@ msgstr "" "Retorna uma versão somente leitura do objeto memoryview. O objeto memoryview " "original não é alterado. ::" -#: ../../library/stdtypes.rst:3858 +#: ../../library/stdtypes.rst:3877 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 :" @@ -5578,7 +5587,7 @@ msgstr "" "portanto, chamar release() é útil para remover essas restrições (e liberar " "quaisquer recursos pendurados) o mais breve possível." -#: ../../library/stdtypes.rst:3864 +#: ../../library/stdtypes.rst:3883 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 " @@ -5588,7 +5597,7 @@ msgstr "" "levanta um :class:`ValueError` (exceto :meth:`release()`, o qual pode ser " "chamado múltiplas vezes)::" -#: ../../library/stdtypes.rst:3875 +#: ../../library/stdtypes.rst:3894 msgid "" "The context management protocol can be used for a similar effect, using the " "``with`` statement::" @@ -5596,7 +5605,7 @@ msgstr "" "O protocolo de gerenciamento de contexto pode ser usado para efeitos " "similares, usando a instrução ``with``::" -#: ../../library/stdtypes.rst:3891 +#: ../../library/stdtypes.rst:3910 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 " @@ -5610,7 +5619,7 @@ msgstr "" "si mesmo não é copiado. Conversões suportadas são 1D -> C-:term:`contíguo " "` r C-contíguo -> 1D." -#: ../../library/stdtypes.rst:3897 +#: ../../library/stdtypes.rst:3916 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 " @@ -5621,36 +5630,36 @@ msgstr "" "O comprimento de bytes do resultado deve ser o mesmo que o comprimento " "original." -#: ../../library/stdtypes.rst:3902 +#: ../../library/stdtypes.rst:3921 msgid "Cast 1D/long to 1D/unsigned bytes::" msgstr "Converte de 1D/long para 1D/unsigned bytes::" -#: ../../library/stdtypes.rst:3925 +#: ../../library/stdtypes.rst:3944 msgid "Cast 1D/unsigned bytes to 1D/char::" msgstr "Converte de 1D/unsigned bytes para 1D/char::" -#: ../../library/stdtypes.rst:3938 +#: ../../library/stdtypes.rst:3957 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:3964 +#: ../../library/stdtypes.rst:3983 msgid "Cast 1D/unsigned long to 2D/unsigned long::" msgstr "Converte 1D/unsigned long para 2D/unsigned long::" -#: ../../library/stdtypes.rst:3978 +#: ../../library/stdtypes.rst:3997 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:3981 +#: ../../library/stdtypes.rst:4000 msgid "There are also several readonly attributes available:" msgstr "Existem também diversos atributos somente leitura disponíveis:" -#: ../../library/stdtypes.rst:3985 +#: ../../library/stdtypes.rst:4004 msgid "The underlying object of the memoryview::" msgstr "O objeto subjacente da memoryview::" -#: ../../library/stdtypes.rst:3996 +#: ../../library/stdtypes.rst:4015 msgid "" "``nbytes == product(shape) * itemsize == len(m.tobytes())``. This is the " "amount of space in bytes that the array would use in a contiguous " @@ -5660,15 +5669,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:4015 +#: ../../library/stdtypes.rst:4034 msgid "Multi-dimensional arrays::" msgstr "Arrays Multi-dimensional::" -#: ../../library/stdtypes.rst:4032 +#: ../../library/stdtypes.rst:4051 msgid "A bool indicating whether the memory is read only." msgstr "Um bool que indica se a memória é somente leitura." -#: ../../library/stdtypes.rst:4036 +#: ../../library/stdtypes.rst:4055 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 " @@ -5680,7 +5689,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:4041 +#: ../../library/stdtypes.rst:4060 msgid "" "format ``'B'`` is now handled according to the struct module syntax. This " "means that ``memoryview(b'abc')[0] == b'abc'[0] == 97``." @@ -5688,11 +5697,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:4047 +#: ../../library/stdtypes.rst:4066 msgid "The size in bytes of each element of the memoryview::" msgstr "O tamanho em Bytes de cada elemento do memoryview::" -#: ../../library/stdtypes.rst:4060 +#: ../../library/stdtypes.rst:4079 msgid "" "An integer indicating how many dimensions of a multi-dimensional array the " "memory represents." @@ -5700,7 +5709,7 @@ msgstr "" "Um número inteiro que indica quantas dimensões de uma matriz " "multidimensional a memória representa." -#: ../../library/stdtypes.rst:4065 +#: ../../library/stdtypes.rst:4084 msgid "" "A tuple of integers the length of :attr:`ndim` giving the shape of the " "memory as an N-dimensional array." @@ -5708,11 +5717,11 @@ msgstr "" "Uma tupla de inteiros de comprimento :attr:`ndim` dando a forma da memória " "como uma matriz N-dimensional." -#: ../../library/stdtypes.rst:4068 ../../library/stdtypes.rst:4076 +#: ../../library/stdtypes.rst:4087 ../../library/stdtypes.rst:4095 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:4073 +#: ../../library/stdtypes.rst:4092 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." @@ -5720,30 +5729,30 @@ 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:4081 +#: ../../library/stdtypes.rst:4100 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:4085 +#: ../../library/stdtypes.rst:4104 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:4091 +#: ../../library/stdtypes.rst:4110 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:4097 +#: ../../library/stdtypes.rst:4116 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:4105 +#: ../../library/stdtypes.rst:4124 msgid "Set Types --- :class:`set`, :class:`frozenset`" msgstr "Tipo conjuntos --- :class:`set`, :class:`frozenset`" -#: ../../library/stdtypes.rst:4109 +#: ../../library/stdtypes.rst:4128 msgid "" "A :dfn:`set` object is an unordered collection of distinct :term:`hashable` " "objects. Common uses include membership testing, removing duplicates from a " @@ -5759,7 +5768,7 @@ msgstr "" "de contêineres veja as classes embutidas :class:`dict`, :class:`list` e :" "class:`tuple`, e o módulo :mod:`collections`.)" -#: ../../library/stdtypes.rst:4116 +#: ../../library/stdtypes.rst:4135 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 " @@ -5771,7 +5780,7 @@ 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:4121 +#: ../../library/stdtypes.rst:4140 msgid "" "There are currently two built-in set types, :class:`set` and :class:" "`frozenset`. The :class:`set` type is mutable --- the contents can be " @@ -5791,7 +5800,7 @@ msgstr "" "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:4129 +#: ../../library/stdtypes.rst:4148 msgid "" "Non-empty sets (not frozensets) can be created by placing a comma-separated " "list of elements within braces, for example: ``{'jack', 'sjoerd'}``, in " @@ -5801,11 +5810,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:4133 +#: ../../library/stdtypes.rst:4152 msgid "The constructors for both classes work the same:" msgstr "Os construtores de ambas as classes funcionam da mesma forma:" -#: ../../library/stdtypes.rst:4138 +#: ../../library/stdtypes.rst:4157 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 " @@ -5814,37 +5823,37 @@ msgid "" 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." +"`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:4144 +#: ../../library/stdtypes.rst:4163 msgid "Sets can be created by several means:" msgstr "Conjuntos podem ser criados de várias formas:" -#: ../../library/stdtypes.rst:4146 +#: ../../library/stdtypes.rst:4165 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:4147 +#: ../../library/stdtypes.rst:4166 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:4148 +#: ../../library/stdtypes.rst:4167 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:4150 +#: ../../library/stdtypes.rst:4169 msgid "" "Instances of :class:`set` and :class:`frozenset` provide the following " "operations:" @@ -5852,19 +5861,19 @@ msgstr "" "Instâncias de :class:`set` e :class:`frozenset` fornecem as seguintes " "operações:" -#: ../../library/stdtypes.rst:4155 +#: ../../library/stdtypes.rst:4174 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:4159 +#: ../../library/stdtypes.rst:4178 msgid "Test *x* for membership in *s*." msgstr "Testa se *x* pertence a *s*." -#: ../../library/stdtypes.rst:4163 +#: ../../library/stdtypes.rst:4182 msgid "Test *x* for non-membership in *s*." msgstr "Testa se *x* não pertence a *s*." -#: ../../library/stdtypes.rst:4167 +#: ../../library/stdtypes.rst:4186 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." @@ -5872,11 +5881,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:4173 +#: ../../library/stdtypes.rst:4192 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:4177 +#: ../../library/stdtypes.rst:4196 msgid "" "Test whether the set is a proper subset of *other*, that is, ``set <= other " "and set != other``." @@ -5884,11 +5893,11 @@ msgstr "" "Testa se o conjunto é um subconjunto próprio de *other*, isto é, ``set <= " "other and set != other``." -#: ../../library/stdtypes.rst:4183 +#: ../../library/stdtypes.rst:4202 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:4187 +#: ../../library/stdtypes.rst:4206 msgid "" "Test whether the set is a proper superset of *other*, that is, ``set >= " "other and set != other``." @@ -5896,34 +5905,34 @@ msgstr "" "Testa se o conjunto é um superconjunto próprio de *other*, isto é, ``set >= " "other and set != other``." -#: ../../library/stdtypes.rst:4193 +#: ../../library/stdtypes.rst:4212 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:4198 +#: ../../library/stdtypes.rst:4217 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:4203 +#: ../../library/stdtypes.rst:4222 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:4208 +#: ../../library/stdtypes.rst:4227 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:4212 +#: ../../library/stdtypes.rst:4231 msgid "Return a shallow copy of the set." msgstr "Retorna uma cópia rasa do conjunto." -#: ../../library/stdtypes.rst:4215 +#: ../../library/stdtypes.rst:4234 msgid "" "Note, the non-operator versions of :meth:`union`, :meth:`intersection`, :" "meth:`difference`, :meth:`symmetric_difference`, :meth:`issubset`, and :meth:" @@ -5940,7 +5949,7 @@ msgstr "" "como ``set('abc') & 'cbs'`` e favorece a forma mais legível ``set('abc')." "intersection('cbs')``." -#: ../../library/stdtypes.rst:4222 +#: ../../library/stdtypes.rst:4241 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 " @@ -5949,16 +5958,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:4229 +#: ../../library/stdtypes.rst:4248 msgid "" "Instances of :class:`set` are compared to instances of :class:`frozenset` " "based on their members. For example, ``set('abc') == frozenset('abc')`` " @@ -5968,7 +5976,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:4233 +#: ../../library/stdtypes.rst:4252 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 " @@ -5980,7 +5988,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:4238 +#: ../../library/stdtypes.rst:4257 msgid "" "Since sets only define partial ordering (subset relationships), the output " "of the :meth:`list.sort` method is undefined for lists of sets." @@ -5989,13 +5997,13 @@ msgstr "" "relacionamentos), a saída do método :meth:`list.sort` é indefinida para " "listas e conjuntos." -#: ../../library/stdtypes.rst:4241 +#: ../../library/stdtypes.rst:4260 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 `." -#: ../../library/stdtypes.rst:4243 +#: ../../library/stdtypes.rst:4262 msgid "" "Binary operations that mix :class:`set` instances with :class:`frozenset` " "return the type of the first operand. For example: ``frozenset('ab') | " @@ -6005,7 +6013,7 @@ msgstr "" "`frozenset` retornam o tipo do primeiro operando. Por exemplo: " "``frozenset('ab') | set('bc')`` retorna uma instância de :class:`frozenset`." -#: ../../library/stdtypes.rst:4247 +#: ../../library/stdtypes.rst:4266 msgid "" "The following table lists operations available for :class:`set` that do not " "apply to immutable instances of :class:`frozenset`:" @@ -6013,31 +6021,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:4253 +#: ../../library/stdtypes.rst:4272 msgid "Update the set, adding elements from all others." msgstr "Atualiza o conjunto, adicionando elementos dos outros." -#: ../../library/stdtypes.rst:4258 +#: ../../library/stdtypes.rst:4277 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:4263 +#: ../../library/stdtypes.rst:4282 msgid "Update the set, removing elements found in others." msgstr "Atualiza o conjunto, removendo elementos encontrados em outros." -#: ../../library/stdtypes.rst:4268 +#: ../../library/stdtypes.rst:4287 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:4272 +#: ../../library/stdtypes.rst:4291 msgid "Add element *elem* to the set." msgstr "Adiciona o elemento *elem* ao conjunto." -#: ../../library/stdtypes.rst:4276 +#: ../../library/stdtypes.rst:4295 msgid "" "Remove element *elem* from the set. Raises :exc:`KeyError` if *elem* is not " "contained in the set." @@ -6045,11 +6053,11 @@ msgstr "" "Remove o elemento *elem* do conjunto. Levanta :exc:`KeyError` se *elem* não " "estiver contido no conjunto." -#: ../../library/stdtypes.rst:4281 +#: ../../library/stdtypes.rst:4300 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:4285 +#: ../../library/stdtypes.rst:4304 msgid "" "Remove and return an arbitrary element from the set. Raises :exc:`KeyError` " "if the set is empty." @@ -6057,11 +6065,11 @@ msgstr "" "Remove e retorna um elemento arbitrário do conjunto. Levanta :exc:`KeyError` " "se o conjunto estiver vazio." -#: ../../library/stdtypes.rst:4290 +#: ../../library/stdtypes.rst:4309 msgid "Remove all elements from the set." msgstr "Remove todos os elementos do conjunto." -#: ../../library/stdtypes.rst:4293 +#: ../../library/stdtypes.rst:4312 msgid "" "Note, the non-operator versions of the :meth:`update`, :meth:" "`intersection_update`, :meth:`difference_update`, and :meth:" @@ -6073,7 +6081,7 @@ msgstr "" "`symmetric_difference_update` irão aceitar qualquer iterável como um " "argumento." -#: ../../library/stdtypes.rst:4298 +#: ../../library/stdtypes.rst:4317 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 " @@ -6084,11 +6092,11 @@ msgstr "" "um frozenset equivalente, um frozenset temporário é criado a partir de " "*elem*." -#: ../../library/stdtypes.rst:4306 +#: ../../library/stdtypes.rst:4325 msgid "Mapping Types --- :class:`dict`" msgstr "Tipo mapeamento --- :class:`dict`" -#: ../../library/stdtypes.rst:4316 +#: ../../library/stdtypes.rst:4335 msgid "" "A :term:`mapping` object maps :term:`hashable` values to arbitrary objects. " "Mappings are mutable objects. There is currently only one standard mapping " @@ -6102,40 +6110,22 @@ msgstr "" "(Para outros contêineres, veja as classes embutidas :class:`list`, :class:" "`set` e :class:`tuple`, e o módulo :mod:`collections`.)" -#: ../../library/stdtypes.rst:4322 +#: ../../library/stdtypes.rst:4341 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. Numeric types used for keys obey the normal rules " -"for numeric comparison: if two numbers compare equal (such as ``1`` and " -"``1.0``) then they can be used interchangeably to index the same dictionary " -"entry. (Note however, that since computers store floating-point numbers as " -"approximations it is usually unwise to use them as dictionary keys.)" +"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 `, isto é, valores contendo listas, " -"dicionários ou outros tipos mutáveis (que são comparados por valor ao invés " -"de por identidade do objeto) não devem ser usados como chaves. Tipos " -"numéricos usados para chaves obedecem as regras normais para comparação " -"numérica: se dois números comparados são iguais (tal como ``1`` e ``1.0``), " -"então eles podem ser usados intercambiavelmente para indexar a mesma entrada " -"no dicionário. (Perceba entretanto, que como computadores armazenam números " -"de ponto flutuante como aproximações, usualmente não é uma boa ideia utilizá-" -"los como chaves para dicionários.)" +"são :term:`hasheáveis `, ou seja, valores contendo listas, " +"dicionários ou outros tipos mutáveis (que são comparados por valor e não por " +"identidade de objeto) não podem ser usados como chaves. Valores que comparam " +"iguais (como ``1``, ``1.0`` e ``True``) podem ser usados alternadamente para " +"indexar a mesma entrada do dicionário." -#: ../../library/stdtypes.rst:4331 -msgid "" -"Dictionaries can be created by placing a comma-separated list of ``key: " -"value`` pairs within braces, for example: ``{'jack': 4098, 'sjoerd': 4127}`` " -"or ``{4098: 'jack', 4127: 'sjoerd'}``, or by the :class:`dict` constructor." -msgstr "" -"Dicionários podem ser criados posicionando uma lista de pares ``key: value`` " -"separados por vírgula dentro de chaves, por exemplo: ``{'jack': 4098, " -"'sjoerd': 4127}`` ou ``{4098: 'jack', 4127: 'sjoerd'}``, ou usando o " -"construtor de :class:`dict`." - -#: ../../library/stdtypes.rst:4339 +#: ../../library/stdtypes.rst:4352 msgid "" "Return a new dictionary initialized from an optional positional argument and " "a possibly empty set of keyword arguments." @@ -6143,11 +6133,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:4342 +#: ../../library/stdtypes.rst:4355 msgid "Dictionaries can be created by several means:" msgstr "Os dicionários podem ser criados de várias formas:" -#: ../../library/stdtypes.rst:4344 +#: ../../library/stdtypes.rst:4357 msgid "" "Use a comma-separated list of ``key: value`` pairs within braces: ``{'jack': " "4098, 'sjoerd': 4127}`` or ``{4098: 'jack', 4127: 'sjoerd'}``" @@ -6155,13 +6145,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:4346 +#: ../../library/stdtypes.rst:4359 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:4347 +#: ../../library/stdtypes.rst:4360 msgid "" "Use the type constructor: ``dict()``, ``dict([('foo', 100), ('bar', " "200)])``, ``dict(foo=100, bar=200)``" @@ -6169,7 +6159,7 @@ msgstr "" "Usar o construtor de tipo: ``dict()``, ``dict([('foo', 100), ('bar', " "200)])``, ``dict(foo=100, bar=200)``" -#: ../../library/stdtypes.rst:4350 +#: ../../library/stdtypes.rst:4363 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 " @@ -6190,7 +6180,7 @@ msgstr "" "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:4360 +#: ../../library/stdtypes.rst:4373 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 " @@ -6202,7 +6192,7 @@ msgstr "" "uma chave sendo adicionada já está presente, o valor do argumento nomeado " "substitui o valor do argumento posicional." -#: ../../library/stdtypes.rst:4365 +#: ../../library/stdtypes.rst:4378 msgid "" "To illustrate, the following examples all return a dictionary equal to " "``{\"one\": 1, \"two\": 2, \"three\": 3}``::" @@ -6210,7 +6200,7 @@ msgstr "" "Para ilustrar, os seguintes exemplos todos retornam um dicionário igual a " "``{\"one\": 1, \"two\": 2, \"three\": 3}``::" -#: ../../library/stdtypes.rst:4377 +#: ../../library/stdtypes.rst:4390 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." @@ -6219,23 +6209,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:4381 +#: ../../library/stdtypes.rst:4394 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:4386 +#: ../../library/stdtypes.rst:4399 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:4390 +#: ../../library/stdtypes.rst:4403 msgid "Return the number of items in the dictionary *d*." msgstr "Retorna o número de itens no dicionário *d*." -#: ../../library/stdtypes.rst:4394 +#: ../../library/stdtypes.rst:4407 msgid "" "Return the item of *d* with key *key*. Raises a :exc:`KeyError` if *key* is " "not in the map." @@ -6243,7 +6233,7 @@ msgstr "" "Retorna o item de *d* com a chave *key*. Levanta um :exc:`KeyError` se *key* " "não estiver no mapeamento." -#: ../../library/stdtypes.rst:4399 +#: ../../library/stdtypes.rst:4412 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 " @@ -6261,7 +6251,7 @@ 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:4417 +#: ../../library/stdtypes.rst:4430 msgid "" "The example above shows part of the implementation of :class:`collections." "Counter`. A different ``__missing__`` method is used by :class:`collections." @@ -6271,11 +6261,11 @@ msgstr "" "Counter`. Um método ``__missing__`` diferente é usado para :class:" "`collections.defaultdict`." -#: ../../library/stdtypes.rst:4423 +#: ../../library/stdtypes.rst:4436 msgid "Set ``d[key]`` to *value*." msgstr "Define ``d[key]`` para *value*." -#: ../../library/stdtypes.rst:4427 +#: ../../library/stdtypes.rst:4440 msgid "" "Remove ``d[key]`` from *d*. Raises a :exc:`KeyError` if *key* is not in the " "map." @@ -6283,16 +6273,16 @@ msgstr "" "Remove ``d[key]`` do *d*. Levanta uma exceção :exc:`KeyError` se *key* não " "estiver no mapeamento." -#: ../../library/stdtypes.rst:4432 +#: ../../library/stdtypes.rst:4445 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:4436 +#: ../../library/stdtypes.rst:4449 msgid "Equivalent to ``not key in d``." msgstr "Equivalente a ``not key in d``." -#: ../../library/stdtypes.rst:4440 +#: ../../library/stdtypes.rst:4453 msgid "" "Return an iterator over the keys of the dictionary. This is a shortcut for " "``iter(d.keys())``." @@ -6300,22 +6290,22 @@ msgstr "" "Retorna um iterador para as chaves do dicionário. Isso é um atalho para " "``iter(d.keys())``." -#: ../../library/stdtypes.rst:4445 +#: ../../library/stdtypes.rst:4458 msgid "Remove all items from the dictionary." msgstr "Remove todos os itens do dicionário." -#: ../../library/stdtypes.rst:4449 +#: ../../library/stdtypes.rst:4462 msgid "Return a shallow copy of the dictionary." msgstr "Retorna uma cópia superficial do dicionário." -#: ../../library/stdtypes.rst:4453 +#: ../../library/stdtypes.rst:4466 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:4455 +#: ../../library/stdtypes.rst:4468 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 " @@ -6329,7 +6319,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:4463 +#: ../../library/stdtypes.rst:4476 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 " @@ -6339,7 +6329,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:4469 +#: ../../library/stdtypes.rst:4482 msgid "" "Return a new view of the dictionary's items (``(key, value)`` pairs). See " "the :ref:`documentation of view objects `." @@ -6347,7 +6337,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:4474 +#: ../../library/stdtypes.rst:4487 msgid "" "Return a new view of the dictionary's keys. See the :ref:`documentation of " "view objects `." @@ -6355,7 +6345,7 @@ 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:4479 +#: ../../library/stdtypes.rst:4492 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 :" @@ -6365,7 +6355,7 @@ msgstr "" "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:4485 +#: ../../library/stdtypes.rst:4498 msgid "" "Remove and return a ``(key, value)`` pair from the dictionary. Pairs are " "returned in :abbr:`LIFO (last-in, first-out)` order." @@ -6373,7 +6363,7 @@ 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:4488 +#: ../../library/stdtypes.rst:4501 msgid "" ":meth:`popitem` is useful to destructively iterate over a dictionary, as " "often used in set algorithms. If the dictionary is empty, calling :meth:" @@ -6383,7 +6373,7 @@ msgstr "" "comumente usado em algoritmos de conjunto. Se o dicionário estiver vazio, " "chamar :meth:`popitem` levanta um :exc:`KeyError`." -#: ../../library/stdtypes.rst:4492 +#: ../../library/stdtypes.rst:4505 msgid "" "LIFO order is now guaranteed. In prior versions, :meth:`popitem` would " "return an arbitrary key/value pair." @@ -6391,7 +6381,7 @@ msgstr "" "Ordem LIFO agora é garantida. Em versões anteriores, :meth:`popitem` iria " "retornar um par chave/valor arbitrário." -#: ../../library/stdtypes.rst:4498 +#: ../../library/stdtypes.rst:4511 msgid "" "Return a reverse iterator over the keys of the dictionary. This is a " "shortcut for ``reversed(d.keys())``." @@ -6399,7 +6389,7 @@ msgstr "" "Retorna um iterador revertido sobre as chaves do dicionário. Isso é um " "atalho para ``reversed(d.keys())``." -#: ../../library/stdtypes.rst:4505 +#: ../../library/stdtypes.rst:4518 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``." @@ -6408,7 +6398,7 @@ msgstr "" "valor *default* e retorna *default*. *default* por padrão usa o valor " "``None``." -#: ../../library/stdtypes.rst:4511 +#: ../../library/stdtypes.rst:4524 msgid "" "Update the dictionary with the key/value pairs from *other*, overwriting " "existing keys. Return ``None``." @@ -6416,7 +6406,7 @@ msgstr "" "Atualiza o dicionário com os pares chave/valor existente em *other*, " "sobrescrevendo chaves existentes. Retorna ``None``." -#: ../../library/stdtypes.rst:4514 +#: ../../library/stdtypes.rst:4527 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 " @@ -6428,7 +6418,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:4521 +#: ../../library/stdtypes.rst:4534 msgid "" "Return a new view of the dictionary's values. See the :ref:`documentation " "of view objects `." @@ -6436,7 +6426,7 @@ 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:4524 +#: ../../library/stdtypes.rst:4537 msgid "" "An equality comparison between one ``dict.values()`` view and another will " "always return ``False``. This also applies when comparing ``dict.values()`` " @@ -6446,7 +6436,7 @@ msgstr "" "sempre irá retornar ``False``. Isso também se aplica ao comparar ``dict." "values()`` entre si::" -#: ../../library/stdtypes.rst:4534 +#: ../../library/stdtypes.rst:4547 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 " @@ -6456,7 +6446,7 @@ msgstr "" "*other*, que devem ser dicionários. Os valores de *other* têm prioridade " "quando *d* e *other* compartilham chaves." -#: ../../library/stdtypes.rst:4542 +#: ../../library/stdtypes.rst:4555 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 " @@ -6467,7 +6457,7 @@ msgstr "" "chave/valor. Os valores de *other* têm prioridade quando *d* e *other* " "compartilham chaves." -#: ../../library/stdtypes.rst:4548 +#: ../../library/stdtypes.rst:4561 msgid "" "Dictionaries compare equal if and only if they have the same ``(key, " "value)`` pairs (regardless of ordering). Order comparisons ('<', '<=', '>=', " @@ -6477,7 +6467,7 @@ msgstr "" "(independente de ordem). Comparações de ordem ('<', '<=', '>=', '>') " "levantam :exc:`TypeError`." -#: ../../library/stdtypes.rst:4552 +#: ../../library/stdtypes.rst:4565 msgid "" "Dictionaries preserve insertion order. Note that updating a key does not " "affect the order. Keys added after deletion are inserted at the end. ::" @@ -6485,7 +6475,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:4570 +#: ../../library/stdtypes.rst:4583 msgid "" "Dictionary order is guaranteed to be insertion order. This behavior was an " "implementation detail of CPython from 3.6." @@ -6494,15 +6484,15 @@ msgstr "" "comportamento era um detalhe de implementação do CPython a partir da versão " "3.6." -#: ../../library/stdtypes.rst:4574 +#: ../../library/stdtypes.rst:4587 msgid "Dictionaries and dictionary views are reversible. ::" msgstr "Dicionários e visões de dicionários são reversíveis. ::" -#: ../../library/stdtypes.rst:4586 +#: ../../library/stdtypes.rst:4599 msgid "Dictionaries are now reversible." msgstr "Dicionários agora são reversíveis." -#: ../../library/stdtypes.rst:4591 +#: ../../library/stdtypes.rst:4604 msgid "" ":class:`types.MappingProxyType` can be used to create a read-only view of a :" "class:`dict`." @@ -6510,11 +6500,11 @@ msgstr "" ":class:`types.MappingProxyType` podem ser usados para criar uma visão " "somente leitura de um :class:`dict`." -#: ../../library/stdtypes.rst:4598 +#: ../../library/stdtypes.rst:4611 msgid "Dictionary view objects" msgstr "Objetos de visão de dicionário" -#: ../../library/stdtypes.rst:4600 +#: ../../library/stdtypes.rst:4613 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 " @@ -6526,7 +6516,7 @@ msgstr "" "entradas do dicionário, o que significa que quando o dicionário muda, a " "visão reflete essas mudanças." -#: ../../library/stdtypes.rst:4605 +#: ../../library/stdtypes.rst:4618 msgid "" "Dictionary views can be iterated over to yield their respective data, and " "support membership tests:" @@ -6534,11 +6524,11 @@ msgstr "" "Visões de dicionários podem ser iteradas para apresentar seus respectivos " "dados, e suportar testes de existência:" -#: ../../library/stdtypes.rst:4610 +#: ../../library/stdtypes.rst:4623 msgid "Return the number of entries in the dictionary." msgstr "Retorna o número de entradas no dicionário." -#: ../../library/stdtypes.rst:4614 +#: ../../library/stdtypes.rst:4627 msgid "" "Return an iterator over the keys, values or items (represented as tuples of " "``(key, value)``) in the dictionary." @@ -6546,7 +6536,7 @@ msgstr "" "Retorna um iterador sobre as chaves, valores ou itens (representados como " "tuplas de ``(key, value)``) no dicionário." -#: ../../library/stdtypes.rst:4617 +#: ../../library/stdtypes.rst:4630 msgid "" "Keys and values are iterated over in insertion order. This allows the " "creation of ``(value, key)`` pairs using :func:`zip`: ``pairs = zip(d." @@ -6558,7 +6548,7 @@ msgstr "" "keys())``. Outra maneira de criar a mesma lista é ``pairs = [(v, k) for (k, " "v) in d.items()]``." -#: ../../library/stdtypes.rst:4622 +#: ../../library/stdtypes.rst:4635 msgid "" "Iterating views while adding or deleting entries in the dictionary may raise " "a :exc:`RuntimeError` or fail to iterate over all entries." @@ -6566,11 +6556,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:4625 +#: ../../library/stdtypes.rst:4638 msgid "Dictionary order is guaranteed to be insertion order." msgstr "Ordem do dicionário é garantida como a ordem de inserção." -#: ../../library/stdtypes.rst:4630 +#: ../../library/stdtypes.rst:4643 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)." @@ -6578,7 +6568,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:4635 +#: ../../library/stdtypes.rst:4648 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." @@ -6586,11 +6576,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:4638 +#: ../../library/stdtypes.rst:4651 msgid "Dictionary views are now reversible." msgstr "Visões de dicionário agora são reversíveis." -#: ../../library/stdtypes.rst:4643 +#: ../../library/stdtypes.rst:4656 msgid "" "Return a :class:`types.MappingProxyType` that wraps the original dictionary " "to which the view refers." @@ -6598,33 +6588,26 @@ msgstr "" "Retorna um :class:`types.MappingProxyType` que envolve o dicionário original " "ao qual a visão se refere." -#: ../../library/stdtypes.rst:4648 +#: ../../library/stdtypes.rst:4661 msgid "" -"Keys views are set-like since their entries are unique and 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 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:4655 +"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:4668 msgid "An example of dictionary view usage::" msgstr "Um exemplo da utilização da visualização de dicionário::" -#: ../../library/stdtypes.rst:4696 +#: ../../library/stdtypes.rst:4709 msgid "Context Manager Types" msgstr "Tipos de Gerenciador de Contexto" -#: ../../library/stdtypes.rst:4703 +#: ../../library/stdtypes.rst:4716 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 " @@ -6638,7 +6621,7 @@ msgstr "" "inicializado antes da execução das instruções, e encerrado quando as " "instruções terminam:" -#: ../../library/stdtypes.rst:4711 +#: ../../library/stdtypes.rst:4724 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 " @@ -6650,7 +6633,7 @@ msgstr "" "método é ligado ao identificador na cláusula :keyword:`!as` das instruções :" "keyword:`with` usando este gerenciador de contexto." -#: ../../library/stdtypes.rst:4716 +#: ../../library/stdtypes.rst:4729 msgid "" "An example of a context manager that returns itself is a :term:`file " "object`. File objects return themselves from __enter__() to allow :func:" @@ -6661,7 +6644,7 @@ msgstr "" "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:4720 +#: ../../library/stdtypes.rst:4733 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 " @@ -6677,7 +6660,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:4730 +#: ../../library/stdtypes.rst:4743 msgid "" "Exit the runtime context and return a Boolean flag indicating if any " "exception that occurred should be suppressed. If an exception occurred while " @@ -6692,7 +6675,7 @@ msgstr "" "(situação da pilha de execução). Caso contrário, os três argumentos são " "``None``." -#: ../../library/stdtypes.rst:4735 +#: ../../library/stdtypes.rst:4748 msgid "" "Returning a true value from this method will cause the :keyword:`with` " "statement to suppress the exception and continue execution with the " @@ -6709,7 +6692,7 @@ msgstr "" "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:4742 +#: ../../library/stdtypes.rst:4755 msgid "" "The exception passed in should never be reraised explicitly - instead, this " "method should return a false value to indicate that the method completed " @@ -6723,7 +6706,7 @@ msgstr "" "Isso permite ao código do gerenciador de contexto facilmente detectar se um " "método :meth:`__exit__` realmente falhou ou não." -#: ../../library/stdtypes.rst:4748 +#: ../../library/stdtypes.rst:4761 msgid "" "Python defines several context managers to support easy thread " "synchronisation, prompt closure of files or other objects, and simpler " @@ -6738,23 +6721,24 @@ msgstr "" "implementação e do protocolo do gerenciador de contexto. Veja o módulo :mod:" "`contextlib` para alguns exemplos." -#: ../../library/stdtypes.rst:4754 +#: ../../library/stdtypes.rst:4767 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:" -"`__enter__` and :meth:`__exit__` methods, rather than the iterator produced " -"by an undecorated generator function." +"`~contextmanager.__enter__` and :meth:`~contextmanager.__exit__` methods, " +"rather than the iterator produced by an undecorated generator function." msgstr "" -"Os :term:`geradores ` do Python e o decorador :class:`contextlib." -"contextmanager` fornecem uma maneira conveniente de implementar estes " -"protocolos. Se uma função geradora é decorada com o decorador :class:" -"`contextlib.contextmanager`, ela irá retornar um gerenciador de contexto que " -"implementa os métodos :meth:`__enter__` e :meth:`__exit__` necessários, ao " -"invés do iterador produzido por uma função geradora não decorada." +"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:4761 +#: ../../library/stdtypes.rst:4774 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 " @@ -6769,7 +6753,7 @@ msgstr "" "contexto em tempo de execução, a sobrecarga na pesquisa de dicionário em uma " "única classe é negligenciável." -#: ../../library/stdtypes.rst:4769 +#: ../../library/stdtypes.rst:4782 msgid "" "Type Annotation Types --- :ref:`Generic Alias `, :ref:" "`Union `" @@ -6777,7 +6761,7 @@ msgstr "" "Tipos de anotação de tipo --- :ref:`Apelido genérico `, :" "ref:`União `" -#: ../../library/stdtypes.rst:4774 +#: ../../library/stdtypes.rst:4787 msgid "" "The core built-in types for :term:`type annotations ` are :ref:" "`Generic Alias ` and :ref:`Union `." @@ -6786,77 +6770,118 @@ msgstr "" "são :ref:`Apelido genérico ` e :ref:`União `." -#: ../../library/stdtypes.rst:4781 +#: ../../library/stdtypes.rst:4794 msgid "Generic Alias Type" msgstr "Tipo Generic Alias" -#: ../../library/stdtypes.rst:4787 +#: ../../library/stdtypes.rst:4800 msgid "" -"``GenericAlias`` objects are created by subscripting a class (usually a " -"container), such as ``list[int]``. They are intended primarily for :term:" -"`type annotations `." +"``GenericAlias`` objects are generally created by :ref:`subscripting " +"` a class. They are most often used with :ref:`container " +"classes `, such as :class:`list` or :class:`dict`. For " +"example, ``list[int]`` is a ``GenericAlias`` object created by subscripting " +"the ``list`` class with the argument :class:`int`. ``GenericAlias`` objects " +"are intended primarily for use with :term:`type annotations `." msgstr "" -"Objetos ``GenericAlias`` são criados subscrevendo uma classe (usualmente um " -"contêiner), como ``list[int]``. Eles são destinados principalmente para :" -"term:`anotações de tipo `." +"Objetos ``GenericAlias`` são geralmente criados :ref:`subscrevendo " +"` uma classe. Eles são mais usados com :ref:`classes " +"contêineres `, como :class:`list` ou :class:`dict`. Por " +"exemplo, ``list[int]`` é um objeto ``GenericAlias`` criado pela subscrição " +"da classe ``list`` com o argumento :class:`int`. Objetos ``GenericAlias`` " +"são destinados principalmente para uso com :term:`anotações de tipo " +"`." -#: ../../library/stdtypes.rst:4791 +#: ../../library/stdtypes.rst:4810 msgid "" -"Usually, the :ref:`subscription ` of container objects calls " -"the method :meth:`__getitem__` of the object. However, the subscription of " -"some containers' classes may call the classmethod :meth:`__class_getitem__` " -"of the class instead. The classmethod :meth:`__class_getitem__` should " -"return a ``GenericAlias`` object." +"It is generally only possible to subscript a class if the class implements " +"the special method :meth:`~object.__class_getitem__`." msgstr "" -"Usualmente, a :ref:`subscrição ` de objetos contêiner chama o " -"método :meth:`__getitem__` do objeto. Entretanto, a subscrição de algumas " -"classes de contêineres pode chamar o método de classe :meth:" -"`__class_getitem__` da classe ao invés. O método de classe :meth:" -"`__class_getitem__` deve retornar um objeto ``GenericAlias``." +"Geralmente só é possível subscrever uma classe se a classe implementar o " +"método especial :meth:`~object.__class_getitem__`." -#: ../../library/stdtypes.rst:4798 +#: ../../library/stdtypes.rst:4813 msgid "" -"If the :meth:`__getitem__` of the class' metaclass is present, it will take " -"precedence over the :meth:`__class_getitem__` defined in the class (see :pep:" -"`560` for more details)." +"A ``GenericAlias`` object acts as a proxy for a :term:`generic type`, " +"implementing *parameterized generics*." msgstr "" -"Se o método :meth:`__getitem__` da metaclasse da classe estiver presente, " -"ele terá precedência sobre o método :meth:`__class_getitem__` definido na " -"classe (veja :pep:`560` para mais detalhes)." +"Um objeto ``GenericAlias`` atua como um proxy para um :term:`tipo genérico`, " +"implementando *genéricos parametrizados*." -#: ../../library/stdtypes.rst:4802 +#: ../../library/stdtypes.rst:4816 msgid "" -"The ``GenericAlias`` object acts as a proxy for :term:`generic types " -"`, implementing *parameterized generics* - a specific instance " -"of a generic which provides the types for container elements." +"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`." msgstr "" -"O objeto ``GenericAlias`` funciona como um intermediário para :term:`tipos " -"genéricos `, implementando *genéricos parametrizados* - uma " -"instância específica de um genérico, o qual fornece os tipos para elementos " -"de contêiner." +"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:4806 +#: ../../library/stdtypes.rst:4822 msgid "" -"The user-exposed type for the ``GenericAlias`` object can be accessed from :" -"class:`types.GenericAlias` and used for :func:`isinstance` checks. It can " -"also be used to create ``GenericAlias`` objects directly." +"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 " +"often indicate the return type(s) of one or more methods defined on an " +"object. For example, :mod:`regular expressions ` can be used on both " +"the :class:`str` data type and the :class:`bytes` data type:" msgstr "" -"O tipo exposto pelo usuário para o objeto ``GenericAlias`` pode ser acessado " -"a partir de :class:`types.GenericAlias` e usado por verificações de :func:" -"`isinstance`. Ele também pode ser usado para criar objetos ``GenericAlias`` " -"diretamente." +"Para uma classe que define :meth:`~object.__class_getitem__`, mas não é um " +"contêiner, o(s) argumento(s) fornecido(s) para uma subscrição da classe " +"geralmente indicará o(s) tipo(s) de retorno de um ou mais métodos definidos " +"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:4812 +#: ../../library/stdtypes.rst:4828 msgid "" -"Creates a ``GenericAlias`` representing a type ``T`` containing elements of " -"types *X*, *Y*, and more depending on the ``T`` used. For example, a " -"function expecting a :class:`list` containing :class:`float` elements::" +"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 " +"both be of type :class:`str`. We can represent this kind of object in type " +"annotations with the ``GenericAlias`` ``re.Match[str]``." msgstr "" -"Cria um ``GenericAlias`` representando um tipo ``T`` contendo elementos dos " -"tipos *X*, *Y*, e mais dependendo do ``T`` usados. Por exemplo, uma função " +"Se ``x = re.search('foo', 'foo')``, ``x`` será um objeto :ref:`re.Match " +"` onde os valores de retorno de ``x.group(0)`` e ``x[0]`` " +"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:4834 +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 " +"annotations, we would represent this variety of :ref:`re.Match ` objects with ``re.Match[bytes]``." +msgstr "" +"Se ``y = re.search(b'bar', b'bar')`` (observe o ``b`` para :class:`bytes`), " +"``y`` também será uma instância de ``re.Match``, mas os valores de retorno " +"de ``y.group(0)`` e ``y[0]`` serão ambos do tipo :class:`bytes`. Em " +"anotações de tipo, representaríamos esta variedade de objetos :ref:`re.Match " +"` com ``re.Match[bytes]``." + +#: ../../library/stdtypes.rst:4840 +msgid "" +"``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." + +#: ../../library/stdtypes.rst:4846 +msgid "" +"Creates a ``GenericAlias`` representing a type ``T`` parameterized by types " +"*X*, *Y*, and more depending on the ``T`` used. For example, a function " +"expecting a :class:`list` containing :class:`float` elements::" +msgstr "" +"Cria um ``GenericAlias`` representando um tipo ``T`` parametrizado por tipos " +"*X*, *Y* e mais, dependendo do ``T`` usados. Por exemplo, uma função " "esperando uma :class:`list` contendo elementos :class:`float`::" -#: ../../library/stdtypes.rst:4820 +#: ../../library/stdtypes.rst:4854 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 " @@ -6869,7 +6894,7 @@ msgstr "" "espera um ``dict`` com chaves do tipo :class:`str` e valores do tipo :class:" "`int`::" -#: ../../library/stdtypes.rst:4828 +#: ../../library/stdtypes.rst:4862 msgid "" "The builtin functions :func:`isinstance` and :func:`issubclass` do not " "accept ``GenericAlias`` types for their second argument::" @@ -6877,21 +6902,21 @@ msgstr "" "As funções embutidas :func:`isinstance` e :func:`issubclass` não aceitam " "tipos ``GenericAlias`` para o seu segundo argumento::" -#: ../../library/stdtypes.rst:4836 +#: ../../library/stdtypes.rst:4870 msgid "" "The Python runtime does not enforce :term:`type annotations `. " -"This extends to generic types and their type parameters. When creating an " -"object from a ``GenericAlias``, container elements are not checked against " -"their type. For example, the following code is discouraged, but will run " -"without errors::" +"This extends to generic types and their type parameters. When creating a " +"container object from a ``GenericAlias``, the elements in the container are " +"not checked against their type. For example, the following code is " +"discouraged, but will run without errors::" msgstr "" "O runtime Python não obriga :term:`anotações de tipo `. Isso se " -"aplica a tipos genéricos e seus parâmetros tipados. Ao criar um objeto a " -"partir de um ``GenericAlias``, elementos de contêiner não são verificados " -"contra o seu tipo. Por exemplo, o seguinte código é desencorajado, mas irá " -"executar sem erros::" +"aplica a tipos genéricos e seus parâmetros tipados. Ao criar um objeto " +"contêiner a partir de um ``GenericAlias``, os elementos no contêiner não são " +"verificados pelo seu tipo. Por exemplo, o seguinte código é desencorajado, " +"mas irá executar sem erros::" -#: ../../library/stdtypes.rst:4846 +#: ../../library/stdtypes.rst:4880 msgid "" "Furthermore, parameterized generics erase type parameters during object " "creation::" @@ -6899,7 +6924,7 @@ msgstr "" "Além disso, genéricos parametrizados removem parâmetros tipados durante a " "criação do objeto::" -#: ../../library/stdtypes.rst:4857 +#: ../../library/stdtypes.rst:4891 msgid "" "Calling :func:`repr` or :func:`str` on a generic shows the parameterized " "type::" @@ -6907,211 +6932,278 @@ msgstr "" "Chamar :func:`repr` ou :func:`str` sobre um genérico mostra o tipo " "parametrizado::" -#: ../../library/stdtypes.rst:4865 +#: ../../library/stdtypes.rst:4899 msgid "" -"The :meth:`__getitem__` method of generics will raise an exception to " -"disallow mistakes like ``dict[str][str]``::" +"The :meth:`~object.__getitem__` method of generic containers will raise an " +"exception to disallow mistakes like ``dict[str][str]``::" msgstr "" -"O método :meth:`__getitem__` de genéricos irá levantar uma exceção para " -"proibir erros como ``dict[str][str]``::" +"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:4873 +#: ../../library/stdtypes.rst:4907 msgid "" "However, such expressions are valid when :ref:`type variables ` " "are used. The index must have as many elements as there are type variable " -"items in the ``GenericAlias`` object's :attr:`__args__ `. ::" +"items in the ``GenericAlias`` object's :attr:`~genericalias.__args__`. ::" msgstr "" -"Entretanto, tais expressões são válidas quando :ref:`variáveis de tipo " -"` são usadas. O índice deve ter tantos elementos quanto itens de " -"variáveis de tipo existentes no atributo :attr:`__args__ ` do objeto ``GenericAlias``. ::" +"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__`. ::" -#: ../../library/stdtypes.rst:4884 -msgid "Standard Generic Collections" -msgstr "Coleções genéricas padrão" +#: ../../library/stdtypes.rst:4918 +msgid "Standard Generic Classes" +msgstr "Classes genéricas padrão" -#: ../../library/stdtypes.rst:4886 -msgid "These standard library collections support parameterized generics." +#: ../../library/stdtypes.rst:4920 +msgid "" +"The following standard library classes support parameterized generics. This " +"list is non-exhaustive." msgstr "" -"Estas coleções de bibliotecas padrão suportam genéricos parametrizados." +"As seguintes classes de biblioteca padrão oferecem suporte a genéricos " +"parametrizados. Esta lista não é exaustiva." -#: ../../library/stdtypes.rst:4888 +#: ../../library/stdtypes.rst:4923 msgid ":class:`tuple`" msgstr ":class:`tuple`" -#: ../../library/stdtypes.rst:4889 +#: ../../library/stdtypes.rst:4924 msgid ":class:`list`" msgstr ":class:`list`" -#: ../../library/stdtypes.rst:4890 +#: ../../library/stdtypes.rst:4925 msgid ":class:`dict`" msgstr ":class:`dict`" -#: ../../library/stdtypes.rst:4891 +#: ../../library/stdtypes.rst:4926 msgid ":class:`set`" msgstr ":class:`set`" -#: ../../library/stdtypes.rst:4892 +#: ../../library/stdtypes.rst:4927 msgid ":class:`frozenset`" msgstr ":class:`frozenset`" -#: ../../library/stdtypes.rst:4893 +#: ../../library/stdtypes.rst:4928 msgid ":class:`type`" msgstr ":class:`type`" -#: ../../library/stdtypes.rst:4894 +#: ../../library/stdtypes.rst:4929 msgid ":class:`collections.deque`" msgstr ":class:`collections.deque`" -#: ../../library/stdtypes.rst:4895 +#: ../../library/stdtypes.rst:4930 msgid ":class:`collections.defaultdict`" msgstr ":class:`collections.defaultdict`" -#: ../../library/stdtypes.rst:4896 +#: ../../library/stdtypes.rst:4931 msgid ":class:`collections.OrderedDict`" msgstr ":class:`collections.OrderedDict`" -#: ../../library/stdtypes.rst:4897 +#: ../../library/stdtypes.rst:4932 msgid ":class:`collections.Counter`" msgstr ":class:`collections.Counter`" -#: ../../library/stdtypes.rst:4898 +#: ../../library/stdtypes.rst:4933 msgid ":class:`collections.ChainMap`" msgstr ":class:`collections.ChainMap`" -#: ../../library/stdtypes.rst:4899 +#: ../../library/stdtypes.rst:4934 msgid ":class:`collections.abc.Awaitable`" msgstr ":class:`collections.abc.Awaitable`" -#: ../../library/stdtypes.rst:4900 +#: ../../library/stdtypes.rst:4935 msgid ":class:`collections.abc.Coroutine`" msgstr ":class:`collections.abc.Coroutine`" -#: ../../library/stdtypes.rst:4901 +#: ../../library/stdtypes.rst:4936 msgid ":class:`collections.abc.AsyncIterable`" msgstr ":class:`collections.abc.AsyncIterable`" -#: ../../library/stdtypes.rst:4902 +#: ../../library/stdtypes.rst:4937 msgid ":class:`collections.abc.AsyncIterator`" msgstr ":class:`collections.abc.AsyncIterator`" -#: ../../library/stdtypes.rst:4903 +#: ../../library/stdtypes.rst:4938 msgid ":class:`collections.abc.AsyncGenerator`" msgstr ":class:`collections.abc.AsyncGenerator`" -#: ../../library/stdtypes.rst:4904 +#: ../../library/stdtypes.rst:4939 msgid ":class:`collections.abc.Iterable`" msgstr ":class:`collections.abc.Iterable`" -#: ../../library/stdtypes.rst:4905 +#: ../../library/stdtypes.rst:4940 msgid ":class:`collections.abc.Iterator`" msgstr ":class:`collections.abc.Iterator`" -#: ../../library/stdtypes.rst:4906 +#: ../../library/stdtypes.rst:4941 msgid ":class:`collections.abc.Generator`" msgstr ":class:`collections.abc.Generator`" -#: ../../library/stdtypes.rst:4907 +#: ../../library/stdtypes.rst:4942 msgid ":class:`collections.abc.Reversible`" msgstr ":class:`collections.abc.Reversible`" -#: ../../library/stdtypes.rst:4908 +#: ../../library/stdtypes.rst:4943 msgid ":class:`collections.abc.Container`" msgstr ":class:`collections.abc.Container`" -#: ../../library/stdtypes.rst:4909 +#: ../../library/stdtypes.rst:4944 msgid ":class:`collections.abc.Collection`" msgstr ":class:`collections.abc.Collection`" -#: ../../library/stdtypes.rst:4910 +#: ../../library/stdtypes.rst:4945 msgid ":class:`collections.abc.Callable`" msgstr ":class:`collections.abc.Callable`" -#: ../../library/stdtypes.rst:4911 +#: ../../library/stdtypes.rst:4946 msgid ":class:`collections.abc.Set`" msgstr ":class:`collections.abc.Set`" -#: ../../library/stdtypes.rst:4912 +#: ../../library/stdtypes.rst:4947 msgid ":class:`collections.abc.MutableSet`" msgstr ":class:`collections.abc.MutableSet`" -#: ../../library/stdtypes.rst:4913 +#: ../../library/stdtypes.rst:4948 msgid ":class:`collections.abc.Mapping`" msgstr ":class:`collections.abc.Mapping`" -#: ../../library/stdtypes.rst:4914 +#: ../../library/stdtypes.rst:4949 msgid ":class:`collections.abc.MutableMapping`" msgstr ":class:`collections.abc.MutableMapping`" -#: ../../library/stdtypes.rst:4915 +#: ../../library/stdtypes.rst:4950 msgid ":class:`collections.abc.Sequence`" msgstr ":class:`collections.abc.Sequence`" -#: ../../library/stdtypes.rst:4916 +#: ../../library/stdtypes.rst:4951 msgid ":class:`collections.abc.MutableSequence`" msgstr ":class:`collections.abc.MutableSequence`" -#: ../../library/stdtypes.rst:4917 +#: ../../library/stdtypes.rst:4952 msgid ":class:`collections.abc.ByteString`" msgstr ":class:`collections.abc.ByteString`" -#: ../../library/stdtypes.rst:4918 +#: ../../library/stdtypes.rst:4953 msgid ":class:`collections.abc.MappingView`" msgstr ":class:`collections.abc.MappingView`" -#: ../../library/stdtypes.rst:4919 +#: ../../library/stdtypes.rst:4954 msgid ":class:`collections.abc.KeysView`" msgstr ":class:`collections.abc.KeysView`" -#: ../../library/stdtypes.rst:4920 +#: ../../library/stdtypes.rst:4955 msgid ":class:`collections.abc.ItemsView`" msgstr ":class:`collections.abc.ItemsView`" -#: ../../library/stdtypes.rst:4921 +#: ../../library/stdtypes.rst:4956 msgid ":class:`collections.abc.ValuesView`" msgstr ":class:`collections.abc.ValuesView`" -#: ../../library/stdtypes.rst:4922 +#: ../../library/stdtypes.rst:4957 msgid ":class:`contextlib.AbstractContextManager`" msgstr ":class:`contextlib.AbstractContextManager`" -#: ../../library/stdtypes.rst:4923 +#: ../../library/stdtypes.rst:4958 msgid ":class:`contextlib.AbstractAsyncContextManager`" msgstr ":class:`contextlib.AbstractAsyncContextManager`" -#: ../../library/stdtypes.rst:4924 +#: ../../library/stdtypes.rst:4959 +msgid ":class:`dataclasses.Field`" +msgstr ":class:`dataclasses.Field`" + +#: ../../library/stdtypes.rst:4960 +msgid ":class:`functools.cached_property`" +msgstr ":class:`functools.cached_property`" + +#: ../../library/stdtypes.rst:4961 +msgid ":class:`functools.partialmethod`" +msgstr ":class:`functools.partialmethod`" + +#: ../../library/stdtypes.rst:4962 +msgid ":class:`os.PathLike`" +msgstr ":class:`os.PathLike`" + +#: ../../library/stdtypes.rst:4963 +msgid ":class:`queue.LifoQueue`" +msgstr ":class:`queue.LifoQueue`" + +#: ../../library/stdtypes.rst:4964 +msgid ":class:`queue.Queue`" +msgstr ":class:`queue.Queue`" + +#: ../../library/stdtypes.rst:4965 +msgid ":class:`queue.PriorityQueue`" +msgstr ":class:`queue.PriorityQueue`" + +#: ../../library/stdtypes.rst:4966 +msgid ":class:`queue.SimpleQueue`" +msgstr ":class:`queue.SimpleQueue`" + +#: ../../library/stdtypes.rst:4967 msgid ":ref:`re.Pattern `" msgstr ":ref:`re.Pattern `" -#: ../../library/stdtypes.rst:4925 +#: ../../library/stdtypes.rst:4968 msgid ":ref:`re.Match `" msgstr ":ref:`re.Match `" -#: ../../library/stdtypes.rst:4929 -msgid "Special Attributes of Generic Alias" -msgstr "Atributos especiais de Generic Alias" +#: ../../library/stdtypes.rst:4969 +msgid ":class:`shelve.BsdDbShelf`" +msgstr ":class:`shelve.BsdDbShelf`" -#: ../../library/stdtypes.rst:4931 +#: ../../library/stdtypes.rst:4970 +msgid ":class:`shelve.DbfilenameShelf`" +msgstr ":class:`shelve.DbfilenameShelf`" + +#: ../../library/stdtypes.rst:4971 +msgid ":class:`shelve.Shelf`" +msgstr ":class:`shelve.Shelf`" + +#: ../../library/stdtypes.rst:4972 +msgid ":class:`types.MappingProxyType`" +msgstr ":class:`types.MappingProxyType`" + +#: ../../library/stdtypes.rst:4973 +msgid ":class:`weakref.WeakKeyDictionary`" +msgstr ":class:`weakref.WeakKeyDictionary`" + +#: ../../library/stdtypes.rst:4974 +msgid ":class:`weakref.WeakMethod`" +msgstr ":class:`weakref.WeakMethod`" + +#: ../../library/stdtypes.rst:4975 +msgid ":class:`weakref.WeakSet`" +msgstr ":class:`weakref.WeakSet`" + +#: ../../library/stdtypes.rst:4976 +msgid ":class:`weakref.WeakValueDictionary`" +msgstr ":class:`weakref.WeakValueDictionary`" + +#: ../../library/stdtypes.rst:4981 +msgid "Special Attributes of ``GenericAlias`` objects" +msgstr "Atributos especiais de objetos ``GenericAlias``" + +#: ../../library/stdtypes.rst:4983 msgid "All parameterized generics implement special read-only attributes." msgstr "" "Todos os genéricos parametrizados implementam atributos especiais somente " "leitura." -#: ../../library/stdtypes.rst:4935 +#: ../../library/stdtypes.rst:4987 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:4943 +#: ../../library/stdtypes.rst:4995 msgid "" "This attribute is a :class:`tuple` (possibly of length 1) of generic types " -"passed to the original :meth:`__class_getitem__` of the generic container::" +"passed to the original :meth:`~object.__class_getitem__` of the generic " +"class::" msgstr "" "Este atributo é uma :class:`tuple` (possivelmente de comprimento 1) de tipos " -"genéricos passado para o método :meth:`__class_getitem__` original do " -"contêiner genérico::" +"genéricos passado para o método :meth:`~object.__class_getitem__` original " +"da classe genérica::" -#: ../../library/stdtypes.rst:4953 +#: ../../library/stdtypes.rst:5005 msgid "" "This attribute is a lazily computed tuple (possibly empty) of unique type " "variables found in ``__args__``::" @@ -7119,7 +7211,7 @@ msgstr "" "O atributo é uma tupla computada preguiçosamente (possivelmente vazia) de " "variáveis de tipo único encontradas em ``__args__``::" -#: ../../library/stdtypes.rst:4964 +#: ../../library/stdtypes.rst:5016 msgid "" "A ``GenericAlias`` object with :class:`typing.ParamSpec` parameters may not " "have correct ``__parameters__`` after substitution because :class:`typing." @@ -7129,24 +7221,50 @@ msgstr "" "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:4970 -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:5023 +msgid ":pep:`484` - Type Hints" +msgstr ":pep:`484` - Dicas de tipo" -#: ../../library/stdtypes.rst:4971 -msgid ":meth:`__class_getitem__` -- Used to implement parameterized generics." +#: ../../library/stdtypes.rst:5023 +msgid "Introducing Python's framework for type annotations." +msgstr "Apresentando a estrutura do Python para anotações de tipo." + +#: ../../library/stdtypes.rst:5028 +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:5026 +msgid "" +"Introducing the ability to natively parameterize standard-library classes, " +"provided they implement the special class method :meth:`~object." +"__class_getitem__`." msgstr "" -":meth:`__class_getitem__` -- Usado para implementar genéricos parametrizados." +"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__`." -#: ../../library/stdtypes.rst:4972 -msgid ":ref:`generics` -- Generics in the :mod:`typing` module." -msgstr ":ref:`Genéricos ` -- Genéricos no módulo :mod:`typing`." +#: ../../library/stdtypes.rst:5031 +msgid "" +":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:4980 +#: ../../library/stdtypes.rst:5031 +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." + +#: ../../library/stdtypes.rst:5040 msgid "Union Type" msgstr "Tipo União" -#: ../../library/stdtypes.rst:4986 +#: ../../library/stdtypes.rst:5046 msgid "" "A union object holds the value of the ``|`` (bitwise or) operation on " "multiple :ref:`type objects `. These types are intended " @@ -7160,7 +7278,7 @@ msgstr "" "tipo de união habilita a sintaxe de sugestão de tipo mais limpo em " "comparação com :data:`typing.Union`." -#: ../../library/stdtypes.rst:4993 +#: ../../library/stdtypes.rst:5053 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 " @@ -7172,34 +7290,34 @@ msgstr "" "a seguinte função espera um argumento do tipo :class:`int` ou :class:" "`float`::" -#: ../../library/stdtypes.rst:5003 +#: ../../library/stdtypes.rst:5063 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:5005 +#: ../../library/stdtypes.rst:5065 msgid "Unions of unions are flattened::" msgstr "Uniões de uniões são achatadas::" -#: ../../library/stdtypes.rst:5009 +#: ../../library/stdtypes.rst:5069 msgid "Redundant types are removed::" msgstr "Tipos redundantes são removidos::" -#: ../../library/stdtypes.rst:5013 +#: ../../library/stdtypes.rst:5073 msgid "When comparing unions, the order is ignored::" msgstr "Ao comparar uniões, a ordem é ignorada::" -#: ../../library/stdtypes.rst:5017 +#: ../../library/stdtypes.rst:5077 msgid "It is compatible with :data:`typing.Union`::" msgstr "É compatível com :data:`typing.Union`::" -#: ../../library/stdtypes.rst:5021 +#: ../../library/stdtypes.rst:5081 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:5028 +#: ../../library/stdtypes.rst:5088 msgid "" "Calls to :func:`isinstance` and :func:`issubclass` are also supported with a " "union object::" @@ -7207,7 +7325,7 @@ msgstr "" "Chamadas para :func:`isinstance` e :func:`issubclass` também são suportados " "com um objeto união::" -#: ../../library/stdtypes.rst:5034 +#: ../../library/stdtypes.rst:5094 msgid "" "However, union objects containing :ref:`parameterized generics ` cannot be used::" @@ -7215,7 +7333,7 @@ msgstr "" "No entanto, objetos união contendo :ref:`genéricos parametrizados ` não podem ser usados::" -#: ../../library/stdtypes.rst:5042 +#: ../../library/stdtypes.rst:5102 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 " @@ -7225,7 +7343,7 @@ msgstr "" "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:5055 +#: ../../library/stdtypes.rst:5115 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 " @@ -7235,15 +7353,15 @@ msgstr "" "sintaxe ``X | Y``. Se uma metaclasse implementa :meth:`__or__`, a União pode " "substituí-la::" -#: ../../library/stdtypes.rst:5073 +#: ../../library/stdtypes.rst:5133 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:5081 +#: ../../library/stdtypes.rst:5141 msgid "Other Built-in Types" msgstr "Outros tipos embutidos" -#: ../../library/stdtypes.rst:5083 +#: ../../library/stdtypes.rst:5143 msgid "" "The interpreter supports several other kinds of objects. Most of these " "support only one or two operations." @@ -7251,11 +7369,11 @@ msgstr "" "O interpretador suporta diversos outros tipos de objetos. Maior parte " "desses, suporta apenas uma ou duas operações." -#: ../../library/stdtypes.rst:5090 +#: ../../library/stdtypes.rst:5150 msgid "Modules" msgstr "Módulos" -#: ../../library/stdtypes.rst:5092 +#: ../../library/stdtypes.rst:5152 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 " @@ -7273,7 +7391,7 @@ msgstr "" "exista, ao invés disso requer uma *definição* (externa) de um módulo chamado " "*foo* em algum lugar.)" -#: ../../library/stdtypes.rst:5099 +#: ../../library/stdtypes.rst:5159 msgid "" "A special attribute of every module is :attr:`~object.__dict__`. This is the " "dictionary containing the module's symbol table. Modifying this dictionary " @@ -7291,7 +7409,7 @@ msgstr "" "``1``, mas você não consegue escrever ``m.__dict__ = {}``). Modificar :attr:" "`~object.__dict__` diretamente não é recomendado." -#: ../../library/stdtypes.rst:5107 +#: ../../library/stdtypes.rst:5167 msgid "" "Modules built into the interpreter are written like this: ````. If loaded from a file, they are written as ````. Se carregados a partir de um arquivo, eles são escritos " "como ````." -#: ../../library/stdtypes.rst:5115 +#: ../../library/stdtypes.rst:5175 msgid "Classes and Class Instances" msgstr "Classes e Instâncias de Classes" -#: ../../library/stdtypes.rst:5117 +#: ../../library/stdtypes.rst:5177 msgid "See :ref:`objects` and :ref:`class` for these." msgstr "Veja :ref:`objects` e :ref:`class` para estes." -#: ../../library/stdtypes.rst:5123 +#: ../../library/stdtypes.rst:5183 msgid "Functions" msgstr "Funções" -#: ../../library/stdtypes.rst:5125 +#: ../../library/stdtypes.rst:5185 msgid "" "Function objects are created by function definitions. The only operation on " "a function object is to call it: ``func(argument-list)``." @@ -7322,7 +7440,7 @@ msgstr "" "que pode ser feita em um objeto função é chamá-la: ``func(lista-de-" "argumentos)``." -#: ../../library/stdtypes.rst:5128 +#: ../../library/stdtypes.rst:5188 msgid "" "There are really two flavors of function objects: built-in functions and " "user-defined functions. Both support the same operation (to call the " @@ -7334,15 +7452,15 @@ msgstr "" "função), mas a implementação é diferente, portanto os diferentes tipos de " "objetos." -#: ../../library/stdtypes.rst:5132 +#: ../../library/stdtypes.rst:5192 msgid "See :ref:`function` for more information." msgstr "Veja a função :ref:`function` para mais informações." -#: ../../library/stdtypes.rst:5138 +#: ../../library/stdtypes.rst:5198 msgid "Methods" msgstr "Métodos" -#: ../../library/stdtypes.rst:5142 +#: ../../library/stdtypes.rst:5202 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 " @@ -7354,7 +7472,7 @@ msgstr "" "de instância de classe. Métodos embutidos são descritos com os tipos que " "suportam eles." -#: ../../library/stdtypes.rst:5147 +#: ../../library/stdtypes.rst:5207 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:" @@ -7375,7 +7493,7 @@ msgstr "" "completamente equivalente a chamar ``m.__func__(m.__self__, arg-1, " "arg-2, ..., arg-n)``." -#: ../../library/stdtypes.rst:5156 +#: ../../library/stdtypes.rst:5216 msgid "" "Like function objects, bound method objects support getting arbitrary " "attributes. However, since method attributes are actually stored on the " @@ -7392,15 +7510,15 @@ msgstr "" "levantado. A fim de definir um atributo de método, você precisa definir " "explicitamente ele no objeto função subjacente::" -#: ../../library/stdtypes.rst:5176 ../../library/stdtypes.rst:5207 +#: ../../library/stdtypes.rst:5236 ../../library/stdtypes.rst:5267 msgid "See :ref:`types` for more information." msgstr "Veja o tipo :ref:`types` para maiores informações." -#: ../../library/stdtypes.rst:5184 +#: ../../library/stdtypes.rst:5244 msgid "Code Objects" msgstr "Objetos código" -#: ../../library/stdtypes.rst:5190 +#: ../../library/stdtypes.rst:5250 msgid "" "Code objects are used by the implementation to represent \"pseudo-compiled\" " "executable Python code such as a function body. They differ from function " @@ -7416,7 +7534,7 @@ msgstr "" "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`." -#: ../../library/stdtypes.rst:5197 +#: ../../library/stdtypes.rst:5257 msgid "" "Accessing ``__code__`` raises an :ref:`auditing event ` ``object." "__getattr__`` with arguments ``obj`` and ``\"__code__\"``." @@ -7424,7 +7542,7 @@ msgstr "" "Acessar ``__code__`` levanta um :ref:`evento de auditoria ` " "``object.__getattr__`` com argumentos ``obj`` e ``\"__code__\"``." -#: ../../library/stdtypes.rst:5204 +#: ../../library/stdtypes.rst:5264 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." @@ -7432,11 +7550,11 @@ 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:5213 +#: ../../library/stdtypes.rst:5273 msgid "Type Objects" msgstr "Objetos tipo" -#: ../../library/stdtypes.rst:5219 +#: ../../library/stdtypes.rst:5279 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 " @@ -7448,15 +7566,15 @@ msgstr "" "especiais sobre tipos. O módulo padrão :mod:`types` define nomes para todos " "os tipos padrão embutidos." -#: ../../library/stdtypes.rst:5224 +#: ../../library/stdtypes.rst:5284 msgid "Types are written like this: ````." msgstr "Tipos são escritos como isto: ````." -#: ../../library/stdtypes.rst:5230 +#: ../../library/stdtypes.rst:5290 msgid "The Null Object" msgstr "O objeto nulo" -#: ../../library/stdtypes.rst:5232 +#: ../../library/stdtypes.rst:5292 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 " @@ -7467,15 +7585,15 @@ msgstr "" "objeto nulo, chamado de ``None`` (um nome embutido). ``type(None)()`` produz " "o mesmo singleton." -#: ../../library/stdtypes.rst:5236 +#: ../../library/stdtypes.rst:5296 msgid "It is written as ``None``." msgstr "Ele é escrito como ``None``." -#: ../../library/stdtypes.rst:5243 +#: ../../library/stdtypes.rst:5303 msgid "The Ellipsis Object" msgstr "O Objeto Ellipsis" -#: ../../library/stdtypes.rst:5245 +#: ../../library/stdtypes.rst:5305 msgid "" "This object is commonly used by slicing (see :ref:`slicings`). It supports " "no special operations. There is exactly one ellipsis object, named :const:" @@ -7487,15 +7605,15 @@ msgstr "" "nomeado :const:`Ellipsis` (um nome embutido). ``type(Ellipsis)()`` produz o " "singleton :const:`Ellipsis`." -#: ../../library/stdtypes.rst:5250 +#: ../../library/stdtypes.rst:5310 msgid "It is written as ``Ellipsis`` or ``...``." msgstr "Está escrito com ``Ellipsis`` ou ``...``." -#: ../../library/stdtypes.rst:5256 +#: ../../library/stdtypes.rst:5316 msgid "The NotImplemented Object" msgstr "O Objeto NotImplemented" -#: ../../library/stdtypes.rst:5258 +#: ../../library/stdtypes.rst:5318 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 " @@ -7507,15 +7625,15 @@ msgstr "" "ref:`comparisons` para mais informações. Existe exatamente um objeto " "``NotImplemented``. ``type(NotImplemented)()`` produz o mesmo valor." -#: ../../library/stdtypes.rst:5263 +#: ../../library/stdtypes.rst:5323 msgid "It is written as ``NotImplemented``." msgstr "Está escrito como ``NotImplemented``." -#: ../../library/stdtypes.rst:5269 +#: ../../library/stdtypes.rst:5329 msgid "Boolean Values" msgstr "Valores Booleanos" -#: ../../library/stdtypes.rst:5271 +#: ../../library/stdtypes.rst:5331 msgid "" "Boolean values are the two constant objects ``False`` and ``True``. They " "are used to represent truth values (although other values can also be " @@ -7534,15 +7652,15 @@ msgstr "" "booleano, se o valor puder ser interpretado como um valor verdadeiro (veja a " "seção :ref:`truth` acima)." -#: ../../library/stdtypes.rst:5284 +#: ../../library/stdtypes.rst:5344 msgid "They are written as ``False`` and ``True``, respectively." msgstr "Eles são escritos como ``False`` e ``True``, respectivamente." -#: ../../library/stdtypes.rst:5290 +#: ../../library/stdtypes.rst:5350 msgid "Internal Objects" msgstr "Objetos Internos" -#: ../../library/stdtypes.rst:5292 +#: ../../library/stdtypes.rst:5352 msgid "" "See :ref:`types` for this information. It describes stack frame objects, " "traceback objects, and slice objects." @@ -7550,11 +7668,11 @@ 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." -#: ../../library/stdtypes.rst:5299 +#: ../../library/stdtypes.rst:5359 msgid "Special Attributes" msgstr "Atributos Especiais" -#: ../../library/stdtypes.rst:5301 +#: ../../library/stdtypes.rst:5361 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:" @@ -7564,7 +7682,7 @@ msgstr "" "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:5308 +#: ../../library/stdtypes.rst:5368 msgid "" "A dictionary or other mapping object used to store an object's (writable) " "attributes." @@ -7572,20 +7690,20 @@ msgstr "" "Um dicionário ou outro objeto de mapeamento usado para armazenar os " "atributos (graváveis) de um objeto." -#: ../../library/stdtypes.rst:5314 +#: ../../library/stdtypes.rst:5374 msgid "The class to which a class instance belongs." msgstr "A classe à qual pertence uma instância de classe." -#: ../../library/stdtypes.rst:5319 +#: ../../library/stdtypes.rst:5379 msgid "The tuple of base classes of a class object." msgstr "A tupla de classes base de um objeto classe." -#: ../../library/stdtypes.rst:5324 +#: ../../library/stdtypes.rst:5384 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:5330 +#: ../../library/stdtypes.rst:5390 msgid "" "The :term:`qualified name` of the class, function, method, descriptor, or " "generator instance." @@ -7593,7 +7711,7 @@ msgstr "" "O :term:`nome qualificado ` da classe, função, método, " "descritor, ou instância geradora." -#: ../../library/stdtypes.rst:5338 +#: ../../library/stdtypes.rst:5398 msgid "" "This attribute is a tuple of classes that are considered when looking for " "base classes during method resolution." @@ -7601,7 +7719,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:5344 +#: ../../library/stdtypes.rst:5404 msgid "" "This method can be overridden by a metaclass to customize the method " "resolution order for its instances. It is called at class instantiation, " @@ -7611,7 +7729,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:5351 +#: ../../library/stdtypes.rst:5411 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 " @@ -7621,11 +7739,291 @@ 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:5360 +#: ../../library/stdtypes.rst:5422 +msgid "Integer string conversion length limitation" +msgstr "Limitação de comprimento de string na conversão para inteiro" + +#: ../../library/stdtypes.rst:5424 +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." +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." + +#: ../../library/stdtypes.rst:5429 +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 " +"can convert a string to a binary integer or a binary integer to a string in " +"linear time, *unless* the base is a power of 2. Even the best known " +"algorithms for base 10 have sub-quadratic complexity. Converting a large " +"value such as ``int('1' * 500_000)`` can take over a second on a fast CPU." +msgstr "" +"O tipo :class:`int` no CPython é um número de comprimento arbitrário " +"armazenado em formato binário (comumente conhecido como \"bignum\"). Não " +"existe nenhum algoritmo que possa converter uma string em um inteiro binário " +"ou um inteiro binário em uma string em tempo linear, *a menos que* a base " +"seja uma potência de 2. Mesmo os algoritmos mais conhecidos para a base 10 " +"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:5436 +msgid "" +"Limiting conversion size offers a practical way to avoid `CVE-2020-10735 " +"`_." +msgstr "" +"A limitação do tamanho da conversão oferece uma maneira prática de evitar " +"`CVE-2020-10735 `_." + +#: ../../library/stdtypes.rst:5439 +msgid "" +"The limit is applied to the number of digit characters in the input or " +"output string when a non-linear conversion algorithm would be involved. " +"Underscores and the sign are not counted towards the limit." +msgstr "" +"O limite é aplicado ao número de caracteres de dígitos na string de entrada " +"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:5443 +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:5465 +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 `." +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 `." + +#: ../../library/stdtypes.rst:5470 +msgid "Verification:" +msgstr "Verificação:" + +#: ../../library/stdtypes.rst:5485 +msgid "Affected APIs" +msgstr "APIs afetadas" + +#: ../../library/stdtypes.rst:5487 +msgid "" +"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`:" + +#: ../../library/stdtypes.rst:5490 +msgid "``int(string)`` with default base 10." +msgstr "``int(string)`` com padrão sendo base 10." + +#: ../../library/stdtypes.rst:5491 +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:5492 +msgid "``str(integer)``." +msgstr "``str(integer)``." + +#: ../../library/stdtypes.rst:5493 +msgid "``repr(integer)``." +msgstr "``repr(integer)``." + +#: ../../library/stdtypes.rst:5494 +msgid "" +"any other string conversion to base 10, for example ``f\"{integer}\"``, " +"``\"{}\".format(integer)``, or ``b\"%d\" % integer``." +msgstr "" +"qualquer outra conversão de string para base 10 como, por exemplo, " +"``f\"{integer}\"``, ``\"{}\".format(integer)`` ou ``b\"%d\" % integer``." + +#: ../../library/stdtypes.rst:5497 +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:5499 +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:5500 +msgid ":func:`int.from_bytes` and :func:`int.to_bytes`." +msgstr ":func:`int.from_bytes` e :func:`int.to_bytes`." + +#: ../../library/stdtypes.rst:5501 +msgid ":func:`hex`, :func:`oct`, :func:`bin`." +msgstr ":func:`hex`, :func:`oct`, :func:`bin`." + +#: ../../library/stdtypes.rst:5502 +msgid ":ref:`formatspec` for hex, octal, and binary numbers." +msgstr ":ref:`formatspec` para números hexa, octal e binários" + +#: ../../library/stdtypes.rst:5503 +msgid ":class:`str` to :class:`float`." +msgstr ":class:`str` para :class:`float`." + +#: ../../library/stdtypes.rst:5504 +msgid ":class:`str` to :class:`decimal.Decimal`." +msgstr ":class:`str` para :class:`decimal.Decimal`." + +#: ../../library/stdtypes.rst:5507 +msgid "Configuring the limit" +msgstr "Configurando o limiter" + +#: ../../library/stdtypes.rst:5509 +msgid "" +"Before Python starts up you can use an environment variable or an " +"interpreter command line flag to configure the limit:" +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:5512 +msgid "" +":envvar:`PYTHONINTMAXSTRDIGITS`, e.g. ``PYTHONINTMAXSTRDIGITS=640 python3`` " +"to set the limit to 640 or ``PYTHONINTMAXSTRDIGITS=0 python3`` to disable " +"the limitation." +msgstr "" +":envvar:`PYTHONINTMAXSTRDIGITS`, por exemplo ``PYTHONINTMAXSTRDIGITS=640 " +"python3`` para definir o limite para 640 ou ``PYTHONINTMAXSTRDIGITS=0 " +"python3`` para desabilitar a limitação." + +#: ../../library/stdtypes.rst:5515 +msgid "" +":option:`-X int_max_str_digits <-X>`, e.g. ``python3 -X " +"int_max_str_digits=640``" +msgstr "" +":option:`-X int_max_str_digits <-X>`, por exemplo ``python3 -X " +"int_max_str_digits=640``" + +#: ../../library/stdtypes.rst:5517 +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." +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á " +"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:5523 +msgid "" +"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:5526 +msgid "" +":func:`sys.get_int_max_str_digits` and :func:`sys.set_int_max_str_digits` " +"are a getter and setter for the interpreter-wide limit. Subinterpreters have " +"their own limit." +msgstr "" +":func:`sys.get_int_max_str_digits` e :func:`sys.set_int_max_str_digits` são " +"um getter e um setter para o limite de todo o interpretador. Os " +"subinterpretadores têm seu próprio limite." + +#: ../../library/stdtypes.rst:5530 +msgid "" +"Information about the default and minimum can be found in :attr:`sys." +"int_info`:" +msgstr "" + +#: ../../library/stdtypes.rst:5532 +msgid "" +":data:`sys.int_info.default_max_str_digits ` is the compiled-" +"in default limit." +msgstr "" +":data:`sys.int_info.default_max_str_digits ` é o limite padrão " +"compilado." + +#: ../../library/stdtypes.rst:5534 +msgid "" +":data:`sys.int_info.str_digits_check_threshold ` is the lowest " +"accepted value for the limit (other than 0 which disables it)." +msgstr "" +":data:`sys.int_info.str_digits_check_threshold ` é o menor " +"valor aceito para o limite (diferente de 0 que o desabilita)." + +#: ../../library/stdtypes.rst:5541 +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 " +"minimum threshold. A consequence of setting the limit is that Python source " +"code containing decimal integer literals longer than the limit will " +"encounter an error during parsing, usually at startup time or import time or " +"even at installation time - anytime an up to date ``.pyc`` does not already " +"exist for the code. A workaround for source that contains such large " +"constants is to convert them to ``0x`` hexadecimal form as it has no limit." +msgstr "" +"Definir um limite baixo *pode* levar a problemas. Embora raro, existe um " +"código que contém constantes inteiras em decimal em sua origem que excedem o " +"limite mínimo. Uma consequência de definir o limite é que o código-fonte do " +"Python contendo literais inteiros decimais maiores que o limite encontrará " +"um erro durante a análise, geralmente no momento da inicialização ou no " +"momento da importação ou até mesmo no momento da instalação -- sempre que um " +"``.pyc`` atualizado ainda não existe para o código. Uma solução alternativa " +"para source que contém tais constantes grandes é convertê-las para a forma " +"hexadecimal ``0x``, pois não há limite." + +#: ../../library/stdtypes.rst:5550 +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 " +"during startup and even during any installation step that may invoke Python " +"to precompile ``.py`` sources to ``.pyc`` files." +msgstr "" +"Teste sua aplicação completamente se você usar um limite baixo. Certifique-" +"se de que seus testes sejam executados com o limite definido anteriormente " +"por meio do ambiente ou sinalizador para que ele seja aplicado durante a " +"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:5556 +msgid "Recommended configuration" +msgstr "Configuração recomendada" + +#: ../../library/stdtypes.rst:5558 +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 "" + +#: ../../library/stdtypes.rst:5563 +msgid "Example::" +msgstr "Exemplo::" + +#: ../../library/stdtypes.rst:5575 +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:5579 msgid "Footnotes" msgstr "Notas de rodapé" -#: ../../library/stdtypes.rst:5361 +#: ../../library/stdtypes.rst:5580 msgid "" "Additional information on these special methods may be found in the Python " "Reference Manual (:ref:`customization`)." @@ -7634,7 +8032,7 @@ msgstr "" "no Manual de Referência do Python (:ref:`Customização básica " "`)." -#: ../../library/stdtypes.rst:5364 +#: ../../library/stdtypes.rst:5583 msgid "" "As a consequence, the list ``[1, 2]`` is considered equal to ``[1.0, 2.0]``, " "and similarly for tuples." @@ -7642,23 +8040,23 @@ msgstr "" "Como uma consequência, a lista ``[1, 2]`` é considerada igual a ``[1.0, " "2.0]``, e similarmente para tuplas." -#: ../../library/stdtypes.rst:5367 +#: ../../library/stdtypes.rst:5586 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:5369 +#: ../../library/stdtypes.rst:5588 msgid "" -"Cased characters are those with general category property being one of \"Lu" -"\" (Letter, uppercase), \"Ll\" (Letter, lowercase), or \"Lt\" (Letter, " +"Cased characters are those with general category property being one of " +"\"Lu\" (Letter, uppercase), \"Ll\" (Letter, lowercase), or \"Lt\" (Letter, " "titlecase)." msgstr "" "Caracteres que possuem maiúsculo e minúsculo são aqueles com a propriedade " "de categoria geral igual a \"Lu\" (Letra, maiúscula), \"Ll\" (Letra, " "minúscula), ou \"Lt\" (Letra, em formato de título)." -#: ../../library/stdtypes.rst:5372 +#: ../../library/stdtypes.rst:5591 msgid "" "To format only a tuple you should therefore provide a singleton tuple whose " "only element is the tuple to be formatted." diff --git a/library/string.po b/library/string.po index 2213b5d06..839e2dba0 100644 --- a/library/string.po +++ b/library/string.po @@ -1,33 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, Python Software 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 -# (Douglas da Silva) , 2021 -# Adson Rodrigues , 2021 -# Marcos Wenneton Araújo , 2021 -# i17obot , 2021 +# python-doc bot, 2025 # #, 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:14+0000\n" -"Last-Translator: i17obot , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2026-03-25 18:42+0000\n" +"PO-Revision-Date: 2025-09-22 15:58+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/string.rst:2 msgid ":mod:`string` --- Common string operations" @@ -37,23 +31,23 @@ msgstr ":mod:`string` --- Operações comuns de strings" msgid "**Source code:** :source:`Lib/string.py`" msgstr "**Código-fonte:** :source:`Lib/string.py`" -#: ../../library/string.rst:13 +#: ../../library/string.rst:14 msgid ":ref:`textseq`" msgstr ":ref:`textseq`" -#: ../../library/string.rst:15 +#: ../../library/string.rst:16 msgid ":ref:`string-methods`" msgstr ":ref:`string-methods`" -#: ../../library/string.rst:18 +#: ../../library/string.rst:19 msgid "String constants" msgstr "Constantes de strings" -#: ../../library/string.rst:20 +#: ../../library/string.rst:21 msgid "The constants defined in this module are:" msgstr "As constantes definidas neste módulo são:" -#: ../../library/string.rst:25 +#: ../../library/string.rst:26 msgid "" "The concatenation of the :const:`ascii_lowercase` and :const:" "`ascii_uppercase` constants described below. This value is not locale-" @@ -62,7 +56,7 @@ msgstr "" "A concatenação das constantes :const:`ascii_lowercase` e :const:" "`ascii_uppercase` descritas abaixo. Este valor não depende da localidade." -#: ../../library/string.rst:31 +#: ../../library/string.rst:32 msgid "" "The lowercase letters ``'abcdefghijklmnopqrstuvwxyz'``. This value is not " "locale-dependent and will not change." @@ -70,7 +64,7 @@ msgstr "" "As letras minúsculas ``'abcdefghijklmnopqrstuvwxyz'``. Este valor não " "depende da localidade e não mudará." -#: ../../library/string.rst:37 +#: ../../library/string.rst:38 msgid "" "The uppercase letters ``'ABCDEFGHIJKLMNOPQRSTUVWXYZ'``. This value is not " "locale-dependent and will not change." @@ -78,19 +72,19 @@ msgstr "" "As letras maiúsculas ``'ABCDEFGHIJKLMNOPQRSTUVWXYZ'``. Este valor não " "depende da localidade e não mudará." -#: ../../library/string.rst:43 +#: ../../library/string.rst:44 msgid "The string ``'0123456789'``." msgstr "A string ``'0123456789'``." -#: ../../library/string.rst:48 +#: ../../library/string.rst:49 msgid "The string ``'0123456789abcdefABCDEF'``." msgstr "A string ``'0123456789abcdefABCDEF'``." -#: ../../library/string.rst:53 +#: ../../library/string.rst:54 msgid "The string ``'01234567'``." msgstr "A string ``'01234567'``." -#: ../../library/string.rst:58 +#: ../../library/string.rst:59 msgid "" "String of ASCII characters which are considered punctuation characters in " "the ``C`` locale: ``!\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~``." @@ -98,7 +92,7 @@ msgstr "" "String de caracteres ASCII que são considerados caracteres de pontuação na " "localidade ``C``: ``!\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~``." -#: ../../library/string.rst:63 +#: ../../library/string.rst:64 msgid "" "String of ASCII characters which are considered printable. This is a " "combination of :const:`digits`, :const:`ascii_letters`, :const:" @@ -108,7 +102,7 @@ msgstr "" "combinação de :const:`digits`, :const:`ascii_letters`, :const:`punctuation` " "e :const:`whitespace`." -#: ../../library/string.rst:70 +#: ../../library/string.rst:71 msgid "" "A string containing all ASCII characters that are considered whitespace. " "This includes the characters space, tab, linefeed, return, formfeed, and " @@ -118,11 +112,11 @@ msgstr "" "em branco. Isso inclui espaço de caracteres, tabulação, avanço de linha, " "retorno, avanço de formulário e tabulação vertical." -#: ../../library/string.rst:78 +#: ../../library/string.rst:79 msgid "Custom String Formatting" msgstr "Formatação personalizada de strings" -#: ../../library/string.rst:80 +#: ../../library/string.rst:81 msgid "" "The built-in string class provides the ability to do complex variable " "substitutions and value formatting via the :meth:`~str.format` method " @@ -138,11 +132,11 @@ msgstr "" "formatação de strings usando a mesma implementação que o método embutido :" "meth:`~str.format`." -#: ../../library/string.rst:89 +#: ../../library/string.rst:90 msgid "The :class:`Formatter` class has the following public methods:" msgstr "A classe :class:`Formatter` tem os seguintes métodos públicos:" -#: ../../library/string.rst:93 +#: ../../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:" @@ -152,7 +146,7 @@ msgstr "" "arbitrário de argumentos posicionais e nomeados. É apenas um invólucro que " "chama :meth:`vformat`." -#: ../../library/string.rst:97 +#: ../../library/string.rst:98 msgid "" "A format string argument is now :ref:`positional-only `." @@ -160,7 +154,7 @@ msgstr "" "Um argumento de string de formato é agora :ref:`somente-posicional " "`." -#: ../../library/string.rst:103 +#: ../../library/string.rst:104 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 " @@ -170,14 +164,14 @@ msgid "" "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:111 +#: ../../library/string.rst:112 msgid "" "In addition, the :class:`Formatter` defines a number of methods that are " "intended to be replaced by subclasses:" @@ -185,7 +179,7 @@ msgstr "" "Além disso, o :class:`Formatter` define uma série de métodos que devem ser " "substituídos por subclasses:" -#: ../../library/string.rst:116 +#: ../../library/string.rst:117 msgid "" "Loop over the format_string and return an iterable of tuples " "(*literal_text*, *field_name*, *format_spec*, *conversion*). This is used " @@ -194,9 +188,9 @@ 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:121 +#: ../../library/string.rst:122 msgid "" "The values in the tuple conceptually represent a span of literal text " "followed by a single replacement field. If there is no literal text (which " @@ -212,7 +206,7 @@ msgstr "" "Se não houver campo de substituição, então os valores de *field_name*, " "*format_spec* e *conversion* serão ``None``." -#: ../../library/string.rst:130 +#: ../../library/string.rst:131 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 " @@ -228,29 +222,28 @@ msgstr "" "meth:`vformat`. O valor de retorno *used_key* tem o mesmo significado que o " "parâmetro *key* para :meth:`get_value`." -#: ../../library/string.rst:139 +#: ../../library/string.rst:140 msgid "" "Retrieve a given field value. The *key* argument will be either an integer " "or a string. If it is an integer, it represents the index of the positional " "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:144 +#: ../../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." msgstr "" -"O parâmetro *args* é definido para a lista de argumentos posicionais para :" +"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:148 +#: ../../library/string.rst:149 msgid "" "For compound field names, these functions are only called for the first " "component of the field name; subsequent components are handled through " @@ -258,9 +251,9 @@ 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:152 +#: ../../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 " @@ -268,19 +261,19 @@ msgid "" "`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`." +"`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:157 +#: ../../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." 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." +"`IndexError` ou :exc:`KeyError` deve ser levantado." -#: ../../library/string.rst:162 +#: ../../library/string.rst:163 msgid "" "Implement checking for unused arguments if desired. The arguments to this " "function is the set of all argument keys that were actually referred to in " @@ -290,14 +283,14 @@ msgid "" "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:172 +#: ../../library/string.rst:173 msgid "" ":meth:`format_field` simply calls the global :func:`format` built-in. The " "method is provided so that subclasses can override it." @@ -305,21 +298,22 @@ msgstr "" ":meth:`format_field` simplesmente chama o global embutido :func:`format`. O " "método é fornecido para que as subclasses possam substituí-lo." -#: ../../library/string.rst:177 +#: ../../library/string.rst:178 msgid "" "Converts the value (returned by :meth:`get_field`) given a conversion type " "(as in the tuple returned by the :meth:`parse` method). The default version " "understands 's' (str), 'r' (repr) and 'a' (ascii) conversion types." msgstr "" -"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:186 +#: ../../library/string.rst:187 msgid "Format String Syntax" msgstr "Sintaxe das strings de formato" -#: ../../library/string.rst:188 +#: ../../library/string.rst:189 msgid "" "The :meth:`str.format` method and the :class:`Formatter` class share the " "same syntax for format strings (although in the case of :class:`Formatter`, " @@ -335,7 +329,7 @@ msgstr "" "mas é menos sofisticada e, em especial, não tem suporte a expressões " "arbitrárias." -#: ../../library/string.rst:201 +#: ../../library/string.rst:202 msgid "" "Format strings contain \"replacement fields\" surrounded by curly braces ``{}" "``. Anything that is not contained in braces is considered literal text, " @@ -344,15 +338,15 @@ 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:206 +#: ../../library/string.rst:207 msgid "The grammar for a replacement field is as follows:" msgstr "A gramática para um campo de substituição é a seguinte:" -#: ../../library/string.rst:218 +#: ../../library/string.rst:219 msgid "" "In less formal terms, the replacement field can start with a *field_name* " "that specifies the object whose value is to be formatted and inserted into " @@ -363,17 +357,17 @@ 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." -#: ../../library/string.rst:225 +#: ../../library/string.rst:226 msgid "See also the :ref:`formatspec` section." msgstr "Veja também a seção :ref:`formatspec`." -#: ../../library/string.rst:227 +#: ../../library/string.rst:228 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 " @@ -401,7 +395,7 @@ msgstr "" "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:239 +#: ../../library/string.rst:240 msgid "" "The positional argument specifiers can be omitted for :meth:`str.format`, so " "``'{} {}'.format(a, b)`` is equivalent to ``'{0} {1}'.format(a, b)``." @@ -410,18 +404,18 @@ msgstr "" "`str.format`, de forma que ``'{} {}'.format(a, b)`` é equivalente a ``'{0} " "{1}'.format(a, b)``." -#: ../../library/string.rst:243 +#: ../../library/string.rst:244 msgid "" "The positional argument specifiers can be omitted for :class:`Formatter`." msgstr "" "Os especificadores de argumento posicional podem ser omitidos para :class:" "`Formatter`." -#: ../../library/string.rst:246 +#: ../../library/string.rst:247 msgid "Some simple format string examples::" msgstr "Alguns exemplos simples de string de formato::" -#: ../../library/string.rst:255 +#: ../../library/string.rst:256 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 " @@ -430,28 +424,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:262 +#: ../../library/string.rst:263 msgid "" "Three conversion flags are currently supported: ``'!s'`` which calls :func:" "`str` on the value, ``'!r'`` which calls :func:`repr` and ``'!a'`` which " "calls :func:`ascii`." msgstr "" -"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:266 +#: ../../library/string.rst:267 msgid "Some examples::" msgstr "Alguns exemplos:" -#: ../../library/string.rst:272 +#: ../../library/string.rst:273 msgid "" "The *format_spec* field contains a specification of how the value should be " "presented, including such details as field width, alignment, padding, " @@ -459,20 +453,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:277 +#: ../../library/string.rst:278 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:280 +#: ../../library/string.rst:281 msgid "" "A *format_spec* field can also include nested replacement fields within it. " "These nested replacement fields may contain a field name, conversion flag " @@ -481,23 +475,22 @@ 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:287 +#: ../../library/string.rst:288 msgid "See the :ref:`formatexamples` section for some examples." msgstr "Veja a seção :ref:`formatexamples` para alguns exemplos." -#: ../../library/string.rst:293 +#: ../../library/string.rst:294 msgid "Format Specification Mini-Language" msgstr "Minilinguagem de especificação de formato" -#: ../../library/string.rst:295 +#: ../../library/string.rst:296 msgid "" "\"Format specifications\" are used within replacement fields contained " "within a format string to define how individual values are presented (see :" @@ -512,7 +505,7 @@ msgstr "" "tipo formatável pode definir como a especificação do formato deve ser " "interpretada." -#: ../../library/string.rst:302 +#: ../../library/string.rst:303 msgid "" "Most built-in types implement the following options for format " "specifications, although some of the formatting options are only supported " @@ -520,23 +513,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:305 +#: ../../library/string.rst:306 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:309 +#: ../../library/string.rst:310 msgid "The general form of a *standard format specifier* is:" msgstr "A forma geral de um *especificador de formato padrão* é:" -#: ../../library/string.rst:321 +#: ../../library/string.rst:322 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 " @@ -554,96 +547,100 @@ 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:330 +#: ../../library/string.rst:331 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:339 ../../library/string.rst:370 +#: ../../library/string.rst:340 ../../library/string.rst:371 msgid "Option" msgstr "Opção" -#: ../../library/string.rst:339 ../../library/string.rst:370 -#: ../../library/string.rst:443 ../../library/string.rst:454 -#: ../../library/string.rst:489 +#: ../../library/string.rst:340 ../../library/string.rst:371 +#: ../../library/string.rst:445 ../../library/string.rst:456 +#: ../../library/string.rst:491 msgid "Meaning" msgstr "Significado" -#: ../../library/string.rst:341 +#: ../../library/string.rst:342 msgid "``'<'``" msgstr "``'<'``" -#: ../../library/string.rst:341 +#: ../../library/string.rst:342 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:344 +#: ../../library/string.rst:345 msgid "``'>'``" msgstr "``'>'``" -#: ../../library/string.rst:344 +#: ../../library/string.rst:345 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:347 +#: ../../library/string.rst:348 msgid "``'='``" msgstr "``'='``" -#: ../../library/string.rst:347 +#: ../../library/string.rst:348 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 " "alignment option is only valid for numeric types. It becomes the default " "for numbers when '0' immediately precedes the field width." msgstr "" +"Força o preenchimento a ser colocado após o sinal (se houver), mas antes dos " +"dígitos. É usado para imprimir campos na forma \"+000000120\". Esta opção de " +"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:353 +#: ../../library/string.rst:354 msgid "``'^'``" msgstr "``'^'``" -#: ../../library/string.rst:353 +#: ../../library/string.rst:354 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:357 +#: ../../library/string.rst:358 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:361 +#: ../../library/string.rst:362 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:372 +#: ../../library/string.rst:373 msgid "``'+'``" msgstr "``'+'``" -#: ../../library/string.rst:372 +#: ../../library/string.rst:373 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:375 +#: ../../library/string.rst:376 msgid "``'-'``" msgstr "``'-'``" -#: ../../library/string.rst:375 +#: ../../library/string.rst:376 msgid "" "indicates that a sign should be used only for negative numbers (this is the " "default behavior)." @@ -651,11 +648,11 @@ msgstr "" "indica que um sinal deve ser usado apenas para números negativos (este é o " "comportamento padrão)." -#: ../../library/string.rst:378 +#: ../../library/string.rst:379 msgid "space" msgstr "espaço" -#: ../../library/string.rst:378 +#: ../../library/string.rst:379 msgid "" "indicates that a leading space should be used on positive numbers, and a " "minus sign on negative numbers." @@ -663,7 +660,7 @@ 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:385 +#: ../../library/string.rst:386 msgid "" "The ``'#'`` option causes the \"alternate form\" to be used for the " "conversion. The alternate form is defined differently for different types. " @@ -676,19 +673,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:399 +#: ../../library/string.rst:400 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." @@ -697,11 +694,11 @@ msgstr "" "Para um separador que reconhece a localidade, use o tipo de apresentação " "inteiro ``'n'``." -#: ../../library/string.rst:403 +#: ../../library/string.rst:404 msgid "Added the ``','`` option (see also :pep:`378`)." msgstr "Adicionada a opção ``','`` (veja também :pep:`378`)." -#: ../../library/string.rst:408 +#: ../../library/string.rst:409 msgid "" "The ``'_'`` option signals the use of an underscore for a thousands " "separator for floating point presentation types and for integer presentation " @@ -715,11 +712,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:415 +#: ../../library/string.rst:416 msgid "Added the ``'_'`` option (see also :pep:`515`)." msgstr "Adicionada a opção ``'_'`` (veja também :pep:`515`)." -#: ../../library/string.rst:418 +#: ../../library/string.rst:419 msgid "" "*width* is a decimal integer defining the minimum total field width, " "including any prefixes, separators, and other formatting characters. If not " @@ -730,7 +727,7 @@ msgstr "" "formatação. Se não for especificado, a largura do campo será determinada " "pelo conteúdo." -#: ../../library/string.rst:422 +#: ../../library/string.rst:423 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 " @@ -742,21 +739,23 @@ 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:427 +#: ../../library/string.rst:428 msgid "" "Preceding the *width* field by ``'0'`` no longer affects the default " "alignment for strings." msgstr "" +"Preceder o campo *width* com ``'0'`` não afeta mais o alinhamento padrão de " +"strings." -#: ../../library/string.rst:431 +#: ../../library/string.rst:432 msgid "" -"The *precision* is a decimal number indicating how many digits should be " -"displayed after the decimal point for a floating point value formatted with " -"``'f'`` and ``'F'``, or before and after the decimal point for a floating " -"point value formatted with ``'g'`` or ``'G'``. For non-number types the " -"field indicates the maximum field size - in other words, how many characters " -"will be used from the field content. The *precision* is not allowed for " -"integer values." +"The *precision* is a decimal integer indicating how many digits should be " +"displayed after the decimal point for presentation types ``'f'`` and " +"``'F'``, or before and after the decimal point for presentation types " +"``'g'`` or ``'G'``. For string presentation types the field indicates the " +"maximum field size - in other words, how many characters will be used from " +"the field content. The *precision* is not allowed for integer presentation " +"types." msgstr "" "*precision* é um número decimal que indica quantos dígitos devem ser " "exibidos depois do ponto decimal para um valor de ponto flutuante formatado " @@ -766,54 +765,54 @@ msgstr "" "caracteres serão usados do conteúdo do campo. *precision* não é permitido " "para valores inteiros." -#: ../../library/string.rst:438 +#: ../../library/string.rst:440 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:440 +#: ../../library/string.rst:442 msgid "The available string presentation types are:" msgstr "Os tipos de apresentação de string disponíveis são:" -#: ../../library/string.rst:443 ../../library/string.rst:454 -#: ../../library/string.rst:489 +#: ../../library/string.rst:445 ../../library/string.rst:456 +#: ../../library/string.rst:491 msgid "Type" msgstr "Tipo" -#: ../../library/string.rst:445 +#: ../../library/string.rst:447 msgid "``'s'``" msgstr "``'s'``" -#: ../../library/string.rst:445 +#: ../../library/string.rst:447 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:448 ../../library/string.rst:477 -#: ../../library/string.rst:564 +#: ../../library/string.rst:450 ../../library/string.rst:479 +#: ../../library/string.rst:566 msgid "None" msgstr "None" -#: ../../library/string.rst:448 +#: ../../library/string.rst:450 msgid "The same as ``'s'``." msgstr "O mesmo que ``'s'``." -#: ../../library/string.rst:451 +#: ../../library/string.rst:453 msgid "The available integer presentation types are:" msgstr "Os tipos de apresentação inteira disponíveis são:" -#: ../../library/string.rst:456 +#: ../../library/string.rst:458 msgid "``'b'``" msgstr "``'b'``" -#: ../../library/string.rst:456 +#: ../../library/string.rst:458 msgid "Binary format. Outputs the number in base 2." msgstr "Formato binário. Exibe o número na base 2." -#: ../../library/string.rst:458 +#: ../../library/string.rst:460 msgid "``'c'``" msgstr "``'c'``" -#: ../../library/string.rst:458 +#: ../../library/string.rst:460 msgid "" "Character. Converts the integer to the corresponding unicode character " "before printing." @@ -821,27 +820,27 @@ msgstr "" "Caractere. Converte o inteiro no caractere Unicode correspondente antes de " "imprimir." -#: ../../library/string.rst:461 +#: ../../library/string.rst:463 msgid "``'d'``" msgstr "``'d'``" -#: ../../library/string.rst:461 +#: ../../library/string.rst:463 msgid "Decimal Integer. Outputs the number in base 10." msgstr "Inteiro decimal. Exibe o número na base 10." -#: ../../library/string.rst:463 +#: ../../library/string.rst:465 msgid "``'o'``" msgstr "``'o'``" -#: ../../library/string.rst:463 +#: ../../library/string.rst:465 msgid "Octal format. Outputs the number in base 8." msgstr "Formato octal. Exibe o número na base 8." -#: ../../library/string.rst:465 +#: ../../library/string.rst:467 msgid "``'x'``" msgstr "``'x'``" -#: ../../library/string.rst:465 +#: ../../library/string.rst:467 msgid "" "Hex format. Outputs the number in base 16, using lower-case letters for the " "digits above 9." @@ -849,25 +848,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:468 +#: ../../library/string.rst:470 msgid "``'X'``" msgstr "``'X'``" -#: ../../library/string.rst:468 +#: ../../library/string.rst:470 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:473 ../../library/string.rst:557 +#: ../../library/string.rst:475 ../../library/string.rst:559 msgid "``'n'``" msgstr "``'n'``" -#: ../../library/string.rst:473 +#: ../../library/string.rst:475 msgid "" "Number. This is the same as ``'d'``, except that it uses the current locale " "setting to insert the appropriate number separator characters." @@ -875,11 +874,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:477 +#: ../../library/string.rst:479 msgid "The same as ``'d'``." msgstr "O mesmo que ``'d'``." -#: ../../library/string.rst:480 +#: ../../library/string.rst:482 msgid "" "In addition to the above presentation types, integers can be formatted with " "the floating point presentation types listed below (except ``'n'`` and " @@ -891,19 +890,19 @@ 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:485 +#: ../../library/string.rst:487 msgid "" "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:491 +#: ../../library/string.rst:493 msgid "``'e'``" msgstr "``'e'``" -#: ../../library/string.rst:491 +#: ../../library/string.rst:493 msgid "" "Scientific notation. For a given precision ``p``, formats the number in " "scientific notation with the letter 'e' separating the coefficient from the " @@ -923,11 +922,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:503 +#: ../../library/string.rst:505 msgid "``'E'``" msgstr "``'E'``" -#: ../../library/string.rst:503 +#: ../../library/string.rst:505 msgid "" "Scientific notation. Same as ``'e'`` except it uses an upper case 'E' as the " "separator character." @@ -935,11 +934,11 @@ msgstr "" "Notação científica. O mesmo que ``'e'``, exceto que usa um 'E' maiúsculo " "como caractere separador." -#: ../../library/string.rst:506 +#: ../../library/string.rst:508 msgid "``'f'``" msgstr "``'f'``" -#: ../../library/string.rst:506 +#: ../../library/string.rst:508 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 " @@ -957,11 +956,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:516 +#: ../../library/string.rst:518 msgid "``'F'``" msgstr "``'F'``" -#: ../../library/string.rst:516 +#: ../../library/string.rst:518 msgid "" "Fixed-point notation. Same as ``'f'``, but converts ``nan`` to ``NAN`` and " "``inf`` to ``INF``." @@ -969,11 +968,11 @@ msgstr "" "Notação de ponto fixo. O mesmo que ``'f'``, mas converte ``nan`` para " "``NAN`` e ``inf`` para ``INF``." -#: ../../library/string.rst:519 +#: ../../library/string.rst:521 msgid "``'g'``" msgstr "``'g'``" -#: ../../library/string.rst:519 +#: ../../library/string.rst:521 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 " @@ -981,11 +980,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:526 +#: ../../library/string.rst:528 msgid "" "The precise rules are as follows: suppose that the result formatted with " "presentation type ``'e'`` and precision ``p-1`` would have exponent " @@ -1002,12 +1001,12 @@ 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:539 +#: ../../library/string.rst:541 msgid "" "With no precision given, uses a precision of ``6`` significant digits for :" "class:`float`. For :class:`~decimal.Decimal`, the coefficient of the result " @@ -1020,33 +1019,33 @@ msgstr "" "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:548 +#: ../../library/string.rst:550 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:553 +#: ../../library/string.rst:555 msgid "``'G'``" msgstr "``'G'``" -#: ../../library/string.rst:553 +#: ../../library/string.rst:555 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:557 +#: ../../library/string.rst:559 msgid "" "Number. This is the same as ``'g'``, except that it uses the current locale " "setting to insert the appropriate number separator characters." @@ -1054,19 +1053,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:561 +#: ../../library/string.rst:563 msgid "``'%'``" msgstr "``'%'``" -#: ../../library/string.rst:561 +#: ../../library/string.rst:563 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:564 +#: ../../library/string.rst:566 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 " @@ -1078,152 +1077,153 @@ 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:570 +#: ../../library/string.rst:572 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:574 +#: ../../library/string.rst:576 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:582 +#: ../../library/string.rst:584 msgid "Format examples" msgstr "Exemplos de formato" -#: ../../library/string.rst:584 +#: ../../library/string.rst:586 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:587 +#: ../../library/string.rst:589 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:591 +#: ../../library/string.rst:593 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:594 +#: ../../library/string.rst:596 msgid "Accessing arguments by position::" -msgstr "Acessando os argumentos por posição::" +msgstr "Acessando argumentos por posição::" -#: ../../library/string.rst:607 +#: ../../library/string.rst:609 msgid "Accessing arguments by name::" -msgstr "Acessando os argumentos por nome::" +msgstr "Acessando argumentos por nome::" -#: ../../library/string.rst:615 +#: ../../library/string.rst:617 msgid "Accessing arguments' attributes::" -msgstr "Acessando os atributos dos argumentos::" +msgstr "Acessando atributos dos argumentos::" -#: ../../library/string.rst:630 +#: ../../library/string.rst:632 msgid "Accessing arguments' items::" -msgstr "Acessando os itens dos argumentos::" +msgstr "Acessando itens dos argumentos::" -#: ../../library/string.rst:636 +#: ../../library/string.rst:638 msgid "Replacing ``%s`` and ``%r``::" msgstr "Substituindo ``%s`` e ``%r``::" -#: ../../library/string.rst:641 +#: ../../library/string.rst:643 msgid "Aligning the text and specifying a width::" msgstr "Alinhando o texto e especificando uma largura::" -#: ../../library/string.rst:652 +#: ../../library/string.rst:654 msgid "Replacing ``%+f``, ``%-f``, and ``% f`` and specifying a sign::" msgstr "Substituindo ``%+f``, ``%-f`` e ``% f`` e especificando um sinal::" -#: ../../library/string.rst:661 +#: ../../library/string.rst:663 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:670 +#: ../../library/string.rst:672 msgid "Using the comma as a thousands separator::" msgstr "Usando a vírgula como um separador de milhares::" -#: ../../library/string.rst:675 +#: ../../library/string.rst:677 msgid "Expressing a percentage::" msgstr "Expressando uma porcentagem::" -#: ../../library/string.rst:682 +#: ../../library/string.rst:684 msgid "Using type-specific formatting::" msgstr "Usando formatação específica do tipo::" -#: ../../library/string.rst:689 +#: ../../library/string.rst:691 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:723 +#: ../../library/string.rst:725 msgid "Template strings" -msgstr "Strings de modelo" +msgstr "Strings template" -#: ../../library/string.rst:725 +#: ../../library/string.rst:727 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." +"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 " -"`flufl.i18n `_." +"biblioteca construída sobre strings template para i18n, veja o pacote `flufl." +"i18n `_." -#: ../../library/string.rst:735 +#: ../../library/string.rst:737 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:737 +#: ../../library/string.rst:739 msgid "``$$`` is an escape; it is replaced with a single ``$``." msgstr "``$$`` é um escape; é substituído por um único ``$``." -#: ../../library/string.rst:739 +#: ../../library/string.rst:741 msgid "" -"``$identifier`` names a substitution placeholder matching a mapping key of ``" -"\"identifier\"``. By default, ``\"identifier\"`` is restricted to any case-" -"insensitive ASCII alphanumeric string (including underscores) that starts " -"with an underscore or ASCII letter. The first non-identifier character " -"after the ``$`` character terminates this placeholder specification." +"``$identifier`` names a substitution placeholder matching a mapping key of " +"``\"identifier\"``. By default, ``\"identifier\"`` is restricted to any " +"case-insensitive ASCII alphanumeric string (including underscores) that " +"starts with an underscore or ASCII letter. The first non-identifier " +"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:746 +#: ../../library/string.rst:748 msgid "" "``${identifier}`` is equivalent to ``$identifier``. It is required when " "valid identifier characters follow the placeholder but are not part of the " @@ -1233,7 +1233,7 @@ msgstr "" "caracteres identificadores válidos seguem o marcador de posição, mas não " "fazem parte do marcador, como ``\"${noun}ification\"``." -#: ../../library/string.rst:750 +#: ../../library/string.rst:752 msgid "" "Any other appearance of ``$`` in the string will result in a :exc:" "`ValueError` being raised." @@ -1241,7 +1241,7 @@ msgstr "" "Qualquer outra ocorrência de ``$`` na string resultará em uma :exc:" "`ValueError` sendo levantada." -#: ../../library/string.rst:753 +#: ../../library/string.rst:755 msgid "" "The :mod:`string` module provides a :class:`Template` class that implements " "these rules. The methods of :class:`Template` are:" @@ -1249,11 +1249,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:759 +#: ../../library/string.rst:761 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:764 +#: ../../library/string.rst:766 msgid "" "Performs the template substitution, returning a new string. *mapping* is " "any dictionary-like object with keys that match the placeholders in the " @@ -1268,7 +1268,7 @@ msgstr "" "*kwds* são fornecidos e há duplicatas, os marcadores de *kwds* têm " "precedência." -#: ../../library/string.rst:773 +#: ../../library/string.rst:775 msgid "" "Like :meth:`substitute`, except that if placeholders are missing from " "*mapping* and *kwds*, instead of raising a :exc:`KeyError` exception, the " @@ -1283,7 +1283,7 @@ msgstr "" "ocorrência de ``$`` simplesmente retornará ``$`` em vez de levantar :exc:" "`ValueError`." -#: ../../library/string.rst:779 +#: ../../library/string.rst:781 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 " @@ -1297,16 +1297,16 @@ 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:786 +#: ../../library/string.rst:788 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:790 +#: ../../library/string.rst:792 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." @@ -1314,11 +1314,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:793 +#: ../../library/string.rst:795 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:811 +#: ../../library/string.rst:813 msgid "" "Advanced usage: you can derive subclasses of :class:`Template` to customize " "the placeholder syntax, delimiter character, or the entire regular " @@ -1327,10 +1327,10 @@ 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:816 +#: ../../library/string.rst:818 msgid "" "*delimiter* -- This is the literal string describing a placeholder " "introducing delimiter. The default value is ``$``. Note that this should " @@ -1346,7 +1346,7 @@ msgstr "" "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:823 +#: ../../library/string.rst:825 msgid "" "*idpattern* -- This is the regular expression describing the pattern for non-" "braced placeholders. The default value is the regular expression ``(?a:[_a-" @@ -1358,7 +1358,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:830 +#: ../../library/string.rst:832 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." @@ -1367,15 +1367,15 @@ msgstr "" "corresponder a alguns caracteres não ASCII. É por isso que usamos o " "sinalizador local ``a`` aqui." -#: ../../library/string.rst:834 +#: ../../library/string.rst:836 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:838 +#: ../../library/string.rst:840 msgid "" "*braceidpattern* -- This is like *idpattern* but describes the pattern for " "braced placeholders. Defaults to ``None`` which means to fall back to " @@ -1389,7 +1389,7 @@ msgstr "" "fornecido, permite definir padrões diferentes para espaço reservado com e " "sem chaves." -#: ../../library/string.rst:846 +#: ../../library/string.rst:848 msgid "" "*flags* -- The regular expression flags that will be applied when compiling " "the regular expression used for recognizing substitutions. The default " @@ -1403,7 +1403,7 @@ msgstr "" "aos sinalizadores, então *idpattern*\\s personalizados devem seguir as " "convenções para expressões regulares verbosas." -#: ../../library/string.rst:854 +#: ../../library/string.rst:856 msgid "" "Alternatively, you can provide the entire regular expression pattern by " "overriding the class attribute *pattern*. If you do this, the value must be " @@ -1417,7 +1417,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:860 +#: ../../library/string.rst:862 msgid "" "*escaped* -- This group matches the escape sequence, e.g. ``$$``, in the " "default pattern." @@ -1425,7 +1425,7 @@ msgstr "" "*escaped* -- Este grupo corresponde à sequência de escape, por exemplo ``$" "$``, no padrão." -#: ../../library/string.rst:863 +#: ../../library/string.rst:865 msgid "" "*named* -- This group matches the unbraced placeholder name; it should not " "include the delimiter in capturing group." @@ -1433,7 +1433,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:866 +#: ../../library/string.rst:868 msgid "" "*braced* -- This group matches the brace enclosed placeholder name; it " "should not include either the delimiter or braces in the capturing group." @@ -1441,7 +1441,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:869 +#: ../../library/string.rst:871 msgid "" "*invalid* -- This group matches any other delimiter pattern (usually a " "single delimiter), and it should appear last in the regular expression." @@ -1450,11 +1450,11 @@ msgstr "" "(geralmente um único delimitador) e deve aparecer por último na expressão " "regular." -#: ../../library/string.rst:874 +#: ../../library/string.rst:876 msgid "Helper functions" msgstr "Funções auxiliares" -#: ../../library/string.rst:878 +#: ../../library/string.rst:880 msgid "" "Split the argument into words using :meth:`str.split`, capitalize each word " "using :meth:`str.capitalize`, and join the capitalized words using :meth:" diff --git a/library/stringprep.po b/library/stringprep.po index 5bcee0d9a..f2c426ad4 100644 --- a/library/stringprep.po +++ b/library/stringprep.po @@ -1,26 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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.10\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-06-29 12:56+0000\n" -"PO-Revision-Date: 2021-06-28 01:14+0000\n" -"Last-Translator: Rafael Fontenelle , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:58+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/stringprep.rst:2 msgid ":mod:`stringprep` --- Internet String Preparation" @@ -39,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 "" @@ -51,6 +58,14 @@ 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 "" @@ -69,100 +84,130 @@ msgid "" "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 bd35c1680..5d63095a3 100644 --- a/library/struct.po +++ b/library/struct.po @@ -1,34 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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 -# Marco Rougeth , 2021 -# Claudio Rogerio Carvalho Filho , 2021 -# (Douglas da Silva) , 2021 -# Misael borges , 2021 -# Juliana Karoline , 2021 -# Bonifacio de Oliveira , 2021 -# i17obot , 2021 +# python-doc bot, 2025 # #, 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:14+0000\n" -"Last-Translator: i17obot , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:58+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/struct.rst:2 msgid ":mod:`struct` --- Interpret bytes as packed binary data" @@ -40,26 +33,43 @@ msgstr "**Código-fonte:** :source:`Lib/struct.py`" #: ../../library/struct.rst:15 msgid "" -"This module performs conversions between Python values and C structs " -"represented as Python :class:`bytes` objects. This can be used in handling " -"binary data stored in files or from network connections, among other " -"sources. It uses :ref:`struct-format-strings` as compact descriptions of " -"the layout of the C structs and the intended conversion to/from Python " -"values." -msgstr "" - -#: ../../library/struct.rst:23 -msgid "" -"By default, the result of packing a given C struct includes pad bytes in " -"order to maintain proper alignment for the C types involved; similarly, " -"alignment is taken into account when unpacking. This behavior is chosen so " -"that the bytes of a packed struct correspond exactly to the layout in memory " -"of the corresponding C struct. To handle platform-independent data formats " -"or omit implicit pad bytes, use ``standard`` size and alignment instead of " -"``native`` size and alignment: see :ref:`struct-alignment` for details." -msgstr "" - -#: ../../library/struct.rst:31 +"This module converts between Python values and C structs represented as " +"Python :class:`bytes` objects. Compact :ref:`format strings ` describe the intended conversions to/from Python values. The " +"module's functions and objects can be used for two largely distinct " +"applications, data exchange with external sources (files or network " +"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 "" +"When no prefix character is given, native mode is the default. It packs or " +"unpacks data based on the platform and compiler on which the Python " +"interpreter was built. The result of packing a given C struct includes pad " +"bytes which maintain proper alignment for the C types involved; similarly, " +"alignment is taken into account when unpacking. In contrast, when " +"communicating data between external sources, the programmer is responsible " +"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:" @@ -69,36 +79,45 @@ msgid "" "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:40 +#: ../../library/struct.rst:44 msgid "Functions and Exceptions" -msgstr "Funções e Exceções" +msgstr "Funções e exceções" -#: ../../library/struct.rst:42 +#: ../../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:47 +#: ../../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:53 +#: ../../library/struct.rst:57 msgid "" "Return a bytes object containing the values *v1*, *v2*, ... packed according " "to the format string *format*. The arguments must match the values required " "by the format exactly." msgstr "" -#: ../../library/struct.rst:60 +#: ../../library/struct.rst:64 msgid "" "Pack the values *v1*, *v2*, ... according to the format string *format* and " "write the packed bytes into the writable buffer *buffer* starting at " "position *offset*. Note that *offset* is a required argument." msgstr "" -#: ../../library/struct.rst:67 +#: ../../library/struct.rst:71 msgid "" "Unpack from the buffer *buffer* (presumably packed by ``pack(format, ...)``) " "according to the format string *format*. The result is a tuple even if it " @@ -106,7 +125,7 @@ msgid "" "required by the format, as reflected by :func:`calcsize`." msgstr "" -#: ../../library/struct.rst:75 +#: ../../library/struct.rst:79 msgid "" "Unpack from *buffer* starting at position *offset*, according to the format " "string *format*. The result is a tuple even if it contains exactly one " @@ -114,189 +133,193 @@ msgid "" "least the size required by the format, as reflected by :func:`calcsize`." msgstr "" -#: ../../library/struct.rst:83 +#: ../../library/struct.rst:87 msgid "" "Iteratively unpack from the buffer *buffer* according to the format string " -"*format*. This function returns an iterator which will read equally-sized " +"*format*. This function returns an iterator which will read equally sized " "chunks from the buffer until all its contents have been consumed. The " "buffer's size in bytes must be a multiple of the size required by the " "format, as reflected by :func:`calcsize`." msgstr "" -#: ../../library/struct.rst:89 +#: ../../library/struct.rst:93 msgid "Each iteration yields a tuple as specified by the format string." msgstr "" -#: ../../library/struct.rst:96 +#: ../../library/struct.rst:100 msgid "" "Return the size of the struct (and hence of the bytes object produced by " "``pack(format, ...)``) corresponding to the format string *format*." msgstr "" -#: ../../library/struct.rst:103 +#: ../../library/struct.rst:107 msgid "Format Strings" msgstr "" -#: ../../library/struct.rst:105 +#: ../../library/struct.rst:109 msgid "" -"Format strings are the mechanism used to specify the expected layout when " -"packing and unpacking data. They are built up from :ref:`format-" -"characters`, which specify the type of data being packed/unpacked. In " -"addition, there are special characters for controlling the :ref:`struct-" -"alignment`." +"Format strings describe the data layout when packing and unpacking data. " +"They are built up from :ref:`format characters`, which " +"specify the type of data being packed/unpacked. In addition, special " +"characters control the :ref:`byte order, size and alignment`. Each format string consists of an optional prefix character " +"which describes the overall properties of the data and one or more format " +"characters which describe the actual data values and padding." msgstr "" -#: ../../library/struct.rst:114 +#: ../../library/struct.rst:121 msgid "Byte Order, Size, and Alignment" msgstr "" -#: ../../library/struct.rst:116 +#: ../../library/struct.rst:123 msgid "" "By default, C types are represented in the machine's native format and byte " "order, and properly aligned by skipping pad bytes if necessary (according to " -"the rules used by the C compiler)." +"the rules used by the C compiler). This behavior is chosen so that the bytes " +"of a packed struct correspond exactly to the memory layout of the " +"corresponding C struct. Whether to use native byte ordering and padding or " +"standard formats depends on the application." msgstr "" -#: ../../library/struct.rst:127 +#: ../../library/struct.rst:139 msgid "" "Alternatively, the first character of the format string can be used to " "indicate the byte order, size and alignment of the packed data, according to " "the following table:" msgstr "" -#: ../../library/struct.rst:132 +#: ../../library/struct.rst:144 msgid "Character" msgstr "Caractere" -#: ../../library/struct.rst:132 +#: ../../library/struct.rst:144 msgid "Byte order" msgstr "Ordem de bytes" -#: ../../library/struct.rst:132 +#: ../../library/struct.rst:144 msgid "Size" msgstr "Tamanho" -#: ../../library/struct.rst:132 +#: ../../library/struct.rst:144 msgid "Alignment" msgstr "Alinhamento" -#: ../../library/struct.rst:134 +#: ../../library/struct.rst:146 msgid "``@``" msgstr "``@``" -#: ../../library/struct.rst:134 ../../library/struct.rst:136 +#: ../../library/struct.rst:146 ../../library/struct.rst:148 msgid "native" msgstr "nativo" -#: ../../library/struct.rst:136 +#: ../../library/struct.rst:148 msgid "``=``" msgstr "``=``" -#: ../../library/struct.rst:136 ../../library/struct.rst:138 -#: ../../library/struct.rst:140 ../../library/struct.rst:142 +#: ../../library/struct.rst:148 ../../library/struct.rst:150 +#: ../../library/struct.rst:152 ../../library/struct.rst:154 msgid "standard" msgstr "padrão" -#: ../../library/struct.rst:136 ../../library/struct.rst:138 -#: ../../library/struct.rst:140 ../../library/struct.rst:142 +#: ../../library/struct.rst:148 ../../library/struct.rst:150 +#: ../../library/struct.rst:152 ../../library/struct.rst:154 msgid "none" msgstr "nenhum" -#: ../../library/struct.rst:138 +#: ../../library/struct.rst:150 msgid "``<``" msgstr "``<``" -#: ../../library/struct.rst:138 +#: ../../library/struct.rst:150 msgid "little-endian" msgstr "little-endian" -#: ../../library/struct.rst:140 +#: ../../library/struct.rst:152 msgid "``>``" msgstr "``>``" -#: ../../library/struct.rst:140 +#: ../../library/struct.rst:152 msgid "big-endian" msgstr "big-endian" -#: ../../library/struct.rst:142 +#: ../../library/struct.rst:154 msgid "``!``" msgstr "``!``" -#: ../../library/struct.rst:142 +#: ../../library/struct.rst:154 msgid "network (= big-endian)" msgstr "rede (= big-endian)" -#: ../../library/struct.rst:145 +#: ../../library/struct.rst:157 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:147 +#: ../../library/struct.rst:159 msgid "" "Native byte order is big-endian or little-endian, depending on the host " -"system. For example, Intel x86 and AMD64 (x86-64) are little-endian; " -"Motorola 68000 and PowerPC G5 are big-endian; ARM and Intel Itanium feature " -"switchable endianness (bi-endian). Use ``sys.byteorder`` to check the " -"endianness of your system." +"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." msgstr "" -#: ../../library/struct.rst:153 +#: ../../library/struct.rst:164 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:156 +#: ../../library/struct.rst:167 msgid "" "Standard size depends only on the format character; see the table in the :" "ref:`format-characters` section." msgstr "" -#: ../../library/struct.rst:159 +#: ../../library/struct.rst:170 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:162 +#: ../../library/struct.rst:173 msgid "" "The form ``'!'`` represents the network byte order which is always big-" "endian as defined in `IETF RFC 1700 `_." msgstr "" -#: ../../library/struct.rst:165 +#: ../../library/struct.rst:176 msgid "" "There is no way to indicate non-native byte order (force byte-swapping); use " "the appropriate choice of ``'<'`` or ``'>'``." msgstr "" -#: ../../library/struct.rst:168 ../../library/struct.rst:247 +#: ../../library/struct.rst:179 ../../library/struct.rst:258 msgid "Notes:" msgstr "Notas:" -#: ../../library/struct.rst:170 +#: ../../library/struct.rst:181 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:173 +#: ../../library/struct.rst:184 msgid "" "No padding is added when using non-native size and alignment, e.g. with '<', " "'>', '=', and '!'." msgstr "" -#: ../../library/struct.rst:176 +#: ../../library/struct.rst:187 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:184 +#: ../../library/struct.rst:195 msgid "Format Characters" msgstr "Caracteres Formatados" -#: ../../library/struct.rst:186 +#: ../../library/struct.rst:197 msgid "" "Format characters have the following meaning; the conversion between C and " "Python values should be obvious given their types. The 'Standard size' " @@ -306,298 +329,310 @@ msgid "" "platform-dependent." msgstr "" -#: ../../library/struct.rst:194 +#: ../../library/struct.rst:205 msgid "Format" msgstr "Formatação" -#: ../../library/struct.rst:194 +#: ../../library/struct.rst:205 msgid "C Type" msgstr "Tipo em C" -#: ../../library/struct.rst:194 +#: ../../library/struct.rst:205 msgid "Python type" -msgstr "Python type" +msgstr "Tipo em Python" -#: ../../library/struct.rst:194 +#: ../../library/struct.rst:205 msgid "Standard size" msgstr "" -#: ../../library/struct.rst:194 +#: ../../library/struct.rst:205 msgid "Notes" msgstr "Notas" -#: ../../library/struct.rst:196 +#: ../../library/struct.rst:207 msgid "``x``" msgstr "``x``" -#: ../../library/struct.rst:196 +#: ../../library/struct.rst:207 msgid "pad byte" msgstr "" -#: ../../library/struct.rst:196 +#: ../../library/struct.rst:207 msgid "no value" msgstr "" -#: ../../library/struct.rst:198 +#: ../../library/struct.rst:207 +msgid "\\(7)" +msgstr "\\(7)" + +#: ../../library/struct.rst:209 msgid "``c``" msgstr "``c``" -#: ../../library/struct.rst:198 -msgid ":c:type:`char`" -msgstr ":c:type:`char`" +#: ../../library/struct.rst:209 +msgid ":c:expr:`char`" +msgstr ":c:expr:`char`" -#: ../../library/struct.rst:198 +#: ../../library/struct.rst:209 msgid "bytes of length 1" msgstr "" -#: ../../library/struct.rst:198 ../../library/struct.rst:200 -#: ../../library/struct.rst:202 ../../library/struct.rst:204 +#: ../../library/struct.rst:209 ../../library/struct.rst:211 +#: ../../library/struct.rst:213 ../../library/struct.rst:215 msgid "1" msgstr "1" -#: ../../library/struct.rst:200 +#: ../../library/struct.rst:211 msgid "``b``" msgstr "``b``" -#: ../../library/struct.rst:200 -msgid ":c:type:`signed char`" -msgstr ":c:type:`signed char`" +#: ../../library/struct.rst:211 +msgid ":c:expr:`signed char`" +msgstr "" -#: ../../library/struct.rst:200 ../../library/struct.rst:202 -#: ../../library/struct.rst:206 ../../library/struct.rst:208 -#: ../../library/struct.rst:210 ../../library/struct.rst:212 -#: ../../library/struct.rst:214 ../../library/struct.rst:216 -#: ../../library/struct.rst:218 ../../library/struct.rst:220 -#: ../../library/struct.rst:223 ../../library/struct.rst:225 -#: ../../library/struct.rst:237 +#: ../../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 msgid "integer" -msgstr "" +msgstr "inteiro" -#: ../../library/struct.rst:200 +#: ../../library/struct.rst:211 msgid "\\(1), \\(2)" msgstr "" -#: ../../library/struct.rst:202 +#: ../../library/struct.rst:213 msgid "``B``" msgstr "``B``" -#: ../../library/struct.rst:202 -msgid ":c:type:`unsigned char`" -msgstr ":c:type:`unsigned char`" +#: ../../library/struct.rst:213 +msgid ":c:expr:`unsigned char`" +msgstr ":c:expr:`unsigned char`" -#: ../../library/struct.rst:202 ../../library/struct.rst:206 -#: ../../library/struct.rst:208 ../../library/struct.rst:210 -#: ../../library/struct.rst:212 ../../library/struct.rst:214 -#: ../../library/struct.rst:216 ../../library/struct.rst:218 -#: ../../library/struct.rst:220 +#: ../../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 msgid "\\(2)" msgstr "\\(2)" -#: ../../library/struct.rst:204 +#: ../../library/struct.rst:215 msgid "``?``" msgstr "``?``" -#: ../../library/struct.rst:204 -msgid ":c:type:`_Bool`" -msgstr ":c:type:`_Bool`" +#: ../../library/struct.rst:215 +msgid ":c:expr:`_Bool`" +msgstr ":c:expr:`_Bool`" -#: ../../library/struct.rst:204 +#: ../../library/struct.rst:215 msgid "bool" msgstr "bool" -#: ../../library/struct.rst:204 +#: ../../library/struct.rst:215 msgid "\\(1)" msgstr "\\(1)" -#: ../../library/struct.rst:206 +#: ../../library/struct.rst:217 msgid "``h``" msgstr "``h``" -#: ../../library/struct.rst:206 -msgid ":c:type:`short`" -msgstr ":c:type:`short`" +#: ../../library/struct.rst:217 +msgid ":c:expr:`short`" +msgstr ":c:expr:`short`" -#: ../../library/struct.rst:206 ../../library/struct.rst:208 -#: ../../library/struct.rst:227 +#: ../../library/struct.rst:217 ../../library/struct.rst:219 +#: ../../library/struct.rst:238 msgid "2" msgstr "2" -#: ../../library/struct.rst:208 +#: ../../library/struct.rst:219 msgid "``H``" msgstr "``H``" -#: ../../library/struct.rst:208 -msgid ":c:type:`unsigned short`" -msgstr ":c:type:`unsigned short`" +#: ../../library/struct.rst:219 +msgid ":c:expr:`unsigned short`" +msgstr ":c:expr:`unsigned short`" -#: ../../library/struct.rst:210 +#: ../../library/struct.rst:221 msgid "``i``" msgstr "``i``" -#: ../../library/struct.rst:210 -msgid ":c:type:`int`" -msgstr ":c:type:`int`" +#: ../../library/struct.rst:221 +msgid ":c:expr:`int`" +msgstr ":c:expr:`int`" -#: ../../library/struct.rst:210 ../../library/struct.rst:212 -#: ../../library/struct.rst:214 ../../library/struct.rst:216 -#: ../../library/struct.rst:229 +#: ../../library/struct.rst:221 ../../library/struct.rst:223 +#: ../../library/struct.rst:225 ../../library/struct.rst:227 +#: ../../library/struct.rst:240 msgid "4" msgstr "4" -#: ../../library/struct.rst:212 +#: ../../library/struct.rst:223 msgid "``I``" msgstr "``I``" -#: ../../library/struct.rst:212 -msgid ":c:type:`unsigned int`" -msgstr ":c:type:`unsigned int`" +#: ../../library/struct.rst:223 +msgid ":c:expr:`unsigned int`" +msgstr ":c:expr:`unsigned int`" -#: ../../library/struct.rst:214 +#: ../../library/struct.rst:225 msgid "``l``" msgstr "``l``" -#: ../../library/struct.rst:214 -msgid ":c:type:`long`" -msgstr ":c:type:`long`" +#: ../../library/struct.rst:225 +msgid ":c:expr:`long`" +msgstr ":c:expr:`long`" -#: ../../library/struct.rst:216 +#: ../../library/struct.rst:227 msgid "``L``" msgstr "``L``" -#: ../../library/struct.rst:216 -msgid ":c:type:`unsigned long`" -msgstr ":c:type:`unsigned long`" +#: ../../library/struct.rst:227 +msgid ":c:expr:`unsigned long`" +msgstr ":c:expr:`unsigned long`" -#: ../../library/struct.rst:218 +#: ../../library/struct.rst:229 msgid "``q``" msgstr "``q``" -#: ../../library/struct.rst:218 -msgid ":c:type:`long long`" -msgstr ":c:type:`long long`" +#: ../../library/struct.rst:229 +msgid ":c:expr:`long long`" +msgstr ":c:expr:`long long`" -#: ../../library/struct.rst:218 ../../library/struct.rst:220 -#: ../../library/struct.rst:231 +#: ../../library/struct.rst:229 ../../library/struct.rst:231 +#: ../../library/struct.rst:242 msgid "8" msgstr "8" -#: ../../library/struct.rst:220 +#: ../../library/struct.rst:231 msgid "``Q``" msgstr "``Q``" -#: ../../library/struct.rst:220 -msgid ":c:type:`unsigned long long`" -msgstr ":c:type:`unsigned long long`" +#: ../../library/struct.rst:231 +msgid ":c:expr:`unsigned long long`" +msgstr ":c:expr:`unsigned long long`" -#: ../../library/struct.rst:223 +#: ../../library/struct.rst:234 msgid "``n``" msgstr "``n``" -#: ../../library/struct.rst:223 -msgid ":c:type:`ssize_t`" -msgstr ":c:type:`ssize_t`" +#: ../../library/struct.rst:234 +msgid ":c:expr:`ssize_t`" +msgstr "" -#: ../../library/struct.rst:223 ../../library/struct.rst:225 +#: ../../library/struct.rst:234 ../../library/struct.rst:236 msgid "\\(3)" msgstr "\\(3)" -#: ../../library/struct.rst:225 +#: ../../library/struct.rst:236 msgid "``N``" msgstr "``N``" -#: ../../library/struct.rst:225 -msgid ":c:type:`size_t`" -msgstr ":c:type:`size_t`" +#: ../../library/struct.rst:236 +msgid ":c:expr:`size_t`" +msgstr "" -#: ../../library/struct.rst:227 +#: ../../library/struct.rst:238 msgid "``e``" msgstr "``e``" -#: ../../library/struct.rst:227 +#: ../../library/struct.rst:238 msgid "\\(6)" msgstr "\\(6)" -#: ../../library/struct.rst:227 ../../library/struct.rst:229 -#: ../../library/struct.rst:231 +#: ../../library/struct.rst:238 ../../library/struct.rst:240 +#: ../../library/struct.rst:242 msgid "float" -msgstr "float" +msgstr "ponto flutuante" -#: ../../library/struct.rst:227 ../../library/struct.rst:229 -#: ../../library/struct.rst:231 +#: ../../library/struct.rst:238 ../../library/struct.rst:240 +#: ../../library/struct.rst:242 msgid "\\(4)" msgstr "\\(4)" -#: ../../library/struct.rst:229 +#: ../../library/struct.rst:240 msgid "``f``" msgstr "``f``" -#: ../../library/struct.rst:229 -msgid ":c:type:`float`" -msgstr ":c:type:`float`" +#: ../../library/struct.rst:240 +msgid ":c:expr:`float`" +msgstr ":c:expr:`float`" -#: ../../library/struct.rst:231 +#: ../../library/struct.rst:242 msgid "``d``" msgstr "``d``" -#: ../../library/struct.rst:231 -msgid ":c:type:`double`" -msgstr ":c:type:`double`" +#: ../../library/struct.rst:242 +msgid ":c:expr:`double`" +msgstr ":c:expr:`double`" -#: ../../library/struct.rst:233 +#: ../../library/struct.rst:244 msgid "``s``" msgstr "``s``" -#: ../../library/struct.rst:233 ../../library/struct.rst:235 -msgid ":c:type:`char[]`" -msgstr ":c:type:`char[]`" +#: ../../library/struct.rst:244 ../../library/struct.rst:246 +msgid ":c:expr:`char[]`" +msgstr "" -#: ../../library/struct.rst:233 ../../library/struct.rst:235 +#: ../../library/struct.rst:244 ../../library/struct.rst:246 msgid "bytes" -msgstr "" +msgstr "bytes" + +#: ../../library/struct.rst:244 +msgid "\\(9)" +msgstr "\\(9)" -#: ../../library/struct.rst:235 +#: ../../library/struct.rst:246 msgid "``p``" msgstr "``p``" -#: ../../library/struct.rst:237 +#: ../../library/struct.rst:246 +msgid "\\(8)" +msgstr "\\(8)" + +#: ../../library/struct.rst:248 msgid "``P``" msgstr "``P``" -#: ../../library/struct.rst:237 -msgid ":c:type:`void \\*`" -msgstr ":c:type:`void \\*`" +#: ../../library/struct.rst:248 +msgid ":c:expr:`void \\*`" +msgstr "" -#: ../../library/struct.rst:237 +#: ../../library/struct.rst:248 msgid "\\(5)" msgstr "\\(5)" -#: ../../library/struct.rst:240 +#: ../../library/struct.rst:251 msgid "Added support for the ``'n'`` and ``'N'`` formats." msgstr "" -#: ../../library/struct.rst:243 +#: ../../library/struct.rst:254 msgid "Added support for the ``'e'`` format." msgstr "" -#: ../../library/struct.rst:252 +#: ../../library/struct.rst:263 msgid "" -"The ``'?'`` conversion code corresponds to the :c:type:`_Bool` type defined " -"by C99. If this type is not available, it is simulated using a :c:type:" +"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." msgstr "" -#: ../../library/struct.rst:257 +#: ../../library/struct.rst:268 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." msgstr "" -#: ../../library/struct.rst:261 +#: ../../library/struct.rst:272 msgid "Added use of the :meth:`__index__` method for non-integers." msgstr "" -#: ../../library/struct.rst:265 +#: ../../library/struct.rst:276 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 " @@ -605,7 +640,7 @@ msgid "" "your application." msgstr "" -#: ../../library/struct.rst:271 +#: ../../library/struct.rst:282 msgid "" "For the ``'f'``, ``'d'`` and ``'e'`` conversion codes, the packed " "representation uses the IEEE 754 binary32, binary64 or binary16 format (for " @@ -613,7 +648,7 @@ msgid "" "format used by the platform." msgstr "" -#: ../../library/struct.rst:277 +#: ../../library/struct.rst:288 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 " @@ -622,7 +657,7 @@ msgid "" "ordering, so the ``'P'`` format is not available." msgstr "" -#: ../../library/struct.rst:284 +#: ../../library/struct.rst:295 msgid "" "The IEEE 754 binary16 \"half precision\" type was introduced in the 2008 " "revision of the `IEEE 754 standard `_. It has a sign " @@ -634,31 +669,52 @@ msgid "" "format `_ for more information." msgstr "" -#: ../../library/struct.rst:294 -msgid "" -"A format character may be preceded by an integral repeat count. For " -"example, the format string ``'4h'`` means exactly the same as ``'hhhh'``." +#: ../../library/struct.rst:305 +msgid "When packing, ``'x'`` inserts one NUL byte." msgstr "" -#: ../../library/struct.rst:297 +#: ../../library/struct.rst:308 msgid "" -"Whitespace characters between formats are ignored; a count and its format " -"must not contain whitespace though." +"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." msgstr "" -#: ../../library/struct.rst:300 +#: ../../library/struct.rst:320 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 " -"example, ``'10s'`` means a single 10-byte string, while ``'10c'`` means 10 " -"characters. If a count is not given, it defaults to 1. For packing, the " +"example, ``'10s'`` means a single 10-byte string mapping to or from a single " +"Python byte string, while ``'10c'`` means 10 separate one byte character " +"elements (e.g., ``cccccccccc``) mapping to or from ten different Python byte " +"objects. (See :ref:`struct-examples` for a concrete demonstration of the " +"difference.) If a count is not given, it defaults to 1. For packing, the " "string is truncated or padded with null bytes as appropriate to make it fit. " "For unpacking, the resulting bytes object always has exactly the specified " "number of bytes. As a special case, ``'0s'`` means a single, empty string " "(while ``'0c'`` means 0 characters)." msgstr "" -#: ../../library/struct.rst:309 +#: ../../library/struct.rst:333 +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 +msgid "" +"Whitespace characters between formats are ignored; a count and its format " +"must not contain whitespace though." +msgstr "" + +#: ../../library/struct.rst:339 msgid "" "When packing a value ``x`` using one of the integer formats (``'b'``, " "``'B'``, ``'h'``, ``'H'``, ``'i'``, ``'I'``, ``'l'``, ``'L'``, ``'q'``, " @@ -666,27 +722,13 @@ msgid "" "`struct.error` is raised." msgstr "" -#: ../../library/struct.rst:314 +#: ../../library/struct.rst:344 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:318 -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." -msgstr "" - -#: ../../library/struct.rst:331 +#: ../../library/struct.rst:350 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 " @@ -694,77 +736,173 @@ msgid "" "packed, and any non-zero value will be ``True`` when unpacking." msgstr "" -#: ../../library/struct.rst:341 +#: ../../library/struct.rst:360 msgid "Examples" msgstr "Exemplos" -#: ../../library/struct.rst:344 +#: ../../library/struct.rst:363 msgid "" -"All examples assume a native byte order, size, and alignment with a big-" -"endian machine." +"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:347 -msgid "A basic example of packing/unpacking three integers::" +#: ../../library/struct.rst:368 +msgid "" +"Pack and unpack integers of three different sizes, using big endian " +"ordering::" msgstr "" -#: ../../library/struct.rst:357 +#: ../../library/struct.rst:379 +msgid "Attempt to pack an integer which is too large for the defined field::" +msgstr "" + +#: ../../library/struct.rst:386 msgid "" -"Unpacked fields can be named by assigning them to variables or by wrapping " -"the result in a named tuple::" +"Demonstrate the difference between ``'s'`` and ``'c'`` format characters::" msgstr "" -#: ../../library/struct.rst:368 +#: ../../library/struct.rst:394 msgid "" -"The ordering of format characters may have an impact on size since the " -"padding needed to satisfy alignment requirements is different::" +"Unpacked fields can be named by assigning them to variables or by wrapping " +"the result in a named tuple::" msgstr "" -#: ../../library/struct.rst:380 +#: ../../library/struct.rst:405 msgid "" -"The following format ``'llh0l'`` specifies two pad bytes at the end, " -"assuming longs are aligned on 4-byte boundaries::" +"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 " +"inserting any desired padding. Note in the first ``pack`` call below that " +"three NUL bytes were added after the packed ``'#'`` to align the following " +"integer on a four-byte boundary. In this example, the output was produced on " +"a little endian machine::" msgstr "" -#: ../../library/struct.rst:386 +#: ../../library/struct.rst:422 msgid "" -"This only works when native size and alignment are in effect; standard size " -"and alignment does not enforce any alignment." +"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:393 +#: ../../library/struct.rst:432 msgid "Module :mod:`array`" msgstr "" -#: ../../library/struct.rst:393 +#: ../../library/struct.rst:432 msgid "Packed binary storage of homogeneous data." msgstr "" -#: ../../library/struct.rst:395 -msgid "Module :mod:`xdrlib`" -msgstr "Módulo :mod:`xdrlib`" +#: ../../library/struct.rst:435 +msgid "Module :mod:`json`" +msgstr "Módulo :mod:`json`" + +#: ../../library/struct.rst:435 +msgid "JSON encoder and decoder." +msgstr "" + +#: ../../library/struct.rst:437 +msgid "Module :mod:`pickle`" +msgstr "Módulo :mod:`pickle`" + +#: ../../library/struct.rst:438 +msgid "Python object serialization." +msgstr "" + +#: ../../library/struct.rst:444 +msgid "Applications" +msgstr "" + +#: ../../library/struct.rst:446 +msgid "" +"Two main applications for the :mod:`struct` module exist, data interchange " +"between Python and C code within an application or another application " +"compiled using the same compiler (:ref:`native formats`), and data interchange between applications using agreed upon data " +"layout (:ref:`standard formats`). Generally " +"speaking, the format strings constructed for these two domains are distinct." +msgstr "" + +#: ../../library/struct.rst:457 +msgid "Native Formats" +msgstr "" + +#: ../../library/struct.rst:459 +msgid "" +"When constructing format strings which mimic native layouts, the compiler " +"and machine architecture determine byte ordering and padding. In such cases, " +"the ``@`` format character should be used to specify native byte ordering " +"and data sizes. Internal pad bytes are normally inserted automatically. It " +"is possible that a zero-repeat format code will be needed at the end of a " +"format string to round up to the correct byte boundary for proper alignment " +"of consective chunks of data." +msgstr "" -#: ../../library/struct.rst:396 -msgid "Packing and unpacking of XDR data." +#: ../../library/struct.rst:467 +msgid "" +"Consider these two simple examples (on a 64-bit, little-endian machine)::" +msgstr "" + +#: ../../library/struct.rst:475 +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 +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 +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 +msgid "Standard Formats" +msgstr "" + +#: ../../library/struct.rst:494 +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 " +"they match the native order of a particular machine. For example, network " +"byte order is big-endian, while many popular CPUs are little-endian. By " +"defining this explicitly, the user need not care about the specifics of the " +"platform their code is running on. The first character should typically be " +"``<`` or ``>`` (or ``!``). Padding is the responsibility of the " +"programmer. The zero-repeat format character won't work. Instead, the user " +"must explicitly add ``'x'`` pad bytes where needed. Revisiting the examples " +"from the previous section, we have::" +msgstr "" + +#: ../../library/struct.rst:521 +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:402 +#: ../../library/struct.rst:536 msgid "Classes" msgstr "Classes" -#: ../../library/struct.rst:404 +#: ../../library/struct.rst:538 msgid "The :mod:`struct` module also defines the following type:" msgstr "" -#: ../../library/struct.rst:409 +#: ../../library/struct.rst:543 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 its " -"methods is more efficient than calling the :mod:`struct` functions with the " -"same format since the format string only needs to be compiled once." +"the format string *format*. Creating a ``Struct`` object once and calling " +"its methods is more efficient than calling module-level functions with the " +"same format since the format string is only compiled once." msgstr "" -#: ../../library/struct.rst:416 +#: ../../library/struct.rst:550 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 " @@ -772,48 +910,48 @@ msgid "" "`Struct` instance." msgstr "" -#: ../../library/struct.rst:421 +#: ../../library/struct.rst:555 msgid "Compiled Struct objects support the following methods and attributes:" msgstr "" -#: ../../library/struct.rst:425 +#: ../../library/struct.rst:559 msgid "" "Identical to the :func:`pack` function, using the compiled format. " "(``len(result)`` will equal :attr:`size`.)" msgstr "" -#: ../../library/struct.rst:431 +#: ../../library/struct.rst:565 msgid "Identical to the :func:`pack_into` function, using the compiled format." msgstr "" -#: ../../library/struct.rst:436 +#: ../../library/struct.rst:570 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:442 +#: ../../library/struct.rst:576 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`." msgstr "" -#: ../../library/struct.rst:449 +#: ../../library/struct.rst:583 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:456 +#: ../../library/struct.rst:590 msgid "The format string used to construct this Struct object." msgstr "" -#: ../../library/struct.rst:458 +#: ../../library/struct.rst:592 msgid "The format string type is now :class:`str` instead of :class:`bytes`." msgstr "" -#: ../../library/struct.rst:463 +#: ../../library/struct.rst:597 msgid "" "The calculated size of the struct (and hence of the bytes object produced by " "the :meth:`pack` method) corresponding to :attr:`format`." diff --git a/library/subprocess.po b/library/subprocess.po index 52ccea9bd..0c3ed014d 100644 --- a/library/subprocess.po +++ b/library/subprocess.po @@ -1,33 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, Python Software 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 -# Rafael Fontenelle , 2021 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.10\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-08-10 13:16+0000\n" -"PO-Revision-Date: 2021-06-28 01:14+0000\n" -"Last-Translator: Rafael Fontenelle , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2026-04-07 18:05+0000\n" +"PO-Revision-Date: 2025-09-22 15:58+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/subprocess.rst:2 msgid ":mod:`subprocess` --- Subprocess management" @@ -74,16 +68,7 @@ msgstr "" "mais avançados, a interface subjacente :class:`Popen` pode ser usada " "diretamente." -#: ../../library/subprocess.rst:36 -msgid "" -"The :func:`run` function was added in Python 3.5; if you need to retain " -"compatibility with older versions, see the :ref:`call-function-trio` section." -msgstr "" -"A função :func:`run` foi adicionada no Python 3.5; se você precisa manter a " -"compatibilidade com versões anteriores, veja a seção :ref:`call-function-" -"trio`." - -#: ../../library/subprocess.rst:45 +#: ../../library/subprocess.rst:42 msgid "" "Run the command described by *args*. Wait for command to complete, then " "return a :class:`CompletedProcess` instance." @@ -91,7 +76,7 @@ msgstr "" "Executa o comando descrito por *args*. Aguarda a conclusão do comando e " "retorna uma instância de :class:`CompletedProcess`." -#: ../../library/subprocess.rst:48 +#: ../../library/subprocess.rst:45 msgid "" "The arguments shown above are merely the most common ones, described below " "in :ref:`frequently-used-arguments` (hence the use of keyword-only notation " @@ -107,7 +92,7 @@ msgstr "" "passados para aquela interface. (*timeout*, *input*, *check* e " "*capture_output* não são.)" -#: ../../library/subprocess.rst:55 +#: ../../library/subprocess.rst:52 msgid "" "If *capture_output* is true, stdout and stderr will be captured. When used, " "the internal :class:`Popen` object is automatically created with " @@ -123,7 +108,7 @@ msgstr "" "capturar e combinar os dois fluxos em um, use ``stdout=PIPE`` e " "``stderr=STDOUT`` ao invés de *capture_output*." -#: ../../library/subprocess.rst:62 +#: ../../library/subprocess.rst:59 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:" @@ -134,7 +119,7 @@ msgstr "" "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:67 +#: ../../library/subprocess.rst:64 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 " @@ -148,7 +133,7 @@ msgstr "" "verdadeiro. Quando usado, o objeto internal :class:`Popen` é automaticamente " "criado com ``stdin=PIPE``, e o argumento *stdin* também não pode ser usado." -#: ../../library/subprocess.rst:73 +#: ../../library/subprocess.rst:70 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 " @@ -160,7 +145,7 @@ msgstr "" "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:78 +#: ../../library/subprocess.rst:75 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 " @@ -169,33 +154,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:84 +#: ../../library/subprocess.rst:81 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`." +"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`." msgstr "" -"Se *env* não for ``None``, deve ser um mapeamento que define as variáveis de " -"ambiente para o novo processo; eles são usados em vez do comportamento " +"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`." +"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:88 msgid "Examples::" msgstr "Exemplos::" -#: ../../library/subprocess.rst:107 +#: ../../library/subprocess.rst:106 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:110 msgid "" "Added the *text* parameter, as a more understandable alias of " "*universal_newlines*. Added the *capture_output* parameter." @@ -203,21 +192,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:115 ../../library/subprocess.rst:499 +#: ../../library/subprocess.rst:1187 ../../library/subprocess.rst:1227 +#: ../../library/subprocess.rst:1290 +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." +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:123 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:120 +#: ../../library/subprocess.rst:127 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:124 +#: ../../library/subprocess.rst:131 msgid "" "Exit status of the child process. Typically, an exit status of 0 indicates " "that it ran successfully." @@ -225,7 +228,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:127 ../../library/subprocess.rst:893 +#: ../../library/subprocess.rst:134 ../../library/subprocess.rst:934 msgid "" "A negative value ``-N`` indicates that the child was terminated by signal " "``N`` (POSIX only)." @@ -233,7 +236,7 @@ msgstr "" "Um valor negativo ``-N`` indica que o filho foi terminado pelo sinal ``N`` " "(POSIX apenas)." -#: ../../library/subprocess.rst:132 +#: ../../library/subprocess.rst:139 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 " @@ -243,7 +246,7 @@ msgstr "" "func:`run` foi chamada com uma codificação, erros ou text=True. ``None`` se " "stdout não foi capturado." -#: ../../library/subprocess.rst:136 +#: ../../library/subprocess.rst:143 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``." @@ -251,7 +254,7 @@ 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:142 +#: ../../library/subprocess.rst:149 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 " @@ -261,13 +264,13 @@ msgstr "" "func:`run` foi chamada com uma codificação, erros ou text=True. ``None`` se " "stderr não foi capturado." -#: ../../library/subprocess.rst:148 +#: ../../library/subprocess.rst:155 msgid "If :attr:`returncode` is non-zero, raise a :exc:`CalledProcessError`." msgstr "" "Se :attr:`returncode` é diferente de zero, levantar um :exc:" "`CalledProcessError`." -#: ../../library/subprocess.rst:154 +#: ../../library/subprocess.rst:161 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` " @@ -277,7 +280,7 @@ msgstr "" "*stderr* para :class:`Popen` e indica que o arquivo especial :data:`os." "devnull` será usado." -#: ../../library/subprocess.rst:163 +#: ../../library/subprocess.rst:170 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 " @@ -287,7 +290,7 @@ 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:170 +#: ../../library/subprocess.rst:177 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 " @@ -297,11 +300,11 @@ msgstr "" "`Popen` e indica que o erro padrão deve ir para o mesmo manipulador que a " "saída padrão." -#: ../../library/subprocess.rst:177 +#: ../../library/subprocess.rst:184 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:184 +#: ../../library/subprocess.rst:191 msgid "" "Subclass of :exc:`SubprocessError`, raised when a timeout expires while " "waiting for a child process." @@ -309,48 +312,58 @@ msgstr "" "Subclasse de :exc:`SubprocessError`, levantada quando um tempo limite expira " "enquanto espera por um processo filho." -#: ../../library/subprocess.rst:189 ../../library/subprocess.rst:226 +#: ../../library/subprocess.rst:196 ../../library/subprocess.rst:240 msgid "Command that was used to spawn the child process." msgstr "Comando que foi usado para gerar o processo filho." -#: ../../library/subprocess.rst:193 +#: ../../library/subprocess.rst:200 msgid "Timeout in seconds." msgstr "Tempo limite em segundos." -#: ../../library/subprocess.rst:197 ../../library/subprocess.rst:230 +#: ../../library/subprocess.rst:204 msgid "" "Output of the child process if it was captured by :func:`run` or :func:" -"`check_output`. Otherwise, ``None``." +"`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``." +"`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:202 ../../library/subprocess.rst:235 +#: ../../library/subprocess.rst:212 ../../library/subprocess.rst:249 msgid "Alias for output, for symmetry with :attr:`stderr`." msgstr "Apelido para a saída, para simetria com :attr:`stderr`." -#: ../../library/subprocess.rst:206 ../../library/subprocess.rst:239 +#: ../../library/subprocess.rst:216 msgid "" "Stderr output of the child process if it was captured by :func:`run`. " -"Otherwise, ``None``." +"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 stderr do processo filho se ele foi capturado por :func:`run`. Caso " -"contrário, ``None``." +"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:211 ../../library/subprocess.rst:242 +#: ../../library/subprocess.rst:223 ../../library/subprocess.rst:256 msgid "*stdout* and *stderr* attributes added" -msgstr "Atributos *stdout* e *stderr* adicionados" +msgstr "Adicionados os atributos *stdout* e *stderr*" -#: ../../library/subprocess.rst:216 +#: ../../library/subprocess.rst:228 msgid "" "Subclass of :exc:`SubprocessError`, raised when a process run by :func:" -"`check_call` or :func:`check_output` returns a non-zero exit status." +"`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` ou :func:`check_output` retorna um status de saída " -"diferente de zero." +"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:221 +#: ../../library/subprocess.rst:235 msgid "" "Exit status of the child process. If the process exited due to a signal, " "this will be the negative signal number." @@ -358,11 +371,27 @@ 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:249 +#: ../../library/subprocess.rst:244 +msgid "" +"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``." + +#: ../../library/subprocess.rst:253 +msgid "" +"Stderr output of the child process if it was captured by :func:`run`. " +"Otherwise, ``None``." +msgstr "" +"Saída stderr do processo filho se ele foi capturado por :func:`run`. Caso " +"contrário, ``None``." + +#: ../../library/subprocess.rst:263 msgid "Frequently Used Arguments" msgstr "Argumentos usados frequentemente" -#: ../../library/subprocess.rst:251 +#: ../../library/subprocess.rst:265 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 " @@ -375,7 +404,7 @@ msgstr "" "seguramente deixados em seus valores padrão. Os argumentos mais comumente " "necessários são:" -#: ../../library/subprocess.rst:256 +#: ../../library/subprocess.rst:270 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, " @@ -386,38 +415,28 @@ 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:264 +#: ../../library/subprocess.rst:278 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 file object, 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 child process " -"should be captured into the same file handle as for *stdout*." -msgstr "" -"*stdin*, *stdout* e *stderr* especificam o manipulador de arquivo de entrada " -"padrão, a saída padrão e de erro padrão do programa executado, " -"respectivamente. Os valores válidos são :data:`PIPE`, :data:`DEVNULL`, um " -"descritor de arquivo existente (um inteiro positivo), um objeto arquivo " -"existente e ``None``. :data:`PIPE` indica que um novo encadeamento para o " -"filho deve ser criado. :data:`DEVNULL` indica que o arquivo especial :data:" -"`os.devnull` será usado. Com as configurações padrão de ``None``, nenhum " -"redirecionamento ocorrerá; os manipuladores de arquivo do filho serão " -"herdados do pai. Além disso, *stderr* pode ser :data:`STDOUT`, o que indica " -"que os dados stderr do processo filho devem ser capturados no mesmo " -"manipulador de arquivo que para *stdout*." +"positive integer), an existing 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 child process should be captured into the same file " +"handle as for *stdout*." +msgstr "" -#: ../../library/subprocess.rst:278 +#: ../../library/subprocess.rst:293 msgid "" "If *encoding* or *errors* are specified, or *text* (also known as " "*universal_newlines*) is true, the file objects *stdin*, *stdout* and " @@ -425,12 +444,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`." -#: ../../library/subprocess.rst:284 +#: ../../library/subprocess.rst:299 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*, " @@ -445,7 +464,7 @@ msgstr "" "documentação da classe :class:`io.TextIOWrapper` quando o argumento " "*newline* para seu construtor é ``None``." -#: ../../library/subprocess.rst:290 +#: ../../library/subprocess.rst:305 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." @@ -454,16 +473,16 @@ msgstr "" "como fluxos binários. Nenhuma codificação ou conversão de final de linha é " "executada." -#: ../../library/subprocess.rst:293 +#: ../../library/subprocess.rst:308 msgid "Added *encoding* and *errors* parameters." msgstr "Adicionados os parâmetros *encoding* e *errors*." -#: ../../library/subprocess.rst:296 +#: ../../library/subprocess.rst:311 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:301 +#: ../../library/subprocess.rst:316 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." @@ -473,7 +492,7 @@ msgstr "" "stdout` e :attr:`Popen.stderr` não são atualizados pelo método :meth:`Popen." "communicate`." -#: ../../library/subprocess.rst:305 +#: ../../library/subprocess.rst:320 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 " @@ -496,7 +515,7 @@ msgstr "" "func:`os.walk`, :func:`os.path.expandvars`, :func:`os.path.expanduser` e :" "mod:`shutil`)." -#: ../../library/subprocess.rst:315 +#: ../../library/subprocess.rst:330 msgid "" "When *universal_newlines* is ``True``, the class uses the encoding :func:" "`locale.getpreferredencoding(False) ` instead " @@ -504,16 +523,16 @@ msgid "" "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." +"`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:323 ../../library/subprocess.rst:443 +#: ../../library/subprocess.rst:338 ../../library/subprocess.rst:458 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:325 +#: ../../library/subprocess.rst:340 msgid "" "These options, along with all of the other options, are described in more " "detail in the :class:`Popen` constructor documentation." @@ -521,11 +540,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:330 +#: ../../library/subprocess.rst:345 msgid "Popen Constructor" msgstr "Construtor Popen" -#: ../../library/subprocess.rst:332 +#: ../../library/subprocess.rst:347 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 " @@ -537,7 +556,7 @@ msgstr "" "desenvolvedores sejam capazes de lidar com os casos menos comuns não " "cobertos pelas funções de conveniência." -#: ../../library/subprocess.rst:346 +#: ../../library/subprocess.rst:361 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 " @@ -549,7 +568,7 @@ msgstr "" "Windows, a classe usa a função Windows ``CreateProcess()``. Os argumentos " "para :class:`Popen` são os seguintes." -#: ../../library/subprocess.rst:351 +#: ../../library/subprocess.rst:366 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 " @@ -567,16 +586,21 @@ 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:361 +#: ../../library/subprocess.rst:376 msgid "" -"For maximum reliability, use a fully-qualified path for the executable. To " +"For maximum reliability, use a fully qualified path for the executable. To " "search for an unqualified name on :envvar:`PATH`, use :meth:`shutil.which`. " "On all platforms, passing :data:`sys.executable` is the recommended way to " "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:367 +#: ../../library/subprocess.rst:382 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 " @@ -589,8 +613,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:378 +#: ../../library/subprocess.rst:393 msgid "" "An example of passing some arguments to an external program as a sequence " "is::" @@ -598,7 +631,7 @@ msgstr "" "Um exemplo de passagem de alguns argumentos para um programa externo como " "uma sequência é::" -#: ../../library/subprocess.rst:383 +#: ../../library/subprocess.rst:398 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 " @@ -608,7 +641,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:389 +#: ../../library/subprocess.rst:404 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 " @@ -618,7 +651,7 @@ msgstr "" "argumentos, especialmente em casos complexos. :meth:`shlex.split` pode " "ilustrar como determinar a tokenização correta para *args*::" -#: ../../library/subprocess.rst:401 +#: ../../library/subprocess.rst:416 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 " @@ -632,7 +665,7 @@ msgstr "" "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:407 +#: ../../library/subprocess.rst:422 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 " @@ -642,29 +675,35 @@ msgstr "" "maneira descrita em :ref:`converting-argument-sequence`. Isso ocorre porque " "o ``CreateProcess()`` subjacente opera em strings." -#: ../../library/subprocess.rst:411 +#: ../../library/subprocess.rst:426 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:415 +#: ../../library/subprocess.rst:430 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:420 +#: ../../library/subprocess.rst:435 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:424 +#: ../../library/subprocess.rst:439 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 " @@ -675,8 +714,16 @@ msgid "" "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:435 +#: ../../library/subprocess.rst:450 msgid "" "On Windows with ``shell=True``, the :envvar:`COMSPEC` environment variable " "specifies the default shell. The only time you need to specify " @@ -684,36 +731,48 @@ 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:445 +#: ../../library/subprocess.rst:460 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:449 +#: ../../library/subprocess.rst:464 msgid "" ":const:`0` means unbuffered (read and write are one system call and can " "return short)" msgstr "" -#: ../../library/subprocess.rst:451 +#: ../../library/subprocess.rst:466 msgid "" -":const:`1` means line buffered (only usable if ``universal_newlines=True`` i." -"e., in a text mode)" +":const:`1` means line buffered (only usable if ``text=True`` or " +"``universal_newlines=True``)" msgstr "" -#: ../../library/subprocess.rst:453 +#: ../../library/subprocess.rst:468 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:455 +#: ../../library/subprocess.rst:470 msgid "" "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:458 +#: ../../library/subprocess.rst:473 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 " @@ -722,7 +781,7 @@ msgid "" "of Python 2 as most code expected." msgstr "" -#: ../../library/subprocess.rst:465 +#: ../../library/subprocess.rst:480 msgid "" "The *executable* argument specifies a replacement program to execute. It " "is very seldom needed. When ``shell=False``, *executable* replaces the " @@ -734,38 +793,55 @@ msgid "" "POSIX the *executable* argument specifies a replacement shell for the " "default :file:`/bin/sh`." msgstr "" - -#: ../../library/subprocess.rst:475 +"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:490 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:478 +#: ../../library/subprocess.rst:493 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:482 +#: ../../library/subprocess.rst:505 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`, 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." +"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." msgstr "" -#: ../../library/subprocess.rst:493 +#: ../../library/subprocess.rst:517 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:499 +#: ../../library/subprocess.rst:523 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. " @@ -773,7 +849,7 @@ msgid "" "call into." msgstr "" -#: ../../library/subprocess.rst:507 +#: ../../library/subprocess.rst:531 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* parameter " @@ -781,15 +857,19 @@ msgid "" "setsid() in the child." msgstr "" -#: ../../library/subprocess.rst:514 +#: ../../library/subprocess.rst:538 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:519 +#: ../../library/subprocess.rst:543 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. " @@ -797,38 +877,38 @@ msgid "" "flag as described in :ref:`fd_inheritance`." msgstr "" -#: ../../library/subprocess.rst:524 +#: ../../library/subprocess.rst:548 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." msgstr "" -#: ../../library/subprocess.rst:528 +#: ../../library/subprocess.rst:552 msgid "" "The default for *close_fds* was changed from :const:`False` to what is " "described above." msgstr "" -#: ../../library/subprocess.rst:532 +#: ../../library/subprocess.rst:556 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." msgstr "" -#: ../../library/subprocess.rst:537 +#: ../../library/subprocess.rst:561 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)" msgstr "" -#: ../../library/subprocess.rst:541 +#: ../../library/subprocess.rst:565 msgid "The *pass_fds* parameter was added." msgstr "O parâmetro *pass_fds* foi adicionado." -#: ../../library/subprocess.rst:544 +#: ../../library/subprocess.rst:568 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:" @@ -837,40 +917,40 @@ msgid "" "executable path is a relative path." msgstr "" -#: ../../library/subprocess.rst:550 +#: ../../library/subprocess.rst:574 msgid "*cwd* parameter accepts a :term:`path-like object` on POSIX." msgstr "" -#: ../../library/subprocess.rst:553 +#: ../../library/subprocess.rst:577 msgid "*cwd* parameter accepts a :term:`path-like object` on Windows." msgstr "" -#: ../../library/subprocess.rst:556 +#: ../../library/subprocess.rst:580 msgid "*cwd* parameter accepts a bytes object on Windows." msgstr "" -#: ../../library/subprocess.rst:559 +#: ../../library/subprocess.rst:583 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:564 +#: ../../library/subprocess.rst:588 msgid "*restore_signals* was added." msgstr "*restore_signals* foi adicionado." -#: ../../library/subprocess.rst:567 +#: ../../library/subprocess.rst:591 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. (POSIX only)" msgstr "" -#: ../../library/subprocess.rst:570 +#: ../../library/subprocess.rst:594 msgid "*start_new_session* was added." msgstr "*start_new_session* foi adicionado." -#: ../../library/subprocess.rst:573 +#: ../../library/subprocess.rst:597 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 " @@ -879,12 +959,12 @@ msgid "" "passed verbatim. (POSIX only)" msgstr "" -#: ../../library/subprocess.rst:579 ../../library/subprocess.rst:588 -#: ../../library/subprocess.rst:597 ../../library/subprocess.rst:603 +#: ../../library/subprocess.rst:603 ../../library/subprocess.rst:612 +#: ../../library/subprocess.rst:627 ../../library/subprocess.rst:633 msgid ":ref:`Availability `: POSIX" -msgstr "" +msgstr ":ref:`Disponibilidade `: POSIX" -#: ../../library/subprocess.rst:582 +#: ../../library/subprocess.rst:606 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 " @@ -893,7 +973,7 @@ msgid "" "verbatim. (POSIX only)" msgstr "" -#: ../../library/subprocess.rst:591 +#: ../../library/subprocess.rst:615 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 " @@ -902,27 +982,36 @@ msgid "" "passed verbatim. (POSIX only)" msgstr "" -#: ../../library/subprocess.rst:600 +#: ../../library/subprocess.rst:623 +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:630 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:606 +#: ../../library/subprocess.rst:636 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." +"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`." msgstr "" -#: ../../library/subprocess.rst:612 +#: ../../library/subprocess.rst:644 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:618 +#: ../../library/subprocess.rst:650 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 " @@ -932,71 +1021,71 @@ msgid "" "in binary mode." msgstr "" -#: ../../library/subprocess.rst:624 +#: ../../library/subprocess.rst:656 msgid "*encoding* and *errors* were added." msgstr "*encoding* e *errors* foram adicionados." -#: ../../library/subprocess.rst:627 ../../library/subprocess.rst:1226 +#: ../../library/subprocess.rst:659 ../../library/subprocess.rst:1285 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:630 +#: ../../library/subprocess.rst:662 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:" msgstr "" -#: ../../library/subprocess.rst:634 +#: ../../library/subprocess.rst:666 msgid ":data:`CREATE_NEW_CONSOLE`" msgstr ":data:`CREATE_NEW_CONSOLE`" -#: ../../library/subprocess.rst:635 +#: ../../library/subprocess.rst:667 msgid ":data:`CREATE_NEW_PROCESS_GROUP`" msgstr ":data:`CREATE_NEW_PROCESS_GROUP`" -#: ../../library/subprocess.rst:636 +#: ../../library/subprocess.rst:668 msgid ":data:`ABOVE_NORMAL_PRIORITY_CLASS`" msgstr ":data:`ABOVE_NORMAL_PRIORITY_CLASS`" -#: ../../library/subprocess.rst:637 +#: ../../library/subprocess.rst:669 msgid ":data:`BELOW_NORMAL_PRIORITY_CLASS`" msgstr ":data:`BELOW_NORMAL_PRIORITY_CLASS`" -#: ../../library/subprocess.rst:638 +#: ../../library/subprocess.rst:670 msgid ":data:`HIGH_PRIORITY_CLASS`" msgstr ":data:`HIGH_PRIORITY_CLASS`" -#: ../../library/subprocess.rst:639 +#: ../../library/subprocess.rst:671 msgid ":data:`IDLE_PRIORITY_CLASS`" msgstr ":data:`IDLE_PRIORITY_CLASS`" -#: ../../library/subprocess.rst:640 +#: ../../library/subprocess.rst:672 msgid ":data:`NORMAL_PRIORITY_CLASS`" msgstr ":data:`NORMAL_PRIORITY_CLASS`" -#: ../../library/subprocess.rst:641 +#: ../../library/subprocess.rst:673 msgid ":data:`REALTIME_PRIORITY_CLASS`" msgstr ":data:`REALTIME_PRIORITY_CLASS`" -#: ../../library/subprocess.rst:642 +#: ../../library/subprocess.rst:674 msgid ":data:`CREATE_NO_WINDOW`" msgstr ":data:`CREATE_NO_WINDOW`" -#: ../../library/subprocess.rst:643 +#: ../../library/subprocess.rst:675 msgid ":data:`DETACHED_PROCESS`" msgstr ":data:`DETACHED_PROCESS`" -#: ../../library/subprocess.rst:644 +#: ../../library/subprocess.rst:676 msgid ":data:`CREATE_DEFAULT_ERROR_MODE`" msgstr ":data:`CREATE_DEFAULT_ERROR_MODE`" -#: ../../library/subprocess.rst:645 +#: ../../library/subprocess.rst:677 msgid ":data:`CREATE_BREAKAWAY_FROM_JOB`" msgstr ":data:`CREATE_BREAKAWAY_FROM_JOB`" -#: ../../library/subprocess.rst:647 +#: ../../library/subprocess.rst:679 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 " @@ -1004,24 +1093,24 @@ msgid "" "platforms will ignore this parameter." msgstr "" -#: ../../library/subprocess.rst:652 +#: ../../library/subprocess.rst:684 msgid "The ``pipesize`` parameter was added." msgstr "" -#: ../../library/subprocess.rst:655 +#: ../../library/subprocess.rst:687 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:662 +#: ../../library/subprocess.rst:694 msgid "" "Raises an :ref:`auditing event ` ``subprocess.Popen`` with " "arguments ``executable``, ``args``, ``cwd``, ``env``." msgstr "" -#: ../../library/subprocess.rst:664 +#: ../../library/subprocess.rst:696 msgid "" "Popen and the other functions in this module that use it raise an :ref:" "`auditing event ` ``subprocess.Popen`` with arguments " @@ -1029,11 +1118,11 @@ msgid "" "be a single string or a list of strings, depending on platform." msgstr "" -#: ../../library/subprocess.rst:669 +#: ../../library/subprocess.rst:701 msgid "Added context manager support." msgstr "Adicionado suporte a gerenciador de contexto." -#: ../../library/subprocess.rst:672 +#: ../../library/subprocess.rst:704 msgid "" "Popen destructor now emits a :exc:`ResourceWarning` warning if the child " "process is still running." @@ -1041,7 +1130,7 @@ msgstr "" "O destruidor Popen agora emite um aviso :exc:`ResourceWarning` se o processo " "filho ainda estiver em execução." -#: ../../library/subprocess.rst:676 +#: ../../library/subprocess.rst:708 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 " @@ -1050,11 +1139,11 @@ msgid "" "returncode`." msgstr "" -#: ../../library/subprocess.rst:685 +#: ../../library/subprocess.rst:717 msgid "Exceptions" msgstr "Exceções" -#: ../../library/subprocess.rst:687 +#: ../../library/subprocess.rst:719 msgid "" "Exceptions raised in the child process, before the new program has started " "to execute, will be re-raised in the parent." @@ -1062,7 +1151,7 @@ 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:690 +#: ../../library/subprocess.rst:722 msgid "" "The most common exception raised is :exc:`OSError`. This occurs, for " "example, when trying to execute a non-existent file. Applications should " @@ -1073,7 +1162,7 @@ msgid "" "subprocess." msgstr "" -#: ../../library/subprocess.rst:697 +#: ../../library/subprocess.rst:729 msgid "" "A :exc:`ValueError` will be raised if :class:`Popen` is called with invalid " "arguments." @@ -1081,7 +1170,7 @@ msgstr "" "A exceção :exc:`ValueError` será levantada se :class:`Popen` for chamado com " "argumentos inválidos." -#: ../../library/subprocess.rst:700 +#: ../../library/subprocess.rst:732 msgid "" ":func:`check_call` and :func:`check_output` will raise :exc:" "`CalledProcessError` if the called process returns a non-zero return code." @@ -1090,7 +1179,7 @@ msgstr "" "`CalledProcessError` se o processo chamado retornar um código de retorno " "diferente de zero." -#: ../../library/subprocess.rst:704 +#: ../../library/subprocess.rst:736 msgid "" "All of the functions and methods that accept a *timeout* parameter, such as :" "func:`call` and :meth:`Popen.communicate` will raise :exc:`TimeoutExpired` " @@ -1100,24 +1189,24 @@ msgstr "" "`call` e :meth:`Popen.communicate` levantarão :exc:`TimeoutExpired` se o " "tempo limite expirar antes de o processo terminar." -#: ../../library/subprocess.rst:708 +#: ../../library/subprocess.rst:740 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:710 +#: ../../library/subprocess.rst:742 msgid "The :exc:`SubprocessError` base class was added." msgstr "A classe base :exc:`SubprocessError` foi adicionada." -#: ../../library/subprocess.rst:716 +#: ../../library/subprocess.rst:748 msgid "Security Considerations" msgstr "Considerações de Segurança" -#: ../../library/subprocess.rst:718 +#: ../../library/subprocess.rst:750 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 " @@ -1127,34 +1216,45 @@ msgid "" "escaping." msgstr "" -#: ../../library/subprocess.rst:730 +#: ../../library/subprocess.rst:760 +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:770 msgid "Popen Objects" msgstr "Objetos Popen" -#: ../../library/subprocess.rst:732 +#: ../../library/subprocess.rst:772 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:737 +#: ../../library/subprocess.rst:777 msgid "" "Check if child process has terminated. Set and return :attr:`~Popen." "returncode` attribute. Otherwise, returns ``None``." msgstr "" -#: ../../library/subprocess.rst:743 +#: ../../library/subprocess.rst:783 msgid "" "Wait for child process to terminate. Set and return :attr:`~Popen." "returncode` attribute." msgstr "" -#: ../../library/subprocess.rst:746 +#: ../../library/subprocess.rst:786 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." msgstr "" -#: ../../library/subprocess.rst:752 +#: ../../library/subprocess.rst:792 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 " @@ -1162,20 +1262,20 @@ msgid "" "when using pipes to avoid that." msgstr "" -#: ../../library/subprocess.rst:759 +#: ../../library/subprocess.rst:799 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`." msgstr "" -#: ../../library/subprocess.rst:763 ../../library/subprocess.rst:804 -#: ../../library/subprocess.rst:1141 ../../library/subprocess.rst:1171 -#: ../../library/subprocess.rst:1217 +#: ../../library/subprocess.rst:803 ../../library/subprocess.rst:844 +#: ../../library/subprocess.rst:1182 ../../library/subprocess.rst:1222 +#: ../../library/subprocess.rst:1276 msgid "*timeout* was added." msgstr "*timeout* foi adicionado." -#: ../../library/subprocess.rst:768 +#: ../../library/subprocess.rst:808 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 " @@ -1185,13 +1285,13 @@ msgid "" "must be a string. Otherwise, it must be bytes." msgstr "" -#: ../../library/subprocess.rst:775 +#: ../../library/subprocess.rst:815 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:779 +#: ../../library/subprocess.rst:819 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 " @@ -1199,59 +1299,61 @@ msgid "" "and/or ``stderr=PIPE`` too." msgstr "" -#: ../../library/subprocess.rst:784 +#: ../../library/subprocess.rst:824 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." msgstr "" -#: ../../library/subprocess.rst:788 +#: ../../library/subprocess.rst:828 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:801 +#: ../../library/subprocess.rst:841 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:810 +#: ../../library/subprocess.rst:850 msgid "Sends the signal *signal* to the child." msgstr "Envia o sinal *signal* para o filho." -#: ../../library/subprocess.rst:812 +#: ../../library/subprocess.rst:852 msgid "Do nothing if the process completed." msgstr "Não faz nada se o processo for concluído." -#: ../../library/subprocess.rst:816 +#: ../../library/subprocess.rst:856 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:823 +#: ../../library/subprocess.rst:863 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." msgstr "" -#: ../../library/subprocess.rst:830 +#: ../../library/subprocess.rst:870 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:834 -msgid "The following attributes are also available:" -msgstr "Os seguintes atributos também estão disponíveis:" +#: ../../library/subprocess.rst:874 +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:838 +#: ../../library/subprocess.rst:879 msgid "" "The *args* argument as it was passed to :class:`Popen` -- a sequence of " "program arguments or else a single string." @@ -1259,36 +1361,36 @@ 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:845 +#: ../../library/subprocess.rst:886 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* " -"arguments were specified or the *universal_newlines* argument was ``True``, " -"the stream is a text stream, otherwise it is a byte stream. If the *stdin* " -"argument was not :data:`PIPE`, this attribute is ``None``." +"arguments were specified or the *text* or *universal_newlines* argument was " +"``True``, the stream is a text stream, otherwise it is a byte stream. If the " +"*stdin* argument was not :data:`PIPE`, this attribute is ``None``." msgstr "" -#: ../../library/subprocess.rst:854 +#: ../../library/subprocess.rst:895 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 " "output from the child process. If the *encoding* or *errors* arguments were " -"specified or the *universal_newlines* argument was ``True``, the stream is a " -"text stream, otherwise it is a byte stream. If the *stdout* argument was " -"not :data:`PIPE`, this attribute is ``None``." +"specified or the *text* or *universal_newlines* argument was ``True``, the " +"stream is a text stream, otherwise it is a byte stream. If the *stdout* " +"argument was not :data:`PIPE`, this attribute is ``None``." msgstr "" -#: ../../library/subprocess.rst:864 +#: ../../library/subprocess.rst:905 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 " "error output from the child process. If the *encoding* or *errors* arguments " -"were specified or the *universal_newlines* argument was ``True``, the stream " -"is a text stream, otherwise it is a byte stream. If the *stderr* argument " -"was not :data:`PIPE`, this attribute is ``None``." +"were specified or the *text* or *universal_newlines* argument was ``True``, " +"the stream is a text stream, otherwise it is a byte stream. If the *stderr* " +"argument was not :data:`PIPE`, this attribute is ``None``." msgstr "" -#: ../../library/subprocess.rst:873 +#: ../../library/subprocess.rst:914 msgid "" "Use :meth:`~Popen.communicate` rather than :attr:`.stdin.write `, :attr:`.stdout.read ` or :attr:`.stderr.read `__ structure is used for :class:`Popen` " @@ -1333,38 +1435,38 @@ msgid "" "only arguments." msgstr "" -#: ../../library/subprocess.rst:911 +#: ../../library/subprocess.rst:952 msgid "Keyword-only argument support was added." msgstr "" -#: ../../library/subprocess.rst:916 +#: ../../library/subprocess.rst:957 msgid "" "A bit field that determines whether certain :class:`STARTUPINFO` attributes " "are used when the process creates a window. ::" msgstr "" -#: ../../library/subprocess.rst:924 +#: ../../library/subprocess.rst:965 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:931 +#: ../../library/subprocess.rst:972 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:938 +#: ../../library/subprocess.rst:979 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:944 +#: ../../library/subprocess.rst:985 msgid "" "If :attr:`dwFlags` specifies :data:`STARTF_USESHOWWINDOW`, this attribute " "can be any of the values that can be specified in the ``nCmdShow`` parameter " @@ -1373,34 +1475,34 @@ msgid "" "Otherwise, this attribute is ignored." msgstr "" -#: ../../library/subprocess.rst:951 +#: ../../library/subprocess.rst:992 msgid "" ":data:`SW_HIDE` is provided for this attribute. It is used when :class:" "`Popen` is called with ``shell=True``." msgstr "" -#: ../../library/subprocess.rst:956 +#: ../../library/subprocess.rst:997 msgid "" "A dictionary of additional attributes for process creation as given in " "``STARTUPINFOEX``, see `UpdateProcThreadAttribute `__." msgstr "" -#: ../../library/subprocess.rst:960 +#: ../../library/subprocess.rst:1001 msgid "Supported attributes:" msgstr "Atributos suportados:" -#: ../../library/subprocess.rst:978 +#: ../../library/subprocess.rst:1019 msgid "**handle_list**" msgstr "**handle_list**" -#: ../../library/subprocess.rst:963 +#: ../../library/subprocess.rst:1004 msgid "" "Sequence of handles that will be inherited. *close_fds* must be true if non-" "empty." msgstr "" -#: ../../library/subprocess.rst:966 +#: ../../library/subprocess.rst:1007 msgid "" "The handles must be temporarily made inheritable by :func:`os." "set_handle_inheritable` when passed to the :class:`Popen` constructor, else :" @@ -1408,7 +1510,7 @@ msgid "" "``ERROR_INVALID_PARAMETER`` (87)." msgstr "" -#: ../../library/subprocess.rst:973 +#: ../../library/subprocess.rst:1014 msgid "" "In a multithreaded process, use caution to avoid leaking handles that are " "marked inheritable when combining this feature with concurrent calls to " @@ -1417,97 +1519,97 @@ msgid "" "temporarily creates inheritable handles." msgstr "" -#: ../../library/subprocess.rst:983 +#: ../../library/subprocess.rst:1024 msgid "Windows Constants" msgstr "Constantes do Windows" -#: ../../library/subprocess.rst:985 +#: ../../library/subprocess.rst:1026 msgid "The :mod:`subprocess` module exposes the following constants." msgstr "" -#: ../../library/subprocess.rst:989 +#: ../../library/subprocess.rst:1030 msgid "" "The standard input device. Initially, this is the console input buffer, " "``CONIN$``." msgstr "" -#: ../../library/subprocess.rst:994 +#: ../../library/subprocess.rst:1035 msgid "" "The standard output device. Initially, this is the active console screen " "buffer, ``CONOUT$``." msgstr "" -#: ../../library/subprocess.rst:999 +#: ../../library/subprocess.rst:1040 msgid "" "The standard error device. Initially, this is the active console screen " "buffer, ``CONOUT$``." msgstr "" -#: ../../library/subprocess.rst:1004 +#: ../../library/subprocess.rst:1045 msgid "Hides the window. Another window will be activated." msgstr "Oculta a janela. Outra janela será ativada." -#: ../../library/subprocess.rst:1008 +#: ../../library/subprocess.rst:1049 msgid "" "Specifies that the :attr:`STARTUPINFO.hStdInput`, :attr:`STARTUPINFO." "hStdOutput`, and :attr:`STARTUPINFO.hStdError` attributes contain additional " "information." msgstr "" -#: ../../library/subprocess.rst:1014 +#: ../../library/subprocess.rst:1055 msgid "" "Specifies that the :attr:`STARTUPINFO.wShowWindow` attribute contains " "additional information." msgstr "" -#: ../../library/subprocess.rst:1019 +#: ../../library/subprocess.rst:1060 msgid "" "The new process has a new console, instead of inheriting its parent's " "console (the default)." msgstr "" -#: ../../library/subprocess.rst:1024 +#: ../../library/subprocess.rst:1065 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:1028 +#: ../../library/subprocess.rst:1069 msgid "This flag is ignored if :data:`CREATE_NEW_CONSOLE` is specified." msgstr "" -#: ../../library/subprocess.rst:1032 +#: ../../library/subprocess.rst:1073 msgid "" "A :class:`Popen` ``creationflags`` parameter to specify that a new process " "will have an above average priority." msgstr "" -#: ../../library/subprocess.rst:1039 +#: ../../library/subprocess.rst:1080 msgid "" "A :class:`Popen` ``creationflags`` parameter to specify that a new process " "will have a below average priority." msgstr "" -#: ../../library/subprocess.rst:1046 +#: ../../library/subprocess.rst:1087 msgid "" "A :class:`Popen` ``creationflags`` parameter to specify that a new process " "will have a high priority." msgstr "" -#: ../../library/subprocess.rst:1053 +#: ../../library/subprocess.rst:1094 msgid "" "A :class:`Popen` ``creationflags`` parameter to specify that a new process " "will have an idle (lowest) priority." msgstr "" -#: ../../library/subprocess.rst:1060 +#: ../../library/subprocess.rst:1101 msgid "" "A :class:`Popen` ``creationflags`` parameter to specify that a new process " "will have an normal priority. (default)" msgstr "" -#: ../../library/subprocess.rst:1067 +#: ../../library/subprocess.rst:1108 msgid "" "A :class:`Popen` ``creationflags`` parameter to specify that a new process " "will have realtime priority. You should almost never use " @@ -1517,20 +1619,20 @@ msgid "" "perform brief tasks that should have limited interruptions." msgstr "" -#: ../../library/subprocess.rst:1078 +#: ../../library/subprocess.rst:1119 msgid "" "A :class:`Popen` ``creationflags`` parameter to specify that a new process " "will not create a window." msgstr "" -#: ../../library/subprocess.rst:1085 +#: ../../library/subprocess.rst:1126 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:1093 +#: ../../library/subprocess.rst:1134 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 " @@ -1538,17 +1640,17 @@ msgid "" "multithreaded shell applications that run with hard errors disabled." msgstr "" -#: ../../library/subprocess.rst:1103 +#: ../../library/subprocess.rst:1144 msgid "" "A :class:`Popen` ``creationflags`` parameter to specify that a new process " "is not associated with the job." msgstr "" -#: ../../library/subprocess.rst:1111 +#: ../../library/subprocess.rst:1152 msgid "Older high-level API" msgstr "API de alto nível mais antiga" -#: ../../library/subprocess.rst:1113 +#: ../../library/subprocess.rst:1154 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 " @@ -1558,22 +1660,22 @@ msgstr "" "subprocesso. Agora você pode usar :func:`run` em muitos casos, mas muitos " "códigos existentes chamam essas funções." -#: ../../library/subprocess.rst:1120 +#: ../../library/subprocess.rst:1161 msgid "" "Run the command described by *args*. Wait for command to complete, then " "return the :attr:`~Popen.returncode` attribute." msgstr "" -#: ../../library/subprocess.rst:1123 ../../library/subprocess.rst:1153 +#: ../../library/subprocess.rst:1164 ../../library/subprocess.rst:1204 msgid "" "Code needing to capture stdout or stderr should use :func:`run` instead::" msgstr "" -#: ../../library/subprocess.rst:1127 ../../library/subprocess.rst:1157 +#: ../../library/subprocess.rst:1168 ../../library/subprocess.rst:1208 msgid "To suppress stdout or stderr, supply a value of :data:`DEVNULL`." msgstr "" -#: ../../library/subprocess.rst:1129 ../../library/subprocess.rst:1159 +#: ../../library/subprocess.rst:1170 ../../library/subprocess.rst:1210 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 " @@ -1581,26 +1683,27 @@ msgid "" "to that interface." msgstr "" -#: ../../library/subprocess.rst:1136 ../../library/subprocess.rst:1166 +#: ../../library/subprocess.rst:1177 ../../library/subprocess.rst:1217 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:1148 +#: ../../library/subprocess.rst:1197 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." +"`~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:1180 +#: ../../library/subprocess.rst:1239 msgid "Run command with arguments and return its output." msgstr "Executa o comando com argumentos e retorna sua saída." -#: ../../library/subprocess.rst:1182 +#: ../../library/subprocess.rst:1241 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:" @@ -1608,11 +1711,11 @@ msgid "" "`~CalledProcessError.output` attribute." msgstr "" -#: ../../library/subprocess.rst:1187 +#: ../../library/subprocess.rst:1246 msgid "This is equivalent to::" msgstr "Isso equivale a::" -#: ../../library/subprocess.rst:1191 +#: ../../library/subprocess.rst:1250 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 " @@ -1622,52 +1725,52 @@ msgid "" "using the parent's standard input file handle." msgstr "" -#: ../../library/subprocess.rst:1198 +#: ../../library/subprocess.rst:1257 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:1202 +#: ../../library/subprocess.rst:1261 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:1206 +#: ../../library/subprocess.rst:1265 msgid "" "To also capture standard error in the result, use ``stderr=subprocess." "STDOUT``::" msgstr "" -#: ../../library/subprocess.rst:1220 +#: ../../library/subprocess.rst:1279 msgid "Support for the *input* keyword argument was added." msgstr "" -#: ../../library/subprocess.rst:1223 +#: ../../library/subprocess.rst:1282 msgid "*encoding* and *errors* were added. See :func:`run` for details." msgstr "" -#: ../../library/subprocess.rst:1233 +#: ../../library/subprocess.rst:1300 msgid "Replacing Older Functions with the :mod:`subprocess` Module" msgstr "" -#: ../../library/subprocess.rst:1235 +#: ../../library/subprocess.rst:1302 msgid "" "In this section, \"a becomes b\" means that b can be used as a replacement " "for a." msgstr "" -#: ../../library/subprocess.rst:1239 +#: ../../library/subprocess.rst:1306 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." msgstr "" -#: ../../library/subprocess.rst:1243 +#: ../../library/subprocess.rst:1310 msgid "" "In addition, the replacements using :func:`check_output` will fail with a :" "exc:`CalledProcessError` if the requested operation produces a non-zero " @@ -1675,134 +1778,134 @@ msgid "" "output` attribute of the raised exception." msgstr "" -#: ../../library/subprocess.rst:1248 +#: ../../library/subprocess.rst:1315 msgid "" "In the following examples, we assume that the relevant functions have " "already been imported from the :mod:`subprocess` module." msgstr "" -#: ../../library/subprocess.rst:1253 +#: ../../library/subprocess.rst:1320 msgid "Replacing :program:`/bin/sh` shell command substitution" msgstr "" -#: ../../library/subprocess.rst:1259 ../../library/subprocess.rst:1270 -#: ../../library/subprocess.rst:1287 +#: ../../library/subprocess.rst:1326 ../../library/subprocess.rst:1337 +#: ../../library/subprocess.rst:1354 msgid "becomes::" msgstr "torna-se::" -#: ../../library/subprocess.rst:1264 +#: ../../library/subprocess.rst:1331 msgid "Replacing shell pipeline" msgstr "" -#: ../../library/subprocess.rst:1277 +#: ../../library/subprocess.rst:1344 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:1280 +#: ../../library/subprocess.rst:1347 msgid "" "Alternatively, for trusted input, the shell's own pipeline support may still " "be used directly:" msgstr "" -#: ../../library/subprocess.rst:1293 +#: ../../library/subprocess.rst:1360 msgid "Replacing :func:`os.system`" msgstr "Substituindo :func:`os.system`" -#: ../../library/subprocess.rst:1301 +#: ../../library/subprocess.rst:1368 msgid "Notes:" msgstr "Notas:" -#: ../../library/subprocess.rst:1303 +#: ../../library/subprocess.rst:1370 msgid "Calling the program through the shell is usually not required." msgstr "" -#: ../../library/subprocess.rst:1304 +#: ../../library/subprocess.rst:1371 msgid "" "The :func:`call` return value is encoded differently to that of :func:`os." "system`." msgstr "" -#: ../../library/subprocess.rst:1307 +#: ../../library/subprocess.rst:1374 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." msgstr "" -#: ../../library/subprocess.rst:1311 +#: ../../library/subprocess.rst:1378 msgid "A more realistic example would look like this::" msgstr "Um exemplo mais realista ficaria assim::" -#: ../../library/subprocess.rst:1324 +#: ../../library/subprocess.rst:1391 msgid "Replacing the :func:`os.spawn ` family" msgstr "" -#: ../../library/subprocess.rst:1326 +#: ../../library/subprocess.rst:1393 msgid "P_NOWAIT example::" msgstr "Exemplo P_NOWAIT::" -#: ../../library/subprocess.rst:1332 +#: ../../library/subprocess.rst:1399 msgid "P_WAIT example::" msgstr "Exemplo P_WAIT::" -#: ../../library/subprocess.rst:1338 +#: ../../library/subprocess.rst:1405 msgid "Vector example::" msgstr "Exemplo de vetor::" -#: ../../library/subprocess.rst:1344 +#: ../../library/subprocess.rst:1411 msgid "Environment example::" msgstr "Exemplo de ambiente::" -#: ../../library/subprocess.rst:1353 +#: ../../library/subprocess.rst:1420 msgid "Replacing :func:`os.popen`, :func:`os.popen2`, :func:`os.popen3`" msgstr "" -#: ../../library/subprocess.rst:1383 +#: ../../library/subprocess.rst:1450 msgid "Return code handling translates as follows::" msgstr "" -#: ../../library/subprocess.rst:1399 +#: ../../library/subprocess.rst:1466 msgid "Replacing functions from the :mod:`popen2` module" msgstr "" -#: ../../library/subprocess.rst:1403 +#: ../../library/subprocess.rst:1470 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:1422 +#: ../../library/subprocess.rst:1489 msgid "" ":class:`popen2.Popen3` and :class:`popen2.Popen4` basically work as :class:" "`subprocess.Popen`, except that:" msgstr "" -#: ../../library/subprocess.rst:1425 +#: ../../library/subprocess.rst:1492 msgid ":class:`Popen` raises an exception if the execution fails." msgstr "" -#: ../../library/subprocess.rst:1427 +#: ../../library/subprocess.rst:1494 msgid "The *capturestderr* argument is replaced with the *stderr* argument." msgstr "" -#: ../../library/subprocess.rst:1429 +#: ../../library/subprocess.rst:1496 msgid "``stdin=PIPE`` and ``stdout=PIPE`` must be specified." msgstr "" -#: ../../library/subprocess.rst:1431 +#: ../../library/subprocess.rst:1498 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:1437 +#: ../../library/subprocess.rst:1504 msgid "Legacy Shell Invocation Functions" msgstr "" -#: ../../library/subprocess.rst:1439 +#: ../../library/subprocess.rst:1506 msgid "" "This module also provides the following legacy functions from the 2.x " "``commands`` module. These operations implicitly invoke the system shell and " @@ -1810,92 +1913,92 @@ msgid "" "handling consistency are valid for these functions." msgstr "" -#: ../../library/subprocess.rst:1446 +#: ../../library/subprocess.rst:1513 msgid "Return ``(exitcode, output)`` of executing *cmd* in a shell." msgstr "" -#: ../../library/subprocess.rst:1448 +#: ../../library/subprocess.rst:1515 msgid "" "Execute the string *cmd* in a shell with :meth:`Popen.check_output` and " "return a 2-tuple ``(exitcode, output)``. The locale encoding is used; see " "the notes on :ref:`frequently-used-arguments` for more details." msgstr "" -#: ../../library/subprocess.rst:1452 +#: ../../library/subprocess.rst:1519 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:1466 ../../library/subprocess.rst:1486 +#: ../../library/subprocess.rst:1533 ../../library/subprocess.rst:1553 msgid ":ref:`Availability `: POSIX & Windows." msgstr ":ref:`Disponibilidade `: POSIX e Windows." -#: ../../library/subprocess.rst:1467 +#: ../../library/subprocess.rst:1534 msgid "Windows support was added." msgstr "Suporte ao Windows foi adicionado." -#: ../../library/subprocess.rst:1470 +#: ../../library/subprocess.rst:1537 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:1477 +#: ../../library/subprocess.rst:1544 msgid "Return output (stdout and stderr) of executing *cmd* in a shell." msgstr "" -#: ../../library/subprocess.rst:1479 +#: ../../library/subprocess.rst:1546 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:1487 +#: ../../library/subprocess.rst:1554 msgid "Windows support added" msgstr "Suporte para Windows adicionado." -#: ../../library/subprocess.rst:1492 +#: ../../library/subprocess.rst:1559 msgid "Notes" msgstr "Notas" -#: ../../library/subprocess.rst:1497 +#: ../../library/subprocess.rst:1564 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:1499 +#: ../../library/subprocess.rst:1566 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:1503 +#: ../../library/subprocess.rst:1570 msgid "" "Arguments are delimited by white space, which is either a space or a tab." msgstr "" -#: ../../library/subprocess.rst:1506 +#: ../../library/subprocess.rst:1573 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:1511 +#: ../../library/subprocess.rst:1578 msgid "" "A double quotation mark preceded by a backslash is interpreted as a literal " "double quotation mark." msgstr "" -#: ../../library/subprocess.rst:1514 +#: ../../library/subprocess.rst:1581 msgid "" "Backslashes are interpreted literally, unless they immediately precede a " "double quotation mark." msgstr "" -#: ../../library/subprocess.rst:1517 +#: ../../library/subprocess.rst:1584 msgid "" "If backslashes immediately precede a double quotation mark, every pair of " "backslashes is interpreted as a literal backslash. If the number of " @@ -1903,10 +2006,10 @@ msgid "" "mark as described in rule 3." msgstr "" -#: ../../library/subprocess.rst:1526 +#: ../../library/subprocess.rst:1593 msgid ":mod:`shlex`" msgstr ":mod:`shlex`" -#: ../../library/subprocess.rst:1527 +#: ../../library/subprocess.rst:1594 msgid "Module which provides function to parse and escape command lines." msgstr "" diff --git a/library/sunau.po b/library/sunau.po index 8a8bbdfd5..6d464c480 100644 --- a/library/sunau.po +++ b/library/sunau.po @@ -1,39 +1,45 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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 -# (Douglas da Silva) , 2021 -# i17obot , 2021 +# python-doc bot, 2025 # #, 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:14+0000\n" -"Last-Translator: i17obot , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:58+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/sunau.rst:2 msgid ":mod:`sunau` --- Read and write Sun AU files" msgstr ":mod:`sunau` --- Lê e escreve arquivos AU da Sun" -#: ../../library/sunau.rst:9 +#: ../../library/sunau.rst:10 msgid "**Source code:** :source:`Lib/sunau.py`" msgstr "**Código-fonte:** :source:`Lib/sunau.py`" -#: ../../library/sunau.rst:13 +#: ../../library/sunau.rst:12 +msgid "" +"The :mod:`sunau` module is deprecated (see :pep:`PEP 594 <594#sunau>` for " +"details)." +msgstr "" +"O módulo :mod:`sunau` foi descontinuado (veja :pep:`PEP 594 <594#sunau>` " +"para mais detalhes)." + +#: ../../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:" @@ -43,7 +49,7 @@ msgstr "" "som AU da Sun. Observe que este módulo é compatível com a interface dos " "módulos :mod:`aifc` e :mod:`wave`." -#: ../../library/sunau.rst:17 +#: ../../library/sunau.rst:22 msgid "" "An audio file consists of a header followed by the data. The fields of the " "header are:" @@ -51,74 +57,74 @@ msgstr "" "Um arquivo de áudio consiste em um cabeçalho seguido pelos dados. Os campos " "do cabeçalho são:" -#: ../../library/sunau.rst:21 +#: ../../library/sunau.rst:26 msgid "Field" msgstr "Campo" -#: ../../library/sunau.rst:21 +#: ../../library/sunau.rst:26 msgid "Contents" msgstr "Conteúdo" -#: ../../library/sunau.rst:23 +#: ../../library/sunau.rst:28 msgid "magic word" msgstr "palavra mágica" -#: ../../library/sunau.rst:23 +#: ../../library/sunau.rst:28 msgid "The four bytes ``.snd``." msgstr "O ``.snd`` da quatro bytes." -#: ../../library/sunau.rst:25 +#: ../../library/sunau.rst:30 msgid "header size" msgstr "tamanho do cabeçalho" -#: ../../library/sunau.rst:25 +#: ../../library/sunau.rst:30 msgid "Size of the header, including info, in bytes." msgstr "Tamanho do cabeçalho, incluindo informações, em bytes." -#: ../../library/sunau.rst:27 +#: ../../library/sunau.rst:32 msgid "data size" msgstr "tamanho dos dados" -#: ../../library/sunau.rst:27 +#: ../../library/sunau.rst:32 msgid "Physical size of the data, in bytes." msgstr "Tamanho físico dos dados, em bytes." -#: ../../library/sunau.rst:29 +#: ../../library/sunau.rst:34 msgid "encoding" msgstr "codificação" -#: ../../library/sunau.rst:29 +#: ../../library/sunau.rst:34 msgid "Indicates how the audio samples are encoded." msgstr "Indica como as amostras de áudio estão codificadas." -#: ../../library/sunau.rst:31 +#: ../../library/sunau.rst:36 msgid "sample rate" msgstr "taxa de amostra" -#: ../../library/sunau.rst:31 +#: ../../library/sunau.rst:36 msgid "The sampling rate." msgstr "A taxa de amostra." -#: ../../library/sunau.rst:33 +#: ../../library/sunau.rst:38 msgid "# of channels" msgstr "nº de canais" -#: ../../library/sunau.rst:33 +#: ../../library/sunau.rst:38 msgid "The number of channels in the samples." msgstr "O número de canais nas amostras." -#: ../../library/sunau.rst:35 +#: ../../library/sunau.rst:40 msgid "info" msgstr "informações" -#: ../../library/sunau.rst:35 +#: ../../library/sunau.rst:40 msgid "" "ASCII string giving a description of the audio file (padded with null bytes)." msgstr "" "Uma string ASCII dando uma descrição do arquivo de áudio (preenchendo com " "bytes nulos)." -#: ../../library/sunau.rst:39 +#: ../../library/sunau.rst:44 msgid "" "Apart from the info field, all header fields are 4 bytes in size. They are " "all 32-bit unsigned integers encoded in big-endian byte order." @@ -127,11 +133,11 @@ msgstr "" "tamanho. Eles são todos inteiros sem sinal de 32 bits, codificados na ordem " "de bytes big-endian." -#: ../../library/sunau.rst:42 +#: ../../library/sunau.rst:47 msgid "The :mod:`sunau` module defines the following functions:" msgstr "O módulo :mod:`sunau` define as seguintes funções:" -#: ../../library/sunau.rst:47 +#: ../../library/sunau.rst:52 msgid "" "If *file* is a string, open the file by that name, otherwise treat it as a " "seekable file-like object. *mode* can be any of" @@ -140,27 +146,27 @@ msgstr "" "trata-o como um objeto arquivo ou similar que pode ser procurado. *mode* " "pode ser qualquer um entre" -#: ../../library/sunau.rst:51 +#: ../../library/sunau.rst:56 msgid "``'r'``" msgstr "``'r'``" -#: ../../library/sunau.rst:51 +#: ../../library/sunau.rst:56 msgid "Read only mode." msgstr "Modo somente para leitura." -#: ../../library/sunau.rst:54 +#: ../../library/sunau.rst:59 msgid "``'w'``" msgstr "``'w'``" -#: ../../library/sunau.rst:54 +#: ../../library/sunau.rst:59 msgid "Write only mode." msgstr "Modo somente para escrita." -#: ../../library/sunau.rst:56 +#: ../../library/sunau.rst:61 msgid "Note that it does not allow read/write files." msgstr "Observe que ele não permite arquivos de leitura e escrita." -#: ../../library/sunau.rst:58 +#: ../../library/sunau.rst:63 msgid "" "A *mode* of ``'r'`` returns an :class:`AU_read` object, while a *mode* of " "``'w'`` or ``'wb'`` returns an :class:`AU_write` object." @@ -168,11 +174,11 @@ msgstr "" "Um *mode* de ``'r'`` retorna um objeto :class:`AU_read`, enquanto um *mode* " "de ``'w'`` ou ``'wb'`` retorna um objeto :class:`AU_write`." -#: ../../library/sunau.rst:62 +#: ../../library/sunau.rst:67 msgid "The :mod:`sunau` module defines the following exception:" msgstr "O módulo :mod:`sunau` define a seguinte exceção:" -#: ../../library/sunau.rst:66 +#: ../../library/sunau.rst:71 msgid "" "An error raised when something is impossible because of Sun AU specs or " "implementation deficiency." @@ -180,11 +186,11 @@ msgstr "" "Um erro levantado quando algo é impossível devido às especificações AU da " "Sun ou deficiência de implementação." -#: ../../library/sunau.rst:70 +#: ../../library/sunau.rst:75 msgid "The :mod:`sunau` module defines the following data items:" msgstr "O módulo :mod:`sunau` define os seguintes itens de dados:" -#: ../../library/sunau.rst:74 +#: ../../library/sunau.rst:79 msgid "" "An integer every valid Sun AU file begins with, stored in big-endian form. " "This is the string ``.snd`` interpreted as an integer." @@ -193,7 +199,7 @@ msgstr "" "armazenado no formato big-endian. Esta é a string ``.snd`` interpretada como " "um inteiro." -#: ../../library/sunau.rst:85 +#: ../../library/sunau.rst:90 msgid "" "Values of the encoding field from the AU header which are supported by this " "module." @@ -201,7 +207,7 @@ msgstr "" "Valores do campo de codificação do cabeçalho de AU que são suportados por " "este módulo." -#: ../../library/sunau.rst:96 +#: ../../library/sunau.rst:101 msgid "" "Additional known values of the encoding field from the AU header, but which " "are not supported by this module." @@ -209,11 +215,11 @@ msgstr "" "Valores conhecidos adicionais de codificação do cabeçalho de AU, mas que não " "são suportados por este módulo." -#: ../../library/sunau.rst:103 +#: ../../library/sunau.rst:108 msgid "AU_read Objects" msgstr "Objetos AU_read" -#: ../../library/sunau.rst:105 +#: ../../library/sunau.rst:110 msgid "" "AU_read objects, as returned by :func:`.open` above, have the following " "methods:" @@ -221,7 +227,7 @@ msgstr "" "Objetos AU_read, conforme retornado por :func:`.open` acima, têm os " "seguintes métodos:" -#: ../../library/sunau.rst:110 +#: ../../library/sunau.rst:115 msgid "" "Close the stream, and make the instance unusable. (This is called " "automatically on deletion.)" @@ -229,23 +235,23 @@ msgstr "" "Fecha o fluxo e torna a instância inutilizável. (Isso é chamado " "automaticamente na exclusão.)" -#: ../../library/sunau.rst:116 +#: ../../library/sunau.rst:121 msgid "Returns number of audio channels (1 for mono, 2 for stereo)." msgstr "Retorna o número de canais de áudio (1 para mono, 2 para estéreo)." -#: ../../library/sunau.rst:121 +#: ../../library/sunau.rst:126 msgid "Returns sample width in bytes." msgstr "Retorna a largura da amostra em bytes." -#: ../../library/sunau.rst:126 +#: ../../library/sunau.rst:131 msgid "Returns sampling frequency." msgstr "Retorna a frequência de amostragem." -#: ../../library/sunau.rst:131 +#: ../../library/sunau.rst:136 msgid "Returns number of audio frames." msgstr "Retorna o número de quadros de áudio." -#: ../../library/sunau.rst:136 +#: ../../library/sunau.rst:141 msgid "" "Returns compression type. Supported compression types are ``'ULAW'``, " "``'ALAW'`` and ``'NONE'``." @@ -253,7 +259,7 @@ msgstr "" "Retorna o tipo de compressão. Os tipos de compressão suportados são " "``'ULAW'``, ``'ALAW'`` e ``'NONE'``." -#: ../../library/sunau.rst:142 +#: ../../library/sunau.rst:147 msgid "" "Human-readable version of :meth:`getcomptype`. The supported types have the " "respective names ``'CCITT G.711 u-law'``, ``'CCITT G.711 A-law'`` and ``'not " @@ -263,7 +269,7 @@ msgstr "" "respectivos nomes ``'CCITT G.711 u-law'``, ``'CCITT G.711 A-law'`` e ``'not " "compressed'``." -#: ../../library/sunau.rst:149 +#: ../../library/sunau.rst:154 msgid "" "Returns a :func:`~collections.namedtuple` ``(nchannels, sampwidth, " "framerate, nframes, comptype, compname)``, equivalent to output of the :meth:" @@ -273,7 +279,7 @@ msgstr "" "framerate, nframes, comptype, compname)``, equivalente à saída dos métodos :" "meth:`get\\*`." -#: ../../library/sunau.rst:156 +#: ../../library/sunau.rst:161 msgid "" "Reads and returns at most *n* frames of audio, as a :class:`bytes` object. " "The data will be returned in linear format. If the original data is in u-" @@ -283,11 +289,11 @@ msgstr "" "Os dados serão retornados em formato linear. Se os dados originais estiverem " "no formato u-LAW, eles serão convertidos." -#: ../../library/sunau.rst:163 +#: ../../library/sunau.rst:168 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/sunau.rst:165 +#: ../../library/sunau.rst:170 msgid "" "The following two methods define a term \"position\" which is compatible " "between them, and is otherwise implementation dependent." @@ -295,7 +301,7 @@ msgstr "" "Os dois métodos a seguir definem um termo \"posição\" que é compatível entre " "eles e é dependente da implementação." -#: ../../library/sunau.rst:171 +#: ../../library/sunau.rst:176 msgid "" "Set the file pointer to the specified position. Only values returned from :" "meth:`tell` should be used for *pos*." @@ -303,7 +309,7 @@ msgstr "" "Define o ponteiro do arquivo para a posição especificada. Apenas os valores " "retornados de :meth:`tell` devem ser usados para *pos*." -#: ../../library/sunau.rst:177 +#: ../../library/sunau.rst:182 msgid "" "Return current file pointer position. Note that the returned value has " "nothing to do with the actual position in the file." @@ -311,7 +317,7 @@ msgstr "" "Retorna a posição atual do ponteiro do arquivo. Observe que o valor " "retornado não tem nada a ver com a posição real no arquivo." -#: ../../library/sunau.rst:180 +#: ../../library/sunau.rst:185 msgid "" "The following two functions are defined for compatibility with the :mod:" "`aifc`, and don't do anything interesting." @@ -319,19 +325,19 @@ msgstr "" "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:186 +#: ../../library/sunau.rst:191 msgid "Returns ``None``." msgstr "Retorna ``None``." -#: ../../library/sunau.rst:191 +#: ../../library/sunau.rst:196 msgid "Raise an error." msgstr "Levanta um erro." -#: ../../library/sunau.rst:197 +#: ../../library/sunau.rst:202 msgid "AU_write Objects" msgstr "Objetos AU_write" -#: ../../library/sunau.rst:199 +#: ../../library/sunau.rst:204 msgid "" "AU_write objects, as returned by :func:`.open` above, have the following " "methods:" @@ -339,23 +345,23 @@ msgstr "" "Objetos AU_write, conforme retornado por :func:`.open` acima, têm os " "seguintes métodos:" -#: ../../library/sunau.rst:204 +#: ../../library/sunau.rst:209 msgid "Set the number of channels." msgstr "Define o número de canais." -#: ../../library/sunau.rst:209 +#: ../../library/sunau.rst:214 msgid "Set the sample width (in bytes.)" msgstr "Define a largura da amostra (em bytes)." -#: ../../library/sunau.rst:211 +#: ../../library/sunau.rst:216 msgid "Added support for 24-bit samples." msgstr "Adicionado suporte para amostras de 24 bits." -#: ../../library/sunau.rst:217 +#: ../../library/sunau.rst:222 msgid "Set the frame rate." msgstr "Define a taxa de quadros." -#: ../../library/sunau.rst:222 +#: ../../library/sunau.rst:227 msgid "" "Set the number of frames. This can be later changed, when and if more " "frames are written." @@ -363,7 +369,7 @@ msgstr "" "Define o número de quadros. Isso pode ser alterado posteriormente, quando e " "se mais quadros forem gravados." -#: ../../library/sunau.rst:228 +#: ../../library/sunau.rst:233 msgid "" "Set the compression type and description. Only ``'NONE'`` and ``'ULAW'`` are " "supported on output." @@ -371,7 +377,7 @@ msgstr "" "Define o tipo de compactação e a descrição. Somente ``'NONE'`` e ``'ULAW'`` " "são suportados na saída." -#: ../../library/sunau.rst:234 +#: ../../library/sunau.rst:239 msgid "" "The *tuple* should be ``(nchannels, sampwidth, framerate, nframes, comptype, " "compname)``, with values valid for the :meth:`set\\*` methods. Set all " @@ -381,7 +387,7 @@ msgstr "" "compname)``, com valores válidos para os métodos :meth:`set\\*`. Define " "todos os parâmetros." -#: ../../library/sunau.rst:241 +#: ../../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." @@ -389,29 +395,28 @@ 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`." -#: ../../library/sunau.rst:247 +#: ../../library/sunau.rst:252 msgid "Write audio frames, without correcting *nframes*." msgstr "Escreve quadros de áudio, sem corrigir *nframes*." -#: ../../library/sunau.rst:249 ../../library/sunau.rst:257 +#: ../../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:255 +#: ../../library/sunau.rst:260 msgid "Write audio frames and make sure *nframes* is correct." msgstr "" "Escreve quadros de áudio e certifica-se de que *nframes* esteja correto." -#: ../../library/sunau.rst:263 +#: ../../library/sunau.rst:268 msgid "Make sure *nframes* is correct, and close the file." msgstr "Certifica-se de que *nframes* está correto e fecha o arquivo." -#: ../../library/sunau.rst:265 +#: ../../library/sunau.rst:270 msgid "This method is called upon deletion." msgstr "Este método é chamado após a exclusão." -#: ../../library/sunau.rst:267 +#: ../../library/sunau.rst:272 msgid "" "Note that it is invalid to set any parameters after calling :meth:" "`writeframes` or :meth:`writeframesraw`." diff --git a/library/superseded.po b/library/superseded.po index 7e21bd16d..045875071 100644 --- a/library/superseded.po +++ b/library/superseded.po @@ -1,31 +1,31 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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.10\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-06-29 12:56+0000\n" -"PO-Revision-Date: 2021-06-28 01:14+0000\n" -"Last-Translator: Raphael Mendonça, 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:58+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"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 39d65ab04..e81c823dd 100644 --- a/library/symtable.po +++ b/library/symtable.po @@ -1,28 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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.10\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-06-29 12:56+0000\n" -"PO-Revision-Date: 2021-06-28 01:14+0000\n" -"Last-Translator: Claudio Rogerio Carvalho Filho , " -"2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:58+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/symtable.rst:2 msgid ":mod:`symtable` --- Access to the compiler's symbol tables" @@ -95,134 +94,136 @@ msgid "" msgstr "" #: ../../library/symtable.rst:72 -msgid "Return a list of names of symbols in this table." +msgid "" +"Return a view object containing the names of symbols in the table. See the :" +"ref:`documentation of view objects `." msgstr "" -#: ../../library/symtable.rst:76 +#: ../../library/symtable.rst:77 msgid "Lookup *name* in the table and return a :class:`Symbol` instance." msgstr "" -#: ../../library/symtable.rst:80 +#: ../../library/symtable.rst:81 msgid "Return a list of :class:`Symbol` instances for names in the table." msgstr "" -#: ../../library/symtable.rst:84 +#: ../../library/symtable.rst:85 msgid "Return a list of the nested symbol tables." msgstr "" -#: ../../library/symtable.rst:89 +#: ../../library/symtable.rst:90 msgid "" "A namespace for a function or method. This class inherits :class:" "`SymbolTable`." msgstr "" -#: ../../library/symtable.rst:94 +#: ../../library/symtable.rst:95 msgid "Return a tuple containing names of parameters to this function." msgstr "" -#: ../../library/symtable.rst:98 +#: ../../library/symtable.rst:99 msgid "Return a tuple containing names of locals in this function." msgstr "" -#: ../../library/symtable.rst:102 +#: ../../library/symtable.rst:103 msgid "Return a tuple containing names of globals in this function." msgstr "" -#: ../../library/symtable.rst:106 +#: ../../library/symtable.rst:107 msgid "Return a tuple containing names of nonlocals in this function." msgstr "" -#: ../../library/symtable.rst:110 +#: ../../library/symtable.rst:111 msgid "Return a tuple containing names of free variables in this function." msgstr "" -#: ../../library/symtable.rst:115 +#: ../../library/symtable.rst:116 msgid "A namespace of a class. This class inherits :class:`SymbolTable`." msgstr "" -#: ../../library/symtable.rst:119 +#: ../../library/symtable.rst:120 msgid "Return a tuple containing the names of methods declared in the class." msgstr "" -#: ../../library/symtable.rst:124 +#: ../../library/symtable.rst:125 msgid "" "An entry in a :class:`SymbolTable` corresponding to an identifier in the " "source. The constructor is not public." msgstr "" -#: ../../library/symtable.rst:129 +#: ../../library/symtable.rst:130 msgid "Return the symbol's name." msgstr "" -#: ../../library/symtable.rst:133 +#: ../../library/symtable.rst:134 msgid "Return ``True`` if the symbol is used in its block." msgstr "" -#: ../../library/symtable.rst:137 +#: ../../library/symtable.rst:138 msgid "Return ``True`` if the symbol is created from an import statement." msgstr "" -#: ../../library/symtable.rst:141 +#: ../../library/symtable.rst:142 msgid "Return ``True`` if the symbol is a parameter." msgstr "" -#: ../../library/symtable.rst:145 +#: ../../library/symtable.rst:146 msgid "Return ``True`` if the symbol is global." msgstr "" -#: ../../library/symtable.rst:149 +#: ../../library/symtable.rst:150 msgid "Return ``True`` if the symbol is nonlocal." msgstr "" -#: ../../library/symtable.rst:153 +#: ../../library/symtable.rst:154 msgid "" "Return ``True`` if the symbol is declared global with a global statement." msgstr "" -#: ../../library/symtable.rst:157 +#: ../../library/symtable.rst:158 msgid "Return ``True`` if the symbol is local to its block." msgstr "" -#: ../../library/symtable.rst:161 +#: ../../library/symtable.rst:162 msgid "Return ``True`` if the symbol is annotated." msgstr "" -#: ../../library/symtable.rst:167 +#: ../../library/symtable.rst:168 msgid "" "Return ``True`` if the symbol is referenced in its block, but not assigned " "to." msgstr "" -#: ../../library/symtable.rst:172 +#: ../../library/symtable.rst:173 msgid "Return ``True`` if the symbol is assigned to in its block." msgstr "" -#: ../../library/symtable.rst:176 +#: ../../library/symtable.rst:177 msgid "Return ``True`` if name binding introduces new namespace." msgstr "" -#: ../../library/symtable.rst:178 +#: ../../library/symtable.rst:179 msgid "" "If the name is used as the target of a function or class statement, this " "will be true." msgstr "" -#: ../../library/symtable.rst:181 +#: ../../library/symtable.rst:182 msgid "For example::" msgstr "Por exemplo::" -#: ../../library/symtable.rst:187 +#: ../../library/symtable.rst:188 msgid "" "Note that a single name can be bound to multiple objects. If the result is " "``True``, the name may also be bound to other objects, like an int or list, " "that does not introduce a new namespace." msgstr "" -#: ../../library/symtable.rst:193 +#: ../../library/symtable.rst:194 msgid "Return a list of namespaces bound to this name." msgstr "" -#: ../../library/symtable.rst:197 +#: ../../library/symtable.rst:198 msgid "" "Return the namespace bound to this name. If more than one namespace is " "bound, :exc:`ValueError` is raised." diff --git a/library/sys.po b/library/sys.po index a9c2e734b..48c44c63e 100644 --- a/library/sys.po +++ b/library/sys.po @@ -1,35 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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: -# Rogério Araújo , 2021 -# Hildeberto Abreu Magalhães , 2021 -# Marco Rougeth , 2021 -# Welington Carlos , 2021 -# Claudio Rogerio Carvalho Filho , 2021 -# felipe caridade , 2021 -# Willian C Lopes , 2021 -# i17obot , 2021 -# yyyyyyyan , 2021 -# Rafael Fontenelle , 2021 +# python-doc bot, 2025 # #, 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:14+0000\n" -"Last-Translator: Rafael Fontenelle , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:58+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/sys.rst:2 msgid ":mod:`sys` --- System-specific parameters and functions" @@ -79,14 +71,35 @@ 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." #: ../../library/sys.rst:38 msgid "" -"Raises an :ref:`auditing event ` ``sys.addaudithook`` with no " -"arguments." -msgstr "" - -#: ../../library/sys.rst:40 +"Note that audit hooks are primarily for collecting information about " +"internal or otherwise unobservable actions, whether by Python or libraries " +"written in Python. They are not suitable for implementing a \"sandbox\". In " +"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." +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 " +"bibliotecas escritas em Python. Eles não são adequados para implementar um " +"ambiente isolado estilo \"sandbox\". Em particular, o código malicioso pode " +"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:49 msgid "" "Calling :func:`sys.addaudithook` will itself raise an auditing event named " "``sys.addaudithook`` with no arguments. If any existing hooks raise an " @@ -94,27 +107,42 @@ msgid "" "and the exception suppressed. As a result, callers cannot assume that their " "hook has been added unless they control all existing hooks." msgstr "" +"Chamar :func:`sys.addaudithook` levantará um evento de auditoria denominado " +"``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:47 +#: ../../library/sys.rst:56 msgid "" "See the :ref:`audit events table ` for all events raised by " "CPython, and :pep:`578` for the original design discussion." msgstr "" +"Veja :ref:`tabela de eventos de auditoria ` para todos os " +"eventos levantados pelo CPython, e :pep:`578` para a discussão do projeto " +"original." -#: ../../library/sys.rst:54 +#: ../../library/sys.rst:63 msgid "" "Exceptions derived from :class:`Exception` but not :class:`RuntimeError` are " "no longer suppressed." msgstr "" +"Exceções derivadas de :class:`Exception`, mas não de :class:`RuntimeError`, " +"não são mais suprimidas." -#: ../../library/sys.rst:59 +#: ../../library/sys.rst:68 msgid "" "When tracing is enabled (see :func:`settrace`), Python hooks are only traced " "if the callable has a ``__cantrace__`` member that is set to a true value. " "Otherwise, trace functions will skip the hook." msgstr "" +"Quando o rastreamento está ativado (consulte :func:`settrace`), os ganchos " +"do Python são rastreados apenas se o chamável tiver um membro " +"``__cantrace__`` definido como um valor verdadeiro. Caso contrário, as " +"funções de rastreamento ignorarão o gancho." -#: ../../library/sys.rst:66 +#: ../../library/sys.rst:75 msgid "" "The list of command line arguments passed to a Python script. ``argv[0]`` is " "the script name (it is operating system dependent whether this is a full " @@ -123,26 +151,38 @@ msgid "" "c'``. If no script name was passed to the Python interpreter, ``argv[0]`` " "is the empty string." msgstr "" +"A lista de argumentos de linha de comando passados para um script Python. " +"``argv[0]`` é o nome do script (depende do sistema operacional se este é um " +"nome de caminho completo ou não). Se o comando foi executado usando a opção " +"de linha de comando :option:`-c` para o interpretador, ``argv[0]`` é " +"definido como a string ``'-c'``. Se nenhum nome de script foi passado para o " +"interpretador Python, ``argv[0]`` é a string vazia." -#: ../../library/sys.rst:72 +#: ../../library/sys.rst:81 msgid "" "To loop over the standard input, or the list of files given on the command " "line, see the :mod:`fileinput` module." msgstr "" +"Para percorrer a entrada padrão ou a lista de arquivos fornecida na linha de " +"comando, consulte o módulo :mod:`fileinput`." -#: ../../library/sys.rst:75 +#: ../../library/sys.rst:84 msgid "See also :data:`sys.orig_argv`." -msgstr "" +msgstr "Veja também :data:`sys.orig_argv`." -#: ../../library/sys.rst:78 +#: ../../library/sys.rst:87 msgid "" "On Unix, command line arguments are passed by bytes from OS. Python decodes " "them with filesystem encoding and \"surrogateescape\" error handler. When " "you need original bytes, you can get it by ``[os.fsencode(arg) for arg in " "sys.argv]``." msgstr "" +"No Unix, os argumentos da linha de comando são passados por bytes do sistema " +"operacional. O Python os decodifica com a codificação do sistema de arquivos " +"e o tratador de erros \"surrogateescape\". Quando você precisar de bytes " +"originais, você pode obtê-los por ``[os.fsencode(arg) for arg in sys.argv]``." -#: ../../library/sys.rst:90 +#: ../../library/sys.rst:99 msgid "" "Raise an auditing event and trigger any active auditing hooks. *event* is a " "string identifying the event, and *args* may contain optional arguments with " @@ -150,14 +190,22 @@ msgid "" "given event are considered a public and stable API and should not be " "modified between releases." msgstr "" +"Levanta um evento de auditoria e aciona quaisquer ganchos de auditoria " +"ativos. *event* é uma string que identifica o evento e *args* pode conter " +"argumentos opcionais com mais informações sobre o evento. O número e os " +"tipos de argumentos para um determinado evento são considerados uma API " +"pública e estável e não devem ser modificados entre as versões." -#: ../../library/sys.rst:96 +#: ../../library/sys.rst:105 msgid "" "For example, one auditing event is named ``os.chdir``. This event has one " "argument called *path* that will contain the requested new working directory." msgstr "" +"Por exemplo, um evento de auditoria é denominado ``os.chdir``. Este evento " +"tem um argumento chamado *path* que conterá o novo diretório de trabalho " +"solicitado." -#: ../../library/sys.rst:100 +#: ../../library/sys.rst:109 msgid "" ":func:`sys.audit` will call the existing auditing hooks, passing the event " "name and arguments, and will re-raise the first exception from any hook. In " @@ -166,26 +214,39 @@ msgid "" "implementations to decide how to respond to particular events: they can " "merely log the event or abort the operation by raising an exception." msgstr "" +":func:`sys.audit` chamará os ganchos de auditoria existentes, passando o " +"nome do evento e os argumentos, e levantará novamente a primeira exceção de " +"qualquer gancho. Em geral, se uma exceção for levantada, ela não deve ser " +"tratada e o processo deve ser encerrado o mais rápido possível. Isso permite " +"que as implementações de gancho decidam como responder a eventos " +"específicos: elas podem simplesmente registrar o evento ou abortar a " +"operação levantando uma exceção." -#: ../../library/sys.rst:108 +#: ../../library/sys.rst:117 msgid "" "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`." -#: ../../library/sys.rst:111 +#: ../../library/sys.rst:120 msgid "" "The native equivalent of this function is :c:func:`PySys_Audit`. Using the " "native function is preferred when possible." msgstr "" +"O equivalente nativo desta função é :c:func:`PySys_Audit`. Usar a função " +"nativa é preferível quando possível." -#: ../../library/sys.rst:114 +#: ../../library/sys.rst:123 msgid "" "See the :ref:`audit events table ` for all events raised by " "CPython." msgstr "" +"Veja :ref:`tabela de eventos de auditoria ` para todos os " +"eventos levantados pelo CPython." -#: ../../library/sys.rst:122 +#: ../../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 `, 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)." -#: ../../library/sys.rst:136 +#: ../../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 `, " @@ -206,58 +275,85 @@ msgid "" "`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 " +"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:149 +#: ../../library/sys.rst:158 msgid "" "An indicator of the native byte order. This will have the value ``'big'`` " "on big-endian (most-significant byte first) platforms, and ``'little'`` on " "little-endian (least-significant byte first) platforms." msgstr "" +"Um indicador da ordem nativa de bytes. Isso terá o valor ``'big'`` em " +"plataformas big endian (byte mais significativo primeiro) e ``'little'`` em " +"plataformas little endian (byte menos significativo primeiro)." -#: ../../library/sys.rst:156 +#: ../../library/sys.rst:165 msgid "" "A tuple of strings containing the names of all modules that are compiled " "into this Python interpreter. (This information is not available in any " "other way --- ``modules.keys()`` only lists the imported modules.)" msgstr "" +"Uma tupla de strings contendo os nomes de todos os módulos compilados neste " +"interpretador Python. (Esta informação não está disponível de nenhuma outra " +"forma --- ``modules.keys()`` apenas lista os módulos importados.)" -#: ../../library/sys.rst:160 +#: ../../library/sys.rst:169 msgid "See also the :attr:`sys.stdlib_module_names` list." msgstr "" -#: ../../library/sys.rst:165 +#: ../../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." 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." -#: ../../library/sys.rst:172 +#: ../../library/sys.rst:181 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:177 +#: ../../library/sys.rst:186 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 " "during reference leak debugging." msgstr "" +"Limpa o cache de tipo interno. O cache de tipo é usado para acelerar " +"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:181 ../../library/sys.rst:197 -#: ../../library/sys.rst:210 +#: ../../library/sys.rst:190 ../../library/sys.rst:206 +#: ../../library/sys.rst:219 msgid "" "This function should be used for internal and specialized purposes only." -msgstr "" +msgstr "Esta função deve ser usada apenas para fins internos e especializados." -#: ../../library/sys.rst:186 +#: ../../library/sys.rst:195 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. " "Note that functions in the :mod:`traceback` module can build the call stack " "given such a frame." msgstr "" +"Retorna um dicionário mapeando o identificador de cada encadeamento " +"(*thread*) para o quadro de pilha mais alto atualmente ativo nesse " +"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:191 +#: ../../library/sys.rst:200 msgid "" "This is most useful for debugging deadlock: this function does not require " "the deadlocked threads' cooperation, and such threads' call stacks are " @@ -265,39 +361,57 @@ 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 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 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:199 +#: ../../library/sys.rst:208 msgid "" "Raises an :ref:`auditing event ` ``sys._current_frames`` with no " "arguments." msgstr "" +"Levanta um :ref:`evento de auditoria ` ``sys._current_frames`` sem " +"argumentos." -#: ../../library/sys.rst:203 +#: ../../library/sys.rst:212 msgid "" "Return a dictionary mapping each thread's identifier to the topmost " "exception currently active in that thread at the time the function is " "called. If a thread is not currently handling an exception, it is not " "included in the result dictionary." msgstr "" +"Retorna um dicionário mapeando o identificador de cada encadeamento " +"(*thread*) para a exceção mais alta atualmente ativo nesse encadeamento no " +"momento em que a função é chamada. Se um encadeamento não estiver " +"manipulando uma exceção no momento, ele não será incluído no dicionário de " +"resultados." -#: ../../library/sys.rst:208 +#: ../../library/sys.rst:217 msgid "This is most useful for statistical profiling." -msgstr "" +msgstr "Isso é mais útil para criação de perfil estatístico." -#: ../../library/sys.rst:212 +#: ../../library/sys.rst:221 msgid "" "Raises an :ref:`auditing event ` ``sys._current_exceptions`` with " "no arguments." msgstr "" +"Levanta um :ref:`evento de auditoria ` ``sys._current_exceptions`` " +"sem argumentos." -#: ../../library/sys.rst:216 +#: ../../library/sys.rst:225 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 " "function so that you can choose which debugger gets used." msgstr "" +"Esta função de gancho é chamada pela função embutida :func:`breakpoint`. Por " +"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:220 +#: ../../library/sys.rst:229 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 " @@ -306,8 +420,14 @@ msgid "" "``*args`` and ``**kws`` straight through. Whatever ``breakpointhooks()`` " "returns is returned from ``breakpoint()``." msgstr "" +"A assinatura dessa função depende do que ela chama. Por exemplo, a ligação " +"padrão (por exemplo, ``pdb.set_trace()``) não espera nenhum argumento, mas " +"você pode vinculá-la a uma função que espera argumentos adicionais " +"(posicionais e/ou nomeados). A função embutida ``breakpoint()`` passa seus " +"``*args`` e ``**kws`` diretamente. O que quer que ``breakpointhooks()`` " +"retorne é retornado de ``breakpoint()``." -#: ../../library/sys.rst:227 +#: ../../library/sys.rst:236 msgid "" "The default implementation first consults the environment variable :envvar:" "`PYTHONBREAKPOINT`. If that is set to ``\"0\"`` then this function returns " @@ -320,49 +440,72 @@ msgid "" "``*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:239 +#: ../../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 " "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." -#: ../../library/sys.rst:243 +#: ../../library/sys.rst:252 msgid "" "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:250 +#: ../../library/sys.rst:259 msgid "" "Print low-level information to stderr about the state of CPython's memory " "allocator." msgstr "" +"Imprima informações de baixo nível para stderr sobre o estado do alocador de " +"memória do CPython." -#: ../../library/sys.rst:253 +#: ../../library/sys.rst:262 msgid "" -"If Python is `built in debug mode ` (:option:`configure --with-" -"pydebug option <--with-pydebug>`), it also performs some expensive internal " -"consistency checks." +"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." -#: ../../library/sys.rst:261 +#: ../../library/sys.rst:270 msgid "" "This function is specific to CPython. The exact output format is not " "defined here, and may change." msgstr "" +"Esta função é específica para CPython. O formato de saída exato não é " +"definido aqui e pode mudar." -#: ../../library/sys.rst:267 +#: ../../library/sys.rst:276 msgid "Integer specifying the handle of the Python DLL." -msgstr "" +msgstr "Número inteiro que especifica o identificador da DLL do Python." -#: ../../library/sys.rst:269 ../../library/sys.rst:810 -#: ../../library/sys.rst:1487 ../../library/sys.rst:1717 +#: ../../library/sys.rst:278 ../../library/sys.rst:837 +#: ../../library/sys.rst:1536 ../../library/sys.rst:1766 msgid ":ref:`Availability `: Windows." msgstr ":ref:`Disponibilidade `: Windows." -#: ../../library/sys.rst:274 +#: ../../library/sys.rst:283 msgid "" "If *value* is not ``None``, this function prints ``repr(value)`` to ``sys." "stdout``, and saves *value* in ``builtins._``. If ``repr(value)`` is not " @@ -370,24 +513,35 @@ msgid "" "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'``." -#: ../../library/sys.rst:280 +#: ../../library/sys.rst:289 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``." 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``." -#: ../../library/sys.rst:284 +#: ../../library/sys.rst:293 msgid "Pseudo-code::" -msgstr "" +msgstr "Pseudocódigo::" -#: ../../library/sys.rst:304 +#: ../../library/sys.rst:313 msgid "Use ``'backslashreplace'`` error handler on :exc:`UnicodeEncodeError`." msgstr "" +"Usa o tratador de erros ``'backslashreplace'`` ao ser levantada :exc:" +"`UnicodeEncodeError`." -#: ../../library/sys.rst:310 +#: ../../library/sys.rst:319 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`` " @@ -395,37 +549,57 @@ msgid "" "`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 " +"``True`` ou ``False`` dependendo da opção de linha de comando :option:`-B` e " +"da variável de ambiente :envvar:`PYTHONDONTWRITEBYTECODE`, mas você mesmo " +"pode configurá-lo para controlar geração de arquivo bytecode." -#: ../../library/sys.rst:319 +#: ../../library/sys.rst:328 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 " "directory, rather than from ``__pycache__`` directories in the source code " "tree. Any ``__pycache__`` directories in the source code tree will be " -"ignored and new `.pyc` files written within the pycache prefix. Thus if you " -"use :mod:`compileall` as a pre-build step, you must ensure you run it with " -"the same pycache prefix (if any) that you will use at runtime." +"ignored and new ``.pyc`` files written within the pycache prefix. Thus if " +"you use :mod:`compileall` as a pre-build step, you must ensure you run it " +"with the same pycache prefix (if any) that you will use at runtime." msgstr "" +"Se for definido (não ``None``), o Python escreverá arquivos de cache de " +"bytecode ``.pyc`` para (e os lerá de) uma árvore de diretórios paralela com " +"raiz neste diretório, em vez de diretórios ``__pycache__`` na árvore de " +"código-fonte. Quaisquer diretórios ``__pycache__`` na árvore de código-fonte " +"serão ignorados e novos arquivos ``.pyc`` gravados dentro do prefixo " +"pycache. Portanto, se você usar :mod:`compileall` como uma etapa de pré-" +"compilação, certifique-se de executá-lo com o mesmo prefixo pycache (se " +"houver) que usará em tempo de execução." -#: ../../library/sys.rst:327 +#: ../../library/sys.rst:336 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:329 +#: ../../library/sys.rst:338 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``." 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``." -#: ../../library/sys.rst:339 +#: ../../library/sys.rst:348 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:341 +#: ../../library/sys.rst:350 msgid "" "When an exception is raised and uncaught, the interpreter calls ``sys." "excepthook`` with three arguments, the exception class, exception instance, " @@ -435,14 +609,23 @@ msgid "" "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``." -#: ../../library/sys.rst:348 +#: ../../library/sys.rst:357 msgid "" "Raises an :ref:`auditing event ` ``sys.excepthook`` with arguments " "``hook``, ``type``, ``value``, ``traceback``." msgstr "" +"Levanta um :ref:`evento de auditoria ` ``sys.excepthook`` com " +"argumentos ``hook``, ``type``, ``value``, ``traceback``." -#: ../../library/sys.rst:350 +#: ../../library/sys.rst:359 msgid "" "Raise an auditing event ``sys.excepthook`` with arguments ``hook``, " "``type``, ``value``, ``traceback`` when an uncaught exception occurs. If no " @@ -451,15 +634,25 @@ msgid "" "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 " +"capturada. Se nenhum gancho foi definido, ``hook`` pode ser ``None``. Se " +"algum gancho gerar uma exceção derivada de :class:`RuntimeError`, a chamada " +"para o gancho será suprimida. Caso contrário, a exceção de gancho de " +"auditoria será relatada como não aumentável e ``sys.excepthook`` será " +"chamado." -#: ../../library/sys.rst:359 +#: ../../library/sys.rst:368 msgid "" "The :func:`sys.unraisablehook` function handles unraisable exceptions and " "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:369 +#: ../../library/sys.rst:378 msgid "" "These objects contain the original values of ``breakpointhook``, " "``displayhook``, ``excepthook``, and ``unraisablehook`` at the start of the " @@ -467,16 +660,21 @@ msgid "" "``excepthook``, ``unraisablehook`` can be restored in case they happen to " "get replaced with broken or alternative objects." msgstr "" +"Esses objetos contêm os valores originais de ``breakpointhook``, " +"``displayhook``, ``excepthook`` e ``unraisablehook`` no início do programa. " +"Eles são salvos para que ``breakpointhook``, ``displayhook`` e " +"``excepthook``, ``unraisablehook`` possam ser restaurados caso sejam " +"substituídos por objetos quebrados ou alternativos." -#: ../../library/sys.rst:375 +#: ../../library/sys.rst:384 msgid "__breakpointhook__" -msgstr "" +msgstr "__breakpointhook__" -#: ../../library/sys.rst:378 +#: ../../library/sys.rst:387 msgid "__unraisablehook__" -msgstr "" +msgstr "__unraisablehook__" -#: ../../library/sys.rst:383 +#: ../../library/sys.rst:392 msgid "" "This function returns a tuple of three values that give information about " "the exception that is currently being handled. The information returned is " @@ -488,7 +686,7 @@ msgid "" "information about the exception being currently handled is accessible." msgstr "" -#: ../../library/sys.rst:394 +#: ../../library/sys.rst:403 msgid "" "If no exception is being handled anywhere on the stack, a tuple containing " "three ``None`` values is returned. Otherwise, the values returned are " @@ -499,7 +697,7 @@ msgid "" "stack at the point where the exception originally occurred." msgstr "" -#: ../../library/sys.rst:405 +#: ../../library/sys.rst:414 msgid "" "A string giving the site-specific directory prefix where the platform-" "dependent Python files are installed; by default, this is also ``'/usr/" @@ -510,32 +708,48 @@ msgid "" "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``." -#: ../../library/sys.rst:416 +#: ../../library/sys.rst:425 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`." 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:424 +#: ../../library/sys.rst:433 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 " "retrieve the real path to its executable, :data:`sys.executable` will be an " "empty string or ``None``." 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``." -#: ../../library/sys.rst:432 +#: ../../library/sys.rst:441 msgid "" -"Exit from Python. This is implemented by raising the :exc:`SystemExit` " -"exception, so cleanup actions specified by finally clauses of :keyword:`try` " -"statements are honored, and it is possible to intercept the exit attempt at " -"an outer level." +"Raise a :exc:`SystemExit` exception, signaling an intention to exit the " +"interpreter." msgstr "" +"Levanta uma exceção :exc:`SystemExit`, sinalizando a intenção de sair do " +"interpretador." -#: ../../library/sys.rst:437 +#: ../../library/sys.rst:443 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 " @@ -550,176 +764,223 @@ msgid "" "code of 1. In particular, ``sys.exit(\"some error message\")`` is a quick " "way to exit a program when an error occurs." msgstr "" - -#: ../../library/sys.rst:450 +"O argumento opcional *arg* pode ser um número inteiro dando o status de " +"saída (o padrão é zero) ou outro tipo de objeto. Se for um número inteiro, " +"zero é considerado \"terminação bem-sucedida\" e qualquer valor diferente de " +"zero é considerado \"terminação anormal\" por shells e similares. A maioria " +"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 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:456 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 " -"intercepted." +"intercepted. Cleanup actions specified by finally clauses of :keyword:`try` " +"statements are honored, and it is possible to intercept the exit attempt at " +"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 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:454 +#: ../../library/sys.rst:461 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." 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." -#: ../../library/sys.rst:462 +#: ../../library/sys.rst:469 msgid "" "The :term:`named tuple` *flags* exposes the status of command line flags. " "The attributes are read only." 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:466 ../../library/sys.rst:515 -#: ../../library/sys.rst:855 +#: ../../library/sys.rst:473 ../../library/sys.rst:526 +#: ../../library/sys.rst:882 msgid "attribute" msgstr "atributo" -#: ../../library/sys.rst:466 +#: ../../library/sys.rst:473 msgid "flag" -msgstr "" +msgstr "sinalizador" -#: ../../library/sys.rst:468 +#: ../../library/sys.rst:475 msgid ":const:`debug`" msgstr ":const:`debug`" -#: ../../library/sys.rst:468 +#: ../../library/sys.rst:475 msgid ":option:`-d`" msgstr ":option:`-d`" -#: ../../library/sys.rst:469 +#: ../../library/sys.rst:476 msgid ":const:`inspect`" msgstr ":const:`inspect`" -#: ../../library/sys.rst:469 ../../library/sys.rst:470 +#: ../../library/sys.rst:476 ../../library/sys.rst:477 msgid ":option:`-i`" msgstr ":option:`-i`" -#: ../../library/sys.rst:470 +#: ../../library/sys.rst:477 msgid ":const:`interactive`" msgstr ":const:`interactive`" -#: ../../library/sys.rst:471 +#: ../../library/sys.rst:478 msgid ":const:`isolated`" msgstr ":const:`isolated`" -#: ../../library/sys.rst:471 +#: ../../library/sys.rst:478 msgid ":option:`-I`" msgstr ":option:`-I`" -#: ../../library/sys.rst:472 +#: ../../library/sys.rst:479 msgid ":const:`optimize`" msgstr ":const:`optimize`" -#: ../../library/sys.rst:472 +#: ../../library/sys.rst:479 msgid ":option:`-O` or :option:`-OO`" msgstr ":option:`-O` ou :option:`-OO`" -#: ../../library/sys.rst:473 +#: ../../library/sys.rst:480 msgid ":const:`dont_write_bytecode`" msgstr ":const:`dont_write_bytecode`" -#: ../../library/sys.rst:473 +#: ../../library/sys.rst:480 msgid ":option:`-B`" msgstr ":option:`-B`" -#: ../../library/sys.rst:474 +#: ../../library/sys.rst:481 msgid ":const:`no_user_site`" msgstr ":const:`no_user_site`" -#: ../../library/sys.rst:474 +#: ../../library/sys.rst:481 msgid ":option:`-s`" msgstr ":option:`-s`" -#: ../../library/sys.rst:475 +#: ../../library/sys.rst:482 msgid ":const:`no_site`" msgstr ":const:`no_site`" -#: ../../library/sys.rst:475 +#: ../../library/sys.rst:482 msgid ":option:`-S`" msgstr ":option:`-S`" -#: ../../library/sys.rst:476 +#: ../../library/sys.rst:483 msgid ":const:`ignore_environment`" msgstr ":const:`ignore_environment`" -#: ../../library/sys.rst:476 +#: ../../library/sys.rst:483 msgid ":option:`-E`" msgstr ":option:`-E`" -#: ../../library/sys.rst:477 +#: ../../library/sys.rst:484 msgid ":const:`verbose`" msgstr ":const:`verbose`" -#: ../../library/sys.rst:477 +#: ../../library/sys.rst:484 msgid ":option:`-v`" msgstr ":option:`-v`" -#: ../../library/sys.rst:478 +#: ../../library/sys.rst:485 msgid ":const:`bytes_warning`" msgstr ":const:`bytes_warning`" -#: ../../library/sys.rst:478 +#: ../../library/sys.rst:485 msgid ":option:`-b`" msgstr ":option:`-b`" -#: ../../library/sys.rst:479 +#: ../../library/sys.rst:486 msgid ":const:`quiet`" msgstr ":const:`quiet`" -#: ../../library/sys.rst:479 +#: ../../library/sys.rst:486 msgid ":option:`-q`" msgstr ":option:`-q`" -#: ../../library/sys.rst:480 +#: ../../library/sys.rst:487 msgid ":const:`hash_randomization`" msgstr ":const:`hash_randomization`" -#: ../../library/sys.rst:480 +#: ../../library/sys.rst:487 msgid ":option:`-R`" msgstr ":option:`-R`" -#: ../../library/sys.rst:481 +#: ../../library/sys.rst:488 msgid ":const:`dev_mode`" msgstr ":const:`dev_mode`" -#: ../../library/sys.rst:481 +#: ../../library/sys.rst:488 msgid ":option:`-X dev <-X>` (:ref:`Python Development Mode `)" msgstr "" +":option:`-X dev <-X>` (:ref:`Modo de Desenvolvimento do Python `)" -#: ../../library/sys.rst:482 +#: ../../library/sys.rst:489 msgid ":const:`utf8_mode`" msgstr ":const:`utf8_mode`" -#: ../../library/sys.rst:482 +#: ../../library/sys.rst:489 msgid ":option:`-X utf8 <-X>`" +msgstr ":option:`-X utf8 <-X>`" + +#: ../../library/sys.rst:490 +msgid ":const:`int_max_str_digits`" +msgstr ":const:`int_max_str_digits`" + +#: ../../library/sys.rst:490 +msgid "" +":option:`-X int_max_str_digits <-X>` (:ref:`integer string conversion length " +"limitation `)" msgstr "" +":option:`-X int_max_str_digits <-X>` (:ref:`limitação de comprimento de " +"string na conversão para inteiro `)" -#: ../../library/sys.rst:485 +#: ../../library/sys.rst:493 msgid "Added ``quiet`` attribute for the new :option:`-q` flag." -msgstr "" +msgstr "Adicionado o atributo ``quiet`` para o novo sinalizador :option:`-q`." -#: ../../library/sys.rst:488 +#: ../../library/sys.rst:496 msgid "The ``hash_randomization`` attribute." -msgstr "" +msgstr "O atributo ``hash_randomization``." -#: ../../library/sys.rst:491 +#: ../../library/sys.rst:499 msgid "Removed obsolete ``division_warning`` attribute." -msgstr "" +msgstr "Removido o atributo obsoleto ``division_warning``." -#: ../../library/sys.rst:494 +#: ../../library/sys.rst:502 msgid "Added ``isolated`` attribute for :option:`-I` ``isolated`` flag." msgstr "" +"Adicionado o atributo ``isolated`` para o sinalizador :option:`-I` " +"``isolated``." -#: ../../library/sys.rst:497 +#: ../../library/sys.rst:505 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``." -#: ../../library/sys.rst:505 +#: ../../library/sys.rst:510 +msgid "Added the ``int_max_str_digits`` attribute." +msgstr "Adicionado o atributo ``int_max_str_digits``." + +#: ../../library/sys.rst:516 msgid "" "A :term:`named tuple` holding information about the float type. It contains " "low level information about the precision and internal representation. The " @@ -728,186 +989,227 @@ msgid "" "section 5.2.4.2.2 of the 1999 ISO/IEC C standard [C99]_, 'Characteristics of " "floating types', for details." msgstr "" +"Uma :term:`tupla nomeada` contendo informações sobre o tipo float, ponto " +"flutuante. Ele contém informações de baixo nível sobre a precisão e a " +"representação interna. Os valores correspondem às várias constantes de ponto " +"flutuante definidas no arquivo de cabeçalho padrão :file:`float.h` para a " +"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:515 +#: ../../library/sys.rst:526 msgid "float.h macro" -msgstr "" +msgstr "macro em float.h" -#: ../../library/sys.rst:515 ../../library/sys.rst:855 +#: ../../library/sys.rst:526 ../../library/sys.rst:882 msgid "explanation" -msgstr "" +msgstr "explicação" -#: ../../library/sys.rst:517 -msgid ":const:`epsilon`" -msgstr ":const:`epsilon`" +#: ../../library/sys.rst:528 +msgid "``epsilon``" +msgstr "``epsilon``" -#: ../../library/sys.rst:517 -msgid "DBL_EPSILON" -msgstr "DBL_EPSILON" +#: ../../library/sys.rst:528 +msgid "``DBL_EPSILON``" +msgstr "``DBL_EPSILON``" -#: ../../library/sys.rst:517 +#: ../../library/sys.rst:528 msgid "" "difference between 1.0 and the least value greater than 1.0 that is " "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" -#: ../../library/sys.rst:520 +#: ../../library/sys.rst:531 msgid "See also :func:`math.ulp`." msgstr "Veja também :func:`math.ulp.`" -#: ../../library/sys.rst:522 -msgid ":const:`dig`" -msgstr ":const:`dig`" +#: ../../library/sys.rst:533 +msgid "``dig``" +msgstr "``dig``" -#: ../../library/sys.rst:522 -msgid "DBL_DIG" -msgstr "DBL_DIG" +#: ../../library/sys.rst:533 +msgid "``DBL_DIG``" +msgstr "``DBL_DIG``" -#: ../../library/sys.rst:522 +#: ../../library/sys.rst:533 msgid "" "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:525 -msgid ":const:`mant_dig`" -msgstr ":const:`mant_dig`" +#: ../../library/sys.rst:536 +msgid "``mant_dig``" +msgstr "``mant_dig``" -#: ../../library/sys.rst:525 -msgid "DBL_MANT_DIG" -msgstr "DBL_MANT_DIG" +#: ../../library/sys.rst:536 +msgid "``DBL_MANT_DIG``" +msgstr "``DBL_MANT_DIG``" -#: ../../library/sys.rst:525 +#: ../../library/sys.rst:536 msgid "" "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:528 -msgid ":const:`max`" -msgstr ":const:`max`" +#: ../../library/sys.rst:539 +msgid "``max``" +msgstr "``max``" -#: ../../library/sys.rst:528 -msgid "DBL_MAX" -msgstr "DBL_MAX" +#: ../../library/sys.rst:539 +msgid "``DBL_MAX``" +msgstr "``DBL_MAX``" -#: ../../library/sys.rst:528 +#: ../../library/sys.rst:539 msgid "maximum representable positive finite float" -msgstr "" +msgstr "ponto flutuante finito positivo máximo representável" -#: ../../library/sys.rst:530 -msgid ":const:`max_exp`" -msgstr ":const:`max_exp`" +#: ../../library/sys.rst:541 +msgid "``max_exp``" +msgstr "``max_exp``" -#: ../../library/sys.rst:530 -msgid "DBL_MAX_EXP" -msgstr "" +#: ../../library/sys.rst:541 +msgid "``DBL_MAX_EXP``" +msgstr "``DBL_MAX_EXP``" -#: ../../library/sys.rst:530 +#: ../../library/sys.rst:541 msgid "" "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:533 -msgid ":const:`max_10_exp`" -msgstr ":const:`max_10_exp`" +#: ../../library/sys.rst:544 +msgid "``max_10_exp``" +msgstr "``max_10_exp``" -#: ../../library/sys.rst:533 -msgid "DBL_MAX_10_EXP" -msgstr "DBL_MAX_10_EXP" +#: ../../library/sys.rst:544 +msgid "``DBL_MAX_10_EXP``" +msgstr "``DBL_MAX_10_EXP``" -#: ../../library/sys.rst:533 +#: ../../library/sys.rst:544 msgid "" "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:536 -msgid ":const:`min`" -msgstr ":const:`min`" +#: ../../library/sys.rst:547 +msgid "``min``" +msgstr "``min``" -#: ../../library/sys.rst:536 -msgid "DBL_MIN" -msgstr "" +#: ../../library/sys.rst:547 +msgid "``DBL_MIN``" +msgstr "``DBL_MIN``" -#: ../../library/sys.rst:536 +#: ../../library/sys.rst:547 msgid "minimum representable positive *normalized* float" -msgstr "" +msgstr "ponto flutuante *normalizado* positivo mínimo representável" -#: ../../library/sys.rst:538 +#: ../../library/sys.rst:549 msgid "" "Use :func:`math.ulp(0.0) ` to get the smallest positive " "*denormalized* representable float." msgstr "" +"Use :func:`math.ulp(0.0) ` para obter o menor ponto flutuante " +"representável positivo *desnormalizado*." -#: ../../library/sys.rst:542 -msgid ":const:`min_exp`" -msgstr ":const:`min_exp`" +#: ../../library/sys.rst:553 +msgid "``min_exp``" +msgstr "``min_exp``" -#: ../../library/sys.rst:542 -msgid "DBL_MIN_EXP" -msgstr "" +#: ../../library/sys.rst:553 +msgid "``DBL_MIN_EXP``" +msgstr "``DBL_MIN_EXP``" -#: ../../library/sys.rst:542 +#: ../../library/sys.rst:553 msgid "minimum integer *e* such that ``radix**(e-1)`` is a normalized float" msgstr "" +"inteiro mínimo *e* de tal modo que ``radix**(e-1)`` é um ponto flutuante " +"normalizado" -#: ../../library/sys.rst:545 -msgid ":const:`min_10_exp`" -msgstr ":const:`min_10_exp`" +#: ../../library/sys.rst:556 +msgid "``min_10_exp``" +msgstr "``min_10_exp``" -#: ../../library/sys.rst:545 -msgid "DBL_MIN_10_EXP" -msgstr "DBL_MIN_10_EXP" +#: ../../library/sys.rst:556 +msgid "``DBL_MIN_10_EXP``" +msgstr "``DBL_MIN_10_EXP``" -#: ../../library/sys.rst:545 +#: ../../library/sys.rst:556 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:548 -msgid ":const:`radix`" -msgstr ":const:`radix`" +#: ../../library/sys.rst:559 +msgid "``radix``" +msgstr "``radix``" -#: ../../library/sys.rst:548 -msgid "FLT_RADIX" -msgstr "" +#: ../../library/sys.rst:559 +msgid "``FLT_RADIX``" +msgstr "``FLT_RADIX``" -#: ../../library/sys.rst:548 +#: ../../library/sys.rst:559 msgid "radix of exponent representation" -msgstr "" +msgstr "raiz da representação do expoente" -#: ../../library/sys.rst:550 -msgid ":const:`rounds`" -msgstr ":const:`rounds`" +#: ../../library/sys.rst:561 +msgid "``rounds``" +msgstr "``rounds``" -#: ../../library/sys.rst:550 -msgid "FLT_ROUNDS" +#: ../../library/sys.rst:561 +msgid "``FLT_ROUNDS``" +msgstr "``FLT_ROUNDS``" + +#: ../../library/sys.rst:561 +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:550 +#: ../../library/sys.rst:571 msgid "" -"integer constant representing the rounding mode used for arithmetic " -"operations. This reflects the value of the system FLT_ROUNDS macro at " -"interpreter startup time. See section 5.2.4.2.2 of the C99 standard for an " -"explanation of the possible values and their meanings." +"All other values for ``FLT_ROUNDS`` characterize implementation-defined " +"rounding behavior." msgstr "" +"Todos os outros valores para ``FLT_ROUNDS`` caracterizam o comportamento de " +"arredondamento definido pela implementação." -#: ../../library/sys.rst:558 +#: ../../library/sys.rst:575 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 " "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 " +"flutuante e vice-versa recuperará uma string representando o mesmo decimal " +"valor::" -#: ../../library/sys.rst:571 +#: ../../library/sys.rst:588 msgid "" "But for strings with more than :attr:`sys.float_info.dig` significant " "digits, this isn't always true::" msgstr "" +"Mas para strings com mais de :attr:`sys.float_info.dig` dígitos " +"significativos, isso nem sempre é verdade::" -#: ../../library/sys.rst:580 +#: ../../library/sys.rst:597 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)`` " @@ -916,8 +1218,15 @@ msgid "" "``float_repr_style`` has value ``'legacy'`` and ``repr(x)`` behaves in the " "same way as it did in versions of Python prior to 3.1." msgstr "" +"Uma string indicando como a função :func:`repr` se comporta para floats. Se " +"a string tem valor ``'short'`` então para um ponto flutuante finito ``x``, " +"``repr(x)`` visa produzir uma string curta com a propriedade que " +"``float(repr(x)) == x``. Este é o comportamento usual no Python 3.1 e " +"posterior. Caso contrário, ``float_repr_style`` tem valor ``'legacy'`` e " +"``repr(x)`` se comporta da mesma forma que nas versões do Python anteriores " +"a 3.1." -#: ../../library/sys.rst:593 +#: ../../library/sys.rst:610 msgid "" "Return the number of memory blocks currently allocated by the interpreter, " "regardless of their size. This function is mainly useful for tracking and " @@ -926,62 +1235,88 @@ msgid "" "`_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." -#: ../../library/sys.rst:600 +#: ../../library/sys.rst:617 msgid "" "If a Python build or implementation cannot reasonably compute this " "information, :func:`getallocatedblocks()` is allowed to return 0 instead." msgstr "" +"Se uma construção ou implementação do Python não puder computar " +"razoavelmente essas informações, :func:`getallocatedblocks()` poderá " +"retornar 0 em seu lugar." -#: ../../library/sys.rst:608 +#: ../../library/sys.rst:625 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:611 +#: ../../library/sys.rst:628 msgid ":ref:`Availability `: Android." -msgstr "" +msgstr ":ref:`Disponibilidade `: Android." -#: ../../library/sys.rst:617 +#: ../../library/sys.rst:634 msgid "" "Return the name of the current default string encoding used by the Unicode " "implementation." msgstr "" +"Retorna o nome da codificação de string padrão atual usada pela " +"implementação Unicode." -#: ../../library/sys.rst:623 +#: ../../library/sys.rst:640 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`)." msgstr "" -#: ../../library/sys.rst:628 ../../library/sys.rst:1256 +#: ../../library/sys.rst:645 ../../library/sys.rst:1297 msgid ":ref:`Availability `: Unix." msgstr ":ref:`Disponibilidade `: Unix." -#: ../../library/sys.rst:633 +#: ../../library/sys.rst:650 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:" -"`getfilesystemencoding`." +"`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`." -#: ../../library/sys.rst:639 +#: ../../library/sys.rst:656 msgid "" "For best compatibility, str should be used for filenames in all cases, " "although representing filenames as bytes is also supported. Functions " "accepting or returning filenames should support either str or bytes and " "internally convert to the system's preferred representation." msgstr "" +"Para melhor compatibilidade, str deve ser usado para nomes de arquivos em " +"todos os casos, embora a representação de nomes de arquivos como bytes " +"também seja suportada. As funções que aceitam ou retornam nomes de arquivo " +"devem suportar str ou bytes e converter internamente para a representação " +"preferencial do sistema." -#: ../../library/sys.rst:644 ../../library/sys.rst:672 +#: ../../library/sys.rst:661 ../../library/sys.rst:689 msgid "" ":func:`os.fsencode` and :func:`os.fsdecode` should be used to ensure that " "the correct encoding and errors mode are used." 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:647 ../../library/sys.rst:675 +#: ../../library/sys.rst:664 ../../library/sys.rst:692 msgid "" "The :term:`filesystem encoding and error handler` are configured at Python " "startup by the :c:func:`PyConfig_Read` function: see :c:member:`~PyConfig." @@ -993,22 +1328,27 @@ msgstr "" "veja os membros :c:member:`~PyConfig.filesystem_encoding` e :c:member:" "`~PyConfig.filesystem_errors` do :c:type:`PyConfig`." -#: ../../library/sys.rst:652 +#: ../../library/sys.rst:669 msgid ":func:`getfilesystemencoding` result cannot be ``None`` anymore." msgstr "" +"O resultado de :func:`getfilesystemencoding` não pode mais ser ``None``." -#: ../../library/sys.rst:655 +#: ../../library/sys.rst:672 msgid "" "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." -#: ../../library/sys.rst:659 +#: ../../library/sys.rst:676 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:666 +#: ../../library/sys.rst:683 msgid "" "Get the :term:`filesystem error handler `: the error handler used with the :term:`filesystem encoding " @@ -1016,62 +1356,105 @@ msgid "" "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`." -#: ../../library/sys.rst:684 +#: ../../library/sys.rst:701 +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`." + +#: ../../library/sys.rst:708 msgid "" "Return the reference count of the *object*. The count returned is generally " "one higher than you might expect, because it includes the (temporary) " "reference as an argument to :func:`getrefcount`." 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) passada como argumento para :func:`getrefcount`." -#: ../../library/sys.rst:691 +#: ../../library/sys.rst:712 +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:718 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`." 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`." -#: ../../library/sys.rst:699 +#: ../../library/sys.rst:726 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 " "hold true for third-party extensions as it is implementation specific." msgstr "" +"Retorna o tamanho de um objeto em bytes. O objeto pode ser qualquer tipo de " +"objeto. Todos os objetos embutidos retornarão resultados corretos, mas isso " +"não precisa ser verdadeiro para extensões de terceiros, pois é específico da " +"implementação." -#: ../../library/sys.rst:704 +#: ../../library/sys.rst:731 msgid "" "Only the memory consumption directly attributed to the object is accounted " "for, not the memory consumption of objects it refers to." 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:707 +#: ../../library/sys.rst:734 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." msgstr "" +"Se fornecido, *default* será retornado se o objeto não fornecer meios para " +"recuperar o tamanho. Caso contrário, uma exceção :exc:`TypeError` será " +"levantada." -#: ../../library/sys.rst:710 +#: ../../library/sys.rst:737 msgid "" ":func:`getsizeof` calls the object's ``__sizeof__`` method and adds an " "additional garbage collector overhead if the object is managed by the " "garbage collector." msgstr "" +":func:`getsizeof` chama o método ``__sizeof__`` do objeto e adiciona uma " +"sobrecarga adicional do coletor de lixo se o objeto for gerenciado pelo " +"coletor de lixo." -#: ../../library/sys.rst:714 +#: ../../library/sys.rst:741 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:720 +#: ../../library/sys.rst:747 msgid "" "Return the interpreter's \"thread switch interval\"; see :func:" "`setswitchinterval`." msgstr "" +"Retorna o \"intervalo de troca de thread\" do interpretador; veja :func:" +"`setswitchinterval`." -#: ../../library/sys.rst:728 +#: ../../library/sys.rst:755 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. " @@ -1079,36 +1462,48 @@ msgid "" "default for *depth* is zero, returning the frame at the top of the call " "stack." msgstr "" +"Retorna um objeto quadro da pilha de chamadas. Se o inteiro opcional *depth* " +"for fornecido, retorna o objeto de quadro que muitos chamam abaixo do topo " +"da pilha. Se for mais profundo do que a pilha de chamadas, :exc:`ValueError` " +"é levantada. O padrão para *depth* é zero, retornando o quadro no topo da " +"pilha de chamadas." -#: ../../library/sys.rst:733 +#: ../../library/sys.rst:760 msgid "" "Raises an :ref:`auditing event ` ``sys._getframe`` with no " "arguments." msgstr "" -#: ../../library/sys.rst:737 +#: ../../library/sys.rst:764 msgid "" "This function should be used for internal and specialized purposes only. It " "is not guaranteed to exist in all implementations of Python." 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:747 +#: ../../library/sys.rst:774 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:756 +#: ../../library/sys.rst:783 msgid "Get the trace function as set by :func:`settrace`." -msgstr "" +msgstr "Obtém a função trace conforme definido por :func:`settrace`." -#: ../../library/sys.rst:760 +#: ../../library/sys.rst:787 msgid "" "The :func:`gettrace` 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:`gettrace` 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:768 +#: ../../library/sys.rst:795 msgid "" "Return a named tuple describing the Windows version currently running. The " "named elements are *major*, *minor*, *build*, *platform*, *service_pack*, " @@ -1119,220 +1514,270 @@ msgid "" "getwindowsversion().major``. For compatibility with prior versions, only the " "first 5 elements are retrievable by indexing." msgstr "" - -#: ../../library/sys.rst:779 +"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." + +#: ../../library/sys.rst:806 msgid "*platform* will be :const:`2 (VER_PLATFORM_WIN32_NT)`." msgstr "" -#: ../../library/sys.rst:781 +#: ../../library/sys.rst:808 msgid "*product_type* may be one of the following values:" -msgstr "" +msgstr "*product_type* pode ser um dos seguintes valores:" -#: ../../library/sys.rst:784 +#: ../../library/sys.rst:811 msgid "Constant" msgstr "Constante" -#: ../../library/sys.rst:784 +#: ../../library/sys.rst:811 msgid "Meaning" msgstr "Significado" -#: ../../library/sys.rst:786 +#: ../../library/sys.rst:813 msgid ":const:`1 (VER_NT_WORKSTATION)`" msgstr ":const:`1 (VER_NT_WORKSTATION)`" -#: ../../library/sys.rst:786 +#: ../../library/sys.rst:813 msgid "The system is a workstation." -msgstr "" +msgstr "O sistema é uma estação de trabalho" -#: ../../library/sys.rst:788 +#: ../../library/sys.rst:815 msgid ":const:`2 (VER_NT_DOMAIN_CONTROLLER)`" msgstr ":const:`2 (VER_NT_DOMAIN_CONTROLLER)`" -#: ../../library/sys.rst:788 +#: ../../library/sys.rst:815 msgid "The system is a domain controller." -msgstr "" +msgstr "O sistema é um controlador de domínio." -#: ../../library/sys.rst:791 +#: ../../library/sys.rst:818 msgid ":const:`3 (VER_NT_SERVER)`" msgstr ":const:`3 (VER_NT_SERVER)`" -#: ../../library/sys.rst:791 +#: ../../library/sys.rst:818 msgid "The system is a server, but not a domain controller." -msgstr "" +msgstr "O sistema é um servidor, mas não um controlador de domínio." -#: ../../library/sys.rst:795 +#: ../../library/sys.rst:822 msgid "" "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." -#: ../../library/sys.rst:799 +#: ../../library/sys.rst:826 msgid "" "*platform_version* returns the major version, minor version and build number " "of the current operating system, rather than the version that is being " "emulated for the process. It is intended for use in logging rather than for " "feature detection." msgstr "" +"*platform_version* retorna a versão principal, a versão secundária e o " +"número de compilação do sistema operacional atual, em vez da versão que está " +"sendo emulada para o processo. Destina-se a ser usado no registro, e não na " +"detecção de recursos." -#: ../../library/sys.rst:805 +#: ../../library/sys.rst:832 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." -#: ../../library/sys.rst:811 +#: ../../library/sys.rst:838 msgid "" "Changed to a named tuple and added *service_pack_minor*, " "*service_pack_major*, *suite_mask*, and *product_type*." msgstr "" +"Alterado para uma tupla nomeada e adicionado *service_pack_minor*, " +"*service_pack_major*, *suite_mask* e *product_type*." -#: ../../library/sys.rst:815 +#: ../../library/sys.rst:842 msgid "Added *platform_version*" -msgstr "" +msgstr "Adicionado *platform_version*" -#: ../../library/sys.rst:821 +#: ../../library/sys.rst:848 msgid "" "Returns an *asyncgen_hooks* object, which is similar to a :class:" -"`~collections.namedtuple` of the form `(firstiter, finalizer)`, where " +"`~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." -#: ../../library/sys.rst:828 +#: ../../library/sys.rst:855 msgid "See :pep:`525` for more details." -msgstr "" +msgstr "Veja :pep:`525` para mais detalhes." -#: ../../library/sys.rst:832 ../../library/sys.rst:1450 +#: ../../library/sys.rst:859 ../../library/sys.rst:1499 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:838 +#: ../../library/sys.rst:865 msgid "" "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:844 ../../library/sys.rst:1471 +#: ../../library/sys.rst:871 ../../library/sys.rst:1520 msgid "" "This function has been added on a provisional basis (see :pep:`411` for " "details.) Use it only for debugging purposes." msgstr "" +"Esta função foi adicionada provisoriamente (veja :pep:`411` para detalhes.) " +"Use-a apenas para propósitos de depuração." -#: ../../library/sys.rst:850 +#: ../../library/sys.rst:877 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:857 +#: ../../library/sys.rst:884 msgid ":const:`width`" msgstr ":const:`width`" -#: ../../library/sys.rst:857 +#: ../../library/sys.rst:884 msgid "width in bits used for hash values" -msgstr "" +msgstr "largura em bits usada para fazer hash de valores" -#: ../../library/sys.rst:859 +#: ../../library/sys.rst:886 msgid ":const:`modulus`" msgstr ":const:`modulus`" -#: ../../library/sys.rst:859 +#: ../../library/sys.rst:886 msgid "prime modulus P used for numeric hash scheme" -msgstr "" +msgstr "módulo primo P usado para esquema de hash numérico" -#: ../../library/sys.rst:861 +#: ../../library/sys.rst:888 msgid ":const:`inf`" msgstr ":const:`inf`" -#: ../../library/sys.rst:861 +#: ../../library/sys.rst:888 msgid "hash value returned for a positive infinity" -msgstr "" +msgstr "valor de hash retornado para um infinito positivo" -#: ../../library/sys.rst:863 +#: ../../library/sys.rst:890 msgid ":const:`nan`" msgstr ":const:`nan`" -#: ../../library/sys.rst:863 +#: ../../library/sys.rst:890 msgid "(this attribute is no longer used)" -msgstr "" +msgstr "(este atributo não é mais usado)" -#: ../../library/sys.rst:865 +#: ../../library/sys.rst:892 msgid ":const:`imag`" msgstr ":const:`imag`" -#: ../../library/sys.rst:865 +#: ../../library/sys.rst:892 msgid "multiplier used for the imaginary part of a complex number" -msgstr "" +msgstr "multiplicador usado para a parte imaginária de um número complexo" -#: ../../library/sys.rst:868 +#: ../../library/sys.rst:895 msgid ":const:`algorithm`" msgstr ":const:`algorithm`" -#: ../../library/sys.rst:868 +#: ../../library/sys.rst:895 msgid "name of the algorithm for hashing of str, bytes, and memoryview" -msgstr "" +msgstr "nome do algoritmo para hash de str, bytes e memoryview" -#: ../../library/sys.rst:871 +#: ../../library/sys.rst:898 msgid ":const:`hash_bits`" msgstr ":const:`hash_bits`" -#: ../../library/sys.rst:871 +#: ../../library/sys.rst:898 msgid "internal output size of the hash algorithm" -msgstr "" +msgstr "tamanho da saída interna do algoritmo de hash" -#: ../../library/sys.rst:873 +#: ../../library/sys.rst:900 msgid ":const:`seed_bits`" msgstr ":const:`seed_bits`" -#: ../../library/sys.rst:873 +#: ../../library/sys.rst:900 msgid "size of the seed key of the hash algorithm" -msgstr "" +msgstr "tamanho da chave semente do algoritmo hash" -#: ../../library/sys.rst:879 +#: ../../library/sys.rst:906 msgid "Added *algorithm*, *hash_bits* and *seed_bits*" -msgstr "" +msgstr "Adicionado *algorithm*, *hash_bits* e *seed_bits*" -#: ../../library/sys.rst:885 +#: ../../library/sys.rst:912 msgid "" "The version number encoded as a single integer. This is guaranteed to " "increase with each version, including proper support for non-production " "releases. For example, to test that the Python interpreter is at least " "version 1.5.2, use::" msgstr "" +"O número da versão codificado como um único inteiro. Isso é garantido para " +"aumentar com cada versão, incluindo suporte adequado para lançamentos de não " +"produção. Por exemplo, para testar se o interpretador Python é pelo menos a " +"versão 1.5.2, use::" -#: ../../library/sys.rst:896 +#: ../../library/sys.rst:923 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. " "The :term:`named tuple` :data:`sys.version_info` may be used for a more " "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." -#: ../../library/sys.rst:901 +#: ../../library/sys.rst:928 msgid "More details of ``hexversion`` can be found at :ref:`apiabiversion`." msgstr "" +"Mais detalhes sobre ``hexversion`` podem ser encontrados em :ref:" +"`apiabiversion`." -#: ../../library/sys.rst:906 +#: ../../library/sys.rst:933 msgid "" "An object containing information about the implementation of the currently " "running Python interpreter. The following attributes are required to exist " "in all Python implementations." msgstr "" +"Um objeto que contém informações sobre a implementação do interpretador " +"Python em execução no momento. Os atributos a seguir devem existir em todas " +"as implementações do Python." -#: ../../library/sys.rst:910 +#: ../../library/sys.rst:937 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 " "lower case." msgstr "" +"*name* é o identificador da implementação, por exemplo ``'cpython'``. A " +"string real é definida pela implementação do Python, mas é garantido que " +"seja minúscula." -#: ../../library/sys.rst:914 +#: ../../library/sys.rst:941 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 " @@ -1343,14 +1788,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:924 +#: ../../library/sys.rst:951 msgid "" "*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:927 +#: ../../library/sys.rst:954 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 " @@ -1358,8 +1814,14 @@ 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:934 +#: ../../library/sys.rst:961 msgid "" ":data:`sys.implementation` may contain additional attributes specific to the " "Python implementation. These non-standard attributes must start with an " @@ -1368,46 +1830,80 @@ msgid "" "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:945 +#: ../../library/sys.rst:972 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:950 +#: ../../library/sys.rst:977 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:956 ../../library/sys.rst:1602 +#: ../../library/sys.rst:983 ../../library/sys.rst:1651 msgid "Attribute" msgstr "Atributo" -#: ../../library/sys.rst:956 ../../library/sys.rst:1602 +#: ../../library/sys.rst:983 ../../library/sys.rst:1651 msgid "Explanation" -msgstr "Explanação" +msgstr "Explicação" -#: ../../library/sys.rst:958 +#: ../../library/sys.rst:985 msgid ":const:`bits_per_digit`" msgstr ":const:`bits_per_digit`" -#: ../../library/sys.rst:958 +#: ../../library/sys.rst:985 msgid "" "number of bits held in each digit. Python integers are stored internally in " "base ``2**int_info.bits_per_digit``" msgstr "" -#: ../../library/sys.rst:962 +#: ../../library/sys.rst:989 msgid ":const:`sizeof_digit`" msgstr ":const:`sizeof_digit`" -#: ../../library/sys.rst:962 +#: ../../library/sys.rst:989 msgid "size in bytes of the C type used to represent a digit" msgstr "" -#: ../../library/sys.rst:971 +#: ../../library/sys.rst:992 +msgid ":const:`default_max_str_digits`" +msgstr "" + +#: ../../library/sys.rst:992 +msgid "" +"default value for :func:`sys.get_int_max_str_digits` when it is not " +"otherwise explicitly configured." +msgstr "" + +#: ../../library/sys.rst:996 +msgid ":const:`str_digits_check_threshold`" +msgstr "" + +#: ../../library/sys.rst:996 +msgid "" +"minimum non-zero value for :func:`sys.set_int_max_str_digits`, :envvar:" +"`PYTHONINTMAXSTRDIGITS`, or :option:`-X int_max_str_digits <-X>`." +msgstr "" + +#: ../../library/sys.rst:1004 +msgid "Added ``default_max_str_digits`` and ``str_digits_check_threshold``." +msgstr "" + +#: ../../library/sys.rst:1010 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:977 +#: ../../library/sys.rst:1016 msgid "" "Raises an :ref:`auditing event ` ``cpython.run_interactivehook`` " "with argument ``hook``." msgstr "" -#: ../../library/sys.rst:979 +#: ../../library/sys.rst:1018 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:988 +#: ../../library/sys.rst:1027 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 " @@ -1439,20 +1943,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:996 +#: ../../library/sys.rst:1035 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:1002 +#: ../../library/sys.rst:1041 msgid "" "Return :const:`True` if the Python interpreter is :term:`shutting down " "`, :const:`False` otherwise." msgstr "" -#: ../../library/sys.rst:1012 +#: ../../library/sys.rst:1051 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 " @@ -1463,65 +1976,87 @@ msgid "" "information.)" msgstr "" -#: ../../library/sys.rst:1020 +#: ../../library/sys.rst:1059 msgid "" "The meaning of the variables is the same as that of the return values from :" "func:`exc_info` above." msgstr "" -#: ../../library/sys.rst:1026 +#: ../../library/sys.rst:1065 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:1033 +#: ../../library/sys.rst:1072 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:1036 +#: ../../library/sys.rst:1075 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:1044 +#: ../../library/sys.rst:1083 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. 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:1056 +"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 "" +"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:1096 msgid ":class:`importlib.abc.MetaPathFinder`" msgstr ":class:`importlib.abc.MetaPathFinder`" -#: ../../library/sys.rst:1056 +#: ../../library/sys.rst:1096 msgid "" "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:1060 +#: ../../library/sys.rst:1100 msgid ":class:`importlib.machinery.ModuleSpec`" msgstr ":class:`importlib.machinery.ModuleSpec`" -#: ../../library/sys.rst:1059 +#: ../../library/sys.rst:1099 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:1065 +#: ../../library/sys.rst:1105 msgid "" ":term:`Module specs ` were introduced in Python 3.4, by :pep:" "`451`. Earlier versions of Python looked for a method called :meth:" @@ -1530,33 +2065,49 @@ msgid "" "MetaPathFinder.find_spec` method." msgstr "" -#: ../../library/sys.rst:1073 +#: ../../library/sys.rst:1113 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 " "other tricks. However, replacing the dictionary will not necessarily work as " "expected and deleting essential items from the dictionary may cause Python " -"to fail." -msgstr "" - -#: ../../library/sys.rst:1081 +"to fail. If you want to iterate over this global dictionary always use " +"``sys.modules.copy()`` or ``tuple(sys.modules)`` to avoid exceptions as its " +"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:1125 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:1084 +#: ../../library/sys.rst:1128 msgid "See also :data:`sys.argv`." msgstr "" -#: ../../library/sys.rst:1093 +#: ../../library/sys.rst:1137 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:1097 +#: ../../library/sys.rst:1141 msgid "" "As initialized upon program startup, the first item of this list, " "``path[0]``, is the directory containing the script that was used to invoke " @@ -1568,51 +2119,61 @@ msgid "" "`PYTHONPATH`." msgstr "" -#: ../../library/sys.rst:1105 +#: ../../library/sys.rst:1149 msgid "" "A program is free to modify this list for its own purposes. Only strings " "and bytes should be added to :data:`sys.path`; all other data types are " "ignored during import." msgstr "" -#: ../../library/sys.rst:1111 +#: ../../library/sys.rst:1155 msgid "" "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:1117 +#: ../../library/sys.rst:1161 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`." 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:1121 ../../library/sys.rst:1132 +#: ../../library/sys.rst:1165 ../../library/sys.rst:1176 msgid "Originally specified in :pep:`302`." -msgstr "" +msgstr "Originalmente especificado na :pep:`302`." -#: ../../library/sys.rst:1126 +#: ../../library/sys.rst:1170 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:1134 +#: ../../library/sys.rst:1178 msgid "" "``None`` is stored instead of :class:`imp.NullImporter` when no finder is " "found." msgstr "" -#: ../../library/sys.rst:1141 +#: ../../library/sys.rst:1185 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:1144 +#: ../../library/sys.rst:1188 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 " @@ -1621,59 +2182,59 @@ msgid "" "version, it is therefore recommended to use the following idiom::" msgstr "" -#: ../../library/sys.rst:1157 +#: ../../library/sys.rst:1201 msgid "For other systems, the values are:" msgstr "" -#: ../../library/sys.rst:1160 +#: ../../library/sys.rst:1204 msgid "System" -msgstr "" +msgstr "Sistema" -#: ../../library/sys.rst:1160 +#: ../../library/sys.rst:1204 msgid "``platform`` value" -msgstr "" +msgstr "Valor de ``platform``" -#: ../../library/sys.rst:1162 +#: ../../library/sys.rst:1206 msgid "AIX" -msgstr "" +msgstr "AIX" -#: ../../library/sys.rst:1162 +#: ../../library/sys.rst:1206 msgid "``'aix'``" msgstr "``'aix'``" -#: ../../library/sys.rst:1163 +#: ../../library/sys.rst:1207 msgid "Linux" -msgstr "" +msgstr "Linux" -#: ../../library/sys.rst:1163 +#: ../../library/sys.rst:1207 msgid "``'linux'``" msgstr "``'linux'``" -#: ../../library/sys.rst:1164 +#: ../../library/sys.rst:1208 msgid "Windows" msgstr "Windows" -#: ../../library/sys.rst:1164 +#: ../../library/sys.rst:1208 msgid "``'win32'``" msgstr "``'win32'``" -#: ../../library/sys.rst:1165 +#: ../../library/sys.rst:1209 msgid "Windows/Cygwin" msgstr "Windows/Cygwin" -#: ../../library/sys.rst:1165 +#: ../../library/sys.rst:1209 msgid "``'cygwin'``" msgstr "``'cygwin'``" -#: ../../library/sys.rst:1166 +#: ../../library/sys.rst:1210 msgid "macOS" msgstr "macOS" -#: ../../library/sys.rst:1166 +#: ../../library/sys.rst:1210 msgid "``'darwin'``" msgstr "``'darwin'``" -#: ../../library/sys.rst:1169 +#: ../../library/sys.rst:1213 msgid "" "On Linux, :attr:`sys.platform` doesn't contain the major version anymore. It " "is always ``'linux'``, instead of ``'linux2'`` or ``'linux3'``. Since older " @@ -1681,7 +2242,7 @@ msgid "" "the ``startswith`` idiom presented above." msgstr "" -#: ../../library/sys.rst:1175 +#: ../../library/sys.rst:1219 msgid "" "On AIX, :attr:`sys.platform` doesn't contain the major version anymore. It " "is always ``'aix'``, instead of ``'aix5'`` or ``'aix7'``. Since older " @@ -1689,13 +2250,13 @@ msgid "" "the ``startswith`` idiom presented above." msgstr "" -#: ../../library/sys.rst:1183 +#: ../../library/sys.rst:1227 msgid "" ":attr:`os.name` has a coarser granularity. :func:`os.uname` gives system-" "dependent version information." msgstr "" -#: ../../library/sys.rst:1186 +#: ../../library/sys.rst:1230 msgid "" "The :mod:`platform` module provides detailed checks for the system's " "identity." @@ -1703,64 +2264,84 @@ msgstr "" "O módulo :mod:`platform` fornece verificações detalhadas sobre a " "identificação do sistema." -#: ../../library/sys.rst:1192 +#: ../../library/sys.rst:1236 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:1195 +#: ../../library/sys.rst:1239 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):" 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:1199 +#: ../../library/sys.rst:1243 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:1201 +#: ../../library/sys.rst:1245 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:1204 +#: ../../library/sys.rst:1248 msgid "" "``/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:1206 +#: ../../library/sys.rst:1250 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:1214 +#: ../../library/sys.rst:1258 msgid "" "A string giving the site-specific directory prefix where the platform " -"independent Python files are installed; by default, this is the string ``'/" -"usr/local'``. This can be set at build time with the ``--prefix`` argument " -"to the :program:`configure` script. The main collection of Python library " -"modules is installed in the directory :file:`{prefix}/lib/python{X.Y}` while " -"the platform independent header files (all except :file:`pyconfig.h`) are " -"stored in :file:`{prefix}/include/python{X.Y}`, where *X.Y* is the version " -"number of Python, for example ``3.2``." +"independent Python files are installed; on Unix, the default is :file:`/usr/" +"local`. This can be set at build time with the :option:`--prefix` argument " +"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:1223 +#: ../../library/sys.rst:1264 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:1238 +#: ../../library/sys.rst:1279 msgid "" "Strings specifying the primary and secondary prompt of the interpreter. " "These are only defined if the interpreter is in interactive mode. Their " @@ -1769,8 +2350,14 @@ 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:1248 +#: ../../library/sys.rst:1289 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 " @@ -1781,7 +2368,17 @@ msgid "" "data:`os.RTLD_LAZY`)." msgstr "" -#: ../../library/sys.rst:1264 +#: ../../library/sys.rst:1301 +msgid "" +"Set the :ref:`integer string conversion length limitation " +"` 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`." + +#: ../../library/sys.rst:1313 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 " @@ -1795,100 +2392,136 @@ 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:1275 +#: ../../library/sys.rst:1324 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:1280 +#: ../../library/sys.rst:1329 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:1282 ../../library/sys.rst:1363 +#: ../../library/sys.rst:1331 ../../library/sys.rst:1412 msgid "The events have the following meaning:" -msgstr "" +msgstr "Os eventos têm o seguinte significado:" -#: ../../library/sys.rst:1286 ../../library/sys.rst:1368 +#: ../../library/sys.rst:1335 ../../library/sys.rst:1417 msgid "``'call'``" msgstr "``'call'``" -#: ../../library/sys.rst:1285 +#: ../../library/sys.rst:1334 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:1291 ../../library/sys.rst:1383 +#: ../../library/sys.rst:1340 ../../library/sys.rst:1432 msgid "``'return'``" msgstr "``'return'``" -#: ../../library/sys.rst:1289 +#: ../../library/sys.rst:1338 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:1295 +#: ../../library/sys.rst:1344 msgid "``'c_call'``" msgstr "``'c_call'``" -#: ../../library/sys.rst:1294 +#: ../../library/sys.rst:1343 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:1298 +#: ../../library/sys.rst:1347 msgid "``'c_return'``" msgstr "``'c_return'``" -#: ../../library/sys.rst:1298 +#: ../../library/sys.rst:1347 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:1300 +#: ../../library/sys.rst:1349 msgid "``'c_exception'``" msgstr "``'c_exception'``" -#: ../../library/sys.rst:1301 +#: ../../library/sys.rst:1350 msgid "A C function has raised an exception. *arg* is the C function object." -msgstr "" +msgstr "Uma função C levantou uma exceção. *arg* é o objeto da função C." -#: ../../library/sys.rst:1305 +#: ../../library/sys.rst:1354 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:1309 +#: ../../library/sys.rst:1358 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:1314 +#: ../../library/sys.rst:1363 msgid "" "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:1317 +#: ../../library/sys.rst:1366 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:1324 +#: ../../library/sys.rst:1373 msgid "" "Set the interpreter's thread switch interval (in seconds). This floating-" "point value determines the ideal duration of the \"timeslices\" allocated to " @@ -1898,8 +2531,15 @@ 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:1341 +#: ../../library/sys.rst:1390 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 " @@ -1907,48 +2547,66 @@ msgid "" "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:1346 +#: ../../library/sys.rst:1395 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:1351 +#: ../../library/sys.rst:1400 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:1356 +#: ../../library/sys.rst:1405 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." msgstr "" -#: ../../library/sys.rst:1360 +#: ../../library/sys.rst:1409 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:1366 +#: ../../library/sys.rst:1415 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:1377 +#: ../../library/sys.rst:1426 msgid "``'line'``" msgstr "``'line'``" -#: ../../library/sys.rst:1371 +#: ../../library/sys.rst:1420 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``; " @@ -1958,30 +2616,37 @@ msgid "" "const:`False` on that frame." msgstr "" -#: ../../library/sys.rst:1380 +#: ../../library/sys.rst:1429 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:1388 +#: ../../library/sys.rst:1437 msgid "``'exception'``" msgstr "``'exception'``" -#: ../../library/sys.rst:1386 +#: ../../library/sys.rst:1435 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:1396 +#: ../../library/sys.rst:1445 msgid "``'opcode'``" msgstr "``'opcode'``" -#: ../../library/sys.rst:1391 +#: ../../library/sys.rst:1440 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 " @@ -1990,13 +2655,15 @@ msgid "" "`f_trace_opcodes` to :const:`True` on the frame." msgstr "" -#: ../../library/sys.rst:1398 +#: ../../library/sys.rst:1447 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:1401 +#: ../../library/sys.rst:1450 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 " @@ -2009,32 +2676,51 @@ msgid "" "tracing function that simply returns ``None`` to disable itself immediately " "on each frame)." msgstr "" - -#: ../../library/sys.rst:1412 +"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:1461 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:1414 +#: ../../library/sys.rst:1463 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:1418 +#: ../../library/sys.rst:1467 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:1425 +#: ../../library/sys.rst:1474 msgid "" "``'opcode'`` event type added; :attr:`f_trace_lines` and :attr:" "`f_trace_opcodes` attributes added to frames" msgstr "" -#: ../../library/sys.rst:1430 +#: ../../library/sys.rst:1479 msgid "" "Accepts two optional keyword arguments which are callables that accept an :" "term:`asynchronous generator iterator` as an argument. The *firstiter* " @@ -2042,33 +2728,47 @@ msgid "" "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:1436 +#: ../../library/sys.rst:1485 msgid "" "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:1438 +#: ../../library/sys.rst:1487 msgid "" "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:1440 +#: ../../library/sys.rst:1489 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:1443 +#: ../../library/sys.rst:1492 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`" 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:1455 +#: ../../library/sys.rst:1504 msgid "" "Allows enabling or disabling coroutine origin tracking. When enabled, the " "``cr_origin`` attribute on coroutine objects will contain a tuple of " @@ -2077,74 +2777,97 @@ msgid "" "disabled, ``cr_origin`` will be None." msgstr "" -#: ../../library/sys.rst:1462 +#: ../../library/sys.rst:1511 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:1466 +#: ../../library/sys.rst:1515 msgid "This setting is thread-specific." -msgstr "" +msgstr "Esta configuração é específica do thread." -#: ../../library/sys.rst:1476 +#: ../../library/sys.rst:1525 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:1480 +#: ../../library/sys.rst:1529 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:1483 +#: ../../library/sys.rst:1532 msgid "" "See also :func:`sys.getfilesystemencoding` and :func:`sys." "getfilesystemencodeerrors`." msgstr "" +"Veja também :func:`sys.getfilesystemencoding` e :func:`sys." +"getfilesystemencodeerrors`." -#: ../../library/sys.rst:1488 +#: ../../library/sys.rst:1537 msgid "See :pep:`529` for more details." msgstr "Veja :pep:`529` para mais detalhes." -#: ../../library/sys.rst:1495 +#: ../../library/sys.rst:1544 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:1498 +#: ../../library/sys.rst:1547 msgid "" "``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:1500 +#: ../../library/sys.rst:1549 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:1502 +#: ../../library/sys.rst:1551 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:1504 +#: ../../library/sys.rst:1553 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:1508 +#: ../../library/sys.rst:1557 msgid "" "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:1511 +#: ../../library/sys.rst:1560 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 " @@ -2154,15 +2877,27 @@ 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:1520 +#: ../../library/sys.rst:1569 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:1525 +#: ../../library/sys.rst:1574 msgid "" "Under all platforms, you can override the character encoding by setting the :" "envvar:`PYTHONIOENCODING` environment variable before starting Python or by " @@ -2170,8 +2905,14 @@ msgid "" "`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:1532 +#: ../../library/sys.rst:1581 msgid "" "When interactive, the ``stdout`` stream is line-buffered. Otherwise, it is " "block-buffered like regular text files. The ``stderr`` stream is line-" @@ -2179,20 +2920,30 @@ msgid "" "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:1538 +#: ../../library/sys.rst:1587 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:1544 +#: ../../library/sys.rst:1593 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:1548 +#: ../../library/sys.rst:1597 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 " @@ -2200,111 +2951,135 @@ msgid "" "support the :attr:`~io.BufferedIOBase.buffer` attribute." msgstr "" -#: ../../library/sys.rst:1558 +#: ../../library/sys.rst:1607 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:1563 +#: ../../library/sys.rst:1612 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:1569 +#: ../../library/sys.rst:1618 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:1577 +#: ../../library/sys.rst:1626 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:1579 +#: ../../library/sys.rst:1628 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:1584 +#: ../../library/sys.rst:1633 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:1589 +#: ../../library/sys.rst:1638 msgid "See also the :attr:`sys.builtin_module_names` list." msgstr "" -#: ../../library/sys.rst:1596 +#: ../../library/sys.rst:1645 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:1604 +#: ../../library/sys.rst:1653 msgid ":const:`name`" msgstr ":const:`name`" -#: ../../library/sys.rst:1604 +#: ../../library/sys.rst:1653 msgid "Name of the thread implementation:" msgstr "" -#: ../../library/sys.rst:1606 +#: ../../library/sys.rst:1655 msgid "``'nt'``: Windows threads" msgstr "" -#: ../../library/sys.rst:1607 +#: ../../library/sys.rst:1656 msgid "``'pthread'``: POSIX threads" msgstr "``'pthread'``: threads POSIX" -#: ../../library/sys.rst:1608 +#: ../../library/sys.rst:1657 msgid "``'solaris'``: Solaris threads" msgstr "" -#: ../../library/sys.rst:1610 +#: ../../library/sys.rst:1659 msgid ":const:`lock`" msgstr ":const:`lock`" -#: ../../library/sys.rst:1610 +#: ../../library/sys.rst:1659 msgid "Name of the lock implementation:" msgstr "" -#: ../../library/sys.rst:1612 +#: ../../library/sys.rst:1661 msgid "``'semaphore'``: a lock uses a semaphore" msgstr "" -#: ../../library/sys.rst:1613 +#: ../../library/sys.rst:1662 msgid "``'mutex+cond'``: a lock uses a mutex and a condition variable" msgstr "" -#: ../../library/sys.rst:1615 +#: ../../library/sys.rst:1664 msgid "``None`` if this information is unknown" -msgstr "" +msgstr "``None`` se essa informação for desconhecida" -#: ../../library/sys.rst:1617 +#: ../../library/sys.rst:1666 msgid ":const:`version`" msgstr ":const:`version`" -#: ../../library/sys.rst:1617 +#: ../../library/sys.rst:1666 msgid "" "Name and version of the thread library. It is a string, or ``None`` if this " "information is unknown." msgstr "" -#: ../../library/sys.rst:1626 +#: ../../library/sys.rst:1675 msgid "" "When this variable is set to an integer value, it determines the maximum " "number of levels of traceback information printed when an unhandled " @@ -2312,79 +3087,89 @@ 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:1634 +#: ../../library/sys.rst:1683 msgid "Handle an unraisable exception." -msgstr "" +msgstr "Manipula uma exceção não levantada" -#: ../../library/sys.rst:1636 +#: ../../library/sys.rst:1685 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:1640 +#: ../../library/sys.rst:1689 msgid "The *unraisable* argument has the following attributes:" -msgstr "" +msgstr "O argumento *unraisable* tem os seguintes atributos:" -#: ../../library/sys.rst:1642 +#: ../../library/sys.rst:1691 msgid "*exc_type*: Exception type." msgstr "*exc_type*: Tipo de exceção.." -#: ../../library/sys.rst:1643 +#: ../../library/sys.rst:1692 msgid "*exc_value*: Exception value, can be ``None``." msgstr "*exc_value*: Valor da exceção, pode ser ``None``." -#: ../../library/sys.rst:1644 +#: ../../library/sys.rst:1693 msgid "*exc_traceback*: Exception traceback, can be ``None``." msgstr "*exc_traceback*: Pilha de execução da exceção, pode ser ``None``." -#: ../../library/sys.rst:1645 +#: ../../library/sys.rst:1694 msgid "*err_msg*: Error message, can be ``None``." msgstr "" -#: ../../library/sys.rst:1646 +#: ../../library/sys.rst:1695 msgid "*object*: Object causing the exception, can be ``None``." msgstr "" -#: ../../library/sys.rst:1648 +#: ../../library/sys.rst:1697 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``." msgstr "" -#: ../../library/sys.rst:1652 +#: ../../library/sys.rst:1701 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:1655 +#: ../../library/sys.rst:1704 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:1659 +#: ../../library/sys.rst:1708 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." msgstr "" -#: ../../library/sys.rst:1663 +#: ../../library/sys.rst:1712 msgid "See also :func:`excepthook` which handles uncaught exceptions." msgstr "" -#: ../../library/sys.rst:1665 +#: ../../library/sys.rst:1714 msgid "" "Raises an :ref:`auditing event ` ``sys.unraisablehook`` with " "arguments ``hook``, ``unraisable``." msgstr "" -#: ../../library/sys.rst:1667 +#: ../../library/sys.rst:1716 msgid "" "Raise an auditing event ``sys.unraisablehook`` with arguments ``hook``, " "``unraisable`` when an exception that cannot be handled occurs. The " @@ -2392,7 +3177,7 @@ msgid "" "hook has been set, ``hook`` may be ``None``." msgstr "" -#: ../../library/sys.rst:1676 +#: ../../library/sys.rst:1725 msgid "" "A string containing the version number of the Python interpreter plus " "additional information on the build number and compiler used. This string " @@ -2400,14 +3185,21 @@ 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:1685 +#: ../../library/sys.rst:1734 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:1691 +#: ../../library/sys.rst:1740 msgid "" "A tuple containing the five components of the version number: *major*, " "*minor*, *micro*, *releaselevel*, and *serial*. All values except " @@ -2417,48 +3209,74 @@ msgid "" "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:1699 +#: ../../library/sys.rst:1748 msgid "Added named component attributes." -msgstr "" +msgstr "Adiciona componentes nomeados como atributos." -#: ../../library/sys.rst:1704 +#: ../../library/sys.rst:1753 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:1711 +#: ../../library/sys.rst:1760 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 " -"first three characters of :const:`version`. It is provided in the :mod:" -"`sys` module for informational purposes; modifying this value has no effect " -"on the registry keys used by Python." +"major and minor versions of the running Python interpreter. It is provided " +"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:1722 +#: ../../library/sys.rst:1771 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:1738 +#: ../../library/sys.rst:1787 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:1746 +#: ../../library/sys.rst:1795 msgid "Citations" -msgstr "" +msgstr "Citações" -#: ../../library/sys.rst:1747 +#: ../../library/sys.rst:1796 msgid "" "ISO/IEC 9899:1999. \"Programming languages -- C.\" A public draft of this " -"standard is available at http://www.open-std.org/jtc1/sc22/wg14/www/docs/" +"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\\ ." diff --git a/library/sysconfig.po b/library/sysconfig.po index a3d70fea8..557df5bbf 100644 --- a/library/sysconfig.po +++ b/library/sysconfig.po @@ -1,34 +1,33 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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 -# Claudio Rogerio Carvalho Filho , 2021 -# i17obot , 2021 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.10\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-07-27 13:07+0000\n" -"PO-Revision-Date: 2021-06-28 01:14+0000\n" -"Last-Translator: i17obot , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-11-01 17:13+0000\n" +"PO-Revision-Date: 2025-09-22 15:58+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/sysconfig.rst:2 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`" @@ -40,10 +39,13 @@ 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 msgid "Configuration variables" -msgstr "" +msgstr "Variáveis de configuração" #: ../../library/sysconfig.rst:26 msgid "" @@ -57,22 +59,29 @@ 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 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 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 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 msgid "For each argument, if the value is not found, return ``None``." @@ -83,145 +92,185 @@ 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 msgid "If *name* is not found, return ``None``." -msgstr "" +msgstr "Se *name* não for encontrado, retorna ``None``." #: ../../library/sysconfig.rst:53 msgid "Example of usage::" -msgstr "" +msgstr "Exemplo de uso::" -#: ../../library/sysconfig.rst:65 +#: ../../library/sysconfig.rst:66 msgid "Installation paths" -msgstr "" +msgstr "Caminhos de instalação" -#: ../../library/sysconfig.rst:67 +#: ../../library/sysconfig.rst:68 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 "" +"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`." -#: ../../library/sysconfig.rst:71 +#: ../../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:75 -msgid "Python currently supports seven schemes:" +#: ../../library/sysconfig.rst:76 +msgid "Python currently supports six schemes:" msgstr "" -#: ../../library/sysconfig.rst:77 +#: ../../library/sysconfig.rst:78 msgid "" -"*posix_prefix*: scheme for POSIX platforms like Linux or Mac OS X. This is " -"the default scheme used when Python or a component is installed." +"*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:79 +#: ../../library/sysconfig.rst:80 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." msgstr "" +"*posix_home*: esquema para plataformas POSIX usado quando uma opção *home* é " +"usada na instalação. Esse esquema é usado quando um componente é instalado " +"por meio do Distutils com um prefixo inicial específico." -#: ../../library/sysconfig.rst:82 +#: ../../library/sysconfig.rst:83 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." msgstr "" +"*posix_user*: esquema para plataformas POSIX usado quando um componente é " +"instalado através do Distutils e a opção *user* é usada. Esse esquema define " +"caminhos localizados no diretório inicial do usuário." -#: ../../library/sysconfig.rst:85 +#: ../../library/sysconfig.rst:86 msgid "*nt*: scheme for NT platforms like Windows." -msgstr "" +msgstr "*nt*: esquema para plataformas NT como Windows." -#: ../../library/sysconfig.rst:86 +#: ../../library/sysconfig.rst:87 msgid "*nt_user*: scheme for NT platforms, when the *user* option is used." msgstr "" +"*nt_user*: esquema para plataformas NT, quando utilizada a opção *user*." #: ../../library/sysconfig.rst:88 +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:90 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:91 +#: ../../library/sysconfig.rst:93 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:93 +#: ../../library/sysconfig.rst:95 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:95 +#: ../../library/sysconfig.rst:97 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:96 +#: ../../library/sysconfig.rst:98 msgid "*purelib*: directory for site-specific, non-platform-specific files." msgstr "" +"*purelib*: diretório para arquivos específicos do site e não específicos da " +"plataforma." -#: ../../library/sysconfig.rst:97 +#: ../../library/sysconfig.rst:99 msgid "*include*: directory for non-platform-specific header files." msgstr "" -#: ../../library/sysconfig.rst:98 +#: ../../library/sysconfig.rst:100 msgid "*platinclude*: directory for platform-specific header files." msgstr "" -#: ../../library/sysconfig.rst:99 +#: ../../library/sysconfig.rst:101 msgid "*scripts*: directory for script files." -msgstr "" +msgstr "*scripts*: diretório para arquivos de script." -#: ../../library/sysconfig.rst:100 +#: ../../library/sysconfig.rst:102 msgid "*data*: directory for data files." -msgstr "" +msgstr "*data*: diretório para arquivos de dados." -#: ../../library/sysconfig.rst:102 +#: ../../library/sysconfig.rst:104 msgid ":mod:`sysconfig` provides some functions to determine these paths." msgstr "" +":mod:`sysconfig` fornece algumas funções para determinar esses caminhos." -#: ../../library/sysconfig.rst:106 +#: ../../library/sysconfig.rst:108 msgid "" "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:112 +#: ../../library/sysconfig.rst:114 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:114 +#: ../../library/sysconfig.rst:116 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:121 +#: ../../library/sysconfig.rst:123 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:123 +#: ../../library/sysconfig.rst:125 msgid "*key* must be either ``\"prefix\"``, ``\"home\"``, or ``\"user\"``." -msgstr "" +msgstr "*key* deve ser ``\"prefix\"``, ``\"home\"`` ou ``\"user\"``." -#: ../../library/sysconfig.rst:125 +#: ../../library/sysconfig.rst:127 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:134 +#: ../../library/sysconfig.rst:136 msgid "" "Return a dict containing preferred scheme names on the current platform. " "Python implementers and redistributors may add their preferred schemes to " @@ -230,110 +279,146 @@ 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:141 +#: ../../library/sysconfig.rst:143 msgid "" "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:149 +#: ../../library/sysconfig.rst:151 msgid "" "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:155 +#: ../../library/sysconfig.rst:157 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:158 +#: ../../library/sysconfig.rst:160 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:160 +#: ../../library/sysconfig.rst:162 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:164 +#: ../../library/sysconfig.rst:166 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:168 +#: ../../library/sysconfig.rst:170 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." 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:172 +#: ../../library/sysconfig.rst:174 msgid "" "If *vars* is provided, it must be a dictionary of variables that will update " "the dictionary return by :func:`get_config_vars`." msgstr "" -#: ../../library/sysconfig.rst:175 +#: ../../library/sysconfig.rst:177 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:178 +#: ../../library/sysconfig.rst:180 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:183 +#: ../../library/sysconfig.rst:185 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:186 +#: ../../library/sysconfig.rst:188 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:189 +#: ../../library/sysconfig.rst:191 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:192 +#: ../../library/sysconfig.rst:194 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:194 +#: ../../library/sysconfig.rst:196 msgid "" "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:199 +#: ../../library/sysconfig.rst:201 msgid "Other functions" msgstr "Outras funções" -#: ../../library/sysconfig.rst:203 +#: ../../library/sysconfig.rst:205 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:209 +#: ../../library/sysconfig.rst:211 msgid "Return a string that identifies the current platform." -msgstr "" +msgstr "Retorna uma string que identifica a plataforma atual." -#: ../../library/sysconfig.rst:211 +#: ../../library/sysconfig.rst:213 msgid "" "This is used mainly to distinguish platform-specific build directories and " "platform-specific built distributions. Typically includes the OS name and " @@ -341,102 +426,122 @@ 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:217 +#: ../../library/sysconfig.rst:219 msgid "Examples of returned values:" msgstr "Exemplos de valores retornados:" -#: ../../library/sysconfig.rst:219 +#: ../../library/sysconfig.rst:221 msgid "linux-i586" -msgstr "" +msgstr "linux-i586" -#: ../../library/sysconfig.rst:220 +#: ../../library/sysconfig.rst:222 msgid "linux-alpha (?)" -msgstr "" +msgstr "linux-alpha (?)" -#: ../../library/sysconfig.rst:221 +#: ../../library/sysconfig.rst:223 msgid "solaris-2.6-sun4u" msgstr "solaris-2.6-sun4u" -#: ../../library/sysconfig.rst:223 +#: ../../library/sysconfig.rst:225 msgid "Windows will return one of:" -msgstr "" +msgstr "Windows vai retornar um entre:" -#: ../../library/sysconfig.rst:225 +#: ../../library/sysconfig.rst:227 msgid "win-amd64 (64bit Windows on AMD64, aka x86_64, Intel64, and EM64T)" -msgstr "" - -#: ../../library/sysconfig.rst:226 -msgid "win32 (all others - specifically, sys.platform is returned)" -msgstr "" +msgstr "win-amd64 (Windows 64 bits no AMD64, isto é, x86_64, Intel64 e EM64T)" #: ../../library/sysconfig.rst:228 -msgid "Mac OS X can return:" -msgstr "Mac OS X pode retornar:" +msgid "win32 (all others - specifically, sys.platform is returned)" +msgstr "win32 (todos os demais - especificamente, sys.platform é retornado)" #: ../../library/sysconfig.rst:230 +msgid "macOS can return:" +msgstr "macOS pode retornar:" + +#: ../../library/sysconfig.rst:232 msgid "macosx-10.6-ppc" -msgstr "" +msgstr "macosx-10.6-ppc" -#: ../../library/sysconfig.rst:231 +#: ../../library/sysconfig.rst:233 msgid "macosx-10.4-ppc64" -msgstr "" +msgstr "macosx-10.4-ppc64" -#: ../../library/sysconfig.rst:232 +#: ../../library/sysconfig.rst:234 msgid "macosx-10.3-i386" -msgstr "" +msgstr "macosx-10.3-i386" -#: ../../library/sysconfig.rst:233 +#: ../../library/sysconfig.rst:235 msgid "macosx-10.4-fat" -msgstr "" +msgstr "macosx-10.4-fat" -#: ../../library/sysconfig.rst:235 +#: ../../library/sysconfig.rst:237 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:240 +#: ../../library/sysconfig.rst:242 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:247 +#: ../../library/sysconfig.rst:249 msgid "Parse a :file:`config.h`\\-style file." -msgstr "" +msgstr "Analisa um arquivo no estilo :file:`config.h`." -#: ../../library/sysconfig.rst:249 +#: ../../library/sysconfig.rst:251 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:251 +#: ../../library/sysconfig.rst:253 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:258 +#: ../../library/sysconfig.rst:260 msgid "Return the path of :file:`pyconfig.h`." -msgstr "" +msgstr "Retorna o caminho do :file:`pyconfig.h`." -#: ../../library/sysconfig.rst:262 +#: ../../library/sysconfig.rst:264 msgid "Return the path of :file:`Makefile`." -msgstr "" +msgstr "Retorna o caminho do :file:`Makefile`." -#: ../../library/sysconfig.rst:266 +#: ../../library/sysconfig.rst:268 msgid "Using :mod:`sysconfig` as a script" msgstr "Usando o módulo :mod:`sysconfig` como um Script" -#: ../../library/sysconfig.rst:268 +#: ../../library/sysconfig.rst:270 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:294 +#: ../../library/sysconfig.rst:296 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`." 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`." diff --git a/library/syslog.po b/library/syslog.po index ebddb05ab..88c2c2657 100644 --- a/library/syslog.po +++ b/library/syslog.po @@ -1,29 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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 -# i17obot , 2021 +# python-doc bot, 2025 # #, 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:14+0000\n" -"Last-Translator: i17obot , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:58+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/syslog.rst:2 msgid ":mod:`syslog` --- Unix syslog library routines" @@ -71,21 +69,31 @@ msgstr "" #: ../../library/syslog.rst:31 msgid "" -"If :func:`openlog` has not been called prior to the call to :func:`syslog`, " -"``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`, " -"``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:34 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:39 +#: ../../library/syslog.rst:36 +msgid "" +"In previous versions, :func:`openlog` would not be called automatically if " +"it wasn't called prior to the call to :func:`syslog`, deferring to the " +"syslog implementation to call ``openlog()``." +msgstr "" +"Nas versões anteriores, :func:`openlog` não seria chamado automaticamente se " +"não fosse chamado antes da chamada para :func:`syslog`, adiando a " +"implementação do syslog para chamar ``openlog()``." + +#: ../../library/syslog.rst:44 msgid "" "Logging options of subsequent :func:`syslog` calls can be set by calling :" "func:`openlog`. :func:`syslog` will call :func:`openlog` with no arguments " @@ -95,7 +103,7 @@ msgstr "" "definidas chamando :func:`openlog`. :func:`syslog` irá chamar :func:" "`openlog` sem argumentos se o log não estiver aberto no momento." -#: ../../library/syslog.rst:43 +#: ../../library/syslog.rst:48 msgid "" "The optional *ident* keyword argument is a string which is prepended to " "every message, and defaults to ``sys.argv[0]`` with leading path components " @@ -111,33 +119,30 @@ 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:50 +#: ../../library/syslog.rst:55 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:52 +#: ../../library/syslog.rst:57 msgid "" "In previous versions, keyword arguments were not allowed, and *ident* was " -"required. The default for *ident* was dependent on the system libraries, " -"and often was ``python`` instead of the name of the Python program file." +"required." msgstr "" "Nas versões anteriores, os argumentos nomeados não eram permitidos e *ident* " -"era obrigatório. O padrão para *ident* era dependente das bibliotecas do " -"sistema e, frequentemente, era ``python`` ao invés do nome do arquivo de " -"programa Python." +"era obrigatório." -#: ../../library/syslog.rst:60 +#: ../../library/syslog.rst:64 msgid "" "Reset the syslog module values and call the system library ``closelog()``." msgstr "" "Redefine os valores do módulo syslog e chama a biblioteca de sistema " "``closelog()``." -#: ../../library/syslog.rst:62 +#: ../../library/syslog.rst:66 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 " @@ -149,15 +154,15 @@ msgstr "" "(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:67 +#: ../../library/syslog.rst:71 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:72 +#: ../../library/syslog.rst:76 msgid "" "Set the priority mask to *maskpri* and return the previous mask value. " "Calls to :func:`syslog` with a priority level not set in *maskpri* are " @@ -173,23 +178,23 @@ msgstr "" "individual *pri*. A função ``LOG_UPTO(pri)`` calcula a máscara para todas as " "prioridades até e incluindo *pri*." -#: ../../library/syslog.rst:79 +#: ../../library/syslog.rst:83 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:81 +#: ../../library/syslog.rst:85 msgid "The module defines the following constants:" msgstr "O módulo define as seguintes constantes:" -#: ../../library/syslog.rst:86 +#: ../../library/syslog.rst:90 msgid "Priority levels (high to low):" msgstr "Níveis de prioridade (alto a baixo):" -#: ../../library/syslog.rst:84 +#: ../../library/syslog.rst:88 msgid "" ":const:`LOG_EMERG`, :const:`LOG_ALERT`, :const:`LOG_CRIT`, :const:" "`LOG_ERR`, :const:`LOG_WARNING`, :const:`LOG_NOTICE`, :const:`LOG_INFO`, :" @@ -199,11 +204,11 @@ msgstr "" "`LOG_ERR`, :const:`LOG_WARNING`, :const:`LOG_NOTICE`, :const:`LOG_INFO`, :" "const:`LOG_DEBUG`." -#: ../../library/syslog.rst:93 +#: ../../library/syslog.rst:97 msgid "Facilities:" msgstr "Facilidades:" -#: ../../library/syslog.rst:89 +#: ../../library/syslog.rst:93 msgid "" ":const:`LOG_KERN`, :const:`LOG_USER`, :const:`LOG_MAIL`, :const:" "`LOG_DAEMON`, :const:`LOG_AUTH`, :const:`LOG_LPR`, :const:`LOG_NEWS`, :const:" @@ -215,11 +220,11 @@ msgstr "" "`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:99 +#: ../../library/syslog.rst:103 msgid "Log options:" msgstr "Opções de log:" -#: ../../library/syslog.rst:96 +#: ../../library/syslog.rst:100 msgid "" ":const:`LOG_PID`, :const:`LOG_CONS`, :const:`LOG_NDELAY`, and, if defined in " "````, :const:`LOG_ODELAY`, :const:`LOG_NOWAIT`, and :const:" @@ -229,19 +234,19 @@ msgstr "" "````, :const:`LOG_ODELAY`, :const:`LOG_NOWAIT` e :const:" "`LOG_PERROR`." -#: ../../library/syslog.rst:102 +#: ../../library/syslog.rst:106 msgid "Examples" msgstr "Exemplos" -#: ../../library/syslog.rst:105 +#: ../../library/syslog.rst:109 msgid "Simple example" msgstr "Exemplo simples" -#: ../../library/syslog.rst:107 +#: ../../library/syslog.rst:111 msgid "A simple set of examples::" msgstr "Um conjunto simples de exemplos::" -#: ../../library/syslog.rst:115 +#: ../../library/syslog.rst:119 msgid "" "An example of setting some log options, these would include the process ID " "in logged messages, and write the messages to the destination facility used " diff --git a/library/tabnanny.po b/library/tabnanny.po index ebe1e4819..1324872e2 100644 --- a/library/tabnanny.po +++ b/library/tabnanny.po @@ -1,29 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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 -# Sheila Gomes , 2021 -# Claudio Rogerio Carvalho Filho , 2021 +# python-doc bot, 2025 # #, 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:14+0000\n" -"Last-Translator: Claudio Rogerio Carvalho Filho , " -"2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:58+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/tabnanny.rst:2 msgid ":mod:`tabnanny` --- Detection of ambiguous indentation" diff --git a/library/tarfile.po b/library/tarfile.po index 9cd6bd967..649717695 100644 --- a/library/tarfile.po +++ b/library/tarfile.po @@ -1,32 +1,28 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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 -# And Past , 2021 -# Giovana Morais , 2021 -# i17obot , 2021 -# Rafael Fontenelle , 2022 +# python-doc bot, 2025 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.10\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-08-09 13:15+0000\n" -"PO-Revision-Date: 2021-06-28 01:14+0000\n" -"Last-Translator: Rafael Fontenelle , 2022\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-11-23 17:17+0000\n" +"PO-Revision-Date: 2025-09-22 15:58+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=2; plural=(n > 1);\n" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/tarfile.rst:2 msgid ":mod:`tarfile` --- Read and write tar archive files" @@ -43,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 "" @@ -64,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 "" @@ -75,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 "" @@ -86,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 "" +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:'``" @@ -115,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'``" @@ -123,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'``" @@ -131,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'``" @@ -139,11 +153,11 @@ 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 "" @@ -183,21 +197,23 @@ msgstr "" #: ../../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'``" @@ -205,7 +221,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'``" @@ -213,7 +229,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'``" @@ -221,7 +237,7 @@ 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 "" @@ -230,12 +246,20 @@ msgid "" "`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 "" @@ -270,7 +294,7 @@ msgstr "Modo" #: ../../library/tarfile.rst:120 msgid "Action" -msgstr "" +msgstr "Ação" #: ../../library/tarfile.rst:122 msgid "``'r|*'``" @@ -279,6 +303,7 @@ msgstr "``'r|*'``" #: ../../library/tarfile.rst:122 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 msgid "``'r|'``" @@ -286,7 +311,7 @@ msgstr "``'r|'``" #: ../../library/tarfile.rst:125 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 msgid "``'r|gz'``" @@ -294,7 +319,7 @@ msgstr "``'r|gz'``" #: ../../library/tarfile.rst:128 msgid "Open a gzip compressed *stream* for reading." -msgstr "" +msgstr "Abre um *stream* compactado com gzip para leitura." #: ../../library/tarfile.rst:131 msgid "``'r|bz2'``" @@ -302,7 +327,7 @@ msgstr "``'r|bz2'``" #: ../../library/tarfile.rst:131 msgid "Open a bzip2 compressed *stream* for reading." -msgstr "" +msgstr "Abre um *stream* compactado com bzip2 para leitura." #: ../../library/tarfile.rst:134 msgid "``'r|xz'``" @@ -310,7 +335,7 @@ msgstr "``'r|xz'``" #: ../../library/tarfile.rst:134 msgid "Open an lzma compressed *stream* for reading." -msgstr "" +msgstr "Abre um *stream* compactado com lzma para leitura." #: ../../library/tarfile.rst:137 msgid "``'w|'``" @@ -318,7 +343,7 @@ msgstr "``'w|'``" #: ../../library/tarfile.rst:137 msgid "Open an uncompressed *stream* for writing." -msgstr "" +msgstr "Abre um *stream* descompactado para gravação." #: ../../library/tarfile.rst:139 msgid "``'w|gz'``" @@ -326,7 +351,7 @@ msgstr "``'w|gz'``" #: ../../library/tarfile.rst:139 msgid "Open a gzip compressed *stream* for writing." -msgstr "" +msgstr "Abre um *stream* compactado com gzip para gravação." #: ../../library/tarfile.rst:142 msgid "``'w|bz2'``" @@ -334,7 +359,7 @@ msgstr "``'w|bz2'``" #: ../../library/tarfile.rst:142 msgid "Open a bzip2 compressed *stream* for writing." -msgstr "" +msgstr "Abre um *stream* compactado com bzip2 para gravação." #: ../../library/tarfile.rst:145 msgid "``'w|xz'``" @@ -342,22 +367,24 @@ msgstr "``'w|xz'``" #: ../../library/tarfile.rst:145 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:336 +#: ../../library/tarfile.rst:149 ../../library/tarfile.rst:374 msgid "The ``'x'`` (exclusive creation) mode was added." msgstr "O modo ``'x'`` (criação exclusiva) foi adicionado." -#: ../../library/tarfile.rst:152 ../../library/tarfile.rst:339 -#: ../../library/tarfile.rst:508 +#: ../../library/tarfile.rst:152 ../../library/tarfile.rst:377 +#: ../../library/tarfile.rst:614 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 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 msgid "" @@ -365,6 +392,9 @@ msgid "" "`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 msgid "Support for file and file-like objects." @@ -372,114 +402,192 @@ msgstr "Suporte para arquivo e objetos arquivo ou similares." #: ../../library/tarfile.rst:172 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 msgid "Base class for all :mod:`tarfile` exceptions." -msgstr "" +msgstr "Classe base para todas as exceções de :mod:`tarfile`." #: ../../library/tarfile.rst:182 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 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 msgid "" "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 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 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:209 -msgid "The following constants are available at the module level:" +#: ../../library/tarfile.rst:211 +msgid "" +"Base class for members :ref:`refused ` by filters." +msgstr "" +"Classe base para membros :ref:`recusados ` por " +"filtros." + +#: ../../library/tarfile.rst:216 +msgid "" +"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 +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 +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 +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 +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 +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:213 +#: ../../library/tarfile.rst:242 +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:250 +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:254 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:217 +#: ../../library/tarfile.rst:258 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." 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:224 +#: ../../library/tarfile.rst:265 msgid "POSIX.1-1988 (ustar) format." -msgstr "" +msgstr "formato POSIX.1-1988 (ustar)." -#: ../../library/tarfile.rst:229 +#: ../../library/tarfile.rst:270 msgid "GNU tar format." msgstr "Formato tar GNU" -#: ../../library/tarfile.rst:234 +#: ../../library/tarfile.rst:275 msgid "POSIX.1-2001 (pax) format." -msgstr "" +msgstr "formato POSIX.1-2001 (pax)." -#: ../../library/tarfile.rst:239 +#: ../../library/tarfile.rst:280 msgid "" "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:241 +#: ../../library/tarfile.rst:282 msgid "" "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:249 +#: ../../library/tarfile.rst:290 msgid "Module :mod:`zipfile`" -msgstr "" +msgstr "Módulo :mod:`zipfile`" -#: ../../library/tarfile.rst:249 +#: ../../library/tarfile.rst:290 msgid "Documentation of the :mod:`zipfile` standard module." -msgstr "" +msgstr "Documentação do módulo padrão :mod:`zipfile`." -#: ../../library/tarfile.rst:253 +#: ../../library/tarfile.rst:294 msgid ":ref:`archiving-operations`" msgstr ":ref:`archiving-operations`" -#: ../../library/tarfile.rst:252 +#: ../../library/tarfile.rst:293 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:255 +#: ../../library/tarfile.rst:296 msgid "" "`GNU tar manual, Basic Tar Format `_" msgstr "" +"`Manual do GNU tar, Formato Básico do Tar `_" -#: ../../library/tarfile.rst:256 +#: ../../library/tarfile.rst:297 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:262 +#: ../../library/tarfile.rst:303 msgid "TarFile Objects" -msgstr "" +msgstr "Objetos TarFile" -#: ../../library/tarfile.rst:264 +#: ../../library/tarfile.rst:305 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 " @@ -487,8 +595,14 @@ msgid "" "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:270 +#: ../../library/tarfile.rst:311 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 " @@ -496,124 +610,166 @@ msgid "" "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:276 +#: ../../library/tarfile.rst:317 msgid "Added support for the context management protocol." -msgstr "" +msgstr "Adicionado suporte para o protocolo de gerenciamento de contexto." -#: ../../library/tarfile.rst:281 +#: ../../library/tarfile.rst:322 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:284 +#: ../../library/tarfile.rst:325 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." msgstr "" -#: ../../library/tarfile.rst:288 +#: ../../library/tarfile.rst:329 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:292 +#: ../../library/tarfile.rst:333 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:298 +#: ../../library/tarfile.rst:339 msgid "*fileobj* is not closed, when :class:`TarFile` is closed." -msgstr "" +msgstr "*fileobj* não é fechado quando :class:`TarFile` é fechado." -#: ../../library/tarfile.rst:300 +#: ../../library/tarfile.rst:341 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:305 +#: ../../library/tarfile.rst:346 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:308 +#: ../../library/tarfile.rst:349 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:312 +#: ../../library/tarfile.rst:353 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:316 +#: ../../library/tarfile.rst:357 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:319 +#: ../../library/tarfile.rst:360 msgid "" -"If *errorlevel* is ``0``, all errors are ignored when using :meth:`TarFile." -"extract`. Nevertheless, they appear as error messages in the debug output, " -"when debugging is enabled. If ``1``, all *fatal* errors are raised as :exc:" -"`OSError` exceptions. If ``2``, all *non-fatal* errors are raised as :exc:" -"`TarError` exceptions as well." +"*errorlevel* controls how extraction errors are handled, see :attr:`the " +"corresponding attribute <~TarFile.errorlevel>`." msgstr "" -#: ../../library/tarfile.rst:325 +#: ../../library/tarfile.rst:363 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." 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:330 +#: ../../library/tarfile.rst:368 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:333 ../../library/tarfile.rst:561 +#: ../../library/tarfile.rst:371 ../../library/tarfile.rst:687 msgid "Use ``'surrogateescape'`` as the default for the *errors* argument." -msgstr "" +msgstr "Usa ``'surrogateescape'`` como padrão para o argumento *errors*." -#: ../../library/tarfile.rst:345 +#: ../../library/tarfile.rst:383 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:351 +#: ../../library/tarfile.rst:389 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:356 +#: ../../library/tarfile.rst:394 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:362 +#: ../../library/tarfile.rst:400 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." @@ -621,32 +777,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:368 +#: ../../library/tarfile.rst:406 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:374 +#: ../../library/tarfile.rst:412 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:379 +#: ../../library/tarfile.rst:417 msgid "Added the *members* parameter." -msgstr "" +msgstr "Adicionado o parâmetro *members*." -#: ../../library/tarfile.rst:385 +#: ../../library/tarfile.rst:423 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." 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:392 +#: ../../library/tarfile.rst:430 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 " @@ -658,14 +824,22 @@ msgid "" "fail." msgstr "" -#: ../../library/tarfile.rst:400 ../../library/tarfile.rst:426 +#: ../../library/tarfile.rst:438 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:406 +#: ../../library/tarfile.rst:442 +msgid "" +"The *filter* argument, which was added in Python 3.10.12, specifies how " +"``members`` are modified or rejected before extraction. See :ref:`tarfile-" +"extraction-filter` for details. It is recommended to set this explicitly " +"depending on which *tar* features you need to support." +msgstr "" + +#: ../../library/tarfile.rst:450 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 " @@ -673,15 +847,26 @@ msgid "" "\"``." msgstr "" -#: ../../library/tarfile.rst:411 ../../library/tarfile.rst:442 -msgid "Added the *numeric_owner* parameter." +#: ../../library/tarfile.rst:455 ../../library/tarfile.rst:488 +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:414 ../../library/tarfile.rst:445 +#: ../../library/tarfile.rst:458 ../../library/tarfile.rst:494 +msgid "Added the *numeric_owner* parameter." +msgstr "Adicionado o parâmetro *numeric_owner*." + +#: ../../library/tarfile.rst:461 ../../library/tarfile.rst:497 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:420 +#: ../../library/tarfile.rst:464 ../../library/tarfile.rst:500 +#: ../../library/tarfile.rst:580 +msgid "Added the *filter* parameter." +msgstr "Adicionado o parâmetro *filter*." + +#: ../../library/tarfile.rst:470 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. " @@ -690,21 +875,27 @@ msgid "" "File attributes (owner, mtime, mode) are set unless *set_attrs* is false." msgstr "" -#: ../../library/tarfile.rst:432 +#: ../../library/tarfile.rst:476 +msgid "" +"The *numeric_owner* and *filter* arguments are the same as for :meth:" +"`extractall`." +msgstr "" + +#: ../../library/tarfile.rst:481 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:437 +#: ../../library/tarfile.rst:486 msgid "See the warning for :meth:`extractall`." msgstr "" -#: ../../library/tarfile.rst:439 +#: ../../library/tarfile.rst:491 msgid "Added the *set_attrs* parameter." msgstr "" -#: ../../library/tarfile.rst:451 +#: ../../library/tarfile.rst:506 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 " @@ -713,11 +904,93 @@ msgid "" "the archive, :exc:`KeyError` is raised." msgstr "" -#: ../../library/tarfile.rst:457 +#: ../../library/tarfile.rst:512 msgid "Return an :class:`io.BufferedReader` object." msgstr "" -#: ../../library/tarfile.rst:463 +#: ../../library/tarfile.rst:518 +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." +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:526 +msgid "" +"Some exceptions, e.g. ones caused by wrong argument types or data " +"corruption, are always raised." +msgstr "" + +#: ../../library/tarfile.rst:529 +msgid "" +"Custom :ref:`extraction filters ` should raise :" +"exc:`FilterError` for *fatal* errors and :exc:`ExtractError` for *non-fatal* " +"ones." +msgstr "" + +#: ../../library/tarfile.rst:533 +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:540 +msgid "" +"The :ref:`extraction filter ` used as a default " +"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:544 +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:548 +msgid "" +"If ``extraction_filter`` is ``None`` (the default), calling an extraction " +"method without a *filter* argument will use the :func:`fully_trusted " +"` filter for compatibility with previous Python " +"versions." +msgstr "" + +#: ../../library/tarfile.rst:553 +msgid "" +"In Python 3.12+, leaving ``extraction_filter=None`` will emit a " +"``DeprecationWarning``." +msgstr "" + +#: ../../library/tarfile.rst:556 +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:559 +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 " +"default, although, since it affects all uses of *tarfile*, it is best " +"practice to only do so in top-level applications or :mod:`site configuration " +"`. To set a global default this way, a filter function needs to be " +"wrapped in :func:`staticmethod()` to prevent injection of a ``self`` " +"argument." +msgstr "" + +#: ../../library/tarfile.rst:569 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 " @@ -730,15 +1003,11 @@ msgid "" "ref:`tar-examples` for an example." msgstr "" -#: ../../library/tarfile.rst:474 -msgid "Added the *filter* parameter." -msgstr "" - -#: ../../library/tarfile.rst:477 +#: ../../library/tarfile.rst:583 msgid "Recursion adds entries in sorted order." msgstr "" -#: ../../library/tarfile.rst:483 +#: ../../library/tarfile.rst:589 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 " @@ -746,7 +1015,7 @@ msgid "" "objects directly, or by using :meth:`gettarinfo`." msgstr "" -#: ../../library/tarfile.rst:491 +#: ../../library/tarfile.rst:597 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 " @@ -757,7 +1026,7 @@ msgid "" "The name should be a text string." msgstr "" -#: ../../library/tarfile.rst:500 +#: ../../library/tarfile.rst:606 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 " @@ -767,21 +1036,21 @@ msgid "" "case *arcname* could be a dummy string." msgstr "" -#: ../../library/tarfile.rst:514 +#: ../../library/tarfile.rst:620 msgid "" "Close the :class:`TarFile`. In write mode, two finishing zero blocks are " "appended to the archive." msgstr "" -#: ../../library/tarfile.rst:520 +#: ../../library/tarfile.rst:626 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:527 +#: ../../library/tarfile.rst:633 msgid "TarInfo Objects" -msgstr "" +msgstr "Objetos TarInfo" -#: ../../library/tarfile.rst:529 +#: ../../library/tarfile.rst:635 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, " @@ -789,57 +1058,104 @@ msgid "" "type. It does *not* contain the file's data itself." msgstr "" -#: ../../library/tarfile.rst:534 +#: ../../library/tarfile.rst:640 msgid "" ":class:`TarInfo` objects are returned by :class:`TarFile`'s methods :meth:" -"`getmember`, :meth:`getmembers` and :meth:`gettarinfo`." +"`~TarFile.getmember`, :meth:`~TarFile.getmembers` and :meth:`~TarFile." +"gettarinfo`." msgstr "" -#: ../../library/tarfile.rst:540 -msgid "Create a :class:`TarInfo` object." +#: ../../library/tarfile.rst:644 +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." msgstr "" -#: ../../library/tarfile.rst:545 +#: ../../library/tarfile.rst:650 +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:654 +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:656 +msgid ":meth:`~TarFile.addfile` will fail." +msgstr ":meth:`~TarFile.addfile` falhará." + +#: ../../library/tarfile.rst:657 +msgid ":meth:`~TarFile.list` will print a placeholder string." +msgstr ":meth:`~TarFile.list` imprimirá uma string como um espaço reservado." + +#: ../../library/tarfile.rst:660 +msgid "Added :meth:`~TarInfo.replace` and handling of ``None``." +msgstr "" + +#: ../../library/tarfile.rst:666 +msgid "Create a :class:`TarInfo` object." +msgstr "Cria um objeto :class:`TarInfo`." + +#: ../../library/tarfile.rst:671 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:547 +#: ../../library/tarfile.rst:673 msgid "Raises :exc:`HeaderError` if the buffer is invalid." -msgstr "" +msgstr "Levanta :exc:`HeaderError` se o buffer for inválido." -#: ../../library/tarfile.rst:552 +#: ../../library/tarfile.rst:678 msgid "" "Read the next member from the :class:`TarFile` object *tarfile* and return " "it as a :class:`TarInfo` object." msgstr "" -#: ../../library/tarfile.rst:558 +#: ../../library/tarfile.rst:684 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:565 +#: ../../library/tarfile.rst:691 msgid "A ``TarInfo`` object has the following public data attributes:" msgstr "" -#: ../../library/tarfile.rst:570 +#: ../../library/tarfile.rst:697 msgid "Name of the archive member." -msgstr "" +msgstr "Nome do arquivo." -#: ../../library/tarfile.rst:575 +#: ../../library/tarfile.rst:703 msgid "Size in bytes." +msgstr "Tamanho em bytes." + +#: ../../library/tarfile.rst:709 +msgid "" +"Time of last modification in seconds since the :ref:`epoch `, as in :" +"attr:`os.stat_result.st_mtime`." msgstr "" -#: ../../library/tarfile.rst:580 -msgid "Time of last modification." +#: ../../library/tarfile.rst:714 ../../library/tarfile.rst:725 +#: ../../library/tarfile.rst:757 ../../library/tarfile.rst:768 +#: ../../library/tarfile.rst:779 ../../library/tarfile.rst:790 +msgid "" +"Can be set to ``None`` for :meth:`~TarFile.extract` and :meth:`~TarFile." +"extractall`, causing extraction to skip applying this attribute." msgstr "" -#: ../../library/tarfile.rst:585 -msgid "Permission bits." +#: ../../library/tarfile.rst:721 +msgid "Permission bits, as for :func:`os.chmod`." msgstr "" -#: ../../library/tarfile.rst:590 +#: ../../library/tarfile.rst:731 msgid "" "File type. *type* is usually one of these constants: :const:`REGTYPE`, :" "const:`AREGTYPE`, :const:`LNKTYPE`, :const:`SYMTYPE`, :const:`DIRTYPE`, :" @@ -848,180 +1164,578 @@ msgid "" "more conveniently, use the ``is*()`` methods below." msgstr "" -#: ../../library/tarfile.rst:599 +#: ../../library/tarfile.rst:741 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:605 -msgid "User ID of the user who originally stored this member." +#: ../../library/tarfile.rst:744 +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:610 +#: ../../library/tarfile.rst:753 +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:764 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:615 +#: ../../library/tarfile.rst:775 msgid "User name." -msgstr "" +msgstr "Nome do usuário." -#: ../../library/tarfile.rst:620 +#: ../../library/tarfile.rst:786 msgid "Group name." -msgstr "" +msgstr "Nome do grupo." -#: ../../library/tarfile.rst:625 +#: ../../library/tarfile.rst:797 msgid "" "A dictionary containing key-value pairs of an associated pax extended header." msgstr "" -#: ../../library/tarfile.rst:628 +#: ../../library/tarfile.rst:805 +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:811 +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 " +"``TarInfo`` object." +msgstr "" + +#: ../../library/tarfile.rst:815 msgid "A :class:`TarInfo` object also provides some convenient query methods:" msgstr "" -#: ../../library/tarfile.rst:633 +#: ../../library/tarfile.rst:820 msgid "Return :const:`True` if the :class:`Tarinfo` object is a regular file." msgstr "" -#: ../../library/tarfile.rst:638 +#: ../../library/tarfile.rst:825 msgid "Same as :meth:`isfile`." -msgstr "" +msgstr "Igual a :meth:`isfile`." -#: ../../library/tarfile.rst:643 +#: ../../library/tarfile.rst:830 msgid "Return :const:`True` if it is a directory." -msgstr "" +msgstr "Retorna :const:`True` se for um diretório." -#: ../../library/tarfile.rst:648 +#: ../../library/tarfile.rst:835 msgid "Return :const:`True` if it is a symbolic link." -msgstr "" +msgstr "Retorna :const:`True` se for um link simbólico." -#: ../../library/tarfile.rst:653 +#: ../../library/tarfile.rst:840 msgid "Return :const:`True` if it is a hard link." -msgstr "" +msgstr "Retorna :const:`True` se for um link físico." -#: ../../library/tarfile.rst:658 +#: ../../library/tarfile.rst:845 msgid "Return :const:`True` if it is a character device." -msgstr "" +msgstr "Retorna :const:`True` se for um caractere." -#: ../../library/tarfile.rst:663 +#: ../../library/tarfile.rst:850 msgid "Return :const:`True` if it is a block device." msgstr "" -#: ../../library/tarfile.rst:668 +#: ../../library/tarfile.rst:855 msgid "Return :const:`True` if it is a FIFO." -msgstr "" +msgstr "Retorna :const:`True` se for um FIFO." -#: ../../library/tarfile.rst:673 +#: ../../library/tarfile.rst:860 msgid "" "Return :const:`True` if it is one of character device, block device or FIFO." msgstr "" -#: ../../library/tarfile.rst:680 +#: ../../library/tarfile.rst:866 +msgid "Extraction filters" +msgstr "Filtros de extração" + +#: ../../library/tarfile.rst:870 +msgid "" +"The *tar* format is designed to capture all details of a UNIX-like " +"filesystem, which makes it very powerful. Unfortunately, the features make " +"it easy to create tar files that have unintended -- and possibly malicious " +"-- effects when extracted. For example, extracting a tar file can overwrite " +"arbitrary files in various ways (e.g. by using absolute paths, ``..`` path " +"components, or symlinks that affect later members)." +msgstr "" + +#: ../../library/tarfile.rst:878 +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:884 +msgid ":pep:`706`" +msgstr ":pep:`706`" + +#: ../../library/tarfile.rst:885 +msgid "Contains further motivation and rationale behind the design." +msgstr "Contém a motivação e lógica escolhida para este design." + +#: ../../library/tarfile.rst:887 +msgid "" +"The *filter* argument to :meth:`TarFile.extract` or :meth:`~TarFile." +"extractall` can be:" +msgstr "" + +#: ../../library/tarfile.rst:890 +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:895 +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:899 +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." +msgstr "" + +#: ../../library/tarfile.rst:903 +msgid "``None`` (default): Use :attr:`TarFile.extraction_filter`." +msgstr "" + +#: ../../library/tarfile.rst:905 +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:908 +msgid "In Python 3.12, the default will emit a ``DeprecationWarning``." +msgstr "" + +#: ../../library/tarfile.rst:910 +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:913 +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 " +"members)::" +msgstr "" + +#: ../../library/tarfile.rst:920 +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:924 +msgid "" +"return a :class:`TarInfo` object which will be used instead of the metadata " +"in the archive, or" +msgstr "" + +#: ../../library/tarfile.rst:926 +msgid "return ``None``, in which case the member will be skipped, or" +msgstr "" + +#: ../../library/tarfile.rst:927 +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." +msgstr "" + +#: ../../library/tarfile.rst:933 +msgid "Default named filters" +msgstr "" + +#: ../../library/tarfile.rst:935 +msgid "" +"The pre-defined, named filters are available as functions, so they can be " +"reused in custom filters:" +msgstr "" + +#: ../../library/tarfile.rst:940 +msgid "Return *member* unchanged." +msgstr "Retorna *member* inalterado." + +#: ../../library/tarfile.rst:942 +msgid "This implements the ``'fully_trusted'`` filter." +msgstr "" + +#: ../../library/tarfile.rst:946 +msgid "Implements the ``'tar'`` filter." +msgstr "" + +#: ../../library/tarfile.rst:948 +msgid "Strip leading slashes (``/`` and :attr:`os.sep`) from filenames." +msgstr "" + +#: ../../library/tarfile.rst:949 +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:953 +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:956 +msgid "" +"Clear high mode bits (setuid, setgid, sticky) and group/other write bits (:" +"attr:`~stat.S_IWGRP`|:attr:`~stat.S_IWOTH`)." +msgstr "" + +#: ../../library/tarfile.rst:959 ../../library/tarfile.rst:998 +msgid "Return the modified ``TarInfo`` member." +msgstr "" + +#: ../../library/tarfile.rst:963 +msgid "" +"Implements the ``'data'`` filter. In addition to what ``tar_filter`` does:" +msgstr "" + +#: ../../library/tarfile.rst:966 +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:972 +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:975 +msgid "" +"This raises :class:`~tarfile.AbsoluteLinkError` or :class:`~tarfile." +"LinkOutsideDestinationError`." +msgstr "" + +#: ../../library/tarfile.rst:978 +msgid "" +"Note that such files are refused even on platforms that do not support " +"symbolic links." +msgstr "" + +#: ../../library/tarfile.rst:981 +msgid "" +":ref:`Refuse ` to extract device files (including " +"pipes). This raises :class:`~tarfile.SpecialFileError`." +msgstr "" + +#: ../../library/tarfile.rst:985 +msgid "For regular files, including hard links:" +msgstr "Para arquivos comuns, incluindo links físicos:" + +#: ../../library/tarfile.rst:987 +msgid "" +"Set the owner read and write permissions (:attr:`~stat.S_IRUSR`|:attr:`~stat." +"S_IWUSR`)." +msgstr "" + +#: ../../library/tarfile.rst:989 +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`)." +msgstr "" + +#: ../../library/tarfile.rst:993 +msgid "" +"For other files (directories), set ``mode`` to ``None``, so that extraction " +"methods skip applying permission bits." +msgstr "" + +#: ../../library/tarfile.rst:995 +msgid "" +"Set user and group info (``uid``, ``gid``, ``uname``, ``gname``) to " +"``None``, so that extraction methods skip setting it." +msgstr "" + +#: ../../library/tarfile.rst:1002 +msgid "Link targets are now normalized." +msgstr "" + +#: ../../library/tarfile.rst:1008 +msgid "Filter errors" +msgstr "" + +#: ../../library/tarfile.rst:1010 +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 " +"extraction if :attr:`TarFile.errorlevel` is 1 or more. With ``errorlevel=0`` " +"the error will be logged and the member will be skipped, but extraction will " +"continue." +msgstr "" + +#: ../../library/tarfile.rst:1018 +msgid "Hints for further verification" +msgstr "Dicas para verificação adicional" + +#: ../../library/tarfile.rst:1020 +msgid "" +"Even with ``filter='data'``, *tarfile* is not suited for extracting " +"untrusted files without prior inspection. Among other issues, the pre-" +"defined filters do not prevent denial-of-service attacks. Users should do " +"additional checks." +msgstr "" + +#: ../../library/tarfile.rst:1025 +msgid "Here is an incomplete list of things to consider:" +msgstr "Aqui está uma lista incompleta de itens a serem considerados:" + +#: ../../library/tarfile.rst:1027 +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." +msgstr "" + +#: ../../library/tarfile.rst:1030 +msgid "Disallow symbolic links if you do not need the functionality." +msgstr "" + +#: ../../library/tarfile.rst:1031 +msgid "" +"When working with untrusted data, use external (e.g. OS-level) limits on " +"disk, memory and CPU usage." +msgstr "" + +#: ../../library/tarfile.rst:1033 +msgid "" +"Check filenames against an allow-list of characters (to filter out control " +"characters, confusables, foreign path separators, etc.)." +msgstr "" + +#: ../../library/tarfile.rst:1036 +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:1038 +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:1040 +msgid "Check for files that would be shadowed on case-insensitive filesystems." +msgstr "" + +#: ../../library/tarfile.rst:1042 +msgid "Also note that:" +msgstr "Observe também que:" + +#: ../../library/tarfile.rst:1044 +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:1048 +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:1054 +msgid "Supporting older Python versions" +msgstr "Suporte a versões mais antigas do Python" + +#: ../../library/tarfile.rst:1056 +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 " +"e.g. ``hasattr(tarfile, 'data_filter')`` rather than checking the Python " +"version." +msgstr "" + +#: ../../library/tarfile.rst:1061 +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:1065 +msgid "Fully trusted archive::" +msgstr "" + +#: ../../library/tarfile.rst:1070 +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:1077 +msgid "Use the ``'data'`` filter; *fail* if it is not available::" +msgstr "Use o filtro ``'data'``; *fail* se ele não estiver disponível::" + +#: ../../library/tarfile.rst:1081 +msgid "or::" +msgstr "ou::" + +#: ../../library/tarfile.rst:1086 +msgid "Use the ``'data'`` filter; *warn* if it is not available::" +msgstr "Use o filtro ``'data'``; *warn* se ele não estiver disponível::" + +#: ../../library/tarfile.rst:1097 +msgid "Stateful extraction filter example" +msgstr "" + +#: ../../library/tarfile.rst:1099 +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:1106 +msgid "Such a filter can be written as, for example::" +msgstr "" + +#: ../../library/tarfile.rst:1128 msgid "Command-Line Interface" -msgstr "Interface de Linha de Comando" +msgstr "Interface de linha de comando" -#: ../../library/tarfile.rst:684 +#: ../../library/tarfile.rst:1132 msgid "" "The :mod:`tarfile` module provides a simple command-line interface to " "interact with tar archives." msgstr "" -#: ../../library/tarfile.rst:687 +#: ../../library/tarfile.rst:1135 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:" msgstr "" -#: ../../library/tarfile.rst:694 +#: ../../library/tarfile.rst:1142 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:700 +#: ../../library/tarfile.rst:1148 msgid "" "If you want to extract a tar archive into the current directory, use the :" "option:`-e` option:" msgstr "" -#: ../../library/tarfile.rst:707 +#: ../../library/tarfile.rst:1155 msgid "" "You can also extract a tar archive into a different directory by passing the " "directory's name:" msgstr "" -#: ../../library/tarfile.rst:714 +#: ../../library/tarfile.rst:1162 msgid "For a list of the files in a tar archive, use the :option:`-l` option:" msgstr "" -#: ../../library/tarfile.rst:722 +#: ../../library/tarfile.rst:1170 msgid "Command-line options" msgstr "Opções de linha de comando" -#: ../../library/tarfile.rst:727 +#: ../../library/tarfile.rst:1175 msgid "List files in a tarfile." -msgstr "" +msgstr "Lista os arquivos em um arquivo tar." -#: ../../library/tarfile.rst:732 +#: ../../library/tarfile.rst:1180 msgid "Create tarfile from source files." -msgstr "" +msgstr "Cria um arquivo tar a partir dos arquivos de origem." -#: ../../library/tarfile.rst:737 +#: ../../library/tarfile.rst:1185 msgid "" "Extract tarfile into the current directory if *output_dir* is not specified." msgstr "" -#: ../../library/tarfile.rst:742 +#: ../../library/tarfile.rst:1190 msgid "Test whether the tarfile is valid or not." msgstr "" -#: ../../library/tarfile.rst:746 +#: ../../library/tarfile.rst:1194 msgid "Verbose output." +msgstr "Saída detalhada." + +#: ../../library/tarfile.rst:1198 +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:751 +#: ../../library/tarfile.rst:1208 msgid "Examples" msgstr "Exemplos" -#: ../../library/tarfile.rst:753 +#: ../../library/tarfile.rst:1210 msgid "How to extract an entire tar archive to the current working directory::" msgstr "" -#: ../../library/tarfile.rst:760 +#: ../../library/tarfile.rst:1217 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:775 +#: ../../library/tarfile.rst:1232 msgid "How to create an uncompressed tar archive from a list of filenames::" msgstr "" -#: ../../library/tarfile.rst:783 +#: ../../library/tarfile.rst:1240 msgid "The same example using the :keyword:`with` statement::" msgstr "" -#: ../../library/tarfile.rst:790 +#: ../../library/tarfile.rst:1247 msgid "" "How to read a gzip compressed tar archive and display some member " "information::" msgstr "" -#: ../../library/tarfile.rst:804 +#: ../../library/tarfile.rst:1261 msgid "" "How to create an archive and reset the user information using the *filter* " "parameter in :meth:`TarFile.add`::" msgstr "" -#: ../../library/tarfile.rst:820 +#: ../../library/tarfile.rst:1277 msgid "Supported tar formats" -msgstr "" +msgstr "Formatos tar suportados" -#: ../../library/tarfile.rst:822 +#: ../../library/tarfile.rst:1279 msgid "" "There are three tar formats that can be created with the :mod:`tarfile` " "module:" msgstr "" -#: ../../library/tarfile.rst:824 +#: ../../library/tarfile.rst:1281 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. " @@ -1029,7 +1743,7 @@ msgid "" "supported format." msgstr "" -#: ../../library/tarfile.rst:829 +#: ../../library/tarfile.rst:1286 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 " @@ -1037,18 +1751,18 @@ msgid "" "extensions for long names, sparse file support is read-only." msgstr "" -#: ../../library/tarfile.rst:834 +#: ../../library/tarfile.rst:1291 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, " "large files and stores pathnames in a portable way. Modern tar " "implementations, including GNU tar, bsdtar/libarchive and star, fully " "support extended *pax* features; some old or unmaintained libraries may not, " -"but should treat *pax* archives as if they were in the universally-supported " +"but should treat *pax* archives as if they were in the universally supported " "*ustar* format. It is the current default format for new archives." msgstr "" -#: ../../library/tarfile.rst:842 +#: ../../library/tarfile.rst:1299 msgid "" "It extends the existing *ustar* format with extra headers for information " "that cannot be stored otherwise. There are two flavours of pax headers: " @@ -1057,13 +1771,13 @@ msgid "" "in a pax header is encoded in *UTF-8* for portability reasons." msgstr "" -#: ../../library/tarfile.rst:848 +#: ../../library/tarfile.rst:1305 msgid "" "There are some more variants of the tar format which can be read, but not " "created:" msgstr "" -#: ../../library/tarfile.rst:851 +#: ../../library/tarfile.rst:1308 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 " @@ -1072,17 +1786,17 @@ msgid "" "ASCII characters." msgstr "" -#: ../../library/tarfile.rst:856 +#: ../../library/tarfile.rst:1313 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:862 +#: ../../library/tarfile.rst:1319 msgid "Unicode issues" -msgstr "" +msgstr "Problemas de Unicode" -#: ../../library/tarfile.rst:864 +#: ../../library/tarfile.rst:1321 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 " @@ -1097,13 +1811,13 @@ msgid "" "It stores non-ASCII metadata using the universal character encoding *UTF-8*." msgstr "" -#: ../../library/tarfile.rst:876 +#: ../../library/tarfile.rst:1333 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:879 +#: ../../library/tarfile.rst:1336 msgid "" "*encoding* defines the character encoding to use for the metadata in the " "archive. The default value is :func:`sys.getfilesystemencoding` or " @@ -1112,7 +1826,7 @@ msgid "" "not set appropriately, this conversion may fail." msgstr "" -#: ../../library/tarfile.rst:885 +#: ../../library/tarfile.rst:1342 msgid "" "The *errors* argument defines how characters are treated that cannot be " "converted. Possible values are listed in section :ref:`error-handlers`. The " @@ -1120,7 +1834,7 @@ msgid "" "system calls, see :ref:`os-filenames`." msgstr "" -#: ../../library/tarfile.rst:890 +#: ../../library/tarfile.rst:1347 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 2328f3ef2..ebbd29252 100644 --- a/library/telnetlib.po +++ b/library/telnetlib.po @@ -1,39 +1,43 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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 -# i17obot , 2021 +# python-doc bot, 2025 # #, 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:14+0000\n" -"Last-Translator: i17obot , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:58+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/telnetlib.rst:2 msgid ":mod:`telnetlib` --- Telnet client" msgstr ":mod:`telnetlib` --- cliente Telnet" -#: ../../library/telnetlib.rst:9 +#: ../../library/telnetlib.rst:10 msgid "**Source code:** :source:`Lib/telnetlib.py`" msgstr "**Código-fonte:** :source:`Lib/telnetlib.py`" -#: ../../library/telnetlib.rst:15 +#: ../../library/telnetlib.rst:14 +msgid "" +"The :mod:`telnetlib` module is deprecated (see :pep:`PEP 594 " +"<594#telnetlib>` for details and alternatives)." +msgstr "" + +#: ../../library/telnetlib.rst:20 msgid "" "The :mod:`telnetlib` module provides a :class:`Telnet` class that implements " "the Telnet protocol. See :rfc:`854` for details about the protocol. In " @@ -44,7 +48,7 @@ msgid "" "in ``arpa/telnet.h``, see the module source itself." msgstr "" -#: ../../library/telnetlib.rst:23 +#: ../../library/telnetlib.rst:28 msgid "" "The symbolic constants for the telnet commands are: IAC, DONT, DO, WONT, " "WILL, SE (Subnegotiation End), NOP (No Operation), DM (Data Mark), BRK " @@ -52,7 +56,7 @@ msgid "" "(Erase Character), EL (Erase Line), GA (Go Ahead), SB (Subnegotiation Begin)." msgstr "" -#: ../../library/telnetlib.rst:31 +#: ../../library/telnetlib.rst:36 msgid "" ":class:`Telnet` represents a connection to a Telnet server. The instance is " "initially not connected by default; the :meth:`~Telnet.open` method must be " @@ -64,11 +68,11 @@ msgid "" "global default timeout setting will be used)." msgstr "" -#: ../../library/telnetlib.rst:40 +#: ../../library/telnetlib.rst:45 msgid "Do not reopen an already connected instance." msgstr "" -#: ../../library/telnetlib.rst:42 +#: ../../library/telnetlib.rst:47 msgid "" "This class has many :meth:`read_\\*` methods. Note that some of them " "raise :exc:`EOFError` when the end of the connection is read, because they " @@ -76,7 +80,7 @@ msgid "" "descriptions below." msgstr "" -#: ../../library/telnetlib.rst:46 +#: ../../library/telnetlib.rst:51 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` " @@ -86,93 +90,93 @@ msgstr "" "uma instrução :keyword:`with`. Quando o bloco :keyword:`!with` termina, o " "método :meth:`close` é chamado::" -#: ../../library/telnetlib.rst:55 +#: ../../library/telnetlib.rst:60 msgid "Context manager support added" msgstr "Adicionado suporte a gerenciador de contexto" -#: ../../library/telnetlib.rst:60 +#: ../../library/telnetlib.rst:65 msgid ":rfc:`854` - Telnet Protocol Specification" msgstr ":rfc:`854` - Especificação do Protocolo Telnet" -#: ../../library/telnetlib.rst:61 +#: ../../library/telnetlib.rst:66 msgid "Definition of the Telnet protocol." msgstr "" -#: ../../library/telnetlib.rst:67 +#: ../../library/telnetlib.rst:72 msgid "Telnet Objects" msgstr "Objetos Telnet" -#: ../../library/telnetlib.rst:69 +#: ../../library/telnetlib.rst:74 msgid ":class:`Telnet` instances have the following methods:" msgstr "" -#: ../../library/telnetlib.rst:74 +#: ../../library/telnetlib.rst:79 msgid "" "Read until a given byte string, *expected*, is encountered or until " "*timeout* seconds have passed." msgstr "" -#: ../../library/telnetlib.rst:77 +#: ../../library/telnetlib.rst:82 msgid "" "When no match is found, return whatever is available instead, possibly empty " "bytes. Raise :exc:`EOFError` if the connection is closed and no cooked data " "is available." msgstr "" -#: ../../library/telnetlib.rst:84 +#: ../../library/telnetlib.rst:89 msgid "Read all data until EOF as bytes; block until connection closed." msgstr "" -#: ../../library/telnetlib.rst:89 +#: ../../library/telnetlib.rst:94 msgid "" "Read at least one byte of cooked data unless EOF is hit. Return ``b''`` if " "EOF is hit. Block if no data is immediately available." msgstr "" -#: ../../library/telnetlib.rst:95 +#: ../../library/telnetlib.rst:100 msgid "Read everything that can be without blocking in I/O (eager)." msgstr "" -#: ../../library/telnetlib.rst:97 ../../library/telnetlib.rst:106 +#: ../../library/telnetlib.rst:102 ../../library/telnetlib.rst:111 msgid "" "Raise :exc:`EOFError` if connection closed and no cooked data available. " "Return ``b''`` if no cooked data available otherwise. Do not block unless in " "the midst of an IAC sequence." msgstr "" -#: ../../library/telnetlib.rst:104 +#: ../../library/telnetlib.rst:109 msgid "Read readily available data." msgstr "" -#: ../../library/telnetlib.rst:113 +#: ../../library/telnetlib.rst:118 msgid "Process and return data already in the queues (lazy)." msgstr "" -#: ../../library/telnetlib.rst:115 +#: ../../library/telnetlib.rst:120 msgid "" "Raise :exc:`EOFError` if connection closed and no data available. Return " "``b''`` if no cooked data available otherwise. Do not block unless in the " "midst of an IAC sequence." msgstr "" -#: ../../library/telnetlib.rst:122 +#: ../../library/telnetlib.rst:127 msgid "Return any data available in the cooked queue (very lazy)." msgstr "" -#: ../../library/telnetlib.rst:124 +#: ../../library/telnetlib.rst:129 msgid "" "Raise :exc:`EOFError` if connection closed and no data available. Return " "``b''`` if no cooked data available otherwise. This method never blocks." msgstr "" -#: ../../library/telnetlib.rst:130 +#: ../../library/telnetlib.rst:135 msgid "" "Return the data collected between a SB/SE pair (suboption begin/end). The " "callback should access these data when it was invoked with a ``SE`` command. " "This method never blocks." msgstr "" -#: ../../library/telnetlib.rst:137 +#: ../../library/telnetlib.rst:142 msgid "" "Connect to a host. The optional second argument is the port number, which " "defaults to the standard Telnet port (23). The optional *timeout* parameter " @@ -180,73 +184,73 @@ msgid "" "attempt (if not specified, the global default timeout setting will be used)." msgstr "" -#: ../../library/telnetlib.rst:142 +#: ../../library/telnetlib.rst:147 msgid "Do not try to reopen an already connected instance." msgstr "" -#: ../../library/telnetlib.rst:144 +#: ../../library/telnetlib.rst:149 msgid "" "Raises an :ref:`auditing event ` ``telnetlib.Telnet.open`` with " "arguments ``self``, ``host``, ``port``." msgstr "" -#: ../../library/telnetlib.rst:149 +#: ../../library/telnetlib.rst:154 msgid "" "Print a debug message when the debug level is ``>`` 0. If extra arguments " "are present, they are substituted in the message using the standard string " "formatting operator." msgstr "" -#: ../../library/telnetlib.rst:156 +#: ../../library/telnetlib.rst:161 msgid "" "Set the debug level. The higher the value of *debuglevel*, the more debug " "output you get (on ``sys.stdout``)." msgstr "" -#: ../../library/telnetlib.rst:162 +#: ../../library/telnetlib.rst:167 msgid "Close the connection." -msgstr "" +msgstr "Fecha a conexão." -#: ../../library/telnetlib.rst:167 +#: ../../library/telnetlib.rst:172 msgid "Return the socket object used internally." msgstr "" -#: ../../library/telnetlib.rst:172 +#: ../../library/telnetlib.rst:177 msgid "Return the file descriptor of the socket object used internally." msgstr "" -#: ../../library/telnetlib.rst:177 +#: ../../library/telnetlib.rst:182 msgid "" "Write a byte string to the socket, doubling any IAC characters. This can " "block if the connection is blocked. May raise :exc:`OSError` if the " "connection is closed." msgstr "" -#: ../../library/telnetlib.rst:181 +#: ../../library/telnetlib.rst:186 msgid "" "Raises an :ref:`auditing event ` ``telnetlib.Telnet.write`` with " "arguments ``self``, ``buffer``." msgstr "" -#: ../../library/telnetlib.rst:183 +#: ../../library/telnetlib.rst:188 msgid "" "This method used to raise :exc:`socket.error`, which is now an alias of :exc:" "`OSError`." msgstr "" -#: ../../library/telnetlib.rst:190 +#: ../../library/telnetlib.rst:195 msgid "Interaction function, emulates a very dumb Telnet client." msgstr "" -#: ../../library/telnetlib.rst:195 +#: ../../library/telnetlib.rst:200 msgid "Multithreaded version of :meth:`interact`." msgstr "" -#: ../../library/telnetlib.rst:200 +#: ../../library/telnetlib.rst:205 msgid "Read until one from a list of a regular expressions matches." msgstr "" -#: ../../library/telnetlib.rst:202 +#: ../../library/telnetlib.rst:207 msgid "" "The first argument is a list of regular expressions, either compiled (:ref:" "`regex objects `) or uncompiled (byte strings). The optional " @@ -254,28 +258,28 @@ msgid "" "indefinitely." msgstr "" -#: ../../library/telnetlib.rst:207 +#: ../../library/telnetlib.rst:212 msgid "" "Return a tuple of three items: the index in the list of the first regular " "expression that matches; the match object returned; and the bytes read up " "till and including the match." msgstr "" -#: ../../library/telnetlib.rst:211 +#: ../../library/telnetlib.rst:216 msgid "" "If end of file is found and no bytes were read, raise :exc:`EOFError`. " "Otherwise, when nothing matches, return ``(-1, None, data)`` where *data* is " "the bytes received so far (may be empty bytes if a timeout happened)." msgstr "" -#: ../../library/telnetlib.rst:215 +#: ../../library/telnetlib.rst:220 msgid "" "If a regular expression ends with a greedy match (such as ``.*``) or if more " "than one expression can match the same input, the results are non-" "deterministic, and may depend on the I/O timing." msgstr "" -#: ../../library/telnetlib.rst:222 +#: ../../library/telnetlib.rst:227 msgid "" "Each time a telnet option is read on the input flow, this *callback* (if " "set) is called with the following parameters: callback(telnet socket, " @@ -283,10 +287,10 @@ msgid "" "telnetlib." msgstr "" -#: ../../library/telnetlib.rst:230 +#: ../../library/telnetlib.rst:235 msgid "Telnet Example" msgstr "" -#: ../../library/telnetlib.rst:235 +#: ../../library/telnetlib.rst:240 msgid "A simple example illustrating typical use::" msgstr "" diff --git a/library/tempfile.po b/library/tempfile.po index b5b900be3..706e01d71 100644 --- a/library/tempfile.po +++ b/library/tempfile.po @@ -1,29 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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 -# Marco Rougeth , 2021 -# i17obot , 2021 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.10\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-08-10 13:16+0000\n" -"PO-Revision-Date: 2021-06-28 01:14+0000\n" -"Last-Translator: i17obot , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:58+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/tempfile.rst:2 msgid ":mod:`tempfile` --- Generate temporary files and directories" @@ -105,23 +103,31 @@ msgid "" "specific, requires Linux kernel 3.11 or later)." msgstr "" -#: ../../library/tempfile.rst:65 ../../library/tempfile.rst:90 -#: ../../library/tempfile.rst:194 +#: ../../library/tempfile.rst:65 +msgid "" +"On platforms that are neither Posix nor Cygwin, TemporaryFile is an alias " +"for NamedTemporaryFile." +msgstr "" + +#: ../../library/tempfile.rst:68 ../../library/tempfile.rst:93 +#: ../../library/tempfile.rst:197 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:69 +#: ../../library/tempfile.rst:72 msgid "The :py:data:`os.O_TMPFILE` flag is now used if available." msgstr "" -#: ../../library/tempfile.rst:71 ../../library/tempfile.rst:92 -#: ../../library/tempfile.rst:117 +#: ../../library/tempfile.rst:74 ../../library/tempfile.rst:95 +#: ../../library/tempfile.rst:120 msgid "Added *errors* parameter." msgstr "Parâmetro *errors* foi adicionado." -#: ../../library/tempfile.rst:77 +#: ../../library/tempfile.rst:80 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, " @@ -129,28 +135,27 @@ msgid "" "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 NT or later). 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." +"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:98 +#: ../../library/tempfile.rst:101 msgid "" -"This function 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 " +"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`." msgstr "" -#: ../../library/tempfile.rst:104 +#: ../../library/tempfile.rst:107 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." msgstr "" -#: ../../library/tempfile.rst:107 +#: ../../library/tempfile.rst:110 msgid "" "The returned object is a file-like object whose :attr:`_file` attribute is " "either an :class:`io.BytesIO` or :class:`io.TextIOWrapper` object (depending " @@ -159,20 +164,20 @@ msgid "" "object can be used in a :keyword:`with` statement, just like a normal file." msgstr "" -#: ../../library/tempfile.rst:114 +#: ../../library/tempfile.rst:117 msgid "the truncate method now accepts a ``size`` argument." msgstr "" -#: ../../library/tempfile.rst:123 +#: ../../library/tempfile.rst:126 msgid "" -"This function 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 " +"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." msgstr "" -#: ../../library/tempfile.rst:129 +#: ../../library/tempfile.rst:132 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, " @@ -180,7 +185,7 @@ msgid "" "in the :keyword:`with` statement, if there is one." msgstr "" -#: ../../library/tempfile.rst:134 +#: ../../library/tempfile.rst:137 msgid "" "The directory can be explicitly cleaned up by calling the :func:`cleanup` " "method. If *ignore_cleanup_errors* is true, any unhandled exceptions during " @@ -192,17 +197,19 @@ msgid "" "shutdown)." msgstr "" -#: ../../library/tempfile.rst:143 ../../library/tempfile.rst:220 +#: ../../library/tempfile.rst:146 ../../library/tempfile.rst:223 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:147 +#: ../../library/tempfile.rst:150 msgid "Added *ignore_cleanup_errors* parameter." msgstr "" -#: ../../library/tempfile.rst:153 +#: ../../library/tempfile.rst:156 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 " @@ -213,13 +220,13 @@ msgid "" "processes." msgstr "" -#: ../../library/tempfile.rst:161 +#: ../../library/tempfile.rst:164 msgid "" "Unlike :func:`TemporaryFile`, the user of :func:`mkstemp` is responsible for " "deleting the temporary file when done with it." msgstr "" -#: ../../library/tempfile.rst:164 +#: ../../library/tempfile.rst:167 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 " @@ -227,14 +234,14 @@ msgid "" "beginning of *suffix*." msgstr "" -#: ../../library/tempfile.rst:169 +#: ../../library/tempfile.rst:172 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." msgstr "" -#: ../../library/tempfile.rst:173 +#: ../../library/tempfile.rst:176 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 " @@ -245,7 +252,7 @@ msgid "" "commands via ``os.popen()``." msgstr "" -#: ../../library/tempfile.rst:181 +#: ../../library/tempfile.rst:184 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 " @@ -253,20 +260,20 @@ msgid "" "behavior, pass ``suffix=b''``." msgstr "" -#: ../../library/tempfile.rst:187 +#: ../../library/tempfile.rst:190 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:190 +#: ../../library/tempfile.rst:193 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:196 ../../library/tempfile.rst:222 +#: ../../library/tempfile.rst:199 ../../library/tempfile.rst:225 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* " @@ -274,104 +281,104 @@ msgid "" "default value to be used." msgstr "" -#: ../../library/tempfile.rst:202 ../../library/tempfile.rst:228 +#: ../../library/tempfile.rst:205 ../../library/tempfile.rst:231 msgid "The *dir* parameter now accepts a :term:`path-like object`." msgstr "" -#: ../../library/tempfile.rst:208 +#: ../../library/tempfile.rst:211 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:212 +#: ../../library/tempfile.rst:215 msgid "" "The user of :func:`mkdtemp` is responsible for deleting the temporary " "directory and its contents when done with it." msgstr "" -#: ../../library/tempfile.rst:215 +#: ../../library/tempfile.rst:218 msgid "" "The *prefix*, *suffix*, and *dir* arguments are the same as for :func:" "`mkstemp`." msgstr "" -#: ../../library/tempfile.rst:218 +#: ../../library/tempfile.rst:221 msgid ":func:`mkdtemp` returns the absolute pathname of the new directory." msgstr "" -#: ../../library/tempfile.rst:234 +#: ../../library/tempfile.rst:237 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:238 +#: ../../library/tempfile.rst:241 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:241 +#: ../../library/tempfile.rst:244 msgid "The directory named by the :envvar:`TMPDIR` environment variable." msgstr "" -#: ../../library/tempfile.rst:243 +#: ../../library/tempfile.rst:246 msgid "The directory named by the :envvar:`TEMP` environment variable." msgstr "" -#: ../../library/tempfile.rst:245 +#: ../../library/tempfile.rst:248 msgid "The directory named by the :envvar:`TMP` environment variable." msgstr "" -#: ../../library/tempfile.rst:247 +#: ../../library/tempfile.rst:250 msgid "A platform-specific location:" msgstr "Uma localização específica por plataforma:" -#: ../../library/tempfile.rst:249 +#: ../../library/tempfile.rst:252 msgid "" "On Windows, the directories :file:`C:\\\\TEMP`, :file:`C:\\\\TMP`, :file:`\\" "\\TEMP`, and :file:`\\\\TMP`, in that order." msgstr "" -#: ../../library/tempfile.rst:252 +#: ../../library/tempfile.rst:255 msgid "" "On all other platforms, the directories :file:`/tmp`, :file:`/var/tmp`, and :" "file:`/usr/tmp`, in that order." msgstr "" -#: ../../library/tempfile.rst:255 +#: ../../library/tempfile.rst:258 msgid "As a last resort, the current working directory." msgstr "" -#: ../../library/tempfile.rst:257 +#: ../../library/tempfile.rst:260 msgid "" "The result of this search is cached, see the description of :data:`tempdir` " "below." msgstr "" -#: ../../library/tempfile.rst:262 +#: ../../library/tempfile.rst:265 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:267 +#: ../../library/tempfile.rst:270 msgid "Same as :func:`gettempdir` but the return value is in bytes." msgstr "" -#: ../../library/tempfile.rst:273 +#: ../../library/tempfile.rst:276 msgid "" "Return the filename prefix used to create temporary files. This does not " "contain the directory component." msgstr "" -#: ../../library/tempfile.rst:278 +#: ../../library/tempfile.rst:281 msgid "Same as :func:`gettempprefix` but the return value is in bytes." msgstr "" -#: ../../library/tempfile.rst:282 +#: ../../library/tempfile.rst:285 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 " @@ -381,21 +388,21 @@ msgid "" "unsuspecting code by changing global API behavior." msgstr "" -#: ../../library/tempfile.rst:291 +#: ../../library/tempfile.rst:294 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:296 +#: ../../library/tempfile.rst:299 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:302 +#: ../../library/tempfile.rst:305 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:" @@ -405,19 +412,19 @@ msgid "" "compatibility with the historical implementation." msgstr "" -#: ../../library/tempfile.rst:313 +#: ../../library/tempfile.rst:316 msgid "Examples" msgstr "Exemplos" -#: ../../library/tempfile.rst:315 +#: ../../library/tempfile.rst:318 msgid "Here are some examples of typical usage of the :mod:`tempfile` module::" msgstr "" -#: ../../library/tempfile.rst:347 +#: ../../library/tempfile.rst:350 msgid "Deprecated functions and variables" msgstr "" -#: ../../library/tempfile.rst:349 +#: ../../library/tempfile.rst:352 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. " @@ -428,11 +435,11 @@ msgid "" "used by :func:`mkstemp` and the other functions described above." msgstr "" -#: ../../library/tempfile.rst:360 +#: ../../library/tempfile.rst:363 msgid "Use :func:`mkstemp` instead." msgstr "Use :func:`mkstemp`." -#: ../../library/tempfile.rst:363 +#: ../../library/tempfile.rst:366 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 " @@ -440,7 +447,7 @@ msgid "" "``prefix=None`` are not supported." msgstr "" -#: ../../library/tempfile.rst:370 +#: ../../library/tempfile.rst:373 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 16c814a09..87b0de9ee 100644 --- a/library/termios.po +++ b/library/termios.po @@ -1,29 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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 -# And Past , 2021 -# i17obot , 2021 +# python-doc bot, 2025 # #, 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:14+0000\n" -"Last-Translator: i17obot , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:58+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/termios.rst:2 msgid ":mod:`termios` --- POSIX style tty control" diff --git a/library/test.po b/library/test.po index 71df58289..ec929f7e9 100644 --- a/library/test.po +++ b/library/test.po @@ -1,30 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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 -# Claudio Rogerio Carvalho Filho , 2021 -# i17obot , 2021 -# Porfirio_Prodigy, 2022 -# Rafael Fontenelle , 2022 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.10\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-07-27 13:07+0000\n" -"PO-Revision-Date: 2021-06-28 01:14+0000\n" -"Last-Translator: Rafael Fontenelle , 2022\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-23 17:01+0000\n" +"PO-Revision-Date: 2025-09-22 15:58+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/test.rst:2 msgid ":mod:`test` --- Regression tests package for Python" @@ -52,9 +49,9 @@ msgid "" "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`. O :mod:`test.support` " -"é usado para aprimorar seus testes enquanto o :mod:`test.regrtest` conduz " -"(guia) o conjunto de testes." +"os módulos :mod:`test.support` e :mod:`test.regrtest`. :mod:`test.support` é " +"utilizado para aprimorar seus testes enquanto o :mod:`test.regrtest` " +"direciona a suite de testes." #: ../../library/test.rst:23 msgid "" @@ -136,7 +133,7 @@ msgid "" "guidelines to be followed:" msgstr "" "O objetivo do teste de regressão é tentar quebrar o código. Isso leva a " -"algumas diretrizes que devemos seguir: " +"algumas diretrizes que devemos seguir:" #: ../../library/test.rst:95 msgid "" @@ -291,6 +288,16 @@ 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 msgid "" @@ -300,6 +307,11 @@ msgid "" "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: " +"programa: ' make test' no diretório de mais alto nível onde o Python foi " +"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 msgid ":mod:`test.support` --- Utilities for the Python test suite" @@ -310,6 +322,8 @@ msgid "" "The :mod:`test.support` module provides support for Python's regression test " "suite." msgstr "" +"O módulo :mod:`test.support` fornece suporte para a suíte de testes de " +"regressão do Python." #: ../../library/test.rst:205 msgid "" @@ -317,10 +331,14 @@ msgid "" "Python developers write tests. The API of this module is subject to change " "without backwards compatibility concerns between releases." msgstr "" +":mod: 'test.support' não é um módulo público. Ele está documentado aqui para " +"ajudar desenvolvedores de Python a escreverem testes. A API desse módulo " +"está sujeito a mudar sem problemas de compatibilidade entre as versões " +"anteriores." #: ../../library/test.rst:210 msgid "This module defines the following exceptions:" -msgstr "" +msgstr "Esse módulo define as seguintes exceções:" #: ../../library/test.rst:214 msgid "" @@ -328,6 +346,9 @@ msgid "" "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 msgid "" @@ -335,10 +356,12 @@ msgid "" "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 msgid "The :mod:`test.support` module defines the following constants:" -msgstr "" +msgstr "O módulo :mod:`test.support` define as seguintes constantes:" #: ../../library/test.rst:230 msgid "" @@ -346,24 +369,30 @@ msgid "" "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 msgid "``True`` if the running interpreter is Jython." -msgstr "" +msgstr "``True`` se o interpretador em execução for Jython." #: ../../library/test.rst:242 msgid "``True`` if the system is Android." -msgstr "" +msgstr "``True`` se o sistema é Android." #: ../../library/test.rst:247 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 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 msgid "" @@ -371,6 +400,9 @@ msgid "" "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 msgid "" @@ -378,24 +410,30 @@ msgid "" "`~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 msgid "Its default value is 5 seconds." -msgstr "" +msgstr "Seu valor padrão é 5 segundos." #: ../../library/test.rst:265 msgid "See also :data:`INTERNET_TIMEOUT`." -msgstr "" +msgstr "Veja também :data:`INTERNET_TIMEOUT`." #: ../../library/test.rst:270 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 msgid "" "The timeout is short enough to prevent a test to wait for too long if the " "internet request is blocked for whatever reason." 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 msgid "" @@ -403,6 +441,9 @@ msgid "" "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 msgid "Its default value is 1 minute." @@ -410,31 +451,37 @@ msgstr "Seu valor padrão é 1 minuto." #: ../../library/test.rst:281 msgid "See also :data:`LOOPBACK_TIMEOUT`." -msgstr "" +msgstr "Veja também :data:`LOOPBACK_TIMEOUT`." #: ../../library/test.rst:286 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 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 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 msgid "Its default value is 30 seconds." -msgstr "" +msgstr "Seu valor padrão é 30 segundos." #: ../../library/test.rst:298 msgid "Timeout in seconds to detect when a test hangs." -msgstr "" +msgstr "Tempo limite em segundos para detectar quando um teste trava." #: ../../library/test.rst:300 msgid "" @@ -443,48 +490,59 @@ msgid "" "\"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 msgid "Its default value is 5 minutes." -msgstr "" +msgstr "Seu valor padrão é 5 minutos." #: ../../library/test.rst:307 msgid "" "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 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 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 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 msgid "Set to the top level directory that contains :mod:`test.support`." -msgstr "" +msgstr "Define o diretório de mais alto nível que contém :mod:`test.support`." #: ../../library/test.rst:335 msgid "Set to the top level directory for the test package." -msgstr "" +msgstr "Define o diretório de mais alto nível para o pacote de teste." #: ../../library/test.rst:340 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 msgid "Set to :data:`sys.maxsize` for big memory tests." -msgstr "" +msgstr "Define :data:`sys.maxsize` para grandes testes de memória." #: ../../library/test.rst:350 msgid "" @@ -500,60 +558,72 @@ msgstr "" #: ../../library/test.rst:362 msgid "" -"Return ``True`` if running on CPython, not on Windows, and configuration not " -"set with ``WITH_DOC_STRINGS``." +"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:368 -msgid "Check for presence of docstrings." +#: ../../library/test.rst:366 +msgid "See also the :data:`HAVE_DOCSTRINGS` variable." msgstr "" -#: ../../library/test.rst:373 +#: ../../library/test.rst:371 +msgid "" +"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 +msgid "See also the :data:`MISSING_C_DOCSTRINGS` variable." +msgstr "" + +#: ../../library/test.rst:379 msgid "Define the URL of a dedicated HTTP server for the network tests." msgstr "" -#: ../../library/test.rst:378 +#: ../../library/test.rst:384 msgid "Object that is equal to anything. Used to test mixed type comparison." msgstr "" -#: ../../library/test.rst:383 +#: ../../library/test.rst:389 msgid "" "Object that is not equal to anything (even to :data:`ALWAYS_EQ`). Used to " "test mixed type comparison." msgstr "" -#: ../../library/test.rst:389 +#: ../../library/test.rst:395 msgid "" "Object that is greater than anything (except itself). Used to test mixed " "type comparison." msgstr "" -#: ../../library/test.rst:395 +#: ../../library/test.rst:401 msgid "" "Object that is less than anything (except itself). Used to test mixed type " "comparison." msgstr "" -#: ../../library/test.rst:399 +#: ../../library/test.rst:405 msgid "The :mod:`test.support` module defines the following functions:" -msgstr "" +msgstr "O módulo :mod:`test.support` define as seguintes funções:" -#: ../../library/test.rst:403 +#: ../../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." msgstr "" -#: ../../library/test.rst:410 +#: ../../library/test.rst:416 msgid "Return ``True`` if Python was not built with ``-O0`` or ``-Og``." msgstr "" -#: ../../library/test.rst:415 +#: ../../library/test.rst:421 msgid "Return :data:`_testcapi.WITH_PYMALLOC`." -msgstr "" +msgstr "Retorna :data:`_testcapi.WITH_PYMALLOC`." -#: ../../library/test.rst:420 +#: ../../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`` " @@ -561,44 +631,42 @@ msgid "" "tests are executed by :mod:`test.regrtest`." msgstr "" -#: ../../library/test.rst:428 -msgid "" -"Raise :exc:`unittest.SkipTest` on TLS certification validation failures." -msgstr "" - -#: ../../library/test.rst:433 +#: ../../library/test.rst:434 msgid "Return a repr of *dict* with keys sorted." msgstr "" -#: ../../library/test.rst:438 +#: ../../library/test.rst:439 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." msgstr "" -#: ../../library/test.rst:442 +#: ../../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." msgstr "" -#: ../../library/test.rst:448 -msgid "Match *test* to patterns set in :func:`set_match_tests`." +#: ../../library/test.rst:449 +msgid "" +"Determine whether *test* matches the patterns set in :func:`set_match_tests`." msgstr "" -#: ../../library/test.rst:453 -msgid "Define match test with regular expression *patterns*." +#: ../../library/test.rst:454 +msgid "" +"Define match patterns on test filenames and test method names for filtering " +"tests." msgstr "" -#: ../../library/test.rst:458 +#: ../../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." msgstr "" -#: ../../library/test.rst:462 +#: ../../library/test.rst:463 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." @@ -606,17 +674,17 @@ msgid "" "func:`test_main` function::" msgstr "" -#: ../../library/test.rst:470 +#: ../../library/test.rst:471 msgid "This will run all tests defined in the named module." -msgstr "" +msgstr "Isso executará todos os testes definidos no módulo nomeado." -#: ../../library/test.rst:475 +#: ../../library/test.rst:476 msgid "" "Run :func:`doctest.testmod` on the given *module*. Return ``(failure_count, " "test_count)``." msgstr "" -#: ../../library/test.rst:478 +#: ../../library/test.rst:479 msgid "" "If *verbosity* is ``None``, :func:`doctest.testmod` is run with verbosity " "set to :data:`verbose`. Otherwise, it is run with verbosity set to " @@ -624,165 +692,191 @@ msgid "" "testmod`." msgstr "" -#: ../../library/test.rst:486 +#: ../../library/test.rst:487 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:492 +#: ../../library/test.rst:493 msgid "" "Use this check to guard CPython's implementation-specific tests or to run " -"them only on the implementations guarded by the arguments::" +"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:502 +#: ../../library/test.rst:505 msgid "" "Set the values for :data:`max_memuse` and :data:`real_max_memuse` for big " "memory tests." msgstr "" +"Define os valores para :data:`max_memuse` e :data:`real_max_memuse` para " +"grandes testes de memória." -#: ../../library/test.rst:508 +#: ../../library/test.rst:511 msgid "" "Store the value from *stdout*. It is meant to hold the stdout at the time " "the regrtest began." msgstr "" +"Armazena o valor de *stdout*. Destina-se a manter o stdout no momento em que " +"o registro começou." -#: ../../library/test.rst:514 +#: ../../library/test.rst:517 msgid "" "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:520 +#: ../../library/test.rst:523 msgid "" "Return a list of command line arguments reproducing the current settings in " "``sys.flags`` and ``sys.warnoptions``." msgstr "" +"Retorna uma lista de argumentos de linha de comando reproduzindo as " +"configurações em ``sys.flags`` e ``sys.warnoptions``." -#: ../../library/test.rst:526 +#: ../../library/test.rst:529 msgid "" "Return a list of command line arguments reproducing the current optimization " "settings in ``sys.flags``." msgstr "" +"Retorna a lista de argumentos da linha de comando reproduzindo as " +"configurações de otimização atuais em ``sys.flags``." -#: ../../library/test.rst:534 +#: ../../library/test.rst:537 msgid "" "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:537 +#: ../../library/test.rst:540 msgid "Example use with output streams::" -msgstr "" +msgstr "Exemplo do uso com fluxos de saída::" -#: ../../library/test.rst:545 +#: ../../library/test.rst:548 msgid "Example use with input stream::" -msgstr "" +msgstr "Exemplo de uso com fluxo de entrada::" -#: ../../library/test.rst:557 -msgid "A context manager that replaces ``sys.stderr`` with ``sys.__stderr__``." +#: ../../library/test.rst:560 +msgid "A context manager that temporary disables :mod:`faulthandler`." msgstr "" +"Um gerenciador de contexto que desativa temporariamente :mod:`faulthandler`." -#: ../../library/test.rst:562 +#: ../../library/test.rst:565 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:570 +#: ../../library/test.rst:573 msgid "" -"A context manager that disables the garbage collector upon entry and " -"reenables it upon exit." +"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:576 +#: ../../library/test.rst:579 msgid "Context manager to swap out an attribute with a new object." msgstr "" -#: ../../library/test.rst:578 ../../library/test.rst:596 -#: ../../library/test.rst:812 ../../library/test.rst:1263 +#: ../../library/test.rst:581 ../../library/test.rst:599 +#: ../../library/test.rst:819 ../../library/test.rst:1292 msgid "Usage::" msgstr "Uso::" -#: ../../library/test.rst:583 +#: ../../library/test.rst:586 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:588 ../../library/test.rst:606 +#: ../../library/test.rst:591 ../../library/test.rst:609 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:594 +#: ../../library/test.rst:597 msgid "Context manager to swap out an item with a new object." msgstr "" -#: ../../library/test.rst:601 +#: ../../library/test.rst:604 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:612 +#: ../../library/test.rst:615 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." +"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:621 +#: ../../library/test.rst:624 msgid "" "Wait until process *pid* completes and check that the process exit code is " "*exitcode*." msgstr "" -#: ../../library/test.rst:624 +#: ../../library/test.rst:627 msgid "" "Raise an :exc:`AssertionError` if the process exit code is not equal to " "*exitcode*." msgstr "" -#: ../../library/test.rst:627 +#: ../../library/test.rst:630 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:636 +#: ../../library/test.rst:639 msgid "" -"Return :func:`struct.calcsize` for ``nP{fmt}0n`` or, if ``gettotalrefcount`` " -"exists, ``2PnP{fmt}0P``." +"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:642 +#: ../../library/test.rst:645 msgid "" -"Return :func:`struct.calcsize` for ``nPn{fmt}0n`` or, if " -"``gettotalrefcount`` exists, ``2PnPn{fmt}0P``." +"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:648 +#: ../../library/test.rst:651 msgid "" "For testcase *test*, assert that the ``sys.getsizeof`` for *o* plus the GC " "header size equals *size*." msgstr "" -#: ../../library/test.rst:654 +#: ../../library/test.rst:657 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." msgstr "" -#: ../../library/test.rst:661 +#: ../../library/test.rst:664 +msgid "" +"A decorator that skips the decorated test on TLS certification validation " +"failures." +msgstr "" + +#: ../../library/test.rst:669 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 " @@ -790,73 +884,73 @@ msgid "" "sequentially, and the first valid locale will be used." msgstr "" -#: ../../library/test.rst:669 +#: ../../library/test.rst:677 msgid "" "A decorator for running a function in a specific timezone, correctly " "resetting it after it has finished." msgstr "" -#: ../../library/test.rst:675 +#: ../../library/test.rst:683 msgid "" "Decorator for the minimum version when running test on FreeBSD. If the " -"FreeBSD version is less than the minimum, raise :exc:`unittest.SkipTest`." +"FreeBSD version is less than the minimum, the test is skipped." msgstr "" -#: ../../library/test.rst:681 +#: ../../library/test.rst:689 msgid "" "Decorator for the minimum version when running test on Linux. If the Linux " -"version is less than the minimum, raise :exc:`unittest.SkipTest`." +"version is less than the minimum, the test is skipped." msgstr "" -#: ../../library/test.rst:687 +#: ../../library/test.rst:695 msgid "" -"Decorator for the minimum version when running test on Mac OS X. If the MAC " -"OS X version is less than the minimum, raise :exc:`unittest.SkipTest`." +"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:693 +#: ../../library/test.rst:701 msgid "Decorator for skipping tests on non-IEEE 754 platforms." msgstr "" -#: ../../library/test.rst:698 +#: ../../library/test.rst:706 msgid "Decorator for skipping tests if :mod:`zlib` doesn't exist." msgstr "" -#: ../../library/test.rst:703 +#: ../../library/test.rst:711 msgid "Decorator for skipping tests if :mod:`gzip` doesn't exist." msgstr "" -#: ../../library/test.rst:708 +#: ../../library/test.rst:716 msgid "Decorator for skipping tests if :mod:`bz2` doesn't exist." msgstr "" -#: ../../library/test.rst:713 +#: ../../library/test.rst:721 msgid "Decorator for skipping tests if :mod:`lzma` doesn't exist." msgstr "" -#: ../../library/test.rst:718 +#: ../../library/test.rst:726 msgid "Decorator for skipping tests if *resource* is not available." msgstr "" -#: ../../library/test.rst:723 +#: ../../library/test.rst:731 msgid "Decorator for only running the test if :data:`HAVE_DOCSTRINGS`." msgstr "" -#: ../../library/test.rst:728 +#: ../../library/test.rst:736 msgid "Decorator for tests only applicable to CPython." msgstr "" -#: ../../library/test.rst:733 +#: ../../library/test.rst:741 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:739 +#: ../../library/test.rst:747 msgid "Decorator to temporarily turn off tracing for the duration of the test." msgstr "" -#: ../../library/test.rst:744 +#: ../../library/test.rst:752 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 " @@ -864,11 +958,11 @@ msgid "" "trace function." msgstr "" -#: ../../library/test.rst:752 +#: ../../library/test.rst:760 msgid "Decorator for bigmem tests." msgstr "" -#: ../../library/test.rst:754 +#: ../../library/test.rst:762 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 " @@ -876,7 +970,7 @@ msgid "" "each, could be decorated with ``@bigmemtest(size=_4G, memuse=2)``." msgstr "" -#: ../../library/test.rst:759 +#: ../../library/test.rst:767 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 " @@ -884,13 +978,11 @@ msgid "" "means the test doesn't support dummy runs when ``-M`` is not specified." msgstr "" -#: ../../library/test.rst:767 -msgid "" -"Decorator for tests that fill the address space. *f* is the function to " -"wrap." -msgstr "" +#: ../../library/test.rst:775 +msgid "Decorator for tests that fill the address space." +msgstr "Decorador para testes que preenche o espaço do endereço." -#: ../../library/test.rst:773 +#: ../../library/test.rst:780 msgid "" "Test for syntax errors in *statement* by attempting to compile *statement*. " "*testcase* is the :mod:`unittest` instance for the test. *errtext* is the " @@ -900,44 +992,44 @@ msgid "" "of the exception." msgstr "" -#: ../../library/test.rst:783 +#: ../../library/test.rst:790 msgid "Open *url*. If open fails, raises :exc:`TestFailed`." -msgstr "" +msgstr "Abre *url*. Se falhar em abrir, levanta :exc:`TestFailed`." -#: ../../library/test.rst:788 +#: ../../library/test.rst:795 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:795 +#: ../../library/test.rst:802 msgid "" "Get an attribute, raising :exc:`unittest.SkipTest` if :exc:`AttributeError` " "is raised." msgstr "" -#: ../../library/test.rst:801 +#: ../../library/test.rst:808 msgid "" "Context manager catching unraisable exception using :func:`sys." "unraisablehook`." msgstr "" -#: ../../library/test.rst:804 +#: ../../library/test.rst:811 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:808 +#: ../../library/test.rst:815 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:829 +#: ../../library/test.rst:836 msgid "" "Generic implementation of the :mod:`unittest` ``load_tests`` protocol for " "use in test packages. *pkg_dir* is the root directory of the package; " @@ -946,55 +1038,55 @@ msgid "" "the following::" msgstr "" -#: ../../library/test.rst:844 +#: ../../library/test.rst:851 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:848 +#: ../../library/test.rst:855 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:856 +#: ../../library/test.rst:863 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:864 +#: ../../library/test.rst:871 msgid "" "Run *code* in subinterpreter. Raise :exc:`unittest.SkipTest` if :mod:" "`tracemalloc` is enabled." msgstr "" -#: ../../library/test.rst:870 -msgid "Assert that *iter* is deallocated after iterating." +#: ../../library/test.rst:877 +msgid "Assert instances of *cls* are deallocated after iterating." msgstr "" -#: ../../library/test.rst:875 +#: ../../library/test.rst:882 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:883 +#: ../../library/test.rst:890 msgid "" "Assert that the ``__all__`` variable of *module* contains all public names." msgstr "" -#: ../../library/test.rst:885 +#: ../../library/test.rst:892 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:889 +#: ../../library/test.rst:896 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 " @@ -1002,7 +1094,7 @@ msgid "" "other modules, possibly a C backend (like ``csv`` and its ``_csv``)." msgstr "" -#: ../../library/test.rst:894 +#: ../../library/test.rst:901 msgid "" "The *extra* argument can be a set of names that wouldn't otherwise be " "automatically detected as \"public\", like objects without a proper " @@ -1010,38 +1102,46 @@ msgid "" "detected ones." msgstr "" -#: ../../library/test.rst:898 +#: ../../library/test.rst:905 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:901 ../../library/test.rst:1505 +#: ../../library/test.rst:908 ../../library/test.rst:1541 msgid "Example use::" msgstr "Exemplo de uso::" -#: ../../library/test.rst:924 +#: ../../library/test.rst:931 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:933 +#: ../../library/test.rst:940 msgid "Assert that type *tp* cannot be instantiated using *args* and *kwds*." msgstr "" -#: ../../library/test.rst:938 +#: ../../library/test.rst:947 +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." +msgstr "" + +#: ../../library/test.rst:955 msgid "The :mod:`test.support` module defines the following classes:" msgstr "" -#: ../../library/test.rst:943 +#: ../../library/test.rst:960 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:946 +#: ../../library/test.rst:963 msgid "" "On Windows, it disables Windows Error Reporting dialogs using `SetErrorMode " "`_." @@ -1050,49 +1150,61 @@ msgstr "" "usando SetErrorMode _." -#: ../../library/test.rst:949 +#: ../../library/test.rst:966 msgid "" "On UNIX, :func:`resource.setrlimit` is used to set :attr:`resource." "RLIMIT_CORE`'s soft limit to 0 to prevent coredump file creation." msgstr "" -#: ../../library/test.rst:953 +#: ../../library/test.rst:970 msgid "On both platforms, the old value is restored by :meth:`__exit__`." msgstr "" -#: ../../library/test.rst:958 +#: ../../library/test.rst:975 msgid "" "Class to save and restore signal handlers registered by the Python signal " "handler." msgstr "" -#: ../../library/test.rst:966 -msgid "Try to match a single dict with the supplied arguments." +#: ../../library/test.rst:980 +msgid "" +"Save the signal handlers to a dictionary mapping signal numbers to the " +"current signal handler." +msgstr "" + +#: ../../library/test.rst:985 +msgid "" +"Set the signal numbers from the :meth:`save` dictionary to the saved handler." msgstr "" -#: ../../library/test.rst:971 +#: ../../library/test.rst:993 +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:998 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:978 +#: ../../library/test.rst:1005 msgid "Run *test* and return the result." -msgstr "" +msgstr "Executa *test* e retorna o resultado." -#: ../../library/test.rst:982 +#: ../../library/test.rst:1009 msgid ":mod:`test.support.socket_helper` --- Utilities for socket tests" msgstr "" -#: ../../library/test.rst:988 +#: ../../library/test.rst:1015 msgid "" "The :mod:`test.support.socket_helper` module provides support for socket " "tests." msgstr "" -#: ../../library/test.rst:995 +#: ../../library/test.rst:1022 msgid "Set to ``True`` if IPv6 is enabled on this host, ``False`` otherwise." msgstr "" -#: ../../library/test.rst:1000 +#: ../../library/test.rst:1027 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 " @@ -1103,7 +1215,7 @@ msgid "" "port is returned." msgstr "" -#: ../../library/test.rst:1009 +#: ../../library/test.rst:1036 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 " @@ -1116,7 +1228,7 @@ msgid "" "simultaneously, which is a problem for buildbots." msgstr "" -#: ../../library/test.rst:1023 +#: ../../library/test.rst:1050 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 " @@ -1129,7 +1241,7 @@ msgid "" "testing multicasting via multiple UDP sockets." msgstr "" -#: ../../library/test.rst:1034 +#: ../../library/test.rst:1061 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 " @@ -1137,58 +1249,58 @@ msgid "" "test." msgstr "" -#: ../../library/test.rst:1042 +#: ../../library/test.rst:1069 msgid "" -"Bind a unix socket, raising :exc:`unittest.SkipTest` if :exc:" +"Bind a Unix socket, raising :exc:`unittest.SkipTest` if :exc:" "`PermissionError` is raised." msgstr "" -#: ../../library/test.rst:1048 +#: ../../library/test.rst:1075 msgid "" "A decorator for running tests that require a functional ``bind()`` for Unix " "sockets." msgstr "" -#: ../../library/test.rst:1054 +#: ../../library/test.rst:1081 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:1060 +#: ../../library/test.rst:1087 msgid "" ":mod:`test.support.script_helper` --- Utilities for the Python execution " "tests" msgstr "" -#: ../../library/test.rst:1066 +#: ../../library/test.rst:1093 msgid "" "The :mod:`test.support.script_helper` module provides support for Python's " "script execution tests." msgstr "" -#: ../../library/test.rst:1071 +#: ../../library/test.rst:1098 msgid "" "Return ``True`` if ``sys.executable interpreter`` requires environment " "variables in order to be able to run at all." msgstr "" -#: ../../library/test.rst:1074 +#: ../../library/test.rst:1101 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:1078 +#: ../../library/test.rst:1105 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:1082 +#: ../../library/test.rst:1109 msgid "" "Setting :envvar:`PYTHONHOME` is one way to get most of the testsuite to run " "in that situation. :envvar:`PYTHONPATH` or :envvar:`PYTHONUSERSITE` are " @@ -1196,85 +1308,93 @@ msgid "" "interpreter can start." msgstr "" -#: ../../library/test.rst:1090 +#: ../../library/test.rst:1117 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:1094 ../../library/test.rst:1110 -#: ../../library/test.rst:1122 +#: ../../library/test.rst:1121 ../../library/test.rst:1137 +#: ../../library/test.rst:1149 msgid "The function no longer strips whitespaces from *stderr*." msgstr "" -#: ../../library/test.rst:1100 +#: ../../library/test.rst:1127 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:1104 +#: ../../library/test.rst:1131 msgid "" -"If the ``__cleanenv`` keyword is set, *env_vars* is used as a fresh " -"environment." +"If the *__cleanenv* keyword-only parameter is set, *env_vars* is used as a " +"fresh environment." msgstr "" -#: ../../library/test.rst:1107 +#: ../../library/test.rst:1134 msgid "" "Python is started in isolated mode (command line option ``-I``), except if " -"the ``__isolated`` keyword is set to ``False``." +"the *__isolated* keyword-only parameter is set to ``False``." msgstr "" -#: ../../library/test.rst:1116 +#: ../../library/test.rst:1143 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:1120 +#: ../../library/test.rst:1147 msgid "See :func:`assert_python_ok` for more options." msgstr "" -#: ../../library/test.rst:1128 +#: ../../library/test.rst:1155 msgid "Run a Python subprocess with the given arguments." msgstr "" -#: ../../library/test.rst:1130 +#: ../../library/test.rst:1157 msgid "" "*kw* is extra keyword args to pass to :func:`subprocess.Popen`. Returns a :" "class:`subprocess.Popen` object." msgstr "" -#: ../../library/test.rst:1136 +#: ../../library/test.rst:1163 msgid "" "Run the given :class:`subprocess.Popen` process until completion and return " "stdout." msgstr "" -#: ../../library/test.rst:1142 +#: ../../library/test.rst:1169 msgid "" "Create script containing *source* in path *script_dir* and " "*script_basename*. If *omit_suffix* is ``False``, append ``.py`` to the " "name. Return the full script path." msgstr "" +"Cria um script contendo *source* no caminho *script_dir* e " +"*script_basename*. Se *omit_suffix* ``False``, acrescente ``.py`` ao nome. " +"Retorna o caminho completo do script." -#: ../../library/test.rst:1149 +#: ../../library/test.rst:1176 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. " "Return a tuple containing ``(full path, full path of archive name)``." msgstr "" +"Cria um arquivo zip em *zip_dir* e *zip_basename* com a extensão ``zip`` que " +"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:1156 +#: ../../library/test.rst:1183 msgid "" "Create a directory named *pkg_dir* containing an ``__init__`` file with " "*init_source* as its contents." msgstr "" +"Cria um diretório nomeado *pkg_dir* contendo um arquivo ``__init__`` com " +"*init_source* como seus conteúdos." -#: ../../library/test.rst:1163 +#: ../../library/test.rst:1190 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* " @@ -1283,160 +1403,174 @@ msgid "" "path and the archive name for the zip file." msgstr "" -#: ../../library/test.rst:1171 +#: ../../library/test.rst:1198 msgid "" ":mod:`test.support.bytecode_helper` --- Support tools for testing correct " "bytecode generation" msgstr "" +":mod:`test.support.bytecode_helper` --- Ferramentas de suporte para testar a " +"geração correta de bytecode" -#: ../../library/test.rst:1176 +#: ../../library/test.rst:1203 msgid "" "The :mod:`test.support.bytecode_helper` module provides support for testing " "and inspecting bytecode generation." msgstr "" -#: ../../library/test.rst:1181 +#: ../../library/test.rst:1208 msgid "The module defines the following class:" -msgstr "" +msgstr "O módulo define a seguinte classe:" -#: ../../library/test.rst:1185 +#: ../../library/test.rst:1212 msgid "This class has custom assertion methods for inspecting bytecode." msgstr "" -#: ../../library/test.rst:1189 +#: ../../library/test.rst:1216 msgid "Return the disassembly of *co* as string." msgstr "" -#: ../../library/test.rst:1194 +#: ../../library/test.rst:1221 msgid "" "Return instr if *opname* is found, otherwise throws :exc:`AssertionError`." msgstr "" -#: ../../library/test.rst:1199 +#: ../../library/test.rst:1226 msgid "Throws :exc:`AssertionError` if *opname* is found." msgstr "" -#: ../../library/test.rst:1203 +#: ../../library/test.rst:1230 msgid ":mod:`test.support.threading_helper` --- Utilities for threading tests" msgstr "" -#: ../../library/test.rst:1208 +#: ../../library/test.rst:1235 msgid "" "The :mod:`test.support.threading_helper` module provides support for " "threading tests." msgstr "" -#: ../../library/test.rst:1215 +#: ../../library/test.rst:1242 msgid "" "Join a *thread* within *timeout*. Raise an :exc:`AssertionError` if thread " "is still alive after *timeout* seconds." msgstr "" -#: ../../library/test.rst:1221 +#: ../../library/test.rst:1248 msgid "Decorator to ensure the threads are cleaned up even if the test fails." msgstr "" -#: ../../library/test.rst:1226 +#: ../../library/test.rst:1253 msgid "" -"Context manager to start *threads*. It attempts to join the threads upon " -"exit." +"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 " +"raised; an example would be :meth:`threading.Event.set`. ``start_threads`` " +"will attempt to join the started threads upon exit." msgstr "" -#: ../../library/test.rst:1232 +#: ../../library/test.rst:1261 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:1238 +#: ../../library/test.rst:1267 msgid "Return current thread count and copy of dangling threads." msgstr "" -#: ../../library/test.rst:1243 +#: ../../library/test.rst:1272 msgid "" "Context manager to wait until all threads created in the ``with`` statement " "exit." msgstr "" -#: ../../library/test.rst:1249 +#: ../../library/test.rst:1278 msgid "" "Context manager catching :class:`threading.Thread` exception using :func:" "`threading.excepthook`." msgstr "" -#: ../../library/test.rst:1252 -msgid "Attributes set when an exception is catched:" +#: ../../library/test.rst:1281 +msgid "Attributes set when an exception is caught:" msgstr "" -#: ../../library/test.rst:1254 +#: ../../library/test.rst:1283 msgid "``exc_type``" msgstr "``exc_type``" -#: ../../library/test.rst:1255 +#: ../../library/test.rst:1284 msgid "``exc_value``" msgstr "``exc_value``" -#: ../../library/test.rst:1256 +#: ../../library/test.rst:1285 msgid "``exc_traceback``" msgstr "``exc_traceback``" -#: ../../library/test.rst:1257 +#: ../../library/test.rst:1286 msgid "``thread``" msgstr "``thread``" -#: ../../library/test.rst:1259 +#: ../../library/test.rst:1288 msgid "See :func:`threading.excepthook` documentation." msgstr "" -#: ../../library/test.rst:1261 +#: ../../library/test.rst:1290 msgid "These attributes are deleted at the context manager exit." msgstr "" -#: ../../library/test.rst:1281 +#: ../../library/test.rst:1310 msgid ":mod:`test.support.os_helper` --- Utilities for os tests" msgstr "" -#: ../../library/test.rst:1286 +#: ../../library/test.rst:1315 msgid "The :mod:`test.support.os_helper` module provides support for os tests." msgstr "" -#: ../../library/test.rst:1293 +#: ../../library/test.rst:1322 msgid "A non-ASCII character encodable by :func:`os.fsencode`." msgstr "" -#: ../../library/test.rst:1298 +#: ../../library/test.rst:1327 msgid "Set to :func:`os.getcwd`." msgstr "" -#: ../../library/test.rst:1303 +#: ../../library/test.rst:1332 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:1309 -msgid "Set to a filename containing the :data:`FS_NONASCII` character." +#: ../../library/test.rst:1338 +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 " +"decoded with the default filesystem encoding. This allows tests that require " +"a non-ASCII filename to be easily skipped on platforms where they can't work." msgstr "" -#: ../../library/test.rst:1314 +#: ../../library/test.rst:1346 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 " "generate such a filename." msgstr "" +"Define o nome de arquivo (tipo str) que não pode ser codificado pela " +"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:1321 +#: ../../library/test.rst:1353 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 " "generate such a filename." msgstr "" +"Define o nome de arquivo (tipo str) que não pode ser codificado pela " +"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:1328 +#: ../../library/test.rst:1360 msgid "Set to a non-ASCII name for a temporary file." -msgstr "" +msgstr "Define um nome não-ASCII para o arquivo temporário." -#: ../../library/test.rst:1333 +#: ../../library/test.rst:1365 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 " @@ -1445,95 +1579,104 @@ msgid "" "instance will be rolled back." msgstr "" -#: ../../library/test.rst:1339 +#: ../../library/test.rst:1371 msgid "Added dictionary interface." -msgstr "" +msgstr "Adicionada uma interface para dicionário." -#: ../../library/test.rst:1345 +#: ../../library/test.rst:1377 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__`." msgstr "" -#: ../../library/test.rst:1352 +#: ../../library/test.rst:1384 msgid "" "Temporarily set the environment variable ``envvar`` to the value of " "``value``." msgstr "" +"Temporariamente define a variável de ambiente ``envvar`` para o valor " +"``value``." -#: ../../library/test.rst:1358 +#: ../../library/test.rst:1390 msgid "Temporarily unset the environment variable ``envvar``." -msgstr "" +msgstr "Desativa temporariamente a variável de ambiente ``envvar``." -#: ../../library/test.rst:1363 +#: ../../library/test.rst:1395 msgid "Return ``True`` if the OS supports symbolic links, ``False`` otherwise." msgstr "" -#: ../../library/test.rst:1369 +#: ../../library/test.rst:1401 msgid "Return ``True`` if the OS supports xattr, ``False`` otherwise." msgstr "" -#: ../../library/test.rst:1375 +#: ../../library/test.rst:1407 msgid "" "A context manager that temporarily changes the current working directory to " "*path* and yields the directory." msgstr "" -#: ../../library/test.rst:1378 +#: ../../library/test.rst:1410 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:1385 +#: ../../library/test.rst:1417 msgid "" "Create an empty file with *filename*. If it already exists, truncate it." msgstr "" -#: ../../library/test.rst:1390 +#: ../../library/test.rst:1422 msgid "Count the number of open file descriptors." -msgstr "" +msgstr "Conta o número de descritores de arquivos abertos." -#: ../../library/test.rst:1395 +#: ../../library/test.rst:1427 msgid "Return ``True`` if the file system for *directory* is case-insensitive." msgstr "" -#: ../../library/test.rst:1400 +#: ../../library/test.rst:1432 msgid "" "Create an invalid file descriptor by opening and closing a temporary file, " "and returning its descriptor." msgstr "" +"Cria um descritor de arquivo inválido abrindo e fechando um arquivo " +"temporário e retornando seu descritor." -#: ../../library/test.rst:1406 +#: ../../library/test.rst:1438 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." +"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:1412 +#: ../../library/test.rst:1446 msgid "" "Call :func:`shutil.rmtree` on *path* or call :func:`os.lstat` and :func:`os." -"rmdir` to remove a path and its contents. On Windows platforms, this is " -"wrapped with a wait loop that checks for the existence of the files." +"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:1419 +#: ../../library/test.rst:1454 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:1424 +#: ../../library/test.rst:1459 msgid "A decorator for running tests that require support for xattr." -msgstr "" +msgstr "Um decorador para execução de testes que requerem suporte para xattr." -#: ../../library/test.rst:1429 +#: ../../library/test.rst:1464 msgid "" "A context manager that temporarily creates a new directory and changes the " "current working directory (CWD)." msgstr "" +"Um gerenciador de contexto que cria temporariamente um novo diretório e " +"altera o diretório de trabalho atual (CWD)." -#: ../../library/test.rst:1432 +#: ../../library/test.rst:1467 msgid "" "The context manager creates a temporary directory in the current directory " "with name *name* before temporarily changing the current working directory. " @@ -1541,20 +1684,25 @@ msgid "" "`tempfile.mkdtemp`." msgstr "" -#: ../../library/test.rst:1437 +#: ../../library/test.rst:1472 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 " "CWD is used." msgstr "" +"Se *quiet* é ``False`` e ele não possibilita criar ou alterar o CWD, um erro " +"é levantado. Por outro lado, somente um aviso surge e o CWD original é " +"utilizado." -#: ../../library/test.rst:1444 +#: ../../library/test.rst:1479 msgid "" "A context manager that creates a temporary directory at *path* and yields " "the directory." msgstr "" +"Um gerenciador de contexto que cria um diretório temporário no *path* e " +"produz o diretório." -#: ../../library/test.rst:1447 +#: ../../library/test.rst:1482 msgid "" "If *path* is ``None``, the temporary directory is created using :func:" "`tempfile.mkdtemp`. If *quiet* is ``False``, the context manager raises an " @@ -1562,33 +1710,35 @@ msgid "" "created, only a warning is issued." msgstr "" -#: ../../library/test.rst:1455 +#: ../../library/test.rst:1490 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:1460 +#: ../../library/test.rst:1495 msgid "" -"Call :func:`os.unlink` on *filename*. On Windows platforms, this is wrapped " -"with a wait loop that checks for the existence fo the file." +"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:1465 +#: ../../library/test.rst:1501 msgid ":mod:`test.support.import_helper` --- Utilities for import tests" msgstr "" -#: ../../library/test.rst:1470 +#: ../../library/test.rst:1506 msgid "" "The :mod:`test.support.import_helper` module provides support for import " "tests." msgstr "" -#: ../../library/test.rst:1477 +#: ../../library/test.rst:1513 msgid "" "Remove the module named *module_name* from ``sys.modules`` and delete any " "byte-compiled files of the module." msgstr "" -#: ../../library/test.rst:1483 +#: ../../library/test.rst:1519 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 " @@ -1596,46 +1746,46 @@ msgid "" "operation." msgstr "" -#: ../../library/test.rst:1488 +#: ../../library/test.rst:1524 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:1491 +#: ../../library/test.rst:1527 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:1495 +#: ../../library/test.rst:1531 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:1499 +#: ../../library/test.rst:1535 msgid "" "Module and package deprecation messages are suppressed during this import if " "*deprecated* is ``True``." msgstr "" -#: ../../library/test.rst:1502 +#: ../../library/test.rst:1538 msgid "" "This function will raise :exc:`ImportError` if the named module cannot be " "imported." msgstr "" -#: ../../library/test.rst:1519 +#: ../../library/test.rst:1555 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:1523 +#: ../../library/test.rst:1559 msgid "" "Module and package deprecation messages are suppressed during this import if " "*deprecated* is ``True``. If a module is required on a platform but " @@ -1643,21 +1793,21 @@ msgid "" "which will be compared against :data:`sys.platform`." msgstr "" -#: ../../library/test.rst:1533 +#: ../../library/test.rst:1569 msgid "Return a copy of :data:`sys.modules`." -msgstr "" +msgstr "Retorna a cópia de :data:`sys.modules`." -#: ../../library/test.rst:1538 +#: ../../library/test.rst:1574 msgid "" "Remove modules except for *oldmodules* and ``encodings`` in order to " "preserve internal cache." msgstr "" -#: ../../library/test.rst:1544 +#: ../../library/test.rst:1580 msgid "Delete *name* from ``sys.modules``." -msgstr "" +msgstr "Exclui o *name* de ``sys.modules``." -#: ../../library/test.rst:1549 +#: ../../library/test.rst:1585 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 " @@ -1665,49 +1815,57 @@ msgid "" "3147/488 pyc file must exist." msgstr "" -#: ../../library/test.rst:1557 +#: ../../library/test.rst:1593 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 " -"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:1567 -msgid "A context manager to temporarily add directories to sys.path." +#: ../../library/test.rst:1603 +msgid "A context manager to temporarily add directories to :data:`sys.path`." msgstr "" -#: ../../library/test.rst:1569 +#: ../../library/test.rst:1605 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:1573 +#: ../../library/test.rst:1609 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:1579 +#: ../../library/test.rst:1615 msgid ":mod:`test.support.warnings_helper` --- Utilities for warnings tests" msgstr "" -#: ../../library/test.rst:1584 +#: ../../library/test.rst:1620 msgid "" "The :mod:`test.support.warnings_helper` module provides support for warnings " "tests." msgstr "" -#: ../../library/test.rst:1591 +#: ../../library/test.rst:1627 +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::" +msgstr "" + +#: ../../library/test.rst:1642 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:1598 +#: ../../library/test.rst:1649 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 " @@ -1719,7 +1877,7 @@ msgid "" "``None``, compares to the offset of the exception." msgstr "" -#: ../../library/test.rst:1612 +#: ../../library/test.rst:1663 msgid "" "A convenience wrapper for :func:`warnings.catch_warnings()` that makes it " "easier to test that a warning was correctly raised. It is approximately " @@ -1728,7 +1886,7 @@ msgid "" "automatically validate the results that are recorded." msgstr "" -#: ../../library/test.rst:1618 +#: ../../library/test.rst:1669 msgid "" "``check_warnings`` accepts 2-tuples of the form ``(\"message regexp\", " "WarningCategory)`` as positional arguments. If one or more *filters* are " @@ -1740,15 +1898,15 @@ msgid "" "*quiet* to ``True``." msgstr "" -#: ../../library/test.rst:1627 +#: ../../library/test.rst:1678 msgid "If no arguments are specified, it defaults to::" -msgstr "" +msgstr "Se nenhum argumento é especificado, o padrão é::" -#: ../../library/test.rst:1631 +#: ../../library/test.rst:1682 msgid "In this case all warnings are caught and no errors are raised." -msgstr "" +msgstr "Nesse caso, todos os avisos são capturados e nenhum erro é gerado." -#: ../../library/test.rst:1633 +#: ../../library/test.rst:1684 msgid "" "On entry to the context manager, a :class:`WarningRecorder` instance is " "returned. The underlying warnings list from :func:`~warnings.catch_warnings` " @@ -1760,39 +1918,43 @@ msgid "" "return ``None``." msgstr "" -#: ../../library/test.rst:1642 +#: ../../library/test.rst:1693 msgid "" "The recorder object also has a :meth:`reset` method, which clears the " "warnings list." msgstr "" -#: ../../library/test.rst:1645 +#: ../../library/test.rst:1696 msgid "The context manager is designed to be used like this::" -msgstr "" +msgstr "O gerenciador de contexto é desenhado para ser utilizado dessa forma::" -#: ../../library/test.rst:1652 +#: ../../library/test.rst:1703 msgid "" "In this case if either warning was not raised, or some other warning was " "raised, :func:`check_warnings` would raise an error." 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:1655 +#: ../../library/test.rst:1706 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:1669 +#: ../../library/test.rst:1720 msgid "" "Here all warnings will be caught, and the test code tests the captured " "warnings directly." msgstr "" +"Aqui todos os avisos serão capturados e o código de teste testa os avisos " +"diretamente capturados." -#: ../../library/test.rst:1672 +#: ../../library/test.rst:1723 msgid "New optional arguments *filters* and *quiet*." -msgstr "" +msgstr "Novos argumentos opcionais *filters* e *quiet*." -#: ../../library/test.rst:1678 +#: ../../library/test.rst:1729 msgid "" "Class used to record warnings for unit tests. See documentation of :func:" "`check_warnings` above for more details." diff --git a/library/text.po b/library/text.po index 1f23c94fb..bcfa52ad7 100644 --- a/library/text.po +++ b/library/text.po @@ -1,27 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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.10\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-06-29 12:56+0000\n" -"PO-Revision-Date: 2021-06-28 01:15+0000\n" -"Last-Translator: Raphael Mendonça, 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:58+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/text.rst:6 msgid "Text Processing Services" diff --git a/library/textwrap.po b/library/textwrap.po index 65f3193ae..68dcde701 100644 --- a/library/textwrap.po +++ b/library/textwrap.po @@ -1,28 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, Python Software 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.10\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-07-29 13:22+0000\n" -"PO-Revision-Date: 2021-06-28 01:15+0000\n" -"Last-Translator: i17obot , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2026-03-05 18:13+0000\n" +"PO-Revision-Date: 2025-09-22 15:58+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/textwrap.rst:2 msgid ":mod:`textwrap` --- Text wrapping and filling" @@ -40,43 +39,61 @@ msgid "" "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:26 +#: ../../library/textwrap.rst:27 msgid "" "Wraps the single paragraph in *text* (a string) so every line is at most " "*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:30 +#: ../../library/textwrap.rst:31 msgid "" "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:33 +#: ../../library/textwrap.rst:34 msgid "" "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:44 +#: ../../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:49 +#: ../../library/textwrap.rst:50 msgid "" "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:57 +#: ../../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:59 +#: ../../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. " @@ -84,7 +101,7 @@ msgid "" "plus the :attr:`placeholder` fit within :attr:`width`::" msgstr "" -#: ../../library/textwrap.rst:71 +#: ../../library/textwrap.rst:72 msgid "" "Optional keyword arguments correspond to the instance attributes of :class:" "`TextWrapper`, documented below. Note that the whitespace is collapsed " @@ -92,56 +109,75 @@ msgid "" "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:81 +#: ../../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:83 +#: ../../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:86 +#: ../../library/textwrap.rst:87 msgid "" "Note that tabs and spaces are both treated as whitespace, but they are not " "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:90 +#: ../../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:93 ../../library/textwrap.rst:114 +#: ../../library/textwrap.rst:94 ../../library/textwrap.rst:115 msgid "For example::" msgstr "Por exemplo::" -#: ../../library/textwrap.rst:107 +#: ../../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:109 +#: ../../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:111 +#: ../../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:120 +#: ../../library/textwrap.rst:121 msgid "" "The optional *predicate* argument can be used to control which lines are " "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:133 +#: ../../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 " @@ -149,83 +185,116 @@ msgid "" "`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:139 +#: ../../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." 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:145 +#: ../../library/textwrap.rst:146 msgid "" "The :class:`TextWrapper` constructor accepts a number of optional keyword " "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:151 +#: ../../library/textwrap.rst:152 msgid "is the same as ::" msgstr "é o mesmo que ::" -#: ../../library/textwrap.rst:156 +#: ../../library/textwrap.rst:157 msgid "" "You can re-use the same :class:`TextWrapper` object many times, and you can " "change any of its options through direct assignment to instance attributes " "between uses." msgstr "" -#: ../../library/textwrap.rst:160 +#: ../../library/textwrap.rst:161 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:166 +#: ../../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." 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:174 +#: ../../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*." msgstr "" -#: ../../library/textwrap.rst:180 +#: ../../library/textwrap.rst:181 msgid "" "(default: ``8``) If :attr:`expand_tabs` is true, then all tab characters in " "*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:189 +#: ../../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 " "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:197 +#: ../../library/textwrap.rst:198 msgid "" "If :attr:`expand_tabs` is false and :attr:`replace_whitespace` is true, each " "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:203 +#: ../../library/textwrap.rst:204 msgid "" "If :attr:`replace_whitespace` is false, newlines may appear in the middle of " "a line and cause strange output. For this reason, text should be split into " "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:211 +#: ../../library/textwrap.rst:212 msgid "" "(default: ``True``) If true, whitespace at the beginning and ending of every " "line (after wrapping but before indenting) is dropped. Whitespace at the " @@ -233,22 +302,33 @@ 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:220 +#: ../../library/textwrap.rst:221 msgid "" "(default: ``''``) String that will be prepended to the first line of wrapped " "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:227 +#: ../../library/textwrap.rst:228 msgid "" "(default: ``''``) String that will be prepended to all lines of wrapped " "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:234 +#: ../../library/textwrap.rst:235 msgid "" "(default: ``False``) If true, :class:`TextWrapper` attempts to detect " "sentence endings and ensure that sentences are always separated by exactly " @@ -260,23 +340,27 @@ msgid "" "unable to detect the difference between \"Dr.\" in ::" msgstr "" -#: ../../library/textwrap.rst:245 +#: ../../library/textwrap.rst:246 msgid "and \"Spot.\" in ::" msgstr "e \"Spot.\" em ::" -#: ../../library/textwrap.rst:249 +#: ../../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:251 +#: ../../library/textwrap.rst:252 msgid "" "Since the sentence detection algorithm relies on ``string.lowercase`` for " "the definition of \"lowercase letter\", and a convention of using two spaces " "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:259 +#: ../../library/textwrap.rst:260 msgid "" "(default: ``True``) If true, then words longer than :attr:`width` will be " "broken in order to ensure that no lines are longer than :attr:`width`. If " @@ -284,8 +368,13 @@ 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:268 +#: ../../library/textwrap.rst:269 msgid "" "(default: ``True``) If true, wrapping will occur preferably on whitespaces " "and right after hyphens in compound words, as it is customary in English. If " @@ -294,26 +383,39 @@ 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:278 +#: ../../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:288 +#: ../../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:294 +#: ../../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:299 +#: ../../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 " @@ -321,9 +423,16 @@ msgid "" "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:308 +#: ../../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." diff --git a/library/threading.po b/library/threading.po index 786eaf29b..33b012cc4 100644 --- a/library/threading.po +++ b/library/threading.po @@ -1,34 +1,28 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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 -# Sheila Gomes , 2021 -# Claudio Rogerio Carvalho Filho , 2021 -# Octavio von Sydow , 2021 -# Vinicius Gubiani Ferreira , 2021 -# Fabio Aragao , 2021 -# i17obot , 2021 -# Caio Fauza, 2021 -# Rafael Fontenelle , 2021 +# python-doc bot, 2025 +# Gustavo Reis, 2025 # #, 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:15+0000\n" -"Last-Translator: Rafael Fontenelle , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-10-29 17:34+0000\n" +"PO-Revision-Date: 2025-09-22 15:58+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=2; plural=(n > 1);\n" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/threading.rst:2 msgid ":mod:`threading` --- Thread-based parallelism" @@ -41,11 +35,10 @@ msgstr "**Código-fonte:** :source:`Lib/threading.py`" #: ../../library/threading.rst:11 msgid "" "This module constructs higher-level threading interfaces on top of the lower " -"level :mod:`_thread` module. See also the :mod:`queue` module." +"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. Veja também o módulo :mod:" -"`queue`." +"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." @@ -53,12 +46,32 @@ msgstr "Este módulo costumava ser opcional, agora está sempre disponível." #: ../../library/threading.rst:19 msgid "" +":class:`concurrent.futures.ThreadPoolExecutor` offers a higher level " +"interface to push tasks to a background thread without blocking execution of " +"the calling thread, while still being able to retrieve their results when " +"needed." +msgstr "" + +#: ../../library/threading.rst:23 +msgid "" +":mod:`queue` provides a thread-safe interface for exchanging data between " +"running threads." +msgstr "" + +#: ../../library/threading.rst:26 +msgid "" +":mod:`asyncio` offers an alternative approach to achieving task level " +"concurrency without requiring the use of multiple operating system threads." +msgstr "" + +#: ../../library/threading.rst:31 +msgid "" "In the Python 2.x series, this module contained ``camelCase`` names for some " "methods and functions. These are deprecated as of Python 3.10, but they are " "still supported for compatibility with Python 2.5 and lower." msgstr "" -#: ../../library/threading.rst:26 +#: ../../library/threading.rst:38 msgid "" "In CPython, due to the :term:`Global Interpreter Lock `, only one thread can execute Python code at once (even though certain " @@ -69,11 +82,11 @@ msgid "" "appropriate model if you want to run multiple I/O-bound tasks simultaneously." msgstr "" -#: ../../library/threading.rst:37 +#: ../../library/threading.rst:49 msgid "This module defines the following functions:" msgstr "Este módulo define as seguintes funções:" -#: ../../library/threading.rst:42 +#: ../../library/threading.rst:54 msgid "" "Return the number of :class:`Thread` objects currently alive. The returned " "count is equal to the length of the list returned by :func:`.enumerate`." @@ -81,11 +94,11 @@ msgstr "" "Retorna o número de objetos :class:`Thread` atualmente ativos. A quantidade " "retornada é igual ao tamanho da lista retornada por :func:`.enumerate`." -#: ../../library/threading.rst:45 +#: ../../library/threading.rst:57 msgid "The function ``activeCount`` is a deprecated alias for this function." msgstr "" -#: ../../library/threading.rst:50 +#: ../../library/threading.rst:62 msgid "" "Return the current :class:`Thread` object, corresponding to the caller's " "thread of control. If the caller's thread of control was not created " @@ -97,35 +110,35 @@ msgstr "" "através do módulo :mod:`threading`, um objeto thread vazio, com " "funcionalidade limitada, é retornado." -#: ../../library/threading.rst:55 +#: ../../library/threading.rst:67 msgid "The function ``currentThread`` is a deprecated alias for this function." msgstr "" -#: ../../library/threading.rst:60 +#: ../../library/threading.rst:72 msgid "Handle uncaught exception raised by :func:`Thread.run`." msgstr " Lidar com exceção não capturada, levantada por :func:`Thread.run`." -#: ../../library/threading.rst:62 +#: ../../library/threading.rst:74 msgid "The *args* argument has the following attributes:" msgstr "O argumento *args* tem os seguintes atributos:" -#: ../../library/threading.rst:64 +#: ../../library/threading.rst:76 msgid "*exc_type*: Exception type." msgstr "*exc_type*: Tipo de exceção.." -#: ../../library/threading.rst:65 +#: ../../library/threading.rst:77 msgid "*exc_value*: Exception value, can be ``None``." msgstr "*exc_value*: Valor da exceção, pode ser ``None``." -#: ../../library/threading.rst:66 +#: ../../library/threading.rst:78 msgid "*exc_traceback*: Exception traceback, can be ``None``." msgstr "*exc_traceback*: Pilha de execução da exceção, pode ser ``None``." -#: ../../library/threading.rst:67 +#: ../../library/threading.rst:79 msgid "*thread*: Thread which raised the exception, can be ``None``." msgstr "*thread*: Thread que levantou a exceção, pode ser ``None``." -#: ../../library/threading.rst:69 +#: ../../library/threading.rst:81 msgid "" "If *exc_type* is :exc:`SystemExit`, the exception is silently ignored. " "Otherwise, the exception is printed out on :data:`sys.stderr`." @@ -133,7 +146,7 @@ msgstr "" "Se *exc_type* é :exc:`SystemExit`, a exceção é silenciosamente ignorada. " "Caso contrário, a exceção é exibida em :data:`sys.stderr`." -#: ../../library/threading.rst:72 +#: ../../library/threading.rst:84 msgid "" "If this function raises an exception, :func:`sys.excepthook` is called to " "handle it." @@ -141,7 +154,7 @@ msgstr "" "Se esta função levantar uma exceção, :func:`sys.excepthook` é chamada para " "tratá-la." -#: ../../library/threading.rst:75 +#: ../../library/threading.rst:87 msgid "" ":func:`threading.excepthook` can be overridden to control how uncaught " "exceptions raised by :func:`Thread.run` are handled." @@ -149,32 +162,32 @@ msgstr "" ":func:`threading.excepthook` pode ser substituída para controlar como " "exceções não capturadas levantadas por :func:`Thread.run` são tratadas." -#: ../../library/threading.rst:78 +#: ../../library/threading.rst:90 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/threading.rst:82 +#: ../../library/threading.rst:94 msgid "" "Storing *thread* using a custom hook can resurrect it if it is set to an " "object which is being finalized. Avoid storing *thread* after the custom " "hook completes to avoid resurrecting objects." msgstr "" -#: ../../library/threading.rst:87 +#: ../../library/threading.rst:99 msgid ":func:`sys.excepthook` handles uncaught exceptions." msgstr ":func:`sys.excepthook` trata exceções não capturadas." -#: ../../library/threading.rst:93 +#: ../../library/threading.rst:105 msgid "" "Holds the original value of :func:`threading.excepthook`. It is saved so " "that the original value can be restored in case they happen to get replaced " "with broken or alternative objects." msgstr "" -#: ../../library/threading.rst:101 +#: ../../library/threading.rst:113 msgid "" "Return the 'thread identifier' of the current thread. This is a nonzero " "integer. Its value has no direct meaning; it is intended as a magic cookie " @@ -188,7 +201,7 @@ msgstr "" "dicionário de dados específicos do thread. identificadores de thread podem " "ser reciclados quando um thread sai e outro é criado." -#: ../../library/threading.rst:112 +#: ../../library/threading.rst:124 msgid "" "Return the native integral Thread ID of the current thread assigned by the " "kernel. This is a non-negative integer. Its value may be used to uniquely " @@ -201,7 +214,7 @@ msgstr "" "a thread termine, após o que o valor poderá ser reciclado pelo sistema " "operacional)." -#: ../../library/threading.rst:118 +#: ../../library/threading.rst:130 msgid "" ":ref:`Availability `: Windows, FreeBSD, Linux, macOS, OpenBSD, " "NetBSD, AIX." @@ -209,7 +222,7 @@ msgstr "" ":ref:`Disponibilidade `: Windows, FreeBSD, Linux, macOS, " "OpenBSD, NetBSD, AIX." -#: ../../library/threading.rst:124 +#: ../../library/threading.rst:136 msgid "" "Return a list of all :class:`Thread` objects currently active. The list " "includes daemonic threads and dummy thread objects created by :func:" @@ -218,35 +231,36 @@ msgid "" "even when terminated." msgstr "" -#: ../../library/threading.rst:133 +#: ../../library/threading.rst:145 msgid "" "Return the main :class:`Thread` object. In normal conditions, the main " "thread is the thread from which the Python interpreter was started." msgstr "" -#: ../../library/threading.rst:144 +#: ../../library/threading.rst:156 msgid "" "Set a trace function for all threads started from the :mod:`threading` " "module. The *func* will be passed to :func:`sys.settrace` for each thread, " "before its :meth:`~Thread.run` method is called." msgstr "" -#: ../../library/threading.rst:155 +#: ../../library/threading.rst:167 msgid "Get the trace function as set by :func:`settrace`." -msgstr "" +msgstr "Obtém a função trace conforme definido por :func:`settrace`." -#: ../../library/threading.rst:164 +#: ../../library/threading.rst:176 msgid "" "Set a profile function for all threads started from the :mod:`threading` " "module. The *func* will be passed to :func:`sys.setprofile` for each " "thread, before its :meth:`~Thread.run` method is called." msgstr "" -#: ../../library/threading.rst:173 +#: ../../library/threading.rst:185 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/threading.rst:180 +#: ../../library/threading.rst:192 msgid "" "Return the thread stack size used when creating new threads. The optional " "*size* argument specifies the stack size to be used for subsequently created " @@ -281,17 +295,17 @@ msgstr "" "múltiplos de 4096 para o tamanho da pilha é a abordagem sugerida na ausência " "de informações mais específicas)." -#: ../../library/threading.rst:195 +#: ../../library/threading.rst:207 msgid "" ":ref:`Availability `: Windows, systems with POSIX threads." msgstr "" ":ref:`Disponibilidade `: Windows, sistemas com threads POSIX." -#: ../../library/threading.rst:198 +#: ../../library/threading.rst:210 msgid "This module also defines the following constant:" msgstr "" -#: ../../library/threading.rst:202 +#: ../../library/threading.rst:214 msgid "" "The maximum value allowed for the *timeout* parameter of blocking functions " "(:meth:`Lock.acquire`, :meth:`RLock.acquire`, :meth:`Condition.wait`, etc.). " @@ -299,13 +313,13 @@ msgid "" "`OverflowError`." msgstr "" -#: ../../library/threading.rst:210 +#: ../../library/threading.rst:222 msgid "" "This module defines a number of classes, which are detailed in the sections " "below." msgstr "" -#: ../../library/threading.rst:213 +#: ../../library/threading.rst:225 msgid "" "The design of this module is loosely based on Java's threading model. " "However, where Java makes locks and condition variables basic behavior of " @@ -316,40 +330,40 @@ msgid "" "Thread class, when implemented, are mapped to module-level functions." msgstr "" -#: ../../library/threading.rst:221 +#: ../../library/threading.rst:233 msgid "All of the methods described below are executed atomically." msgstr "" -#: ../../library/threading.rst:225 +#: ../../library/threading.rst:237 msgid "Thread-Local Data" msgstr "" -#: ../../library/threading.rst:227 +#: ../../library/threading.rst:239 msgid "" "Thread-local data is data whose values are thread specific. To manage " "thread-local data, just create an instance of :class:`local` (or a subclass) " "and store attributes on it::" msgstr "" -#: ../../library/threading.rst:234 +#: ../../library/threading.rst:246 msgid "The instance's values will be different for separate threads." msgstr "" -#: ../../library/threading.rst:239 +#: ../../library/threading.rst:251 msgid "A class that represents thread-local data." msgstr "" -#: ../../library/threading.rst:241 +#: ../../library/threading.rst:253 msgid "" "For more details and extensive examples, see the documentation string of " "the :mod:`_threading_local` module." msgstr "" -#: ../../library/threading.rst:248 +#: ../../library/threading.rst:260 msgid "Thread Objects" msgstr "" -#: ../../library/threading.rst:250 +#: ../../library/threading.rst:262 msgid "" "The :class:`Thread` class represents an activity that is run in a separate " "thread of control. There are two ways to specify the activity: by passing a " @@ -359,14 +373,14 @@ msgid "" "`~Thread.__init__` and :meth:`~Thread.run` methods of this class." msgstr "" -#: ../../library/threading.rst:257 +#: ../../library/threading.rst:269 msgid "" "Once a thread object is created, its activity must be started by calling the " "thread's :meth:`~Thread.start` method. This invokes the :meth:`~Thread.run` " "method in a separate thread of control." msgstr "" -#: ../../library/threading.rst:261 +#: ../../library/threading.rst:273 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 " @@ -374,27 +388,27 @@ msgid "" "is_alive` method tests whether the thread is alive." msgstr "" -#: ../../library/threading.rst:266 +#: ../../library/threading.rst:278 msgid "" "Other threads can call a thread's :meth:`~Thread.join` method. This blocks " "the calling thread until the thread whose :meth:`~Thread.join` method is " "called is terminated." msgstr "" -#: ../../library/threading.rst:270 +#: ../../library/threading.rst:282 msgid "" "A thread has a name. The name can be passed to the constructor, and read or " "changed through the :attr:`~Thread.name` attribute." msgstr "" -#: ../../library/threading.rst:273 +#: ../../library/threading.rst:285 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`." msgstr "" -#: ../../library/threading.rst:277 +#: ../../library/threading.rst:289 msgid "" "A thread can be flagged as a \"daemon thread\". The significance of this " "flag is that the entire Python program exits when only daemon threads are " @@ -403,7 +417,7 @@ msgid "" "constructor argument." msgstr "" -#: ../../library/threading.rst:284 +#: ../../library/threading.rst:296 msgid "" "Daemon threads are abruptly stopped at shutdown. Their resources (such as " "open files, database transactions, etc.) may not be released properly. If " @@ -411,13 +425,13 @@ msgid "" "suitable signalling mechanism such as an :class:`Event`." msgstr "" -#: ../../library/threading.rst:289 +#: ../../library/threading.rst:301 msgid "" "There is a \"main thread\" object; this corresponds to the initial thread of " "control in the Python program. It is not a daemon thread." msgstr "" -#: ../../library/threading.rst:292 +#: ../../library/threading.rst:304 msgid "" "There is the possibility that \"dummy thread objects\" are created. These " "are thread objects corresponding to \"alien threads\", which are threads of " @@ -427,25 +441,25 @@ msgid "" "deleted, since it is impossible to detect the termination of alien threads." msgstr "" -#: ../../library/threading.rst:303 +#: ../../library/threading.rst:315 msgid "" "This constructor should always be called with keyword arguments. Arguments " "are:" msgstr "" -#: ../../library/threading.rst:306 +#: ../../library/threading.rst:318 msgid "" "*group* should be ``None``; reserved for future extension when a :class:" "`ThreadGroup` class is implemented." msgstr "" -#: ../../library/threading.rst:309 +#: ../../library/threading.rst:321 msgid "" "*target* is the callable object to be invoked by the :meth:`run` method. " "Defaults to ``None``, meaning nothing is called." msgstr "" -#: ../../library/threading.rst:312 +#: ../../library/threading.rst:324 msgid "" "*name* is the thread name. By default, a unique name is constructed of the " "form \"Thread-*N*\" where *N* is a small decimal number, or \"Thread-*N* " @@ -453,61 +467,61 @@ msgid "" "is specified." msgstr "" -#: ../../library/threading.rst:317 +#: ../../library/threading.rst:329 msgid "" "*args* is the argument tuple for the target invocation. Defaults to ``()``." msgstr "" -#: ../../library/threading.rst:319 +#: ../../library/threading.rst:331 msgid "" "*kwargs* is a dictionary of keyword arguments for the target invocation. " "Defaults to ``{}``." msgstr "" -#: ../../library/threading.rst:322 +#: ../../library/threading.rst:334 msgid "" "If not ``None``, *daemon* explicitly sets whether the thread is daemonic. If " "``None`` (the default), the daemonic property is inherited from the current " "thread." msgstr "" -#: ../../library/threading.rst:326 +#: ../../library/threading.rst:338 msgid "" "If the subclass overrides the constructor, it must make sure to invoke the " "base class constructor (``Thread.__init__()``) before doing anything else to " "the thread." msgstr "" -#: ../../library/threading.rst:330 +#: ../../library/threading.rst:342 msgid "Use the *target* name if *name* argument is omitted." msgstr "" -#: ../../library/threading.rst:333 +#: ../../library/threading.rst:345 msgid "Added the *daemon* argument." msgstr "Adicionado o argumento *daemon*." -#: ../../library/threading.rst:338 +#: ../../library/threading.rst:350 msgid "Start the thread's activity." msgstr "" -#: ../../library/threading.rst:340 +#: ../../library/threading.rst:352 msgid "" "It must be called at most once per thread object. It arranges for the " "object's :meth:`~Thread.run` method to be invoked in a separate thread of " "control." msgstr "" -#: ../../library/threading.rst:344 +#: ../../library/threading.rst:356 msgid "" "This method will raise a :exc:`RuntimeError` if called more than once on the " "same thread object." msgstr "" -#: ../../library/threading.rst:349 +#: ../../library/threading.rst:361 msgid "Method representing the thread's activity." msgstr "" -#: ../../library/threading.rst:351 +#: ../../library/threading.rst:363 msgid "" "You may override this method in a subclass. The standard :meth:`run` method " "invokes the callable object passed to the object's constructor as the " @@ -515,7 +529,7 @@ msgid "" "the *args* and *kwargs* arguments, respectively." msgstr "" -#: ../../library/threading.rst:358 +#: ../../library/threading.rst:370 msgid "" "Wait until the thread terminates. This blocks the calling thread until the " "thread whose :meth:`~Thread.join` method is called terminates -- either " @@ -523,7 +537,7 @@ msgid "" "occurs." msgstr "" -#: ../../library/threading.rst:363 +#: ../../library/threading.rst:375 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 " @@ -533,17 +547,17 @@ msgid "" "`~Thread.join` call timed out." msgstr "" -#: ../../library/threading.rst:370 +#: ../../library/threading.rst:382 msgid "" "When the *timeout* argument is not present or ``None``, the operation will " "block until the thread terminates." msgstr "" -#: ../../library/threading.rst:373 +#: ../../library/threading.rst:385 msgid "A thread can be :meth:`~Thread.join`\\ ed many times." msgstr "" -#: ../../library/threading.rst:375 +#: ../../library/threading.rst:387 msgid "" ":meth:`~Thread.join` raises a :exc:`RuntimeError` if an attempt is made to " "join the current thread as that would cause a deadlock. It is also an error " @@ -551,20 +565,20 @@ msgid "" "do so raise the same exception." msgstr "" -#: ../../library/threading.rst:382 +#: ../../library/threading.rst:394 msgid "" "A string used for identification purposes only. It has no semantics. " "Multiple threads may be given the same name. The initial name is set by the " "constructor." msgstr "" -#: ../../library/threading.rst:389 +#: ../../library/threading.rst:401 msgid "" "Deprecated getter/setter API for :attr:`~Thread.name`; use it directly as a " "property instead." msgstr "" -#: ../../library/threading.rst:396 +#: ../../library/threading.rst:408 msgid "" "The 'thread identifier' of this thread or ``None`` if the thread has not " "been started. This is a nonzero integer. See the :func:`get_ident` " @@ -573,7 +587,7 @@ msgid "" "thread has exited." msgstr "" -#: ../../library/threading.rst:404 +#: ../../library/threading.rst:416 msgid "" "The Thread ID (``TID``) of this thread, as assigned by the OS (kernel). This " "is a non-negative integer, or ``None`` if the thread has not been started. " @@ -582,55 +596,55 @@ msgid "" "after which the value may be recycled by the OS)." msgstr "" -#: ../../library/threading.rst:413 +#: ../../library/threading.rst:425 msgid "" "Similar to Process IDs, Thread IDs are only valid (guaranteed unique system-" "wide) from the time the thread is created until the thread has been " "terminated." msgstr "" -#: ../../library/threading.rst:418 +#: ../../library/threading.rst:430 msgid "" ":ref:`Availability `: Requires :func:`get_native_id` function." msgstr "" -#: ../../library/threading.rst:423 +#: ../../library/threading.rst:435 msgid "Return whether the thread is alive." msgstr "" -#: ../../library/threading.rst:425 +#: ../../library/threading.rst:437 msgid "" "This method returns ``True`` just before the :meth:`~Thread.run` method " "starts until just after the :meth:`~Thread.run` method terminates. The " "module function :func:`.enumerate` returns a list of all alive threads." msgstr "" -#: ../../library/threading.rst:431 +#: ../../library/threading.rst:443 msgid "" -"A boolean value indicating whether this thread is a daemon thread (True) 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``." +"A boolean value indicating whether this thread is a daemon thread (``True``) " +"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``." msgstr "" -#: ../../library/threading.rst:438 +#: ../../library/threading.rst:450 msgid "" "The entire Python program exits when no alive non-daemon threads are left." msgstr "" -#: ../../library/threading.rst:443 +#: ../../library/threading.rst:455 msgid "" "Deprecated getter/setter API for :attr:`~Thread.daemon`; use it directly as " "a property instead." msgstr "" -#: ../../library/threading.rst:452 +#: ../../library/threading.rst:464 msgid "Lock Objects" msgstr "" -#: ../../library/threading.rst:454 +#: ../../library/threading.rst:466 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 " @@ -638,7 +652,7 @@ msgid "" "`_thread` extension module." msgstr "" -#: ../../library/threading.rst:459 +#: ../../library/threading.rst:471 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." @@ -652,11 +666,11 @@ msgid "" "an unlocked lock, a :exc:`RuntimeError` will be raised." msgstr "" -#: ../../library/threading.rst:470 +#: ../../library/threading.rst:482 msgid "Locks also support the :ref:`context management protocol `." msgstr "" -#: ../../library/threading.rst:472 +#: ../../library/threading.rst:484 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." @@ -664,97 +678,97 @@ msgid "" "proceeds is not defined, and may vary across implementations." msgstr "" -#: ../../library/threading.rst:477 +#: ../../library/threading.rst:489 msgid "All methods are executed atomically." msgstr "" -#: ../../library/threading.rst:482 +#: ../../library/threading.rst:494 msgid "" "The class implementing primitive lock objects. Once a thread has acquired a " "lock, subsequent attempts to acquire it block, until it is released; any " "thread may release it." msgstr "" -#: ../../library/threading.rst:486 +#: ../../library/threading.rst:498 msgid "" "Note that ``Lock`` is actually a factory function which returns an instance " "of the most efficient version of the concrete Lock class that is supported " "by the platform." msgstr "" -#: ../../library/threading.rst:493 ../../library/threading.rst:573 +#: ../../library/threading.rst:505 ../../library/threading.rst:585 msgid "Acquire a lock, blocking or non-blocking." -msgstr "" +msgstr "Adquire uma trava, bloqueante ou não." -#: ../../library/threading.rst:495 +#: ../../library/threading.rst:507 msgid "" "When invoked with the *blocking* argument set to ``True`` (the default), " "block until the lock is unlocked, then set it to locked and return ``True``." msgstr "" -#: ../../library/threading.rst:498 +#: ../../library/threading.rst:510 msgid "" "When invoked with the *blocking* argument set to ``False``, do not block. If " "a call with *blocking* set to ``True`` would block, return ``False`` " "immediately; otherwise, set the lock to locked and return ``True``." msgstr "" -#: ../../library/threading.rst:502 +#: ../../library/threading.rst:514 msgid "" "When invoked with the floating-point *timeout* argument set to a positive " "value, block for at most the number of seconds specified by *timeout* and as " "long as the lock cannot be acquired. A *timeout* argument of ``-1`` " "specifies an unbounded wait. It is forbidden to specify a *timeout* when " -"*blocking* is false." +"*blocking* is ``False``." msgstr "" -#: ../../library/threading.rst:508 +#: ../../library/threading.rst:520 msgid "" "The return value is ``True`` if the lock is acquired successfully, ``False`` " "if not (for example if the *timeout* expired)." msgstr "" -#: ../../library/threading.rst:511 ../../library/threading.rst:595 -#: ../../library/threading.rst:842 +#: ../../library/threading.rst:523 ../../library/threading.rst:607 +#: ../../library/threading.rst:854 msgid "The *timeout* parameter is new." msgstr "O parâmetro *timeout* é novo." -#: ../../library/threading.rst:514 +#: ../../library/threading.rst:526 msgid "" "Lock acquisition can now be interrupted by signals on POSIX if the " "underlying threading implementation supports it." msgstr "" -#: ../../library/threading.rst:521 +#: ../../library/threading.rst:533 msgid "" "Release a lock. This can be called from any thread, not only the thread " "which has acquired the lock." msgstr "" -#: ../../library/threading.rst:524 +#: ../../library/threading.rst:536 msgid "" "When the lock is locked, reset it to unlocked, and return. If any other " "threads are blocked waiting for the lock to become unlocked, allow exactly " "one of them to proceed." msgstr "" -#: ../../library/threading.rst:528 +#: ../../library/threading.rst:540 msgid "When invoked on an unlocked lock, a :exc:`RuntimeError` is raised." msgstr "" -#: ../../library/threading.rst:530 ../../library/threading.rst:611 +#: ../../library/threading.rst:542 ../../library/threading.rst:623 msgid "There is no return value." msgstr "" -#: ../../library/threading.rst:534 -msgid "Return true if the lock is acquired." +#: ../../library/threading.rst:546 +msgid "Return ``True`` if the lock is acquired." msgstr "" -#: ../../library/threading.rst:541 +#: ../../library/threading.rst:553 msgid "RLock Objects" msgstr "Objetos RLock" -#: ../../library/threading.rst:543 +#: ../../library/threading.rst:555 msgid "" "A reentrant lock is a synchronization primitive that may be acquired " "multiple times by the same thread. Internally, it uses the concepts of " @@ -763,7 +777,7 @@ msgid "" "lock; in the unlocked state, no thread owns it." msgstr "" -#: ../../library/threading.rst:549 +#: ../../library/threading.rst:561 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 " @@ -774,13 +788,13 @@ msgid "" "proceed." msgstr "" -#: ../../library/threading.rst:556 +#: ../../library/threading.rst:568 msgid "" "Reentrant locks also support the :ref:`context management protocol `." msgstr "" -#: ../../library/threading.rst:561 +#: ../../library/threading.rst:573 msgid "" "This class implements reentrant lock objects. A reentrant lock must be " "released by the thread that acquired it. Once a thread has acquired a " @@ -788,14 +802,14 @@ msgid "" "thread must release it once for each time it has acquired it." msgstr "" -#: ../../library/threading.rst:566 +#: ../../library/threading.rst:578 msgid "" "Note that ``RLock`` is actually a factory function which returns an instance " "of the most efficient version of the concrete RLock class that is supported " "by the platform." msgstr "" -#: ../../library/threading.rst:575 +#: ../../library/threading.rst:587 msgid "" "When invoked without arguments: if this thread already owns the lock, " "increment the recursion level by one, and return immediately. Otherwise, if " @@ -806,29 +820,29 @@ msgid "" "ownership of the lock. There is no return value in this case." msgstr "" -#: ../../library/threading.rst:583 +#: ../../library/threading.rst:595 msgid "" -"When invoked with the *blocking* argument set to true, do the same thing as " -"when called without arguments, and return ``True``." +"When invoked with the *blocking* argument set to ``True``, do the same thing " +"as when called without arguments, and return ``True``." msgstr "" -#: ../../library/threading.rst:586 +#: ../../library/threading.rst:598 msgid "" -"When invoked with the *blocking* argument set to false, do not block. If a " -"call without an argument would block, return ``False`` immediately; " +"When invoked with the *blocking* argument set to ``False``, do not block. " +"If a call without an argument would block, return ``False`` immediately; " "otherwise, do the same thing as when called without arguments, and return " "``True``." msgstr "" -#: ../../library/threading.rst:590 +#: ../../library/threading.rst:602 msgid "" "When invoked with the floating-point *timeout* argument set to a positive " "value, block for at most the number of seconds specified by *timeout* and as " "long as the lock cannot be acquired. Return ``True`` if the lock has been " -"acquired, false if the timeout has elapsed." +"acquired, ``False`` if the timeout has elapsed." msgstr "" -#: ../../library/threading.rst:601 +#: ../../library/threading.rst:613 msgid "" "Release a lock, decrementing the recursion level. If after the decrement it " "is zero, reset the lock to unlocked (not owned by any thread), and if any " @@ -837,17 +851,17 @@ msgid "" "is still nonzero, the lock remains locked and owned by the calling thread." msgstr "" -#: ../../library/threading.rst:607 +#: ../../library/threading.rst:619 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." msgstr "" -#: ../../library/threading.rst:617 +#: ../../library/threading.rst:629 msgid "Condition Objects" msgstr "" -#: ../../library/threading.rst:619 +#: ../../library/threading.rst:631 msgid "" "A condition variable is always associated with some kind of lock; this can " "be passed in or one will be created by default. Passing one in is useful " @@ -855,7 +869,7 @@ msgid "" "of the condition object: you don't have to track it separately." msgstr "" -#: ../../library/threading.rst:624 +#: ../../library/threading.rst:636 msgid "" "A condition variable obeys the :ref:`context management protocol `: using the ``with`` statement acquires the associated lock for the " @@ -864,7 +878,7 @@ msgid "" "associated lock." msgstr "" -#: ../../library/threading.rst:630 +#: ../../library/threading.rst:642 msgid "" "Other methods must be called with the associated lock held. The :meth:" "`~Condition.wait` method releases the lock, and then blocks until another " @@ -873,14 +887,14 @@ msgid "" "and returns. It is also possible to specify a timeout." msgstr "" -#: ../../library/threading.rst:636 +#: ../../library/threading.rst:648 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." msgstr "" -#: ../../library/threading.rst:640 +#: ../../library/threading.rst:652 msgid "" "Note: the :meth:`~Condition.notify` and :meth:`~Condition.notify_all` " "methods don't release the lock; this means that the thread or threads " @@ -889,7 +903,7 @@ msgid "" "or :meth:`~Condition.notify_all` finally relinquishes ownership of the lock." msgstr "" -#: ../../library/threading.rst:646 +#: ../../library/threading.rst:658 msgid "" "The typical programming style using condition variables uses the lock to " "synchronize access to some shared state; threads that are interested in a " @@ -901,7 +915,7 @@ msgid "" "situation with unlimited buffer capacity::" msgstr "" -#: ../../library/threading.rst:666 +#: ../../library/threading.rst:678 msgid "" "The ``while`` loop checking for the application's condition is necessary " "because :meth:`~Condition.wait` can return after an arbitrary long time, and " @@ -911,7 +925,7 @@ msgid "" "checking, and eases the computation of timeouts::" msgstr "" -#: ../../library/threading.rst:678 +#: ../../library/threading.rst:690 msgid "" "To choose between :meth:`~Condition.notify` and :meth:`~Condition." "notify_all`, consider whether one state change can be interesting for only " @@ -920,45 +934,45 @@ msgid "" "thread." msgstr "" -#: ../../library/threading.rst:686 +#: ../../library/threading.rst:698 msgid "" "This class implements condition variable objects. A condition variable " "allows one or more threads to wait until they are notified by another thread." msgstr "" -#: ../../library/threading.rst:689 +#: ../../library/threading.rst:701 msgid "" "If the *lock* argument is given and not ``None``, it must be a :class:`Lock` " "or :class:`RLock` object, and it is used as the underlying lock. Otherwise, " "a new :class:`RLock` object is created and used as the underlying lock." msgstr "" -#: ../../library/threading.rst:693 ../../library/threading.rst:817 -#: ../../library/threading.rst:863 ../../library/threading.rst:915 -#: ../../library/threading.rst:986 +#: ../../library/threading.rst:705 ../../library/threading.rst:829 +#: ../../library/threading.rst:875 ../../library/threading.rst:927 +#: ../../library/threading.rst:998 msgid "changed from a factory function to a class." msgstr "" -#: ../../library/threading.rst:698 +#: ../../library/threading.rst:710 msgid "" "Acquire the underlying lock. This method calls the corresponding method on " "the underlying lock; the return value is whatever that method returns." msgstr "" -#: ../../library/threading.rst:703 +#: ../../library/threading.rst:715 msgid "" "Release the underlying lock. This method calls the corresponding method on " "the underlying lock; there is no return value." msgstr "" -#: ../../library/threading.rst:708 +#: ../../library/threading.rst:720 msgid "" "Wait until notified or until a timeout occurs. If the calling thread has not " "acquired the lock when this method is called, a :exc:`RuntimeError` is " "raised." msgstr "" -#: ../../library/threading.rst:712 +#: ../../library/threading.rst:724 msgid "" "This method releases the underlying lock, and then blocks until it is " "awakened by a :meth:`notify` or :meth:`notify_all` call for the same " @@ -966,14 +980,14 @@ msgid "" "Once awakened or timed out, it re-acquires the lock and returns." msgstr "" -#: ../../library/threading.rst:717 +#: ../../library/threading.rst:729 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)." msgstr "" -#: ../../library/threading.rst:721 +#: ../../library/threading.rst:733 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 " @@ -983,24 +997,26 @@ msgid "" "used to restore the recursion level when the lock is reacquired." msgstr "" -#: ../../library/threading.rst:729 +#: ../../library/threading.rst:741 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:732 ../../library/threading.rst:951 +#: ../../library/threading.rst:744 ../../library/threading.rst:963 msgid "Previously, the method always returned ``None``." msgstr "" -#: ../../library/threading.rst:737 +#: ../../library/threading.rst:749 msgid "" "Wait until a condition evaluates to true. *predicate* should be a callable " "which result will be interpreted as a boolean value. A *timeout* may be " "provided giving the maximum time to wait." msgstr "" -#: ../../library/threading.rst:741 +#: ../../library/threading.rst:753 msgid "" "This utility method may call :meth:`wait` repeatedly until the predicate is " "satisfied, or until a timeout occurs. The return value is the last return " @@ -1008,33 +1024,33 @@ msgid "" "out." msgstr "" -#: ../../library/threading.rst:746 +#: ../../library/threading.rst:758 msgid "" "Ignoring the timeout feature, calling this method is roughly equivalent to " "writing::" msgstr "" -#: ../../library/threading.rst:752 +#: ../../library/threading.rst:764 msgid "" "Therefore, the same rules apply as with :meth:`wait`: The lock must be held " "when called and is re-acquired on return. The predicate is evaluated with " "the lock held." msgstr "" -#: ../../library/threading.rst:760 +#: ../../library/threading.rst:772 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." msgstr "" -#: ../../library/threading.rst:764 +#: ../../library/threading.rst:776 msgid "" "This method wakes up at most *n* of the threads waiting for the condition " "variable; it is a no-op if no threads are waiting." msgstr "" -#: ../../library/threading.rst:767 +#: ../../library/threading.rst:779 msgid "" "The current implementation wakes up exactly *n* threads, if at least *n* " "threads are waiting. However, it's not safe to rely on this behavior. A " @@ -1042,14 +1058,14 @@ msgid "" "threads." msgstr "" -#: ../../library/threading.rst:772 +#: ../../library/threading.rst:784 msgid "" "Note: an awakened thread does not actually return from its :meth:`wait` call " "until it can reacquire the lock. Since :meth:`notify` does not release the " "lock, its caller should." msgstr "" -#: ../../library/threading.rst:778 +#: ../../library/threading.rst:790 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 " @@ -1057,15 +1073,15 @@ msgid "" "`RuntimeError` is raised." msgstr "" -#: ../../library/threading.rst:783 +#: ../../library/threading.rst:795 msgid "The method ``notifyAll`` is a deprecated alias for this method." msgstr "" -#: ../../library/threading.rst:789 +#: ../../library/threading.rst:801 msgid "Semaphore Objects" msgstr "" -#: ../../library/threading.rst:791 +#: ../../library/threading.rst:803 msgid "" "This is one of the oldest synchronization primitives in the history of " "computer science, invented by the early Dutch computer scientist Edsger W. " @@ -1073,7 +1089,7 @@ msgid "" "acquire` and :meth:`~Semaphore.release`)." msgstr "" -#: ../../library/threading.rst:796 +#: ../../library/threading.rst:808 msgid "" "A semaphore manages an internal counter which is decremented by each :meth:" "`~Semaphore.acquire` call and incremented by each :meth:`~Semaphore.release` " @@ -1082,12 +1098,12 @@ msgid "" "meth:`~Semaphore.release`." msgstr "" -#: ../../library/threading.rst:802 +#: ../../library/threading.rst:814 msgid "" "Semaphores also support the :ref:`context management protocol `." msgstr "" -#: ../../library/threading.rst:807 +#: ../../library/threading.rst:819 msgid "" "This class implements semaphore objects. A semaphore manages an atomic " "counter representing the number of :meth:`release` calls minus the number " @@ -1096,28 +1112,28 @@ msgid "" "If not given, *value* defaults to 1." msgstr "" -#: ../../library/threading.rst:813 +#: ../../library/threading.rst:825 msgid "" "The optional argument gives the initial *value* for the internal counter; it " "defaults to ``1``. If the *value* given is less than 0, :exc:`ValueError` is " "raised." msgstr "" -#: ../../library/threading.rst:822 +#: ../../library/threading.rst:834 msgid "Acquire a semaphore." msgstr "" -#: ../../library/threading.rst:824 +#: ../../library/threading.rst:836 msgid "When invoked without arguments:" msgstr "" -#: ../../library/threading.rst:826 +#: ../../library/threading.rst:838 msgid "" "If the internal counter is larger than zero on entry, decrement it by one " "and return ``True`` immediately." msgstr "" -#: ../../library/threading.rst:828 +#: ../../library/threading.rst:840 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), " @@ -1126,32 +1142,32 @@ msgid "" "threads are awoken should not be relied on." msgstr "" -#: ../../library/threading.rst:834 +#: ../../library/threading.rst:846 msgid "" -"When invoked with *blocking* set to false, do not block. If a call without " -"an argument would block, return ``False`` immediately; otherwise, do the " -"same thing as when called without arguments, and return ``True``." +"When invoked with *blocking* set to ``False``, do not block. If a call " +"without an argument would block, return ``False`` immediately; otherwise, do " +"the same thing as when called without arguments, and return ``True``." msgstr "" -#: ../../library/threading.rst:838 +#: ../../library/threading.rst:850 msgid "" "When invoked with a *timeout* other than ``None``, it will block for at most " "*timeout* seconds. If acquire does not complete successfully in that " "interval, return ``False``. Return ``True`` otherwise." msgstr "" -#: ../../library/threading.rst:847 +#: ../../library/threading.rst:859 msgid "" "Release a semaphore, incrementing the internal counter by *n*. When it was " "zero on entry and other threads are waiting for it to become larger than " "zero again, wake up *n* of those threads." msgstr "" -#: ../../library/threading.rst:851 +#: ../../library/threading.rst:863 msgid "Added the *n* parameter to release multiple waiting threads at once." msgstr "" -#: ../../library/threading.rst:857 +#: ../../library/threading.rst:869 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, :" @@ -1160,11 +1176,11 @@ msgid "" "times it's a sign of a bug. If not given, *value* defaults to 1." msgstr "" -#: ../../library/threading.rst:870 +#: ../../library/threading.rst:882 msgid ":class:`Semaphore` Example" msgstr "Exemplo :class:`Semaphore`" -#: ../../library/threading.rst:872 +#: ../../library/threading.rst:884 msgid "" "Semaphores are often used to guard resources with limited capacity, for " "example, a database server. In any situation where the size of the resource " @@ -1172,37 +1188,37 @@ msgid "" "threads, your main thread would initialize the semaphore::" msgstr "" -#: ../../library/threading.rst:881 +#: ../../library/threading.rst:893 msgid "" "Once spawned, worker threads call the semaphore's acquire and release " "methods when they need to connect to the server::" msgstr "" -#: ../../library/threading.rst:891 +#: ../../library/threading.rst:903 msgid "" "The use of a bounded semaphore reduces the chance that a programming error " "which causes the semaphore to be released more than it's acquired will go " "undetected." msgstr "" -#: ../../library/threading.rst:898 +#: ../../library/threading.rst:910 msgid "Event Objects" msgstr "" -#: ../../library/threading.rst:900 +#: ../../library/threading.rst:912 msgid "" "This is one of the simplest mechanisms for communication between threads: " "one thread signals an event and other threads wait for it." msgstr "" -#: ../../library/threading.rst:903 +#: ../../library/threading.rst:915 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." msgstr "" -#: ../../library/threading.rst:910 +#: ../../library/threading.rst:922 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:" @@ -1210,43 +1226,43 @@ msgid "" "flag is initially false." msgstr "" -#: ../../library/threading.rst:920 +#: ../../library/threading.rst:932 msgid "Return ``True`` if and only if the internal flag is true." msgstr "" -#: ../../library/threading.rst:922 +#: ../../library/threading.rst:934 msgid "The method ``isSet`` is a deprecated alias for this method." msgstr "" -#: ../../library/threading.rst:926 +#: ../../library/threading.rst:938 msgid "" "Set the internal flag to true. All threads waiting for it to become true are " "awakened. Threads that call :meth:`wait` once the flag is true will not " "block at all." msgstr "" -#: ../../library/threading.rst:932 +#: ../../library/threading.rst:944 msgid "" "Reset the internal flag to false. Subsequently, threads calling :meth:`wait` " "will block until :meth:`.set` is called to set the internal flag to true " "again." msgstr "" -#: ../../library/threading.rst:938 +#: ../../library/threading.rst:950 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." msgstr "" -#: ../../library/threading.rst:942 +#: ../../library/threading.rst:954 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)." msgstr "" -#: ../../library/threading.rst:946 +#: ../../library/threading.rst:958 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 " @@ -1254,11 +1270,11 @@ msgid "" "out." msgstr "" -#: ../../library/threading.rst:958 +#: ../../library/threading.rst:970 msgid "Timer Objects" msgstr "Objetos Timer" -#: ../../library/threading.rst:960 +#: ../../library/threading.rst:972 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 :" @@ -1266,7 +1282,7 @@ msgid "" "threads." msgstr "" -#: ../../library/threading.rst:964 +#: ../../library/threading.rst:976 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 " @@ -1275,11 +1291,11 @@ msgid "" "by the user." msgstr "" -#: ../../library/threading.rst:970 +#: ../../library/threading.rst:982 msgid "For example::" msgstr "Por exemplo::" -#: ../../library/threading.rst:981 +#: ../../library/threading.rst:993 msgid "" "Create a timer that will run *function* with arguments *args* and keyword " "arguments *kwargs*, after *interval* seconds have passed. If *args* is " @@ -1287,17 +1303,17 @@ msgid "" "``None`` (the default) then an empty dict will be used." msgstr "" -#: ../../library/threading.rst:991 +#: ../../library/threading.rst:1003 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:996 +#: ../../library/threading.rst:1008 msgid "Barrier Objects" msgstr "" -#: ../../library/threading.rst:1000 +#: ../../library/threading.rst:1012 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 " @@ -1306,18 +1322,18 @@ msgid "" "calls. At this point, the threads are released simultaneously." msgstr "" -#: ../../library/threading.rst:1006 +#: ../../library/threading.rst:1018 msgid "" "The barrier can be reused any number of times for the same number of threads." msgstr "" -#: ../../library/threading.rst:1008 +#: ../../library/threading.rst:1020 msgid "" "As an example, here is a simple way to synchronize a client and server " "thread::" msgstr "" -#: ../../library/threading.rst:1028 +#: ../../library/threading.rst:1040 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 " @@ -1325,7 +1341,7 @@ msgid "" "the :meth:`wait` method." msgstr "" -#: ../../library/threading.rst:1035 +#: ../../library/threading.rst:1047 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 " @@ -1333,44 +1349,44 @@ msgid "" "constructor." msgstr "" -#: ../../library/threading.rst:1040 +#: ../../library/threading.rst:1052 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:1049 +#: ../../library/threading.rst:1061 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:1053 +#: ../../library/threading.rst:1065 msgid "If the call times out, the barrier is put into the broken state." msgstr "" -#: ../../library/threading.rst:1055 +#: ../../library/threading.rst:1067 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:1060 +#: ../../library/threading.rst:1072 msgid "" "Return the barrier to the default, empty state. Any threads waiting on it " "will receive the :class:`BrokenBarrierError` exception." msgstr "" -#: ../../library/threading.rst:1063 +#: ../../library/threading.rst:1075 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:1069 +#: ../../library/threading.rst:1081 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 " @@ -1378,36 +1394,36 @@ msgid "" "application." msgstr "" -#: ../../library/threading.rst:1074 +#: ../../library/threading.rst:1086 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:1080 +#: ../../library/threading.rst:1092 msgid "The number of threads required to pass the barrier." msgstr "" -#: ../../library/threading.rst:1084 +#: ../../library/threading.rst:1096 msgid "The number of threads currently waiting in the barrier." msgstr "" -#: ../../library/threading.rst:1088 +#: ../../library/threading.rst:1100 msgid "A boolean that is ``True`` if the barrier is in the broken state." msgstr "" -#: ../../library/threading.rst:1093 +#: ../../library/threading.rst:1105 msgid "" "This exception, a subclass of :exc:`RuntimeError`, is raised when the :class:" "`Barrier` object is reset or broken." msgstr "" -#: ../../library/threading.rst:1100 +#: ../../library/threading.rst:1112 msgid "" "Using locks, conditions, and semaphores in the :keyword:`!with` statement" msgstr "" -#: ../../library/threading.rst:1102 +#: ../../library/threading.rst:1114 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` " @@ -1416,11 +1432,11 @@ msgid "" "Hence, the following snippet::" msgstr "" -#: ../../library/threading.rst:1111 +#: ../../library/threading.rst:1123 msgid "is equivalent to::" msgstr "é equivalente a::" -#: ../../library/threading.rst:1119 +#: ../../library/threading.rst:1131 msgid "" "Currently, :class:`Lock`, :class:`RLock`, :class:`Condition`, :class:" "`Semaphore`, and :class:`BoundedSemaphore` objects may be used as :keyword:" diff --git a/library/time.po b/library/time.po index e03ef7290..085d9c7b4 100644 --- a/library/time.po +++ b/library/time.po @@ -1,37 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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 -# Misael borges , 2021 -# Danielle Farias , 2021 -# Vinicius Gubiani Ferreira , 2021 -# i17obot , 2021 -# Rafael Fontenelle , 2021 -# Marco Rougeth , 2021 -# mvpetri , 2021 -# Claudio Rogerio Carvalho Filho , 2021 -# (Douglas da Silva) , 2021 -# Rodrigo Queiroz , 2021 -# Vitor Buxbaum Orlandi, 2021 +# python-doc bot, 2025 # #, 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:15+0000\n" -"Last-Translator: Vitor Buxbaum Orlandi, 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:58+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/time.rst:2 msgid ":mod:`time` --- Time access and conversions" @@ -317,9 +307,9 @@ msgstr "" #: ../../library/time.rst:160 ../../library/time.rst:173 #: ../../library/time.rst:182 ../../library/time.rst:195 -#: ../../library/time.rst:204 ../../library/time.rst:658 -#: ../../library/time.rst:775 ../../library/time.rst:794 -#: ../../library/time.rst:822 ../../library/time.rst:857 +#: ../../library/time.rst:204 ../../library/time.rst:664 +#: ../../library/time.rst:781 ../../library/time.rst:800 +#: ../../library/time.rst:828 ../../library/time.rst:863 msgid ":ref:`Availability `: Unix." msgstr ":ref:`Disponibilidade `: Unix." @@ -420,7 +410,7 @@ msgstr "``'time'``: :func:`time.time`" #: ../../library/time.rst:233 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 msgid "" @@ -477,7 +467,21 @@ 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:265 +#: ../../library/time.rst:262 +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 " +"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." + +#: ../../library/time.rst:271 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 " @@ -500,7 +504,7 @@ msgstr "" "A data mais recente para qual um tempo pode ser gerado é dependente da " "plataforma." -#: ../../library/time.rst:277 +#: ../../library/time.rst:283 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 " @@ -513,7 +517,7 @@ msgstr "" "retornado é indefinido, portanto apenas a diferença entre os resultados de " "duas chamadas é válida." -#: ../../library/time.rst:282 +#: ../../library/time.rst:288 msgid "" "Use :func:`monotonic_ns` to avoid the precision loss caused by the :class:" "`float` type." @@ -521,19 +525,19 @@ msgstr "" "Use :func:`monotonic_ns` para evitar perda de precisão causada pelo tipo :" "class:`float`." -#: ../../library/time.rst:287 +#: ../../library/time.rst:293 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:290 +#: ../../library/time.rst:296 msgid "On macOS, the function is now system-wide." msgstr "No macOS, a função agora é no âmbito do sistema." -#: ../../library/time.rst:296 +#: ../../library/time.rst:302 msgid "Similar to :func:`monotonic`, but return time as nanoseconds." msgstr "Semelhante à :func:`monotonic`, mas retorna tempo em nanossegundos." -#: ../../library/time.rst:305 +#: ../../library/time.rst:311 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 " @@ -543,11 +547,11 @@ 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:311 +#: ../../library/time.rst:317 msgid "" "Use :func:`perf_counter_ns` to avoid the precision loss caused by the :class:" "`float` type." @@ -555,16 +559,16 @@ msgstr "" "Use :func:`perf_counter_ns` para evitar perda de precisão causada pelo tipo :" "class:`float`." -#: ../../library/time.rst:316 +#: ../../library/time.rst:322 msgid "On Windows, the function is now system-wide." msgstr "No Windows, a função agora é no âmbito do sistema." -#: ../../library/time.rst:321 +#: ../../library/time.rst:327 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:333 +#: ../../library/time.rst:339 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 " @@ -573,12 +577,12 @@ 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:339 +#: ../../library/time.rst:345 msgid "" "Use :func:`process_time_ns` to avoid the precision loss caused by the :class:" "`float` type." @@ -586,12 +590,12 @@ msgstr "" "Use :func:`process_time_ns` para evitar perda de precisão causada pelo tipo :" "class:`float`." -#: ../../library/time.rst:346 +#: ../../library/time.rst:352 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:352 +#: ../../library/time.rst:358 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 " @@ -609,17 +613,17 @@ msgstr "" "de suspensão pode ser maior do que o solicitado por uma quantidade " "arbitrária devido ao agendamento de outra atividade no sistema." -#: ../../library/time.rst:360 +#: ../../library/time.rst:366 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 " +"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:371 +#: ../../library/time.rst:377 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* " @@ -631,10 +635,10 @@ msgstr "" "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:377 +#: ../../library/time.rst:383 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." @@ -642,7 +646,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:380 +#: ../../library/time.rst:386 msgid "" "The following directives can be embedded in the *format* string. They are " "shown without the optional field width and precision specification, and are " @@ -653,135 +657,135 @@ msgstr "" "opcionais, e estão substituídos pelos caracteres indicados no resultado da :" "func:`strftime`:" -#: ../../library/time.rst:385 +#: ../../library/time.rst:391 msgid "Directive" msgstr "Diretiva" -#: ../../library/time.rst:385 +#: ../../library/time.rst:391 msgid "Meaning" msgstr "Significado" -#: ../../library/time.rst:385 +#: ../../library/time.rst:391 msgid "Notes" msgstr "Notas" -#: ../../library/time.rst:387 +#: ../../library/time.rst:393 msgid "``%a``" msgstr "``%a``" -#: ../../library/time.rst:387 +#: ../../library/time.rst:393 msgid "Locale's abbreviated weekday name." msgstr "Nome abreviado do dia da semana da localidade." -#: ../../library/time.rst:390 +#: ../../library/time.rst:396 msgid "``%A``" msgstr "``%A``" -#: ../../library/time.rst:390 +#: ../../library/time.rst:396 msgid "Locale's full weekday name." msgstr "Nome completo do dia da semana da localidade." -#: ../../library/time.rst:392 +#: ../../library/time.rst:398 msgid "``%b``" msgstr "``%b``" -#: ../../library/time.rst:392 +#: ../../library/time.rst:398 msgid "Locale's abbreviated month name." msgstr "Nome abreviado do mês da localidade." -#: ../../library/time.rst:395 +#: ../../library/time.rst:401 msgid "``%B``" msgstr "``%B``" -#: ../../library/time.rst:395 +#: ../../library/time.rst:401 msgid "Locale's full month name." msgstr "Nome completo do mês da localidade." -#: ../../library/time.rst:397 +#: ../../library/time.rst:403 msgid "``%c``" msgstr "``%c``" -#: ../../library/time.rst:397 +#: ../../library/time.rst:403 msgid "Locale's appropriate date and time representation." msgstr "Representação de data e hora apropriada da localidade." -#: ../../library/time.rst:400 +#: ../../library/time.rst:406 msgid "``%d``" msgstr "``%d``" -#: ../../library/time.rst:400 +#: ../../library/time.rst:406 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:403 +#: ../../library/time.rst:409 msgid "``%H``" msgstr "``%H``" -#: ../../library/time.rst:403 +#: ../../library/time.rst:409 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:406 +#: ../../library/time.rst:412 msgid "``%I``" msgstr "``%I``" -#: ../../library/time.rst:406 +#: ../../library/time.rst:412 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:409 +#: ../../library/time.rst:415 msgid "``%j``" msgstr "``%j``" -#: ../../library/time.rst:409 +#: ../../library/time.rst:415 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:412 +#: ../../library/time.rst:418 msgid "``%m``" msgstr "``%m``" -#: ../../library/time.rst:412 +#: ../../library/time.rst:418 msgid "Month as a decimal number [01,12]." msgstr "Mês como um número decimal [01,12]." -#: ../../library/time.rst:415 +#: ../../library/time.rst:421 msgid "``%M``" msgstr "``%M``" -#: ../../library/time.rst:415 +#: ../../library/time.rst:421 msgid "Minute as a decimal number [00,59]." msgstr "Minuto como um número decimal [00,59]." -#: ../../library/time.rst:418 +#: ../../library/time.rst:424 msgid "``%p``" msgstr "``%p``" -#: ../../library/time.rst:418 +#: ../../library/time.rst:424 msgid "Locale's equivalent of either AM or PM." msgstr "Equivalente da localidade a AM ou PM." -#: ../../library/time.rst:418 +#: ../../library/time.rst:424 msgid "\\(1)" msgstr "\\(1)" -#: ../../library/time.rst:421 +#: ../../library/time.rst:427 msgid "``%S``" msgstr "``%S``" -#: ../../library/time.rst:421 +#: ../../library/time.rst:427 msgid "Second as a decimal number [00,61]." msgstr "Segundo como um número decimal [00,61]." -#: ../../library/time.rst:421 +#: ../../library/time.rst:427 msgid "\\(2)" msgstr "\\(2)" -#: ../../library/time.rst:424 +#: ../../library/time.rst:430 msgid "``%U``" msgstr "``%U``" -#: ../../library/time.rst:424 +#: ../../library/time.rst:430 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 " @@ -791,23 +795,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:424 ../../library/time.rst:435 +#: ../../library/time.rst:430 ../../library/time.rst:441 msgid "\\(3)" msgstr "\\(3)" -#: ../../library/time.rst:432 +#: ../../library/time.rst:438 msgid "``%w``" msgstr "``%w``" -#: ../../library/time.rst:432 +#: ../../library/time.rst:438 msgid "Weekday as a decimal number [0(Sunday),6]." msgstr "Dia da semana como um número decimal [0(Domingo),6]" -#: ../../library/time.rst:435 +#: ../../library/time.rst:441 msgid "``%W``" msgstr "``%W``" -#: ../../library/time.rst:435 +#: ../../library/time.rst:441 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 " @@ -817,74 +821,76 @@ 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:443 +#: ../../library/time.rst:449 msgid "``%x``" msgstr "``%x``" -#: ../../library/time.rst:443 +#: ../../library/time.rst:449 msgid "Locale's appropriate date representation." msgstr "Representação de data apropriada de localidade." -#: ../../library/time.rst:446 +#: ../../library/time.rst:452 msgid "``%X``" msgstr "``%X``" -#: ../../library/time.rst:446 +#: ../../library/time.rst:452 msgid "Locale's appropriate time representation." msgstr "Representação de hora apropriada da localidade." -#: ../../library/time.rst:449 +#: ../../library/time.rst:455 msgid "``%y``" msgstr "``%y``" -#: ../../library/time.rst:449 +#: ../../library/time.rst:455 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:452 +#: ../../library/time.rst:458 msgid "``%Y``" msgstr "``%Y``" -#: ../../library/time.rst:452 +#: ../../library/time.rst:458 msgid "Year with century as a decimal number." msgstr "Ano com século como um número decimal." -#: ../../library/time.rst:455 +#: ../../library/time.rst:461 msgid "``%z``" msgstr "``%z``" -#: ../../library/time.rst:455 +#: ../../library/time.rst:461 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 " -"represents decimal minute digits [-23:59, +23:59]." +"represents decimal minute digits [-23:59, +23:59]. [1]_" msgstr "" "Deslocamento de fuso horário indicando uma diferença de tempo positiva ou " "negativa de UTC/GMT formatado como +HHMM ou -HHMM, onde H representa os " "dígitos decimais de hora e M representa os dígitos decimais de minuto " -"[-23:59, +23:59]." +"[-23:59, +23:59]. [1]_" -#: ../../library/time.rst:461 +#: ../../library/time.rst:467 msgid "``%Z``" msgstr "``%Z``" -#: ../../library/time.rst:461 -msgid "Time zone name (no characters if no time zone exists)." -msgstr "Nome do fuso horário (nenhum caractere se nenhum fuso horário existe)." +#: ../../library/time.rst:467 +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:464 +#: ../../library/time.rst:470 msgid "``%%``" msgstr "``%%``" -#: ../../library/time.rst:464 +#: ../../library/time.rst:470 msgid "A literal ``'%'`` character." msgstr "Um caractere literal ``'%'``." -#: ../../library/time.rst:467 +#: ../../library/time.rst:473 msgid "Notes:" msgstr "Notas:" -#: ../../library/time.rst:470 +#: ../../library/time.rst:476 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 " @@ -893,17 +899,17 @@ 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:474 +#: ../../library/time.rst:480 msgid "" "The range really is ``0`` to ``61``; value ``60`` is valid in timestamps " "representing `leap seconds`_ and value ``61`` is supported for historical " "reasons." msgstr "" "O intervalo é realmente ``0`` até ``61``; o valor ``60`` é válido em " -"timestamps representando `segundos bissextos`_ e o valor ``61`` é suportado " -"por razões históricas." +"registros de data e hora representando `segundos bissextos`_ e o valor " +"``61`` é suportado por razões históricas." -#: ../../library/time.rst:479 +#: ../../library/time.rst:485 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." @@ -911,15 +917,15 @@ 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:482 +#: ../../library/time.rst:488 msgid "" "Here is an example, a format for dates compatible with that specified in " -"the :rfc:`2822` Internet email standard. [#]_ ::" +"the :rfc:`2822` Internet email standard. [1]_ ::" msgstr "" "Veja este exemplo, um formato para datas compatível com as especificações " -"dos padrões de e-mail :rfc:`2822`. [#]_ ::" +"dos padrões de e-mail :rfc:`2822`. [1]_ ::" -#: ../../library/time.rst:489 +#: ../../library/time.rst:495 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 " @@ -931,19 +937,19 @@ msgstr "" "a lista completa de códigos de formato suportados na sua plataforma, " "consulte a documentação :manpage:`strftime(3)`." -#: ../../library/time.rst:494 +#: ../../library/time.rst:500 msgid "" "On some platforms, an optional field width and precision specification can " "immediately follow the initial ``'%'`` of a directive in the following " -"order; this is also not portable. The field width is normally 2 except for ``" -"%j`` where it is 3." +"order; this is also not portable. The field width is normally 2 except for " +"``%j`` where it is 3." msgstr "" "Em algumas plataformas, um campo adicional de comprimento e especificação de " "precisão podem seguir imediatamente após ``'%'`` como uma diretiva da " "seguinte ordem; isto também não é portátil. O campo comprimento normalmente " "é 2 exceto para ``%j`` quando é 3." -#: ../../library/time.rst:505 +#: ../../library/time.rst:511 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`." @@ -952,7 +958,7 @@ msgstr "" "retornado é um :class:`struct_time` como retornado por :func:`gmtime` ou :" "func:`localtime`." -#: ../../library/time.rst:509 +#: ../../library/time.rst:515 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 " @@ -971,11 +977,11 @@ msgstr "" "puderem ser inferidos são ``(1900, 1, 1, 0, 0, 0, 0, 1, -1)``. Ambos " "*string* e *format* devem ser strings." -#: ../../library/time.rst:517 +#: ../../library/time.rst:523 msgid "For example:" msgstr "Por exemplo:" -#: ../../library/time.rst:524 +#: ../../library/time.rst:530 msgid "" "Support for the ``%Z`` directive is based on the values contained in " "``tzname`` and whether ``daylight`` is true. Because of this, it is " @@ -987,7 +993,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:529 +#: ../../library/time.rst:535 msgid "" "Only the directives specified in the documentation are supported. Because " "``strftime()`` is implemented per platform it can sometimes offer more " @@ -1001,7 +1007,7 @@ 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:538 +#: ../../library/time.rst:544 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 " @@ -1013,147 +1019,147 @@ msgstr "" "tuple`: os valores podem ser acessados por um índice e por um nome de " "atributo. Os seguintes valores estão presentes:" -#: ../../library/time.rst:544 +#: ../../library/time.rst:550 msgid "Index" msgstr "Índice" -#: ../../library/time.rst:544 +#: ../../library/time.rst:550 msgid "Attribute" msgstr "Atributo" -#: ../../library/time.rst:544 +#: ../../library/time.rst:550 msgid "Values" msgstr "Valores" -#: ../../library/time.rst:546 +#: ../../library/time.rst:552 msgid "0" msgstr "0" -#: ../../library/time.rst:546 +#: ../../library/time.rst:552 msgid ":attr:`tm_year`" msgstr ":attr:`tm_year`" -#: ../../library/time.rst:546 +#: ../../library/time.rst:552 msgid "(for example, 1993)" msgstr "(por exemplo, 1993)" -#: ../../library/time.rst:548 +#: ../../library/time.rst:554 msgid "1" msgstr "1" -#: ../../library/time.rst:548 +#: ../../library/time.rst:554 msgid ":attr:`tm_mon`" msgstr ":attr:`tm_mon`" -#: ../../library/time.rst:548 +#: ../../library/time.rst:554 msgid "range [1, 12]" msgstr "intervalo [1,12]" -#: ../../library/time.rst:550 +#: ../../library/time.rst:556 msgid "2" msgstr "2" -#: ../../library/time.rst:550 +#: ../../library/time.rst:556 msgid ":attr:`tm_mday`" msgstr ":attr:`tm_mday`" -#: ../../library/time.rst:550 +#: ../../library/time.rst:556 msgid "range [1, 31]" msgstr "intervalo [1,31]" -#: ../../library/time.rst:552 +#: ../../library/time.rst:558 msgid "3" msgstr "3" -#: ../../library/time.rst:552 +#: ../../library/time.rst:558 msgid ":attr:`tm_hour`" msgstr ":attr:`tm_hour`" -#: ../../library/time.rst:552 +#: ../../library/time.rst:558 msgid "range [0, 23]" msgstr "intervalo [0,23]" -#: ../../library/time.rst:554 +#: ../../library/time.rst:560 msgid "4" msgstr "4" -#: ../../library/time.rst:554 +#: ../../library/time.rst:560 msgid ":attr:`tm_min`" msgstr ":attr:`tm_min`" -#: ../../library/time.rst:554 +#: ../../library/time.rst:560 msgid "range [0, 59]" msgstr "intervalo [0,59]" -#: ../../library/time.rst:556 +#: ../../library/time.rst:562 msgid "5" msgstr "5" -#: ../../library/time.rst:556 +#: ../../library/time.rst:562 msgid ":attr:`tm_sec`" msgstr ":attr:`tm_sec`" -#: ../../library/time.rst:556 +#: ../../library/time.rst:562 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:559 +#: ../../library/time.rst:565 msgid "6" msgstr "6" -#: ../../library/time.rst:559 +#: ../../library/time.rst:565 msgid ":attr:`tm_wday`" msgstr ":attr:`tm_wday`" -#: ../../library/time.rst:559 +#: ../../library/time.rst:565 msgid "range [0, 6], Monday is 0" msgstr "intervalo [0,6], segunda-feira é 0" -#: ../../library/time.rst:561 +#: ../../library/time.rst:567 msgid "7" msgstr "7" -#: ../../library/time.rst:561 +#: ../../library/time.rst:567 msgid ":attr:`tm_yday`" msgstr ":attr:`tm_yday`" -#: ../../library/time.rst:561 +#: ../../library/time.rst:567 msgid "range [1, 366]" msgstr "intervalo [1, 366]" -#: ../../library/time.rst:563 +#: ../../library/time.rst:569 msgid "8" msgstr "8" -#: ../../library/time.rst:563 +#: ../../library/time.rst:569 msgid ":attr:`tm_isdst`" msgstr ":attr:`tm_isdst`" -#: ../../library/time.rst:563 +#: ../../library/time.rst:569 msgid "0, 1 or -1; see below" msgstr "0, 1 ou -1; veja abaixo" -#: ../../library/time.rst:565 ../../library/time.rst:567 +#: ../../library/time.rst:571 ../../library/time.rst:573 msgid "N/A" msgstr "N/D" -#: ../../library/time.rst:565 +#: ../../library/time.rst:571 msgid ":attr:`tm_zone`" msgstr ":attr:`tm_zone`" -#: ../../library/time.rst:565 +#: ../../library/time.rst:571 msgid "abbreviation of timezone name" msgstr "abreviação do nome do fuso horário" -#: ../../library/time.rst:567 +#: ../../library/time.rst:573 msgid ":attr:`tm_gmtoff`" msgstr ":attr:`tm_gmtoff`" -#: ../../library/time.rst:567 +#: ../../library/time.rst:573 msgid "offset east of UTC in seconds" msgstr "deslocamento a leste de UTC em segundos" -#: ../../library/time.rst:570 +#: ../../library/time.rst:576 msgid "" "Note that unlike the C structure, the month value is a range of [1, 12], not " "[0, 11]." @@ -1161,7 +1167,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:573 +#: ../../library/time.rst:579 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 " @@ -1173,7 +1179,7 @@ msgstr "" "indica que esta informação não é conhecida, e geralmente resultará no " "preenchimento do estado correto." -#: ../../library/time.rst:577 +#: ../../library/time.rst:583 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:" @@ -1183,7 +1189,7 @@ msgstr "" "espera por um :class:`struct_time`, ou por possuir elementos do tipo errado, " "um :exc:`TypeError` é levantado." -#: ../../library/time.rst:583 +#: ../../library/time.rst:589 msgid "" "Return the time in seconds since the epoch_ as a floating point number. The " "specific date of the epoch and the handling of `leap seconds`_ is platform " @@ -1198,7 +1204,7 @@ msgstr "" "dependentes da plataforma. Em Windows e na maioria dos sistemas Unix, a era " "é 1 de janeiro de 1970, 00:00:00 (UTC)" -#: ../../library/time.rst:593 +#: ../../library/time.rst:599 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. " @@ -1212,7 +1218,7 @@ 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:599 +#: ../../library/time.rst:605 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 :" @@ -1228,7 +1234,7 @@ msgstr "" "por onde os componentes de data do calendário podem ser acessados ou " "atribuídos." -#: ../../library/time.rst:606 +#: ../../library/time.rst:612 msgid "" "Use :func:`time_ns` to avoid the precision loss caused by the :class:`float` " "type." @@ -1236,15 +1242,15 @@ msgstr "" "Use :func:`time_ns` para evitar perda de precisão causada pelo tipo :class:" "`float`." -#: ../../library/time.rst:612 +#: ../../library/time.rst:618 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:625 +#: ../../library/time.rst:631 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 " @@ -1253,12 +1259,12 @@ 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:631 +#: ../../library/time.rst:637 msgid "" "Use :func:`thread_time_ns` to avoid the precision loss caused by the :class:" "`float` type." @@ -1266,7 +1272,7 @@ msgstr "" "Use :func:`thread_time_ns` para evitar perda de precisão causada pelo tipo :" "class:`float`." -#: ../../library/time.rst:636 +#: ../../library/time.rst:642 msgid "" ":ref:`Availability `: Windows, Linux, Unix systems supporting " "``CLOCK_THREAD_CPUTIME_ID``." @@ -1274,12 +1280,12 @@ msgstr "" ":ref:`Disponibilidade `: Windows, Linux, sistemas Unix systems " "suportando ``CLOCK_THREAD_CPUTIME_ID``." -#: ../../library/time.rst:642 +#: ../../library/time.rst:648 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:649 +#: ../../library/time.rst:655 msgid "" "Reset the time conversion rules used by the library routines. The " "environment variable :envvar:`TZ` specifies how this is done. It will also " @@ -1298,7 +1304,7 @@ msgstr "" "de zero se há um tempo, no presente, passado ou futuro quando o horário de " "verão se aplica)." -#: ../../library/time.rst:661 +#: ../../library/time.rst:667 msgid "" "Although in many cases, changing the :envvar:`TZ` environment variable may " "affect the output of functions like :func:`localtime` without calling :func:" @@ -1308,11 +1314,11 @@ msgstr "" "afetar a saída de funções como :func:`localtime` sem chamar :func:`tzset`, " "este comportamento não deve ser confiado." -#: ../../library/time.rst:665 +#: ../../library/time.rst:671 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:667 +#: ../../library/time.rst:673 msgid "" "The standard format of the :envvar:`TZ` environment variable is (whitespace " "added for clarity)::" @@ -1320,15 +1326,15 @@ msgstr "" "O formato padrão da variável de sistema :envvar:`TZ` é (espaços foram " "adicionados por motivos de clareza):" -#: ../../library/time.rst:672 +#: ../../library/time.rst:678 msgid "Where the components are:" msgstr "Onde os componentes são:" -#: ../../library/time.rst:676 +#: ../../library/time.rst:682 msgid "``std`` and ``dst``" msgstr "``std`` e ``dst``" -#: ../../library/time.rst:675 +#: ../../library/time.rst:681 msgid "" "Three or more alphanumerics giving the timezone abbreviations. These will be " "propagated into time.tzname" @@ -1336,11 +1342,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:682 +#: ../../library/time.rst:688 msgid "``offset``" msgstr "``offset``" -#: ../../library/time.rst:679 +#: ../../library/time.rst:685 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 " @@ -1351,13 +1357,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:704 +#: ../../library/time.rst:710 msgid "``start[/time], end[/time]``" msgstr "``start[/time], end[/time]``" -#: ../../library/time.rst:685 +#: ../../library/time.rst:691 msgid "" "Indicates when to change to and back from DST. The format of the start and " "end dates are one of the following:" @@ -1365,11 +1371,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:690 +#: ../../library/time.rst:696 msgid ":samp:`J{n}`" msgstr ":samp:`J{n}`" -#: ../../library/time.rst:689 +#: ../../library/time.rst:695 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." @@ -1377,11 +1383,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:694 +#: ../../library/time.rst:700 msgid ":samp:`{n}`" msgstr ":samp:`{n}`" -#: ../../library/time.rst:693 +#: ../../library/time.rst:699 msgid "" "The zero-based Julian day (0 <= *n* <= 365). Leap days are counted, and it " "is possible to refer to February 29." @@ -1389,15 +1395,15 @@ 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:701 +#: ../../library/time.rst:707 msgid ":samp:`M{m}.{n}.{d}`" msgstr ":samp:`M{m}.{n}.{d}`" -#: ../../library/time.rst:697 +#: ../../library/time.rst:703 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 *m*" -"\" which may occur in either the fourth or the fifth week). Week 1 is the " +"*n* <= 5, 1 <= *m* <= 12, where week 5 means \"the last *d* day in month " +"*m*\" which may occur in either the fourth or the fifth week). Week 1 is the " "first week in which the *d*'th day occurs. Day zero is a Sunday." msgstr "" "O *d*-ésimo dia (0 <= *d* <= 6) da semana *n* do mês *m* do ano (1 <= *n* <= " @@ -1405,7 +1411,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:703 +#: ../../library/time.rst:709 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." @@ -1413,7 +1419,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:717 +#: ../../library/time.rst:723 msgid "" "On many Unix systems (including \\*BSD, Linux, Solaris, and Darwin), it is " "more convenient to use the system's zoneinfo (:manpage:`tzfile(5)`) " @@ -1432,11 +1438,11 @@ msgstr "" "zoneinfo`. Por exemplo, ``'US/Eastern'``, ``'Australia/Melbourne'``, " "``'Egypt'`` ou ``'Europe/Amsterdam'``. ::" -#: ../../library/time.rst:738 +#: ../../library/time.rst:744 msgid "Clock ID Constants" msgstr "Constantes de ID de Relógio" -#: ../../library/time.rst:740 +#: ../../library/time.rst:746 msgid "" "These constants are used as parameters for :func:`clock_getres` and :func:" "`clock_gettime`." @@ -1444,7 +1450,7 @@ msgstr "" "Essas constantes são utilizadas como parâmetros para :func:`clock_getres` e :" "func:`clock_gettime`." -#: ../../library/time.rst:745 +#: ../../library/time.rst:751 msgid "" "Identical to :data:`CLOCK_MONOTONIC`, except it also includes any time that " "the system is suspended." @@ -1452,7 +1458,7 @@ msgstr "" "Idêntica a :data:`CLOCK_MONOTONIC`, exceto por também incluir qualquer tempo " "que o sistema está suspenso." -#: ../../library/time.rst:748 +#: ../../library/time.rst:754 msgid "" "This allows applications to get a suspend-aware monotonic clock without " "having to deal with the complications of :data:`CLOCK_REALTIME`, which may " @@ -1464,11 +1470,11 @@ msgstr "" "que pode conter descontinuidades se o tempo é alterado utilizando " "``settimeofday()`` ou algo semelhante." -#: ../../library/time.rst:754 +#: ../../library/time.rst:760 msgid ":ref:`Availability `: Linux 2.6.39 or later." msgstr ":ref:`Availability `: Linux 2.6.39 ou posterior." -#: ../../library/time.rst:760 +#: ../../library/time.rst:766 msgid "" "The Solaris OS has a ``CLOCK_HIGHRES`` timer that attempts to use an optimal " "hardware source, and may give close to nanosecond resolution. " @@ -1478,11 +1484,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:765 +#: ../../library/time.rst:771 msgid ":ref:`Availability `: Solaris." msgstr ":ref:`Disponibilidade `: Solaris." -#: ../../library/time.rst:771 +#: ../../library/time.rst:777 msgid "" "Clock that cannot be set and represents monotonic time since some " "unspecified starting point." @@ -1490,7 +1496,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:781 +#: ../../library/time.rst:787 msgid "" "Similar to :data:`CLOCK_MONOTONIC`, but provides access to a raw hardware-" "based time that is not subject to NTP adjustments." @@ -1498,7 +1504,7 @@ 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:785 +#: ../../library/time.rst:791 msgid "" ":ref:`Availability `: Linux 2.6.28 and newer, macOS 10.12 and " "newer." @@ -1506,18 +1512,18 @@ msgstr "" ":ref:`Disponibilidade `: Linux 2.6.28 ou mais recente, macOS " "10.12 ou mais recente." -#: ../../library/time.rst:791 ../../library/time.rst:800 +#: ../../library/time.rst:797 ../../library/time.rst:806 msgid "High-resolution per-process timer from the CPU." msgstr "Timer de alta resolução por processo no CPU." -#: ../../library/time.rst:803 +#: ../../library/time.rst:809 msgid "" ":ref:`Availability `: FreeBSD, NetBSD 7 or later, OpenBSD." msgstr "" ":ref:`Disponibilidade `: FreeBSD, NetBSD 7 ou posterior, " "OpenBSD." -#: ../../library/time.rst:808 +#: ../../library/time.rst:814 msgid "" "`International Atomic Time `_" @@ -1525,7 +1531,7 @@ msgstr "" "`Tempo Atômico Internacional `_" -#: ../../library/time.rst:810 +#: ../../library/time.rst:816 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." @@ -1534,15 +1540,15 @@ msgstr "" "a resposta correta. Softwares PTP ou NTP podem manter uma tabela de segundos " "bissextos." -#: ../../library/time.rst:814 +#: ../../library/time.rst:820 msgid ":ref:`Availability `: Linux." msgstr ":ref:`Disponibilidade `: Linux." -#: ../../library/time.rst:819 +#: ../../library/time.rst:825 msgid "Thread-specific CPU-time clock." msgstr "Relógio de tempo de CPU específico a thread." -#: ../../library/time.rst:828 +#: ../../library/time.rst:834 msgid "" "Time whose absolute value is the time the system has been running and not " "suspended, providing accurate uptime measurement, both absolute and interval." @@ -1551,12 +1557,12 @@ msgstr "" "suspenso, fornecendo medidas de tempo de atividade precisas, tanto em valor " "absoluto quanto intervalo." -#: ../../library/time.rst:833 +#: ../../library/time.rst:839 msgid ":ref:`Availability `: FreeBSD, OpenBSD 5.5 or later." msgstr "" ":ref:`Disponibilidade `: FreeBSD, OpenBSD 5.5 ou posterior." -#: ../../library/time.rst:839 +#: ../../library/time.rst:845 msgid "" "Clock that increments monotonically, tracking the time since an arbitrary " "point, unaffected by frequency or time adjustments and not incremented while " @@ -1566,11 +1572,11 @@ 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:844 +#: ../../library/time.rst:850 msgid ":ref:`Availability `: macOS 10.12 and newer." msgstr ":ref:`Disponibilidade `: macOS 10.12 ou mais recente." -#: ../../library/time.rst:847 +#: ../../library/time.rst:853 msgid "" "The following constant is the only parameter that can be sent to :func:" "`clock_settime`." @@ -1578,7 +1584,7 @@ msgstr "" "A constante a seguir é o único parâmetro que pode ser enviado para :func:" "`clock_settime`." -#: ../../library/time.rst:853 +#: ../../library/time.rst:859 msgid "" "System-wide real-time clock. Setting this clock requires appropriate " "privileges." @@ -1586,11 +1592,11 @@ msgstr "" "Relógio em tempo real de todo o sistema. Definições deste relógio requerem " "privilégios apropriados." -#: ../../library/time.rst:864 +#: ../../library/time.rst:870 msgid "Timezone Constants" msgstr "Constantes de Fuso Horário" -#: ../../library/time.rst:868 +#: ../../library/time.rst:874 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 " @@ -1602,11 +1608,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:874 +#: ../../library/time.rst:880 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:878 +#: ../../library/time.rst:884 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 " @@ -1616,7 +1622,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:883 +#: ../../library/time.rst:889 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 " @@ -1626,7 +1632,7 @@ 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:889 +#: ../../library/time.rst:895 msgid "" "For the above Timezone constants (:data:`altzone`, :data:`daylight`, :data:" "`timezone`, and :data:`tzname`), the value is determined by the timezone " @@ -1642,19 +1648,19 @@ msgstr "" "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:899 +#: ../../library/time.rst:905 msgid "Module :mod:`datetime`" msgstr "Módulo :mod:`datetime`" -#: ../../library/time.rst:899 +#: ../../library/time.rst:905 msgid "More object-oriented interface to dates and times." msgstr "Mais interfaces orientada a objetos para datas e tempos." -#: ../../library/time.rst:903 +#: ../../library/time.rst:909 msgid "Module :mod:`locale`" msgstr "Módulo :mod:`locale`" -#: ../../library/time.rst:902 +#: ../../library/time.rst:908 msgid "" "Internationalization services. The locale setting affects the " "interpretation of many format specifiers in :func:`strftime` and :func:" @@ -1664,11 +1670,11 @@ msgstr "" "interpretação de muitos especificadores de formato em :func:`strftime` e :" "func:`strptime`." -#: ../../library/time.rst:906 +#: ../../library/time.rst:912 msgid "Module :mod:`calendar`" msgstr "Módulo :mod:`calendar`" -#: ../../library/time.rst:906 +#: ../../library/time.rst:912 msgid "" "General calendar-related functions. :func:`~calendar.timegm` is the " "inverse of :func:`gmtime` from this module." @@ -1676,24 +1682,25 @@ msgstr "" "Funções gerais relacionadas a calendários. :func:`~calendar.timegm` é a " "função inversa de :func:`gmtime` deste módulo." -#: ../../library/time.rst:910 +#: ../../library/time.rst:916 msgid "Footnotes" msgstr "Notas de rodapé" -#: ../../library/time.rst:911 +#: ../../library/time.rst:917 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. " +"the preferred hour/minute offset is not supported by all ANSI C libraries. " "Also, a strict reading of the original 1982 :rfc:`822` standard calls for a " -"two-digit year (%y rather than %Y), but practice moved to 4-digit years long " -"before the year 2000. After that, :rfc:`822` became obsolete and the 4-" -"digit year has been first recommended by :rfc:`1123` and then mandated by :" -"rfc:`2822`." +"two-digit year (``%y`` rather than ``%Y``), but practice moved to 4-digit " +"years long before the year 2000. After that, :rfc:`822` became obsolete and " +"the 4-digit year has been first recommended by :rfc:`1123` and then mandated " +"by :rfc:`2822`." msgstr "" "A utilização de ``%Z`` está descontinuada, mas o escape ``%z`` que expande " "para um deslocamento hora/minuto preferido não é suportado por todas as " "bibliotecas ANSI C. Além disso, a leitura do padrão original :rfc:`822` de " -"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` se tornou obsoleto e o ano de 4 dígitos foi " -"primeiro recomendado por :rfc:`1123` e depois obrigatório por :rfc:`2822`." +"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`." diff --git a/library/timeit.po b/library/timeit.po index 71ba53456..697a1122c 100644 --- a/library/timeit.po +++ b/library/timeit.po @@ -1,33 +1,32 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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 -# i17obot , 2021 +# python-doc bot, 2025 # #, 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:15+0000\n" -"Last-Translator: i17obot , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-11-23 17:17+0000\n" +"PO-Revision-Date: 2025-09-22 15:58+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"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`" @@ -41,24 +40,32 @@ 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" -msgstr "" +msgstr "Exemplos básicos" #: ../../library/timeit.rst:25 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 "" @@ -66,14 +73,18 @@ msgid "" "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 "" @@ -82,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 msgid "The optional *globals* parameter was added." -msgstr "" +msgstr "O parâmetro opcional *globals* foi adicionado." #: ../../library/timeit.rst:78 msgid "" @@ -95,10 +110,15 @@ 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 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`." @@ -106,11 +126,13 @@ msgstr "" #: ../../library/timeit.rst:93 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 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 msgid "" @@ -122,6 +144,14 @@ 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 msgid "" @@ -129,12 +159,17 @@ msgid "" "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 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 msgid "" @@ -143,6 +178,11 @@ msgid "" "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 msgid "" @@ -163,10 +203,16 @@ 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 msgid "Automatically determine how many times to call :meth:`.timeit`." -msgstr "" +msgstr "Determina automaticamente quantas vezes chamar :meth:`.timeit`." #: ../../library/timeit.rst:148 msgid "" @@ -182,10 +228,12 @@ 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 msgid "Call :meth:`.timeit` a few times." -msgstr "" +msgstr "Chama :meth:`.timeit` algumas vezes." #: ../../library/timeit.rst:164 msgid "" @@ -194,6 +242,10 @@ msgid "" "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 msgid "" @@ -206,10 +258,19 @@ 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 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 msgid "Typical use::" @@ -221,37 +282,46 @@ msgid "" "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 msgid "Command-Line Interface" -msgstr "Interface de Linha de Comando" +msgstr "Interface de linha de comando" #: ../../library/timeit.rst:207 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 msgid "Where the following options are understood:" -msgstr "" +msgstr "As seguintes opções são permitidas" #: ../../library/timeit.rst:217 msgid "how many times to execute 'statement'" -msgstr "" +msgstr "Quantas vezes deve executar 'statement'" #: ../../library/timeit.rst:221 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 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 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 msgid "" @@ -261,10 +331,12 @@ msgstr "" #: ../../library/timeit.rst:242 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 msgid "print a short usage message and exit" -msgstr "" +msgstr "imprime uma mensagem curta de uso e sai" #: ../../library/timeit.rst:248 msgid "" @@ -273,6 +345,10 @@ msgid "" "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 msgid "" @@ -280,6 +356,9 @@ msgid "" "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 msgid "" @@ -290,6 +369,12 @@ msgid "" "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 msgid "" @@ -298,6 +383,10 @@ msgid "" "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 msgid "Examples" @@ -311,26 +400,51 @@ msgstr "" "É possível fornecer uma instrução de configuração que é executada apenas uma " "vez no início:" -#: ../../library/timeit.rst:293 +#: ../../library/timeit.rst:285 +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 " +"repetition count ('best of 5') which tells you how many times the timing " +"loop was repeated, and finally the time the statement body took on average " +"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 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:303 +#: ../../library/timeit.rst:310 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:" 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:349 +#: ../../library/timeit.rst:356 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:360 +#: ../../library/timeit.rst:367 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::" diff --git a/library/tk.po b/library/tk.po index 578b7f259..27681987d 100644 --- a/library/tk.po +++ b/library/tk.po @@ -1,27 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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 , 2021 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.10\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-08-17 13:45+0000\n" -"PO-Revision-Date: 2021-06-28 01:15+0000\n" -"Last-Translator: Rafael Fontenelle , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:58+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/tk.rst:5 msgid "Graphical User Interfaces with Tk" diff --git a/library/tkinter.colorchooser.po b/library/tkinter.colorchooser.po index 7f4d1cdab..1be5477d2 100644 --- a/library/tkinter.colorchooser.po +++ b/library/tkinter.colorchooser.po @@ -1,26 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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.10\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-06-29 12:56+0000\n" -"PO-Revision-Date: 2021-06-28 01:15+0000\n" -"Last-Translator: Rafael Fontenelle , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:58+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/tkinter.colorchooser.rst:2 msgid ":mod:`tkinter.colorchooser` --- Color choosing dialog" @@ -58,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 8af75962c..ab7142898 100644 --- a/library/tkinter.dnd.po +++ b/library/tkinter.dnd.po @@ -1,26 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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.10\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-06-29 12:56+0000\n" -"PO-Revision-Date: 2021-06-28 01:15+0000\n" -"Last-Translator: Rafael Fontenelle , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:58+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/tkinter.dnd.rst:2 msgid ":mod:`tkinter.dnd` --- Drag and drop support" diff --git a/library/tkinter.font.po b/library/tkinter.font.po index 22719d205..4f256cbc9 100644 --- a/library/tkinter.font.po +++ b/library/tkinter.font.po @@ -1,26 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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.10\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-06-29 12:56+0000\n" -"PO-Revision-Date: 2021-06-28 01:15+0000\n" -"Last-Translator: i17obot , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:58+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/tkinter.font.rst:2 msgid ":mod:`tkinter.font` --- Tkinter font wrapper" @@ -28,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 "" @@ -48,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:" @@ -55,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." @@ -83,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 "" @@ -127,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 27b03e388..99a2f6b4d 100644 --- a/library/tkinter.messagebox.po +++ b/library/tkinter.messagebox.po @@ -1,26 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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.10\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-06-29 12:56+0000\n" -"PO-Revision-Date: 2021-06-28 01:15+0000\n" -"Last-Translator: Rafael Fontenelle , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:58+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/tkinter.messagebox.rst:2 msgid ":mod:`tkinter.messagebox` --- Tkinter message prompts" diff --git a/library/tkinter.po b/library/tkinter.po index 8fdf15f5f..a206ae1ef 100644 --- a/library/tkinter.po +++ b/library/tkinter.po @@ -1,38 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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 -# Italo Penaforte , 2021 -# And Past , 2021 -# Misael borges , 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 -# Rafael Fontenelle , 2021 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.10\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-08-12 13:42+0000\n" -"PO-Revision-Date: 2021-06-28 01:15+0000\n" -"Last-Translator: Rafael Fontenelle , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:58+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/tkinter.rst:2 msgid ":mod:`tkinter` --- Python interface to Tcl/Tk" @@ -45,17 +34,16 @@ msgstr "**Código-fonte:** :source:`Lib/tkinter/__init__.py`" #: ../../library/tkinter.rst:13 msgid "" "The :mod:`tkinter` package (\"Tk interface\") is the standard Python " -"interface to the Tk GUI toolkit. Both Tk and :mod:`tkinter` are available " -"on most Unix platforms, as well as on Windows systems. (Tk itself is not " -"part of Python; it is maintained at ActiveState.)" +"interface to the Tcl/Tk GUI toolkit. Both Tk and :mod:`tkinter` are " +"available on most Unix platforms, including macOS, as well as on Windows " +"systems." msgstr "" -"O pacote :mod:`tkinter` (\"interface Tk\") é a interface padrão do Python " -"para o kit de ferramentas para interfaces gráficas Tk. Ambos Tk e :mod:" -"`tkinter` estão disponíveis na maioria das plataformas Unix, assim como em " -"sistemas Windows. (O próprio Tk não faz parte do Python; ele é mantido pela " -"ActiveState.)" +"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." -#: ../../library/tkinter.rst:18 +#: ../../library/tkinter.rst:17 msgid "" "Running ``python -m tkinter`` from the command line should open a window " "demonstrating a simple Tk interface, letting you know that :mod:`tkinter` is " @@ -69,7 +57,7 @@ msgstr "" "Tcl/Tk está instalado, para que você possa ler a documentação do Tcl/Tk " "específica para essa versão." -#: ../../library/tkinter.rst:23 +#: ../../library/tkinter.rst:22 msgid "" "Tkinter supports a range of Tcl/Tk versions, built either with or without " "thread support. The official Python binary release bundles Tcl/Tk 8.6 " @@ -81,7 +69,7 @@ msgstr "" "em thread. Veja o código-fonte do módulo :mod:`_tkinter` para mais " "informações sobre as versões suportadas." -#: ../../library/tkinter.rst:28 +#: ../../library/tkinter.rst:27 msgid "" "Tkinter is not a thin wrapper, but adds a fair amount of its own logic to " "make the experience more pythonic. This documentation will concentrate on " @@ -93,161 +81,144 @@ msgstr "" "se concentrará nessas adições e mudanças, e consulte a documentação oficial " "do Tcl/Tk para detalhes que não foram alterados." -#: ../../library/tkinter.rst:35 -msgid "Tkinter documentation:" -msgstr "Documentação do Tkinter:" - -#: ../../library/tkinter.rst:39 -msgid "`Python Tkinter Resources `_" -msgstr "`Recurso do Tkinter Python `_" - -#: ../../library/tkinter.rst:38 +#: ../../library/tkinter.rst:34 msgid "" -"The Python Tkinter Topic Guide provides a great deal of information on using " -"Tk from Python and links to other sources of information on Tk." +"Tcl/Tk 8.5 (2007) introduced a modern set of themed user interface " +"components along with a new API to use them. Both old and new APIs are still " +"available. Most documentation you will find online still uses the old API " +"and can be woefully outdated." msgstr "" -"O Python Tkinter Topic Guide fornece uma grande quantidade de informações " -"sobre como usar o Tk do Python e links para outras fontes de informação " -"sobre Tk." +"Tcl/Tk 8.5 (2007) introduziu um conjunto moderno de componentes de interface " +"de usuário para ser usados com a nova API. As APIs antigas e novas ainda " +"estão disponíveis. A maioria da documentação que você encontrará online " +"ainda usa a API antiga e pode estar desatualizada." -#: ../../library/tkinter.rst:42 -msgid "`TKDocs `_" -msgstr "`TKDocs `_" +#: ../../library/tkinter.rst:43 +msgid "`TkDocs `_" +msgstr "`TkDocs `_" #: ../../library/tkinter.rst:42 msgid "" -"Extensive tutorial plus friendlier widget pages for some of the widgets." -msgstr "Tutorial extensivo e páginas sobre os widgets mais amigáveis.." +"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. " +"Explica conceitos chave, e ilustra as abordagens recomendadas usando a API " +"moderna." -#: ../../library/tkinter.rst:45 +#: ../../library/tkinter.rst:46 msgid "" "`Tkinter 8.5 reference: a GUI for Python `_" msgstr "" "`Referência do Tkinter 8.5: uma GUI para Python `_" -#: ../../library/tkinter.rst:45 -msgid "On-line reference material." -msgstr "Material de referência on-line." - -#: ../../library/tkinter.rst:48 -msgid "`Tkinter docs from effbot `_" -msgstr "`Documentação Tkinter no effbot `_" +#: ../../library/tkinter.rst:46 +msgid "" +"Reference documentation for Tkinter 8.5 detailing available classes, " +"methods, and options." +msgstr "" +"Documentação de referência para Tkinter 8.5 detalhando classes, métodos e " +"opções disponíveis." #: ../../library/tkinter.rst:48 -msgid "Online reference for tkinter supported by effbot.org." -msgstr "Referência online para o tkinter oferecido por effbot.org." +msgid "Tcl/Tk Resources:" +msgstr "Recursos Tcl/Tk:" #: ../../library/tkinter.rst:51 -msgid "`Programming Python `_" -msgstr "`Programação Python `_" +msgid "`Tk commands `_" +msgstr "`Comandos Tk `_" #: ../../library/tkinter.rst:51 -msgid "Book by Mark Lutz, has excellent coverage of Tkinter." -msgstr "Livro de Mark Lutz, tem excelente cobertura da Tkinter." - -#: ../../library/tkinter.rst:54 msgid "" -"`Modern Tkinter for Busy Python Developers `_" +"Comprehensive reference to each of the underlying Tcl/Tk commands used by " +"Tkinter." msgstr "" -"`Tkinter moderno para desenvolvedores Python ocupados ` _" +"Referência abrangente para cada um dos comandos Tcl/Tk subjacentes usados " +"pelo Tkinter." #: ../../library/tkinter.rst:54 -msgid "" -"Book by Mark Roseman about building attractive and modern graphical user " -"interfaces with Python and Tkinter." -msgstr "" -"Livro de Mark Roseman sobre a construção de interfaces gráficas de usuário " -"atraentes e modernas com Python e Tkinter." +msgid "`Tcl/Tk Home Page `_" +msgstr "`Tcl/Tk Website `_" -#: ../../library/tkinter.rst:57 -msgid "" -"`Python and Tkinter Programming `_" +#: ../../library/tkinter.rst:54 +msgid "Additional documentation, and links to Tcl/Tk core development." msgstr "" -"`Programação Python e Tkinter ` _" +"Documentação adicional e links para o desenvolvimento do core do Tcl/Tk." -#: ../../library/tkinter.rst:57 -msgid "Book by John Grayson (ISBN 1-884777-81-3)." -msgstr "Livro de John Grayson (ISBN 1-884777-81-3)." +#: ../../library/tkinter.rst:56 +msgid "Books:" +msgstr "Livros:" #: ../../library/tkinter.rst:59 -msgid "Tcl/Tk documentation:" -msgstr "Documentação Tcl/Tk:" +msgid "" +"`Modern Tkinter for Busy Python Developers `_" +msgstr "" +"`Modern Tkinter for Busy Python Developers `_" -#: ../../library/tkinter.rst:63 -msgid "`Tk commands `_" -msgstr "`Comandos Tk `_" +#: ../../library/tkinter.rst:59 +msgid "By Mark Roseman. (ISBN 978-1999149567)" +msgstr "Por Mark Roseman. (ISBN 978-1999149567)" #: ../../library/tkinter.rst:62 msgid "" -"Most commands are available as :mod:`tkinter` or :mod:`tkinter.ttk` classes. " -"Change '8.6' to match the version of your Tcl/Tk installation." +"`Python and Tkinter Programming `_" msgstr "" -"A maioria dos comandos estão disponíveis como classes :mod:`tkinter` ou :mod:" -"`tkinter.ttk`. Altere '8.6' para corresponder à versão de sua instalação Tcl/" -"Tk." +"`Python and Tkinter Programming `_" -#: ../../library/tkinter.rst:66 -msgid "`Tcl/Tk recent man pages `_" -msgstr "`Páginas man recentes do Tcl/Tk `_" +#: ../../library/tkinter.rst:62 +msgid "By Alan Moore. (ISBN 978-1788835886)" +msgstr "Por Alan Moore. (ISBN 978-1788835886)" -#: ../../library/tkinter.rst:66 -msgid "Recent Tcl/Tk manuals on www.tcl.tk." -msgstr "Manuais Tcl/Tk recentes em www.tcl.tk." +#: ../../library/tkinter.rst:65 +msgid "`Programming Python `_" +msgstr "`Programming Python `_" -#: ../../library/tkinter.rst:69 -msgid "`ActiveState Tcl Home Page `_" -msgstr "`Página de ActiveState Tcl `_" +#: ../../library/tkinter.rst:65 +msgid "By Mark Lutz; has excellent coverage of Tkinter. (ISBN 978-0596158101)" +msgstr "" +"Por Mark Lutz; tem uma excelente cobertura sobre o Tkinter. (ISBN " +"978-0596158101)" -#: ../../library/tkinter.rst:69 -msgid "The Tk/Tcl development is largely taking place at ActiveState." -msgstr "O desenvolvimento do Tk/Tcl acontece em larga medida na ActiveState." +#: ../../library/tkinter.rst:67 +msgid "" +"`Tcl and the Tk Toolkit (2nd edition) `_" +msgstr "" +"`Tcl and the Tk Toolkit (2nd edition) `_" -#: ../../library/tkinter.rst:72 +#: ../../library/tkinter.rst:68 msgid "" -"`Tcl and the Tk Toolkit `_" +"By John Ousterhout, inventor of Tcl/Tk, and Ken Jones; does not cover " +"Tkinter. (ISBN 978-0321336330)" msgstr "" -"`Tcl and the Tk Toolkit `_" +"Por John Ousterhout, criador do Tcl/Tk, e Ken Jones; não cobre o Tkinter. " +"(ISBN 978-0321336330)" #: ../../library/tkinter.rst:72 -msgid "Book by John Ousterhout, the inventor of Tcl." -msgstr "Livro de John Ousterhout, o inventor do Tcl." - -#: ../../library/tkinter.rst:74 -msgid "`Practical Programming in Tcl and Tk `_" -msgstr "`Practical Programming in Tcl and Tk `_" - -#: ../../library/tkinter.rst:75 -msgid "Brent Welch's encyclopedic book." -msgstr "Livro enciclopédico de Brent Welch." - -#: ../../library/tkinter.rst:79 msgid "Architecture" msgstr "Arquitetura" -#: ../../library/tkinter.rst:81 +#: ../../library/tkinter.rst:74 msgid "" "Tcl/Tk is not a single library but rather consists of a few distinct " -"modules, each with a separate functionality and its own official " +"modules, each with separate functionality and its own official " "documentation. Python's binary releases also ship an add-on module together " "with it." msgstr "" -"Tcl/Tk não é uma única biblioteca, mas consiste em alguns módulos distintos, " -"cada um com uma funcionalidade separada e sua própria documentação oficial. " -"Os lançamentos binários do Python também vêm com um módulo adicional junto " -"com ele." +"Tcl/Tk não é uma biblioteca única mas consiste em alguns módulos distintos, " +"cada um com sua própria funcionalidade e sua própria documentação oficial. " +"As versões binárias do Python também incluem um módulo adicional junto com " +"ele." -#: ../../library/tkinter.rst:97 +#: ../../library/tkinter.rst:90 msgid "Tcl" msgstr "Tcl" -#: ../../library/tkinter.rst:87 +#: ../../library/tkinter.rst:80 msgid "" "Tcl is a dynamic interpreted programming language, just like Python. Though " "it can be used on its own as a general-purpose programming language, it is " @@ -272,30 +243,30 @@ 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:104 ../../library/tkinter.rst:838 +#: ../../library/tkinter.rst:97 ../../library/tkinter.rst:908 msgid "Tk" msgstr "Tk" -#: ../../library/tkinter.rst:100 +#: ../../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." +"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." msgstr "" -"Tk é um `pacote Tcl `_ implementado em C que " -"adiciona comandos personalizados para criar e manipular widgets GUI. Cada " -"objeto :class:`Tk` incorpora sua própria instância do interpretador Tcl com " -"o Tk carregado nele. Os widgets do Tk são muito personalizáveis, embora ao " +"Tk é um `pacote Tcl `_ implementado em C " +"que adiciona comandos personalizados para criar e manipular widgets GUI. " +"Cada objeto :class:`Tk` incorpora sua própria instância do interpretador Tcl " +"com Tk carregado nele. Os widgets do Tk são muito personalizáveis, embora ao " "custo de uma aparência desatualizada. Tk usa a fila de eventos do Tcl para " -"gerar e processar eventos GUI." +"gerar e processar eventos da GUI." -#: ../../library/tkinter.rst:110 +#: ../../library/tkinter.rst:103 msgid "Ttk" msgstr "Ttk" -#: ../../library/tkinter.rst:107 +#: ../../library/tkinter.rst:100 msgid "" "Themed Tk (Ttk) is a newer family of Tk widgets that provide a much better " "appearance on different platforms than many of the classic Tk widgets. Ttk " @@ -308,71 +279,196 @@ msgstr "" "versão 8.5. As ligações Python são fornecidas em um módulo separado, :mod:" "`tkinter.ttk`." -#: ../../library/tkinter.rst:117 -msgid "Tix" -msgstr "Tix" +#: ../../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." +msgstr "" +"Internamente, Tk e Ttk usam recursos do sistema operacional, ou seja, Xlib " +"no Unix/X11, Cocoa no macOS, GDI no Windows." -#: ../../library/tkinter.rst:113 +#: ../../library/tkinter.rst:108 msgid "" -"`Tix `_ is an older " -"third-party Tcl package, an add-on for Tk that adds several new widgets. " -"Python bindings are found in the :mod:`tkinter.tix` module. It's deprecated " -"in favor of Ttk." +"When your Python application uses a class in Tkinter, e.g., to create a " +"widget, the :mod:`tkinter` module first assembles a Tcl/Tk command string. " +"It passes that Tcl command string to an internal :mod:`_tkinter` binary " +"module, which then calls the Tcl interpreter to evaluate it. The Tcl " +"interpreter will then call into the Tk and/or Ttk packages, which will in " +"turn make calls to Xlib, Cocoa, or GDI." msgstr "" -"`Tix `_ é um pacote " -"Tcl de terceiros mais antigo, um complemento para Tk que adiciona vários " -"novos widgets. As ligações Python são encontradas no módulo :mod:`tkinter." -"tix`. Ele foi descontinuado em favor do Ttk." +"Quando sua aplicação Python usa uma classe do Tkinter, por exemplo, para " +"criar um widget, o módulo :mod:`tkinter` primeiro monta uma sequência de " +"comando Tcl/Tk. Ele passa essa sequência de comando Tcl para um módulo " +"binário interno :mod:`_tkinter`, que então chama o interpretador Tcl para " +"avaliá-lo. O interpretador Tcl então chamará os pacotes Tk e/ou Ttk, que por " +"sua vez farão chamadas para Xlib, Cocoa ou GDI." -#: ../../library/tkinter.rst:120 +#: ../../library/tkinter.rst:116 msgid "Tkinter Modules" msgstr "Módulos Tkinter" -#: ../../library/tkinter.rst:122 +#: ../../library/tkinter.rst:118 msgid "" -"Most of the time, :mod:`tkinter` is all you really need, but a number of " -"additional modules are available as well. The Tk interface is located in a " -"binary module named :mod:`_tkinter`. This module contains the low-level " -"interface to Tk, and should never be used directly by application " -"programmers. It is usually a shared library (or DLL), but might in some " -"cases be statically linked with the Python interpreter." +"Support for Tkinter is spread across several modules. Most applications will " +"need the main :mod:`tkinter` module, as well as the :mod:`tkinter.ttk` " +"module, which provides the modern themed widget set and API::" msgstr "" -"Na maioria das vezes, :mod:`tkinter` é tudo o que você precisa, mas há " -"outros módulos adicionais disponíveis. A interface do Tk está localizada em " -"um módulo binário chamado :mod:`_tkinter`. Este módulo contém a interface de " -"baixo nível do Tk, e nunca deve ser utilizada diretamente por programadores " -"de aplicação. Geralmente é uma biblioteca compartilhada (ou DLL), mas pode " -"estar em alguns casos conectada estaticamente ao interpretador Python." +"O suporte para Tkinter está espalhado por vários módulos. A maioria dos " +"aplicativos precisará do módulo :mod:`tkinter` principal, bem como do " +"módulo :mod:`tkinter.ttk`, que fornece o conjunto de widgets temáticos " +"modernos e a API::" #: ../../library/tkinter.rst:129 msgid "" -"In addition to the Tk interface module, :mod:`tkinter` includes a number of " -"Python modules, :mod:`tkinter.constants` being one of the most important. " -"Importing :mod:`tkinter` will automatically import :mod:`tkinter.constants`, " -"so, usually, to use Tkinter all you need is a simple import statement::" +"Construct a toplevel Tk widget, which is usually the main window of an " +"application, and initialize a Tcl interpreter for this widget. Each " +"instance has its own associated Tcl interpreter." +msgstr "" +"Construa um Tk widget de alto nível, sendo esse, geralmente, a janela " +"principal de uma aplicação, e inicialize um interpretador Tcl para esse " +"widget. Cada instância tem seu próprio interpretador Tcl associado." + +#: ../../library/tkinter.rst:133 +msgid "" +"The :class:`Tk` class is typically instantiated using all default values. " +"However, the following keyword arguments are currently recognized:" +msgstr "" +"A classe :class:`Tk` normalmente é instanciada usando todos os valores " +"padrão. No entanto, os seguintes argumentos nomeados são reconhecidos " +"atualmente:" + +#: ../../library/tkinter.rst:137 +msgid "*screenName*" +msgstr "*screenName*" + +#: ../../library/tkinter.rst:137 +msgid "" +"When given (as a string), sets the :envvar:`DISPLAY` environment variable. " +"(X11 only)" msgstr "" -"Além do módulo da interface Tk, :mod:`tkinter` inclui vários módulos " -"Python, :mod:`tkinter.constants` sendo o mais importante. Importar :mod:" -"`tkinter` irá importar :mod:`tkinter.constants` automaticamente, então, " -"geralmente, para utilizar o Tkinter tudo o que você precisa é de uma simples " -"instrução de importação::" +"Quando fornecido (como uma string), define a variável de ambiente :envvar:" +"`DISPLAY`. (Somente X11)" -#: ../../library/tkinter.rst:136 -msgid "Or, more often::" -msgstr "Ou, com mais frequência::" +#: ../../library/tkinter.rst:140 +msgid "*baseName*" +msgstr "*baseName*" + +#: ../../library/tkinter.rst:140 +msgid "" +"Name of the profile file. By default, *baseName* is derived from the " +"program name (``sys.argv[0]``)." +msgstr "" +"Nome do arquivo de perfil. Por padrão, *baseName* é derivado do nome do " +"programa (``sys.argv[0]``)." #: ../../library/tkinter.rst:143 +msgid "*className*" +msgstr "*className*" + +#: ../../library/tkinter.rst:143 +msgid "" +"Name of the widget class. Used as a profile file and also as the name with " +"which Tcl is invoked (*argv0* in *interp*)." +msgstr "" +"Nome da classe widget. Usado como um arquivo de perfil e também como o nome " +"com o qual Tcl é invocado (*argv0* em *interp*)." + +#: ../../library/tkinter.rst:146 +msgid "*useTk*" +msgstr "*useTk*" + +#: ../../library/tkinter.rst:146 msgid "" -"The :class:`Tk` class is instantiated without arguments. This creates a " -"toplevel widget of Tk which usually is the main window of an application. " -"Each instance has its own associated Tcl interpreter." +"If ``True``, initialize the Tk subsystem. The :func:`tkinter.Tcl() ` " +"function sets this to ``False``." msgstr "" -"A classe :class:`Tk` é instanciada sem argumentos. Isto cria um componente " -"gráfico de alto nível de Tk que normalmente é a janela principal da " -"aplicação. Cada instância possui seu próprio interpretador Tcl associado." +"Se ``True``, inicialize o subsistema Tk. A função :func:`tkinter.Tcl() " +"` define isso como ``False``." + +#: ../../library/tkinter.rst:149 +msgid "*sync*" +msgstr "*sync*" + +#: ../../library/tkinter.rst:149 +msgid "" +"If ``True``, execute all X server commands synchronously, so that errors are " +"reported immediately. Can be used for debugging. (X11 only)" +msgstr "" +"Se ``True``, execute todos os comandos do servidor X de forma síncrona, para " +"que os erros sejam relatados imediatamente. Pode ser usado para depuração. " +"(Somente X11)" + +#: ../../library/tkinter.rst:159 +msgid "*use*" +msgstr "*use*" #: ../../library/tkinter.rst:152 msgid "" +"Specifies the *id* of the window in which to embed the application, instead " +"of it being created as an independent toplevel window. *id* must be " +"specified in the same way as the value for the -use option for toplevel " +"widgets (that is, it has a form like that returned by :meth:`winfo_id`)." +msgstr "" +"Especifica o *id* da janela na qual inserir a aplicação, em vez de criá-la " +"como uma janela de nível superior separada. O *id* deve ser especificado da " +"mesma forma que o valor da opção -use para widgets de nível superior (ou " +"seja, tem um formato como o retornado por :meth:`winfo_id`)." + +#: ../../library/tkinter.rst:158 +msgid "" +"Note that on some platforms this will only work correctly if *id* refers to " +"a Tk frame or toplevel that has its -container option enabled." +msgstr "" +"Observe que em algumas plataformas isso só funcionará corretamente se *id* " +"se referir a um frame Tk ou nível superior que tenha sua opção -container " +"habilitada." + +#: ../../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`." +msgstr "" + +#: ../../library/tkinter.rst:170 +msgid "" +"The Tk application object created by instantiating :class:`Tk`. This " +"provides access to the Tcl interpreter. Each widget that is attached the " +"same instance of :class:`Tk` has the same value for its :attr:`tk` attribute." +msgstr "" +"Objeto da aplicação Tk criado ao instanciar :class:`Tk`. Isso fornece acesso " +"ao interpretador Tcl. Cada widget anexado à mesma instância de :class:`Tk` " +"tem o mesmo valor para o atributo :attr:`tk`." + +#: ../../library/tkinter.rst:177 +msgid "" +"The widget object that contains this widget. For :class:`Tk`, the *master* " +"is :const:`None` because it is the main window. The terms *master* and " +"*parent* are similar and sometimes used interchangeably as argument names; " +"however, calling :meth:`winfo_parent` returns a string of the widget name " +"whereas :attr:`master` returns the object. *parent*/*child* reflects the " +"tree-like relationship while *master*/*slave* reflects the container " +"structure." +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 " +"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." + +#: ../../library/tkinter.rst:187 +msgid "" +"The immediate descendants of this widget as a :class:`dict` with the child " +"widget names as the keys and the child instance objects as the values." +msgstr "" +"Descendentes diretos deste widget como um :class:`dict` com os nomes do " +"widget filho como a chave e os objetos de instância filho como o valor." + +#: ../../library/tkinter.rst:194 +msgid "" "The :func:`Tcl` function is a factory function which creates an object much " "like that created by the :class:`Tk` class, except that it does not " "initialize the Tk subsystem. This is most often useful when driving the Tcl " @@ -390,526 +486,619 @@ msgstr "" "`Tcl` pode ter uma janela de alto nível criada (e o subsistema Tk " "inicializado) chamando o método :meth:`loadtk`." -#: ../../library/tkinter.rst:161 -msgid "Other modules that provide Tk support include:" -msgstr "Outros módulos que fornecem suporte Tk incluem:" +#: ../../library/tkinter.rst:203 +msgid "The modules that provide Tk support include:" +msgstr "Os módulos que fornecem suporte ao Tk incluem:" + +#: ../../library/tkinter.rst:206 +msgid ":mod:`tkinter`" +msgstr ":mod:`tkinter`" -#: ../../library/tkinter.rst:164 +#: ../../library/tkinter.rst:206 +msgid "Main Tkinter module." +msgstr "Módulo principal Tkinter." + +#: ../../library/tkinter.rst:209 msgid ":mod:`tkinter.colorchooser`" msgstr ":mod:`tkinter.colorchooser`" -#: ../../library/tkinter.rst:164 +#: ../../library/tkinter.rst:209 msgid "Dialog to let the user choose a color." msgstr "Caixa de diálogo para permitir que o usuário escolha uma cor." -#: ../../library/tkinter.rst:167 +#: ../../library/tkinter.rst:212 msgid ":mod:`tkinter.commondialog`" msgstr ":mod:`tkinter.commondialog`" -#: ../../library/tkinter.rst:167 +#: ../../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." -#: ../../library/tkinter.rst:170 +#: ../../library/tkinter.rst:215 msgid ":mod:`tkinter.filedialog`" msgstr ":mod:`tkinter.filedialog`" -#: ../../library/tkinter.rst:170 +#: ../../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." -#: ../../library/tkinter.rst:173 +#: ../../library/tkinter.rst:218 msgid ":mod:`tkinter.font`" msgstr ":mod:`tkinter.font`" -#: ../../library/tkinter.rst:173 +#: ../../library/tkinter.rst:218 msgid "Utilities to help work with fonts." msgstr "Utilitários para ajudar a trabalhar com fontes." -#: ../../library/tkinter.rst:176 +#: ../../library/tkinter.rst:221 msgid ":mod:`tkinter.messagebox`" msgstr ":mod:`tkinter.messagebox`" -#: ../../library/tkinter.rst:176 +#: ../../library/tkinter.rst:221 msgid "Access to standard Tk dialog boxes." msgstr "Acesso às caixas de diálogo padrão do Tk." -#: ../../library/tkinter.rst:179 +#: ../../library/tkinter.rst:224 msgid ":mod:`tkinter.scrolledtext`" msgstr ":mod:`tkinter.scrolledtext`" -#: ../../library/tkinter.rst:179 +#: ../../library/tkinter.rst:224 msgid "Text widget with a vertical scroll bar built in." msgstr "Componente de texto com uma barra de rolagem vertical integrada." -#: ../../library/tkinter.rst:182 +#: ../../library/tkinter.rst:227 msgid ":mod:`tkinter.simpledialog`" msgstr ":mod:`tkinter.simpledialog`" -#: ../../library/tkinter.rst:182 +#: ../../library/tkinter.rst:227 msgid "Basic dialogs and convenience functions." msgstr "Diálogos básicos e funções de conveniência." -#: ../../library/tkinter.rst:186 +#: ../../library/tkinter.rst:231 +msgid ":mod:`tkinter.ttk`" +msgstr ":mod:`tkinter.ttk`" + +#: ../../library/tkinter.rst:230 +msgid "" +"Themed widget set introduced in Tk 8.5, providing modern alternatives for " +"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`." + +#: ../../library/tkinter.rst:233 +msgid "Additional modules:" +msgstr "Módulos adicionais:" + +#: ../../library/tkinter.rst:240 +msgid ":mod:`_tkinter`" +msgstr ":mod:`_tkinter`" + +#: ../../library/tkinter.rst:236 +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 " +"be used directly by application programmers. It is usually a shared library " +"(or DLL), but might in some cases be statically linked with the Python " +"interpreter." +msgstr "" +"Um módulo binário que contém a interface de baixo nível para Tcl/Tk. Ele é " +"importado automaticamente pelo módulo principal :mod:`tkinter` e nunca deve " +"ser usado diretamente. Geralmente é uma biblioteca compartilhada (ou DLL), " +"mas pode, em alguns casos, ser vinculada estaticamente ao interpretador " +"Python." + +#: ../../library/tkinter.rst:244 +msgid ":mod:`idlelib`" +msgstr ":mod:`idlelib`" + +#: ../../library/tkinter.rst:243 +msgid "" +"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 +msgid ":mod:`tkinter.constants`" +msgstr ":mod:`tkinter.constants`" + +#: ../../library/tkinter.rst:247 +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." +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 msgid ":mod:`tkinter.dnd`" msgstr ":mod:`tkinter.dnd`" -#: ../../library/tkinter.rst:185 +#: ../../library/tkinter.rst:252 +msgid "" +"(experimental) Drag-and-drop support for :mod:`tkinter`. This will become " +"deprecated when it is replaced with the Tk DND." +msgstr "" +"(experimental) Suporte de arrastar e soltar para :mod:`tkinter`. Será " +"descontinuado quando for substituído pelo Tk DND." + +#: ../../library/tkinter.rst:257 +msgid ":mod:`tkinter.tix`" +msgstr ":mod:`tkinter.tix`" + +#: ../../library/tkinter.rst:256 msgid "" -"Drag-and-drop support for :mod:`tkinter`. This is experimental and should " -"become deprecated when it is replaced with the Tk DND." +"(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 "" -"Suporte de arrastar e soltar para :mod:`tkinter`. Isso é experimental e deve " -"ser descontinuado quando for substituído pelo Tk DND." +"(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:190 +#: ../../library/tkinter.rst:261 msgid ":mod:`turtle`" msgstr ":mod:`turtle`" -#: ../../library/tkinter.rst:189 +#: ../../library/tkinter.rst:260 msgid "Turtle graphics in a Tk window." msgstr "Gráficos tartaruga em uma janela Tk." -#: ../../library/tkinter.rst:193 +#: ../../library/tkinter.rst:264 msgid "Tkinter Life Preserver" msgstr "Preservador de vida Tkinter" -#: ../../library/tkinter.rst:198 +#: ../../library/tkinter.rst:266 msgid "" "This section is not designed to be an exhaustive tutorial on either Tk or " -"Tkinter. Rather, it is intended as a stop gap, providing some introductory " -"orientation on the system." +"Tkinter. For that, refer to one of the external resources noted earlier. " +"Instead, this section provides a very quick orientation to what a Tkinter " +"application looks like, identifies foundational Tk concepts, and explains " +"how the Tkinter wrapper is structured." msgstr "" -"Esta seção não foi projetada para ser um tutorial completo sobre Tk ou " -"Tkinter. Em vez disso, pretende ser uma ajuda inicial, fornecendo alguma " -"orientação introdutória sobre o sistema." - -#: ../../library/tkinter.rst:202 -msgid "Credits:" -msgstr "Créditos:" - -#: ../../library/tkinter.rst:204 -msgid "Tk was written by John Ousterhout while at Berkeley." -msgstr "Tk foi escrito por John Ousterhout enquanto estava em Berkeley." - -#: ../../library/tkinter.rst:206 -msgid "Tkinter was written by Steen Lumholt and Guido van Rossum." -msgstr "Tkinter foi escrito por Steen Lumholt e Guido van Rossum." +"Esta seção não foi projetada para ser um tutorial exaustivo sobre Tk ou " +"Tkinter. Para isso, consulte um dos recursos externos mencionados " +"anteriormente. Em vez disso, esta seção fornece uma orientação muito rápida " +"sobre como é uma aplicação Tkinter, identifica os conceitos fundamentais do " +"Tk e explica como o wrapper do Tkinter é estruturado." -#: ../../library/tkinter.rst:208 +#: ../../library/tkinter.rst:272 msgid "" -"This Life Preserver was written by Matt Conway at the University of Virginia." +"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 " +"find more detailed documentation on them, including in the official Tcl/Tk " +"reference manual." msgstr "" -"This Life Preserver foi escrito por Matt Conway, da Universidade de Virgínia." +"O restante desta seção ajudará a identificar as classes, métodos e opções " +"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:210 -msgid "" -"The HTML rendering, and some liberal editing, was produced from a FrameMaker " -"version by Ken Manheimer." -msgstr "" -"A renderização do HTML, com algumas edições livres, foram produzidas de uma " -"versão do FrameMaker por Ken Manheimer." +#: ../../library/tkinter.rst:279 +msgid "A Hello World Program" +msgstr "Um programa Olá Mundo" -#: ../../library/tkinter.rst:213 +#: ../../library/tkinter.rst:281 msgid "" -"Fredrik Lundh elaborated and revised the class interface descriptions, to " -"get them current with Tk 4.2." +"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 " +"some key concepts you'll need to know." msgstr "" -"Fredrik Lundh elaborou e revisou as descrições de interface de classe, para " -"que elas fiquem atuais com Tk 4.2" +"Começaremos a explorar o Tkinter através de uma simples aplicação \"Hello " +"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:216 +#: ../../library/tkinter.rst:297 msgid "" -"Mike Clarkson converted the documentation to LaTeX, and compiled the User " -"Interface chapter of the reference manual." +"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 "" -"Mike Clarkson converteu a documentação para LaTeX e compilou o capítulo de " -"Interface de Usuário para o manual de referência." - -#: ../../library/tkinter.rst:221 -msgid "How To Use This Section" -msgstr "Como usar esta seçã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:223 +#: ../../library/tkinter.rst:302 msgid "" -"This section is designed in two parts: the first half (roughly) covers " -"background material, while the second half can be taken to the keyboard as a " -"handy reference." +"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 " +"window." msgstr "" -"Esta seção foi feita em duas partes: a primeira parte (mais ou menos) cobre " -"os materiais fundamentais, enquanto a segunda parte pode ser levada para o " -"teclado como uma referência útil." +"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:227 +#: ../../library/tkinter.rst:306 msgid "" -"When trying to answer questions of the form \"how do I do blah\", it is " -"often best to find out how to do \"blah\" in straight Tk, and then convert " -"this back into the corresponding :mod:`tkinter` call. Python programmers can " -"often guess at the correct Python command by looking at the Tk " -"documentation. This means that in order to use Tkinter, you will have to " -"know a little bit about Tk. This document can't fulfill that role, so the " -"best we can do is point you to the best documentation that exists. Here are " -"some hints:" -msgstr "" -"Ao tentar responder perguntas do tipo \"como eu faço x\", é melhor pensar " -"como eu faço \"x\" direto no Tk, e então converter de volta para uma chamada " -"correspondente do :mod:`tkinter`. Programadores Python normalmente adivinham " -"os comandos corretos em Python apenas olhando a documentação do Tk. Isso " -"significa que para usar Tkinter, você deverá aprender um pouco sobre Tk. " -"Este documento não pode preencher esse papel, então o melhor que podemos " -"fazer é indicar as melhores documentações que existem. Aqui vão algumas " -"dicas:" - -#: ../../library/tkinter.rst:235 -msgid "" -"The authors strongly suggest getting a copy of the Tk man pages. " -"Specifically, the man pages in the ``manN`` directory are most useful. The " -"``man3`` man pages describe the C interface to the Tk library and thus are " -"not especially helpful for script writers." -msgstr "" -"Os autores sugerem fortemente que se consiga uma cópia das páginas man do " -"Tk. Especificamente, as páginas man no diretório ``manN`` são as mais úteis. " -"As páginas man ``man3`` descrevem a interface C com a biblioteca Tk e, " -"portanto, não são tão úteis para criadores de script." +"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:240 +#: ../../library/tkinter.rst:310 msgid "" -"Addison-Wesley publishes a book called Tcl and the Tk Toolkit by John " -"Ousterhout (ISBN 0-201-63337-X) which is a good introduction to Tcl and Tk " -"for the novice. The book is not exhaustive, and for many details it defers " -"to the man pages." +"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." msgstr "" -"Addison-Wesley publica um livro chamado Tcl and the Tk Toolkit de John " -"Ousterhout (ISBN 0-201-63337-X), que é uma boa introdução a Tcl e Tk para o " -"iniciante. O livro não é exaustivo e, para muitos detalhes, ele recorre às " -"páginas de manual." +"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:245 +#: ../../library/tkinter.rst:313 msgid "" -":file:`tkinter/__init__.py` is a last resort for most, but can be a good " -"place to go when nothing else makes sense." +"Finally, the :meth:`mainloop` method puts everything on the display, and " +"responds to user input until the program terminates." msgstr "" -":file:`tkinter/__init__.py` é o último recurso para a maioria, mas pode ser " -"um bom lugar para ir quando nada mais faz sentido." +"Por fim, o método :meth:`destroy` coloca tudo no display, e responde à " +"entrada do usuário até que o programa termine." -#: ../../library/tkinter.rst:250 -msgid "A Simple Hello World Program" -msgstr "Um simples programa Olá Mundo" +#: ../../library/tkinter.rst:319 +msgid "Important Tk Concepts" +msgstr "Conceitos importantes do Tk" -#: ../../library/tkinter.rst:282 -msgid "A (Very) Quick Look at Tcl/Tk" -msgstr "Uma olhada (muito) rápida em Tcl / Tk" - -#: ../../library/tkinter.rst:284 -msgid "" -"The class hierarchy looks complicated, but in actual practice, application " -"programmers almost always refer to the classes at the very bottom of the " -"hierarchy." +#: ../../library/tkinter.rst:321 +msgid "Even this simple program illustrates the following key Tk concepts:" msgstr "" -"A hierarquia de classe parece complicada, mas na prática, programadores de " -"aplicação quase sempre se referem às classes nos níveis mais baixos da " -"hierarquia." +"Mesmo com este programa simples, os conceitos-chave do Tk podem ser " +"mostrados:" -#: ../../library/tkinter.rst:288 -msgid "Notes:" -msgstr "Notas:" +#: ../../library/tkinter.rst:326 +msgid "widgets" +msgstr "widgets" -#: ../../library/tkinter.rst:290 +#: ../../library/tkinter.rst:324 msgid "" -"These classes are provided for the purposes of organizing certain functions " -"under one namespace. They aren't meant to be instantiated independently." +"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`." msgstr "" -"Essas classes são fornecidas com o objetivo de organizar certas funções em " -"um espaço de nomes. Elas não devem ser instanciadas de forma independente." +"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`." -#: ../../library/tkinter.rst:293 -msgid "" -"The :class:`Tk` class is meant to be instantiated only once in an " -"application. Application programmers need not instantiate one explicitly, " -"the system creates one whenever any of the other classes are instantiated." -msgstr "" -"A classe :class:`Tk` deve ser instanciada apenas uma vez em uma aplicação. " -"Os programadores de aplicação não precisam instanciar uma explicitamente, o " -"sistema cria uma sempre que qualquer uma das outras classes é instanciada." +#: ../../library/tkinter.rst:332 +msgid "widget hierarchy" +msgstr "hierarquia dos widgets" -#: ../../library/tkinter.rst:297 +#: ../../library/tkinter.rst:329 msgid "" -"The :class:`Widget` class is not meant to be instantiated, it is meant only " -"for subclassing to make \"real\" widgets (in C++, this is called an " -"'abstract class')." +"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 " +"creating each *child* widget, its *parent* widget is passed as the first " +"argument to the widget constructor." msgstr "" -"A classe :class:`Widget` não foi feita para ser instanciada, é apenas para " -"quando subclasses forem criadas para fazer widgets \"reais\" (em C++, isto é " -"chamado de `classe abstrata`)." +"Os widgets são organizados em uma *hierarquia*. O rótulo e botão estavam " +"contidos em um frame, que por sua vez estava contido na janela raiz. Quando " +"criamos um widget *filho*, seu widget *pai* é passado como primeiro " +"argumento para o construtor do widget." -#: ../../library/tkinter.rst:301 -msgid "" -"To make use of this reference material, there will be times when you will " -"need to know how to read short passages of Tk and how to identify the " -"various parts of a Tk command. (See section :ref:`tkinter-basic-mapping` " -"for the :mod:`tkinter` equivalents of what's below.)" -msgstr "" -"Para fazer uso deste material de referência, haverá vezes em que você " -"precisará saber como ler pequenas passagens de Tk e como identificar as " -"várias partes dos comandos Tk. (Veja a seção :ref:`tkinter-basic-mapping` " -"para equivalentes de :mod:`tkinter` do que está mostrado abaixo.)" +#: ../../library/tkinter.rst:337 +msgid "configuration options" +msgstr "opções de configuração" -#: ../../library/tkinter.rst:306 +#: ../../library/tkinter.rst:335 msgid "" -"Tk scripts are Tcl programs. Like all Tcl programs, Tk scripts are just " -"lists of tokens separated by spaces. A Tk widget is just its *class*, the " -"*options* that help configure it, and the *actions* that make it do useful " -"things." +"Widgets have *configuration options*, which modify their appearance and " +"behavior, such as the text to display in a label or button. Different " +"classes of widgets will have different sets of options." msgstr "" -"Scripts Tk são programas Tcl. Como todos os programas Tcl, scripts Tk são " -"apenas listas de elementos sintáticos (tokens) separados por espaços. Um " -"widget Tk é apenas sua *classe*, as *opções* que ajudam a configurá-los, e " -"as *ações* que permitem fazer coisas úteis." +"Widgets possuem *opções de configuração*, que modificam sua aparência e " +"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:310 -msgid "To make a widget in Tk, the command is always of the form::" -msgstr "Para fazer um widget em Tk, o comando é sempre da forma::" - -#: ../../library/tkinter.rst:315 -msgid "*classCommand*" -msgstr "*classCommand*" - -#: ../../library/tkinter.rst:315 -msgid "denotes which kind of widget to make (a button, a label, a menu...)" -msgstr "denota que tipo de widget fazer (um botão, um rótulo, um menu ...)" - -#: ../../library/tkinter.rst:324 -msgid "*newPathname*" -msgstr "*newPathname*" - -#: ../../library/tkinter.rst:320 -msgid "" -"is the new name for this widget. All names in Tk must be unique. To help " -"enforce this, widgets in Tk are named with *pathnames*, just like files in a " -"file system. The top level widget, the *root*, is called ``.`` (period) and " -"children are delimited by more periods. For example, ``.myApp.controlPanel." -"okButton`` might be the name of a widget." -msgstr "" -"É o novo nome para este widget. Todos os nomes em Tk devem ser únicos. Para " -"ajudar a import isto, os widgets em Tk são renomeados com *parêntesis*, " -"assim como arquivos em um sistema de arquivos. O widget de nível mais alto, " -"a *raiz*, é chamado de ``.`` (ponto) e os filhos são delimitados por demais " -"pontos. Por exemplo, ``.myApp.controlPanel.okButton`` pode ser o nome de um " -"widget." - -#: ../../library/tkinter.rst:330 -msgid "*options*" -msgstr "*options*" - -#: ../../library/tkinter.rst:327 -msgid "" -"configure the widget's appearance and in some cases, its behavior. The " -"options come in the form of a list of flags and values. Flags are preceded " -"by a '-', like Unix shell command flags, and values are put in quotes if " -"they are more than one word." -msgstr "" -"configura a aparência do widget e, em alguns casos, seu comportamento. As " -"opções aparecem na forma de listas de flags ou valores. Flags são precedidas " -"por um '-', como flags em comandos de console em Unix, e os valores são " -"colocados entre aspas se consistirem em mais de uma palavra." - -#: ../../library/tkinter.rst:332 ../../library/tkinter.rst:646 -#: ../../library/tkinter.rst:825 -msgid "For example::" -msgstr "Por exemplo::" +#: ../../library/tkinter.rst:342 +msgid "geometry management" +msgstr "gerenciamento de geometria" #: ../../library/tkinter.rst:340 msgid "" -"Once created, the pathname to the widget becomes a new command. This new " -"*widget command* is the programmer's handle for getting the new widget to " -"perform some *action*. In C, you'd express this as someAction(fred, " -"someOptions), in C++, you would express this as fred." -"someAction(someOptions), and in Tk, you say::" +"Widgets aren't automatically added to the user interface when they are " +"created. A *geometry manager* like ``grid`` controls where in the user " +"interface they are placed." msgstr "" -"Uma vez criado, o nome do path do widget se torna um novo comando. Este novo " -"*comando widget* é o manipulador do programador para fazer o novo widget " -"executar alguma *ação*. Em C, você expressaria isso como algumaAção(fred, " -"algumasOpções), em C++, você expressaria isso como fred." -"algumaAção(algumasOpções), e em Tk, você usaria::" +"Os widgets não são automaticamente adicionados à interface de usuário quando " +"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 -msgid "Note that the object name, ``.fred``, starts with a dot." -msgstr "Observe que o nome do objeto, ``.fred``, começa com um ponto." +msgid "event loop" +msgstr "loop de eventos" -#: ../../library/tkinter.rst:350 +#: ../../library/tkinter.rst:345 msgid "" -"As you'd expect, the legal values for *someAction* will depend on the " -"widget's class: ``.fred disable`` works if fred is a button (fred gets " -"greyed out), but does not work if fred is a label (disabling of labels is " -"not supported in Tk)." +"Tkinter reacts to user input, changes from your program, and even refreshes " +"the display only when actively running an *event loop*. If your program " +"isn't running the event loop, your user interface won't update." msgstr "" -"Como você deve esperar, os valores legais de *algumaAção* vão depender da " -"classe do widget: ``.fred disable`` funciona se fred é um botão (fred fica " -"cinza), mas não funciona se fred é uma etiqueta (desativar etiquetas não é " -"suportado por Tk)." +"O Tkinter reage à entrada do usuário, muda de seu programa, e até mesmo " +"atualiza a tela somente ao executar ativamente um *loop de eventos*. Se o " +"seu programa não estiver executando o loop de eventos, sua interface de " +"usuário não será atualizada." + +#: ../../library/tkinter.rst:351 +msgid "Understanding How Tkinter Wraps Tcl/Tk" +msgstr "Entendendo como Tkinter envolve Tcl/Tk" -#: ../../library/tkinter.rst:354 +#: ../../library/tkinter.rst:353 msgid "" -"The legal values of *someOptions* is action dependent. Some actions, like " -"``disable``, require no arguments, others, like a text-entry box's " -"``delete`` command, would need arguments to specify what range of text to " -"delete." +"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` " +"instance." msgstr "" -"Os valores legais para *algumaOpção* é dependente de ação. Algumas ações, " -"como ``disable``, requerem nenhum argumento, outras, como o comando " -"``delete`` de uma caixa de entrada de texto, precisaria de argumentos para " -"especificar o intervalo do texto para apagar." +"Quando a sua aplicação utiliza as classes e métodos do Tkinter, internamente " +"o Tkinter está montando strings representando comandos Tcl/Tk e executando " +"esses comandos no interpretador Tcl anexado à instância :class:`Tk` de sua " +"aplicação." -#: ../../library/tkinter.rst:362 -msgid "Mapping Basic Tk into Tkinter" -msgstr "Mapeamento de TK Básico para Tkinter" - -#: ../../library/tkinter.rst:364 -msgid "Class commands in Tk correspond to class constructors in Tkinter. ::" +#: ../../library/tkinter.rst:358 +msgid "" +"Whether it's trying to navigate reference documentation, trying to find the " +"right method or option, adapting some existing code, or debugging your " +"Tkinter application, there are times that it will be useful to understand " +"what those underlying Tcl/Tk commands look like." msgstr "" -"Comandos de classe em Tk correspondem à construtores de classe em Tkinter. ::" +"Seja tentando navegar na documentação de referência, tentando encontrar o " +"método ou opção certa, adaptando algum código existente ou depurando seu " +"aplicativo Tkinter, há momentos em que será útil entender como são os " +"comandos Tcl/Tk subjacentes." -#: ../../library/tkinter.rst:368 +#: ../../library/tkinter.rst:363 msgid "" -"The master of an object is implicit in the new name given to it at creation " -"time. In Tkinter, masters are specified explicitly. ::" +"To illustrate, here is the Tcl/Tk equivalent of the main part of the Tkinter " +"script above." msgstr "" -"O mestre de um objeto está implícito no novo nome dado a ele no momento da " -"criação. No Tkinter, os masters são especificados explicitamente. ::" +"Para ilustrar, aqui está o equivalente Tcl/Tk da parte principal do script " +"Tkinter acima." -#: ../../library/tkinter.rst:373 +#: ../../library/tkinter.rst:374 msgid "" -"The configuration options in Tk are given in lists of hyphened tags followed " -"by values. In Tkinter, options are specified as keyword-arguments in the " -"instance constructor, and keyword-args for configure calls or as instance " -"indices, in dictionary style, for established instances. See section :ref:" -"`tkinter-setting-options` on setting options. ::" +"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, " +"separated by spaces. Without getting into too many details, notice the " +"following:" msgstr "" -"As opções de configurações em Tk são dadas como listas de etiquetas com " -"hífen seguidas por valores. Em Tkinter, as opções são especificadas como " -"argumentos de palavra reservada na instância do construtor, e args de " -"palavras reservadas para configurar chamadas, ou como índices de instâncias, " -"na forma de dicionários, para estabelecer instâncias. Veja a seção See " -"section :ref:`tkinter-setting-options` sobre opções de definições. ::" +"A sintaxe do Tcl é semelhante a muitas linguagens de shell, onde a primeira " +"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:383 +#: ../../library/tkinter.rst:378 msgid "" -"In Tk, to perform an action on a widget, use the widget name as a command, " -"and follow it with an action name, possibly with arguments (options). In " -"Tkinter, you call methods on the class instance to invoke actions on the " -"widget. The actions (methods) that a given widget can perform are listed " -"in :file:`tkinter/__init__.py`. ::" +"The commands used to create widgets (like ``ttk::frame``) correspond to " +"widget classes in Tkinter." msgstr "" -"Em Tk, para executar uma ação em um widget, utilize o nome do widget como " -"comando, seguido pelo nome de uma ação, possivelmente com argumentos " -"(opções). Em Tkinter, você chama métodos na instância da classe para invocar " -"ações no widget. As ações (métodos) que um determindo widget pode executar " -"estão listadas em :file:`tkinter/__init__.py`. ::" +"Os comandos usados para criar widgets (como ``ttk::frame``) correspondem a " +"classes de widgets no Tkinter." -#: ../../library/tkinter.rst:391 +#: ../../library/tkinter.rst:381 msgid "" -"To give a widget to the packer (geometry manager), you call pack with " -"optional arguments. In Tkinter, the Pack class holds all this " -"functionality, and the various forms of the pack command are implemented as " -"methods. All widgets in :mod:`tkinter` are subclassed from the Packer, and " -"so inherit all the packing methods. See the :mod:`tkinter.tix` module " -"documentation for additional information on the Form geometry manager. ::" +"Tcl widget options (like ``-text``) correspond to keyword arguments in " +"Tkinter." msgstr "" -"Para dar o widget ao empacotador (gerenciador de geometria), você chama pack " -"com argumentos opcionais. Em Tkinter, a classe Pack detém toda esta " -"funcionalidade, e as várias formas do comando pack estão implementadas como " -"métodos. Todos os widgets em :mod:`tkinter` são subclasses de Packer, e " -"portanto herdam todos os métodos de empacotamento. Veja a documentação do " -"módulo :mod:`tkinter.tix` para informações adicionais sobre o gerenciador de " -"geometria. ::" +"As opções de widget Tcl (como ``-text``) correspondem a argumentos nomeados " +"no Tkinter." -#: ../../library/tkinter.rst:402 -msgid "How Tk and Tkinter are Related" -msgstr "Como Tk e Tkinter estão relacionados" +#: ../../library/tkinter.rst:384 +msgid "" +"Widgets are referred to by a *pathname* in Tcl (like ``.frm.btn``), whereas " +"Tkinter doesn't use names but object references." +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:404 -msgid "From the top down:" -msgstr "De cima para baixo:" +#: ../../library/tkinter.rst:387 +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 " +"root window is just ``.`` (dot). In Tkinter, the hierarchy is defined not by " +"pathname but by specifying the parent widget when creating each child widget." +msgstr "" +"O lugar de um widget na hierarquia widget é codificado em seu pathname " +"(hierárquico), que utiliza um ``.`` (ponto) como um separador de caminho. O " +"pathname para a janela raiz é apenas ``.`` (ponto). No Tkinter, a hierarquia " +"é definida não pelo pathname, mas pela especificação do widget pai ao criar " +"cada widget filho." -#: ../../library/tkinter.rst:407 -msgid "Your App Here (Python)" -msgstr "Sua aplicação aqui (Python)" +#: ../../library/tkinter.rst:393 +msgid "" +"Operations which are implemented as separate *commands* in Tcl (like " +"``grid`` or ``destroy``) are represented as *methods* on Tkinter widget " +"objects. As you'll see shortly, at other times Tcl uses what appear to be " +"method calls on widget objects, which more closely mirror what would is used " +"in Tkinter." +msgstr "" +"Operações que são implementadas como *comandos* separados em Tcl (como " +"``grid`` ou ``destroy``) são representadas como *métodos* em objetos de " +"widget Tkinter. Como você verá em breve, em outras ocasiões o Tcl usa o que " +"parecem ser chamadas de método em objetos widget, que espelham mais de perto " +"o que seria usado no Tkinter." -#: ../../library/tkinter.rst:407 -msgid "A Python application makes a :mod:`tkinter` call." -msgstr "Ums aplicação Python faz uma chamada :mod:`tkinter`." +#: ../../library/tkinter.rst:401 +msgid "How do I...? What option does...?" +msgstr "Como é que eu...? Que opção faz...?" -#: ../../library/tkinter.rst:414 -msgid "tkinter (Python Package)" -msgstr "tkinter (pacote Python)" +#: ../../library/tkinter.rst:403 +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:410 +#: ../../library/tkinter.rst:407 msgid "" -"This call (say, for example, creating a button widget), is implemented in " -"the :mod:`tkinter` package, which is written in Python. This Python " -"function will parse the commands and the arguments and convert them into a " -"form that makes them look as if they had come from a Tk script instead of a " -"Python script." +"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 "" -"Esta chamada (por exemplo, criando um widget de botão), é implementada no " -"pacote :mod:`tkinter`, que é escrito em Python. Esta função Python irá " -"analisar os comandos e os argumentos e convertê-los em uma forma que faça " -"parecer que vieram de um script Tk em vez de um script Python." +"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:418 -msgid "_tkinter (C)" -msgstr "_tkinter (C)" +#: ../../library/tkinter.rst:412 +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 msgid "" -"These commands and their arguments will be passed to a C function in the :" -"mod:`_tkinter` - note the underscore - extension module." +"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 "" -"Esses comandos e seus argumentos serão passados para uma função C no módulo " -"de extensão :mod:`_tkinter` - note o sublinhado." +"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:425 -msgid "Tk Widgets (C and Tcl)" -msgstr "Widgets Tk (C e Tcl)" - -#: ../../library/tkinter.rst:421 +#: ../../library/tkinter.rst:427 msgid "" -"This C function is able to make calls into other C modules, including the C " -"functions that make up the Tk library. Tk is implemented in C and some Tcl. " -"The Tcl part of the Tk widgets is used to bind certain default behaviors to " -"widgets, and is executed once at the point where the Python :mod:`tkinter` " -"package is imported. (The user never sees this stage)." +"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 "" -"Esta função C é capaz de fazer chamadas para outros módulos C, incluindo as " -"funções C que compõem a biblioteca Tk. Tk é implementado em C e algum Tcl. A " -"parte Tcl dos widgets Tk é usada para vincular certos comportamentos padrão " -"aos widgets e é executada uma vez no ponto onde o pacote Python :mod:" -"`tkinter` é importado. (O usuário nunca vê este estágio)." +"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:428 -msgid "Tk (C)" -msgstr "Tk (C)" +#: ../../library/tkinter.rst:436 +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:428 -msgid "The Tk part of the Tk Widgets implement the final mapping to ..." -msgstr "A parte Tk dos Widgets Tk implementa o mapeamento final para ..." +#: ../../library/tkinter.rst:448 +msgid "Navigating the Tcl/Tk Reference Manual" +msgstr "Navegando no Manual de Referência Tcl/Tk" -#: ../../library/tkinter.rst:432 -msgid "Xlib (C)" -msgstr "Xlib (C)" +#: ../../library/tkinter.rst:450 +msgid "" +"As noted, the official `Tk commands `_ reference manual (man pages) is often the most accurate " +"description of what specific operations on widgets do. Even when you know " +"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:431 -msgid "the Xlib library to draw graphics on the screen." -msgstr "a biblioteca Xlib para desenhar gráficos na tela." +#: ../../library/tkinter.rst:455 +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:435 +#: ../../library/tkinter.rst:465 +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 +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 `_)." +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 `_)." + +#: ../../library/tkinter.rst:484 +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." +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 +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." +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 +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)." +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 msgid "Threading model" msgstr "Modelo de threading" -#: ../../library/tkinter.rst:437 +#: ../../library/tkinter.rst:506 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." @@ -918,7 +1107,7 @@ msgstr "" "`tkinter` tenta fazer a ponte. Se você usa threads, pode precisar estar " "ciente disso." -#: ../../library/tkinter.rst:440 +#: ../../library/tkinter.rst:509 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 " @@ -932,7 +1121,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:445 +#: ../../library/tkinter.rst:514 msgid "" "Each :class:`Tk` object created by :mod:`tkinter` contains a Tcl " "interpreter. It also keeps track of which thread created that interpreter. " @@ -948,7 +1137,7 @@ 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:452 +#: ../../library/tkinter.rst:521 msgid "" "Tcl/Tk applications are normally event-driven, meaning that after " "initialization, the interpreter runs an event loop (i.e. :func:`Tk." @@ -971,7 +1160,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:461 +#: ../../library/tkinter.rst:530 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 " @@ -981,11 +1170,11 @@ msgstr "" "processando eventos, qualquer chamada :mod:`tkinter` feita de threads " "diferentes daquela que está executando o interpretador do Tcl irá falhar." -#: ../../library/tkinter.rst:465 +#: ../../library/tkinter.rst:534 msgid "A number of special cases exist:" msgstr "Existem vários casos especiais:" -#: ../../library/tkinter.rst:467 +#: ../../library/tkinter.rst:536 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 " @@ -994,10 +1183,10 @@ msgid "" 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:472 +#: ../../library/tkinter.rst:541 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 " @@ -1014,7 +1203,7 @@ msgstr "" "garantir que você esteja executando uma construção Tcl/Tk com reconhecimento " "de thread." -#: ../../library/tkinter.rst:478 +#: ../../library/tkinter.rst:547 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 " @@ -1027,7 +1216,7 @@ msgstr "" "eventos. Se você estiver fazendo algo complicado quando se trata de eventos " "ou threads, esteja ciente dessas possibilidades." -#: ../../library/tkinter.rst:483 +#: ../../library/tkinter.rst:552 msgid "" "There are a few select :mod:`tkinter` functions that presently work only " "when called from the thread that created the Tcl interpreter." @@ -1036,15 +1225,15 @@ msgstr "" "funcionam apenas quando chamadas a partir da thread que criou o " "interpretador Tcl." -#: ../../library/tkinter.rst:488 +#: ../../library/tkinter.rst:557 msgid "Handy Reference" msgstr "Referência Útil" -#: ../../library/tkinter.rst:494 +#: ../../library/tkinter.rst:563 msgid "Setting Options" msgstr "Opções de Definição" -#: ../../library/tkinter.rst:496 +#: ../../library/tkinter.rst:565 msgid "" "Options control things like the color and border width of a widget. Options " "can be set in three ways:" @@ -1052,17 +1241,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:502 +#: ../../library/tkinter.rst:571 msgid "At object creation time, using keyword arguments" msgstr "No momento da criação do objeto, usando argumentos nomeados" -#: ../../library/tkinter.rst:508 +#: ../../library/tkinter.rst:577 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:513 +#: ../../library/tkinter.rst:582 msgid "" "Use the config() method to update multiple attrs subsequent to object " "creation" @@ -1070,7 +1259,7 @@ msgstr "" "Use o método config() para atualizar vários attrs posteriores à criação do " "objeto" -#: ../../library/tkinter.rst:515 +#: ../../library/tkinter.rst:584 msgid "" "For a complete explanation of a given option and its behavior, see the Tk " "man pages for the widget in question." @@ -1078,7 +1267,7 @@ 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:518 +#: ../../library/tkinter.rst:587 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 " @@ -1092,7 +1281,7 @@ msgstr "" "widget em particular. As Opções Padrão estão documentadas na página man :" "manpage:`options(3)`." -#: ../../library/tkinter.rst:524 +#: ../../library/tkinter.rst:593 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 " @@ -1104,7 +1293,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:529 +#: ../../library/tkinter.rst:598 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 " @@ -1119,7 +1308,7 @@ msgstr "" "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:535 +#: ../../library/tkinter.rst:604 msgid "" "Some options, like ``bg`` are synonyms for common options with long names " "(``bg`` is shorthand for \"background\"). Passing the ``config()`` method " @@ -1131,82 +1320,82 @@ msgstr "" "longos (``bg`` é a abreviação de \"background\", ou plano de fundo em " "inglês). Passando o nome de uma opção abreviada ao método ``config()`` irá " "retornar uma tupla de 2 elementos, e não uma tupla de 5 elementos. A tupla " -"de 2 elementos devolvida irá conter o nome do sinônimo e a opção \"verdadeira" -"\" (como por exemplo em ``('bg', 'background')``)." +"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:542 +#: ../../library/tkinter.rst:611 msgid "Index" msgstr "Índice" -#: ../../library/tkinter.rst:542 +#: ../../library/tkinter.rst:611 msgid "Meaning" msgstr "Significado" -#: ../../library/tkinter.rst:542 +#: ../../library/tkinter.rst:611 msgid "Example" msgstr "Exemplo" -#: ../../library/tkinter.rst:544 +#: ../../library/tkinter.rst:613 msgid "0" msgstr "0" -#: ../../library/tkinter.rst:544 +#: ../../library/tkinter.rst:613 msgid "option name" msgstr "nome da opção" -#: ../../library/tkinter.rst:544 ../../library/tkinter.rst:546 +#: ../../library/tkinter.rst:613 ../../library/tkinter.rst:615 msgid "``'relief'``" msgstr "``'relief'``" -#: ../../library/tkinter.rst:546 +#: ../../library/tkinter.rst:615 msgid "1" msgstr "1" -#: ../../library/tkinter.rst:546 +#: ../../library/tkinter.rst:615 msgid "option name for database lookup" msgstr "nome da opção para buscas de banco de dados" -#: ../../library/tkinter.rst:548 +#: ../../library/tkinter.rst:617 msgid "2" msgstr "2" -#: ../../library/tkinter.rst:548 +#: ../../library/tkinter.rst:617 msgid "option class for database lookup" msgstr "classe de opção para busca de banco de dados" -#: ../../library/tkinter.rst:548 +#: ../../library/tkinter.rst:617 msgid "``'Relief'``" msgstr "``'Relief'``" -#: ../../library/tkinter.rst:551 +#: ../../library/tkinter.rst:620 msgid "3" msgstr "3" -#: ../../library/tkinter.rst:551 +#: ../../library/tkinter.rst:620 msgid "default value" msgstr "valor padrão" -#: ../../library/tkinter.rst:551 +#: ../../library/tkinter.rst:620 msgid "``'raised'``" msgstr "``'raised'``" -#: ../../library/tkinter.rst:553 +#: ../../library/tkinter.rst:622 msgid "4" msgstr "4" -#: ../../library/tkinter.rst:553 +#: ../../library/tkinter.rst:622 msgid "current value" -msgstr "valor atual " +msgstr "valor atual" -#: ../../library/tkinter.rst:553 +#: ../../library/tkinter.rst:622 msgid "``'groove'``" msgstr "``'groove'``" -#: ../../library/tkinter.rst:556 +#: ../../library/tkinter.rst:625 msgid "Example::" msgstr "Exemplo::" -#: ../../library/tkinter.rst:561 +#: ../../library/tkinter.rst:630 msgid "" "Of course, the dictionary printed will include all the options available and " "their values. This is meant only as an example." @@ -1214,11 +1403,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:566 +#: ../../library/tkinter.rst:635 msgid "The Packer" msgstr "O Empacotador" -#: ../../library/tkinter.rst:570 +#: ../../library/tkinter.rst:639 msgid "" "The packer is one of Tk's geometry-management mechanisms. Geometry " "managers are used to specify the relative positioning of widgets within " @@ -1236,7 +1425,7 @@ msgstr "" "de relacionamento qualitativo - *acima*, *à esquerda de*, *preenchimento*, " "etc. - e determina as coordenadas de posição exatas para você." -#: ../../library/tkinter.rst:577 +#: ../../library/tkinter.rst:646 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 " @@ -1253,7 +1442,7 @@ msgstr "" "dinamicamente para acomodar alterações incrementais na configuração, uma vez " "que é empacotado." -#: ../../library/tkinter.rst:584 +#: ../../library/tkinter.rst:653 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 " @@ -1268,7 +1457,7 @@ msgstr "" "tiver, por exemplo, o método método :meth:`pack` do empacotador aplicado a " "ele." -#: ../../library/tkinter.rst:590 +#: ../../library/tkinter.rst:659 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 " @@ -1279,11 +1468,11 @@ msgstr "" "deverá se comportar quando a janela da aplicação principal for " "redimensionada. Aqui estão alguns exemplos::" -#: ../../library/tkinter.rst:600 +#: ../../library/tkinter.rst:669 msgid "Packer Options" msgstr "Opções do Empacotador" -#: ../../library/tkinter.rst:602 +#: ../../library/tkinter.rst:671 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." @@ -1291,68 +1480,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:606 ../../library/tkinter.rst:726 +#: ../../library/tkinter.rst:675 ../../library/tkinter.rst:795 msgid "anchor" msgstr "anchor" -#: ../../library/tkinter.rst:606 +#: ../../library/tkinter.rst:675 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:609 +#: ../../library/tkinter.rst:678 msgid "expand" msgstr "expand" -#: ../../library/tkinter.rst:609 +#: ../../library/tkinter.rst:678 msgid "Boolean, ``0`` or ``1``." msgstr "Booleano, ``0`` ou ``1``." -#: ../../library/tkinter.rst:612 +#: ../../library/tkinter.rst:681 msgid "fill" msgstr "fill" -#: ../../library/tkinter.rst:612 +#: ../../library/tkinter.rst:681 msgid "Legal values: ``'x'``, ``'y'``, ``'both'``, ``'none'``." msgstr "Valores legais: ``'x'``, ``'y'``, ``'both'``, ``'none'``." -#: ../../library/tkinter.rst:615 +#: ../../library/tkinter.rst:684 msgid "ipadx and ipady" msgstr "ipadx e ipady" -#: ../../library/tkinter.rst:615 +#: ../../library/tkinter.rst:684 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:618 +#: ../../library/tkinter.rst:687 msgid "padx and pady" -msgstr "padx and pady" +msgstr "padx e pady" -#: ../../library/tkinter.rst:618 +#: ../../library/tkinter.rst:687 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:622 +#: ../../library/tkinter.rst:691 msgid "side" msgstr "side" -#: ../../library/tkinter.rst:621 +#: ../../library/tkinter.rst:690 msgid "Legal values are: ``'left'``, ``'right'``, ``'top'``, ``'bottom'``." msgstr "Valores legais são: ``'left'``, ``'right'``, ``'top'``, ``'bottom'``." -#: ../../library/tkinter.rst:625 +#: ../../library/tkinter.rst:694 msgid "Coupling Widget Variables" msgstr "Acoplando Variáveis de Widgets" -#: ../../library/tkinter.rst:627 +#: ../../library/tkinter.rst:696 msgid "" "The current-value setting of some widgets (like text entry widgets) can be " "connected directly to application variables by using special options. These " @@ -1368,7 +1557,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:633 +#: ../../library/tkinter.rst:702 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 " @@ -1382,7 +1571,7 @@ msgstr "" "são variáveis que são subclasses da classe chamada Variable, definida em :" "mod:`tkinter`." -#: ../../library/tkinter.rst:639 +#: ../../library/tkinter.rst:708 msgid "" "There are many useful subclasses of Variable already defined: :class:" "`StringVar`, :class:`IntVar`, :class:`DoubleVar`, and :class:`BooleanVar`. " @@ -1398,11 +1587,15 @@ msgstr "" "o widget irá sempre acompanhar os valores da variável, sem nenhuma " "intervenção da sua parte." -#: ../../library/tkinter.rst:679 +#: ../../library/tkinter.rst:715 ../../library/tkinter.rst:895 +msgid "For example::" +msgstr "Por exemplo::" + +#: ../../library/tkinter.rst:748 msgid "The Window Manager" msgstr "O Gerenciador de Janela" -#: ../../library/tkinter.rst:683 +#: ../../library/tkinter.rst:752 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 " @@ -1415,10 +1608,10 @@ msgstr "" "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:" +"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:690 +#: ../../library/tkinter.rst:759 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 " @@ -1436,29 +1629,29 @@ 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:697 +#: ../../library/tkinter.rst:766 msgid "Here are some examples of typical usage::" msgstr "Aqui estão alguns exemplos de uso típico::" -#: ../../library/tkinter.rst:720 +#: ../../library/tkinter.rst:789 msgid "Tk Option Data Types" msgstr "Opções de Tipos de Dados do Tk" -#: ../../library/tkinter.rst:725 +#: ../../library/tkinter.rst:794 msgid "" -"Legal values are points of the compass: ``\"n\"``, ``\"ne\"``, ``\"e\"``, ``" -"\"se\"``, ``\"s\"``, ``\"sw\"``, ``\"w\"``, ``\"nw\"``, and also ``\"center" -"\"``." +"Legal values are points of the compass: ``\"n\"``, ``\"ne\"``, ``\"e\"``, " +"``\"se\"``, ``\"s\"``, ``\"sw\"``, ``\"w\"``, ``\"nw\"``, and also " +"``\"center\"``." msgstr "" -"Valores legais são os pontos cardeais: ``\"n\"``, ``\"ne\"``, ``\"e\"``, ``" -"\"se\"``, ``\"s\"``, ``\"sw\"``, ``\"w\"``, ``\"nw\"``, e também ``\"center" -"\"``." +"Valores legais são os pontos cardeais: ``\"n\"``, ``\"ne\"``, ``\"e\"``, " +"``\"se\"``, ``\"s\"``, ``\"sw\"``, ``\"w\"``, ``\"nw\"``, e também " +"``\"center\"``." -#: ../../library/tkinter.rst:732 +#: ../../library/tkinter.rst:801 msgid "bitmap" msgstr "bitmap" -#: ../../library/tkinter.rst:729 +#: ../../library/tkinter.rst:798 msgid "" "There are eight built-in, named bitmaps: ``'error'``, ``'gray25'``, " "``'gray50'``, ``'hourglass'``, ``'info'``, ``'questhead'``, ``'question'``, " @@ -1471,46 +1664,46 @@ msgstr "" "arquivo, precedido pelo caractere ``@``, como em ``\"@/usr/contrib/bitmap/" "gumby.bit\"``." -#: ../../library/tkinter.rst:735 +#: ../../library/tkinter.rst:804 msgid "boolean" msgstr "booleano" -#: ../../library/tkinter.rst:735 +#: ../../library/tkinter.rst:804 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:742 +#: ../../library/tkinter.rst:811 msgid "callback" msgstr "função de retorno" -#: ../../library/tkinter.rst:738 +#: ../../library/tkinter.rst:807 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:748 +#: ../../library/tkinter.rst:817 msgid "color" msgstr "cor" -#: ../../library/tkinter.rst:745 +#: ../../library/tkinter.rst:814 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: ``\"#RRGGBB" -"\"``, 12 bit\" ``\"#RRRGGGBBB\"``, or 16 bit ``\"#RRRRGGGGBBBB\"`` ranges, " -"where R,G,B here represent any legal hex digit. See page 160 of " -"Ousterhout's book for details." +"strings representing RGB values in 4 bit: ``\"#RGB\"``, 8 bit: " +"``\"#RRGGBB\"``, 12 bit: ``\"#RRRGGGBBB\"``, or 16 bit: " +"``\"#RRRRGGGGBBBB\"`` ranges, where R,G,B here represent any legal hex " +"digit. See page 160 of Ousterhout's book for details." msgstr "" "As cores podem ser fornecidas como nomes de cores X no arquivo rgb.txt ou " -"como strings que representam valores RGB nos intervalos 4 bits: ``\"#RGB" -"\"``, 8 bits: ``\"#RRGGBB\"``, 12 bits:``\"#RRRGGGBBB\"`` ou 16 bits: ``" -"\"#RRRRGGGGBBBB\"`` onde R, G, B aqui representam qualquer dígito " +"como strings representando valores RGB em intervalos de 4 bits: " +"``\"#RGB\"``, 8 bit: ``\"#RRGGBB\"``, 12 bit: ``\"#RRRGGGBBB\"`` ou 16 bit: " +"``\"#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:754 +#: ../../library/tkinter.rst:823 msgid "cursor" msgstr "cursor" -#: ../../library/tkinter.rst:751 +#: ../../library/tkinter.rst:820 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`), " @@ -1523,11 +1716,11 @@ msgstr "" "bitmap e um arquivo de máscara de sua preferência. Veja a página 179 do " "livro de Ousterhout." -#: ../../library/tkinter.rst:761 +#: ../../library/tkinter.rst:830 msgid "distance" msgstr "distance" -#: ../../library/tkinter.rst:757 +#: ../../library/tkinter.rst:826 msgid "" "Screen distances can be specified in either pixels or absolute distances. " "Pixels are given as numbers and absolute distances as strings, with the " @@ -1539,14 +1732,14 @@ msgstr "" "absolutas. Pixels são dados como números e distâncias absolutas como " "strings, com os caracteres finais denotando unidades: ``c`` para " "centímetros, ``i`` para polegadas, ``m`` para milímetros, ``p`` para os " -"pontos da impressora. Por exemplo, 3,5 polegadas é expresso como ``\"3.5i" -"\"``." +"pontos da impressora. Por exemplo, 3,5 polegadas é expresso como " +"``\"3.5i\"``." -#: ../../library/tkinter.rst:766 +#: ../../library/tkinter.rst:835 msgid "font" msgstr "font" -#: ../../library/tkinter.rst:764 +#: ../../library/tkinter.rst:833 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 " @@ -1556,11 +1749,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:771 +#: ../../library/tkinter.rst:840 msgid "geometry" msgstr "geometria" -#: ../../library/tkinter.rst:769 +#: ../../library/tkinter.rst:838 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 " @@ -1570,11 +1763,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:775 +#: ../../library/tkinter.rst:844 msgid "justify" msgstr "justify" -#: ../../library/tkinter.rst:774 +#: ../../library/tkinter.rst:843 msgid "" "Legal values are the strings: ``\"left\"``, ``\"center\"``, ``\"right\"``, " "and ``\"fill\"``." @@ -1582,38 +1775,38 @@ msgstr "" "Valores aceitos são as strings: ``\"left\"``, ``\"center\"``, ``\"right\"`` " "e ``\"fill\"``." -#: ../../library/tkinter.rst:780 +#: ../../library/tkinter.rst:849 msgid "region" msgstr "region" -#: ../../library/tkinter.rst:778 +#: ../../library/tkinter.rst:847 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 " "2i\"`` and ``\"3c 2c 4c 10.43c\"`` are all legal regions." msgstr "" "Esta é uma string com quatro elementos delimitados por espaço, cada um dos " -"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." +"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:784 +#: ../../library/tkinter.rst:853 msgid "relief" msgstr "relief" -#: ../../library/tkinter.rst:783 +#: ../../library/tkinter.rst:852 msgid "" -"Determines what the border style of a widget will be. Legal values are: ``" -"\"raised\"``, ``\"sunken\"``, ``\"flat\"``, ``\"groove\"``, and ``\"ridge" -"\"``." +"Determines what the border style of a widget will be. Legal values are: " +"``\"raised\"``, ``\"sunken\"``, ``\"flat\"``, ``\"groove\"``, and " +"``\"ridge\"``." msgstr "" -"Determina qual será o estilo da borda de um widget. Os valores legais são: ``" -"\"raised\"``, ``\"sunken\"``, ``\"flat\"``, ``\"groove\"`` e ``\"ridge\"``." +"Determina qual será o estilo da borda de um widget. Os valores legais são: " +"``\"raised\"``, ``\"sunken\"``, ``\"flat\"``, ``\"groove\"`` e ``\"ridge\"``." -#: ../../library/tkinter.rst:788 +#: ../../library/tkinter.rst:857 msgid "scrollcommand" msgstr "scrollcommand" -#: ../../library/tkinter.rst:787 +#: ../../library/tkinter.rst:856 msgid "" "This is almost always the :meth:`!set` method of some scrollbar widget, but " "can be any widget method that takes a single argument." @@ -1622,19 +1815,19 @@ msgstr "" "rolagem, mas pode ser qualquer método de widget que receba um único " "argumento." -#: ../../library/tkinter.rst:791 +#: ../../library/tkinter.rst:860 msgid "wrap" msgstr "wrap" -#: ../../library/tkinter.rst:791 +#: ../../library/tkinter.rst:860 msgid "Must be one of: ``\"none\"``, ``\"char\"``, or ``\"word\"``." msgstr "Deve ser um de: ``\"none\"``, ``\"char\"`` ou ``\"word\"``." -#: ../../library/tkinter.rst:796 +#: ../../library/tkinter.rst:865 msgid "Bindings and Events" msgstr "Ligações e Eventos" -#: ../../library/tkinter.rst:802 +#: ../../library/tkinter.rst:871 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. " @@ -1644,27 +1837,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:808 +#: ../../library/tkinter.rst:877 msgid "where:" msgstr "sendo que:" -#: ../../library/tkinter.rst:812 +#: ../../library/tkinter.rst:882 msgid "sequence" -msgstr "sequence" +msgstr "sequência" -#: ../../library/tkinter.rst:811 +#: ../../library/tkinter.rst:880 msgid "" -"is a string that denotes the target kind of event. (See the bind man page " -"and page 201 of John Ousterhout's book 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 " -"bind e a página 201 do livro de John Ousterhout para obter detalhes)." +"é 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:817 +#: ../../library/tkinter.rst:887 msgid "func" msgstr "func" -#: ../../library/tkinter.rst:815 +#: ../../library/tkinter.rst:885 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 " @@ -1674,11 +1869,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:823 +#: ../../library/tkinter.rst:893 msgid "add" msgstr "add" -#: ../../library/tkinter.rst:820 +#: ../../library/tkinter.rst:890 msgid "" "is optional, either ``''`` or ``'+'``. Passing an empty string denotes that " "this binding is to replace any other bindings that this event is associated " @@ -1690,7 +1885,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:832 +#: ../../library/tkinter.rst:902 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 " @@ -1704,143 +1899,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:838 +#: ../../library/tkinter.rst:908 msgid "Tkinter Event Field" msgstr "Campo de Eventos do Tkinter" -#: ../../library/tkinter.rst:840 +#: ../../library/tkinter.rst:910 msgid "%f" msgstr "%f" -#: ../../library/tkinter.rst:840 +#: ../../library/tkinter.rst:910 msgid "focus" msgstr "focus" -#: ../../library/tkinter.rst:840 +#: ../../library/tkinter.rst:910 msgid "%A" msgstr "%A" -#: ../../library/tkinter.rst:840 +#: ../../library/tkinter.rst:910 msgid "char" msgstr "char" -#: ../../library/tkinter.rst:842 +#: ../../library/tkinter.rst:912 msgid "%h" msgstr "%h" -#: ../../library/tkinter.rst:842 +#: ../../library/tkinter.rst:912 msgid "height" msgstr "height" -#: ../../library/tkinter.rst:842 +#: ../../library/tkinter.rst:912 msgid "%E" msgstr "%E" -#: ../../library/tkinter.rst:842 +#: ../../library/tkinter.rst:912 msgid "send_event" msgstr "send_event" -#: ../../library/tkinter.rst:844 +#: ../../library/tkinter.rst:914 msgid "%k" msgstr "%k" -#: ../../library/tkinter.rst:844 +#: ../../library/tkinter.rst:914 msgid "keycode" msgstr "keycode" -#: ../../library/tkinter.rst:844 +#: ../../library/tkinter.rst:914 msgid "%K" msgstr "%K" -#: ../../library/tkinter.rst:844 +#: ../../library/tkinter.rst:914 msgid "keysym" msgstr "keysym" -#: ../../library/tkinter.rst:846 +#: ../../library/tkinter.rst:916 msgid "%s" msgstr "%s" -#: ../../library/tkinter.rst:846 +#: ../../library/tkinter.rst:916 msgid "state" msgstr "state" -#: ../../library/tkinter.rst:846 +#: ../../library/tkinter.rst:916 msgid "%N" msgstr "%N" -#: ../../library/tkinter.rst:846 +#: ../../library/tkinter.rst:916 msgid "keysym_num" msgstr "keysym_num" -#: ../../library/tkinter.rst:848 +#: ../../library/tkinter.rst:918 msgid "%t" msgstr "%t" -#: ../../library/tkinter.rst:848 +#: ../../library/tkinter.rst:918 msgid "time" msgstr "time" -#: ../../library/tkinter.rst:848 +#: ../../library/tkinter.rst:918 msgid "%T" msgstr "%T" -#: ../../library/tkinter.rst:848 +#: ../../library/tkinter.rst:918 msgid "type" msgstr "tipo" -#: ../../library/tkinter.rst:850 +#: ../../library/tkinter.rst:920 msgid "%w" msgstr "%w" -#: ../../library/tkinter.rst:850 +#: ../../library/tkinter.rst:920 msgid "width" msgstr "width" -#: ../../library/tkinter.rst:850 +#: ../../library/tkinter.rst:920 msgid "%W" msgstr "%W" -#: ../../library/tkinter.rst:850 +#: ../../library/tkinter.rst:920 msgid "widget" msgstr "widget" -#: ../../library/tkinter.rst:852 +#: ../../library/tkinter.rst:922 msgid "%x" msgstr "%x" -#: ../../library/tkinter.rst:852 +#: ../../library/tkinter.rst:922 msgid "x" msgstr "x" -#: ../../library/tkinter.rst:852 +#: ../../library/tkinter.rst:922 msgid "%X" msgstr "%X" -#: ../../library/tkinter.rst:852 +#: ../../library/tkinter.rst:922 msgid "x_root" msgstr "x_root" -#: ../../library/tkinter.rst:854 +#: ../../library/tkinter.rst:924 msgid "%y" msgstr "%y" -#: ../../library/tkinter.rst:854 +#: ../../library/tkinter.rst:924 msgid "y" msgstr "y" -#: ../../library/tkinter.rst:854 +#: ../../library/tkinter.rst:924 msgid "%Y" msgstr "%Y" -#: ../../library/tkinter.rst:854 +#: ../../library/tkinter.rst:924 msgid "y_root" msgstr "y_root" -#: ../../library/tkinter.rst:859 +#: ../../library/tkinter.rst:929 msgid "The index Parameter" msgstr "O Parâmetro index" -#: ../../library/tkinter.rst:861 +#: ../../library/tkinter.rst:931 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 " @@ -1851,32 +2046,37 @@ msgstr "" "caracteres específicos em um widget Entry, ou para itens de menu específicos " "em um widget Menu." -#: ../../library/tkinter.rst:868 +#: ../../library/tkinter.rst:938 msgid "Entry widget indexes (index, view index, etc.)" -msgstr "" +msgstr "Índices de widget de entrada (índice, índice de visualização, etc.)" -#: ../../library/tkinter.rst:866 +#: ../../library/tkinter.rst:936 msgid "" "Entry widgets have options that refer to character positions in the text " "being displayed. You can use these :mod:`tkinter` functions to access these " "special points in text widgets:" msgstr "" +"Os widgets de entrada têm opções que se referem às posições dos caracteres " +"no texto exibido. Você pode acessar esses pontos especiais em um widget de " +"texto usando as seguintes funções :mod:`tkinter`:" -#: ../../library/tkinter.rst:872 +#: ../../library/tkinter.rst:942 msgid "Text widget indexes" -msgstr "" +msgstr "Índice de widget de texto" -#: ../../library/tkinter.rst:871 +#: ../../library/tkinter.rst:941 msgid "" "The index notation for Text widgets is very rich and is best described in " "the Tk man pages." msgstr "" +"A notação de índice do widget de texto é muito rica e é melhor detalhada nas " +"páginas do manual Tk." -#: ../../library/tkinter.rst:897 +#: ../../library/tkinter.rst:967 msgid "Menu indexes (menu.invoke(), menu.entryconfig(), etc.)" -msgstr "" +msgstr "Índices de menu (menu.invoke(), menu.entryconfig(), etc.)" -#: ../../library/tkinter.rst:875 +#: ../../library/tkinter.rst:945 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:" @@ -1885,7 +2085,7 @@ msgstr "" "Sempre que um índice de menu é necessário para uma opção ou parâmetro, você " "pode passar:" -#: ../../library/tkinter.rst:878 +#: ../../library/tkinter.rst:948 msgid "" "an integer which refers to the numeric position of the entry in the widget, " "counted from the top, starting with 0;" @@ -1893,7 +2093,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:881 +#: ../../library/tkinter.rst:951 msgid "" "the string ``\"active\"``, which refers to the menu position that is " "currently under the cursor;" @@ -1901,11 +2101,11 @@ msgstr "" "a string ``\"active\"``, que se refere à posição do menu que está atualmente " "sob o cursor;" -#: ../../library/tkinter.rst:884 +#: ../../library/tkinter.rst:954 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:886 +#: ../../library/tkinter.rst:956 msgid "" "An integer preceded by ``@``, as in ``@6``, where the integer is interpreted " "as a y pixel coordinate in the menu's coordinate system;" @@ -1914,7 +2114,7 @@ msgstr "" "interpretado como uma coordenada de pixel y no sistema de coordenadas do " "menu;" -#: ../../library/tkinter.rst:889 +#: ../../library/tkinter.rst:959 msgid "" "the string ``\"none\"``, which indicates no menu entry at all, most often " "used with menu.activate() to deactivate all entries, and finally," @@ -1923,7 +2123,7 @@ msgstr "" "frequentemente usada com menu.activate() para desativar todas as entradas e, " "finalmente," -#: ../../library/tkinter.rst:892 +#: ../../library/tkinter.rst:962 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 " @@ -1938,11 +2138,11 @@ msgstr "" "``active`` ou ``none`` podem ser interpretadas como os literais acima, em " "vez disso." -#: ../../library/tkinter.rst:900 +#: ../../library/tkinter.rst:970 msgid "Images" msgstr "Imagens" -#: ../../library/tkinter.rst:902 +#: ../../library/tkinter.rst:972 msgid "" "Images of different formats can be created through the corresponding " "subclass of :class:`tkinter.Image`:" @@ -1950,11 +2150,11 @@ msgstr "" "Imagens de diferentes formatos podem ser criadas por meio da subclasse " "correspondente de :class:`tkinter.Image`:" -#: ../../library/tkinter.rst:905 +#: ../../library/tkinter.rst:975 msgid ":class:`BitmapImage` for images in XBM format." msgstr ":class:`BitmapImage` para imagens no formato XBM." -#: ../../library/tkinter.rst:907 +#: ../../library/tkinter.rst:977 msgid "" ":class:`PhotoImage` for images in PGM, PPM, GIF and PNG formats. The latter " "is supported starting with Tk 8.6." @@ -1962,7 +2162,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:910 +#: ../../library/tkinter.rst:980 msgid "" "Either type of image is created through either the ``file`` or the ``data`` " "option (other options are available as well)." @@ -1970,7 +2170,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:913 +#: ../../library/tkinter.rst:983 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 " @@ -1984,19 +2184,19 @@ 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:921 +#: ../../library/tkinter.rst:991 msgid "" -"The `Pillow `_ package adds support for formats " +"The `Pillow `_ package adds support for formats " "such as BMP, JPEG, TIFF, and WebP, among others." msgstr "" -"O pacote `Pillow `_ adiciona suporte para " -"formatos como BMP, JPEG, TIFF e WebP, dentre outros." +"O pacote `Pillow `_ adiciona suporte para " +"formatos como BMP, JPEG, TIFF e WebP, entre outros." -#: ../../library/tkinter.rst:927 +#: ../../library/tkinter.rst:997 msgid "File Handlers" msgstr "Tratadores de arquivos" -#: ../../library/tkinter.rst:929 +#: ../../library/tkinter.rst:999 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 " @@ -2007,11 +2207,11 @@ msgstr "" "em um descritor de arquivo. Apenas um tratador pode ser registrado por " "descritor de arquivo. Código de exemplo::" -#: ../../library/tkinter.rst:940 +#: ../../library/tkinter.rst:1010 msgid "This feature is not available on Windows." msgstr "Este recurso não está disponível no Windows." -#: ../../library/tkinter.rst:942 +#: ../../library/tkinter.rst:1012 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:" @@ -2024,12 +2224,12 @@ 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 " +"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:953 +#: ../../library/tkinter.rst:1023 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 " @@ -2043,10 +2243,10 @@ 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:964 +#: ../../library/tkinter.rst:1034 msgid "Unregisters a file handler." msgstr "Cancela o registro de um tratador de arquivo." -#: ../../library/tkinter.rst:971 +#: ../../library/tkinter.rst:1041 msgid "Constants used in the *mask* arguments." msgstr "Constantes usadas nos argumentos *mask*." diff --git a/library/tkinter.scrolledtext.po b/library/tkinter.scrolledtext.po index b59924e00..ad12b48a5 100644 --- a/library/tkinter.scrolledtext.po +++ b/library/tkinter.scrolledtext.po @@ -1,26 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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.10\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-06-29 12:56+0000\n" -"PO-Revision-Date: 2021-06-28 01:15+0000\n" -"Last-Translator: Rafael Fontenelle , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:58+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/tkinter.scrolledtext.rst:2 msgid ":mod:`tkinter.scrolledtext` --- Scrolled Text Widget" diff --git a/library/tkinter.tix.po b/library/tkinter.tix.po index c95ecb354..092fb4698 100644 --- a/library/tkinter.tix.po +++ b/library/tkinter.tix.po @@ -1,27 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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.10\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-06-29 12:56+0000\n" -"PO-Revision-Date: 2021-06-28 01:15+0000\n" -"Last-Translator: i17obot , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:58+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/tkinter.tix.rst:2 msgid ":mod:`tkinter.tix` --- Extension widgets for Tk" @@ -59,7 +59,7 @@ msgid "" msgstr "" #: ../../library/tkinter.tix.rst:38 -msgid "`Tix Homepage `_" +msgid "`Tix Homepage `_" msgstr "" #: ../../library/tkinter.tix.rst:37 @@ -69,7 +69,7 @@ msgid "" msgstr "" #: ../../library/tkinter.tix.rst:41 -msgid "`Tix Man Pages `_" +msgid "`Tix Man Pages `_" msgstr "" #: ../../library/tkinter.tix.rst:41 @@ -78,7 +78,7 @@ msgstr "" #: ../../library/tkinter.tix.rst:44 msgid "" -"`Tix Programming Guide `_" msgstr "" @@ -88,7 +88,7 @@ msgstr "" #: ../../library/tkinter.tix.rst:48 msgid "" -"`Tix Development Applications `_" msgstr "" @@ -131,7 +131,7 @@ msgstr "" #: ../../library/tkinter.tix.rst:83 msgid "" -"`Tix `_ introduces over 40 widget classes to the :mod:`tkinter` repertoire." msgstr "" @@ -141,7 +141,7 @@ msgstr "Widgets básicos" #: ../../library/tkinter.tix.rst:93 msgid "" -"A `Balloon `_ that pops up over a widget to provide help. When the user " "moves the cursor inside a widget to which a Balloon widget has been bound, a " "small pop-up window with a descriptive message will be shown on the screen." @@ -149,14 +149,14 @@ msgstr "" #: ../../library/tkinter.tix.rst:105 msgid "" -"The `ButtonBox `_ widget creates a box of buttons, such as is commonly " "used for ``Ok Cancel``." msgstr "" #: ../../library/tkinter.tix.rst:115 msgid "" -"The `ComboBox `_ widget is similar to the combo box control in MS Windows. " "The user can select a choice by either typing in the entry subwidget or " "selecting from the listbox subwidget." @@ -164,7 +164,7 @@ msgstr "" #: ../../library/tkinter.tix.rst:127 msgid "" -"The `Control `_ widget is also known as the :class:`SpinBox` widget. The " "user can adjust the value by pressing the two arrow buttons or by entering " "the value directly into the entry. The new value will be checked against the " @@ -173,7 +173,7 @@ msgstr "" #: ../../library/tkinter.tix.rst:140 msgid "" -"The `LabelEntry `_ widget packages an entry widget and a label into one " "mega widget. It can be used to simplify the creation of \"entry-form\" type " "of interface." @@ -181,7 +181,7 @@ msgstr "" #: ../../library/tkinter.tix.rst:151 msgid "" -"The `LabelFrame `_ widget packages a frame widget and a label into one " "mega widget. To create widgets inside a LabelFrame widget, one creates the " "new widgets relative to the :attr:`frame` subwidget and manage them inside " @@ -190,20 +190,20 @@ msgstr "" #: ../../library/tkinter.tix.rst:163 msgid "" -"The `Meter `_ widget can be used to show the progress of a background job which may " -"take a long time to execute." +"The `Meter `_ widget can be used to show the progress of a background job " +"which may take a long time to execute." msgstr "" #: ../../library/tkinter.tix.rst:174 msgid "" -"The `OptionMenu `_ creates a menu button of options." msgstr "" #: ../../library/tkinter.tix.rst:184 msgid "" -"The `PopupMenu `_ widget can be used as a replacement of the ``tk_popup`` " "command. The advantage of the :mod:`Tix` :class:`PopupMenu` widget is it " "requires less application code to manipulate." @@ -211,25 +211,25 @@ msgstr "" #: ../../library/tkinter.tix.rst:196 msgid "" -"The `Select `_ widget is a container of button subwidgets. It can be used " "to provide radio-box or check-box style of selection options for the user." msgstr "" #: ../../library/tkinter.tix.rst:207 msgid "" -"The `StdButtonBox `_ widget is a group of standard buttons for Motif-like " "dialog boxes." msgstr "" #: ../../library/tkinter.tix.rst:216 msgid "File Selectors" -msgstr "" +msgstr "Seletores de arquivo" #: ../../library/tkinter.tix.rst:221 msgid "" -"The `DirList `_ widget displays a list view of a directory, its previous " "directories and its sub-directories. The user can choose one of the " "directories displayed in the list or change to another directory." @@ -237,7 +237,7 @@ msgstr "" #: ../../library/tkinter.tix.rst:233 msgid "" -"The `DirTree `_ widget displays a tree view of a directory, its previous " "directories and its sub-directories. The user can choose one of the " "directories displayed in the list or change to another directory." @@ -245,7 +245,7 @@ msgstr "" #: ../../library/tkinter.tix.rst:245 msgid "" -"The `DirSelectDialog `_ widget presents the directories in the file " "system in a dialog window. The user can use this dialog window to navigate " "through the file system to select the desired directory." @@ -261,7 +261,7 @@ msgstr "" #: ../../library/tkinter.tix.rst:265 msgid "" -"The `ExFileSelectBox `_ widget is usually embedded in a " "tixExFileSelectDialog widget. It provides a convenient method for the user " "to select files. The style of the :class:`ExFileSelectBox` widget is very " @@ -270,7 +270,7 @@ msgstr "" #: ../../library/tkinter.tix.rst:278 msgid "" -"The `FileSelectBox `_ is similar to the standard Motif(TM) file-selection " "box. It is generally used for the user to choose a file. FileSelectBox " "stores the files mostly recently selected into a :class:`ComboBox` widget so " @@ -279,7 +279,7 @@ msgstr "" #: ../../library/tkinter.tix.rst:291 msgid "" -"The `FileEntry `_ widget can be used to input a filename. The user can " "type in the filename manually. Alternatively, the user can press the button " "widget that sits next to the entry, which will bring up a file selection " @@ -292,16 +292,16 @@ msgstr "" #: ../../library/tkinter.tix.rst:307 msgid "" -"The `HList `_ widget can be used to display any data that have a hierarchical " -"structure, for example, file system directory trees. The list entries are " -"indented and connected by branch lines according to their places in the " -"hierarchy." +"The `HList `_ widget can be used to display any data that have a " +"hierarchical structure, for example, file system directory trees. The list " +"entries are indented and connected by branch lines according to their places " +"in the hierarchy." msgstr "" #: ../../library/tkinter.tix.rst:319 msgid "" -"The `CheckList `_ widget displays a list of items to be selected by the " "user. CheckList acts similarly to the Tk checkbutton or radiobutton widgets, " "except it is capable of handling many more items than checkbuttons or " @@ -310,7 +310,7 @@ 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." msgstr "" @@ -321,9 +321,9 @@ msgstr "" #: ../../library/tkinter.tix.rst:352 msgid "" -"The `TList `_ widget can be used to display data in a tabular format. The list " -"entries of a :class:`TList` widget are similar to the entries in the Tk " +"The `TList `_ widget can be used to display data in a tabular format. The " +"list entries of a :class:`TList` widget are similar to the entries in the Tk " "listbox widget. The main differences are (1) the :class:`TList` widget can " "display the list entries in a two dimensional format and (2) you can use " "graphical images as well as multiple colors and fonts for the list entries." @@ -335,7 +335,7 @@ msgstr "" #: ../../library/tkinter.tix.rst:380 msgid "" -"The `PanedWindow `_ widget allows the user to interactively manipulate the " "sizes of several panes. The panes can be arranged either vertically or " "horizontally. The user changes the sizes of the panes by dragging the " @@ -344,7 +344,7 @@ msgstr "" #: ../../library/tkinter.tix.rst:392 msgid "" -"The `ListNoteBook `_ widget is very similar to the :class:`TixNoteBook` " "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). " @@ -355,7 +355,7 @@ msgstr "" #: ../../library/tkinter.tix.rst:406 msgid "" -"The `NoteBook `_ widget can be used to display many windows in a limited " "space using a notebook metaphor. The notebook is divided into a stack of " "pages. At one time only one of these pages can be shown. The user can " @@ -373,14 +373,14 @@ 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." 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 " @@ -394,7 +394,7 @@ msgstr "" #: ../../library/tkinter.tix.rst:465 msgid "" -"The `InputOnly `_ widgets are to accept inputs from the user, which can be " "done with the ``bind`` command (Unix only)." msgstr "" @@ -409,7 +409,7 @@ msgstr "" #: ../../library/tkinter.tix.rst:479 msgid "" -"The `Form `_ geometry manager based on attachment rules for all Tk widgets." msgstr "" @@ -419,7 +419,7 @@ msgstr "Comandos Tix" #: ../../library/tkinter.tix.rst:490 msgid "" -"The `tix commands `_ provide access to miscellaneous elements of :mod:`Tix`'s internal " "state and the :mod:`Tix` application context. Most of the information " "manipulated by these methods pertains to the application as a whole, or to a " diff --git a/library/tkinter.ttk.po b/library/tkinter.ttk.po index 00b72c550..fd07e7389 100644 --- a/library/tkinter.ttk.po +++ b/library/tkinter.ttk.po @@ -1,34 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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 -# i17obot , 2021 -# Raphael Mendonça, 2021 -# mvpetri , 2021 -# Claudio Rogerio Carvalho Filho , 2021 -# Philippe Gonzaga , 2021 -# Danilo Lima , 2021 -# Luca Farah, 2021 -# Rafael Fontenelle , 2021 +# python-doc bot, 2025 # #, 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:15+0000\n" -"Last-Translator: Rafael Fontenelle , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:58+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/tkinter.ttk.rst:2 msgid ":mod:`tkinter.ttk` --- Tk themed widgets" @@ -90,6 +83,11 @@ msgid "" "`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:51 msgid "" @@ -100,22 +98,32 @@ 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:62 msgid "" -"`Converting existing applications to use Tile widgets `_" msgstr "" +"`Convertendo aplicações existentes para utilização dos widgets Tile `_" #: ../../library/tkinter.ttk.rst:62 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:67 msgid "Ttk Widgets" -msgstr "" +msgstr "Widgets Ttk" #: ../../library/tkinter.ttk.rst:69 msgid "" @@ -127,12 +135,22 @@ msgid "" "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:77 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:80 msgid "Tk code::" @@ -147,20 +165,24 @@ 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:98 msgid "Widget" -msgstr "Ferramenta" +msgstr "Widget" #: ../../library/tkinter.ttk.rst:100 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:105 msgid "Standard Options" -msgstr "Opções padrões" +msgstr "Opções padrão" #: ../../library/tkinter.ttk.rst:107 msgid "All the :mod:`ttk` Widgets accepts the following options:" @@ -189,7 +211,7 @@ msgstr "Descrição" #: ../../library/tkinter.ttk.rst:114 msgid "class" -msgstr "class" +msgstr "classe" #: ../../library/tkinter.ttk.rst:114 msgid "" @@ -208,10 +230,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:125 msgid "takefocus" -msgstr "" +msgstr "takefocus" #: ../../library/tkinter.ttk.rst:125 msgid "" @@ -222,6 +246,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:134 msgid "style" @@ -229,7 +259,7 @@ msgstr "estilo" #: ../../library/tkinter.ttk.rst:134 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:139 msgid "Scrollable Widget Options" @@ -240,20 +270,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:149 msgid "xscrollcommand" -msgstr "" +msgstr "xscrollcommand" #: ../../library/tkinter.ttk.rst:149 msgid "Used to communicate with horizontal scrollbars." -msgstr "" +msgstr "Utilizado para comunicação com barras de rolagem horizontais." #: ../../library/tkinter.ttk.rst:151 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:154 msgid "" @@ -261,16 +295,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:159 msgid "yscrollcommand" -msgstr "" +msgstr "yscrollcommand" #: ../../library/tkinter.ttk.rst:159 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:165 msgid "Label Options" @@ -281,19 +320,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:175 ../../library/tkinter.ttk.rst:523 #: ../../library/tkinter.ttk.rst:863 msgid "text" -msgstr "texto" +msgstr "text" #: ../../library/tkinter.ttk.rst:175 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:177 ../../library/tkinter.ttk.rst:341 msgid "textvariable" -msgstr "" +msgstr "textvariable" #: ../../library/tkinter.ttk.rst:177 msgid "" @@ -303,18 +344,21 @@ msgstr "" #: ../../library/tkinter.ttk.rst:180 ../../library/tkinter.ttk.rst:532 msgid "underline" -msgstr "" +msgstr "underline" #: ../../library/tkinter.ttk.rst:180 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:184 ../../library/tkinter.ttk.rst:525 #: ../../library/tkinter.ttk.rst:865 ../../library/tkinter.ttk.rst:897 msgid "image" -msgstr "" +msgstr "image" #: ../../library/tkinter.ttk.rst:184 msgid "" @@ -324,16 +368,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:192 ../../library/tkinter.ttk.rst:528 msgid "compound" -msgstr "" +msgstr "compound" #: ../../library/tkinter.ttk.rst:192 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:196 msgid "text: display text only" @@ -348,10 +400,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:200 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:203 ../../library/tkinter.ttk.rst:349 #: ../../library/tkinter.ttk.rst:493 @@ -364,6 +420,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:211 msgid "Compatibility Options" @@ -383,11 +443,12 @@ msgstr "" #: ../../library/tkinter.ttk.rst:225 msgid "Widget States" -msgstr "" +msgstr "Estados de Widget" #: ../../library/tkinter.ttk.rst:227 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:232 msgid "Flag" @@ -395,21 +456,23 @@ msgstr "Sinalizador" #: ../../library/tkinter.ttk.rst:234 msgid "active" -msgstr "" +msgstr "active" #: ../../library/tkinter.ttk.rst:234 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:237 msgid "disabled" -msgstr "inválido" +msgstr "disabled" #: ../../library/tkinter.ttk.rst:237 msgid "Widget is disabled under program control" -msgstr "" +msgstr "Widget está desabilitado sob controle do programa." #: ../../library/tkinter.ttk.rst:239 msgid "focus" @@ -417,25 +480,27 @@ msgstr "focus" #: ../../library/tkinter.ttk.rst:239 msgid "Widget has keyboard focus" -msgstr "" +msgstr "Widget tem foco do teclado" #: ../../library/tkinter.ttk.rst:241 msgid "pressed" -msgstr "" +msgstr "pressed" #: ../../library/tkinter.ttk.rst:241 msgid "Widget is being pressed" -msgstr "" +msgstr "Widget está sendo pressionado" #: ../../library/tkinter.ttk.rst:243 msgid "selected" -msgstr "selecionado" +msgstr "selected" #: ../../library/tkinter.ttk.rst:243 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:246 ../../library/tkinter.ttk.rst:893 msgid "background" @@ -447,6 +512,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:251 msgid "readonly" @@ -454,7 +522,7 @@ msgstr "readonly" #: ../../library/tkinter.ttk.rst:251 msgid "Widget should not allow user modification" -msgstr "" +msgstr "Widget não deve permitir modificação do usuário" #: ../../library/tkinter.ttk.rst:253 msgid "alternate" @@ -462,41 +530,49 @@ msgstr "alternate" #: ../../library/tkinter.ttk.rst:253 msgid "A widget-specific alternate display format" -msgstr "" +msgstr "Um formato de exibição específico do widget" #: ../../library/tkinter.ttk.rst:255 msgid "invalid" -msgstr "" +msgstr "invalid" #: ../../library/tkinter.ttk.rst:255 msgid "The widget's value is invalid" -msgstr "" +msgstr "O valor do widget é inválido" #: ../../library/tkinter.ttk.rst:258 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:263 msgid "ttk.Widget" -msgstr "" +msgstr "ttk.Widget" #: ../../library/tkinter.ttk.rst:265 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:272 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:275 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:280 msgid "" @@ -509,7 +585,7 @@ msgstr "" msgid "" "Modify or inquire widget state. If *statespec* is specified, sets the widget " "state according to it and return a new *statespec* indicating which flags " -"were changed. If *statespec* is not specified, returns the currently-enabled " +"were changed. If *statespec* is not specified, returns the currently enabled " "state flags." msgstr "" @@ -526,6 +602,8 @@ 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:302 msgid "" @@ -541,17 +619,17 @@ msgstr "" #: ../../library/tkinter.ttk.rst:474 ../../library/tkinter.ttk.rst:664 #: ../../library/tkinter.ttk.rst:735 ../../library/tkinter.ttk.rst:803 msgid "Options" -msgstr "" +msgstr "Opções" #: ../../library/tkinter.ttk.rst:314 ../../library/tkinter.ttk.rst:400 #: ../../library/tkinter.ttk.rst:476 ../../library/tkinter.ttk.rst:666 #: ../../library/tkinter.ttk.rst:805 msgid "This widget accepts the following specific options:" -msgstr "" +msgstr "Este widget aceita as seguintes opções específicas:" #: ../../library/tkinter.ttk.rst:321 msgid "exportselection" -msgstr "" +msgstr "exportselection" #: ../../library/tkinter.ttk.rst:321 msgid "" @@ -559,6 +637,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:325 msgid "justify" @@ -569,6 +650,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:328 ../../library/tkinter.ttk.rst:483 #: ../../library/tkinter.ttk.rst:820 @@ -577,17 +660,20 @@ msgstr "height" #: ../../library/tkinter.ttk.rst:328 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:330 msgid "postcommand" -msgstr "" +msgstr "postcommand" #: ../../library/tkinter.ttk.rst:330 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:334 msgid "" @@ -596,6 +682,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:341 msgid "" @@ -603,15 +694,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:346 ../../library/tkinter.ttk.rst:419 #: ../../library/tkinter.ttk.rst:867 msgid "values" -msgstr "" +msgstr "valores" #: ../../library/tkinter.ttk.rst:346 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:349 msgid "" @@ -621,17 +715,19 @@ msgstr "" #: ../../library/tkinter.ttk.rst:356 ../../library/tkinter.ttk.rst:444 msgid "Virtual events" -msgstr "" +msgstr "Eventos virtuais" #: ../../library/tkinter.ttk.rst:358 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:363 msgid "ttk.Combobox" -msgstr "" +msgstr "ttk.Combobox" #: ../../library/tkinter.ttk.rst:369 msgid "" @@ -642,7 +738,7 @@ msgstr "" #: ../../library/tkinter.ttk.rst:376 msgid "Returns the current value of the combobox." -msgstr "" +msgstr "Retorna o valor atual do combobox." #: ../../library/tkinter.ttk.rst:381 msgid "Sets the value of the combobox to *value*." @@ -650,7 +746,7 @@ msgstr "" #: ../../library/tkinter.ttk.rst:385 msgid "Spinbox" -msgstr "" +msgstr "Spinbox" #: ../../library/tkinter.ttk.rst:386 msgid "" @@ -671,7 +767,7 @@ msgstr "" #: ../../library/tkinter.ttk.rst:407 msgid "from" -msgstr "" +msgstr "from" #: ../../library/tkinter.ttk.rst:407 msgid "" @@ -682,7 +778,7 @@ msgstr "" #: ../../library/tkinter.ttk.rst:412 msgid "to" -msgstr "" +msgstr "to" #: ../../library/tkinter.ttk.rst:412 msgid "" @@ -720,7 +816,7 @@ msgstr "" #: ../../library/tkinter.ttk.rst:430 msgid "format" -msgstr "formato" +msgstr "format" #: ../../library/tkinter.ttk.rst:430 msgid "" @@ -731,7 +827,7 @@ msgstr "" #: ../../library/tkinter.ttk.rst:436 msgid "command" -msgstr "" +msgstr "command" #: ../../library/tkinter.ttk.rst:436 msgid "" @@ -748,7 +844,7 @@ msgstr "" #: ../../library/tkinter.ttk.rst:451 msgid "ttk.Spinbox" -msgstr "" +msgstr "ttk.Spinbox" #: ../../library/tkinter.ttk.rst:457 msgid "Returns the current value of the spinbox." @@ -766,7 +862,7 @@ msgstr "" msgid "" "Ttk Notebook widget manages a collection of windows and displays a single " "one at a time. Each child window is associated with a tab, which the user " -"may select to change the currently-displayed window." +"may select to change the currently displayed window." msgstr "" #: ../../library/tkinter.ttk.rst:483 @@ -817,9 +913,9 @@ msgstr "" #: ../../library/tkinter.ttk.rst:513 msgid "" "Specifies how the child window is positioned within the pane area. Value is " -"a string containing zero or more of the characters \"n\", \"s\", \"e\" or \"w" -"\". Each letter refers to a side (north, south, east or west) that the child " -"window will stick to, as per the :meth:`grid` geometry manager." +"a string containing zero or more of the characters \"n\", \"s\", \"e\" or " +"\"w\". Each letter refers to a side (north, south, east or west) that the " +"child window will stick to, as per the :meth:`grid` geometry manager." msgstr "" #: ../../library/tkinter.ttk.rst:519 @@ -876,7 +972,7 @@ msgstr "" #: ../../library/tkinter.ttk.rst:548 msgid "" -"The literal string \"current\", which identifies the currently-selected tab" +"The literal string \"current\", which identifies the currently selected tab" msgstr "" #: ../../library/tkinter.ttk.rst:549 @@ -959,7 +1055,7 @@ msgstr "" #: ../../library/tkinter.ttk.rst:617 msgid "" -"The associated child window will be displayed, and the previously-selected " +"The associated child window will be displayed, and the previously selected " "window (if different) is unmapped. If *tab_id* is omitted, returns the " "widget name of the currently selected pane." msgstr "" @@ -1049,7 +1145,7 @@ msgstr "" #: ../../library/tkinter.ttk.rst:679 msgid "mode" -msgstr "" +msgstr "mode" #: ../../library/tkinter.ttk.rst:679 msgid "One of \"determinate\" or \"indeterminate\"." @@ -1057,7 +1153,7 @@ msgstr "" #: ../../library/tkinter.ttk.rst:681 msgid "maximum" -msgstr "" +msgstr "maximum" #: ../../library/tkinter.ttk.rst:681 msgid "A number specifying the maximum value. Defaults to 100." @@ -1065,7 +1161,7 @@ msgstr "" #: ../../library/tkinter.ttk.rst:683 msgid "value" -msgstr "value" +msgstr "valor" #: ../../library/tkinter.ttk.rst:683 msgid "" @@ -1077,7 +1173,7 @@ msgstr "" #: ../../library/tkinter.ttk.rst:689 msgid "variable" -msgstr "" +msgstr "variável" #: ../../library/tkinter.ttk.rst:689 msgid "" @@ -1088,7 +1184,7 @@ msgstr "" #: ../../library/tkinter.ttk.rst:693 msgid "phase" -msgstr "" +msgstr "phase" #: ../../library/tkinter.ttk.rst:693 msgid "" @@ -1100,7 +1196,7 @@ msgstr "" #: ../../library/tkinter.ttk.rst:701 msgid "ttk.Progressbar" -msgstr "" +msgstr "ttk.Progressbar" #: ../../library/tkinter.ttk.rst:707 msgid "" @@ -1125,7 +1221,7 @@ msgstr "" #: ../../library/tkinter.ttk.rst:726 msgid "Separator" -msgstr "" +msgstr "Separator" #: ../../library/tkinter.ttk.rst:728 msgid "" @@ -1150,7 +1246,7 @@ msgstr "" #: ../../library/tkinter.ttk.rst:750 msgid "Sizegrip" -msgstr "" +msgstr "Sizegrip" #: ../../library/tkinter.ttk.rst:752 msgid "" @@ -1170,7 +1266,7 @@ msgstr "" #: ../../library/tkinter.ttk.rst:762 msgid "" -"On MacOS X, toplevel windows automatically include a built-in size grip by " +"On macOS, toplevel windows automatically include a built-in size grip by " "default. Adding a :class:`Sizegrip` is harmless, since the built-in grip " "will just mask the widget." msgstr "" @@ -1192,7 +1288,7 @@ msgstr "" #: ../../library/tkinter.ttk.rst:777 msgid "Treeview" -msgstr "" +msgstr "Treeview" #: ../../library/tkinter.ttk.rst:779 msgid "" @@ -1233,7 +1329,7 @@ msgstr "" #: ../../library/tkinter.ttk.rst:812 msgid "columns" -msgstr "" +msgstr "columns" #: ../../library/tkinter.ttk.rst:812 msgid "" @@ -1266,7 +1362,7 @@ msgstr "" #: ../../library/tkinter.ttk.rst:827 msgid "selectmode" -msgstr "" +msgstr "selectmode" #: ../../library/tkinter.ttk.rst:827 msgid "" @@ -1284,7 +1380,7 @@ msgstr "" #: ../../library/tkinter.ttk.rst:838 msgid "show" -msgstr "" +msgstr "show" #: ../../library/tkinter.ttk.rst:838 msgid "" @@ -1342,7 +1438,7 @@ msgstr "" #: ../../library/tkinter.ttk.rst:874 msgid "open" -msgstr "" +msgstr "open" #: ../../library/tkinter.ttk.rst:874 msgid "" @@ -1352,7 +1448,7 @@ msgstr "" #: ../../library/tkinter.ttk.rst:877 msgid "tags" -msgstr "" +msgstr "tags" #: ../../library/tkinter.ttk.rst:877 msgid "A list of tags associated with this item." @@ -1368,7 +1464,7 @@ msgstr "" #: ../../library/tkinter.ttk.rst:891 msgid "foreground" -msgstr "" +msgstr "foreground" #: ../../library/tkinter.ttk.rst:891 msgid "Specifies the text foreground color." @@ -1447,7 +1543,7 @@ msgstr "Evento" #: ../../library/tkinter.ttk.rst:936 msgid "<>" -msgstr "" +msgstr "<>" #: ../../library/tkinter.ttk.rst:936 msgid "Generated whenever the selection changes." @@ -1455,7 +1551,7 @@ msgstr "" #: ../../library/tkinter.ttk.rst:938 msgid "<>" -msgstr "" +msgstr "<>" #: ../../library/tkinter.ttk.rst:938 msgid "Generated just before settings the focus item to open=True." @@ -1463,7 +1559,7 @@ msgstr "" #: ../../library/tkinter.ttk.rst:941 msgid "<>" -msgstr "" +msgstr "<>" #: ../../library/tkinter.ttk.rst:941 msgid "Generated just after setting the focus item to open=False." @@ -1477,7 +1573,7 @@ msgstr "" #: ../../library/tkinter.ttk.rst:950 msgid "ttk.Treeview" -msgstr "" +msgstr "ttk.Treeview" #: ../../library/tkinter.ttk.rst:956 msgid "" @@ -1529,7 +1625,7 @@ msgstr "" #: ../../library/tkinter.ttk.rst:991 msgid "id" -msgstr "" +msgstr "id" #: ../../library/tkinter.ttk.rst:992 msgid "Returns the column name. This is a read-only option." @@ -1892,7 +1988,7 @@ msgstr "" #: ../../library/tkinter.ttk.rst:1266 msgid "Ttk Styling" -msgstr "" +msgstr "Ttk Styling" #: ../../library/tkinter.ttk.rst:1268 msgid "" @@ -1906,7 +2002,7 @@ msgstr "" #: ../../library/tkinter.ttk.rst:1277 msgid "" -"`Tcl'2004 conference presentation `_" msgstr "" @@ -2117,7 +2213,7 @@ msgstr "" #: ../../library/tkinter.ttk.rst:1501 msgid "Layouts" -msgstr "" +msgstr "Layouts" #: ../../library/tkinter.ttk.rst:1503 msgid "" diff --git a/library/token.po b/library/token.po index bad3d16b5..63628c43e 100644 --- a/library/token.po +++ b/library/token.po @@ -1,26 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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.10\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-06-29 12:56+0000\n" -"PO-Revision-Date: 2021-06-28 01:15+0000\n" -"Last-Translator: Rafael Fontenelle , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:58+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/token.rst:2 msgid ":mod:`token` --- Constants used with Python parse trees" diff --git a/library/tokenize.po b/library/tokenize.po index f2b53a135..d2166c696 100644 --- a/library/tokenize.po +++ b/library/tokenize.po @@ -1,30 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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 -# Marco Rougeth , 2021 -# Claudio Rogerio Carvalho Filho , 2021 -# i17obot , 2021 +# python-doc bot, 2025 # #, 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: i17obot , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:58+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/tokenize.rst:2 msgid ":mod:`tokenize` --- Tokenizer for Python source" @@ -41,6 +38,10 @@ 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 "" @@ -50,24 +51,47 @@ msgid "" "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." 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 " @@ -77,67 +101,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." 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`." 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 " @@ -146,136 +197,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." 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`." 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 "" +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/trace.po b/library/trace.po index 774a083f0..d641b56c8 100644 --- a/library/trace.po +++ b/library/trace.po @@ -1,28 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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 -# i17obot , 2021 +# python-doc bot, 2025 # #, 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: i17obot , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:58+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/trace.rst:2 msgid ":mod:`trace` --- Trace or track Python statement execution" @@ -58,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 "" @@ -80,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." diff --git a/library/traceback.po b/library/traceback.po index 88b97cf63..9a7b51356 100644 --- a/library/traceback.po +++ b/library/traceback.po @@ -1,28 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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 -# i17obot , 2021 +# python-doc bot, 2025 # #, 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: i17obot , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:58+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/traceback.rst:2 msgid ":mod:`traceback` --- Print or retrieve a stack traceback" @@ -48,11 +47,31 @@ msgid "" "from :func:`sys.exc_info`." msgstr "" -#: ../../library/traceback.rst:23 +#: ../../library/traceback.rst:26 +msgid "Module :mod:`faulthandler`" +msgstr "Módulo :mod:`faulthandler`" + +#: ../../library/traceback.rst:26 +msgid "" +"Used to dump Python tracebacks explicitly, on a fault, after a timeout, or " +"on a user signal." +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:28 +msgid "Module :mod:`pdb`" +msgstr "" + +#: ../../library/traceback.rst:29 +msgid "Interactive source code debugger for Python programs." +msgstr "" + +#: ../../library/traceback.rst:31 msgid "The module defines the following functions:" msgstr "O módulo define as seguintes funções:" -#: ../../library/traceback.rst:28 +#: ../../library/traceback.rst:35 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 " @@ -62,41 +81,41 @@ msgid "" "the output." msgstr "" -#: ../../library/traceback.rst:35 ../../library/traceback.rst:98 +#: ../../library/traceback.rst:42 ../../library/traceback.rst:105 msgid "Added negative *limit* support." msgstr "" -#: ../../library/traceback.rst:42 +#: ../../library/traceback.rst:49 msgid "" "Print exception information and stack trace entries from traceback object " "*tb* to *file*. This differs from :func:`print_tb` in the following ways:" msgstr "" -#: ../../library/traceback.rst:46 +#: ../../library/traceback.rst:53 msgid "" "if *tb* is not ``None``, it prints a header ``Traceback (most recent call " "last):``" msgstr "" -#: ../../library/traceback.rst:49 +#: ../../library/traceback.rst:56 msgid "it prints the exception type and *value* after the stack trace" msgstr "" -#: ../../library/traceback.rst:53 +#: ../../library/traceback.rst:60 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:57 +#: ../../library/traceback.rst:64 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:61 +#: ../../library/traceback.rst:68 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:" @@ -105,29 +124,29 @@ msgid "" "exception." msgstr "" -#: ../../library/traceback.rst:67 ../../library/traceback.rst:160 +#: ../../library/traceback.rst:74 ../../library/traceback.rst:167 msgid "The *etype* argument is ignored and inferred from the type of *value*." msgstr "" -#: ../../library/traceback.rst:70 ../../library/traceback.rst:147 +#: ../../library/traceback.rst:77 ../../library/traceback.rst:154 msgid "" "The *etype* parameter has been renamed to *exc* and is now positional-only." msgstr "" -#: ../../library/traceback.rst:77 +#: ../../library/traceback.rst:84 msgid "" "This is a shorthand for ``print_exception(*sys.exc_info(), limit, file, " "chain)``." msgstr "" -#: ../../library/traceback.rst:83 +#: ../../library/traceback.rst:90 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`)." msgstr "" -#: ../../library/traceback.rst:91 +#: ../../library/traceback.rst:98 msgid "" "Print up to *limit* stack trace entries (starting from the invocation point) " "if *limit* is positive. Otherwise, print the last ``abs(limit)`` entries. " @@ -136,11 +155,11 @@ msgid "" "optional *file* argument has the same meaning as for :func:`print_tb`." msgstr "" -#: ../../library/traceback.rst:104 +#: ../../library/traceback.rst:111 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* " +"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:" @@ -150,14 +169,14 @@ msgid "" "stripped; if the source is not available it is ``None``." msgstr "" -#: ../../library/traceback.rst:118 +#: ../../library/traceback.rst:125 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`." msgstr "" -#: ../../library/traceback.rst:125 +#: ../../library/traceback.rst:132 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 " @@ -167,7 +186,7 @@ msgid "" "text line is not ``None``." msgstr "" -#: ../../library/traceback.rst:135 +#: ../../library/traceback.rst:142 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 " @@ -178,14 +197,14 @@ msgid "" "the list." msgstr "" -#: ../../library/traceback.rst:143 +#: ../../library/traceback.rst:150 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:154 +#: ../../library/traceback.rst:161 msgid "" "Format a stack trace and the exception information. The arguments have the " "same meaning as the corresponding arguments to :func:`print_exception`. The " @@ -194,66 +213,66 @@ msgid "" "printed, exactly the same text is printed as does :func:`print_exception`." msgstr "" -#: ../../library/traceback.rst:163 +#: ../../library/traceback.rst:170 msgid "" "This function's behavior and signature were modified to match :func:" "`print_exception`." msgstr "" -#: ../../library/traceback.rst:170 +#: ../../library/traceback.rst:177 msgid "" "This is like ``print_exc(limit)`` but returns a string instead of printing " "to a file." msgstr "" -#: ../../library/traceback.rst:176 +#: ../../library/traceback.rst:183 msgid "A shorthand for ``format_list(extract_tb(tb, limit))``." msgstr "" -#: ../../library/traceback.rst:181 +#: ../../library/traceback.rst:188 msgid "A shorthand for ``format_list(extract_stack(f, limit))``." msgstr "" -#: ../../library/traceback.rst:185 +#: ../../library/traceback.rst:192 msgid "" "Clears the local variables of all the stack frames in a traceback *tb* by " "calling the :meth:`clear` method of each frame object." msgstr "" -#: ../../library/traceback.rst:192 +#: ../../library/traceback.rst:199 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`." msgstr "" -#: ../../library/traceback.rst:200 +#: ../../library/traceback.rst:207 msgid "" "Walk a traceback following ``tb_next`` yielding the frame and line number " "for each frame. This helper is used with :meth:`StackSummary.extract`." msgstr "" -#: ../../library/traceback.rst:205 +#: ../../library/traceback.rst:212 msgid "The module also defines the following classes:" msgstr "" -#: ../../library/traceback.rst:208 +#: ../../library/traceback.rst:215 msgid ":class:`TracebackException` Objects" msgstr "" -#: ../../library/traceback.rst:212 +#: ../../library/traceback.rst:219 msgid "" ":class:`TracebackException` objects are created from actual exceptions to " "capture data for later printing in a lightweight fashion." msgstr "" -#: ../../library/traceback.rst:217 ../../library/traceback.rst:269 +#: ../../library/traceback.rst:224 ../../library/traceback.rst:290 msgid "" "Capture an exception for later rendering. *limit*, *lookup_lines* and " "*capture_locals* are as for the :class:`StackSummary` class." msgstr "" -#: ../../library/traceback.rst:220 +#: ../../library/traceback.rst:227 msgid "" "If *compact* is true, only data that is required by :class:" "`TracebackException`'s ``format`` method is saved in the class attributes. " @@ -261,109 +280,121 @@ msgid "" "is ``None`` and ``__suppress_context__`` is false." msgstr "" -#: ../../library/traceback.rst:225 ../../library/traceback.rst:272 +#: ../../library/traceback.rst:232 ../../library/traceback.rst:293 msgid "" "Note that when locals are captured, they are also shown in the traceback." msgstr "" -#: ../../library/traceback.rst:229 +#: ../../library/traceback.rst:236 msgid "A :class:`TracebackException` of the original ``__cause__``." msgstr "" -#: ../../library/traceback.rst:233 +#: ../../library/traceback.rst:240 msgid "A :class:`TracebackException` of the original ``__context__``." msgstr "" -#: ../../library/traceback.rst:237 +#: ../../library/traceback.rst:244 msgid "The ``__suppress_context__`` value from the original exception." msgstr "" -#: ../../library/traceback.rst:241 +#: ../../library/traceback.rst:248 msgid "A :class:`StackSummary` representing the traceback." msgstr "" -#: ../../library/traceback.rst:245 +#: ../../library/traceback.rst:252 msgid "The class of the original traceback." msgstr "" -#: ../../library/traceback.rst:249 +#: ../../library/traceback.rst:256 msgid "For syntax errors - the file name where the error occurred." msgstr "" -#: ../../library/traceback.rst:253 +#: ../../library/traceback.rst:260 msgid "For syntax errors - the line number where the error occurred." msgstr "" -#: ../../library/traceback.rst:257 +#: ../../library/traceback.rst:264 +msgid "" +"For syntax errors - the end line number where the error occurred. Can be " +"``None`` if not present." +msgstr "" + +#: ../../library/traceback.rst:271 msgid "For syntax errors - the text where the error occurred." msgstr "" -#: ../../library/traceback.rst:261 +#: ../../library/traceback.rst:275 msgid "For syntax errors - the offset into the text where the error occurred." msgstr "" -#: ../../library/traceback.rst:265 +#: ../../library/traceback.rst:279 +msgid "" +"For syntax errors - the end offset into the text where the error occurred. " +"Can be ``None`` if not present." +msgstr "" + +#: ../../library/traceback.rst:286 msgid "For syntax errors - the compiler error message." msgstr "" -#: ../../library/traceback.rst:276 +#: ../../library/traceback.rst:297 msgid "Format the exception." msgstr "" -#: ../../library/traceback.rst:278 +#: ../../library/traceback.rst:299 msgid "" "If *chain* is not ``True``, ``__cause__`` and ``__context__`` will not be " "formatted." msgstr "" -#: ../../library/traceback.rst:281 +#: ../../library/traceback.rst:302 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:285 ../../library/traceback.rst:299 +#: ../../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:290 +#: ../../library/traceback.rst:311 msgid "Format the exception part of the traceback." msgstr "" -#: ../../library/traceback.rst:292 +#: ../../library/traceback.rst:313 msgid "The return value is a generator of strings, each ending in a newline." msgstr "" -#: ../../library/traceback.rst:294 +#: ../../library/traceback.rst:315 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." msgstr "" -#: ../../library/traceback.rst:302 +#: ../../library/traceback.rst:323 msgid "Added the *compact* parameter." -msgstr "" +msgstr "Adicionado o parâmetro *compact*." -#: ../../library/traceback.rst:307 +#: ../../library/traceback.rst:328 msgid ":class:`StackSummary` Objects" msgstr "Objetos :class:`StackSummary`" -#: ../../library/traceback.rst:311 +#: ../../library/traceback.rst:332 msgid "" ":class:`StackSummary` objects represent a call stack ready for formatting." msgstr "" -#: ../../library/traceback.rst:317 +#: ../../library/traceback.rst:338 msgid "" "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:321 +#: ../../library/traceback.rst:342 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 " @@ -373,14 +404,14 @@ msgid "" "class:`FrameSummary` are captured as object representations." msgstr "" -#: ../../library/traceback.rst:331 +#: ../../library/traceback.rst:352 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." msgstr "" -#: ../../library/traceback.rst:337 +#: ../../library/traceback.rst:358 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 " @@ -388,26 +419,26 @@ msgid "" "with source text lines." msgstr "" -#: ../../library/traceback.rst:342 +#: ../../library/traceback.rst:363 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:346 +#: ../../library/traceback.rst:367 msgid "Long sequences of repeated frames are now abbreviated." msgstr "" -#: ../../library/traceback.rst:351 +#: ../../library/traceback.rst:372 msgid ":class:`FrameSummary` Objects" msgstr "" -#: ../../library/traceback.rst:355 +#: ../../library/traceback.rst:376 msgid ":class:`FrameSummary` objects represent a single frame in a traceback." msgstr "" -#: ../../library/traceback.rst:359 +#: ../../library/traceback.rst:380 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 " @@ -420,11 +451,11 @@ msgid "" "display." msgstr "" -#: ../../library/traceback.rst:372 +#: ../../library/traceback.rst:393 msgid "Traceback Examples" msgstr "Exemplos de Traceback" -#: ../../library/traceback.rst:374 +#: ../../library/traceback.rst:395 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 " @@ -432,22 +463,22 @@ msgid "" "`code` module. ::" msgstr "" -#: ../../library/traceback.rst:396 +#: ../../library/traceback.rst:417 msgid "" "The following example demonstrates the different ways to print and format " "the exception and traceback:" msgstr "" -#: ../../library/traceback.rst:435 +#: ../../library/traceback.rst:452 msgid "The output for the example would look similar to this:" msgstr "" -#: ../../library/traceback.rst:477 +#: ../../library/traceback.rst:494 msgid "" "The following example shows the different ways to print and format the " "stack::" msgstr "" -#: ../../library/traceback.rst:503 +#: ../../library/traceback.rst:520 msgid "This last example demonstrates the final few formatting functions:" msgstr "" diff --git a/library/tracemalloc.po b/library/tracemalloc.po index e72e5efc6..c599540cf 100644 --- a/library/tracemalloc.po +++ b/library/tracemalloc.po @@ -1,32 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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 -# 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.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: i17obot , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:58+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/tracemalloc.rst:2 msgid ":mod:`tracemalloc` --- Trace memory allocations" @@ -783,12 +778,12 @@ msgstr "" #: ../../library/tracemalloc.rst:743 msgid "" -"Format the traceback as a list of lines with newlines. Use the :mod:" -"`linecache` module to retrieve lines from the source code. If *limit* is " -"set, format the *limit* most recent frames if *limit* is positive. " -"Otherwise, format the ``abs(limit)`` oldest frames. If *most_recent_first* " -"is ``True``, the order of the formatted frames is reversed, returning the " -"most recent frame first instead of last." +"Format the traceback as a list of lines. Use the :mod:`linecache` module to " +"retrieve lines from the source code. If *limit* is set, format the *limit* " +"most recent frames if *limit* is positive. Otherwise, format the " +"``abs(limit)`` oldest frames. If *most_recent_first* is ``True``, the order " +"of the formatted frames is reversed, returning the most recent frame first " +"instead of last." msgstr "" #: ../../library/tracemalloc.rst:750 diff --git a/library/tty.po b/library/tty.po index d365e8d79..6d5cec90e 100644 --- a/library/tty.po +++ b/library/tty.po @@ -1,26 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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.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: Rafael Fontenelle , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:58+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/tty.rst:2 msgid ":mod:`tty` --- Terminal control functions" diff --git a/library/turtle.po b/library/turtle.po index 428e1beee..f9cede769 100644 --- a/library/turtle.po +++ b/library/turtle.po @@ -1,35 +1,31 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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 -# Marco Rougeth , 2021 -# Claudio Rogerio Carvalho Filho , 2021 -# Danilo Lima , 2021 -# Rafael Fontenelle , 2021 -# i17obot , 2021 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.10\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-08-05 13:13+0000\n" -"PO-Revision-Date: 2021-06-28 01:16+0000\n" -"Last-Translator: i17obot , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-11-01 17:13+0000\n" +"PO-Revision-Date: 2025-09-22 15:58+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/turtle.rst:3 msgid ":mod:`turtle` --- Turtle graphics" -msgstr ":mod:`turtle` --- Gráficos Turtle" +msgstr ":mod:`turtle` --- Gráficos Tartaruga" #: ../../library/turtle.rst:10 msgid "**Source code:** :source:`Lib/turtle.py`" @@ -58,7 +54,7 @@ msgid "" "degrees clockwise." 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á " +"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." @@ -114,8 +110,8 @@ msgstr "" #: ../../library/turtle.rst:56 msgid "The object-oriented interface uses essentially two+two classes:" msgstr "" -"A interface orientada a objetos usa essencialmente duas classes (e duas sub-" -"classes):" +"A interface orientada a objetos usa essencialmente duas classes (e duas " +"subclasses):" #: ../../library/turtle.rst:58 msgid "" @@ -124,6 +120,10 @@ msgid "" "class:`ScrolledCanvas` as argument. It should be used when :mod:`turtle` is " "used as part of some application." 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." #: ../../library/turtle.rst:63 msgid "" @@ -132,12 +132,18 @@ msgid "" "used as a standalone tool for doing graphics. As a singleton object, " "inheriting from its class is not possible." 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." #: ../../library/turtle.rst:68 msgid "" "All methods of TurtleScreen/Screen also exist as functions, i.e. as part of " "the procedure-oriented interface." msgstr "" +"Todos os métodos de TurtleScreen/Screen também existem como funções, ou " +"seja, como parte da interface orientada a procedimentos." #: ../../library/turtle.rst:71 msgid "" @@ -146,6 +152,10 @@ msgid "" "ScrolledCanvas or TurtleScreen as argument, so the RawTurtle objects know " "where to draw." 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." #: ../../library/turtle.rst:75 msgid "" @@ -153,6 +163,9 @@ msgid "" "`Pen`), which draws on \"the\" :class:`Screen` instance which is " "automatically created, if not already present." 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." #: ../../library/turtle.rst:79 msgid "" @@ -171,12 +184,20 @@ msgid "" "(unnamed) turtle object is automatically created whenever any of the " "functions derived from a Turtle method is called." 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." #: ../../library/turtle.rst:89 msgid "" "To use multiple turtles on a screen one has to use the object-oriented " "interface." msgstr "" +"Para usar várias tartarugas em uma tela, é preciso usar a interface " +"orientada a objetos." #: ../../library/turtle.rst:92 msgid "" @@ -184,22 +205,25 @@ msgid "" "Methods, of course, have the additional first argument *self* which is " "omitted here." msgstr "" +"Na documentação a seguir, a lista de argumentos para funções é fornecida. Os " +"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 "" +msgstr "Visão geral dos métodos Turtle e Screen disponíveis" #: ../../library/turtle.rst:101 msgid "Turtle methods" -msgstr "Métodos do Turtle" +msgstr "Métodos de Turtle" #: ../../library/turtle.rst:132 ../../library/turtle.rst:242 msgid "Turtle motion" -msgstr "Movimentos do Turtle" +msgstr "Movimentos de Turtle" #: ../../library/turtle.rst:120 msgid "Move and draw" -msgstr "Movimento e Desenho" +msgstr "Movimento e desenho" #: ../../library/turtle.rst:0 msgid ":func:`forward` | :func:`fd`" @@ -237,7 +261,7 @@ msgstr ":func:`setheading` | :func:`seth`" msgid ":func:`home`" msgstr ":func:`home`" -#: ../../library/turtle.rst:0 ../../library/turtle.rst:2463 +#: ../../library/turtle.rst:0 ../../library/turtle.rst:2467 msgid ":func:`circle`" msgstr ":func:`circle`" @@ -245,7 +269,7 @@ msgstr ":func:`circle`" msgid ":func:`dot`" msgstr ":func:`dot`" -#: ../../library/turtle.rst:0 ../../library/turtle.rst:2441 +#: ../../library/turtle.rst:0 ../../library/turtle.rst:2445 msgid ":func:`stamp`" msgstr ":func:`stamp`" @@ -267,7 +291,7 @@ msgstr ":func:`speed`" #: ../../library/turtle.rst:128 ../../library/turtle.rst:644 msgid "Tell Turtle's state" -msgstr "Fala o Estado da Tartaruga" +msgstr "Fala o estado de Turtle" #: ../../library/turtle.rst:0 msgid ":func:`position` | :func:`pos`" @@ -383,7 +407,7 @@ msgstr ":func:`write`" #: ../../library/turtle.rst:172 ../../library/turtle.rst:1115 msgid "Turtle state" -msgstr "Estado da Tartaruga " +msgstr "Estado da tartaruga" #: ../../library/turtle.rst:161 ../../library/turtle.rst:1118 msgid "Visibility" @@ -445,7 +469,7 @@ msgstr ":func:`get_shapepoly`" msgid "Using events" msgstr "Eventos Utilizados" -#: ../../library/turtle.rst:0 ../../library/turtle.rst:2435 +#: ../../library/turtle.rst:0 ../../library/turtle.rst:2439 msgid ":func:`onclick`" msgstr ":func:`onclick`" @@ -453,7 +477,7 @@ msgstr ":func:`onclick`" msgid ":func:`onrelease`" msgstr ":func:`onrelease`" -#: ../../library/turtle.rst:0 ../../library/turtle.rst:2418 +#: ../../library/turtle.rst:0 ../../library/turtle.rst:2422 msgid ":func:`ondrag`" msgstr ":func:`ondrag`" @@ -473,7 +497,7 @@ msgstr ":func:`end_poly`" msgid ":func:`get_poly`" msgstr ":func:`get_poly`" -#: ../../library/turtle.rst:0 ../../library/turtle.rst:2454 +#: ../../library/turtle.rst:0 ../../library/turtle.rst:2461 msgid ":func:`clone`" msgstr ":func:`clone`" @@ -511,11 +535,11 @@ msgstr ":func:`bgpic`" #: ../../library/turtle.rst:0 msgid ":func:`clearscreen`" -msgstr "" +msgstr ":func:`clearscreen`" #: ../../library/turtle.rst:0 msgid ":func:`resetscreen`" -msgstr "" +msgstr ":func:`resetscreen`" #: ../../library/turtle.rst:0 msgid ":func:`screensize`" @@ -527,7 +551,7 @@ msgstr ":func:`setworldcoordinates`" #: ../../library/turtle.rst:204 ../../library/turtle.rst:1713 msgid "Animation control" -msgstr "Controle da Animação" +msgstr "Controle da animação" #: ../../library/turtle.rst:0 msgid ":func:`delay`" @@ -543,7 +567,7 @@ msgstr ":func:`update`" #: ../../library/turtle.rst:212 ../../library/turtle.rst:1766 msgid "Using screen events" -msgstr "Usando os Eventos de Tela" +msgstr "Usando os eventos de tela" #: ../../library/turtle.rst:0 msgid ":func:`listen`" @@ -571,7 +595,7 @@ msgstr ":func:`mainloop` | :func:`done`" #: ../../library/turtle.rst:222 ../../library/turtle.rst:1911 msgid "Settings and special methods" -msgstr "Configurações e Métodos Especiais" +msgstr "Configurações e métodos especiais" #: ../../library/turtle.rst:0 msgid ":func:`mode`" @@ -607,7 +631,7 @@ msgstr ":func:`window_width`" #: ../../library/turtle.rst:226 ../../library/turtle.rst:1875 msgid "Input methods" -msgstr "Métodos de Entrada" +msgstr "Métodos de entrada" #: ../../library/turtle.rst:0 msgid ":func:`textinput`" @@ -619,7 +643,7 @@ msgstr ":func:`numinput`" #: ../../library/turtle.rst:233 msgid "Methods specific to Screen" -msgstr "Métodos Específicos para Tela" +msgstr "Métodos específicos para Screen" #: ../../library/turtle.rst:0 msgid ":func:`bye`" @@ -657,13 +681,15 @@ msgstr "Parâmetros" #: ../../library/turtle.rst:317 ../../library/turtle.rst:377 #: ../../library/turtle.rst:400 ../../library/turtle.rst:423 msgid "a number (integer or float)" -msgstr "um número (inteiro ou flutuante)" +msgstr "um número (inteiro ou ponto flutuante)" #: ../../library/turtle.rst:249 msgid "" "Move the turtle forward by the specified *distance*, in the direction the " "turtle is headed." 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 @@ -676,6 +702,8 @@ msgid "" "Move the turtle backward by *distance*, opposite to the direction the turtle " "is headed. Do not change the turtle's heading." 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 msgid "" @@ -683,6 +711,10 @@ msgid "" "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`." #: ../../library/turtle.rst:319 msgid "" @@ -690,10 +722,14 @@ msgid "" "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`." #: ../../library/turtle.rst:343 msgid "a number or a pair/vector of numbers" -msgstr "um número ou um par/arrays de números" +msgstr "um número ou um par/vetor de números" #: ../../library/turtle.rst:344 msgid "a number or ``None``" @@ -712,8 +748,8 @@ msgid "" "Move turtle to an absolute position. If the pen is down, draw line. Do not " "change the turtle's orientation." msgstr "" -"Move a tartaruga para uma posição absoluta. Caso a caneta esteja baixa, " -"trace a linha. Não altera a orientação da tartaruga." +"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 msgid "" @@ -734,7 +770,7 @@ msgid "" "Set the orientation of the turtle to *to_angle*. Here are some common " "directions in degrees:" msgstr "" -"Determine a orientação da tartaruga para *to_angle*. Aqui estão algumas " +"Define a orientação da tartaruga para *to_angle*. Aqui estão algumas " "direções mais comuns em graus:" #: ../../library/turtle.rst:429 @@ -743,7 +779,7 @@ msgstr "modo padrão" #: ../../library/turtle.rst:429 msgid "logo mode" -msgstr "logo mode" +msgstr "modo logo" #: ../../library/turtle.rst:431 msgid "0 - east" @@ -782,6 +818,8 @@ 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`)." 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 msgid "a number (or ``None``)" @@ -801,6 +839,13 @@ msgid "" "otherwise in clockwise direction. Finally the direction of the turtle is " "changed by the amount of *extent*." msgstr "" +"Desenha um círculo com dado *radius*. O centro são as unidades de *radius* à " +"esquerda da tartaruga; *extent* -- um ângulo -- determina qual parte do " +"círculo é desenhada. Se *extent* não for fornecida, desenha o círculo " +"inteiro. Se *extent* não for um círculo completo, uma extremidade do arco " +"será a posição atual da caneta. Desenha o arco no sentido anti-horário se " +"*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 msgid "" @@ -808,20 +853,25 @@ msgid "" "determines the number of steps to use. If not given, it will be calculated " "automatically. May be used to draw regular polygons." msgstr "" +"Como o círculo é aproximado por um polígono regular inscrito, *steps* " +"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 msgid "an integer >= 1 (if given)" -msgstr "um número >= 1 (caso seja fornecido)" +msgstr "um inteiro >= 1 (caso seja fornecido)" #: ../../library/turtle.rst:512 msgid "a colorstring or a numeric color tuple" -msgstr "uma String de cores ou uma tupla de cores numéricas" +msgstr "uma string de cores ou uma tupla de cores numéricas" #: ../../library/turtle.rst:514 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." 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 msgid "" @@ -829,14 +879,18 @@ msgid "" "position. Return a stamp_id for that stamp, which can be used to delete it " "by calling ``clearstamp(stamp_id)``." msgstr "" +"Carimba uma cópia da forma da tartaruga na tela na posição atual da " +"tartaruga. Retorna um stamp_id para esse carimbo, que pode ser usado para " +"excluí-lo chamando ``clearstamp(stamp_id)``." #: ../../library/turtle.rst:547 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 msgid "Delete stamp with given *stampid*." -msgstr "" +msgstr "Exclui o carimbo com o *stamp* fornecido." #: ../../library/turtle.rst:571 msgid "" @@ -844,28 +898,40 @@ msgid "" "all stamps, if *n* > 0 delete first *n* stamps, else if *n* < 0 delete last " "*n* stamps." msgstr "" +"Exclui todos ou o primeiro/último *n* dos selos da tartaruga. Se *n* for " +"``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 msgid "" "Undo (repeatedly) the last turtle action(s). Number of available undo " "actions is determined by the size of the undobuffer." msgstr "" +"Desfaz (repetidamente) a(s) última(s) ação(ões) da tartaruga. O número de " +"ações de desfazer disponíveis é determinado pelo tamanho do buffer de " +"desfazer." #: ../../library/turtle.rst:609 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 msgid "" "Set the turtle's speed to an integer value in the range 0..10. If no " "argument is given, return current speed." 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 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:" msgstr "" +"Se a entrada for um número maior que 10 ou menor que 0,5, a velocidade é " +"definida como 0. As strings de velocidade são mapeadas para valores de " +"velocidade da seguinte forma:" #: ../../library/turtle.rst:617 msgid "\"fastest\": 0" @@ -900,11 +966,16 @@ 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. forward/back " +"faz a tartaruga pular e da mesma forma para left/right faz a tartaruga girar " +"instantaneamente." #: ../../library/turtle.rst:649 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`)." #: ../../library/turtle.rst:660 ../../library/turtle.rst:723 msgid "a number or a pair/vector of numbers or a turtle instance" @@ -921,6 +992,10 @@ msgid "" "start orientation which depends on the mode - \"standard\"/\"world\" or " "\"logo\"." msgstr "" +"Retorna o ângulo entre a linha da posição da tartaruga para a posição " +"especificada por (x,y), o vetor ou a outra tartaruga. Isso depende da " +"orientação inicial da tartaruga, que depende do modo - \"standard\"/" +"\"world\" ou \"logo\"." #: ../../library/turtle.rst:677 msgid "Return the turtle's x coordinate." @@ -928,43 +1003,51 @@ msgstr "Retorna a coordenada X da tartaruga." #: ../../library/turtle.rst:693 msgid "Return the turtle's y coordinate." -msgstr "Retorna a coordenada Y da tartaruga" +msgstr "Retorna a coordenada Y da tartaruga." #: ../../library/turtle.rst:709 msgid "" "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 msgid "" "Return the distance from the turtle to (x,y), the given vector, or the given " "other turtle, in turtle step units." 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 msgid "Settings for measurement" -msgstr "Configurações de Medida" +msgstr "Configurações de medida" #: ../../library/turtle.rst:750 msgid "" "Set angle measurement units, i.e. set number of \"degrees\" for a full " "circle. Default value is 360 degrees." 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 msgid "" "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 msgid "Pull the pen down -- drawing when moving." -msgstr "" +msgstr "Desce a caneta - desenha ao se mover." #: ../../library/turtle.rst:811 msgid "Pull the pen up -- no drawing when moving." -msgstr "" +msgstr "Levanta a caneta -- sem qualquer desenho ao se mover." #: ../../library/turtle.rst:817 msgid "a positive number" @@ -976,20 +1059,28 @@ msgid "" "\"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 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, a espessura atual da caneta será retornada." #: ../../library/turtle.rst:833 msgid "a dictionary with some or all of the below listed keys" -msgstr "" +msgstr "um dicionário com algumas ou todas as chaves listadas abaixo" #: ../../library/turtle.rst:834 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 msgid "" "Return or set the pen's attributes in a \"pen-dictionary\" with the " "following key/value pairs:" 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 msgid "\"shown\": True/False" @@ -1001,35 +1092,35 @@ msgstr "\"pendown\": True/False" #: ../../library/turtle.rst:841 msgid "\"pencolor\": color-string or color-tuple" -msgstr "\"pencolor\": color-string or color-tuple" +msgstr "\"pencolor\": string de cores ou tupla de cores" #: ../../library/turtle.rst:842 msgid "\"fillcolor\": color-string or color-tuple" -msgstr "\"fillcolor\": color-string or color-tuple" +msgstr "\"fillcolor\": string de cores ou tupla de cores" #: ../../library/turtle.rst:843 msgid "\"pensize\": positive number" -msgstr "\"pensize\": positive number" +msgstr "\"pensize\": número positivo" #: ../../library/turtle.rst:844 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 msgid "\"resizemode\": \"auto\" or \"user\" or \"noresize\"" -msgstr "\"resizemode\": \"auto\" or \"user\" or \"noresize\"" +msgstr "\"resizemode\": \"auto\", \"user\" ou \"noresize\"" #: ../../library/turtle.rst:846 msgid "\"stretchfactor\": (positive number, positive number)" -msgstr "\"stretchfactor\": (positive number, positive number)" +msgstr "\"stretchfactor\": (número positivo, número positivo)" #: ../../library/turtle.rst:847 msgid "\"outline\": positive number" -msgstr "\"outline\": positive number" +msgstr "\"outline\": número positivo" #: ../../library/turtle.rst:848 msgid "\"tilt\": number" -msgstr "\"tilt\": number" +msgstr "\"tilt\": número" #: ../../library/turtle.rst:850 msgid "" @@ -1038,15 +1129,20 @@ msgid "" "can be provided as keyword-arguments. This can be used to set several pen " "attributes in one statement." msgstr "" +"Este dicionário pode ser usado como argumento para uma chamada subsequente " +"para :func:`pen` para restaurar o estado da caneta anterior. Além disso, um " +"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 msgid "Return ``True`` if pen is down, ``False`` if it's up." msgstr "" -"Retorna ``True`` se a caneta estiver baixa, ``False`` se estiver feito." +"Retorna ``True`` se a caneta estiver abaixada, ``False`` se estiver " +"levantada." #: ../../library/turtle.rst:894 msgid "Return or set the pencolor." -msgstr "Retorna ou define o pencolor." +msgstr "Retorna ou define a cor da caneta ou pencolor." #: ../../library/turtle.rst:896 ../../library/turtle.rst:945 msgid "Four input formats are allowed:" @@ -1061,6 +1157,9 @@ 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." msgstr "" +"Retorna a cor da caneta atual como string de especificação de cor ou como " +"uma tupla (veja o exemplo). Pode ser usado como entrada para outra chamada " +"color/pencolor/fillcolor." #: ../../library/turtle.rst:905 msgid "``pencolor(colorstring)``" @@ -1071,6 +1170,8 @@ msgid "" "Set pencolor to *colorstring*, which is a Tk color specification string, " "such as ``\"red\"``, ``\"yellow\"``, or ``\"#33cc8c\"``." msgstr "" +"Define pencolor como *colorstring*, que é uma string de especificação de cor " +"Tk, como ``\"red\"``, ``\"yellow\"`` ou ``\"#33cc8c\"``." #: ../../library/turtle.rst:910 msgid "``pencolor((r, g, b))``" @@ -1082,6 +1183,9 @@ msgid "" "*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 a cor da caneta como a cor RGB representada pela tupla *r*, *g*, e " +"*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 msgid "``pencolor(r, g, b)``" @@ -1092,12 +1196,16 @@ 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." 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 msgid "" "If turtleshape is a polygon, the outline of that polygon is drawn with the " "newly set pencolor." 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 msgid "Return or set the fillcolor." @@ -1113,6 +1221,9 @@ msgid "" "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 msgid "``fillcolor(colorstring)``" @@ -1123,6 +1234,8 @@ 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 msgid "``fillcolor((r, g, b))``" @@ -1134,6 +1247,9 @@ msgid "" "*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 msgid "``fillcolor(r, g, b)``" @@ -1144,21 +1260,28 @@ 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 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 msgid "Return or set pencolor and fillcolor." -msgstr "" +msgstr "Retorna ou define os valores de pencolor e fillcolor." #: ../../library/turtle.rst:988 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 msgid "``color()``" @@ -1170,6 +1293,9 @@ msgid "" "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 msgid "``color(colorstring)``, ``color((r,g,b))``, ``color(r,g,b)``" @@ -1180,6 +1306,8 @@ 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 msgid "" @@ -1192,12 +1320,16 @@ 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 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 msgid "See also: Screen method :func:`colormode`." @@ -1210,11 +1342,12 @@ msgstr "" #: ../../library/turtle.rst:1047 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 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 msgid "" @@ -1223,12 +1356,18 @@ msgid "" "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 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 msgid "" @@ -1236,10 +1375,13 @@ msgid "" "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 msgid "object to be written to the TurtleScreen" -msgstr "" +msgstr "objeto a ser escrito na TurtleScreen" #: ../../library/turtle.rst:1101 msgid "True/False" @@ -1260,6 +1402,10 @@ msgid "" "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 msgid "" @@ -1267,6 +1413,9 @@ msgid "" "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 msgid "Make the turtle visible." @@ -1275,23 +1424,32 @@ msgstr "Tornar a tartaruga visível." #: ../../library/turtle.rst:1146 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 msgid "a string which is a valid shapename" -msgstr "" +msgstr "uma string que é um shapename válido" #: ../../library/turtle.rst:1163 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 "" +"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 "" +"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:1181 msgid "one of the strings \"auto\", \"user\", \"noresize\"" -msgstr "" +msgstr "uma das Strings \"auto\", \"user\", \"noresize\"" #: ../../library/turtle.rst:1183 msgid "" @@ -1299,28 +1457,38 @@ msgid "" "*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 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 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 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 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 @@ -1334,8 +1502,14 @@ msgid "" "turtle will be displayed stretched according to its stretchfactors: " "*stretch_wid* is stretchfactor perpendicular to its orientation, " "*stretch_len* is stretchfactor in direction of its orientation, *outline* " -"determines the width of the shapes's 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 @@ -1350,12 +1524,21 @@ 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 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 msgid "" @@ -1363,6 +1546,9 @@ msgid "" "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 @@ -1379,10 +1565,17 @@ 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 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 msgid "" @@ -1393,12 +1586,22 @@ 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 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 @@ -1406,11 +1609,13 @@ 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 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 @@ -1418,6 +1623,8 @@ 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 msgid "" @@ -1425,64 +1632,86 @@ msgid "" "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 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 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 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 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 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 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 msgid "Return the last recorded polygon." -msgstr "" +msgstr "Retorna o último polígono registrado." #: ../../library/turtle.rst:1471 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 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 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 msgid "an integer or ``None``" @@ -1495,10 +1724,14 @@ msgid "" "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 msgid "Return number of entries in the undobuffer." -msgstr "" +msgstr "Retorna o número de entradas no undobuffer." #: ../../library/turtle.rst:1540 msgid "Compound shapes" @@ -1510,16 +1743,21 @@ msgid "" "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 msgid "Create an empty Shape object of type \"compound\"." -msgstr "" +msgstr "Crie um objeto Shape vazio do tipo \"compound\"." #: ../../library/turtle.rst:1547 msgid "" -"Add as many components to this object as desired, using the :meth:" -"`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 msgid "For example:" @@ -1527,7 +1765,7 @@ msgstr "Por exemplo:" #: ../../library/turtle.rst:1561 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 msgid "" @@ -1535,30 +1773,38 @@ msgid "" "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 msgid "Methods of TurtleScreen/Screen and corresponding functions" -msgstr "" +msgstr "métodos do TurtleScreen/Screen e as funções correspondentes" #: ../../library/turtle.rst:1580 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 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 msgid "Set or return background color of the TurtleScreen." -msgstr "" +msgstr "Define ou retorna a cor de fundo do TurtleScreen." #: ../../library/turtle.rst:1613 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 msgid "" @@ -1567,6 +1813,11 @@ msgid "" "*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 msgid "" @@ -1574,6 +1825,9 @@ msgid "" "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 msgid "" @@ -1581,6 +1835,9 @@ msgid "" "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 msgid "" @@ -1588,22 +1845,25 @@ msgid "" "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 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 msgid "positive integer, new width of canvas in pixels" -msgstr "" +msgstr "positivo inteiro, a nova largura da tela em pixels" #: ../../library/turtle.rst:1660 msgid "positive integer, new height of canvas in pixels" -msgstr "" +msgstr "positivo inteiro, a nova altura da tela em pixels" #: ../../library/turtle.rst:1661 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 msgid "" @@ -1613,26 +1873,35 @@ 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 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 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 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 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 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 msgid "" @@ -1640,16 +1909,22 @@ msgid "" "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 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 msgid "positive integer" -msgstr "" +msgstr "um número inteiro positivo" #: ../../library/turtle.rst:1719 msgid "" @@ -1657,6 +1932,9 @@ msgid "" "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 msgid "Optional argument:" @@ -1674,10 +1952,18 @@ 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 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 msgid "See also the RawTurtle/Turtle method :func:`speed`." @@ -1689,14 +1975,19 @@ msgid "" "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 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 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 msgid "" @@ -1704,6 +1995,10 @@ msgid "" "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 msgid "" @@ -1711,18 +2006,26 @@ msgid "" "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 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 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 msgid "" @@ -1730,6 +2033,9 @@ msgid "" "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 msgid "a function with no arguments" @@ -1741,7 +2047,7 @@ msgstr "um número >= 0" #: ../../library/turtle.rst:1848 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 msgid "" @@ -1750,6 +2056,10 @@ msgid "" "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 @@ -1763,6 +2073,11 @@ msgid "" "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 msgid "" @@ -1777,13 +2092,16 @@ msgstr "" #: ../../library/turtle.rst:1915 msgid "one of the strings \"standard\", \"logo\" or \"world\"" -msgstr "" +msgstr "uma das strings \"standard\", \"logo\" ou \"world\"" #: ../../library/turtle.rst:1917 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 msgid "" @@ -1792,6 +2110,11 @@ msgid "" "\"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 msgid "Mode" @@ -1831,7 +2154,7 @@ msgstr "sentido horário" #: ../../library/turtle.rst:1942 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 msgid "" @@ -1844,32 +2167,42 @@ 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 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 msgid "There are three different ways to call this function:" -msgstr "" +msgstr "Há três maneiras diferentes de chamar essa função:" #: ../../library/turtle.rst:1992 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 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 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 msgid "" @@ -1882,6 +2215,9 @@ 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 msgid "Return the list of turtles on the screen." @@ -1898,14 +2234,15 @@ msgstr "Retorna a largura da janela da tartaruga. ::" #: ../../library/turtle.rst:2046 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 msgid "Shut the turtlegraphics window." -msgstr "" +msgstr "Fecha a janela do gráficos de tartaruga." #: ../../library/turtle.rst:2055 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 msgid "" @@ -1915,6 +2252,11 @@ msgid "" "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 msgid "" @@ -1922,38 +2264,53 @@ msgid "" "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 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 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 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 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 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 msgid "Set title of turtle window to *titlestring*." -msgstr "" +msgstr "Define o título da janela da tartaruga como *titlestring*." #: ../../library/turtle.rst:2105 msgid "Public classes" @@ -1970,12 +2327,17 @@ 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 msgid "" "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`" @@ -1983,36 +2345,46 @@ msgstr "uma :class:`tkinter.Canvas`" #: ../../library/turtle.rst:2128 msgid "" -"Provides screen oriented methods like :func:`setbg` etc. that are described " -"above." +"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 msgid "" "Subclass of TurtleScreen, with :ref:`four methods added `." msgstr "" +"Subclasse do TurtleScreen, com :ref:`quatro métodos adicionados " +"`." #: ../../library/turtle.rst:2138 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 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 msgid "one of the strings \"polygon\", \"image\", \"compound\"" -msgstr "" +msgstr "uma das strings \"polygon\", \"image\", \"compound\"" #: ../../library/turtle.rst:2148 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 msgid "*type_*" @@ -2028,7 +2400,7 @@ msgstr "\"polygon\"" #: ../../library/turtle.rst:2155 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 msgid "\"image\"" @@ -2036,7 +2408,7 @@ msgstr "\"image\"" #: ../../library/turtle.rst:2156 msgid "an image (in this form only used internally!)" -msgstr "" +msgstr "uma imagem (nesse formato, usada apenas internamente!)" #: ../../library/turtle.rst:2157 msgid "\"compound\"" @@ -2047,18 +2419,20 @@ msgid "" "``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 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 msgid "a color the *poly* will be filled with" -msgstr "" +msgstr "uma cor com a qual o *poly* será preenchido" #: ../../library/turtle.rst:2165 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 msgid "Example:" @@ -2066,7 +2440,7 @@ msgstr "Exemplo:" #: ../../library/turtle.rst:2177 msgid "See :ref:`compoundshapes`." -msgstr "" +msgstr "Veja :ref:`compoundshapes`." #: ../../library/turtle.rst:2182 msgid "" @@ -2074,10 +2448,13 @@ msgid "" "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 msgid "Provides (for *a*, *b* vectors, *k* number):" -msgstr "" +msgstr "Fornece (para vetores *a*, *b*, número *k*):" #: ../../library/turtle.rst:2188 msgid "``a + b`` vector addition" @@ -2117,32 +2494,41 @@ msgid "" "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 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 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 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 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 msgid "Translation of docstrings into different languages" -msgstr "" +msgstr "Tradução de docstrings em diferentes idiomas" #: ../../library/turtle.rst:2281 msgid "" @@ -2150,10 +2536,13 @@ msgid "" "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 msgid "a string, used as filename" -msgstr "" +msgstr "uma string, usado como nome de arquivo" #: ../../library/turtle.rst:2289 msgid "" @@ -2163,6 +2552,11 @@ 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 msgid "" @@ -2170,6 +2564,9 @@ msgid "" "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 msgid "" @@ -2177,22 +2574,29 @@ msgid "" "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 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 msgid "How to configure Screen and Turtles" -msgstr "" +msgstr "Como configurar Screen and Turtles" #: ../../library/turtle.rst:2310 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 msgid "" @@ -2202,416 +2606,494 @@ 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 msgid "" -"The built in configuration would correspond to the following turtle.cfg::" -msgstr "" +"The built in configuration would correspond to the following ``turtle.cfg``:" +msgstr "A configuração que definida no arquivo ``turtle.cfg``:" -#: ../../library/turtle.rst:2341 +#: ../../library/turtle.rst:2343 msgid "Short explanation of selected entries:" -msgstr "" +msgstr "Breve explicação das entradas selecionadas:" -#: ../../library/turtle.rst:2343 +#: ../../library/turtle.rst:2345 msgid "" -"The first four lines correspond to the arguments of the :meth:`Screen.setup` " -"method." +"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:2345 +#: ../../library/turtle.rst:2347 msgid "" -"Line 5 and 6 correspond to the arguments of the method :meth:`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:2347 +#: ../../library/turtle.rst:2349 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:2349 +#: ../../library/turtle.rst:2351 msgid "" -"If you want to use no fillcolor (i.e. make the turtle transparent), you have " -"to write ``fillcolor = \"\"`` (but all nonempty strings must not have quotes " -"in the cfg-file)." +"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:2352 +#: ../../library/turtle.rst:2354 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:2354 +#: ../../library/turtle.rst:2356 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`." msgstr "" -#: ../../library/turtle.rst:2357 +#: ../../library/turtle.rst:2359 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:2361 +#: ../../library/turtle.rst:2363 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 "" -#: ../../library/turtle.rst:2365 +#: ../../library/turtle.rst:2367 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:2369 +#: ../../library/turtle.rst:2371 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:2375 +#: ../../library/turtle.rst:2377 msgid ":mod:`turtledemo` --- Demo scripts" msgstr ":mod:`turtledemo` --- Scripts de Demonstração" -#: ../../library/turtle.rst:2380 +#: ../../library/turtle.rst:2382 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:2385 +#: ../../library/turtle.rst:2387 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:2389 +#: ../../library/turtle.rst:2391 msgid "The :mod:`turtledemo` package directory contains:" -msgstr "" +msgstr "O diretório do pacote :mod:`turtledemo` contém:" -#: ../../library/turtle.rst:2391 +#: ../../library/turtle.rst:2393 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:2393 +#: ../../library/turtle.rst:2395 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:2396 +#: ../../library/turtle.rst:2398 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:2399 +#: ../../library/turtle.rst:2401 msgid "The demo scripts are:" msgstr "Os scripts de demonstração são:" -#: ../../library/turtle.rst:2404 +#: ../../library/turtle.rst:2408 msgid "Name" msgstr "Nome" -#: ../../library/turtle.rst:2404 +#: ../../library/turtle.rst:2408 msgid "Description" msgstr "Descrição" -#: ../../library/turtle.rst:2404 +#: ../../library/turtle.rst:2408 msgid "Features" msgstr "Recursos" -#: ../../library/turtle.rst:2406 +#: ../../library/turtle.rst:2410 msgid "bytedesign" msgstr "bytedesign" -#: ../../library/turtle.rst:2406 +#: ../../library/turtle.rst:2410 msgid "complex classical turtle graphics pattern" msgstr "Padrão de gráficos de tartaruga clássico complexo" -#: ../../library/turtle.rst:2406 +#: ../../library/turtle.rst:2410 msgid ":func:`tracer`, delay, :func:`update`" msgstr ":func:`tracer`, delay, :func:`update`" -#: ../../library/turtle.rst:2409 +#: ../../library/turtle.rst:2413 msgid "chaos" msgstr "chaos" -#: ../../library/turtle.rst:2409 +#: ../../library/turtle.rst:2413 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:2409 +#: ../../library/turtle.rst:2413 msgid "world coordinates" msgstr "coordenadas mundiais" -#: ../../library/turtle.rst:2415 +#: ../../library/turtle.rst:2419 msgid "clock" msgstr "relógio" -#: ../../library/turtle.rst:2415 +#: ../../library/turtle.rst:2419 msgid "analog clock showing time of your computer" msgstr "Relógio analógico que mostra o horário do seu computador" -#: ../../library/turtle.rst:2415 +#: ../../library/turtle.rst:2419 msgid "turtles as clock's hands, ontimer" msgstr "tartarugas como as mãos do relógio, ontimer" -#: ../../library/turtle.rst:2418 +#: ../../library/turtle.rst:2422 msgid "colormixer" msgstr "colormixer" -#: ../../library/turtle.rst:2418 +#: ../../library/turtle.rst:2422 msgid "experiment with r, g, b" msgstr "experimento com r, g, b" -#: ../../library/turtle.rst:2420 +#: ../../library/turtle.rst:2424 msgid "forest" msgstr "forest" -#: ../../library/turtle.rst:2420 +#: ../../library/turtle.rst:2424 msgid "3 breadth-first trees" msgstr "3 breadth-first trees" -#: ../../library/turtle.rst:2420 +#: ../../library/turtle.rst:2424 msgid "randomization" -msgstr "randomization" +msgstr "randomização" -#: ../../library/turtle.rst:2422 +#: ../../library/turtle.rst:2426 msgid "fractalcurves" msgstr "fractalcurves" -#: ../../library/turtle.rst:2422 +#: ../../library/turtle.rst:2426 msgid "Hilbert & Koch curves" msgstr "Curvas de Hilbert & Koch" -#: ../../library/turtle.rst:2422 +#: ../../library/turtle.rst:2426 msgid "recursion" msgstr "recursão" -#: ../../library/turtle.rst:2424 +#: ../../library/turtle.rst:2428 msgid "lindenmayer" msgstr "lindenmayer" -#: ../../library/turtle.rst:2424 +#: ../../library/turtle.rst:2428 msgid "ethnomathematics (indian kolams)" msgstr "ethnomathematics (indian kolams)" -#: ../../library/turtle.rst:2424 +#: ../../library/turtle.rst:2428 msgid "L-System" msgstr "L-System" -#: ../../library/turtle.rst:2427 +#: ../../library/turtle.rst:2431 msgid "minimal_hanoi" msgstr "minimal_hanoi" -#: ../../library/turtle.rst:2427 +#: ../../library/turtle.rst:2431 msgid "Towers of Hanoi" msgstr "Torres de Hanoi" -#: ../../library/turtle.rst:2427 +#: ../../library/turtle.rst:2431 msgid "Rectangular Turtles as Hanoi discs (shape, shapesize)" msgstr "Tartarugas retângulos como discos de Hanói (shape, shapesize)" -#: ../../library/turtle.rst:2431 +#: ../../library/turtle.rst:2435 msgid "nim" msgstr "nim" -#: ../../library/turtle.rst:2431 +#: ../../library/turtle.rst:2435 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:2431 +#: ../../library/turtle.rst:2435 msgid "turtles as nimsticks, event driven (mouse, keyboard)" -msgstr "" +msgstr "tartarugas como gravetos, acionadas por eventos (mouse, teclado)" -#: ../../library/turtle.rst:2435 +#: ../../library/turtle.rst:2439 msgid "paint" msgstr "paint" -#: ../../library/turtle.rst:2435 +#: ../../library/turtle.rst:2439 msgid "super minimalistic drawing program" msgstr "programa de desenho super minimalista" -#: ../../library/turtle.rst:2438 +#: ../../library/turtle.rst:2442 msgid "peace" msgstr "peça" -#: ../../library/turtle.rst:2438 +#: ../../library/turtle.rst:2442 msgid "elementary" msgstr "elementar" -#: ../../library/turtle.rst:2438 +#: ../../library/turtle.rst:2442 msgid "turtle: appearance and animation" msgstr "tartaruga: aparência e animação" -#: ../../library/turtle.rst:2441 +#: ../../library/turtle.rst:2445 msgid "penrose" msgstr "penrose" -#: ../../library/turtle.rst:2441 +#: ../../library/turtle.rst:2445 msgid "aperiodic tiling with kites and darts" -msgstr "" +msgstr "ladrilhos irregulares com pipas e dardos" -#: ../../library/turtle.rst:2444 +#: ../../library/turtle.rst:2448 msgid "planet_and_moon" msgstr "planet_and_moon" -#: ../../library/turtle.rst:2444 +#: ../../library/turtle.rst:2448 msgid "simulation of gravitational system" -msgstr "simulação do sistema gravitacional" +msgstr "simulação de um sistema gravitacional" -#: ../../library/turtle.rst:2444 +#: ../../library/turtle.rst:2448 msgid "compound shapes, :class:`Vec2D`" msgstr "formas compostas, :class:`Vec2D`" -#: ../../library/turtle.rst:2447 +#: ../../library/turtle.rst:2451 +msgid "rosette" +msgstr "rosette" + +#: ../../library/turtle.rst:2451 +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 +msgid ":func:`clone`, :func:`undo`" +msgstr ":func:`clone`, :func:`undo`" + +#: ../../library/turtle.rst:2454 msgid "round_dance" msgstr "round_dance" -#: ../../library/turtle.rst:2447 +#: ../../library/turtle.rst:2454 msgid "dancing turtles rotating pairwise in opposite direction" -msgstr "" +msgstr "tartarugas dançantes girando em pares na direção oposta" -#: ../../library/turtle.rst:2447 +#: ../../library/turtle.rst:2454 msgid "compound shapes, clone shapesize, tilt, get_shapepoly, update" msgstr "" +"formas compostas, clonar o shapesize, inclinação, get_shapepoly, atualizar" -#: ../../library/turtle.rst:2451 +#: ../../library/turtle.rst:2458 msgid "sorting_animate" msgstr "sorting_animate" -#: ../../library/turtle.rst:2451 +#: ../../library/turtle.rst:2458 msgid "visual demonstration of different sorting methods" -msgstr "" +msgstr "demonstração visual de diferentes tipos de métodos de ordenação" -#: ../../library/turtle.rst:2451 +#: ../../library/turtle.rst:2458 msgid "simple alignment, randomization" -msgstr "" +msgstr "alinhamento simples, randomização" -#: ../../library/turtle.rst:2454 +#: ../../library/turtle.rst:2461 msgid "tree" msgstr "tree" -#: ../../library/turtle.rst:2454 +#: ../../library/turtle.rst:2461 msgid "a (graphical) breadth first tree (using generators)" -msgstr "" +msgstr "uma árvore (gráfica) da largura inicial (usando geradores)" -#: ../../library/turtle.rst:2457 +#: ../../library/turtle.rst:2464 msgid "two_canvases" msgstr "two_canvases" -#: ../../library/turtle.rst:2457 +#: ../../library/turtle.rst:2464 msgid "simple design" msgstr "desenho simples" -#: ../../library/turtle.rst:2457 +#: ../../library/turtle.rst:2464 msgid "turtles on two canvases" msgstr "tartarugas em duas telas" -#: ../../library/turtle.rst:2460 -msgid "wikipedia" -msgstr "wikipedia" - -#: ../../library/turtle.rst:2460 -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:2460 -msgid ":func:`clone`, :func:`undo`" -msgstr ":func:`clone`, :func:`undo`" - -#: ../../library/turtle.rst:2463 +#: ../../library/turtle.rst:2467 msgid "yinyang" msgstr "yinyang" -#: ../../library/turtle.rst:2463 +#: ../../library/turtle.rst:2467 msgid "another elementary example" msgstr "outro exemplo elementar" -#: ../../library/turtle.rst:2466 +#: ../../library/turtle.rst:2470 msgid "Have fun!" -msgstr "Diverta-se!" +msgstr "Divirta-se!" -#: ../../library/turtle.rst:2470 +#: ../../library/turtle.rst:2474 msgid "Changes since Python 2.6" msgstr "Modificações desde a versão do Python 2.6" -#: ../../library/turtle.rst:2472 +#: ../../library/turtle.rst:2476 msgid "" -"The methods :meth:`Turtle.tracer`, :meth:`Turtle.window_width` and :meth:" -"`Turtle.window_height` have been eliminated. Methods with these names and " -"functionality are now available only as methods of :class:`Screen`. The " -"functions derived from these remain available. (In fact already in Python " -"2.6 these methods were merely duplications of the corresponding :class:" -"`TurtleScreen`/:class:`Screen`-methods.)" +"The methods :func:`Turtle.tracer `, :func:`Turtle.window_width " +"` and :func:`Turtle.window_height ` have been " +"eliminated. Methods with these names and functionality are now available " +"only as methods of :class:`Screen`. The functions derived from these remain " +"available. (In fact already in Python 2.6 these methods were merely " +"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:2480 +#: ../../library/turtle.rst:2484 msgid "" -"The method :meth:`Turtle.fill` has been eliminated. The behaviour of :meth:" -"`begin_fill` and :meth:`end_fill` have changed slightly: now every filling-" +"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:2485 +#: ../../library/turtle.rst:2489 msgid "" -"A method :meth:`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." +"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:2491 +#: ../../library/turtle.rst:2495 msgid "Changes since Python 3.0" msgstr "Modificações desde a versão do Python 3.0" -#: ../../library/turtle.rst:2493 -msgid "" -"The methods :meth:`Turtle.shearfactor`, :meth:`Turtle.shapetransform` and :" -"meth:`Turtle.get_shapepoly` have been added. Thus the full range of regular " -"linear transforms is now available for transforming turtle shapes. :meth:" -"`Turtle.tiltangle` has been enhanced in functionality: it now can be used to " -"get or set the tiltangle. :meth:`Turtle.settiltangle` has been deprecated." -msgstr "" - -#: ../../library/turtle.rst:2500 +#: ../../library/turtle.rst:2497 msgid "" -"The method :meth:`Screen.onkeypress` has been added as a complement to :meth:" -"`Screen.onkey` which in fact binds actions to the keyrelease event. " -"Accordingly the latter has got an alias: :meth:`Screen.onkeyrelease`." +"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 msgid "" -"The method :meth:`Screen.mainloop` has been added. So when working only " -"with Screen and Turtle objects one must not additionally import :func:" -"`mainloop` anymore." +"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 msgid "" -"Two input methods has been added :meth:`Screen.textinput` and :meth:`Screen." -"numinput`. These popup input dialogs and return strings and numbers " -"respectively." +"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 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." +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 +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 0f7690cac..3fa61fc0c 100644 --- a/library/types.po +++ b/library/types.po @@ -1,26 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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.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: Rafael Fontenelle , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:58+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/types.rst:2 msgid ":mod:`types` --- Dynamic type creation and names for built-in types" @@ -170,7 +171,7 @@ msgstr "" #: ../../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" @@ -312,8 +313,8 @@ msgid "" "in C\".)" msgstr "" "O tipo de funções embutidas como :func:`len` ou :func:`sys.exit`, e métodos " -"de classes embutidas. (Aqui, o termo \"embutidas\" significa \"escrito em C" -"\".) " +"de classes embutidas. (Aqui, o termo \"embutidas\" significa \"escrito em " +"C\".)" #: ../../library/types.rst:188 msgid "" @@ -376,20 +377,20 @@ msgstr "O :term:`carregador` que carregou o módulo. O padrão é ``None``." #: ../../library/types.rst:241 msgid "" "This attribute is to match :attr:`importlib.machinery.ModuleSpec.loader` as " -"stored in the attr:`__spec__` object." +"stored in the :attr:`__spec__` object." msgstr "" -"Este atributo é para corresponder a :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 msgid "" "A future version of Python may stop setting this attribute by default. To " -"guard against this potential change, preferrably read from the :attr:" +"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 este atributo por padrão. " -"Para se proteger contra essa mudança potencial, de preferência leia o " +"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." @@ -421,20 +422,20 @@ msgstr "" #: ../../library/types.rst:266 msgid "" "This attribute is to match :attr:`importlib.machinery.ModuleSpec.parent` as " -"stored in the attr:`__spec__` object." +"stored in the :attr:`__spec__` object." msgstr "" -"Este atributo é para corresponder a :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 msgid "" "A future version of Python may stop setting this attribute by default. To " -"guard against this potential change, preferrably read from the :attr:" +"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 essa mudança potencial, de preferência leia 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." @@ -470,7 +471,7 @@ msgstr "" #: ../../library/types.rst:311 msgid "This type can now be subclassed." -msgstr "Este tipo pode agora ter uma subclasse. " +msgstr "Este tipo pode agora ter uma subclasse." #: ../../library/types.rst:317 msgid "The type of :ref:`union type expressions`." @@ -637,10 +638,10 @@ msgid "" "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:433 msgid "The type is roughly equivalent to the following code::" @@ -701,13 +702,15 @@ msgid "" "`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:`__await__` method." +"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:`__await__`." +"entanto, pode não necessariamente implementar o método :meth:`~object." +"__await__`." #: ../../library/types.rst:485 msgid "If *gen_func* is a generator function, it will be modified in-place." diff --git a/library/typing.po b/library/typing.po index 95c2ec3d1..b35c2d9d9 100644 --- a/library/typing.po +++ b/library/typing.po @@ -1,31 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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 -# Augusta Carla Klug , 2021 -# i17obot , 2021 -# Vinicius Gubiani Ferreira , 2021 -# Vitor Buxbaum Orlandi, 2021 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.10\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-07-24 13:05+0000\n" -"PO-Revision-Date: 2021-06-28 01:16+0000\n" -"Last-Translator: Vitor Buxbaum Orlandi, 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-23 17:01+0000\n" +"PO-Revision-Date: 2025-09-22 15:58+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/typing.rst:3 msgid ":mod:`typing` --- Support for type hints" @@ -47,28 +43,19 @@ msgstr "" #: ../../library/typing.rst:20 msgid "" -"This module provides runtime support for type hints as specified by :pep:" -"`484`, :pep:`526`, :pep:`544`, :pep:`586`, :pep:`589`, :pep:`591`, :pep:" -"`612` and :pep:`613`. The most fundamental support consists of the types :" -"data:`Any`, :data:`Union`, :data:`Tuple`, :data:`Callable`, :class:" -"`TypeVar`, and :class:`Generic`. For full specification please see :pep:" -"`484`. For a simplified introduction to type hints see :pep:`483`." +"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`." msgstr "" -"Este módulo provê suporte em tempo de execução para dicas de tipo como " -"especificadas na :pep:`484`, :pep:`526`, :pep:`544`, :pep:`586`, :pep:" -"`589`, :pep:`591`, :pep:`612` e :pep:`613`. O suporte mais fundamental " -"consiste nos tipos :data:`Any`, :data:`Union`, :data:`Tuple`, :data:" -"`Callable`, :class:`TypeVar`, e :class:`Generic`. Veja a :pep:`484` para a " -"especificação completa. Veja a :pep:`483` para uma introdução simplificada " -"a dicas de tipo." -#: ../../library/typing.rst:29 +#: ../../library/typing.rst:26 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:34 +#: ../../library/typing.rst:31 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 " @@ -78,11 +65,154 @@ msgstr "" "class:`str` e o retorno do tipo :class:`str`. Subtipos são aceitos como " "argumentos." +#: ../../library/typing.rst:35 +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:41 +msgid "" +"For a quick overview of type hints, refer to `this cheat sheet `_." +msgstr "" + +#: ../../library/typing.rst:44 +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." +msgstr "" + +#: ../../library/typing.rst:49 +msgid "" +"The documentation at https://typing.readthedocs.io/ serves as useful " +"reference for type system features, useful typing related tools and typing " +"best practices." +msgstr "" + +#: ../../library/typing.rst:55 +msgid "Relevant PEPs" +msgstr "PEPs Relevantes" + +#: ../../library/typing.rst:57 +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:" +msgstr "" + +#: ../../library/typing.rst:62 +msgid ":pep:`526`: Syntax for Variable Annotations" +msgstr ":pep:`526`: Sintaxe para Anotações de Variável" + +#: ../../library/typing.rst:62 +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:65 +msgid ":pep:`544`: Protocols: Structural subtyping (static duck typing)" +msgstr "" + +#: ../../library/typing.rst:65 +msgid "" +"*Introducing* :class:`Protocol` and the :func:" +"`@runtime_checkable` decorator" +msgstr "" +"*Introduzindo* :class:`Protocol` e o decorador :func:" +"`@runtime_checkable`." + +#: ../../library/typing.rst:68 +msgid ":pep:`585`: Type Hinting Generics In Standard Collections" +msgstr "" + +#: ../../library/typing.rst:68 +msgid "" +"*Introducing* :class:`types.GenericAlias` and the ability to use standard " +"library classes as :ref:`generic types`" +msgstr "" + +#: ../../library/typing.rst:70 +msgid ":pep:`586`: Literal Types" +msgstr ":pep:`586`: Tipos literais" + +#: ../../library/typing.rst:71 +msgid "*Introducing* :data:`Literal`" +msgstr "*Introduzindo* :data:`Literal`" + +#: ../../library/typing.rst:72 +msgid "" +":pep:`589`: TypedDict: Type Hints for Dictionaries with a Fixed Set of Keys" +msgstr "" + +#: ../../library/typing.rst:73 +msgid "*Introducing* :class:`TypedDict`" +msgstr "" + +#: ../../library/typing.rst:74 +msgid ":pep:`591`: Adding a final qualifier to typing" +msgstr ":pep:`591`: Adicionando um qualificador final para escrita" + +#: ../../library/typing.rst:75 +msgid "*Introducing* :data:`Final` and the :func:`@final` decorator" +msgstr "" + +#: ../../library/typing.rst:76 +msgid ":pep:`593`: Flexible function and variable annotations" +msgstr "" + +#: ../../library/typing.rst:77 +msgid "*Introducing* :data:`Annotated`" +msgstr "" + +#: ../../library/typing.rst:80 +msgid ":pep:`604`: Allow writing union types as ``X | Y``" +msgstr "" + +#: ../../library/typing.rst:79 +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:82 +msgid ":pep:`612`: Parameter Specification Variables" +msgstr "" + +#: ../../library/typing.rst:83 +msgid "*Introducing* :class:`ParamSpec` and :data:`Concatenate`" +msgstr "" + +#: ../../library/typing.rst:84 +msgid ":pep:`613`: Explicit Type Aliases" +msgstr "" + +#: ../../library/typing.rst:85 +msgid "*Introducing* :data:`TypeAlias`" +msgstr "" + +#: ../../library/typing.rst:87 +msgid ":pep:`647`: User-Defined Type Guards" +msgstr "" + +#: ../../library/typing.rst:87 +msgid "*Introducing* :data:`TypeGuard`" +msgstr "" + +#: ../../library/typing.rst:92 msgid "Type aliases" msgstr "Apelidos de tipo" -#: ../../library/typing.rst:43 +#: ../../library/typing.rst:94 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::" @@ -90,7 +220,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:54 +#: ../../library/typing.rst:105 msgid "" "Type aliases are useful for simplifying complex type signatures. For " "example::" @@ -98,7 +228,7 @@ msgstr "" "Apelidos de tipo são úteis para simplificar assinaturas de tipo complexas. " "Por exemplo::" -#: ../../library/typing.rst:72 +#: ../../library/typing.rst:123 msgid "" "Note that ``None`` as a type hint is a special case and is replaced by " "``type(None)``." @@ -106,15 +236,15 @@ msgstr "" "Note que ``None`` como uma dica de tipo é um caso especial e é substituído " "por ``type(None)``." -#: ../../library/typing.rst:78 +#: ../../library/typing.rst:129 msgid "NewType" msgstr "NewType" -#: ../../library/typing.rst:80 -msgid "Use the :class:`NewType` helper class to create distinct types::" -msgstr "Use a classe ajudante :class:`NewType` para criar tipos distintos::" +#: ../../library/typing.rst:131 +msgid "Use the :class:`NewType` helper to create distinct types::" +msgstr "Utilize o auxiliar :class:`NewType` para criar tipos únicos::" -#: ../../library/typing.rst:87 +#: ../../library/typing.rst:138 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::" @@ -123,7 +253,7 @@ msgstr "" "subclasse do tipo original. Isso é útil para ajudar a encontrar erros de " "lógica::" -#: ../../library/typing.rst:99 +#: ../../library/typing.rst:150 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 " @@ -136,22 +266,22 @@ msgstr "" "mas previne que você acidentalmente crie um ``UserId`` de uma forma " "inválida::" -#: ../../library/typing.rst:107 +#: ../../library/typing.rst:158 msgid "" "Note that these checks are enforced only by the static type checker. At " "runtime, the statement ``Derived = NewType('Derived', Base)`` will make " -"``Derived`` a class that immediately returns whatever parameter you pass it. " -"That means the expression ``Derived(some_value)`` does not create a new " +"``Derived`` a callable that immediately returns whatever parameter you pass " +"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 "" -"Observe que essas verificações são aplicadas apenas pelo verificador de tipo " +"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)`` fará ``Derived`` ser uma classe que imediatamente retorna qualquer " -"parâmetro que você passar a ela. Isso significa que a expressão " -"``Derived(some_value)`` não cria uma nova classe ou introduz muita " -"sobrecarga além da de uma chamada de função padrão." +"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:113 +#: ../../library/typing.rst:164 msgid "" "More precisely, the expression ``some_value is Derived(some_value)`` is " "always true at runtime." @@ -159,11 +289,11 @@ msgstr "" "Mais precisamente, a expressão ``some_value is Derived(some_value)`` é " "sempre verdadeira em tempo de execução." -#: ../../library/typing.rst:116 +#: ../../library/typing.rst:167 msgid "It is invalid to create a subtype of ``Derived``::" msgstr "É inválido criar um subtipo de ``Derived``::" -#: ../../library/typing.rst:125 +#: ../../library/typing.rst:176 msgid "" "However, it is possible to create a :class:`NewType` based on a 'derived' " "``NewType``::" @@ -171,15 +301,15 @@ msgstr "" "No entanto, é possível criar um :class:`NewType` baseado em um 'derivado' " "``NewType``::" -#: ../../library/typing.rst:133 +#: ../../library/typing.rst:184 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:135 +#: ../../library/typing.rst:186 msgid "See :pep:`484` for more details." msgstr "Veja :pep:`484` para mais detalhes." -#: ../../library/typing.rst:139 +#: ../../library/typing.rst:190 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 " @@ -192,7 +322,7 @@ msgstr "" "equivalente* a ``Original`` em todos os casos. Isso é útil quando você " "deseja simplificar assinaturas de tipo complexas." -#: ../../library/typing.rst:144 +#: ../../library/typing.rst:195 msgid "" "In contrast, ``NewType`` declares one type to be a *subtype* of another. " "Doing ``Derived = NewType('Derived', Original)`` will make the static type " @@ -208,7 +338,7 @@ 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:153 +#: ../../library/typing.rst:204 msgid "" "``NewType`` is now a class rather than a function. There is some additional " "runtime cost when calling ``NewType`` over a regular function. However, " @@ -218,25 +348,25 @@ msgstr "" "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." -#: ../../library/typing.rst:160 +#: ../../library/typing.rst:211 msgid "Callable" msgstr "Callable" -#: ../../library/typing.rst:162 +#: ../../library/typing.rst:213 msgid "" "Frameworks expecting callback functions of specific signatures might be type " "hinted using ``Callable[[Arg1Type, Arg2Type], ReturnType]``." msgstr "" "Frameworks que esperam funções de retorno com assinaturas específicas podem " -"ter seus tipos indicados usando``Callable[[Arg1Type, Arg2Type], " +"ter seus tipos indicados usando ``Callable[[Arg1Type, Arg2Type], " "ReturnType]``." -#: ../../library/typing.rst:165 ../../library/typing.rst:974 -#: ../../library/typing.rst:2045 +#: ../../library/typing.rst:216 ../../library/typing.rst:1031 +#: ../../library/typing.rst:2286 msgid "For example::" msgstr "Por exemplo::" -#: ../../library/typing.rst:176 +#: ../../library/typing.rst:231 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 " @@ -246,7 +376,7 @@ msgstr "" "assinatura da chamada, substituindo por reticências literais a lista de " "argumentos na dica de tipo: ``Callable[..., ReturnType]``." -#: ../../library/typing.rst:180 ../../library/typing.rst:664 +#: ../../library/typing.rst:235 ../../library/typing.rst:722 msgid "" "Callables which take other callables as arguments may indicate that their " "parameter types are dependent on each other using :class:`ParamSpec`. " @@ -257,108 +387,114 @@ 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:188 ../../library/typing.rst:676 +#: ../../library/typing.rst:243 ../../library/typing.rst:734 msgid "" "``Callable`` now supports :class:`ParamSpec` and :data:`Concatenate`. See :" -"pep:`612` for more information." +"pep:`612` for more details." msgstr "" -"``Callable`` agora suporta :class:`ParamSpec` e :data:`Concatenate`. Veja :" -"pep:`612` para mais informações." +"``Callable`` agora oferece suporte a :class:`ParamSpec` e :data:" +"`Concatenate`. Veja :pep:`612` para mais detalhes." -#: ../../library/typing.rst:193 +#: ../../library/typing.rst:248 msgid "" -"The documentation for :class:`ParamSpec` and :class:`Concatenate` provide " +"The documentation for :class:`ParamSpec` and :class:`Concatenate` provides " "examples of usage in ``Callable``." msgstr "" -"A documentação de :class:`ParamSpec` e :class:`Concatenate` provê exemplos " -"de uso em ``Callable``." +"A documentação para :class:`ParamSpec` e :class:`Concatenate` contém " +"exemplos de uso em ``Callable``." -#: ../../library/typing.rst:199 +#: ../../library/typing.rst:254 msgid "Generics" -msgstr "Generics" +msgstr "Genéricos" -#: ../../library/typing.rst:201 +#: ../../library/typing.rst:256 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." msgstr "" -#: ../../library/typing.rst:212 +#: ../../library/typing.rst:267 msgid "" -"Generics can be parameterized by using a new 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:227 +#: ../../library/typing.rst:283 msgid "User-defined generic types" -msgstr "" +msgstr "Tipos genéricos definidos pelo usuário" -#: ../../library/typing.rst:229 +#: ../../library/typing.rst:285 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:255 +#: ../../library/typing.rst:311 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:259 +#: ../../library/typing.rst:315 msgid "" -"The :class:`Generic` base class defines :meth:`__class_getitem__` so that " -"``LoggedVar[t]`` is valid as a type::" +"The :class:`Generic` base class defines :meth:`~object.__class_getitem__` so " +"that ``LoggedVar[T]`` is valid as a type::" msgstr "" -#: ../../library/typing.rst:268 +#: ../../library/typing.rst:324 msgid "" -"A generic type can have any number of type variables, and type variables may " -"be constrained::" +"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:280 +#: ../../library/typing.rst:336 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:291 +#: ../../library/typing.rst:347 msgid "You can use multiple inheritance with :class:`Generic`::" msgstr "" -#: ../../library/typing.rst:301 +#: ../../library/typing.rst:357 msgid "" "When inheriting from generic classes, some type variables could be fixed::" msgstr "" -#: ../../library/typing.rst:311 +#: ../../library/typing.rst:367 msgid "In this case ``MyDict`` has a single parameter, ``T``." -msgstr "" +msgstr "Neste caso ``MyDict`` possui um único parâmetro, ``T``." -#: ../../library/typing.rst:313 +#: ../../library/typing.rst:369 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]``::" msgstr "" -#: ../../library/typing.rst:321 +#: ../../library/typing.rst:377 msgid "User defined generic type aliases are also supported. Examples::" msgstr "" -#: ../../library/typing.rst:338 +#: ../../library/typing.rst:394 msgid ":class:`Generic` no longer has a custom metaclass." -msgstr "" +msgstr ":class:`Generic` não possui mais uma metaclasse personalizada." -#: ../../library/typing.rst:341 +#: ../../library/typing.rst:397 msgid "" "User-defined generics for parameter expressions are also supported via " "parameter specification variables in the form ``Generic[P]``. The behavior " @@ -368,107 +504,144 @@ msgid "" "used to substitute a :class:`ParamSpec`::" msgstr "" -#: ../../library/typing.rst:358 +#: ../../library/typing.rst:414 msgid "" "Furthermore, a generic with only one parameter specification variable will " "accept parameter lists in the forms ``X[[Type1, Type2, ...]]`` and also " "``X[Type1, Type2, ...]`` for aesthetic reasons. Internally, the latter is " -"converted to the former and are thus equivalent::" +"converted to the former, so the following are equivalent::" msgstr "" -#: ../../library/typing.rst:370 +#: ../../library/typing.rst:426 msgid "" "Do 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 "" -#: ../../library/typing.rst:374 +#: ../../library/typing.rst:430 msgid "" ":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:378 +#: ../../library/typing.rst:434 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 " -"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:385 +#: ../../library/typing.rst:441 msgid "The :data:`Any` type" -msgstr "" +msgstr "O tipo :data:`Any`" -#: ../../library/typing.rst:387 +#: ../../library/typing.rst:443 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:391 +#: ../../library/typing.rst:447 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:409 +#: ../../library/typing.rst:465 msgid "" -"Notice that no typechecking is performed when assigning a value of type :" +"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:415 +#: ../../library/typing.rst:471 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:428 +#: ../../library/typing.rst:484 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:431 +#: ../../library/typing.rst:487 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:436 +#: ../../library/typing.rst:492 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:458 +#: ../../library/typing.rst:514 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:463 +#: ../../library/typing.rst:519 msgid "Nominal vs structural subtyping" -msgstr "" +msgstr "Subtipagem nominal vs estrutural" -#: ../../library/typing.rst:465 +#: ../../library/typing.rst:521 msgid "" -"Initially :pep:`484` defined Python static type system as using *nominal " +"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:469 +#: ../../library/typing.rst:525 msgid "" "This requirement previously also applied to abstract base classes, such as :" "class:`~collections.abc.Iterable`. The problem with this approach is that a " @@ -476,8 +649,14 @@ msgid "" "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:482 +#: ../../library/typing.rst:538 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 " @@ -485,23 +664,31 @@ 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:498 +#: ../../library/typing.rst:554 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:503 +#: ../../library/typing.rst:559 msgid "Module contents" msgstr "Conteúdo do módulo" -#: ../../library/typing.rst:505 +#: ../../library/typing.rst:561 msgid "The module defines the following classes, functions and decorators." msgstr "" -#: ../../library/typing.rst:509 +#: ../../library/typing.rst:565 msgid "" "This module defines several types that are subclasses of pre-existing " "standard library classes which also extend :class:`Generic` to support type " @@ -509,7 +696,7 @@ msgid "" "corresponding pre-existing classes were enhanced to support ``[]``." msgstr "" -#: ../../library/typing.rst:515 +#: ../../library/typing.rst:571 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 " @@ -517,173 +704,193 @@ msgid "" "Python 3.9 or newer." msgstr "" -#: ../../library/typing.rst:520 +#: ../../library/typing.rst:576 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*." msgstr "" -#: ../../library/typing.rst:526 +#: ../../library/typing.rst:582 msgid "Special typing primitives" -msgstr "" +msgstr "Tipos primitivos especiais" -#: ../../library/typing.rst:529 +#: ../../library/typing.rst:585 msgid "Special types" msgstr "Tipos especiais" -#: ../../library/typing.rst:531 +#: ../../library/typing.rst:587 msgid "These can be used as types in annotations and do not support ``[]``." msgstr "" -#: ../../library/typing.rst:535 +#: ../../library/typing.rst:591 msgid "Special type indicating an unconstrained type." -msgstr "" +msgstr "Tipo especial que indica um tipo irrestrito." -#: ../../library/typing.rst:537 +#: ../../library/typing.rst:593 msgid "Every type is compatible with :data:`Any`." -msgstr "" +msgstr "Todos os tipos são compatíveis com :data:`Any`." -#: ../../library/typing.rst:538 +#: ../../library/typing.rst:594 msgid ":data:`Any` is compatible with every type." -msgstr "" +msgstr ":data:`Any` é compatível com todos os tipos." -#: ../../library/typing.rst:542 +#: ../../library/typing.rst:598 msgid "Special type indicating that a function never returns. For example::" -msgstr "" +msgstr "Tipo especial indicando que uma função nunca retorna. Por exemplo::" -#: ../../library/typing.rst:555 +#: ../../library/typing.rst:611 msgid "" "Special annotation for explicitly declaring a :ref:`type alias `. For example::" msgstr "" -#: ../../library/typing.rst:562 +#: ../../library/typing.rst:618 msgid "See :pep:`613` for more details about explicit type aliases." msgstr "" -#: ../../library/typing.rst:567 +#: ../../library/typing.rst:623 msgid "Special forms" -msgstr "" +msgstr "Formas especiais" -#: ../../library/typing.rst:569 +#: ../../library/typing.rst:625 msgid "" "These can be used as types in annotations using ``[]``, each having a unique " "syntax." msgstr "" -#: ../../library/typing.rst:573 +#: ../../library/typing.rst:629 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[()]``." msgstr "" -#: ../../library/typing.rst:577 +#: ../../library/typing.rst:633 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:581 +#: ../../library/typing.rst:637 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:585 +#: ../../library/typing.rst:641 msgid "" -":class:`builtins.tuple ` now supports ``[]``. See :pep:`585` and :ref:" -"`types-genericalias`." +":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:591 -msgid "Union type; ``Union[X, Y]`` means either X or Y." +#: ../../library/typing.rst:647 +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:593 -msgid "To define a union, use e.g. ``Union[int, str]``. Details:" +#: ../../library/typing.rst:649 +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:595 +#: ../../library/typing.rst:651 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:597 +#: ../../library/typing.rst:653 msgid "Unions of unions are flattened, e.g.::" -msgstr "" +msgstr "As uniões de uniões são achatadas, por exemplo::" -#: ../../library/typing.rst:601 +#: ../../library/typing.rst:657 msgid "Unions of a single argument vanish, e.g.::" -msgstr "" +msgstr "As uniões de um único argumento desaparecem, por exemplo::" -#: ../../library/typing.rst:605 +#: ../../library/typing.rst:661 msgid "Redundant arguments are skipped, e.g.::" -msgstr "" +msgstr "Argumento redundantes são pulados, e.g.::" -#: ../../library/typing.rst:609 +#: ../../library/typing.rst:665 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:613 -msgid "You cannot subclass or instantiate a union." -msgstr "" +#: ../../library/typing.rst:669 +msgid "You cannot subclass or instantiate a ``Union``." +msgstr "Você não pode estender ou instanciar uma ``Union``" -#: ../../library/typing.rst:615 +#: ../../library/typing.rst:671 msgid "You cannot write ``Union[X][Y]``." -msgstr "" - -#: ../../library/typing.rst:617 -msgid "You can use ``Optional[X]`` as a shorthand for ``Union[X, None]``." -msgstr "" +msgstr "Você não pode escrever ``Union[X][Y]``." -#: ../../library/typing.rst:619 +#: ../../library/typing.rst:673 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:622 +#: ../../library/typing.rst:676 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:628 +#: ../../library/typing.rst:682 msgid "Optional type." -msgstr "" +msgstr "Tipo opcional." -#: ../../library/typing.rst:630 -msgid "``Optional[X]`` is equivalent to ``Union[X, None]``." -msgstr "" +#: ../../library/typing.rst:684 +msgid "``Optional[X]`` is equivalent to ``X | None`` (or ``Union[X, None]``)." +msgstr "``Optional[X]`` equivale a ``X | None`` (ou ``Union[X, None]``)." -#: ../../library/typing.rst:632 +#: ../../library/typing.rst:686 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:640 +#: ../../library/typing.rst:694 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:649 +#: ../../library/typing.rst:701 +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:707 msgid "Callable type; ``Callable[[int], str]`` is a function of (int) -> str." msgstr "" -#: ../../library/typing.rst:651 +#: ../../library/typing.rst:709 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:656 +#: ../../library/typing.rst:714 msgid "" "There is no syntax to indicate optional or keyword arguments; such function " "types are rarely used as callback types. ``Callable[..., ReturnType]`` " @@ -693,19 +900,21 @@ msgid "" "Callable`." msgstr "" -#: ../../library/typing.rst:672 +#: ../../library/typing.rst:730 msgid "" -":class:`collections.abc.Callable` now supports ``[]``. See :pep:`585` and :" -"ref:`types-genericalias`." +":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:681 +#: ../../library/typing.rst:739 msgid "" "The documentation for :class:`ParamSpec` and :class:`Concatenate` provide " "examples of usage with ``Callable``." msgstr "" -#: ../../library/typing.rst:686 +#: ../../library/typing.rst:744 msgid "" "Used with :data:`Callable` and :class:`ParamSpec` to type annotate a higher " "order callable which adds, removes, or transforms parameters of another " @@ -715,7 +924,7 @@ msgid "" "``Concatenate`` must be a :class:`ParamSpec`." msgstr "" -#: ../../library/typing.rst:693 +#: ../../library/typing.rst:751 msgid "" "For example, to annotate a decorator ``with_lock`` which provides a :class:" "`threading.Lock` to the decorated function, ``Concatenate`` can be used to " @@ -725,18 +934,25 @@ msgid "" "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:733 ../../library/typing.rst:1153 +#: ../../library/typing.rst:790 ../../library/typing.rst:1276 msgid "" ":pep:`612` -- Parameter Specification Variables (the PEP which introduced " "``ParamSpec`` and ``Concatenate``)." msgstr "" -#: ../../library/typing.rst:735 +#: ../../library/typing.rst:792 msgid ":class:`ParamSpec` and :class:`Callable`." msgstr "" -#: ../../library/typing.rst:740 +#: ../../library/typing.rst:797 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 " @@ -744,11 +960,11 @@ msgid "" "``C``. For example::" msgstr "" -#: ../../library/typing.rst:749 +#: ../../library/typing.rst:806 msgid "Note that ``Type[C]`` is covariant::" msgstr "" -#: ../../library/typing.rst:761 +#: ../../library/typing.rst:818 msgid "" "The fact that ``Type[C]`` is covariant implies that all subclasses of ``C`` " "should implement the same constructor signature and class method signatures " @@ -758,82 +974,104 @@ msgid "" "particular case may change in future revisions of :pep:`484`." msgstr "" -#: ../../library/typing.rst:769 +#: ../../library/typing.rst:826 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:775 +#: ../../library/typing.rst:832 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:780 +#: ../../library/typing.rst:837 msgid "" -":class:`builtins.type ` now supports ``[]``. See :pep:`585` and :ref:" -"`types-genericalias`." +":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:786 +#: ../../library/typing.rst:843 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::" msgstr "" -#: ../../library/typing.rst:800 +#: ../../library/typing.rst:857 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:806 +#: ../../library/typing.rst:863 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:814 +#: ../../library/typing.rst:871 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:816 +#: ../../library/typing.rst:873 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:824 +#: ../../library/typing.rst:881 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:826 +#: ../../library/typing.rst:883 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::" 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:840 +#: ../../library/typing.rst:897 msgid "" "A special typing construct to indicate to type checkers that a name cannot " "be re-assigned or overridden in a subclass. For example::" msgstr "" -#: ../../library/typing.rst:852 ../../library/typing.rst:1947 +#: ../../library/typing.rst:909 ../../library/typing.rst:2181 msgid "" "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:859 +#: ../../library/typing.rst:916 msgid "" "A type, introduced in :pep:`593` (``Flexible function and variable " "annotations``), to decorate existing types with context-specific metadata " @@ -845,12 +1083,12 @@ msgid "" "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`` (e.g., via " -"mypy or Pyre, which can safely ignore ``x``) together with runtime access to " -"``x`` within a specific application." +"``Annotated`` type allows for both static typechecking of ``T`` (which can " +"safely ignore ``x``) together with runtime access to ``x`` within a specific " +"application." msgstr "" -#: ../../library/typing.rst:873 +#: ../../library/typing.rst:930 msgid "" "Ultimately, the responsibility of how to interpret the annotations (if at " "all) is the responsibility of the tool or library encountering the " @@ -859,21 +1097,21 @@ msgid "" "using ``isinstance()``)." msgstr "" -#: ../../library/typing.rst:879 +#: ../../library/typing.rst:936 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." msgstr "" -#: ../../library/typing.rst:883 +#: ../../library/typing.rst:940 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." msgstr "" -#: ../../library/typing.rst:887 +#: ../../library/typing.rst:944 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 " @@ -881,59 +1119,59 @@ msgid "" "example, if you are doing value range analysis you might allow this::" msgstr "" -#: ../../library/typing.rst:896 +#: ../../library/typing.rst:953 msgid "" "Passing ``include_extras=True`` to :func:`get_type_hints` lets one access " "the extra annotations at runtime." msgstr "" -#: ../../library/typing.rst:899 +#: ../../library/typing.rst:956 msgid "The details of the syntax:" -msgstr "" +msgstr "Os detalhes da sintaxe:" -#: ../../library/typing.rst:901 +#: ../../library/typing.rst:958 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:903 +#: ../../library/typing.rst:960 msgid "" "Multiple type annotations are supported (``Annotated`` supports variadic " "arguments)::" msgstr "" -#: ../../library/typing.rst:908 +#: ../../library/typing.rst:965 msgid "" "``Annotated`` must be called with at least two arguments " "( ``Annotated[int]`` is not valid)" msgstr "" -#: ../../library/typing.rst:911 +#: ../../library/typing.rst:968 msgid "" "The order of the annotations is preserved and matters for equality checks::" msgstr "" -#: ../../library/typing.rst:918 +#: ../../library/typing.rst:975 msgid "" "Nested ``Annotated`` types are flattened, with metadata ordered starting " "with the innermost annotation::" msgstr "" -#: ../../library/typing.rst:925 +#: ../../library/typing.rst:982 msgid "Duplicated annotations are not removed::" msgstr "" -#: ../../library/typing.rst:931 +#: ../../library/typing.rst:988 msgid "``Annotated`` can be used with nested and generic aliases::" msgstr "" -#: ../../library/typing.rst:944 +#: ../../library/typing.rst:1001 msgid "" "Special typing form 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:948 +#: ../../library/typing.rst:1005 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 " @@ -942,44 +1180,48 @@ msgid "" "conditional expression here is sometimes referred to as a \"type guard\"::" msgstr "" -#: ../../library/typing.rst:963 +#: ../../library/typing.rst:1020 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:967 +#: ../../library/typing.rst:1024 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:970 +#: ../../library/typing.rst:1027 msgid "The return value is a boolean." -msgstr "" +msgstr "O valor de retorno é um booleano." -#: ../../library/typing.rst:971 +#: ../../library/typing.rst:1028 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:988 +#: ../../library/typing.rst:1045 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:992 +#: ../../library/typing.rst:1049 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:998 +#: ../../library/typing.rst:1055 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]`` " @@ -988,47 +1230,49 @@ msgid "" "guards is left to the user." msgstr "" -#: ../../library/typing.rst:1004 +#: ../../library/typing.rst:1061 msgid "" -"``TypeGuard`` also works with type variables. For more information, see :" -"pep:`647` (User-Defined Type Guards)." +"``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:1011 +#: ../../library/typing.rst:1067 msgid "Building generic types" -msgstr "" +msgstr "Construindo tipos genéricos" -#: ../../library/typing.rst:1013 +#: ../../library/typing.rst:1069 msgid "" "These are not used in annotations. They are building blocks for creating " "generic types." msgstr "" -#: ../../library/typing.rst:1017 +#: ../../library/typing.rst:1073 msgid "Abstract base class for generic types." -msgstr "" +msgstr "Classe base abstrata para tipos genéricos" -#: ../../library/typing.rst:1019 +#: ../../library/typing.rst:1075 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:1028 +#: ../../library/typing.rst:1084 msgid "This class can then be used as follows::" -msgstr "" +msgstr "Esta classe pode ser utilizada como segue::" -#: ../../library/typing.rst:1041 +#: ../../library/typing.rst:1097 msgid "Type variable." -msgstr "" +msgstr "Tipo variável." -#: ../../library/typing.rst:1043 ../../library/typing.rst:1082 -#: ../../library/typing.rst:1259 +#: ../../library/typing.rst:1099 ../../library/typing.rst:1205 +#: ../../library/typing.rst:1398 msgid "Usage::" msgstr "Uso::" -#: ../../library/typing.rst:1048 +#: ../../library/typing.rst:1105 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 " @@ -1036,37 +1280,66 @@ msgid "" "types. Generic functions work as follows::" msgstr "" -#: ../../library/typing.rst:1061 +#: ../../library/typing.rst:1125 +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:1128 +msgid "" +"Constrained type variables and bound type variables have different semantics " +"in several important ways. Using a *constrained* type variable means that " +"the ``TypeVar`` can only ever be solved as being exactly one of the " +"constraints given::" +msgstr "" + +#: ../../library/typing.rst:1138 +msgid "" +"Using a *bound* type variable, however, means that the ``TypeVar`` will be " +"solved using the most specific type possible::" +msgstr "" + +#: ../../library/typing.rst:1149 +msgid "" +"Type variables can be bound to concrete types, abstract types (ABCs or " +"protocols), and even unions of types::" +msgstr "" + +#: ../../library/typing.rst:1155 msgid "" -"The latter example's signature is essentially the overloading of ``(str, " -"str) -> str`` and ``(bytes, bytes) -> bytes``. Also note that if the " -"arguments are instances of some subclass of :class:`str`, the return type is " -"still plain :class:`str`." +"Bound type variables are particularly useful for annotating :func:" +"`classmethods ` that serve as alternative constructors. In the " +"following example (by `Raymond Hettinger `_), the type variable ``C`` is bound to the ``Circle`` class " +"through the use of a forward reference. Using this type variable to annotate " +"the ``with_circumference`` classmethod, rather than hardcoding the return " +"type as ``Circle``, means that a type checker can correctly infer the return " +"type even if the method is called on a subclass::" msgstr "" -#: ../../library/typing.rst:1066 +#: ../../library/typing.rst:1193 msgid "" "At runtime, ``isinstance(x, T)`` will raise :exc:`TypeError`. In general, :" "func:`isinstance` and :func:`issubclass` should not be used with types." msgstr "" -#: ../../library/typing.rst:1069 +#: ../../library/typing.rst:1196 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. Alternatively, a type " -"variable may specify an upper bound using ``bound=``. This means that " -"an actual type substituted (explicitly or implicitly) for the type variable " -"must be a subclass of the boundary type, see :pep:`484`." +"details. By default, type variables are invariant." msgstr "" -#: ../../library/typing.rst:1079 +#: ../../library/typing.rst:1202 msgid "" "Parameter specification variable. A specialized version of :class:`type " "variables `." msgstr "" -#: ../../library/typing.rst:1086 +#: ../../library/typing.rst:1209 msgid "" "Parameter specification variables exist primarily for the benefit of static " "type checkers. They are used to forward the parameter types of one callable " @@ -1075,36 +1348,53 @@ 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:1093 +#: ../../library/typing.rst:1216 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:1117 +#: ../../library/typing.rst:1240 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:1121 +#: ../../library/typing.rst:1244 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:1123 +#: ../../library/typing.rst:1246 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:1130 +#: ../../library/typing.rst:1253 msgid "" "Since ``ParamSpec`` captures both positional and keyword parameters, ``P." "args`` and ``P.kwargs`` can be used to split a ``ParamSpec`` into its " @@ -1116,8 +1406,18 @@ msgid "" "``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:1140 +#: ../../library/typing.rst:1263 msgid "" "Parameter specification variables created with ``covariant=True`` or " "``contravariant=True`` can be used to declare covariant or contravariant " @@ -1125,347 +1425,487 @@ msgid "" "`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:1149 +#: ../../library/typing.rst:1272 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:1155 +#: ../../library/typing.rst:1278 msgid ":class:`Callable` and :class:`Concatenate`." msgstr "" -#: ../../library/typing.rst:1160 +#: ../../library/typing.rst:1283 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." 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:1165 +#: ../../library/typing.rst:1288 msgid "" "Calling :func:`get_origin` on either of these objects will return the " "original ``ParamSpec``::" msgstr "" -#: ../../library/typing.rst:1177 +#: ../../library/typing.rst:1300 msgid "" -"``AnyStr`` is a type variable defined as ``AnyStr = TypeVar('AnyStr', str, " -"bytes)``." +"``AnyStr`` is a :class:`constrained type variable ` defined as " +"``AnyStr = TypeVar('AnyStr', str, bytes)``." msgstr "" -#: ../../library/typing.rst:1180 +#: ../../library/typing.rst:1303 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:1192 +#: ../../library/typing.rst:1315 msgid "" "Base class for protocol classes. Protocol classes are defined like this::" msgstr "" -#: ../../library/typing.rst:1198 +#: ../../library/typing.rst:1321 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:1210 +#: ../../library/typing.rst:1333 msgid "" -"See :pep:`544` for details. Protocol classes decorated with :func:" +"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:1215 +#: ../../library/typing.rst:1338 msgid "Protocol classes can be generic, for example::" -msgstr "" +msgstr "Classes de protocolo podem ser genéricas. Por exemplo::" -#: ../../library/typing.rst:1225 +#: ../../library/typing.rst:1348 msgid "Mark a protocol class as a runtime protocol." -msgstr "" +msgstr "Marca uma classe de protocolo como um protocolo de tempo de execução." -#: ../../library/typing.rst:1227 +#: ../../library/typing.rst:1350 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::" +"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:1240 +#: ../../library/typing.rst:1370 msgid "" -":func:`runtime_checkable` will check only the presence of the required " -"methods, not their type signatures. For example, :class:`ssl.SSLObject` is a " -"class, therefore it passes an :func:`issubclass` check against :data:" -"`Callable`. However, the :meth:`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`." +":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:1251 +#: ../../library/typing.rst:1381 +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:1390 msgid "Other special directives" msgstr "Outras diretivas especiais" -#: ../../library/typing.rst:1253 +#: ../../library/typing.rst:1392 msgid "" "These are not used in annotations. They are building blocks for declaring " "types." msgstr "" -#: ../../library/typing.rst:1257 +#: ../../library/typing.rst:1396 msgid "Typed version of :func:`collections.namedtuple`." -msgstr "" +msgstr "Versão tipada de :func:`collections.namedtuple`." -#: ../../library/typing.rst:1265 +#: ../../library/typing.rst:1404 msgid "This is equivalent to::" msgstr "Isso equivale a::" -#: ../../library/typing.rst:1269 +#: ../../library/typing.rst:1408 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:1278 +#: ../../library/typing.rst:1417 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:1280 +#: ../../library/typing.rst:1419 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 " "``_fields`` attribute and the default values are in the ``_field_defaults`` " -"attribute both of which are part of the namedtuple API.)" +"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:1286 +#: ../../library/typing.rst:1425 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:1296 +#: ../../library/typing.rst:1435 msgid "Backward-compatible usage::" -msgstr "" +msgstr "Uso retrocompatível::" -#: ../../library/typing.rst:1300 +#: ../../library/typing.rst:1439 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:1303 +#: ../../library/typing.rst:1442 msgid "Added support for default values, methods, and docstrings." -msgstr "" +msgstr "Adiciona suporte a valores padrões, métodos, e docstrings." -#: ../../library/typing.rst:1306 +#: ../../library/typing.rst:1445 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:1310 +#: ../../library/typing.rst:1449 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:1316 +#: ../../library/typing.rst:1455 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::" msgstr "" -#: ../../library/typing.rst:1326 +#: ../../library/typing.rst:1465 msgid "``NewType`` is now a class rather than a function." -msgstr "" +msgstr "``NewType`` agora é uma classe em vez de uma função." -#: ../../library/typing.rst:1331 +#: ../../library/typing.rst:1470 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:1334 +#: ../../library/typing.rst:1473 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:1350 +#: ../../library/typing.rst:1489 msgid "" -"The type info for introspection can be accessed via ``Point2D." -"__annotations__``, ``Point2D.__total__``, ``Point2D.__required_keys__``, and " -"``Point2D.__optional_keys__``. To allow using this feature with older " -"versions of Python that do not support :pep:`526`, ``TypedDict`` supports " -"two additional equivalent syntactic forms::" +"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:1360 +#: ../../library/typing.rst:1496 +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:1508 msgid "" "By default, all keys must be present in a ``TypedDict``. It is possible to " "override this by specifying totality. Usage::" msgstr "" -#: ../../library/typing.rst:1368 +#: ../../library/typing.rst:1516 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:1521 +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:1528 +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:1536 +msgid "" +"A ``TypedDict`` cannot inherit from a non-\\ ``TypedDict`` class, notably " +"including :class:`Generic`. For example::" +msgstr "" + +#: ../../library/typing.rst:1554 +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__`." +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:1560 +msgid "" +"``Point2D.__total__`` gives the value of the ``total`` argument. Example::" +msgstr "" + +#: ../../library/typing.rst:1580 +msgid "" +"``Point2D.__required_keys__`` and ``Point2D.__optional_keys__`` return :" +"class:`frozenset` objects containing required and non-required keys, " +"respectively. Currently the only way to declare both required and non-" +"required keys in the same ``TypedDict`` is mixed inheritance, declaring a " +"``TypedDict`` with one value for the ``total`` argument and then inheriting " +"it from another ``TypedDict`` with a different value for ``total``. Usage::" +msgstr "" -#: ../../library/typing.rst:1373 +#: ../../library/typing.rst:1602 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:1378 +#: ../../library/typing.rst:1607 msgid "Generic concrete collections" msgstr "" -#: ../../library/typing.rst:1381 +#: ../../library/typing.rst:1610 msgid "Corresponding to built-in types" msgstr "" -#: ../../library/typing.rst:1385 +#: ../../library/typing.rst:1614 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`." msgstr "" -#: ../../library/typing.rst:1389 +#: ../../library/typing.rst:1618 msgid "This type can be used as follows::" msgstr "" -#: ../../library/typing.rst:1394 +#: ../../library/typing.rst:1623 msgid "" -":class:`builtins.dict ` now supports ``[]``. See :pep:`585` and :ref:" -"`types-genericalias`." +":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:1400 +#: ../../library/typing.rst:1629 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`." msgstr "" -#: ../../library/typing.rst:1405 +#: ../../library/typing.rst:1634 msgid "This type may be used as follows::" msgstr "" -#: ../../library/typing.rst:1415 +#: ../../library/typing.rst:1644 msgid "" -":class:`builtins.list ` now supports ``[]``. 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:1421 +#: ../../library/typing.rst:1650 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`." msgstr "" -#: ../../library/typing.rst:1425 +#: ../../library/typing.rst:1654 msgid "" -":class:`builtins.set ` now supports ``[]``. See :pep:`585` and :ref:" -"`types-genericalias`." +":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:1431 +#: ../../library/typing.rst:1660 msgid "A generic version of :class:`builtins.frozenset `." msgstr "" -#: ../../library/typing.rst:1433 +#: ../../library/typing.rst:1662 msgid "" -":class:`builtins.frozenset ` now supports ``[]``. See :pep:`585` " -"and :ref:`types-genericalias`." +":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:1437 +#: ../../library/typing.rst:1667 msgid ":data:`Tuple` is a special form." msgstr "" -#: ../../library/typing.rst:1440 +#: ../../library/typing.rst:1670 msgid "Corresponding to types in :mod:`collections`" msgstr "" -#: ../../library/typing.rst:1444 +#: ../../library/typing.rst:1674 msgid "A generic version of :class:`collections.defaultdict`." msgstr "" -#: ../../library/typing.rst:1448 +#: ../../library/typing.rst:1678 msgid "" -":class:`collections.defaultdict` now supports ``[]``. See :pep:`585` and :" -"ref:`types-genericalias`." +":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:1454 +#: ../../library/typing.rst:1684 msgid "A generic version of :class:`collections.OrderedDict`." msgstr "" -#: ../../library/typing.rst:1458 +#: ../../library/typing.rst:1688 msgid "" -":class:`collections.OrderedDict` now supports ``[]``. See :pep:`585` and :" -"ref:`types-genericalias`." +":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:1464 +#: ../../library/typing.rst:1694 msgid "A generic version of :class:`collections.ChainMap`." msgstr "" -#: ../../library/typing.rst:1469 +#: ../../library/typing.rst:1699 msgid "" -":class:`collections.ChainMap` now supports ``[]``. See :pep:`585` and :ref:" -"`types-genericalias`." +":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:1475 +#: ../../library/typing.rst:1705 msgid "A generic version of :class:`collections.Counter`." msgstr "" -#: ../../library/typing.rst:1480 +#: ../../library/typing.rst:1710 msgid "" -":class:`collections.Counter` now supports ``[]``. See :pep:`585` and :ref:" -"`types-genericalias`." +":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:1486 +#: ../../library/typing.rst:1716 msgid "A generic version of :class:`collections.deque`." msgstr "" -#: ../../library/typing.rst:1491 +#: ../../library/typing.rst:1721 msgid "" -":class:`collections.deque` now supports ``[]``. See :pep:`585` and :ref:" -"`types-genericalias`." +":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:1496 +#: ../../library/typing.rst:1726 msgid "Other concrete types" msgstr "" -#: ../../library/typing.rst:1502 +#: ../../library/typing.rst:1732 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`." 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:1509 +#: ../../library/typing.rst:1739 msgid "" -"These types are also in the ``typing.io`` namespace, which was never " -"supported by type checkers and will be removed." +"The ``typing.io`` namespace is deprecated and will be removed. These types " +"should be directly imported from ``typing`` instead." msgstr "" -#: ../../library/typing.rst:1514 +#: ../../library/typing.rst:1744 msgid "" "These type aliases correspond to the return types from :func:`re.compile` " "and :func:`re.match`. These types (and the corresponding functions) are " @@ -1473,413 +1913,473 @@ msgid "" "``Pattern[bytes]``, ``Match[str]``, or ``Match[bytes]``." msgstr "" -#: ../../library/typing.rst:1524 +#: ../../library/typing.rst:1754 msgid "" -"These types are also in the ``typing.re`` namespace, which was never " -"supported by type checkers and will be removed." +"The ``typing.re`` namespace is deprecated and will be removed. These types " +"should be directly imported from ``typing`` instead." msgstr "" -#: ../../library/typing.rst:1525 +#: ../../library/typing.rst:1755 msgid "" "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:1531 +#: ../../library/typing.rst:1761 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``." msgstr "" -#: ../../library/typing.rst:1535 +#: ../../library/typing.rst:1765 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::" 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:1544 +#: ../../library/typing.rst:1774 msgid "Abstract Base Classes" msgstr "Classes Bases Abstratas" -#: ../../library/typing.rst:1547 +#: ../../library/typing.rst:1777 msgid "Corresponding to collections in :mod:`collections.abc`" msgstr "" -#: ../../library/typing.rst:1551 +#: ../../library/typing.rst:1781 msgid "A generic version of :class:`collections.abc.Set`." msgstr "" -#: ../../library/typing.rst:1553 +#: ../../library/typing.rst:1783 msgid "" -":class:`collections.abc.Set` now supports ``[]``. See :pep:`585` and :ref:" -"`types-genericalias`." +":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:1559 +#: ../../library/typing.rst:1789 msgid "A generic version of :class:`collections.abc.ByteString`." msgstr "" -#: ../../library/typing.rst:1561 +#: ../../library/typing.rst:1791 msgid "" "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:1564 +#: ../../library/typing.rst:1794 msgid "" "As a shorthand for this type, :class:`bytes` can be used to annotate " "arguments of any of the types mentioned above." msgstr "" -#: ../../library/typing.rst:1567 +#: ../../library/typing.rst:1797 msgid "" -":class:`collections.abc.ByteString` now supports ``[]``. See :pep:`585` and :" -"ref:`types-genericalias`." +":class:`collections.abc.ByteString` now supports subscripting (``[]``). See :" +"pep:`585` and :ref:`types-genericalias`." msgstr "" -#: ../../library/typing.rst:1573 +#: ../../library/typing.rst:1803 msgid "A generic version of :class:`collections.abc.Collection`" msgstr "" -#: ../../library/typing.rst:1577 +#: ../../library/typing.rst:1807 msgid "" -":class:`collections.abc.Collection` now supports ``[]``. See :pep:`585` and :" -"ref:`types-genericalias`." +":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:1583 +#: ../../library/typing.rst:1813 msgid "A generic version of :class:`collections.abc.Container`." msgstr "" -#: ../../library/typing.rst:1585 +#: ../../library/typing.rst:1815 msgid "" -":class:`collections.abc.Container` now supports ``[]``. See :pep:`585` and :" -"ref:`types-genericalias`." +":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:1591 +#: ../../library/typing.rst:1821 msgid "A generic version of :class:`collections.abc.ItemsView`." msgstr "" -#: ../../library/typing.rst:1593 +#: ../../library/typing.rst:1823 msgid "" -":class:`collections.abc.ItemsView` now supports ``[]``. See :pep:`585` and :" -"ref:`types-genericalias`." +":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:1599 +#: ../../library/typing.rst:1829 msgid "A generic version of :class:`collections.abc.KeysView`." msgstr "" -#: ../../library/typing.rst:1601 +#: ../../library/typing.rst:1831 msgid "" -":class:`collections.abc.KeysView` now supports ``[]``. See :pep:`585` and :" -"ref:`types-genericalias`." +":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:1607 +#: ../../library/typing.rst:1837 msgid "" "A generic version of :class:`collections.abc.Mapping`. This type can be used " "as follows::" msgstr "" -#: ../../library/typing.rst:1613 +#: ../../library/typing.rst:1843 msgid "" -":class:`collections.abc.Mapping` now supports ``[]``. See :pep:`585` and :" -"ref:`types-genericalias`." +":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:1619 +#: ../../library/typing.rst:1849 msgid "A generic version of :class:`collections.abc.MappingView`." msgstr "" -#: ../../library/typing.rst:1621 +#: ../../library/typing.rst:1851 msgid "" -":class:`collections.abc.MappingView` now supports ``[]``. See :pep:`585` " -"and :ref:`types-genericalias`." +":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:1627 +#: ../../library/typing.rst:1857 msgid "A generic version of :class:`collections.abc.MutableMapping`." msgstr "" -#: ../../library/typing.rst:1629 +#: ../../library/typing.rst:1859 msgid "" -":class:`collections.abc.MutableMapping` now supports ``[]``. See :pep:`585` " -"and :ref:`types-genericalias`." +":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:1635 +#: ../../library/typing.rst:1866 msgid "A generic version of :class:`collections.abc.MutableSequence`." msgstr "" -#: ../../library/typing.rst:1637 +#: ../../library/typing.rst:1868 msgid "" -":class:`collections.abc.MutableSequence` now supports ``[]``. See :pep:`585` " -"and :ref:`types-genericalias`." +":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:1643 +#: ../../library/typing.rst:1875 msgid "A generic version of :class:`collections.abc.MutableSet`." msgstr "" -#: ../../library/typing.rst:1645 +#: ../../library/typing.rst:1877 msgid "" -":class:`collections.abc.MutableSet` now supports ``[]``. See :pep:`585` and :" -"ref:`types-genericalias`." +":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:1651 +#: ../../library/typing.rst:1883 msgid "A generic version of :class:`collections.abc.Sequence`." msgstr "" -#: ../../library/typing.rst:1653 +#: ../../library/typing.rst:1885 msgid "" -":class:`collections.abc.Sequence` now supports ``[]``. See :pep:`585` and :" -"ref:`types-genericalias`." +":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:1659 +#: ../../library/typing.rst:1891 msgid "A generic version of :class:`collections.abc.ValuesView`." msgstr "" -#: ../../library/typing.rst:1661 +#: ../../library/typing.rst:1893 msgid "" -":class:`collections.abc.ValuesView` now supports ``[]``. See :pep:`585` and :" -"ref:`types-genericalias`." +":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:1666 +#: ../../library/typing.rst:1898 msgid "Corresponding to other types in :mod:`collections.abc`" msgstr "" -#: ../../library/typing.rst:1670 +#: ../../library/typing.rst:1902 msgid "A generic version of :class:`collections.abc.Iterable`." msgstr "" -#: ../../library/typing.rst:1672 +#: ../../library/typing.rst:1904 msgid "" -":class:`collections.abc.Iterable` now supports ``[]``. See :pep:`585` and :" -"ref:`types-genericalias`." +":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:1678 +#: ../../library/typing.rst:1910 msgid "A generic version of :class:`collections.abc.Iterator`." msgstr "" -#: ../../library/typing.rst:1680 +#: ../../library/typing.rst:1912 msgid "" -":class:`collections.abc.Iterator` now supports ``[]``. See :pep:`585` and :" -"ref:`types-genericalias`." +":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:1686 +#: ../../library/typing.rst:1918 msgid "" "A generator can be annotated by the generic type ``Generator[YieldType, " "SendType, ReturnType]``. For example::" msgstr "" -#: ../../library/typing.rst:1695 +#: ../../library/typing.rst:1927 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:1699 +#: ../../library/typing.rst:1931 msgid "" "If your generator will only yield values, set the ``SendType`` and " "``ReturnType`` to ``None``::" msgstr "" -#: ../../library/typing.rst:1707 +#: ../../library/typing.rst:1939 msgid "" "Alternatively, annotate your generator as having a return type of either " "``Iterable[YieldType]`` or ``Iterator[YieldType]``::" msgstr "" -#: ../../library/typing.rst:1715 +#: ../../library/typing.rst:1947 msgid "" -":class:`collections.abc.Generator` now supports ``[]``. See :pep:`585` and :" -"ref:`types-genericalias`." +":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:1721 -msgid "An alias to :class:`collections.abc.Hashable`" +#: ../../library/typing.rst:1953 +msgid "An alias to :class:`collections.abc.Hashable`." msgstr "" -#: ../../library/typing.rst:1725 +#: ../../library/typing.rst:1957 msgid "A generic version of :class:`collections.abc.Reversible`." msgstr "" -#: ../../library/typing.rst:1727 +#: ../../library/typing.rst:1959 msgid "" -":class:`collections.abc.Reversible` now supports ``[]``. See :pep:`585` and :" -"ref:`types-genericalias`." +":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:1733 -msgid "An alias to :class:`collections.abc.Sized`" +#: ../../library/typing.rst:1965 +msgid "An alias to :class:`collections.abc.Sized`." msgstr "" -#: ../../library/typing.rst:1736 +#: ../../library/typing.rst:1968 msgid "Asynchronous programming" msgstr "" -#: ../../library/typing.rst:1740 +#: ../../library/typing.rst:1972 msgid "" "A generic version of :class:`collections.abc.Coroutine`. The variance and " "order of type variables correspond to those of :class:`Generator`, for " "example::" msgstr "" -#: ../../library/typing.rst:1753 +#: ../../library/typing.rst:1984 msgid "" -":class:`collections.abc.Coroutine` now supports ``[]``. See :pep:`585` and :" -"ref:`types-genericalias`." +":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:1759 +#: ../../library/typing.rst:1990 msgid "" "An async generator can be annotated by the generic type " "``AsyncGenerator[YieldType, SendType]``. For example::" msgstr "" -#: ../../library/typing.rst:1768 +#: ../../library/typing.rst:1999 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." msgstr "" -#: ../../library/typing.rst:1772 +#: ../../library/typing.rst:2003 msgid "" "If your generator will only yield values, set the ``SendType`` to ``None``::" msgstr "" -#: ../../library/typing.rst:1780 +#: ../../library/typing.rst:2011 msgid "" "Alternatively, annotate your generator as having a return type of either " "``AsyncIterable[YieldType]`` or ``AsyncIterator[YieldType]``::" msgstr "" -#: ../../library/typing.rst:1790 +#: ../../library/typing.rst:2021 msgid "" -":class:`collections.abc.AsyncGenerator` now supports ``[]``. See :pep:`585` " -"and :ref:`types-genericalias`." +":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:1796 +#: ../../library/typing.rst:2028 msgid "A generic version of :class:`collections.abc.AsyncIterable`." msgstr "Uma versão genérica de :class:`collections.abc.AsyncIterable`." -#: ../../library/typing.rst:1800 +#: ../../library/typing.rst:2032 msgid "" -":class:`collections.abc.AsyncIterable` now supports ``[]``. See :pep:`585` " -"and :ref:`types-genericalias`." +":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:1806 +#: ../../library/typing.rst:2038 msgid "A generic version of :class:`collections.abc.AsyncIterator`." msgstr "" -#: ../../library/typing.rst:1810 +#: ../../library/typing.rst:2042 msgid "" -":class:`collections.abc.AsyncIterator` now supports ``[]``. See :pep:`585` " -"and :ref:`types-genericalias`." +":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:1816 +#: ../../library/typing.rst:2048 msgid "A generic version of :class:`collections.abc.Awaitable`." msgstr "" -#: ../../library/typing.rst:1820 +#: ../../library/typing.rst:2052 msgid "" -":class:`collections.abc.Awaitable` now supports ``[]``. See :pep:`585` and :" -"ref:`types-genericalias`." +":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:1826 +#: ../../library/typing.rst:2058 msgid "Context manager types" msgstr "" -#: ../../library/typing.rst:1830 +#: ../../library/typing.rst:2062 msgid "A generic version of :class:`contextlib.AbstractContextManager`." -msgstr "" +msgstr "Uma versão genérica de :class:`contextlib.AbstractContextManager`." -#: ../../library/typing.rst:1835 +#: ../../library/typing.rst:2067 msgid "" -":class:`contextlib.AbstractContextManager` now supports ``[]``. See :pep:" -"`585` and :ref:`types-genericalias`." +":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:1841 +#: ../../library/typing.rst:2074 msgid "A generic version of :class:`contextlib.AbstractAsyncContextManager`." msgstr "" -#: ../../library/typing.rst:1846 +#: ../../library/typing.rst:2079 msgid "" -":class:`contextlib.AbstractAsyncContextManager` now supports ``[]``. See :" -"pep:`585` and :ref:`types-genericalias`." +":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:1851 +#: ../../library/typing.rst:2085 msgid "Protocols" msgstr "Protocolos" -#: ../../library/typing.rst:1853 +#: ../../library/typing.rst:2087 msgid "These protocols are decorated with :func:`runtime_checkable`." -msgstr "" +msgstr "Esses protocolos são decorados com :func:`runtime_checkable`." -#: ../../library/typing.rst:1857 +#: ../../library/typing.rst:2091 msgid "" "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:1862 +#: ../../library/typing.rst:2096 msgid "An ABC with one abstract method ``__bytes__``." -msgstr "" +msgstr "Um ABC com um método abstrato ``__bytes__``." -#: ../../library/typing.rst:1866 +#: ../../library/typing.rst:2100 msgid "An ABC with one abstract method ``__complex__``." -msgstr "" +msgstr "Um ABC com um método abstrato ``__complex__``." -#: ../../library/typing.rst:1870 +#: ../../library/typing.rst:2104 msgid "An ABC with one abstract method ``__float__``." -msgstr "" +msgstr "Um ABC com um método abstrato ``__float__``." -#: ../../library/typing.rst:1874 +#: ../../library/typing.rst:2108 msgid "An ABC with one abstract method ``__index__``." -msgstr "" +msgstr "Um ABC com um método abstrato ``__index__``." -#: ../../library/typing.rst:1880 +#: ../../library/typing.rst:2114 msgid "An ABC with one abstract method ``__int__``." -msgstr "" +msgstr "Um ABC com um método abstrato ``__int__``." -#: ../../library/typing.rst:1884 +#: ../../library/typing.rst:2118 msgid "" "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:1888 +#: ../../library/typing.rst:2122 msgid "Functions and decorators" -msgstr "" +msgstr "Funções e decoradores" -#: ../../library/typing.rst:1892 +#: ../../library/typing.rst:2126 msgid "Cast a value to a type." -msgstr "Define um valor para um tipo." +msgstr "Converta um valor em um tipo." -#: ../../library/typing.rst:1894 +#: ../../library/typing.rst:2128 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)." 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:1901 +#: ../../library/typing.rst:2135 msgid "" "The ``@overload`` decorator allows describing functions and methods that " "support multiple different combinations of argument types. A series of " @@ -1894,69 +2394,81 @@ msgid "" "variable::" msgstr "" -#: ../../library/typing.rst:1925 -msgid "See :pep:`484` for details and comparison with other typing semantics." +#: ../../library/typing.rst:2159 +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:1929 +#: ../../library/typing.rst:2163 msgid "" "A decorator to indicate to type checkers that the decorated method cannot be " "overridden, and the decorated class cannot be subclassed. For example::" msgstr "" -#: ../../library/typing.rst:1954 +#: ../../library/typing.rst:2188 msgid "Decorator to indicate that annotations are not type hints." -msgstr "" +msgstr "Decorador para indicar que anotações não são dicas de tipo." -#: ../../library/typing.rst:1956 +#: ../../library/typing.rst:2190 msgid "" "This works as class or function :term:`decorator`. With a class, it applies " "recursively to all methods defined in that class (but not to methods defined " "in its superclasses or subclasses)." msgstr "" -#: ../../library/typing.rst:1960 +#: ../../library/typing.rst:2194 msgid "This mutates the function(s) in place." msgstr "" -#: ../../library/typing.rst:1964 +#: ../../library/typing.rst:2198 msgid "Decorator to give another decorator the :func:`no_type_check` effect." -msgstr "" +msgstr "Decorador para dar a outro decorador o efeito :func:`no_type_check`." -#: ../../library/typing.rst:1966 +#: ../../library/typing.rst:2200 msgid "" "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:1971 +#: ../../library/typing.rst:2205 msgid "Decorator to mark a class or function to be unavailable at runtime." msgstr "" -#: ../../library/typing.rst:1973 +#: ../../library/typing.rst:2207 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::" 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:1984 +#: ../../library/typing.rst:2218 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:1988 +#: ../../library/typing.rst:2222 msgid "Introspection helpers" -msgstr "" +msgstr "Auxiliares de introspecção" -#: ../../library/typing.rst:1992 +#: ../../library/typing.rst:2226 msgid "" "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:1995 +#: ../../library/typing.rst:2229 msgid "" "This is often the same as ``obj.__annotations__``. In addition, forward " "references encoded as string literals are handled by evaluating them in " @@ -1966,37 +2478,44 @@ msgid "" "merging all the ``__annotations__`` along ``C.__mro__`` in reverse order." msgstr "" -#: ../../library/typing.rst:2003 +#: ../../library/typing.rst:2237 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::" msgstr "" -#: ../../library/typing.rst:2016 +#: ../../library/typing.rst:2252 +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." +msgstr "" + +#: ../../library/typing.rst:2257 msgid "Added ``include_extras`` parameter as part of :pep:`593`." msgstr "" -#: ../../library/typing.rst:2022 +#: ../../library/typing.rst:2263 msgid "Provide basic introspection for generic types and special typing forms." msgstr "" -#: ../../library/typing.rst:2024 +#: ../../library/typing.rst:2265 msgid "" "For a typing object of the form ``X[Y, Z, ...]`` these functions return " "``X`` and ``(Y, Z, ...)``. If ``X`` is a generic alias for a builtin or :mod:" -"`collections` class, it gets normalized to the original class. If ``X`` is " -"a :class:`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. For unsupported objects " -"return ``None`` and ``()`` correspondingly. Examples::" +"`collections` class, it gets normalized to the original class. 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. For unsupported objects return ``None`` " +"and ``()`` correspondingly. Examples::" msgstr "" -#: ../../library/typing.rst:2043 +#: ../../library/typing.rst:2284 msgid "Check if a type is a :class:`TypedDict`." -msgstr "" +msgstr "Verifica se um tipo é um :class:`TypedDict`." -#: ../../library/typing.rst:2058 +#: ../../library/typing.rst:2299 msgid "" "A class used for internal typing representation of string forward " "references. For example, ``List[\"SomeClass\"]`` is implicitly transformed " @@ -2004,35 +2523,46 @@ msgid "" "instantiated by a user, but may be used by introspection tools." msgstr "" -#: ../../library/typing.rst:2064 +#: ../../library/typing.rst:2305 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:2071 +#: ../../library/typing.rst:2312 msgid "Constant" msgstr "Constante" -#: ../../library/typing.rst:2075 +#: ../../library/typing.rst:2316 msgid "" "A special constant that is assumed to be ``True`` by 3rd party static type " "checkers. It is ``False`` at runtime. Usage::" msgstr "" -#: ../../library/typing.rst:2084 +#: ../../library/typing.rst:2325 msgid "" "The first type annotation must be enclosed in quotes, making it a \"forward " "reference\", to hide the ``expensive_mod`` reference from the interpreter " "runtime. Type annotations for local variables are not evaluated, so the " "second annotation does not need to be enclosed in quotes." msgstr "" +"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:2091 +#: ../../library/typing.rst:2332 msgid "" -"If ``from __future__ import annotations`` is used in Python 3.7 or later, " -"annotations are not evaluated at function definition time. Instead, they are " -"stored as strings in ``__annotations__``, This makes it unnecessary to use " -"quotes around the annotation. (see :pep:`563`)." +"If ``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`)." 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 bffe076b4..9f1c531b2 100644 --- a/library/unicodedata.po +++ b/library/unicodedata.po @@ -1,28 +1,28 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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 +# Rafael Fontenelle , 2025 # #, 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: Claudio Rogerio Carvalho Filho , " -"2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-23 17:01+0000\n" +"PO-Revision-Date: 2025-09-22 15:58+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=2; plural=(n > 1);\n" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/unicodedata.rst:2 msgid ":mod:`unicodedata` --- Unicode Database" @@ -42,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 "" @@ -52,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 "" diff --git a/library/unittest.mock-examples.po b/library/unittest.mock-examples.po index 382c4433c..0c6363f73 100644 --- a/library/unittest.mock-examples.po +++ b/library/unittest.mock-examples.po @@ -1,28 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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 -# i17obot , 2021 +# python-doc bot, 2025 # #, 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: i17obot , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:58+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/unittest.mock-examples.rst:2 msgid ":mod:`unittest.mock` --- getting started" @@ -42,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" @@ -53,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 "" @@ -66,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 "" @@ -74,16 +81,22 @@ 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 "" @@ -92,18 +105,26 @@ 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 "" @@ -112,6 +133,10 @@ msgid "" "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" @@ -147,7 +172,7 @@ msgstr "" #: ../../library/unittest.mock-examples.rst:144 msgid "Tracking all Calls" -msgstr "" +msgstr "Rastreando todas as chamadas" #: ../../library/unittest.mock-examples.rst:146 msgid "" @@ -155,6 +180,9 @@ msgid "" "`~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 "" @@ -905,10 +933,10 @@ msgstr "" msgid "" "Generally local imports are to be avoided. They are sometimes done to " "prevent circular dependencies, for which there is *usually* a much better " -"way to solve the problem (refactor the code) or to prevent \"up front costs" -"\" by delaying the import. This can also be solved in better ways than an " -"unconditional local import (store the module as a class or module attribute " -"and only do the import on first use)." +"way to solve the problem (refactor the code) or to prevent \"up front " +"costs\" by delaying the import. This can also be solved in better ways than " +"an unconditional local import (store the module as a class or module " +"attribute and only do the import on first use)." msgstr "" #: ../../library/unittest.mock-examples.rst:1116 @@ -917,7 +945,7 @@ msgid "" "import. Importing fetches an *object* from the :data:`sys.modules` " "dictionary. Note that it fetches an *object*, which need not be a module. " "Importing a module for the first time results in a module object being put " -"in `sys.modules`, so usually when you import something you get a module " +"in ``sys.modules``, so usually when you import something you get a module " "back. This need not be the case however." msgstr "" diff --git a/library/unittest.mock.po b/library/unittest.mock.po index 3751c9224..a330a8031 100644 --- a/library/unittest.mock.po +++ b/library/unittest.mock.po @@ -1,30 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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 -# Claudio Rogerio Carvalho Filho , 2021 -# Vinícius Muniz de Melo , 2021 -# i17obot , 2021 +# python-doc bot, 2025 # #, 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: i17obot , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:58+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/unittest.mock.rst:3 msgid ":mod:`unittest.mock` --- mock object library" @@ -79,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 "" @@ -123,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 "" @@ -218,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 "" @@ -231,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" @@ -244,6 +257,12 @@ 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 "" @@ -365,11 +384,11 @@ 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 "" @@ -415,15 +434,15 @@ 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:" msgstr "" #: ../../library/unittest.mock.rst:408 -msgid "Added two keyword only argument to the reset_mock function." -msgstr "" +msgid "Added two keyword-only arguments to the reset_mock function." +msgstr "Foram adicionados dois argumentos somente-nomeado à função reset_mock." #: ../../library/unittest.mock.rst:411 msgid "" @@ -436,8 +455,8 @@ msgid "" msgstr "" #: ../../library/unittest.mock.rst:419 -msgid "*return_value*, and :attr:`side_effect` are keyword only argument." -msgstr "" +msgid "*return_value*, and :attr:`side_effect` are keyword-only arguments." +msgstr "*return_value*, e :attr:`side_effect` são argumentos somente-nomeado." #: ../../library/unittest.mock.rst:425 msgid "" @@ -458,7 +477,7 @@ 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 "" @@ -522,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 "" @@ -555,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:" @@ -591,7 +610,7 @@ 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 "" @@ -709,6 +728,8 @@ 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 "" @@ -793,7 +814,7 @@ msgstr "" #: ../../library/unittest.mock.rst:945 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 msgid "Assert that the last await was with the specified arguments." @@ -829,7 +850,7 @@ msgstr "" #: ../../library/unittest.mock.rst:1038 msgid "Assert that the mock was never awaited." -msgstr "" +msgstr "Afirma que o mock nunca foi aguardado." #: ../../library/unittest.mock.rst:1045 msgid "" @@ -858,7 +879,7 @@ msgstr "" #: ../../library/unittest.mock.rst:1102 msgid "Calling" -msgstr "" +msgstr "Fazendo chamadas" #: ../../library/unittest.mock.rst:1104 msgid "" @@ -925,7 +946,7 @@ msgstr "" #: ../../library/unittest.mock.rst:1218 msgid "Deleting Attributes" -msgstr "" +msgstr "Deletando Atributos" #: ../../library/unittest.mock.rst:1220 msgid "" @@ -949,7 +970,7 @@ msgstr "" #: ../../library/unittest.mock.rst:1244 msgid "Mock names and the name attribute" -msgstr "" +msgstr "Nomes de Mock e o atributo *name*" #: ../../library/unittest.mock.rst:1246 msgid "" @@ -967,7 +988,7 @@ msgstr "" #: ../../library/unittest.mock.rst:1263 msgid "Attaching Mocks as Attributes" -msgstr "" +msgstr "Anexando Mocks como Atributos" #: ../../library/unittest.mock.rst:1265 msgid "" @@ -1005,7 +1026,7 @@ msgstr "" #: ../../library/unittest.mock.rst:1321 msgid "The patchers" -msgstr "" +msgstr "Os criadores de patches" #: ../../library/unittest.mock.rst:1323 msgid "" @@ -1137,6 +1158,8 @@ 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 msgid "" @@ -1221,7 +1244,7 @@ msgstr "" #: ../../library/unittest.mock.rst:1536 msgid "patch.object" -msgstr "" +msgstr "patch.object" #: ../../library/unittest.mock.rst:1540 msgid "" @@ -1266,7 +1289,7 @@ msgstr "" #: ../../library/unittest.mock.rst:1572 msgid "patch.dict" -msgstr "" +msgstr "patch.dict" #: ../../library/unittest.mock.rst:1576 msgid "" @@ -1354,7 +1377,7 @@ msgstr "" #: ../../library/unittest.mock.rst:1685 msgid "patch.multiple" -msgstr "" +msgstr "patch.multiple" #: ../../library/unittest.mock.rst:1689 msgid "" @@ -1409,7 +1432,7 @@ msgstr "" #: ../../library/unittest.mock.rst:1749 msgid "patch methods: start and stop" -msgstr "" +msgstr "métodos do patch: *start* e *stop*" #: ../../library/unittest.mock.rst:1751 msgid "" @@ -1464,7 +1487,7 @@ msgstr "" #: ../../library/unittest.mock.rst:1824 msgid "patch builtins" -msgstr "" +msgstr "patch de embutidos" #: ../../library/unittest.mock.rst:1825 msgid "" @@ -1474,7 +1497,7 @@ msgstr "" #: ../../library/unittest.mock.rst:1840 msgid "TEST_PREFIX" -msgstr "" +msgstr "TEST_PREFIX" #: ../../library/unittest.mock.rst:1842 msgid "" @@ -1493,7 +1516,7 @@ msgstr "" #: ../../library/unittest.mock.rst:1870 msgid "Nesting Patch Decorators" -msgstr "" +msgstr "Aninhando Decoradores Patch" #: ../../library/unittest.mock.rst:1872 msgid "" @@ -1514,7 +1537,7 @@ msgstr "" #: ../../library/unittest.mock.rst:1899 msgid "Where to patch" -msgstr "" +msgstr "Onde fazer patch" #: ../../library/unittest.mock.rst:1901 msgid "" @@ -1572,8 +1595,9 @@ 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 `_." +"proxy attribute access, like the `django settings object `_." msgstr "" #: ../../library/unittest.mock.rst:1951 @@ -1582,7 +1606,7 @@ msgstr "" #: ../../library/unittest.mock.rst:1956 msgid "Mocking Magic Methods" -msgstr "" +msgstr "Simulando Métodos Mágicos" #: ../../library/unittest.mock.rst:1958 msgid "" @@ -1627,25 +1651,27 @@ msgstr "" #: ../../library/unittest.mock.rst:2010 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 msgid "``__hash__``, ``__sizeof__``, ``__repr__`` and ``__str__``" -msgstr "" +msgstr "``__hash__``, ``__sizeof__``, ``__repr__`` e ``__str__``" #: ../../library/unittest.mock.rst:2013 msgid "``__dir__``, ``__format__`` and ``__subclasses__``" -msgstr "" +msgstr "``__dir__``, ``__format__`` e ``__subclasses__``" #: ../../library/unittest.mock.rst:2014 msgid "``__round__``, ``__floor__``, ``__trunc__`` and ``__ceil__``" -msgstr "" +msgstr "``__round__``, ``__floor__``, ``__trunc__`` e ``__ceil__``" #: ../../library/unittest.mock.rst:2015 msgid "" "Comparisons: ``__lt__``, ``__gt__``, ``__le__``, ``__ge__``, ``__eq__`` and " "``__ne__``" msgstr "" +"Comparações: ``__lt__``, ``__gt__``, ``__le__``, ``__ge__``, ``__eq__`` e " +"``__ne__``" #: ../../library/unittest.mock.rst:2017 msgid "" @@ -1659,10 +1685,12 @@ msgid "" "Context manager: ``__enter__``, ``__exit__``, ``__aenter__`` and " "``__aexit__``" msgstr "" +"Gerenciador de contexto: ``__enter__``, ``__exit__``, ``__aenter__`` e " +"``__aexit__``" #: ../../library/unittest.mock.rst:2021 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 msgid "" @@ -1678,16 +1706,20 @@ 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 msgid "Descriptor methods: ``__get__``, ``__set__`` and ``__delete__``" -msgstr "" +msgstr "Métodos descritores: ``__get__``, ``__set__`` e ``__delete__``" #: ../../library/unittest.mock.rst:2029 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 msgid "File system path representation: ``__fspath__``" @@ -1695,17 +1727,19 @@ msgstr "" #: ../../library/unittest.mock.rst:2032 msgid "Asynchronous iteration methods: ``__aiter__`` and ``__anext__``" -msgstr "" +msgstr "Métodos de iteração assíncrona: ``__aiter__`` e ``__anext__``" #: ../../library/unittest.mock.rst:2034 msgid "Added support for :func:`os.PathLike.__fspath__`." -msgstr "" +msgstr "Adicionado suporte para :func:`os.PathLike.__fspath__`." #: ../../library/unittest.mock.rst:2037 msgid "" "Added support for ``__aenter__``, ``__aexit__``, ``__aiter__`` and " "``__anext__``." msgstr "" +"Adicionado suporte para ``__aenter__``, ``__aexit__``, ``__aiter__`` e " +"``__anext__``." #: ../../library/unittest.mock.rst:2041 msgid "" @@ -1715,22 +1749,25 @@ msgstr "" #: ../../library/unittest.mock.rst:2044 msgid "``__getattr__``, ``__setattr__``, ``__init__`` and ``__new__``" -msgstr "" +msgstr "``__getattr__``, ``__setattr__``, ``__init__`` e ``__new__``" #: ../../library/unittest.mock.rst:2045 msgid "" "``__prepare__``, ``__instancecheck__``, ``__subclasscheck__``, ``__del__``" msgstr "" +"``__prepare__``, ``__instancecheck__``, ``__subclasscheck__``, ``__del__``" #: ../../library/unittest.mock.rst:2050 msgid "Magic Mock" -msgstr "" +msgstr "Magic Mock" #: ../../library/unittest.mock.rst:2052 msgid "" "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 msgid "" @@ -1751,7 +1788,7 @@ msgstr "" #: ../../library/unittest.mock.rst:2069 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 msgid "" @@ -1777,75 +1814,75 @@ msgstr "" #: ../../library/unittest.mock.rst:2091 msgid "Methods and their defaults:" -msgstr "" +msgstr "Métodos e seus padrões:" #: ../../library/unittest.mock.rst:2093 msgid "``__lt__``: ``NotImplemented``" -msgstr "" +msgstr "``__lt__``: ``NotImplemented``" #: ../../library/unittest.mock.rst:2094 msgid "``__gt__``: ``NotImplemented``" -msgstr "" +msgstr "``__gt__``: ``NotImplemented``" #: ../../library/unittest.mock.rst:2095 msgid "``__le__``: ``NotImplemented``" -msgstr "" +msgstr "``__le__``: ``NotImplemented``" #: ../../library/unittest.mock.rst:2096 msgid "``__ge__``: ``NotImplemented``" -msgstr "" +msgstr "``__ge__``: ``NotImplemented``" #: ../../library/unittest.mock.rst:2097 msgid "``__int__``: ``1``" -msgstr "" +msgstr "``__int__``: ``1``" #: ../../library/unittest.mock.rst:2098 msgid "``__contains__``: ``False``" -msgstr "" +msgstr "``__contains__``: ``False``" #: ../../library/unittest.mock.rst:2099 msgid "``__len__``: ``0``" -msgstr "" +msgstr "``__len__``: ``0``" #: ../../library/unittest.mock.rst:2100 msgid "``__iter__``: ``iter([])``" -msgstr "" +msgstr "``__iter__``: ``iter([])``" #: ../../library/unittest.mock.rst:2101 msgid "``__exit__``: ``False``" -msgstr "" +msgstr "``__exit__``: ``False``" #: ../../library/unittest.mock.rst:2102 msgid "``__aexit__``: ``False``" -msgstr "" +msgstr "``__aexit__``: ``False``" #: ../../library/unittest.mock.rst:2103 msgid "``__complex__``: ``1j``" -msgstr "" +msgstr "``__complex__``: ``1j``" #: ../../library/unittest.mock.rst:2104 msgid "``__float__``: ``1.0``" -msgstr "" +msgstr "``__float__``: ``1.0``" #: ../../library/unittest.mock.rst:2105 msgid "``__bool__``: ``True``" -msgstr "" +msgstr "``__bool__``: ``True``" #: ../../library/unittest.mock.rst:2106 msgid "``__index__``: ``1``" -msgstr "" +msgstr "``__index__``: ``1``" #: ../../library/unittest.mock.rst:2107 msgid "``__hash__``: default hash for the mock" -msgstr "" +msgstr "``__hash__``: hash padrão para o mock" #: ../../library/unittest.mock.rst:2108 msgid "``__str__``: default str for the mock" -msgstr "" +msgstr "``__str__``: *str* padrão para o mock" #: ../../library/unittest.mock.rst:2109 msgid "``__sizeof__``: default sizeof for the mock" -msgstr "" +msgstr "``__sizeof__``: *sizeof* padrão para o mock" #: ../../library/unittest.mock.rst:2111 msgid "For example:" @@ -1898,17 +1935,19 @@ msgstr "``__format__``" #: ../../library/unittest.mock.rst:2164 msgid "``__get__``, ``__set__`` and ``__delete__``" -msgstr "" +msgstr "``__get__``, ``__set__`` e ``__delete__``" #: ../../library/unittest.mock.rst:2165 msgid "``__reversed__`` and ``__missing__``" -msgstr "" +msgstr "``__reversed__`` e ``__missing__``" #: ../../library/unittest.mock.rst:2166 msgid "" "``__reduce__``, ``__reduce_ex__``, ``__getinitargs__``, ``__getnewargs__``, " "``__getstate__`` and ``__setstate__``" msgstr "" +"``__reduce__``, ``__reduce_ex__``, ``__getinitargs__``, ``__getnewargs__``, " +"``__getstate__`` e ``__setstate__``" #: ../../library/unittest.mock.rst:2168 msgid "``__getformat__`` and ``__setformat__``" @@ -1929,11 +1968,11 @@ msgstr "" #: ../../library/unittest.mock.rst:2181 msgid "Helpers" -msgstr "" +msgstr "Ajudantes" #: ../../library/unittest.mock.rst:2184 msgid "sentinel" -msgstr "" +msgstr "sentinel" #: ../../library/unittest.mock.rst:2188 msgid "" @@ -1970,7 +2009,7 @@ msgstr "" #: ../../library/unittest.mock.rst:2216 msgid "DEFAULT" -msgstr "" +msgstr "DEFAULT" #: ../../library/unittest.mock.rst:2221 msgid "" @@ -1981,7 +2020,7 @@ msgstr "" #: ../../library/unittest.mock.rst:2227 msgid "call" -msgstr "" +msgstr "chamada" #: ../../library/unittest.mock.rst:2231 msgid "" @@ -1999,9 +2038,9 @@ msgstr "" #: ../../library/unittest.mock.rst:2248 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 results " -"in multiple entries in :attr:`~Mock.mock_calls` on a mock. Manually " +"``call_list`` is particularly useful for making assertions on \"chained " +"calls\". A chained call is multiple calls on a single line of code. This " +"results in multiple entries in :attr:`~Mock.mock_calls` on a mock. Manually " "constructing the sequence of calls can be tedious." msgstr "" @@ -2040,7 +2079,7 @@ msgstr "" #: ../../library/unittest.mock.rst:2315 msgid "create_autospec" -msgstr "" +msgstr "create_autospec" #: ../../library/unittest.mock.rst:2319 msgid "" @@ -2088,7 +2127,7 @@ msgstr "" #: ../../library/unittest.mock.rst:2348 msgid "ANY" -msgstr "" +msgstr "ANY" #: ../../library/unittest.mock.rst:2352 msgid "" @@ -2113,7 +2152,7 @@ msgstr "" #: ../../library/unittest.mock.rst:2379 msgid "FILTER_DIR" -msgstr "" +msgstr "FILTER_DIR" #: ../../library/unittest.mock.rst:2383 msgid "" @@ -2151,7 +2190,7 @@ msgstr "" #: ../../library/unittest.mock.rst:2443 msgid "mock_open" -msgstr "" +msgstr "mock_open" #: ../../library/unittest.mock.rst:2447 msgid "" @@ -2217,11 +2256,11 @@ msgstr "" #: ../../library/unittest.mock.rst:2503 msgid "And for reading files::" -msgstr "" +msgstr "E para ler arquivos::" #: ../../library/unittest.mock.rst:2516 msgid "Autospeccing" -msgstr "" +msgstr "Especificação automática" #: ../../library/unittest.mock.rst:2518 msgid "" @@ -2306,7 +2345,7 @@ msgstr "" #: ../../library/unittest.mock.rst:2596 msgid "Here's an example of it in use::" -msgstr "" +msgstr "Aqui está um exemplo disso em uso::" #: ../../library/unittest.mock.rst:2606 msgid "" @@ -2419,7 +2458,7 @@ msgstr "" #: ../../library/unittest.mock.rst:2747 msgid "Sealing mocks" -msgstr "" +msgstr "Vedando mocks" #: ../../library/unittest.mock.rst:2756 msgid "" diff --git a/library/unittest.po b/library/unittest.po index 280c0bd3b..634b701a9 100644 --- a/library/unittest.po +++ b/library/unittest.po @@ -1,36 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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: -# 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 , 2021 +# python-doc bot, 2025 # #, 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: Rafael Fontenelle , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-11-23 17:17+0000\n" +"PO-Revision-Date: 2025-09-22 15:58+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/unittest.rst:2 msgid ":mod:`unittest` --- Unit testing framework" @@ -38,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 "" @@ -310,7 +301,7 @@ msgstr "" #: ../../library/unittest.rst:158 msgid "Command-Line Interface" -msgstr "Interface de Linha de Comando" +msgstr "Interface de linha de comando" #: ../../library/unittest.rst:160 msgid "" @@ -418,11 +409,8 @@ msgstr "Parar a execução do teste no primeiro erro ou falha." msgid "" "Only run test methods and classes that match the pattern or substring. This " "option may be used multiple times, in which case all test cases that match " -"of the given patterns are included." +"any of the given patterns are included." msgstr "" -"Somente executa métodos de teste e classes que combinem com o padrão ou " -"substring. Essa opção pode ser utilizada várias vezes, em cada caso todos os " -"testes que combinam com o padrão dado serão incluídos." #: ../../library/unittest.rst:228 msgid "" @@ -592,7 +580,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." @@ -1614,7 +1602,7 @@ msgstr "" #: ../../library/unittest.rst:1012 ../../library/unittest.rst:1080 msgid "or::" -msgstr "or::" +msgstr "ou::" #: ../../library/unittest.rst:1017 msgid "Added under the name ``assertRaisesRegexp``." @@ -1772,7 +1760,7 @@ msgid "" 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:1146 msgid "" @@ -2164,7 +2152,7 @@ msgid "" "`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``." +"instâncias :class:`TestCase` será sempre ``1``." #: ../../library/unittest.rst:1427 msgid "" @@ -2194,7 +2182,7 @@ msgid "" "provided. The default implementation of this method returns the first line " "of the test method's docstring, if available, or ``None``." msgstr "" -"Retorna uma descrição do teste ou``None`` se nenhuma descrição for " +"Retorna uma descrição do teste ou ``None`` se nenhuma descrição for " "fornecida. A implementação padrão desse método retorna a primeira linha da " "docstring do método do teste, se disponível, ou ``None``." @@ -2322,8 +2310,9 @@ msgstr "" #: ../../library/unittest.rst:1592 msgid "" -"After running the test, ``events`` would contain ``[\"setUp\", \"asyncSetUp" -"\", \"test_response\", \"asyncTearDown\", \"tearDown\", \"cleanup\"]``." +"After running the test, ``events`` would contain ``[\"setUp\", " +"\"asyncSetUp\", \"test_response\", \"asyncTearDown\", \"tearDown\", " +"\"cleanup\"]``." msgstr "" #: ../../library/unittest.rst:1597 @@ -2337,7 +2326,7 @@ msgstr "" #: ../../library/unittest.rst:1607 msgid "Deprecated aliases" -msgstr "" +msgstr "Apelidos descontinuados" #: ../../library/unittest.rst:1609 msgid "" @@ -2594,7 +2583,7 @@ msgstr "Objetos da classe :class:`TestLoader` possuem os seguintes atributos:" #: ../../library/unittest.rst:1739 msgid "" "A list of the non-fatal errors encountered while loading tests. Not reset by " -"the loader at any point. Fatal errors are signalled by the relevant a method " +"the loader at any point. Fatal errors are signalled by the relevant method " "raising an exception to the caller. Non-fatal errors are also indicated by a " "synthetic test that will raise the original error when run." msgstr "" @@ -2819,7 +2808,7 @@ msgstr "" #: ../../library/unittest.rst:1922 msgid "" "List of Unix shell-style wildcard test name patterns that test methods have " -"to match to be included in test suites (see ``-v`` option)." +"to match to be included in test suites (see ``-k`` option)." msgstr "" #: ../../library/unittest.rst:1925 @@ -2827,7 +2816,7 @@ msgid "" "If this attribute is not ``None`` (the default), all test methods to be " "included in test suites must match one of the patterns in this list. Note " "that matches are always performed using :meth:`fnmatch.fnmatchcase`, so " -"unlike patterns passed to the ``-v`` option, simple substring patterns will " +"unlike patterns passed to the ``-k`` option, simple substring patterns will " "have to be converted using ``*`` wildcards." msgstr "" @@ -3445,7 +3434,7 @@ msgstr "" #: ../../library/unittest.rst:2441 msgid "" "It is responsible for calling all the cleanup functions added by :func:" -"`addCleanupModule`. If you need cleanup functions to be called *prior* to :" +"`addModuleCleanup`. If you need cleanup functions to be called *prior* to :" "func:`tearDownModule` then you can call :func:`doModuleCleanups` yourself." msgstr "" diff --git a/library/unix.po b/library/unix.po index 69dea7c13..69b4c879a 100644 --- a/library/unix.po +++ b/library/unix.po @@ -1,28 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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.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: Claudio Rogerio Carvalho Filho , " -"2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:58+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/unix.rst:5 msgid "Unix Specific Services" diff --git a/library/urllib.error.po b/library/urllib.error.po index 41e687219..0c429b490 100644 --- a/library/urllib.error.po +++ b/library/urllib.error.po @@ -1,26 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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.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: Rafael Fontenelle , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:58+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/urllib.error.rst:2 msgid ":mod:`urllib.error` --- Exception classes raised by urllib.request" diff --git a/library/urllib.parse.po b/library/urllib.parse.po index 89100d37a..f05d8cedb 100644 --- a/library/urllib.parse.po +++ b/library/urllib.parse.po @@ -1,29 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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 -# Claudio Rogerio Carvalho Filho , 2021 -# i17obot , 2021 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.10\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-07-27 13:07+0000\n" -"PO-Revision-Date: 2021-06-28 01:17+0000\n" -"Last-Translator: i17obot , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:58+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/urllib.parse.rst:2 msgid ":mod:`urllib.parse` --- Parse URLs into components" @@ -98,7 +96,7 @@ msgstr "" "resultado, exceto por uma barra inicial no componente *path*, que é retido " "se estiver presente. Por exemplo:" -#: ../../library/urllib.parse.rst:63 +#: ../../library/urllib.parse.rst:75 msgid "" "Following the syntax specifications in :rfc:`1808`, urlparse recognizes a " "netloc only if it is properly introduced by '//'. Otherwise the input is " @@ -109,7 +107,7 @@ msgstr "" "contrário, presume-se que a entrada seja uma URL relativa e, portanto, " "comece com um componente de caminho." -#: ../../library/urllib.parse.rst:82 +#: ../../library/urllib.parse.rst:94 msgid "" "The *scheme* argument gives the default addressing scheme, to be used only " "if the URL does not specify one. It should be the same type (text or bytes) " @@ -121,7 +119,7 @@ msgstr "" "que *urlstring*, exceto que o valor padrão ``''`` é sempre permitido e é " "automaticamente convertido para ``b''`` se apropriado." -#: ../../library/urllib.parse.rst:87 +#: ../../library/urllib.parse.rst:99 msgid "" "If the *allow_fragments* argument is false, fragment identifiers are not " "recognized. Instead, they are parsed as part of the path, parameters or " @@ -133,7 +131,7 @@ msgstr "" "caminho, parâmetros ou componente de consulta, e :attr:`fragment` é definido " "como a string vazia no valor de retorno." -#: ../../library/urllib.parse.rst:92 +#: ../../library/urllib.parse.rst:104 msgid "" "The return value is a :term:`named tuple`, which means that its items can be " "accessed by index or as named attributes, which are:" @@ -141,155 +139,155 @@ 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:96 ../../library/urllib.parse.rst:281 -#: ../../library/urllib.parse.rst:385 +#: ../../library/urllib.parse.rst:108 ../../library/urllib.parse.rst:297 +#: ../../library/urllib.parse.rst:410 msgid "Attribute" msgstr "Atributo" -#: ../../library/urllib.parse.rst:96 ../../library/urllib.parse.rst:281 -#: ../../library/urllib.parse.rst:385 +#: ../../library/urllib.parse.rst:108 ../../library/urllib.parse.rst:297 +#: ../../library/urllib.parse.rst:410 msgid "Index" msgstr "Índice" -#: ../../library/urllib.parse.rst:96 ../../library/urllib.parse.rst:281 -#: ../../library/urllib.parse.rst:385 +#: ../../library/urllib.parse.rst:108 ../../library/urllib.parse.rst:297 +#: ../../library/urllib.parse.rst:410 msgid "Value" msgstr "Valor" -#: ../../library/urllib.parse.rst:96 ../../library/urllib.parse.rst:281 -#: ../../library/urllib.parse.rst:385 +#: ../../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:98 ../../library/urllib.parse.rst:283 +#: ../../library/urllib.parse.rst:110 ../../library/urllib.parse.rst:299 msgid ":attr:`scheme`" msgstr ":attr:`scheme`" -#: ../../library/urllib.parse.rst:98 ../../library/urllib.parse.rst:283 -#: ../../library/urllib.parse.rst:387 +#: ../../library/urllib.parse.rst:110 ../../library/urllib.parse.rst:299 +#: ../../library/urllib.parse.rst:412 msgid "0" msgstr "0" -#: ../../library/urllib.parse.rst:98 ../../library/urllib.parse.rst:283 +#: ../../library/urllib.parse.rst:110 ../../library/urllib.parse.rst:299 msgid "URL scheme specifier" msgstr "Especificador do esquema da URL" -#: ../../library/urllib.parse.rst:98 ../../library/urllib.parse.rst:283 +#: ../../library/urllib.parse.rst:110 ../../library/urllib.parse.rst:299 msgid "*scheme* parameter" msgstr "parâmetro *scheme*" -#: ../../library/urllib.parse.rst:100 ../../library/urllib.parse.rst:285 +#: ../../library/urllib.parse.rst:112 ../../library/urllib.parse.rst:301 msgid ":attr:`netloc`" msgstr ":attr:`netloc`" -#: ../../library/urllib.parse.rst:100 ../../library/urllib.parse.rst:285 -#: ../../library/urllib.parse.rst:389 +#: ../../library/urllib.parse.rst:112 ../../library/urllib.parse.rst:301 +#: ../../library/urllib.parse.rst:414 msgid "1" msgstr "1" -#: ../../library/urllib.parse.rst:100 ../../library/urllib.parse.rst:285 +#: ../../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:100 ../../library/urllib.parse.rst:102 -#: ../../library/urllib.parse.rst:104 ../../library/urllib.parse.rst:107 -#: ../../library/urllib.parse.rst:109 ../../library/urllib.parse.rst:285 -#: ../../library/urllib.parse.rst:287 ../../library/urllib.parse.rst:289 -#: ../../library/urllib.parse.rst:291 ../../library/urllib.parse.rst:387 -#: ../../library/urllib.parse.rst:389 +#: ../../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: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:102 ../../library/urllib.parse.rst:287 +#: ../../library/urllib.parse.rst:114 ../../library/urllib.parse.rst:303 msgid ":attr:`path`" msgstr ":attr:`path`" -#: ../../library/urllib.parse.rst:102 ../../library/urllib.parse.rst:287 +#: ../../library/urllib.parse.rst:114 ../../library/urllib.parse.rst:303 msgid "2" msgstr "2" -#: ../../library/urllib.parse.rst:102 ../../library/urllib.parse.rst:287 +#: ../../library/urllib.parse.rst:114 ../../library/urllib.parse.rst:303 msgid "Hierarchical path" msgstr "Caminho hierárquico" -#: ../../library/urllib.parse.rst:104 +#: ../../library/urllib.parse.rst:116 msgid ":attr:`params`" msgstr ":attr:`params`" -#: ../../library/urllib.parse.rst:104 ../../library/urllib.parse.rst:289 +#: ../../library/urllib.parse.rst:116 ../../library/urllib.parse.rst:305 msgid "3" msgstr "3" -#: ../../library/urllib.parse.rst:104 +#: ../../library/urllib.parse.rst:116 msgid "Parameters for last path element" msgstr "Parâmetros para o último elemento de caminho" -#: ../../library/urllib.parse.rst:107 ../../library/urllib.parse.rst:289 +#: ../../library/urllib.parse.rst:119 ../../library/urllib.parse.rst:305 msgid ":attr:`query`" msgstr ":attr:`query`" -#: ../../library/urllib.parse.rst:107 ../../library/urllib.parse.rst:291 +#: ../../library/urllib.parse.rst:119 ../../library/urllib.parse.rst:307 msgid "4" msgstr "4" -#: ../../library/urllib.parse.rst:107 ../../library/urllib.parse.rst:289 +#: ../../library/urllib.parse.rst:119 ../../library/urllib.parse.rst:305 msgid "Query component" msgstr "Componente da consulta" -#: ../../library/urllib.parse.rst:109 ../../library/urllib.parse.rst:291 -#: ../../library/urllib.parse.rst:389 +#: ../../library/urllib.parse.rst:121 ../../library/urllib.parse.rst:307 +#: ../../library/urllib.parse.rst:414 msgid ":attr:`fragment`" msgstr ":attr:`fragment`" -#: ../../library/urllib.parse.rst:109 +#: ../../library/urllib.parse.rst:121 msgid "5" msgstr "5" -#: ../../library/urllib.parse.rst:109 ../../library/urllib.parse.rst:291 -#: ../../library/urllib.parse.rst:389 +#: ../../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:111 ../../library/urllib.parse.rst:293 +#: ../../library/urllib.parse.rst:123 ../../library/urllib.parse.rst:309 msgid ":attr:`username`" msgstr ":attr:`username`" -#: ../../library/urllib.parse.rst:111 ../../library/urllib.parse.rst:293 +#: ../../library/urllib.parse.rst:123 ../../library/urllib.parse.rst:309 msgid "User name" msgstr "Nome do usuário" -#: ../../library/urllib.parse.rst:111 ../../library/urllib.parse.rst:113 -#: ../../library/urllib.parse.rst:115 ../../library/urllib.parse.rst:117 -#: ../../library/urllib.parse.rst:293 ../../library/urllib.parse.rst:295 -#: ../../library/urllib.parse.rst:297 ../../library/urllib.parse.rst:299 +#: ../../library/urllib.parse.rst:123 ../../library/urllib.parse.rst:125 +#: ../../library/urllib.parse.rst:127 ../../library/urllib.parse.rst:129 +#: ../../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:113 ../../library/urllib.parse.rst:295 +#: ../../library/urllib.parse.rst:125 ../../library/urllib.parse.rst:311 msgid ":attr:`password`" msgstr ":attr:`password`" -#: ../../library/urllib.parse.rst:113 ../../library/urllib.parse.rst:295 +#: ../../library/urllib.parse.rst:125 ../../library/urllib.parse.rst:311 msgid "Password" msgstr "Senha" -#: ../../library/urllib.parse.rst:115 ../../library/urllib.parse.rst:297 +#: ../../library/urllib.parse.rst:127 ../../library/urllib.parse.rst:313 msgid ":attr:`hostname`" msgstr ":attr:`hostname`" -#: ../../library/urllib.parse.rst:115 ../../library/urllib.parse.rst:297 +#: ../../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:117 ../../library/urllib.parse.rst:299 +#: ../../library/urllib.parse.rst:129 ../../library/urllib.parse.rst:315 msgid ":attr:`port`" msgstr ":attr:`port`" -#: ../../library/urllib.parse.rst:117 ../../library/urllib.parse.rst:299 +#: ../../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:121 ../../library/urllib.parse.rst:303 +#: ../../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-" @@ -299,7 +297,7 @@ 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:125 ../../library/urllib.parse.rst:307 +#: ../../library/urllib.parse.rst:137 ../../library/urllib.parse.rst:323 msgid "" "Unmatched square brackets in the :attr:`netloc` attribute will raise a :exc:" "`ValueError`." @@ -307,7 +305,7 @@ msgstr "" "Colchetes sem correspondência no atributo :attr:`netloc` levantará uma :exc:" "`ValueError`." -#: ../../library/urllib.parse.rst:128 ../../library/urllib.parse.rst:310 +#: ../../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 ``/``, ``?``, " @@ -319,7 +317,7 @@ msgstr "" "``#``, ``@`` ou ``:`` vai levantar uma :exc:`ValueError`. Se a URL for " "decomposta antes da análise, nenhum erro será levantado." -#: ../../library/urllib.parse.rst:133 +#: ../../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 :" @@ -331,18 +329,26 @@ msgstr "" "meth:`_replace`. O método :meth:`_replace` retornará um novo objeto " "ParseResult substituindo os campos especificados por novos valores." -#: ../../library/urllib.parse.rst:151 +#: ../../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:154 +#: ../../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:159 ../../library/urllib.parse.rst:318 +#: ../../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`." @@ -350,7 +356,7 @@ msgstr "" "Números de porta fora do intervalo agora levantam :exc:`ValueError`, em vez " "de retornar :const:`None`." -#: ../../library/urllib.parse.rst:163 ../../library/urllib.parse.rst:322 +#: ../../library/urllib.parse.rst:179 ../../library/urllib.parse.rst:344 msgid "" "Characters that affect netloc parsing under NFKC normalization will now " "raise :exc:`ValueError`." @@ -358,7 +364,7 @@ msgstr "" "Os caracteres que afetam a análise de netloc sob normalização NFKC agora " "levantarão :exc:`ValueError`." -#: ../../library/urllib.parse.rst:170 +#: ../../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. " @@ -371,7 +377,7 @@ msgstr "" "variáveis de consulta exclusivos e os valores são listas de valores para " "cada nome." -#: ../../library/urllib.parse.rst:175 ../../library/urllib.parse.rst:220 +#: ../../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 " @@ -386,18 +392,18 @@ msgstr "" "indica que os valores em branco devem ser ignorados e tratados como se não " "tivessem sido incluídos." -#: ../../library/urllib.parse.rst:181 ../../library/urllib.parse.rst:226 +#: ../../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 " +"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:185 ../../library/urllib.parse.rst:230 +#: ../../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:" @@ -407,7 +413,7 @@ msgstr "" "sequências codificadas em porcentagem em caracteres Unicode, conforme aceito " "pelo método :meth:`bytes.decode`." -#: ../../library/urllib.parse.rst:189 ../../library/urllib.parse.rst:234 +#: ../../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 " @@ -417,7 +423,7 @@ msgstr "" "lidos. Se definido, então levanta um :exc:`ValueError` se houver mais de " "*max_num_fields* campos lidos." -#: ../../library/urllib.parse.rst:193 ../../library/urllib.parse.rst:238 +#: ../../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 ``&``." @@ -425,7 +431,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:196 +#: ../../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." @@ -434,36 +440,45 @@ msgstr "" "definido como ``True``) para converter esses dicionários em strings de " "consulta." -#: ../../library/urllib.parse.rst:201 ../../library/urllib.parse.rst:244 +#: ../../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:204 ../../library/urllib.parse.rst:247 +#: ../../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:207 ../../library/urllib.parse.rst:250 +#: ../../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:216 +#: ../../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." 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:241 +#: ../../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:259 +#: ../../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 " @@ -471,8 +486,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:268 +#: ../../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 " @@ -481,24 +502,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:277 ../../library/urllib.parse.rst:381 +#: ../../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:315 +#: ../../library/urllib.parse.rst:331 msgid "" -"Following the `WHATWG spec`_ that updates RFC 3986, ASCII newline ``\\n``, ``" -"\\r`` and tab ``\\t`` characters are stripped from the URL." +"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:326 +#: ../../library/urllib.parse.rst:337 +msgid "" +":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: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:333 +#: ../../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 " @@ -506,77 +555,152 @@ 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:342 +#: ../../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:351 +#: ../../library/urllib.parse.rst:376 msgid "" "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:356 +#: ../../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:365 +#: ../../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:371 +#: ../../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:376 +#: ../../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:387 +#: ../../library/urllib.parse.rst:412 msgid ":attr:`url`" msgstr ":attr:`url`" -#: ../../library/urllib.parse.rst:387 +#: ../../library/urllib.parse.rst:412 msgid "URL with no fragment" -msgstr "" +msgstr "URL com nenhum fragmento" -#: ../../library/urllib.parse.rst:392 +#: ../../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:395 +#: ../../library/urllib.parse.rst:420 msgid "Result is a structured object rather than a simple 2-tuple." msgstr "" +"O resultado é um objeto estruturado em vez de uma simples tupla de 2 " +"elementos." -#: ../../library/urllib.parse.rst:400 +#: ../../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:408 +#: ../../library/urllib.parse.rst:454 msgid "Parsing ASCII Encoded Bytes" msgstr "Analisando bytes codificados em ASCII" -#: ../../library/urllib.parse.rst:410 +#: ../../library/urllib.parse.rst:456 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 " @@ -584,23 +708,35 @@ msgid "" "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:416 +#: ../../library/urllib.parse.rst:462 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." 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:420 +#: ../../library/urllib.parse.rst:466 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`." 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:425 +#: ../../library/urllib.parse.rst:471 msgid "" "To support easier conversion of result objects between :class:`str` and :" "class:`bytes`, all return values from URL parsing functions provide either " @@ -612,31 +748,50 @@ msgid "" "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:436 +#: ../../library/urllib.parse.rst:482 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:440 +#: ../../library/urllib.parse.rst:486 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:445 +#: ../../library/urllib.parse.rst:491 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:452 +#: ../../library/urllib.parse.rst:498 msgid "Structured Parse Results" msgstr "" -#: ../../library/urllib.parse.rst:454 +#: ../../library/urllib.parse.rst:500 msgid "" "The result objects from the :func:`urlparse`, :func:`urlsplit` and :func:" "`urldefrag` functions are subclasses of the :class:`tuple` type. These " @@ -645,7 +800,7 @@ msgid "" "section, as well as an additional method:" msgstr "" -#: ../../library/urllib.parse.rst:462 +#: ../../library/urllib.parse.rst:508 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 " @@ -653,72 +808,72 @@ msgid "" "queries, and fragment identifiers will be removed." msgstr "" -#: ../../library/urllib.parse.rst:467 +#: ../../library/urllib.parse.rst:513 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:471 +#: ../../library/urllib.parse.rst:517 msgid "" "The result of this method remains unchanged if passed back through the " "original parsing function:" msgstr "" -#: ../../library/urllib.parse.rst:484 +#: ../../library/urllib.parse.rst:530 msgid "" "The following classes provide the implementations of the structured parse " "results when operating on :class:`str` objects:" msgstr "" -#: ../../library/urllib.parse.rst:489 +#: ../../library/urllib.parse.rst:535 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:497 +#: ../../library/urllib.parse.rst:543 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:503 +#: ../../library/urllib.parse.rst:549 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:508 +#: ../../library/urllib.parse.rst:554 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:513 +#: ../../library/urllib.parse.rst:559 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:521 +#: ../../library/urllib.parse.rst:567 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:529 +#: ../../library/urllib.parse.rst:575 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:537 +#: ../../library/urllib.parse.rst:583 msgid "URL Quoting" msgstr "" -#: ../../library/urllib.parse.rst:539 +#: ../../library/urllib.parse.rst:585 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 " @@ -727,7 +882,7 @@ msgid "" "isn't already covered by the URL parsing functions above." msgstr "" -#: ../../library/urllib.parse.rst:547 +#: ../../library/urllib.parse.rst:593 msgid "" "Replace special characters in *string* using the ``%xx`` escape. Letters, " "digits, and the characters ``'_.-~'`` are never quoted. By default, this " @@ -736,18 +891,18 @@ msgid "" "quoted --- its default value is ``'/'``." msgstr "" -#: ../../library/urllib.parse.rst:553 ../../library/urllib.parse.rst:599 -#: ../../library/urllib.parse.rst:628 +#: ../../library/urllib.parse.rst:599 ../../library/urllib.parse.rst:645 +#: ../../library/urllib.parse.rst:674 msgid "*string* may be either a :class:`str` or a :class:`bytes` object." msgstr "" -#: ../../library/urllib.parse.rst:555 +#: ../../library/urllib.parse.rst:601 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:559 +#: ../../library/urllib.parse.rst:605 msgid "" "The optional *encoding* and *errors* parameters specify how to deal with non-" "ASCII characters, as accepted by the :meth:`str.encode` method. *encoding* " @@ -757,17 +912,17 @@ msgid "" "`TypeError` is raised." msgstr "" -#: ../../library/urllib.parse.rst:567 +#: ../../library/urllib.parse.rst:613 msgid "" "Note that ``quote(string, safe, encoding, errors)`` is equivalent to " "``quote_from_bytes(string.encode(encoding, errors), safe)``." msgstr "" -#: ../../library/urllib.parse.rst:570 +#: ../../library/urllib.parse.rst:616 msgid "Example: ``quote('/El Niño/')`` yields ``'/El%20Ni%C3%B1o/'``." msgstr "" -#: ../../library/urllib.parse.rst:575 +#: ../../library/urllib.parse.rst:621 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. " @@ -775,21 +930,21 @@ msgid "" "*safe*. It also does not have *safe* default to ``'/'``." msgstr "" -#: ../../library/urllib.parse.rst:580 +#: ../../library/urllib.parse.rst:626 msgid "Example: ``quote_plus('/El Niño/')`` yields ``'%2FEl+Ni%C3%B1o%2F'``." msgstr "" -#: ../../library/urllib.parse.rst:585 +#: ../../library/urllib.parse.rst:631 msgid "" "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:588 +#: ../../library/urllib.parse.rst:634 msgid "Example: ``quote_from_bytes(b'a&\\xef')`` yields ``'a%26%EF'``." msgstr "" -#: ../../library/urllib.parse.rst:594 +#: ../../library/urllib.parse.rst:640 msgid "" "Replace ``%xx`` escapes with their single-character equivalent. The optional " "*encoding* and *errors* parameters specify how to decode percent-encoded " @@ -797,52 +952,52 @@ msgid "" "method." msgstr "" -#: ../../library/urllib.parse.rst:601 +#: ../../library/urllib.parse.rst:647 msgid "" "*encoding* defaults to ``'utf-8'``. *errors* defaults to ``'replace'``, " "meaning invalid sequences are replaced by a placeholder character." msgstr "" -#: ../../library/urllib.parse.rst:605 +#: ../../library/urllib.parse.rst:651 msgid "Example: ``unquote('/El%20Ni%C3%B1o/')`` yields ``'/El Niño/'``." msgstr "" -#: ../../library/urllib.parse.rst:607 +#: ../../library/urllib.parse.rst:653 msgid "" "*string* parameter supports bytes and str objects (previously only str)." msgstr "" -#: ../../library/urllib.parse.rst:615 +#: ../../library/urllib.parse.rst:661 msgid "" "Like :func:`unquote`, but also replace plus signs with spaces, as required " "for unquoting HTML form values." msgstr "" -#: ../../library/urllib.parse.rst:618 +#: ../../library/urllib.parse.rst:664 msgid "*string* must be a :class:`str`." msgstr "" -#: ../../library/urllib.parse.rst:620 +#: ../../library/urllib.parse.rst:666 msgid "Example: ``unquote_plus('/El+Ni%C3%B1o/')`` yields ``'/El Niño/'``." msgstr "" -#: ../../library/urllib.parse.rst:625 +#: ../../library/urllib.parse.rst:671 msgid "" "Replace ``%xx`` escapes with their single-octet equivalent, and return a :" "class:`bytes` object." msgstr "" -#: ../../library/urllib.parse.rst:630 +#: ../../library/urllib.parse.rst:676 msgid "" "If it is a :class:`str`, unescaped non-ASCII characters in *string* are " "encoded into UTF-8 bytes." msgstr "" -#: ../../library/urllib.parse.rst:633 +#: ../../library/urllib.parse.rst:679 msgid "Example: ``unquote_to_bytes('a%26%EF')`` yields ``b'a&\\xef'``." msgstr "" -#: ../../library/urllib.parse.rst:639 +#: ../../library/urllib.parse.rst:685 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 " @@ -851,7 +1006,7 @@ msgid "" "be encoded to bytes, otherwise it would result in a :exc:`TypeError`." msgstr "" -#: ../../library/urllib.parse.rst:646 +#: ../../library/urllib.parse.rst:692 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* " @@ -864,7 +1019,7 @@ msgid "" "``quote`` and specify a value for *safe*." msgstr "" -#: ../../library/urllib.parse.rst:656 +#: ../../library/urllib.parse.rst:702 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 " @@ -875,49 +1030,49 @@ msgid "" "order of parameter tuples in the sequence." msgstr "" -#: ../../library/urllib.parse.rst:664 +#: ../../library/urllib.parse.rst:710 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:668 +#: ../../library/urllib.parse.rst:714 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:671 +#: ../../library/urllib.parse.rst:717 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." msgstr "" -#: ../../library/urllib.parse.rst:675 +#: ../../library/urllib.parse.rst:721 msgid "*query* supports bytes and string objects." msgstr "" -#: ../../library/urllib.parse.rst:678 +#: ../../library/urllib.parse.rst:724 msgid "*quote_via* parameter." msgstr "" -#: ../../library/urllib.parse.rst:686 +#: ../../library/urllib.parse.rst:732 msgid "`WHATWG`_ - URL Living standard" msgstr "" -#: ../../library/urllib.parse.rst:685 +#: ../../library/urllib.parse.rst:731 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:692 +#: ../../library/urllib.parse.rst:738 msgid ":rfc:`3986` - Uniform Resource Identifiers" msgstr "" -#: ../../library/urllib.parse.rst:689 +#: ../../library/urllib.parse.rst:735 msgid "" "This is the current standard (STD66). Any changes to urllib.parse module " "should conform to this. Certain deviations could be observed, which are " @@ -925,47 +1080,47 @@ msgid "" "requirements as commonly observed in major browsers." msgstr "" -#: ../../library/urllib.parse.rst:695 +#: ../../library/urllib.parse.rst:741 msgid ":rfc:`2732` - Format for Literal IPv6 Addresses in URL's." msgstr "" -#: ../../library/urllib.parse.rst:695 +#: ../../library/urllib.parse.rst:741 msgid "This specifies the parsing requirements of IPv6 URLs." msgstr "" -#: ../../library/urllib.parse.rst:699 +#: ../../library/urllib.parse.rst:745 msgid ":rfc:`2396` - Uniform Resource Identifiers (URI): Generic Syntax" msgstr "" -#: ../../library/urllib.parse.rst:698 +#: ../../library/urllib.parse.rst:744 msgid "" "Document describing the generic syntactic requirements for both Uniform " "Resource Names (URNs) and Uniform Resource Locators (URLs)." msgstr "" -#: ../../library/urllib.parse.rst:702 +#: ../../library/urllib.parse.rst:748 msgid ":rfc:`2368` - The mailto URL scheme." -msgstr "" +msgstr ":rfc:`2368` - O esquema de URL mailto." -#: ../../library/urllib.parse.rst:702 +#: ../../library/urllib.parse.rst:748 msgid "Parsing requirements for mailto URL schemes." msgstr "" -#: ../../library/urllib.parse.rst:707 +#: ../../library/urllib.parse.rst:753 msgid ":rfc:`1808` - Relative Uniform Resource Locators" msgstr "" -#: ../../library/urllib.parse.rst:705 +#: ../../library/urllib.parse.rst:751 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:709 +#: ../../library/urllib.parse.rst:755 msgid ":rfc:`1738` - Uniform Resource Locators (URL)" msgstr "" -#: ../../library/urllib.parse.rst:710 +#: ../../library/urllib.parse.rst:756 msgid "This specifies the formal syntax and semantics of absolute URLs." msgstr "" diff --git a/library/urllib.po b/library/urllib.po index 796991754..6a7528368 100644 --- a/library/urllib.po +++ b/library/urllib.po @@ -1,27 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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.10\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-06-29 12:56+0000\n" -"PO-Revision-Date: 2021-06-28 01:17+0000\n" -"Last-Translator: Marco Rougeth , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:58+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/urllib.rst:2 msgid ":mod:`urllib` --- URL handling modules" @@ -45,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 78a871ef4..a6db858ac 100644 --- a/library/urllib.request.po +++ b/library/urllib.request.po @@ -1,30 +1,28 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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 , 2021 -# Sheila Gomes , 2021 -# Claudio Rogerio Carvalho Filho , 2021 -# i17obot , 2021 +# python-doc bot, 2025 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.10\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-07-27 13:07+0000\n" -"PO-Revision-Date: 2021-06-28 01:17+0000\n" -"Last-Translator: i17obot , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-23 17:01+0000\n" +"PO-Revision-Date: 2025-09-22 15:58+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=2; plural=(n > 1);\n" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/urllib.request.rst:2 msgid ":mod:`urllib.request` --- Extensible library for opening URLs" @@ -215,7 +213,7 @@ msgid "" "taken from the request object." msgstr "" "O abridor padrão levanta um :ref:`evento de auditoria` ``urllib." -"Request`` com argumentos ``fullurl``, ``data``, ``headers``, ``method`` " +"Request`` com os argumentos ``fullurl``, ``data``, ``headers``, ``method`` " "obtidos do objeto de requisição." #: ../../library/urllib.request.rst:96 @@ -268,6 +266,12 @@ msgid "" "`~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:137 msgid "" @@ -315,10 +319,9 @@ msgid "" "This helper function returns a dictionary of scheme to proxy server URL " "mappings. It scans the environment for variables named ``_proxy``, " "in a case insensitive approach, for all operating systems first, and when it " -"cannot find it, looks for proxy information from Mac OSX System " -"Configuration for Mac OS X and Windows Systems Registry for Windows. If both " -"lowercase and uppercase environment variables exist (and disagree), " -"lowercase is preferred." +"cannot find it, looks for proxy information from System Configuration for " +"macOS and Windows Systems Registry for Windows. If both lowercase and " +"uppercase environment variables exist (and disagree), lowercase is preferred." msgstr "" #: ../../library/urllib.request.rst:179 @@ -334,7 +337,7 @@ msgstr "" #: ../../library/urllib.request.rst:188 msgid "The following classes are provided:" -msgstr "" +msgstr "As seguintes classes são disponibilizadas:" #: ../../library/urllib.request.rst:192 msgid "This class is an abstraction of a URL request." @@ -374,11 +377,12 @@ msgid "" "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 ``" -"\"Python-urllib/2.6\"`` (on Python 2.6)." +"Firefox/2.0.0.11\"``, while :mod:`urllib`'s default user agent string is " +"``\"Python-urllib/2.6\"`` (on Python 2.6). All header keys are sent in camel " +"case." msgstr "" -#: ../../library/urllib.request.rst:222 +#: ../../library/urllib.request.rst:223 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 " @@ -386,13 +390,13 @@ msgid "" "default." msgstr "" -#: ../../library/urllib.request.rst:227 +#: ../../library/urllib.request.rst:228 msgid "" "The next two arguments are only of interest for correct handling of third-" "party HTTP cookies:" msgstr "" -#: ../../library/urllib.request.rst:230 +#: ../../library/urllib.request.rst:231 msgid "" "*origin_req_host* should be the request-host of the origin transaction, as " "defined by :rfc:`2965`. It defaults to ``http.cookiejar." @@ -402,7 +406,7 @@ msgid "" "for the page containing the image." msgstr "" -#: ../../library/urllib.request.rst:238 +#: ../../library/urllib.request.rst:239 msgid "" "*unverifiable* should indicate whether the request is unverifiable, as " "defined by :rfc:`2965`. It defaults to ``False``. An unverifiable request " @@ -411,7 +415,7 @@ msgid "" "option to approve the automatic fetching of the image, this should be true." msgstr "" -#: ../../library/urllib.request.rst:245 +#: ../../library/urllib.request.rst:246 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:" @@ -421,7 +425,7 @@ msgid "" "attribute in the class itself." msgstr "" -#: ../../library/urllib.request.rst:253 +#: ../../library/urllib.request.rst:254 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 " @@ -431,64 +435,64 @@ msgid "" "library." msgstr "" -#: ../../library/urllib.request.rst:260 +#: ../../library/urllib.request.rst:261 msgid ":attr:`Request.method` argument is added to the Request class." msgstr "" -#: ../../library/urllib.request.rst:263 +#: ../../library/urllib.request.rst:264 msgid "Default :attr:`Request.method` may be indicated at the class level." msgstr "" -#: ../../library/urllib.request.rst:266 +#: ../../library/urllib.request.rst:267 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:273 +#: ../../library/urllib.request.rst:274 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:279 +#: ../../library/urllib.request.rst:280 msgid "" "This is the base class for all registered handlers --- and handles only the " "simple mechanics of registration." msgstr "" -#: ../../library/urllib.request.rst:285 +#: ../../library/urllib.request.rst:286 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:291 +#: ../../library/urllib.request.rst:292 msgid "A class to handle redirections." -msgstr "" +msgstr "Uma classe para lidar com redirecionamentos." -#: ../../library/urllib.request.rst:296 +#: ../../library/urllib.request.rst:297 msgid "A class to handle HTTP Cookies." -msgstr "" +msgstr "Classe para lidar com Cookies HTTP." -#: ../../library/urllib.request.rst:301 +#: ../../library/urllib.request.rst:302 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 " "the list of proxies from the environment variables ``_proxy``. If " "no proxy environment variables are set, then in a Windows environment proxy " "settings are obtained from the registry's Internet Settings section, and in " -"a Mac OS X environment proxy information is retrieved from the OS X System " +"a macOS environment proxy information is retrieved from the System " "Configuration Framework." msgstr "" -#: ../../library/urllib.request.rst:309 +#: ../../library/urllib.request.rst:310 msgid "To disable autodetected proxy pass an empty dictionary." msgstr "" -#: ../../library/urllib.request.rst:311 +#: ../../library/urllib.request.rst:312 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 " @@ -496,24 +500,26 @@ msgid "" "``cern.ch,ncsa.uiuc.edu,some.host:8080``." msgstr "" -#: ../../library/urllib.request.rst:318 +#: ../../library/urllib.request.rst:319 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:324 +#: ../../library/urllib.request.rst:325 msgid "Keep a database of ``(realm, uri) -> (user, password)`` mappings." msgstr "" -#: ../../library/urllib.request.rst:329 +#: ../../library/urllib.request.rst:330 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:336 +#: ../../library/urllib.request.rst:337 msgid "" "A variant of :class:`HTTPPasswordMgrWithDefaultRealm` that also has a " "database of ``uri -> is_authenticated`` mappings. Can be used by a " @@ -521,7 +527,7 @@ msgid "" "immediately instead of waiting for a ``401`` response first." msgstr "" -#: ../../library/urllib.request.rst:346 +#: ../../library/urllib.request.rst:347 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 " @@ -540,11 +546,11 @@ msgid "" "will automatically include the authentication credentials." msgstr "" -#: ../../library/urllib.request.rst:363 +#: ../../library/urllib.request.rst:364 msgid "Added ``is_authenticated`` support." msgstr "" -#: ../../library/urllib.request.rst:369 +#: ../../library/urllib.request.rst:370 msgid "" "Handle authentication with the remote host. *password_mgr*, if given, should " "be something that is compatible with :class:`HTTPPasswordMgr`; refer to " @@ -553,7 +559,7 @@ msgid "" "presented with a wrong Authentication scheme." msgstr "" -#: ../../library/urllib.request.rst:378 ../../library/urllib.request.rst:412 +#: ../../library/urllib.request.rst:379 ../../library/urllib.request.rst:413 msgid "" "Handle authentication with the proxy. *password_mgr*, if given, should be " "something that is compatible with :class:`HTTPPasswordMgr`; refer to " @@ -561,7 +567,7 @@ msgid "" "be supported." msgstr "" -#: ../../library/urllib.request.rst:386 +#: ../../library/urllib.request.rst:387 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 " @@ -569,7 +575,7 @@ msgid "" "`http-password-mgr` for information on the interface that must be supported." msgstr "" -#: ../../library/urllib.request.rst:395 +#: ../../library/urllib.request.rst:396 msgid "" "Handle authentication with the remote host. *password_mgr*, if given, should " "be something that is compatible with :class:`HTTPPasswordMgr`; refer to " @@ -582,108 +588,108 @@ msgid "" "Digest or Basic." msgstr "" -#: ../../library/urllib.request.rst:405 +#: ../../library/urllib.request.rst:406 msgid "Raise :exc:`ValueError` on unsupported Authentication Scheme." msgstr "" -#: ../../library/urllib.request.rst:420 +#: ../../library/urllib.request.rst:421 msgid "A class to handle opening of HTTP URLs." msgstr "" -#: ../../library/urllib.request.rst:425 +#: ../../library/urllib.request.rst:426 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:428 +#: ../../library/urllib.request.rst:429 msgid "*context* and *check_hostname* were added." msgstr "" -#: ../../library/urllib.request.rst:434 +#: ../../library/urllib.request.rst:435 msgid "Open local files." msgstr "Abre arquivos locais." -#: ../../library/urllib.request.rst:438 +#: ../../library/urllib.request.rst:439 msgid "Open data URLs." msgstr "Abre dados das URLs." -#: ../../library/urllib.request.rst:444 +#: ../../library/urllib.request.rst:445 msgid "Open FTP URLs." msgstr "Abre URLs de FTP." -#: ../../library/urllib.request.rst:449 +#: ../../library/urllib.request.rst:450 msgid "" "Open FTP URLs, keeping a cache of open FTP connections to minimize delays." msgstr "" -#: ../../library/urllib.request.rst:454 +#: ../../library/urllib.request.rst:455 msgid "A catch-all class to handle unknown URLs." msgstr "" -#: ../../library/urllib.request.rst:459 ../../library/urllib.request.rst:1154 +#: ../../library/urllib.request.rst:460 ../../library/urllib.request.rst:1156 msgid "Process HTTP error responses." msgstr "" -#: ../../library/urllib.request.rst:465 +#: ../../library/urllib.request.rst:466 msgid "Request Objects" msgstr "Objeto Request" -#: ../../library/urllib.request.rst:467 +#: ../../library/urllib.request.rst:468 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:474 +#: ../../library/urllib.request.rst:475 msgid "The original URL passed to the constructor." msgstr "" -#: ../../library/urllib.request.rst:478 +#: ../../library/urllib.request.rst:479 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." msgstr "" -#: ../../library/urllib.request.rst:484 +#: ../../library/urllib.request.rst:485 msgid "The URI scheme." msgstr "" -#: ../../library/urllib.request.rst:488 +#: ../../library/urllib.request.rst:489 msgid "" "The URI authority, typically a host, but may also contain a port separated " "by a colon." msgstr "" -#: ../../library/urllib.request.rst:493 +#: ../../library/urllib.request.rst:494 msgid "The original host for the request, without port." msgstr "" -#: ../../library/urllib.request.rst:497 +#: ../../library/urllib.request.rst:498 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:502 +#: ../../library/urllib.request.rst:503 msgid "The entity body for the request, or ``None`` if not specified." msgstr "" -#: ../../library/urllib.request.rst:504 +#: ../../library/urllib.request.rst:505 msgid "" "Changing value of :attr:`Request.data` now deletes \"Content-Length\" header " "if it was previously set or calculated." msgstr "" -#: ../../library/urllib.request.rst:510 +#: ../../library/urllib.request.rst:511 msgid "" "boolean, indicates whether the request is unverifiable as defined by :rfc:" "`2965`." msgstr "" -#: ../../library/urllib.request.rst:515 +#: ../../library/urllib.request.rst:516 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 " @@ -694,13 +700,13 @@ msgid "" "argument." msgstr "" -#: ../../library/urllib.request.rst:525 +#: ../../library/urllib.request.rst:526 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:532 +#: ../../library/urllib.request.rst:533 msgid "" "Return a string indicating the HTTP request method. If :attr:`Request." "method` is not ``None``, return its value, otherwise return ``'GET'`` if :" @@ -708,11 +714,11 @@ msgid "" "meaningful for HTTP requests." msgstr "" -#: ../../library/urllib.request.rst:537 +#: ../../library/urllib.request.rst:538 msgid "get_method now looks at the value of :attr:`Request.method`." msgstr "" -#: ../../library/urllib.request.rst:543 +#: ../../library/urllib.request.rst:544 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 " @@ -720,20 +726,21 @@ msgid "" "same name, and later calls will overwrite previous calls in case the *key* " "collides. Currently, this is no loss of HTTP functionality, since all " "headers which have meaning when used more than once have a (header-specific) " -"way of gaining the same functionality using only one header." +"way of gaining the same functionality using only one header. Note that " +"headers added using this method are also added to redirected requests." msgstr "" -#: ../../library/urllib.request.rst:554 +#: ../../library/urllib.request.rst:556 msgid "Add a header that will not be added to a redirected request." msgstr "" -#: ../../library/urllib.request.rst:559 +#: ../../library/urllib.request.rst:561 msgid "" "Return whether the instance has the named header (checks both regular and " "unredirected)." msgstr "" -#: ../../library/urllib.request.rst:565 +#: ../../library/urllib.request.rst:567 msgid "" "Remove named header from the request instance (both from regular and " "unredirected headers)." @@ -741,48 +748,48 @@ 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:573 +#: ../../library/urllib.request.rst:575 msgid "Return the URL given in the constructor." msgstr "" -#: ../../library/urllib.request.rst:577 +#: ../../library/urllib.request.rst:579 msgid "Returns :attr:`Request.full_url`" msgstr "" -#: ../../library/urllib.request.rst:582 +#: ../../library/urllib.request.rst:584 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:589 +#: ../../library/urllib.request.rst:591 msgid "" "Return the value of the given header. If the header is not present, return " "the default value." msgstr "" -#: ../../library/urllib.request.rst:595 +#: ../../library/urllib.request.rst:597 msgid "" "Return a list of tuples (header_name, header_value) of the Request headers." msgstr "" -#: ../../library/urllib.request.rst:597 +#: ../../library/urllib.request.rst:599 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:606 +#: ../../library/urllib.request.rst:608 msgid "OpenerDirector Objects" msgstr "" -#: ../../library/urllib.request.rst:608 +#: ../../library/urllib.request.rst:610 msgid ":class:`OpenerDirector` instances have the following methods:" msgstr "" -#: ../../library/urllib.request.rst:613 +#: ../../library/urllib.request.rst:615 msgid "" "*handler* should be an instance of :class:`BaseHandler`. The following " "methods are searched, and added to the possible chains (note that HTTP " @@ -793,53 +800,53 @@ msgid "" "`http_error_404` would handle HTTP 404 errors." msgstr "" -#: ../../library/urllib.request.rst:621 +#: ../../library/urllib.request.rst:623 msgid "" ":meth:`_open` --- signal that the handler knows how to open " "*protocol* URLs." msgstr "" -#: ../../library/urllib.request.rst:624 +#: ../../library/urllib.request.rst:626 msgid "See |protocol_open|_ for more information." -msgstr "" +msgstr "Veja |protocol_open|_ para maiores informações." -#: ../../library/urllib.request.rst:626 +#: ../../library/urllib.request.rst:628 msgid "" ":meth:`http_error_\\` --- signal that the handler knows how to " "handle HTTP errors with HTTP error code *type*." msgstr "" -#: ../../library/urllib.request.rst:629 +#: ../../library/urllib.request.rst:631 msgid "See |http_error_nnn|_ for more information." -msgstr "" +msgstr "Veja |http_error_nnn|_ para maiores informações." -#: ../../library/urllib.request.rst:631 +#: ../../library/urllib.request.rst:633 msgid "" ":meth:`_error` --- signal that the handler knows how to handle " "errors from (non-\\ ``http``) *protocol*." msgstr "" -#: ../../library/urllib.request.rst:634 +#: ../../library/urllib.request.rst:636 msgid "" ":meth:`_request` --- signal that the handler knows how to pre-" "process *protocol* requests." msgstr "" -#: ../../library/urllib.request.rst:637 +#: ../../library/urllib.request.rst:639 msgid "See |protocol_request|_ for more information." -msgstr "" +msgstr "Veja |protocol_request|_ para maiores informações." -#: ../../library/urllib.request.rst:639 +#: ../../library/urllib.request.rst:641 msgid "" ":meth:`_response` --- signal that the handler knows how to post-" "process *protocol* responses." msgstr "" -#: ../../library/urllib.request.rst:642 +#: ../../library/urllib.request.rst:644 msgid "See |protocol_response|_ for more information." -msgstr "" +msgstr "Veja |protocol_response|_ para maiores informações." -#: ../../library/urllib.request.rst:651 +#: ../../library/urllib.request.rst:653 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 " @@ -848,40 +855,40 @@ msgid "" "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). The timeout feature actually works only for " -"HTTP, HTTPS and FTP connections)." +"HTTP, HTTPS and FTP connections." msgstr "" -#: ../../library/urllib.request.rst:663 +#: ../../library/urllib.request.rst:665 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:669 +#: ../../library/urllib.request.rst:671 msgid "" "Return values and exceptions raised are the same as those of :func:`urlopen`." msgstr "" -#: ../../library/urllib.request.rst:671 +#: ../../library/urllib.request.rst:673 msgid "OpenerDirector objects open URLs in three stages:" msgstr "" -#: ../../library/urllib.request.rst:673 +#: ../../library/urllib.request.rst:675 msgid "" "The order in which these methods are called within each stage is determined " "by sorting the handler instances." msgstr "" -#: ../../library/urllib.request.rst:676 +#: ../../library/urllib.request.rst:678 msgid "" "Every handler with a method named like :meth:`_request` has that " "method called to pre-process the request." msgstr "" -#: ../../library/urllib.request.rst:679 +#: ../../library/urllib.request.rst:681 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-\\ :" @@ -889,7 +896,7 @@ msgid "" "`~urllib.error.URLError`). Exceptions are allowed to propagate." msgstr "" -#: ../../library/urllib.request.rst:684 +#: ../../library/urllib.request.rst:686 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 " @@ -898,105 +905,105 @@ msgid "" "meth:`unknown_open`." msgstr "" -#: ../../library/urllib.request.rst:690 +#: ../../library/urllib.request.rst:692 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." msgstr "" -#: ../../library/urllib.request.rst:694 +#: ../../library/urllib.request.rst:696 msgid "" "Every handler with a method named like :meth:`_response` has that " "method called to post-process the response." msgstr "" -#: ../../library/urllib.request.rst:701 +#: ../../library/urllib.request.rst:703 msgid "BaseHandler Objects" msgstr "" -#: ../../library/urllib.request.rst:703 +#: ../../library/urllib.request.rst:705 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:710 +#: ../../library/urllib.request.rst:712 msgid "Add a director as parent." msgstr "" -#: ../../library/urllib.request.rst:715 +#: ../../library/urllib.request.rst:717 msgid "Remove any parents." msgstr "" -#: ../../library/urllib.request.rst:717 +#: ../../library/urllib.request.rst:719 msgid "" "The following attribute and methods should only be used by classes derived " "from :class:`BaseHandler`." msgstr "" -#: ../../library/urllib.request.rst:722 +#: ../../library/urllib.request.rst:724 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`." msgstr "" -#: ../../library/urllib.request.rst:729 +#: ../../library/urllib.request.rst:731 msgid "" "A valid :class:`OpenerDirector`, which can be used to open using a different " "protocol, or handle errors." msgstr "" -#: ../../library/urllib.request.rst:735 +#: ../../library/urllib.request.rst:737 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:738 +#: ../../library/urllib.request.rst:740 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:`open` 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`)." +"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`)." msgstr "" -#: ../../library/urllib.request.rst:745 +#: ../../library/urllib.request.rst:747 msgid "This method will be called before any protocol-specific open method." msgstr "" -#: ../../library/urllib.request.rst:752 +#: ../../library/urllib.request.rst:754 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:755 +#: ../../library/urllib.request.rst:757 msgid "" "This method, if defined, will be called by the parent :class:" "`OpenerDirector`. Return values should be the same as for :meth:" "`default_open`." msgstr "" -#: ../../library/urllib.request.rst:761 +#: ../../library/urllib.request.rst:763 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:765 +#: ../../library/urllib.request.rst:767 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`." msgstr "" -#: ../../library/urllib.request.rst:772 +#: ../../library/urllib.request.rst:774 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 " @@ -1005,7 +1012,7 @@ msgid "" "other circumstances." msgstr "" -#: ../../library/urllib.request.rst:777 +#: ../../library/urllib.request.rst:779 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, " @@ -1013,49 +1020,49 @@ msgid "" "mapping object with the headers of the error." msgstr "" -#: ../../library/urllib.request.rst:782 +#: ../../library/urllib.request.rst:784 msgid "" "Return values and exceptions raised should be the same as those of :func:" "`urlopen`." msgstr "" -#: ../../library/urllib.request.rst:789 +#: ../../library/urllib.request.rst:791 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:793 +#: ../../library/urllib.request.rst:795 msgid "Subclasses should override this method to handle specific HTTP errors." msgstr "" -#: ../../library/urllib.request.rst:795 +#: ../../library/urllib.request.rst:797 msgid "" "Arguments, return values and exceptions raised should be the same as for :" "meth:`http_error_default`." msgstr "" -#: ../../library/urllib.request.rst:803 +#: ../../library/urllib.request.rst:805 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:806 +#: ../../library/urllib.request.rst:808 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." msgstr "" -#: ../../library/urllib.request.rst:815 +#: ../../library/urllib.request.rst:817 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:818 +#: ../../library/urllib.request.rst:820 msgid "" "This method, if defined, will be called by the parent :class:" "`OpenerDirector`. *req* will be a :class:`Request` object. *response* will " @@ -1064,25 +1071,25 @@ msgid "" "return value of :func:`urlopen`." msgstr "" -#: ../../library/urllib.request.rst:828 +#: ../../library/urllib.request.rst:830 msgid "HTTPRedirectHandler Objects" msgstr "" -#: ../../library/urllib.request.rst:832 +#: ../../library/urllib.request.rst:834 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:836 +#: ../../library/urllib.request.rst:838 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." msgstr "" -#: ../../library/urllib.request.rst:843 +#: ../../library/urllib.request.rst:845 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\\*` " @@ -1093,7 +1100,7 @@ msgid "" "URL, or return ``None`` if you can't but another handler might." msgstr "" -#: ../../library/urllib.request.rst:853 +#: ../../library/urllib.request.rst:855 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 " @@ -1102,46 +1109,46 @@ msgid "" "POST to a ``GET``, and the default implementation reproduces this behavior." msgstr "" -#: ../../library/urllib.request.rst:862 +#: ../../library/urllib.request.rst:864 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:868 +#: ../../library/urllib.request.rst:870 msgid "" "The same as :meth:`http_error_301`, but called for the 'found' response." msgstr "" -#: ../../library/urllib.request.rst:873 +#: ../../library/urllib.request.rst:875 msgid "" "The same as :meth:`http_error_301`, but called for the 'see other' response." msgstr "" -#: ../../library/urllib.request.rst:878 +#: ../../library/urllib.request.rst:880 msgid "" "The same as :meth:`http_error_301`, but called for the 'temporary redirect' " "response." msgstr "" -#: ../../library/urllib.request.rst:885 +#: ../../library/urllib.request.rst:887 msgid "HTTPCookieProcessor Objects" msgstr "" -#: ../../library/urllib.request.rst:887 +#: ../../library/urllib.request.rst:889 msgid ":class:`HTTPCookieProcessor` instances have one attribute:" msgstr "" -#: ../../library/urllib.request.rst:891 +#: ../../library/urllib.request.rst:893 msgid "The :class:`http.cookiejar.CookieJar` in which cookies are stored." msgstr "" -#: ../../library/urllib.request.rst:897 +#: ../../library/urllib.request.rst:899 msgid "ProxyHandler Objects" msgstr "" -#: ../../library/urllib.request.rst:903 +#: ../../library/urllib.request.rst:905 msgid "" "The :class:`ProxyHandler` will have a method :meth:`_open` for " "every *protocol* which has a proxy in the *proxies* dictionary given in the " @@ -1150,17 +1157,17 @@ msgid "" "actually execute the protocol." msgstr "" -#: ../../library/urllib.request.rst:913 +#: ../../library/urllib.request.rst:915 msgid "HTTPPasswordMgr Objects" msgstr "" -#: ../../library/urllib.request.rst:915 +#: ../../library/urllib.request.rst:917 msgid "" "These methods are available on :class:`HTTPPasswordMgr` and :class:" "`HTTPPasswordMgrWithDefaultRealm` objects." msgstr "" -#: ../../library/urllib.request.rst:921 +#: ../../library/urllib.request.rst:923 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 " @@ -1168,30 +1175,30 @@ msgid "" "of the given URIs is given." msgstr "" -#: ../../library/urllib.request.rst:929 +#: ../../library/urllib.request.rst:931 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:932 +#: ../../library/urllib.request.rst:934 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:939 +#: ../../library/urllib.request.rst:941 msgid "HTTPPasswordMgrWithPriorAuth Objects" msgstr "" -#: ../../library/urllib.request.rst:941 +#: ../../library/urllib.request.rst:943 msgid "" "This password manager extends :class:`HTTPPasswordMgrWithDefaultRealm` to " "support tracking URIs for which authentication credentials should always be " "sent." msgstr "" -#: ../../library/urllib.request.rst:948 +#: ../../library/urllib.request.rst:950 msgid "" "*realm*, *uri*, *user*, *passwd* are as for :meth:`HTTPPasswordMgr." "add_password`. *is_authenticated* sets the initial value of the " @@ -1199,25 +1206,25 @@ msgid "" "*is_authenticated* is specified as ``True``, *realm* is ignored." msgstr "" -#: ../../library/urllib.request.rst:956 +#: ../../library/urllib.request.rst:958 msgid "Same as for :class:`HTTPPasswordMgrWithDefaultRealm` objects" msgstr "" -#: ../../library/urllib.request.rst:962 +#: ../../library/urllib.request.rst:964 msgid "" "Update the ``is_authenticated`` flag for the given *uri* or list of URIs." msgstr "" -#: ../../library/urllib.request.rst:968 +#: ../../library/urllib.request.rst:970 msgid "" "Returns the current state of the ``is_authenticated`` flag for the given URI." msgstr "" -#: ../../library/urllib.request.rst:975 +#: ../../library/urllib.request.rst:977 msgid "AbstractBasicAuthHandler Objects" msgstr "" -#: ../../library/urllib.request.rst:980 +#: ../../library/urllib.request.rst:982 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 " @@ -1226,7 +1233,7 @@ msgid "" "`Request` object, and *headers* should be the error headers." msgstr "" -#: ../../library/urllib.request.rst:986 +#: ../../library/urllib.request.rst:988 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, " @@ -1234,24 +1241,24 @@ msgid "" "and ``\"python.org:80\"`` are fine, ``\"joe:password@python.org\"`` is not)." msgstr "" -#: ../../library/urllib.request.rst:995 +#: ../../library/urllib.request.rst:997 msgid "HTTPBasicAuthHandler Objects" msgstr "" -#: ../../library/urllib.request.rst:1000 ../../library/urllib.request.rst:1011 -#: ../../library/urllib.request.rst:1036 ../../library/urllib.request.rst:1047 +#: ../../library/urllib.request.rst:1002 ../../library/urllib.request.rst:1013 +#: ../../library/urllib.request.rst:1038 ../../library/urllib.request.rst:1049 msgid "Retry the request with authentication information, if available." msgstr "" -#: ../../library/urllib.request.rst:1006 +#: ../../library/urllib.request.rst:1008 msgid "ProxyBasicAuthHandler Objects" msgstr "" -#: ../../library/urllib.request.rst:1017 +#: ../../library/urllib.request.rst:1019 msgid "AbstractDigestAuthHandler Objects" msgstr "" -#: ../../library/urllib.request.rst:1022 +#: ../../library/urllib.request.rst:1024 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 " @@ -1259,55 +1266,55 @@ msgid "" "should be the error headers." msgstr "" -#: ../../library/urllib.request.rst:1031 +#: ../../library/urllib.request.rst:1033 msgid "HTTPDigestAuthHandler Objects" msgstr "" -#: ../../library/urllib.request.rst:1042 +#: ../../library/urllib.request.rst:1044 msgid "ProxyDigestAuthHandler Objects" msgstr "" -#: ../../library/urllib.request.rst:1053 +#: ../../library/urllib.request.rst:1055 msgid "HTTPHandler Objects" msgstr "" -#: ../../library/urllib.request.rst:1058 +#: ../../library/urllib.request.rst:1060 msgid "" "Send an HTTP request, which can be either GET or POST, depending on ``req." "has_data()``." msgstr "" -#: ../../library/urllib.request.rst:1065 +#: ../../library/urllib.request.rst:1067 msgid "HTTPSHandler Objects" msgstr "Objetos HTTPSHandler" -#: ../../library/urllib.request.rst:1070 +#: ../../library/urllib.request.rst:1072 msgid "" "Send an HTTPS request, which can be either GET or POST, depending on ``req." "has_data()``." msgstr "" -#: ../../library/urllib.request.rst:1077 +#: ../../library/urllib.request.rst:1079 msgid "FileHandler Objects" msgstr "" -#: ../../library/urllib.request.rst:1082 +#: ../../library/urllib.request.rst:1084 msgid "" "Open the file locally, if there is no host name, or the host name is " "``'localhost'``." msgstr "" -#: ../../library/urllib.request.rst:1085 +#: ../../library/urllib.request.rst:1087 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:1093 +#: ../../library/urllib.request.rst:1095 msgid "DataHandler Objects" msgstr "" -#: ../../library/urllib.request.rst:1097 +#: ../../library/urllib.request.rst:1099 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 " @@ -1317,51 +1324,51 @@ msgid "" "implementation will raise an :exc:`ValueError` in that case." msgstr "" -#: ../../library/urllib.request.rst:1108 +#: ../../library/urllib.request.rst:1110 msgid "FTPHandler Objects" msgstr "" -#: ../../library/urllib.request.rst:1113 +#: ../../library/urllib.request.rst:1115 msgid "" "Open the FTP file indicated by *req*. The login is always done with empty " "username and password." msgstr "" -#: ../../library/urllib.request.rst:1120 +#: ../../library/urllib.request.rst:1122 msgid "CacheFTPHandler Objects" msgstr "" -#: ../../library/urllib.request.rst:1122 +#: ../../library/urllib.request.rst:1124 msgid "" ":class:`CacheFTPHandler` objects are :class:`FTPHandler` objects with the " "following additional methods:" msgstr "" -#: ../../library/urllib.request.rst:1128 +#: ../../library/urllib.request.rst:1130 msgid "Set timeout of connections to *t* seconds." msgstr "" -#: ../../library/urllib.request.rst:1133 +#: ../../library/urllib.request.rst:1135 msgid "Set maximum number of cached connections to *m*." msgstr "" -#: ../../library/urllib.request.rst:1139 +#: ../../library/urllib.request.rst:1141 msgid "UnknownHandler Objects" msgstr "Objetos UnknownHandler" -#: ../../library/urllib.request.rst:1144 +#: ../../library/urllib.request.rst:1146 msgid "Raise a :exc:`~urllib.error.URLError` exception." msgstr "" -#: ../../library/urllib.request.rst:1150 +#: ../../library/urllib.request.rst:1152 msgid "HTTPErrorProcessor Objects" msgstr "" -#: ../../library/urllib.request.rst:1156 +#: ../../library/urllib.request.rst:1158 msgid "For 200 error codes, the response object is returned immediately." msgstr "" -#: ../../library/urllib.request.rst:1158 +#: ../../library/urllib.request.rst:1160 msgid "" "For non-200 error codes, this simply passes the job on to the :meth:" "`http_error_\\` handler methods, via :meth:`OpenerDirector.error`. " @@ -1369,31 +1376,31 @@ msgid "" "error.HTTPError` if no other handler handles the error." msgstr "" -#: ../../library/urllib.request.rst:1166 +#: ../../library/urllib.request.rst:1168 msgid "Process HTTPS error responses." msgstr "" -#: ../../library/urllib.request.rst:1168 +#: ../../library/urllib.request.rst:1170 msgid "The behavior is same as :meth:`http_response`." msgstr "" -#: ../../library/urllib.request.rst:1174 +#: ../../library/urllib.request.rst:1176 msgid "Examples" msgstr "Exemplos" -#: ../../library/urllib.request.rst:1176 +#: ../../library/urllib.request.rst:1178 msgid "" "In addition to the examples below, more examples are given in :ref:`urllib-" "howto`." msgstr "" -#: ../../library/urllib.request.rst:1179 +#: ../../library/urllib.request.rst:1181 msgid "" "This example gets the python.org main page and displays the first 300 bytes " "of it. ::" msgstr "" -#: ../../library/urllib.request.rst:1192 +#: ../../library/urllib.request.rst:1194 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 " @@ -1402,45 +1409,45 @@ msgid "" "appropriate encoding." msgstr "" -#: ../../library/urllib.request.rst:1198 +#: ../../library/urllib.request.rst:1200 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:1202 +#: ../../library/urllib.request.rst:1204 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:1211 +#: ../../library/urllib.request.rst:1213 msgid "" "It is also possible to achieve the same result without using the :term:" "`context manager` approach. ::" msgstr "" -#: ../../library/urllib.request.rst:1220 +#: ../../library/urllib.request.rst:1222 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:1232 +#: ../../library/urllib.request.rst:1234 msgid "The code for the sample CGI used in the above example is::" msgstr "" -#: ../../library/urllib.request.rst:1239 +#: ../../library/urllib.request.rst:1241 msgid "Here is an example of doing a ``PUT`` request using :class:`Request`::" msgstr "" -#: ../../library/urllib.request.rst:1249 +#: ../../library/urllib.request.rst:1251 msgid "Use of Basic HTTP Authentication::" msgstr "" -#: ../../library/urllib.request.rst:1263 +#: ../../library/urllib.request.rst:1265 msgid "" ":func:`build_opener` provides many handlers by default, including a :class:" "`ProxyHandler`. By default, :class:`ProxyHandler` uses the environment " @@ -1449,71 +1456,71 @@ msgid "" "read to obtain the HTTP proxy's URL." msgstr "" -#: ../../library/urllib.request.rst:1269 +#: ../../library/urllib.request.rst:1271 msgid "" "This example replaces the default :class:`ProxyHandler` with one that uses " -"programmatically-supplied proxy URLs, and adds proxy authorization support " +"programmatically supplied proxy URLs, and adds proxy authorization support " "with :class:`ProxyBasicAuthHandler`. ::" msgstr "" -#: ../../library/urllib.request.rst:1281 +#: ../../library/urllib.request.rst:1283 msgid "Adding HTTP headers:" -msgstr "" +msgstr "Adicionando cabeçalhos HTTP:" -#: ../../library/urllib.request.rst:1283 +#: ../../library/urllib.request.rst:1285 msgid "Use the *headers* argument to the :class:`Request` constructor, or::" msgstr "" -#: ../../library/urllib.request.rst:1292 +#: ../../library/urllib.request.rst:1294 msgid "" ":class:`OpenerDirector` automatically adds a :mailheader:`User-Agent` header " "to every :class:`Request`. To change this::" msgstr "" -#: ../../library/urllib.request.rst:1300 +#: ../../library/urllib.request.rst:1302 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`)." msgstr "" -#: ../../library/urllib.request.rst:1307 +#: ../../library/urllib.request.rst:1309 msgid "" "Here is an example session that uses the ``GET`` method to retrieve a URL " "containing parameters::" msgstr "" -#: ../../library/urllib.request.rst:1318 +#: ../../library/urllib.request.rst:1320 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:1329 +#: ../../library/urllib.request.rst:1331 msgid "" "The following example uses an explicitly specified HTTP proxy, overriding " "environment settings::" msgstr "" -#: ../../library/urllib.request.rst:1339 +#: ../../library/urllib.request.rst:1341 msgid "" "The following example uses no proxies at all, overriding environment " "settings::" msgstr "" -#: ../../library/urllib.request.rst:1349 +#: ../../library/urllib.request.rst:1351 msgid "Legacy interface" msgstr "" -#: ../../library/urllib.request.rst:1351 +#: ../../library/urllib.request.rst:1353 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:1357 +#: ../../library/urllib.request.rst:1359 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. " @@ -1523,7 +1530,7 @@ msgid "" "remote object). Exceptions are the same as for :func:`urlopen`." msgstr "" -#: ../../library/urllib.request.rst:1364 +#: ../../library/urllib.request.rst:1366 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 " @@ -1535,11 +1542,11 @@ msgid "" "file size in response to a retrieval request." msgstr "" -#: ../../library/urllib.request.rst:1373 +#: ../../library/urllib.request.rst:1375 msgid "The following example illustrates the most common usage scenario::" msgstr "" -#: ../../library/urllib.request.rst:1380 +#: ../../library/urllib.request.rst:1382 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 " @@ -1548,7 +1555,7 @@ msgid "" "parse.urlencode` function." msgstr "" -#: ../../library/urllib.request.rst:1386 +#: ../../library/urllib.request.rst:1388 msgid "" ":func:`urlretrieve` will raise :exc:`ContentTooShortError` when it detects " "that the amount of data available was less than the expected amount (which " @@ -1556,40 +1563,40 @@ msgid "" "example, when the download is interrupted." msgstr "" -#: ../../library/urllib.request.rst:1391 +#: ../../library/urllib.request.rst:1393 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:1395 +#: ../../library/urllib.request.rst:1397 msgid "" "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:1398 +#: ../../library/urllib.request.rst:1400 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:1404 +#: ../../library/urllib.request.rst:1406 msgid "" "Cleans up temporary files that may have been left behind by previous calls " "to :func:`urlretrieve`." msgstr "" -#: ../../library/urllib.request.rst:1411 +#: ../../library/urllib.request.rst:1413 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`." msgstr "" -#: ../../library/urllib.request.rst:1415 +#: ../../library/urllib.request.rst:1417 msgid "" "By default, the :class:`URLopener` class sends a :mailheader:`User-Agent` " "header of ``urllib/VVV``, where *VVV* is the :mod:`urllib` version number. " @@ -1599,7 +1606,7 @@ msgid "" "subclass definition." msgstr "" -#: ../../library/urllib.request.rst:1421 +#: ../../library/urllib.request.rst:1423 msgid "" "The optional *proxies* parameter should be a dictionary mapping scheme names " "to proxy URLs, where an empty dictionary turns proxies off completely. Its " @@ -1607,7 +1614,7 @@ msgid "" "be used if present, as discussed in the definition of :func:`urlopen`, above." msgstr "" -#: ../../library/urllib.request.rst:1426 +#: ../../library/urllib.request.rst:1428 msgid "" "Additional keyword parameters, collected in *x509*, may be used for " "authentication of the client when using the :file:`https:` scheme. The " @@ -1615,13 +1622,13 @@ msgid "" "certificate; both are needed to support client authentication." msgstr "" -#: ../../library/urllib.request.rst:1431 +#: ../../library/urllib.request.rst:1433 msgid "" ":class:`URLopener` objects will raise an :exc:`OSError` exception if the " "server returns an error code." msgstr "" -#: ../../library/urllib.request.rst:1436 +#: ../../library/urllib.request.rst:1438 msgid "" "Open *fullurl* using the appropriate protocol. This method sets up cache " "and proxy information, then calls the appropriate open method with its input " @@ -1630,15 +1637,15 @@ msgid "" "`urlopen`." msgstr "" -#: ../../library/urllib.request.rst:1442 +#: ../../library/urllib.request.rst:1444 msgid "This method always quotes *fullurl* using :func:`~urllib.parse.quote`." msgstr "" -#: ../../library/urllib.request.rst:1446 +#: ../../library/urllib.request.rst:1448 msgid "Overridable interface to open unknown URL types." msgstr "" -#: ../../library/urllib.request.rst:1451 +#: ../../library/urllib.request.rst:1453 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." @@ -1655,7 +1662,7 @@ msgid "" "*reporthook* is ignored for local URLs." msgstr "" -#: ../../library/urllib.request.rst:1464 +#: ../../library/urllib.request.rst:1466 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 " @@ -1664,7 +1671,7 @@ msgid "" "urlencode` function." msgstr "" -#: ../../library/urllib.request.rst:1473 +#: ../../library/urllib.request.rst:1475 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 " @@ -1672,7 +1679,7 @@ msgid "" "constructor." msgstr "" -#: ../../library/urllib.request.rst:1483 +#: ../../library/urllib.request.rst:1485 msgid "" ":class:`FancyURLopener` subclasses :class:`URLopener` providing default " "handling for the following HTTP response codes: 301, 302, 303, 307 and 401. " @@ -1683,14 +1690,14 @@ msgid "" "defaults to 10." msgstr "" -#: ../../library/urllib.request.rst:1490 +#: ../../library/urllib.request.rst:1492 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." msgstr "" -#: ../../library/urllib.request.rst:1495 +#: ../../library/urllib.request.rst:1497 msgid "" "According to the letter of :rfc:`2616`, 301 and 302 responses to POST " "requests must not be automatically redirected without confirmation by the " @@ -1699,13 +1706,13 @@ msgid "" "behaviour." msgstr "" -#: ../../library/urllib.request.rst:1500 +#: ../../library/urllib.request.rst:1502 msgid "" "The parameters to the constructor are the same as those for :class:" "`URLopener`." msgstr "" -#: ../../library/urllib.request.rst:1504 +#: ../../library/urllib.request.rst:1506 msgid "" "When performing basic authentication, a :class:`FancyURLopener` instance " "calls its :meth:`prompt_user_passwd` method. The default implementation " @@ -1714,59 +1721,59 @@ msgid "" "needed." msgstr "" -#: ../../library/urllib.request.rst:1509 +#: ../../library/urllib.request.rst:1511 msgid "" "The :class:`FancyURLopener` class offers one additional method that should " "be overloaded to provide the appropriate behavior:" msgstr "" -#: ../../library/urllib.request.rst:1514 +#: ../../library/urllib.request.rst:1516 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:1518 +#: ../../library/urllib.request.rst:1520 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:1524 +#: ../../library/urllib.request.rst:1526 msgid ":mod:`urllib.request` Restrictions" msgstr "" -#: ../../library/urllib.request.rst:1530 +#: ../../library/urllib.request.rst:1532 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:1533 +#: ../../library/urllib.request.rst:1535 msgid "Added support for data URLs." msgstr "" -#: ../../library/urllib.request.rst:1535 +#: ../../library/urllib.request.rst:1537 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:1538 +#: ../../library/urllib.request.rst:1540 msgid "" "There should be a function to query whether a particular URL is in the cache." msgstr "" -#: ../../library/urllib.request.rst:1540 +#: ../../library/urllib.request.rst:1542 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:1544 +#: ../../library/urllib.request.rst:1546 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 " @@ -1774,7 +1781,7 @@ msgid "" "functions without using threads." msgstr "" -#: ../../library/urllib.request.rst:1553 +#: ../../library/urllib.request.rst:1555 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 " @@ -1784,7 +1791,7 @@ msgid "" "module :mod:`html.parser` to parse it." msgstr "" -#: ../../library/urllib.request.rst:1562 +#: ../../library/urllib.request.rst:1564 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 " @@ -1802,11 +1809,11 @@ msgid "" "meet your needs." msgstr "" -#: ../../library/urllib.request.rst:1579 +#: ../../library/urllib.request.rst:1581 msgid ":mod:`urllib.response` --- Response classes used by urllib" msgstr "" -#: ../../library/urllib.request.rst:1584 +#: ../../library/urllib.request.rst:1586 msgid "" "The :mod:`urllib.response` module defines functions and classes which define " "a minimal file-like interface, including ``read()`` and ``readline()``. " @@ -1815,30 +1822,30 @@ msgid "" "addinfourl` instance:" msgstr "" -#: ../../library/urllib.request.rst:1593 +#: ../../library/urllib.request.rst:1595 msgid "" "URL of the resource retrieved, commonly used to determine if a redirect was " "followed." msgstr "" -#: ../../library/urllib.request.rst:1597 +#: ../../library/urllib.request.rst:1599 msgid "" "Returns the headers of the response in the form of an :class:`~email.message." "EmailMessage` instance." msgstr "" -#: ../../library/urllib.request.rst:1603 +#: ../../library/urllib.request.rst:1605 msgid "Status code returned by server." msgstr "" -#: ../../library/urllib.request.rst:1607 +#: ../../library/urllib.request.rst:1609 msgid "Deprecated in favor of :attr:`~addinfourl.url`." msgstr "" -#: ../../library/urllib.request.rst:1612 +#: ../../library/urllib.request.rst:1614 msgid "Deprecated in favor of :attr:`~addinfourl.headers`." msgstr "" -#: ../../library/urllib.request.rst:1617 ../../library/urllib.request.rst:1622 +#: ../../library/urllib.request.rst:1619 ../../library/urllib.request.rst:1624 msgid "Deprecated in favor of :attr:`~addinfourl.status`." msgstr "" diff --git a/library/urllib.robotparser.po b/library/urllib.robotparser.po index 8716179e4..b1372a4ec 100644 --- a/library/urllib.robotparser.po +++ b/library/urllib.robotparser.po @@ -1,26 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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.10\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-07-27 13:07+0000\n" -"PO-Revision-Date: 2021-06-28 01:17+0000\n" -"Last-Translator: Rafael Fontenelle , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:58+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/urllib.robotparser.rst:2 msgid ":mod:`urllib.robotparser` --- Parser for robots.txt" @@ -38,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*." 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 "" @@ -69,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 "" @@ -82,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 "" @@ -90,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 "" @@ -97,6 +121,9 @@ 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 "" diff --git a/library/uu.po b/library/uu.po index bba92c273..927f0e705 100644 --- a/library/uu.po +++ b/library/uu.po @@ -1,37 +1,46 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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.10\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-06-29 12:56+0000\n" -"PO-Revision-Date: 2021-06-28 01:17+0000\n" -"Last-Translator: Marco Rougeth , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:58+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/uu.rst:2 msgid ":mod:`uu` --- Encode and decode uuencode files" msgstr ":mod:`uu` --- Codifica e decodifica arquivos uuencode" -#: ../../library/uu.rst:9 +#: ../../library/uu.rst:10 msgid "**Source code:** :source:`Lib/uu.py`" msgstr "**Código-fonte:** :source:`Lib/uu.py`" -#: ../../library/uu.rst:13 +#: ../../library/uu.rst:12 +msgid "" +"The :mod:`uu` module is deprecated (see :pep:`PEP 594 <594#uu-and-the-uu-" +"encoding>` for details). :mod:`base64` is a modern alternative." +msgstr "" +"O módulo :mod:`uu` foi descontinuado (veja :pep:`PEP 594 <594#uu-and-the-uu-" +"encoding>` para detalhes e alternativas). :mod:`base64` é uma alternativa " +"moderna." + +#: ../../library/uu.rst:19 msgid "" "This module encodes and decodes files in uuencode format, allowing arbitrary " "binary data to be transferred over ASCII-only connections. Wherever a file " @@ -53,18 +62,18 @@ msgstr "" "arquivo e ter certeza de que, quando necessário, o modo é ``'rb'`` ou " "``'wb'`` no Windows." -#: ../../library/uu.rst:26 +#: ../../library/uu.rst:32 msgid "" "This code was contributed by Lance Ellinghouse, and modified by Jack Jansen." msgstr "" "Este código foi contribuído por Lance Ellinghouse e modificado por Jack " "Jansen." -#: ../../library/uu.rst:28 +#: ../../library/uu.rst:34 msgid "The :mod:`uu` module defines the following functions:" msgstr "O módulo :mod:`uu` define as seguintes funções:" -#: ../../library/uu.rst:33 +#: ../../library/uu.rst:39 msgid "" "Uuencode file *in_file* into file *out_file*. The uuencoded file will have " "the header specifying *name* and *mode* as the defaults for the results of " @@ -78,11 +87,11 @@ msgstr "" "``'-'`` e ``0o666`` respectivamente. Se *backtick* for verdadeiro, zeros são " "representados por ``'`'`` ao invés de espaços." -#: ../../library/uu.rst:39 +#: ../../library/uu.rst:45 msgid "Added the *backtick* parameter." msgstr "Adicionado o parâmetro *backtick*." -#: ../../library/uu.rst:45 +#: ../../library/uu.rst:51 msgid "" "This call decodes uuencoded file *in_file* placing the result on file " "*out_file*. If *out_file* is a pathname, *mode* is used to set the " @@ -97,7 +106,7 @@ msgstr "" "se o arquivo especificado no cabeçalho já existir, uma :exc:`uu.Error` é " "levantada." -#: ../../library/uu.rst:51 +#: ../../library/uu.rst:57 msgid "" ":func:`decode` may print a warning to standard error if the input was " "produced by an incorrect uuencoder and Python could recover from that " @@ -107,7 +116,7 @@ msgstr "" "produzida por um uuencoder incorreto e o Python pôde se recuperar desse " "erro. Definir *quiet* com um valor verdadeiro silencia este aviso." -#: ../../library/uu.rst:58 +#: ../../library/uu.rst:64 msgid "" "Subclass of :exc:`Exception`, this can be raised by :func:`uu.decode` under " "various situations, such as described above, but also including a badly " @@ -117,11 +126,11 @@ msgstr "" "em várias situações, como descrito acima, mas também incluindo um cabeçalho " "mal formatado ou arquivo de entrada truncado." -#: ../../library/uu.rst:65 +#: ../../library/uu.rst:71 msgid "Module :mod:`binascii`" msgstr "Módulo :mod:`binascii`" -#: ../../library/uu.rst:66 +#: ../../library/uu.rst:72 msgid "" "Support module containing ASCII-to-binary and binary-to-ASCII conversions." msgstr "" diff --git a/library/uuid.po b/library/uuid.po index 45f0f77c0..d68da370e 100644 --- a/library/uuid.po +++ b/library/uuid.po @@ -1,31 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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 -# 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.10\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-06-29 12:56+0000\n" -"PO-Revision-Date: 2021-06-28 01:17+0000\n" -"Last-Translator: i17obot , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:58+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/uuid.rst:2 msgid ":mod:`uuid` --- UUID objects according to :rfc:`4122`" @@ -42,6 +38,9 @@ msgid "" "`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 "" @@ -50,6 +49,10 @@ msgid "" "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 "" @@ -63,16 +66,19 @@ msgstr "" #: ../../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 "" @@ -85,6 +91,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 "" @@ -93,6 +108,10 @@ 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 "" @@ -100,6 +119,9 @@ msgid "" "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 "" @@ -107,28 +129,37 @@ 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 msgid "Field" @@ -195,16 +226,16 @@ msgid "the 14-bit sequence number" msgstr "" #: ../../library/uuid.rst:121 -msgid "The UUID as a 32-character hexadecimal string." -msgstr "" +msgid "The UUID as a 32-character lowercase hexadecimal string." +msgstr "O UUID como uma sequência hexadecimal de 32 caracteres minúsculos." #: ../../library/uuid.rst:126 msgid "The UUID as a 128-bit integer." -msgstr "" +msgstr "O UUID como um inteiro de 128 bits." #: ../../library/uuid.rst:131 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 msgid "" @@ -212,22 +243,29 @@ msgid "" "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 msgid "" "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 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 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 msgid "" @@ -241,6 +279,17 @@ 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 "" +"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:168 msgid "" @@ -248,6 +297,9 @@ msgid "" "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 msgid "" @@ -256,6 +308,11 @@ msgid "" "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 msgid "" @@ -265,7 +322,7 @@ msgstr "" #: ../../library/uuid.rst:196 msgid "Generate a random UUID." -msgstr "" +msgstr "Gera um UUID aleatório." #: ../../library/uuid.rst:203 msgid "" @@ -278,26 +335,33 @@ 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 msgid "" -"When this namespace is specified, the *name* string is a fully-qualified " +"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 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 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 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 msgid "" @@ -307,29 +371,33 @@ msgstr "" #: ../../library/uuid.rst:239 msgid "Reserved for NCS compatibility." -msgstr "" +msgstr "Reservado para compatibilidade com NCS." #: ../../library/uuid.rst:244 msgid "Specifies the UUID layout given in :rfc:`4122`." -msgstr "" +msgstr "Especifica o layout do UUID fornecido no :rfc:`4122`." #: ../../library/uuid.rst:249 msgid "Reserved for Microsoft compatibility." -msgstr "" +msgstr "Reservado para compatibilidade com Microsoft." #: ../../library/uuid.rst:254 msgid "Reserved for future definition." -msgstr "" +msgstr "Reservado para definição futura." #: ../../library/uuid.rst:260 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 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 msgid "Example" @@ -337,4 +405,4 @@ msgstr "Exemplo" #: ../../library/uuid.rst:269 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`::" diff --git a/library/venv.po b/library/venv.po index ce43683b2..4a51f8d45 100644 --- a/library/venv.po +++ b/library/venv.po @@ -1,32 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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 -# Paulo Henrique Rodrigues Pinheiro , 2021 -# Risaffi , 2021 -# felipe caridade , 2021 -# i17obot , 2021 -# Adorilson Bezerra , 2021 +# python-doc bot, 2025 # #, 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:17+0000\n" -"Last-Translator: Adorilson Bezerra , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:58+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/venv.rst:2 msgid ":mod:`venv` --- Creation of virtual environments" @@ -36,28 +31,40 @@ msgstr ":mod:`venv`--- Criação de ambientes virtuais" msgid "**Source code:** :source:`Lib/venv/`" msgstr "**Código-fonte:** :source:`Lib/venv/`" -#: ../../library/venv.rst:18 +#: ../../library/venv.rst:21 +msgid "" +"The :mod:`!venv` module supports creating lightweight \"virtual " +"environments\", each with their own independent set of Python packages " +"installed in their :mod:`site` directories. A virtual environment is created " +"on top of an existing Python installation, known as the virtual " +"environment's \"base\" Python, and may optionally be isolated from the " +"packages in the base environment, so only those explicitly installed in the " +"virtual environment are available." +msgstr "" +"O módulo :mod:`!venv` oferece suporte à criação de \"ambientes virtuais\" " +"leves, cada um com seu próprio conjunto independente de pacotes Python " +"instalados em seus diretórios :mod:`site`. Um ambiente virtual é criado " +"sobre uma instalação existente do Python, conhecido como o Python \"base\" " +"do ambiente virtual, e pode, opcionalmente, ser isolado dos pacotes no " +"ambiente base, de modo que apenas aqueles explicitamente instalados no " +"ambiente virtual estejam disponíveis." + +#: ../../library/venv.rst:29 msgid "" -"The :mod:`venv` module provides support for creating lightweight \"virtual " -"environments\" with their own site directories, optionally isolated from " -"system site directories. Each virtual environment has its own Python binary " -"(which matches the version of the binary that was used to create this " -"environment) and can have its own independent set of installed Python " -"packages in its site directories." +"When used from within a virtual environment, common installation tools such " +"as `pip`_ will install Python packages into a virtual environment without " +"needing to be told to do so explicitly." msgstr "" -"O módulo :mod:`venv` fornece suporte para a criação de \"ambientes virtuais" -"\" leves com seus próprios diretórios de site, opcionalmente isolados dos " -"diretórios de site do sistema. Cada ambiente virtual possui seu próprio " -"binário Python (que corresponde à versão do binário usado para criar esse " -"ambiente) e pode ter seu próprio conjunto independente de pacotes Python " -"instalados nos diretórios do site." +"Quando usadas em um ambiente virtual, ferramentas de instalação comuns, como " +"`pip`_, instalarão pacotes Python em um ambiente virtual sem precisar ser " +"instruído a fazê-lo explicitamente." -#: ../../library/venv.rst:25 -msgid "See :pep:`405` for more information about Python virtual environments." +#: ../../library/venv.rst:33 +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:29 +#: ../../library/venv.rst:37 msgid "" "`Python Packaging User Guide: Creating and using virtual environments " "`__" -#: ../../library/venv.rst:34 +#: ../../library/venv.rst:41 msgid "Creating virtual environments" msgstr "Criando ambientes virtuais" @@ -106,12 +113,10 @@ msgstr "" #: ../../using/venv-create.inc:17 msgid "" "``pyvenv`` was the recommended tool for creating virtual environments for " -"Python 3.3 and 3.4, and is `deprecated in Python 3.6 `_." +"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 `descontinuado no Python 3.6 `_." +"Python 3.3 e 3.4, e foi :ref:`descontinuada no Python 3.6 `." #: ../../using/venv-create.inc:22 msgid "" @@ -222,129 +227,100 @@ msgstr "" "virtual idêntico será criado, de acordo com as opções fornecidas, em cada " "caminho fornecido." -#: ../../using/venv-create.inc:108 +#: ../../library/venv.rst:48 +msgid "How venvs work" +msgstr "Como funcionam os venvs" + +#: ../../library/venv.rst:50 msgid "" -"Once a virtual environment has been created, it can be \"activated\" using a " -"script in the virtual environment's binary directory. The invocation of the " -"script is platform-specific (`` must be replaced by the path of the " -"directory containing the 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 "" -"Depois que um ambiente virtual é criado, ele pode ser \"ativado\" usando um " -"script no diretório binário do ambiente virtual. A chamada do script é " -"específica da plataforma (`` deve ser substituído pelo caminho do " -"diretório que contém o ambiente virtual):" -#: ../../using/venv-create.inc:114 +#: ../../library/venv.rst:59 +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 " +"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 " +"the path to the directory containing the virtual environment):" +msgstr "" + +#: ../../library/venv.rst:69 msgid "Platform" msgstr "Plataforma" -#: ../../using/venv-create.inc:114 +#: ../../library/venv.rst:69 msgid "Shell" msgstr "Shell" -#: ../../using/venv-create.inc:114 +#: ../../library/venv.rst:69 msgid "Command to activate virtual environment" msgstr "Comando para ativar o ambiente virtual" -#: ../../using/venv-create.inc:116 +#: ../../library/venv.rst:71 msgid "POSIX" msgstr "POSIX" -#: ../../using/venv-create.inc:116 +#: ../../library/venv.rst:71 msgid "bash/zsh" msgstr "bash/zsh" -#: ../../using/venv-create.inc:116 -msgid "$ source /bin/activate" -msgstr "$ source /bin/activate" +#: ../../library/venv.rst:71 +msgid ":samp:`$ source {}/bin/activate`" +msgstr ":samp:`$ source {}/bin/activate`" -#: ../../using/venv-create.inc:118 +#: ../../library/venv.rst:73 msgid "fish" msgstr "fish" -#: ../../using/venv-create.inc:118 -msgid "$ source /bin/activate.fish" -msgstr "$ source /bin/activate.fish" +#: ../../library/venv.rst:73 +msgid ":samp:`$ source {}/bin/activate.fish`" +msgstr ":samp:`$ source {}/bin/activate.fish`" -#: ../../using/venv-create.inc:120 +#: ../../library/venv.rst:75 msgid "csh/tcsh" msgstr "csh/tcsh" -#: ../../using/venv-create.inc:120 -msgid "$ source /bin/activate.csh" -msgstr "$ source /bin/activate.csh" +#: ../../library/venv.rst:75 +msgid ":samp:`$ source {}/bin/activate.csh`" +msgstr ":samp:`$ source {}/bin/activate.csh`" -#: ../../using/venv-create.inc:122 -msgid "PowerShell Core" -msgstr "PowerShell Core" +#: ../../library/venv.rst:77 ../../library/venv.rst:81 +msgid "PowerShell" +msgstr "PowerShell" -#: ../../using/venv-create.inc:122 -msgid "$ /bin/Activate.ps1" -msgstr "$ /bin/Activate.ps1" +#: ../../library/venv.rst:77 +msgid ":samp:`$ {}/bin/Activate.ps1`" +msgstr ":samp:`$ {}/bin/Activate.ps1`" -#: ../../using/venv-create.inc:124 +#: ../../library/venv.rst:79 msgid "Windows" msgstr "Windows" -#: ../../using/venv-create.inc:124 +#: ../../library/venv.rst:79 msgid "cmd.exe" msgstr "cmd.exe" -#: ../../using/venv-create.inc:124 -msgid "C:\\\\> \\\\Scripts\\\\activate.bat" -msgstr "C:\\\\> \\\\Scripts\\\\activate.bat" +#: ../../library/venv.rst:79 +msgid ":samp:`C:\\\\> {}\\\\Scripts\\\\activate.bat`" +msgstr ":samp:`C:\\\\> {}\\\\Scripts\\\\activate.bat`" -#: ../../using/venv-create.inc:126 -msgid "PowerShell" -msgstr "PowerShell" +#: ../../library/venv.rst:81 +msgid ":samp:`PS C:\\\\> {}\\\\Scripts\\\\Activate.ps1`" +msgstr ":samp:`PS C:\\\\> {}\\\\Scripts\\\\Activate.ps1`" -#: ../../using/venv-create.inc:126 -msgid "PS C:\\\\> \\\\Scripts\\\\Activate.ps1" -msgstr "PS C:\\\\> \\\\Scripts\\\\Activate.ps1" +#: ../../library/venv.rst:84 +msgid ":program:`fish` and :program:`csh` activation scripts." +msgstr "Os scripts de ativação :program:`fish` e :program:`csh`." -#: ../../using/venv-create.inc:129 -msgid "" -"When a virtual environment is active, the :envvar:`VIRTUAL_ENV` environment " -"variable is set to the path of the virtual environment. This can be used to " -"check if one is running inside a virtual environment." -msgstr "" -"Quando um ambiente virtual está ativo, a variável de ambiente :envvar:" -"`VIRTUAL_ENV` é definida como o caminho do ambiente virtual. Isso pode ser " -"usado para verificar se um está sendo executado dentro de um ambiente " -"virtual." - -#: ../../using/venv-create.inc:133 -msgid "" -"You don't specifically *need* to activate an environment; activation just " -"prepends the virtual environment's binary directory to your path, so that " -"\"python\" invokes the virtual environment's Python interpreter and you can " -"run installed scripts without having to use their full path. However, all " -"scripts installed in a virtual environment should be runnable without " -"activating it, and run with the virtual environment's Python automatically." -msgstr "" -"Você não *precisa* especificamente ativar um ambiente; a ativação apenas " -"anexa o diretório binário do ambiente virtual ao seu caminho, para que " -"\"python\" invoque o interpretador Python do ambiente virtual e você possa " -"executar scripts instalados sem precisar usar o caminho completo. No " -"entanto, todos os scripts instalados em um ambiente virtual devem ser " -"executáveis sem ativá-lo e executados com o Python do ambiente virtual " -"automaticamente." - -#: ../../using/venv-create.inc:140 -msgid "" -"You can deactivate a virtual environment by typing \"deactivate\" in your " -"shell. The exact mechanism is platform-specific and is an internal " -"implementation detail (typically a script or shell function will be used)." -msgstr "" -"Você pode desativar um ambiente virtual digitando \"deactivate\" no seu " -"shell. O mecanismo exato é específico da plataforma e é um detalhe interno " -"da implementação (normalmente, uma função de script ou shell será usada)." - -#: ../../using/venv-create.inc:144 -msgid "``fish`` and ``csh`` activation scripts." -msgstr "Scripts de ativação de ``fish`` e ``csh``." - -#: ../../using/venv-create.inc:147 +#: ../../library/venv.rst:87 msgid "" "PowerShell activation scripts installed under POSIX for PowerShell Core " "support." @@ -352,114 +328,88 @@ msgstr "" "Scripts de ativação de PowerShell instalados sob POSIX para suporte a " "PowerShell Core." -#: ../../library/venv.rst:41 +#: ../../library/venv.rst:91 msgid "" -"A virtual environment is a Python environment such that the Python " -"interpreter, libraries and scripts installed into it are isolated from those " -"installed in other virtual environments, and (by default) any libraries " -"installed in a \"system\" Python, i.e., one which is installed as part of " -"your operating system." +"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 " +"invoking Python. Furthermore, all scripts installed in the environment " +"should be runnable without activating it." msgstr "" -"Um ambiente virtual é um ambiente Python, de modo que o interpretador, as " -"bibliotecas e os scripts Python instalados nele são isolados daqueles " -"instalados em outros ambientes virtuais e (por padrão) quaisquer bibliotecas " -"instaladas em um Python do \"sistema\", ou seja, instalado como parte do seu " -"sistema operacional." +"Você não *precisa* especificamente ativar um ambiente virtual, pois pode " +"apenas especificar o caminho completo para o interpretador Python desse " +"ambiente ao invocar o Python. Além disso, todos os scripts instalados no " +"ambiente devem ser executáveis sem ativá-lo." -#: ../../library/venv.rst:47 +#: ../../library/venv.rst:97 msgid "" -"A virtual environment is a directory tree which contains Python executable " -"files and other files which indicate that it is a virtual environment." +"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`." msgstr "" -"Um ambiente virtual é uma árvore de diretórios que contém arquivos " -"executáveis em Python e outros arquivos que indicam que é um ambiente " -"virtual." -#: ../../library/venv.rst:50 +#: ../../library/venv.rst:106 msgid "" -"Common installation tools such as setuptools_ and pip_ work as expected with " -"virtual environments. In other words, when a virtual environment is active, " -"they install Python packages into the virtual environment without needing to " -"be told to do so explicitly." -msgstr "" -"Ferramentas de instalação comuns, como setuptools_ e pip_, funcionam " -"conforme o esperado em ambientes virtuais. Em outras palavras, quando um " -"ambiente virtual está ativo, eles instalam pacotes Python no ambiente " -"virtual sem a necessidade de instruções explícitas." - -#: ../../library/venv.rst:55 -msgid "" -"When a virtual environment is active (i.e., the virtual environment's Python " -"interpreter is running), the attributes :attr:`sys.prefix` and :attr:`sys." -"exec_prefix` point to the base directory of the virtual environment, " -"whereas :attr:`sys.base_prefix` and :attr:`sys.base_exec_prefix` point to " -"the non-virtual environment Python installation which was used to create the " -"virtual environment. If a virtual environment is not active, then :attr:`sys." -"prefix` is the same as :attr:`sys.base_prefix` and :attr:`sys.exec_prefix` " -"is the same as :attr:`sys.base_exec_prefix` (they all point to a non-virtual " -"environment Python installation)." -msgstr "" -"Quando um ambiente virtual está ativo (ou seja, o interpretador Python do " -"ambiente virtual está em execução), os atributos :attr:`sys.prefix` e :attr:" -"`sys.exec_prefix` apontam para o diretório base do ambiente virtual, " -"enquanto :attr:`sys.base_prefix` e :attr:`sys.base_exec_prefix` apontam para " -"a instalação Python do ambiente não virtual que foi usada para criar o " -"ambiente virtual. Se um ambiente virtual não estiver ativo, então :attr:`sys." -"prefix` é o mesmo que :attr:`sys.base_prefix` e :attr:`sys.exec_prefix` é o " -"mesmo que :attr:`sys.base_exec_prefix` (todos eles apontam para uma " -"instalação Python de ambiente não virtual)." - -#: ../../library/venv.rst:66 -msgid "" -"When a virtual environment is active, any options that change the " -"installation path will be ignored from all :mod:`distutils` configuration " -"files to prevent projects being inadvertently installed outside of the " -"virtual environment." -msgstr "" -"Quando um ambiente virtual está ativo, todas as opções que alteram o caminho " -"da instalação serão ignoradas em todos os arquivos de configuração :mod:" -"`distutils` para impedir que projetos sejam inadvertidamente instalados fora " -"do ambiente virtual." +"When a virtual environment has been activated, the :envvar:`!VIRTUAL_ENV` " +"environment variable is set to the path of the environment. Since explicitly " +"activating a virtual environment is not required to use it, :envvar:`!" +"VIRTUAL_ENV` cannot be relied upon to determine whether a virtual " +"environment is being used." +msgstr "" +"Quando um ambiente virtual é ativado, a variável de ambiente :envvar:`!" +"VIRTUAL_ENV` é definida como o caminho do ambiente. Como não é necessário " +"ativar explicitamente um ambiente virtual para usá-lo, :envvar:`!" +"VIRTUAL_ENV` não pode ser usado para determinar se um ambiente virtual está " +"sendo usado." -#: ../../library/venv.rst:71 +#: ../../library/venv.rst:112 msgid "" -"When working in a command shell, users can make a virtual environment active " -"by running an ``activate`` script in the virtual environment's executables " -"directory (the precise filename and command to use the file is shell-" -"dependent), which prepends the virtual environment's directory for " -"executables to the ``PATH`` environment variable for the running shell. " -"There should be no need in other circumstances to activate a virtual " -"environment; scripts installed into virtual environments have a \"shebang\" " -"line which points to the virtual environment's Python interpreter. This " -"means that the script will run with that interpreter regardless of the value " -"of ``PATH``. On Windows, \"shebang\" line processing is supported if you " -"have the Python Launcher for Windows installed (this was added to Python in " -"3.3 - see :pep:`397` for more details). Thus, double-clicking an installed " -"script in a Windows Explorer window should run the script with the correct " -"interpreter without there needing to be any reference to its virtual " -"environment in ``PATH``." -msgstr "" -"Ao trabalhar em um shell de comando, os usuários podem ativar um ambiente " -"virtual executando um script ``activate`` no diretório de executáveis do " -"ambiente virtual (o nome do arquivo e o comando precisos para usar o arquivo " -"dependem do shell), que precede o ambiente virtual diretório para " -"executáveis ​​na variável de ambiente ``PATH`` do shell em execução. Em outras " -"circunstâncias, não há necessidade de ativar um ambiente virtual; scripts " -"instalados em ambientes virtuais têm uma linha \"shebang\" que aponta para o " -"interpretador Python do ambiente virtual. Isso significa que o script será " -"executado com esse interpretador, independentemente do valor de ``PATH``. No " -"Windows, o processamento da linha \"shebang\" é suportado se você tiver o " -"Python Launcher for Windows instalado (foi adicionado ao Python no 3.3 - " -"consulte :pep:`397` para obter mais detalhes). Portanto, clicar duas vezes " -"em um script instalado em uma janela do Explorador do Windows deve executar " -"o script com o interpretador correto, sem que seja necessário fazer " -"referência ao seu ambiente virtual em ``PATH``." +"Because scripts installed in environments should not expect the environment " +"to be activated, their shebang lines contain the absolute paths to their " +"environment's interpreters. Because of this, environments are inherently non-" +"portable, in the general case. You should always have a simple means of " +"recreating an environment (for example, if you have a requirements file " +"``requirements.txt``, you can invoke ``pip install -r requirements.txt`` " +"using the environment's ``pip`` to install all of the packages needed by the " +"environment). If for any reason you need to move the environment to a new " +"location, you should recreate it at the desired location and delete the one " +"at the old location. If you move an environment because you moved a parent " +"directory of it, you should recreate the environment in its new location. " +"Otherwise, software installed into the environment may not work as expected." +msgstr "" +"Como os scripts instalados em ambientes não devem esperar que o ambiente " +"seja ativado, suas linhas shebang contêm os caminhos absolutos para os " +"interpretadores de seus ambientes. Por causa disso, os ambientes são " +"inerentemente não portáteis, no caso geral. Você sempre deve ter um meio " +"simples de recriar um ambiente (por exemplo, se você tiver um arquivo de " +"requisitos ``requirements.txt``, você pode invocar ``pip install -r " +"requirements.txt`` usando o ``pip`` do ambiente para instalar todos os " +"pacotes necessários para o ambiente). Se por algum motivo você precisar " +"mover o ambiente para um novo local, deverá recriá-lo no local desejado e " +"excluir o do local antigo. Se você mover um ambiente porque moveu um " +"diretório pai dele, deverá recriar o ambiente em seu novo local. Caso " +"contrário, o software instalado no ambiente pode não funcionar conforme o " +"esperado." + +#: ../../library/venv.rst:126 +msgid "" +"You can deactivate a virtual environment by typing ``deactivate`` in your " +"shell. The exact mechanism is platform-specific and is an internal " +"implementation detail (typically, a script or shell function will be used)." +msgstr "" +"Você pode desativar um ambiente virtual digitando ``deactivate`` em seu " +"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:91 +#: ../../library/venv.rst:134 msgid "API" msgstr "API" -#: ../../library/venv.rst:95 +#: ../../library/venv.rst:138 msgid "" "The high-level method described above makes use of a simple API which " "provides mechanisms for third-party virtual environment creators to " @@ -471,7 +421,7 @@ msgstr "" "personalizem a criação do ambiente de acordo com suas necessidades, a " "classe :class:`EnvBuilder`." -#: ../../library/venv.rst:103 +#: ../../library/venv.rst:146 msgid "" "The :class:`EnvBuilder` class accepts the following keyword arguments on " "instantiation:" @@ -479,7 +429,7 @@ msgstr "" "A classe :class:`EnvBuilder` aceita os seguintes argumentos nomeados na " "instanciação:" -#: ../../library/venv.rst:106 +#: ../../library/venv.rst:149 msgid "" "``system_site_packages`` -- a Boolean value indicating that the system " "Python site-packages should be available to the environment (defaults to " @@ -489,7 +439,7 @@ msgstr "" "sites do sistema Python devem estar disponíveis para o ambiente (o padrão é " "``False``)." -#: ../../library/venv.rst:109 +#: ../../library/venv.rst:152 msgid "" "``clear`` -- a Boolean value which, if true, will delete the contents of any " "existing target directory, before creating the environment." @@ -497,7 +447,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:112 +#: ../../library/venv.rst:155 msgid "" "``symlinks`` -- a Boolean value indicating whether to attempt to symlink the " "Python binary rather than copying." @@ -505,7 +455,7 @@ msgstr "" "``symlinks`` -- um valor booleano que indica se você deseja vincular o " "binário Python ao invés de copiar." -#: ../../library/venv.rst:115 +#: ../../library/venv.rst:158 msgid "" "``upgrade`` -- a Boolean value which, if true, will upgrade an existing " "environment with the running Python - for use when that Python has been " @@ -515,7 +465,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:119 +#: ../../library/venv.rst:162 msgid "" "``with_pip`` -- a Boolean value which, if true, ensures pip is installed in " "the virtual environment. This uses :mod:`ensurepip` with the ``--default-" @@ -525,7 +475,7 @@ msgstr "" "instalado no ambiente virtual. Isso usa :mod:`ensurepip` com a opção ``--" "default-pip``." -#: ../../library/venv.rst:123 +#: ../../library/venv.rst:166 msgid "" "``prompt`` -- a String to be used after virtual environment is activated " "(defaults to ``None`` which means directory name of the environment would be " @@ -537,25 +487,25 @@ msgstr "" "usado). Se a string especial ``\".\"`` for fornecida, o nome da base do " "diretório atual será usado como prompt." -#: ../../library/venv.rst:128 +#: ../../library/venv.rst:171 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:130 ../../library/venv.rst:260 +#: ../../library/venv.rst:173 ../../library/venv.rst:348 msgid "Added the ``with_pip`` parameter" msgstr "Adicionado o parâmetro ``with_pip``" -#: ../../library/venv.rst:133 ../../library/venv.rst:263 +#: ../../library/venv.rst:176 ../../library/venv.rst:351 msgid "Added the ``prompt`` parameter" msgstr "Adicionado o parâmetro ``prompt``" -#: ../../library/venv.rst:136 ../../library/venv.rst:266 +#: ../../library/venv.rst:179 ../../library/venv.rst:354 msgid "Added the ``upgrade_deps`` parameter" msgstr "Adicionado o parâmetro ``upgrade_deps``" -#: ../../library/venv.rst:139 +#: ../../library/venv.rst:182 msgid "" "Creators of third-party virtual environment tools will be free to use the " "provided :class:`EnvBuilder` class as a base class." @@ -563,11 +513,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:142 +#: ../../library/venv.rst:185 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:146 +#: ../../library/venv.rst:189 msgid "" "Create a virtual environment by specifying the target directory (absolute or " "relative to the current directory) which is to contain the virtual " @@ -579,7 +529,7 @@ msgstr "" "``create`` cria o ambiente no diretório especificado ou levanta uma exceção " "apropriada." -#: ../../library/venv.rst:152 +#: ../../library/venv.rst:195 msgid "" "The ``create`` method of the :class:`EnvBuilder` class illustrates the hooks " "available for subclass customization::" @@ -587,7 +537,7 @@ msgstr "" "O método ``create`` da classe :class:`EnvBuilder` ilustra os ganchos " "disponíveis para personalização de subclasse::" -#: ../../library/venv.rst:167 +#: ../../library/venv.rst:210 msgid "" "Each of the methods :meth:`ensure_directories`, :meth:" "`create_configuration`, :meth:`setup_python`, :meth:`setup_scripts` and :" @@ -597,25 +547,126 @@ msgstr "" "`create_configuration`, :meth:`setup_python`, :meth:`setup_scripts` e :meth:" "`post_setup` pode ser substituído." -#: ../../library/venv.rst:173 +#: ../../library/venv.rst:216 +msgid "" +"Creates the environment directory and all necessary subdirectories that " +"don't already exist, and returns a context object. This context object is " +"just a holder for attributes (such as paths) for use by the other methods. " +"If the :class:`EnvBuilder` is created with the arg ``clear=True``, contents " +"of the environment directory will be cleared and then all necessary " +"subdirectories will be recreated." +msgstr "" +"Cria o diretório do ambiente e todos os subdiretórios necessários que ainda " +"não existem e retorna um objeto de contexto. Este objeto de contexto é " +"apenas um detentor de atributos (como caminhos) para uso pelos outros " +"métodos. Se o :class:`EnvBuilder` for criado com o argumento ``clear=True``, " +"o conteúdo do diretório do ambiente será limpo e todos os subdiretórios " +"necessários serão recriados." + +#: ../../library/venv.rst:223 +msgid "" +"The returned context object is a :class:`types.SimpleNamespace` with the " +"following attributes:" +msgstr "" +"O objeto de contexto retornado é um :class:`types.SimpleNamespace` com os " +"seguintes atributos:" + +#: ../../library/venv.rst:226 +msgid "" +"``env_dir`` - The location of the virtual environment. Used for " +"``__VENV_DIR__`` in activation scripts (see :meth:`install_scripts`)." +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:229 +msgid "" +"``env_name`` - The name of the virtual environment. Used for " +"``__VENV_NAME__`` in activation scripts (see :meth:`install_scripts`)." +msgstr "" +"``env_name`` - O nome do ambiente virtual. Usado para ``__VENV_NAME__`` em " +"scripts de ativação (veja :meth:`install_scripts`)." + +#: ../../library/venv.rst:232 +msgid "" +"``prompt`` - The prompt to be used by the activation scripts. Used for " +"``__VENV_PROMPT__`` in activation scripts (see :meth:`install_scripts`)." +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:235 +msgid "" +"``executable`` - The underlying Python executable used by the virtual " +"environment. This takes into account the case where a virtual environment is " +"created from another virtual environment." +msgstr "" +"``executable`` - O executável Python subjacente usado pelo ambiente virtual. " +"Isso leva em consideração o caso em que um ambiente virtual é criado a " +"partir de outro ambiente virtual." + +#: ../../library/venv.rst:239 +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:241 +msgid "``lib_path`` - The purelib path for the virtual environment." +msgstr "``lib_path`` - O caminho purelib para o ambiente virtual." + +#: ../../library/venv.rst:243 +msgid "``bin_path`` - The script path for the virtual environment." +msgstr "``bin_path`` - O caminho do script para o ambiente virtual." + +#: ../../library/venv.rst:245 +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`)." + +#: ../../library/venv.rst:249 +msgid "" +"``env_exe`` - The name of the Python interpreter in the virtual environment. " +"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:253 +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 " +"environment." +msgstr "" +"``env_exec_cmd`` - O nome do interpretador Python, levando em consideração " +"os redirecionamentos do sistema de arquivos. Isso pode ser usado para " +"executar o Python no ambiente virtual." + +#: ../../library/venv.rst:258 msgid "" -"Creates the environment directory and all necessary directories, and returns " -"a context object. This is just a holder for attributes (such as paths), for " -"use by the other methods. The directories are allowed to exist already, as " -"long as either ``clear`` or ``upgrade`` were specified to allow operating on " -"an existing environment directory." +"The attribute ``lib_path`` was added to the context, and the context object " +"was documented." msgstr "" -"Cria o diretório do ambiente e todos os diretórios necessários e retorna um " -"objeto de contexto. Este é apenas um suporte para atributos (como caminhos), " -"para uso pelos outros métodos. Os diretórios já podem existir, desde que " -"``clear`` ou ``upgrade`` tenham sido especificados para permitir a operação " -"em um diretório de ambiente existente." +"O atributo ``lib_path`` foi adicionado ao contexto, e o objeto de contexto " +"foi documentado." -#: ../../library/venv.rst:181 +#: ../../library/venv.rst:262 +msgid "" +"The *venv* :ref:`sysconfig installation scheme ` is used " +"to construct the paths of the created directories." +msgstr "" +"O :ref:`esquema de instalação de sysconfig ` do *venv* é " +"usado para construir os caminhos dos diretórios criados." + +#: ../../library/venv.rst:269 msgid "Creates the ``pyvenv.cfg`` configuration file in the environment." msgstr "Cria o arquivo de configuração ``pyvenv.cfg`` no ambiente." -#: ../../library/venv.rst:185 +#: ../../library/venv.rst:273 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 " @@ -627,7 +678,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:192 +#: ../../library/venv.rst:280 msgid "" "Installs activation scripts appropriate to the platform into the virtual " "environment." @@ -635,7 +686,7 @@ msgstr "" "Instala scripts de ativação apropriados para a plataforma no ambiente " "virtual." -#: ../../library/venv.rst:197 +#: ../../library/venv.rst:285 msgid "" "Upgrades the core venv dependency packages (currently ``pip`` and " "``setuptools``) in the environment. This is done by shelling out to the " @@ -645,7 +696,7 @@ msgstr "" "``setuptools``) no ambiente. Isso é feito através da distribuição do " "executável ``pip`` no ambiente." -#: ../../library/venv.rst:205 +#: ../../library/venv.rst:293 msgid "" "A placeholder method which can be overridden in third party implementations " "to pre-install packages in the virtual environment or perform other post-" @@ -655,7 +706,7 @@ msgstr "" "terceiros para pré-instalar pacotes no ambiente virtual ou executar outras " "etapas pós-criação." -#: ../../library/venv.rst:209 +#: ../../library/venv.rst:297 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 " @@ -666,7 +717,7 @@ msgstr "" "nada a menos que seja executado a partir de uma construção na árvore de " "origem." -#: ../../library/venv.rst:214 +#: ../../library/venv.rst:302 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 " @@ -677,7 +728,7 @@ msgstr "" "3.7.2. Ao usar links simbólicos, será feito link para os executáveis " "originais." -#: ../../library/venv.rst:219 +#: ../../library/venv.rst:307 msgid "" "In addition, :class:`EnvBuilder` provides this utility method that can be " "called from :meth:`setup_scripts` or :meth:`post_setup` in subclasses to " @@ -687,21 +738,21 @@ 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:225 +#: ../../library/venv.rst:313 msgid "" -"*path* is the path to a directory that should contain subdirectories \"common" -"\", \"posix\", \"nt\", each containing scripts destined for the bin " +"*path* is the path to a directory that should contain subdirectories " +"\"common\", \"posix\", \"nt\", each containing scripts destined for the bin " "directory in the environment. The contents of \"common\" and the directory " "corresponding to :data:`os.name` are copied after some text replacement of " "placeholders:" msgstr "" -"*path* é o caminho para um diretório que deve conter subdiretórios \"common" -"\", \"posix\" e \"nt\", cada um contendo scripts destinados ao diretório bin " -"no ambiente. O conteúdo de \"common\" e o diretório correspondente a :data:" -"`os.name` são copiados após alguma substituição de texto dos espaços " -"reservados:" +"*path* é o caminho para um diretório que deve conter subdiretórios " +"\"common\", \"posix\" e \"nt\", cada um contendo scripts destinados ao " +"diretório bin no ambiente. O conteúdo de \"common\" e o diretório " +"correspondente a :data:`os.name` são copiados após alguma substituição de " +"texto dos espaços reservados:" -#: ../../library/venv.rst:231 +#: ../../library/venv.rst:319 msgid "" "``__VENV_DIR__`` is replaced with the absolute path of the environment " "directory." @@ -709,7 +760,7 @@ msgstr "" "``__VENV_DIR__`` é substituído pelo caminho absoluto do diretório do " "ambiente." -#: ../../library/venv.rst:234 +#: ../../library/venv.rst:322 msgid "" "``__VENV_NAME__`` is replaced with the environment name (final path segment " "of environment directory)." @@ -717,7 +768,7 @@ msgstr "" "``__VENV_NAME__`` é substituído pelo nome do ambiente (segmento do caminho " "final do diretório do ambiente)." -#: ../../library/venv.rst:237 +#: ../../library/venv.rst:325 msgid "" "``__VENV_PROMPT__`` is replaced with the prompt (the environment name " "surrounded by parentheses and with a following space)" @@ -725,7 +776,7 @@ msgstr "" "``__VENV_PROMPT__`` é substituído pelo prompt (o nome do ambiente entre " "parênteses e com o seguinte espaço)" -#: ../../library/venv.rst:240 +#: ../../library/venv.rst:328 msgid "" "``__VENV_BIN_NAME__`` is replaced with the name of the bin directory (either " "``bin`` or ``Scripts``)." @@ -733,7 +784,7 @@ msgstr "" "``__VENV_BIN_NAME__`` é substituído pelo nome do diretório bin (``bin`` ou " "``Scripts``)." -#: ../../library/venv.rst:243 +#: ../../library/venv.rst:331 msgid "" "``__VENV_PYTHON__`` is replaced with the absolute path of the environment's " "executable." @@ -741,7 +792,7 @@ msgstr "" "``__VENV_PYTHON__`` é substituído pelo caminho absoluto do executável do " "ambiente." -#: ../../library/venv.rst:246 +#: ../../library/venv.rst:334 msgid "" "The directories are allowed to exist (for when an existing environment is " "being upgraded)." @@ -749,11 +800,11 @@ msgstr "" "É permitido que os diretórios existam (para quando um ambiente existente " "estiver sendo atualizado)." -#: ../../library/venv.rst:249 +#: ../../library/venv.rst:337 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:255 +#: ../../library/venv.rst:343 msgid "" "Create an :class:`EnvBuilder` with the given keyword arguments, and call " "its :meth:`~EnvBuilder.create` method with the *env_dir* argument." @@ -761,11 +812,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:270 +#: ../../library/venv.rst:358 msgid "An example of extending ``EnvBuilder``" msgstr "Um exemplo de extensão de ``EnvBuilder``" -#: ../../library/venv.rst:272 +#: ../../library/venv.rst:360 msgid "" "The following script shows how to extend :class:`EnvBuilder` by implementing " "a subclass which installs setuptools and pip into a created virtual " @@ -774,7 +825,7 @@ 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:491 +#: ../../library/venv.rst:579 msgid "" "This script is also available for download `online `_." diff --git a/library/warnings.po b/library/warnings.po index b5d78b01e..e73bd8c30 100644 --- a/library/warnings.po +++ b/library/warnings.po @@ -1,31 +1,29 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, Python Software 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 -# Willian C Lopes , 2021 -# i17obot , 2021 -# Danilo Lima , 2021 +# python-doc bot, 2025 +# Rafael Fontenelle , 2025 +# Adorilson Bezerra , 2025 # #, 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:17+0000\n" -"Last-Translator: Danilo Lima , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2026-01-23 17:24+0000\n" +"PO-Revision-Date: 2025-09-22 15:58+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=2; plural=(n > 1);\n" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/warnings.rst:2 msgid ":mod:`warnings` --- Warning control" @@ -44,10 +42,10 @@ 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 "" @@ -55,9 +53,9 @@ msgid "" "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`; " -"veja :ref:`exceptionhandling` para detalhes)." +"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 "" @@ -71,8 +69,8 @@ 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 @@ -83,9 +81,9 @@ 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 "" @@ -98,7 +96,7 @@ 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:" +"`filterwarnings` e redefinidas para o estado padrão chamando :func:" "`resetwarnings`." #: ../../library/warnings.rst:38 @@ -277,8 +275,11 @@ msgid ":exc:`ResourceWarning`" msgstr ":exc:`ResourceWarning`" #: ../../library/warnings.rst:107 -msgid "Base category for warnings related to resource usage." -msgstr "Categoria base para avisos relacionados a uso de recursos." +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 "" @@ -313,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 @@ -393,14 +394,19 @@ msgstr "" #: ../../library/warnings.rst:156 msgid "" "*message* is a string containing a regular expression that the start of the " -"warning message must match. The expression is compiled to always be case-" -"insensitive." +"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 que contém uma expressão regular que deve " -"corresponder ao início da mensagem de aviso. A expressão é compilada para " -"não fazer distinção entre maiúsculas e minúsculas." +"*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:160 +#: ../../library/warnings.rst:162 msgid "" "*category* is a class (a subclass of :exc:`Warning`) of which the warning " "category must be a subclass in order to match." @@ -408,16 +414,22 @@ msgstr "" "*category* é uma classe (uma subclasse de :exc:`Warning`) da qual a " "categoria de aviso deve ser uma subclasse para corresponder." -#: ../../library/warnings.rst:163 +#: ../../library/warnings.rst:165 msgid "" -"*module* is a string containing a regular expression that the module name " -"must match. The expression is compiled to be case-sensitive." +"*module* is a string containing a regular expression that the start of the " +"fully qualified module name must match, case-sensitively. In :option:`-W` " +"and :envvar:`PYTHONWARNINGS`, *module* is a literal string that the fully " +"qualified module name must be equal to (case-sensitively), ignoring any " +"whitespace at the start or end of *module*." msgstr "" -"*module* é uma string que contém uma expressão regular à qual o nome do " -"módulo deve corresponder. A expressão é compilada para fazer distinção entre " -"maiúsculas e minúsculas." +"*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:166 +#: ../../library/warnings.rst:171 msgid "" "*lineno* is an integer that the line number where the warning occurred must " "match, or ``0`` to match all line numbers." @@ -425,28 +437,28 @@ msgstr "" "*lineno* é um número inteiro que deve corresponder ao número da linha onde " "ocorreu o aviso, ou ``0`` para corresponder a todos os números de linha." -#: ../../library/warnings.rst:169 +#: ../../library/warnings.rst:174 msgid "" "Since the :exc:`Warning` class is derived from the built-in :exc:`Exception` " "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:172 +#: ../../library/warnings.rst:177 msgid "" "If a warning is reported and doesn't match any registered filter then the " "\"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:179 +#: ../../library/warnings.rst:184 msgid "Describing Warning Filters" -msgstr "" +msgstr "Descrevendo filtros de aviso" -#: ../../library/warnings.rst:181 +#: ../../library/warnings.rst:186 msgid "" "The warnings filter is initialized by :option:`-W` options passed to the " "Python interpreter command line and the :envvar:`PYTHONWARNINGS` environment " @@ -455,14 +467,22 @@ 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:188 +#: ../../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:193 +#: ../../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:" @@ -472,60 +492,60 @@ msgid "" "precedence over earlier ones)." msgstr "" -#: ../../library/warnings.rst:200 +#: ../../library/warnings.rst:205 msgid "" "Commonly used warning filters apply to either all warnings, warnings in a " "particular category, or warnings raised by particular modules or packages. " "Some examples::" msgstr "" -#: ../../library/warnings.rst:217 +#: ../../library/warnings.rst:221 msgid "Default Warning Filter" msgstr "Filtro de avisos padrão" -#: ../../library/warnings.rst:219 +#: ../../library/warnings.rst:223 msgid "" "By default, Python installs several warning filters, which can be overridden " "by the :option:`-W` command-line option, the :envvar:`PYTHONWARNINGS` " "environment variable and calls to :func:`filterwarnings`." msgstr "" -#: ../../library/warnings.rst:223 +#: ../../library/warnings.rst:227 msgid "" "In regular release builds, the default warning filter has the following " "entries (in order of precedence)::" msgstr "" -#: ../../library/warnings.rst:232 +#: ../../library/warnings.rst:236 msgid "" "In a :ref:`debug build `, the list of default warning filters " "is empty." msgstr "" -#: ../../library/warnings.rst:234 +#: ../../library/warnings.rst:238 msgid "" ":exc:`DeprecationWarning` is now ignored by default in addition to :exc:" "`PendingDeprecationWarning`." msgstr "" -#: ../../library/warnings.rst:238 +#: ../../library/warnings.rst:242 msgid "" ":exc:`DeprecationWarning` is once again shown by default when triggered " "directly by code in ``__main__``." msgstr "" -#: ../../library/warnings.rst:242 +#: ../../library/warnings.rst:246 msgid "" ":exc:`BytesWarning` no longer appears in the default filter list and is " "instead configured via :data:`sys.warnoptions` when :option:`-b` is " "specified twice." msgstr "" -#: ../../library/warnings.rst:251 +#: ../../library/warnings.rst:255 msgid "Overriding the default filter" msgstr "" -#: ../../library/warnings.rst:253 +#: ../../library/warnings.rst:257 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 " @@ -535,14 +555,14 @@ msgid "" "disabled::" msgstr "" -#: ../../library/warnings.rst:265 +#: ../../library/warnings.rst:269 msgid "" "Developers of test runners for Python code are advised to instead ensure " "that *all* warnings are displayed by default for the code under test, using " "code like::" msgstr "" -#: ../../library/warnings.rst:276 +#: ../../library/warnings.rst:280 msgid "" "Finally, developers of interactive shells that run user code in a namespace " "other than ``__main__`` are advised to ensure that :exc:`DeprecationWarning` " @@ -550,11 +570,11 @@ msgid "" "``user_ns`` is the module used to execute code entered interactively)::" msgstr "" -#: ../../library/warnings.rst:289 +#: ../../library/warnings.rst:293 msgid "Temporarily Suppressing Warnings" msgstr "" -#: ../../library/warnings.rst:291 +#: ../../library/warnings.rst:295 msgid "" "If you are using code that you know will raise a warning, such as a " "deprecated function, but do not want to see the warning (even when warnings " @@ -562,7 +582,7 @@ msgid "" "to suppress the warning using the :class:`catch_warnings` context manager::" msgstr "" -#: ../../library/warnings.rst:305 +#: ../../library/warnings.rst:309 msgid "" "While within the context manager all warnings will simply be ignored. This " "allows you to use known-deprecated code without having to see the warning " @@ -572,11 +592,11 @@ msgid "" "context manager at the same time, the behavior is undefined." msgstr "" -#: ../../library/warnings.rst:317 +#: ../../library/warnings.rst:321 msgid "Testing Warnings" msgstr "" -#: ../../library/warnings.rst:319 +#: ../../library/warnings.rst:323 msgid "" "To test warnings raised by code, use the :class:`catch_warnings` context " "manager. With it you can temporarily mutate the warnings filter to " @@ -584,7 +604,7 @@ msgid "" "raised warnings to check::" msgstr "" -#: ../../library/warnings.rst:339 +#: ../../library/warnings.rst:343 msgid "" "One can also cause all warnings to be exceptions by using ``error`` instead " "of ``always``. One thing to be aware of is that if a warning has already " @@ -593,7 +613,7 @@ msgid "" "registry related to the warning has been cleared." msgstr "" -#: ../../library/warnings.rst:345 +#: ../../library/warnings.rst:349 msgid "" "Once the context manager exits, the warnings filter is restored to its state " "when the context was entered. This prevents tests from changing the warnings " @@ -604,7 +624,7 @@ msgid "" "manager at the same time, the behavior is undefined." msgstr "" -#: ../../library/warnings.rst:353 +#: ../../library/warnings.rst:357 msgid "" "When testing multiple operations that raise the same kind of warning, it is " "important to test them in a manner that confirms each operation is raising a " @@ -614,18 +634,18 @@ msgid "" "entries from the warnings list before each new operation)." msgstr "" -#: ../../library/warnings.rst:364 +#: ../../library/warnings.rst:368 msgid "Updating Code For New Versions of Dependencies" msgstr "" -#: ../../library/warnings.rst:366 +#: ../../library/warnings.rst:370 msgid "" "Warning categories that are primarily of interest to Python developers " "(rather than end users of applications written in Python) are ignored by " "default." msgstr "" -#: ../../library/warnings.rst:369 +#: ../../library/warnings.rst:373 msgid "" "Notably, this \"ignored by default\" list includes :exc:`DeprecationWarning` " "(for every module except ``__main__``), which means developers should make " @@ -634,14 +654,14 @@ msgid "" "(whether in the standard library or third party packages)." msgstr "" -#: ../../library/warnings.rst:375 +#: ../../library/warnings.rst:379 msgid "" "In the ideal case, the code will have a suitable test suite, and the test " "runner will take care of implicitly enabling all warnings when running tests " "(the test runner provided by the :mod:`unittest` module does this)." msgstr "" -#: ../../library/warnings.rst:379 +#: ../../library/warnings.rst:383 msgid "" "In less ideal cases, applications can be checked for use of deprecated " "interfaces by passing :option:`-Wd <-W>` to the Python interpreter (this is " @@ -653,11 +673,11 @@ msgid "" "what is possible." msgstr "" -#: ../../library/warnings.rst:392 +#: ../../library/warnings.rst:396 msgid "Available Functions" -msgstr "" +msgstr "Funções disponíveis" -#: ../../library/warnings.rst:397 +#: ../../library/warnings.rst:401 msgid "" "Issue a warning, or maybe ignore it or raise an exception. The *category* " "argument, if given, must be a :ref:`warning category class `. The entry is inserted at the front by default; if " @@ -743,7 +763,7 @@ msgid "" "everything." msgstr "" -#: ../../library/warnings.rst:477 +#: ../../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:" @@ -752,18 +772,18 @@ msgid "" "and line number match." msgstr "" -#: ../../library/warnings.rst:486 +#: ../../library/warnings.rst:490 msgid "" "Reset the warnings filter. This discards the effect of all previous calls " "to :func:`filterwarnings`, including that of the :option:`-W` command line " "options and calls to :func:`simplefilter`." msgstr "" -#: ../../library/warnings.rst:492 +#: ../../library/warnings.rst:496 msgid "Available Context Managers" -msgstr "" +msgstr "Gerenciadores de contexto disponíveis" -#: ../../library/warnings.rst:496 +#: ../../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:" @@ -773,15 +793,27 @@ msgid "" "(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:505 +#: ../../library/warnings.rst:509 msgid "" "The *module* argument takes a module that will be used instead of the module " "returned when you import :mod:`warnings` whose filter will be protected. " "This argument exists primarily for testing the :mod:`warnings` module itself." 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:512 +#: ../../library/warnings.rst:516 msgid "" "The :class:`catch_warnings` manager works by replacing and then later " "restoring the module's :func:`showwarning` function and internal list of " diff --git a/library/wave.po b/library/wave.po index 17fb7e743..8e5849460 100644 --- a/library/wave.po +++ b/library/wave.po @@ -1,28 +1,28 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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 -# i17obot , 2021 +# python-doc bot, 2025 +# Gustavo Reis, 2025 # #, 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:17+0000\n" -"Last-Translator: i17obot , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-10-31 17:16+0000\n" +"PO-Revision-Date: 2025-09-22 15:58+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=2; plural=(n > 1);\n" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/wave.rst:2 msgid ":mod:`wave` --- Read and write WAV files" @@ -35,41 +35,42 @@ 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. It does not support compression/decompression, but it does support " -"mono/stereo." +"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:17 +#: ../../library/wave.rst:18 msgid "The :mod:`wave` module defines the following function and exception:" msgstr "" -#: ../../library/wave.rst:22 +#: ../../library/wave.rst:23 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:26 +#: ../../library/wave.rst:27 msgid "``'rb'``" msgstr "``'rb'``" -#: ../../library/wave.rst:26 +#: ../../library/wave.rst:27 msgid "Read only mode." msgstr "Modo somente para leitura." -#: ../../library/wave.rst:29 +#: ../../library/wave.rst:30 msgid "``'wb'``" msgstr "``'wb'``" -#: ../../library/wave.rst:29 +#: ../../library/wave.rst:30 msgid "Write only mode." msgstr "Modo somente para escrita." -#: ../../library/wave.rst:31 +#: ../../library/wave.rst:32 msgid "Note that it does not allow read/write WAV files." msgstr "" -#: ../../library/wave.rst:33 +#: ../../library/wave.rst:34 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 " @@ -77,14 +78,14 @@ msgid "" "value for *mode*." msgstr "" -#: ../../library/wave.rst:38 +#: ../../library/wave.rst:39 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." msgstr "" -#: ../../library/wave.rst:42 +#: ../../library/wave.rst:43 msgid "" "The :func:`.open` function may be used in a :keyword:`with` statement. When " "the :keyword:`!with` block completes, the :meth:`Wave_read.close() ` agora é aceito." +msgstr "Todo :term:`objeto bytes ou similar` agora é aceito." -#: ../../library/wave.rst:230 +#: ../../library/wave.rst:231 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 " @@ -283,7 +283,7 @@ msgid "" "previously set value for *nframes*." msgstr "" -#: ../../library/wave.rst:239 +#: ../../library/wave.rst:240 msgid "" "Note that it is invalid to set any parameters after calling :meth:" "`writeframes` or :meth:`writeframesraw`, and any attempt to do so will " diff --git a/library/weakref.po b/library/weakref.po index ca941c051..cc792f11f 100644 --- a/library/weakref.po +++ b/library/weakref.po @@ -1,33 +1,31 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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 -# And Past , 2021 -# i17obot , 2021 -# Rafael Fontenelle , 2021 +# python-doc bot, 2025 # #, 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:17+0000\n" -"Last-Translator: Rafael Fontenelle , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:58+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/weakref.rst:2 msgid ":mod:`weakref` --- Weak references" -msgstr "" +msgstr ":mod:`weakref` --- Referências fracas" #: ../../library/weakref.rst:12 msgid "**Source code:** :source:`Lib/weakref.py`" @@ -38,12 +36,16 @@ 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:22 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:25 msgid "" @@ -54,6 +56,12 @@ msgid "" "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:31 msgid "" @@ -61,6 +69,9 @@ 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:35 msgid "" @@ -77,6 +88,19 @@ msgid "" "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:48 msgid "" @@ -87,6 +111,12 @@ msgid "" "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:55 msgid "" @@ -96,6 +126,11 @@ 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:61 msgid "" @@ -104,6 +139,11 @@ msgid "" "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:66 msgid "" @@ -116,27 +156,46 @@ msgstr "" #: ../../library/weakref.rst:72 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:75 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:85 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:88 msgid "" "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:91 +msgid "" +"When ``__slots__`` are defined for a given type, weak reference support is " +"disabled unless a ``'__weakref__'`` string is also present in the sequence " +"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:94 +#: ../../library/weakref.rst:98 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 " @@ -147,30 +206,46 @@ msgid "" "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:102 +#: ../../library/weakref.rst:106 msgid "" "It is allowable for many weak references to be constructed for the same " "object. Callbacks registered for each weak reference will be called from the " "most recently registered callback to the oldest registered callback." msgstr "" +"É 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:106 +#: ../../library/weakref.rst:110 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." msgstr "" -#: ../../library/weakref.rst:110 +#: ../../library/weakref.rst:114 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`." 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:115 +#: ../../library/weakref.rst:119 msgid "" "Weak references support tests for equality, but not ordering. If the " "referents are still alive, two references have the same equality " @@ -178,23 +253,34 @@ 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:120 +#: ../../library/weakref.rst:124 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:124 +#: ../../library/weakref.rst:128 msgid "" "This read-only attribute returns the callback currently associated to the " "weakref. If there is no callback or if the referent of the weakref is no " "longer alive then this attribute will have value ``None``." msgstr "" +"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:128 +#: ../../library/weakref.rst:132 msgid "Added the :attr:`__callback__` attribute." -msgstr "" +msgstr "Adicionado o atributo :attr:`__callback__`." -#: ../../library/weakref.rst:134 +#: ../../library/weakref.rst:138 msgid "" "Return a proxy to *object* which uses a weak reference. This supports use " "of the proxy in most contexts instead of requiring the explicit " @@ -207,24 +293,38 @@ msgid "" "`ref` function." msgstr "" -#: ../../library/weakref.rst:143 +#: ../../library/weakref.rst:147 +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:150 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:150 +#: ../../library/weakref.rst:157 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:155 +#: ../../library/weakref.rst:162 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:160 +#: ../../library/weakref.rst:167 msgid "" "Mapping class that references keys weakly. Entries in the dictionary will " "be discarded when there is no longer a strong reference to the key. This " @@ -232,14 +332,36 @@ 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:173 +msgid "" +"Note that when a key with equal value to an existing key (but not equal " +"identity) is inserted into the dictionary, it replaces the value but does " +"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:166 +#: ../../library/weakref.rst:186 +msgid "A workaround would be to remove the key prior to reassignment::" +msgstr "Uma solução alternativa seria remover a chave antes da reatribuição::" + +#: ../../library/weakref.rst:197 msgid "Added support for ``|`` and ``|=`` operators, specified in :pep:`584`." msgstr "" "Adicionado suporte para os operadores ``|`` e ``|=``, especificados na :pep:" "`584`." -#: ../../library/weakref.rst:169 +#: ../../library/weakref.rst:200 msgid "" ":class:`WeakKeyDictionary` objects have an additional method that exposes " "the internal references directly. The references are not guaranteed to be " @@ -248,40 +370,53 @@ 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:179 +#: ../../library/weakref.rst:210 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:184 +#: ../../library/weakref.rst:215 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:187 +#: ../../library/weakref.rst:218 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:190 +#: ../../library/weakref.rst:221 msgid "" ":class:`WeakValueDictionary` objects have an additional method that has the " "same issues as the :meth:`keyrefs` method of :class:`WeakKeyDictionary` " "objects." msgstr "" -#: ../../library/weakref.rst:197 +#: ../../library/weakref.rst:228 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:202 +#: ../../library/weakref.rst:233 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:208 +#: ../../library/weakref.rst:239 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). " @@ -289,24 +424,38 @@ 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:236 +#: ../../library/weakref.rst:267 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:241 +#: ../../library/weakref.rst:272 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:246 +#: ../../library/weakref.rst:277 msgid "" "Exceptions raised by finalizer callbacks during garbage collection will be " "shown on the standard error output, but cannot be propagated. They are " @@ -314,119 +463,160 @@ msgid "" "`__del__` method or a weak reference's callback." msgstr "" -#: ../../library/weakref.rst:252 +#: ../../library/weakref.rst:283 msgid "" "When the program exits, each remaining live finalizer is called unless its :" "attr:`atexit` attribute has been set to false. They are called in reverse " "order of creation." msgstr "" +"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:256 +#: ../../library/weakref.rst:287 msgid "" "A finalizer will never invoke its callback during the later part of the :" "term:`interpreter shutdown` when module globals are liable to have been " "replaced by :const:`None`." msgstr "" +"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:262 +#: ../../library/weakref.rst:293 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:268 +#: ../../library/weakref.rst:299 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:274 +#: ../../library/weakref.rst:305 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:279 +#: ../../library/weakref.rst:310 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:283 +#: ../../library/weakref.rst:314 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:290 +#: ../../library/weakref.rst:321 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:300 +#: ../../library/weakref.rst:331 msgid "The type object for weak references objects." -msgstr "" +msgstr "O objeto tipo para objetos referências fracas." -#: ../../library/weakref.rst:305 +#: ../../library/weakref.rst:336 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:310 +#: ../../library/weakref.rst:341 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:315 +#: ../../library/weakref.rst:346 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:323 +#: ../../library/weakref.rst:354 msgid ":pep:`205` - Weak References" msgstr ":pep:`205` - Weak References" -#: ../../library/weakref.rst:323 +#: ../../library/weakref.rst:354 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:330 +#: ../../library/weakref.rst:361 msgid "Weak Reference Objects" -msgstr "Objetos de referência fraca" +msgstr "Objetos referência fraca" -#: ../../library/weakref.rst:332 +#: ../../library/weakref.rst:363 msgid "" "Weak reference objects have no methods and no attributes besides :attr:`ref." "__callback__`. A weak reference object allows the referent to be obtained, " "if it still exists, by calling it:" msgstr "" +"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:346 +#: ../../library/weakref.rst:377 msgid "" "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:353 +#: ../../library/weakref.rst:384 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:366 +#: ../../library/weakref.rst:397 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:371 +#: ../../library/weakref.rst:402 msgid "" "Specialized versions of :class:`ref` objects can be created through " "subclassing. This is used in the implementation of the :class:" @@ -435,87 +625,114 @@ msgid "" "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:377 +#: ../../library/weakref.rst:408 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:404 +#: ../../library/weakref.rst:435 msgid "Example" msgstr "Exemplo" -#: ../../library/weakref.rst:406 +#: ../../library/weakref.rst:437 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:431 +#: ../../library/weakref.rst:462 msgid "Finalizer Objects" msgstr "Objetos finalizadores" -#: ../../library/weakref.rst:433 +#: ../../library/weakref.rst:464 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:447 +#: ../../library/weakref.rst:478 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:463 +#: ../../library/weakref.rst:494 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:477 +#: ../../library/weakref.rst:508 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:492 +#: ../../library/weakref.rst:523 msgid "Comparing finalizers with :meth:`__del__` methods" msgstr "" -#: ../../library/weakref.rst:494 +#: ../../library/weakref.rst:525 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:498 +#: ../../library/weakref.rst:529 msgid "the object is garbage collected," -msgstr "" +msgstr "o objeto é um lixo coletado," -#: ../../library/weakref.rst:499 +#: ../../library/weakref.rst:530 msgid "the object's :meth:`remove` method is called, or" msgstr "" -#: ../../library/weakref.rst:500 +#: ../../library/weakref.rst:531 msgid "the program exits." msgstr "o programa finaliza." -#: ../../library/weakref.rst:502 +#: ../../library/weakref.rst:533 msgid "" "We might try to implement the class using a :meth:`__del__` method as " "follows::" msgstr "" -#: ../../library/weakref.rst:521 +#: ../../library/weakref.rst:552 msgid "" "Starting with Python 3.4, :meth:`__del__` methods no longer prevent " "reference cycles from being garbage collected, and module globals are no " @@ -523,38 +740,53 @@ msgid "" "code should work without any issues on CPython." msgstr "" -#: ../../library/weakref.rst:526 +#: ../../library/weakref.rst:557 msgid "" "However, handling of :meth:`__del__` methods is notoriously implementation " "specific, since it depends on internal details of the interpreter's garbage " "collector implementation." msgstr "" -#: ../../library/weakref.rst:530 +#: ../../library/weakref.rst:561 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:546 +#: ../../library/weakref.rst:577 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:550 +#: ../../library/weakref.rst:581 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:562 +#: ../../library/weakref.rst:593 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 d03cb2240..d742767e3 100644 --- a/library/webbrowser.po +++ b/library/webbrowser.po @@ -1,32 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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 -# Sheila Gomes , 2021 -# Claudio Rogerio Carvalho Filho , 2021 -# (Douglas da Silva) , 2021 -# Misael borges , 2021 -# i17obot , 2021 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.10\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-07-27 13:07+0000\n" -"PO-Revision-Date: 2021-06-28 01:17+0000\n" -"Last-Translator: i17obot , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:58+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/webbrowser.rst:2 msgid ":mod:`webbrowser` --- Convenient web-browser controller" @@ -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,16 +49,28 @@ 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 "" "If the environment variable :envvar:`BROWSER` exists, it is interpreted as " "the :data:`os.pathsep`-separated list of browsers to try ahead of the " -"platform defaults. When the value of a list part contains the string ``" -"%s``, then it is interpreted as a literal browser command line to be used " -"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]_" +"platform defaults. When the value of a list part contains the string " +"``%s``, then it is interpreted as a literal browser command line to be used " +"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 "" @@ -81,11 +97,11 @@ msgstr "" #: ../../library/webbrowser.rst:44 msgid "The following exception is defined:" -msgstr "" +msgstr "A seguinte exceção é definida:" #: ../../library/webbrowser.rst:49 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:51 msgid "The following functions are defined:" @@ -100,6 +116,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:63 msgid "" @@ -107,24 +130,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:67 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:72 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:77 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:83 msgid "" @@ -132,6 +164,9 @@ 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:90 msgid "" @@ -141,6 +176,12 @@ msgid "" "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:96 msgid "" @@ -150,10 +191,15 @@ msgid "" "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:102 msgid "*preferred* keyword-only parameter was added." -msgstr "" +msgstr "Parâmetro somente-nomeado *preferred* foi adicionado." #: ../../library/webbrowser.rst:105 msgid "" @@ -161,14 +207,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:110 msgid "Type Name" -msgstr "" +msgstr "Nome do tipo" #: ../../library/webbrowser.rst:110 msgid "Class Name" -msgstr "Nome da Classe" +msgstr "Nome da classe" #: ../../library/webbrowser.rst:110 msgid "Notes" @@ -313,8 +362,8 @@ msgid "``'macosx'``" msgstr "``'macosx'``" #: ../../library/webbrowser.rst:146 -msgid ":class:`MacOSX('default')`" -msgstr ":class:`MacOSX('default')`" +msgid ":class:`MacOSXOSAScript('default')`" +msgstr "" #: ../../library/webbrowser.rst:146 ../../library/webbrowser.rst:148 msgid "\\(3)" @@ -325,8 +374,8 @@ msgid "``'safari'``" msgstr "``'safari'``" #: ../../library/webbrowser.rst:148 -msgid ":class:`MacOSX('safari')`" -msgstr ":class:`MacOSX('safari')`" +msgid ":class:`MacOSXOSAScript('safari')`" +msgstr "" #: ../../library/webbrowser.rst:150 msgid "``'google-chrome'``" @@ -376,15 +425,15 @@ msgstr "" #: ../../library/webbrowser.rst:169 msgid "Only on Windows platforms." -msgstr "Somente em Plataformas Windows." +msgstr "Somente em plataformas Windows." #: ../../library/webbrowser.rst:172 -msgid "Only on Mac OS X platform." -msgstr "Somente na plataforma Mac OS X." +msgid "Only on macOS platform." +msgstr "" #: ../../library/webbrowser.rst:174 msgid "Support for Chrome/Chromium has been added." -msgstr "" +msgstr "Foi adicionado suporte para Chrome/Chromium." #: ../../library/webbrowser.rst:177 msgid "Here are some simple examples::" @@ -392,13 +441,15 @@ msgstr "Aqui estão alguns exemplos simples::" #: ../../library/webbrowser.rst:191 msgid "Browser Controller Objects" -msgstr "" +msgstr "Objetos controladores de navegador" #: ../../library/webbrowser.rst:193 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:199 msgid "" @@ -406,6 +457,9 @@ 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:206 msgid "" @@ -413,12 +467,18 @@ msgid "" "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:213 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:218 msgid "Footnotes" @@ -429,3 +489,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 541c2393a..2a9ff3648 100644 --- a/library/windows.po +++ b/library/windows.po @@ -1,27 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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.10\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-06-29 12:56+0000\n" -"PO-Revision-Date: 2021-06-28 01:17+0000\n" -"Last-Translator: Claudio Rogerio Carvalho Filho , " -"2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:58+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/windows.rst:5 msgid "MS Windows Specific Services" diff --git a/library/winreg.po b/library/winreg.po index f4dfaed06..9625f9265 100644 --- a/library/winreg.po +++ b/library/winreg.po @@ -1,34 +1,31 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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 -# Welington Carlos , 2021 -# Claudio Rogerio Carvalho Filho , 2021 -# i17obot , 2021 +# python-doc bot, 2025 # #, 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:17+0000\n" -"Last-Translator: i17obot , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:58+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/winreg.rst:2 msgid ":mod:`winreg` --- Windows registry access" -msgstr "" +msgstr ":mod:`winreg` -- Registro de acesso do Windows" #: ../../library/winreg.rst:12 msgid "" @@ -37,12 +34,18 @@ 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 "" "Several functions in this module used to raise a :exc:`WindowsError`, which " "is now an alias of :exc:`OSError`." msgstr "" +"Várias funções neste módulo costumavam levantar um :exc:`WindowsError` , que " +"agora é um apelido de :exc:`OSError`." #: ../../library/winreg.rst:26 msgid "Functions" @@ -50,35 +53,44 @@ 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 @@ -86,71 +98,87 @@ msgid "" "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:177 ../../library/winreg.rst:208 -#: ../../library/winreg.rst:243 ../../library/winreg.rst:334 +#: ../../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:153 -#: ../../library/winreg.rst:185 ../../library/winreg.rst:197 -#: ../../library/winreg.rst:216 ../../library/winreg.rst:265 -#: ../../library/winreg.rst:312 ../../library/winreg.rst:342 -#: ../../library/winreg.rst:368 ../../library/winreg.rst:388 -#: ../../library/winreg.rst:412 ../../library/winreg.rst:437 -#: ../../library/winreg.rst:465 ../../library/winreg.rst:496 -#: ../../library/winreg.rst:513 ../../library/winreg.rst:528 +#: ../../library/winreg.rst:126 ../../library/winreg.rst:147 +#: ../../library/winreg.rst:180 ../../library/winreg.rst:192 +#: ../../library/winreg.rst:211 ../../library/winreg.rst:260 +#: ../../library/winreg.rst:307 ../../library/winreg.rst:337 +#: ../../library/winreg.rst:363 ../../library/winreg.rst:383 +#: ../../library/winreg.rst:407 ../../library/winreg.rst:432 +#: ../../library/winreg.rst:460 ../../library/winreg.rst:491 +#: ../../library/winreg.rst:508 ../../library/winreg.rst:523 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:329 +#: ../../library/winreg.rst:324 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:160 +#: ../../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 "" @@ -158,6 +186,10 @@ msgid "" "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." @@ -169,167 +201,200 @@ 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:166 +#: ../../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:168 +#: ../../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:173 +#: ../../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:148 -msgid "" -"The :func:`DeleteKeyEx` function is implemented with the RegDeleteKeyEx " -"Windows API function, which is specific to 64-bit versions of Windows. See " -"the `RegDeleteKeyEx documentation `__." -msgstr "" - -#: ../../library/winreg.rst:156 +#: ../../library/winreg.rst:150 msgid "" "*sub_key* is a string that must be a subkey of the key identified by the " "*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:162 +#: ../../library/winreg.rst:156 msgid "" "*access* is an integer that specifies an access mask that describes the " -"desired security access for the key. Default is :const:`KEY_WOW64_64KEY`. " -"See :ref:`Access Rights ` for other allowed values." +"desired security access for the key. Default is :const:`KEY_WOW64_64KEY`. " +"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:171 +#: ../../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:183 +#: ../../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:188 +#: ../../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:190 +#: ../../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:195 +#: ../../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:200 +#: ../../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:202 +#: ../../library/winreg.rst:197 msgid "" "The function retrieves the name of one subkey each time it is called. It is " "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:206 +#: ../../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:214 +#: ../../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:219 +#: ../../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:221 +#: ../../library/winreg.rst:216 msgid "" "The function retrieves the name of one subkey each time it is called. It is " "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:225 ../../library/winreg.rst:345 +#: ../../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:228 ../../library/winreg.rst:348 -#: ../../library/winreg.rst:396 +#: ../../library/winreg.rst:223 ../../library/winreg.rst:343 +#: ../../library/winreg.rst:391 msgid "Index" msgstr "Índice" -#: ../../library/winreg.rst:228 ../../library/winreg.rst:348 -#: ../../library/winreg.rst:396 +#: ../../library/winreg.rst:223 ../../library/winreg.rst:343 +#: ../../library/winreg.rst:391 msgid "Meaning" msgstr "Significado" -#: ../../library/winreg.rst:230 ../../library/winreg.rst:350 -#: ../../library/winreg.rst:398 +#: ../../library/winreg.rst:225 ../../library/winreg.rst:345 +#: ../../library/winreg.rst:393 msgid "``0``" msgstr "``0``" -#: ../../library/winreg.rst:230 +#: ../../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:232 ../../library/winreg.rst:353 -#: ../../library/winreg.rst:400 +#: ../../library/winreg.rst:227 ../../library/winreg.rst:348 +#: ../../library/winreg.rst:395 msgid "``1``" msgstr "``1``" -#: ../../library/winreg.rst:232 +#: ../../library/winreg.rst:227 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:236 ../../library/winreg.rst:356 +#: ../../library/winreg.rst:231 ../../library/winreg.rst:351 msgid "``2``" msgstr "``2``" -#: ../../library/winreg.rst:236 +#: ../../library/winreg.rst:231 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:241 +#: ../../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:252 +#: ../../library/winreg.rst:247 msgid "" "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:258 +#: ../../library/winreg.rst:253 msgid "" "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:263 +#: ../../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:268 +#: ../../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. " @@ -339,37 +404,54 @@ msgid "" "`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:277 +#: ../../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:283 +#: ../../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:286 +#: ../../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:289 +#: ../../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:291 +#: ../../library/winreg.rst:286 msgid "" "*file_name* is the name of the file to load registry data from. This file " "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:295 +#: ../../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 " @@ -377,144 +459,179 @@ msgid "" "microsoft.com/en-us/library/ms724889%28v=VS.85%29.aspx>`__ for more details." msgstr "" -#: ../../library/winreg.rst:301 +#: ../../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:304 +#: ../../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:310 +#: ../../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:315 +#: ../../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:317 +#: ../../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:319 +#: ../../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." 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:323 +#: ../../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:325 +#: ../../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:327 +#: ../../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:331 +#: ../../library/winreg.rst:326 msgid "Allow the use of named arguments." -msgstr "" +msgstr "Permite o uso de argumentos nomeados." -#: ../../library/winreg.rst:340 +#: ../../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:350 +#: ../../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:353 +#: ../../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:356 +#: ../../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:361 +#: ../../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:366 +#: ../../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:371 +#: ../../library/winreg.rst:366 msgid "" "*sub_key* is a string that holds the name of the subkey with which the value " "is associated. If this parameter is ``None`` or empty, the function " "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:375 +#: ../../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." 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:380 ../../library/winreg.rst:405 +#: ../../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:385 +#: ../../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:391 +#: ../../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:393 +#: ../../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:398 +#: ../../library/winreg.rst:393 msgid "The value of the registry item." -msgstr "" +msgstr "O valor do item do registro." -#: ../../library/winreg.rst:400 +#: ../../library/winreg.rst:395 msgid "" "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:410 +#: ../../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:415 +#: ../../library/winreg.rst:410 msgid "" "*file_name* is the name of the file to save registry data to. This file " "cannot already exist. If this filename includes an extension, it cannot be " "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:420 +#: ../../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 " @@ -524,399 +641,498 @@ msgid "" "library/ms724878%28v=VS.85%29.aspx>`__ for more details." msgstr "" -#: ../../library/winreg.rst:428 +#: ../../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:430 +#: ../../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:435 +#: ../../library/winreg.rst:430 msgid "Associates a value with a specified key." -msgstr "" +msgstr "Associa um valor a uma chave especificada." -#: ../../library/winreg.rst:440 +#: ../../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:442 +#: ../../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." 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:446 ../../library/winreg.rst:476 +#: ../../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:448 +#: ../../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:451 ../../library/winreg.rst:484 +#: ../../library/winreg.rst:446 ../../library/winreg.rst:479 msgid "" "Value lengths are limited by available memory. Long values (more than 2048 " "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:455 +#: ../../library/winreg.rst:450 msgid "" "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:458 ../../library/winreg.rst:488 +#: ../../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:463 +#: ../../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:468 +#: ../../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:471 +#: ../../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:473 +#: ../../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:478 +#: ../../library/winreg.rst:473 msgid "" "This method can also set additional value and type information for the " "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:482 +#: ../../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:493 +#: ../../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:499 ../../library/winreg.rst:516 -#: ../../library/winreg.rst:533 +#: ../../library/winreg.rst:494 ../../library/winreg.rst:511 +#: ../../library/winreg.rst:528 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:502 +#: ../../library/winreg.rst:497 msgid "" "If the key is not on the reflection list, the function succeeds but has no " "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:506 +#: ../../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:511 +#: ../../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:519 +#: ../../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:521 +#: ../../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:526 +#: ../../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:531 +#: ../../library/winreg.rst:526 msgid "Returns ``True`` if reflection is disabled." -msgstr "" +msgstr "Retorna ``True`` se a reflexão estiver desabilitada." -#: ../../library/winreg.rst:536 +#: ../../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:542 +#: ../../library/winreg.rst:537 msgid "Constants" msgstr "Constantes" -#: ../../library/winreg.rst:544 +#: ../../library/winreg.rst:539 msgid "" "The following constants are defined for use in many :mod:`_winreg` functions." msgstr "" -#: ../../library/winreg.rst:549 +#: ../../library/winreg.rst:544 msgid "HKEY_* Constants" -msgstr "" +msgstr "Constantes HKEY_*" -#: ../../library/winreg.rst:553 +#: ../../library/winreg.rst:548 msgid "" "Registry entries subordinate to this key define types (or classes) of " "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:560 +#: ../../library/winreg.rst:555 msgid "" "Registry entries subordinate to this key define the preferences of the " "current user. These preferences include the settings of environment " "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:567 +#: ../../library/winreg.rst:562 msgid "" "Registry entries subordinate to this key define the physical state of the " "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:573 +#: ../../library/winreg.rst:568 msgid "" "Registry entries subordinate to this key define the default user " "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:579 +#: ../../library/winreg.rst:574 msgid "" "Registry entries subordinate to this key allow you to access performance " "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:587 +#: ../../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:592 +#: ../../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:598 +#: ../../library/winreg.rst:593 msgid "Access Rights" -msgstr "" +msgstr "Direitos de acesso" -#: ../../library/winreg.rst:600 +#: ../../library/winreg.rst:595 msgid "" "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:605 +#: ../../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." 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:612 +#: ../../library/winreg.rst:607 msgid "" "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:617 +#: ../../library/winreg.rst:612 msgid "" "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:622 +#: ../../library/winreg.rst:617 msgid "Equivalent to :const:`KEY_READ`." -msgstr "" +msgstr "Equivalente a :const:`KEY_READ`." -#: ../../library/winreg.rst:626 +#: ../../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:630 +#: ../../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:634 +#: ../../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:638 +#: ../../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:642 +#: ../../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:647 +#: ../../library/winreg.rst:642 msgid "Reserved for system use." -msgstr "" +msgstr "Reservado para uso pelo sistema." -#: ../../library/winreg.rst:653 +#: ../../library/winreg.rst:648 msgid "64-bit Specific" -msgstr "" +msgstr "Específico de 64 bits" -#: ../../library/winreg.rst:655 +#: ../../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:660 +#: ../../library/winreg.rst:655 msgid "" "Indicates that an application on 64-bit Windows should operate on the 64-bit " -"registry view." +"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:665 +#: ../../library/winreg.rst:660 msgid "" "Indicates that an application on 64-bit Windows should operate on the 32-bit " -"registry view." +"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:672 +#: ../../library/winreg.rst:666 msgid "Value Types" -msgstr "" +msgstr "Tipos de valores" -#: ../../library/winreg.rst:674 +#: ../../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:679 +#: ../../library/winreg.rst:673 msgid "Binary data in any form." -msgstr "" +msgstr "Dados binários em qualquer formato." -#: ../../library/winreg.rst:683 +#: ../../library/winreg.rst:677 msgid "32-bit number." msgstr "Número de 32 bits." -#: ../../library/winreg.rst:687 +#: ../../library/winreg.rst:681 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:691 +#: ../../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:695 +#: ../../library/winreg.rst:689 msgid "" -"Null-terminated string containing references to environment variables (``" -"%PATH%``)." +"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:700 +#: ../../library/winreg.rst:694 msgid "A Unicode symbolic link." -msgstr "" +msgstr "Um link simbólico Unicode." -#: ../../library/winreg.rst:704 +#: ../../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:709 +#: ../../library/winreg.rst:703 msgid "No defined value type." -msgstr "" +msgstr "Nenhum tipo de valor definido." -#: ../../library/winreg.rst:713 +#: ../../library/winreg.rst:707 msgid "A 64-bit number." -msgstr "" +msgstr "Um número de 64 bits." -#: ../../library/winreg.rst:719 +#: ../../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:725 +#: ../../library/winreg.rst:719 msgid "A device-driver resource list." -msgstr "" +msgstr "Uma lista de recursos de driver de dispositivo." -#: ../../library/winreg.rst:729 +#: ../../library/winreg.rst:723 msgid "A hardware setting." -msgstr "" +msgstr "Uma configuração de hardware." -#: ../../library/winreg.rst:733 +#: ../../library/winreg.rst:727 msgid "A hardware resource list." -msgstr "" +msgstr "Uma lista de recursos de hardware." -#: ../../library/winreg.rst:737 +#: ../../library/winreg.rst:731 msgid "A null-terminated string." -msgstr "" +msgstr "Uma string terminada em nulo." -#: ../../library/winreg.rst:743 +#: ../../library/winreg.rst:737 msgid "Registry Handle Objects" -msgstr "" +msgstr "Objetos identificador de registro" -#: ../../library/winreg.rst:745 +#: ../../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." 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:749 +#: ../../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:751 +#: ../../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:754 +#: ../../library/winreg.rst:748 msgid "Handle objects provide semantics for :meth:`__bool__` -- thus ::" msgstr "" -#: ../../library/winreg.rst:759 +#: ../../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:762 +#: ../../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:765 +#: ../../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 " @@ -924,47 +1140,65 @@ msgid "" "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:773 +#: ../../library/winreg.rst:767 msgid "Closes the underlying Windows handle." -msgstr "" +msgstr "Fecha o identificador subjacente do Windows." -#: ../../library/winreg.rst:775 +#: ../../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:780 +#: ../../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:782 +#: ../../library/winreg.rst:776 msgid "" "The result is an integer that holds the value of the handle before it is " "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:786 +#: ../../library/winreg.rst:780 msgid "" "After calling this function, the handle is effectively invalidated, but the " "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:790 +#: ../../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:796 +#: ../../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::" 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:803 +#: ../../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`." diff --git a/library/winsound.po b/library/winsound.po index 87bbc5d9b..59cc85c3b 100644 --- a/library/winsound.po +++ b/library/winsound.po @@ -1,29 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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 -# Claudio Rogerio Carvalho Filho , 2021 +# python-doc bot, 2025 # #, 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:17+0000\n" -"Last-Translator: Claudio Rogerio Carvalho Filho , " -"2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:58+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/winsound.rst:2 msgid ":mod:`winsound` --- Sound-playing interface for Windows" @@ -80,6 +78,8 @@ msgid "" "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 "" @@ -88,20 +88,27 @@ msgid "" "`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'``" @@ -109,7 +116,7 @@ msgstr "``'SystemAsterisk'``" #: ../../library/winsound.rst:66 msgid "Asterisk" -msgstr "" +msgstr "Asterisco" #: ../../library/winsound.rst:68 msgid "``'SystemExclamation'``" @@ -117,7 +124,7 @@ msgstr "``'SystemExclamation'``" #: ../../library/winsound.rst:68 msgid "Exclamation" -msgstr "" +msgstr "Exclamação" #: ../../library/winsound.rst:70 msgid "``'SystemExit'``" @@ -125,7 +132,7 @@ msgstr "``'SystemExit'``" #: ../../library/winsound.rst:70 msgid "Exit Windows" -msgstr "" +msgstr "Logoff do Windows" #: ../../library/winsound.rst:72 msgid "``'SystemHand'``" @@ -133,7 +140,7 @@ msgstr "``'SystemHand'``" #: ../../library/winsound.rst:72 msgid "Critical Stop" -msgstr "" +msgstr "Parada crítica" #: ../../library/winsound.rst:74 msgid "``'SystemQuestion'``" @@ -141,7 +148,7 @@ msgstr "``'SystemQuestion'``" #: ../../library/winsound.rst:74 msgid "Question" -msgstr "" +msgstr "Pergunta" #: ../../library/winsound.rst:77 msgid "For example::" @@ -152,12 +159,16 @@ 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 "" @@ -165,44 +176,51 @@ msgid "" "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 1b3c6f046..55d5e7d76 100644 --- a/library/wsgiref.po +++ b/library/wsgiref.po @@ -1,49 +1,68 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, Python Software 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 +# python-doc bot, 2025 # #, 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:17+0000\n" -"Last-Translator: i17obot , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2026-02-07 17:18+0000\n" +"PO-Revision-Date: 2025-09-22 15:58+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/wsgiref.rst:2 msgid ":mod:`wsgiref` --- WSGI Utilities and Reference Implementation" +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:12 +#: ../../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 " "interface makes it easy to use an application that supports WSGI with a " "number of different web servers." msgstr "" +"A Interface de Gateway para Servidor Web (em inglês, Web Server Gateway " +"Interface - WSGI) é uma interface padrão localizada entre software de " +"servidores web e aplicações web escritas em Python. Ter um interface padrão " +"torna mais fácil a utilização de uma aplicação que suporta WSGI com inúmeros " +"diferentes servidores web." -#: ../../library/wsgiref.rst:17 +#: ../../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 " "every detail of WSGI just to install a WSGI application or to write a web " "application using an existing framework." msgstr "" +"Apenas autores de servidores web e frameworks de programação necessitam " +"saber todos os detalhes e especificidades do design WSGI. Você não precisa " +"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:22 +#: ../../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 " @@ -52,18 +71,27 @@ msgid "" "WSGI applications, and a validation tool 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 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:29 +#: ../../library/wsgiref.rst:36 msgid "" "See `wsgi.readthedocs.io `_ for more " "information about WSGI, and links to tutorials and other resources." msgstr "" +"Veja `wsgi.readthedocs.io `_ para mais " +"informações sobre WSGI, além de links para tutoriais e outros recursos." -#: ../../library/wsgiref.rst:36 +#: ../../library/wsgiref.rst:43 msgid ":mod:`wsgiref.util` -- WSGI environment utilities" -msgstr "" +msgstr ":mod:`wsgiref.util` -- Utilidades do ambiente WSGI" -#: ../../library/wsgiref.rst:42 +#: ../../library/wsgiref.rst:49 msgid "" "This module provides a variety of utility functions for working with WSGI " "environments. A WSGI environment is a dictionary containing HTTP request " @@ -72,14 +100,17 @@ msgid "" "please see :pep:`3333` for a detailed specification." msgstr "" -#: ../../library/wsgiref.rst:51 +#: ../../library/wsgiref.rst:58 msgid "" -"Return a guess for whether ``wsgi.url_scheme`` should be \"http\" or \"https" -"\", by checking for a ``HTTPS`` environment variable in the *environ* " +"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 variável de ambiente ``HTTPS`` dentro do dicionário " +"*environ*. O valor de retorno é uma string." -#: ../../library/wsgiref.rst:55 +#: ../../library/wsgiref.rst:62 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 " @@ -87,36 +118,53 @@ 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:64 +#: ../../library/wsgiref.rst:71 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:71 +#: ../../library/wsgiref.rst:78 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:78 +#: ../../library/wsgiref.rst:85 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:82 +#: ../../library/wsgiref.rst:89 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:84 +#: ../../library/wsgiref.rst:91 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 " @@ -129,8 +177,18 @@ msgid "" "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:95 +#: ../../library/wsgiref.rst:102 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 " @@ -139,12 +197,18 @@ 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:105 +#: ../../library/wsgiref.rst:112 msgid "Update *environ* with trivial defaults for testing purposes." -msgstr "" +msgstr "Atualiza *environ* com padrões triviais para fins de teste." -#: ../../library/wsgiref.rst:107 +#: ../../library/wsgiref.rst:114 msgid "" "This routine adds various parameters required for WSGI, including " "``HTTP_HOST``, ``SERVER_NAME``, ``SERVER_PORT``, ``REQUEST_METHOD``, " @@ -152,32 +216,44 @@ msgid "" "*`` 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:113 +#: ../../library/wsgiref.rst:120 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:117 ../../library/wsgiref.rst:164 -#: ../../library/wsgiref.rst:286 ../../library/wsgiref.rst:418 +#: ../../library/wsgiref.rst:124 ../../library/wsgiref.rst:171 +#: ../../library/wsgiref.rst:293 ../../library/wsgiref.rst:425 msgid "Example usage::" msgstr "Exemplo de uso::" -#: ../../library/wsgiref.rst:141 +#: ../../library/wsgiref.rst:148 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:147 +#: ../../library/wsgiref.rst:154 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:153 +#: ../../library/wsgiref.rst:160 msgid "" "A wrapper to convert a file-like object to an :term:`iterator`. The " "resulting objects support both :meth:`__getitem__` and :meth:`__iter__` " @@ -188,35 +264,44 @@ msgid "" "and is not resumable." msgstr "" -#: ../../library/wsgiref.rst:160 +#: ../../library/wsgiref.rst:167 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 "" +"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:176 +#: ../../library/wsgiref.rst:183 msgid "Support for :meth:`sequence protocol <__getitem__>` is deprecated." msgstr "" -#: ../../library/wsgiref.rst:181 +#: ../../library/wsgiref.rst:188 msgid ":mod:`wsgiref.headers` -- WSGI response header tools" -msgstr "" +msgstr ":mod:`wsgiref.headers` -- Ferramentas de cabeçalho de resposta WSGI" -#: ../../library/wsgiref.rst:187 +#: ../../library/wsgiref.rst:194 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:193 +#: ../../library/wsgiref.rst:200 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 "" +"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:197 +#: ../../library/wsgiref.rst:204 msgid "" ":class:`Headers` objects support typical mapping operations including :meth:" "`__getitem__`, :meth:`get`, :meth:`__setitem__`, :meth:`setdefault`, :meth:" @@ -228,15 +313,19 @@ msgid "" "new headers added to the end of the wrapped list." msgstr "" -#: ../../library/wsgiref.rst:206 +#: ../../library/wsgiref.rst:213 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:211 +#: ../../library/wsgiref.rst:218 msgid "" ":class:`Headers` objects also support :meth:`keys`, :meth:`values`, and :" "meth:`items` methods. The lists returned by :meth:`keys` and :meth:`items` " @@ -246,8 +335,15 @@ msgid "" "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:218 +#: ../../library/wsgiref.rst:225 msgid "" "Calling ``bytes()`` on a :class:`Headers` object returns a formatted " "bytestring suitable for transmission as HTTP response headers. Each header " @@ -255,33 +351,48 @@ 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:224 +#: ../../library/wsgiref.rst:231 msgid "" "In addition to their mapping interface and formatting features, :class:" "`Headers` objects also have the following methods for querying and adding " "multi-valued headers, and for adding headers with MIME parameters:" msgstr "" +"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:231 +#: ../../library/wsgiref.rst:238 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:233 +#: ../../library/wsgiref.rst:240 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:241 +#: ../../library/wsgiref.rst:248 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:244 +#: ../../library/wsgiref.rst:251 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 " @@ -292,20 +403,29 @@ msgid "" "only the parameter name is added. (This is used for MIME parameters without " "a value.) Example usage::" msgstr "" - -#: ../../library/wsgiref.rst:254 +"*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:261 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:259 +#: ../../library/wsgiref.rst:266 msgid "*headers* parameter is optional." -msgstr "" +msgstr "o parâmetro *headers* é opcional." -#: ../../library/wsgiref.rst:264 +#: ../../library/wsgiref.rst:271 msgid ":mod:`wsgiref.simple_server` -- a simple WSGI HTTP server" -msgstr "" +msgstr ":mod:`wsgiref.simple_server` -- um servidor HTTP WSGI simples" -#: ../../library/wsgiref.rst:270 +#: ../../library/wsgiref.rst:277 msgid "" "This module implements a simple HTTP server (based on :mod:`http.server`) " "that serves WSGI applications. Each server instance serves a single WSGI " @@ -315,8 +435,15 @@ msgid "" "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:281 +#: ../../library/wsgiref.rst:288 msgid "" "Create a new WSGI server listening on *host* and *port*, accepting " "connections for *app*. The return value is an instance of the supplied " @@ -324,8 +451,12 @@ msgid "" "*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:302 +#: ../../library/wsgiref.rst:309 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 " @@ -333,52 +464,75 @@ 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:311 +#: ../../library/wsgiref.rst:318 msgid "" "Create a :class:`WSGIServer` instance. *server_address* should be a ``(host," "port)`` tuple, and *RequestHandlerClass* should be the subclass of :class:" "`http.server.BaseHTTPRequestHandler` that will be used to process requests." msgstr "" +"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:316 +#: ../../library/wsgiref.rst:323 msgid "" "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:319 +#: ../../library/wsgiref.rst:326 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:326 +#: ../../library/wsgiref.rst:333 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:332 -msgid "Returns the currently-set application callable." -msgstr "" +#: ../../library/wsgiref.rst:339 +msgid "Returns the currently set application callable." +msgstr "Retorna o chamável da aplicação definido atualmente." -#: ../../library/wsgiref.rst:334 +#: ../../library/wsgiref.rst:341 msgid "" "Normally, however, you do not need to use these additional methods, as :meth:" "`set_app` is normally called by :func:`make_server`, and the :meth:`get_app` " "exists mainly for the benefit of request handler instances." msgstr "" +"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:341 +#: ../../library/wsgiref.rst:348 msgid "" "Create an HTTP handler for the given *request* (i.e. a socket), " "*client_address* (a ``(host,port)`` tuple), and *server* (:class:" "`WSGIServer` instance)." msgstr "" +"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:344 +#: ../../library/wsgiref.rst:351 msgid "" "You do not need to create instances of this class directly; they are " "automatically created as needed by :class:`WSGIServer` objects. You can, " @@ -386,8 +540,13 @@ msgid "" "`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:353 +#: ../../library/wsgiref.rst:360 msgid "" "Returns a dictionary containing the WSGI environment for a request. The " "default implementation copies the contents of the :class:`WSGIServer` " @@ -397,24 +556,29 @@ msgid "" "variables as specified in :pep:`3333`." msgstr "" -#: ../../library/wsgiref.rst:363 +#: ../../library/wsgiref.rst:370 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:369 +#: ../../library/wsgiref.rst:376 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:375 +#: ../../library/wsgiref.rst:382 msgid ":mod:`wsgiref.validate` --- WSGI conformance checker" -msgstr "" +msgstr ":mod:`wsgiref.validate` --- Verificador de conformidade WSGI" -#: ../../library/wsgiref.rst:381 +#: ../../library/wsgiref.rst:388 msgid "" "When creating new WSGI application objects, frameworks, servers, or " "middleware, it can be useful to validate the new code's conformance using :" @@ -423,8 +587,14 @@ msgid "" "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:388 +#: ../../library/wsgiref.rst:395 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 " @@ -432,22 +602,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:393 +#: ../../library/wsgiref.rst:400 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:399 +#: ../../library/wsgiref.rst:406 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:404 +#: ../../library/wsgiref.rst:411 msgid "" "Any detected nonconformance results in an :exc:`AssertionError` being " "raised; note, however, that how these errors are handled is server-" @@ -457,8 +638,15 @@ 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:411 +#: ../../library/wsgiref.rst:418 msgid "" "This wrapper may also generate output using the :mod:`warnings` module to " "indicate behaviors that are questionable but which may not actually be " @@ -467,50 +655,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:443 +#: ../../library/wsgiref.rst:450 msgid ":mod:`wsgiref.handlers` -- server/gateway base classes" -msgstr "" +msgstr ":mod:`wsgiref.handlers` -- classes base de servidor/gateway" -#: ../../library/wsgiref.rst:449 +#: ../../library/wsgiref.rst:456 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:457 +#: ../../library/wsgiref.rst:464 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:462 +#: ../../library/wsgiref.rst:469 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." 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:470 +#: ../../library/wsgiref.rst:477 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:474 +#: ../../library/wsgiref.rst:481 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:478 +#: ../../library/wsgiref.rst:485 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 " @@ -520,16 +733,28 @@ 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:486 +#: ../../library/wsgiref.rst:493 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." 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:496 +#: ../../library/wsgiref.rst:503 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. " @@ -538,7 +763,7 @@ msgid "" "the handler instance." msgstr "" -#: ../../library/wsgiref.rst:502 +#: ../../library/wsgiref.rst:509 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 " @@ -547,14 +772,14 @@ msgid "" "this instead of :class:`SimpleHandler`." msgstr "" -#: ../../library/wsgiref.rst:511 +#: ../../library/wsgiref.rst:518 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:515 +#: ../../library/wsgiref.rst:522 msgid "" "This class is a subclass of :class:`BaseHandler`. It overrides the :meth:" "`__init__`, :meth:`get_stdin`, :meth:`get_stderr`, :meth:`add_cgi_vars`, :" @@ -564,41 +789,41 @@ msgid "" "and :attr:`environ` attributes." msgstr "" -#: ../../library/wsgiref.rst:522 +#: ../../library/wsgiref.rst:529 msgid "" "The :meth:`~io.BufferedIOBase.write` method of *stdout* should write each " "chunk in full, like :class:`io.BufferedIOBase`." msgstr "" -#: ../../library/wsgiref.rst:528 +#: ../../library/wsgiref.rst:535 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:532 +#: ../../library/wsgiref.rst:539 msgid "" ":class:`BaseHandler` instances have only one method intended for external " "use:" msgstr "" -#: ../../library/wsgiref.rst:537 +#: ../../library/wsgiref.rst:544 msgid "Run the specified WSGI application, *app*." msgstr "" -#: ../../library/wsgiref.rst:539 +#: ../../library/wsgiref.rst:546 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:543 +#: ../../library/wsgiref.rst:550 msgid "The following methods MUST be overridden in a subclass:" msgstr "" -#: ../../library/wsgiref.rst:548 +#: ../../library/wsgiref.rst:555 msgid "" "Buffer the bytes *data* for transmission to the client. It's okay if this " "method actually transmits the data; :class:`BaseHandler` just separates " @@ -606,31 +831,31 @@ msgid "" "actually has such a distinction." msgstr "" -#: ../../library/wsgiref.rst:556 +#: ../../library/wsgiref.rst:563 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:562 +#: ../../library/wsgiref.rst:569 msgid "" "Return an input stream object suitable for use as the ``wsgi.input`` of the " "request currently being processed." msgstr "" -#: ../../library/wsgiref.rst:568 +#: ../../library/wsgiref.rst:575 msgid "" "Return an output stream object suitable for use as the ``wsgi.errors`` of " "the request currently being processed." msgstr "" -#: ../../library/wsgiref.rst:574 +#: ../../library/wsgiref.rst:581 msgid "" "Insert CGI variables for the current request into the :attr:`environ` " "attribute." msgstr "" -#: ../../library/wsgiref.rst:576 +#: ../../library/wsgiref.rst:583 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 " @@ -639,32 +864,32 @@ msgid "" "`BaseHandler` subclass." msgstr "" -#: ../../library/wsgiref.rst:582 +#: ../../library/wsgiref.rst:589 msgid "Attributes and methods for customizing the WSGI environment:" msgstr "" -#: ../../library/wsgiref.rst:587 +#: ../../library/wsgiref.rst:594 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:594 +#: ../../library/wsgiref.rst:601 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:601 +#: ../../library/wsgiref.rst:608 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:608 +#: ../../library/wsgiref.rst:615 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 :" @@ -674,7 +899,7 @@ msgid "" "classes and instances." msgstr "" -#: ../../library/wsgiref.rst:618 +#: ../../library/wsgiref.rst:625 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 " @@ -683,13 +908,15 @@ msgid "" "are not HTTP origin servers." msgstr "" -#: ../../library/wsgiref.rst:624 +#: ../../library/wsgiref.rst:631 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:630 +#: ../../library/wsgiref.rst:637 msgid "" "Return the URL scheme being used for the current request. The default " "implementation uses the :func:`guess_scheme` function from :mod:`wsgiref." @@ -697,9 +924,9 @@ msgid "" "the current request's :attr:`environ` variables." msgstr "" -#: ../../library/wsgiref.rst:638 +#: ../../library/wsgiref.rst:645 msgid "" -"Set the :attr:`environ` attribute to a fully-populated WSGI environment. " +"Set the :attr:`environ` attribute to a fully populated WSGI environment. " "The default implementation uses all of the above methods and attributes, " "plus the :meth:`get_stdin`, :meth:`get_stderr`, and :meth:`add_cgi_vars` " "methods and the :attr:`wsgi_file_wrapper` attribute. It also inserts a " @@ -707,11 +934,11 @@ msgid "" "attribute is a true value and the :attr:`server_software` attribute is set." msgstr "" -#: ../../library/wsgiref.rst:645 +#: ../../library/wsgiref.rst:652 msgid "Methods and attributes for customizing exception handling:" msgstr "" -#: ../../library/wsgiref.rst:650 +#: ../../library/wsgiref.rst:657 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 " @@ -721,33 +948,33 @@ msgid "" "suitable." msgstr "" -#: ../../library/wsgiref.rst:659 +#: ../../library/wsgiref.rst:666 msgid "" "The maximum number of frames to include in tracebacks output by the default :" "meth:`log_exception` method. If ``None``, all frames are included." msgstr "" -#: ../../library/wsgiref.rst:665 +#: ../../library/wsgiref.rst:672 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:668 +#: ../../library/wsgiref.rst:675 msgid "" "This method can access the current error information using ``sys." "exc_info()``, 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:672 +#: ../../library/wsgiref.rst:679 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." msgstr "" -#: ../../library/wsgiref.rst:676 +#: ../../library/wsgiref.rst:683 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 " @@ -755,39 +982,39 @@ msgid "" "doesn't include any." msgstr "" -#: ../../library/wsgiref.rst:684 +#: ../../library/wsgiref.rst:691 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:690 +#: ../../library/wsgiref.rst:697 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:697 +#: ../../library/wsgiref.rst:704 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:701 +#: ../../library/wsgiref.rst:708 msgid "" "Methods and attributes for :pep:`3333`'s \"Optional Platform-Specific File " "Handling\" feature:" msgstr "" -#: ../../library/wsgiref.rst:707 +#: ../../library/wsgiref.rst:714 msgid "" "A ``wsgi.file_wrapper`` factory, or ``None``. The default value of this " "attribute is the :class:`wsgiref.util.FileWrapper` class." msgstr "" -#: ../../library/wsgiref.rst:713 +#: ../../library/wsgiref.rst:720 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 " @@ -797,11 +1024,11 @@ msgid "" "of this method just returns a false value." msgstr "" -#: ../../library/wsgiref.rst:720 +#: ../../library/wsgiref.rst:727 msgid "Miscellaneous methods and attributes:" msgstr "" -#: ../../library/wsgiref.rst:725 +#: ../../library/wsgiref.rst:732 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, " @@ -809,46 +1036,46 @@ msgid "" "special ``Status:`` header." msgstr "" -#: ../../library/wsgiref.rst:730 +#: ../../library/wsgiref.rst:737 msgid "" "This attribute's default value is true in :class:`BaseHandler`, but false " "in :class:`BaseCGIHandler` and :class:`CGIHandler`." msgstr "" -#: ../../library/wsgiref.rst:736 +#: ../../library/wsgiref.rst:743 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:742 +#: ../../library/wsgiref.rst:749 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 ``os." -"environ``, which is not necessarily WSGI-compliant on all platforms and web " -"servers using Python 3 -- specifically, ones where the OS's actual " +"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 " +"``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 " "bytes, but the system encoding used by Python to decode it is anything other " "than ISO-8859-1 (e.g. Unix systems using UTF-8)." msgstr "" -#: ../../library/wsgiref.rst:751 +#: ../../library/wsgiref.rst:758 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:759 +#: ../../library/wsgiref.rst:766 msgid "Examples" msgstr "Exemplos" -#: ../../library/wsgiref.rst:761 +#: ../../library/wsgiref.rst:768 msgid "This is a working \"Hello World\" WSGI application::" msgstr "" -#: ../../library/wsgiref.rst:786 +#: ../../library/wsgiref.rst:793 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 229e11ef1..3edfaacfc 100644 --- a/library/xdrlib.po +++ b/library/xdrlib.po @@ -1,98 +1,103 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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 -# Leticia Portella , 2021 -# i17obot , 2021 +# python-doc bot, 2025 # #, 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:17+0000\n" -"Last-Translator: i17obot , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:58+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/xdrlib.rst:2 msgid ":mod:`xdrlib` --- Encode and decode XDR data" msgstr "" -#: ../../library/xdrlib.rst:7 +#: ../../library/xdrlib.rst:8 msgid "**Source code:** :source:`Lib/xdrlib.py`" msgstr "**Código-fonte:** :source:`Lib/xdrlib.py`" -#: ../../library/xdrlib.rst:15 +#: ../../library/xdrlib.rst:14 +msgid "" +"The :mod:`xdrlib` module is deprecated (see :pep:`PEP 594 <594#xdrlib>` for " +"details)." +msgstr "" + +#: ../../library/xdrlib.rst:20 msgid "" "The :mod:`xdrlib` module supports the External Data Representation Standard " "as described in :rfc:`1014`, written by Sun Microsystems, Inc. June 1987. " "It supports most of the data types described in the RFC." msgstr "" -#: ../../library/xdrlib.rst:19 +#: ../../library/xdrlib.rst:24 msgid "" "The :mod:`xdrlib` module defines two classes, one for packing variables into " "XDR representation, and another for unpacking from XDR representation. " "There are also two exception classes." msgstr "" -#: ../../library/xdrlib.rst:26 +#: ../../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." msgstr "" -#: ../../library/xdrlib.rst:32 +#: ../../library/xdrlib.rst:37 msgid "" "``Unpacker`` is the complementary class which unpacks XDR data values from a " "string buffer. The input buffer is given as *data*." msgstr "" -#: ../../library/xdrlib.rst:40 +#: ../../library/xdrlib.rst:45 msgid ":rfc:`1014` - XDR: External Data Representation Standard" msgstr "" -#: ../../library/xdrlib.rst:39 +#: ../../library/xdrlib.rst:44 msgid "" "This RFC defined the encoding of data which was XDR at the time this module " "was originally written. It has apparently been obsoleted by :rfc:`1832`." msgstr "" -#: ../../library/xdrlib.rst:42 +#: ../../library/xdrlib.rst:47 msgid ":rfc:`1832` - XDR: External Data Representation Standard" msgstr "" -#: ../../library/xdrlib.rst:43 +#: ../../library/xdrlib.rst:48 msgid "Newer RFC that provides a revised definition of XDR." msgstr "" -#: ../../library/xdrlib.rst:49 +#: ../../library/xdrlib.rst:54 msgid "Packer Objects" msgstr "Objetos Packer" -#: ../../library/xdrlib.rst:51 +#: ../../library/xdrlib.rst:56 msgid ":class:`Packer` instances have the following methods:" msgstr "" -#: ../../library/xdrlib.rst:56 +#: ../../library/xdrlib.rst:61 msgid "Returns the current pack buffer as a string." msgstr "" -#: ../../library/xdrlib.rst:61 +#: ../../library/xdrlib.rst:66 msgid "Resets the pack buffer to the empty string." msgstr "" -#: ../../library/xdrlib.rst:63 +#: ../../library/xdrlib.rst:68 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 " @@ -101,51 +106,51 @@ msgid "" "`pack_bool`, :meth:`pack_uhyper`, and :meth:`pack_hyper`." msgstr "" -#: ../../library/xdrlib.rst:72 +#: ../../library/xdrlib.rst:77 msgid "Packs the single-precision floating point number *value*." msgstr "" -#: ../../library/xdrlib.rst:77 +#: ../../library/xdrlib.rst:82 msgid "Packs the double-precision floating point number *value*." msgstr "" -#: ../../library/xdrlib.rst:79 +#: ../../library/xdrlib.rst:84 msgid "The following methods support packing strings, bytes, and opaque data:" msgstr "" -#: ../../library/xdrlib.rst:84 +#: ../../library/xdrlib.rst:89 msgid "" "Packs a fixed length string, *s*. *n* is the length of the string but it is " "*not* packed into the data buffer. The string is padded with null bytes if " "necessary to guaranteed 4 byte alignment." msgstr "" -#: ../../library/xdrlib.rst:91 +#: ../../library/xdrlib.rst:96 msgid "" "Packs a fixed length opaque data stream, similarly to :meth:`pack_fstring`." msgstr "" -#: ../../library/xdrlib.rst:96 +#: ../../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`." msgstr "" -#: ../../library/xdrlib.rst:103 +#: ../../library/xdrlib.rst:108 msgid "" "Packs a variable length opaque data string, similarly to :meth:`pack_string`." msgstr "" -#: ../../library/xdrlib.rst:108 +#: ../../library/xdrlib.rst:113 msgid "Packs a variable length byte stream, similarly to :meth:`pack_string`." msgstr "" -#: ../../library/xdrlib.rst:110 +#: ../../library/xdrlib.rst:115 msgid "The following methods support packing arrays and lists:" msgstr "" -#: ../../library/xdrlib.rst:115 +#: ../../library/xdrlib.rst:120 msgid "" "Packs a *list* of homogeneous items. This method is useful for lists with " "an indeterminate size; i.e. the size is not available until the entire list " @@ -155,12 +160,12 @@ msgid "" "list, an unsigned integer ``0`` is packed." msgstr "" -#: ../../library/xdrlib.rst:122 +#: ../../library/xdrlib.rst:127 msgid "" "For example, to pack a list of integers, the code might appear like this::" msgstr "" -#: ../../library/xdrlib.rst:131 +#: ../../library/xdrlib.rst:136 msgid "" "Packs a fixed length list (*array*) of homogeneous items. *n* is the length " "of the list; it is *not* packed into the buffer, but a :exc:`ValueError` " @@ -168,103 +173,103 @@ msgid "" "*pack_item* is the function used to pack each element." msgstr "" -#: ../../library/xdrlib.rst:139 +#: ../../library/xdrlib.rst:144 msgid "" "Packs a variable length *list* of homogeneous items. First, the length of " "the list is packed as an unsigned integer, then each element is packed as " "in :meth:`pack_farray` above." msgstr "" -#: ../../library/xdrlib.rst:147 +#: ../../library/xdrlib.rst:152 msgid "Unpacker Objects" msgstr "Objetos Unpacker" -#: ../../library/xdrlib.rst:149 +#: ../../library/xdrlib.rst:154 msgid "The :class:`Unpacker` class offers the following methods:" msgstr "" -#: ../../library/xdrlib.rst:154 +#: ../../library/xdrlib.rst:159 msgid "Resets the string buffer with the given *data*." msgstr "" -#: ../../library/xdrlib.rst:159 +#: ../../library/xdrlib.rst:164 msgid "Returns the current unpack position in the data buffer." msgstr "" -#: ../../library/xdrlib.rst:164 +#: ../../library/xdrlib.rst:169 msgid "" "Sets the data buffer unpack position to *position*. You should be careful " "about using :meth:`get_position` and :meth:`set_position`." msgstr "" -#: ../../library/xdrlib.rst:170 +#: ../../library/xdrlib.rst:175 msgid "Returns the current unpack data buffer as a string." msgstr "" -#: ../../library/xdrlib.rst:175 +#: ../../library/xdrlib.rst:180 msgid "" "Indicates unpack completion. Raises an :exc:`Error` exception if all of the " "data has not been unpacked." msgstr "" -#: ../../library/xdrlib.rst:178 +#: ../../library/xdrlib.rst:183 msgid "" "In addition, every data type that can be packed with a :class:`Packer`, can " "be unpacked with an :class:`Unpacker`. Unpacking methods are of the form " "``unpack_type()``, and take no arguments. They return the unpacked object." msgstr "" -#: ../../library/xdrlib.rst:185 +#: ../../library/xdrlib.rst:190 msgid "Unpacks a single-precision floating point number." msgstr "" -#: ../../library/xdrlib.rst:190 +#: ../../library/xdrlib.rst:195 msgid "" "Unpacks a double-precision floating point number, similarly to :meth:" "`unpack_float`." msgstr "" -#: ../../library/xdrlib.rst:193 +#: ../../library/xdrlib.rst:198 msgid "" "In addition, the following methods unpack strings, bytes, and opaque data:" msgstr "" -#: ../../library/xdrlib.rst:198 +#: ../../library/xdrlib.rst:203 msgid "" "Unpacks and returns a fixed length string. *n* is the number of characters " "expected. Padding with null bytes to guaranteed 4 byte alignment is assumed." msgstr "" -#: ../../library/xdrlib.rst:204 +#: ../../library/xdrlib.rst:209 msgid "" "Unpacks and returns a fixed length opaque data stream, similarly to :meth:" "`unpack_fstring`." msgstr "" -#: ../../library/xdrlib.rst:210 +#: ../../library/xdrlib.rst:215 msgid "" "Unpacks and returns a variable length string. The length of the string is " "first unpacked as an unsigned integer, then the string data is unpacked " "with :meth:`unpack_fstring`." msgstr "" -#: ../../library/xdrlib.rst:217 +#: ../../library/xdrlib.rst:222 msgid "" "Unpacks and returns a variable length opaque data string, similarly to :meth:" "`unpack_string`." msgstr "" -#: ../../library/xdrlib.rst:223 +#: ../../library/xdrlib.rst:228 msgid "" "Unpacks and returns a variable length byte stream, similarly to :meth:" "`unpack_string`." msgstr "" -#: ../../library/xdrlib.rst:226 +#: ../../library/xdrlib.rst:231 msgid "The following methods support unpacking arrays and lists:" msgstr "" -#: ../../library/xdrlib.rst:231 +#: ../../library/xdrlib.rst:236 msgid "" "Unpacks and returns a list of homogeneous items. The list is unpacked one " "element at a time by first unpacking an unsigned integer flag. If the flag " @@ -273,39 +278,39 @@ msgid "" "called to unpack the items." msgstr "" -#: ../../library/xdrlib.rst:240 +#: ../../library/xdrlib.rst:245 msgid "" "Unpacks and returns (as a list) a fixed length array of homogeneous items. " "*n* is number of list elements to expect in the buffer. As above, " "*unpack_item* is the function used to unpack each element." msgstr "" -#: ../../library/xdrlib.rst:247 +#: ../../library/xdrlib.rst:252 msgid "" "Unpacks and returns a variable length *list* of homogeneous items. First, " "the length of the list is unpacked as an unsigned integer, then each element " "is unpacked as in :meth:`unpack_farray` above." msgstr "" -#: ../../library/xdrlib.rst:255 +#: ../../library/xdrlib.rst:260 msgid "Exceptions" msgstr "Exceções" -#: ../../library/xdrlib.rst:257 +#: ../../library/xdrlib.rst:262 msgid "Exceptions in this module are coded as class instances:" msgstr "" -#: ../../library/xdrlib.rst:262 +#: ../../library/xdrlib.rst:267 msgid "" "The base exception class. :exc:`Error` has a single public attribute :attr:" "`msg` containing the description of the error." msgstr "" -#: ../../library/xdrlib.rst:268 +#: ../../library/xdrlib.rst:273 msgid "" "Class derived from :exc:`Error`. Contains no additional instance variables." msgstr "" -#: ../../library/xdrlib.rst:270 +#: ../../library/xdrlib.rst:275 msgid "Here is an example of how you would catch one of these exceptions::" msgstr "" diff --git a/library/xml.dom.minidom.po b/library/xml.dom.minidom.po index e8b16cac6..ad88ab790 100644 --- a/library/xml.dom.minidom.po +++ b/library/xml.dom.minidom.po @@ -1,28 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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 -# i17obot , 2021 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.10\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-08-05 13:13+0000\n" -"PO-Revision-Date: 2021-06-28 01:18+0000\n" -"Last-Translator: i17obot , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:58+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/xml.dom.minidom.rst:2 msgid ":mod:`xml.dom.minidom` --- Minimal DOM implementation" @@ -73,6 +72,7 @@ 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 "" @@ -121,7 +121,7 @@ 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 are essentially useless. " +"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 "" @@ -184,8 +184,8 @@ msgstr "" msgid "" "Similarly, explicitly stating the *standalone* argument causes the " "standalone document declarations to be added to the prologue of the XML " -"document. If the value is set to `True`, `standalone=\"yes\"` is added, " -"otherwise it is set to `\"no\"`. Not stating the argument will omit the " +"document. If the value is set to ``True``, ``standalone=\"yes\"`` is added, " +"otherwise it is set to ``\"no\"``. Not stating the argument will omit the " "declaration from the document." msgstr "" @@ -195,13 +195,18 @@ msgid "" "the user." msgstr "" -#: ../../library/xml.dom.minidom.rst:161 +#: ../../library/xml.dom.minidom.rst:159 ../../library/xml.dom.minidom.rst:180 +#: ../../library/xml.dom.minidom.rst:199 +msgid "The *standalone* parameter was added." +msgstr "" + +#: ../../library/xml.dom.minidom.rst:164 msgid "" "Return a string or byte string containing the XML represented by the DOM " "node." msgstr "" -#: ../../library/xml.dom.minidom.rst:164 +#: ../../library/xml.dom.minidom.rst:167 msgid "" "With an explicit *encoding* [1]_ argument, the result is a byte string in " "the specified encoding. With no *encoding* argument, the result is a Unicode " @@ -210,63 +215,63 @@ msgid "" "incorrect, since UTF-8 is the default encoding of XML." msgstr "" -#: ../../library/xml.dom.minidom.rst:171 ../../library/xml.dom.minidom.rst:187 +#: ../../library/xml.dom.minidom.rst:174 ../../library/xml.dom.minidom.rst:193 msgid "The *standalone* argument behaves exactly as in :meth:`writexml`." msgstr "" -#: ../../library/xml.dom.minidom.rst:173 +#: ../../library/xml.dom.minidom.rst:176 msgid "" "The :meth:`toxml` method now preserves the attribute order specified by the " "user." msgstr "" -#: ../../library/xml.dom.minidom.rst:180 +#: ../../library/xml.dom.minidom.rst:186 msgid "" "Return a pretty-printed version of the document. *indent* specifies the " "indentation string and defaults to a tabulator; *newl* specifies the string " "emitted at the end of each line and defaults to ``\\n``." msgstr "" -#: ../../library/xml.dom.minidom.rst:184 +#: ../../library/xml.dom.minidom.rst:190 msgid "" "The *encoding* argument behaves like the corresponding argument of :meth:" "`toxml`." msgstr "" -#: ../../library/xml.dom.minidom.rst:189 +#: ../../library/xml.dom.minidom.rst:195 msgid "" "The :meth:`toprettyxml` method now preserves the attribute order specified " "by the user." msgstr "" -#: ../../library/xml.dom.minidom.rst:197 +#: ../../library/xml.dom.minidom.rst:205 msgid "DOM Example" msgstr "" -#: ../../library/xml.dom.minidom.rst:199 +#: ../../library/xml.dom.minidom.rst:207 msgid "" "This example program is a fairly realistic example of a simple program. In " "this particular case, we do not take much advantage of the flexibility of " "the DOM." msgstr "" -#: ../../library/xml.dom.minidom.rst:208 +#: ../../library/xml.dom.minidom.rst:216 msgid "minidom and the DOM standard" msgstr "minidom e o padrão DOM" -#: ../../library/xml.dom.minidom.rst:210 +#: ../../library/xml.dom.minidom.rst:218 msgid "" "The :mod:`xml.dom.minidom` module is essentially a DOM 1.0-compatible DOM " "with some DOM 2 features (primarily namespace features)." msgstr "" -#: ../../library/xml.dom.minidom.rst:213 +#: ../../library/xml.dom.minidom.rst:221 msgid "" "Usage of the DOM interface in Python is straight-forward. The following " "mapping rules apply:" msgstr "" -#: ../../library/xml.dom.minidom.rst:216 +#: ../../library/xml.dom.minidom.rst:224 msgid "" "Interfaces are accessed through instance objects. Applications should not " "instantiate the classes themselves; they should use the creator functions " @@ -275,14 +280,14 @@ msgid "" "operations." msgstr "" -#: ../../library/xml.dom.minidom.rst:221 +#: ../../library/xml.dom.minidom.rst:229 msgid "" "Operations are used as methods. Since the DOM uses only :keyword:`in` " "parameters, the arguments are passed in normal order (from left to right). " "There are no optional arguments. ``void`` operations return ``None``." msgstr "" -#: ../../library/xml.dom.minidom.rst:225 +#: ../../library/xml.dom.minidom.rst:233 msgid "" "IDL attributes map to instance attributes. For compatibility with the OMG " "IDL language mapping for Python, an attribute ``foo`` can also be accessed " @@ -290,13 +295,13 @@ msgid "" "``readonly`` attributes must not be changed; this is not enforced at runtime." msgstr "" -#: ../../library/xml.dom.minidom.rst:230 +#: ../../library/xml.dom.minidom.rst:238 msgid "" "The types ``short int``, ``unsigned int``, ``unsigned long long``, and " "``boolean`` all map to Python integer objects." msgstr "" -#: ../../library/xml.dom.minidom.rst:233 +#: ../../library/xml.dom.minidom.rst:241 msgid "" "The type ``DOMString`` maps to Python strings. :mod:`xml.dom.minidom` " "supports either bytes or strings, but will normally produce strings. Values " @@ -304,21 +309,21 @@ msgid "" "``null`` value by the DOM specification from the W3C." msgstr "" -#: ../../library/xml.dom.minidom.rst:238 +#: ../../library/xml.dom.minidom.rst:246 msgid "" "``const`` declarations map to variables in their respective scope (e.g. " "``xml.dom.minidom.Node.PROCESSING_INSTRUCTION_NODE``); they must not be " "changed." msgstr "" -#: ../../library/xml.dom.minidom.rst:241 +#: ../../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`." msgstr "" -#: ../../library/xml.dom.minidom.rst:245 +#: ../../library/xml.dom.minidom.rst:253 msgid "" ":class:`NodeList` objects are implemented using Python's built-in list type. " "These objects provide the interface defined in the DOM specification, but " @@ -327,30 +332,30 @@ msgid "" "recommendations." msgstr "" -#: ../../library/xml.dom.minidom.rst:251 +#: ../../library/xml.dom.minidom.rst:259 msgid "" "The following interfaces have no implementation in :mod:`xml.dom.minidom`:" msgstr "" -#: ../../library/xml.dom.minidom.rst:253 +#: ../../library/xml.dom.minidom.rst:261 msgid ":class:`DOMTimeStamp`" msgstr ":class:`DOMTimeStamp`" -#: ../../library/xml.dom.minidom.rst:255 +#: ../../library/xml.dom.minidom.rst:263 msgid ":class:`EntityReference`" msgstr ":class:`EntityReference`" -#: ../../library/xml.dom.minidom.rst:257 +#: ../../library/xml.dom.minidom.rst:265 msgid "" "Most of these reflect information in the XML document that is not of general " "utility to most DOM users." msgstr "" -#: ../../library/xml.dom.minidom.rst:261 +#: ../../library/xml.dom.minidom.rst:269 msgid "Footnotes" msgstr "Notas de rodapé" -#: ../../library/xml.dom.minidom.rst:262 +#: ../../library/xml.dom.minidom.rst:270 msgid "" "The encoding name included in the XML output should conform to the " "appropriate standards. For example, \"UTF-8\" is valid, but \"UTF8\" is not " diff --git a/library/xml.dom.po b/library/xml.dom.po index 69fa2494a..7ff17943a 100644 --- a/library/xml.dom.po +++ b/library/xml.dom.po @@ -1,32 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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 -# Leticia Portella , 2021 -# (Douglas da Silva) , 2021 -# Juliana Karoline , 2021 -# Marco Rougeth , 2021 -# i17obot , 2021 +# python-doc bot, 2025 # #, 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:18+0000\n" -"Last-Translator: i17obot , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:58+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/xml.dom.rst:2 msgid ":mod:`xml.dom` --- The Document Object Model API" @@ -66,9 +61,9 @@ msgstr "" #: ../../library/xml.dom.rst:33 msgid "" -"The Document Object Model is being defined by the W3C in stages, or \"levels" -"\" in their terminology. The Python mapping of the API is substantially " -"based on the DOM Level 2 recommendation." +"The Document Object Model is being defined by the W3C in stages, or " +"\"levels\" in their terminology. The Python mapping of the API is " +"substantially based on the DOM Level 2 recommendation." msgstr "" #: ../../library/xml.dom.rst:45 @@ -125,8 +120,8 @@ msgstr "" #: ../../library/xml.dom.rst:76 msgid "" -"`Python Language Mapping Specification `_" +"`Python Language Mapping Specification `_" msgstr "" #: ../../library/xml.dom.rst:77 @@ -230,15 +225,15 @@ msgstr "" #: ../../library/xml.dom.rst:162 msgid "Interface" -msgstr "" +msgstr "Interface" #: ../../library/xml.dom.rst:162 msgid "Section" -msgstr "" +msgstr "Seção" #: ../../library/xml.dom.rst:162 msgid "Purpose" -msgstr " **Propósito** " +msgstr "Propósito" #: ../../library/xml.dom.rst:164 msgid ":class:`DOMImplementation`" diff --git a/library/xml.dom.pulldom.po b/library/xml.dom.pulldom.po index bdf06ab3f..f297f0cbd 100644 --- a/library/xml.dom.pulldom.po +++ b/library/xml.dom.pulldom.po @@ -1,29 +1,28 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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 -# Italo Penaforte , 2021 -# i17obot , 2021 +# python-doc bot, 2025 +# Rafael Fontenelle , 2025 # #, 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:18+0000\n" -"Last-Translator: i17obot , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-10-23 17:42+0000\n" +"PO-Revision-Date: 2025-09-22 15:58+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=2; plural=(n > 1);\n" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/xml.dom.pulldom.rst:2 msgid ":mod:`xml.dom.pulldom` --- Support for building partial DOM trees" @@ -44,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 "" @@ -51,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 "" @@ -58,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::" @@ -65,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`" @@ -104,6 +118,8 @@ msgid "" "``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 "" @@ -116,6 +132,15 @@ msgid "" "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`." @@ -130,27 +155,38 @@ 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" @@ -169,7 +205,13 @@ msgid "" "`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 c56855669..f1bebb90a 100644 --- a/library/xml.etree.elementtree.po +++ b/library/xml.etree.elementtree.po @@ -1,37 +1,31 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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 -# 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.10\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-06-29 12:56+0000\n" -"PO-Revision-Date: 2021-06-28 01:18+0000\n" -"Last-Translator: Ana Dulce Padovan Torres , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:58+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"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`" @@ -47,7 +41,7 @@ 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." @@ -134,8 +128,8 @@ msgstr "" 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::" @@ -144,7 +138,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 "" @@ -157,10 +152,18 @@ 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 "" @@ -172,6 +175,14 @@ msgid "" "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 "" @@ -180,6 +191,11 @@ 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 msgid "" @@ -187,6 +203,10 @@ msgid "" "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 msgid "" @@ -197,90 +217,132 @@ 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" +#: ../../library/xml.etree.elementtree.rst:168 +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:174 +msgid "Finding interesting elements" +msgstr "Encontrando elementos interessantes" + +#: ../../library/xml.etree.elementtree.rst:176 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:189 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:203 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:207 msgid "Modifying an XML File" -msgstr "" +msgstr "Modificando um arquivo XML" -#: ../../library/xml.etree.elementtree.rst:204 +#: ../../library/xml.etree.elementtree.rst:209 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:212 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:217 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:227 +#: ../../library/xml.etree.elementtree.rst:271 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:255 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:266 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:293 msgid "Building XML documents" -msgstr "" +msgstr "Construindo documentos XML" -#: ../../library/xml.etree.elementtree.rst:290 +#: ../../library/xml.etree.elementtree.rst:295 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:306 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:308 msgid "" "If the XML input has `namespaces `__, tags and attributes with prefixes in the form ``prefix:" @@ -289,87 +351,99 @@ msgid "" "TR/xml-names/#defaulting>`__, 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:316 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:337 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`::" 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:348 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:360 msgid "These two approaches both output::" -msgstr "" - -#: ../../library/xml.etree.elementtree.rst:367 -msgid "Additional resources" -msgstr "" +msgstr "Essas duas abordagens resultam no seguinte::" -#: ../../library/xml.etree.elementtree.rst:369 -msgid "" -"See http://effbot.org/zone/element-index.htm for tutorials and links to " -"other docs." -msgstr "" - -#: ../../library/xml.etree.elementtree.rst:376 +#: ../../library/xml.etree.elementtree.rst:374 msgid "XPath support" -msgstr "" +msgstr "Suporte a XPath" -#: ../../library/xml.etree.elementtree.rst:378 +#: ../../library/xml.etree.elementtree.rst:376 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." 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:384 -#: ../../library/xml.etree.elementtree.rst:776 +#: ../../library/xml.etree.elementtree.rst:382 +#: ../../library/xml.etree.elementtree.rst:774 msgid "Example" msgstr "Exemplo" -#: ../../library/xml.etree.elementtree.rst:386 +#: ../../library/xml.etree.elementtree.rst:384 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::" 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:410 +#: ../../library/xml.etree.elementtree.rst:408 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:417 +#: ../../library/xml.etree.elementtree.rst:415 msgid "Supported XPath syntax" msgstr "" -#: ../../library/xml.etree.elementtree.rst:422 +#: ../../library/xml.etree.elementtree.rst:420 msgid "Syntax" msgstr "Sintaxe" -#: ../../library/xml.etree.elementtree.rst:422 +#: ../../library/xml.etree.elementtree.rst:420 msgid "Meaning" msgstr "Significado" -#: ../../library/xml.etree.elementtree.rst:424 +#: ../../library/xml.etree.elementtree.rst:422 msgid "``tag``" msgstr "``tag``" -#: ../../library/xml.etree.elementtree.rst:424 +#: ../../library/xml.etree.elementtree.rst:422 msgid "" "Selects all child elements with the given tag. For example, ``spam`` selects " "all child elements named ``spam``, and ``spam/egg`` selects all " @@ -379,133 +453,133 @@ msgid "" "not in a namespace." msgstr "" -#: ../../library/xml.etree.elementtree.rst:433 +#: ../../library/xml.etree.elementtree.rst:431 msgid "Support for star-wildcards was added." msgstr "" -#: ../../library/xml.etree.elementtree.rst:436 +#: ../../library/xml.etree.elementtree.rst:434 msgid "``*``" msgstr "``*``" -#: ../../library/xml.etree.elementtree.rst:436 +#: ../../library/xml.etree.elementtree.rst:434 msgid "" "Selects all child elements, including comments and processing instructions. " "For example, ``*/egg`` selects all grandchildren named ``egg``." msgstr "" -#: ../../library/xml.etree.elementtree.rst:440 +#: ../../library/xml.etree.elementtree.rst:438 msgid "``.``" msgstr "``.``" -#: ../../library/xml.etree.elementtree.rst:440 +#: ../../library/xml.etree.elementtree.rst:438 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:444 +#: ../../library/xml.etree.elementtree.rst:442 msgid "``//``" msgstr "``//``" -#: ../../library/xml.etree.elementtree.rst:444 +#: ../../library/xml.etree.elementtree.rst:442 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:448 +#: ../../library/xml.etree.elementtree.rst:446 msgid "``..``" msgstr "``..``" -#: ../../library/xml.etree.elementtree.rst:448 +#: ../../library/xml.etree.elementtree.rst:446 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:452 +#: ../../library/xml.etree.elementtree.rst:450 msgid "``[@attrib]``" msgstr "``[@attrib]``" -#: ../../library/xml.etree.elementtree.rst:452 +#: ../../library/xml.etree.elementtree.rst:450 msgid "Selects all elements that have the given attribute." msgstr "" -#: ../../library/xml.etree.elementtree.rst:454 +#: ../../library/xml.etree.elementtree.rst:452 msgid "``[@attrib='value']``" msgstr "``[@attrib='value']``" -#: ../../library/xml.etree.elementtree.rst:454 +#: ../../library/xml.etree.elementtree.rst:452 msgid "" "Selects all elements for which the given attribute has the given value. The " "value cannot contain quotes." msgstr "" -#: ../../library/xml.etree.elementtree.rst:458 +#: ../../library/xml.etree.elementtree.rst:456 msgid "``[@attrib!='value']``" msgstr "" -#: ../../library/xml.etree.elementtree.rst:458 +#: ../../library/xml.etree.elementtree.rst:456 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:464 +#: ../../library/xml.etree.elementtree.rst:462 msgid "``[tag]``" msgstr "``[tag]``" -#: ../../library/xml.etree.elementtree.rst:464 +#: ../../library/xml.etree.elementtree.rst:462 msgid "" "Selects all elements that have a child named ``tag``. Only immediate " "children are supported." msgstr "" -#: ../../library/xml.etree.elementtree.rst:467 +#: ../../library/xml.etree.elementtree.rst:465 msgid "``[.='text']``" msgstr "``[.='text']``" -#: ../../library/xml.etree.elementtree.rst:467 +#: ../../library/xml.etree.elementtree.rst:465 msgid "" "Selects all elements whose complete text content, including descendants, " "equals the given ``text``." msgstr "" -#: ../../library/xml.etree.elementtree.rst:472 +#: ../../library/xml.etree.elementtree.rst:470 msgid "``[.!='text']``" msgstr "" -#: ../../library/xml.etree.elementtree.rst:472 +#: ../../library/xml.etree.elementtree.rst:470 msgid "" "Selects all elements whose complete text content, including descendants, " "does not equal the given ``text``." msgstr "" -#: ../../library/xml.etree.elementtree.rst:478 +#: ../../library/xml.etree.elementtree.rst:476 msgid "``[tag='text']``" msgstr "``[tag='text']``" -#: ../../library/xml.etree.elementtree.rst:478 +#: ../../library/xml.etree.elementtree.rst:476 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:482 +#: ../../library/xml.etree.elementtree.rst:480 msgid "``[tag!='text']``" msgstr "" -#: ../../library/xml.etree.elementtree.rst:482 +#: ../../library/xml.etree.elementtree.rst:480 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:488 +#: ../../library/xml.etree.elementtree.rst:486 msgid "``[position]``" msgstr "``[position]``" -#: ../../library/xml.etree.elementtree.rst:488 +#: ../../library/xml.etree.elementtree.rst:486 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 " @@ -513,28 +587,28 @@ msgid "" "position (e.g. ``last()-1``)." msgstr "" -#: ../../library/xml.etree.elementtree.rst:495 +#: ../../library/xml.etree.elementtree.rst:493 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:500 -#: ../../library/xml.etree.elementtree.rst:828 +#: ../../library/xml.etree.elementtree.rst:498 +#: ../../library/xml.etree.elementtree.rst:826 msgid "Reference" msgstr "Referência" -#: ../../library/xml.etree.elementtree.rst:505 -#: ../../library/xml.etree.elementtree.rst:833 +#: ../../library/xml.etree.elementtree.rst:503 +#: ../../library/xml.etree.elementtree.rst:831 msgid "Functions" msgstr "Funções" -#: ../../library/xml.etree.elementtree.rst:509 +#: ../../library/xml.etree.elementtree.rst:507 msgid "`C14N 2.0 `_ transformation function." msgstr "" -#: ../../library/xml.etree.elementtree.rst:511 +#: ../../library/xml.etree.elementtree.rst:509 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 " @@ -543,7 +617,7 @@ msgid "" "declarations, the ordering of attributes, and ignorable whitespace." msgstr "" -#: ../../library/xml.etree.elementtree.rst:517 +#: ../../library/xml.etree.elementtree.rst:515 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 " @@ -552,63 +626,63 @@ msgid "" "should therefore be opened in text mode with ``utf-8`` encoding." msgstr "" -#: ../../library/xml.etree.elementtree.rst:524 +#: ../../library/xml.etree.elementtree.rst:522 msgid "Typical uses::" msgstr "" -#: ../../library/xml.etree.elementtree.rst:535 +#: ../../library/xml.etree.elementtree.rst:533 msgid "The configuration *options* are as follows:" -msgstr "" +msgstr "As *options* de configuração são as seguintes:" -#: ../../library/xml.etree.elementtree.rst:537 +#: ../../library/xml.etree.elementtree.rst:535 msgid "*with_comments*: set to true to include comments (default: false)" msgstr "" -#: ../../library/xml.etree.elementtree.rst:538 +#: ../../library/xml.etree.elementtree.rst:536 msgid "" "*strip_text*: set to true to strip whitespace before and after text content" msgstr "" +#: ../../library/xml.etree.elementtree.rst:537 #: ../../library/xml.etree.elementtree.rst:539 -#: ../../library/xml.etree.elementtree.rst:541 msgid "(default: false)" msgstr "" -#: ../../library/xml.etree.elementtree.rst:540 +#: ../../library/xml.etree.elementtree.rst:538 msgid "" "*rewrite_prefixes*: set to true to replace namespace prefixes by " "\"n{number}\"" msgstr "" -#: ../../library/xml.etree.elementtree.rst:542 +#: ../../library/xml.etree.elementtree.rst:540 msgid "*qname_aware_tags*: a set of qname aware tag names in which prefixes" msgstr "" +#: ../../library/xml.etree.elementtree.rst:541 #: ../../library/xml.etree.elementtree.rst:543 -#: ../../library/xml.etree.elementtree.rst:545 msgid "should be replaced in text content (default: empty)" msgstr "" -#: ../../library/xml.etree.elementtree.rst:544 +#: ../../library/xml.etree.elementtree.rst:542 msgid "" "*qname_aware_attrs*: a set of qname aware attribute names in which prefixes" msgstr "" -#: ../../library/xml.etree.elementtree.rst:546 +#: ../../library/xml.etree.elementtree.rst:544 msgid "*exclude_attrs*: a set of attribute names that should not be serialised" msgstr "" -#: ../../library/xml.etree.elementtree.rst:547 +#: ../../library/xml.etree.elementtree.rst:545 msgid "*exclude_tags*: a set of tag names that should not be serialised" msgstr "" -#: ../../library/xml.etree.elementtree.rst:549 +#: ../../library/xml.etree.elementtree.rst:547 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:557 +#: ../../library/xml.etree.elementtree.rst:555 msgid "" "Comment element factory. This factory function creates a special element " "that will be serialized as an XML comment by the standard serializer. The " @@ -617,7 +691,7 @@ msgid "" "representing a comment." msgstr "" -#: ../../library/xml.etree.elementtree.rst:563 +#: ../../library/xml.etree.elementtree.rst:561 msgid "" "Note that :class:`XMLParser` skips over comments in the input instead of " "creating comment objects for them. An :class:`ElementTree` will only contain " @@ -625,29 +699,29 @@ msgid "" "class:`Element` methods." msgstr "" -#: ../../library/xml.etree.elementtree.rst:570 +#: ../../library/xml.etree.elementtree.rst:568 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:573 +#: ../../library/xml.etree.elementtree.rst:571 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:576 +#: ../../library/xml.etree.elementtree.rst:574 msgid "*elem* is an element tree or an individual element." msgstr "" -#: ../../library/xml.etree.elementtree.rst:578 +#: ../../library/xml.etree.elementtree.rst:576 msgid "" "The :func:`dump` function now preserves the attribute order specified by the " "user." msgstr "" -#: ../../library/xml.etree.elementtree.rst:585 +#: ../../library/xml.etree.elementtree.rst:583 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. " @@ -655,7 +729,7 @@ msgid "" "class:`Element` instance." msgstr "" -#: ../../library/xml.etree.elementtree.rst:593 +#: ../../library/xml.etree.elementtree.rst:591 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 " @@ -663,7 +737,7 @@ msgid "" "parser is used. Returns an :class:`Element` instance." msgstr "" -#: ../../library/xml.etree.elementtree.rst:603 +#: ../../library/xml.etree.elementtree.rst:601 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 " @@ -673,28 +747,28 @@ msgid "" "indentation level as *level*." msgstr "" -#: ../../library/xml.etree.elementtree.rst:615 +#: ../../library/xml.etree.elementtree.rst:613 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:621 +#: ../../library/xml.etree.elementtree.rst:619 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` " "containing XML data. *events* is a sequence of events to report back. The " -"supported events are the strings ``\"start\"``, ``\"end\"``, ``\"comment" -"\"``, ``\"pi\"``, ``\"start-ns\"`` and ``\"end-ns\"`` (the \"ns\" events are " -"used to get detailed namespace information). If *events* is 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." +"supported events are the strings ``\"start\"``, ``\"end\"``, " +"``\"comment\"``, ``\"pi\"``, ``\"start-ns\"`` and ``\"end-ns\"`` (the \"ns\" " +"events are used to get detailed namespace information). If *events* is " +"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." msgstr "" -#: ../../library/xml.etree.elementtree.rst:633 +#: ../../library/xml.etree.elementtree.rst:631 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 " @@ -702,7 +776,7 @@ msgid "" "parsing, see :class:`XMLPullParser`." msgstr "" -#: ../../library/xml.etree.elementtree.rst:640 +#: ../../library/xml.etree.elementtree.rst:638 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, " @@ -711,21 +785,21 @@ msgid "" "present." msgstr "" -#: ../../library/xml.etree.elementtree.rst:646 -#: ../../library/xml.etree.elementtree.rst:1474 +#: ../../library/xml.etree.elementtree.rst:644 +#: ../../library/xml.etree.elementtree.rst:1508 msgid "If you need a fully populated element, look for \"end\" events instead." msgstr "" -#: ../../library/xml.etree.elementtree.rst:648 +#: ../../library/xml.etree.elementtree.rst:646 msgid "The *parser* argument." -msgstr "" +msgstr "O argumento *parser*." -#: ../../library/xml.etree.elementtree.rst:651 -#: ../../library/xml.etree.elementtree.rst:1478 +#: ../../library/xml.etree.elementtree.rst:649 +#: ../../library/xml.etree.elementtree.rst:1512 msgid "The ``comment`` and ``pi`` events were added." -msgstr "" +msgstr "Os eventos ``comment`` e ``pi`` foram adicionados." -#: ../../library/xml.etree.elementtree.rst:657 +#: ../../library/xml.etree.elementtree.rst:655 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 " @@ -733,7 +807,7 @@ msgid "" "class:`ElementTree` instance." msgstr "" -#: ../../library/xml.etree.elementtree.rst:665 +#: ../../library/xml.etree.elementtree.rst:663 msgid "" "PI element factory. This factory function creates a special element that " "will be serialized as an XML processing instruction. *target* is a string " @@ -741,7 +815,7 @@ msgid "" "given. Returns an element instance, representing a processing instruction." msgstr "" -#: ../../library/xml.etree.elementtree.rst:670 +#: ../../library/xml.etree.elementtree.rst:668 msgid "" "Note that :class:`XMLParser` skips over processing instructions in the input " "instead of creating comment objects for them. An :class:`ElementTree` will " @@ -749,7 +823,7 @@ msgid "" "the tree using one of the :class:`Element` methods." msgstr "" -#: ../../library/xml.etree.elementtree.rst:678 +#: ../../library/xml.etree.elementtree.rst:676 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. " @@ -758,13 +832,13 @@ msgid "" "all possible." msgstr "" -#: ../../library/xml.etree.elementtree.rst:689 +#: ../../library/xml.etree.elementtree.rst:687 msgid "" "Subelement factory. This function creates an element instance, and appends " "it to an existing element." msgstr "" -#: ../../library/xml.etree.elementtree.rst:692 +#: ../../library/xml.etree.elementtree.rst:690 msgid "" "The element name, attribute names, and attribute values can be either " "bytestrings or Unicode strings. *parent* is the parent element. *tag* is " @@ -773,56 +847,56 @@ msgid "" "arguments. Returns an element instance." msgstr "" -#: ../../library/xml.etree.elementtree.rst:703 +#: ../../library/xml.etree.elementtree.rst:701 msgid "" "Generates a string representation of an XML element, including all " "subelements. *element* is an :class:`Element` instance. *encoding* [1]_ is " "the output encoding (default is US-ASCII). Use ``encoding=\"unicode\"`` to " "generate a Unicode string (otherwise, a bytestring is generated). *method* " -"is either ``\"xml\"``, ``\"html\"`` or ``\"text\"`` (default is ``\"xml" -"\"``). *xml_declaration*, *default_namespace* and *short_empty_elements* has " -"the same meaning as in :meth:`ElementTree.write`. Returns an (optionally) " -"encoded string containing the XML data." +"is either ``\"xml\"``, ``\"html\"`` or ``\"text\"`` (default is " +"``\"xml\"``). *xml_declaration*, *default_namespace* and " +"*short_empty_elements* has the same meaning as in :meth:`ElementTree.write`. " +"Returns an (optionally) encoded string containing the XML data." msgstr "" -#: ../../library/xml.etree.elementtree.rst:712 -#: ../../library/xml.etree.elementtree.rst:739 +#: ../../library/xml.etree.elementtree.rst:710 +#: ../../library/xml.etree.elementtree.rst:737 #: ../../library/xml.etree.elementtree.rst:1186 msgid "The *short_empty_elements* parameter." msgstr "" -#: ../../library/xml.etree.elementtree.rst:715 -#: ../../library/xml.etree.elementtree.rst:742 +#: ../../library/xml.etree.elementtree.rst:713 +#: ../../library/xml.etree.elementtree.rst:740 msgid "The *xml_declaration* and *default_namespace* parameters." msgstr "" -#: ../../library/xml.etree.elementtree.rst:718 +#: ../../library/xml.etree.elementtree.rst:716 msgid "" "The :func:`tostring` function now preserves the attribute order specified by " "the user." msgstr "" -#: ../../library/xml.etree.elementtree.rst:727 +#: ../../library/xml.etree.elementtree.rst:725 msgid "" "Generates a string representation of an XML element, including all " "subelements. *element* is an :class:`Element` instance. *encoding* [1]_ is " "the output encoding (default is US-ASCII). Use ``encoding=\"unicode\"`` to " "generate a Unicode string (otherwise, a bytestring is generated). *method* " -"is either ``\"xml\"``, ``\"html\"`` or ``\"text\"`` (default is ``\"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)``." +"is either ``\"xml\"``, ``\"html\"`` or ``\"text\"`` (default is " +"``\"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)``." msgstr "" -#: ../../library/xml.etree.elementtree.rst:745 +#: ../../library/xml.etree.elementtree.rst:743 msgid "" "The :func:`tostringlist` function now preserves the attribute order " "specified by the user." msgstr "" -#: ../../library/xml.etree.elementtree.rst:752 +#: ../../library/xml.etree.elementtree.rst:750 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 " @@ -830,7 +904,7 @@ msgid "" "class:`XMLParser` parser is used. Returns an :class:`Element` instance." msgstr "" -#: ../../library/xml.etree.elementtree.rst:760 +#: ../../library/xml.etree.elementtree.rst:758 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 " @@ -839,11 +913,11 @@ msgid "" "`Element` instance and a dictionary." msgstr "" -#: ../../library/xml.etree.elementtree.rst:770 +#: ../../library/xml.etree.elementtree.rst:768 msgid "XInclude support" -msgstr "" +msgstr "Suporte a XInclude" -#: ../../library/xml.etree.elementtree.rst:772 +#: ../../library/xml.etree.elementtree.rst:770 msgid "" "This module provides limited support for `XInclude directives `_, via the :mod:`xml.etree.ElementInclude` helper " @@ -851,7 +925,7 @@ msgid "" "element trees, based on information in the tree." msgstr "" -#: ../../library/xml.etree.elementtree.rst:778 +#: ../../library/xml.etree.elementtree.rst:776 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/" @@ -859,51 +933,51 @@ msgid "" "and use the **href** attribute to specify the document to include." msgstr "" -#: ../../library/xml.etree.elementtree.rst:787 +#: ../../library/xml.etree.elementtree.rst:785 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:789 +#: ../../library/xml.etree.elementtree.rst:787 msgid "" "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:800 +#: ../../library/xml.etree.elementtree.rst:798 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:808 +#: ../../library/xml.etree.elementtree.rst:806 msgid "" "If the **parse** attribute is omitted, it defaults to \"xml\". The href " "attribute is required." msgstr "" -#: ../../library/xml.etree.elementtree.rst:810 +#: ../../library/xml.etree.elementtree.rst:808 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:819 +#: ../../library/xml.etree.elementtree.rst:817 msgid "The result might look something like:" msgstr "" -#: ../../library/xml.etree.elementtree.rst:837 +#: ../../library/xml.etree.elementtree.rst:836 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\". " "*encoding* is an optional text encoding. If not given, encoding is " -"``utf-8``. 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." +"``utf-8``. 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:848 @@ -973,8 +1047,8 @@ msgstr "" #: ../../library/xml.etree.elementtree.rst:907 msgid "" -"To collect the inner text of an element, see :meth:`itertext`, for example ``" -"\"\".join(element.itertext())``." +"To collect the inner text of an element, see :meth:`itertext`, for example " +"``\"\".join(element.itertext())``." msgstr "" #: ../../library/xml.etree.elementtree.rst:910 @@ -1027,7 +1101,7 @@ msgstr "" #: ../../library/xml.etree.elementtree.rst:953 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:958 msgid "" @@ -1223,21 +1297,22 @@ msgid "" "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 " -"is ``None``). *default_namespace* sets the default XML namespace (for \"xmlns" -"\"). *method* is either ``\"xml\"``, ``\"html\"`` or ``\"text\"`` (default " -"is ``\"xml\"``). The keyword-only *short_empty_elements* parameter controls " -"the formatting of elements that contain no content. If ``True`` (the " -"default), they are emitted as a single self-closed tag, otherwise they are " -"emitted as a pair of start/end tags." +"is ``None``). *default_namespace* sets the default XML namespace (for " +"\"xmlns\"). *method* is either ``\"xml\"``, ``\"html\"`` or ``\"text\"`` " +"(default is ``\"xml\"``). The keyword-only *short_empty_elements* parameter " +"controls the formatting of elements that contain no content. If ``True`` " +"(the default), they are emitted as a single self-closed tag, otherwise they " +"are emitted as a pair of start/end tags." msgstr "" #: ../../library/xml.etree.elementtree.rst:1179 msgid "" "The output is either a string (:class:`str`) or binary (:class:`bytes`). " -"This is controlled by the *encoding* argument. If *encoding* is ``\"unicode" -"\"``, the output is a string; otherwise, it's binary. Note that this may " -"conflict with the type of *file* if it's an open :term:`file object`; make " -"sure you do not try to write a string to a binary stream and vice versa." +"This is controlled by the *encoding* argument. If *encoding* is " +"``\"unicode\"``, the output is a string; otherwise, it's binary. Note that " +"this may conflict with the type of *file* if it's an open :term:`file " +"object`; make sure you do not try to write a string to a binary stream and " +"vice versa." msgstr "" #: ../../library/xml.etree.elementtree.rst:1189 @@ -1403,7 +1478,26 @@ msgstr "" msgid "Feeds data to the parser. *data* is encoded data." msgstr "" -#: ../../library/xml.etree.elementtree.rst:1378 +#: ../../library/xml.etree.elementtree.rst:1381 +#: ../../library/xml.etree.elementtree.rst:1459 +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:1388 +#: ../../library/xml.etree.elementtree.rst:1466 +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:1396 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 " @@ -1414,27 +1508,27 @@ msgid "" "of an XML file::" msgstr "" -#: ../../library/xml.etree.elementtree.rst:1422 +#: ../../library/xml.etree.elementtree.rst:1440 msgid "XMLPullParser Objects" msgstr "" -#: ../../library/xml.etree.elementtree.rst:1426 +#: ../../library/xml.etree.elementtree.rst:1444 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 " "callback target, :class:`XMLPullParser` collects an internal list of parsing " "events and lets the user read from it. *events* is a sequence of events to " -"report back. The supported events are the strings ``\"start\"``, ``\"end" -"\"``, ``\"comment\"``, ``\"pi\"``, ``\"start-ns\"`` and ``\"end-ns\"`` (the " -"\"ns\" events are used to get detailed namespace information). If *events* " -"is omitted, only ``\"end\"`` events are reported." +"report back. The supported events are the strings ``\"start\"``, " +"``\"end\"``, ``\"comment\"``, ``\"pi\"``, ``\"start-ns\"`` and ``\"end-" +"ns\"`` (the \"ns\" events are used to get detailed namespace information). " +"If *events* is omitted, only ``\"end\"`` events are reported." msgstr "" -#: ../../library/xml.etree.elementtree.rst:1437 +#: ../../library/xml.etree.elementtree.rst:1455 msgid "Feed the given bytes data to the parser." msgstr "" -#: ../../library/xml.etree.elementtree.rst:1441 +#: ../../library/xml.etree.elementtree.rst:1475 msgid "" "Signal the parser that the data stream is terminated. Unlike :meth:" "`XMLParser.close`, this method always returns :const:`None`. Any events not " @@ -1442,7 +1536,7 @@ msgid "" "`read_events`." msgstr "" -#: ../../library/xml.etree.elementtree.rst:1448 +#: ../../library/xml.etree.elementtree.rst:1482 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 " @@ -1451,25 +1545,25 @@ msgid "" "follows." msgstr "" -#: ../../library/xml.etree.elementtree.rst:1454 +#: ../../library/xml.etree.elementtree.rst:1488 msgid "``start``, ``end``: the current Element." -msgstr "" +msgstr "``start``, ``end``: O Element atual." -#: ../../library/xml.etree.elementtree.rst:1455 +#: ../../library/xml.etree.elementtree.rst:1489 msgid "``comment``, ``pi``: the current comment / processing instruction" msgstr "" -#: ../../library/xml.etree.elementtree.rst:1456 +#: ../../library/xml.etree.elementtree.rst:1490 msgid "" "``start-ns``: a tuple ``(prefix, uri)`` naming the declared namespace " "mapping." msgstr "" -#: ../../library/xml.etree.elementtree.rst:1458 +#: ../../library/xml.etree.elementtree.rst:1492 msgid "``end-ns``: :const:`None` (this may change in a future version)" msgstr "" -#: ../../library/xml.etree.elementtree.rst:1460 +#: ../../library/xml.etree.elementtree.rst:1494 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 " @@ -1478,7 +1572,7 @@ msgid "" "results." msgstr "" -#: ../../library/xml.etree.elementtree.rst:1468 +#: ../../library/xml.etree.elementtree.rst:1502 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 " @@ -1487,11 +1581,11 @@ msgid "" "be present." msgstr "" -#: ../../library/xml.etree.elementtree.rst:1483 +#: ../../library/xml.etree.elementtree.rst:1517 msgid "Exceptions" msgstr "Exceções" -#: ../../library/xml.etree.elementtree.rst:1487 +#: ../../library/xml.etree.elementtree.rst:1521 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 " @@ -1499,22 +1593,22 @@ msgid "" "following attributes available:" msgstr "" -#: ../../library/xml.etree.elementtree.rst:1494 +#: ../../library/xml.etree.elementtree.rst:1528 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." msgstr "" -#: ../../library/xml.etree.elementtree.rst:1499 +#: ../../library/xml.etree.elementtree.rst:1533 msgid "" "A tuple of *line*, *column* numbers, specifying where the error occurred." msgstr "" -#: ../../library/xml.etree.elementtree.rst:1502 +#: ../../library/xml.etree.elementtree.rst:1536 msgid "Footnotes" msgstr "Notas de rodapé" -#: ../../library/xml.etree.elementtree.rst:1503 +#: ../../library/xml.etree.elementtree.rst:1537 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 cb3a23bad..446ab7e36 100644 --- a/library/xml.po +++ b/library/xml.po @@ -1,42 +1,41 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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 -# Claudio Rogerio Carvalho Filho , 2021 -# i17obot , 2021 +# python-doc bot, 2025 # #, 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:18+0000\n" -"Last-Translator: i17obot , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:58+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"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 "" @@ -44,6 +43,10 @@ msgid "" "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 "" @@ -52,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 "" @@ -100,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" @@ -113,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" @@ -133,75 +151,111 @@ msgstr "xmlrpc" #: ../../library/xml.rst:66 msgid "billion laughs" -msgstr "" +msgstr "billion laughs" -#: ../../library/xml.rst:66 ../../library/xml.rst:67 ../../library/xml.rst:70 -msgid "**Vulnerable**" -msgstr "" +#: ../../library/xml.rst:66 ../../library/xml.rst:67 +msgid "**Vulnerable** (1)" +msgstr "**Vulnerável** (1)" #: ../../library/xml.rst:67 msgid "quadratic blowup" -msgstr "" +msgstr "quadratic blowup" -#: ../../library/xml.rst:68 ../../library/xml.rst:99 +#: ../../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 (4)" -msgstr "" +msgid "Safe (5)" +msgstr "Seguro (5)" #: ../../library/xml.rst:68 -msgid "Safe (1)" -msgstr "" +msgid "Safe (2)" +msgstr "Seguro (2)" #: ../../library/xml.rst:68 -msgid "Safe (2)" -msgstr "" +msgid "Safe (3)" +msgstr "Seguro (3)" #: ../../library/xml.rst:68 -msgid "Safe (3)" -msgstr "" +msgid "Safe (4)" +msgstr "Seguro (4)" -#: ../../library/xml.rst:69 ../../library/xml.rst:104 +#: ../../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:111 +#: ../../library/xml.rst:70 ../../library/xml.rst:121 msgid "decompression bomb" msgstr "decompression bomb" -#: ../../library/xml.rst:73 +#: ../../library/xml.rst:70 +msgid "**Vulnerable**" +msgstr "**Vulnerável**" + +#: ../../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`." +msgstr "" + +#: ../../library/xml.rst:78 msgid "" ":mod:`xml.etree.ElementTree` doesn't expand external entities and raises a :" "exc:`ParserError` when an entity occurs." msgstr "" -#: ../../library/xml.rst:75 +#: ../../library/xml.rst:80 msgid "" ":mod:`xml.dom.minidom` doesn't expand external entities and simply returns " "the unexpanded entity verbatim." msgstr "" +":mod:`xml.dom.minidom` não expande entidades externas e simplesmente retorna " +"a entidade não expandida literalmente." -#: ../../library/xml.rst:77 +#: ../../library/xml.rst:82 msgid ":mod:`xmlrpclib` doesn't expand external entities and omits them." msgstr "" -#: ../../library/xml.rst:78 +#: ../../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:87 -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:83 +#: ../../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 " @@ -209,53 +263,94 @@ 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:94 +#: ../../library/xml.rst:104 msgid "quadratic blowup entity expansion" -msgstr "" +msgstr "quadratic blowup entity expansion" -#: ../../library/xml.rst:90 +#: ../../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 " "large entity with a couple of thousand chars over and over again. The attack " "isn't as efficient as the exponential case but it avoids triggering parser " -"countermeasures that forbid deeply-nested entities." +"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:97 +#: ../../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:102 +#: ../../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:107 +#: ../../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:113 +#: ../../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:119 +#: ../../library/xml.rst:136 msgid "The :mod:`defusedxml` Package" msgstr "" -#: ../../library/xml.rst:121 +#: ../../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 " @@ -263,3 +358,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 3526a8855..7240a6460 100644 --- a/library/xml.sax.handler.po +++ b/library/xml.sax.handler.po @@ -1,28 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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 -# Hemílio Lauro , 2021 -# i17obot , 2021 +# python-doc bot, 2025 # #, 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:18+0000\n" -"Last-Translator: i17obot , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:58+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/xml.sax.handler.rst:2 msgid ":mod:`xml.sax.handler` --- Base classes for SAX handlers" @@ -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,11 +232,11 @@ 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: String" -msgstr "tipo de dado: String" +msgid "data type: Bytes" +msgstr "" #: ../../library/xml.sax.handler.rst:152 msgid "" @@ -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." @@ -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." diff --git a/library/xml.sax.po b/library/xml.sax.po index 59acb8725..b1d4ccc24 100644 --- a/library/xml.sax.po +++ b/library/xml.sax.po @@ -1,27 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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.10\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-06-29 12:56+0000\n" -"PO-Revision-Date: 2021-06-28 01:18+0000\n" -"Last-Translator: i17obot , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:58+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/xml.sax.rst:2 msgid ":mod:`xml.sax` --- Support for SAX2 parsers" diff --git a/library/xml.sax.reader.po b/library/xml.sax.reader.po index c92f39e55..b990133c1 100644 --- a/library/xml.sax.reader.po +++ b/library/xml.sax.reader.po @@ -1,27 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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.10\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-06-29 12:56+0000\n" -"PO-Revision-Date: 2021-06-28 01:18+0000\n" -"Last-Translator: i17obot , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:58+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/xml.sax.reader.rst:2 msgid ":mod:`xml.sax.xmlreader` --- Interface for XML parsers" diff --git a/library/xml.sax.utils.po b/library/xml.sax.utils.po index daf90a9c7..48fa6cbb1 100644 --- a/library/xml.sax.utils.po +++ b/library/xml.sax.utils.po @@ -1,26 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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.10\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-06-29 12:56+0000\n" -"PO-Revision-Date: 2021-06-28 01:18+0000\n" -"Last-Translator: Rafael Fontenelle , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:58+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/xml.sax.utils.rst:2 msgid ":mod:`xml.sax.saxutils` --- SAX Utilities" @@ -36,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 "" @@ -48,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 "" @@ -61,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 "" @@ -73,12 +88,22 @@ 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 "" @@ -92,6 +117,15 @@ 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." @@ -105,6 +139,12 @@ msgid "" "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 "" diff --git a/library/xmlrpc.client.po b/library/xmlrpc.client.po index 940119e03..c2794f940 100644 --- a/library/xmlrpc.client.po +++ b/library/xmlrpc.client.po @@ -1,33 +1,31 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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 -# Claudio Rogerio Carvalho Filho , 2021 -# i17obot , 2021 +# python-doc bot, 2025 # #, 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:18+0000\n" -"Last-Translator: i17obot , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:58+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"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`" @@ -41,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 "" @@ -48,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." #: ../../library/xmlrpc.client.rst:39 msgid "" @@ -66,13 +75,21 @@ 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:47 msgid "" "The following parameters govern the use of the returned proxy instance. If " "*allow_none* is true, the Python constant ``None`` will be translated into " "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 " +"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* " @@ -82,18 +99,35 @@ msgid "" "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 " +"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:65 ../../library/xmlrpc.client.rst:552 +"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:65 ../../library/xmlrpc.client.rst:546 msgid "The *use_builtin_types* flag was added." msgstr "O sinalizador *use_builtin_types* foi adicionado." #: ../../library/xmlrpc.client.rst:68 msgid "The *headers* parameter was added." -msgstr "" +msgstr "O parâmetro *headers* foi adicionado." #: ../../library/xmlrpc.client.rst:71 msgid "" @@ -106,6 +140,14 @@ msgid "" "*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:80 msgid "" @@ -115,6 +157,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:86 msgid "" @@ -122,6 +169,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:93 msgid "XML-RPC type" @@ -129,7 +179,7 @@ msgstr "Tipo XML-RPC" #: ../../library/xmlrpc.client.rst:93 msgid "Python type" -msgstr "Python type" +msgstr "Tipo em Python" #: ../../library/xmlrpc.client.rst:95 msgid "``boolean``" @@ -141,21 +191,23 @@ msgstr ":class:`bool`" #: ../../library/xmlrpc.client.rst:97 msgid "``int``, ``i1``, ``i2``, ``i4``, ``i8`` or ``biginteger``" -msgstr "" +msgstr "``int``, ``i1``, ``i2``, ``i4``, ``i8`` ou ``biginteger``" #: ../../library/xmlrpc.client.rst:97 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:102 msgid "``double`` or ``float``" -msgstr "" +msgstr "``double`` ou ``float``" #: ../../library/xmlrpc.client.rst:102 msgid ":class:`float`. Values get the ```` tag." -msgstr "" +msgstr ":class:`float`. Os valores recebem a tag ````." #: ../../library/xmlrpc.client.rst:105 msgid "``string``" @@ -174,6 +226,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:111 msgid "``struct``" @@ -185,6 +239,9 @@ msgid "" "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:116 msgid "``dateTime.iso8601``" @@ -207,6 +264,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:124 msgid "``nil``" @@ -216,6 +275,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:127 msgid "``bigdecimal``" @@ -223,7 +284,7 @@ msgstr "``bigdecimal``" #: ../../library/xmlrpc.client.rst:127 msgid ":class:`decimal.Decimal`. Returned type only." -msgstr "" +msgstr ":class:`decimal.Decimal`. Somente tipo retornado." #: ../../library/xmlrpc.client.rst:130 msgid "" @@ -234,6 +295,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:137 msgid "" @@ -246,12 +313,23 @@ msgid "" "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:146 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:149 msgid "Added the *context* argument." @@ -262,11 +340,17 @@ msgid "" "Added support of type tags with prefixes (e.g. ``ex:nil``). Added support of " "unmarshalling additional types used by Apache XML-RPC implementation for " "numerics: ``i1``, ``i2``, ``i8``, ``biginteger``, ``float`` and " -"``bigdecimal``. See http://ws.apache.org/xmlrpc/types.html for a description." +"``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:164 -msgid "`XML-RPC HOWTO `_" +msgid "`XML-RPC HOWTO `_" msgstr "" #: ../../library/xmlrpc.client.rst:163 @@ -275,40 +359,35 @@ 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:167 msgid "" -"`XML-RPC Introspection `_" +"`XML-RPC Introspection `_" msgstr "" +"`XML-RPC Introspection `_" #: ../../library/xmlrpc.client.rst:167 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:170 +#: ../../library/xmlrpc.client.rst:169 msgid "`XML-RPC Specification `_" -msgstr "" +msgstr "`XML-RPC Specification `_" #: ../../library/xmlrpc.client.rst:170 msgid "The official specification." -msgstr "" +msgstr "A especificação oficial." #: ../../library/xmlrpc.client.rst:175 -msgid "`Unofficial XML-RPC Errata `_" -msgstr "" - -#: ../../library/xmlrpc.client.rst:173 -msgid "" -"Fredrik Lundh's \"unofficial errata, intended to clarify certain details in " -"the XML-RPC specification, as well as hint at 'best practices' to use when " -"designing your own XML-RPC implementations.\"" -msgstr "" - -#: ../../library/xmlrpc.client.rst:181 msgid "ServerProxy Objects" msgstr "Objetos ServerProxy" -#: ../../library/xmlrpc.client.rst:183 +#: ../../library/xmlrpc.client.rst:177 msgid "" "A :class:`ServerProxy` instance has a method corresponding to each remote " "procedure call accepted by the XML-RPC server. Calling the method performs " @@ -318,19 +397,19 @@ msgid "" "or a :class:`Fault` or :class:`ProtocolError` object indicating an error." msgstr "" -#: ../../library/xmlrpc.client.rst:190 +#: ../../library/xmlrpc.client.rst:184 msgid "" "Servers that support the XML introspection API support some common methods " "grouped under the reserved :attr:`~ServerProxy.system` attribute:" msgstr "" -#: ../../library/xmlrpc.client.rst:196 +#: ../../library/xmlrpc.client.rst:190 msgid "" "This method returns a list of strings, one for each (non-system) method " "supported by the XML-RPC server." msgstr "" -#: ../../library/xmlrpc.client.rst:202 +#: ../../library/xmlrpc.client.rst:196 msgid "" "This method takes one parameter, the name of a method implemented by the XML-" "RPC server. It returns an array of possible signatures for this method. A " @@ -338,29 +417,29 @@ msgid "" "of the method, the rest are parameters." msgstr "" -#: ../../library/xmlrpc.client.rst:207 +#: ../../library/xmlrpc.client.rst:201 msgid "" "Because multiple signatures (ie. overloading) is permitted, this method " "returns a list of signatures rather than a singleton." msgstr "" -#: ../../library/xmlrpc.client.rst:210 +#: ../../library/xmlrpc.client.rst:204 msgid "" "Signatures themselves are restricted to the top level parameters expected by " "a method. For instance if a method expects one array of structs as a " -"parameter, and it returns a string, its signature is simply \"string, array" -"\". If it expects three integers and returns a string, its signature is " +"parameter, and it returns a string, its signature is simply \"string, " +"array\". If it expects three integers and returns a string, its signature is " "\"string, int, int, int\"." msgstr "" -#: ../../library/xmlrpc.client.rst:215 +#: ../../library/xmlrpc.client.rst:209 msgid "" "If no signature is defined for the method, a non-array value is returned. In " "Python this means that the type of the returned value will be something " "other than list." msgstr "" -#: ../../library/xmlrpc.client.rst:222 +#: ../../library/xmlrpc.client.rst:216 msgid "" "This method takes one parameter, the name of a method implemented by the XML-" "RPC server. It returns a documentation string describing the use of that " @@ -368,26 +447,26 @@ msgid "" "documentation string may contain HTML markup." msgstr "" -#: ../../library/xmlrpc.client.rst:229 +#: ../../library/xmlrpc.client.rst:223 msgid "" "Instances of :class:`ServerProxy` support the :term:`context manager` " "protocol for closing the underlying transport." msgstr "" -#: ../../library/xmlrpc.client.rst:233 ../../library/xmlrpc.client.rst:279 +#: ../../library/xmlrpc.client.rst:227 ../../library/xmlrpc.client.rst:273 msgid "A working example follows. The server code::" msgstr "" -#: ../../library/xmlrpc.client.rst:245 ../../library/xmlrpc.client.rst:294 -#: ../../library/xmlrpc.client.rst:404 ../../library/xmlrpc.client.rst:510 +#: ../../library/xmlrpc.client.rst:239 ../../library/xmlrpc.client.rst:288 +#: ../../library/xmlrpc.client.rst:398 ../../library/xmlrpc.client.rst:504 msgid "The client code for the preceding server::" msgstr "" -#: ../../library/xmlrpc.client.rst:256 +#: ../../library/xmlrpc.client.rst:250 msgid "DateTime Objects" msgstr "Objetos DateTime" -#: ../../library/xmlrpc.client.rst:260 +#: ../../library/xmlrpc.client.rst:254 msgid "" "This class may be initialized with seconds since the epoch, a time tuple, an " "ISO 8601 time/date string, or a :class:`datetime.datetime` instance. It has " @@ -395,150 +474,150 @@ msgid "" "unmarshalling code:" msgstr "" -#: ../../library/xmlrpc.client.rst:268 +#: ../../library/xmlrpc.client.rst:262 msgid "Accept a string as the instance's new time value." msgstr "" -#: ../../library/xmlrpc.client.rst:273 +#: ../../library/xmlrpc.client.rst:267 msgid "" "Write the XML-RPC encoding of this :class:`DateTime` item to the *out* " "stream object." msgstr "" -#: ../../library/xmlrpc.client.rst:276 +#: ../../library/xmlrpc.client.rst:270 msgid "" "It also supports certain of Python's built-in operators through rich " "comparison and :meth:`__repr__` methods." msgstr "" -#: ../../library/xmlrpc.client.rst:309 +#: ../../library/xmlrpc.client.rst:303 msgid "Binary Objects" msgstr "Objetos Binários" -#: ../../library/xmlrpc.client.rst:313 +#: ../../library/xmlrpc.client.rst:307 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:320 +#: ../../library/xmlrpc.client.rst:314 msgid "" "The binary data encapsulated by the :class:`Binary` instance. The data is " "provided as a :class:`bytes` object." msgstr "" -#: ../../library/xmlrpc.client.rst:323 +#: ../../library/xmlrpc.client.rst:317 msgid "" ":class:`Binary` objects have the following methods, supported mainly for " "internal use by the marshalling/unmarshalling code:" msgstr "" -#: ../../library/xmlrpc.client.rst:329 +#: ../../library/xmlrpc.client.rst:323 msgid "" "Accept a base64 :class:`bytes` object and decode it as the instance's new " "data." msgstr "" -#: ../../library/xmlrpc.client.rst:334 +#: ../../library/xmlrpc.client.rst:328 msgid "" "Write the XML-RPC base 64 encoding of this binary item to the *out* stream " "object." msgstr "" -#: ../../library/xmlrpc.client.rst:336 +#: ../../library/xmlrpc.client.rst:330 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:341 +#: ../../library/xmlrpc.client.rst:335 msgid "" "It also supports certain of Python's built-in operators through :meth:" "`__eq__` and :meth:`__ne__` methods." msgstr "" -#: ../../library/xmlrpc.client.rst:344 +#: ../../library/xmlrpc.client.rst:338 msgid "" "Example usage of the binary objects. We're going to transfer an image over " "XMLRPC::" msgstr "" -#: ../../library/xmlrpc.client.rst:360 +#: ../../library/xmlrpc.client.rst:354 msgid "The client gets the image and saves it to a file::" msgstr "" -#: ../../library/xmlrpc.client.rst:371 +#: ../../library/xmlrpc.client.rst:365 msgid "Fault Objects" msgstr "Objetos Fault" -#: ../../library/xmlrpc.client.rst:375 +#: ../../library/xmlrpc.client.rst:369 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:381 +#: ../../library/xmlrpc.client.rst:375 msgid "An int indicating the fault type." msgstr "" -#: ../../library/xmlrpc.client.rst:386 +#: ../../library/xmlrpc.client.rst:380 msgid "A string containing a diagnostic message associated with the fault." msgstr "" -#: ../../library/xmlrpc.client.rst:388 +#: ../../library/xmlrpc.client.rst:382 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:421 +#: ../../library/xmlrpc.client.rst:415 msgid "ProtocolError Objects" -msgstr "Objeto ProtocolError" +msgstr "Objetos ProtocolError" -#: ../../library/xmlrpc.client.rst:425 +#: ../../library/xmlrpc.client.rst:419 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:432 +#: ../../library/xmlrpc.client.rst:426 msgid "The URI or URL that triggered the error." msgstr "" -#: ../../library/xmlrpc.client.rst:437 +#: ../../library/xmlrpc.client.rst:431 msgid "The error code." msgstr "O código do erro." -#: ../../library/xmlrpc.client.rst:442 +#: ../../library/xmlrpc.client.rst:436 msgid "The error message or diagnostic string." msgstr "" -#: ../../library/xmlrpc.client.rst:447 +#: ../../library/xmlrpc.client.rst:441 msgid "" "A dict containing the headers of the HTTP/HTTPS request that triggered the " "error." msgstr "" -#: ../../library/xmlrpc.client.rst:450 +#: ../../library/xmlrpc.client.rst:444 msgid "" "In the following example we're going to intentionally cause a :exc:" "`ProtocolError` by providing an invalid URI::" msgstr "" -#: ../../library/xmlrpc.client.rst:468 +#: ../../library/xmlrpc.client.rst:462 msgid "MultiCall Objects" msgstr "Objetos MultiCall" -#: ../../library/xmlrpc.client.rst:470 +#: ../../library/xmlrpc.client.rst:464 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:476 +#: ../../library/xmlrpc.client.rst:470 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 " @@ -549,15 +628,15 @@ msgid "" "the individual results." msgstr "" -#: ../../library/xmlrpc.client.rst:484 +#: ../../library/xmlrpc.client.rst:478 msgid "A usage example of this class follows. The server code::" msgstr "" -#: ../../library/xmlrpc.client.rst:526 +#: ../../library/xmlrpc.client.rst:520 msgid "Convenience Functions" msgstr "" -#: ../../library/xmlrpc.client.rst:530 +#: ../../library/xmlrpc.client.rst:524 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 " @@ -569,7 +648,7 @@ msgid "" "*allow_none*." msgstr "" -#: ../../library/xmlrpc.client.rst:541 +#: ../../library/xmlrpc.client.rst:535 msgid "" "Convert an XML-RPC request or response into Python objects, a ``(params, " "methodname)``. *params* is a tuple of argument; *methodname* is a string, " @@ -580,35 +659,35 @@ msgid "" "to be presented as :class:`bytes` objects; this flag is false by default." msgstr "" -#: ../../library/xmlrpc.client.rst:549 +#: ../../library/xmlrpc.client.rst:543 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:559 +#: ../../library/xmlrpc.client.rst:553 msgid "Example of Client Usage" msgstr "Exemplo de uso do cliente" -#: ../../library/xmlrpc.client.rst:576 +#: ../../library/xmlrpc.client.rst:570 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:601 +#: ../../library/xmlrpc.client.rst:595 msgid "Example of Client and Server Usage" msgstr "" -#: ../../library/xmlrpc.client.rst:603 +#: ../../library/xmlrpc.client.rst:597 msgid "See :ref:`simplexmlrpcserver-example`." -msgstr "" +msgstr "Veja :ref:`simplexmlrpcserver-example`." -#: ../../library/xmlrpc.client.rst:607 +#: ../../library/xmlrpc.client.rst:601 msgid "Footnotes" msgstr "Notas de rodapé" -#: ../../library/xmlrpc.client.rst:608 +#: ../../library/xmlrpc.client.rst:602 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.10\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-06-29 12:56+0000\n" -"PO-Revision-Date: 2021-06-28 01:18+0000\n" -"Last-Translator: Rafael Fontenelle , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:58+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"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" diff --git a/library/xmlrpc.server.po b/library/xmlrpc.server.po index 4fcd5b21d..58aa72724 100644 --- a/library/xmlrpc.server.po +++ b/library/xmlrpc.server.po @@ -1,27 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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.10\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-06-29 12:56+0000\n" -"PO-Revision-Date: 2021-06-28 01:18+0000\n" -"Last-Translator: Italo Penaforte , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:58+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/xmlrpc.server.rst:2 msgid ":mod:`xmlrpc.server` --- Basic XML-RPC servers" @@ -76,17 +76,17 @@ msgstr "" "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:" +"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á " -"o log. 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 " +"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 " +"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:47 ../../library/xmlrpc.server.rst:61 @@ -117,9 +117,9 @@ msgid "" "to the :class:`SimpleXMLRPCServer` constructor parameter is honored." 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 log para que " -"o parâmetro *logRequests* para o construtor de :class:`SimpleXMLRPCServer` " -"seja respeitado." +"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." #: ../../library/xmlrpc.server.rst:75 msgid "SimpleXMLRPCServer Objects" @@ -145,7 +145,7 @@ 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 nos identificadores Python, incluindo o caractere de " +"caracteres ilegais para identificadores Python, incluindo o caractere de " "ponto." #: ../../library/xmlrpc.server.rst:89 ../../library/xmlrpc.server.rst:303 @@ -198,7 +198,7 @@ msgid "" "client." msgstr "" "Se o argumento opcional *allow_dotted_names* for true e a instância não " -"tiver o método :meth:`_dispatch`, se o nome do método solicitado contiver " +"tiver o método :meth:`_dispatch`, e se o nome do método solicitado contiver " "pontos, cada componente do nome do método será pesquisado individualmente, " "com o efeito de que um simples pesquisa hierárquica é realizada. O valor " "encontrado nessa pesquisa é chamado com os parâmetros da solicitação e o " @@ -220,8 +220,8 @@ msgid "" "Registers the XML-RPC introspection functions ``system.listMethods``, " "``system.methodHelp`` and ``system.methodSignature``." msgstr "" -"Registradores de 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:132 msgid "Registers the XML-RPC multicall function system.multicall." @@ -262,15 +262,15 @@ msgid "" "server example can register functions in a decorator way::" msgstr "" ":meth:`register_function` também pode ser usado como um decorador. O exemplo " -"anterior do servidor pode registrar funções de um jeito decorador::" +"anterior do servidor pode registrar funções com um decorador::" #: ../../library/xmlrpc.server.rst:225 msgid "" "The following example included in the :file:`Lib/xmlrpc/server.py` module " "shows a server allowing dotted names and registering a multicall function." msgstr "" -"O exemplo a seguir incluído no módulo :file:`Lib/xmlrpc/server.py` mostra um " -"servidor que permite nomes com pontos e registra uma função de várias " +"O exemplo a seguir, incluído no módulo :file:`Lib/xmlrpc/server.py`, mostra " +"um servidor que permite nomes com pontos e registra uma função de várias " "chamadas." #: ../../library/xmlrpc.server.rst:230 @@ -291,11 +291,11 @@ msgstr "" #: ../../library/xmlrpc.server.rst:264 msgid "" -"The client that interacts with the above server is included in `Lib/xmlrpc/" -"client.py`::" +"The client that interacts with the above server is included in ``Lib/xmlrpc/" +"client.py``::" msgstr "" -"O cliente que interage com o servidor acima está incluído em `Lib/xmlrpc/" -"client.py`::" +"O cliente que interage com o servidor acima está incluído em ``Lib/xmlrpc/" +"client.py``::" #: ../../library/xmlrpc.server.rst:284 msgid "" @@ -314,7 +314,7 @@ msgid "" "requests sent to Python CGI scripts." msgstr "" "A classe :class:`CGIXMLRPCRequestHandler` pode ser usada para manipular " -"solicitações XML-RPC enviadas para scripts CGI do Python." +"solicitações XML-RPC enviadas para scripts CGI Python." #: ../../library/xmlrpc.server.rst:313 msgid "" @@ -408,7 +408,7 @@ msgid "" msgstr "" "Cria uma nova instância do manipulador de solicitações. Este manipulador de " "solicitações possui suporte a solicitações POST de XML-RPC, documenta " -"solicitações GET e modifica o log para que o parâmetro *logRequests* no " +"solicitações GET e modifica o registro para que o parâmetro *logRequests* no " "parâmetro :class:`DocXMLRPCServer` seja respeitado." #: ../../library/xmlrpc.server.rst:393 @@ -454,7 +454,7 @@ msgid "" "documentation." msgstr "" "Define a descrição usada na documentação HTML gerada. Esta descrição " -"aparecerá como um parágrafo, abaixo do nome do servidor, na documentação." +"aparecerá na documentação como um parágrafo, abaixo do nome do servidor." #: ../../library/xmlrpc.server.rst:421 msgid "DocCGIXMLRPCRequestHandler" diff --git a/library/zipapp.po b/library/zipapp.po index f370571d6..4391ab8ed 100644 --- a/library/zipapp.po +++ b/library/zipapp.po @@ -1,29 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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 -# i17obot , 2021 +# python-doc bot, 2025 # #, 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:18+0000\n" -"Last-Translator: i17obot , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-11-23 17:17+0000\n" +"PO-Revision-Date: 2025-09-22 15:58+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/zipapp.rst:2 msgid ":mod:`zipapp` --- Manage executable Python zip archives" @@ -40,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 "" @@ -52,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 "" @@ -69,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 "" @@ -81,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 "" @@ -94,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 "" @@ -102,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 "" @@ -123,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 "" @@ -148,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 "" @@ -156,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 "" @@ -163,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 "" @@ -187,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 "" @@ -198,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 "" @@ -210,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 "" @@ -217,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 "" @@ -225,12 +295,18 @@ 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 "" @@ -239,6 +315,11 @@ msgid "" "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." @@ -251,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" @@ -258,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:" -"`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 "" +"`~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" @@ -297,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 "" @@ -305,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 "" @@ -312,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 "" @@ -319,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 "" @@ -338,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 "" @@ -349,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 "" @@ -362,6 +484,9 @@ 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 "" @@ -381,6 +506,10 @@ msgid "" "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 msgid "" @@ -390,6 +519,11 @@ 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 msgid "Making a Windows executable" @@ -449,7 +583,7 @@ msgstr "" #: ../../library/zipapp.rst:387 msgid "Caveats" -msgstr "" +msgstr "Advertência" #: ../../library/zipapp.rst:389 msgid "" @@ -471,6 +605,17 @@ 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 msgid "" @@ -493,7 +638,7 @@ msgstr "" #: ../../library/zipapp.rst:418 msgid "The Python Zip Application Archive Format" -msgstr "" +msgstr "O formato de arquivo da aplicação zip Python" #: ../../library/zipapp.rst:420 msgid "" @@ -505,6 +650,13 @@ 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 msgid "" @@ -512,10 +664,14 @@ msgid "" "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 msgid "Formally, the Python zip application format is therefore:" -msgstr "" +msgstr "Formalmente, o formato de aplicação zip Python é:" #: ../../library/zipapp.rst:433 msgid "" @@ -534,12 +690,19 @@ msgid "" "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 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 msgid "" @@ -547,3 +710,6 @@ msgid "" "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." diff --git a/library/zipfile.po b/library/zipfile.po index adaab2283..efd00b08d 100644 --- a/library/zipfile.po +++ b/library/zipfile.po @@ -1,32 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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 -# Welington Carlos , 2021 -# Claudio Rogerio Carvalho Filho , 2021 -# Giovana Morais , 2021 -# Christian Janiake , 2021 -# i17obot , 2021 -# Rafael Fontenelle , 2021 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.10\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-08-10 13:16+0000\n" -"PO-Revision-Date: 2021-06-28 01:18+0000\n" -"Last-Translator: Rafael Fontenelle , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-11-23 17:17+0000\n" +"PO-Revision-Date: 2025-09-22 15:58+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/zipfile.rst:2 msgid ":mod:`zipfile` --- Work with ZIP archives" @@ -46,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 "" @@ -96,17 +91,19 @@ msgstr "" #: ../../library/zipfile.rst:58 msgid "" -"A pathlib-compatible wrapper for zip files. See section :ref:`path-objects` " -"for details." +"Class that implements a subset of the interface provided by :class:`pathlib." +"Path`, including the full :class:`importlib.resources.abc.Traversable` " +"interface." msgstr "" -"Um wrapper compatível com pathlib para arquivos zip. Veja a seção :ref:`path-" -"objects` para detalhes." +"Classe que implementa um subconjunto da interface fornecida por :class:" +"`pathlib.Path`, incluindo a interface completa :class:`importlib.resources." +"abc.Traversable`." -#: ../../library/zipfile.rst:67 +#: ../../library/zipfile.rst:68 msgid "Class for creating ZIP archives containing Python libraries." msgstr "Classe para criar arquivos ZIP contendo bibliotecas Python." -#: ../../library/zipfile.rst:72 +#: ../../library/zipfile.rst:73 msgid "" "Class used to represent information about a member of an archive. Instances " "of this class are returned by the :meth:`.getinfo` and :meth:`.infolist` " @@ -126,25 +123,25 @@ msgstr "" "que descrevem o momento da última modificação no arquivo; os campos são " "descritos na seção :ref:`zipinfo-objects`." -#: ../../library/zipfile.rst:83 +#: ../../library/zipfile.rst:84 msgid "" "Returns ``True`` if *filename* is a valid ZIP file based on its magic " "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:86 +#: ../../library/zipfile.rst:87 msgid "Support for file and file-like objects." msgstr "Suporte para arquivo e objetos arquivo ou similares." -#: ../../library/zipfile.rst:92 +#: ../../library/zipfile.rst:93 msgid "The numeric constant for an uncompressed archive member." msgstr "Código numérico para um membro de um arquivo descompactado" -#: ../../library/zipfile.rst:97 +#: ../../library/zipfile.rst:98 msgid "" "The numeric constant for the usual ZIP compression method. This requires " "the :mod:`zlib` module." @@ -152,7 +149,7 @@ msgstr "" "Código numérico para o método de compactação usual. Requer o módulo :mod:" "`zlib` ." -#: ../../library/zipfile.rst:103 +#: ../../library/zipfile.rst:104 msgid "" "The numeric constant for the BZIP2 compression method. This requires the :" "mod:`bz2` module." @@ -160,7 +157,7 @@ msgstr "" "Código numérico para o método de compactação BZIP2. Requer o módulo :mod:" "`bz2`." -#: ../../library/zipfile.rst:110 +#: ../../library/zipfile.rst:111 msgid "" "The numeric constant for the LZMA compression method. This requires the :" "mod:`lzma` module." @@ -168,7 +165,7 @@ msgstr "" "Código numérico para o método de compactação LZMA. Requer o módulo :mod:" "`lzma`." -#: ../../library/zipfile.rst:117 +#: ../../library/zipfile.rst:118 msgid "" "The ZIP file format specification has included support for bzip2 compression " "since 2001, and for LZMA compression since 2006. However, some tools " @@ -182,11 +179,11 @@ msgstr "" "compactação, e podem recusar processar o arquivo ZIP como um todo, ou falhar " "em extrair arquivos individuais." -#: ../../library/zipfile.rst:128 +#: ../../library/zipfile.rst:129 msgid "`PKZIP Application Note`_" -msgstr "`PKZIP Notas da Aplicação`_" +msgstr "`Notas da Aplicação do PKZIP`_" -#: ../../library/zipfile.rst:127 +#: ../../library/zipfile.rst:128 msgid "" "Documentation on the ZIP file format by Phil Katz, the creator of the format " "and algorithms used." @@ -194,11 +191,11 @@ msgstr "" "Documentação do formato de arquivo ZIP feita por Phil Katz, criador do " "formato e dos algoritmos usados." -#: ../../library/zipfile.rst:131 +#: ../../library/zipfile.rst:132 msgid "`Info-ZIP Home Page `_" msgstr "`Info-ZIP Home Page `_" -#: ../../library/zipfile.rst:131 +#: ../../library/zipfile.rst:132 msgid "" "Information about the Info-ZIP project's ZIP archive programs and " "development libraries." @@ -206,11 +203,11 @@ msgstr "" "Informações sobre o programas de arquivamento e desenvolvimento de " "bibliotecas do projeto Info-ZIP." -#: ../../library/zipfile.rst:138 +#: ../../library/zipfile.rst:139 msgid "ZipFile Objects" msgstr "Objetos ZipFile" -#: ../../library/zipfile.rst:144 +#: ../../library/zipfile.rst:145 msgid "" "Open a ZIP file, where *file* can be a path to a file (a string), a file-" "like object or a :term:`path-like object`." @@ -219,7 +216,7 @@ msgstr "" "string), um objeto arquivo ou similar, ou um :term:`objeto caminho ou " "similar`." -#: ../../library/zipfile.rst:147 +#: ../../library/zipfile.rst:148 msgid "" "The *mode* parameter should be ``'r'`` to read an existing file, ``'w'`` to " "truncate and write a new file, ``'a'`` to append to an existing file, or " @@ -244,7 +241,7 @@ msgstr "" "``'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:159 +#: ../../library/zipfile.rst:160 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` " @@ -262,7 +259,7 @@ msgstr "" "mod:`bz2` ou :mod:`lzma`) não estiver disponível, é levado um :exc:" "`RuntimeError`. O valor padrão é :const:`ZIP_STORED`." -#: ../../library/zipfile.rst:167 +#: ../../library/zipfile.rst:168 msgid "" "If *allowZip64* is ``True`` (the default) zipfile will create ZIP files that " "use the ZIP64 extensions when the zipfile is larger than 4 GiB. If it is " @@ -274,7 +271,7 @@ msgstr "" "Se é ``false``, :mod:`zipfile` levanta uma exceção quando o arquivo ZIP " "precisaria das extensões ZIP64." -#: ../../library/zipfile.rst:172 +#: ../../library/zipfile.rst:173 msgid "" "The *compresslevel* parameter controls the compression level to use when " "writing files to the archive. When using :const:`ZIP_STORED` or :const:" @@ -290,7 +287,7 @@ msgstr "" "Quando usado :const:`ZIP_BZIP2` inteiros de ``1`` a ``9`` são aceitos (veja :" "class:`bz2 ` para mais informações)." -#: ../../library/zipfile.rst:180 ../../library/zipfile.rst:653 +#: ../../library/zipfile.rst:181 ../../library/zipfile.rst:667 msgid "" "The *strict_timestamps* argument, when set to ``False``, allows to zip files " "older than 1980-01-01 at the cost of setting the timestamp to 1980-01-01. " @@ -303,7 +300,7 @@ msgstr "" "mais recentes que 2107-12-31, o carimbo de data/hora também é definido como " "o limite." -#: ../../library/zipfile.rst:186 +#: ../../library/zipfile.rst:187 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 " @@ -311,9 +308,9 @@ msgid "" 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. " +"vazio será escrita no arquivo." -#: ../../library/zipfile.rst:190 +#: ../../library/zipfile.rst:191 msgid "" "ZipFile is also a context manager and therefore supports the :keyword:`with` " "statement. In the example, *myzip* is closed after the :keyword:`!with` " @@ -323,19 +320,19 @@ msgstr "" "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:197 +#: ../../library/zipfile.rst:198 msgid "Added the ability to use :class:`ZipFile` as a context manager." msgstr "Adicionado o uso de :class:`ZipFile` como um gerenciador de contexto." -#: ../../library/zipfile.rst:200 +#: ../../library/zipfile.rst:201 msgid "Added support for :mod:`bzip2 ` and :mod:`lzma` compression." msgstr "Adicionado suporte para compactação :mod:`bzip2 ` e :mod:`lzma`." -#: ../../library/zipfile.rst:203 ../../library/zipfile.rst:567 +#: ../../library/zipfile.rst:204 ../../library/zipfile.rst:581 msgid "ZIP64 extensions are enabled by default." msgstr "Extensões ZIP64 são habilitadas por padrão." -#: ../../library/zipfile.rst:206 +#: ../../library/zipfile.rst:207 msgid "" "Added support for writing to unseekable streams. Added support for the " "``'x'`` mode." @@ -343,7 +340,7 @@ msgstr "" "Adicionado suporte para escrever em streams não percorríveis. Adicionado " "suporte ao modo ``'x'``." -#: ../../library/zipfile.rst:210 +#: ../../library/zipfile.rst:211 msgid "" "Previously, a plain :exc:`RuntimeError` was raised for unrecognized " "compression values." @@ -351,19 +348,19 @@ msgstr "" "Anteriormente, um simples :exc:`RuntimeError` era levantado para valores de " "compactação desconhecidos." -#: ../../library/zipfile.rst:214 +#: ../../library/zipfile.rst:215 msgid "The *file* parameter accepts a :term:`path-like object`." -msgstr "O parâmetro *file* aceita um :term:`objeto caminho ou similar`. " +msgstr "O parâmetro *file* aceita um :term:`objeto caminho ou similar`." -#: ../../library/zipfile.rst:217 +#: ../../library/zipfile.rst:218 msgid "Add the *compresslevel* parameter." msgstr "Adicionado o parâmetro *compresslevel*." -#: ../../library/zipfile.rst:220 ../../library/zipfile.rst:664 +#: ../../library/zipfile.rst:221 ../../library/zipfile.rst:678 msgid "The *strict_timestamps* keyword-only argument" msgstr "O argumento somente-nomeado *strict_timestamps*" -#: ../../library/zipfile.rst:226 +#: ../../library/zipfile.rst:227 msgid "" "Close the archive file. You must call :meth:`close` before exiting your " "program or essential records will not be written." @@ -371,7 +368,7 @@ msgstr "" "Fecha o arquivo. Você deve chamar :meth:`close` antes de sair do seu " "programa ou registros essenciais não serão gravados." -#: ../../library/zipfile.rst:232 +#: ../../library/zipfile.rst:233 msgid "" "Return a :class:`ZipInfo` object with information about the archive member " "*name*. Calling :meth:`getinfo` for a name not currently contained in the " @@ -381,7 +378,7 @@ msgstr "" "do arquivo. Chamar :meth:`getinfo` para um nome não encontrado no arquivo " "levanta um :exc:`KeyError`." -#: ../../library/zipfile.rst:239 +#: ../../library/zipfile.rst:240 msgid "" "Return a list containing a :class:`ZipInfo` object for each member of the " "archive. The objects are in the same order as their entries in the actual " @@ -391,23 +388,25 @@ msgstr "" "arquivo. Os objetos estão na mesma ordem das entradas no arquivo ZIP em " "disco se um arquivo existente foi aberto." -#: ../../library/zipfile.rst:246 +#: ../../library/zipfile.rst:247 msgid "Return a list of archive members by name." msgstr "Retorna uma lista de membros do arquivo por nome." -#: ../../library/zipfile.rst:251 +#: ../../library/zipfile.rst:252 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." +"``'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 arquivo binário ou similar. " +"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) ou ``'w'``. " -"*pwd* é a senha usada para descriptografar arquivos ZIP criptografados." +"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:256 +#: ../../library/zipfile.rst:258 msgid "" ":meth:`~ZipFile.open` is also a context manager and therefore supports the :" "keyword:`with` statement::" @@ -415,21 +414,22 @@ msgstr "" ":meth:`~ZipFile.open` também é um gerenciador de contexto e, portanto, " "suporta a instrução :keyword:`with`::" -#: ../../library/zipfile.rst:263 +#: ../../library/zipfile.rst:265 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:`__iter__`, :meth:`~iterator.__next__`. These " -"objects can operate independently of the ZipFile." +"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 " -"para 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:`__iter__`, :meth:`~iterator." -"__next__`. Esses objetos podem operar independentemente do ZipFile." +"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:270 +#: ../../library/zipfile.rst:272 msgid "" "With ``mode='w'``, a writable file handle is returned, which supports the :" "meth:`~io.BufferedIOBase.write` method. While a writable file handle is " @@ -441,7 +441,7 @@ msgstr "" "modificável é aberto, tentativas de ler ou gravar outros arquivos no arquivo " "ZIP levanta um :exc:`ValueError`." -#: ../../library/zipfile.rst:275 +#: ../../library/zipfile.rst:277 msgid "" "When writing a file, if the file size is not known in advance but may exceed " "2 GiB, pass ``force_zip64=True`` to ensure that the header format is capable " @@ -450,12 +450,12 @@ 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*." -#: ../../library/zipfile.rst:283 +#: ../../library/zipfile.rst:285 msgid "" "The :meth:`.open`, :meth:`read` and :meth:`extract` methods can take a " "filename or a :class:`ZipInfo` object. You will appreciate this when trying " @@ -465,7 +465,7 @@ msgstr "" "nome de arquivo ou um objeto :class:`ZipInfo`. Você vai gostar disso quando " "tentar ler um arquivo ZIP que contém membros com nomes duplicados." -#: ../../library/zipfile.rst:287 +#: ../../library/zipfile.rst:289 msgid "" "Removed support of ``mode='U'``. Use :class:`io.TextIOWrapper` for reading " "compressed text files in :term:`universal newlines` mode." @@ -474,15 +474,15 @@ msgstr "" "leitura de arquivos texto compactados em modo de :term:`novas linhas " "universais`." -#: ../../library/zipfile.rst:291 +#: ../../library/zipfile.rst:293 msgid "" -":meth:`open` can now be used to write files into the archive with the " -"``mode='w'`` option." +":meth:`ZipFile.open` can now be used to write files into the archive with " +"the ``mode='w'`` option." msgstr "" -":meth:`open` agora pode ser usado para gravar arquivos com a opção " -"``mode='w'``." +":meth:`ZipFile.open` agora pode ser usado para escrever arquivos no aquivo " +"compactado com a opção ``mode='w'``." -#: ../../library/zipfile.rst:295 +#: ../../library/zipfile.rst:297 msgid "" "Calling :meth:`.open` on a closed ZipFile will raise a :exc:`ValueError`. " "Previously, a :exc:`RuntimeError` was raised." @@ -490,25 +490,26 @@ msgstr "" "Chama :meth:`.open` em um ZipFile fechado levanta um :exc:`ValueError`. " "Anteriormente, um :exc:`RuntimeError` era levantado." -#: ../../library/zipfile.rst:302 +#: ../../library/zipfile.rst:304 msgid "" "Extract a member from the archive to the current working directory; *member* " "must be its full name or a :class:`ZipInfo` object. Its file information is " "extracted as accurately as possible. *path* specifies a different directory " "to extract to. *member* can be a filename or a :class:`ZipInfo` object. " -"*pwd* is the password used for encrypted files." +"*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." +"`ZipInfo`. *pwd* é a senha usada para criptografar arquivos como um objeto :" +"class:`bytes`." -#: ../../library/zipfile.rst:308 +#: ../../library/zipfile.rst:310 msgid "Returns the normalized path created (a directory or new file)." msgstr "Retorna o caminho normalizado criado (um diretório ou novo arquivo)." -#: ../../library/zipfile.rst:312 +#: ../../library/zipfile.rst:314 msgid "" "If a member filename is an absolute path, a drive/UNC sharepoint and leading " "(back)slashes will be stripped, e.g.: ``///foo/bar`` becomes ``foo/bar`` on " @@ -526,7 +527,7 @@ msgstr "" "Windows caracteres ilegais (``:``, ``<``, ``>``, ``|``, ``\"``, ``?``, and " "``*``) são substituídos por underscore (``_``)." -#: ../../library/zipfile.rst:320 +#: ../../library/zipfile.rst:322 msgid "" "Calling :meth:`extract` on a closed ZipFile will raise a :exc:`ValueError`. " "Previously, a :exc:`RuntimeError` was raised." @@ -534,23 +535,24 @@ msgstr "" "Chama :meth:`extract` em um ZipFile fechado levanto um :exc:`ValueError`. " "Anteriormente, um :exc:`RuntimeError` era levantado." -#: ../../library/zipfile.rst:324 ../../library/zipfile.rst:347 +#: ../../library/zipfile.rst:326 ../../library/zipfile.rst:349 msgid "The *path* parameter accepts a :term:`path-like object`." msgstr "O parâmetro *path* aceita um :term:`objeto caminho ou similar`." -#: ../../library/zipfile.rst:330 +#: ../../library/zipfile.rst:332 msgid "" "Extract all members from the archive to the current working directory. " "*path* specifies a different directory to extract to. *members* is optional " "and must be a subset of the list returned by :meth:`namelist`. *pwd* is the " -"password used for encrypted files." +"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." +"`namelist`. *pwd* é uma senha usada para criptografar arquivos como um " +"objeto :class:`bytes`." -#: ../../library/zipfile.rst:337 +#: ../../library/zipfile.rst:339 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 " @@ -563,7 +565,7 @@ msgstr "" "dois pontos ``\"..\"``. Este módulo tenta prevenir isto. Veja nota em :meth:" "`extract`." -#: ../../library/zipfile.rst:343 +#: ../../library/zipfile.rst:345 msgid "" "Calling :meth:`extractall` on a closed ZipFile will raise a :exc:" "`ValueError`. Previously, a :exc:`RuntimeError` was raised." @@ -571,37 +573,42 @@ msgstr "" "Chama :meth:`extractall` em um ZipFile fechado levanta um :exc:`ValueError`. " "Anteriormente, um :exc:`RuntimeError` era levantado." -#: ../../library/zipfile.rst:353 +#: ../../library/zipfile.rst:355 msgid "Print a table of contents for the archive to ``sys.stdout``." msgstr "Imprime a tabela de conteúdos de um arquivo para ``sys.stdout``. " -#: ../../library/zipfile.rst:358 -msgid "Set *pwd* as default password to extract encrypted files." -msgstr "Define *pwd* como senha padrão para extrair arquivos criptografados." +#: ../../library/zipfile.rst:360 +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:363 +#: ../../library/zipfile.rst:365 msgid "" "Return the bytes of the file *name* in the archive. *name* is the name of " "the file in the archive, or a :class:`ZipInfo` object. The archive must be " -"open for read or append. *pwd* is the password used for encrypted files " -"and, if specified, it will override 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." +"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 "" "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 criptografar arquivos 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 é levanta se o módulo de " -"compactação correspondente não está disponível." +"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:372 +#: ../../library/zipfile.rst:374 msgid "" "Calling :meth:`read` on a closed ZipFile will raise a :exc:`ValueError`. " "Previously, a :exc:`RuntimeError` was raised." @@ -609,7 +616,7 @@ msgstr "" "Chama :meth:`read` em um ZipFile fechado levanta um :exc:`ValueError`. " "Anteriormente, um :exc:`RuntimeError` era levantado." -#: ../../library/zipfile.rst:379 +#: ../../library/zipfile.rst:381 msgid "" "Read all the files in the archive and check their CRC's and file headers. " "Return the name of the first bad file, or else return ``None``." @@ -618,7 +625,7 @@ msgstr "" "cabeçalhos de arquivo. Retorna o nome do primeiro arquivo corrompido, or " "então retorna ``None``." -#: ../../library/zipfile.rst:382 +#: ../../library/zipfile.rst:384 msgid "" "Calling :meth:`testzip` on a closed ZipFile will raise a :exc:`ValueError`. " "Previously, a :exc:`RuntimeError` was raised." @@ -626,7 +633,7 @@ msgstr "" "Chama :meth:`testzip` em um ZipFile fechado levanta um :exc:`ValueError`. " "Anteriormente, um :exc:`RuntimeError` era levantado." -#: ../../library/zipfile.rst:390 +#: ../../library/zipfile.rst:392 msgid "" "Write the file named *filename* to the archive, giving it the archive name " "*arcname* (by default, this will be the same as *filename*, but without a " @@ -644,7 +651,7 @@ msgstr "" "*compresslevel* vai sobrescrever o construtor se informado. O arquivo " "compactado deve ser aberto em modo ``'w'``, ``'x'`` ou ``'a'``." -#: ../../library/zipfile.rst:400 +#: ../../library/zipfile.rst:402 msgid "" "Archive names should be relative to the archive root, that is, they should " "not start with a path separator." @@ -652,7 +659,7 @@ msgstr "" "Nomes de arquivo compactado devem ser relativos a raiz do mesmo, isto é, não " "devem começar com um separador de caminho." -#: ../../library/zipfile.rst:405 +#: ../../library/zipfile.rst:407 msgid "" "If ``arcname`` (or ``filename``, if ``arcname`` is not given) contains a " "null byte, the name of the file in the archive will be truncated at the null " @@ -662,7 +669,7 @@ msgstr "" "byte nulo, o nome do arquivo no arquivo compactado será truncado no byte " "nulo." -#: ../../library/zipfile.rst:410 +#: ../../library/zipfile.rst:412 msgid "" "A leading slash in the filename may lead to the archive being impossible to " "open in some zip programs on Windows systems." @@ -670,7 +677,7 @@ msgstr "" "Uma barra inicial no nome do arquivo pode fazer com que o arquivo seja " "impossível de abrir em alguns programas zip em sistemas Windows." -#: ../../library/zipfile.rst:413 +#: ../../library/zipfile.rst:415 msgid "" "Calling :meth:`write` on a ZipFile created with mode ``'r'`` or a closed " "ZipFile will raise a :exc:`ValueError`. Previously, a :exc:`RuntimeError` " @@ -680,7 +687,7 @@ msgstr "" "fechado levanta um :exc:`ValueError`. Anteriormente, um :exc:`RuntimeError` " "era levantado" -#: ../../library/zipfile.rst:422 +#: ../../library/zipfile.rst:424 msgid "" "Write a file into the archive. The contents is *data*, which may be either " "a :class:`str` or a :class:`bytes` instance; if it is a :class:`str`, it is " @@ -698,7 +705,7 @@ msgstr "" "informados. Se é um nome, a data e hora recebem a data e hora atual. O " "arquivo compactado deve ser aberto em modo ``'w'``, ``'x'`` ou ``'a'``." -#: ../../library/zipfile.rst:430 +#: ../../library/zipfile.rst:432 msgid "" "If given, *compress_type* overrides the value given for the *compression* " "parameter to the constructor for the new entry, or in the *zinfo_or_arcname* " @@ -710,7 +717,7 @@ msgstr "" "instância de :class:`ZipInfo`). Da mesma forma, *compresslevel* vai " "sobrescrever o construtor se informado." -#: ../../library/zipfile.rst:437 +#: ../../library/zipfile.rst:439 msgid "" "When passing a :class:`ZipInfo` instance as the *zinfo_or_arcname* " "parameter, the compression method used will be that specified in the " @@ -723,11 +730,11 @@ msgstr "" "construtor da classe :class:`ZipInfo` seta este membro para :const:" "`ZIP_STORED`." -#: ../../library/zipfile.rst:442 +#: ../../library/zipfile.rst:444 msgid "The *compress_type* argument." msgstr "O argumento *compress_type*." -#: ../../library/zipfile.rst:445 +#: ../../library/zipfile.rst:447 msgid "" "Calling :meth:`writestr` on a ZipFile created with mode ``'r'`` or a closed " "ZipFile will raise a :exc:`ValueError`. Previously, a :exc:`RuntimeError` " @@ -737,25 +744,25 @@ msgstr "" "ZipFile fechado levanta um :exc:`ValueError`. Anteriormente, um :exc:" "`RuntimeError` era levantado." -#: ../../library/zipfile.rst:451 +#: ../../library/zipfile.rst:453 msgid "The following data attributes are also available:" msgstr "Os seguintes atributos de dados também estão disponíveis:" -#: ../../library/zipfile.rst:455 +#: ../../library/zipfile.rst:457 msgid "Name of the ZIP file." msgstr "Nome do arquivo ZIP." -#: ../../library/zipfile.rst:459 +#: ../../library/zipfile.rst:461 msgid "" "The level of debug output to use. This may be set from ``0`` (the default, " "no output) to ``3`` (the most output). Debugging information is written to " "``sys.stdout``." msgstr "" -"O nível de saída de debug para usar. Pode ser setado de `0`` (valor padrão, " +"O nível de saída de debug para usar. Pode ser setado de ``0`` (valor padrão, " "sem nenhuma saída) a ``3`` (com mais saída). A informação de debug é escrita " "em ``sys.stdout``." -#: ../../library/zipfile.rst:465 +#: ../../library/zipfile.rst:467 msgid "" "The comment associated with the ZIP file as a :class:`bytes` object. If " "assigning a comment to a :class:`ZipFile` instance created with mode " @@ -767,11 +774,11 @@ msgstr "" "``'w'``, ``'x'`` ou ``'a'``, não deve ser maior que 65535 bytes. Comentários " "mais longos do que isso serão truncados." -#: ../../library/zipfile.rst:475 +#: ../../library/zipfile.rst:477 msgid "Path Objects" msgstr "Objetos Path" -#: ../../library/zipfile.rst:479 +#: ../../library/zipfile.rst:481 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` " @@ -781,7 +788,7 @@ msgstr "" "uma instância :class:`ZipFile` ou ``file`` adequado para passar para o " "construtor :class:`ZipFile`)." -#: ../../library/zipfile.rst:483 +#: ../../library/zipfile.rst:485 msgid "" "``at`` specifies the location of this Path within the zipfile, e.g. 'dir/" "file.txt', 'dir/', or ''. Defaults to the empty string, indicating the root." @@ -790,22 +797,22 @@ msgstr "" "exemplo, \"dir/arquivo.txt\", \"dir/\" ou \"\". O padrão é a string vazia, " "indicando a raiz." -#: ../../library/zipfile.rst:487 +#: ../../library/zipfile.rst:489 msgid "" "Path objects expose the following features of :mod:`pathlib.Path` objects:" msgstr "" "Objetos Path expõem os seguintes recursos de objetos :mod:`pathlib.Path`:" -#: ../../library/zipfile.rst:490 +#: ../../library/zipfile.rst:492 msgid "Path objects are traversable using the ``/`` operator or ``joinpath``." msgstr "" "Objetos Path podem ser percorridos usando o operador ``/`` ou ``joinpath``." -#: ../../library/zipfile.rst:494 +#: ../../library/zipfile.rst:496 msgid "The final path component." msgstr "O componente final do caminho." -#: ../../library/zipfile.rst:498 +#: ../../library/zipfile.rst:500 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'. " @@ -814,32 +821,45 @@ msgid "" "``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 " +"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`." -#: ../../library/zipfile.rst:507 +#: ../../library/zipfile.rst:509 msgid "" "Added support for text and binary modes for open. Default mode is now text." msgstr "" "Adicionado suporte para modos de texto e binários para aberto. O modo padrão " "agora é texto." -#: ../../library/zipfile.rst:513 +#: ../../library/zipfile.rst:513 ../../library/zipfile.rst:543 +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." +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:521 msgid "Enumerate the children of the current directory." msgstr "Enumera os filhos do diretório atual." -#: ../../library/zipfile.rst:517 +#: ../../library/zipfile.rst:525 msgid "Return ``True`` if the current context references a directory." msgstr "Retorna ``True`` se o contexto atual fizer referência a um diretório." -#: ../../library/zipfile.rst:521 +#: ../../library/zipfile.rst:529 msgid "Return ``True`` if the current context references a file." msgstr "Retorna ``True`` se o contexto atual fizer referência a um arquivo." -#: ../../library/zipfile.rst:525 +#: ../../library/zipfile.rst:533 msgid "" "Return ``True`` if the current context references a file or directory in the " "zip file." @@ -847,7 +867,7 @@ msgstr "" "Retorna ``True`` se o contexto atual fizer referência a um arquivo ou " "diretório no arquivo zip." -#: ../../library/zipfile.rst:530 +#: ../../library/zipfile.rst:538 msgid "" "Read the current file as unicode text. Positional and keyword arguments are " "passed through to :class:`io.TextIOWrapper` (except ``buffer``, which is " @@ -857,11 +877,11 @@ msgstr "" "nomeados são passados para :class:`io.TextIOWrapper` (exceto ``buffer``, que " "está implícito no contexto)." -#: ../../library/zipfile.rst:537 +#: ../../library/zipfile.rst:551 msgid "Read the current file as bytes." msgstr "Lê o arquivo atual como bytes." -#: ../../library/zipfile.rst:541 +#: ../../library/zipfile.rst:555 msgid "" "Return a new Path object with each of the *other* arguments joined. The " "following are equivalent::" @@ -869,7 +889,7 @@ msgstr "" "Retorna um novo objeto Path com cada um dos *outros* argumentos unidos. Os " "seguintes são equivalentes::" -#: ../../library/zipfile.rst:548 +#: ../../library/zipfile.rst:562 msgid "" "Prior to 3.10, ``joinpath`` was undocumented and accepted exactly one " "parameter." @@ -877,11 +897,11 @@ msgstr "" "Antes de 3.10, ``joinpath`` não estava documentado e aceitava exatamente um " "parâmetro." -#: ../../library/zipfile.rst:556 +#: ../../library/zipfile.rst:570 msgid "PyZipFile Objects" msgstr "Objetos PyZipFile" -#: ../../library/zipfile.rst:558 +#: ../../library/zipfile.rst:572 msgid "" "The :class:`PyZipFile` constructor takes the same parameters as the :class:" "`ZipFile` constructor, and one additional parameter, *optimize*." @@ -889,17 +909,17 @@ msgstr "" "O construtor :class:`PyZipFile` usa os mesmos parâmetros que o construtor :" "class:`ZipFile`, e um parâmetro adicional, *otimize*." -#: ../../library/zipfile.rst:564 +#: ../../library/zipfile.rst:578 msgid "The *optimize* parameter." msgstr "O parâmetro *optimize*." -#: ../../library/zipfile.rst:570 +#: ../../library/zipfile.rst:584 msgid "" "Instances have one method in addition to those of :class:`ZipFile` objects:" msgstr "" "As instâncias têm um método além daqueles dos objetos :class:`ZipFile`:" -#: ../../library/zipfile.rst:574 +#: ../../library/zipfile.rst:588 msgid "" "Search for files :file:`\\*.py` and add the corresponding file to the " "archive." @@ -907,7 +927,7 @@ msgstr "" "Pesquisa por arquivos :file:`\\*.py` e adiciona o arquivo correspondente ao " "arquivo." -#: ../../library/zipfile.rst:577 +#: ../../library/zipfile.rst:591 msgid "" "If the *optimize* parameter to :class:`PyZipFile` was not given or ``-1``, " "the corresponding file is a :file:`\\*.pyc` file, compiling if necessary." @@ -916,7 +936,7 @@ msgstr "" "``-1``, o arquivo correspondente é um arquivo :file:`\\*.pyc`, compilando se " "necessário." -#: ../../library/zipfile.rst:580 +#: ../../library/zipfile.rst:594 msgid "" "If the *optimize* parameter to :class:`PyZipFile` was ``0``, ``1`` or ``2``, " "only files with that optimization level (see :func:`compile`) are added to " @@ -926,7 +946,7 @@ msgstr "" "apenas arquivos com esse nível de otimização (ver :func:`compile`) são " "adicionados ao o arquivo, compilando se necessário." -#: ../../library/zipfile.rst:584 +#: ../../library/zipfile.rst:598 msgid "" "If *pathname* is a file, the filename must end with :file:`.py`, and just " "the (corresponding :file:`\\*.pyc`) file is added at the top level (no path " @@ -949,11 +969,11 @@ msgstr "" "diretório de pacotes, todos serão adicionados recursivamente na ordem de " "classificação." -#: ../../library/zipfile.rst:594 +#: ../../library/zipfile.rst:608 msgid "*basename* is intended for internal use only." msgstr "*basename* destina-se apenas a uso interno." -#: ../../library/zipfile.rst:596 +#: ../../library/zipfile.rst:610 msgid "" "*filterfunc*, if given, must be a function taking a single string argument. " "It will be passed each path (including each individual full file path) " @@ -971,29 +991,29 @@ msgstr "" "arquivos de teste estão todos nos diretórios ``test`` ou começam com a " "string ``test_``, podemos usar um *filterfunc* para excluí-los::" -#: ../../library/zipfile.rst:610 +#: ../../library/zipfile.rst:624 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:619 +#: ../../library/zipfile.rst:633 msgid "The *filterfunc* parameter." msgstr "O parâmetro *filterfunc*." -#: ../../library/zipfile.rst:622 +#: ../../library/zipfile.rst:636 msgid "The *pathname* parameter accepts a :term:`path-like object`." msgstr "" "O parâmetro *pathname* aceita um :term:`objeto caminho ou similar `." -#: ../../library/zipfile.rst:625 +#: ../../library/zipfile.rst:639 msgid "Recursion sorts directory entries." msgstr "A recursão classifica as entradas de diretório." -#: ../../library/zipfile.rst:632 +#: ../../library/zipfile.rst:646 msgid "ZipInfo Objects" msgstr "Objetos ZipInfo" -#: ../../library/zipfile.rst:634 +#: ../../library/zipfile.rst:648 msgid "" "Instances of the :class:`ZipInfo` class are returned by the :meth:`.getinfo` " "and :meth:`.infolist` methods of :class:`ZipFile` objects. Each object " @@ -1003,7 +1023,7 @@ msgstr "" "getinfo` e :meth:`.infolist` dos objetos :class:`ZipFile`. Cada objeto " "armazena informações sobre um único membro do arquivo ZIP." -#: ../../library/zipfile.rst:638 +#: ../../library/zipfile.rst:652 msgid "" "There is one classmethod to make a :class:`ZipInfo` instance for a " "filesystem file:" @@ -1011,7 +1031,7 @@ msgstr "" "Existe um método de classe para fazer uma instância :class:`ZipInfo` para um " "arquivo de sistema de arquivos:" -#: ../../library/zipfile.rst:644 +#: ../../library/zipfile.rst:658 msgid "" "Construct a :class:`ZipInfo` instance for a file on the filesystem, in " "preparation for adding it to a zip file." @@ -1019,13 +1039,13 @@ msgstr "" "Constrói uma instância :class:`ZipInfo` para um arquivo no sistema de " "arquivos, em preparação para adicioná-lo a um arquivo zip." -#: ../../library/zipfile.rst:647 +#: ../../library/zipfile.rst:661 msgid "*filename* should be the path to a file or directory on the filesystem." msgstr "" "*filename* deve ser o caminho para um arquivo ou diretório no sistema de " "arquivos." -#: ../../library/zipfile.rst:649 +#: ../../library/zipfile.rst:663 msgid "" "If *arcname* is specified, it is used as the name within the archive. If " "*arcname* is not specified, the name will be the same as *filename*, but " @@ -1035,30 +1055,30 @@ msgstr "" "Se *arcname* não for especificado, o nome será igual a *filename*, mas com " "qualquer letra de unidade e separadores de caminho removidos." -#: ../../library/zipfile.rst:661 +#: ../../library/zipfile.rst:675 msgid "The *filename* parameter accepts a :term:`path-like object`." msgstr "" "O parâmetro *filename* aceita um :term:`objeto caminho ou similar `." -#: ../../library/zipfile.rst:668 +#: ../../library/zipfile.rst:682 msgid "Instances have the following methods and attributes:" msgstr "As instâncias têm os seguintes métodos e atributos:" -#: ../../library/zipfile.rst:672 +#: ../../library/zipfile.rst:686 msgid "Return ``True`` if this archive member is a directory." msgstr "Retorna ``True`` se este membro do arquivo for um diretório." -#: ../../library/zipfile.rst:674 +#: ../../library/zipfile.rst:688 msgid "This uses the entry's name: directories should always end with ``/``." msgstr "" "Isso usa o nome da entrada: os diretórios devem sempre terminar com ``/``." -#: ../../library/zipfile.rst:681 +#: ../../library/zipfile.rst:695 msgid "Name of the file in the archive." msgstr "Nome do arquivo no pacote." -#: ../../library/zipfile.rst:686 +#: ../../library/zipfile.rst:700 msgid "" "The time and date of the last modification to the archive member. This is a " "tuple of six values:" @@ -1066,78 +1086,78 @@ msgstr "" "A hora e a data da última modificação do membro do arquivo. Esta é uma tupla " "de seis valores:" -#: ../../library/zipfile.rst:690 +#: ../../library/zipfile.rst:704 msgid "Index" msgstr "Índice" -#: ../../library/zipfile.rst:690 +#: ../../library/zipfile.rst:704 msgid "Value" msgstr "Valor" -#: ../../library/zipfile.rst:692 +#: ../../library/zipfile.rst:706 msgid "``0``" msgstr "``0``" -#: ../../library/zipfile.rst:692 +#: ../../library/zipfile.rst:706 msgid "Year (>= 1980)" msgstr "Ano (>= 1980)" -#: ../../library/zipfile.rst:694 +#: ../../library/zipfile.rst:708 msgid "``1``" msgstr "``1``" -#: ../../library/zipfile.rst:694 +#: ../../library/zipfile.rst:708 msgid "Month (one-based)" msgstr "Mês (iniciado em 1)" -#: ../../library/zipfile.rst:696 +#: ../../library/zipfile.rst:710 msgid "``2``" msgstr "``2``" -#: ../../library/zipfile.rst:696 +#: ../../library/zipfile.rst:710 msgid "Day of month (one-based)" msgstr "Dia do mês (iniciado em 1)" -#: ../../library/zipfile.rst:698 +#: ../../library/zipfile.rst:712 msgid "``3``" msgstr "``3``" -#: ../../library/zipfile.rst:698 +#: ../../library/zipfile.rst:712 msgid "Hours (zero-based)" msgstr "Horas (iniciado em 0)" -#: ../../library/zipfile.rst:700 +#: ../../library/zipfile.rst:714 msgid "``4``" msgstr "``4``" -#: ../../library/zipfile.rst:700 +#: ../../library/zipfile.rst:714 msgid "Minutes (zero-based)" msgstr "Minutos (base zero)" -#: ../../library/zipfile.rst:702 +#: ../../library/zipfile.rst:716 msgid "``5``" msgstr "``5``" -#: ../../library/zipfile.rst:702 +#: ../../library/zipfile.rst:716 msgid "Seconds (zero-based)" msgstr "Segundos (iniciado em 0)" -#: ../../library/zipfile.rst:707 +#: ../../library/zipfile.rst:721 msgid "The ZIP file format does not support timestamps before 1980." msgstr "" "O formato de arquivo ZIP não oferece suporte a carimbos de data/hora " "anteriores a 1980." -#: ../../library/zipfile.rst:712 +#: ../../library/zipfile.rst:726 msgid "Type of compression for the archive member." msgstr "Tipo de compressão do membro do pacote." -#: ../../library/zipfile.rst:717 +#: ../../library/zipfile.rst:731 msgid "Comment for the individual archive member as a :class:`bytes` object." msgstr "" "Comentário para o membro individual do pacote como um objeto :class:`bytes`." -#: ../../library/zipfile.rst:722 +#: ../../library/zipfile.rst:736 msgid "" "Expansion field data. The `PKZIP Application Note`_ contains some comments " "on the internal structure of the data contained in this :class:`bytes` " @@ -1147,59 +1167,59 @@ msgstr "" "comentários sobre a estrutura interna dos dados contidos neste objeto :class:" "`bytes`." -#: ../../library/zipfile.rst:729 +#: ../../library/zipfile.rst:743 msgid "System which created ZIP archive." msgstr "O sistema que criou o pacote ZIP." -#: ../../library/zipfile.rst:734 +#: ../../library/zipfile.rst:748 msgid "PKZIP version which created ZIP archive." msgstr "A versão do PKZIP que criou o pacote ZIP." -#: ../../library/zipfile.rst:739 +#: ../../library/zipfile.rst:753 msgid "PKZIP version needed to extract archive." msgstr "A versão do PKZIP necessária para extrair o pacote." -#: ../../library/zipfile.rst:744 +#: ../../library/zipfile.rst:758 msgid "Must be zero." msgstr "Deve ser zero" -#: ../../library/zipfile.rst:749 +#: ../../library/zipfile.rst:763 msgid "ZIP flag bits." msgstr "Bits de sinalizador do ZIP." -#: ../../library/zipfile.rst:754 +#: ../../library/zipfile.rst:768 msgid "Volume number of file header." msgstr "Número de volume do cabeçalho do arquivo." -#: ../../library/zipfile.rst:759 +#: ../../library/zipfile.rst:773 msgid "Internal attributes." msgstr "Atributos internos." -#: ../../library/zipfile.rst:764 +#: ../../library/zipfile.rst:778 msgid "External file attributes." msgstr "Atributos de arquivo externo." -#: ../../library/zipfile.rst:769 +#: ../../library/zipfile.rst:783 msgid "Byte offset to the file header." msgstr "Deslocamento de byte para o cabeçalho do arquivo." -#: ../../library/zipfile.rst:774 +#: ../../library/zipfile.rst:788 msgid "CRC-32 of the uncompressed file." msgstr "CRC-32 do arquivo não comprimido." -#: ../../library/zipfile.rst:779 +#: ../../library/zipfile.rst:793 msgid "Size of the compressed data." msgstr "Tamanho dos dados comprimidos." -#: ../../library/zipfile.rst:784 +#: ../../library/zipfile.rst:798 msgid "Size of the uncompressed file." msgstr "Tamanho do arquivo não comprimido." -#: ../../library/zipfile.rst:791 +#: ../../library/zipfile.rst:805 msgid "Command-Line Interface" -msgstr "Interface de Linha de Comando" +msgstr "Interface de linha de comando" -#: ../../library/zipfile.rst:793 +#: ../../library/zipfile.rst:807 msgid "" "The :mod:`zipfile` module provides a simple command-line interface to " "interact with ZIP archives." @@ -1207,7 +1227,7 @@ msgstr "" "O módulo :mod:`zipfile` fornece uma interface de linha de comando simples " "para interagir com arquivos ZIP." -#: ../../library/zipfile.rst:796 +#: ../../library/zipfile.rst:810 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:" @@ -1216,11 +1236,11 @@ msgstr "" "option:`-c` e, em seguida, liste os nomes dos arquivos que devem ser " "incluídos:" -#: ../../library/zipfile.rst:803 +#: ../../library/zipfile.rst:817 msgid "Passing a directory is also acceptable:" msgstr "Passar um diretório também é aceitável:" -#: ../../library/zipfile.rst:809 +#: ../../library/zipfile.rst:823 msgid "" "If you want to extract a ZIP archive into the specified directory, use the :" "option:`-e` option:" @@ -1228,37 +1248,37 @@ msgstr "" "Se você deseja extrair um arquivo ZIP para o diretório especificado, use a " "opção :option:`-e`:" -#: ../../library/zipfile.rst:816 +#: ../../library/zipfile.rst:830 msgid "For a list of the files in a ZIP archive, use the :option:`-l` option:" msgstr "" "Para obter uma lista dos arquivos em um arquivo ZIP, use a opção :option:`-" "l`:" -#: ../../library/zipfile.rst:824 +#: ../../library/zipfile.rst:838 msgid "Command-line options" msgstr "Opções de linha de comando" -#: ../../library/zipfile.rst:829 +#: ../../library/zipfile.rst:843 msgid "List files in a zipfile." msgstr "Lista arquivos em um arquivo zip." -#: ../../library/zipfile.rst:834 +#: ../../library/zipfile.rst:848 msgid "Create zipfile from source files." msgstr "Cria um arquivo zip a partir dos arquivos fonte." -#: ../../library/zipfile.rst:839 +#: ../../library/zipfile.rst:853 msgid "Extract zipfile into target directory." msgstr "Extrai um arquivo zip para um diretório de destino." -#: ../../library/zipfile.rst:844 +#: ../../library/zipfile.rst:858 msgid "Test whether the zipfile is valid or not." msgstr "Testa se o arquivo zip é válido ou não." -#: ../../library/zipfile.rst:847 +#: ../../library/zipfile.rst:861 msgid "Decompression pitfalls" msgstr "Armadilhas de descompressão" -#: ../../library/zipfile.rst:849 +#: ../../library/zipfile.rst:863 msgid "" "The extraction in zipfile module might fail due to some pitfalls listed " "below." @@ -1266,11 +1286,11 @@ msgstr "" "A extração no módulo zipfile pode falhar devido a algumas armadilhas " "listadas abaixo." -#: ../../library/zipfile.rst:852 +#: ../../library/zipfile.rst:866 msgid "From file itself" msgstr "Do próprio arquivo" -#: ../../library/zipfile.rst:854 +#: ../../library/zipfile.rst:868 msgid "" "Decompression may fail due to incorrect password / CRC checksum / ZIP format " "or unsupported compression method / decryption." @@ -1279,11 +1299,11 @@ msgstr "" "formato ZIP incorretos ou método de compactação / descriptografia não " "compatível." -#: ../../library/zipfile.rst:858 +#: ../../library/zipfile.rst:872 msgid "File System limitations" msgstr "Limitações do sistema de arquivos" -#: ../../library/zipfile.rst:860 +#: ../../library/zipfile.rst:874 msgid "" "Exceeding limitations on different file systems can cause decompression " "failed. Such as allowable characters in the directory entries, length of the " @@ -1295,11 +1315,11 @@ msgstr "" "comprimento do nome do arquivo, comprimento do caminho, tamanho de um único " "arquivo e número de arquivos, etc." -#: ../../library/zipfile.rst:867 +#: ../../library/zipfile.rst:881 msgid "Resources limitations" msgstr "Limitações de recursos" -#: ../../library/zipfile.rst:869 +#: ../../library/zipfile.rst:883 msgid "" "The lack of memory or disk volume would lead to decompression failed. For " "example, decompression bombs (aka `ZIP bomb`_) apply to zipfile library that " @@ -1310,11 +1330,11 @@ msgstr "" "aplicam-se à biblioteca de arquivos zip que podem causar o esgotamento do " "volume do disco." -#: ../../library/zipfile.rst:874 +#: ../../library/zipfile.rst:888 msgid "Interruption" msgstr "Interrupção" -#: ../../library/zipfile.rst:876 +#: ../../library/zipfile.rst:890 msgid "" "Interruption during the decompression, such as pressing control-C or killing " "the decompression process may result in incomplete decompression of the " @@ -1324,11 +1344,11 @@ msgstr "" "interromper o processo de descompressão pode resultar na descompressão " "incompleta do arquivo." -#: ../../library/zipfile.rst:880 +#: ../../library/zipfile.rst:894 msgid "Default behaviors of extraction" msgstr "Comportamentos padrão da extração" -#: ../../library/zipfile.rst:882 +#: ../../library/zipfile.rst:896 msgid "" "Not knowing the default extraction behaviors can cause unexpected " "decompression results. For example, when extracting the same archive twice, " diff --git a/library/zipimport.po b/library/zipimport.po index 60b241ec5..729f1feda 100644 --- a/library/zipimport.po +++ b/library/zipimport.po @@ -1,29 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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 -# Christian Janiake , 2021 -# i17obot , 2021 +# python-doc bot, 2025 # #, 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:18+0000\n" -"Last-Translator: i17obot , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:58+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/zipimport.rst:2 msgid ":mod:`zipimport` --- Import modules from Zip archives" @@ -31,7 +29,7 @@ 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 "" @@ -41,6 +39,11 @@ msgid "" "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 "" @@ -52,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 only files :file:`.py` and :" -"file:`.pyc` are available for import. 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 "" +"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 " +"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 "" @@ -83,7 +104,7 @@ 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 "" @@ -92,33 +113,41 @@ msgid "" "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." 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 "" @@ -128,22 +157,31 @@ msgid "" "`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." 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`." @@ -164,19 +202,23 @@ 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`." @@ -187,6 +229,9 @@ 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 "" @@ -194,13 +239,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." 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 @@ -209,28 +257,36 @@ 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 "" @@ -238,6 +294,9 @@ msgid "" "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" @@ -248,3 +307,5 @@ msgid "" "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 5f21e6647..f9a7cce3b 100644 --- a/library/zlib.po +++ b/library/zlib.po @@ -1,27 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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.10\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-06-29 12:56+0000\n" -"PO-Revision-Date: 2021-06-28 01:18+0000\n" -"Last-Translator: i17obot , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-10-11 17:05+0000\n" +"PO-Revision-Date: 2025-09-22 15:58+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/zlib.rst:2 msgid ":mod:`zlib` --- Compression compatible with :program:`gzip`" @@ -36,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 "" @@ -88,13 +95,11 @@ msgstr "" #: ../../library/zlib.rst:44 msgid "" -"Always returns an unsigned value. To generate the same numeric value across " -"all Python versions and platforms, use ``adler32(data) & 0xffffffff``." +"The result is always unsigned. To generate the same numeric value when using " +"Python 2 or earlier, use ``adler32(data) & 0xffffffff``." msgstr "" -"Sempre retorna um valor sem sinal. Para gerar o mesmo valor numérico em " -"todas as versões e plataformas do Python, use ``adler32(data) & 0xffffffff``." -#: ../../library/zlib.rst:52 +#: ../../library/zlib.rst:51 msgid "" "Compresses the bytes in *data*, returning a bytes object containing " "compressed data. *level* is an integer from ``0`` to ``9`` or ``-1`` " @@ -114,11 +119,11 @@ msgstr "" "compromisso padrão entre velocidade e compactação (atualmente equivalente ao " "nível 6). Levanta a exceção :exc:`error` se ocorrer algum erro." -#: ../../library/zlib.rst:60 +#: ../../library/zlib.rst:59 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:66 +#: ../../library/zlib.rst:65 msgid "" "Returns a compression object, to be used for compressing data streams that " "won't fit into memory at once." @@ -126,7 +131,7 @@ msgstr "" "Retorna um objeto de compactação, a ser usado para compactar fluxos de dados " "que não cabem na memória de uma só vez." -#: ../../library/zlib.rst:69 +#: ../../library/zlib.rst:68 msgid "" "*level* is the compression level -- an integer from ``0`` to ``9`` or " "``-1``. A value of ``1`` (Z_BEST_SPEED) is fastest and produces the least " @@ -144,7 +149,7 @@ msgstr "" "meio termo padrão entre velocidade e compactação (atualmente equivalente ao " "nível 6)." -#: ../../library/zlib.rst:76 +#: ../../library/zlib.rst:75 msgid "" "*method* is the compression algorithm. Currently, the only supported value " "is :const:`DEFLATED`." @@ -152,7 +157,7 @@ msgstr "" "*method* é o algoritmo de compactação. Atualmente, o único valor suportado " "é :const:`DEFLATED`." -#: ../../library/zlib.rst:79 +#: ../../library/zlib.rst:78 msgid "" "The *wbits* argument controls the size of the history buffer (or the " "\"window size\") used when compressing data, and whether a header and " @@ -164,7 +169,7 @@ msgstr "" "trailer estão incluídos na saída. Pode levar vários intervalos de valores, " "padronizando para ``15`` (MAX_WBITS):" -#: ../../library/zlib.rst:84 +#: ../../library/zlib.rst:83 msgid "" "+9 to +15: The base-two logarithm of the window size, which therefore ranges " "between 512 and 32768. Larger values produce better compression at the " @@ -176,7 +181,7 @@ msgstr "" "de memória. A saída resultante incluirá um cabeçalho e uma sequência " "específicos para zlib." -#: ../../library/zlib.rst:89 +#: ../../library/zlib.rst:88 msgid "" "−9 to −15: Uses the absolute value of *wbits* as the window size logarithm, " "while producing a raw output stream with no header or trailing checksum." @@ -185,7 +190,7 @@ msgstr "" "janela, enquanto produz um fluxo de saída bruto sem cabeçalho ou soma de " "verificação à direita." -#: ../../library/zlib.rst:93 +#: ../../library/zlib.rst:92 msgid "" "+25 to +31 = 16 + (9 to 15): Uses the low 4 bits of the value as the window " "size logarithm, while including a basic :program:`gzip` header and trailing " @@ -195,7 +200,7 @@ msgstr "" "tamanho da janela, incluindo um cabeçalho básico :program:`gzip` e a soma de " "verificação à direita na saída." -#: ../../library/zlib.rst:97 +#: ../../library/zlib.rst:96 msgid "" "The *memLevel* argument controls the amount of memory used for the internal " "compression state. Valid values range from ``1`` to ``9``. Higher values use " @@ -206,7 +211,7 @@ msgstr "" "mais altos usam mais memória, mas são mais rápidos e produzem uma saída " "menor." -#: ../../library/zlib.rst:101 +#: ../../library/zlib.rst:100 msgid "" "*strategy* is used to tune the compression algorithm. Possible values are :" "const:`Z_DEFAULT_STRATEGY`, :const:`Z_FILTERED`, :const:`Z_HUFFMAN_ONLY`, :" @@ -217,7 +222,7 @@ msgstr "" "`Z_HUFFMAN_ONLY`, :const:`Z_RLE` (zlib 1.2.0.1) e :const:`Z_FIXED` (zlib " "1.2.2.2)." -#: ../../library/zlib.rst:105 +#: ../../library/zlib.rst:104 msgid "" "*zdict* is a predefined compression dictionary. This is a sequence of bytes " "(such as a :class:`bytes` object) containing subsequences that are expected " @@ -229,11 +234,11 @@ msgstr "" "que ocorram com frequência nos dados a serem compactados. As subsequências " "que se espera serem mais comuns devem aparecer no final do dicionário." -#: ../../library/zlib.rst:110 +#: ../../library/zlib.rst:109 msgid "Added the *zdict* parameter and keyword argument support." msgstr "Adicionado o suporte ao parâmetro e argumento nomeado *zdict*." -#: ../../library/zlib.rst:120 +#: ../../library/zlib.rst:119 msgid "" "Computes a CRC (Cyclic Redundancy Check) checksum of *data*. The result is " "an unsigned 32-bit integer. If *value* is present, it is used as the " @@ -254,15 +259,13 @@ msgstr "" "projetado para uso como um algoritmo de soma de verificação, não é adequado " "para uso como um algoritmo de hash geral." -#: ../../library/zlib.rst:129 +#: ../../library/zlib.rst:128 msgid "" -"Always returns an unsigned value. To generate the same numeric value across " -"all Python versions and platforms, use ``crc32(data) & 0xffffffff``." +"The result is always unsigned. To generate the same numeric value when using " +"Python 2 or earlier, use ``crc32(data) & 0xffffffff``." msgstr "" -"Sempre retorna um valor sem sinal. Para gerar o mesmo valor numérico em " -"todas as versões e plataformas do Python, use ``crc32(data) & 0xffffffff``." -#: ../../library/zlib.rst:137 +#: ../../library/zlib.rst:135 msgid "" "Decompresses the bytes in *data*, returning a bytes object containing the " "uncompressed data. The *wbits* parameter depends on the format of *data*, " @@ -276,7 +279,7 @@ msgstr "" "tamanho inicial do buffer de saída. Levanta a exceção :exc:`error` se " "ocorrer algum erro." -#: ../../library/zlib.rst:145 +#: ../../library/zlib.rst:143 msgid "" "The *wbits* parameter controls the size of the history buffer (or \"window " "size\"), and what header and trailer format is expected. It is similar to " @@ -287,7 +290,7 @@ msgstr "" "semelhante ao parâmetro para :func:`compressobj`, mas aceita mais intervalos " "de valores:" -#: ../../library/zlib.rst:150 +#: ../../library/zlib.rst:148 msgid "" "+8 to +15: The base-two logarithm of the window size. The input must " "include a zlib header and trailer." @@ -295,7 +298,7 @@ msgstr "" "+8 a +15: O logaritmo de base dois do tamanho da janela. A entrada deve " "incluir um cabeçalho e uma sequência de zlib." -#: ../../library/zlib.rst:153 +#: ../../library/zlib.rst:151 msgid "" "0: Automatically determine the window size from the zlib header. Only " "supported since zlib 1.2.3.5." @@ -303,7 +306,7 @@ msgstr "" "0: Determina automaticamente o tamanho da janela no cabeçalho zlib. " "Suportado apenas desde o zlib 1.2.3.5." -#: ../../library/zlib.rst:156 +#: ../../library/zlib.rst:154 msgid "" "−8 to −15: Uses the absolute value of *wbits* as the window size logarithm. " "The input must be a raw stream with no header or trailer." @@ -311,7 +314,7 @@ msgstr "" "−8 a −15: Usa o valor absoluto de *wbits* como o logaritmo do tamanho da " "janela. A entrada deve ser um fluxo bruto sem cabeçalho ou sequência." -#: ../../library/zlib.rst:159 +#: ../../library/zlib.rst:157 msgid "" "+24 to +31 = 16 + (8 to 15): Uses the low 4 bits of the value as the window " "size logarithm. The input must include a gzip header and trailer." @@ -319,7 +322,7 @@ msgstr "" "+24 a +31 = 16 + (8 a 15): Usa os 4 bits baixos do valor como logaritmo do " "tamanho da janela. A entrada deve incluir um cabeçalho e sequência de gzip." -#: ../../library/zlib.rst:163 +#: ../../library/zlib.rst:161 msgid "" "+40 to +47 = 32 + (8 to 15): Uses the low 4 bits of the value as the window " "size logarithm, and automatically accepts either the zlib or gzip format." @@ -327,7 +330,7 @@ msgstr "" "+40 a +47 = 32 + (8 a 15): Usa os 4 bits baixos do valor como logaritmo do " "tamanho da janela e aceita automaticamente o formato zlib ou gzip." -#: ../../library/zlib.rst:167 +#: ../../library/zlib.rst:165 msgid "" "When decompressing a stream, the window size must not be smaller than the " "size originally used to compress the stream; using a too-small value may " @@ -341,7 +344,7 @@ msgstr "" "corresponde ao maior tamanho da janela e requer que um cabeçalho e uma " "sequência de zlib sejam incluídos." -#: ../../library/zlib.rst:173 +#: ../../library/zlib.rst:171 msgid "" "*bufsize* is the initial size of the buffer used to hold decompressed data. " "If more space is required, the buffer size will be increased as needed, so " @@ -354,54 +357,71 @@ msgstr "" "exatamente correto; sintonizando, apenas algumas chamadas serão salvas em :c:" "func:`malloc`." -#: ../../library/zlib.rst:178 +#: ../../library/zlib.rst:176 msgid "*wbits* and *bufsize* can be used as keyword arguments." -msgstr "" +msgstr "*wbits* e *bufsize* podem ser usados como argumentos nomeados." -#: ../../library/zlib.rst:183 +#: ../../library/zlib.rst:181 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:186 +#: ../../library/zlib.rst:184 msgid "" "The *wbits* parameter controls the size of the history buffer (or the " "\"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:190 +#: ../../library/zlib.rst:188 msgid "" "The *zdict* parameter specifies a predefined compression dictionary. If " "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:196 +#: ../../library/zlib.rst:194 msgid "" "If *zdict* is a mutable object (such as a :class:`bytearray`), you must not " "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:200 +#: ../../library/zlib.rst:198 msgid "Added the *zdict* parameter." msgstr "Adicionado o parâmetro *zdict*." -#: ../../library/zlib.rst:204 +#: ../../library/zlib.rst:202 msgid "Compression objects support the following methods:" -msgstr "" +msgstr "Um objeto do tipo Compress oferece suporte aos seguintes métodos:" -#: ../../library/zlib.rst:209 +#: ../../library/zlib.rst:207 msgid "" "Compress *data*, returning a bytes object containing compressed data for at " "least part of the data in *data*. This data should be concatenated to the " "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:217 +#: ../../library/zlib.rst:215 msgid "" "All pending input is processed, and a bytes object containing the remaining " "compressed output is returned. *mode* can be selected from the constants :" @@ -414,32 +434,51 @@ msgid "" "`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:230 +#: ../../library/zlib.rst:228 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:234 +#: ../../library/zlib.rst:232 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:239 +#: ../../library/zlib.rst:237 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:244 +#: ../../library/zlib.rst:242 msgid "" "A bytes object which contains any bytes past the end of the compressed data. " "That is, this remains ``b\"\"`` until the last byte that contains " "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:252 +#: ../../library/zlib.rst:250 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 " @@ -447,20 +486,29 @@ msgid "" "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:261 +#: ../../library/zlib.rst:259 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:264 +#: ../../library/zlib.rst:262 msgid "" -"This makes it possible to distinguish between a properly-formed compressed " +"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:272 +#: ../../library/zlib.rst:270 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 " @@ -468,8 +516,14 @@ msgid "" "`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:278 +#: ../../library/zlib.rst:276 msgid "" "If the optional parameter *max_length* is non-zero then the return value " "will be no longer than *max_length*. This may mean that not all of the " @@ -479,77 +533,104 @@ msgid "" "*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:285 +#: ../../library/zlib.rst:283 msgid "*max_length* can be used as a keyword argument." -msgstr "" +msgstr "*max_length* pode ser usado como argumento nomeado." -#: ../../library/zlib.rst:291 +#: ../../library/zlib.rst:289 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." 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:296 +#: ../../library/zlib.rst:294 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:301 +#: ../../library/zlib.rst:299 msgid "" "Returns a copy of the decompression object. This can be used to save the " "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:306 +#: ../../library/zlib.rst:304 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:311 +#: ../../library/zlib.rst:309 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:317 +#: ../../library/zlib.rst:315 msgid "" "The version string of the zlib library that was used for building the " "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:324 +#: ../../library/zlib.rst:322 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:332 +#: ../../library/zlib.rst:330 msgid "Module :mod:`gzip`" -msgstr "" +msgstr "módulo :mod:`gzip`" -#: ../../library/zlib.rst:332 +#: ../../library/zlib.rst:330 msgid "Reading and writing :program:`gzip`\\ -format files." -msgstr "" +msgstr "Leia e escreva arquivos no formato :program:`gzip`" -#: ../../library/zlib.rst:335 +#: ../../library/zlib.rst:333 msgid "http://www.zlib.net" msgstr "http://www.zlib.net" -#: ../../library/zlib.rst:335 +#: ../../library/zlib.rst:333 msgid "The zlib library home page." -msgstr "" +msgstr "A página inicial da biblioteca zlib." -#: ../../library/zlib.rst:338 +#: ../../library/zlib.rst:336 msgid "http://www.zlib.net/manual.html" -msgstr "" +msgstr "http://www.zlib.net/manual.html" -#: ../../library/zlib.rst:338 +#: ../../library/zlib.rst:336 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." diff --git a/library/zoneinfo.po b/library/zoneinfo.po index fe16783eb..7e7c66ec3 100644 --- a/library/zoneinfo.po +++ b/library/zoneinfo.po @@ -1,33 +1,37 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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 -# i17obot , 2021 +# python-doc bot, 2025 # #, 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:19+0000\n" -"Last-Translator: i17obot , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:58+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../library/zoneinfo.rst:2 msgid ":mod:`zoneinfo` --- IANA time zone support" -msgstr "" +msgstr ":mod:`zoneinfo` --- Suporte a fuso horário da IANA" -#: ../../library/zoneinfo.rst:14 +#: ../../library/zoneinfo.rst:12 +msgid "**Source code:** :source:`Lib/zoneinfo`" +msgstr "**Código-fonte:** :source:`Lib/zoneinfo`" + +#: ../../library/zoneinfo.rst:16 msgid "" "The :mod:`zoneinfo` module provides a concrete time zone implementation to " "support the IANA time zone database as originally specified in :pep:`615`. " @@ -36,31 +40,35 @@ msgid "" "using the first-party `tzdata`_ package available on PyPI." msgstr "" -#: ../../library/zoneinfo.rst:24 +#: ../../library/zoneinfo.rst:26 msgid "Module: :mod:`datetime`" -msgstr "" +msgstr "Módulo: :mod:`datetime`" -#: ../../library/zoneinfo.rst:23 +#: ../../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:27 +#: ../../library/zoneinfo.rst:29 msgid "Package `tzdata`_" msgstr "" -#: ../../library/zoneinfo.rst:27 +#: ../../library/zoneinfo.rst:29 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." -#: ../../library/zoneinfo.rst:32 +#: ../../library/zoneinfo.rst:34 msgid "Using ``ZoneInfo``" msgstr "Usando ``ZoneInfo``" -#: ../../library/zoneinfo.rst:34 +#: ../../library/zoneinfo.rst:36 msgid "" ":class:`ZoneInfo` is a concrete implementation of the :class:`datetime." "tzinfo` abstract base class, and is intended to be attached to ``tzinfo``, " @@ -68,14 +76,21 @@ msgid "" "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:49 +#: ../../library/zoneinfo.rst:51 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:60 +#: ../../library/zoneinfo.rst:62 msgid "" "These time zones also support the :attr:`~datetime.datetime.fold` attribute " "introduced in :pep:`495`. During offset transitions which induce ambiguous " @@ -83,18 +98,26 @@ 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:73 +#: ../../library/zoneinfo.rst:75 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:89 +#: ../../library/zoneinfo.rst:91 msgid "Data sources" -msgstr "" +msgstr "Fontes de dados" -#: ../../library/zoneinfo.rst:91 +#: ../../library/zoneinfo.rst:93 msgid "" "The ``zoneinfo`` module does not directly provide time zone data, and " "instead pulls time zone information from the system time zone database or " @@ -106,41 +129,52 @@ msgid "" "raise :exc:`ZoneInfoNotFoundError`." msgstr "" -#: ../../library/zoneinfo.rst:103 +#: ../../library/zoneinfo.rst:105 msgid "Configuring the data sources" -msgstr "" +msgstr "Configurando as fontes de dados" -#: ../../library/zoneinfo.rst:105 +#: ../../library/zoneinfo.rst:107 msgid "" "When ``ZoneInfo(key)`` is called, the constructor first searches the " "directories specified in :data:`TZPATH` for a file matching ``key``, and on " "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:110 +#: ../../library/zoneinfo.rst:112 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:112 +#: ../../library/zoneinfo.rst:114 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:114 +#: ../../library/zoneinfo.rst:116 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:120 +#: ../../library/zoneinfo.rst:122 msgid "Compile-time configuration" -msgstr "" +msgstr "Configuração em tempo de compilação" -#: ../../library/zoneinfo.rst:122 +#: ../../library/zoneinfo.rst:124 msgid "" "The default :data:`TZPATH` includes several common deployment locations for " "the time zone database (except on Windows, where there are no \"well-known\" " @@ -151,26 +185,41 @@ msgid "" "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:131 +#: ../../library/zoneinfo.rst:133 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:137 +#: ../../library/zoneinfo.rst:139 msgid "Environment configuration" msgstr "Configuração do ambiente" -#: ../../library/zoneinfo.rst:139 +#: ../../library/zoneinfo.rst:141 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." 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:146 +#: ../../library/zoneinfo.rst:148 msgid "" "This is an :data:`os.pathsep`-separated string containing the time zone " "search path to use. It must consist of only absolute rather than relative " @@ -180,18 +229,27 @@ 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:154 +#: ../../library/zoneinfo.rst:156 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:160 +#: ../../library/zoneinfo.rst:162 msgid "Runtime configuration" -msgstr "" +msgstr "Configuração em tempo de execução" -#: ../../library/zoneinfo.rst:162 +#: ../../library/zoneinfo.rst:164 msgid "" "The TZ search path can also be configured at runtime using the :func:" "`reset_tzpath` function. This is generally not an advisable operation, " @@ -199,12 +257,17 @@ msgid "" "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:169 +#: ../../library/zoneinfo.rst:171 msgid "The ``ZoneInfo`` class" -msgstr "" +msgstr "A classe ``ZoneInfo``" -#: ../../library/zoneinfo.rst:173 +#: ../../library/zoneinfo.rst:175 msgid "" "A concrete :class:`datetime.tzinfo` subclass that represents an IANA time " "zone specified by the string ``key``. Calls to the primary constructor will " @@ -212,43 +275,54 @@ 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:185 +#: ../../library/zoneinfo.rst:187 msgid "" "``key`` must be in the form of a relative, normalized POSIX path, with no up-" "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:189 +#: ../../library/zoneinfo.rst:191 msgid "" "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:193 +#: ../../library/zoneinfo.rst:195 msgid "The ``ZoneInfo`` class has two alternate constructors:" -msgstr "" +msgstr "A classe ``ZoneInfo`` tem dois construtores alternativos:" -#: ../../library/zoneinfo.rst:197 +#: ../../library/zoneinfo.rst:199 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 " "the primary constructor, this always constructs a new object." msgstr "" -#: ../../library/zoneinfo.rst:201 +#: ../../library/zoneinfo.rst:203 msgid "" "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:204 +#: ../../library/zoneinfo.rst:206 msgid "" "Objects created via this constructor cannot be pickled (see `pickling`_)." msgstr "" -#: ../../library/zoneinfo.rst:208 +#: ../../library/zoneinfo.rst:210 msgid "" "An alternate constructor that bypasses the constructor's cache. It is " "identical to the primary constructor, but returns a new object on each call. " @@ -257,48 +331,48 @@ msgid "" "strategy." msgstr "" -#: ../../library/zoneinfo.rst:214 +#: ../../library/zoneinfo.rst:216 msgid "" "Objects created via this constructor will also bypass the cache of a " "deserializing process when unpickled." msgstr "" -#: ../../library/zoneinfo.rst:221 +#: ../../library/zoneinfo.rst:223 msgid "" "Using this constructor may change the semantics of your datetimes in " "surprising ways, only use it if you know that you need to." msgstr "" -#: ../../library/zoneinfo.rst:224 +#: ../../library/zoneinfo.rst:226 msgid "The following class methods are also available:" msgstr "" -#: ../../library/zoneinfo.rst:228 +#: ../../library/zoneinfo.rst:230 msgid "" "A method for invalidating the cache on the ``ZoneInfo`` class. If no " "arguments are passed, all caches are invalidated and the next call to the " "primary constructor for each key will return a new instance." msgstr "" -#: ../../library/zoneinfo.rst:232 +#: ../../library/zoneinfo.rst:234 msgid "" "If an iterable of key names is passed to the ``only_keys`` parameter, only " "the specified keys will be removed from the cache. Keys passed to " "``only_keys`` but not found in the cache are ignored." msgstr "" -#: ../../library/zoneinfo.rst:240 +#: ../../library/zoneinfo.rst:242 msgid "" "Invoking this function may change the semantics of datetimes using " "``ZoneInfo`` in surprising ways; this modifies process-wide global state and " "thus may have wide-ranging effects. Only use it if you know that you need to." msgstr "" -#: ../../library/zoneinfo.rst:245 +#: ../../library/zoneinfo.rst:247 msgid "The class has one attribute:" msgstr "A classe possui um atributo:" -#: ../../library/zoneinfo.rst:249 +#: ../../library/zoneinfo.rst:251 msgid "" "This is a read-only :term:`attribute` that returns the value of ``key`` " "passed to the constructor, which should be a lookup key in the IANA time " @@ -306,13 +380,13 @@ msgid "" "Tokyo``)." msgstr "" -#: ../../library/zoneinfo.rst:254 +#: ../../library/zoneinfo.rst:256 msgid "" "For zones constructed from file without specifying a ``key`` parameter, this " "will be set to ``None``." msgstr "" -#: ../../library/zoneinfo.rst:259 +#: ../../library/zoneinfo.rst:261 msgid "" "Although it is a somewhat common practice to expose these to end users, " "these values are designed to be primary keys for representing the relevant " @@ -321,18 +395,18 @@ msgid "" "strings from these keys." msgstr "" -#: ../../library/zoneinfo.rst:266 +#: ../../library/zoneinfo.rst:268 msgid "String representations" msgstr "" -#: ../../library/zoneinfo.rst:268 +#: ../../library/zoneinfo.rst:270 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)::" msgstr "" -#: ../../library/zoneinfo.rst:280 +#: ../../library/zoneinfo.rst:282 msgid "" "For objects constructed from a file without specifying a ``key`` parameter, " "``str`` falls back to calling :func:`repr`. ``ZoneInfo``'s ``repr`` is " @@ -340,22 +414,22 @@ msgid "" "is guaranteed not to be a valid ``ZoneInfo`` key." msgstr "" -#: ../../library/zoneinfo.rst:288 +#: ../../library/zoneinfo.rst:290 msgid "Pickle serialization" msgstr "" -#: ../../library/zoneinfo.rst:290 +#: ../../library/zoneinfo.rst:292 msgid "" "Rather than serializing all transition data, ``ZoneInfo`` objects are " "serialized by key, and ``ZoneInfo`` objects constructed from files (even " "those with a value for ``key`` specified) cannot be pickled." msgstr "" -#: ../../library/zoneinfo.rst:294 +#: ../../library/zoneinfo.rst:296 msgid "The behavior of a ``ZoneInfo`` file depends on how it was constructed:" msgstr "" -#: ../../library/zoneinfo.rst:296 +#: ../../library/zoneinfo.rst:298 msgid "" "``ZoneInfo(key)``: When constructed with the primary constructor, a " "``ZoneInfo`` object is serialized by key, and when deserialized, the " @@ -366,7 +440,7 @@ msgid "" "following behavior:" msgstr "" -#: ../../library/zoneinfo.rst:311 +#: ../../library/zoneinfo.rst:313 msgid "" "``ZoneInfo.no_cache(key)``: When constructed from the cache-bypassing " "constructor, the ``ZoneInfo`` object is also serialized by key, but when " @@ -376,7 +450,7 @@ msgid "" "the following behavior:" msgstr "" -#: ../../library/zoneinfo.rst:325 +#: ../../library/zoneinfo.rst:327 msgid "" "``ZoneInfo.from_file(fobj, /, key=None)``: When constructed from a file, the " "``ZoneInfo`` object raises an exception on pickling. If an end user wants to " @@ -385,7 +459,7 @@ msgid "" "key or storing the contents of the file object and serializing that." msgstr "" -#: ../../library/zoneinfo.rst:331 +#: ../../library/zoneinfo.rst:333 msgid "" "This method of serialization requires that the time zone data for the " "required key be available on both the serializing and deserializing side, " @@ -396,32 +470,32 @@ msgid "" "time zone data." msgstr "" -#: ../../library/zoneinfo.rst:339 +#: ../../library/zoneinfo.rst:341 msgid "Functions" msgstr "Funções" -#: ../../library/zoneinfo.rst:343 +#: ../../library/zoneinfo.rst:345 msgid "" "Get a set containing all the valid keys for IANA time zones available " "anywhere on the time zone path. This is recalculated on every call to the " "function." msgstr "" -#: ../../library/zoneinfo.rst:347 +#: ../../library/zoneinfo.rst:349 msgid "" "This function only includes canonical zone names and does not include " "\"special\" zones such as those under the ``posix/`` and ``right/`` " "directories, or the ``posixrules`` zone." msgstr "" -#: ../../library/zoneinfo.rst:353 +#: ../../library/zoneinfo.rst:355 msgid "" "This function may open a large number of files, as the best way to determine " "if a file on the time zone path is a valid time zone is to read the \"magic " "string\" at the beginning." msgstr "" -#: ../../library/zoneinfo.rst:359 +#: ../../library/zoneinfo.rst:361 msgid "" "These values are not designed to be exposed to end-users; for user facing " "elements, applications should use something like CLDR (the Unicode Common " @@ -429,20 +503,20 @@ msgid "" "cautionary note on :attr:`ZoneInfo.key`." msgstr "" -#: ../../library/zoneinfo.rst:366 +#: ../../library/zoneinfo.rst:368 msgid "" "Sets or resets the time zone search path (:data:`TZPATH`) for the module. " "When called with no arguments, :data:`TZPATH` is set to the default value." msgstr "" -#: ../../library/zoneinfo.rst:369 +#: ../../library/zoneinfo.rst:371 msgid "" "Calling ``reset_tzpath`` will not invalidate the :class:`ZoneInfo` cache, " "and so calls to the primary ``ZoneInfo`` constructor will only use the new " "``TZPATH`` in the case of a cache miss." msgstr "" -#: ../../library/zoneinfo.rst:373 +#: ../../library/zoneinfo.rst:375 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:" @@ -450,24 +524,24 @@ msgid "" "passed." msgstr "" -#: ../../library/zoneinfo.rst:379 +#: ../../library/zoneinfo.rst:381 msgid "Globals" msgstr "" -#: ../../library/zoneinfo.rst:383 +#: ../../library/zoneinfo.rst:385 msgid "" "A read-only sequence representing the time zone search path -- when " "constructing a ``ZoneInfo`` from a key, the key is joined to each entry in " "the ``TZPATH``, and the first file found is used." msgstr "" -#: ../../library/zoneinfo.rst:387 +#: ../../library/zoneinfo.rst:389 msgid "" "``TZPATH`` may contain only absolute paths, never relative paths, regardless " "of how it is configured." msgstr "" -#: ../../library/zoneinfo.rst:390 +#: ../../library/zoneinfo.rst:392 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." @@ -475,24 +549,24 @@ msgid "" "long-lived variable to ``zoneinfo.TZPATH``." msgstr "" -#: ../../library/zoneinfo.rst:395 +#: ../../library/zoneinfo.rst:397 msgid "" "For more information on configuring the time zone search path, see :ref:" "`zoneinfo_data_configuration`." msgstr "" -#: ../../library/zoneinfo.rst:399 +#: ../../library/zoneinfo.rst:401 msgid "Exceptions and warnings" msgstr "" -#: ../../library/zoneinfo.rst:403 +#: ../../library/zoneinfo.rst:405 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`." msgstr "" -#: ../../library/zoneinfo.rst:409 +#: ../../library/zoneinfo.rst:411 msgid "" "Raised when :envvar:`PYTHONTZPATH` contains an invalid component that will " "be filtered out, such as a relative path." diff --git a/license.po b/license.po index 822192fb6..ac49a4ce6 100644 --- a/license.po +++ b/license.po @@ -1,28 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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 -# felipe caridade , 2021 +# python-doc bot, 2025 # #, 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 00:47+0000\n" -"Last-Translator: felipe caridade , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:58+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../license.rst:7 msgid "History and License" @@ -337,11 +336,11 @@ msgstr "Soquetes" msgid "" "The :mod:`socket` module uses the functions, :func:`getaddrinfo`, and :func:" "`getnameinfo`, which are coded in separate source files from the WIDE " -"Project, http://www.wide.ad.jp/. ::" +"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, http://www.wide.ad.jp/. ::" +"Projeto WIDE, https://www.wide.ad.jp/. ::" #: ../../license.rst:387 msgid "Asynchronous socket services" @@ -424,15 +423,17 @@ 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 http://www.netlib." -"org/fp/. 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 " -"mesmo nome de David M. Gay, atualmente disponível em http://www.netlib.org/" -"fp/. O arquivo original, conforme recuperado em 16 de março de 2009, contém " -"os seguintes avisos de direitos autorais e de licenciamento::" +"mesmo nome de David M. Gay, atualmente disponível em https://web.archive.org/" +"web/20220517033456/http://www.netlib.org/fp/dtoa.c. O arquivo original, " +"conforme recuperado em 16 de março de 2009, contém os seguintes avisos de " +"direitos autorais e de licenciamento::" #: ../../license.rst:654 msgid "OpenSSL" @@ -442,7 +443,7 @@ msgstr "OpenSSL" msgid "" "The modules :mod:`hashlib`, :mod:`posix`, :mod:`ssl`, :mod:`crypt` use the " "OpenSSL library for added performance if made available by the operating " -"system. Additionally, the Windows and Mac OS X installers for Python may " +"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::" msgstr "" @@ -490,7 +491,7 @@ msgid "" msgstr "" "A extensão :mod:`zlib` é construída usando uma cópia incluída das fontes " "zlib se a versão do zlib encontrada no sistema for muito antiga para ser " -"usada na compilação::" +"usada na construção::" #: ../../license.rst:880 msgid "cfuhash" @@ -530,3 +531,70 @@ msgstr "" "O conjunto de testes C14N 2.0 no pacote :mod:`test` (``Lib/test/xmltestdata/" "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 +msgid "Audioop" +msgstr "Audioop" + +#: ../../license.rst:992 +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:995 +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:999 +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:1003 +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:1007 +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:1011 +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:1015 +msgid "" +"Sun Microsystems, Inc. 2550 Garcia Avenue Mountain View, California 94043" +msgstr "" +"Sun Microsystems, Inc. 2550 Garcia Avenue Mountain View, California 94043" diff --git a/potodo.md b/potodo.md new file mode 100644 index 000000000..6c2d59a04 --- /dev/null +++ b/potodo.md @@ -0,0 +1,277 @@ +1 directory 60.93% done +└── 3.10/ 60.93% done + ├── c-api/ 51.44% done + │ ├── allocation.po 88.0% translated 8/9 + │ ├── arg.po 98.0% translated 193/195 + │ ├── exceptions.po 78.0% translated 215/275 + │ ├── float.po 92.0% translated 12/13 + │ ├── gcsupport.po 27.0% translated 11/40 + │ ├── init.po 46.0% translated 143/310 + │ ├── init_config.po 35.0% translated 132/375 + │ ├── long.po 66.0% translated 34/51 + │ ├── memory.po 34.0% translated 63/184 + │ ├── module.po 50.0% translated 50/99 + │ ├── number.po 19.0% translated 8/42 + │ ├── object.po 6.0% translated 3/50 + │ ├── refcounting.po 35.0% translated 10/28 + │ ├── sequence.po 96.0% translated 26/27 + │ ├── stable.po 71.0% translated 23/32 + │ ├── structures.po 38.0% translated 50/129 + │ ├── sys.po 79.0% translated 53/67 + │ ├── tuple.po 97.0% translated 47/48 + │ ├── type.po 46.0% translated 29/63 + │ ├── typeobj.po 39.0% translated 238/604 + │ ├── unicode.po 23.0% translated 79/334 + │ └── veryhigh.po 82.0% translated 46/56 + ├── distributing/ 100.00% done + ├── distutils/ 25.79% done + │ ├── apiref.po 21.0% translated 88/417 + │ ├── builtdist.po 40.0% translated 53/131 + │ ├── setupscript.po 37.0% translated 66/174 + │ └── sourcedist.po 36.0% translated 27/74 + ├── extending/ 35.12% done + │ ├── embedding.po 11.0% translated 5/45 + │ ├── extending.po 36.0% translated 58/158 + │ ├── newtypes.po 7.0% translated 7/89 + │ └── newtypes_tutorial.po 63.0% translated 78/123 + ├── faq/ 93.46% done + │ ├── design.po 88.0% translated 125/141 + │ ├── extending.po 87.0% translated 51/58 + │ ├── library.po 94.0% translated 132/140 + │ └── programming.po 98.0% translated 383/388 + ├── howto/ 52.41% done + │ ├── annotations.po 97.0% translated 44/45 + │ ├── clinic.po 23.0% translated 101/424 + │ ├── curses.po 95.0% translated 100/105 + │ ├── descriptor.po 65.0% translated 115/175 + │ ├── functional.po 70.0% translated 146/206 + │ ├── instrumentation.po 93.0% translated 55/59 + │ ├── logging-cookbook.po 11.0% translated 36/306 + │ ├── logging.po 95.0% translated 211/221 + │ ├── pyporting.po 40.0% translated 35/86 + │ ├── regex.po 98.0% translated 283/286 + │ ├── sockets.po 60.0% translated 35/58 + │ ├── unicode.po 24.0% translated 30/121 + │ └── urllib2.po 85.0% translated 73/85 + ├── install/ 72.62% done + │ └── index.po 74.0% translated 168/226 + ├── installing/ 100.00% done + ├── library/ 56.01% done + │ ├── _thread.po 95.0% translated 39/41 + │ ├── argparse.po 88.0% translated 256/290 + │ ├── array.po 98.0% translated 81/82 + │ ├── ast.po 94.0% translated 200/212 + │ ├── asynchat.po 12.0% translated 4/33 + │ ├── asyncio-dev.po 83.0% translated 35/42 + │ ├── asyncio-eventloop.po 95.0% translated 344/360 + │ ├── 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/183 + │ ├── asyncio-stream.po 83.0% translated 67/80 + │ ├── asyncio-sync.po 15.0% translated 11/71 + │ ├── asyncio.po 95.0% translated 23/24 + │ ├── asyncore.po 15.0% translated 8/52 + │ ├── audioop.po 2.0% translated 1/46 + │ ├── base64.po 32.0% translated 18/55 + │ ├── bdb.po 83.0% translated 91/109 + │ ├── binascii.po 32.0% translated 12/37 + │ ├── bisect.po 76.0% translated 23/30 + │ ├── calendar.po 84.0% translated 59/70 + │ ├── cgi.po 20.0% translated 18/90 + │ ├── chunk.po 29.0% translated 10/34 + │ ├── cmath.po 94.0% translated 51/54 + │ ├── cmd.po 73.0% translated 31/42 + │ ├── code.po 93.0% translated 29/31 + │ ├── codecs.po 46.0% translated 237/511 + │ ├── codeop.po 92.0% translated 13/14 + │ ├── collections.abc.po 95.0% translated 114/119 + │ ├── collections.po 99.0% translated 210/211 + │ ├── concurrent.futures.po 18.0% translated 16/88 + │ ├── configparser.po 86.0% translated 152/176 + │ ├── constants.po 88.0% translated 16/18 + │ ├── contextlib.po 31.0% translated 39/125 + │ ├── copyreg.po 88.0% translated 8/9 + │ ├── crypt.po 10.0% translated 3/30 + │ ├── ctypes.po 47.0% translated 208/434 + │ ├── curses.ascii.po 99.0% translated 101/102 + │ ├── curses.panel.po 95.0% translated 22/23 + │ ├── curses.po 36.0% translated 236/639 + │ ├── dataclasses.po 55.0% translated 65/117 + │ ├── dbm.po 43.0% translated 32/74 + │ ├── decimal.po 99.0% translated 328/329 + │ ├── difflib.po 10.0% translated 14/133 + │ ├── dis.po 32.0% translated 78/239 + │ ├── doctest.po 20.0% translated 63/304 + │ ├── email.charset.po 95.0% translated 42/44 + │ ├── email.compat32-message.po 4.0% translated 5/104 + │ ├── email.contentmanager.po 19.0% translated 8/41 + │ ├── email.encoders.po 86.0% translated 13/15 + │ ├── email.errors.po 24.0% translated 6/25 + │ ├── email.generator.po 95.0% translated 39/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.mime.po 94.0% translated 36/38 + │ ├── email.parser.po 6.0% translated 3/47 + │ ├── email.policy.po 11.0% translated 12/103 + │ ├── enum.po 37.0% translated 71/188 + │ ├── errno.po 88.0% translated 112/127 + │ ├── exceptions.po 99.0% translated 148/149 + │ ├── faulthandler.po 9.0% translated 4/42 + │ ├── fcntl.po 53.0% translated 21/39 + │ ├── filecmp.po 95.0% translated 38/40 + │ ├── fileinput.po 86.0% translated 38/44 + │ ├── fractions.po 78.0% translated 18/23 + │ ├── ftplib.po 13.0% translated 9/65 + │ ├── functools.po 37.0% translated 31/83 + │ ├── gc.po 98.0% translated 54/55 + │ ├── glob.po 95.0% translated 20/21 + │ ├── grp.po 96.0% translated 27/28 + │ ├── gzip.po 81.0% translated 47/58 + │ ├── hashlib.po 39.0% translated 56/141 + │ ├── heapq.po 96.0% translated 49/51 + │ ├── hmac.po 88.0% translated 24/27 + │ ├── html.parser.po 96.0% translated 48/50 + │ ├── http.client.po 49.0% translated 49/99 + │ ├── http.cookiejar.po 5.0% translated 9/154 + │ ├── http.cookies.po 30.0% translated 17/56 + │ ├── http.server.po 8.0% translated 8/92 + │ ├── idle.po 45.0% translated 128/281 + │ ├── imaplib.po 8.0% translated 9/107 + │ ├── imghdr.po 48.0% translated 20/41 + │ ├── imp.po 11.0% translated 8/68 + │ ├── importlib.metadata.po 67.0% translated 36/53 + │ ├── importlib.po 65.0% translated 227/346 + │ ├── inspect.po 36.0% translated 125/338 + │ ├── io.po 16.0% translated 41/245 + │ ├── ipaddress.po 98.0% translated 155/158 + │ ├── itertools.po 83.0% translated 128/153 + │ ├── logging.config.po 85.0% translated 114/133 + │ ├── logging.handlers.po 64.0% translated 173/268 + │ ├── logging.po 28.0% translated 96/334 + │ ├── mailbox.po 8.0% translated 23/282 + │ ├── mailcap.po 13.0% translated 2/15 + │ ├── mimetypes.po 97.0% translated 44/45 + │ ├── mmap.po 40.0% translated 20/50 + │ ├── msilib.po 7.0% translated 7/96 + │ ├── multiprocessing.po 54.0% translated 284/519 + │ ├── nntplib.po 9.0% translated 8/84 + │ ├── optparse.po 94.0% translated 385/406 + │ ├── os.path.po 97.0% translated 72/74 + │ ├── os.po 99.0% translated 841/843 + │ ├── ossaudiodev.po 18.0% translated 18/98 + │ ├── pdb.po 98.0% translated 98/99 + │ ├── pickle.po 99.0% translated 205/206 + │ ├── pipes.po 20.0% translated 4/20 + │ ├── pkgutil.po 84.0% translated 43/51 + │ ├── platform.po 92.0% translated 53/57 + │ ├── plistlib.po 95.0% translated 38/40 + │ ├── poplib.po 34.0% translated 17/50 + │ ├── pprint.po 73.0% translated 31/42 + │ ├── profile.po 21.0% translated 34/155 + │ ├── pyexpat.po 16.0% translated 23/143 + │ ├── queue.po 11.0% translated 5/42 + │ ├── random.po 97.0% translated 94/96 + │ ├── readline.po 97.0% translated 47/48 + │ ├── reprlib.po 80.0% translated 17/21 + │ ├── resource.po 90.0% translated 103/114 + │ ├── sched.po 91.0% translated 21/23 + │ ├── select.po 36.0% translated 73/202 + │ ├── selectors.po 23.0% translated 13/56 + │ ├── shelve.po 21.0% translated 7/32 + │ ├── shlex.po 5.0% translated 4/75 + │ ├── shutil.po 98.0% translated 153/155 + │ ├── signal.po 86.0% translated 111/128 + │ ├── site.po 92.0% translated 36/39 + │ ├── smtpd.po 12.0% translated 10/79 + │ ├── smtplib.po 24.0% translated 27/109 + │ ├── socket.po 18.0% translated 60/324 + │ ├── socketserver.po 85.0% translated 67/78 + │ ├── sqlite3.po 26.0% translated 76/287 + │ ├── ssl.po 12.0% translated 64/493 + │ ├── stat.po 96.0% translated 78/81 + │ ├── statistics.po 98.0% translated 169/172 + │ ├── stdtypes.po 99.0% translated 1022/1026 + │ ├── stringprep.po 92.0% translated 23/25 + │ ├── struct.po 50.0% translated 84/168 + │ ├── subprocess.po 49.0% translated 137/276 + │ ├── symtable.po 6.0% translated 3/44 + │ ├── sys.po 86.0% translated 358/412 + │ ├── sysconfig.po 92.0% translated 75/81 + │ ├── tarfile.po 53.0% translated 162/301 + │ ├── telnetlib.po 14.0% translated 7/47 + │ ├── tempfile.po 12.0% translated 8/64 + │ ├── test.po 39.0% translated 117/295 + │ ├── textwrap.po 89.0% translated 41/46 + │ ├── threading.po 15.0% translated 33/210 + │ ├── timeit.po 92.0% translated 49/53 + │ ├── tkinter.font.po 97.0% translated 34/35 + │ ├── tkinter.po 99.0% translated 303/304 + │ ├── tkinter.tix.po 5.0% translated 4/71 + │ ├── tkinter.ttk.po 33.0% translated 136/408 + │ ├── tokenize.po 93.0% translated 41/44 + │ ├── traceback.po 8.0% translated 7/78 + │ ├── tracemalloc.po 14.0% translated 21/144 + │ ├── turtle.po 98.0% translated 508/514 + │ ├── typing.po 54.0% translated 205/374 + │ ├── unicodedata.po 13.0% translated 4/29 + │ ├── unittest.mock-examples.po 13.0% translated 22/160 + │ ├── unittest.mock.po 29.0% translated 110/373 + │ ├── unittest.po 62.0% translated 316/506 + │ ├── urllib.parse.po 62.0% translated 96/154 + │ ├── urllib.request.po 16.0% translated 45/275 + │ ├── urllib.robotparser.po 92.0% translated 13/14 + │ ├── uuid.po 88.0% translated 52/59 + │ ├── venv.po 97.0% translated 99/102 + │ ├── warnings.po 66.0% translated 73/109 + │ ├── wave.po 40.0% translated 20/49 + │ ├── weakref.po 88.0% translated 74/84 + │ ├── webbrowser.po 92.0% translated 76/82 + │ ├── winreg.po 97.0% translated 167/171 + │ ├── winsound.po 94.0% translated 32/34 + │ ├── wsgiref.po 56.0% translated 66/117 + │ ├── xdrlib.po 7.0% translated 4/54 + │ ├── xml.dom.minidom.po 13.0% translated 7/51 + │ ├── xml.dom.po 28.0% translated 67/234 + │ ├── xml.dom.pulldom.po 92.0% translated 25/27 + │ ├── xml.etree.elementtree.po 30.0% translated 72/233 + │ ├── xml.po 92.0% translated 49/53 + │ ├── 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 76.0% translated 10/13 + │ ├── xmlrpc.client.po 55.0% translated 54/98 + │ ├── zipapp.po 81.0% translated 64/79 + │ ├── zipimport.po 89.0% translated 34/38 + │ ├── zlib.po 96.0% translated 62/64 + │ └── zoneinfo.po 43.0% translated 32/73 + ├── reference/ 90.69% done + │ ├── compound_stmts.po 89.0% translated 264/294 + │ ├── datamodel.po 98.0% translated 498/504 + │ ├── executionmodel.po 93.0% translated 45/48 + │ ├── expressions.po 91.0% translated 303/332 + │ ├── import.po 89.0% translated 165/184 + │ └── lexical_analysis.po 94.0% translated 185/195 + ├── tutorial/ 99.78% done + │ └── classes.po 99.0% translated 114/115 + ├── using/ 95.96% done + │ ├── cmdline.po 98.0% translated 195/197 + │ ├── configure.po 88.0% translated 213/240 + │ ├── mac.po 97.0% translated 43/44 + │ └── windows.po 99.0% translated 307/309 + └── whatsnew/ 67.49% done + ├── 2.0.po 75.0% translated 137/182 + ├── 2.2.po 72.0% translated 139/192 + ├── 2.3.po 70.0% translated 230/324 + ├── 2.4.po 93.0% translated 250/266 + ├── 2.5.po 93.0% translated 359/386 + ├── 2.6.po 99.0% translated 535/539 + ├── 2.7.po 97.0% translated 442/453 + ├── 3.10.po 98.0% translated 513/523 + ├── 3.2.po 13.0% translated 70/518 + ├── 3.3.po 24.0% translated 159/660 + ├── 3.4.po 99.0% translated 510/511 + ├── 3.5.po 23.0% translated 128/541 + ├── 3.6.po 46.0% translated 239/517 + └── 3.7.po 43.0% translated 243/555 diff --git a/reference/compound_stmts.po b/reference/compound_stmts.po index dd8b976f2..c104eeed1 100644 --- a/reference/compound_stmts.po +++ b/reference/compound_stmts.po @@ -1,30 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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 -# Claudio Rogerio Carvalho Filho , 2021 -# Adorilson Bezerra , 2021 -# Rafael Fontenelle , 2021 -# Alexandre B A Villares, 2021 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.10\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-07-15 12:58+0000\n" -"PO-Revision-Date: 2021-06-28 01:19+0000\n" -"Last-Translator: Alexandre B A Villares, 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-11-01 17:13+0000\n" +"PO-Revision-Date: 2025-09-22 15:58+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../reference/compound_stmts.rst:5 msgid "Compound statements" @@ -74,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 "" @@ -81,10 +90,13 @@ 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 "" @@ -95,10 +107,11 @@ msgid "" "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 "" @@ -106,7 +119,7 @@ msgid "" "clause on a separate line for clarity." msgstr "" "A formatação das regras de gramática nas próximas seções põe cada cláusula " -"em uma linha separada para as tornar mais claras. " +"em uma linha separada para as tornar mais claras." #: ../../reference/compound_stmts.rst:84 msgid "The :keyword:`!if` statement" @@ -114,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 "" @@ -125,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 "" @@ -143,6 +164,10 @@ 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 "" @@ -151,16 +176,22 @@ msgid "" "`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 "" @@ -183,6 +214,11 @@ msgid "" "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 "" @@ -190,42 +226,35 @@ 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 "" "Names in the target list are not deleted when the loop is finished, but if " "the sequence is empty, they will not have been assigned to at all by the " -"loop. Hint: the built-in function :func:`range` returns an iterator of " -"integers suitable to emulate the effect of Pascal's ``for i := a to b do``; " -"e.g., ``list(range(3))`` returns the list ``[0, 1, 2]``." +"loop. Hint: the built-in type :func:`range` represents immutable arithmetic " +"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:205 -msgid "" -"There is a subtlety when the sequence is being modified by the loop (this " -"can only occur for mutable sequences, e.g. lists). An internal counter is " -"used to keep track of which item is used next, and this is incremented on " -"each iteration. When this counter has reached the length of the sequence " -"the loop terminates. This means that if the suite deletes the current (or a " -"previous) item from the sequence, the next item will be skipped (since it " -"gets the index of the current item which has already been treated). " -"Likewise, if the suite inserts an item in the sequence before the current " -"item, the current item will be treated again the next time through the loop. " -"This can lead to nasty bugs that can be avoided by making a temporary copy " -"using a slice of the whole sequence, e.g., ::" -msgstr "" - -#: ../../reference/compound_stmts.rst:226 +#: ../../reference/compound_stmts.rst:204 msgid "The :keyword:`!try` statement" -msgstr "" +msgstr "A instrução :keyword:`!try`" -#: ../../reference/compound_stmts.rst:236 +#: ../../reference/compound_stmts.rst:214 msgid "" "The :keyword:`try` statement specifies exception handlers and/or cleanup " "code for a group of statements:" msgstr "" -#: ../../reference/compound_stmts.rst:249 +#: ../../reference/compound_stmts.rst:227 msgid "" "The :keyword:`except` clause(s) specify one or more exception handlers. When " "no exception occurs in the :keyword:`try` clause, no exception handler is " @@ -236,18 +265,18 @@ msgid "" "exception. For an except clause with an expression, that expression is " "evaluated, and the clause matches the exception if the resulting object is " "\"compatible\" with the exception. An object is compatible with an " -"exception if it is the class or a base class of the exception object, or a " -"tuple containing an item that is the class or a base class of the exception " -"object." +"exception if the object is the class or a :term:`non-virtual base class " +"` of the exception object, or a tuple containing an " +"item that is the class or a non-virtual base class of the exception object." msgstr "" -#: ../../reference/compound_stmts.rst:261 +#: ../../reference/compound_stmts.rst:240 msgid "" "If no except clause matches the exception, the search for an exception " "handler continues in the surrounding code and on the invocation stack. [#]_" msgstr "" -#: ../../reference/compound_stmts.rst:264 +#: ../../reference/compound_stmts.rst:243 msgid "" "If the evaluation of an expression in the header of an except clause raises " "an exception, the original search for a handler is canceled and a search " @@ -256,7 +285,7 @@ msgid "" "exception)." msgstr "" -#: ../../reference/compound_stmts.rst:271 +#: ../../reference/compound_stmts.rst:250 msgid "" "When a matching except clause is found, the exception is assigned to the " "target specified after the :keyword:`!as` keyword in that except clause, if " @@ -268,17 +297,17 @@ msgid "" "exception.)" msgstr "" -#: ../../reference/compound_stmts.rst:279 +#: ../../reference/compound_stmts.rst:258 msgid "" "When an exception has been assigned using ``as target``, it is cleared at " "the end of the except clause. This is as if ::" msgstr "" -#: ../../reference/compound_stmts.rst:285 +#: ../../reference/compound_stmts.rst:264 msgid "was translated to ::" -msgstr "" +msgstr "fosse traduzido para ::" -#: ../../reference/compound_stmts.rst:293 +#: ../../reference/compound_stmts.rst:272 msgid "" "This means the exception must be assigned to a different name to be able to " "refer to it after the except clause. Exceptions are cleared because with " @@ -287,7 +316,7 @@ msgid "" "collection occurs." msgstr "" -#: ../../reference/compound_stmts.rst:302 +#: ../../reference/compound_stmts.rst:281 msgid "" "Before an except clause's suite is executed, details about the exception are " "stored in the :mod:`sys` module and can be accessed via :func:`sys." @@ -298,7 +327,7 @@ msgid "" "are restored to their previous values when leaving an exception handler::" msgstr "" -#: ../../reference/compound_stmts.rst:334 +#: ../../reference/compound_stmts.rst:313 msgid "" "The optional :keyword:`!else` clause is executed if the control flow leaves " "the :keyword:`try` suite, no exception was raised, and no :keyword:" @@ -306,8 +335,13 @@ msgid "" "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:342 +#: ../../reference/compound_stmts.rst:321 msgid "" "If :keyword:`finally` is present, it specifies a 'cleanup' handler. The :" "keyword:`try` clause is executed, including any :keyword:`except` and :" @@ -321,13 +355,13 @@ msgid "" "exception is discarded::" msgstr "" -#: ../../reference/compound_stmts.rst:361 +#: ../../reference/compound_stmts.rst:340 msgid "" "The exception information is not available to the program during execution " "of the :keyword:`finally` clause." msgstr "" -#: ../../reference/compound_stmts.rst:369 +#: ../../reference/compound_stmts.rst:348 msgid "" "When a :keyword:`return`, :keyword:`break` or :keyword:`continue` statement " "is executed in the :keyword:`try` suite of a :keyword:`!try`...\\ :keyword:`!" @@ -335,7 +369,7 @@ msgid "" "way out.'" msgstr "" -#: ../../reference/compound_stmts.rst:373 +#: ../../reference/compound_stmts.rst:352 msgid "" "The return value of a function is determined by the last :keyword:`return` " "statement executed. Since the :keyword:`finally` clause always executes, a :" @@ -343,75 +377,87 @@ msgid "" "always be the last one executed::" msgstr "" -#: ../../reference/compound_stmts.rst:387 +#: ../../reference/compound_stmts.rst:366 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`." 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:391 +#: ../../reference/compound_stmts.rst:370 msgid "" "Prior to Python 3.8, a :keyword:`continue` statement was illegal in the :" "keyword:`finally` clause due to a problem with the implementation." msgstr "" -#: ../../reference/compound_stmts.rst:400 +#: ../../reference/compound_stmts.rst:379 msgid "The :keyword:`!with` statement" -msgstr "" +msgstr "A instrução :keyword:`!with`" -#: ../../reference/compound_stmts.rst:409 +#: ../../reference/compound_stmts.rst:388 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." 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:419 +#: ../../reference/compound_stmts.rst:398 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:421 +#: ../../reference/compound_stmts.rst:400 msgid "" -"The context expression (the expression given in the :token:`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:424 +#: ../../reference/compound_stmts.rst:403 msgid "The context manager's :meth:`__enter__` is loaded for later use." msgstr "" -#: ../../reference/compound_stmts.rst:426 +#: ../../reference/compound_stmts.rst:405 msgid "The context manager's :meth:`__exit__` is loaded for later use." msgstr "" -#: ../../reference/compound_stmts.rst:428 +#: ../../reference/compound_stmts.rst:407 msgid "The context manager's :meth:`__enter__` method is invoked." msgstr "" -#: ../../reference/compound_stmts.rst:430 +#: ../../reference/compound_stmts.rst:409 msgid "" "If a target was included in the :keyword:`with` statement, the return value " "from :meth:`__enter__` is assigned to it." msgstr "" -#: ../../reference/compound_stmts.rst:435 +#: ../../reference/compound_stmts.rst:414 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 6 below." +"See step 7 below." msgstr "" -#: ../../reference/compound_stmts.rst:441 +#: ../../reference/compound_stmts.rst:420 msgid "The suite is executed." -msgstr "" +msgstr "O conjunto *suite* é executado." -#: ../../reference/compound_stmts.rst:443 +#: ../../reference/compound_stmts.rst:422 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 " @@ -419,7 +465,7 @@ msgid "" "supplied." msgstr "" -#: ../../reference/compound_stmts.rst:448 +#: ../../reference/compound_stmts.rst:427 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 " @@ -427,52 +473,58 @@ msgid "" "the statement following the :keyword:`with` statement." msgstr "" -#: ../../reference/compound_stmts.rst:453 +#: ../../reference/compound_stmts.rst:432 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." msgstr "" -#: ../../reference/compound_stmts.rst:457 -#: ../../reference/compound_stmts.rst:1446 -#: ../../reference/compound_stmts.rst:1487 +#: ../../reference/compound_stmts.rst:436 +#: ../../reference/compound_stmts.rst:1427 +#: ../../reference/compound_stmts.rst:1468 msgid "The following code::" -msgstr "" +msgstr "O seguinte código::" -#: ../../reference/compound_stmts.rst:462 -#: ../../reference/compound_stmts.rst:487 -#: ../../reference/compound_stmts.rst:1492 +#: ../../reference/compound_stmts.rst:441 +#: ../../reference/compound_stmts.rst:466 +#: ../../reference/compound_stmts.rst:1473 msgid "is semantically equivalent to::" -msgstr "" +msgstr "é semanticamente equivalente a::" -#: ../../reference/compound_stmts.rst:481 +#: ../../reference/compound_stmts.rst:460 msgid "" "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:493 +#: ../../reference/compound_stmts.rst:472 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:502 +#: ../../reference/compound_stmts.rst:481 msgid "Support for multiple context expressions." -msgstr "" +msgstr "Suporte para múltiplas expressões de contexto." -#: ../../reference/compound_stmts.rst:505 +#: ../../reference/compound_stmts.rst:484 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:511 +#: ../../reference/compound_stmts.rst:490 msgid ":pep:`343` - The \"with\" statement" msgstr ":pep:`343` - A instrução \"with\"" -#: ../../reference/compound_stmts.rst:511 +#: ../../reference/compound_stmts.rst:490 msgid "" "The specification, background, and examples for the Python :keyword:`with` " "statement." @@ -480,68 +532,82 @@ msgstr "" "A especificação, o histórico e os exemplos para a instrução Python :keyword:" "`with`." -#: ../../reference/compound_stmts.rst:517 +#: ../../reference/compound_stmts.rst:496 msgid "The :keyword:`!match` statement" -msgstr "" +msgstr "A instrução :keyword:`!match`" -#: ../../reference/compound_stmts.rst:530 +#: ../../reference/compound_stmts.rst:510 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:539 +#: ../../reference/compound_stmts.rst:519 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:542 +#: ../../reference/compound_stmts.rst:522 msgid "" "Pattern matching takes a pattern as input (following ``case``) and a subject " "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:546 +#: ../../reference/compound_stmts.rst:526 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:548 +#: ../../reference/compound_stmts.rst:528 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:551 +#: ../../reference/compound_stmts.rst:531 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:555 -#: ../../reference/compound_stmts.rst:1109 +#: ../../reference/compound_stmts.rst:535 +#: ../../reference/compound_stmts.rst:1090 msgid ":pep:`634` -- Structural Pattern Matching: Specification" -msgstr "" +msgstr ":pep:`634` -- Structural Pattern Matching: Specification" -#: ../../reference/compound_stmts.rst:556 -#: ../../reference/compound_stmts.rst:1110 +#: ../../reference/compound_stmts.rst:536 +#: ../../reference/compound_stmts.rst:1091 msgid ":pep:`636` -- Structural Pattern Matching: Tutorial" -msgstr "" +msgstr ":pep:`636` -- Correspondência de padrões estruturais: Tutorial" -#: ../../reference/compound_stmts.rst:560 +#: ../../reference/compound_stmts.rst:540 msgid "Overview" msgstr "Visão Geral" -#: ../../reference/compound_stmts.rst:562 +#: ../../reference/compound_stmts.rst:542 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:565 +#: ../../reference/compound_stmts.rst:545 msgid "" "The subject expression ``subject_expr`` is evaluated and a resulting subject " "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:569 +#: ../../reference/compound_stmts.rst:549 msgid "" "Each pattern in a ``case_block`` is attempted to match with the subject " "value. The specific rules for success or failure are described below. The " @@ -550,8 +616,15 @@ 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:578 +#: ../../reference/compound_stmts.rst:558 msgid "" "During failed pattern matches, some subpatterns may succeed. Do not rely on " "bindings being made for a failed match. Conversely, do not rely on " @@ -559,89 +632,115 @@ 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:585 +#: ../../reference/compound_stmts.rst:565 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:588 +#: ../../reference/compound_stmts.rst:568 msgid "" -"If the guard evaluates as truthy or missing, the ``block`` inside " +"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:591 +#: ../../reference/compound_stmts.rst:571 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:593 +#: ../../reference/compound_stmts.rst:573 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:597 +#: ../../reference/compound_stmts.rst:577 msgid "" "Users should generally never rely on a pattern being evaluated. Depending " "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:601 +#: ../../reference/compound_stmts.rst:581 msgid "A sample match statement::" -msgstr "" +msgstr "Um exemplo de instrução match::" -#: ../../reference/compound_stmts.rst:617 +#: ../../reference/compound_stmts.rst:597 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:620 +#: ../../reference/compound_stmts.rst:600 msgid "Guards" -msgstr "" +msgstr "Guards" -#: ../../reference/compound_stmts.rst:627 +#: ../../reference/compound_stmts.rst:607 msgid "" "A ``guard`` (which is part of the ``case``) must succeed for code inside the " "``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:632 +#: ../../reference/compound_stmts.rst:612 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:634 +#: ../../reference/compound_stmts.rst:614 msgid "" "Check that the pattern in the ``case`` block succeeded. If the pattern " "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:638 +#: ../../reference/compound_stmts.rst:618 msgid "If the pattern succeeded, evaluate the ``guard``." -msgstr "" +msgstr "Se o padrão for bem-sucedido, avalia o ``guard``." -#: ../../reference/compound_stmts.rst:640 +#: ../../reference/compound_stmts.rst:620 msgid "" -"If the ``guard`` condition evaluates to \"truthy\", the case block is " -"selected." +"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:643 +#: ../../reference/compound_stmts.rst:623 msgid "" -"If the ``guard`` condition evaluates to \"falsy\", the case block is not " +"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:646 +#: ../../reference/compound_stmts.rst:626 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:649 +#: ../../reference/compound_stmts.rst:629 msgid "" "Guards are allowed to have side effects as they are expressions. Guard " "evaluation must proceed from the first to the last case block, one at a " @@ -649,66 +748,79 @@ 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:659 +#: ../../reference/compound_stmts.rst:639 msgid "Irrefutable Case Blocks" -msgstr "" +msgstr "Blocos irrefutáveis de case" -#: ../../reference/compound_stmts.rst:663 +#: ../../reference/compound_stmts.rst:643 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:666 +#: ../../reference/compound_stmts.rst:646 msgid "" "A case block is considered irrefutable if it has no guard and its pattern is " "irrefutable. A pattern is considered irrefutable if we can prove from its " "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:671 +#: ../../reference/compound_stmts.rst:651 msgid ":ref:`as-patterns` whose left-hand side is irrefutable" -msgstr "" +msgstr ":ref:`as-patterns` cujo lado esquerdo é irrefutável" -#: ../../reference/compound_stmts.rst:673 +#: ../../reference/compound_stmts.rst:653 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:675 +#: ../../reference/compound_stmts.rst:655 msgid ":ref:`capture-patterns`" -msgstr "" +msgstr ":ref:`capture-patterns`" -#: ../../reference/compound_stmts.rst:677 +#: ../../reference/compound_stmts.rst:657 msgid ":ref:`wildcard-patterns`" -msgstr "" +msgstr ":ref:`wildcard-patterns`" -#: ../../reference/compound_stmts.rst:679 +#: ../../reference/compound_stmts.rst:659 msgid "parenthesized irrefutable patterns" -msgstr "" +msgstr "padrões irrefutáveis entre parêteses" -#: ../../reference/compound_stmts.rst:683 +#: ../../reference/compound_stmts.rst:663 msgid "Patterns" -msgstr "" +msgstr "Padrões" -#: ../../reference/compound_stmts.rst:690 +#: ../../reference/compound_stmts.rst:670 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:692 +#: ../../reference/compound_stmts.rst:672 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:694 +#: ../../reference/compound_stmts.rst:674 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:697 +#: ../../reference/compound_stmts.rst:677 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:711 +#: ../../reference/compound_stmts.rst:691 msgid "" "The descriptions below will include a description \"in simple terms\" of " "what a pattern does for illustration purposes (credits to Raymond Hettinger " @@ -717,375 +829,512 @@ 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:721 +#: ../../reference/compound_stmts.rst:701 msgid "OR Patterns" -msgstr "" +msgstr "Padrões OR" -#: ../../reference/compound_stmts.rst:723 +#: ../../reference/compound_stmts.rst:703 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:729 +#: ../../reference/compound_stmts.rst:709 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:732 +#: ../../reference/compound_stmts.rst:712 msgid "" "An OR pattern matches each of its subpatterns in turn to the subject value, " "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:736 +#: ../../reference/compound_stmts.rst:716 msgid "" "In simple terms, ``P1 | P2 | ...`` will try to match ``P1``, if it fails it " "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:742 +#: ../../reference/compound_stmts.rst:722 msgid "AS Patterns" -msgstr "" +msgstr "Padrões AS" -#: ../../reference/compound_stmts.rst:744 +#: ../../reference/compound_stmts.rst:724 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:750 +#: ../../reference/compound_stmts.rst:730 msgid "" "If the OR pattern fails, the AS pattern fails. Otherwise, the AS pattern " "binds the subject to the name on the right of the as keyword and succeeds. " -"``capture_pattern`` cannot be a a ``_``." +"``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:754 +#: ../../reference/compound_stmts.rst:734 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:761 +#: ../../reference/compound_stmts.rst:741 msgid "Literal Patterns" -msgstr "" +msgstr "Padrões literais" -#: ../../reference/compound_stmts.rst:763 +#: ../../reference/compound_stmts.rst:743 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:776 +#: ../../reference/compound_stmts.rst:756 msgid "" "The rule ``strings`` and the token ``NUMBER`` are defined in the :doc:" "`standard Python grammar <./grammar>`. Triple-quoted strings are " "supported. Raw strings and byte strings are supported. :ref:`f-strings` " "are not supported." 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:781 +#: ../../reference/compound_stmts.rst:761 msgid "" "The forms ``signed_number '+' NUMBER`` and ``signed_number '-' NUMBER`` are " "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:785 +#: ../../reference/compound_stmts.rst:765 msgid "" "In simple terms, ``LITERAL`` will succeed only if `` == LITERAL``. " "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:791 +#: ../../reference/compound_stmts.rst:771 msgid "Capture Patterns" -msgstr "" +msgstr "Padrões de captura" -#: ../../reference/compound_stmts.rst:793 +#: ../../reference/compound_stmts.rst:773 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:799 +#: ../../reference/compound_stmts.rst:779 msgid "" "A single underscore ``_`` is not a capture pattern (this is what ``!'_'`` " -"expresses). It is instead treated as a :token:`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:802 +#: ../../reference/compound_stmts.rst:783 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:805 +#: ../../reference/compound_stmts.rst:786 msgid "" "Capture patterns always succeed. The binding follows scoping rules " "established by the assignment expression operator in :pep:`572`; the name " "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:810 +#: ../../reference/compound_stmts.rst:791 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:815 +#: ../../reference/compound_stmts.rst:796 msgid "Wildcard Patterns" -msgstr "" +msgstr "Padrões curingas" -#: ../../reference/compound_stmts.rst:817 +#: ../../reference/compound_stmts.rst:798 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:823 +#: ../../reference/compound_stmts.rst:804 msgid "" "``_`` is a :ref:`soft keyword ` within any pattern, but only " "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:827 +#: ../../reference/compound_stmts.rst:808 msgid "In simple terms, ``_`` will always succeed." -msgstr "" +msgstr "Em termos simples, ``_`` sempre terá sucesso." -#: ../../reference/compound_stmts.rst:832 +#: ../../reference/compound_stmts.rst:813 msgid "Value Patterns" -msgstr "" +msgstr "Padrões de valor" -#: ../../reference/compound_stmts.rst:834 +#: ../../reference/compound_stmts.rst:815 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:842 +#: ../../reference/compound_stmts.rst:823 msgid "" "The dotted name in the pattern is looked up using standard Python :ref:`name " "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:847 +#: ../../reference/compound_stmts.rst:828 msgid "" "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:851 +#: ../../reference/compound_stmts.rst:832 msgid "" "If the same value occurs multiple times in the same match statement, the " "interpreter may cache the first value found and reuse it rather than repeat " "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:859 +#: ../../reference/compound_stmts.rst:840 msgid "Group Patterns" -msgstr "" +msgstr "Padrões de grupo" -#: ../../reference/compound_stmts.rst:861 +#: ../../reference/compound_stmts.rst:842 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:868 +#: ../../reference/compound_stmts.rst:849 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:873 +#: ../../reference/compound_stmts.rst:854 msgid "Sequence Patterns" -msgstr "" +msgstr "Padrões de sequência" -#: ../../reference/compound_stmts.rst:875 +#: ../../reference/compound_stmts.rst:856 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:886 +#: ../../reference/compound_stmts.rst:867 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:890 +#: ../../reference/compound_stmts.rst:871 msgid "" "A single pattern enclosed in parentheses without a trailing comma (e.g. ``(3 " "| 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:895 +#: ../../reference/compound_stmts.rst:876 msgid "" "At most one star subpattern may be in a sequence pattern. The star " "subpattern may occur in any position. If no star subpattern is present, the " "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:900 +#: ../../reference/compound_stmts.rst:881 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:903 +#: ../../reference/compound_stmts.rst:884 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:906 +#: ../../reference/compound_stmts.rst:887 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:909 +#: ../../reference/compound_stmts.rst:890 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:912 +#: ../../reference/compound_stmts.rst:893 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:914 +#: ../../reference/compound_stmts.rst:895 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:917 +#: ../../reference/compound_stmts.rst:898 msgid "" "Subpatterns in the sequence pattern are matched to their corresponding items " "in the subject sequence from left to right. Matching stops as soon as a " "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:922 +#: ../../reference/compound_stmts.rst:903 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:924 +#: ../../reference/compound_stmts.rst:905 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:927 +#: ../../reference/compound_stmts.rst:908 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:930 +#: ../../reference/compound_stmts.rst:911 msgid "" "If the previous step succeeds, the star subpattern matches a list formed of " "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:934 +#: ../../reference/compound_stmts.rst:915 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:937 +#: ../../reference/compound_stmts.rst:918 msgid "" "The length of the subject sequence is obtained via :func:`len` (i.e. via " "the :meth:`__len__` protocol). This length may be cached by the interpreter " "in a similar manner as :ref:`value patterns `." 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:943 +#: ../../reference/compound_stmts.rst:924 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:946 +#: ../../reference/compound_stmts.rst:927 msgid "check ```` is a sequence" -msgstr "" +msgstr "verifica se ```` é uma sequência" -#: ../../reference/compound_stmts.rst:947 +#: ../../reference/compound_stmts.rst:928 msgid "``len(subject) == ``" -msgstr "" +msgstr "``len(subject) == ``" -#: ../../reference/compound_stmts.rst:948 +#: ../../reference/compound_stmts.rst:929 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:949 +#: ../../reference/compound_stmts.rst:930 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:950 +#: ../../reference/compound_stmts.rst:931 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:955 +#: ../../reference/compound_stmts.rst:936 msgid "Mapping Patterns" -msgstr "" +msgstr "Padrões de mapeamento" -#: ../../reference/compound_stmts.rst:957 +#: ../../reference/compound_stmts.rst:938 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:968 +#: ../../reference/compound_stmts.rst:949 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:971 +#: ../../reference/compound_stmts.rst:952 msgid "" "Duplicate keys in mapping patterns are disallowed. Duplicate literal keys " "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:975 -#: ../../reference/compound_stmts.rst:1020 +#: ../../reference/compound_stmts.rst:956 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:978 +#: ../../reference/compound_stmts.rst:959 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:980 +#: ../../reference/compound_stmts.rst:961 msgid "" "If every key given in the mapping pattern is present in the subject mapping, " "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:984 +#: ../../reference/compound_stmts.rst:965 msgid "" "If duplicate keys are detected in the mapping pattern, the pattern is " "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:988 +#: ../../reference/compound_stmts.rst:969 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 " @@ -1093,251 +1342,311 @@ msgid "" "`__getitem__`." msgstr "" -#: ../../reference/compound_stmts.rst:993 +#: ../../reference/compound_stmts.rst:974 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:996 +#: ../../reference/compound_stmts.rst:977 msgid "check ```` is a mapping" -msgstr "" +msgstr "verifica se ```` é um mapeamento" -#: ../../reference/compound_stmts.rst:997 +#: ../../reference/compound_stmts.rst:978 msgid "``KEY1 in ``" -msgstr "" +msgstr "``KEY1 in ``" -#: ../../reference/compound_stmts.rst:998 +#: ../../reference/compound_stmts.rst:979 msgid "``P1`` matches ``[KEY1]``" -msgstr "" +msgstr "``P1`` corresponde a ``[KEY1]``" -#: ../../reference/compound_stmts.rst:999 +#: ../../reference/compound_stmts.rst:980 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:1005 +#: ../../reference/compound_stmts.rst:986 msgid "Class Patterns" -msgstr "" +msgstr "Padrões de classe" -#: ../../reference/compound_stmts.rst:1007 +#: ../../reference/compound_stmts.rst:988 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:1018 +#: ../../reference/compound_stmts.rst:999 msgid "The same keyword should not be repeated in class patterns." +msgstr "O mesmo argumento nomeado não deve ser repetido em padrões de classe." + +#: ../../reference/compound_stmts.rst:1001 +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:1023 +#: ../../reference/compound_stmts.rst:1004 msgid "" "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:1026 +#: ../../reference/compound_stmts.rst:1007 msgid "" "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:1029 +#: ../../reference/compound_stmts.rst:1010 msgid "" "If no pattern arguments are present, the pattern succeeds. Otherwise, the " "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:1033 +#: ../../reference/compound_stmts.rst:1014 msgid "" "For a number of built-in types (specified below), a single positional " "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:1037 +#: ../../reference/compound_stmts.rst:1018 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:1040 +#: ../../reference/compound_stmts.rst:1021 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:1042 +#: ../../reference/compound_stmts.rst:1023 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:1045 +#: ../../reference/compound_stmts.rst:1026 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:1047 +#: ../../reference/compound_stmts.rst:1028 msgid "" "Else, the subpattern associated with the keyword pattern is matched against " "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:1052 +#: ../../reference/compound_stmts.rst:1033 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:1054 +#: ../../reference/compound_stmts.rst:1035 msgid "" "If any positional patterns are present, they are converted to keyword " "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:1058 +#: ../../reference/compound_stmts.rst:1039 msgid "" -"I. The equivalent of ``getattr(cls, \"__match_args__\", ()))`` is called." +"I. The equivalent of ``getattr(cls, \"__match_args__\", ())`` is called." msgstr "" +"I. O equivalente de ``getattr(cls, \"__match_args__\", ())`` é chamado." -#: ../../reference/compound_stmts.rst:1060 +#: ../../reference/compound_stmts.rst:1041 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:1062 +#: ../../reference/compound_stmts.rst:1043 msgid "" "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:1065 +#: ../../reference/compound_stmts.rst:1046 msgid "" "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:1068 +#: ../../reference/compound_stmts.rst:1049 msgid "" "Otherwise, positional pattern ``i`` is converted to a keyword pattern using " "``__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:1072 +#: ../../reference/compound_stmts.rst:1053 msgid "If there are duplicate keywords, :exc:`TypeError` is raised." msgstr "" +"Se houver argumentos nomeados duplicados, :exc:`TypeError` será levantada." -#: ../../reference/compound_stmts.rst:1074 +#: ../../reference/compound_stmts.rst:1055 msgid ":ref:`class-pattern-matching`" -msgstr "" +msgstr ":ref:`class-pattern-matching`" -#: ../../reference/compound_stmts.rst:1077 +#: ../../reference/compound_stmts.rst:1058 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:1077 +#: ../../reference/compound_stmts.rst:1058 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:1079 +#: ../../reference/compound_stmts.rst:1060 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:1082 +#: ../../reference/compound_stmts.rst:1063 msgid ":class:`bool`" msgstr ":class:`bool`" -#: ../../reference/compound_stmts.rst:1083 +#: ../../reference/compound_stmts.rst:1064 msgid ":class:`bytearray`" -msgstr "" +msgstr ":class:`bytearray`" -#: ../../reference/compound_stmts.rst:1084 +#: ../../reference/compound_stmts.rst:1065 msgid ":class:`bytes`" msgstr ":class:`bytes`" -#: ../../reference/compound_stmts.rst:1085 +#: ../../reference/compound_stmts.rst:1066 msgid ":class:`dict`" msgstr ":class:`dict`" -#: ../../reference/compound_stmts.rst:1086 +#: ../../reference/compound_stmts.rst:1067 msgid ":class:`float`" msgstr ":class:`float`" -#: ../../reference/compound_stmts.rst:1087 +#: ../../reference/compound_stmts.rst:1068 msgid ":class:`frozenset`" msgstr ":class:`frozenset`" -#: ../../reference/compound_stmts.rst:1088 +#: ../../reference/compound_stmts.rst:1069 msgid ":class:`int`" msgstr ":class:`int`" -#: ../../reference/compound_stmts.rst:1089 -#: ../../reference/compound_stmts.rst:1540 +#: ../../reference/compound_stmts.rst:1070 +#: ../../reference/compound_stmts.rst:1521 msgid ":class:`list`" msgstr ":class:`list`" -#: ../../reference/compound_stmts.rst:1090 +#: ../../reference/compound_stmts.rst:1071 msgid ":class:`set`" msgstr ":class:`set`" -#: ../../reference/compound_stmts.rst:1091 +#: ../../reference/compound_stmts.rst:1072 msgid ":class:`str`" msgstr ":class:`str`" -#: ../../reference/compound_stmts.rst:1092 -#: ../../reference/compound_stmts.rst:1543 +#: ../../reference/compound_stmts.rst:1073 +#: ../../reference/compound_stmts.rst:1524 msgid ":class:`tuple`" msgstr ":class:`tuple`" -#: ../../reference/compound_stmts.rst:1094 +#: ../../reference/compound_stmts.rst:1075 msgid "" "These classes accept a single positional argument, and the pattern there is " "matched against the whole object rather than an attribute. For example " -"``int(0|1)`` matches the value ``0``, but not the values ``0.0`` or " -"``False``." +"``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:1098 +#: ../../reference/compound_stmts.rst:1079 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:1100 +#: ../../reference/compound_stmts.rst:1081 msgid "``isinstance(, CLS)``" -msgstr "" +msgstr "``isinstance(, CLS)``" -#: ../../reference/compound_stmts.rst:1101 +#: ../../reference/compound_stmts.rst:1082 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:1103 +#: ../../reference/compound_stmts.rst:1084 msgid "For each keyword argument ``attr=P2``:" -msgstr "" +msgstr "Para cada argumento de palavra-chave ``attr=P2``:" -#: ../../reference/compound_stmts.rst:1103 +#: ../../reference/compound_stmts.rst:1084 msgid "``hasattr(, \"attr\")``" -msgstr "" +msgstr "``hasattr(, \"attr\")``" -#: ../../reference/compound_stmts.rst:1104 +#: ../../reference/compound_stmts.rst:1085 msgid "``P2`` matches ``.attr``" -msgstr "" +msgstr "``P2`` corresponde a ``.attr``" -#: ../../reference/compound_stmts.rst:1105 +#: ../../reference/compound_stmts.rst:1086 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:1120 +#: ../../reference/compound_stmts.rst:1101 msgid "Function definitions" msgstr "Definições de função" -#: ../../reference/compound_stmts.rst:1135 +#: ../../reference/compound_stmts.rst:1116 msgid "" "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:1154 +#: ../../reference/compound_stmts.rst:1135 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 " @@ -1345,14 +1654,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:1160 +#: ../../reference/compound_stmts.rst:1141 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:1166 +#: ../../reference/compound_stmts.rst:1147 msgid "" "A function definition may be wrapped by one or more :term:`decorator` " "expressions. Decorator expressions are evaluated when the function is " @@ -1362,26 +1678,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:1177 -#: ../../reference/compound_stmts.rst:1354 +#: ../../reference/compound_stmts.rst:1158 +#: ../../reference/compound_stmts.rst:1335 msgid "is roughly equivalent to ::" -msgstr "" +msgstr "é aproximadamente equivalente a ::" -#: ../../reference/compound_stmts.rst:1182 +#: ../../reference/compound_stmts.rst:1163 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:1184 +#: ../../reference/compound_stmts.rst:1165 msgid "" -"Functions may be decorated with any valid :token:`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:1194 +#: ../../reference/compound_stmts.rst:1175 msgid "" "When one or more :term:`parameters ` have the form *parameter* " "``=`` *expression*, the function is said to have \"default parameter values." @@ -1391,8 +1719,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:1202 +#: ../../reference/compound_stmts.rst:1183 msgid "" "**Default parameter values are evaluated from left to right when the " "function definition is executed.** This means that the expression is " @@ -1404,8 +1739,18 @@ 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 "" +"**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:1223 +#: ../../reference/compound_stmts.rst:1204 msgid "" "Function call semantics are described in more detail in section :ref:" "`calls`. A function call always assigns values to all parameters mentioned " @@ -1420,14 +1765,29 @@ msgid "" "\"``/``\" are positional-only parameters and may only be passed by " "positional arguments." msgstr "" - -#: ../../reference/compound_stmts.rst:1235 +"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:1216 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:1244 +#: ../../reference/compound_stmts.rst:1225 msgid "" "Parameters may have an :term:`annotation ` of the form " "\"``: expression``\" following the parameter name. Any parameter may have " @@ -1444,7 +1804,7 @@ msgid "" "different order than they appear in the source code." msgstr "" -#: ../../reference/compound_stmts.rst:1259 +#: ../../reference/compound_stmts.rst:1240 msgid "" "It is also possible to create anonymous functions (functions not bound to a " "name), for immediate use in expressions. This uses lambda expressions, " @@ -1455,8 +1815,16 @@ msgid "" "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:1267 +#: ../../reference/compound_stmts.rst:1248 msgid "" "**Programmer's note:** Functions are first-class objects. A \"``def``\" " "statement executed inside a function definition defines a local function " @@ -1464,52 +1832,60 @@ 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:1276 +#: ../../reference/compound_stmts.rst:1257 msgid ":pep:`3107` - Function Annotations" -msgstr "" +msgstr ":pep:`3107` - Anotações de função" -#: ../../reference/compound_stmts.rst:1276 +#: ../../reference/compound_stmts.rst:1257 msgid "The original specification for function annotations." -msgstr "" +msgstr "A especificação original para anotações de funções." -#: ../../reference/compound_stmts.rst:1279 +#: ../../reference/compound_stmts.rst:1260 msgid ":pep:`484` - Type Hints" -msgstr "" +msgstr ":pep:`484` - Dicas de tipo" -#: ../../reference/compound_stmts.rst:1279 +#: ../../reference/compound_stmts.rst:1260 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:1283 +#: ../../reference/compound_stmts.rst:1264 msgid ":pep:`526` - Syntax for Variable Annotations" -msgstr "" +msgstr ":pep:`526` - Sintaxe para Anotações de Variáveis" -#: ../../reference/compound_stmts.rst:1282 +#: ../../reference/compound_stmts.rst:1263 msgid "" "Ability to type hint variable declarations, including class variables and " "instance variables" msgstr "" -#: ../../reference/compound_stmts.rst:1286 +#: ../../reference/compound_stmts.rst:1267 msgid ":pep:`563` - Postponed Evaluation of Annotations" -msgstr "" +msgstr ":pep:`563` - Avaliação postergada de anotações" -#: ../../reference/compound_stmts.rst:1286 +#: ../../reference/compound_stmts.rst:1267 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:1293 +#: ../../reference/compound_stmts.rst:1274 msgid "Class definitions" msgstr "Definições de classe" -#: ../../reference/compound_stmts.rst:1308 +#: ../../reference/compound_stmts.rst:1289 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:1315 +#: ../../reference/compound_stmts.rst:1296 msgid "" "A class definition is an executable statement. The inheritance list usually " "gives a list of base classes (see :ref:`metaclasses` for more advanced " @@ -1517,12 +1893,17 @@ msgid "" "allows subclassing. Classes without an inheritance list inherit, by " "default, from the base class :class:`object`; hence, ::" msgstr "" +"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:1324 +#: ../../reference/compound_stmts.rst:1305 msgid "is equivalent to ::" -msgstr "é equivalente a::" +msgstr "equivale a ::" -#: ../../reference/compound_stmts.rst:1329 +#: ../../reference/compound_stmts.rst:1310 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 " @@ -1533,8 +1914,16 @@ msgid "" "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:1338 +#: ../../reference/compound_stmts.rst:1319 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 " @@ -1542,30 +1931,38 @@ msgid "" "definition syntax." msgstr "" -#: ../../reference/compound_stmts.rst:1343 +#: ../../reference/compound_stmts.rst:1324 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:1348 +#: ../../reference/compound_stmts.rst:1329 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:1359 +#: ../../reference/compound_stmts.rst:1340 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:1362 +#: ../../reference/compound_stmts.rst:1343 msgid "" -"Classes may be decorated with any valid :token:`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:1367 +#: ../../reference/compound_stmts.rst:1348 msgid "" "**Programmer's note:** Variables defined in the class definition are class " "attributes; they are shared by instances. Instance attributes can be set in " @@ -1577,218 +1974,277 @@ msgid "" "` can be used to create instance variables with different " "implementation details." msgstr "" - -#: ../../reference/compound_stmts.rst:1382 +"**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:1363 msgid ":pep:`3115` - Metaclasses in Python 3000" msgstr ":pep:`3115` - Metaclasses no Python 3000" -#: ../../reference/compound_stmts.rst:1380 +#: ../../reference/compound_stmts.rst:1361 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:1385 +#: ../../reference/compound_stmts.rst:1366 msgid ":pep:`3129` - Class Decorators" msgstr ":pep:`3129` - Class Decorators" -#: ../../reference/compound_stmts.rst:1385 +#: ../../reference/compound_stmts.rst:1366 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:1392 +#: ../../reference/compound_stmts.rst:1373 msgid "Coroutines" msgstr "Corrotinas" -#: ../../reference/compound_stmts.rst:1400 +#: ../../reference/compound_stmts.rst:1381 msgid "Coroutine function definition" -msgstr "" +msgstr "Definição de função de corrotina" -#: ../../reference/compound_stmts.rst:1410 +#: ../../reference/compound_stmts.rst:1391 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:1414 +#: ../../reference/compound_stmts.rst:1395 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:1417 +#: ../../reference/compound_stmts.rst:1398 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:1420 +#: ../../reference/compound_stmts.rst:1401 msgid "An example of a coroutine function::" -msgstr "" +msgstr "Um exemplo de uma função de corrotina::" -#: ../../reference/compound_stmts.rst:1426 +#: ../../reference/compound_stmts.rst:1407 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:1434 +#: ../../reference/compound_stmts.rst:1415 msgid "The :keyword:`!async for` statement" -msgstr "" +msgstr "A instrução :keyword:`!async for`" -#: ../../reference/compound_stmts.rst:1439 +#: ../../reference/compound_stmts.rst:1420 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:1443 +#: ../../reference/compound_stmts.rst:1424 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:1453 +#: ../../reference/compound_stmts.rst:1434 msgid "Is semantically equivalent to::" -msgstr "" +msgstr "É semanticamente equivalente a::" -#: ../../reference/compound_stmts.rst:1469 -msgid "See also :meth:`__aiter__` and :meth:`__anext__` for details." +#: ../../reference/compound_stmts.rst:1450 +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:1471 +#: ../../reference/compound_stmts.rst:1452 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:1479 +#: ../../reference/compound_stmts.rst:1460 msgid "The :keyword:`!async with` statement" -msgstr "" +msgstr "A instrução :keyword:`!async with`" -#: ../../reference/compound_stmts.rst:1484 +#: ../../reference/compound_stmts.rst:1465 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:1511 -msgid "See also :meth:`__aenter__` and :meth:`__aexit__` for details." +#: ../../reference/compound_stmts.rst:1492 +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:1513 +#: ../../reference/compound_stmts.rst:1494 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:1519 +#: ../../reference/compound_stmts.rst:1500 msgid ":pep:`492` - Coroutines with async and await syntax" -msgstr "" +msgstr ":pep:`492` - Corrotina com sintaxe de async e wait" -#: ../../reference/compound_stmts.rst:1519 +#: ../../reference/compound_stmts.rst:1500 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:1524 +#: ../../reference/compound_stmts.rst:1505 msgid "Footnotes" msgstr "Notas de rodapé" -#: ../../reference/compound_stmts.rst:1525 +#: ../../reference/compound_stmts.rst:1506 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." 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:1529 +#: ../../reference/compound_stmts.rst:1510 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:1531 +#: ../../reference/compound_stmts.rst:1512 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:1532 +#: ../../reference/compound_stmts.rst:1513 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:1533 +#: ../../reference/compound_stmts.rst:1514 msgid "" "a builtin class that has its (CPython) :data:`Py_TPFLAGS_SEQUENCE` bit set" msgstr "" +#: ../../reference/compound_stmts.rst:1515 #: ../../reference/compound_stmts.rst:1534 -#: ../../reference/compound_stmts.rst:1553 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:1536 +#: ../../reference/compound_stmts.rst:1517 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:1538 +#: ../../reference/compound_stmts.rst:1519 msgid ":class:`array.array`" -msgstr "" +msgstr ":class:`array.array`" -#: ../../reference/compound_stmts.rst:1539 +#: ../../reference/compound_stmts.rst:1520 msgid ":class:`collections.deque`" msgstr ":class:`collections.deque`" -#: ../../reference/compound_stmts.rst:1541 +#: ../../reference/compound_stmts.rst:1522 msgid ":class:`memoryview`" -msgstr "" +msgstr ":class:`memoryview`" -#: ../../reference/compound_stmts.rst:1542 +#: ../../reference/compound_stmts.rst:1523 msgid ":class:`range`" -msgstr "" +msgstr ":class:`range`" -#: ../../reference/compound_stmts.rst:1545 +#: ../../reference/compound_stmts.rst:1526 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:1548 +#: ../../reference/compound_stmts.rst:1529 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:1550 +#: ../../reference/compound_stmts.rst:1531 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:1551 +#: ../../reference/compound_stmts.rst:1532 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:1552 +#: ../../reference/compound_stmts.rst:1533 msgid "" "a builtin class that has its (CPython) :data:`Py_TPFLAGS_MAPPING` bit set" msgstr "" -#: ../../reference/compound_stmts.rst:1555 +#: ../../reference/compound_stmts.rst:1536 msgid "" "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:1558 +#: ../../reference/compound_stmts.rst:1539 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`." msgstr "" -#: ../../reference/compound_stmts.rst:1562 +#: ../../reference/compound_stmts.rst:1543 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 :" diff --git a/reference/datamodel.po b/reference/datamodel.po index 6cbcc4641..ac5d1e776 100644 --- a/reference/datamodel.po +++ b/reference/datamodel.po @@ -1,35 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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 -# Vinicius Gubiani Ferreira , 2021 -# Raphael Mendonça, 2021 -# Marco Rougeth , 2021 -# Adorilson Bezerra , 2021 -# felipe caridade , 2021 -# Welington Carlos , 2021 -# Claudio Rogerio Carvalho Filho , 2021 -# Willian Lopes, 2021 -# Rafael Fontenelle , 2021 +# python-doc bot, 2025 # #, 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:19+0000\n" -"Last-Translator: Rafael Fontenelle , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:58+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../reference/datamodel.rst:6 msgid "Data model" @@ -46,10 +38,11 @@ msgid "" "sense, and in conformance to Von Neumann's model of a \"stored program " "computer\", code is also represented by objects.)" msgstr "" -":dfn:`Objetos` são abstrações do Python para dados. Todos dados em um " +":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 \"stored " -"program computer\", código também é representado por objetos.)" +"(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.)" #: ../../reference/datamodel.rst:35 msgid "" @@ -61,14 +54,13 @@ msgid "" 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 "" @@ -78,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 *length*?\") e também define os valores possíveis para " -"objetos desse tipo. A função :func:`type` retorna o tipo de um objeto (que é " -"o próprio 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 "" @@ -100,8 +92,8 @@ msgstr "" "O *valor* de alguns objetos pode mudar. Objetos cujos valores podem mudar " "são descritos como *mutáveis*, objetos cujo valor não pode ser mudado uma " "vez que foram criados são chamados *imutáveis*. (O valor de um objeto " -"contêiner que contém uma referência a um objeto mutável pode mudar quando o " -"valor deste último for mudado; no entanto o contêiner é ainda assim " +"contêiner imutável que contém uma referência a um objeto mutável pode mudar " +"quando o valor deste último for mudado; no entanto o contêiner é ainda assim " "considerada imutável, pois a coleção de objetos que contém não pode ser " "mudada. Então a imutabilidade não é estritamente o mesmo do que não haver " "mudanças de valor, é mais sutil.) A mutabilidade de um objeto é determinada " @@ -119,8 +111,8 @@ msgstr "" "Os objetos nunca são destruídos explicitamente; no entanto, quando eles se " "tornam inacessíveis, eles podem ser coletados como lixo. Uma implementação " "tem permissão para adiar a coleta de lixo ou omiti-la completamente -- é uma " -"questão de qualidade de implementação como a coleta de lixo é implementada, " -"desde que nenhum objeto seja coletado que ainda esteja acessível." +"questão de detalhe de implementação como a coleta de lixo é implementada, " +"desde que nenhum objeto que ainda esteja acessível seja coletado." #: ../../reference/datamodel.rst:73 msgid "" @@ -221,7 +213,7 @@ msgstr "" #: ../../reference/datamodel.rst:120 msgid "The standard type hierarchy" -msgstr "A hierarquia de tipos padrão " +msgstr "A hierarquia de tipos padrão" #: ../../reference/datamodel.rst:129 msgid "" @@ -265,7 +257,7 @@ 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 msgid "NotImplemented" @@ -316,7 +308,7 @@ 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 msgid ":class:`numbers.Number`" @@ -330,19 +322,20 @@ 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 msgid "" "The string representations of the numeric classes, computed by :meth:" -"`__repr__` and :meth:`__str__`, have the following properties:" +"`~object.__repr__` and :meth:`~object.__str__`, have the following " +"properties:" msgstr "" "As representações de string das classes numéricas, calculadas por :meth:" -"`__repr__` e :meth:`__str__`, têm as seguintes propriedades:" +"`~object.__repr__` e :meth:`~object.__str__`, têm as seguintes propriedades:" #: ../../reference/datamodel.rst:194 msgid "" @@ -402,7 +395,7 @@ msgstr "Existem dois tipos de inteiros:" #: ../../reference/datamodel.rst:224 msgid "Integers (:class:`int`)" -msgstr "Integers (:class:`int`)" +msgstr "Inteiros (:class:`int`)" #: ../../reference/datamodel.rst:220 msgid "" @@ -412,9 +405,9 @@ 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." @@ -428,8 +421,8 @@ msgid "" "representing the values ``False`` and ``True`` are the only Boolean objects. " "The Boolean type is a subtype of the integer type, and Boolean values behave " "like the values 0 and 1, respectively, in almost all contexts, the exception " -"being that when converted to a string, the strings ``\"False\"`` or ``\"True" -"\"`` are returned, respectively." +"being that when converted to a string, the strings ``\"False\"`` or " +"``\"True\"`` are returned, respectively." msgstr "" "Estes representam os valores da verdade Falsos e Verdadeiros. Os dois " "objetos que representam os valores ``False`` e ``True`` são os únicos " @@ -463,7 +456,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 " @@ -483,11 +476,11 @@ msgid "" "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 msgid "Sequences" @@ -500,7 +493,7 @@ msgid "" "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]``." 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* é " @@ -561,7 +554,7 @@ msgstr "Strings" msgid "" "A string is a sequence of values that represent Unicode code points. All the " "code points in the range ``U+0000 - U+10FFFF`` can be represented in a " -"string. Python doesn't have a :c:type:`char` type; instead, every code " +"string. Python doesn't have a :c:expr:`char` type; instead, every code " "point in the string is represented as a string object with length ``1``. " "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 " @@ -572,7 +565,7 @@ msgid "" 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 " -"ser representados em uma string. Python não tem um tipo :c:type:`char`; em " +"ser representados em uma string. Python não tem um tipo :c:expr:`char`; em " "vez disso, cada ponto de código na string é representado como um objeto " "string com comprimento ``1``. A função embutida :func:`ord` converte um " "ponto de código de sua forma de string para um inteiro no intervalo ``0 - " @@ -631,7 +624,7 @@ msgid "" "`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 @@ -649,7 +642,7 @@ msgid "" "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.)" @@ -665,9 +658,9 @@ msgid "" "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`." +"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:382 msgid "" @@ -679,7 +672,7 @@ msgstr "" #: ../../reference/datamodel.rst:417 msgid "Set types" -msgstr "Tipos conjuntos" +msgstr "Tipos de conjuntos" #: ../../reference/datamodel.rst:390 msgid "" @@ -690,7 +683,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 " @@ -724,13 +717,13 @@ msgid "" "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 msgid "Frozen sets" -msgstr "Frozen sets" +msgstr "Conjuntos congelados" #: ../../reference/datamodel.rst:414 msgid "" @@ -738,7 +731,7 @@ msgid "" "`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." @@ -828,9 +821,9 @@ 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:725 +#: ../../reference/datamodel.rst:726 msgid "Callable types" msgstr "Tipos chamáveis" @@ -857,7 +850,7 @@ 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:840 +#: ../../reference/datamodel.rst:487 ../../reference/datamodel.rst:841 msgid "Special attributes:" msgstr "Atributos especiais:" @@ -869,8 +862,8 @@ msgstr "Atributo" msgid "Meaning" msgstr "Significado" -#: ../../reference/datamodel.rst:507 ../../reference/datamodel.rst:761 -#: ../../reference/datamodel.rst:856 +#: ../../reference/datamodel.rst:507 ../../reference/datamodel.rst:762 +#: ../../reference/datamodel.rst:857 msgid ":attr:`__doc__`" msgstr ":attr:`__doc__`" @@ -906,7 +899,7 @@ msgstr ":attr:`~definition.\\ __qualname__`" msgid "The function's :term:`qualified name`." msgstr "O :term:`nome qualificado ` da função." -#: ../../reference/datamodel.rst:520 ../../reference/datamodel.rst:846 +#: ../../reference/datamodel.rst:520 ../../reference/datamodel.rst:847 msgid ":attr:`__module__`" msgstr ":attr:`__module__`" @@ -951,9 +944,9 @@ msgstr "" #: ../../reference/datamodel.rst:533 ../../reference/datamodel.rst:544 msgid "Read-only" -msgstr "Somente Leitura" +msgstr "Somente leitura" -#: ../../reference/datamodel.rst:540 ../../reference/datamodel.rst:849 +#: ../../reference/datamodel.rst:540 ../../reference/datamodel.rst:850 msgid ":attr:`~object.__dict__`" msgstr ":attr:`~object.__dict__`" @@ -975,8 +968,8 @@ msgstr "" "livres da função. Veja abaixo as informações sobre o atributo " "``cell_contents``." -#: ../../reference/datamodel.rst:551 ../../reference/datamodel.rst:776 -#: ../../reference/datamodel.rst:863 +#: ../../reference/datamodel.rst:551 ../../reference/datamodel.rst:777 +#: ../../reference/datamodel.rst:864 msgid ":attr:`__annotations__`" msgstr ":attr:`__annotations__`" @@ -1017,12 +1010,12 @@ msgid "" "functions. Function attributes on built-in functions may be supported in the " "future.*" msgstr "" -"Os objetos função também suportam a obtenção e configuração de atributos " +"Os objetos função também implementam a obtenção e configuraçã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.*" +"embutidas podem ser implementados no futuro.*" #: ../../reference/datamodel.rst:573 msgid "" @@ -1044,7 +1037,7 @@ msgstr "" #: ../../reference/datamodel.rst:642 msgid "Instance methods" -msgstr "Instância de métodos" +msgstr "Métodos de instância" #: ../../reference/datamodel.rst:587 msgid "" @@ -1075,8 +1068,8 @@ msgid "" "Methods also support accessing (but not setting) the arbitrary function " "attributes on the underlying function object." 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." +"Os métodos também implementam o acesso (mas não a configuração) dos " +"atributos arbitrários da função no objeto função subjacente." #: ../../reference/datamodel.rst:606 msgid "" @@ -1170,22 +1163,22 @@ msgstr "Funções geradoras" 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 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." +"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 iterador 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." +"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 msgid "Coroutine functions" @@ -1201,11 +1194,11 @@ msgid "" 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:686 +#: ../../reference/datamodel.rst:687 msgid "Asynchronous generator functions" msgstr "Funções geradoras assíncronas" @@ -1213,37 +1206,38 @@ msgstr "Funções geradoras assíncronas" 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 " -"function`. Such a function, when called, returns an asynchronous iterator " -"object which can be used in an :keyword:`async for` statement to execute the " -"body of the function." +"function`. Such a function, when called, returns an :term:`asynchronous " +"iterator` object which can be used in an :keyword:`async for` statement to " +"execute the body of the function." 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 iterador " -"assíncrono que pode ser usado em uma instrução :keyword:`async for` para " +"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 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." -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." - -#: ../../reference/datamodel.rst:701 +"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 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 msgid "Built-in functions" msgstr "Funções embutidas" -#: ../../reference/datamodel.rst:694 +#: ../../reference/datamodel.rst:695 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 " @@ -1254,8 +1248,8 @@ msgid "" "``None`` (but see the next item); :attr:`__module__` is the name of the " "module the function was defined in or ``None`` if unavailable." 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 " +"Um objeto função embutida é um invólucro 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:" @@ -1263,11 +1257,11 @@ msgstr "" "``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." -#: ../../reference/datamodel.rst:713 +#: ../../reference/datamodel.rst:714 msgid "Built-in methods" msgstr "Métodos embutidos" -#: ../../reference/datamodel.rst:709 +#: ../../reference/datamodel.rst:710 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 " @@ -1281,41 +1275,41 @@ msgstr "" "que *alist* é um objeto de lista. Nesse caso, o atributo especial de somente " "leitura :attr:`__self__` é definido como o objeto denotado por *alist*." -#: ../../reference/datamodel.rst:720 +#: ../../reference/datamodel.rst:721 msgid "Classes" msgstr "Classes" -#: ../../reference/datamodel.rst:716 +#: ../../reference/datamodel.rst:717 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:`__new__`. The arguments of the call are passed to :meth:" -"`__new__` and, in the typical case, to :meth:`__init__` to initialize the " -"new instance." +"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:`__new__`. Os argumentos da chamada são passados " -"para :meth:`__new__` e, no caso típico, para :meth:`__init__` para " -"inicializar a nova instância." +"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." -#: ../../reference/datamodel.rst:725 +#: ../../reference/datamodel.rst:726 msgid "Class Instances" -msgstr "Instâncias de classes" +msgstr "Instâncias de classe" -#: ../../reference/datamodel.rst:723 +#: ../../reference/datamodel.rst:724 msgid "" "Instances of arbitrary classes can be made callable by defining a :meth:" -"`__call__` method in their class." +"`~object.__call__` method in their class." msgstr "" "Instâncias de classes arbitrárias podem ser tornados chamáveis definindo um " -"método :meth:`__call__` em sua classe." +"método :meth:`~object.__call__` em sua classe." -#: ../../reference/datamodel.rst:788 +#: ../../reference/datamodel.rst:789 msgid "Modules" msgstr "Módulos" -#: ../../reference/datamodel.rst:732 +#: ../../reference/datamodel.rst:733 msgid "" "Modules are a basic organizational unit of Python code, and are created by " "the :ref:`import system ` as invoked either by the :keyword:" @@ -1329,17 +1323,17 @@ msgid "" "needed once the initialization is done)." msgstr "" "Módulos são uma unidade organizacional básica do código Python, e são " -"criados pelo :ref:`sistema de importação ` como 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:744 +"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 módulo tem um " +"espaço de nomes implementado por um objeto dicionário (este é o dicionário " +"referenciado pelo atributo ``__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:745 msgid "" "Attribute assignment updates the module's namespace dictionary, e.g., ``m.x " "= 1`` is equivalent to ``m.__dict__[\"x\"] = 1``." @@ -1347,27 +1341,27 @@ 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:754 +#: ../../reference/datamodel.rst:755 msgid "Predefined (writable) attributes:" -msgstr "Atributos predefinidos graváveis:" +msgstr "Atributos predefinidos (graváveis):" -#: ../../reference/datamodel.rst:757 +#: ../../reference/datamodel.rst:758 msgid ":attr:`__name__`" msgstr ":attr:`__name__`" -#: ../../reference/datamodel.rst:757 +#: ../../reference/datamodel.rst:758 msgid "The module's name." -msgstr "O nome do módulo" +msgstr "O nome do módulo." -#: ../../reference/datamodel.rst:760 +#: ../../reference/datamodel.rst:761 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:770 +#: ../../reference/datamodel.rst:771 msgid ":attr:`__file__`" msgstr ":attr:`__file__`" -#: ../../reference/datamodel.rst:764 +#: ../../reference/datamodel.rst:765 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 " @@ -1382,43 +1376,42 @@ msgstr "" "carregadas dinamicamente de uma biblioteca compartilhada, é o endereço do " "caminho do arquivo da biblioteca compartilhada." -#: ../../reference/datamodel.rst:773 +#: ../../reference/datamodel.rst:774 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`." 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 " +"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:780 +#: ../../reference/datamodel.rst:781 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:785 +#: ../../reference/datamodel.rst:786 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 " "still has live references. To avoid this, copy the dictionary or keep the " "module around while using its dictionary directly." msgstr "" -"Por causa da maneira como o CPython limpa os dicionários do módulo, o " -"dicionário do módulo será limpo quando o módulo sair do escopo, mesmo se o " -"dicionário 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." +"Por causa da maneira como CPython limpa dicionários de módulos, o dicionário " +"do módulo será limpo quando o módulo sair do escopo, mesmo se o dicionário " +"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:863 +#: ../../reference/datamodel.rst:864 msgid "Custom classes" msgstr "Classes personalizadas" -#: ../../reference/datamodel.rst:791 +#: ../../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. " @@ -1435,19 +1428,19 @@ msgid "" 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, ``Cx`` é " +"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 " +"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 ancestral " -"comum. Detalhes adicionais sobre o C3 MRO 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/." +"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 " +"ancestral comum. Detalhes adicionais sobre a ordem de resolução de métodos " +"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:815 +#: ../../reference/datamodel.rst:816 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 :" @@ -1465,7 +1458,7 @@ msgstr "" "para outra maneira em que os atributos recuperados de uma classe podem " "diferir daqueles realmente contidos em seu :attr:`~object.__dict__`." -#: ../../reference/datamodel.rst:825 +#: ../../reference/datamodel.rst:826 msgid "" "Class attribute assignments update the class's dictionary, never the " "dictionary of a base class." @@ -1473,35 +1466,35 @@ 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:830 +#: ../../reference/datamodel.rst:831 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:843 +#: ../../reference/datamodel.rst:844 msgid ":attr:`~definition.__name__`" msgstr ":attr:`~definition.__name__`" -#: ../../reference/datamodel.rst:843 +#: ../../reference/datamodel.rst:844 msgid "The class name." -msgstr "O nome da classe" +msgstr "O nome da classe." -#: ../../reference/datamodel.rst:846 +#: ../../reference/datamodel.rst:847 msgid "The name of the module in which the class was defined." -msgstr "O nome do módulo no qual a classe foi definida" +msgstr "O nome do módulo no qual a classe foi definida." -#: ../../reference/datamodel.rst:849 +#: ../../reference/datamodel.rst:850 msgid "The dictionary containing the class's namespace." -msgstr "O dicionário contendo o espaço de nomes da classe" +msgstr "O dicionário contendo o espaço de nomes da classe." -#: ../../reference/datamodel.rst:853 +#: ../../reference/datamodel.rst:854 msgid ":attr:`~class.__bases__`" msgstr ":attr:`~class.__bases__`" -#: ../../reference/datamodel.rst:852 +#: ../../reference/datamodel.rst:853 msgid "" "A tuple containing the base classes, in the order of their occurrence in the " "base class list." @@ -1509,26 +1502,26 @@ msgstr "" "Uma tupla contendo a classe base, na ordem de suas ocorrências na lista da " "classe base." -#: ../../reference/datamodel.rst:856 +#: ../../reference/datamodel.rst:857 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:859 +#: ../../reference/datamodel.rst:860 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`." msgstr "" -"Um dicionário contendo :term:`anotação de variável ` " -"colecionado durante a execução do corpo da classe. Para melhores práticas " +"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:906 +#: ../../reference/datamodel.rst:907 msgid "Class instances" msgstr "Instâncias de classe" -#: ../../reference/datamodel.rst:872 +#: ../../reference/datamodel.rst:873 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 " @@ -1541,8 +1534,8 @@ msgid "" "\"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:`__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 " @@ -1551,27 +1544,27 @@ msgstr "" "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 objetos método de classe " -"também são transformados; veja acima em \"Classes\". Veja a seção :ref:" +"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:" -"`__getattr__`, que é chamado para satisfazer a pesquisa." +"classe for encontrado, e a classe do objeto tiver um método :meth:`~object." +"__getattr__`, este é chamado para satisfazer a pesquisa." -#: ../../reference/datamodel.rst:888 +#: ../../reference/datamodel.rst:889 msgid "" "Attribute assignments and deletions update the instance's dictionary, never " -"a class's dictionary. If the class has a :meth:`__setattr__` or :meth:" -"`__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:" -"`__setattr__` ou :meth:`__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:898 +#: ../../reference/datamodel.rst:899 msgid "" "Class instances can pretend to be numbers, sequences, or mappings if they " "have methods with certain special names. See section :ref:`specialnames`." @@ -1580,7 +1573,7 @@ msgstr "" "se tiverem métodos com certos nomes especiais. Veja a seção :ref:" "`specialnames`." -#: ../../reference/datamodel.rst:905 +#: ../../reference/datamodel.rst:906 msgid "" "Special attributes: :attr:`~object.__dict__` is the attribute dictionary; :" "attr:`~instance.__class__` is the instance's class." @@ -1588,11 +1581,11 @@ msgstr "" "Atributos especiais: :attr:`~object.__dict__` é o dicionário de atributos; :" "attr:`~instance.__class__` é a classe da instância." -#: ../../reference/datamodel.rst:932 +#: ../../reference/datamodel.rst:933 msgid "I/O objects (also known as file objects)" msgstr "Objetos de E/S (também conhecidos como objetos arquivo)" -#: ../../reference/datamodel.rst:922 +#: ../../reference/datamodel.rst:923 msgid "" "A :term:`file object` represents an open file. Various shortcuts are " "available to create file objects: the :func:`open` built-in function, and " @@ -1606,7 +1599,7 @@ msgstr "" "`~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:928 +#: ../../reference/datamodel.rst:929 msgid "" "The objects ``sys.stdin``, ``sys.stdout`` and ``sys.stderr`` are initialized " "to file objects corresponding to the interpreter's standard input, output " @@ -1618,11 +1611,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:1182 +#: ../../reference/datamodel.rst:1184 msgid "Internal types" msgstr "Tipos internos" -#: ../../reference/datamodel.rst:939 +#: ../../reference/datamodel.rst:940 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 " @@ -1632,11 +1625,11 @@ msgstr "" "Suas definições podem mudar com versões futuras do interpretador, mas são " "mencionadas aqui para fins de integridade." -#: ../../reference/datamodel.rst:1014 +#: ../../reference/datamodel.rst:1015 msgid "Code objects" msgstr "Objetos código" -#: ../../reference/datamodel.rst:946 +#: ../../reference/datamodel.rst:947 msgid "" "Code objects represent *byte-compiled* executable Python code, or :term:" "`bytecode`. The difference between a code object and a function object is " @@ -1657,7 +1650,7 @@ msgstr "" "são imutáveis e não contêm referências (direta ou indiretamente) a objetos " "mutáveis." -#: ../../reference/datamodel.rst:973 +#: ../../reference/datamodel.rst:974 msgid "" "Special read-only attributes: :attr:`co_name` gives the function name; :attr:" "`co_argcount` is the total number of positional arguments (including " @@ -1682,19 +1675,19 @@ msgid "" msgstr "" "Atributos especiais de somente leitura: :attr:`co_name` fornece o nome da " "função; :attr:`co_argcount` é o número total de argumentos posicionais " -"(incluindo argumentos apenas posicionais e argumentos com valores padrão); :" +"(incluindo argumentos somente-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 " +"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 " +"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 " +"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 " +"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 " @@ -1702,7 +1695,7 @@ msgstr "" "é o tamanho de pilha necessário; :attr:`co_flags` é um inteiro que codifica " "uma série de sinalizadores para o interpretador." -#: ../../reference/datamodel.rst:997 +#: ../../reference/datamodel.rst:998 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 " @@ -1710,13 +1703,13 @@ msgid "" "``**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 " +"Os seguintes bits sinalizadores 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:1003 +#: ../../reference/datamodel.rst:1004 msgid "" "Future feature declarations (``from __future__ import division``) also use " "bits in :attr:`co_flags` to indicate whether a code object was compiled with " @@ -1730,11 +1723,11 @@ msgstr "" "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:1009 +#: ../../reference/datamodel.rst:1010 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:1013 +#: ../../reference/datamodel.rst:1014 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." @@ -1742,11 +1735,11 @@ 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." -#: ../../reference/datamodel.rst:1076 +#: ../../reference/datamodel.rst:1077 msgid "Frame objects" msgstr "Objetos quadro" -#: ../../reference/datamodel.rst:1021 +#: ../../reference/datamodel.rst:1022 msgid "" "Frame objects represent execution frames. They may occur in traceback " "objects (see below), and are also passed to registered trace functions." @@ -1755,7 +1748,7 @@ msgstr "" "objetos traceback (veja abaixo) e também são passados para funções de " "rastreamento registradas." -#: ../../reference/datamodel.rst:1032 +#: ../../reference/datamodel.rst:1033 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:" @@ -1765,15 +1758,15 @@ msgid "" "names; :attr:`f_lasti` gives the precise instruction (this is an index into " "the bytecode string of the code object)." msgstr "" -"Atributos especiais de somente leitura: :attr:`f_back` é para o quadro de " -"pilha anterior (para o chamador), ou ``None`` se este é o quadro de pilha " +"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)." -#: ../../reference/datamodel.rst:1040 +#: ../../reference/datamodel.rst:1041 msgid "" "Accessing ``f_code`` raises an :ref:`auditing event ` ``object." "__getattr__`` with arguments ``obj`` and ``\"f_code\"``." @@ -1781,20 +1774,20 @@ msgstr "" "Acessar ``f_code`` levanta um :ref:`evento de auditoria ` ``object." "__getattr__`` com argumentos ``obj`` e ``\"f_code\"``." -#: ../../reference/datamodel.rst:1049 +#: ../../reference/datamodel.rst:1050 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`." msgstr "" -"Atributos especiais de escrita: :attr:`f_trace`, se não ``None``, é uma " +"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`." -#: ../../reference/datamodel.rst:1054 +#: ../../reference/datamodel.rst:1055 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 " @@ -1804,9 +1797,10 @@ 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 trace escaparem à função que está sendo rastreada." +"levantadas pela função de rastreamento escaparem para a função que está " +"sendo rastreada." -#: ../../reference/datamodel.rst:1059 +#: ../../reference/datamodel.rst:1060 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-" @@ -1818,11 +1812,11 @@ msgstr "" "para o quadro mais abaixo). Um depurador pode implementar um comando Jump " "(também conhecido como Set Next Statement) escrevendo para f_lineno." -#: ../../reference/datamodel.rst:1064 +#: ../../reference/datamodel.rst:1065 msgid "Frame objects support one method:" msgstr "Objetos quadro têm suporte a um método:" -#: ../../reference/datamodel.rst:1068 +#: ../../reference/datamodel.rst:1069 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. " @@ -1835,15 +1829,15 @@ msgstr "" "objetos quadro (por exemplo, ao capturar uma exceção e armazenar seu " "traceback para uso posterior)." -#: ../../reference/datamodel.rst:1074 +#: ../../reference/datamodel.rst:1075 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:1139 +#: ../../reference/datamodel.rst:1140 msgid "Traceback objects" msgstr "Objetos traceback" -#: ../../reference/datamodel.rst:1091 +#: ../../reference/datamodel.rst:1092 msgid "" "Traceback objects represent a stack trace of an exception. A traceback " "object is implicitly created when an exception occurs, and may also be " @@ -1854,7 +1848,7 @@ msgstr "" "uma exceção e também pode ser criado explicitamente chamando :class:`types." "TracebackType`." -#: ../../reference/datamodel.rst:1095 +#: ../../reference/datamodel.rst:1096 msgid "" "For implicitly created tracebacks, when the search for an exception handler " "unwinds the execution stack, at each unwound level a traceback object is " @@ -1870,7 +1864,7 @@ msgstr "" "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." -#: ../../reference/datamodel.rst:1103 +#: ../../reference/datamodel.rst:1104 msgid "" "When the program contains no suitable handler, the stack trace is written " "(nicely formatted) to the standard error stream; if the interpreter is " @@ -1881,7 +1875,7 @@ msgstr "" "interpretador for interativo, ele também é disponibilizado ao usuário como " "``sys.last_traceback``." -#: ../../reference/datamodel.rst:1108 +#: ../../reference/datamodel.rst:1109 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 " @@ -1891,7 +1885,7 @@ msgstr "" "determinar como os atributos ``tb_next`` devem ser vinculados para formar um " "stack trace completo." -#: ../../reference/datamodel.rst:1118 +#: ../../reference/datamodel.rst:1119 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 " @@ -1907,7 +1901,7 @@ msgstr "" "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." -#: ../../reference/datamodel.rst:1127 +#: ../../reference/datamodel.rst:1128 msgid "" "Accessing ``tb_frame`` raises an :ref:`auditing event ` ``object." "__getattr__`` with arguments ``obj`` and ``\"tb_frame\"``." @@ -1915,7 +1909,7 @@ msgstr "" "Acessar ``tb_frame`` levanta um :ref:`evento de auditoria ` " "``object.__getattr__`` com argumentos ``obj`` e ``\"tb_frame\"``." -#: ../../reference/datamodel.rst:1133 +#: ../../reference/datamodel.rst:1134 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 " @@ -1925,7 +1919,7 @@ msgstr "" "trace (em direção ao quadro onde a exceção ocorreu), ou ``None`` se não " "houver próximo nível." -#: ../../reference/datamodel.rst:1137 +#: ../../reference/datamodel.rst:1138 msgid "" "Traceback objects can now be explicitly instantiated from Python code, and " "the ``tb_next`` attribute of existing instances can be updated." @@ -1934,19 +1928,19 @@ msgstr "" "código Python, e o atributo ``tb_next`` das instâncias existentes pode ser " "atualizado." -#: ../../reference/datamodel.rst:1165 +#: ../../reference/datamodel.rst:1167 msgid "Slice objects" msgstr "Objetos slice" -#: ../../reference/datamodel.rst:1144 +#: ../../reference/datamodel.rst:1145 msgid "" -"Slice objects are used to represent slices for :meth:`__getitem__` methods. " -"They are also created by the built-in :func:`slice` function." +"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:" -"`__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:1152 +#: ../../reference/datamodel.rst:1154 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; " @@ -1954,14 +1948,14 @@ msgid "" msgstr "" "Atributos especiais de somente leitura: :attr:`~slice.start` é o limite " "inferior; :attr:`~slice.stop` é o limite superior; :attr:`~slice.step` é o " -"valor intermediário; cada um é ``None`` se omitido. Esses atributos podem " -"ter qualquer tipo." +"valor da diferença entre elementos subjacentes; cada um desses atributos é " +"``None`` se omitido. Esses atributos podem ter qualquer tipo." -#: ../../reference/datamodel.rst:1156 +#: ../../reference/datamodel.rst:1158 msgid "Slice objects support one method:" msgstr "Objetos slice têm suporte a um método:" -#: ../../reference/datamodel.rst:1160 +#: ../../reference/datamodel.rst:1162 msgid "" "This method takes a single integer argument *length* and computes " "information about the slice that the slice object would describe if applied " @@ -1970,18 +1964,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:1174 +#: ../../reference/datamodel.rst:1176 msgid "Static method objects" -msgstr "Objetos método estáticos" +msgstr "Objetos método estático" -#: ../../reference/datamodel.rst:1168 +#: ../../reference/datamodel.rst:1170 msgid "" "Static method objects provide a way of defeating the transformation of " "function objects to method objects described above. A static method object " @@ -1991,20 +1985,20 @@ msgid "" "any further transformation. Static method objects are also callable. Static " "method objects are created by the built-in :func:`staticmethod` constructor." msgstr "" -"Objetos métodos estáticos fornecem uma forma de transformar objetos função " -"em objetos métodos descritos acima. Um objeto método estático é um invólucro " -"em torno de qualquer outro objeto, comumente um objeto método definido pelo " +"Objetos método estático fornecem uma forma de transformar objetos função em " +"objetos métodos descritos acima. Um objeto método estático é um invólucro em " +"torno de qualquer outro objeto, comumente um objeto método definido pelo " "usuário. Quando um objeto método estático é recuperado de uma classe ou de " "uma instância de classe, o objeto retornado é o objeto encapsulado, do qual " -"não está sujeito a nenhuma transformação adicional. Objetos métodos " -"estáticos também são chamáveis. Objetos métodos estáticos são criados pelo " -"construtor embutido :func:`staticmethod`." +"não está sujeito a nenhuma transformação adicional. Objetos método estático " +"também são chamáveis. Objetos método estático são criados pelo construtor " +"embutido :func:`staticmethod`." -#: ../../reference/datamodel.rst:1182 +#: ../../reference/datamodel.rst:1184 msgid "Class method objects" -msgstr "Objetos métodos de classe" +msgstr "Objetos método de classe" -#: ../../reference/datamodel.rst:1177 +#: ../../reference/datamodel.rst:1179 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 " @@ -2019,49 +2013,49 @@ msgstr "" "usuário\". Objetos método de classe são criados pelo construtor embutido :" "func:`classmethod`." -#: ../../reference/datamodel.rst:1187 +#: ../../reference/datamodel.rst:1189 msgid "Special method names" msgstr "Nomes de métodos especiais" -#: ../../reference/datamodel.rst:1193 +#: ../../reference/datamodel.rst:1195 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:" -"`__getitem__`, and ``x`` is an instance of this class, then ``x[i]`` is " -"roughly equivalent to ``type(x).__getitem__(x, i)``. Except where " +"`~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 subscript e fatiamento), definindo " +"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:`__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`)." +"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:1203 +#: ../../reference/datamodel.rst:1206 msgid "" "Setting a special method to ``None`` indicates that the corresponding " -"operation is not available. For example, if a class sets :meth:`__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:" -"`__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:" -"`__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:`__getitem__`). [#]_" +"`~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:1209 +#: ../../reference/datamodel.rst:1212 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 " @@ -2077,11 +2071,11 @@ msgstr "" "fatia pode não fazer sentido. (Um exemplo disso é a interface :class:`~xml." "dom.NodeList` no Document Object Model do W3C.)" -#: ../../reference/datamodel.rst:1220 +#: ../../reference/datamodel.rst:1223 msgid "Basic customization" msgstr "Personalização básica" -#: ../../reference/datamodel.rst:1226 +#: ../../reference/datamodel.rst:1229 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 " @@ -2098,11 +2092,11 @@ msgstr "" "retorno de :meth:`__new__` deve ser a nova instância do objeto (geralmente " "uma instância de *cls*)." -#: ../../reference/datamodel.rst:1233 +#: ../../reference/datamodel.rst:1236 msgid "" "Typical implementations create a new instance of the class by invoking the " "superclass's :meth:`__new__` method using ``super().__new__(cls[, ...])`` " -"with appropriate arguments and then modifying the newly-created instance as " +"with appropriate arguments and then modifying the newly created instance as " "necessary before returning it." msgstr "" "Implementações típicas criam uma nova instância da classe invocando o " @@ -2110,21 +2104,21 @@ 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:1238 +#: ../../reference/datamodel.rst:1241 msgid "" "If :meth:`__new__` is invoked during object construction and it returns an " -"instance or subclass of *cls*, then the new instance’s :meth:`__init__` " -"method will be invoked like ``__init__(self[, ...])``, where *self* is the " -"new instance and the remaining arguments are the same as were passed to the " -"object constructor." +"instance of *cls*, then the new instance’s :meth:`__init__` method will be " +"invoked like ``__init__(self[, ...])``, where *self* is the new instance and " +"the remaining arguments are the same as were passed to the object " +"constructor." msgstr "" "Se :meth:`__new__` é chamado durante a construção do objeto e retorna uma " -"instância ou subclasse de *cls*, então o método :meth:`__init__` da nova " -"instância será chamado como ``__init__(self[, ...])``, onde *self* é a nova " -"instância e os argumentos restantes são os mesmos que foram passados para o " -"construtor do objeto." +"instância de *cls*, então o método :meth:`__init__` da nova instância será " +"chamado como ``__init__(self[, ...])``, onde *self* é a nova instância e os " +"argumentos restantes são os mesmos que foram passados para o construtor do " +"objeto." -#: ../../reference/datamodel.rst:1243 +#: ../../reference/datamodel.rst:1246 msgid "" "If :meth:`__new__` does not return an instance of *cls*, then the new " "instance's :meth:`__init__` method will not be invoked." @@ -2132,7 +2126,7 @@ 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." -#: ../../reference/datamodel.rst:1246 +#: ../../reference/datamodel.rst:1249 msgid "" ":meth:`__new__` is intended mainly to allow subclasses of immutable types " "(like int, str, or tuple) to customize instance creation. It is also " @@ -2144,7 +2138,7 @@ msgstr "" "Também é comumente substituído em metaclasses personalizadas para " "personalizar a criação de classes." -#: ../../reference/datamodel.rst:1255 +#: ../../reference/datamodel.rst:1258 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 " @@ -2160,7 +2154,7 @@ msgstr "" "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:1262 +#: ../../reference/datamodel.rst:1265 msgid "" "Because :meth:`__new__` and :meth:`__init__` work together in constructing " "objects (:meth:`__new__` to create it, and :meth:`__init__` to customize " @@ -2173,7 +2167,7 @@ msgstr "" "`__init__`; fazer isso fará com que uma :exc:`TypeError` seja levantada em " "tempo de execução." -#: ../../reference/datamodel.rst:1275 +#: ../../reference/datamodel.rst:1278 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:" @@ -2187,7 +2181,7 @@ msgstr "" "houver, deve chamá-lo explicitamente para garantir a exclusão adequada da " "parte da classe base da instância." -#: ../../reference/datamodel.rst:1281 +#: ../../reference/datamodel.rst:1284 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. " @@ -2198,11 +2192,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` apenas o chama uma vez." +"destruído; a implementação atual do :term:`CPython` chama-o apenas uma vez." -#: ../../reference/datamodel.rst:1288 +#: ../../reference/datamodel.rst:1291 msgid "" "It is not guaranteed that :meth:`__del__` methods are called for objects " "that still exist when the interpreter exits." @@ -2210,7 +2204,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:1293 +#: ../../reference/datamodel.rst:1296 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 " @@ -2220,11 +2214,29 @@ 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:1308 +#: ../../reference/datamodel.rst:1301 +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 " +"and deleted by the :term:`cyclic garbage collector `. A " +"common cause of reference cycles is when an exception has been caught in a " +"local variable. The frame's locals then reference the exception, which " +"references its own traceback, which references the locals of all frames " +"caught in the traceback." +msgstr "" +"É possível que um ciclo de referência impeça que a contagem de referência de " +"um objeto chegue a zero. Neste caso, mais tarde, o ciclo será detectado e " +"deletado pelo :term:`coletor de lixo cíclico `. Uma " +"causa comum de referências cíclicas é quando uma exceção foi capturada em " +"uma variável local. O locals do quadro então referencia a exceção, que " +"referencia seu próprio traceback, que referencia o locals de todos os " +"quadros capturados no traceback." + +#: ../../reference/datamodel.rst:1311 msgid "Documentation for the :mod:`gc` module." msgstr "Documentação do módulo :mod:`gc`." -#: ../../reference/datamodel.rst:1312 +#: ../../reference/datamodel.rst:1315 msgid "" "Due to the precarious circumstances under which :meth:`__del__` methods are " "invoked, exceptions that occur during their execution are ignored, and a " @@ -2234,7 +2246,7 @@ 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:1316 +#: ../../reference/datamodel.rst:1319 msgid "" ":meth:`__del__` can be invoked when arbitrary code is being executed, " "including from any arbitrary thread. If :meth:`__del__` needs to take a " @@ -2243,12 +2255,12 @@ msgid "" "`__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__` " -"precisar bloquear ou invocar qualquer outro recurso de bloqueio, pode " -"ocorrer um deadlock, pois o recurso já pode ter sido levado pelo código que " -"é interrompido para executar :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:1322 +#: ../../reference/datamodel.rst:1325 msgid "" ":meth:`__del__` can be executed during interpreter shutdown. As a " "consequence, the global variables it needs to access (including other " @@ -2258,16 +2270,16 @@ 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``. O " +"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." -#: ../../reference/datamodel.rst:1337 +#: ../../reference/datamodel.rst:1340 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 " @@ -2288,7 +2300,7 @@ msgstr "" "quando uma representação de string \"informal\" de instâncias daquela classe " "é necessária." -#: ../../reference/datamodel.rst:1346 +#: ../../reference/datamodel.rst:1349 msgid "" "This is typically used for debugging, so it is important that the " "representation is information-rich and unambiguous." @@ -2296,7 +2308,7 @@ msgstr "" "Isso é normalmente usado para depuração, portanto, é importante que a " "representação seja rica em informações e inequívoca." -#: ../../reference/datamodel.rst:1357 +#: ../../reference/datamodel.rst:1360 msgid "" "Called by :func:`str(object) ` and the built-in functions :func:" "`format` and :func:`print` to compute the \"informal\" or nicely printable " @@ -2308,7 +2320,7 @@ msgstr "" "agradável para exibição de um objeto. O valor de retorno deve ser um objeto :" "ref:`string `." -#: ../../reference/datamodel.rst:1362 +#: ../../reference/datamodel.rst:1365 msgid "" "This method differs from :meth:`object.__repr__` in that there is no " "expectation that :meth:`__str__` return a valid Python expression: a more " @@ -2318,7 +2330,7 @@ msgstr "" "que :meth:`__str__` retorne uma expressão Python válida: uma representação " "mais conveniente ou concisa pode ser usada." -#: ../../reference/datamodel.rst:1366 +#: ../../reference/datamodel.rst:1369 msgid "" "The default implementation defined by the built-in type :class:`object` " "calls :meth:`object.__repr__`." @@ -2326,7 +2338,7 @@ msgstr "" "A implementação padrão definida pelo tipo embutido :class:`object` chama :" "meth:`object.__repr__`." -#: ../../reference/datamodel.rst:1376 +#: ../../reference/datamodel.rst:1379 msgid "" "Called by :ref:`bytes ` to compute a byte-string representation " "of an object. This should return a :class:`bytes` object." @@ -2334,7 +2346,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:1387 +#: ../../reference/datamodel.rst:1390 msgid "" "Called by the :func:`format` built-in function, and by extension, evaluation " "of :ref:`formatted string literals ` and the :meth:`str.format` " @@ -2354,18 +2366,18 @@ msgstr "" "classes delegará a formatação a um dos tipos embutidos ou usará uma sintaxe " "de opção de formatação semelhante." -#: ../../reference/datamodel.rst:1397 +#: ../../reference/datamodel.rst:1400 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:1399 +#: ../../reference/datamodel.rst:1402 msgid "The return value must be a string object." msgstr "O valor de retorno deve ser um objeto string." -#: ../../reference/datamodel.rst:1401 +#: ../../reference/datamodel.rst:1404 msgid "" "The __format__ method of ``object`` itself raises a :exc:`TypeError` if " "passed any non-empty string." @@ -2373,7 +2385,7 @@ msgstr "" "O método __format__ do próprio ``object`` levanta uma :exc:`TypeError` se " "passada qualquer string não vazia." -#: ../../reference/datamodel.rst:1405 +#: ../../reference/datamodel.rst:1408 msgid "" "``object.__format__(x, '')`` is now equivalent to ``str(x)`` rather than " "``format(str(x), '')``." @@ -2381,7 +2393,7 @@ msgstr "" "``object.__format__(x, '')`` é agora equivalente a ``str(x)`` em vez de " "``format(str(x), '')``." -#: ../../reference/datamodel.rst:1421 +#: ../../reference/datamodel.rst:1424 msgid "" "These are the so-called \"rich comparison\" methods. The correspondence " "between operator symbols and method names is as follows: ``xy`` chama ``x.__gt__(y)`` e " "``x>=y`` chama ``x.__ge__(y)``." -#: ../../reference/datamodel.rst:1427 +#: ../../reference/datamodel.rst:1430 msgid "" "A rich comparison method may return the singleton ``NotImplemented`` if it " "does not implement the operation for a given pair of arguments. By " @@ -2405,7 +2417,7 @@ msgid "" "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 " +"Um método de comparação rica 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, " @@ -2413,7 +2425,7 @@ msgstr "" "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:1434 +#: ../../reference/datamodel.rst:1437 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 " @@ -2429,21 +2441,21 @@ msgstr "" "NotImplemented``. Para :meth:`__ne__`, por padrão ele delega para :meth:" "`__eq__` e inverte o resultado a menos que seja ``NotImplemented``. Não há " "outras relações implícitas entre os operadores de comparação ou " -"implementações padrão; por exemplo, a verdade de ``(x` que suportam operações de " -"comparação personalizadas e são utilizáveis como chaves de dicionário." +"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:1447 +#: ../../reference/datamodel.rst:1450 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); " @@ -2456,34 +2468,34 @@ msgid "" "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 " "direito tem prioridade, caso contrário, o método do operando esquerdo tem " -"prioridade. A subclasse virtual não é considerada." +"prioridade. Subclasse virtual não é considerada." -#: ../../reference/datamodel.rst:1464 +#: ../../reference/datamodel.rst:1467 msgid "" "Called by built-in function :func:`hash` and for operations on members of " "hashed collections including :class:`set`, :class:`frozenset`, and :class:" -"`dict`. :meth:`__hash__` 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::" +"`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`. :meth:`__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:1477 +#: ../../reference/datamodel.rst:1480 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 " @@ -2497,30 +2509,30 @@ msgstr "" "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:1485 +#: ../../reference/datamodel.rst:1488 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 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)." +"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 " "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 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)." +"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:1494 +#: ../../reference/datamodel.rst:1497 msgid "" "User-defined classes have :meth:`__eq__` and :meth:`__hash__` methods by " "default; with them, all objects compare unequal (except with themselves) and " @@ -2532,7 +2544,7 @@ msgstr "" "(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:1499 +#: ../../reference/datamodel.rst:1502 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:" @@ -2545,20 +2557,20 @@ msgstr "" "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)``." +"hash, e também será identificado corretamente como não-hasheável ao " +"verificar ``isinstance(obj, collections.abc.Hashable)``." -#: ../../reference/datamodel.rst:1506 +#: ../../reference/datamodel.rst:1509 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:1510 +#: ../../reference/datamodel.rst:1513 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 " @@ -2572,31 +2584,27 @@ msgstr "" "`TypeError` seria incorretamente identificada como hasheável por uma chamada " "``isinstance(obj, collections.abc.Hashable)``." -#: ../../reference/datamodel.rst:1519 +#: ../../reference/datamodel.rst:1522 msgid "" -"By default, 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." +"By default, 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." msgstr "" "Por padrão, os valores :meth:`__hash__` dos objetos str e bytes são " "\"salgados\" com um valor aleatório imprevisível. Embora permaneçam " "constantes em um processo individual do Python, eles não são previsíveis " "entre invocações repetidas do Python." -#: ../../reference/datamodel.rst:1524 +#: ../../reference/datamodel.rst:1527 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^2) complexity. See http://www.ocert.org/advisories/" +"carefully chosen inputs that exploit the worst case performance of a dict " +"insertion, O(n\\ :sup:`2`) complexity. See http://www.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^2). Consulte " -"http://www.ocert.org/advisories/ocert-2011-003.html para obter detalhes." -#: ../../reference/datamodel.rst:1529 +#: ../../reference/datamodel.rst:1532 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 " @@ -2606,15 +2614,15 @@ msgstr "" "nunca deu garantias sobre essa ordem (e normalmente varia entre compilações " "de 32 e 64 bits)." -#: ../../reference/datamodel.rst:1533 +#: ../../reference/datamodel.rst:1536 msgid "See also :envvar:`PYTHONHASHSEED`." msgstr "Consulte também :envvar:`PYTHONHASHSEED`." -#: ../../reference/datamodel.rst:1535 +#: ../../reference/datamodel.rst:1538 msgid "Hash randomization is enabled by default." msgstr "Aleatorização de hash está habilitada por padrão." -#: ../../reference/datamodel.rst:1543 +#: ../../reference/datamodel.rst:1546 msgid "" "Called to implement truth value testing and the built-in operation " "``bool()``; should return ``False`` or ``True``. When this method is not " @@ -2629,11 +2637,11 @@ msgstr "" "não define :meth:`__len__` nem :meth:`__bool__`, todas as suas instâncias " "são consideradas verdadeiras." -#: ../../reference/datamodel.rst:1554 +#: ../../reference/datamodel.rst:1557 msgid "Customizing attribute access" msgstr "Personalizando o acesso aos atributos" -#: ../../reference/datamodel.rst:1556 +#: ../../reference/datamodel.rst:1559 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 " @@ -2643,7 +2651,7 @@ msgstr "" "acesso aos atributos (uso, atribuição ou exclusão de ``x.name``) para " "instâncias de classe." -#: ../../reference/datamodel.rst:1564 +#: ../../reference/datamodel.rst:1567 msgid "" "Called when the default attribute access fails with an :exc:`AttributeError` " "(either :meth:`__getattribute__` raises an :exc:`AttributeError` because " @@ -2652,14 +2660,14 @@ msgid "" "`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:" +"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:1571 +#: ../../reference/datamodel.rst:1574 msgid "" "Note that if the attribute is found through the normal mechanism, :meth:" "`__getattr__` is not called. (This is an intentional asymmetry between :" @@ -2671,17 +2679,17 @@ msgid "" "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:" +"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__`.) 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." +"`__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:1584 +#: ../../reference/datamodel.rst:1587 msgid "" "Called unconditionally to implement attribute accesses for instances of the " "class. If the class also defines :meth:`__getattr__`, the latter will not be " @@ -2702,7 +2710,7 @@ msgstr "" "para acessar quaisquer atributos de que necessita, por exemplo, ``object." "__getattribute__(self, name)``." -#: ../../reference/datamodel.rst:1595 +#: ../../reference/datamodel.rst:1598 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. " @@ -2712,7 +2720,7 @@ msgstr "" "resultado de invocação implícita por meio da sintaxe da linguagem ou funções " "embutidas. Consulte :ref:`special-lookup`." -#: ../../reference/datamodel.rst:1599 +#: ../../reference/datamodel.rst:1602 msgid "" "Raises an :ref:`auditing event ` ``object.__getattr__`` with " "arguments ``obj``, ``name``." @@ -2720,26 +2728,27 @@ msgstr "" "Levanta um :ref:`evento de auditoria ` ``object.__getattr__`` com " "argumentos ``obj``, ``name``." -#: ../../reference/datamodel.rst:1601 +#: ../../reference/datamodel.rst:1604 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:1608 +#: ../../reference/datamodel.rst:1611 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:1612 +#: ../../reference/datamodel.rst:1615 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." @@ -2749,7 +2758,7 @@ msgstr "" "chamar o método da classe base com o mesmo nome, por exemplo, ``object." "__setattr__(self, name, value)``." -#: ../../reference/datamodel.rst:1616 +#: ../../reference/datamodel.rst:1619 msgid "" "Raises an :ref:`auditing event ` ``object.__setattr__`` with " "arguments ``obj``, ``name``, ``value``." @@ -2757,27 +2766,27 @@ msgstr "" "Levanta um :ref:`evento de auditoria ` ``object.__setattr__`` com " "argumentos ``obj``, ``name``, ``value``." -#: ../../reference/datamodel.rst:1618 +#: ../../reference/datamodel.rst:1621 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:1625 +#: ../../reference/datamodel.rst:1628 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:1628 +#: ../../reference/datamodel.rst:1631 msgid "" "Raises an :ref:`auditing event ` ``object.__delattr__`` with " "arguments ``obj``, ``name``." @@ -2785,29 +2794,29 @@ msgstr "" "Levanta um :ref:`evento de auditoria ` ``object.__delattr__`` com " "argumentos ``obj``, ``name``." -#: ../../reference/datamodel.rst:1630 +#: ../../reference/datamodel.rst:1633 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:1637 +#: ../../reference/datamodel.rst:1640 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." 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. Uma " +"sequência deve ser retornada. :func:`dir` converte a sequência retornada em " +"uma lista e a ordena." -#: ../../reference/datamodel.rst:1642 +#: ../../reference/datamodel.rst:1645 msgid "Customizing module attribute access" msgstr "Personalizando acesso a atributos de módulos" -#: ../../reference/datamodel.rst:1649 +#: ../../reference/datamodel.rst:1652 msgid "" "Special names ``__getattr__`` and ``__dir__`` can be also used to customize " "access to module attributes. The ``__getattr__`` function at the module " @@ -2821,24 +2830,24 @@ 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 um :exc:" +"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 " -"um :exc:`AttributeError` . Se encontrado, ele é chamado com o nome do " -"atributo e o resultado é retornado." +"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:1658 +#: ../../reference/datamodel.rst:1661 msgid "" "The ``__dir__`` function should accept no arguments, and return a sequence " "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 retornar uma " +"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." -#: ../../reference/datamodel.rst:1662 +#: ../../reference/datamodel.rst:1665 msgid "" "For a more fine grained customization of the module behavior (setting " "attributes, properties, etc.), one can set the ``__class__`` attribute of a " @@ -2849,46 +2858,46 @@ msgstr "" "de um objeto de módulo para uma subclasse de :class:`types.ModuleType`. Por " "exemplo::" -#: ../../reference/datamodel.rst:1680 +#: ../../reference/datamodel.rst:1683 msgid "" "Defining module ``__getattr__`` and setting module ``__class__`` only affect " "lookups made using the attribute access syntax -- directly accessing the " "module globals (whether by code within the module, or via a reference to the " "module's globals dictionary) is unaffected." msgstr "" -"Definir o módulo ``__getattr__`` e configurar o módulo ``__class__`` só " +"Definir ``__getattr__`` no módulo e configurar o ``__class__`` do módulo só " "afeta as pesquisas feitas usando a sintaxe de acesso ao atributo -- acessar " "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 afetado." +"meio de uma referência ao dicionário global do módulo) não tem efeito." -#: ../../reference/datamodel.rst:1685 +#: ../../reference/datamodel.rst:1688 msgid "``__class__`` module attribute is now writable." msgstr "O atributo de módulo ``__class__`` pode agora ser escrito." -#: ../../reference/datamodel.rst:1688 +#: ../../reference/datamodel.rst:1691 msgid "``__getattr__`` and ``__dir__`` module attributes." msgstr "Atributos de módulo ``__getattr__`` e ``__dir__``." -#: ../../reference/datamodel.rst:1693 +#: ../../reference/datamodel.rst:1696 msgid ":pep:`562` - Module __getattr__ and __dir__" msgstr ":pep:`562` - __getattr__ e __dir__ de módulo" -#: ../../reference/datamodel.rst:1694 +#: ../../reference/datamodel.rst:1697 msgid "Describes the ``__getattr__`` and ``__dir__`` functions on modules." msgstr "Descreve as funções ``__getattr__`` e ``__dir__`` nos módulos." -#: ../../reference/datamodel.rst:1700 +#: ../../reference/datamodel.rst:1703 msgid "Implementing Descriptors" msgstr "Implementando descritores" -#: ../../reference/datamodel.rst:1702 +#: ../../reference/datamodel.rst:1705 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 " "descriptor must be in either the owner's class dictionary or in the class " -"dictionary for one of its parents). In the examples below, \"the attribute" -"\" refers to the attribute whose name is the key of the property in the " -"owner class' :attr:`~object.__dict__`." +"dictionary for one of its parents). In the examples below, \"the " +"attribute\" refers to the attribute whose name is the key of the property in " +"the owner class' :attr:`~object.__dict__`." msgstr "" "Os métodos a seguir se aplicam apenas quando uma instância da classe que " "contém o método (uma classe chamada *descritora*) aparece em uma classe " @@ -2897,7 +2906,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:1712 +#: ../../reference/datamodel.rst:1715 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 " @@ -2911,7 +2920,7 @@ msgstr "" "a instância pela qual o atributo foi acessado, ou ``None`` quando o atributo " "é acessado por meio de *owner*." -#: ../../reference/datamodel.rst:1718 +#: ../../reference/datamodel.rst:1721 msgid "" "This method should return the computed attribute value or raise an :exc:" "`AttributeError` exception." @@ -2919,7 +2928,7 @@ msgstr "" "Este método deve retornar o valor do atributo calculado ou levantar uma " "exceção :exc:`AttributeError`." -#: ../../reference/datamodel.rst:1721 +#: ../../reference/datamodel.rst:1724 msgid "" ":PEP:`252` specifies that :meth:`__get__` is callable with one or two " "arguments. Python's own built-in descriptors support this specification; " @@ -2929,13 +2938,13 @@ msgid "" "not." msgstr "" ":PEP:`252` especifica que :meth:`__get__` é um chamável com um ou dois " -"argumentos. Os próprios descritores embutidos do Python suportam esta " +"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 " "argumentos sejam eles requeridos ou não." -#: ../../reference/datamodel.rst:1730 +#: ../../reference/datamodel.rst:1733 msgid "" "Called to set the attribute on an instance *instance* of the owner class to " "a new value, *value*." @@ -2943,7 +2952,7 @@ msgstr "" "Chamado para definir o atributo em uma instância *instance* da classe " "proprietária para um novo valor, *value*." -#: ../../reference/datamodel.rst:1733 +#: ../../reference/datamodel.rst:1736 msgid "" "Note, adding :meth:`__set__` or :meth:`__delete__` changes the kind of " "descriptor to a \"data descriptor\". See :ref:`descriptor-invocation` for " @@ -2953,37 +2962,14 @@ msgstr "" "descritor para um \"descritor de dados\". Consulte :ref:`descriptor-" "invocation` para mais detalhes." -#: ../../reference/datamodel.rst:1739 +#: ../../reference/datamodel.rst:1742 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:1744 -msgid "" -"Called at the time the owning class *owner* is created. The descriptor has " -"been assigned to *name*." -msgstr "" -"Chamado no momento em que a classe proprietária *owner* é criada. O " -"descritor foi atribuído a *name*." - -#: ../../reference/datamodel.rst:1749 -msgid "" -":meth:`__set_name__` is only called implicitly as part of the :class:`type` " -"constructor, so it will need to be called explicitly with the appropriate " -"parameters when a descriptor is added to a class after initial creation::" -msgstr "" -":meth:`__set_name__` só é chamado implicitamente como parte do construtor :" -"class:`type`, então ele precisará ser chamado explicitamente com os " -"parâmetros apropriados quando um descritor é adicionado a uma classe após a " -"criação inicial::" - -#: ../../reference/datamodel.rst:1760 -msgid "See :ref:`class-object-creation` for more details." -msgstr "Consulte :ref:`class-object-creation` para mais detalhes." - -#: ../../reference/datamodel.rst:1764 +#: ../../reference/datamodel.rst:1745 msgid "" "The attribute :attr:`__objclass__` is interpreted by the :mod:`inspect` " "module as specifying the class where this object was defined (setting this " @@ -2994,31 +2980,32 @@ msgid "" "are implemented in C)." msgstr "" "O atributo :attr:`__objclass__` é interpretado pelo módulo :mod:`inspect` " -"como especificando a classe onde este objeto foi definido (configurar isso " +"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 " "instância do tipo fornecido (ou uma subclasse) é esperada ou necessária como " "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:1775 +#: ../../reference/datamodel.rst:1756 msgid "Invoking Descriptors" msgstr "Invocando descritores" -#: ../../reference/datamodel.rst:1777 +#: ../../reference/datamodel.rst:1758 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:`__get__`, :meth:`__set__`, and :meth:`__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:`__get__`, :meth:`__set__` e :meth:`__delete__` . Se " -"qualquer um desses métodos for definido para um objeto, é considerado um " -"descritor." +"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." -#: ../../reference/datamodel.rst:1782 +#: ../../reference/datamodel.rst:1764 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 " @@ -3027,10 +3014,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']``, então ``type(a).__dict__['x']``, " -"e contando 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:1787 +#: ../../reference/datamodel.rst:1769 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 " @@ -3038,11 +3026,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:1792 +#: ../../reference/datamodel.rst:1774 msgid "" "The starting point for descriptor invocation is a binding, ``a.x``. How the " "arguments are assembled depends on ``a``:" @@ -3050,11 +3038,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:1797 +#: ../../reference/datamodel.rst:1779 msgid "Direct Call" msgstr "Chamada direta" -#: ../../reference/datamodel.rst:1796 +#: ../../reference/datamodel.rst:1778 msgid "" "The simplest and least common call is when user code directly invokes a " "descriptor method: ``x.__get__(a)``." @@ -3062,11 +3050,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:1801 +#: ../../reference/datamodel.rst:1783 msgid "Instance Binding" msgstr "Ligação de instâncias" -#: ../../reference/datamodel.rst:1800 +#: ../../reference/datamodel.rst:1782 msgid "" "If binding to an object instance, ``a.x`` is transformed into the call: " "``type(a).__dict__['x'].__get__(a, type(a))``." @@ -3074,11 +3062,11 @@ 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:1805 +#: ../../reference/datamodel.rst:1787 msgid "Class Binding" msgstr "Ligação de classes" -#: ../../reference/datamodel.rst:1804 +#: ../../reference/datamodel.rst:1786 msgid "" "If binding to a class, ``A.x`` is transformed into the call: ``A." "__dict__['x'].__get__(None, A)``." @@ -3086,65 +3074,63 @@ msgstr "" "Se estiver ligando a uma classe, ``A.x`` é transformado na chamada: ``A." "__dict__['x'].__get__(None, A)``." -#: ../../reference/datamodel.rst:1811 +#: ../../reference/datamodel.rst:1793 msgid "Super Binding" msgstr "Ligação de super" -#: ../../reference/datamodel.rst:1808 +#: ../../reference/datamodel.rst:1790 msgid "" "If ``a`` is an instance of :class:`super`, then the binding ``super(B, obj)." "m()`` searches ``obj.__class__.__mro__`` for the base class ``A`` " -"immediately preceding ``B`` and then invokes the descriptor with the call: " +"immediately following ``B`` and then invokes the descriptor with the call: " "``A.__dict__['m'].__get__(obj, obj.__class__)``." msgstr "" -"Se ``a`` é uma instância de :class:`super`, então a ligação ``super(B, obj)." -"m()`` procura ``obj.__class__.__mro__`` para a classe base ``A`` precedendo " -"imediatamente ``B`` e, em seguida, invoca o descritor com a chamada: ``A." -"__dict__['m'].__get__(obj, obj.__class__)``." -#: ../../reference/datamodel.rst:1813 +#: ../../reference/datamodel.rst:1795 msgid "" "For instance bindings, the precedence of descriptor invocation depends on " "which descriptor methods are defined. A descriptor can define any " -"combination of :meth:`__get__`, :meth:`__set__` and :meth:`__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:`__get__`, :meth:`__set__` e :meth:" -"`__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:" +"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:1826 +#: ../../reference/datamodel.rst:1809 msgid "" -"Python methods (including :func:`staticmethod` and :func:`classmethod`) are " -"implemented as non-data descriptors. Accordingly, instances can redefine " -"and override methods. This allows individual instances to acquire behaviors " -"that differ from other instances of the same class." +"Python methods (including those decorated with :func:`@staticmethod " +"` and :func:`@classmethod `) are implemented as " +"non-data descriptors. Accordingly, instances can redefine and override " +"methods. This allows individual instances to acquire behaviors that differ " +"from other instances of the same class." msgstr "" -"Os métodos Python (incluindo :func:`staticmethod` e :func:`classmethod`) são " -"implementados como descritores sem dados. Assim, as instâncias podem " -"redefinir e substituir métodos. Isso permite que instâncias individuais " -"adquiram comportamentos que diferem de outras instâncias da mesma classe." +"Os métodos Python (incluindo aqueles decorados com :func:`@staticmethod " +"` and :func:`@classmethod `) são implementados " +"como descritores sem dados. Assim, as instâncias podem redefinir e " +"substituir métodos. Isso permite que instâncias individuais adquiram " +"comportamentos que diferem de outras instâncias da mesma classe." -#: ../../reference/datamodel.rst:1831 +#: ../../reference/datamodel.rst:1815 msgid "" "The :func:`property` function is implemented as a data descriptor. " "Accordingly, instances cannot override the behavior of a property." @@ -3153,107 +3139,110 @@ msgstr "" "mesma forma, as instâncias não podem substituir o comportamento de uma " "propriedade." -#: ../../reference/datamodel.rst:1838 +#: ../../reference/datamodel.rst:1822 msgid "__slots__" msgstr "__slots__" -#: ../../reference/datamodel.rst:1840 +#: ../../reference/datamodel.rst:1824 msgid "" "*__slots__* allow us to explicitly declare data members (like properties) " -"and deny the creation of *__dict__* and *__weakref__* (unless explicitly " -"declared in *__slots__* or available in a parent.)" +"and deny the creation of :attr:`~object.__dict__` and *__weakref__* (unless " +"explicitly declared in *__slots__* or available in a parent.)" msgstr "" "*__slots__* permite-nos declarar explicitamente membros de dados (como " -"propriedades) e negar a criação de *__dict__* e *__weakref__* (a menos que " -"explicitamente declarado em *__slots__* ou disponível em um pai.)" +"propriedades) e negar a criação de :attr:`~object.__dict__` e *__weakref__* " +"(a menos que explicitamente declarado em *__slots__* ou disponível em uma " +"classe base.)" -#: ../../reference/datamodel.rst:1844 +#: ../../reference/datamodel.rst:1828 msgid "" -"The space saved over using *__dict__* can be significant. Attribute lookup " -"speed can be significantly improved as well." +"The space saved over using :attr:`~object.__dict__` can be significant. " +"Attribute lookup speed can be significantly improved as well." msgstr "" -"O espaço economizado com o uso de *__dict__* pode ser significativo. A " -"velocidade de pesquisa de atributos também pode ser significativamente " -"melhorada." +"O espaço economizado com o uso de :attr:`~object.__dict__` pode ser " +"significativo. A velocidade de pesquisa de atributos também pode ser " +"significativamente melhorada." -#: ../../reference/datamodel.rst:1849 +#: ../../reference/datamodel.rst:1833 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 *__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 *__dict__* e *__weakref__* para cada instância." +"automática de :attr:`~object.__dict__` e *__weakref__* para cada instância." -#: ../../reference/datamodel.rst:1856 +#: ../../reference/datamodel.rst:1843 msgid "Notes on using *__slots__*" msgstr "Observações ao uso de *__slots__*" -#: ../../reference/datamodel.rst:1858 +#: ../../reference/datamodel.rst:1845 msgid "" -"When inheriting from a class without *__slots__*, the *__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 *__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:1861 +#: ../../reference/datamodel.rst:1849 msgid "" -"Without a *__dict__* variable, instances cannot be assigned new variables " -"not listed in the *__slots__* definition. Attempts to assign to an unlisted " -"variable name raises :exc:`AttributeError`. If dynamic assignment of new " -"variables is desired, then add ``'__dict__'`` to the sequence of strings in " -"the *__slots__* declaration." -msgstr "" -"Sem uma variável *__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__*." +"Without a :attr:`~object.__dict__` variable, instances cannot be assigned " +"new variables not listed in the *__slots__* definition. Attempts to assign " +"to an unlisted variable name raises :exc:`AttributeError`. If dynamic " +"assignment of new variables is desired, then add ``'__dict__'`` to the " +"sequence of strings in the *__slots__* declaration." +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 de " +"*__slots__*." -#: ../../reference/datamodel.rst:1867 +#: ../../reference/datamodel.rst:1856 msgid "" "Without a *__weakref__* variable for each instance, classes defining " -"*__slots__* do not support weak references to its instances. If weak " -"reference support is needed, then add ``'__weakref__'`` to the sequence of " -"strings in the *__slots__* declaration." +"*__slots__* do not support :mod:`weak references ` to its " +"instances. If weak reference support is needed, then add ``'__weakref__'`` " +"to the sequence of strings in the *__slots__* declaration." msgstr "" "Sem uma variável *__weakref__* para cada instância, as classes que definem " -"*__slots__* não suportam referências fracas para suas instâncias. Se for " -"necessário um suporte de referência fraca, adicione ``'__weakref__'`` à " -"sequência de strings na declaração *__slots__*." +"*__slots__* não suportam :mod:`referências fracas` para suas " +"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:1872 +#: ../../reference/datamodel.rst:1862 msgid "" -"*__slots__* are implemented at the class level by creating descriptors (:ref:" -"`descriptors`) for each variable name. As a result, class attributes cannot " +"*__slots__* are implemented at the class level by creating :ref:`descriptors " +"` for each variable name. As a result, class attributes cannot " "be used to set default values for instance variables defined by *__slots__*; " "otherwise, the class attribute would overwrite the descriptor assignment." msgstr "" -"*__slots__* são implementados no nível de classe criando descritores (:ref:" -"`descriptors`) para cada nome de variável. Como resultado, os atributos de " +"*__slots__* são implementados no nível de classe criando :ref:`descritores " +"` para cada nome de variável. Como resultado, os atributos de " "classe não podem ser usados para definir valores padrão para variáveis de " "instância definidas por *__slots__*; caso contrário, o atributo de classe " "substituiria a atribuição do descritor." -#: ../../reference/datamodel.rst:1878 +#: ../../reference/datamodel.rst:1868 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. " -"However, child subclasses will get a *__dict__* and *__weakref__* unless " -"they also define *__slots__* (which should only contain names of any " -"*additional* slots)." +"However, child subclasses will get a :attr:`~object.__dict__` and " +"*__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 *__dict__ * e *__weakref__* a " -"menos que também definam *__slots__* (que deve conter apenas nomes de " -"quaisquer slots *adicionais*)." +"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:1884 +#: ../../reference/datamodel.rst:1874 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 " @@ -3267,74 +3256,86 @@ msgstr "" "significado do programa indefinido. No futuro, uma verificação pode ser " "adicionada para evitar isso." -#: ../../reference/datamodel.rst:1889 +#: ../../reference/datamodel.rst:1879 msgid "" -"Nonempty *__slots__* does not work for classes derived from \"variable-length" -"\" built-in types such as :class:`int`, :class:`bytes` and :class:`tuple`." +":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`." msgstr "" -"Não vazio *__slots__* não funciona para classes derivadas de tipos embutidos " -"de \"comprimento variável\", como :class:`int`, :class:`bytes` e :class:" +":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`." -#: ../../reference/datamodel.rst:1892 +#: ../../reference/datamodel.rst:1884 +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:1886 msgid "" -"Any non-string iterable may be assigned to *__slots__*. Mappings may also be " -"used; however, in the future, special meaning may be assigned to the values " -"corresponding to each key." +"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`." msgstr "" -"Qualquer iterável não string pode ser atribuído a *__slots__*. Mapeamentos " -"também podem ser usados; entretanto, no futuro, um significado especial pode " -"ser atribuído aos valores correspondentes a cada chave." +"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:1896 +#: ../../reference/datamodel.rst:1891 msgid "" -"*__class__* assignment works only if both classes have the same *__slots__*." +":attr:`~instance.__class__` assignment works only if both classes have the " +"same *__slots__*." msgstr "" -"Atribuição de *__class__* funciona apenas se ambas as classes têm o mesmo " -"*__slots__*." +"Atribuição de :attr:`~instance.__class__` funciona apenas se ambas as " +"classes têm o mesmo *__slots__*." -#: ../../reference/datamodel.rst:1898 +#: ../../reference/datamodel.rst:1894 msgid "" -"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`." +":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 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:1903 +#: ../../reference/datamodel.rst:1900 msgid "" -"If an iterator is used for *__slots__* then a descriptor is created for each " -"of the iterator's values. However, the *__slots__* attribute will be an " -"empty iterator." +"If an :term:`iterator` is used for *__slots__* then a :term:`descriptor` is " +"created for each of the iterator's values. However, the *__slots__* " +"attribute will be an empty iterator." msgstr "" -"Se um iterador for usado para *__slots__*, um descritor é criado para cada " -"um dos valores do iterador. No entanto, o atributo *__slots__* será um " -"iterador vazio." +"Se um :term:`iterador` for usado para *__slots__*, um :term:`descritor` é " +"criado para cada um dos valores do iterador. No entanto, o atributo " +"*__slots__* será um iterador vazio." -#: ../../reference/datamodel.rst:1910 +#: ../../reference/datamodel.rst:1908 msgid "Customizing class creation" msgstr "Personalizando a criação de classe" -#: ../../reference/datamodel.rst:1912 +#: ../../reference/datamodel.rst:1910 msgid "" -"Whenever a class inherits from another class, *__init_subclass__* is called " -"on that 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." +"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, *__init_subclass__* é chamado " -"nessa classe. 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." +"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:1921 +#: ../../reference/datamodel.rst:1919 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 " @@ -3344,27 +3345,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:1925 +#: ../../reference/datamodel.rst:1923 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 " "``__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 " +"Argumentos nomeados dados a uma nova classe são passados para a classe base " "``__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::" -#: ../../reference/datamodel.rst:1939 +#: ../../reference/datamodel.rst:1937 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:1944 +#: ../../reference/datamodel.rst:1942 msgid "" "The metaclass hint ``metaclass`` is consumed by the rest of the type " "machinery, and is never passed to ``__init_subclass__`` implementations. The " @@ -3376,11 +3377,42 @@ msgstr "" "metaclasse real (em vez da dica explícita) pode ser acessada como " "``type(cls)``." +#: ../../reference/datamodel.rst:1950 +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 chamadas a funções de retorno (callback) para aqueles com um " +"gancho :meth:`~object.__set_name__`." + #: ../../reference/datamodel.rst:1955 +msgid "" +"Automatically called at the time the owning class *owner* is created. The " +"object has been assigned to *name* in that class::" +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:1961 +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::" +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::" + +#: ../../reference/datamodel.rst:1972 +msgid "See :ref:`class-object-creation` for more details." +msgstr "Consulte :ref:`class-object-creation` para mais detalhes." + +#: ../../reference/datamodel.rst:1980 msgid "Metaclasses" msgstr "Metaclasses" -#: ../../reference/datamodel.rst:1962 +#: ../../reference/datamodel.rst:1987 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 " @@ -3390,7 +3422,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:1966 +#: ../../reference/datamodel.rst:1991 msgid "" "The class creation process can be customized by passing the ``metaclass`` " "keyword argument in the class definition line, or by inheriting from an " @@ -3402,7 +3434,7 @@ msgstr "" "classe existente que incluiu tal argumento. No exemplo a seguir, ``MyClass`` " "e ``MySubclass`` são instâncias de ``Meta``::" -#: ../../reference/datamodel.rst:1980 +#: ../../reference/datamodel.rst:2005 msgid "" "Any other keyword arguments that are specified in the class definition are " "passed through to all metaclass operations described below." @@ -3410,36 +3442,36 @@ 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:1983 +#: ../../reference/datamodel.rst:2008 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:1985 +#: ../../reference/datamodel.rst:2010 msgid "MRO entries are resolved;" -msgstr "Entradas de MRO são resolvidas;" +msgstr "entradas de MRO são resolvidas;" -#: ../../reference/datamodel.rst:1986 +#: ../../reference/datamodel.rst:2011 msgid "the appropriate metaclass is determined;" msgstr "a metaclasse apropriada é determinada;" -#: ../../reference/datamodel.rst:1987 +#: ../../reference/datamodel.rst:2012 msgid "the class namespace is prepared;" msgstr "o espaço de nomes da classe é preparada;" -#: ../../reference/datamodel.rst:1988 +#: ../../reference/datamodel.rst:2013 msgid "the class body is executed;" msgstr "o corpo da classe é executado;" -#: ../../reference/datamodel.rst:1989 +#: ../../reference/datamodel.rst:2014 msgid "the class object is created." msgstr "o objeto da classe é criado." -#: ../../reference/datamodel.rst:1993 +#: ../../reference/datamodel.rst:2018 msgid "Resolving MRO entries" msgstr "Resolvendo entradas de MRO" -#: ../../reference/datamodel.rst:1995 +#: ../../reference/datamodel.rst:2020 msgid "" "If a base that appears in class definition is not an instance of :class:" "`type`, then an ``__mro_entries__`` method is searched on it. If found, it " @@ -3453,29 +3485,29 @@ msgstr "" "retornar uma tupla de classes que serão usadas no lugar desta base. A tupla " "pode estar vazia, neste caso a base original é ignorada." -#: ../../reference/datamodel.rst:2003 ../../reference/datamodel.rst:2193 +#: ../../reference/datamodel.rst:2028 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" -#: ../../reference/datamodel.rst:2007 +#: ../../reference/datamodel.rst:2032 msgid "Determining the appropriate metaclass" msgstr "Determinando a metaclasse apropriada" -#: ../../reference/datamodel.rst:2011 +#: ../../reference/datamodel.rst:2036 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:2013 +#: ../../reference/datamodel.rst:2038 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:2014 +#: ../../reference/datamodel.rst:2039 msgid "" "if an explicit metaclass is given and it is *not* an instance of :func:" "`type`, then it is used directly as the metaclass;" @@ -3483,15 +3515,15 @@ msgstr "" "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:2016 +#: ../../reference/datamodel.rst:2041 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:2019 +#: ../../reference/datamodel.rst:2044 msgid "" "The most derived metaclass is selected from the explicitly specified " "metaclass (if any) and the metaclasses (i.e. ``type(cls)``) of all specified " @@ -3501,36 +3533,36 @@ 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:2029 +#: ../../reference/datamodel.rst:2054 msgid "Preparing the class namespace" msgstr "Preparando o espaço de nomes da classe" -#: ../../reference/datamodel.rst:2034 +#: ../../reference/datamodel.rst:2059 msgid "" "Once the appropriate metaclass has been identified, then the class namespace " "is prepared. If the metaclass has a ``__prepare__`` attribute, it is called " "as ``namespace = metaclass.__prepare__(name, bases, **kwds)`` (where the " "additional keyword arguments, if any, come from the class definition). The " -"``__prepare__`` method should be implemented as a :func:`classmethod`. The " -"namespace returned by ``__prepare__`` is passed in to ``__new__``, but when " -"the final class object is created the namespace is copied into a new " -"``dict``." -msgstr "" -"Assim que a metaclasse apropriada for identificada, o espaço de nomes da " -"classe é preparado. Se a metaclasse tem um atributo ``__prepare__``, ela é " -"chamada de ``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 uma :func:`classmethod`. " -"O espaço de nomes retornado por ``__prepare__`` é passado para ``__new__``, " -"mas quando o objeto final da classe é criado, o espaço de nomes é copiado " -"para um novo ``dict``." - -#: ../../reference/datamodel.rst:2042 +"``__prepare__`` method should be implemented as a :func:`classmethod " +"`. The namespace returned by ``__prepare__`` is passed in to " +"``__new__``, but when the final class object is created the namespace is " +"copied into a new ``dict``." +msgstr "" +"Uma vez identificada a metaclasse apropriada, o espaço de nomes da classe é " +"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``." + +#: ../../reference/datamodel.rst:2068 msgid "" "If the metaclass has no ``__prepare__`` attribute, then the class namespace " "is initialised as an empty ordered mapping." @@ -3538,19 +3570,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:2047 +#: ../../reference/datamodel.rst:2073 msgid ":pep:`3115` - Metaclasses in Python 3000" msgstr ":pep:`3115` - Metaclasses no Python 3000" -#: ../../reference/datamodel.rst:2048 +#: ../../reference/datamodel.rst:2074 msgid "Introduced the ``__prepare__`` namespace hook" msgstr "Introduzido o gancho de espaço de nomes ``__prepare__``" -#: ../../reference/datamodel.rst:2052 +#: ../../reference/datamodel.rst:2078 msgid "Executing the class body" msgstr "Executando o corpo da classe" -#: ../../reference/datamodel.rst:2057 +#: ../../reference/datamodel.rst:2083 msgid "" "The class body is executed (approximately) as ``exec(body, globals(), " "namespace)``. The key difference from a normal call to :func:`exec` is that " @@ -3564,7 +3596,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:2063 +#: ../../reference/datamodel.rst:2089 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. " @@ -3579,11 +3611,11 @@ msgstr "" "referência implícita com escopo léxico ``__class__`` descrita na próxima " "seção." -#: ../../reference/datamodel.rst:2072 +#: ../../reference/datamodel.rst:2098 msgid "Creating the class object" -msgstr "Criando o objeto da classe" +msgstr "Criando o objeto classe" -#: ../../reference/datamodel.rst:2079 +#: ../../reference/datamodel.rst:2105 msgid "" "Once the class namespace has been populated by executing the class body, the " "class object is created by calling ``metaclass(name, bases, namespace, " @@ -3591,11 +3623,11 @@ msgid "" "to ``__prepare__``)." msgstr "" "Uma vez que o espaço de nomes da classe tenha sido preenchido executando o " -"corpo da classe, o objeto da classe é criado chamando ``metaclass(name, " -"bases, namespace, **kwds)`` (os argumentos adicionais passados aqui são os " -"mesmos passados para ``__prepare__``)." +"corpo da classe, o objeto classe é criado chamando ``metaclass(name, bases, " +"namespace, **kwds)`` (os argumentos adicionais passados aqui são os mesmos " +"passados para ``__prepare__``)." -#: ../../reference/datamodel.rst:2084 +#: ../../reference/datamodel.rst:2110 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 " @@ -3605,16 +3637,16 @@ msgid "" "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 forma de argumento " -"zero de :func:`super`. ``__class__`` é uma referência implícita de " -"fechamento criada pelo compilador se qualquer método em um corpo de 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 base no escopo léxico, enquanto a classe ou instância que foi " -"usada para fazer a chamada atual é identificada com base no primeiro " -"argumento passado para o método." +"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 base no " +"escopo léxico, enquanto a classe ou instância que foi usada para fazer a " +"chamada atual é identificada com base no primeiro argumento passado para o " +"método." -#: ../../reference/datamodel.rst:2094 +#: ../../reference/datamodel.rst:2120 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 " @@ -3624,45 +3656,45 @@ 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 ``type." +"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:2100 +#: ../../reference/datamodel.rst:2126 msgid "" "When using the default metaclass :class:`type`, or any metaclass that " -"ultimately calls ``type.__new__``, the following additional customisation " +"ultimately calls ``type.__new__``, the following additional customization " "steps are invoked after creating the class object:" msgstr "" -"Ao usar a metaclasse padrão :class:`type`, ou qualquer metaclasse que " -"finalmente chama ``type.__new__``, as seguintes etapas de personalização " -"adicionais são invocadas após a criação do objeto classe:" +"Quando usada a metaclasse padrão :class:`type`, ou qualquer metaclasse que " +"chame ``type.__new__``, as seguintes etapas de personalização adicionais são " +"executadas depois da criação do objeto classe:" -#: ../../reference/datamodel.rst:2104 +#: ../../reference/datamodel.rst:2130 msgid "" -"first, ``type.__new__`` collects all of the descriptors in the class " +"The ``type.__new__`` method collects all of the attributes in the class " "namespace that define a :meth:`~object.__set_name__` method;" msgstr "" -"primeiro, ``type.__new__`` coleta todos os descritores no espaço de nomes da " +"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:2106 +#: ../../reference/datamodel.rst:2132 msgid "" -"second, all of these ``__set_name__`` methods are called with the class " -"being defined and the assigned name of that particular descriptor;" +"Those ``__set_name__`` methods are called with the class being defined and " +"the assigned name of that particular attribute;" msgstr "" -"segundo, todos esses métodos ``__set_name__`` são chamados com a classe " -"sendo definida e o nome atribuído daquele descritor particular;" +"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:2108 +#: ../../reference/datamodel.rst:2134 msgid "" -"finally, the :meth:`~object.__init_subclass__` hook is called on the " -"immediate parent of the new class in its method resolution order." +"The :meth:`~object.__init_subclass__` hook is called on the immediate parent " +"of the new class in its method resolution order." msgstr "" -"finalmente, o gancho :meth:`~object.__init_subclass__` é chamado no pai " -"imediato da nova classe em sua ordem de resolução de métodos." +"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:2111 +#: ../../reference/datamodel.rst:2137 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 " @@ -3672,7 +3704,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:2115 +#: ../../reference/datamodel.rst:2141 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 " @@ -3685,19 +3717,19 @@ msgstr "" "proxy de somente leitura, que se torna o atributo :attr:`~object.__dict__` " "do objeto classe." -#: ../../reference/datamodel.rst:2122 +#: ../../reference/datamodel.rst:2148 msgid ":pep:`3135` - New super" msgstr ":pep:`3135` - Novo super" -#: ../../reference/datamodel.rst:2123 +#: ../../reference/datamodel.rst:2149 msgid "Describes the implicit ``__class__`` closure reference" -msgstr "Descreve a referência implícita de fechamento de ``__class__``" +msgstr "Descreve a referência de clausura implícita de ``__class__``" -#: ../../reference/datamodel.rst:2127 +#: ../../reference/datamodel.rst:2153 msgid "Uses for metaclasses" msgstr "Usos para metaclasses" -#: ../../reference/datamodel.rst:2129 +#: ../../reference/datamodel.rst:2155 msgid "" "The potential uses for metaclasses are boundless. Some ideas that have been " "explored include enum, logging, interface checking, automatic delegation, " @@ -3705,15 +3737,15 @@ msgid "" "locking/synchronization." msgstr "" "Os usos potenciais para metaclasses são ilimitados. Algumas ideias que foram " -"exploradas incluem enum, 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." +"exploradas incluem enumeradores, criação de log, verificação de interface, " +"delegação automática, criação automática de propriedade, proxies, estruturas " +"e travamento/sincronização automático/a de recursos." -#: ../../reference/datamodel.rst:2136 +#: ../../reference/datamodel.rst:2162 msgid "Customizing instance and subclass checks" msgstr "Personalizando verificações de instância e subclasse" -#: ../../reference/datamodel.rst:2138 +#: ../../reference/datamodel.rst:2164 msgid "" "The following methods are used to override the default behavior of the :func:" "`isinstance` and :func:`issubclass` built-in functions." @@ -3721,7 +3753,7 @@ 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:2141 +#: ../../reference/datamodel.rst:2167 msgid "" "In particular, the metaclass :class:`abc.ABCMeta` implements these methods " "in order to allow the addition of Abstract Base Classes (ABCs) as \"virtual " @@ -3733,7 +3765,7 @@ msgstr "" "base virtuais\" para qualquer classe ou tipo (incluindo tipos embutidos), " "incluindo outras ABCs." -#: ../../reference/datamodel.rst:2148 +#: ../../reference/datamodel.rst:2174 msgid "" "Return true if *instance* should be considered a (direct or indirect) " "instance of *class*. If defined, called to implement ``isinstance(instance, " @@ -3743,7 +3775,7 @@ msgstr "" "ou indireta) da classe *class*. Se definido, chamado para implementar " "``isinstance(instance, class)``." -#: ../../reference/datamodel.rst:2155 +#: ../../reference/datamodel.rst:2181 msgid "" "Return true if *subclass* should be considered a (direct or indirect) " "subclass of *class*. If defined, called to implement ``issubclass(subclass, " @@ -3753,7 +3785,7 @@ msgstr "" "ou indireta) da classe *class*. Se definido, chamado para implementar " "``issubclass(subclass, class)``." -#: ../../reference/datamodel.rst:2160 +#: ../../reference/datamodel.rst:2186 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 " @@ -3765,11 +3797,11 @@ 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:2171 +#: ../../reference/datamodel.rst:2197 msgid ":pep:`3119` - Introducing Abstract Base Classes" msgstr ":pep:`3119` - Introduzindo classes base abstratas" -#: ../../reference/datamodel.rst:2168 +#: ../../reference/datamodel.rst:2194 msgid "" "Includes the specification for customizing :func:`isinstance` and :func:" "`issubclass` behavior through :meth:`~class.__instancecheck__` and :meth:" @@ -3783,19 +3815,66 @@ msgstr "" "esta funcionalidade no contexto da adição de classes base abstratas (veja o " "módulo :mod:`abc`) para a linguagem." -#: ../../reference/datamodel.rst:2176 +#: ../../reference/datamodel.rst:2202 msgid "Emulating generic types" msgstr "Emulando tipos genéricos" -#: ../../reference/datamodel.rst:2178 +#: ../../reference/datamodel.rst:2204 +msgid "" +"When using :term:`type annotations`, it is often useful to " +"*parameterize* a :term:`generic type` using Python's square-brackets " +"notation. For example, the annotation ``list[int]`` might be used to signify " +"a :class:`list` in which all the elements are of type :class:`int`." +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`." + +#: ../../reference/datamodel.rst:2212 +msgid ":pep:`484` - Type Hints" +msgstr ":pep:`484` - Dicas de tipo" + +#: ../../reference/datamodel.rst:2212 +msgid "Introducing Python's framework for type annotations" +msgstr "Apresenta a estrutura do Python para anotações de tipo" + +#: ../../reference/datamodel.rst:2215 +msgid ":ref:`Generic Alias Types`" +msgstr ":ref:`Tipos Generic Alias `" + +#: ../../reference/datamodel.rst:2215 +msgid "Documentation for objects representing parameterized generic classes" +msgstr "" +"Documentação de objetos que representam classes genéricas parametrizadas" + +#: ../../reference/datamodel.rst:2218 +msgid "" +":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:2218 +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." + +#: ../../reference/datamodel.rst:2221 msgid "" -"One can implement the generic class syntax as specified by :pep:`484` (for " -"example ``List[int]``) by defining a special method:" +"A class can *generally* only be parameterized if it defines the special " +"class method ``__class_getitem__()``." msgstr "" -"Pode-se implementar a sintaxe de classe genérica conforme especificado por :" -"pep:`484` (por exemplo, ``List[int]``) definindo um método especial:" +"Uma classe pode *geralmente* ser parametrizada somente se ela define o " +"método de classe especial ``__class_getitem__()``." -#: ../../reference/datamodel.rst:2183 +#: ../../reference/datamodel.rst:2226 msgid "" "Return an object representing the specialization of a generic class by type " "arguments found in *key*." @@ -3803,23 +3882,134 @@ msgstr "" "Retorna um objeto que representa a especialização de uma classe genérica por " "argumentos de tipo encontrados em *key*." -#: ../../reference/datamodel.rst:2186 +#: ../../reference/datamodel.rst:2229 +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." +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." + +#: ../../reference/datamodel.rst:2235 +msgid "The purpose of *__class_getitem__*" +msgstr "O propósito de *__class_getitem__*" + +#: ../../reference/datamodel.rst:2237 msgid "" -"This method is looked up on the class object itself, and when defined in the " -"class body, this method is implicitly a class method. Note, this mechanism " -"is primarily reserved for use with static type hints, other usage is " -"discouraged." +"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 "" -"Esse método é pesquisado no próprio objeto classe e, quando definido no " -"corpo da classe, esse método é implicitamente um método de classe. Observe " -"que esse mecanismo é reservado principalmente para uso com dicas de tipo " -"estático; outro uso é desencorajado." +"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:2199 +#: ../../reference/datamodel.rst:2241 +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__()``." +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:2247 +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:2257 +msgid "*__class_getitem__* versus *__getitem__*" +msgstr "*__class_getitem__* versus *__getitem__*" + +#: ../../reference/datamodel.rst:2259 +msgid "" +"Usually, the :ref:`subscription` of an object using square " +"brackets will call the :meth:`~object.__getitem__` instance method defined " +"on the object's class. However, if the object being subscribed is itself a " +"class, the class method :meth:`~object.__class_getitem__` may be called " +"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:2266 +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::" +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:2294 +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 "" +"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:2313 +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:2338 +msgid ":pep:`560` - Core Support for typing module and generic types" +msgstr ":pep:`560` - Suporte básico para módulo typing e tipos genéricos" + +#: ../../reference/datamodel.rst:2337 +msgid "" +"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:2345 msgid "Emulating callable objects" msgstr "Emulando objetos chamáveis" -#: ../../reference/datamodel.rst:2206 +#: ../../reference/datamodel.rst:2352 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, " @@ -3829,74 +4019,47 @@ msgstr "" "definido, ``x(arg1, arg2, ...)`` basicamente traduz para ``type(x)." "__call__(x, arg1, ...)``." -#: ../../reference/datamodel.rst:2213 +#: ../../reference/datamodel.rst:2359 msgid "Emulating container types" -msgstr "Emulando de tipos contêineres" +msgstr "Emulando tipos contêineres" -#: ../../reference/datamodel.rst:2215 +#: ../../reference/datamodel.rst:2361 msgid "" "The following methods can be defined to implement container objects. " -"Containers usually are sequences (such as lists or tuples) or mappings (like " -"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 " -"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 dictionary objects. The :mod:`collections.abc` module " -"provides a :class:`~collections.abc.MutableMapping` abstract base class to " -"help create those methods from a base set of :meth:`__getitem__`, :meth:" -"`__setitem__`, :meth:`__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 list objects. Finally, sequence types " -"should implement addition (meaning concatenation) and multiplication " -"(meaning repetition) by defining the methods :meth:`__add__`, :meth:" -"`__radd__`, :meth:`__iadd__`, :meth:`__mul__`, :meth:`__rmul__` and :meth:" -"`__imul__` described below; they should not define other numerical " -"operators. It is recommended that both mappings and sequences implement " -"the :meth:`__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:`__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 "" -"Os métodos a seguir podem ser definidos para implementar objetos " -"contêineres. Os contêineres geralmente são sequências (como listas ou " -"tuplas) ou mapeamentos (como dicionários), mas também podem representar " -"outros contêineres. O primeiro conjunto de métodos é usado para emular uma " -"sequência ou para emular um mapeamento; a diferença é que, para uma " -"sequência, as chaves permitidas devem ser os inteiros *k* para os quais ``0 " -"<= k < N`` onde *N* é o comprimento da sequência, ou objetos fatia, que " -"definem um intervalo de itens. Também é recomendado que os mapeamentos " -"forneçam os métodos :meth:`keys`, :meth:`values`, :meth:`items`, :meth:" -"`get`, :meth:`clear`, :meth:`setdefault`, :meth:`pop`, :meth:`popitem`, :" -"meth:`!copy` e :meth:`update` se comportando de forma semelhante aos objetos " -"dicionário padrão do Python. O módulo :mod:`Collections.abc` fornece uma " -"classe base abstrata :class:`~Collections.abc.MutableMapping` para ajudar a " -"criar esses métodos a partir de um conjunto base de :meth:`__getitem__`, :" -"meth:`__setitem__`, :meth:`__delitem__` e :meth:`keys`. Sequências mutáveis ​​" -"devem fornecer métodos :meth:`append`, :meth:`count`, :meth:`index`, :meth:" -"`extend`, :meth:`insert`, :meth:`pop`, :meth:`remove`, :meth:`reverse` e :" -"meth:`sort`, como objetos lista padrão do Python. Finalmente, os tipos de " -"sequência devem implementar adição (significando concatenação) e " -"multiplicação (significando repetição) definindo os métodos :meth:" -"`__add__`, :meth:`__radd__`, :meth:`__iadd__`, :meth:`__mul__`, :meth:" -"`__rmul__` e :meth:`__imul__` descritos abaixo; eles não devem definir " -"outros operadores numéricos. É recomendado que ambos os mapeamentos e " -"sequências implementem o método :meth:`__contains__` para permitir o uso " -"eficiente do operador ``in``; para mapeamentos, ``in`` deve pesquisar as " -"chaves do mapeamento; para sequências, ele deve pesquisar os valores. É " -"ainda recomendado que ambos os mapeamentos e sequências implementem o " -"método :meth:`__iter__` para permitir a iteração eficiente através do " -"contêiner; para mapeamentos, :meth:`__iter__` deve iterar através das chaves " -"do objeto; para sequências, ele deve iterar por meio dos valores." - -#: ../../reference/datamodel.rst:2250 +"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:2401 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 " @@ -3908,7 +4071,7 @@ msgstr "" "define um método :meth:`__bool__` e cujo método :meth:`__len__` retorna zero " "é considerado como falso em um contexto booleano." -#: ../../reference/datamodel.rst:2257 +#: ../../reference/datamodel.rst:2408 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:" @@ -3922,7 +4085,7 @@ msgstr "" "OverflowError` pelo teste de valor de verdade, um objeto deve definir um " "método :meth:`__bool__`." -#: ../../reference/datamodel.rst:2266 +#: ../../reference/datamodel.rst:2417 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). " @@ -3938,45 +4101,37 @@ msgstr "" "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:2280 +#: ../../reference/datamodel.rst:2431 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:2284 +#: ../../reference/datamodel.rst:2435 msgid "is translated to ::" msgstr "é traduzida com ::" -#: ../../reference/datamodel.rst:2288 +#: ../../reference/datamodel.rst:2439 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:2293 -msgid "" -"Called to implement evaluation of ``self[key]``. For 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 " -"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 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 " -"sequência, as chaves aceitas devem ser inteiros e objetos fatia. Observe que " -"a interpretação especial de índices negativos (se a classe deseja emular um " -"tipo de sequência) depende do método :meth:`__getitem__`. Se *key* for de um " -"tipo impróprio, :exc:`TypeError` pode ser levantada; se 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 de " -"mapeamento, se *key* estiver faltando (não no contêiner), :exc:`KeyError` " -"deve ser levantada." - -#: ../../reference/datamodel.rst:2304 +#: ../../reference/datamodel.rst:2444 +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:2456 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." @@ -3984,7 +4139,18 @@ 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:2310 +#: ../../reference/datamodel.rst:2461 +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." +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:2469 msgid "" "Called to implement assignment to ``self[key]``. Same note as for :meth:" "`__getitem__`. This should only be implemented for mappings if the objects " @@ -3999,7 +4165,7 @@ msgstr "" "substituídos. As mesmas exceções devem ser levantadas para valores *key* " "impróprios do método :meth:`__getitem__`." -#: ../../reference/datamodel.rst:2319 +#: ../../reference/datamodel.rst:2478 msgid "" "Called to implement deletion of ``self[key]``. Same note as for :meth:" "`__getitem__`. This should only be implemented for mappings if the objects " @@ -4013,7 +4179,7 @@ msgstr "" "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:2328 +#: ../../reference/datamodel.rst:2487 msgid "" "Called by :class:`dict`\\ .\\ :meth:`__getitem__` to implement ``self[key]`` " "for dict subclasses when key is not in the dictionary." @@ -4022,29 +4188,19 @@ msgstr "" "``self[key]`` para subclasses de dicionário quando a chave não estiver no " "dicionário." -#: ../../reference/datamodel.rst:2334 +#: ../../reference/datamodel.rst:2493 msgid "" -"This method is called when an 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." +"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 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." +"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:2338 -msgid "" -"Iterator objects also need to implement this method; they are required to " -"return themselves. For more information on iterator objects, see :ref:" -"`typeiter`." -msgstr "" -"Os objetos iteradores também precisam implementar este método; eles são " -"obrigados a retornar. Para obter mais informações sobre objetos iteradores, " -"consulte :ref:`typeiter`." - -#: ../../reference/datamodel.rst:2344 +#: ../../reference/datamodel.rst:2501 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 " @@ -4054,7 +4210,7 @@ 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:2348 +#: ../../reference/datamodel.rst:2505 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 :" @@ -4068,7 +4224,7 @@ msgstr "" "fornecer :meth:`__reversed__` se eles puderem fornecer uma implementação que " "seja mais eficiente do que aquela fornecida por :func:`reversed`." -#: ../../reference/datamodel.rst:2355 +#: ../../reference/datamodel.rst:2512 msgid "" "The membership test operators (:keyword:`in` and :keyword:`not in`) are " "normally implemented as an iteration through a container. However, container " @@ -4081,7 +4237,7 @@ msgstr "" "uma implementação mais eficiente, que também não requer que o objeto seja " "iterável." -#: ../../reference/datamodel.rst:2362 +#: ../../reference/datamodel.rst:2519 msgid "" "Called to implement membership test operators. Should return true if *item* " "is in *self*, false otherwise. For mapping objects, this should consider " @@ -4092,7 +4248,7 @@ msgstr "" "de mapeamento, isso deve considerar as chaves do mapeamento em vez dos " "valores ou pares de itens-chave." -#: ../../reference/datamodel.rst:2366 +#: ../../reference/datamodel.rst:2523 msgid "" "For objects that don't define :meth:`__contains__`, the membership test " "first tries iteration via :meth:`__iter__`, then the old sequence iteration " @@ -4104,11 +4260,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:2375 +#: ../../reference/datamodel.rst:2532 msgid "Emulating numeric types" msgstr "Emulando tipos numéricos" -#: ../../reference/datamodel.rst:2377 +#: ../../reference/datamodel.rst:2534 msgid "" "The following methods can be defined to emulate numeric objects. Methods " "corresponding to operations that are not supported by the particular kind of " @@ -4120,17 +4276,18 @@ 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:2403 +#: ../../reference/datamodel.rst:2560 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, ``x.__add__(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." +"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, ``x.__add__(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`, :" @@ -4142,7 +4299,7 @@ msgstr "" "`__pow__` deve ser definido para aceitar um terceiro argumento opcional se a " "versão ternária da função interna :func:`pow` for suportada." -#: ../../reference/datamodel.rst:2414 +#: ../../reference/datamodel.rst:2571 msgid "" "If one of those methods does not support the operation with the supplied " "arguments, it should return ``NotImplemented``." @@ -4150,11 +4307,11 @@ msgstr "" "Se um desses métodos não suporta a operação com os argumentos fornecidos, " "ele deve retornar ``NotImplemented``." -#: ../../reference/datamodel.rst:2437 +#: ../../reference/datamodel.rst:2594 msgid "" -"These methods are called to implement the binary arithmetic operations (``" -"+``, ``-``, ``*``, ``@``, ``/``, ``//``, ``%``, :func:`divmod`, :func:`pow`, " -"``**``, ``<<``, ``>>``, ``&``, ``^``, ``|``) with reflected (swapped) " +"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 " @@ -4170,7 +4327,7 @@ msgstr "" "*y* é uma instância de uma classe que tem um método :meth:`__rsub__`, ``y." "__rsub__(x)`` é chamado se ``x.__sub__(y)`` retorna *NotImplemented*." -#: ../../reference/datamodel.rst:2448 +#: ../../reference/datamodel.rst:2605 msgid "" "Note that ternary :func:`pow` will not try calling :meth:`__rpow__` (the " "coercion rules would become too complicated)." @@ -4178,7 +4335,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:2453 +#: ../../reference/datamodel.rst:2610 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 " @@ -4192,7 +4349,7 @@ msgstr "" "operando esquerdo. Esse comportamento permite que as subclasses substituam " "as operações de seus ancestrais." -#: ../../reference/datamodel.rst:2474 +#: ../../reference/datamodel.rst:2631 msgid "" "These methods are called to implement the augmented arithmetic assignments " "(``+=``, ``-=``, ``*=``, ``@=``, ``/=``, ``//=``, ``%=``, ``**=``, ``<<=``, " @@ -4220,7 +4377,7 @@ msgstr "" "(ver :ref:`faq-augmented-assignment-tuple-error`), mas este comportamento é " "na verdade parte do modelo de dados." -#: ../../reference/datamodel.rst:2495 +#: ../../reference/datamodel.rst:2652 msgid "" "Called to implement the unary arithmetic operations (``-``, ``+``, :func:" "`abs` and ``~``)." @@ -4228,7 +4385,7 @@ msgstr "" "Chamado para implementar as operações aritméticas unárias (``-``, ``+``, :" "func:`abs` e ``~``)." -#: ../../reference/datamodel.rst:2508 +#: ../../reference/datamodel.rst:2665 msgid "" "Called to implement the built-in functions :func:`complex`, :func:`int` and :" "func:`float`. Should return a value of the appropriate type." @@ -4236,7 +4393,7 @@ 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:2515 +#: ../../reference/datamodel.rst:2672 msgid "" "Called to implement :func:`operator.index`, and whenever Python needs to " "losslessly convert the numeric object to an integer object (such as in " @@ -4250,7 +4407,7 @@ msgstr "" "`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:2521 +#: ../../reference/datamodel.rst:2678 msgid "" "If :meth:`__int__`, :meth:`__float__` and :meth:`__complex__` are not " "defined then corresponding built-in functions :func:`int`, :func:`float` " @@ -4260,7 +4417,7 @@ msgstr "" "definidos, funções embutidas correspondentes :func:`int`, :func:`float` e :" "func:`complex` recorre a :meth:`__index__`." -#: ../../reference/datamodel.rst:2533 +#: ../../reference/datamodel.rst:2690 msgid "" "Called to implement the built-in function :func:`round` and :mod:`math` " "functions :func:`~math.trunc`, :func:`~math.floor` and :func:`~math.ceil`. " @@ -4274,19 +4431,19 @@ msgstr "" "retornar o valor do objeto truncado para um :class:`~numbers.Integral` " "(tipicamente um :class:`int`)." -#: ../../reference/datamodel.rst:2539 +#: ../../reference/datamodel.rst:2696 msgid "" -"If :meth:`__int__` is not defined then the built-in function :func:`int` " -"falls back to :meth:`__trunc__`." +"The built-in function :func:`int` falls back to :meth:`__trunc__` if " +"neither :meth:`__int__` nor :meth:`__index__` is defined." msgstr "" -"Se :meth:`__int__` não for definido, então a função embutida :func:`int` " -"retrocede para :meth:`__trunc__`." +"A função embutida :func:`int` retorna para :meth:`__trunc__` se nem :meth:" +"`__int__` nem :meth:`__index__` estiverem definidos." -#: ../../reference/datamodel.rst:2546 +#: ../../reference/datamodel.rst:2703 msgid "With Statement Context Managers" -msgstr "Com gerenciadores de contexto de instruções" +msgstr "Gerenciadores de contexto da instrução with" -#: ../../reference/datamodel.rst:2548 +#: ../../reference/datamodel.rst:2705 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 " @@ -4303,23 +4460,23 @@ msgstr "" "(descrita na seção :ref:`with`), mas também podem ser usados invocando " "diretamente seus métodos." -#: ../../reference/datamodel.rst:2559 +#: ../../reference/datamodel.rst:2716 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:2562 +#: ../../reference/datamodel.rst:2719 msgid "" "For more information on context managers, see :ref:`typecontextmanager`." msgstr "" "Para obter mais informações sobre gerenciadores de contexto, consulte :ref:" "`typecontextmanager`." -#: ../../reference/datamodel.rst:2567 +#: ../../reference/datamodel.rst:2724 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 " @@ -4329,7 +4486,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:2574 +#: ../../reference/datamodel.rst:2731 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 " @@ -4340,7 +4497,7 @@ msgstr "" "Se o contexto foi encerrado sem exceção, todos os três argumentos serão :" "const:`None`." -#: ../../reference/datamodel.rst:2578 +#: ../../reference/datamodel.rst:2735 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. " @@ -4351,7 +4508,7 @@ 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:2582 +#: ../../reference/datamodel.rst:2739 msgid "" "Note that :meth:`__exit__` methods should not reraise the passed-in " "exception; this is the caller's responsibility." @@ -4359,11 +4516,11 @@ msgstr "" "Observe que os métodos :meth:`__exit__` não devem relançar a exceção " "passada; esta é a responsabilidade do chamador." -#: ../../reference/datamodel.rst:2589 +#: ../../reference/datamodel.rst:2746 msgid ":pep:`343` - The \"with\" statement" msgstr ":pep:`343` - A instrução \"with\"" -#: ../../reference/datamodel.rst:2589 +#: ../../reference/datamodel.rst:2746 msgid "" "The specification, background, and examples for the Python :keyword:`with` " "statement." @@ -4371,24 +4528,24 @@ msgstr "" "A especificação, o histórico e os exemplos para a instrução Python :keyword:" "`with`." -#: ../../reference/datamodel.rst:2596 +#: ../../reference/datamodel.rst:2753 msgid "Customizing positional arguments in class pattern matching" msgstr "" "Customizando argumentos posicionais na classe correspondência de padrão" -#: ../../reference/datamodel.rst:2598 +#: ../../reference/datamodel.rst:2755 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 " -"patterns, the class needs to define a *__match_args__* attribute." +"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:2605 +#: ../../reference/datamodel.rst:2762 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 " @@ -4402,7 +4559,7 @@ msgstr "" "correspondência de valor em *__match_args__* como palavra reservada. A " "ausência desse atributo é equivalente a defini-lo como ``()``" -#: ../../reference/datamodel.rst:2611 +#: ../../reference/datamodel.rst:2768 msgid "" "For example, if ``MyClass.__match_args__`` is ``(\"left\", \"center\", " "\"right\")`` that means that ``case MyClass(x, y)`` is equivalent to ``case " @@ -4411,26 +4568,26 @@ msgid "" "*__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 " +"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`." -#: ../../reference/datamodel.rst:2621 +#: ../../reference/datamodel.rst:2778 msgid ":pep:`634` - Structural Pattern Matching" msgstr ":pep:`634` - Correspondência de Padrão Estrutural" -#: ../../reference/datamodel.rst:2622 +#: ../../reference/datamodel.rst:2779 msgid "The specification for the Python ``match`` statement." msgstr "A especificação para a instrução Python ``match``" -#: ../../reference/datamodel.rst:2628 +#: ../../reference/datamodel.rst:2785 msgid "Special method lookup" msgstr "Pesquisa de método especial" -#: ../../reference/datamodel.rst:2630 +#: ../../reference/datamodel.rst:2787 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 " @@ -4442,21 +4599,21 @@ 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:2645 +#: ../../reference/datamodel.rst:2802 msgid "" "The rationale behind this behaviour lies with a number of special methods " -"such as :meth:`__hash__` and :meth:`__repr__` that are implemented by all " -"objects, including type objects. If the implicit lookup of these methods " -"used the conventional lookup process, they would fail when invoked on the " -"type object itself::" +"such as :meth:`~object.__hash__` and :meth:`~object.__repr__` that are " +"implemented by all objects, including type objects. If the implicit lookup " +"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:`__hash__` e :meth:`__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 " -"chamados no próprio objeto do tipo::" +"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:2658 +#: ../../reference/datamodel.rst:2816 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 " @@ -4466,59 +4623,56 @@ msgstr "" "maneira é às vezes referida como \"confusão de metaclasse\" e é evitada " "ignorando a instância ao pesquisar métodos especiais::" -#: ../../reference/datamodel.rst:2667 +#: ../../reference/datamodel.rst:2825 msgid "" "In addition to bypassing any instance attributes in the interest of " "correctness, implicit special method lookup generally also bypasses the :" -"meth:`__getattribute__` method even of the object's metaclass::" +"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:`__getattribute__` mesmo da metaclasse do objeto::" +"meth:`~object.__getattribute__` mesmo da metaclasse do objeto::" -#: ../../reference/datamodel.rst:2693 +#: ../../reference/datamodel.rst:2851 msgid "" -"Bypassing the :meth:`__getattribute__` machinery in this fashion provides " -"significant scope for speed optimisations within the interpreter, at the " -"cost of some flexibility in the handling of special methods (the special " -"method *must* be set on the class object itself in order to be consistently " -"invoked by the interpreter)." +"Bypassing the :meth:`~object.__getattribute__` machinery in this fashion " +"provides significant scope for speed optimisations within the interpreter, " +"at the cost of some flexibility in the handling of special methods (the " +"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:`__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)." +"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:2704 +#: ../../reference/datamodel.rst:2862 msgid "Coroutines" msgstr "Corrotinas" -#: ../../reference/datamodel.rst:2708 +#: ../../reference/datamodel.rst:2866 msgid "Awaitable Objects" msgstr "Objetos aguardáveis" -#: ../../reference/datamodel.rst:2710 +#: ../../reference/datamodel.rst:2868 msgid "" -"An :term:`awaitable` object generally implements an :meth:`__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:" -"`__await__`. Os :term:`objetos corrotina ` retornados das " -"funções :keyword:`async def` são aguardáveis." +"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:2716 +#: ../../reference/datamodel.rst:2874 msgid "" "The :term:`generator iterator` objects returned from generators decorated " "with :func:`types.coroutine` or :func:`asyncio.coroutine` are also " -"awaitable, but they do not implement :meth:`__await__`." +"awaitable, but they do not implement :meth:`~object.__await__`." msgstr "" -"Os objetos :term:`iteradores geradores ` retornados de " -"geradores decorados com :func:`types.coroutine` ou :func:`asyncio.coroutine` " -"também são aguardáveis, mas eles não implementam :meth:`__await__`." -#: ../../reference/datamodel.rst:2722 +#: ../../reference/datamodel.rst:2880 msgid "" "Must return an :term:`iterator`. Should be used to implement :term:" "`awaitable` objects. For instance, :class:`asyncio.Future` implements this " @@ -4528,34 +4682,46 @@ msgstr "" "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:2728 +#: ../../reference/datamodel.rst:2886 +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." +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:2894 msgid ":pep:`492` for additional information about awaitable objects." msgstr ":pep:`492` para informações adicionais sobre objetos aguardáveis." -#: ../../reference/datamodel.rst:2734 +#: ../../reference/datamodel.rst:2900 msgid "Coroutine Objects" msgstr "Objetos corrotina" -#: ../../reference/datamodel.rst:2736 +#: ../../reference/datamodel.rst:2902 msgid "" ":term:`Coroutine objects ` are :term:`awaitable` objects. A " -"coroutine's execution can be controlled by calling :meth:`__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." +"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 "" ":term:`Objetos corrotina ` são objetos :term:`aguardáveis " "`. A execução de uma corrotina pode ser controlada chamando :" -"meth:`__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 " +"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:2744 +#: ../../reference/datamodel.rst:2910 msgid "" "Coroutines also have the methods listed below, which are analogous to those " "of generators (see :ref:`generator-methods`). However, unlike generators, " @@ -4565,45 +4731,40 @@ 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:2748 +#: ../../reference/datamodel.rst:2914 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:2754 +#: ../../reference/datamodel.rst:2920 msgid "" "Starts or resumes execution of the coroutine. If *value* is ``None``, this " -"is equivalent to advancing the iterator returned by :meth:`__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." +"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 é " -"equivalente a avançar o iterador retornado por :meth:`__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:2764 +#: ../../reference/datamodel.rst:2931 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:`__await__` return value, described above. If the exception is not " -"caught in the coroutine, it propagates back to the caller." +"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:`__await__`, " -"descrito acima. Se a exceção não for capturada na corrotina, ela se " -"propagará de volta para o chamador." +"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:2775 +#: ../../reference/datamodel.rst:2942 msgid "" "Causes the coroutine to clean itself up and exit. If the coroutine is " "suspended, this method first delegates to the :meth:`~generator.close` " @@ -4619,7 +4780,7 @@ msgstr "" "limpe imediatamente. Por fim, a corrotina é marcada como tendo sua execução " "concluída, mesmo que nunca tenha sido iniciada." -#: ../../reference/datamodel.rst:2783 +#: ../../reference/datamodel.rst:2950 msgid "" "Coroutine objects are automatically closed using the above process when they " "are about to be destroyed." @@ -4627,11 +4788,11 @@ msgstr "" "Objetos corrotina são fechados automaticamente usando o processo acima " "quando estão prestes a ser destruídos." -#: ../../reference/datamodel.rst:2789 +#: ../../reference/datamodel.rst:2956 msgid "Asynchronous Iterators" msgstr "Iteradores assíncronos" -#: ../../reference/datamodel.rst:2791 +#: ../../reference/datamodel.rst:2958 msgid "" "An *asynchronous iterator* can call asynchronous code in its ``__anext__`` " "method." @@ -4639,18 +4800,18 @@ msgstr "" "Um *iterador assíncrono* pode chamar código assíncrono em seu método " "``__anext__``." -#: ../../reference/datamodel.rst:2794 +#: ../../reference/datamodel.rst:2961 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:2798 +#: ../../reference/datamodel.rst:2965 msgid "Must return an *asynchronous iterator* object." msgstr "Deve retornar um objeto *iterador assíncrono*." -#: ../../reference/datamodel.rst:2802 +#: ../../reference/datamodel.rst:2969 msgid "" "Must return an *awaitable* resulting in a next value of the iterator. " "Should raise a :exc:`StopAsyncIteration` error when the iteration is over." @@ -4658,32 +4819,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:2805 +#: ../../reference/datamodel.rst:2972 msgid "An example of an asynchronous iterable object::" msgstr "Um exemplo de objeto iterável assíncrono::" -#: ../../reference/datamodel.rst:2822 +#: ../../reference/datamodel.rst:2989 msgid "" -"Prior to Python 3.7, ``__aiter__`` could return an *awaitable* that would " -"resolve to an :term:`asynchronous iterator `." +"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, ``__aiter__`` poderia retornar um *aguardável* que " -"resolveria para um :term:`iterador assíncrono `." +"Antes do Python 3.7, :meth:`~object.__aiter__` poderia retornar um " +"*aguardável* que resolveria para um :term:`iterador assíncrono `." -#: ../../reference/datamodel.rst:2827 +#: ../../reference/datamodel.rst:2994 msgid "" -"Starting with Python 3.7, ``__aiter__`` must return an asynchronous iterator " -"object. Returning anything else will result in a :exc:`TypeError` error." +"Starting with Python 3.7, :meth:`~object.__aiter__` must return an " +"asynchronous iterator object. Returning anything else will result in a :exc:" +"`TypeError` error." msgstr "" -"A partir do Python 3.7, ``__aiter__`` deve retornar um objeto iterador " -"assíncrono. Retornar qualquer outra coisa resultará em um erro :exc:" +"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:2835 +#: ../../reference/datamodel.rst:3002 msgid "Asynchronous Context Managers" msgstr "Gerenciadores de contexto assíncronos" -#: ../../reference/datamodel.rst:2837 +#: ../../reference/datamodel.rst:3004 msgid "" "An *asynchronous context manager* is a *context manager* that is able to " "suspend execution in its ``__aenter__`` and ``__aexit__`` methods." @@ -4691,15 +4855,15 @@ 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:2840 +#: ../../reference/datamodel.rst:3007 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 :" +"Os gerenciadores de contexto assíncronos podem ser usados em uma instrução :" "keyword:`async with`." -#: ../../reference/datamodel.rst:2844 +#: ../../reference/datamodel.rst:3011 msgid "" "Semantically similar to :meth:`__enter__`, the only difference being that it " "must return an *awaitable*." @@ -4707,7 +4871,7 @@ msgstr "" "Semanticamente semelhante a :meth:`__enter__`, a única diferença é que ele " "deve retornar um *aguardável*." -#: ../../reference/datamodel.rst:2849 +#: ../../reference/datamodel.rst:3016 msgid "" "Semantically similar to :meth:`__exit__`, the only difference being that it " "must return an *awaitable*." @@ -4715,15 +4879,15 @@ msgstr "" "Semanticamente semelhante a :meth:`__exit__`, a única diferença é que ele " "deve retornar um *aguardável*." -#: ../../reference/datamodel.rst:2852 +#: ../../reference/datamodel.rst:3019 msgid "An example of an asynchronous context manager class::" msgstr "Um exemplo de uma classe gerenciadora de contexto assíncrona::" -#: ../../reference/datamodel.rst:2865 +#: ../../reference/datamodel.rst:3032 msgid "Footnotes" msgstr "Notas de rodapé" -#: ../../reference/datamodel.rst:2866 +#: ../../reference/datamodel.rst:3033 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 " @@ -4733,19 +4897,19 @@ 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:2870 +#: ../../reference/datamodel.rst:3037 msgid "" -"The :meth:`__hash__`, :meth:`__iter__`, :meth:`__reversed__`, and :meth:" -"`__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:`__hash__`, :meth:`__iter__`, :meth:`__reversed__` e :meth:" -"`__contains__` têm um tratamento especial para isso; outros ainda irão gerar " -"um :exc:`TypeError`, mas podem fazer isso contando com o comportamento de " -"que ``None`` não pode ser chamado." +"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:2875 +#: ../../reference/datamodel.rst:3043 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 " @@ -4757,12 +4921,12 @@ msgstr "" "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:2881 +#: ../../reference/datamodel.rst:3049 msgid "" "For operands of the same type, it is assumed that if the non-reflected " -"method -- such as :meth:`__add__` -- fails then the overall operation is not " -"supported, which is why the reflected method is not called." +"method -- such as :meth:`~object.__add__` -- fails then the overall " +"operation is not supported, which is why the reflected method is not called." msgstr "" "Para operandos do mesmo tipo, presume-se que se o método não refletido -- " -"como :meth:`__add__` -- falhar, a operação geral não será suportada, razão " -"pela qual o método refletido não é chamado." +"como :meth:`~object.__add__` -- falhar, a operação geral não será suportada, " +"razão pela qual o método refletido não é chamado." diff --git a/reference/executionmodel.po b/reference/executionmodel.po index e097a75b9..4d1748396 100644 --- a/reference/executionmodel.po +++ b/reference/executionmodel.po @@ -1,27 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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 -# Leticia Portella , 2021 +# python-doc bot, 2025 # #, 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:19+0000\n" -"Last-Translator: Leticia Portella , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:58+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../reference/executionmodel.rst:6 msgid "Execution model" @@ -86,35 +86,70 @@ msgstr "" "de ligação de nomes." #: ../../reference/executionmodel.rst:59 +msgid "The following constructs bind names:" +msgstr "As seguintes construções ligam nomes:" + +#: ../../reference/executionmodel.rst:61 +msgid "formal parameters to functions," +msgstr "parâmetros formais para funções," + +#: ../../reference/executionmodel.rst:62 +msgid "class definitions," +msgstr "definições de classe," + +#: ../../reference/executionmodel.rst:63 +msgid "function definitions," +msgstr "definições de função," + +#: ../../reference/executionmodel.rst:64 +msgid "assignment expressions," +msgstr "expressões de atribuição," + +#: ../../reference/executionmodel.rst:65 msgid "" -"The following constructs bind names: formal parameters to functions, :" -"keyword:`import` statements, class and function definitions (these bind the " -"class or function name in the defining block), and targets that are " -"identifiers if occurring in an assignment, :keyword:`for` loop header, or " -"after :keyword:`!as` in a :keyword:`with` statement or :keyword:`except` " -"clause. The :keyword:`!import` statement of the form ``from ... import *`` " -"binds all names defined in the imported module, except those beginning with " -"an underscore. This form may only be used at the module level." -msgstr "" -"As seguintes construções ligam nomes: parâmetros formais para funções, " -"instruções :keyword:`import`, definições de classe e função (estes ligam a " -"classe ou nome de função no bloco de definição) e alvos que são " -"identificadores se ocorrerem em uma atribuição, cabeçalho de laço :keyword:" -"`for` ou após :keyword:`!as` em uma instrução :keyword:`with` ou cláusula :" -"keyword:`except`. A instrução :keyword:`!import` na forma ``from ... import " -"*`` liga todos os nomes definidos no módulo importado, exceto aqueles que " -"começam com um sublinhado. Este formulário só pode ser usado no nível do " -"módulo." +":ref:`targets ` that are identifiers if occurring in an " +"assignment:" +msgstr "" +":ref:`alvos ` que são identificadores se ocorrerem em uma " +"atribuição:" + +#: ../../reference/executionmodel.rst:68 +msgid ":keyword:`for` loop header," +msgstr "cabeçalho de laço :keyword:`for`," #: ../../reference/executionmodel.rst:69 msgid "" +"after :keyword:`!as` in a :keyword:`with` statement, :keyword:`except` " +"clause or in the as-pattern in structural pattern matching," +msgstr "" + +#: ../../reference/executionmodel.rst:71 +msgid "in a capture pattern in structural pattern matching" +msgstr "em um padrão de captura na correspondência de padrões estruturais" + +#: ../../reference/executionmodel.rst:73 +msgid ":keyword:`import` statements." +msgstr "instruções :keyword:`import`." + +#: ../../reference/executionmodel.rst:75 +msgid "" +"The :keyword:`!import` statement of the form ``from ... import *`` binds all " +"names defined in the imported module, except those beginning with an " +"underscore. This form may only be used at the module level." +msgstr "" +"A instrução :keyword:`!import` no formato ``from ... import *`` liga todos " +"os nomes definidos no módulo importado, exceto aqueles que começam com um " +"sublinhado. Este formulário só pode ser usado no nível do módulo." + +#: ../../reference/executionmodel.rst:79 +msgid "" "A target occurring in a :keyword:`del` statement is also considered bound " "for this purpose (though the actual semantics are to unbind the name)." msgstr "" "Um alvo ocorrendo em uma instrução :keyword:`del` também é considerado " "ligado a esse propósito (embora a semântica real seja para desligar do nome)." -#: ../../reference/executionmodel.rst:72 +#: ../../reference/executionmodel.rst:82 msgid "" "Each assignment or import statement occurs within a block defined by a class " "or function definition or at the module level (the top-level code block)." @@ -123,7 +158,7 @@ msgstr "" "definido por uma definição de classe ou função ou no nível do módulo (o " "bloco de código de nível superior)." -#: ../../reference/executionmodel.rst:77 +#: ../../reference/executionmodel.rst:87 msgid "" "If a name is bound in a block, it is a local variable of that block, unless " "declared as :keyword:`nonlocal` or :keyword:`global`. If a name is bound at " @@ -133,11 +168,11 @@ 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`." -#: ../../reference/executionmodel.rst:83 +#: ../../reference/executionmodel.rst:93 msgid "" "Each occurrence of a name in the program text refers to the :dfn:`binding` " "of that name established by the following name resolution rules." @@ -145,11 +180,11 @@ msgstr "" "Cada ocorrência de um nome no texto do programa se refere à :dfn:`ligação` " "daquele nome estabelecido pelas seguintes regras de resolução de nome." -#: ../../reference/executionmodel.rst:89 +#: ../../reference/executionmodel.rst:99 msgid "Resolution of names" msgstr "Resolução de nomes" -#: ../../reference/executionmodel.rst:93 +#: ../../reference/executionmodel.rst:103 msgid "" "A :dfn:`scope` defines the visibility of a name within a block. If a local " "variable is defined in a block, its scope includes that block. If the " @@ -163,7 +198,7 @@ msgstr "" "blocos contidos no bloco de definição, a menos que um bloco contido " "introduza uma ligação diferente para o nome." -#: ../../reference/executionmodel.rst:101 +#: ../../reference/executionmodel.rst:111 msgid "" "When a name is used in a code block, it is resolved using the nearest " "enclosing scope. The set of all such scopes visible to a code block is " @@ -173,7 +208,7 @@ msgstr "" "escopo envolvente mais próximo. O conjunto de todos esses escopos visíveis a " "um bloco de código é chamado de :dfn:`ambiente` do bloco." -#: ../../reference/executionmodel.rst:109 +#: ../../reference/executionmodel.rst:119 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 " @@ -187,7 +222,7 @@ msgstr "" "uma exceção :exc:`UnboundLocalError` é levantada. :exc:`UnboundLocalError` é " "uma subclasse de :exc:`NameError`." -#: ../../reference/executionmodel.rst:115 +#: ../../reference/executionmodel.rst:125 msgid "" "If a name binding operation occurs anywhere within a code block, all uses of " "the name within the block are treated as references to the current block. " @@ -195,30 +230,52 @@ msgid "" "bound. This rule is subtle. Python lacks declarations and allows name " "binding operations to occur anywhere within a code block. The local " "variables of a code block can be determined by scanning the entire text of " -"the block for name binding operations." -msgstr "" - -#: ../../reference/executionmodel.rst:122 +"the block for name binding operations. See :ref:`the FAQ entry on " +"UnboundLocalError ` for examples." +msgstr "" +"Se a operação de ligação de nomes ocorre dentro de um bloco de código, todos " +"os usos do nome dentro do bloco são tratadas como referências para o bloco " +"atual. Isso pode. Isso pode levar a erros quando um nome é usado em um bloco " +"antes de ser vinculado. Esta regra é sutil. Python carece de declarações e " +"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:`o FAQ sobre UnboundLocalError ` para exemplos." + +#: ../../reference/executionmodel.rst:134 msgid "" "If the :keyword:`global` statement occurs within a block, all uses of the " -"name specified in the statement refer to the binding of that name 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 name is not " +"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 name." -msgstr "" - -#: ../../reference/executionmodel.rst:131 +"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 " +"espaço de nomes de nível superior. Os nomes são resolvidos no espaço de " +"nomes de nível superior pesquisando o espaço de nomes global, ou seja, o " +"espaço de nomes do módulo que contém o bloco de código, e o espaço de nomes " +"interno, o espaço de nomes do módulo :mod:`builtins`. O espaço de nomes " +"global é pesquisado primeiro. Se os nomes não forem encontrados lá, o espaço " +"de nomes interno será pesquisado. A instrução :keyword:`!global` deve " +"preceder todos os usos dos nomes listados." + +#: ../../reference/executionmodel.rst:143 msgid "" "The :keyword:`global` statement has the same scope as a name binding " "operation in the same block. If the nearest enclosing scope for a free " "variable contains a global statement, the free variable is treated as a " "global." msgstr "" +"A instrução :keyword:`global` tem o mesmo escopo que uma operação de ligação " +"de nome no mesmo bloco. Se o escopo mais próximo de uma variável livre " +"contiver uma instrução global, a variável livre será tratada como global." -#: ../../reference/executionmodel.rst:137 +#: ../../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:" @@ -226,13 +283,16 @@ msgid "" "any enclosing function scope." msgstr "" -#: ../../reference/executionmodel.rst:144 +#: ../../reference/executionmodel.rst:156 msgid "" "The namespace for a module is automatically created the first time a module " "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__`." -#: ../../reference/executionmodel.rst:147 +#: ../../reference/executionmodel.rst:159 msgid "" "Class definition blocks and arguments to :func:`exec` and :func:`eval` are " "special in the context of name resolution. A class definition is an " @@ -246,19 +306,23 @@ msgid "" "that the following will fail::" msgstr "" -#: ../../reference/executionmodel.rst:165 +#: ../../reference/executionmodel.rst:177 msgid "Builtins and restricted execution" -msgstr "" +msgstr "Builtins e execução restrita" -#: ../../reference/executionmodel.rst:171 +#: ../../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." 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 " +"interno devem :keyword:`import` o módulo :mod:`builtins` e modificar seus " +"atributos apropriadamente." -#: ../../reference/executionmodel.rst:176 +#: ../../reference/executionmodel.rst:188 msgid "" "The builtins namespace associated with the execution of a code block is " "actually found by looking up the name ``__builtins__`` in its global " @@ -268,18 +332,27 @@ msgid "" "other module, ``__builtins__`` is an alias for the dictionary of the :mod:" "`builtins` module itself." msgstr "" +"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__`, " +"``__builtins__`` é o módulo embutido :mod:`builtins`; quando em qualquer " +"outro módulo, ``__builtins__`` é um apelido para o dicionário do próprio " +"módulo :mod:`builtins`." -#: ../../reference/executionmodel.rst:188 +#: ../../reference/executionmodel.rst:200 msgid "Interaction with dynamic features" -msgstr "" +msgstr "Interação com recursos dinâmicos" -#: ../../reference/executionmodel.rst:190 +#: ../../reference/executionmodel.rst:202 msgid "" "Name resolution of free variables occurs at runtime, not at compile time. " "This means that the following code will print 42::" msgstr "" +"A resolução de nome de variáveis livres ocorre em tempo de execução, não em " +"tempo de compilação. Isso significa que o código a seguir imprimirá 42::" -#: ../../reference/executionmodel.rst:201 +#: ../../reference/executionmodel.rst:213 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 " @@ -289,12 +362,19 @@ msgid "" "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." -#: ../../reference/executionmodel.rst:212 +#: ../../reference/executionmodel.rst:224 msgid "Exceptions" msgstr "Exceções" -#: ../../reference/executionmodel.rst:223 +#: ../../reference/executionmodel.rst:235 msgid "" "Exceptions are a means of breaking out of the normal flow of control of a " "code block in order to handle errors or other exceptional conditions. An " @@ -302,8 +382,13 @@ msgid "" "*handled* by the surrounding code block or by any code block that directly " "or indirectly invoked the code block where the error occurred." msgstr "" +"As exceções são um meio de romper o fluxo normal de controle de um bloco de " +"código para tratar erros ou outras condições excepcionais. Uma exceção é " +"*levantada* no ponto em que o erro é detectado; ele pode ser *tratado* pelo " +"bloco de código circundante ou por qualquer bloco de código que invocou " +"direta ou indiretamente o bloco de código onde ocorreu o erro." -#: ../../reference/executionmodel.rst:229 +#: ../../reference/executionmodel.rst:241 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 " @@ -313,52 +398,80 @@ msgid "" "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." -#: ../../reference/executionmodel.rst:239 +#: ../../reference/executionmodel.rst:251 msgid "" "Python uses the \"termination\" model of error handling: an exception " "handler can find out what happened and continue execution at an outer level, " "but it cannot repair the cause of the error and retry the failing operation " "(except by re-entering the offending piece of code from the top)." msgstr "" +"Python usa o modelo de \"terminação\" da manipulação de erros: um " +"manipulador de exceção pode descobrir o que aconteceu e continuar a execução " +"em um nível externo, mas não pode reparar a causa do erro e tentar novamente " +"a operação com falha (exceto reinserindo a parte incorreta de código de " +"cima)." -#: ../../reference/executionmodel.rst:246 +#: ../../reference/executionmodel.rst:258 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`." 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 " +"exeibe um traceback (situação da pilha de execução), exceto quando a exceção " +"é :exc:`SystemExit`." -#: ../../reference/executionmodel.rst:250 +#: ../../reference/executionmodel.rst:262 msgid "" "Exceptions are identified by class instances. The :keyword:`except` clause " "is selected depending on the class of the instance: it must reference the " -"class of the instance or a base class thereof. The instance can be received " -"by the handler and can carry additional information about the exceptional " -"condition." +"class of the instance or a :term:`non-virtual base 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." -#: ../../reference/executionmodel.rst:257 +#: ../../reference/executionmodel.rst:270 msgid "" "Exception messages are not part of the Python API. Their contents may " "change from one version of Python to the next without warning and should not " "be relied on by code which will run under multiple versions of the " "interpreter." msgstr "" +"As mensagens de exceção não fazem parte da API do Python. Seu conteúdo pode " +"mudar de uma versão do Python para outra sem aviso e não deve ser invocado " +"pelo código que será executado em várias versões do interpretador." -#: ../../reference/executionmodel.rst:261 +#: ../../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`." 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`." -#: ../../reference/executionmodel.rst:266 +#: ../../reference/executionmodel.rst:279 msgid "Footnotes" msgstr "Notas de rodapé" -#: ../../reference/executionmodel.rst:267 +#: ../../reference/executionmodel.rst:280 msgid "" "This limitation occurs because the code that is executed by these operations " "is not available at the time the module is compiled." msgstr "" +"Essa limitação ocorre porque o código executado por essas operações não está " +"disponível no momento em que o módulo é compilado." diff --git a/reference/expressions.po b/reference/expressions.po index 542f1b834..28495ff09 100644 --- a/reference/expressions.po +++ b/reference/expressions.po @@ -1,31 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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 -# Danilo Lima , 2021 -# Rafael Fontenelle , 2021 -# Marco Rougeth , 2021 -# Claudio Rogerio Carvalho Filho , 2021 -# Misael borges , 2021 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.10\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-07-31 13:10+0000\n" -"PO-Revision-Date: 2021-06-28 01:49+0000\n" -"Last-Translator: Misael borges , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-11-01 17:13+0000\n" +"PO-Revision-Date: 2025-09-22 15:58+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../reference/expressions.rst:6 msgid "Expressions" @@ -154,6 +150,19 @@ msgid "" "implementation defined truncation may happen. If the class name consists " "only of underscores, no transformation is done." msgstr "" +"**Mangling de nome privado:** Quando um identificador que ocorre " +"textualmente em uma definição de classe começa com dois ou mais caracteres " +"de sublinhado e não termina em dois ou mais sublinhados, ele é considerado " +"um :dfn:`nome privado` dessa classe. Os nomes privados são transformados em " +"um formato mais longo antes que o código seja gerado para eles. A " +"transformação insere o nome da classe, com sublinhados à esquerda removidos " +"e um único sublinhado inserido na frente do nome. Por exemplo, o " +"identificador ``__spam`` que ocorre em uma classe chamada ``Ham`` será " +"transformado em ``_Ham__spam``. Essa transformação é independente do " +"contexto sintático em que o identificador é usado. Se o nome transformado " +"for extremamente longo (mais de 255 caracteres), poderá ocorrer truncamento " +"definido pela implementação. Se o nome da classe consistir apenas em " +"sublinhados, nenhuma transformação será feita." #: ../../reference/expressions.rst:102 msgid "Literals" @@ -162,6 +171,8 @@ msgstr "Literais" #: ../../reference/expressions.rst:106 msgid "Python supports string and bytes literals and various numeric literals:" msgstr "" +"Python oferece suporte a strings e bytes literais e vários literais " +"numéricos:" #: ../../reference/expressions.rst:112 msgid "" @@ -170,6 +181,10 @@ msgid "" "value may be approximated in the case of floating point and imaginary " "(complex) literals. See section :ref:`literals` for details." msgstr "" +"A avaliação de um literal produz um objeto do tipo fornecido (string, bytes, " +"inteiro, número de ponto flutuante, número complexo) com o valor fornecido. " +"O valor pode ser aproximado no caso de ponto flutuante e literais " +"imaginários (complexos). Veja a seção :ref:`literals` para detalhes." #: ../../reference/expressions.rst:121 msgid "" @@ -179,15 +194,22 @@ msgid "" "different occurrence) may obtain the same object or a different object with " "the same value." msgstr "" +"Todos os literais correspondem a tipos de dados imutáveis e, portanto, a " +"identidade do objeto é menos importante que seu valor. Múltiplas avaliações " +"de literais com o mesmo valor (seja a mesma ocorrência no texto do programa " +"ou uma ocorrência diferente) podem obter o mesmo objeto ou um objeto " +"diferente com o mesmo valor." #: ../../reference/expressions.rst:131 msgid "Parenthesized forms" -msgstr "" +msgstr "Formas de parênteses" #: ../../reference/expressions.rst:137 msgid "" "A parenthesized form is an optional expression list enclosed in parentheses:" msgstr "" +"Um forma entre parênteses é uma lista de expressões opcional entre " +"parênteses:" #: ../../reference/expressions.rst:142 msgid "" @@ -195,6 +217,10 @@ msgid "" "if the list contains at least one comma, it yields a tuple; otherwise, it " "yields the single expression that makes up the expression list." msgstr "" +"Uma lista de expressões entre parênteses produz tudo o que aquela lista de " +"expressões produz: se a lista contiver pelo menos uma vírgula, ela produzirá " +"uma tupla; caso contrário, produz a única expressão que compõe a lista de " +"expressões." #: ../../reference/expressions.rst:148 msgid "" @@ -202,6 +228,9 @@ 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 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 msgid "" @@ -213,27 +242,32 @@ msgstr "" #: ../../reference/expressions.rst:165 msgid "Displays for lists, sets and dictionaries" -msgstr "" +msgstr "Sintaxe de criação de listas, conjuntos e dicionários" #: ../../reference/expressions.rst:169 msgid "" "For constructing a list, a set or a dictionary Python provides special " "syntax called \"displays\", each of them in two flavors:" msgstr "" +"Para construir uma lista, um conjunto ou um dicionário, o Python fornece uma " +"sintaxe especial chamada \"sintaxes de criação\" (em inglês, *displays*), " +"cada uma delas em dois tipos:" #: ../../reference/expressions.rst:172 msgid "either the container contents are listed explicitly, or" -msgstr "" +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`." msgstr "" +"eles são calculados por meio de um conjunto de instruções de laço e " +"filtragem, chamado de :dfn:`compreensão`." #: ../../reference/expressions.rst:182 msgid "Common syntax elements for comprehensions are:" -msgstr "" +msgstr "Elementos de sintaxe comuns para compreensões são:" #: ../../reference/expressions.rst:190 msgid "" @@ -244,6 +278,13 @@ msgid "" "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." #: ../../reference/expressions.rst:197 msgid "" @@ -252,6 +293,10 @@ msgid "" "This ensures that names assigned to in the target list don't \"leak\" into " "the enclosing scope." msgstr "" +"No entanto, além da expressão iterável na cláusula :keyword:`!for` mais à " +"esquerda, a compreensão é executada em um escopo aninhado implicitamente " +"separado. Isso garante que os nomes atribuídos na lista de destino não " +"\"vazem\" para o escopo delimitador." #: ../../reference/expressions.rst:201 msgid "" @@ -262,6 +307,13 @@ msgid "" "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 "" +"A expressão iterável na cláusula :keyword:`!for` mais à esquerda é avaliada " +"diretamente no escopo envolvente e então passada como um argumento para o " +"escopo aninhado implicitamente. Cláusulas :keyword:`!for` subsequentes e " +"qualquer condição de filtro na cláusula :keyword:`!for` mais à esquerda não " +"podem ser avaliadas no escopo delimitador, pois podem depender dos valores " +"obtidos do iterável mais à esquerda. Por exemplo: ``[x*y for x in range(10) " +"for y in range(x, x+10)]``." #: ../../reference/expressions.rst:208 msgid "" @@ -269,6 +321,9 @@ msgid "" "type, ``yield`` and ``yield from`` expressions are prohibited in the " "implicitly nested scope." msgstr "" +"Para garantir que a compreensão sempre resulte em um contêiner do tipo " +"apropriado, as expressões ``yield`` e ``yield from`` são proibidas no escopo " +"aninhado implicitamente." #: ../../reference/expressions.rst:215 msgid "" @@ -286,21 +341,23 @@ msgstr "" #: ../../reference/expressions.rst:227 msgid "Asynchronous comprehensions were introduced." -msgstr "" +msgstr "Compreensões assíncronas foram introduzidas." #: ../../reference/expressions.rst:230 ../../reference/expressions.rst:403 msgid "``yield`` and ``yield from`` prohibited in the implicitly nested scope." -msgstr "" +msgstr "``yield`` e ``yield from`` proibidos no escopo aninhado implícito." #: ../../reference/expressions.rst:237 msgid "List displays" -msgstr "" +msgstr "Sintaxes de criação de lista" #: ../../reference/expressions.rst:247 msgid "" "A list display is a possibly empty series of expressions enclosed in square " "brackets:" msgstr "" +"Uma sintaxe de criação de lista é uma série possivelmente vazia de " +"expressões entre colchetes:" #: ../../reference/expressions.rst:253 msgid "" @@ -311,16 +368,25 @@ msgid "" "is supplied, the list is constructed from the elements resulting from the " "comprehension." msgstr "" +"Uma sintaxe de criação de lista produz um novo objeto de lista, sendo o " +"conteúdo especificado por uma lista de expressões ou uma compreensão. Quando " +"uma lista de expressões separadas por vírgulas é fornecida, seus elementos " +"são avaliados da esquerda para a direita e colocados no objeto de lista " +"nessa ordem. Quando uma compreensão é fornecida, a lista é construída a " +"partir dos elementos resultantes da compreensão." #: ../../reference/expressions.rst:263 msgid "Set displays" -msgstr "" +msgstr "Sintaxes de criação de conjunto" #: ../../reference/expressions.rst:272 msgid "" "A set display is denoted by curly braces and distinguishable from dictionary " "displays by the lack of colons separating keys and values:" msgstr "" +"Uma sintaxe de criação definida é denotada por chaves e distinguível de " +"sintaxes de criação de dicionário pela falta de caractere de dois pontos " +"separando chaves e valores:" #: ../../reference/expressions.rst:278 msgid "" @@ -331,16 +397,24 @@ msgid "" "supplied, the set is constructed from the elements resulting from the " "comprehension." msgstr "" +"Uma sintaxe de criação de conjunto produz um novo objeto de conjunto " +"mutável, sendo o conteúdo especificado por uma sequência de expressões ou " +"uma compreensão. Quando uma lista de expressões separadas por vírgula é " +"fornecida, seus elementos são avaliados da esquerda para a direita e " +"adicionados ao objeto definido. Quando uma compreensão é fornecida, o " +"conjunto é construído a partir dos elementos resultantes da compreensão." #: ../../reference/expressions.rst:284 msgid "" "An empty set cannot be constructed with ``{}``; this literal constructs an " "empty dictionary." msgstr "" +"Um conjunto vazio não pode ser construído com ``{}``; este literal constrói " +"um dicionário vazio." #: ../../reference/expressions.rst:291 msgid "Dictionary displays" -msgstr "" +msgstr "Sintaxes de criação de dicionário" #: ../../reference/expressions.rst:302 msgid "" @@ -350,7 +424,7 @@ msgstr "" #: ../../reference/expressions.rst:311 msgid "A dictionary display yields a new dictionary object." -msgstr "" +msgstr "Uma sintaxe de criação de dicionário produz um novo objeto dicionário." #: ../../reference/expressions.rst:313 msgid "" @@ -373,6 +447,8 @@ msgstr "" #: ../../reference/expressions.rst:328 msgid "Unpacking into dictionary displays, originally proposed by :pep:`448`." msgstr "" +"Desempacotando em sintaxes de criação de dicionário, originalmente proposto " +"pela :pep:`448`." #: ../../reference/expressions.rst:331 msgid "" @@ -381,6 +457,11 @@ msgid "" "clauses. When the comprehension is run, the resulting key and value elements " "are inserted in the new dictionary in the order they are produced." msgstr "" +"Uma compreensão de dict, em contraste com as compreensões de lista e " +"conjunto, precisa de duas expressões separadas por dois pontos, seguidas " +"pelas cláusulas usuais \"for\" e \"if\". Quando a compreensão é executada, " +"os elementos chave e valor resultantes são inseridos no novo dicionário na " +"ordem em que são produzidos." #: ../../reference/expressions.rst:339 msgid "" @@ -398,14 +479,19 @@ msgid "" "key. Starting with 3.8, the key is evaluated before the value, as proposed " "by :pep:`572`." msgstr "" +"Antes do Python 3.8, em compreensões de dict, a ordem de avaliação de chave " +"e valor não era bem definida. No CPython, o valor foi avaliado antes da " +"chave. A partir de 3.8, a chave é avaliada antes do valor, conforme proposto " +"pela :pep:`572`." #: ../../reference/expressions.rst:355 msgid "Generator expressions" -msgstr "" +msgstr "Expressões geradoras" #: ../../reference/expressions.rst:362 msgid "A generator expression is a compact generator notation in parentheses:" msgstr "" +"Uma expressão geradora é uma notação geradora compacta entre parênteses:" #: ../../reference/expressions.rst:367 msgid "" @@ -413,6 +499,9 @@ msgid "" "same as for comprehensions, except that it is enclosed in parentheses " "instead of brackets or curly braces." msgstr "" +"Uma expressão geradora produz um novo objeto gerador. Sua sintaxe é a mesma " +"das compreensões, exceto pelo fato de estar entre parênteses em vez de " +"colchetes ou chaves." #: ../../reference/expressions.rst:371 msgid "" @@ -427,12 +516,24 @@ msgid "" "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 " +"forma que os geradores normais). No entanto, a expressão iterável na " +"cláusula :keyword:`!for` mais à esquerda é avaliada imediatamente, de modo " +"que um erro produzido por ela será emitido no ponto em que a expressão do " +"gerador é definida, em vez de no ponto em que o primeiro valor é recuperado. " +"Cláusulas :keyword:`!for` subsequentes e qualquer condição de filtro na " +"cláusula :keyword:`!for` mais à esquerda não podem ser avaliadas no escopo " +"delimitador, pois podem depender dos valores obtidos do iterável mais à " +"esquerda. Por exemplo: ``(x*y for x in range(10) for y in range(x, x+10))``." #: ../../reference/expressions.rst:382 msgid "" "The parentheses can be omitted on calls with only one argument. See " "section :ref:`calls` for details." msgstr "" +"Os parênteses podem ser omitidos em chamadas com apenas um argumento. Veja a " +"seção :ref:`calls` para detalhes." #: ../../reference/expressions.rst:385 msgid "" @@ -440,6 +541,9 @@ msgid "" "itself, ``yield`` and ``yield from`` expressions are prohibited in the " "implicitly defined generator." msgstr "" +"Para evitar interferir com a operação esperada da própria expressão " +"geradora, as expressões ``yield`` e ``yield from`` são proibidas no gerador " +"definido implicitamente." #: ../../reference/expressions.rst:389 msgid "" @@ -449,10 +553,15 @@ msgid "" "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 " +"assíncrona`. Uma expressão geradora assíncrona retorna um novo objeto " +"gerador assíncrono, que é um iterador assíncrono (consulte :ref:`async-" +"iterators`)." #: ../../reference/expressions.rst:395 msgid "Asynchronous generator expressions were introduced." -msgstr "" +msgstr "Expressões geradoras assíncronas foram introduzidas." #: ../../reference/expressions.rst:398 msgid "" @@ -460,20 +569,29 @@ msgid "" "in :keyword:`async def` coroutines. Starting with 3.7, any function can use " "asynchronous generator expressions." msgstr "" +"Antes do Python 3.7, as expressões geradoras assíncronas só podiam aparecer " +"em corrotinas :keyword:`async def`. A partir da versão 3.7, qualquer função " +"pode usar expressões geradoras assíncronas." #: ../../reference/expressions.rst:410 msgid "Yield expressions" -msgstr "" +msgstr "Expressões yield" #: ../../reference/expressions.rst:422 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, and using it in an :keyword:" -"`async def` function's body causes that coroutine function to be an " -"asynchronous generator. 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:`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:435 msgid "" @@ -481,12 +599,17 @@ msgid "" "not permitted as part of the implicitly defined scopes used to implement " "comprehensions and generator expressions." msgstr "" +"Devido a seus efeitos colaterais no escopo recipiente, as expressões " +"``yield`` não são permitidas como parte dos escopos definidos implicitamente " +"usados para implementar compreensões e expressões geradoras." #: ../../reference/expressions.rst:439 msgid "" "Yield expressions prohibited in the implicitly nested scopes used to " "implement comprehensions and generator expressions." msgstr "" +"Expressões yield proibidas nos escopos aninhados implicitamente usados para " +"implementar compreensões e expressões geradoras." #: ../../reference/expressions.rst:443 msgid "" @@ -494,28 +617,48 @@ msgid "" "functions are described separately in section :ref:`asynchronous-generator-" "functions`." msgstr "" +"As funções geradoras são descritas abaixo, enquanto as funções geradoras " +"assíncronas são descritas separadamente na seção :ref:`asynchronous-" +"generator-functions`" #: ../../reference/expressions.rst:447 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:`expression_list` " -"to the generator's caller. 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 "" - -#: ../../reference/expressions.rst:466 +"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." +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 " +"execução começa quando um dos métodos do gerador é chamado. Nesse momento, a " +"execução segue para a primeira expressão yield, onde é suspensa novamente, " +"retornando o valor de :token:`~python-grammar:expression_list` ao chamador " +"do gerador, ou ``None`` se :token:`~python-grammar:expression_list` é " +"omitido. Por suspenso, queremos dizer que todo o estado local é retido, " +"incluindo as chamadas atuais de variáveis locais, o ponteiro de instrução, a " +"pilha de avaliação interna e o estado de qualquer tratamento de exceção. " +"Quando a execução é retomada chamando um dos métodos do gerador, a função " +"pode prosseguir exatamente como se a expressão yield 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:`~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." + +#: ../../reference/expressions.rst:467 msgid "" "All of this makes generator functions quite similar to coroutines; they " "yield multiple times, they have more than one entry point and their " @@ -523,8 +666,13 @@ msgid "" "function cannot control where the execution should continue after it yields; " "the control is always transferred to the generator's caller." msgstr "" +"Tudo isso torna as funções geradoras bastante semelhantes às corrotinas; " +"cedem múltiplas vezes, possuem mais de um ponto de entrada e sua execução " +"pode ser suspensa. A única diferença é que uma função geradora não pode " +"controlar onde a execução deve continuar após o seu rendimento; o controle é " +"sempre transferido para o chamador do gerador." -#: ../../reference/expressions.rst:472 +#: ../../reference/expressions.rst:473 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 " @@ -532,8 +680,13 @@ msgid "" "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." -#: ../../reference/expressions.rst:481 +#: ../../reference/expressions.rst:482 msgid "" "When ``yield from `` is used, the supplied expression must be an " "iterable. The values produced by iterating that iterable are passed directly " @@ -544,8 +697,16 @@ msgid "" "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." -#: ../../reference/expressions.rst:490 +#: ../../reference/expressions.rst:491 msgid "" "When the underlying iterator is complete, the :attr:`~StopIteration.value` " "attribute of the raised :exc:`StopIteration` instance becomes the value of " @@ -553,92 +714,122 @@ msgid "" "`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)." -#: ../../reference/expressions.rst:496 +#: ../../reference/expressions.rst:497 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:499 +#: ../../reference/expressions.rst:500 msgid "" "The parentheses may be omitted when the yield expression is the sole " "expression on the right hand side of an assignment statement." 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:505 +#: ../../reference/expressions.rst:506 msgid ":pep:`255` - Simple Generators" -msgstr "" +msgstr ":pep:`255` - Simple Generators" -#: ../../reference/expressions.rst:505 +#: ../../reference/expressions.rst:506 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:509 +#: ../../reference/expressions.rst:510 msgid ":pep:`342` - Coroutines via Enhanced Generators" -msgstr "" +msgstr ":pep:`342` - Corrotinas via Geradores Aprimorados" -#: ../../reference/expressions.rst:508 +#: ../../reference/expressions.rst:509 msgid "" "The proposal to enhance the API and syntax of generators, making them usable " "as simple coroutines." msgstr "" +"A proposta de aprimorar a API e a sintaxe dos geradores, tornando-os " +"utilizáveis como simples corrotinas." -#: ../../reference/expressions.rst:513 +#: ../../reference/expressions.rst:514 msgid ":pep:`380` - Syntax for Delegating to a Subgenerator" -msgstr "" +msgstr ":pep:`380` - Sintaxe para Delegar a um Subgerador" -#: ../../reference/expressions.rst:512 +#: ../../reference/expressions.rst:513 msgid "" -"The proposal to introduce the :token:`yield_from` syntax, making delegation " -"to subgenerators easy." +"The proposal to introduce the :token:`~python-grammar:yield_from` syntax, " +"making delegation to subgenerators easy." msgstr "" +"A proposta de introduzir a sintaxe :token:`~python-grammar:yield_from`, " +"facilitando a delegação a subgeradores." -#: ../../reference/expressions.rst:516 +#: ../../reference/expressions.rst:517 msgid ":pep:`525` - Asynchronous Generators" -msgstr "" +msgstr ":pep:`525` - Geradores assíncronos" -#: ../../reference/expressions.rst:516 +#: ../../reference/expressions.rst:517 msgid "" "The proposal that expanded on :pep:`492` by adding generator capabilities to " "coroutine functions." msgstr "" +"A proposta que se expandiu em :pep:`492` adicionando recursos de gerador a " +"funções de corrotina." -#: ../../reference/expressions.rst:523 +#: ../../reference/expressions.rst:524 msgid "Generator-iterator methods" -msgstr "" +msgstr "Métodos de iterador gerador" -#: ../../reference/expressions.rst:525 +#: ../../reference/expressions.rst:526 msgid "" "This subsection describes the methods of a generator iterator. They can be " "used to control the execution of a generator function." 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:528 +#: ../../reference/expressions.rst:529 msgid "" "Note that calling any of the generator methods below when the generator is " "already executing raises a :exc:`ValueError` exception." 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:536 +#: ../../reference/expressions.rst:537 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 " "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:`expression_list` is returned to :meth:`__next__`'s caller. If the " -"generator exits without yielding another value, a :exc:`StopIteration` " -"exception is raised." +"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." -#: ../../reference/expressions.rst:545 +#: ../../reference/expressions.rst:546 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`." -#: ../../reference/expressions.rst:551 +#: ../../reference/expressions.rst:552 msgid "" "Resumes the execution and \"sends\" a value into the generator function. " "The *value* argument becomes the result of the current yield expression. " @@ -648,19 +839,56 @@ msgid "" "called with :const:`None` as the argument, because there is no yield " "expression that could receive the value." msgstr "" +"Retoma a execução e \"envia\" um valor para a função geradora. O argumento " +"*value* torna-se o resultado da expressão yield atual. O método :meth:`send` " +"retorna o próximo valor gerado pelo gerador, ou levanta :exc:`StopIteration` " +"se o gerador sair sem produzir outro valor. Quando :meth:`send` é chamado " +"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:562 +#: ../../reference/expressions.rst:564 msgid "" -"Raises an exception of type ``type`` at the point where the generator was " -"paused, and returns the next value yielded by the generator function. If " -"the generator exits without yielding another value, a :exc:`StopIteration` " -"exception is raised. If the generator function does not catch the passed-in " -"exception, or raises a different exception, then that exception propagates " -"to the caller." +"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 " +"without yielding another value, a :exc:`StopIteration` exception is raised. " +"If the generator function does not catch the passed-in exception, or raises " +"a different exception, then that exception propagates to the caller." msgstr "" +"Levanta uma exceção no ponto em que o gerador foi pausado e retorna o " +"próximo valor gerado pela função geradora. Se o gerador sair sem gerar outro " +"valor, uma exceção :exc:`StopIteration` será levantada. Se a função geradora " +"não detectar a exceção passada ou levanta uma exceção diferente, essa " +"exceção se propagará para o chamador." + +#: ../../reference/expressions.rst:570 +msgid "" +"In typical use, this is called with a single exception instance similar to " +"the way the :keyword:`raise` keyword is used." +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:573 msgid "" +"For backwards compatibility, however, the second signature is supported, " +"following a convention from older versions of Python. The *type* argument " +"should be an exception class, and *value* should be an exception instance. " +"If the *value* is not provided, the *type* constructor is called to get an " +"instance. If *traceback* is provided, it is set on the exception, otherwise " +"any existing :attr:`~BaseException.__traceback__` attribute stored in " +"*value* may be cleared." +msgstr "" +"Para compatibilidade com versões anteriores, no entanto, a segunda " +"assinatura é suportada, seguindo uma convenção de versões mais antigas do " +"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." + +#: ../../reference/expressions.rst:587 +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 " @@ -669,35 +897,49 @@ msgid "" "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:584 +#: ../../reference/expressions.rst:598 msgid "Examples" msgstr "Exemplos" -#: ../../reference/expressions.rst:586 +#: ../../reference/expressions.rst:600 msgid "" "Here is a simple example that demonstrates the behavior of generators and " "generator functions::" msgstr "" +"Aqui está um exemplo simples que demonstra o comportamento de geradores e " +"funções geradoras::" -#: ../../reference/expressions.rst:613 +#: ../../reference/expressions.rst:627 msgid "" "For examples using ``yield from``, see :ref:`pep-380` in \"What's New in " "Python.\"" msgstr "" +"Para exemplos usando ``yield from``, consulte a :ref:`pep-380` em \"O que há " +"de novo no Python.\"" -#: ../../reference/expressions.rst:619 +#: ../../reference/expressions.rst:633 msgid "Asynchronous generator functions" msgstr "Funções geradoras assíncronas" -#: ../../reference/expressions.rst:621 +#: ../../reference/expressions.rst:635 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." 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:625 +#: ../../reference/expressions.rst:639 msgid "" "When an asynchronous generator function is called, it returns an " "asynchronous iterator known as an asynchronous generator object. That object " @@ -706,26 +948,48 @@ msgid "" "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:632 +#: ../../reference/expressions.rst:646 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:`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." +"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:648 +"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:661 msgid "" "If an asynchronous generator happens to exit early by :keyword:`break`, the " "caller task being cancelled, or other exceptions, the generator's async " @@ -736,8 +1000,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:658 +#: ../../reference/expressions.rst:671 msgid "" "In an asynchronous generator function, yield expressions are allowed " "anywhere in a :keyword:`try` construct. However, if an asynchronous " @@ -750,8 +1024,18 @@ 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:669 +#: ../../reference/expressions.rst:682 msgid "" "To take care of finalization upon event loop termination, an event loop " "should define a *finalizer* function which takes an asynchronous generator-" @@ -763,43 +1047,68 @@ msgid "" "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:678 +#: ../../reference/expressions.rst:691 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:685 +#: ../../reference/expressions.rst:698 msgid "Asynchronous generator-iterator methods" -msgstr "" +msgstr "Métodos geradores-iteradores assíncronos" -#: ../../reference/expressions.rst:687 +#: ../../reference/expressions.rst:700 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:695 +#: ../../reference/expressions.rst:708 msgid "" "Returns an awaitable which when run starts to execute the asynchronous " "generator or resumes it at the last executed yield expression. When an " "asynchronous generator function is resumed with an :meth:`~agen.__anext__` " "method, the current yield expression always evaluates to :const:`None` in " "the returned awaitable, which when run will continue to the next yield " -"expression. The value of the :token:`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:707 +"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 "" +"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:720 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:712 +#: ../../reference/expressions.rst:725 msgid "" "Returns an awaitable which when run resumes the execution of the " "asynchronous generator. As with the :meth:`~generator.send()` method for a " @@ -813,8 +1122,18 @@ msgid "" "`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:727 +#: ../../reference/expressions.rst:741 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 " @@ -825,8 +1144,16 @@ msgid "" "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:742 +#: ../../reference/expressions.rst:756 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 " @@ -841,26 +1168,42 @@ 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:758 +#: ../../reference/expressions.rst:772 msgid "Primaries" -msgstr "" +msgstr "Primárias" -#: ../../reference/expressions.rst:762 +#: ../../reference/expressions.rst:776 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:772 +#: ../../reference/expressions.rst:786 msgid "Attribute references" -msgstr "" +msgstr "Referências de atributo" -#: ../../reference/expressions.rst:778 +#: ../../reference/expressions.rst:792 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:788 +#: ../../reference/expressions.rst:802 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 " @@ -871,82 +1214,130 @@ msgid "" "evaluations of the same attribute reference may yield different objects." msgstr "" -#: ../../reference/expressions.rst:800 +#: ../../reference/expressions.rst:814 msgid "Subscriptions" +msgstr "Subscrições" + +#: ../../reference/expressions.rst:829 +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." 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:815 +#: ../../reference/expressions.rst:837 msgid "" -"Subscription of a sequence (string, tuple or list) or mapping (dictionary) " -"object usually selects an item from the collection:" +"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:821 +#: ../../reference/expressions.rst:840 msgid "" -"The primary must evaluate to an object that supports subscription (lists or " -"dictionaries for example). User-defined objects can support subscription by " -"defining a :meth:`__getitem__` method." +"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 "" +"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:825 +#: ../../reference/expressions.rst:847 msgid "" -"For built-in objects, there are two types of objects that support " -"subscription:" +"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:827 +#: ../../reference/expressions.rst:851 msgid "" -"If the primary is a 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. (The expression list " -"is a tuple except if it has exactly one item.)" +"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:832 +#: ../../reference/expressions.rst:854 msgid "" -"If the primary is a sequence, the expression list must evaluate to an " -"integer or a slice (as discussed in the following section)." +"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:835 +#: ../../reference/expressions.rst:858 msgid "" -"The formal syntax makes no special provision for negative indices in " -"sequences; however, built-in sequences all provide a :meth:`__getitem__` " -"method that interprets negative indices by adding the length of the sequence " -"to the index (so that ``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." +"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 "" +"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:849 +#: ../../reference/expressions.rst:863 msgid "" -"A string's items are characters. A character is not a separate data type " -"but a string of exactly one character." +"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:852 +#: ../../reference/expressions.rst:877 msgid "" -"Subscription of certain :term:`classes ` or :term:`types ` " -"creates a :ref:`generic alias `. In this case, user-" -"defined classes can support subscription by providing a :meth:" -"`__class_getitem__` classmethod." +"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:861 +#: ../../reference/expressions.rst:885 msgid "Slicings" -msgstr "" +msgstr "Fatiamentos" -#: ../../reference/expressions.rst:875 +#: ../../reference/expressions.rst:899 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:888 +#: ../../reference/expressions.rst:912 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 " @@ -955,8 +1346,15 @@ 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:900 +#: ../../reference/expressions.rst:924 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 " @@ -971,23 +1369,28 @@ msgid "" "expressions." msgstr "" -#: ../../reference/expressions.rst:924 +#: ../../reference/expressions.rst:948 msgid "Calls" -msgstr "" +msgstr "Chamadas" -#: ../../reference/expressions.rst:926 +#: ../../reference/expressions.rst:950 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:943 +#: ../../reference/expressions.rst:967 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:949 +#: ../../reference/expressions.rst:973 msgid "" "The primary must evaluate to a callable object (user-defined functions, " "built-in functions, methods of built-in objects, class objects, methods of " @@ -997,7 +1400,7 @@ msgid "" "formal :term:`parameter` lists." msgstr "" -#: ../../reference/expressions.rst:957 +#: ../../reference/expressions.rst:981 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 " @@ -1019,7 +1422,7 @@ msgid "" "call." msgstr "" -#: ../../reference/expressions.rst:977 +#: ../../reference/expressions.rst:1001 msgid "" "An implementation may provide built-in functions whose positional parameters " "do not have names, even if they are 'named' for the purpose of " @@ -1027,8 +1430,13 @@ msgid "" "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:983 +#: ../../reference/expressions.rst:1007 msgid "" "If there are more positional arguments than there are formal parameter " "slots, a :exc:`TypeError` exception is raised, unless a formal parameter " @@ -1036,8 +1444,13 @@ 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:989 +#: ../../reference/expressions.rst:1013 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 " @@ -1046,8 +1459,15 @@ msgid "" "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:1000 +#: ../../reference/expressions.rst:1024 msgid "" "If the syntax ``*expression`` appears in the function call, ``expression`` " "must evaluate to an :term:`iterable`. Elements from these iterables are " @@ -1056,58 +1476,103 @@ 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:1007 +#: ../../reference/expressions.rst:1031 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:1023 +#: ../../reference/expressions.rst:1047 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 arise." msgstr "" -#: ../../reference/expressions.rst:1029 +#: ../../reference/expressions.rst:1053 msgid "" "If the syntax ``**expression`` appears in the function call, ``expression`` " "must evaluate to a :term:`mapping`, the contents of which are treated as " -"additional keyword arguments. If a keyword is already present (as an " -"explicit keyword argument, or from another unpacking), a :exc:`TypeError` " -"exception is raised." -msgstr "" - -#: ../../reference/expressions.rst:1035 +"additional keyword arguments. If a parameter matching a key has already been " +"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:1059 +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 " +"eligible for keyword assignment whose name is equal to the key. A key need " +"not be a Python identifier (e.g. ``\"max-temp °F\"`` is acceptable, although " +"it will not match any formal parameter that could be declared). If there is " +"no match to a formal parameter the key-value pair is collected by the ``**`` " +"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:1069 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:1038 +#: ../../reference/expressions.rst:1072 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:1044 +#: ../../reference/expressions.rst:1078 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:1048 +#: ../../reference/expressions.rst:1082 msgid "If it is---" -msgstr "" +msgstr "Se for..." -#: ../../reference/expressions.rst:1061 +#: ../../reference/expressions.rst:1095 msgid "a user-defined function:" -msgstr "" +msgstr "uma função definida por usuário:" -#: ../../reference/expressions.rst:1057 +#: ../../reference/expressions.rst:1091 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 " @@ -1115,149 +1580,195 @@ 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:1075 +#: ../../reference/expressions.rst:1109 msgid "a built-in function or method:" -msgstr "" +msgstr "um método embutido ou uma função embutida:" -#: ../../reference/expressions.rst:1074 +#: ../../reference/expressions.rst:1108 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:1082 +#: ../../reference/expressions.rst:1116 msgid "a class object:" msgstr "um objeto classe:" -#: ../../reference/expressions.rst:1082 +#: ../../reference/expressions.rst:1116 msgid "A new instance of that class is returned." -msgstr "" +msgstr "Uma nova instância dessa classe é retornada." -#: ../../reference/expressions.rst:1092 +#: ../../reference/expressions.rst:1126 msgid "a class instance method:" -msgstr "" +msgstr "um método de instância de classe:" -#: ../../reference/expressions.rst:1090 +#: ../../reference/expressions.rst:1124 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:1101 +#: ../../reference/expressions.rst:1135 msgid "a class instance:" -msgstr "" +msgstr "uma instância de classe:" -#: ../../reference/expressions.rst:1099 +#: ../../reference/expressions.rst:1133 msgid "" "The class must define a :meth:`__call__` method; the effect is then the same " "as if that method was called." msgstr "" -#: ../../reference/expressions.rst:1107 ../../reference/expressions.rst:1872 +#: ../../reference/expressions.rst:1141 ../../reference/expressions.rst:1920 msgid "Await expression" -msgstr "" +msgstr "Expressão await" -#: ../../reference/expressions.rst:1109 +#: ../../reference/expressions.rst:1143 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:1121 +#: ../../reference/expressions.rst:1155 msgid "The power operator" -msgstr "" +msgstr "O operador de potência" -#: ../../reference/expressions.rst:1127 +#: ../../reference/expressions.rst:1161 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:1133 +#: ../../reference/expressions.rst:1167 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:1137 +#: ../../reference/expressions.rst:1171 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:1142 +#: ../../reference/expressions.rst:1176 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:1147 +#: ../../reference/expressions.rst:1181 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`.)" 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:1151 +#: ../../reference/expressions.rst:1185 msgid "" "This operation can be customized using the special :meth:`__pow__` method." msgstr "" -#: ../../reference/expressions.rst:1156 +#: ../../reference/expressions.rst:1190 msgid "Unary arithmetic and bitwise operations" -msgstr "" +msgstr "Operações aritméticas unárias e bit a bit" -#: ../../reference/expressions.rst:1162 +#: ../../reference/expressions.rst:1196 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:1173 +#: ../../reference/expressions.rst:1207 msgid "" "The unary ``-`` (minus) operator yields the negation of its numeric " "argument; the operation can be overridden with the :meth:`__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:`__neg__`." -#: ../../reference/expressions.rst:1181 +#: ../../reference/expressions.rst:1215 msgid "" "The unary ``+`` (plus) operator yields its numeric argument unchanged; the " "operation can be overridden with the :meth:`__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:`__pos__`." -#: ../../reference/expressions.rst:1188 +#: ../../reference/expressions.rst:1222 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." 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:`__invert__`." -#: ../../reference/expressions.rst:1197 +#: ../../reference/expressions.rst:1231 msgid "" "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:1204 +#: ../../reference/expressions.rst:1238 msgid "Binary arithmetic operations" -msgstr "" +msgstr "Operações binárias aritméticas" -#: ../../reference/expressions.rst:1208 +#: ../../reference/expressions.rst:1242 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:1223 +#: ../../reference/expressions.rst:1257 msgid "" "The ``*`` (multiplication) operator yields the product of its arguments. " "The arguments must either both be numbers, or one argument must be an " @@ -1266,20 +1777,28 @@ 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:1229 +#: ../../reference/expressions.rst:1263 msgid "" "This operation can be customized using the special :meth:`__mul__` and :meth:" "`__rmul__` methods." msgstr "" -#: ../../reference/expressions.rst:1236 +#: ../../reference/expressions.rst:1270 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:1247 +#: ../../reference/expressions.rst:1281 msgid "" "The ``/`` (division) and ``//`` (floor division) operators yield the " "quotient of their arguments. The numeric arguments are first converted to a " @@ -1288,14 +1807,20 @@ 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:1254 +#: ../../reference/expressions.rst:1288 msgid "" -"This operation can be customized using the special :meth:`__div__` and :meth:" -"`__floordiv__` methods." +"This operation can be customized using the special :meth:`__truediv__` and :" +"meth:`__floordiv__` methods." msgstr "" -#: ../../reference/expressions.rst:1261 +#: ../../reference/expressions.rst:1295 msgid "" "The ``%`` (modulo) operator yields the remainder from the division of the " "first argument by the second. The numeric arguments are first converted to " @@ -1306,16 +1831,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:1270 +#: ../../reference/expressions.rst:1304 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:1275 +#: ../../reference/expressions.rst:1309 msgid "" "In addition to performing the modulo operation on numbers, the ``%`` " "operator is also overloaded by string objects to perform old-style string " @@ -1323,154 +1860,206 @@ 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:1280 +#: ../../reference/expressions.rst:1314 msgid "" "The *modulo* operation can be customized using the special :meth:`__mod__` " "method." msgstr "" -#: ../../reference/expressions.rst:1282 +#: ../../reference/expressions.rst:1316 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:1291 +#: ../../reference/expressions.rst:1325 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:1296 +#: ../../reference/expressions.rst:1330 msgid "" "This operation can be customized using the special :meth:`__add__` and :meth:" "`__radd__` methods." msgstr "" -#: ../../reference/expressions.rst:1304 +#: ../../reference/expressions.rst:1338 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:1307 +#: ../../reference/expressions.rst:1341 msgid "" "This operation can be customized using the special :meth:`__sub__` method." msgstr "" -#: ../../reference/expressions.rst:1313 +#: ../../reference/expressions.rst:1347 msgid "Shifting operations" -msgstr "" +msgstr "Operações de deslocamento" -#: ../../reference/expressions.rst:1320 +#: ../../reference/expressions.rst:1354 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:1325 +#: ../../reference/expressions.rst:1359 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:1328 +#: ../../reference/expressions.rst:1362 msgid "" "This operation can be customized using the special :meth:`__lshift__` and :" "meth:`__rshift__` methods." msgstr "" -#: ../../reference/expressions.rst:1333 +#: ../../reference/expressions.rst:1367 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 de *n* bits é definido como a divisão pelo " +"piso por ``pow(2,n)``. Um deslocamento à esquerda de *n* bits é definido " +"como a multiplicação por ``pow(2,n)``." -#: ../../reference/expressions.rst:1340 +#: ../../reference/expressions.rst:1374 msgid "Binary bitwise operations" -msgstr "" +msgstr "Operações binárias bit a bit" -#: ../../reference/expressions.rst:1344 +#: ../../reference/expressions.rst:1378 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:1355 +#: ../../reference/expressions.rst:1389 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." msgstr "" +"O operador ``&`` produz o E bit a bit de seus argumentos, que devem ser " +"inteiros ou um deles deve ser um objeto personalizado substituindo os " +"métodos especiais :meth:`__and__` ou :meth:`__rand__`." -#: ../../reference/expressions.rst:1364 +#: ../../reference/expressions.rst:1398 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." 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:`__xor__` ou :meth:`__rxor__`." -#: ../../reference/expressions.rst:1373 +#: ../../reference/expressions.rst:1407 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." msgstr "" +"O operador ``|`` produz o OU bit a bit (inclusivo) de seus argumentos, que " +"devem ser números inteiros ou um deles deve ser um objeto personalizado " +"sobrescrevendo os métodos especiais :meth:`__or__` ou :meth:`__ror__`." -#: ../../reference/expressions.rst:1381 +#: ../../reference/expressions.rst:1415 msgid "Comparisons" msgstr "Comparações" -#: ../../reference/expressions.rst:1393 +#: ../../reference/expressions.rst:1427 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:1403 +#: ../../reference/expressions.rst:1437 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:1409 +#: ../../reference/expressions.rst:1443 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:1413 +#: ../../reference/expressions.rst:1447 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:1418 +#: ../../reference/expressions.rst:1452 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:1423 +#: ../../reference/expressions.rst:1457 msgid "Value comparisons" -msgstr "" +msgstr "Comparações de valor" -#: ../../reference/expressions.rst:1425 +#: ../../reference/expressions.rst:1459 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:1428 +#: ../../reference/expressions.rst:1462 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 " @@ -1481,8 +2070,17 @@ 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:1437 +#: ../../reference/expressions.rst:1471 msgid "" "Because all types are (direct or indirect) subtypes of :class:`object`, they " "inherit the default comparison behavior from :class:`object`. Types can " @@ -1490,7 +2088,7 @@ msgid "" "methods` like :meth:`__lt__`, described in :ref:`customization`." msgstr "" -#: ../../reference/expressions.rst:1443 +#: ../../reference/expressions.rst:1477 msgid "" "The default behavior for equality comparison (``==`` and ``!=``) is based on " "the identity of the objects. Hence, equality comparison of instances with " @@ -1499,15 +2097,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:1450 +#: ../../reference/expressions.rst:1484 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:1454 +#: ../../reference/expressions.rst:1488 msgid "" "The behavior of the default equality comparison, that instances with " "different identities are always unequal, may be in contrast to what types " @@ -1515,14 +2122,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:1460 +#: ../../reference/expressions.rst:1494 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:1463 +#: ../../reference/expressions.rst:1497 msgid "" "Numbers of built-in numeric types (:ref:`typesnumeric`) and of the standard " "library types :class:`fractions.Fraction` and :class:`decimal.Decimal` can " @@ -1531,8 +2145,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:1470 +#: ../../reference/expressions.rst:1504 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 " @@ -1541,33 +2161,45 @@ 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:1477 +#: ../../reference/expressions.rst:1511 msgid "" "``None`` and ``NotImplemented`` are singletons. :PEP:`8` advises that " "comparisons for singletons should always be done with ``is`` or ``is not``, " "never the equality operators." msgstr "" -#: ../../reference/expressions.rst:1481 +#: ../../reference/expressions.rst:1515 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:1485 +#: ../../reference/expressions.rst:1519 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. [#]_" 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:1489 +#: ../../reference/expressions.rst:1523 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:1491 +#: ../../reference/expressions.rst:1525 msgid "" "Sequences (instances of :class:`tuple`, :class:`list`, or :class:`range`) " "can be compared only within each of their types, with the restriction that " @@ -1575,28 +2207,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:1497 +#: ../../reference/expressions.rst:1531 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:1502 +#: ../../reference/expressions.rst:1536 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:1504 +#: ../../reference/expressions.rst:1538 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:1509 +#: ../../reference/expressions.rst:1543 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 " @@ -1604,26 +2252,38 @@ 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:1515 +#: ../../reference/expressions.rst:1549 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 " +"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:1519 +#: ../../reference/expressions.rst:1553 msgid "" "Order comparisons (``<``, ``>``, ``<=``, and ``>=``) raise :exc:`TypeError`." msgstr "" +"Comparações de ordem (``<``, ``>``, ``<=`` e ``>=``) levantam :exc:" +"`TypeError`." -#: ../../reference/expressions.rst:1521 +#: ../../reference/expressions.rst:1555 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:1524 +#: ../../reference/expressions.rst:1558 msgid "" "They define order comparison operators to mean subset and superset tests. " "Those relations do not define total orderings (for example, the two sets " @@ -1633,111 +2293,137 @@ msgid "" "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:1532 +#: ../../reference/expressions.rst:1566 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:1534 +#: ../../reference/expressions.rst:1568 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:1537 +#: ../../reference/expressions.rst:1571 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:1540 +#: ../../reference/expressions.rst:1574 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:1543 +#: ../../reference/expressions.rst:1577 msgid "``x is y`` implies ``x == y``" -msgstr "" +msgstr "``x is y`` implica em ``x == y``" -#: ../../reference/expressions.rst:1545 +#: ../../reference/expressions.rst:1579 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:1548 +#: ../../reference/expressions.rst:1582 msgid "``x == y`` and ``y == x``" -msgstr "" +msgstr "``x == y`` e ``y == x``" -#: ../../reference/expressions.rst:1550 +#: ../../reference/expressions.rst:1584 msgid "``x != y`` and ``y != x``" -msgstr "" +msgstr "``x != y`` e ``y != x``" -#: ../../reference/expressions.rst:1552 +#: ../../reference/expressions.rst:1586 msgid "``x < y`` and ``y > x``" -msgstr "" +msgstr "``x < y`` e ``y > x``" -#: ../../reference/expressions.rst:1554 +#: ../../reference/expressions.rst:1588 msgid "``x <= y`` and ``y >= x``" -msgstr "" +msgstr "``x <= y`` e ``y >= x``" -#: ../../reference/expressions.rst:1556 +#: ../../reference/expressions.rst:1590 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:1559 +#: ../../reference/expressions.rst:1593 msgid "``x > y and y > z`` implies ``x > z``" -msgstr "" +msgstr "``x > y and y > z`` implica em ``x > z``" -#: ../../reference/expressions.rst:1561 +#: ../../reference/expressions.rst:1595 msgid "``x < y and y <= z`` implies ``x < z``" -msgstr "" +msgstr "``x < y and y <= z`` implica em ``x < z``" -#: ../../reference/expressions.rst:1563 +#: ../../reference/expressions.rst:1597 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:1566 +#: ../../reference/expressions.rst:1600 msgid "``x == y`` and ``not x != y``" -msgstr "" +msgstr "``x == y`` e ``not x != y``" -#: ../../reference/expressions.rst:1568 +#: ../../reference/expressions.rst:1602 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:1570 +#: ../../reference/expressions.rst:1604 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:1572 +#: ../../reference/expressions.rst:1606 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." 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:1576 +#: ../../reference/expressions.rst:1610 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:1580 +#: ../../reference/expressions.rst:1614 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:1589 +#: ../../reference/expressions.rst:1623 msgid "Membership test operations" -msgstr "" +msgstr "Operações de teste de pertinência" -#: ../../reference/expressions.rst:1591 +#: ../../reference/expressions.rst:1625 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`` " @@ -1747,23 +2433,35 @@ msgid "" "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:1599 +#: ../../reference/expressions.rst:1633 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``." +"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:1604 +#: ../../reference/expressions.rst:1638 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." msgstr "" -#: ../../reference/expressions.rst:1608 +#: ../../reference/expressions.rst:1642 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 " @@ -1772,7 +2470,7 @@ msgid "" "as if :keyword:`in` raised that exception." msgstr "" -#: ../../reference/expressions.rst:1614 +#: ../../reference/expressions.rst:1648 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 " @@ -1781,29 +2479,35 @@ msgid "" "raised, it is as if :keyword:`in` raised that exception)." msgstr "" -#: ../../reference/expressions.rst:1626 +#: ../../reference/expressions.rst:1660 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:1639 +#: ../../reference/expressions.rst:1673 msgid "Identity comparisons" -msgstr "" +msgstr "Comparações de identidade" -#: ../../reference/expressions.rst:1641 +#: ../../reference/expressions.rst:1675 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:1653 +#: ../../reference/expressions.rst:1687 msgid "Boolean operations" -msgstr "" +msgstr "Operações booleanas" -#: ../../reference/expressions.rst:1664 +#: ../../reference/expressions.rst:1698 msgid "" "In the context of Boolean operations, and also when expressions are used by " "control flow statements, the following values are interpreted as false: " @@ -1814,25 +2518,33 @@ msgid "" "method." msgstr "" -#: ../../reference/expressions.rst:1673 +#: ../../reference/expressions.rst:1707 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:1678 +#: ../../reference/expressions.rst:1712 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:1683 +#: ../../reference/expressions.rst:1717 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:1686 +#: ../../reference/expressions.rst:1720 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 " @@ -1842,95 +2554,139 @@ 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:1696 +#: ../../reference/expressions.rst:1736 msgid "Assignment expressions" msgstr "Expressões de atribuição" -#: ../../reference/expressions.rst:1701 +#: ../../reference/expressions.rst:1741 msgid "" "An assignment expression (sometimes also called a \"named expression\" or " -"\"walrus\") assigns an :token:`expression` to an :token:`identifier`, while " -"also returning the value of the :token:`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:1705 +#: ../../reference/expressions.rst:1746 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:1712 +#: ../../reference/expressions.rst:1753 msgid "Or, when processing a file stream in chunks:" +msgstr "Ou, ao processar um fluxo de arquivos em partes:" + +#: ../../reference/expressions.rst:1760 +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." msgstr "" -#: ../../reference/expressions.rst:1719 +#: ../../reference/expressions.rst:1767 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:1726 +#: ../../reference/expressions.rst:1774 msgid "Conditional expressions" -msgstr "" +msgstr "Expressões condicionais" -#: ../../reference/expressions.rst:1738 +#: ../../reference/expressions.rst:1786 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:1741 +#: ../../reference/expressions.rst:1789 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:1745 +#: ../../reference/expressions.rst:1793 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:1752 +#: ../../reference/expressions.rst:1800 msgid "Lambdas" -msgstr "" +msgstr "Lambdas" -#: ../../reference/expressions.rst:1763 +#: ../../reference/expressions.rst:1811 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:1772 +#: ../../reference/expressions.rst:1820 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:1780 +#: ../../reference/expressions.rst:1828 msgid "Expression lists" -msgstr "" +msgstr "Listas de expressões" -#: ../../reference/expressions.rst:1794 +#: ../../reference/expressions.rst:1842 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:1803 +#: ../../reference/expressions.rst:1851 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:1808 +#: ../../reference/expressions.rst:1856 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:1813 +#: ../../reference/expressions.rst:1861 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 " @@ -1939,28 +2695,32 @@ msgid "" "parentheses: ``()``.)" msgstr "" -#: ../../reference/expressions.rst:1823 +#: ../../reference/expressions.rst:1871 msgid "Evaluation order" -msgstr "" +msgstr "Ordem de avaliação" -#: ../../reference/expressions.rst:1827 +#: ../../reference/expressions.rst:1875 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:1830 +#: ../../reference/expressions.rst:1878 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:1844 +#: ../../reference/expressions.rst:1892 msgid "Operator precedence" -msgstr "" +msgstr "Precedência de operadores" -#: ../../reference/expressions.rst:1849 +#: ../../reference/expressions.rst:1897 msgid "" "The following table summarizes the operator precedence in Python, from " "highest precedence (most binding) to lowest precedence (least binding). " @@ -1969,114 +2729,122 @@ msgid "" "left to right (except for exponentiation, which groups from right to left)." msgstr "" -#: ../../reference/expressions.rst:1855 +#: ../../reference/expressions.rst:1903 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:1861 +#: ../../reference/expressions.rst:1909 msgid "Operator" -msgstr "" +msgstr "Operador" -#: ../../reference/expressions.rst:1861 +#: ../../reference/expressions.rst:1909 msgid "Description" msgstr "Descrição" -#: ../../reference/expressions.rst:1863 +#: ../../reference/expressions.rst:1911 msgid "``(expressions...)``," -msgstr "" +msgstr "``(expressions...)``," -#: ../../reference/expressions.rst:1865 +#: ../../reference/expressions.rst:1913 msgid "``[expressions...]``, ``{key: value...}``, ``{expressions...}``" -msgstr "" +msgstr "``[expressões...]``, ``{chave: valor...}``, ``{expressões...}``" -#: ../../reference/expressions.rst:1863 +#: ../../reference/expressions.rst:1911 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:1869 +#: ../../reference/expressions.rst:1917 msgid "``x[index]``, ``x[index:index]``, ``x(arguments...)``, ``x.attribute``" msgstr "" +"``x[índice]``, ``x[índice:índice]``, ``x(argumentos...)``, ``x.atributo``" -#: ../../reference/expressions.rst:1869 +#: ../../reference/expressions.rst:1917 msgid "Subscription, slicing, call, attribute reference" -msgstr "" +msgstr "subscrição, fatiamento, chamada, referência a atributo" -#: ../../reference/expressions.rst:1872 -msgid ":keyword:`await` ``x``" -msgstr ":keyword:`await` ``x``" +#: ../../reference/expressions.rst:1920 +msgid ":keyword:`await x `" +msgstr ":keyword:`await x `" -#: ../../reference/expressions.rst:1874 +#: ../../reference/expressions.rst:1922 msgid "``**``" msgstr "``**``" -#: ../../reference/expressions.rst:1874 +#: ../../reference/expressions.rst:1922 msgid "Exponentiation [#]_" -msgstr "" +msgstr "Exponenciação [#]_" -#: ../../reference/expressions.rst:1876 +#: ../../reference/expressions.rst:1924 msgid "``+x``, ``-x``, ``~x``" -msgstr "" +msgstr "``+x``, ``-x``, ``~x``" -#: ../../reference/expressions.rst:1876 +#: ../../reference/expressions.rst:1924 msgid "Positive, negative, bitwise NOT" -msgstr "" +msgstr "positivo, negativo, NEGAÇÃO (NOT) bit a bit" -#: ../../reference/expressions.rst:1878 +#: ../../reference/expressions.rst:1926 msgid "``*``, ``@``, ``/``, ``//``, ``%``" -msgstr "" +msgstr "``*``, ``@``, ``/``, ``//``, ``%``" -#: ../../reference/expressions.rst:1878 +#: ../../reference/expressions.rst:1926 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:1882 +#: ../../reference/expressions.rst:1930 msgid "``+``, ``-``" -msgstr "" +msgstr "``+``, ``-``" -#: ../../reference/expressions.rst:1882 +#: ../../reference/expressions.rst:1930 msgid "Addition and subtraction" -msgstr "" +msgstr "Adição e subtração" -#: ../../reference/expressions.rst:1884 +#: ../../reference/expressions.rst:1932 msgid "``<<``, ``>>``" -msgstr "" +msgstr "``<<``, ``>>``" -#: ../../reference/expressions.rst:1884 +#: ../../reference/expressions.rst:1932 msgid "Shifts" -msgstr "" +msgstr "Deslocamentos" -#: ../../reference/expressions.rst:1886 +#: ../../reference/expressions.rst:1934 msgid "``&``" msgstr "``&``" -#: ../../reference/expressions.rst:1886 +#: ../../reference/expressions.rst:1934 msgid "Bitwise AND" -msgstr "" +msgstr "E (AND) bit a bit" -#: ../../reference/expressions.rst:1888 +#: ../../reference/expressions.rst:1936 msgid "``^``" msgstr "``^``" -#: ../../reference/expressions.rst:1888 +#: ../../reference/expressions.rst:1936 msgid "Bitwise XOR" -msgstr "" +msgstr "OU EXCLUSIVO (XOR) bit a bit" -#: ../../reference/expressions.rst:1890 +#: ../../reference/expressions.rst:1938 msgid "``|``" msgstr "``|``" -#: ../../reference/expressions.rst:1890 +#: ../../reference/expressions.rst:1938 msgid "Bitwise OR" -msgstr "" +msgstr "OU (OR) bit a bit" -#: ../../reference/expressions.rst:1892 +#: ../../reference/expressions.rst:1940 msgid "" ":keyword:`in`, :keyword:`not in`, :keyword:`is`, :keyword:`is not`, ``<``, " "``<=``, ``>``, ``>=``, ``!=``, ``==``" @@ -2084,63 +2852,63 @@ msgstr "" ":keyword:`in`, :keyword:`not in`, :keyword:`is`, :keyword:`is not`, ``<``, " "``<=``, ``>``, ``>=``, ``!=``, ``==``" -#: ../../reference/expressions.rst:1892 +#: ../../reference/expressions.rst:1940 msgid "Comparisons, including membership tests and identity tests" -msgstr "" +msgstr "Comparações, incluindo testes de pertinência e testes de identidade" -#: ../../reference/expressions.rst:1896 -msgid ":keyword:`not` ``x``" -msgstr ":keyword:`not` ``x``" +#: ../../reference/expressions.rst:1944 +msgid ":keyword:`not x `" +msgstr ":keyword:`not x `" -#: ../../reference/expressions.rst:1896 +#: ../../reference/expressions.rst:1944 msgid "Boolean NOT" -msgstr "" +msgstr "NEGAÇÃO (NOT) booleana" -#: ../../reference/expressions.rst:1898 +#: ../../reference/expressions.rst:1946 msgid ":keyword:`and`" msgstr ":keyword:`and`" -#: ../../reference/expressions.rst:1898 +#: ../../reference/expressions.rst:1946 msgid "Boolean AND" -msgstr "" +msgstr "E (AND) booleano" -#: ../../reference/expressions.rst:1900 +#: ../../reference/expressions.rst:1948 msgid ":keyword:`or`" msgstr ":keyword:`or`" -#: ../../reference/expressions.rst:1900 +#: ../../reference/expressions.rst:1948 msgid "Boolean OR" -msgstr "" +msgstr "OU (OR) booleano" -#: ../../reference/expressions.rst:1902 +#: ../../reference/expressions.rst:1950 msgid ":keyword:`if ` -- :keyword:`!else`" msgstr ":keyword:`if ` -- :keyword:`!else`" -#: ../../reference/expressions.rst:1902 +#: ../../reference/expressions.rst:1950 msgid "Conditional expression" -msgstr "" +msgstr "Expressão condicional" -#: ../../reference/expressions.rst:1904 +#: ../../reference/expressions.rst:1952 msgid ":keyword:`lambda`" msgstr ":keyword:`lambda`" -#: ../../reference/expressions.rst:1904 +#: ../../reference/expressions.rst:1952 msgid "Lambda expression" -msgstr "" +msgstr "Expressão lambda" -#: ../../reference/expressions.rst:1906 +#: ../../reference/expressions.rst:1954 msgid "``:=``" msgstr "``:=``" -#: ../../reference/expressions.rst:1906 +#: ../../reference/expressions.rst:1954 msgid "Assignment expression" -msgstr "" +msgstr "Expressão de atribuição" -#: ../../reference/expressions.rst:1911 +#: ../../reference/expressions.rst:1959 msgid "Footnotes" msgstr "Notas de rodapé" -#: ../../reference/expressions.rst:1912 +#: ../../reference/expressions.rst:1960 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 " @@ -2151,16 +2919,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:1921 +#: ../../reference/expressions.rst:1969 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:1926 +#: ../../reference/expressions.rst:1974 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 " @@ -2173,37 +2954,64 @@ 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:1937 +#: ../../reference/expressions.rst:1985 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:1942 +#: ../../reference/expressions.rst:1990 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:1945 +#: ../../reference/expressions.rst:1993 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:1950 +#: ../../reference/expressions.rst:1998 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:1953 +#: ../../reference/expressions.rst:2001 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." diff --git a/reference/grammar.po b/reference/grammar.po index f50d7da8b..29b531f86 100644 --- a/reference/grammar.po +++ b/reference/grammar.po @@ -1,31 +1,31 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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.10\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-06-29 12:56+0000\n" -"PO-Revision-Date: 2021-06-28 01:49+0000\n" -"Last-Translator: Rafael Fontenelle , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:58+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../reference/grammar.rst:2 msgid "Full Grammar specification" -msgstr "Especificação Completa da Gramática " +msgstr "Especificação completa da gramática" #: ../../reference/grammar.rst:4 msgid "" @@ -45,17 +45,18 @@ msgid "" "Parsing_expression_grammar>`_. In particular, ``&`` followed by a symbol, " "token or parenthesized group indicates a positive lookahead (i.e., is " "required to match but not consumed), while ``!`` indicates a negative " -"lookahead (i.e., is required _not_ to match). We use the ``|`` separator to " +"lookahead (i.e., is required *not* to match). We use the ``|`` separator to " "mean PEG's \"ordered choice\" (written as ``/`` in traditional PEG " "grammars). See :pep:`617` for more details on the grammar's syntax." msgstr "" "A notação é uma mistura de `EBNF `_ 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 24bf4a295..ca7b459cb 100644 --- a/reference/import.po +++ b/reference/import.po @@ -1,30 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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 -# Marco Rougeth , 2021 -# Claudio Rogerio Carvalho Filho , 2021 +# python-doc bot, 2025 # #, 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:49+0000\n" -"Last-Translator: Claudio Rogerio Carvalho Filho , " -"2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:58+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../reference/import.rst:6 msgid "The import system" @@ -38,12 +35,12 @@ msgid "" "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 "" @@ -134,9 +131,9 @@ 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:" +"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 @@ -153,7 +150,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 "" @@ -189,10 +186,15 @@ msgstr "" msgid "" "All modules have a name. Subpackage names are separated from their parent " "package name by a dot, akin to Python's standard attribute access syntax. " -"Thus you might have a module called :mod:`sys` and a package called :mod:" -"`email`, which in turn has a subpackage called :mod:`email.mime` and a " -"module within that subpackage called :mod:`email.mime.text`." +"Thus you might have a package called :mod:`email`, which in turn has a " +"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`." #: ../../reference/import.rst:93 msgid "Regular packages" @@ -301,7 +303,7 @@ msgstr "" #: ../../reference/import.rst:158 msgid "Searching" -msgstr "" +msgstr "Caminho de busca" #: ../../reference/import.rst:160 msgid "" @@ -312,6 +314,11 @@ msgid "" "parameters to the :func:`importlib.import_module` or :func:`__import__` " "functions." msgstr "" +"Para iniciar a busca, o 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 a instrução :keyword:`import`, ou dos parâmetros das funções :func:" +"`importlib.import_module` ou :func:`__import__`." #: ../../reference/import.rst:166 msgid "" @@ -321,10 +328,15 @@ msgid "" "baz``. If any of the intermediate imports fail, a :exc:`ModuleNotFoundError` " "is raised." msgstr "" +"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 "" +msgstr "O cache de módulos" #: ../../reference/import.rst:178 msgid "" @@ -335,6 +347,12 @@ msgid "" "and ``foo.bar.baz``. Each key will have as its value the corresponding " "module object." msgstr "" +"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 "" @@ -344,6 +362,11 @@ msgid "" "`ModuleNotFoundError` is raised. If the module name is missing, Python will " "continue searching for the module." msgstr "" +"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 "" @@ -354,6 +377,12 @@ msgid "" "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 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 "" @@ -363,10 +392,16 @@ msgid "" "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 "" @@ -379,6 +414,15 @@ msgid "" "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 "" @@ -389,12 +433,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 "" @@ -403,6 +456,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 "" @@ -410,6 +467,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 "" @@ -417,10 +477,14 @@ 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 "" @@ -428,6 +492,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 "" @@ -437,6 +504,12 @@ 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 "" @@ -445,10 +518,15 @@ msgid "" "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 "" @@ -461,6 +539,15 @@ msgid "" "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 "" @@ -470,6 +557,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 "" @@ -484,6 +577,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 "" @@ -496,6 +600,15 @@ msgid "" "__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 "" @@ -503,6 +616,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 "" @@ -511,6 +627,11 @@ 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 "" @@ -528,7 +649,7 @@ msgstr "" #: ../../reference/import.rst:338 msgid "Loading" -msgstr "" +msgstr "Carregando" #: ../../reference/import.rst:340 msgid "" @@ -536,16 +657,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." 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 "" @@ -555,6 +682,11 @@ 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 "" @@ -564,6 +696,12 @@ msgid "" "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 "" @@ -572,6 +710,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 "" @@ -579,12 +721,17 @@ 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 "" @@ -592,10 +739,13 @@ msgid "" "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 "" @@ -604,10 +754,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 "" @@ -615,6 +770,9 @@ 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 "" @@ -622,6 +780,9 @@ msgid "" "`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 "" @@ -629,6 +790,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 "" @@ -639,10 +803,16 @@ 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 "" @@ -650,6 +820,9 @@ msgid "" "`~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 "" @@ -658,6 +831,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 "" @@ -665,6 +843,9 @@ 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 "" @@ -674,12 +855,20 @@ msgid "" "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 "" @@ -687,22 +876,30 @@ msgid "" "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" @@ -717,18 +914,27 @@ 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:495 -msgid "and ``spam/__init__.py`` has the following lines in it::" -msgstr "" +#: ../../reference/import.rst:494 +msgid "and ``spam/__init__.py`` has the following line in it::" +msgstr "e ``spam/__init__.py`` tem a seguinte linha::" -#: ../../reference/import.rst:500 +#: ../../reference/import.rst:498 msgid "" -"then executing the following puts a name binding to ``foo`` and ``bar`` in " +"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:509 +#: ../../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 " @@ -736,20 +942,30 @@ msgid "" "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:516 +#: ../../reference/import.rst:514 msgid "Module spec" -msgstr "" +msgstr "Especificação do módulo" -#: ../../reference/import.rst:518 +#: ../../reference/import.rst:516 msgid "" "The import machinery uses a variety of information about each module during " "import, especially before loading. Most of the information is common to all " "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:523 +#: ../../reference/import.rst:521 msgid "" "Using a spec during import allows state to be transferred between import " "system components, e.g. between the finder that creates the module spec and " @@ -757,40 +973,60 @@ 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:529 +#: ../../reference/import.rst:527 msgid "" "The module's spec is exposed as the ``__spec__`` attribute on a module " "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:538 +#: ../../reference/import.rst:536 msgid "Import-related module attributes" -msgstr "" +msgstr "Atributos de módulo relacionados à importação" -#: ../../reference/import.rst:540 +#: ../../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:546 +#: ../../reference/import.rst:544 msgid "" -"The ``__name__`` attribute must be set to the fully-qualified name of the " +"The ``__name__`` attribute must be set to the fully qualified name of the " "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:552 +#: ../../reference/import.rst:550 msgid "" "The ``__loader__`` attribute must be set to the loader object that the " "import machinery used when loading the module. This is mostly for " "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:559 +#: ../../reference/import.rst:557 msgid "" "The module's ``__package__`` attribute must be set. Its value must be a " "string, but it can be the same value as its ``__name__``. When the module " @@ -800,20 +1036,22 @@ msgid "" "name. See :pep:`366` for further details." msgstr "" -#: ../../reference/import.rst:567 +#: ../../reference/import.rst:565 msgid "" "This attribute is used instead of ``__name__`` to calculate explicit " "relative imports for main modules, as defined in :pep:`366`. It is expected " "to have the same value as ``__spec__.parent``." msgstr "" -#: ../../reference/import.rst:571 +#: ../../reference/import.rst:569 msgid "" "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:577 +#: ../../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 :" @@ -821,20 +1059,27 @@ msgid "" "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:583 +#: ../../reference/import.rst:581 msgid "" "When ``__package__`` is not defined, ``__spec__.parent`` is used as a " "fallback." msgstr "" -#: ../../reference/import.rst:588 +#: ../../reference/import.rst:586 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:594 +#: ../../reference/import.rst:592 msgid "" "If the module is a package (either regular or namespace), the module " "object's ``__path__`` attribute must be set. The value must be iterable, " @@ -843,19 +1088,25 @@ 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:601 +#: ../../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:606 +#: ../../reference/import.rst:604 msgid "" "``__file__`` is optional. If set, this attribute's value must be a string. " "The import system may opt to leave ``__file__`` unset if it has no semantic " "meaning (e.g. a module loaded from a database)." msgstr "" -#: ../../reference/import.rst:610 +#: ../../reference/import.rst:608 msgid "" "If ``__file__`` is set, it may also be appropriate to set the ``__cached__`` " "attribute which is the path to any compiled version of the code (e.g. byte-" @@ -864,7 +1115,7 @@ msgid "" "`3147`)." msgstr "" -#: ../../reference/import.rst:616 +#: ../../reference/import.rst:614 msgid "" "It is also appropriate to set ``__cached__`` when ``__file__`` is not set. " "However, that scenario is quite atypical. Ultimately, the loader is what " @@ -873,16 +1124,17 @@ msgid "" "scenario may be appropriate." msgstr "" -#: ../../reference/import.rst:625 +#: ../../reference/import.rst:623 msgid "module.__path__" -msgstr "" +msgstr "module.__path__" -#: ../../reference/import.rst:627 +#: ../../reference/import.rst:625 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:629 +#: ../../reference/import.rst:627 msgid "" "A package's ``__path__`` attribute is used during imports of its " "subpackages. Within the import machinery, it functions much the same as :" @@ -890,16 +1142,25 @@ msgid "" "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:635 +#: ../../reference/import.rst:633 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 " "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:640 +#: ../../reference/import.rst:638 msgid "" "A package's ``__init__.py`` file may set or alter the package's ``__path__`` " "attribute, and this was typically the way namespace packages were " @@ -908,19 +1169,29 @@ 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:648 +#: ../../reference/import.rst:646 msgid "Module reprs" -msgstr "" +msgstr "Representações do módulo" -#: ../../reference/import.rst:650 +#: ../../reference/import.rst:648 msgid "" "By default, all modules have a usable repr, however depending on the " "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:654 +#: ../../reference/import.rst:652 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 " @@ -929,42 +1200,56 @@ msgid "" "__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:661 +#: ../../reference/import.rst:659 msgid "Here are the exact rules used:" -msgstr "" +msgstr "Arquivo estão as exatas regras usadas:" -#: ../../reference/import.rst:663 +#: ../../reference/import.rst:661 msgid "" "If the module has a ``__spec__`` attribute, the information in the spec is " "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:667 +#: ../../reference/import.rst:665 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:670 +#: ../../reference/import.rst:668 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:673 +#: ../../reference/import.rst:671 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:675 +#: ../../reference/import.rst:673 msgid "" "Use of :meth:`loader.module_repr() ` has " "been deprecated and the module spec is now used by the import machinery to " "generate a module repr." msgstr "" -#: ../../reference/import.rst:680 +#: ../../reference/import.rst:678 msgid "" "For backward compatibility with Python 3.3, the module repr will be " "generated by calling the loader's :meth:`~importlib.abc.Loader.module_repr` " @@ -972,7 +1257,7 @@ msgid "" "the method is deprecated." msgstr "" -#: ../../reference/import.rst:687 +#: ../../reference/import.rst:685 msgid "" "Calling :meth:`~importlib.abc.Loader.module_repr` now occurs after trying to " "use a module's ``__spec__`` attribute but before falling back on " @@ -980,11 +1265,11 @@ msgid "" "stop in Python 3.12." msgstr "" -#: ../../reference/import.rst:695 +#: ../../reference/import.rst:693 msgid "Cached bytecode invalidation" -msgstr "" +msgstr "Invalidação de bytecode em cache" -#: ../../reference/import.rst:697 +#: ../../reference/import.rst:695 msgid "" "Before Python loads cached bytecode from a ``.pyc`` file, it checks whether " "the cache is up-to-date with the source ``.py`` file. By default, Python " @@ -993,8 +1278,15 @@ 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:704 +#: ../../reference/import.rst:702 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 " @@ -1007,18 +1299,33 @@ msgid "" "Hash-based ``.pyc`` files validation behavior may be overridden with the :" "option:`--check-hash-based-pycs` flag." msgstr "" - -#: ../../reference/import.rst:715 +"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:713 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:721 +#: ../../reference/import.rst:719 msgid "The Path Based Finder" -msgstr "" +msgstr "O localizador baseado no caminho" -#: ../../reference/import.rst:726 +#: ../../reference/import.rst:724 msgid "" "As mentioned previously, Python comes with several default meta path " "finders. One of these, called the :term:`path based finder` (:class:" @@ -1026,15 +1333,24 @@ msgid "" "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:732 +#: ../../reference/import.rst:730 msgid "" "The path based finder itself doesn't know how to import anything. Instead, " "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:736 +#: ../../reference/import.rst:734 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 " @@ -1044,15 +1360,26 @@ msgid "" "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:743 +#: ../../reference/import.rst:741 msgid "" "Path entries need not be limited to file system locations. They can refer " "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:747 +#: ../../reference/import.rst:745 msgid "" "The path based finder provides additional hooks and protocols so that you " "can extend and customize the types of searchable path entries. For example, " @@ -1062,8 +1389,16 @@ 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:755 +#: ../../reference/import.rst:753 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 :" @@ -1073,44 +1408,70 @@ msgid "" "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:763 +#: ../../reference/import.rst:761 msgid "" "By contrast, path entry finders are in a sense an implementation detail of " "the path based finder, and in fact, if the path based finder were to be " "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:770 +#: ../../reference/import.rst:768 msgid "Path entry finders" -msgstr "" +msgstr "Localizadores de entrada de caminho" -#: ../../reference/import.rst:778 +#: ../../reference/import.rst:776 msgid "" "The :term:`path based finder` is responsible for finding and loading Python " "modules and packages whose location is specified with a string :term:`path " "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:783 +#: ../../reference/import.rst:781 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`." 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:788 +#: ../../reference/import.rst:786 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." 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:793 +#: ../../reference/import.rst:791 msgid "" ":data:`sys.path` contains a list of strings providing search locations for " "modules and packages. It is initialized from the :data:`PYTHONPATH` " @@ -1123,7 +1484,7 @@ msgid "" "determined by the individual :term:`path entry finders `." msgstr "" -#: ../../reference/import.rst:804 +#: ../../reference/import.rst:802 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 " @@ -1134,13 +1495,22 @@ msgid "" "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:813 +#: ../../reference/import.rst:811 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 " +"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 " @@ -1151,7 +1521,7 @@ msgid "" "finder to perform the path entry search again [#fnpic]_." msgstr "" -#: ../../reference/import.rst:826 +#: ../../reference/import.rst:824 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:" @@ -1166,8 +1536,22 @@ msgid "" "file system encoding, UTF-8, or something else), and if the hook cannot " "decode the argument, it should raise :exc:`ImportError`." msgstr "" - -#: ../../reference/import.rst:840 +"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:838 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." @@ -1176,16 +1560,27 @@ msgid "" "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:847 +#: ../../reference/import.rst:845 msgid "" "If a :term:`path entry finder` *is* returned by one of the :term:`path entry " "hook` callables on :data:`sys.path_hooks`, then the following protocol is " "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:852 +#: ../../reference/import.rst:850 msgid "" "The current working directory -- denoted by an empty string -- is handled " "slightly differently from other entries on :data:`sys.path`. First, if the " @@ -1196,34 +1591,50 @@ msgid "" "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:862 +#: ../../reference/import.rst:860 msgid "Path entry finder protocol" -msgstr "" +msgstr "Protocolo do localizador de entrada de caminho" -#: ../../reference/import.rst:864 +#: ../../reference/import.rst:862 msgid "" "In order to support imports of modules and initialized packages and also to " "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:868 +#: ../../reference/import.rst:866 msgid "" ":meth:`~importlib.abc.PathEntryFinder.find_spec` takes two arguments: the " "fully qualified name of the module being imported, and the (optional) target " "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:873 +#: ../../reference/import.rst:871 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." msgstr "" -#: ../../reference/import.rst:877 +#: ../../reference/import.rst:875 msgid "" ":meth:`~importlib.abc.PathEntryFinder.find_spec` replaced :meth:`~importlib." "abc.PathEntryFinder.find_loader` and :meth:`~importlib.abc.PathEntryFinder." @@ -1231,15 +1642,20 @@ msgid "" "``find_spec()`` is not defined." msgstr "" -#: ../../reference/import.rst:883 +#: ../../reference/import.rst:881 msgid "" "Older path entry finders may implement one of these two deprecated methods " "instead of ``find_spec()``. The methods are still respected for the sake of " "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:888 +#: ../../reference/import.rst:886 msgid "" ":meth:`~importlib.abc.PathEntryFinder.find_loader` takes one argument, the " "fully qualified name of the module being imported. ``find_loader()`` " @@ -1247,7 +1663,7 @@ msgid "" "a namespace :term:`portion`." msgstr "" -#: ../../reference/import.rst:893 +#: ../../reference/import.rst:891 msgid "" "For backwards compatibility with other implementations of the import " "protocol, many path entry finders also support the same, traditional " @@ -1256,8 +1672,15 @@ 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:900 +#: ../../reference/import.rst:898 msgid "" "The ``find_module()`` method on path entry finders is deprecated, as it does " "not allow the path entry finder to contribute portions to namespace " @@ -1265,26 +1688,35 @@ 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:906 +#: ../../reference/import.rst:904 msgid "" "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:913 +#: ../../reference/import.rst:911 msgid "Replacing the standard import system" -msgstr "" +msgstr "Substituindo o sistema de importação padrão" -#: ../../reference/import.rst:915 +#: ../../reference/import.rst:913 msgid "" "The most reliable mechanism for replacing the entire import system is to " "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:919 +#: ../../reference/import.rst:917 msgid "" "If it is acceptable to only alter the behaviour of import statements without " "affecting other APIs that access the import system, then replacing the " @@ -1292,8 +1724,13 @@ 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:925 +#: ../../reference/import.rst:923 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 " @@ -1302,41 +1739,59 @@ msgid "" "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:935 +#: ../../reference/import.rst:933 msgid "Package Relative Imports" -msgstr "" +msgstr "Importações relativas ao pacote" -#: ../../reference/import.rst:937 +#: ../../reference/import.rst:935 msgid "" "Relative imports use leading dots. A single leading dot indicates a relative " "import, starting with the current package. Two or more leading dots indicate " "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:953 +#: ../../reference/import.rst:951 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:963 +#: ../../reference/import.rst:961 msgid "" "Absolute imports may use either the ``import <>`` or ``from <> import <>`` " "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:969 +#: ../../reference/import.rst:967 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:974 msgid "Special considerations for __main__" -msgstr "" +msgstr "Considerações especiais para __main__" #: ../../reference/import.rst:976 msgid "" @@ -1348,16 +1803,26 @@ msgid "" "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:987 msgid "__main__.__spec__" -msgstr "" +msgstr "__main__.__spec__" #: ../../reference/import.rst:989 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:992 msgid "" @@ -1366,6 +1831,10 @@ 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:997 msgid "" @@ -1373,22 +1842,25 @@ msgid "" "__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:1001 msgid "interactive prompt" -msgstr "" +msgstr "prompt interativo" #: ../../reference/import.rst:1002 msgid ":option:`-c` option" -msgstr "" +msgstr "opção :option:`-c`" #: ../../reference/import.rst:1003 msgid "running from stdin" -msgstr "" +msgstr "executar a partir de stdin" #: ../../reference/import.rst:1004 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:1006 msgid "" @@ -1397,6 +1869,10 @@ msgid "" "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:1011 msgid "" @@ -1406,83 +1882,67 @@ 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:1019 -msgid "Open issues" -msgstr "" - -#: ../../reference/import.rst:1021 -msgid "XXX It would be really nice to have a diagram." -msgstr "" - -#: ../../reference/import.rst:1023 -msgid "" -"XXX * (import_machinery.rst) how about a section devoted just to the " -"attributes of modules and packages, perhaps expanding upon or supplanting " -"the related entries in the data model reference page?" -msgstr "" - -#: ../../reference/import.rst:1027 -msgid "" -"XXX runpy, pkgutil, et al in the library manual should all get \"See Also\" " -"links at the top pointing to the new import system section." -msgstr "" - -#: ../../reference/import.rst:1030 -msgid "" -"XXX Add more explanation regarding the different ways in which ``__main__`` " -"is initialized?" -msgstr "" - -#: ../../reference/import.rst:1033 -msgid "" -"XXX Add more info on ``__main__`` quirks/pitfalls (i.e. copy from :pep:" -"`395`)." -msgstr "" - -#: ../../reference/import.rst:1038 msgid "References" msgstr "Referências" -#: ../../reference/import.rst:1040 +#: ../../reference/import.rst:1021 msgid "" "The import machinery has evolved considerably since Python's early days. " "The original `specification for 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:1045 +#: ../../reference/import.rst:1026 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:1048 +#: ../../reference/import.rst:1029 msgid "" ":pep:`420` introduced :term:`namespace packages ` for " "Python 3.3. :pep:`420` also introduced the :meth:`find_loader` protocol as " "an alternative to :meth:`find_module`." msgstr "" -#: ../../reference/import.rst:1052 +#: ../../reference/import.rst:1033 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:1055 +#: ../../reference/import.rst:1036 msgid "" ":pep:`328` introduced absolute and explicit relative imports and initially " "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:1059 +#: ../../reference/import.rst:1040 msgid ":pep:`338` defines executing modules as scripts." -msgstr "" +msgstr ":pep:`338` define módulos de execução como scripts." -#: ../../reference/import.rst:1061 +#: ../../reference/import.rst:1042 msgid "" ":pep:`451` adds the encapsulation of per-module import state in spec " "objects. It also off-loads most of the boilerplate responsibilities of " @@ -1490,16 +1950,21 @@ 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:1068 +#: ../../reference/import.rst:1049 msgid "Footnotes" msgstr "Notas de rodapé" -#: ../../reference/import.rst:1069 +#: ../../reference/import.rst:1050 msgid "See :class:`types.ModuleType`." -msgstr "" +msgstr "Veja :class:`types.ModuleType`." -#: ../../reference/import.rst:1071 +#: ../../reference/import.rst:1052 msgid "" "The importlib implementation avoids using the return value directly. " "Instead, it gets the module object by looking the module name up in :data:" @@ -1507,8 +1972,14 @@ msgid "" "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:1078 +#: ../../reference/import.rst:1059 msgid "" "In legacy code, it is possible to find instances of :class:`imp." "NullImporter` in the :data:`sys.path_importer_cache`. It is recommended " diff --git a/reference/index.po b/reference/index.po index f25316e84..49f315080 100644 --- a/reference/index.po +++ b/reference/index.po @@ -1,27 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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.10\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-06-29 12:56+0000\n" -"PO-Revision-Date: 2021-06-28 01:49+0000\n" -"Last-Translator: Raphael Mendonça, 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:58+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../reference/index.rst:5 msgid "The Python Language Reference" diff --git a/reference/introduction.po b/reference/introduction.po index cecdb2b17..0db5e8599 100644 --- a/reference/introduction.po +++ b/reference/introduction.po @@ -1,28 +1,28 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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 -# Ruan Aragão , 2021 +# python-doc bot, 2025 +# Rafael Fontenelle , 2025 # #, 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:49+0000\n" -"Last-Translator: Ruan Aragão , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-23 17:01+0000\n" +"PO-Revision-Date: 2025-09-22 15:58+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=2; plural=(n > 1);\n" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../reference/introduction.rst:6 msgid "Introduction" @@ -54,14 +54,14 @@ msgstr "" "especificações em inglês e não formal para tudo, exceto para a sintaxe e " "análise léxica. Isso deve tornar o documento mais compreensível para o " "leitor intermediário, mas deixará margem para ambiguidades. " -"Consequentemente, caso estivesses vindo de Marte e tentasse re-implementar o " +"Consequentemente, caso estivesses vindo de Marte e tentasse reimplementar o " "Python a partir deste documento, sozinho, talvez precisarias adivinhar " "algumas coisas e, na verdade, provavelmente acabaria por implementar um " "linguagem bem diferente. Por outro lado, se estiveres usando o Python e se " "perguntando quais são as regras precisas sobre uma determinada área da " "linguagem, você definitivamente encontrá neste documento o que estás " "procurando. Caso queiras ver uma definição mais formal do linguagem, talvez " -"possas oferecer seu tempo --- ou inventar uma máquina de clonagem :-)." +"possas oferecer seu tempo -- ou inventar uma máquina de clonagem :-)." #: ../../reference/introduction.rst:23 msgid "" @@ -75,7 +75,7 @@ msgid "" "\"implementation notes\" sprinkled throughout the text." msgstr "" "É perigoso adicionar muitos detalhes de implementação num documento de " -"referência de uma linguagem - a implementação pode mudar e outras " +"referência de uma linguagem -- a implementação pode mudar e outras " "implementações da mesma linguagem podem funcionar de forma diferente. Por " "outro lado, o CPython é a única implementação de Python em uso de forma " "generalizada (embora as implementações alternativas continuem a ganhar " @@ -136,15 +136,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 `_." 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 na construção de testes unitários para as bibliotecas do " -"Java. Mais informações podem ser encontradas no `the Jython website `_." +"bastante utilizado para criar testes unitários para as bibliotecas do Java. " +"Mais informações podem ser encontradas no `the Jython website `_." #: ../../reference/introduction.rst:63 msgid "Python for .NET" @@ -157,10 +157,10 @@ msgid "" "by Brian Lloyd. For more information, see the `Python for .NET home page " "`_." msgstr "" -"Essa implementação utiliza de fato a implementação CPython, mas é um " -"aplicativo gerenciado .NET e disponibilizado como uma bibliotecas .NET. Foi " -"desenvolvido por Brian Lloyd. Para obter mais informações, consulte `Python " -"for .NET home page `_." +"Essa implementação utiliza de fato a implementação CPython, mas é uma " +"aplicação gerenciada .NET e disponibilizada como uma bibliotecas .NET. Foi " +"desenvolvida por Brian Lloyd. Para obter mais informações, consulte o `site " +"do Python for .NET `_." #: ../../reference/introduction.rst:69 msgid "IronPython" @@ -171,13 +171,14 @@ msgid "" "An alternate Python for .NET. Unlike Python.NET, this is a complete Python " "implementation that generates IL, and compiles Python code directly to .NET " "assemblies. It was created by Jim Hugunin, the original creator of Jython. " -"For more information, see `the IronPython website `_." +"For more information, see `the IronPython website `_." msgstr "" "Um versão alternativa do Python para a plataforma .NET. Ao contrário do " "Python.NET, esta é uma implementação completa do Python que gera IL e " "compila o código Python diretamente para assemblies .NET. Foi desenvolvida " "por Jim Hugunin, o criador original do Jython. Para obter mais informações, " -"consulte `the IronPython website `_." +"consulte `o site do IronPython `_." #: ../../reference/introduction.rst:77 msgid "PyPy" @@ -190,7 +191,7 @@ 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 `_." msgstr "" "Uma implementação do Python escrita completamente em Python. A mesma suporta " @@ -198,8 +199,8 @@ msgstr "" "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 na página `the " -"PyPy project's home page `_." +"escrito em Python). Informações adicionais estão disponíveis no `site do " +"projeto PyPy `_." #: ../../reference/introduction.rst:79 msgid "" @@ -235,9 +236,9 @@ msgid "" "``'z'``. (This rule is actually adhered to for the names defined in lexical " "and grammar rules in this document.)" msgstr "" -"A primeira linha diz que um ``nome`` é um ``lc_letter`` seguido de uma " -"sequência de zero ou mais ``lc_letter``s e underscores. Um ``lc_letter`` por " -"sua vez é qualquer um dos caracteres simples ``'a'`` através de ``'z'``. " +"A primeira linha diz que um ``name`` é um ``lc_letter`` seguido de uma " +"sequência de zero ou mais ``lc_letter``\\s e underscores. Um ``lc_letter`` " +"por sua vez é qualquer um dos caracteres simples ``'a'`` através de ``'z'``. " "(Esta regra é aderida pelos nomes definidos nas regras léxicas e gramáticas " "deste documento.)" @@ -260,7 +261,7 @@ msgstr "" "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 " +"(``[ ]``) 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 " diff --git a/reference/lexical_analysis.po b/reference/lexical_analysis.po index 8d9502104..376d7e8ff 100644 --- a/reference/lexical_analysis.po +++ b/reference/lexical_analysis.po @@ -1,33 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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 -# Welington Carlos , 2021 -# Claudio Rogerio Carvalho Filho , 2021 -# (Douglas da Silva) , 2021 -# Misael borges , 2021 -# Vinicius Gubiani Ferreira , 2021 -# Alexsandro Matias de Almeida , 2021 +# python-doc bot, 2025 # #, 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:49+0000\n" -"Last-Translator: Alexsandro Matias de Almeida , " -"2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:58+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../reference/lexical_analysis.rst:6 msgid "Lexical analysis" @@ -40,8 +34,8 @@ 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 "" @@ -53,8 +47,8 @@ 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 ::" @@ -157,19 +161,27 @@ msgid "" "(``b'\\xef\\xbb\\xbf'``), the declared file encoding is UTF-8 (this is " "supported, among others, by Microsoft's :program:`notepad`)." msgstr "" +"Se nenhuma declaração de codificação é encontrada, a codificação padrão é " +"UTF-8. Adicionalmente, se os primeiros bytes do arquivo são a marca de " +"ordem de byte (BOM) do UTF-8 (``b'\\xef\\xbb\\xbf'``), a codificação de " +"arquivo declarada é UTF-8 (isto é suportado, entre outros, pelo :program:" +"`notepad` da Microsoft)." #: ../../reference/lexical_analysis.rst:104 msgid "" -"If an encoding is declared, the encoding name must be recognized by Python. " -"The encoding is used for all lexical analysis, including string literals, " -"comments and identifiers." +"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:114 +#: ../../reference/lexical_analysis.rst:113 msgid "Explicit line joining" msgstr "Junção de linha explícita" -#: ../../reference/lexical_analysis.rst:118 +#: ../../reference/lexical_analysis.rst:117 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 +189,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:129 +#: ../../reference/lexical_analysis.rst:128 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 +204,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:139 +#: ../../reference/lexical_analysis.rst:138 msgid "Implicit line joining" msgstr "Junção de linha implícita" -#: ../../reference/lexical_analysis.rst:141 +#: ../../reference/lexical_analysis.rst:140 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:149 +#: ../../reference/lexical_analysis.rst:148 msgid "" "Implicitly continued lines can carry comments. The indentation of the " "continuation lines is not important. Blank continuation lines are allowed. " @@ -205,12 +231,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:159 +#: ../../reference/lexical_analysis.rst:158 msgid "Blank lines" msgstr "Linhas em branco" -#: ../../reference/lexical_analysis.rst:163 +#: ../../reference/lexical_analysis.rst:162 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 +251,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:174 +#: ../../reference/lexical_analysis.rst:173 msgid "Indentation" msgstr "Indentação" -#: ../../reference/lexical_analysis.rst:178 +#: ../../reference/lexical_analysis.rst:177 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:182 +#: ../../reference/lexical_analysis.rst:181 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 +283,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:190 +#: ../../reference/lexical_analysis.rst:189 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:194 +#: ../../reference/lexical_analysis.rst:193 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:199 +#: ../../reference/lexical_analysis.rst:198 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:206 +#: ../../reference/lexical_analysis.rst:205 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:209 +#: ../../reference/lexical_analysis.rst:208 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 +349,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:220 +#: ../../reference/lexical_analysis.rst:219 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:235 +#: ../../reference/lexical_analysis.rst:234 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:245 +#: ../../reference/lexical_analysis.rst:244 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:253 +#: ../../reference/lexical_analysis.rst:252 msgid "Whitespace between tokens" msgstr "Espaços em branco entre tokens" -#: ../../reference/lexical_analysis.rst:255 +#: ../../reference/lexical_analysis.rst:254 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 +393,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:265 +#: ../../reference/lexical_analysis.rst:264 msgid "Other tokens" msgstr "Outros tokens" -#: ../../reference/lexical_analysis.rst:267 +#: ../../reference/lexical_analysis.rst:266 msgid "" "Besides NEWLINE, INDENT and DEDENT, the following categories of tokens " "exist: *identifiers*, *keywords*, *literals*, *operators*, and *delimiters*. " @@ -329,128 +412,153 @@ 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:277 +#: ../../reference/lexical_analysis.rst:276 msgid "Identifiers and keywords" msgstr "Identificadores e palavras-chave" -#: ../../reference/lexical_analysis.rst:281 +#: ../../reference/lexical_analysis.rst:280 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:284 +#: ../../reference/lexical_analysis.rst:283 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:288 +#: ../../reference/lexical_analysis.rst:287 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:293 +#: ../../reference/lexical_analysis.rst:292 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." 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:297 +#: ../../reference/lexical_analysis.rst:296 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:306 +#: ../../reference/lexical_analysis.rst:305 msgid "The Unicode category codes mentioned above stand for:" -msgstr "" +msgstr "Os códigos de categoria Unicode mencionados acima significam:" -#: ../../reference/lexical_analysis.rst:308 +#: ../../reference/lexical_analysis.rst:307 msgid "*Lu* - uppercase letters" msgstr "*Lu* - letras maiúsculas" -#: ../../reference/lexical_analysis.rst:309 +#: ../../reference/lexical_analysis.rst:308 msgid "*Ll* - lowercase letters" msgstr "*Ll* - letras minúsculas" -#: ../../reference/lexical_analysis.rst:310 +#: ../../reference/lexical_analysis.rst:309 msgid "*Lt* - titlecase letters" msgstr "*Lt* - letras em titlecase" -#: ../../reference/lexical_analysis.rst:311 +#: ../../reference/lexical_analysis.rst:310 msgid "*Lm* - modifier letters" msgstr "*Lm* - letras modificadoras" -#: ../../reference/lexical_analysis.rst:312 +#: ../../reference/lexical_analysis.rst:311 msgid "*Lo* - other letters" msgstr "*Lo* - outras letras" -#: ../../reference/lexical_analysis.rst:313 +#: ../../reference/lexical_analysis.rst:312 msgid "*Nl* - letter numbers" msgstr "*Nl* - letras numéricas" -#: ../../reference/lexical_analysis.rst:314 +#: ../../reference/lexical_analysis.rst:313 msgid "*Mn* - nonspacing marks" msgstr "*Mn* - marcas sem espaçamento" -#: ../../reference/lexical_analysis.rst:315 +#: ../../reference/lexical_analysis.rst:314 msgid "*Mc* - spacing combining marks" msgstr "*Mc* - marcas de combinação de espaçamento" -#: ../../reference/lexical_analysis.rst:316 +#: ../../reference/lexical_analysis.rst:315 msgid "*Nd* - decimal numbers" msgstr "*Nd* - números decimais" -#: ../../reference/lexical_analysis.rst:317 +#: ../../reference/lexical_analysis.rst:316 msgid "*Pc* - connector punctuations" msgstr "*Pc* - pontuações de conectores" -#: ../../reference/lexical_analysis.rst:318 +#: ../../reference/lexical_analysis.rst:317 msgid "" "*Other_ID_Start* - explicit list of characters in `PropList.txt `_ to support backwards " "compatibility" msgstr "" -#: ../../reference/lexical_analysis.rst:321 +#: ../../reference/lexical_analysis.rst:320 msgid "*Other_ID_Continue* - likewise" msgstr "*Other_ID_Continue* - igualmente" -#: ../../reference/lexical_analysis.rst:323 +#: ../../reference/lexical_analysis.rst:322 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:326 +#: ../../reference/lexical_analysis.rst:325 msgid "" "A non-normative HTML file listing all valid identifier characters for " "Unicode 4.1 can be found at https://www.unicode.org/Public/13.0.0/ucd/" "DerivedCoreProperties.txt" msgstr "" -#: ../../reference/lexical_analysis.rst:334 +#: ../../reference/lexical_analysis.rst:333 msgid "Keywords" -msgstr "Palavras-chave" +msgstr "Palavras reservadas" -#: ../../reference/lexical_analysis.rst:340 +#: ../../reference/lexical_analysis.rst:339 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:358 +#: ../../reference/lexical_analysis.rst:357 msgid "Soft Keywords" -msgstr "" +msgstr "Palavras reservadas contextuais" -#: ../../reference/lexical_analysis.rst:364 +#: ../../reference/lexical_analysis.rst:363 msgid "" "Some identifiers are only reserved under specific contexts. These are known " "as *soft keywords*. The identifiers ``match``, ``case`` and ``_`` can " @@ -459,52 +567,86 @@ msgid "" "tokenizing." msgstr "" -#: ../../reference/lexical_analysis.rst:370 +#: ../../reference/lexical_analysis.rst:369 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:381 +#: ../../reference/lexical_analysis.rst:380 msgid "Reserved classes of identifiers" msgstr "Classes reservadas de identificadores" -#: ../../reference/lexical_analysis.rst:383 +#: ../../reference/lexical_analysis.rst:382 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:397 +#: ../../reference/lexical_analysis.rst:387 msgid "``_*``" msgstr "``_*``" -#: ../../reference/lexical_analysis.rst:388 +#: ../../reference/lexical_analysis.rst:387 +msgid "Not imported by ``from module import *``." +msgstr "Não importado por ``from module import *``." + +#: ../../reference/lexical_analysis.rst:408 +msgid "``_``" +msgstr "``_``" + +#: ../../reference/lexical_analysis.rst:390 msgid "" -"Not imported by ``from module import *``. The special identifier ``_`` is " -"used in the interactive interpreter to store the result of the last " -"evaluation; it is stored in the :mod:`builtins` module. When not in " -"interactive mode, ``_`` has no special meaning and is not defined. See " -"section :ref:`import`." +"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:395 +#: ../../reference/lexical_analysis.rst:394 +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``.)" +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 +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 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 +msgid "It is also commonly used for unused variables." +msgstr "Também é comumente usado para variáveis não utilizadas." -#: ../../reference/lexical_analysis.rst:405 +#: ../../reference/lexical_analysis.rst:416 msgid "``__*__``" msgstr "``__*__``" -#: ../../reference/lexical_analysis.rst:400 +#: ../../reference/lexical_analysis.rst:411 msgid "" "System-defined names, informally known as \"dunder\" names. These names are " "defined by the interpreter and its implementation (including the standard " @@ -513,64 +655,99 @@ 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:412 +#: ../../reference/lexical_analysis.rst:423 msgid "``__*``" msgstr "``__*``" -#: ../../reference/lexical_analysis.rst:408 +#: ../../reference/lexical_analysis.rst:419 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:417 +#: ../../reference/lexical_analysis.rst:428 msgid "Literals" msgstr "Literais" -#: ../../reference/lexical_analysis.rst:421 +#: ../../reference/lexical_analysis.rst:432 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:432 +#: ../../reference/lexical_analysis.rst:443 msgid "String and Bytes literals" msgstr "Literais de string e bytes" -#: ../../reference/lexical_analysis.rst:434 +#: ../../reference/lexical_analysis.rst:445 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:459 +#: ../../reference/lexical_analysis.rst:470 msgid "" "One syntactic restriction not indicated by these productions is that " -"whitespace is not allowed between the :token:`stringprefix` or :token:" -"`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`." -msgstr "" +"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`." +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:469 +#: ../../reference/lexical_analysis.rst:480 msgid "" "In plain English: Both types of literals can be enclosed in matching single " "quotes (``'``) or double quotes (``\"``). They can also be enclosed in " "matching groups of three single or double quotes (these are generally " -"referred to as *triple-quoted strings*). The backslash (``\\``) character " -"is used to escape characters that otherwise have a special meaning, such as " -"newline, backslash itself, or the quote character." -msgstr "" - -#: ../../reference/lexical_analysis.rst:480 +"referred to as *triple-quoted strings*). The backslash (``\\``) character is " +"used to give special meaning to otherwise ordinary characters like ``n``, " +"which means 'newline' when escaped (``\\n``). It can also be used to escape " +"characters that otherwise have a special meaning, such as newline, backslash " +"itself, or the quote character. See :ref:`escape sequences ` below for examples." +msgstr "" +"Em inglês simples: ambos os tipos de literais podem ser colocados entre " +"aspas simples (``'``) ou aspas duplas (``\"``). Eles também podem ser " +"colocados em grupos correspondentes de três aspas simples ou duplas " +"(geralmente chamadas de *strings com aspas triplas*). O caractere de " +"contrabarra (``\\``) é usado para dar um significado especial a caracteres " +"comuns como , que significa 'nova linha' quando escapado (``\\n``). Também " +"pode ser usado para caracteres de escape que, de outra forma, teriam um " +"significado especial, como nova linha, contrabarra ou o caractere de aspas. " +"Veja :ref:`sequências de escape ` abaixo para exemplos." + +#: ../../reference/lexical_analysis.rst:493 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:489 +#: ../../reference/lexical_analysis.rst:502 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 " @@ -579,247 +756,296 @@ 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:496 +#: ../../reference/lexical_analysis.rst:509 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:500 +#: ../../reference/lexical_analysis.rst:513 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." 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:509 +#: ../../reference/lexical_analysis.rst:522 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:514 +#: ../../reference/lexical_analysis.rst:527 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:533 +#: ../../reference/lexical_analysis.rst:548 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:538 -#: ../../reference/lexical_analysis.rst:571 +#: ../../reference/lexical_analysis.rst:553 +#: ../../reference/lexical_analysis.rst:586 msgid "Escape Sequence" msgstr "Sequência de escape" -#: ../../reference/lexical_analysis.rst:538 -#: ../../reference/lexical_analysis.rst:571 +#: ../../reference/lexical_analysis.rst:553 +#: ../../reference/lexical_analysis.rst:586 msgid "Meaning" msgstr "Significado" -#: ../../reference/lexical_analysis.rst:538 -#: ../../reference/lexical_analysis.rst:571 +#: ../../reference/lexical_analysis.rst:553 +#: ../../reference/lexical_analysis.rst:586 msgid "Notes" msgstr "Notas" -#: ../../reference/lexical_analysis.rst:540 -msgid "``\\newline``" -msgstr "``\\newline``" +#: ../../reference/lexical_analysis.rst:555 +msgid "``\\``\\ " +msgstr "``\\``\\ " -#: ../../reference/lexical_analysis.rst:540 +#: ../../reference/lexical_analysis.rst:555 msgid "Backslash and newline ignored" msgstr "A barra invertida e a nova linha foram ignoradas" -#: ../../reference/lexical_analysis.rst:542 +#: ../../reference/lexical_analysis.rst:555 +msgid "\\(1)" +msgstr "\\(1)" + +#: ../../reference/lexical_analysis.rst:557 msgid "``\\\\``" msgstr "``\\\\``" -#: ../../reference/lexical_analysis.rst:542 +#: ../../reference/lexical_analysis.rst:557 msgid "Backslash (``\\``)" -msgstr "Backslash (``\\``)" +msgstr "Contrabarra (``\\``)" -#: ../../reference/lexical_analysis.rst:544 +#: ../../reference/lexical_analysis.rst:559 msgid "``\\'``" msgstr "``\\'``" -#: ../../reference/lexical_analysis.rst:544 +#: ../../reference/lexical_analysis.rst:559 msgid "Single quote (``'``)" -msgstr "Aspas Simples (``'``)" +msgstr "Aspas simples (``'``)" -#: ../../reference/lexical_analysis.rst:546 +#: ../../reference/lexical_analysis.rst:561 msgid "``\\\"``" msgstr "``\\\"``" -#: ../../reference/lexical_analysis.rst:546 +#: ../../reference/lexical_analysis.rst:561 msgid "Double quote (``\"``)" -msgstr "Aspas Dupla (``\"``)" +msgstr "Aspas duplas (``\"``)" -#: ../../reference/lexical_analysis.rst:548 +#: ../../reference/lexical_analysis.rst:563 msgid "``\\a``" msgstr "``\\a``" -#: ../../reference/lexical_analysis.rst:548 +#: ../../reference/lexical_analysis.rst:563 msgid "ASCII Bell (BEL)" -msgstr "ASCII Bell (BEL)" +msgstr "ASCII Bell (BEL) - um sinal audível é emitido" -#: ../../reference/lexical_analysis.rst:550 +#: ../../reference/lexical_analysis.rst:565 msgid "``\\b``" msgstr "``\\b``" -#: ../../reference/lexical_analysis.rst:550 +#: ../../reference/lexical_analysis.rst:565 msgid "ASCII Backspace (BS)" -msgstr "ASCII Backspace (BS)" +msgstr "ASCII Backspace (BS) - apaga caractere à esquerda" -#: ../../reference/lexical_analysis.rst:552 +#: ../../reference/lexical_analysis.rst:567 msgid "``\\f``" msgstr "``\\f``" -#: ../../reference/lexical_analysis.rst:552 +#: ../../reference/lexical_analysis.rst:567 msgid "ASCII Formfeed (FF)" -msgstr "ASCII Formfeed (FF)" +msgstr "ASCII Formfeed (FF) - quebra de página" -#: ../../reference/lexical_analysis.rst:554 +#: ../../reference/lexical_analysis.rst:569 msgid "``\\n``" msgstr "``\\n``" -#: ../../reference/lexical_analysis.rst:554 +#: ../../reference/lexical_analysis.rst:569 msgid "ASCII Linefeed (LF)" -msgstr "ASCII Linefeed (LF)" +msgstr "ASCII Linefeed (LF) - quebra de linha" -#: ../../reference/lexical_analysis.rst:556 +#: ../../reference/lexical_analysis.rst:571 msgid "``\\r``" msgstr "``\\r``" -#: ../../reference/lexical_analysis.rst:556 +#: ../../reference/lexical_analysis.rst:571 msgid "ASCII Carriage Return (CR)" -msgstr "ASCII Carriage Return (CR)" +msgstr "ASCII Carriage Return (CR) - retorno de carro" -#: ../../reference/lexical_analysis.rst:558 +#: ../../reference/lexical_analysis.rst:573 msgid "``\\t``" msgstr "``\\t``" -#: ../../reference/lexical_analysis.rst:558 +#: ../../reference/lexical_analysis.rst:573 msgid "ASCII Horizontal Tab (TAB)" -msgstr "ASCII Horizontal Tab (TAB)" +msgstr "ASCII Horizontal Tab (TAB) - tabulação horizontal" -#: ../../reference/lexical_analysis.rst:560 +#: ../../reference/lexical_analysis.rst:575 msgid "``\\v``" msgstr "``\\v``" -#: ../../reference/lexical_analysis.rst:560 +#: ../../reference/lexical_analysis.rst:575 msgid "ASCII Vertical Tab (VT)" -msgstr "ASCII Vertical Tab (VT)" +msgstr "ASCII Vertical Tab (VT) - tabulação vertical" -#: ../../reference/lexical_analysis.rst:562 +#: ../../reference/lexical_analysis.rst:577 msgid "``\\ooo``" msgstr "``\\ooo``" -#: ../../reference/lexical_analysis.rst:562 +#: ../../reference/lexical_analysis.rst:577 msgid "Character with octal value *ooo*" -msgstr "Caráter com valor octal *ooo*" +msgstr "Caractere com valor octal *ooo*" -#: ../../reference/lexical_analysis.rst:562 -msgid "(1,3)" -msgstr "(1,3)" +#: ../../reference/lexical_analysis.rst:577 +msgid "(2,4)" +msgstr "(2,4)" -#: ../../reference/lexical_analysis.rst:565 +#: ../../reference/lexical_analysis.rst:580 msgid "``\\xhh``" msgstr "``\\xhh``" -#: ../../reference/lexical_analysis.rst:565 +#: ../../reference/lexical_analysis.rst:580 msgid "Character with hex value *hh*" -msgstr "Caráter com valor hexadecimal *hh*" +msgstr "Caractere com valor hexadecimal *hh*" -#: ../../reference/lexical_analysis.rst:565 -msgid "(2,3)" -msgstr "(2,3)" +#: ../../reference/lexical_analysis.rst:580 +msgid "(3,4)" +msgstr "(3,4)" -#: ../../reference/lexical_analysis.rst:568 +#: ../../reference/lexical_analysis.rst:583 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:573 +#: ../../reference/lexical_analysis.rst:588 msgid "``\\N{name}``" msgstr "``\\N{name}``" -#: ../../reference/lexical_analysis.rst:573 +#: ../../reference/lexical_analysis.rst:588 msgid "Character named *name* in the Unicode database" msgstr "Caractere chamado *name* no banco de dados Unicode" -#: ../../reference/lexical_analysis.rst:573 -msgid "\\(4)" -msgstr "\\(4)" +#: ../../reference/lexical_analysis.rst:588 +msgid "\\(5)" +msgstr "\\(5)" -#: ../../reference/lexical_analysis.rst:576 +#: ../../reference/lexical_analysis.rst:591 msgid "``\\uxxxx``" msgstr "``\\uxxxx``" -#: ../../reference/lexical_analysis.rst:576 +#: ../../reference/lexical_analysis.rst:591 msgid "Character with 16-bit hex value *xxxx*" msgstr "Caractere com valor hexadecimal de 16 bits *xxxx*" -#: ../../reference/lexical_analysis.rst:576 -msgid "\\(5)" -msgstr "\\(5)" +#: ../../reference/lexical_analysis.rst:591 +msgid "\\(6)" +msgstr "\\(6)" -#: ../../reference/lexical_analysis.rst:579 +#: ../../reference/lexical_analysis.rst:594 msgid "``\\Uxxxxxxxx``" msgstr "``\\Uxxxxxxxx``" -#: ../../reference/lexical_analysis.rst:579 +#: ../../reference/lexical_analysis.rst:594 msgid "Character with 32-bit hex value *xxxxxxxx*" msgstr "Caractere com valor hexadecimal de 32 bits *xxxxxxxx*" -#: ../../reference/lexical_analysis.rst:579 -msgid "\\(6)" -msgstr "\\(6)" +#: ../../reference/lexical_analysis.rst:594 +msgid "\\(7)" +msgstr "\\(7)" -#: ../../reference/lexical_analysis.rst:583 +#: ../../reference/lexical_analysis.rst:598 msgid "Notes:" msgstr "Notas:" -#: ../../reference/lexical_analysis.rst:586 +#: ../../reference/lexical_analysis.rst:601 +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:607 +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: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:589 +#: ../../reference/lexical_analysis.rst:614 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:592 +#: ../../reference/lexical_analysis.rst:617 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:597 +#: ../../reference/lexical_analysis.rst:622 msgid "Support for name aliases [#]_ has been added." msgstr "O suporte para apelidos de nome [#]_ foi adicionado." -#: ../../reference/lexical_analysis.rst:601 +#: ../../reference/lexical_analysis.rst:626 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:604 +#: ../../reference/lexical_analysis.rst:629 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:610 +#: ../../reference/lexical_analysis.rst:635 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 " @@ -828,15 +1054,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:617 +#: ../../reference/lexical_analysis.rst:642 msgid "" "Unrecognized escape sequences 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:622 +#: ../../reference/lexical_analysis.rst:647 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 " @@ -848,12 +1081,22 @@ msgid "" "interpreted as those two characters as part of the literal, *not* as a line " "continuation." msgstr "" - -#: ../../reference/lexical_analysis.rst:635 +"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:660 msgid "String literal concatenation" -msgstr "" +msgstr "Concatenação de literal de string" -#: ../../reference/lexical_analysis.rst:637 +#: ../../reference/lexical_analysis.rst:662 msgid "" "Multiple adjacent string or bytes literals (delimited by whitespace), " "possibly using different quoting conventions, are allowed, and their meaning " @@ -862,8 +1105,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:648 +#: ../../reference/lexical_analysis.rst:673 msgid "" "Note that this feature is defined at the syntactical level, but implemented " "at compile time. The '+' operator must be used to concatenate string " @@ -872,12 +1122,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:669 +#: ../../reference/lexical_analysis.rst:694 msgid "Formatted string literals" msgstr "Literais de string formatados" -#: ../../reference/lexical_analysis.rst:673 +#: ../../reference/lexical_analysis.rst:698 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 " @@ -885,15 +1142,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:679 +#: ../../reference/lexical_analysis.rst:704 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:693 +#: ../../reference/lexical_analysis.rst:718 msgid "" "The parts of the string outside curly braces are treated literally, except " "that any doubled curly braces ``'{{'`` or ``'}}'`` are replaced with the " @@ -905,8 +1170,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:703 +#: ../../reference/lexical_analysis.rst:728 msgid "" "Expressions in formatted string literals are treated like regular Python " "expressions surrounded by parentheses, with a few exceptions. An empty " @@ -917,14 +1192,17 @@ msgid "" "where the formatted string literal appears, in order from left to right." msgstr "" -#: ../../reference/lexical_analysis.rst:712 +#: ../../reference/lexical_analysis.rst:737 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:717 +#: ../../reference/lexical_analysis.rst:742 msgid "" "When the equal sign ``'='`` is provided, the output will have the expression " "text, the ``'='`` and the evaluated value. Spaces after the opening brace " @@ -934,19 +1212,29 @@ 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:725 +#: ../../reference/lexical_analysis.rst:750 msgid "The equal sign ``'='``." -msgstr "" +msgstr "O sinal de igual ``'='``." -#: ../../reference/lexical_analysis.rst:728 +#: ../../reference/lexical_analysis.rst:753 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:732 +#: ../../reference/lexical_analysis.rst:757 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 " @@ -955,123 +1243,153 @@ msgid "" "whole string." msgstr "" -#: ../../reference/lexical_analysis.rst:738 +#: ../../reference/lexical_analysis.rst:763 msgid "" "Top-level format specifiers may include nested replacement fields. These " "nested fields may include their own conversion fields and :ref:`format " -"specifiers `, but may not include more deeply-nested replacement " +"specifiers `, but may not include more deeply nested replacement " "fields. The :ref:`format specifier mini-language ` is the same " "as that used by the :meth:`str.format` method." 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:744 +#: ../../reference/lexical_analysis.rst:769 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:747 +#: ../../reference/lexical_analysis.rst:772 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:779 +#: ../../reference/lexical_analysis.rst:804 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:786 +#: ../../reference/lexical_analysis.rst:811 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:791 +#: ../../reference/lexical_analysis.rst:816 msgid "" "To include a value in which a backslash escape is required, create a " "temporary variable." msgstr "" -#: ../../reference/lexical_analysis.rst:798 +#: ../../reference/lexical_analysis.rst:823 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:809 +#: ../../reference/lexical_analysis.rst:834 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:816 +#: ../../reference/lexical_analysis.rst:841 msgid "Numeric literals" -msgstr "Literais Numéricos" +msgstr "Literais numéricos" -#: ../../reference/lexical_analysis.rst:822 +#: ../../reference/lexical_analysis.rst:847 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:826 +#: ../../reference/lexical_analysis.rst:851 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:840 +#: ../../reference/lexical_analysis.rst:865 msgid "Integer literals" -msgstr "Inteiros Literais" +msgstr "Inteiros literais" -#: ../../reference/lexical_analysis.rst:842 +#: ../../reference/lexical_analysis.rst:867 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:856 +#: ../../reference/lexical_analysis.rst:881 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:859 +#: ../../reference/lexical_analysis.rst:884 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:863 +#: ../../reference/lexical_analysis.rst:888 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:867 +#: ../../reference/lexical_analysis.rst:892 msgid "Some examples of integer literals::" -msgstr "Alguns exemplos de inteiros literais::" +msgstr "Alguns exemplos de literais inteiros::" -#: ../../reference/lexical_analysis.rst:873 -#: ../../reference/lexical_analysis.rst:905 +#: ../../reference/lexical_analysis.rst:898 +#: ../../reference/lexical_analysis.rst:930 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:884 +#: ../../reference/lexical_analysis.rst:909 msgid "Floating point literals" -msgstr "Literais de Ponto Flutuante" +msgstr "Literais de ponto flutuante" -#: ../../reference/lexical_analysis.rst:886 +#: ../../reference/lexical_analysis.rst:911 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:896 +#: ../../reference/lexical_analysis.rst:921 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 " @@ -1079,21 +1397,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:901 +#: ../../reference/lexical_analysis.rst:926 msgid "Some examples of floating point literals::" msgstr "Alguns exemplos de literais de ponto flutuante::" -#: ../../reference/lexical_analysis.rst:914 +#: ../../reference/lexical_analysis.rst:939 msgid "Imaginary literals" -msgstr "Literais Imaginários" +msgstr "Literais imaginários" -#: ../../reference/lexical_analysis.rst:916 +#: ../../reference/lexical_analysis.rst:941 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:921 +#: ../../reference/lexical_analysis.rst:946 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 " @@ -1101,58 +1424,62 @@ 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:933 +#: ../../reference/lexical_analysis.rst:958 msgid "Operators" msgstr "Operadores" -#: ../../reference/lexical_analysis.rst:937 +#: ../../reference/lexical_analysis.rst:962 msgid "The following tokens are operators:" msgstr "Os seguintes tokens são operadores:" -#: ../../reference/lexical_analysis.rst:950 +#: ../../reference/lexical_analysis.rst:975 msgid "Delimiters" msgstr "Delimitadores" -#: ../../reference/lexical_analysis.rst:954 +#: ../../reference/lexical_analysis.rst:979 msgid "The following tokens serve as delimiters in the grammar:" msgstr "Os seguintes tokens servem como delimitadores na gramática:" -#: ../../reference/lexical_analysis.rst:963 +#: ../../reference/lexical_analysis.rst:988 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:968 +#: ../../reference/lexical_analysis.rst:993 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:975 +#: ../../reference/lexical_analysis.rst:1000 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:984 +#: ../../reference/lexical_analysis.rst:1009 msgid "Footnotes" msgstr "Notas de rodapé" -#: ../../reference/lexical_analysis.rst:985 +#: ../../reference/lexical_analysis.rst:1010 msgid "https://www.unicode.org/Public/11.0.0/ucd/NameAliases.txt" msgstr "" diff --git a/reference/simple_stmts.po b/reference/simple_stmts.po index 5bbca962b..4df672bdf 100644 --- a/reference/simple_stmts.po +++ b/reference/simple_stmts.po @@ -1,32 +1,31 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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 -# Adorilson Bezerra , 2021 +# python-doc bot, 2025 # #, 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:49+0000\n" -"Last-Translator: Adorilson Bezerra , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-11-23 17:17+0000\n" +"PO-Revision-Date: 2025-09-22 15:58+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../reference/simple_stmts.rst:6 msgid "Simple statements" -msgstr "" +msgstr "Instruções simples" #: ../../reference/simple_stmts.rst:10 msgid "" @@ -34,10 +33,13 @@ msgid "" "statements may occur on a single line separated by semicolons. The syntax " "for simple statements is:" msgstr "" +"Uma instrução simples consiste uma única linha lógica. Várias instruções " +"simples podem ocorrer em uma única linha separada por ponto e vírgula. A " +"sintaxe para instruções simples é:" #: ../../reference/simple_stmts.rst:36 msgid "Expression statements" -msgstr "" +msgstr "Instruções de expressão" #: ../../reference/simple_stmts.rst:43 msgid "" @@ -47,12 +49,20 @@ msgid "" "uses of expression statements are allowed and occasionally useful. The " "syntax for an expression statement is:" msgstr "" +"As instruções de expressão são usadas (principalmente interativamente) para " +"calcular e escrever um valor, ou (geralmente) para chamar um procedimento " +"(uma função que não retorna nenhum resultado significativo; em Python, os " +"procedimentos retornam o valor ``None``). Outros usos de instruções de " +"expressão são permitidos e ocasionalmente úteis. A sintaxe para uma " +"instrução de expressão é:" #: ../../reference/simple_stmts.rst:52 msgid "" "An expression statement evaluates the expression list (which may be a single " "expression)." msgstr "" +"Uma instrução de expressão avalia a lista de expressões (que pode ser uma " +"única expressão)." #: ../../reference/simple_stmts.rst:64 msgid "" @@ -61,22 +71,30 @@ msgid "" "written to standard output on a line by itself (except if the result is " "``None``, so that procedure calls do not cause any output.)" msgstr "" +"No modo interativo, se o valor não for ``None``, ele será convertido em uma " +"string usando a função embutida :func:`repr` e a string resultante será " +"gravada na saída padrão em uma linha sozinha (exceto se o resultado é " +"``None``, de modo que as chamadas de procedimento não causam nenhuma saída.)" #: ../../reference/simple_stmts.rst:72 msgid "Assignment statements" -msgstr "" +msgstr "Instruções de atribuição" #: ../../reference/simple_stmts.rst:82 msgid "" "Assignment statements are used to (re)bind names to values and to modify " "attributes or items of mutable objects:" msgstr "" +"As instruções de atribuição são usadas para (re)vincular nomes a valores e " +"modificar atributos ou itens de objetos mutáveis:" #: ../../reference/simple_stmts.rst:96 msgid "" "(See section :ref:`primaries` for the syntax definitions for *attributeref*, " "*subscription*, and *slicing*.)" msgstr "" +"(Veja a seção :ref:`primaries` para as definições de sintaxe de " +"*attributeref*, *subscription* e *slicing*.)" #: ../../reference/simple_stmts.rst:99 msgid "" @@ -85,6 +103,10 @@ msgid "" "tuple) and assigns the single resulting object to each of the target lists, " "from left to right." msgstr "" +"Uma instrução de atribuição avalia a lista de expressões (lembre-se de que " +"pode ser uma única expressão ou uma lista separada por vírgulas, a última " +"produzindo uma tupla) e atribui o único objeto resultante a cada uma das " +"listas alvos, da esquerda para a direita." #: ../../reference/simple_stmts.rst:108 msgid "" @@ -96,27 +118,35 @@ msgid "" "exceptions raised are given with the definition of the object types (see " "section :ref:`types`)." msgstr "" +"A atribuição é definida recursivamente dependendo da forma do alvo (lista). " +"Quando um alvo faz parte de um objeto mutável (uma referência de atributo, " +"assinatura ou divisão), o objeto mutável deve, em última análise, executar a " +"atribuição e decidir sobre sua validade e pode levantar uma exceção se a " +"atribuição for inaceitável. As regras observadas pelos vários tipos e as " +"exceções levantadas são dadas com a definição dos tipos de objetos (ver " +"seção :ref:`types`)." #: ../../reference/simple_stmts.rst:121 msgid "" "Assignment of an object to a target list, optionally enclosed in parentheses " "or square brackets, is recursively defined as follows." msgstr "" +"A atribuição de um objeto a uma lista alvo, opcionalmente entre parênteses " +"ou colchetes, é definida recursivamente da maneira a seguir." #: ../../reference/simple_stmts.rst:124 msgid "" "If the target list is a single target with no trailing comma, optionally in " "parentheses, the object is assigned to that target." msgstr "" +"Se a lista alvo contiver um único alvo sem vírgula à direita, opcionalmente " +"entre parênteses, o objeto será atribuído a esse alvo." -#: ../../reference/simple_stmts.rst:127 ../../reference/simple_stmts.rst:139 -msgid "" -"Else: The object must be an iterable with the same number of items as there " -"are targets in the target list, and the items are assigned, from left to " -"right, to the corresponding targets." -msgstr "" +#: ../../reference/simple_stmts.rst:127 +msgid "Else:" +msgstr "Senão:" -#: ../../reference/simple_stmts.rst:131 +#: ../../reference/simple_stmts.rst:129 msgid "" "If the target list contains one target prefixed with an asterisk, called a " "\"starred\" target: The object must be an iterable with at least as many " @@ -126,37 +156,66 @@ msgid "" "after the starred target. A list of the remaining items in the iterable is " "then assigned to the starred target (the list can be empty)." msgstr "" +"Se a lista alvo contiver um alvo prefixado com um asterisco, chamado de alvo " +"\"com estrela\" *(starred)*: o objeto deve ser um iterável com pelo menos " +"tantos itens quantos os alvos na lista alvo, menos um. Os primeiros itens do " +"iterável são atribuídos, da esquerda para a direita, aos alvos antes do alvo " +"com estrela. Os itens finais do iterável são atribuídos aos alvos após o " +"alvo com estrela. Uma lista dos itens restantes no iterável é então " +"atribuída ao alvo com estrela (a lista pode estar vazia)." -#: ../../reference/simple_stmts.rst:143 +#: ../../reference/simple_stmts.rst:137 +msgid "" +"Else: The object must be an iterable with the same number of items as there " +"are targets in the target list, and the items are assigned, from left to " +"right, to the corresponding targets." +msgstr "" +"Senão: o objeto deve ser um iterável com o mesmo número de itens que existem " +"alvos na lista alvos, e os itens são atribuídos, da esquerda para a direita, " +"aos alvos correspondentes." + +#: ../../reference/simple_stmts.rst:141 msgid "" "Assignment of an object to a single target is recursively defined as follows." msgstr "" +"A atribuição de um objeto a um único alvo é definida recursivamente da " +"maneira a seguir." -#: ../../reference/simple_stmts.rst:145 +#: ../../reference/simple_stmts.rst:143 msgid "If the target is an identifier (name):" -msgstr "" +msgstr "Se o alvo for um identificador (nome):" -#: ../../reference/simple_stmts.rst:147 +#: ../../reference/simple_stmts.rst:145 msgid "" "If the name does not occur in a :keyword:`global` or :keyword:`nonlocal` " "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." -#: ../../reference/simple_stmts.rst:151 +#: ../../reference/simple_stmts.rst:149 msgid "" "Otherwise: the name is bound to the object in the global namespace or the " "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." -#: ../../reference/simple_stmts.rst:156 +#: ../../reference/simple_stmts.rst:154 msgid "" "The name is rebound if it was already bound. This may cause the reference " "count for the object previously bound to the name to reach zero, causing the " "object to be deallocated and its destructor (if it has one) to be called." msgstr "" +"O nome é vinculado novamente se já estiver vinculado. Isso pode fazer com " +"que a contagem de referências para o objeto anteriormente vinculado ao nome " +"chegue a zero, fazendo com que o objeto seja desalocado e seu destrutor (se " +"houver) seja chamado." -#: ../../reference/simple_stmts.rst:162 +#: ../../reference/simple_stmts.rst:160 msgid "" "If the target is an attribute reference: The primary expression in the " "reference is evaluated. It should yield an object with assignable " @@ -165,8 +224,14 @@ msgid "" "if it cannot perform the assignment, it raises an exception (usually but not " "necessarily :exc:`AttributeError`)." msgstr "" +"Se o alvo for uma referência de atributo: a expressão primária na referência " +"é avaliada. Deve produzir um objeto com atributos atribuíveis; se este não " +"for o caso, a exceção :exc:`TypeError` é levanta. Esse objeto é então " +"solicitado a atribuir o objeto atribuído ao atributo fornecido; se não puder " +"executar a atribuição, ele levanta uma exceção (geralmente, mas não " +"necessariamente :exc:`AttributeError`)." -#: ../../reference/simple_stmts.rst:171 +#: ../../reference/simple_stmts.rst:169 msgid "" "Note: If the object is a class instance and the attribute reference occurs " "on both sides of the assignment operator, the right-hand side expression, " @@ -177,22 +242,37 @@ msgid "" "the right-hand side expression refers to a class attribute, the left-hand " "side creates a new instance attribute as the target of the assignment::" msgstr "" +"Nota: Se o objeto for uma instância de classe e a referência de atributo " +"ocorrer em ambos os lados do operador de atribuição, a expressão do lado " +"direito, ``a.x`` pode acessar um atributo de instância ou (se não existir " +"nenhum atributo de instância) uma classe atributo. O alvo do lado esquerdo " +"``a.x`` é sempre definido como um atributo de instância, criando-o se " +"necessário. Assim, as duas ocorrências de ``a.x`` não necessariamente se " +"referem ao mesmo atributo: se a expressão do lado direito se refere a um " +"atributo de classe, o lado esquerdo cria um novo atributo de instância como " +"alvo da atribuição::" -#: ../../reference/simple_stmts.rst:185 +#: ../../reference/simple_stmts.rst:183 msgid "" "This description does not necessarily apply to descriptor attributes, such " "as properties created with :func:`property`." msgstr "" +"Esta descrição não se aplica necessariamente aos atributos do descritor, " +"como propriedades criadas com :func:`property`." -#: ../../reference/simple_stmts.rst:192 +#: ../../reference/simple_stmts.rst:190 msgid "" "If the target is a subscription: The primary expression in the reference is " "evaluated. It should yield either a mutable sequence object (such as a " "list) or a mapping object (such as a dictionary). Next, the subscript " "expression is evaluated." msgstr "" +"Se o alvo for uma assinatura: a expressão primária na referência é avaliada. " +"Deve produzir um objeto de sequência mutável (como uma lista) ou um objeto " +"de mapeamento (como um dicionário). Em seguida, a expressão subscrito é " +"avaliada." -#: ../../reference/simple_stmts.rst:201 +#: ../../reference/simple_stmts.rst:199 msgid "" "If the primary is a mutable sequence object (such as a list), the subscript " "must yield an integer. If it is negative, the sequence's length is added to " @@ -202,8 +282,15 @@ msgid "" "`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 " +"sequência é adicionado a ela. O valor resultante deve ser um inteiro não " +"negativo menor que o comprimento da sequência, e a sequência é solicitada a " +"atribuir o objeto atribuído ao seu item com esse índice. Se o índice estiver " +"fora do intervalo, a exceção :exc:`IndexError` será levantada (a atribuição " +"a uma sequência subscrita não pode adicionar novos itens a uma lista)." -#: ../../reference/simple_stmts.rst:212 +#: ../../reference/simple_stmts.rst:210 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 " @@ -212,14 +299,22 @@ msgid "" "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 " +"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:218 +#: ../../reference/simple_stmts.rst:216 msgid "" "For user-defined objects, the :meth:`__setitem__` method is called with " "appropriate arguments." msgstr "" +"Para objetos definidos pelo usuário, o método :meth:`__setitem__` é chamado " +"com argumentos apropriados." -#: ../../reference/simple_stmts.rst:223 +#: ../../reference/simple_stmts.rst:221 msgid "" "If the target is a slicing: The primary expression in the reference is " "evaluated. It should yield a mutable sequence object (such as a list). The " @@ -233,15 +328,30 @@ msgid "" "be different from the length of the assigned sequence, thus changing the " "length of the target sequence, if the target sequence allows it." msgstr "" - -#: ../../reference/simple_stmts.rst:237 +"Se o alvo for um fatiamento: a expressão primária na referência é avaliada. " +"Deve produzir um objeto de sequência mutável (como uma lista). O objeto " +"atribuído deve ser um objeto de sequência do mesmo tipo. Em seguida, as " +"expressões de limite inferior e superior são avaliadas, na medida em que " +"estiverem presentes; os padrões são zero e o comprimento da sequência. Os " +"limites devem ser avaliados como inteiros. Se um dos limites for negativo, o " +"comprimento da sequência será adicionado a ele. Os limites resultantes são " +"cortados para ficarem entre zero e o comprimento da sequência, inclusive. " +"Finalmente, o objeto de sequência é solicitado a substituir a fatia pelos " +"itens da sequência atribuída. O comprimento da fatia pode ser diferente do " +"comprimento da sequência atribuída, alterando assim o comprimento da " +"sequência alvo, se a sequência alvo permitir." + +#: ../../reference/simple_stmts.rst:235 msgid "" "In the current implementation, the syntax for targets is taken to be the " "same as for expressions, and invalid syntax is rejected during the code " "generation phase, causing less detailed error messages." msgstr "" +"Na implementação atual, a sintaxe dos alvos é considerada a mesma das " +"expressões e a sintaxe inválida é rejeitada durante a fase de geração do " +"código, causando mensagens de erro menos detalhadas." -#: ../../reference/simple_stmts.rst:241 +#: ../../reference/simple_stmts.rst:239 msgid "" "Although the definition of assignment implies that overlaps between the left-" "hand side and the right-hand side are 'simultaneous' (for example ``a, b = " @@ -249,32 +359,41 @@ msgid "" "variables occur left-to-right, sometimes resulting in confusion. For " "instance, the following program prints ``[0, 2]``::" msgstr "" +"Embora a definição de atribuição implique que as sobreposições entre o lado " +"esquerdo e o lado direito sejam \"simultâneas\" (por exemplo, ``a, b = b, " +"a`` troca duas variáveis), sobreposições *dentro* da coleção de variáveis " +"atribuídas ocorrem da esquerda para a direita, às vezes resultando em " +"confusão. Por exemplo, o programa a seguir imprime ``[0, 2]``::" -#: ../../reference/simple_stmts.rst:255 +#: ../../reference/simple_stmts.rst:253 msgid ":pep:`3132` - Extended Iterable Unpacking" -msgstr "" +msgstr ":pep:`3132` - Desempacotamento estendido de iterável" -#: ../../reference/simple_stmts.rst:256 +#: ../../reference/simple_stmts.rst:254 msgid "The specification for the ``*target`` feature." -msgstr "" +msgstr "A especificação para o recurso ``*target``." -#: ../../reference/simple_stmts.rst:262 +#: ../../reference/simple_stmts.rst:260 msgid "Augmented assignment statements" -msgstr "" +msgstr "Instruções de atribuição aumentada" -#: ../../reference/simple_stmts.rst:280 +#: ../../reference/simple_stmts.rst:278 msgid "" "Augmented assignment is the combination, in a single statement, of a binary " "operation and an assignment statement:" msgstr "" +"A atribuição aumentada é a combinação, em uma única instrução, de uma " +"operação binária e uma instrução de atribuição:" -#: ../../reference/simple_stmts.rst:289 +#: ../../reference/simple_stmts.rst:287 msgid "" "(See section :ref:`primaries` for the syntax definitions of the last three " "symbols.)" msgstr "" +"(Veja a seção :ref:`primaries` para as definições de sintaxe dos últimos " +"três símbolos.)" -#: ../../reference/simple_stmts.rst:292 +#: ../../reference/simple_stmts.rst:290 msgid "" "An augmented assignment evaluates the target (which, unlike normal " "assignment statements, cannot be an unpacking) and the expression list, " @@ -282,8 +401,13 @@ msgid "" "operands, and assigns the result to the original target. The target is only " "evaluated once." msgstr "" +"Uma atribuição aumentada avalia o alvo (que, diferentemente das instruções " +"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." -#: ../../reference/simple_stmts.rst:297 +#: ../../reference/simple_stmts.rst:295 msgid "" "An augmented assignment expression like ``x += 1`` can be rewritten as ``x = " "x + 1`` to achieve a similar, but not exactly equal effect. In the augmented " @@ -291,16 +415,26 @@ msgid "" "operation is performed *in-place*, meaning that rather than creating a new " "object and assigning that to the target, the old object is modified instead." msgstr "" +"Uma expressão de atribuição aumentada como ``x += 1`` pode ser reescrita " +"como ``x = x + 1`` para obter um efeito semelhante, mas não exatamente " +"igual. Na versão aumentada, ``x`` é avaliado apenas uma vez. Além disso, " +"quando possível, a operação real é executada *no local*, o que significa " +"que, em vez de criar um novo objeto e atribuí-lo ao alvo, o objeto antigo é " +"modificado." -#: ../../reference/simple_stmts.rst:303 +#: ../../reference/simple_stmts.rst:301 msgid "" "Unlike normal assignments, augmented assignments evaluate the left-hand side " "*before* evaluating the right-hand side. For example, ``a[i] += f(x)`` " "first looks-up ``a[i]``, then it evaluates ``f(x)`` and performs the " "addition, and lastly, it writes the result back to ``a[i]``." msgstr "" +"Ao contrário das atribuições normais, as atribuições aumentadas avaliam o " +"lado esquerdo *antes* de avaliar o lado direito. Por exemplo, ``a[i] += " +"f(x)`` primeiro procura ``a[i]``, então avalia ``f(x)`` e executa a adição " +"e, por último, escreve o resultado de volta para ``a[i]``." -#: ../../reference/simple_stmts.rst:308 +#: ../../reference/simple_stmts.rst:306 msgid "" "With the exception of assigning to tuples and multiple targets in a single " "statement, the assignment done by augmented assignment statements is handled " @@ -308,32 +442,45 @@ msgid "" "possible *in-place* behavior, the binary operation performed by augmented " "assignment is the same as the normal binary operations." msgstr "" +"Com exceção da atribuição a tuplas e vários alvos em uma única instrução, a " +"atribuição feita por instruções de atribuição aumentada é tratada da mesma " +"maneira que atribuições normais. Da mesma forma, com exceção do possível " +"comportamento *in-place*, a operação binária executada por atribuição " +"aumentada é a mesma que as operações binárias normais." -#: ../../reference/simple_stmts.rst:314 +#: ../../reference/simple_stmts.rst:312 msgid "" "For targets which are attribute references, the same :ref:`caveat about " "class and instance attributes ` applies as for regular " "assignments." msgstr "" +"Para alvos que são referências de atributos, a mesma :ref:`advertência sobre " +"atributos de classe e instância ` se aplica a atribuições " +"regulares." -#: ../../reference/simple_stmts.rst:321 +#: ../../reference/simple_stmts.rst:319 msgid "Annotated assignment statements" -msgstr "" +msgstr "instruções de atribuição anotado" -#: ../../reference/simple_stmts.rst:328 +#: ../../reference/simple_stmts.rst:326 msgid "" ":term:`Annotation ` assignment is the combination, in a " "single statement, of a variable or attribute annotation and an optional " "assignment statement:" msgstr "" +"A atribuição de :term:`anotação ` é a combinação, em " +"uma única instrução, de uma anotação de variável ou atributo e uma instrução " +"de atribuição opcional:" -#: ../../reference/simple_stmts.rst:335 +#: ../../reference/simple_stmts.rst:333 msgid "" -"The difference from normal :ref:`assignment` is that only single target is " +"The difference from normal :ref:`assignment` is that only a single target is " "allowed." msgstr "" +"A diferença para as :ref:`assignment` normal é que apenas um único alvo é " +"permitido." -#: ../../reference/simple_stmts.rst:337 +#: ../../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 :" @@ -342,20 +489,32 @@ msgid "" "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 " +"atributo de módulo :attr:`__annotations__` que é um mapeamento de dicionário " +"de nomes de variáveis (desconfigurados se privados) para anotações " +"avaliadas. Este atributo é gravável e é criado automaticamente no início da " +"execução do corpo da classe ou módulo, se as anotações forem encontradas " +"estaticamente." -#: ../../reference/simple_stmts.rst:345 +#: ../../reference/simple_stmts.rst:343 msgid "" "For expressions as assignment targets, the annotations are evaluated if in " "class or module scope, but not stored." msgstr "" +"Para expressões como alvos de atribuição, as anotações são avaliadas se " +"estiverem no escopo da classe ou do módulo, mas não armazenadas." -#: ../../reference/simple_stmts.rst:348 +#: ../../reference/simple_stmts.rst:346 msgid "" "If a name is annotated in a function scope, then this name is local for that " "scope. Annotations are never evaluated and stored in function scopes." msgstr "" +"Se um nome for anotado em um escopo de função, esse nome será local para " +"esse escopo. As anotações nunca são avaliadas e armazenadas em escopos de " +"função." -#: ../../reference/simple_stmts.rst:351 +#: ../../reference/simple_stmts.rst:349 msgid "" "If the right hand side is present, an annotated assignment performs the " "actual assignment before evaluating annotations (where applicable). If the " @@ -363,56 +522,73 @@ msgid "" "interpreter evaluates the target except for the last :meth:`__setitem__` or :" "meth:`__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__`." -#: ../../reference/simple_stmts.rst:362 +#: ../../reference/simple_stmts.rst:360 msgid ":pep:`526` - Syntax for Variable Annotations" -msgstr "" +msgstr ":pep:`526` - Sintaxe para Anotações de Variáveis" -#: ../../reference/simple_stmts.rst:360 +#: ../../reference/simple_stmts.rst:358 msgid "" "The proposal that added syntax for annotating the types of variables " "(including class variables and instance variables), instead of expressing " "them through comments." msgstr "" +"A proposta que adicionou sintaxe para anotar os tipos de variáveis " +"(incluindo variáveis de classe e variáveis de instância), em vez de expressá-" +"las por meio de comentários." -#: ../../reference/simple_stmts.rst:366 +#: ../../reference/simple_stmts.rst:364 msgid ":pep:`484` - Type hints" -msgstr "" +msgstr ":pep:`484` - Dicas de tipo" -#: ../../reference/simple_stmts.rst:365 +#: ../../reference/simple_stmts.rst:363 msgid "" "The proposal that added the :mod:`typing` module to provide a standard " "syntax for type annotations that can be used in static analysis tools and " "IDEs." msgstr "" +"A proposta que adicionou o módulo :mod:`typing` para fornecer uma sintaxe " +"padrão para anotações de tipo que podem ser usadas em ferramentas de análise " +"estática e IDEs." -#: ../../reference/simple_stmts.rst:369 +#: ../../reference/simple_stmts.rst:367 msgid "" -"Now annotated assignments allow same expressions in the right hand side as " -"the regular assignments. Previously, some expressions (like un-parenthesized " +"Now annotated assignments allow the same expressions in the right hand side " +"as regular assignments. Previously, some expressions (like un-parenthesized " "tuple expressions) caused a syntax error." msgstr "" +"Agora, as atribuições anotadas permitem as mesmas expressões no lado direito " +"que as atribuições regulares. Anteriormente, algumas expressões (como " +"expressões de tupla sem parênteses) causavam um erro de sintaxe." -#: ../../reference/simple_stmts.rst:378 +#: ../../reference/simple_stmts.rst:376 msgid "The :keyword:`!assert` statement" -msgstr "" +msgstr "A instrução :keyword:`!assert`" -#: ../../reference/simple_stmts.rst:385 +#: ../../reference/simple_stmts.rst:383 msgid "" "Assert statements are a convenient way to insert debugging assertions into a " "program:" msgstr "" +"As instruções assert são uma maneira conveniente de inserir asserções de " +"depuração em um programa:" -#: ../../reference/simple_stmts.rst:391 +#: ../../reference/simple_stmts.rst:389 msgid "The simple form, ``assert expression``, is equivalent to ::" -msgstr "" +msgstr "A forma simples, ``assert expression``, é equivalente a ::" -#: ../../reference/simple_stmts.rst:396 +#: ../../reference/simple_stmts.rst:394 msgid "" "The extended form, ``assert expression1, expression2``, is equivalent to ::" msgstr "" +"A forma estendida, ``assert expression1, expression2``, é equivalente a ::" -#: ../../reference/simple_stmts.rst:405 +#: ../../reference/simple_stmts.rst:403 msgid "" "These equivalences assume that :const:`__debug__` and :exc:`AssertionError` " "refer to the built-in variables with those names. In the current " @@ -423,173 +599,246 @@ 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 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)." -#: ../../reference/simple_stmts.rst:414 +#: ../../reference/simple_stmts.rst:412 msgid "" "Assignments to :const:`__debug__` are illegal. The value for the built-in " "variable is determined when the interpreter starts." msgstr "" +"Atribuições a :const:`__debug__` são ilegais. O valor da variável embutida é " +"determinado quando o interpretador é iniciado." -#: ../../reference/simple_stmts.rst:421 +#: ../../reference/simple_stmts.rst:419 msgid "The :keyword:`!pass` statement" -msgstr "" +msgstr "A instrução :keyword:`!pass`" -#: ../../reference/simple_stmts.rst:431 +#: ../../reference/simple_stmts.rst:429 msgid "" ":keyword:`pass` is a null operation --- when it is executed, nothing " "happens. It is useful as a placeholder when a statement is required " "syntactically, but no code needs to be executed, for example::" msgstr "" +":keyword:`pass` é uma operação nula --- quando é executada, nada acontece. É " +"útil como um espaço reservado quando uma instrução é necessária " +"sintaticamente, mas nenhum código precisa ser executado, por exemplo::" -#: ../../reference/simple_stmts.rst:443 +#: ../../reference/simple_stmts.rst:441 msgid "The :keyword:`!del` statement" msgstr "A instrução :keyword:`!del`" -#: ../../reference/simple_stmts.rst:453 +#: ../../reference/simple_stmts.rst:451 msgid "" "Deletion is recursively defined very similar to the way assignment is " "defined. Rather than spelling it out in full details, here are some hints." msgstr "" +"A exclusão é definida recursivamente de maneira muito semelhante à maneira " +"como a atribuição é definida. Em vez de explicar em detalhes, aqui estão " +"algumas dicas." -#: ../../reference/simple_stmts.rst:456 +#: ../../reference/simple_stmts.rst:454 msgid "" "Deletion of a target list recursively deletes each target, from left to " "right." msgstr "" +"A exclusão de uma lista alvo exclui recursivamente cada alvo, da esquerda " +"para a direita." -#: ../../reference/simple_stmts.rst:462 +#: ../../reference/simple_stmts.rst:460 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." msgstr "" +"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:469 +#: ../../reference/simple_stmts.rst:467 msgid "" "Deletion of attribute references, subscriptions and slicings is passed to " "the primary object involved; deletion of a slicing is in general equivalent " "to assignment of an empty slice of the right type (but even this is " "determined by the sliced object)." msgstr "" +"A exclusão de referências de atributos, assinaturas e fatias é passada para " +"o objeto principal envolvido; a exclusão de um fatiamento é em geral " +"equivalente à atribuição de uma fatia vazia do tipo certo (mas mesmo isso é " +"determinado pelo objeto fatiado)." -#: ../../reference/simple_stmts.rst:474 +#: ../../reference/simple_stmts.rst:472 msgid "" "Previously it was illegal to delete a name from the local namespace if it " "occurs as a free variable in a nested block." msgstr "" +"Anteriormente, era ilegal excluir um nome do espaço de nomes local se ele " +"ocorresse como uma variável livre em um bloco aninhado." -#: ../../reference/simple_stmts.rst:482 +#: ../../reference/simple_stmts.rst:480 msgid "The :keyword:`!return` statement" -msgstr "" +msgstr "A instrução :keyword:`!return`" -#: ../../reference/simple_stmts.rst:492 +#: ../../reference/simple_stmts.rst:490 msgid "" ":keyword:`return` may only occur syntactically nested in a function " "definition, not within a nested class definition." msgstr "" +":keyword:`return` só pode ocorrer sintaticamente aninhado em uma definição " +"de função, não em uma definição de classe aninhada." -#: ../../reference/simple_stmts.rst:495 +#: ../../reference/simple_stmts.rst:493 msgid "" "If an expression list is present, it is evaluated, else ``None`` is " "substituted." msgstr "" +"Se uma lista de expressões estiver presente, ela será avaliada, caso " +"contrário, será usado o valor ``None``." -#: ../../reference/simple_stmts.rst:497 +#: ../../reference/simple_stmts.rst:495 msgid "" ":keyword:`return` leaves the current function call with the expression list " "(or ``None``) as return value." msgstr "" +":keyword:`return` deixa a chamada da função atual com a lista de expressões " +"(ou ``None``) como valor de retorno." -#: ../../reference/simple_stmts.rst:502 +#: ../../reference/simple_stmts.rst:500 msgid "" "When :keyword:`return` passes control out of a :keyword:`try` statement with " "a :keyword:`finally` clause, that :keyword:`!finally` clause is executed " "before really leaving the function." msgstr "" +"Quando :keyword:`return` passa o controle de uma instrução :keyword:`try` " +"com uma cláusula :keyword:`finally`, essa cláusula :keyword:`!finally` é " +"executada antes de realmente sair da função." -#: ../../reference/simple_stmts.rst:506 +#: ../../reference/simple_stmts.rst:504 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." msgstr "" +"Em uma função geradora, a instrução :keyword:`return` indica que o gerador " +"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:511 +#: ../../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." 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 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:519 +#: ../../reference/simple_stmts.rst:517 msgid "The :keyword:`!yield` statement" -msgstr "" +msgstr "A instrução :keyword:`!yield`" -#: ../../reference/simple_stmts.rst:531 +#: ../../reference/simple_stmts.rst:529 msgid "" "A :keyword:`yield` statement is semantically equivalent to a :ref:`yield " "expression `. The yield statement can be used to omit the " "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 ::" -#: ../../reference/simple_stmts.rst:539 +#: ../../reference/simple_stmts.rst:537 msgid "are equivalent to the yield expression statements ::" -msgstr "" +msgstr "são equivalentes às instruções de expressão yield ::" -#: ../../reference/simple_stmts.rst:544 +#: ../../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 " "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." -#: ../../reference/simple_stmts.rst:549 +#: ../../reference/simple_stmts.rst:547 msgid "" "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`." -#: ../../reference/simple_stmts.rst:555 +#: ../../reference/simple_stmts.rst:553 msgid "The :keyword:`!raise` statement" -msgstr "" +msgstr "A instrução :keyword:`!raise`" -#: ../../reference/simple_stmts.rst:566 +#: ../../reference/simple_stmts.rst:564 msgid "" -"If no expressions are present, :keyword:`raise` re-raises the last exception " -"that was active in the current scope. If no exception is active in the " -"current scope, a :exc:`RuntimeError` exception is raised indicating that " -"this is an error." +"If no expressions are present, :keyword:`raise` re-raises the exception that " +"is currently being handled, which is also known as the *active exception*. " +"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 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:571 +#: ../../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." 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." -#: ../../reference/simple_stmts.rst:576 +#: ../../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." msgstr "" +"O :dfn:`tipo` da exceção é a classe da instância de exceção, o :dfn:`valor` " +"é a própria instância." -#: ../../reference/simple_stmts.rst:581 +#: ../../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:`with_traceback` exception method (which returns the same " -"exception instance, with its traceback set to its argument), like so::" +"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::" -#: ../../reference/simple_stmts.rst:593 +#: ../../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 " @@ -600,19 +849,36 @@ msgid "" "the :attr:`__cause__` attribute. If the raised exception is not handled, " "both exceptions will be printed::" msgstr "" - -#: ../../reference/simple_stmts.rst:617 -msgid "" -"A similar mechanism works implicitly if an exception is raised inside an " -"exception handler or a :keyword:`finally` clause: the previous exception is " -"then attached as the new exception's :attr:`__context__` attribute::" -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::" + +#: ../../reference/simple_stmts.rst:615 +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` " +"statement, is used. The previous exception is then attached as the new " +"exception's :attr:`__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 " +"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::" #: ../../reference/simple_stmts.rst:636 msgid "" "Exception chaining can be explicitly suppressed by specifying :const:`None` " "in the ``from`` clause::" msgstr "" +"O encadeamento de exceção pode ser explicitamente suprimido especificando :" +"const:`None` na cláusula ``from``::" #: ../../reference/simple_stmts.rst:648 msgid "" @@ -620,20 +886,25 @@ msgid "" "`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`." #: ../../reference/simple_stmts.rst:651 msgid ":const:`None` is now permitted as ``Y`` in ``raise X from Y``." -msgstr "" +msgstr ":const:`None` agora é permitido como ``Y`` em ``raise X from Y``." #: ../../reference/simple_stmts.rst:654 msgid "" "The ``__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." #: ../../reference/simple_stmts.rst:661 msgid "The :keyword:`!break` statement" -msgstr "" +msgstr "A instrução :keyword:`!break`" #: ../../reference/simple_stmts.rst:672 msgid "" @@ -641,18 +912,25 @@ msgid "" "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." #: ../../reference/simple_stmts.rst:679 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 repetição mais próximo, pulando a cláusula opcional :" +"keyword:`!else` se o laço tiver uma." #: ../../reference/simple_stmts.rst:682 msgid "" "If a :keyword:`for` loop is terminated by :keyword:`break`, the loop control " "target keeps its current value." 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:687 msgid "" @@ -660,10 +938,13 @@ msgid "" "a :keyword:`finally` clause, that :keyword:`!finally` clause is executed " "before really leaving the loop." msgstr "" +"Quando :keyword:`break` passa o controle de uma instrução :keyword:`try` com " +"uma cláusula :keyword:`finally`, essa cláusula :keyword:`!finally` é " +"executada antes de realmente sair do laço." #: ../../reference/simple_stmts.rst:695 msgid "The :keyword:`!continue` statement" -msgstr "" +msgstr "A instrução :keyword:`!continue`" #: ../../reference/simple_stmts.rst:707 msgid "" @@ -672,6 +953,10 @@ msgid "" "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 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:711 msgid "" @@ -679,26 +964,33 @@ msgid "" "with a :keyword:`finally` clause, that :keyword:`!finally` clause is " "executed before really starting the next loop cycle." 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 de realmente iniciar o próximo ciclo do laço." #: ../../reference/simple_stmts.rst:720 msgid "The :keyword:`!import` statement" -msgstr "" +msgstr "A instrução :keyword:`!import`" #: ../../reference/simple_stmts.rst:741 msgid "" "The basic import statement (no :keyword:`from` clause) is executed in two " "steps:" msgstr "" +"A instrução de importação básica (sem cláusula :keyword:`from`) é executada " +"em duas etapas:" #: ../../reference/simple_stmts.rst:744 msgid "find a module, loading and initializing it if necessary" -msgstr "" +msgstr "encontra um módulo, carregando e inicializando-o se necessário" #: ../../reference/simple_stmts.rst:745 msgid "" "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:748 msgid "" @@ -706,10 +998,13 @@ msgid "" "steps are carried out separately for each clause, just as though the clauses " "had been separated out into individual import statements." msgstr "" +"Quando a instrução contém várias cláusulas (separadas por vírgulas), as duas " +"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:753 msgid "" -"The details of the first step, finding and loading modules are described in " +"The details of the first step, finding and loading modules, are described in " "greater detail in the section on the :ref:`import system `, " "which also describes the various types of packages and modules that can be " "imported, as well as all the hooks that can be used to customize the import " @@ -717,12 +1012,22 @@ msgid "" "could not be located, *or* that an error occurred while initializing the " "module, which includes execution of the module's code." msgstr "" +"Os detalhes da primeira etapa, encontrar e carregar módulos, estão descritos " +"com mais detalhes na seção sobre o :ref:`sistema de importação " +"`, que também descreve os vários tipos de pacotes e módulos " +"que podem ser importados, bem como todos os os ganchos que podem ser usados " +"para personalizar o sistema de importação. Observe que falhas nesta etapa " +"podem indicar que o módulo não pôde ser localizado *ou* que ocorreu um erro " +"durante a inicialização do módulo, o que inclui a execução do código do " +"módulo." #: ../../reference/simple_stmts.rst:761 msgid "" "If the requested module is retrieved successfully, it will be made available " "in the local namespace in one of three ways:" 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:766 msgid "" @@ -738,6 +1043,9 @@ msgid "" "module, the module's name is bound in the local namespace as a reference to " "the imported module" msgstr "" +"Se nenhum outro nome for especificado e o módulo que está sendo importado " +"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:771 msgid "" @@ -746,34 +1054,45 @@ msgid "" "namespace as a reference to the top level package. The imported module must " "be accessed using its full qualified name rather than directly" msgstr "" +"Se o módulo que está sendo importado *não* for um módulo de nível superior, " +"o nome do pacote de nível superior que contém o módulo será vinculado ao " +"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:781 msgid "The :keyword:`from` form uses a slightly more complex process:" -msgstr "" +msgstr "O formulário :keyword:`from` usa um processo um pouco mais complexo:" #: ../../reference/simple_stmts.rst:783 msgid "" "find the module specified in the :keyword:`from` clause, loading and " "initializing it if necessary;" msgstr "" +"encontra o módulo especificado na cláusula :keyword:`from`, carregando e " +"inicializando-o se necessário;" #: ../../reference/simple_stmts.rst:785 msgid "for each of the identifiers specified in the :keyword:`import` clauses:" msgstr "" +"para cada um dos identificadores especificados nas cláusulas :keyword:" +"`import`:" #: ../../reference/simple_stmts.rst:787 msgid "check if the imported module has an attribute by that name" -msgstr "" +msgstr "verifica se o módulo importado tem um atributo com esse nome" #: ../../reference/simple_stmts.rst:788 msgid "" "if not, attempt to import a submodule with that name and then check the " "imported module again for that attribute" 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:790 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:791 msgid "" @@ -781,6 +1100,9 @@ msgid "" "the name in the :keyword:`!as` clause if it is present, otherwise using the " "attribute name" msgstr "" +"caso contrário, uma referência a esse valor é armazenada no espaço de nomes " +"local, usando o nome na cláusula :keyword:`!as` se estiver presente, caso " +"contrário, usando o nome do atributo" #: ../../reference/simple_stmts.rst:795 msgid "Examples::" @@ -792,6 +1114,9 @@ msgid "" "defined in the module are bound in the local namespace for the scope where " "the :keyword:`import` statement occurs." msgstr "" +"Se a lista de identificadores for substituída por uma estrela (``'*'``), " +"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:811 msgid "" @@ -805,6 +1130,16 @@ msgid "" "is intended to avoid accidentally exporting items that are not part of the " "API (such as library modules which were imported and used within the module)." msgstr "" +"Os *nomes públicos* definidos por um módulo são determinados verificando o " +"espaço de nomes do módulo para uma variável chamada ``__all__``; se " +"definido, deve ser uma sequência de strings que são nomes definidos ou " +"importados por esse módulo. Os nomes dados em ``__all__`` são todos " +"considerados públicos e devem existir. Se ``__all__`` não estiver definido, " +"o conjunto de nomes públicos inclui todos os nomes encontrados no espaço de " +"nomes do módulo que não começam com um caractere sublinhado (``'_'``). " +"``__all__`` deve conter toda a API pública. Destina-se a evitar a exportação " +"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:821 msgid "" @@ -812,6 +1147,9 @@ msgid "" "allowed at the module level. Attempting to use it in class or function " "definitions will raise a :exc:`SyntaxError`." msgstr "" +"A forma curinga de importação --- ``from module import *`` --- só é " +"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:828 msgid "" @@ -829,12 +1167,27 @@ msgid "" "``pkg.subpkg2.mod``. The specification for relative imports is contained in " "the :ref:`relativeimports` section." msgstr "" +"Ao especificar qual módulo importar, você não precisa especificar o nome " +"absoluto do módulo. Quando um módulo ou pacote está contido em outro pacote, " +"é possível fazer uma importação relativa dentro do mesmo pacote superior sem " +"precisar mencionar o nome do pacote. Usando pontos iniciais no módulo ou " +"pacote especificado após :keyword:`from` você pode especificar quão alto " +"percorrer a hierarquia de pacotes atual sem especificar nomes exatos. Um " +"ponto inicial significa o pacote atual onde o módulo que faz a importação " +"existe. Dois pontos significam um nível de pacote acima. Três pontos são " +"dois níveis acima, etc. Então, se você executar ``from . import mod`` de um " +"módulo no pacote ``pkg`` então você acabará importando o ``pkg.mod``. Se " +"você executar ``from ..subpkg2 import mod`` de dentro de ``pkg.subpkg1`` " +"você irá importar ``pkg.subpkg2.mod``. A especificação para importações " +"relativas está contida na seção :ref:`relativeimports`." #: ../../reference/simple_stmts.rst:842 msgid "" ":func:`importlib.import_module` is provided to support applications that " "determine dynamically the modules to be loaded." 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:845 msgid "" @@ -842,10 +1195,13 @@ msgid "" "``module``, ``filename``, ``sys.path``, ``sys.meta_path``, ``sys." "path_hooks``." msgstr "" +"Levanta um :ref:`evento de auditoria ` ``import`` com os " +"argumentos ``module``, ``filename``, ``sys.path``, ``sys.meta_path``, ``sys." +"path_hooks``." #: ../../reference/simple_stmts.rst:850 msgid "Future statements" -msgstr "" +msgstr "Instruções future" #: ../../reference/simple_stmts.rst:856 msgid "" @@ -853,6 +1209,10 @@ msgid "" "module should be compiled using syntax or semantics that will be available " "in a specified future release of Python where the feature becomes standard." msgstr "" +"Uma :dfn:`instrução future` é uma diretiva para o compilador de que um " +"determinado módulo deve ser compilado usando sintaxe ou semântica que estará " +"disponível em uma versão futura especificada do Python, onde o recurso se " +"tornará padrão." #: ../../reference/simple_stmts.rst:860 msgid "" @@ -861,34 +1221,42 @@ msgid "" "of the new features on a per-module basis before the release in which the " "feature becomes standard." msgstr "" +"A instrução future destina-se a facilitar a migração para versões futuras do " +"Python que introduzem alterações incompatíveis na linguagem. Ele permite o " +"uso dos novos recursos por módulo antes do lançamento em que o recurso se " +"torna padrão." #: ../../reference/simple_stmts.rst:872 msgid "" "A future statement must appear near the top of the module. The only lines " "that can appear before a future statement are:" 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:875 msgid "the module docstring (if any)," -msgstr "" +msgstr "o módulo docstring (se houver)," #: ../../reference/simple_stmts.rst:876 msgid "comments," -msgstr "" +msgstr "comentários," #: ../../reference/simple_stmts.rst:877 msgid "blank lines, and" -msgstr "" +msgstr "linhas vazias e" #: ../../reference/simple_stmts.rst:878 msgid "other future statements." -msgstr "" +msgstr "outras instruções future." #: ../../reference/simple_stmts.rst:880 msgid "" "The only feature that requires using the future statement is ``annotations`` " "(see :pep:`563`)." msgstr "" +"O único recurso que requer o uso da instrução future é ``annotations`` " +"(veja :pep:`563`)." #: ../../reference/simple_stmts.rst:883 msgid "" @@ -899,6 +1267,12 @@ msgid "" "redundant because they are always enabled, and only kept for backwards " "compatibility." msgstr "" +"Todos os recursos históricos habilitados pela instrução future ainda são " +"reconhecidos pelo Python 3. A lista inclui ``absolute_import``, " +"``division``, ``generators``, ``generator_stop``, ``unicode_literals``, " +"``print_function``, ``nested_scopes`` e ``with_statement``. Eles são todos " +"redundantes porque estão sempre habilitados e mantidos apenas para " +"compatibilidade com versões anteriores." #: ../../reference/simple_stmts.rst:890 msgid "" @@ -909,6 +1283,13 @@ msgid "" "case the compiler may need to parse the module differently. Such decisions " "cannot be pushed off until runtime." msgstr "" +"Uma instrução future é reconhecida e tratada especialmente em tempo de " +"compilação: as alterações na semântica das construções principais são " +"frequentemente implementadas gerando código diferente. Pode até ser o caso " +"de um novo recurso introduzir uma nova sintaxe incompatível (como uma nova " +"palavra reservada), caso em que o compilador pode precisar analisar o módulo " +"de maneira diferente. Tais decisões não podem ser adiadas até o tempo de " +"execução." #: ../../reference/simple_stmts.rst:897 msgid "" @@ -916,6 +1297,9 @@ msgid "" "defined, and raises a compile-time error if a future statement contains a " "feature not known to it." msgstr "" +"Para qualquer versão, o compilador sabe quais nomes de recursos foram " +"definidos e levanta um erro em tempo de compilação se uma instrução future " +"contiver um recurso desconhecido." #: ../../reference/simple_stmts.rst:901 msgid "" @@ -923,22 +1307,30 @@ msgid "" "is a standard module :mod:`__future__`, described later, and it will be " "imported in the usual way at the time the future statement is executed." msgstr "" +"A semântica do tempo de execução direto é a mesma de qualquer instrução de " +"importação: existe um módulo padrão :mod:`__future__`, descrito " +"posteriormente, e será importado da maneira usual no momento em que a " +"instrução future for executada." #: ../../reference/simple_stmts.rst:905 msgid "" "The interesting runtime semantics depend on the specific feature enabled by " "the future statement." msgstr "" +"A semântica interessante do tempo de execução depende do recurso específico " +"ativado pela instrução future." #: ../../reference/simple_stmts.rst:908 msgid "Note that there is nothing special about the statement::" -msgstr "" +msgstr "Observe que não há nada de especial sobre a instrução::" #: ../../reference/simple_stmts.rst:912 msgid "" "That is not a future statement; it's an ordinary import statement with no " "special semantics or syntax restrictions." 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:915 msgid "" @@ -948,6 +1340,11 @@ msgid "" "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 " +"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." #: ../../reference/simple_stmts.rst:921 msgid "" @@ -957,18 +1354,23 @@ msgid "" "and the script includes a future statement, it will be in effect in the " "interactive session started after the script is executed." msgstr "" +"Uma instrução future tipada digitada em um prompt do interpretador " +"interativo terá efeito no restante da sessão do interpretador. Se um " +"interpretador for iniciado com a opção :option:`-i`, for passado um nome de " +"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:929 msgid ":pep:`236` - Back to the __future__" -msgstr "" +msgstr ":pep:`236` - De volta ao __future__" #: ../../reference/simple_stmts.rst:930 msgid "The original proposal for the __future__ mechanism." -msgstr "" +msgstr "A proposta original para o mecanismo do __future__." #: ../../reference/simple_stmts.rst:936 msgid "The :keyword:`!global` statement" -msgstr "" +msgstr "A instrução :keyword:`!global`" #: ../../reference/simple_stmts.rst:946 msgid "" @@ -978,12 +1380,20 @@ msgid "" "variable without :keyword:`!global`, although free variables may refer to " "globals without being declared global." msgstr "" +"A instrução :keyword:`global` é uma declaração que vale para todo o bloco de " +"código atual. Isso significa que os identificadores listados devem ser " +"interpretados como globais. Seria impossível atribuir a uma variável global " +"sem :keyword:`!global`, embora variáveis livres possam se referir a globais " +"sem serem declaradas globais." #: ../../reference/simple_stmts.rst:952 msgid "" "Names listed in a :keyword:`global` statement must not be used in the same " "code block textually preceding that :keyword:`!global` statement." msgstr "" +"Nomes listados em uma instrução :keyword:`global` não devem ser usados no " +"mesmo bloco de código que precede textualmente a instrução :keyword:`!" +"global`." #: ../../reference/simple_stmts.rst:955 msgid "" @@ -992,6 +1402,11 @@ msgid "" "clauses, or in a :keyword:`for` target list, :keyword:`class` definition, " "function definition, :keyword:`import` statement, or variable annotation." msgstr "" +"Os nomes listados em uma instrução :keyword:`global` não devem ser definidos " +"como parâmetros formais, ou como alvos em instruções :keyword:`with` ou " +"cláusulas :keyword:`except`, ou em uma lista alvo :keyword:`for`, definição " +"de :keyword:`class`, definição de função, instrução :keyword:`import` ou " +"anotação de variável." #: ../../reference/simple_stmts.rst:962 msgid "" @@ -999,6 +1414,9 @@ msgid "" "programs should not abuse this freedom, as future implementations may " "enforce them or silently change the meaning of the program." msgstr "" +"A implementação atual não impõe algumas dessas restrições, mas os programas " +"não devem abusar dessa liberdade, pois implementações future podem aplicá-" +"las ou alterar silenciosamente o significado do programa." #: ../../reference/simple_stmts.rst:971 msgid "" @@ -1011,12 +1429,20 @@ msgid "" "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`." #: ../../reference/simple_stmts.rst:983 msgid "The :keyword:`!nonlocal` statement" -msgstr "" +msgstr "A instrução :keyword:`!nonlocal`" -#: ../../reference/simple_stmts.rst:995 +#: ../../reference/simple_stmts.rst:991 msgid "" "The :keyword:`nonlocal` statement causes the listed identifiers to refer to " "previously bound variables in the nearest enclosing scope excluding globals. " @@ -1024,25 +1450,37 @@ msgid "" "local namespace first. The statement allows encapsulated code to rebind " "variables outside of the local scope besides the global (module) scope." msgstr "" +"A instrução :keyword:`nonlocal` faz com que os identificadores listados se " +"refiram a variáveis vinculadas anteriormente no escopo mais próximo, " +"excluindo globais. Isso é importante porque o comportamento padrão para " +"ligação é pesquisar primeiro o espaço de nomes local. A instrução permite " +"que o código encapsulado ligue novamente variáveis fora do escopo local além " +"do escopo global (módulo)." -#: ../../reference/simple_stmts.rst:1005 +#: ../../reference/simple_stmts.rst:997 msgid "" "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 "" +"Os nomes listados em uma instrução :keyword:`nonlocal`, diferentemente " +"daqueles listados em uma instrução :keyword:`global`, devem se referir a " +"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:1010 +#: ../../reference/simple_stmts.rst:1002 msgid "" "Names listed in a :keyword:`nonlocal` statement must not collide with pre-" "existing bindings in the local scope." 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:1015 +#: ../../reference/simple_stmts.rst:1007 msgid ":pep:`3104` - Access to Names in Outer Scopes" -msgstr "" +msgstr ":pep:`3104` - Acesso a nomes em escopos externos" -#: ../../reference/simple_stmts.rst:1016 +#: ../../reference/simple_stmts.rst:1008 msgid "The specification for the :keyword:`nonlocal` statement." -msgstr "" +msgstr "A especificação para a instrução :keyword:`nonlocal`." diff --git a/reference/toplevel_components.po b/reference/toplevel_components.po index 4b6ffea3e..600cf3e70 100644 --- a/reference/toplevel_components.po +++ b/reference/toplevel_components.po @@ -1,31 +1,31 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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 -# Julia Rizza , 2021 +# python-doc bot, 2025 # #, 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:49+0000\n" -"Last-Translator: Julia Rizza , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:58+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"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 "" diff --git a/requirements.txt b/requirements.txt deleted file mode 100644 index 50e73f386..000000000 --- a/requirements.txt +++ /dev/null @@ -1,5 +0,0 @@ -transifex-client -sphinx-intl -powrap -pospell -pomerge diff --git a/sphinx.po b/sphinx.po index cff438add..ae71ad621 100644 --- a/sphinx.po +++ b/sphinx.po @@ -1,31 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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 -# Welington Carlos , 2021 -# Claudio Rogerio Carvalho Filho , 2021 -# And Past , 2021 -# Adorilson Bezerra , 2021 -# Rafael Fontenelle , 2021 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.10\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-07-09 12:55+0000\n" -"PO-Revision-Date: 2021-06-28 00:47+0000\n" -"Last-Translator: Rafael Fontenelle , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:58+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../tools/templates/customsourcelink.html:3 msgid "This Page" @@ -54,29 +50,41 @@ msgid "Deprecated since version {deprecated}, removed in version {removed}" msgstr "" "Descontinuado desde a versão {deprecated}, removido na versão {removed}" +#: ../../tools/templates/dummy.html:12 +msgid "Return value: Always NULL." +msgstr "Retorna valor: Sempre NULL." + #: ../../tools/templates/dummy.html:13 +msgid "Return value: New reference." +msgstr "Retorna valor: Nova referência." + +#: ../../tools/templates/dummy.html:14 +msgid "Return value: Borrowed reference." +msgstr "Retorna valor: Referência emprestada." + +#: ../../tools/templates/dummy.html:18 msgid "in development" msgstr "em desenvolvimento" -#: ../../tools/templates/dummy.html:14 +#: ../../tools/templates/dummy.html:19 msgid "pre-release" msgstr "pré-lançamento" -#: ../../tools/templates/dummy.html:15 +#: ../../tools/templates/dummy.html:20 msgid "stable" msgstr "estável" -#: ../../tools/templates/dummy.html:16 +#: ../../tools/templates/dummy.html:21 msgid "security-fixes" msgstr "correções de segurança" -#: ../../tools/templates/dummy.html:17 +#: ../../tools/templates/dummy.html:22 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:" @@ -231,7 +239,7 @@ msgstr "Contribuindo para Docs" #: ../../tools/templates/indexcontent.html:61 msgid "About the documentation" -msgstr "Sobre a Documentação" +msgstr "Sobre a documentação" #: ../../tools/templates/indexcontent.html:63 msgid "History and License of Python" diff --git a/stats.json b/stats.json new file mode 100644 index 000000000..531a7e1a1 --- /dev/null +++ b/stats.json @@ -0,0 +1 @@ +{"completion": "60.93%", "translated": 34986, "entries": 51690, "updated_at": "2026-04-18T00:42:02+00:00Z"} \ No newline at end of file diff --git a/tutorial/appendix.po b/tutorial/appendix.po index 07d2c9c15..c56551689 100644 --- a/tutorial/appendix.po +++ b/tutorial/appendix.po @@ -1,28 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, Python Software 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.10\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-06-29 12:56+0000\n" -"PO-Revision-Date: 2021-06-28 01:49+0000\n" -"Last-Translator: msilvavieira, 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2026-01-03 17:03+0000\n" +"PO-Revision-Date: 2025-09-22 15:58+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../tutorial/appendix.rst:5 msgid "Appendix" @@ -69,10 +68,10 @@ msgid "" "`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`." +"`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" @@ -95,13 +94,12 @@ 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 "" @@ -119,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" @@ -158,10 +156,10 @@ 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 "" @@ -223,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 778377bc9..e10a3efed 100644 --- a/tutorial/appetite.po +++ b/tutorial/appetite.po @@ -1,28 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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 -# Rafael Fontenelle , 2021 +# python-doc bot, 2025 # #, 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:49+0000\n" -"Last-Translator: Rafael Fontenelle , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:58+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../tutorial/appetite.rst:5 msgid "Whetting Your Appetite" @@ -36,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 "" @@ -70,16 +69,16 @@ msgid "" "tasks, but shell scripts are best at moving around files and changing text " "data, not well-suited for GUI applications or games. You could write a C/C++/" "Java program, but it can take a lot of development time to get even a first-" -"draft program. Python is simpler to use, available on Windows, Mac OS X, " -"and Unix operating systems, and will help you get the job done more quickly." +"draft program. Python is simpler to use, available on Windows, macOS, and " +"Unix operating systems, and will help you get the job done more quickly." msgstr "" -"Você poderia escrever um script para o shell do Unix ou arquivos batch do " -"Windows para algumas dessas tarefas, mas scripts shell são bons para mover " -"arquivos e alterar textos, mas não adequados para aplicações GUI ou jogos. " -"Você poderia escrever um programa em C/C++/Java, mas pode tomar tempo de " -"desenvolvimento para chegar até um primeiro rascunho. Python é mais simples, " -"está disponível em Windows, Mac OS X, e sistemas operacionais Unix, e vai " -"ajudá-lo a fazer o trabalho mais rapidamente." +"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 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 " +"Python é mais simples de usar, está disponível nos sistemas operacionais " +"Windows, macOS e Unix e ajudará você a terminar o trabalho mais rapidamente." #: ../../tutorial/appetite.rst:29 msgid "" @@ -129,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 " @@ -176,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 "" @@ -200,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 "" @@ -222,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 58a410743..abb806929 100644 --- a/tutorial/classes.po +++ b/tutorial/classes.po @@ -1,32 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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 -# Hildeberto Abreu Magalhães , 2021 -# Claudio Rogerio Carvalho Filho , 2021 -# msilvavieira, 2021 -# Adorilson Bezerra , 2021 -# guilhermegouw , 2021 +# python-doc bot, 2025 # #, 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:49+0000\n" -"Last-Translator: guilhermegouw , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:58+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../tutorial/classes.rst:5 msgid "Classes" @@ -288,10 +283,10 @@ msgstr "o escopo mais interno, que é acessado primeiro, contem os nomes locais" #: ../../tutorial/classes.rst:121 msgid "" "the scopes of any enclosing functions, which are searched starting with the " -"nearest enclosing scope, contains non-local, but also non-global names" +"nearest enclosing scope, contain non-local, but also non-global names" msgstr "" "os escopos das funções que envolvem a função atual, que são acessados a " -"partir do escopo mais próximo, contém nomes não-locais, mas também não-" +"partir do escopo mais próximo, contêm nomes não-locais, mas também não-" "globais" #: ../../tutorial/classes.rst:123 @@ -309,7 +304,7 @@ msgstr "" #: ../../tutorial/classes.rst:126 msgid "" "If a name is declared global, then all references and assignments go " -"directly to the middle scope containing the module's global names. To " +"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 " @@ -317,9 +312,9 @@ msgid "" "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 escopo intermediário, que " -"contém os nomes globais do módulo. Para alterar variáveis declaradas fora do " -"escopo mais interno, a instrução :keyword:`nonlocal` pode ser usada; caso " +"atribuições de valores vão diretamente para o penúltimo escopo, que contém " +"os nomes globais do módulo. Para alterar variáveis declaradas fora do escopo " +"mais interno, a instrução :keyword:`nonlocal` pode ser usada; caso " "contrário, todas essas variáveis serão apenas para leitura (a tentativa de " "atribuir valores a essas variáveis simplesmente criará uma *nova* variável " "local, no escopo interno, não alterando nada na variável de nome idêntico " @@ -408,15 +403,15 @@ msgstr "A saída do código de exemplo é:" #: ../../tutorial/classes.rst:200 msgid "" -"Note how the *local* assignment (which is default) didn't change *scope_test*" -"\\'s binding of *spam*. The :keyword:`nonlocal` assignment changed " -"*scope_test*\\'s binding of *spam*, and the :keyword:`global` assignment " -"changed the module-level binding." +"Note how the *local* assignment (which is default) didn't change " +"*scope_test*\\'s binding of *spam*. The :keyword:`nonlocal` assignment " +"changed *scope_test*\\'s binding of *spam*, and the :keyword:`global` " +"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 "" @@ -504,7 +499,7 @@ msgstr "" #: ../../tutorial/classes.rst:259 msgid "Class Objects" -msgstr "Objetos de Class" +msgstr "Objetos classe" #: ../../tutorial/classes.rst:261 msgid "" @@ -549,7 +544,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 @@ -575,7 +570,7 @@ msgstr "" #: ../../tutorial/classes.rst:299 msgid "" "When a class defines an :meth:`__init__` method, class instantiation " -"automatically invokes :meth:`__init__` for the newly-created class " +"automatically invokes :meth:`__init__` for the newly created class " "instance. So in this example, a new, initialized instance can be obtained " "by::" msgstr "" @@ -611,19 +606,13 @@ msgstr "" #: ../../tutorial/classes.rst:328 msgid "" -"*data attributes* correspond to \"instance variables\" in Smalltalk, and to " +"*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 " "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::" #: ../../tutorial/classes.rst:340 msgid "" @@ -656,10 +645,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" @@ -683,7 +672,7 @@ msgstr "" #: ../../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 "" @@ -713,7 +702,7 @@ 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." +"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 " @@ -765,10 +754,10 @@ 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 msgid "Correct design of the class should use an instance variable instead::" @@ -923,8 +912,9 @@ msgid "" "without supporting inheritance. The syntax for a derived class definition " "looks like this::" msgstr "" -"Obviamente, uma característica da linguagem não seria digna do nome \"classe" -"\" se não suportasse herança. A sintaxe para uma classe derivada é assim::" +"Obviamente, uma característica da linguagem não seria digna do nome " +"\"classe\" se não suportasse herança. A sintaxe para uma classe derivada é " +"assim::" #: ../../tutorial/classes.rst:584 msgid "" @@ -963,7 +953,7 @@ 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." @@ -1112,7 +1102,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 " @@ -1158,10 +1148,11 @@ msgid "" "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 msgid "" @@ -1198,14 +1189,14 @@ msgstr "Curiosidades e conclusões" #: ../../tutorial/classes.rst:739 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. An empty class " -"definition will do nicely::" +"or C \"struct\", bundling together a few named data items. The idiomatic " +"approach is to use :mod:`dataclasses` for this purpose::" msgstr "" "Às vezes, é útil ter um tipo semelhante ao \"record\" de Pascal ou ao " -"\"struct\" de C, para agrupar alguns itens de dados. Uma definição de classe " -"vazia funciona bem para este fim::" +"\"struct\" de C, para agrupar alguns itens de dados. A maneira pythônica " +"para este fim é usar :mod:`dataclasses`::" -#: ../../tutorial/classes.rst:753 +#: ../../tutorial/classes.rst:759 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 " @@ -1221,7 +1212,7 @@ msgstr "" "métodos :meth:`read` e :meth:`!readline` que obtém os dados de um \"buffer " "de caracteres\" e passar como argumento." -#: ../../tutorial/classes.rst:764 +#: ../../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 " @@ -1231,11 +1222,11 @@ msgstr "" "instância com o método :meth:`m`, e ``m.__func__`` é o objeto função " "correspondente ao método." -#: ../../tutorial/classes.rst:772 +#: ../../tutorial/classes.rst:778 msgid "Iterators" msgstr "Iteradores" -#: ../../tutorial/classes.rst:774 +#: ../../tutorial/classes.rst:780 msgid "" "By now you have probably noticed that most container objects can be looped " "over using a :keyword:`for` statement::" @@ -1243,7 +1234,7 @@ msgstr "" "Você já deve ter notado que pode usar laços :keyword:`for` com a maioria das " "coleções em Python::" -#: ../../tutorial/classes.rst:788 +#: ../../tutorial/classes.rst:794 msgid "" "This style of access is clear, concise, and convenient. The use of " "iterators pervades and unifies Python. Behind the scenes, the :keyword:" @@ -1265,7 +1256,7 @@ msgstr "" "usando a função embutida :func:`next`; este exemplo mostra como tudo " "funciona::" -#: ../../tutorial/classes.rst:813 +#: ../../tutorial/classes.rst:819 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 " @@ -1278,11 +1269,11 @@ msgstr "" "__next__`. Se uma classe já define :meth:`__next__`, então :meth:`__iter__` " "pode simplesmente retornar ``self``::" -#: ../../tutorial/classes.rst:850 +#: ../../tutorial/classes.rst:856 msgid "Generators" msgstr "Geradores" -#: ../../tutorial/classes.rst:852 +#: ../../tutorial/classes.rst:858 msgid "" ":term:`Generators ` are a simple and powerful tool for creating " "iterators. They are written like regular functions but use the :keyword:" @@ -1298,7 +1289,7 @@ msgstr "" "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:873 +#: ../../tutorial/classes.rst:879 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 " @@ -1310,7 +1301,7 @@ msgstr "" "torna geradores tão compactos é que os métodos :meth:`__iter__` e :meth:" "`~generator.__next__` são criados automaticamente." -#: ../../tutorial/classes.rst:878 +#: ../../tutorial/classes.rst:884 msgid "" "Another key feature is that the local variables and execution state are " "automatically saved between calls. This made the function easier to write " @@ -1322,7 +1313,7 @@ msgstr "" "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:883 +#: ../../tutorial/classes.rst:889 msgid "" "In addition to automatic method creation and saving program state, when " "generators terminate, they automatically raise :exc:`StopIteration`. In " @@ -1333,11 +1324,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:892 +#: ../../tutorial/classes.rst:898 msgid "Generator Expressions" msgstr "Expressões geradoras" -#: ../../tutorial/classes.rst:894 +#: ../../tutorial/classes.rst:900 msgid "" "Some simple generators can be coded succinctly as expressions using a syntax " "similar to list comprehensions but with parentheses instead of square " @@ -1354,15 +1345,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:901 +#: ../../tutorial/classes.rst:907 msgid "Examples::" msgstr "Exemplos::" -#: ../../tutorial/classes.rst:922 +#: ../../tutorial/classes.rst:928 msgid "Footnotes" msgstr "Notas de rodapé" -#: ../../tutorial/classes.rst:923 +#: ../../tutorial/classes.rst:929 msgid "" "Except for one thing. Module objects have a secret read-only attribute " "called :attr:`~object.__dict__` which returns the dictionary used to " diff --git a/tutorial/controlflow.po b/tutorial/controlflow.po index 2b0891ddc..672ea2780 100644 --- a/tutorial/controlflow.po +++ b/tutorial/controlflow.po @@ -1,30 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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 -# Claudio Rogerio Carvalho Filho , 2021 -# Adorilson Bezerra , 2021 -# Alexandre B A Villares, 2021 -# Rafael Fontenelle , 2021 +# python-doc bot, 2025 # #, 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:50+0000\n" -"Last-Translator: Rafael Fontenelle , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:58+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../tutorial/controlflow.rst:5 msgid "More Control Flow Tools" @@ -41,14 +38,14 @@ msgstr "" #: ../../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:" +"Provavelmente a mais conhecida instrução de controle de fluxo é o :keyword:" "`if`. Por exemplo::" #: ../../tutorial/controlflow.rst:33 @@ -62,7 +59,7 @@ 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 @@ -77,7 +74,7 @@ msgstr "" #: ../../tutorial/controlflow.rst:46 msgid ":keyword:`!for` Statements" -msgstr "Comandos :keyword:`!for`" +msgstr "Instruções :keyword:`!for`" #: ../../tutorial/controlflow.rst:51 msgid "" @@ -89,10 +86,10 @@ msgid "" "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:" @@ -170,9 +167,9 @@ msgid "" "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 :" +"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`::" @@ -250,16 +247,16 @@ msgstr "" #: ../../tutorial/controlflow.rst:224 msgid ":keyword:`!pass` Statements" -msgstr "Comandos :keyword:`!pass`" +msgstr "Instruções :keyword:`!pass`" #: ../../tutorial/controlflow.rst:226 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 msgid "This is commonly used for creating minimal classes::" @@ -283,25 +280,31 @@ msgstr "Instruções :keyword:`!match`" #: ../../tutorial/controlflow.rst:253 msgid "" -"A match statement takes an expression and compares its value to successive " -"patterns given as one or more case blocks. This is superficially similar to " -"a switch statement in C, Java or JavaScript (and many other languages), but " -"it can also extract components (sequence elements or object attributes) from " -"the value into variables." +"A :keyword:`match` statement takes an expression and compares its value to " +"successive patterns given as one or more case blocks. This is superficially " +"similar to a switch statement in C, Java or JavaScript (and many other " +"languages), but it's more similar to pattern matching in languages like Rust " +"or Haskell. Only the first pattern that matches gets executed and it can " +"also extract components (sequence elements or object attributes) from the " +"value into variables." msgstr "" -"Uma instrução de correspondência pega uma expressão e compara seu valor com " +"Uma instrução :keyword:`match` pega uma expressão e compara seu valor com " "padrões sucessivos fornecidos como um ou mais blocos de case. Isso é " "superficialmente semelhante a uma instrução switch em C, Java ou JavaScript " "(e muitas outras linguagens), mas também pode extrair componentes (elementos " -"de sequência ou atributos de objeto) do valor em variáveis." +"de sequência ou atributos de objeto) do valor em variáveis, mas muito mais " +"parecido com a correspondência de padrões em linguages como Rust ou Haskell. " +"Apenas o primeiro padrão que corresponder será executado, podendo também " +"extrair componentes (elementos de sequência ou atributos de objetos) do " +"valor para variáveis." -#: ../../tutorial/controlflow.rst:259 +#: ../../tutorial/controlflow.rst:261 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:272 +#: ../../tutorial/controlflow.rst:274 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." @@ -310,13 +313,13 @@ msgstr "" "e nunca falha em corresponder. Se nenhum caso corresponder, nenhuma das " "ramificações será executada." -#: ../../tutorial/controlflow.rst:275 +#: ../../tutorial/controlflow.rst:277 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:280 +#: ../../tutorial/controlflow.rst:282 msgid "" "Patterns can look like unpacking assignments, and can be used to bind " "variables::" @@ -324,7 +327,7 @@ msgstr "" "Os padrões podem se parecer com atribuições de desempacotamento e podem ser " "usados para vincular variáveis::" -#: ../../tutorial/controlflow.rst:296 +#: ../../tutorial/controlflow.rst:298 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 " @@ -336,11 +339,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:303 +#: ../../tutorial/controlflow.rst:305 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 " @@ -350,7 +353,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:324 +#: ../../tutorial/controlflow.rst:326 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 " @@ -364,9 +367,9 @@ 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:335 +#: ../../tutorial/controlflow.rst:337 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 " @@ -382,9 +385,9 @@ 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:342 +#: ../../tutorial/controlflow.rst:344 msgid "" "Patterns can be arbitrarily nested. For example, if we have a short list of " "points, we could match it like this::" @@ -392,22 +395,21 @@ msgstr "" "Os padrões podem ser aninhados arbitrariamente. Por exemplo, se tivermos uma " "pequena lista de pontos, poderíamos correspondê-la assim::" -#: ../../tutorial/controlflow.rst:357 +#: ../../tutorial/controlflow.rst:359 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::" +"Podemos adicionar uma cláusula ``if`` a um padrão, conhecido como " +"\"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:367 +#: ../../tutorial/controlflow.rst:369 msgid "Several other key features of this statement:" msgstr "Vários outros recursos importantes desta instrução::" -#: ../../tutorial/controlflow.rst:369 +#: ../../tutorial/controlflow.rst:371 msgid "" "Like unpacking assignments, tuple and list patterns have exactly the same " "meaning and actually match arbitrary sequences. An important exception is " @@ -418,7 +420,7 @@ msgstr "" "arbitrárias. Uma exceção importante é que eles não correspondem a iteradores " "ou strings." -#: ../../tutorial/controlflow.rst:373 +#: ../../tutorial/controlflow.rst:375 msgid "" "Sequence patterns support extended unpacking: ``[x, y, *rest]`` and ``(x, y, " "*rest)`` work similar to unpacking assignments. The name after ``*`` may " @@ -431,12 +433,12 @@ msgstr "" "``_``, então ``(x, y, *_)`` corresponde a uma sequência de pelo menos dois " "itens sem ligar os itens restantes." -#: ../../tutorial/controlflow.rst:378 +#: ../../tutorial/controlflow.rst:380 msgid "" -"Mapping patterns: ``{\"bandwidth\": b, \"latency\": l}`` captures the ``" -"\"bandwidth\"`` and ``\"latency\"`` values from a dictionary. Unlike " +"Mapping patterns: ``{\"bandwidth\": b, \"latency\": l}`` captures the " +"``\"bandwidth\"`` and ``\"latency\"`` values from a dictionary. Unlike " "sequence patterns, extra keys are ignored. An unpacking like ``**rest`` is " -"also supported. (But ``**_`` would be redundant, so it not allowed.)" +"also supported. (But ``**_`` would be redundant, so it is not allowed.)" msgstr "" "Padrões de mapeamento: ``{\"bandwidth\": b, \"latency\": l}`` captura os " "valores ``\"bandwidth\"`` e ``\"latency\"`` de um dicionário. Diferente dos " @@ -444,11 +446,11 @@ msgstr "" "``**rest`` também é permitido. (Mas ``**_`` seria redundante, então não é " "permitido.)" -#: ../../tutorial/controlflow.rst:383 +#: ../../tutorial/controlflow.rst:385 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:387 +#: ../../tutorial/controlflow.rst:389 msgid "" "will capture the second element of the input as ``p2`` (as long as the input " "is a sequence of two points)" @@ -456,15 +458,15 @@ msgstr "" "Vai capturar o segundo elemento da entrada como ``p2`` (se a entrada for uma " "sequência de dois pontos)" -#: ../../tutorial/controlflow.rst:390 +#: ../../tutorial/controlflow.rst:392 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:393 +#: ../../tutorial/controlflow.rst:395 msgid "" "Patterns may use named constants. These must be dotted names to prevent " "them from being interpreted as capture variable::" @@ -472,7 +474,7 @@ 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:410 +#: ../../tutorial/controlflow.rst:414 msgid "" "For a more detailed explanation and additional examples, you can look into :" "pep:`636` which is written in a tutorial format." @@ -480,11 +482,11 @@ msgstr "" "Para uma explicação mais detalhada e exemplos adicionais, você pode olhar :" "pep:`636` que foi escrita em formato de tutorial." -#: ../../tutorial/controlflow.rst:416 +#: ../../tutorial/controlflow.rst:420 msgid "Defining Functions" msgstr "Definindo funções" -#: ../../tutorial/controlflow.rst:418 +#: ../../tutorial/controlflow.rst:422 msgid "" "We can create a function that writes the Fibonacci series to an arbitrary " "boundary::" @@ -492,7 +494,7 @@ msgstr "" "Podemos criar uma função que escreve a série de Fibonacci até um limite " "arbitrário::" -#: ../../tutorial/controlflow.rst:438 +#: ../../tutorial/controlflow.rst:442 msgid "" "The keyword :keyword:`def` introduces a function *definition*. It must be " "followed by the function name and the parenthesized list of formal " @@ -501,10 +503,10 @@ 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:443 +#: ../../tutorial/controlflow.rst:447 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:" @@ -522,7 +524,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:450 +#: ../../tutorial/controlflow.rst:454 msgid "" "The *execution* of a function introduces a new symbol table used for the " "local variables of the function. More precisely, all variable assignments " @@ -543,10 +545,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:" +"utilizada a instrução :keyword:`global`, para variáveis globais, ou :keyword:" "`nonlocal`, para variáveis de funções externas)." -#: ../../tutorial/controlflow.rst:461 +#: ../../tutorial/controlflow.rst:465 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 " @@ -562,7 +564,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:468 +#: ../../tutorial/controlflow.rst:472 msgid "" "A function definition associates the function name with the function object " "in the current symbol table. The interpreter recognizes the object pointed " @@ -575,7 +577,7 @@ msgstr "" "apontar para o mesmo objeto função e também pode ser usados pra acessar a " "função::" -#: ../../tutorial/controlflow.rst:479 +#: ../../tutorial/controlflow.rst:483 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 " @@ -587,13 +589,13 @@ msgid "" 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`::" -#: ../../tutorial/controlflow.rst:490 +#: ../../tutorial/controlflow.rst:494 msgid "" "It is simple to write a function that returns a list of the numbers of the " "Fibonacci series, instead of printing it::" @@ -601,11 +603,11 @@ 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:506 +#: ../../tutorial/controlflow.rst:510 msgid "This example, as usual, demonstrates some new Python features:" msgstr "Este exemplo demonstra novos recursos de Python:" -#: ../../tutorial/controlflow.rst:508 +#: ../../tutorial/controlflow.rst:512 msgid "" "The :keyword:`return` statement returns with a value from a function. :" "keyword:`!return` without an expression argument returns ``None``. Falling " @@ -615,7 +617,7 @@ msgstr "" "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:512 +#: ../../tutorial/controlflow.rst:516 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 " @@ -639,11 +641,11 @@ msgstr "" "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:527 +#: ../../tutorial/controlflow.rst:531 msgid "More on Defining Functions" msgstr "Mais sobre definição de funções" -#: ../../tutorial/controlflow.rst:529 +#: ../../tutorial/controlflow.rst:533 msgid "" "It is also possible to define functions with a variable number of arguments. " "There are three forms, which can be combined." @@ -651,11 +653,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:536 +#: ../../tutorial/controlflow.rst:540 msgid "Default Argument Values" msgstr "Argumentos com valor padrão" -#: ../../tutorial/controlflow.rst:538 +#: ../../tutorial/controlflow.rst:542 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 " @@ -665,18 +667,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:554 +#: ../../tutorial/controlflow.rst:558 msgid "This function can be called in several ways:" msgstr "Essa função pode ser chamada de várias formas:" -#: ../../tutorial/controlflow.rst:556 +#: ../../tutorial/controlflow.rst:560 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:558 +#: ../../tutorial/controlflow.rst:562 msgid "" "giving one of the optional arguments: ``ask_ok('OK to overwrite the file?', " "2)``" @@ -684,7 +686,7 @@ msgstr "" "fornecendo um dos argumentos opcionais: ``ask_ok('OK to overwrite the " "file?', 2)``" -#: ../../tutorial/controlflow.rst:560 +#: ../../tutorial/controlflow.rst:564 msgid "" "or even giving all arguments: ``ask_ok('OK to overwrite the file?', 2, 'Come " "on, only yes or no!')``" @@ -692,7 +694,7 @@ msgstr "" "ou fornecendo todos os argumentos: ``ask_ok('OK to overwrite the file?', 2, " "'Come on, only yes or no!')``" -#: ../../tutorial/controlflow.rst:563 +#: ../../tutorial/controlflow.rst:567 msgid "" "This example also introduces the :keyword:`in` keyword. This tests whether " "or not a sequence contains a certain value." @@ -700,7 +702,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:566 +#: ../../tutorial/controlflow.rst:570 msgid "" "The default values are evaluated at the point of function definition in the " "*defining* scope, so that ::" @@ -708,11 +710,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:577 +#: ../../tutorial/controlflow.rst:581 msgid "will print ``5``." msgstr "irá exibir ``5``." -#: ../../tutorial/controlflow.rst:579 +#: ../../tutorial/controlflow.rst:583 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, " @@ -724,11 +726,11 @@ msgstr "" "instâncias de classes. Por exemplo, a função a seguir acumula os argumentos " "passados, nas chamadas subsequentes::" -#: ../../tutorial/controlflow.rst:592 +#: ../../tutorial/controlflow.rst:596 msgid "This will print ::" msgstr "Isso exibirá::" -#: ../../tutorial/controlflow.rst:598 +#: ../../tutorial/controlflow.rst:602 msgid "" "If you don't want the default to be shared between subsequent calls, you can " "write the function like this instead::" @@ -736,11 +738,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:611 +#: ../../tutorial/controlflow.rst:615 msgid "Keyword Arguments" msgstr "Argumentos nomeados" -#: ../../tutorial/controlflow.rst:613 +#: ../../tutorial/controlflow.rst:617 msgid "" "Functions can also be called using :term:`keyword arguments ` of the form ``kwarg=value``. For instance, the following " @@ -749,21 +751,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:622 +#: ../../tutorial/controlflow.rst:626 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:633 +#: ../../tutorial/controlflow.rst:637 msgid "but all the following calls would be invalid::" msgstr "mas todas as formas a seguir seriam inválidas::" -#: ../../tutorial/controlflow.rst:640 +#: ../../tutorial/controlflow.rst:644 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 " @@ -775,13 +777,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:656 +#: ../../tutorial/controlflow.rst:660 msgid "" "When a final formal parameter of the form ``**name`` is present, it receives " "a dictionary (see :ref:`typesmapping`) containing all keyword arguments " @@ -799,15 +801,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:673 +#: ../../tutorial/controlflow.rst:677 msgid "It could be called like this::" msgstr "Pode ser chamada assim::" -#: ../../tutorial/controlflow.rst:681 +#: ../../tutorial/controlflow.rst:685 msgid "and of course it would print:" msgstr "e, claro, exibiria:" -#: ../../tutorial/controlflow.rst:694 +#: ../../tutorial/controlflow.rst:698 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." @@ -815,11 +817,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:698 +#: ../../tutorial/controlflow.rst:702 msgid "Special parameters" msgstr "Parâmetros especiais" -#: ../../tutorial/controlflow.rst:700 +#: ../../tutorial/controlflow.rst:704 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 " @@ -834,11 +836,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:706 +#: ../../tutorial/controlflow.rst:710 msgid "A function definition may look like:" msgstr "A definição de uma função pode parecer com:" -#: ../../tutorial/controlflow.rst:717 +#: ../../tutorial/controlflow.rst:721 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-" @@ -850,11 +852,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:724 +#: ../../tutorial/controlflow.rst:728 msgid "Positional-or-Keyword Arguments" msgstr "Argumentos posicional-ou-nomeados" -#: ../../tutorial/controlflow.rst:726 +#: ../../tutorial/controlflow.rst:730 msgid "" "If ``/`` and ``*`` are not present in the function definition, arguments may " "be passed to a function by position or by keyword." @@ -862,11 +864,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:731 +#: ../../tutorial/controlflow.rst:735 msgid "Positional-Only Parameters" msgstr "Parâmetros somente-posicionais" -#: ../../tutorial/controlflow.rst:733 +#: ../../tutorial/controlflow.rst:737 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 " @@ -884,7 +886,7 @@ msgstr "" "Se não existe uma ``/`` na definição da função, não existe parâmetros " "somente-posicionais." -#: ../../tutorial/controlflow.rst:741 +#: ../../tutorial/controlflow.rst:745 msgid "" "Parameters following the ``/`` may be *positional-or-keyword* or *keyword-" "only*." @@ -892,11 +894,11 @@ msgstr "" "Parâmetros após a ``/`` podem ser *posicional-ou-nomeado* ou *somente-" "nomeado*." -#: ../../tutorial/controlflow.rst:745 +#: ../../tutorial/controlflow.rst:749 msgid "Keyword-Only Arguments" msgstr "Argumentos somente-nomeados" -#: ../../tutorial/controlflow.rst:747 +#: ../../tutorial/controlflow.rst:751 msgid "" "To mark parameters as *keyword-only*, indicating the parameters must be " "passed by keyword argument, place an ``*`` in the arguments list just before " @@ -906,11 +908,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:753 +#: ../../tutorial/controlflow.rst:757 msgid "Function Examples" msgstr "Exemplos de funções" -#: ../../tutorial/controlflow.rst:755 +#: ../../tutorial/controlflow.rst:759 msgid "" "Consider the following example function definitions paying close attention " "to the markers ``/`` and ``*``::" @@ -918,25 +920,25 @@ msgstr "" "Considere o seguinte exemplo de definição de função com atenção redobrada " "para os marcadores ``/`` e ``*``::" -#: ../../tutorial/controlflow.rst:771 +#: ../../tutorial/controlflow.rst:775 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:781 +#: ../../tutorial/controlflow.rst:785 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:792 +#: ../../tutorial/controlflow.rst:796 msgid "" "The third function ``kwd_only_args`` only allows keyword arguments as " "indicated by a ``*`` in the function definition::" @@ -944,42 +946,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:803 +#: ../../tutorial/controlflow.rst:807 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:823 +#: ../../tutorial/controlflow.rst:827 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:828 +#: ../../tutorial/controlflow.rst:832 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:837 +#: ../../tutorial/controlflow.rst:841 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:844 +#: ../../tutorial/controlflow.rst:848 msgid "" "In other words, the names of positional-only parameters can be used in " "``**kwds`` without ambiguity." @@ -987,22 +990,22 @@ msgstr "" "Em outras palavras, o nome de parâmetros somente-posicional podem ser usados " "em ``**kwds`` sem ambiguidade." -#: ../../tutorial/controlflow.rst:849 +#: ../../tutorial/controlflow.rst:853 msgid "Recap" msgstr "Recapitulando" -#: ../../tutorial/controlflow.rst:851 +#: ../../tutorial/controlflow.rst:855 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:855 +#: ../../tutorial/controlflow.rst:859 msgid "As guidance:" msgstr "Como guia:" -#: ../../tutorial/controlflow.rst:857 +#: ../../tutorial/controlflow.rst:861 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 " @@ -1016,7 +1019,7 @@ msgstr "" "quando ela é chamada ou se você precisa ter alguns parâmetros posicionais e " "alguns nomeados." -#: ../../tutorial/controlflow.rst:862 +#: ../../tutorial/controlflow.rst:866 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 " @@ -1026,7 +1029,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:865 +#: ../../tutorial/controlflow.rst:869 msgid "" "For an API, use positional-only to prevent breaking API changes if the " "parameter's name is modified in the future." @@ -1034,11 +1037,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:871 +#: ../../tutorial/controlflow.rst:875 msgid "Arbitrary Argument Lists" msgstr "Listas de argumentos arbitrárias" -#: ../../tutorial/controlflow.rst:876 +#: ../../tutorial/controlflow.rst:880 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 " @@ -1050,26 +1053,26 @@ 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:885 +#: ../../tutorial/controlflow.rst:889 msgid "" -"Normally, these ``variadic`` arguments will be last in the list of formal " +"Normally, these *variadic* arguments will be last in the list of formal " "parameters, because they scoop up all remaining input arguments that are " "passed to the function. Any formal parameters which occur after the " "``*args`` parameter are 'keyword-only' arguments, meaning that they can only " "be used as keywords rather than positional arguments. ::" msgstr "" -"Normalmente, esses argumentos ``variádicos`` estarão no final da lista de " +"Normalmente, esses argumentos *variádicos* estarão no final da lista de " "parâmetros formais, porque eles englobam todos os argumentos de entrada " "restantes, que são passados para a função. Quaisquer parâmetros formais que " "ocorrem após o parâmetro ``*args`` são argumentos 'somente-nomeados' , o que " "significa que eles só podem ser usados como chave-valor, em vez de " "argumentos posicionais::" -#: ../../tutorial/controlflow.rst:902 +#: ../../tutorial/controlflow.rst:906 msgid "Unpacking Argument Lists" msgstr "Desempacotando listas de argumentos" -#: ../../tutorial/controlflow.rst:904 +#: ../../tutorial/controlflow.rst:908 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 " @@ -1085,7 +1088,7 @@ msgstr "" "uma lista ou tupla, escreva a chamada de função com o operador ``*`` para " "desempacotá-los da sequência::" -#: ../../tutorial/controlflow.rst:920 +#: ../../tutorial/controlflow.rst:924 msgid "" "In the same fashion, dictionaries can deliver keyword arguments with the " "``**``\\ -operator::" @@ -1093,11 +1096,11 @@ msgstr "" "Da mesma forma, dicionários podem produzir argumentos nomeados com o " "operador ``**``::" -#: ../../tutorial/controlflow.rst:936 +#: ../../tutorial/controlflow.rst:940 msgid "Lambda Expressions" msgstr "Expressões lambda" -#: ../../tutorial/controlflow.rst:938 +#: ../../tutorial/controlflow.rst:942 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``. " @@ -1115,7 +1118,7 @@ msgstr "" "função normal. Como definições de funções aninhadas, as funções lambda podem " "referenciar variáveis contidas no escopo::" -#: ../../tutorial/controlflow.rst:955 +#: ../../tutorial/controlflow.rst:959 msgid "" "The above example uses a lambda expression to return a function. Another " "use is to pass a small function as an argument::" @@ -1123,11 +1126,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:967 +#: ../../tutorial/controlflow.rst:971 msgid "Documentation Strings" msgstr "Strings de documentação" -#: ../../tutorial/controlflow.rst:974 +#: ../../tutorial/controlflow.rst:978 msgid "" "Here are some conventions about the content and formatting of documentation " "strings." @@ -1135,7 +1138,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:977 +#: ../../tutorial/controlflow.rst:981 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 " @@ -1149,7 +1152,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:983 +#: ../../tutorial/controlflow.rst:987 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. " @@ -1161,7 +1164,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:988 +#: ../../tutorial/controlflow.rst:992 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 " @@ -1169,11 +1172,11 @@ msgid "" "line *after* the first line of the string determines the amount of " "indentation for the entire documentation string. (We can't use the first " "line since it is generally adjacent to the string's opening quotes so its " -"indentation is not apparent in the string literal.) Whitespace \"equivalent" -"\" to this indentation is then stripped from the start of all lines of the " -"string. Lines that are indented less should not occur, but if they occur " -"all their leading whitespace should be stripped. Equivalence of whitespace " -"should be tested after expansion of tabs (to 8 spaces, normally)." +"indentation is not apparent in the string literal.) Whitespace " +"\"equivalent\" to this indentation is then stripped from the start of all " +"lines of the string. Lines that are indented less should not occur, but if " +"they occur all their leading whitespace should be stripped. Equivalence of " +"whitespace should be tested after expansion of tabs (to 8 spaces, normally)." msgstr "" "O analisador Python não remove a indentação de literais string multilinha. " "Portanto, ferramentas que processem strings de documentação precisam lidar " @@ -1187,15 +1190,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:1000 +#: ../../tutorial/controlflow.rst:1004 msgid "Here is an example of a multi-line docstring::" msgstr "Eis um exemplo de uma string de documentação multilinha::" -#: ../../tutorial/controlflow.rst:1018 +#: ../../tutorial/controlflow.rst:1022 msgid "Function Annotations" msgstr "Anotações de função" -#: ../../tutorial/controlflow.rst:1026 +#: ../../tutorial/controlflow.rst:1030 msgid "" ":ref:`Function annotations ` are completely optional metadata " "information about the types used by user-defined functions (see :pep:`3107` " @@ -1205,7 +1208,7 @@ 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:1030 +#: ../../tutorial/controlflow.rst:1034 msgid "" ":term:`Annotations ` are stored in the :attr:" "`__annotations__` attribute of the function as a dictionary and have no " @@ -1219,18 +1222,18 @@ 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 " "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 " +"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::" -#: ../../tutorial/controlflow.rst:1052 +#: ../../tutorial/controlflow.rst:1056 msgid "Intermezzo: Coding Style" msgstr "Intermezzo: estilo de codificação" -#: ../../tutorial/controlflow.rst:1057 +#: ../../tutorial/controlflow.rst:1061 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 " @@ -1245,7 +1248,7 @@ msgstr "" "ler, para os outros, é sempre uma boa ideia, e adotar um estilo de " "codificação agradável ajuda bastante." -#: ../../tutorial/controlflow.rst:1063 +#: ../../tutorial/controlflow.rst:1067 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 " @@ -1257,11 +1260,11 @@ msgstr "" "agradável. Todo desenvolvedor Python deve lê-lo em algum momento; eis os " "pontos mais importantes, selecionados para você:" -#: ../../tutorial/controlflow.rst:1068 +#: ../../tutorial/controlflow.rst:1072 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:1070 +#: ../../tutorial/controlflow.rst:1074 msgid "" "4 spaces are a good compromise between small indentation (allows greater " "nesting depth) and large indentation (easier to read). Tabs introduce " @@ -1271,11 +1274,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:1074 +#: ../../tutorial/controlflow.rst:1078 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:1076 +#: ../../tutorial/controlflow.rst:1080 msgid "" "This helps users with small displays and makes it possible to have several " "code files side-by-side on larger displays." @@ -1283,7 +1286,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:1079 +#: ../../tutorial/controlflow.rst:1083 msgid "" "Use blank lines to separate functions and classes, and larger blocks of code " "inside functions." @@ -1291,15 +1294,15 @@ msgstr "" "Deixe linhas em branco para separar funções e classes, e blocos de código " "dentro de funções." -#: ../../tutorial/controlflow.rst:1082 +#: ../../tutorial/controlflow.rst:1086 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:1084 +#: ../../tutorial/controlflow.rst:1088 msgid "Use docstrings." msgstr "Escreva strings de documentação." -#: ../../tutorial/controlflow.rst:1086 +#: ../../tutorial/controlflow.rst:1090 msgid "" "Use spaces around operators and after commas, but not directly inside " "bracketing constructs: ``a = f(1, 2) + g(3, 4)``." @@ -1307,7 +1310,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:1089 +#: ../../tutorial/controlflow.rst:1093 msgid "" "Name your classes and functions consistently; the convention is to use " "``UpperCamelCase`` for classes and ``lowercase_with_underscores`` for " @@ -1320,7 +1323,7 @@ msgstr "" "dos métodos (veja :ref:`tut-firstclasses` para mais informações sobre " "classes e métodos)." -#: ../../tutorial/controlflow.rst:1094 +#: ../../tutorial/controlflow.rst:1098 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 " @@ -1330,7 +1333,7 @@ msgstr "" "contexto internacional. O padrão do Python, UTF-8, ou mesmo ASCII puro " "funciona bem em qualquer caso." -#: ../../tutorial/controlflow.rst:1098 +#: ../../tutorial/controlflow.rst:1102 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 " @@ -1340,11 +1343,11 @@ msgstr "" "apenas a menor chance de pessoas falando um idioma diferente ler ou manter o " "código." -#: ../../tutorial/controlflow.rst:1104 +#: ../../tutorial/controlflow.rst:1108 msgid "Footnotes" msgstr "Notas de rodapé" -#: ../../tutorial/controlflow.rst:1105 +#: ../../tutorial/controlflow.rst:1109 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 " diff --git a/tutorial/datastructures.po b/tutorial/datastructures.po index 165029367..e7d7d6070 100644 --- a/tutorial/datastructures.po +++ b/tutorial/datastructures.po @@ -1,31 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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 -# Leticia Portella , 2021 -# Cauê Baasch de Souza , 2021 -# Victor Matheus Castro , 2021 -# Adorilson Bezerra , 2021 +# python-doc bot, 2025 # #, 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:50+0000\n" -"Last-Translator: Adorilson Bezerra , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:58+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../tutorial/datastructures.rst:5 msgid "Data Structures" @@ -151,12 +147,12 @@ msgstr "Um exemplo que usa a maior parte dos métodos das listas::" 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 " -"default ``None``. [1]_ This is a design principle for all mutable data " +"default ``None``. [#]_ This is a design principle for all mutable data " "structures in Python." msgstr "" "Você pode ter percebido que métodos como ``insert``, ``remove`` ou ``sort``, " "que apenas modificam a lista, não têm valor de retorno impresso -- eles " -"retornam o ``None`` padrão. [1]_ Isto é um princípio de design para todas as " +"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 @@ -347,7 +343,7 @@ msgid "" "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 @@ -460,8 +456,8 @@ 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 msgid "" @@ -481,7 +477,7 @@ 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 " @@ -703,23 +699,24 @@ 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:662 +#: ../../tutorial/datastructures.rst:663 msgid "" -"The comparison operators ``in`` and ``not in`` check whether a value occurs " -"(does not occur) in a sequence. The operators ``is`` and ``is not`` compare " -"whether two objects are really the same object. All comparison operators " -"have the same priority, which is lower than that of all numerical operators." +"The comparison operators ``in`` and ``not in`` are membership tests that " +"determine whether a value is in (or not in) a container. The operators " +"``is`` and ``is not`` compare whether two objects are really the same " +"object. All comparison operators have the same priority, which is lower " +"than that of all numerical operators." msgstr "" -"Os operadores de comparação ``in`` e ``not in`` verificam se um valor ocorre " -"(ou não ocorre) em uma dada sequência. Os operadores ``is`` e ``is not`` " -"comparam se dois objetos são na verdade o mesmo objeto. Todos os operadores " -"de comparação possuem a mesma precedência, que é menor do que a prioridade " -"de todos os operadores numéricos." +"Os operadores de comparação ``in`` e ``not in`` fazem testes de inclusão que " +"determinam se um valor está (ou não está) em um contêiner. Os operadores " +"``is`` e ``is not`` comparam se dois objetos são realmente o mesmo objeto. " +"Todos os operadores de comparação possuem a mesma prioridade, que é menor " +"que a prioridade de todos os operadores numéricos." -#: ../../tutorial/datastructures.rst:667 +#: ../../tutorial/datastructures.rst:669 msgid "" "Comparisons can be chained. For example, ``a < b == c`` tests whether ``a`` " "is less than ``b`` and moreover ``b`` equals ``c``." @@ -727,7 +724,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:670 +#: ../../tutorial/datastructures.rst:672 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 " @@ -744,7 +741,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:677 +#: ../../tutorial/datastructures.rst:679 msgid "" "The Boolean operators ``and`` and ``or`` are so-called *short-circuit* " "operators: their arguments are evaluated from left to right, and evaluation " @@ -761,7 +758,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:684 +#: ../../tutorial/datastructures.rst:686 msgid "" "It is possible to assign the result of a comparison or other Boolean " "expression to a variable. For example, ::" @@ -769,7 +766,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:692 +#: ../../tutorial/datastructures.rst:694 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:702 +#: ../../tutorial/datastructures.rst:704 msgid "Comparing Sequences and Other Types" msgstr "Comparando sequências e outros tipos" -#: ../../tutorial/datastructures.rst:703 +#: ../../tutorial/datastructures.rst:705 msgid "" "Sequence objects typically may be compared to other objects with the same " "sequence type. The comparison uses *lexicographical* ordering: first the " @@ -814,7 +811,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:723 +#: ../../tutorial/datastructures.rst:725 msgid "" "Note that comparing objects of different types with ``<`` or ``>`` is legal " "provided that the objects have appropriate comparison methods. For example, " @@ -829,11 +826,11 @@ msgstr "" "fornecer uma ordenação arbitrária, o interpretador levantará um :exc:" "`TypeError`." -#: ../../tutorial/datastructures.rst:731 +#: ../../tutorial/datastructures.rst:733 msgid "Footnotes" msgstr "Notas de rodapé" -#: ../../tutorial/datastructures.rst:732 +#: ../../tutorial/datastructures.rst:734 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 6b3c09728..a943982be 100644 --- a/tutorial/errors.po +++ b/tutorial/errors.po @@ -1,29 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, Python Software 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 , 2021 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.10\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-08-07 13:13+0000\n" -"PO-Revision-Date: 2021-06-28 01:50+0000\n" -"Last-Translator: Rafael Fontenelle , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2026-03-05 18:13+0000\n" +"PO-Revision-Date: 2025-09-22 15:58+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../tutorial/errors.rst:5 msgid "Errors and Exceptions" @@ -148,9 +146,9 @@ 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`. ::" +"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." @@ -179,11 +177,10 @@ 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 "" @@ -269,7 +266,7 @@ 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::" @@ -280,8 +277,8 @@ msgid "" "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`." @@ -372,40 +369,48 @@ msgstr "Encadeamento de exceções" #: ../../tutorial/errors.rst:278 msgid "" -"The :keyword:`raise` statement allows an optional :keyword:`from` " -"which enables chaining exceptions. For example::" +"If an unhandled exception occurs inside an :keyword:`except` section, it " +"will have the exception being handled attached to it and included in the " +"error message::" msgstr "" -"A instrução :keyword:`raise` permite um :keyword:`from ` opcional que " -"torna possível o encadear exceções. Por exemplo::" +"Se uma exceção não tratada ocorrer dentro de uma seção :keyword:`except`, " +"ela terá a exceção sendo tratada anexada a ela e incluída na mensagem de " +"erro::" -#: ../../tutorial/errors.rst:284 +#: ../../tutorial/errors.rst:297 +msgid "" +"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:303 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:305 +#: ../../tutorial/errors.rst:324 msgid "" -"Exception chaining happens automatically when an exception is raised inside " -"an :keyword:`except` or :keyword:`finally` section. This can be disabled by " -"using ``from None`` idiom:" +"It also allows disabling automatic exception chaining using the ``from " +"None`` idiom::" msgstr "" -"O encadeamento de exceções acontece automaticamente quando uma exceção é " -"levantada dentro de uma seção :keyword:`except` ou :keyword:`finally`. O " -"encadeamento de exceções pode ser desativado usando o instrução ``from " -"None``:" +"Ele também permite desabilitar o encadeamento automático de exceções usando " +"o idioma ``from None``::" -#: ../../tutorial/errors.rst:318 +#: ../../tutorial/errors.rst:336 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:324 +#: ../../tutorial/errors.rst:342 msgid "User-defined Exceptions" msgstr "Exceções definidas pelo usuário" -#: ../../tutorial/errors.rst:326 +#: ../../tutorial/errors.rst:344 msgid "" "Programs may name their own exceptions by creating a new exception class " "(see :ref:`tut-classes` for more about Python classes). Exceptions should " @@ -417,32 +422,27 @@ msgstr "" "Python). Exceções devem ser derivadas da classe :exc:`Exception`, direta ou " "indiretamente." -#: ../../tutorial/errors.rst:330 +#: ../../tutorial/errors.rst:348 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 " "allow information about the error to be extracted by handlers for the " -"exception. When creating a module that can raise several distinct errors, a " -"common practice is to create a base class for exceptions defined by that " -"module, and subclass that to create specific exception classes for different " -"error conditions::" +"exception." msgstr "" -"Classes de exceções podem ser definidas para fazer qualquer coisa que " -"qualquer outra classe faz, mas em geral são bem simples, frequentemente " -"oferecendo apenas alguns atributos que fornecem informações sobre o erro que " -"ocorreu. Ao criar um módulo que pode gerar diversos erros, uma prática comum " -"é criar uma classe base para as exceções definidas por aquele módulo, e as " -"classes específicas para cada condição de erro como subclasses dela::" +"As classes de exceção podem ser definidas para fazer qualquer coisa que " +"qualquer outra classe pode fazer, mas geralmente são mantidas simples, " +"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:368 +#: ../../tutorial/errors.rst:352 msgid "" "Most exceptions are defined with names that end in \"Error\", similar to the " "naming of the standard exceptions." msgstr "" -"É comum que novas exceções sejam definidas com nomes terminando em \"Error" -"\", semelhante a muitas exceções embutidas." +"É comum que novas exceções sejam definidas com nomes terminando em " +"\"Error\", semelhante a muitas exceções embutidas." -#: ../../tutorial/errors.rst:371 +#: ../../tutorial/errors.rst:355 msgid "" "Many standard modules define their own exceptions to report errors that may " "occur in functions they define. More information on classes is presented in " @@ -452,11 +452,11 @@ msgstr "" "no interior das funções que definem. Mais informações sobre classes aparecem " "no capítulo :ref:`tut-classes`." -#: ../../tutorial/errors.rst:379 +#: ../../tutorial/errors.rst:363 msgid "Defining Clean-up Actions" msgstr "Definindo ações de limpeza" -#: ../../tutorial/errors.rst:381 +#: ../../tutorial/errors.rst:365 msgid "" "The :keyword:`try` statement has another optional clause which is intended " "to define clean-up actions that must be executed under all circumstances. " @@ -466,7 +466,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:395 +#: ../../tutorial/errors.rst:379 msgid "" "If a :keyword:`finally` clause is present, the :keyword:`!finally` clause " "will execute as the last task before the :keyword:`try` statement completes. " @@ -480,7 +480,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:401 +#: ../../tutorial/errors.rst:385 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 " @@ -490,9 +490,9 @@ msgstr "" "Se ocorrer uma exceção durante a execução da cláusula :keyword:`!try`, a " "exceção poderá ser tratada por uma cláusula :keyword:`except`. Se a exceção " "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`." +"novamente após a execução da cláusula :keyword:`!finally`." -#: ../../tutorial/errors.rst:407 +#: ../../tutorial/errors.rst:391 msgid "" "An exception could occur during execution of an :keyword:`!except` or :" "keyword:`!else` clause. Again, the exception is re-raised after the :keyword:" @@ -502,7 +502,7 @@ msgstr "" "except` ou :keyword:`!else`. Novamente, a exceção é re-levantada depois que :" "keyword:`!finally` é executada." -#: ../../tutorial/errors.rst:411 +#: ../../tutorial/errors.rst:395 msgid "" "If the :keyword:`!finally` clause executes a :keyword:`break`, :keyword:" "`continue` or :keyword:`return` statement, exceptions are not re-raised." @@ -511,7 +511,7 @@ msgstr "" "keyword:`continue` ou :keyword:`return`, as exceções não são levantadas " "novamente." -#: ../../tutorial/errors.rst:415 +#: ../../tutorial/errors.rst:399 msgid "" "If the :keyword:`!try` statement reaches a :keyword:`break`, :keyword:" "`continue` or :keyword:`return` statement, the :keyword:`!finally` clause " @@ -523,7 +523,7 @@ msgstr "" "executada imediatamente antes da execução da instrução :keyword:`!break`, :" "keyword:`!continue` ou :keyword:`!return`." -#: ../../tutorial/errors.rst:421 +#: ../../tutorial/errors.rst:405 msgid "" "If a :keyword:`!finally` clause includes a :keyword:`!return` statement, the " "returned value will be the one from the :keyword:`!finally` clause's :" @@ -535,15 +535,15 @@ msgstr "" "cláusula :keyword:`!finally`, não o valor da instrução :keyword:`!return` da " "cláusula :keyword:`!try`." -#: ../../tutorial/errors.rst:427 +#: ../../tutorial/errors.rst:411 msgid "For example::" msgstr "Por exemplo::" -#: ../../tutorial/errors.rst:438 +#: ../../tutorial/errors.rst:422 msgid "A more complicated example::" msgstr "Um exemplo mais complicado::" -#: ../../tutorial/errors.rst:463 +#: ../../tutorial/errors.rst:447 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 :" @@ -555,7 +555,7 @@ msgstr "" "é tratada pela cláusula :keyword:`except` e portanto é re-levantada depois " "que a cláusula :keyword:`!finally` é executada." -#: ../../tutorial/errors.rst:468 +#: ../../tutorial/errors.rst:452 msgid "" "In real world applications, the :keyword:`finally` clause is useful for " "releasing external resources (such as files or network connections), " @@ -565,11 +565,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:476 +#: ../../tutorial/errors.rst:460 msgid "Predefined Clean-up Actions" msgstr "Ações de limpeza predefinidas" -#: ../../tutorial/errors.rst:478 +#: ../../tutorial/errors.rst:462 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 " @@ -581,7 +581,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:486 +#: ../../tutorial/errors.rst:470 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 " @@ -597,7 +597,7 @@ msgstr "" "utilizados com a certeza de que sempre serão prontamente e corretamente " "finalizados. ::" -#: ../../tutorial/errors.rst:496 +#: ../../tutorial/errors.rst:480 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 " diff --git a/tutorial/floatingpoint.po b/tutorial/floatingpoint.po index 523f422cc..11737b42d 100644 --- a/tutorial/floatingpoint.po +++ b/tutorial/floatingpoint.po @@ -1,27 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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.10\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-06-29 12:56+0000\n" -"PO-Revision-Date: 2021-06-28 01:50+0000\n" -"Last-Translator: Rafael Fontenelle , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:58+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../tutorial/floatingpoint.rst:9 msgid "Floating Point Arithmetic: Issues and Limitations" @@ -61,17 +61,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:32 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:37 ../../tutorial/floatingpoint.rst:41 @@ -85,9 +84,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:49 msgid "" @@ -125,22 +123,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:71 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:77 msgid "" @@ -165,7 +162,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``." @@ -177,7 +174,7 @@ msgid "" "shortest of these and simply display ``0.1``." msgstr "" "Historicamente, o prompt do Python e a função embutida :func:`repr` " -"utilizariam o que contivesse 17 dígitos significativos," +"utilizariam o que contivesse 17 dígitos significativos, " "``0.10000000000000001``. Desde a versão do Python 3.1, o Python (na maioria " "dos sistemas) agora é possível optar pela forma mais reduzida, exibindo " "simplesmente o número ``0.1``." @@ -202,8 +199,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:111 msgid "" @@ -218,9 +215,9 @@ 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:120 msgid "" @@ -228,9 +225,9 @@ msgid "" "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:127 msgid "" @@ -241,20 +238,20 @@ 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:134 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." +"\"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:139 @@ -270,8 +267,8 @@ msgstr "" "Como dizemos perto do final, \"não há respostas fáceis\". Ainda assim, não " "se percam indevidamente no uso do ponto flutuante! Os erros nas operações do " "tipo float do Python são heranças do hardware de ponto flutuante e, a " -"maioria dos computadores estão na ordem de não mais do que 1 parte em 2\\*" -"\\*53 por operação. Isso é mais do que o suficiente para a maioria das " +"maioria dos computadores estão na ordem de não mais do que 1 parte em " +"2\\*\\*53 por operação. Isso é mais do que o suficiente para a maioria das " "tarefas, portanto, é importante lembrar que não se trata de uma aritmética " "decimal e que toda operação com o tipo float poderá via a apresentar novos " "problemas referentes ao arredondamento." @@ -333,9 +330,9 @@ msgid "" "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:173 msgid "" @@ -343,15 +340,15 @@ msgid "" "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:179 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:185 msgid "" @@ -359,7 +356,7 @@ msgid "" "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:191 msgid "" @@ -382,10 +379,10 @@ 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:209 msgid "Representation Error" @@ -397,8 +394,8 @@ msgid "" "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:215 @@ -419,20 +416,21 @@ msgstr "" 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::" +"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 não pode ser representados exatamente sendo " +"fração binária. Atualmente, quase todos computadores (novembro de 2000) 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 da norma 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:229 msgid "as ::" @@ -453,7 +451,7 @@ msgid "" 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:246 msgid "" @@ -461,7 +459,7 @@ msgid "" "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:252 msgid "" @@ -500,8 +498,8 @@ 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:276 msgid "" @@ -510,13 +508,10 @@ msgid "" "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:284 msgid "" @@ -524,4 +519,4 @@ msgid "" "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 e62a131a6..a99d0ca75 100644 --- a/tutorial/index.po +++ b/tutorial/index.po @@ -1,33 +1,31 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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 -# Leticia Portella , 2021 -# Adorilson Bezerra , 2021 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.10\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-07-27 13:07+0000\n" -"PO-Revision-Date: 2021-06-28 01:50+0000\n" -"Last-Translator: Adorilson Bezerra , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:58+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"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 "" @@ -39,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 "" @@ -52,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 "" @@ -65,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 @@ -92,7 +90,7 @@ msgid "" 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:" +"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." diff --git a/tutorial/inputoutput.po b/tutorial/inputoutput.po index 1415f189c..1d54c4223 100644 --- a/tutorial/inputoutput.po +++ b/tutorial/inputoutput.po @@ -1,30 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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 -# Claudio Rogerio Carvalho Filho , 2021 -# Adson Rodrigues , 2021 -# Adorilson Bezerra , 2021 +# python-doc bot, 2025 # #, 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:50+0000\n" -"Last-Translator: Adorilson Bezerra , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:58+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../tutorial/inputoutput.rst:5 msgid "Input and Output" @@ -195,21 +192,34 @@ msgstr "" #: ../../tutorial/inputoutput.rst:136 msgid "" -"For a reference on these format specifications, see the reference guide for " -"the :ref:`formatspec`." +"The ``=`` specifier can be used to expand an expression to the text of the " +"expression, an equal sign, then the representation of the evaluated " +"expression:" msgstr "" -"Para uma referência dessas especificações de formatos, veja o guia de " -"referência para :ref:`formatspec`." +"O especificador ``=`` pode ser usado para expandir uma expressão para o " +"texto da expressão, um sinal de igual e, então, a representação da expressão " +"avaliada:" -#: ../../tutorial/inputoutput.rst:142 +#: ../../tutorial/inputoutput.rst:145 +msgid "" +"See :ref:`self-documenting expressions ` for more " +"information on the ``=`` specifier. For a reference on these format " +"specifications, see the reference guide for the :ref:`formatspec`." +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`." + +#: ../../tutorial/inputoutput.rst:152 msgid "The String format() Method" msgstr "O método format()" -#: ../../tutorial/inputoutput.rst:144 +#: ../../tutorial/inputoutput.rst:154 msgid "Basic usage of the :meth:`str.format` method looks like this::" msgstr "Um uso básico do método :meth:`str.format` tem esta forma::" -#: ../../tutorial/inputoutput.rst:149 +#: ../../tutorial/inputoutput.rst:159 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 " @@ -221,7 +231,7 @@ msgstr "" "chaves pode ser usado para referenciar a posição do objeto passado no " "método :meth:`str.format`. ::" -#: ../../tutorial/inputoutput.rst:159 +#: ../../tutorial/inputoutput.rst:169 msgid "" "If keyword arguments are used in the :meth:`str.format` method, their values " "are referred to by using the name of the argument. ::" @@ -229,11 +239,11 @@ msgstr "" "Se argumentos nomeados são passados para o método :meth:`str.format`, seus " "valores serão referenciados usando o nome do argumento::" -#: ../../tutorial/inputoutput.rst:166 +#: ../../tutorial/inputoutput.rst:176 msgid "Positional and keyword arguments can be arbitrarily combined::" msgstr "Argumentos posicionais e nomeados podem ser combinados à vontade::" -#: ../../tutorial/inputoutput.rst:172 +#: ../../tutorial/inputoutput.rst:182 msgid "" "If you have a really long format string that you don't want to split up, it " "would be nice if you could reference the variables to be formatted by name " @@ -245,15 +255,15 @@ msgstr "" "posição. Isto pode ser feito passando um dicionário usando colchetes " "``'[]'`` para acessar as chaves. ::" -#: ../../tutorial/inputoutput.rst:182 +#: ../../tutorial/inputoutput.rst:192 msgid "" -"This could also be done by passing the table as keyword arguments with the " -"'**' notation. ::" +"This could also be done by passing the ``table`` dictionary as keyword " +"arguments with the ``**`` notation. ::" msgstr "" -"Isto também pode ser feito passando o dicionário como argumento do método, " -"usando a notação `**`::" +"Isto também pode ser feito passando o dicionário ``table`` como argumentos " +"nomeados com a notação ``**``. ::" -#: ../../tutorial/inputoutput.rst:189 +#: ../../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." @@ -261,15 +271,15 @@ msgstr "" "Isto é particularmente útil em conjunto com a função embutida :func:`vars`, " "que devolve um dicionário contendo todas as variáveis locais." -#: ../../tutorial/inputoutput.rst:192 +#: ../../tutorial/inputoutput.rst:202 msgid "" -"As an example, the following lines produce a tidily-aligned set of columns " +"As an example, the following lines produce a tidily aligned set of columns " "giving integers and their squares and cubes::" msgstr "" "Como exemplo, as linhas seguintes produzem um conjunto de colunas alinhadas, " "com alguns inteiros e seus quadrados e cubos::" -#: ../../tutorial/inputoutput.rst:209 +#: ../../tutorial/inputoutput.rst:219 msgid "" "For a complete overview of string formatting with :meth:`str.format`, see :" "ref:`formatstrings`." @@ -277,16 +287,16 @@ msgstr "" "Para uma visão completa da formatação de strings com :meth:`str.format`, " "veja a seção :ref:`formatstrings`." -#: ../../tutorial/inputoutput.rst:214 +#: ../../tutorial/inputoutput.rst:224 msgid "Manual String Formatting" msgstr "Formatação manual de string" -#: ../../tutorial/inputoutput.rst:216 +#: ../../tutorial/inputoutput.rst:226 msgid "Here's the same table of squares and cubes, formatted manually::" msgstr "" "Aqui está a mesma tabela de quadrados e cubos, formatados manualmente::" -#: ../../tutorial/inputoutput.rst:234 +#: ../../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.)" @@ -294,7 +304,7 @@ 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.)" -#: ../../tutorial/inputoutput.rst:237 +#: ../../tutorial/inputoutput.rst:247 msgid "" "The :meth:`str.rjust` method of string objects right-justifies a string in a " "field of a given width by padding it with spaces on the left. There are " @@ -315,7 +325,7 @@ msgstr "" "distorcendo o valor. (Se realmente quiser truncar, sempre se pode adicionar " "uma operação de fatiamento, como em ``x.ljust(n)[:n]``.)" -#: ../../tutorial/inputoutput.rst:246 +#: ../../tutorial/inputoutput.rst:256 msgid "" "There is another method, :meth:`str.zfill`, which pads a numeric string on " "the left with zeros. It understands about plus and minus signs::" @@ -323,11 +333,11 @@ msgstr "" "Existe ainda o método :meth:`str.zfill` que preenche uma string numérica com " "zeros à esquerda, e sabe lidar com sinais positivos e negativos::" -#: ../../tutorial/inputoutput.rst:258 +#: ../../tutorial/inputoutput.rst:268 msgid "Old string formatting" msgstr "Formatação de strings à moda antiga" -#: ../../tutorial/inputoutput.rst:260 +#: ../../tutorial/inputoutput.rst:270 msgid "" "The % operator (modulo) can also be used for string formatting. Given " "``'string' % values``, instances of ``%`` in ``string`` are replaced with " @@ -339,25 +349,27 @@ msgstr "" "substituídas por zero ou mais elementos de ``valores``. Essa operação é " "conhecida como interpolação de string. Por exemplo::" -#: ../../tutorial/inputoutput.rst:269 +#: ../../tutorial/inputoutput.rst:279 msgid "" "More information can be found in the :ref:`old-string-formatting` section." msgstr "" "Mais informação pode ser encontrada na seção :ref:`old-string-formatting`." -#: ../../tutorial/inputoutput.rst:275 +#: ../../tutorial/inputoutput.rst:285 msgid "Reading and Writing Files" msgstr "Leitura e escrita de arquivos" -#: ../../tutorial/inputoutput.rst:281 +#: ../../tutorial/inputoutput.rst:291 msgid "" ":func:`open` returns a :term:`file object`, and is most commonly used with " -"two arguments: ``open(filename, mode)``." +"two positional arguments and one keyword argument: ``open(filename, mode, " +"encoding=None)``" msgstr "" -"A função :func:`open` devolve um :term:`objeto arquivo`, e é frequentemente " -"usada com dois argumentos: ``open(nome_do_arquivo, modo)``." +":func:`open` retorna um :term:`objeto arquivo`, e é mais utilizado com dois " +"argumentos posicionais e um argumento nomeado: ``open(filename, mode, " +"encoding=None)``" -#: ../../tutorial/inputoutput.rst:293 +#: ../../tutorial/inputoutput.rst:304 msgid "" "The first argument is a string containing the filename. The second argument " "is another string containing a few characters describing the way in which " @@ -375,26 +387,30 @@ 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:302 +#: ../../tutorial/inputoutput.rst:313 msgid "" "Normally, files are opened in :dfn:`text mode`, that means, you read and " "write strings from and to the file, which are encoded in a specific " -"encoding. If encoding is not specified, the default is platform dependent " -"(see :func:`open`). ``'b'`` appended to the mode opens the file in :dfn:" -"`binary mode`: now the data is read and written in the form of bytes " -"objects. This mode should be used for all files that don't contain text." -msgstr "" -"Normalmente, arquivos são abertos em :dfn:`modo texto`, ou seja, você lê e " -"grava strings, de e para o arquivo, numa codificação específica. Se a " -"codificação não for especificada, o padrão é dependente da plataforma/" -"sistema operacional (consulte :func:`open`). Incluir ``'b'`` ao *modo* abre " -"o arquivo em :dfn:`modo binário`: os dados são lidos e escritos na forma de " -"bytes. Esse modo deve ser usado para todos os arquivos que não contenham " -"texto." - -#: ../../tutorial/inputoutput.rst:309 +"*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." +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 " +"específica. Se a *codificação* não for especificada, o padrão irá depender " +"da plataforma (veja :func:`open`). Como o UTF-8 é o padrão mais moderno, " +"``encoding=\"utf-8\"`` é recomendado a não ser que você precise utilizar uma " +"*codificação* diferente. Adicionando ``'b'`` ao modo irá abrir o o arquivo " +"em :dfn:`modo binário`. Dados no modo binário são lidos e escritos como " +"objetos :class:`bytes`. Você não pode especificar a *codificação* quando " +"estiver abrindo os arquivos em modo binário." + +#: ../../tutorial/inputoutput.rst:323 msgid "" "In text mode, the default when reading is to convert platform-specific line " "endings (``\\n`` on Unix, ``\\r\\n`` on Windows) to just ``\\n``. When " @@ -413,13 +429,13 @@ msgstr "" "`JPEG` ou :file:`EXE`. Tenha muito cuidado para só usar o modo binário, ao " "ler e gravar esses arquivos." -#: ../../tutorial/inputoutput.rst:317 +#: ../../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::" +"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 " @@ -427,7 +443,7 @@ msgstr "" "Usar :keyword:`!with` também é muito mais curto que escrever seu bloco " "equivalente :keyword:`try`\\ -\\ :keyword:`finally`::" -#: ../../tutorial/inputoutput.rst:330 +#: ../../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 " @@ -437,18 +453,17 @@ msgstr "" "deveria chamar ``f.close()`` para fechar o arquivo e imediatamente liberar " "qualquer recurso do sistema usado por ele." -#: ../../tutorial/inputoutput.rst:335 +#: ../../tutorial/inputoutput.rst:349 msgid "" "Calling ``f.write()`` without using the :keyword:`!with` keyword or calling " "``f.close()`` **might** result in the arguments of ``f.write()`` not being " "completely written to the disk, even if the program exits successfully." msgstr "" -"Chamar ``f.write()`` sem usar a palavra reservada :keyword:`!with` ou " -"chamar``f.close()`` **pode** resultar nos argumentos de ``f.write()`` não " -"serem completamente escritos no disco, mesmo se o programa for encerrado com " -"êxito." +"Chamar ``f.write()`` sem usar a palavra reservada :keyword:`!with` ou chamar " +"``f.close()`` **pode** resultar nos argumentos de ``f.write()`` não serem " +"completamente escritos no disco, mesmo se o programa for encerrado com êxito." -#: ../../tutorial/inputoutput.rst:343 +#: ../../tutorial/inputoutput.rst:357 msgid "" "After a file object is closed, either by a :keyword:`with` statement or by " "calling ``f.close()``, attempts to use the file object will automatically " @@ -458,19 +473,19 @@ msgstr "" "chamando ``f.close()``, as tentativas de usar o arquivo falharão " "automaticamente. ::" -#: ../../tutorial/inputoutput.rst:357 +#: ../../tutorial/inputoutput.rst:371 msgid "Methods of File Objects" msgstr "Métodos de objetos arquivo" -#: ../../tutorial/inputoutput.rst:359 +#: ../../tutorial/inputoutput.rst:373 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:362 +#: ../../tutorial/inputoutput.rst:376 msgid "" "To read a file's contents, call ``f.read(size)``, which reads some quantity " "of data and returns it as a string (in text mode) or bytes object (in binary " @@ -490,10 +505,10 @@ msgstr "" "(em modo binário) são lidos e devolvidos. Se o fim do arquivo for atingido, " "``f.read()`` devolve uma string vazia (``''``). ::" -#: ../../tutorial/inputoutput.rst:376 +#: ../../tutorial/inputoutput.rst:390 msgid "" -"``f.readline()`` reads a single line from the file; a newline character (``" -"\\n``) is left at the end of the string, and is only omitted on the last " +"``f.readline()`` reads a single line from the file; a newline character " +"(``\\n``) is left at the end of the string, and is only omitted on the last " "line of the file if the file doesn't end in a newline. This makes the " "return value unambiguous; if ``f.readline()`` returns an empty string, the " "end of the file has been reached, while a blank line is represented by " @@ -507,7 +522,7 @@ msgstr "" "representadas por um ``'\\n'`` -- uma string contendo apenas o caractere " "terminador de linha. ::" -#: ../../tutorial/inputoutput.rst:390 +#: ../../tutorial/inputoutput.rst:404 msgid "" "For reading lines from a file, you can loop over the file object. This is " "memory efficient, fast, and leads to simple code::" @@ -515,7 +530,7 @@ msgstr "" "Uma maneira alternativa de ler linhas do arquivo é iterar diretamente pelo " "objeto arquivo. É eficiente, rápido e resulta em código mais simples::" -#: ../../tutorial/inputoutput.rst:399 +#: ../../tutorial/inputoutput.rst:413 msgid "" "If you want to read all the lines of a file in a list you can also use " "``list(f)`` or ``f.readlines()``." @@ -523,7 +538,7 @@ msgstr "" "Se desejar ler todas as linhas de um arquivo em uma lista, pode-se usar " "``list(f)`` ou ``f.readlines()``." -#: ../../tutorial/inputoutput.rst:402 +#: ../../tutorial/inputoutput.rst:416 msgid "" "``f.write(string)`` writes the contents of *string* to the file, returning " "the number of characters written. ::" @@ -531,7 +546,7 @@ msgstr "" "``f.write(string)`` escreve o conteúdo de *string* para o arquivo, " "retornando o número de caracteres escritos. ::" -#: ../../tutorial/inputoutput.rst:408 +#: ../../tutorial/inputoutput.rst:422 msgid "" "Other types of objects need to be converted -- either to a string (in text " "mode) or a bytes object (in binary mode) -- before writing them::" @@ -539,7 +554,7 @@ msgstr "" "Outros tipos de objetos precisam ser convertidos -- seja para uma string (em " "modo texto) ou para bytes (em modo binário) -- antes de escrevê-los::" -#: ../../tutorial/inputoutput.rst:416 +#: ../../tutorial/inputoutput.rst:430 msgid "" "``f.tell()`` returns an integer giving the file object's current position in " "the file represented as number of bytes from the beginning of the file when " @@ -549,7 +564,7 @@ msgstr "" "arquivo representado, como número de bytes desde o início do arquivo, no " "modo binário, e um número ininteligível, quando no modo de texto." -#: ../../tutorial/inputoutput.rst:420 +#: ../../tutorial/inputoutput.rst:434 msgid "" "To change the file object's position, use ``f.seek(offset, whence)``. The " "position is computed from adding *offset* to a reference point; the " @@ -566,7 +581,7 @@ msgstr "" "ao fim do arquivo. Este argumento pode ser omitido e o valor padrão é 0, " "usando o início do arquivo como referência. ::" -#: ../../tutorial/inputoutput.rst:439 +#: ../../tutorial/inputoutput.rst:453 msgid "" "In text files (those opened without a ``b`` in the mode string), only seeks " "relative to the beginning of the file are allowed (the exception being " @@ -580,7 +595,7 @@ msgstr "" "são aqueles retornados por chamada à ``f.tell()``, ou zero. Qualquer outro " "valor para *offset* produz um comportamento indefinido." -#: ../../tutorial/inputoutput.rst:445 +#: ../../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 " @@ -590,11 +605,11 @@ msgstr "" "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." -#: ../../tutorial/inputoutput.rst:453 +#: ../../tutorial/inputoutput.rst:467 msgid "Saving structured data with :mod:`json`" msgstr "Gravando dados estruturados com :mod:`json`" -#: ../../tutorial/inputoutput.rst:457 +#: ../../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 " @@ -610,11 +625,11 @@ msgstr "" "tipos de dados mais complexos, como listas e dicionários aninhados, a " "análise e serialização manual tornam-se complicadas." -#: ../../tutorial/inputoutput.rst:464 +#: ../../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 " "hierarchies, and convert them to string representations; this process is " "called :dfn:`serializing`. Reconstructing the data from the string " @@ -625,7 +640,7 @@ msgstr "" "Ao invés de ter usuários constantemente escrevendo e depurando código para " "gravar tipos complicados de dados em arquivos, o Python permite que se use o " "popular formato de troca de dados chamado `JSON (JavaScript Object Notation) " -"`_. O módulo padrão chamado :mod:`json` pode pegar " +"`_. O módulo padrão chamado :mod:`json` pode pegar " "hierarquias de dados em Python e convertê-las em representações de strings; " "esse processo é chamado :dfn:`serialização`. Reconstruir os dados " "estruturados da representação string é chamado :dfn:`desserialização`. Entre " @@ -633,7 +648,7 @@ msgstr "" "armazenada em um arquivo, ou estrutura de dados, ou enviada por uma conexão " "de rede para alguma outra máquina." -#: ../../tutorial/inputoutput.rst:475 +#: ../../tutorial/inputoutput.rst:489 msgid "" "The JSON format is commonly used by modern applications to allow for data " "exchange. Many programmers are already familiar with it, which makes it a " @@ -643,7 +658,7 @@ msgstr "" "troca de dados. Pessoas que programam já estão familiarizadas com esse " "formato, o que o torna uma boa opção para interoperabilidade." -#: ../../tutorial/inputoutput.rst:479 +#: ../../tutorial/inputoutput.rst:493 msgid "" "If you have an object ``x``, you can view its JSON string representation " "with a simple line of code::" @@ -651,7 +666,7 @@ msgstr "" "Um objeto ``x``, pode ser visualizado na sua representação JSON com uma " "simples linha de código::" -#: ../../tutorial/inputoutput.rst:487 +#: ../../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 " @@ -661,15 +676,24 @@ msgstr "" "serializa o objeto para um :term:`arquivo texto`. Se ``f`` é um :term:" "`arquivo texto` aberto para escrita, podemos fazer isto::" -#: ../../tutorial/inputoutput.rst:493 +#: ../../tutorial/inputoutput.rst:507 msgid "" -"To decode the object again, if ``f`` is a :term:`text file` object which has " -"been opened for reading::" +"To decode the object again, if ``f`` is a :term:`binary file` or :term:`text " +"file` object which has been opened for reading::" msgstr "" "Para decodificar o objeto novamente, se ``f`` é um objeto :term:`arquivo " -"texto` que foi aberto para leitura::" +"binário` ou :term:`arquivo texto` que foi aberto para leitura::" + +#: ../../tutorial/inputoutput.rst:513 +msgid "" +"JSON files must be encoded in UTF-8. Use ``encoding=\"utf-8\"`` when opening " +"JSON file as a :term:`text file` for both of reading and writing." +msgstr "" +"Arquivos JSON devem ser codificados em UTF-8. Use ``encoding=\"utf-8\"`` " +"quando abrir um arquivo JSON como um :term:`arquivo texto` tanto para " +"leitura quanto para escrita." -#: ../../tutorial/inputoutput.rst:498 +#: ../../tutorial/inputoutput.rst:516 msgid "" "This simple serialization technique can handle lists and dictionaries, but " "serializing arbitrary class instances in JSON requires a bit of extra " @@ -681,11 +705,11 @@ msgstr "" "pouco mais de esforço. A referência para o módulo :mod:`json` contém uma " "explicação disso." -#: ../../tutorial/inputoutput.rst:504 +#: ../../tutorial/inputoutput.rst:522 msgid ":mod:`pickle` - the pickle module" msgstr "O módulo :mod:`pickle`" -#: ../../tutorial/inputoutput.rst:506 +#: ../../tutorial/inputoutput.rst:524 msgid "" "Contrary to :ref:`JSON `, *pickle* is a protocol which allows the " "serialization of arbitrarily complex Python objects. As such, it is " diff --git a/tutorial/interactive.po b/tutorial/interactive.po index 3b31867da..8a4c144cf 100644 --- a/tutorial/interactive.po +++ b/tutorial/interactive.po @@ -1,29 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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 -# Welington Carlos , 2021 -# Claudio Rogerio Carvalho Filho , 2021 +# python-doc bot, 2025 # #, 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:50+0000\n" -"Last-Translator: Claudio Rogerio Carvalho Filho , " -"2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:58+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../tutorial/interactive.rst:5 msgid "Interactive Input Editing and History Substitution" @@ -45,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 "" @@ -92,7 +90,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 f05e834da..5e032d4f1 100644 --- a/tutorial/interpreter.po +++ b/tutorial/interpreter.po @@ -1,29 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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 -# Claudio Rogerio Carvalho Filho , 2021 -# Adorilson Bezerra , 2021 -# Rafael Fontenelle , 2021 +# python-doc bot, 2025 # #, 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:50+0000\n" -"Last-Translator: Rafael Fontenelle , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:58+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../tutorial/interpreter.rst:5 msgid "Using the Python Interpreter" @@ -78,7 +76,7 @@ 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:" +"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()``." @@ -125,13 +123,13 @@ msgid "" "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 with single quotes." +"*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 o *comando* esteja dentro de aspas duplas." +"para a shell) é aconselhável que todo o *comando* esteja entre as aspas." #: ../../tutorial/interpreter.rst:57 msgid "" diff --git a/tutorial/introduction.po b/tutorial/introduction.po index fa24bf45b..da0dc79c2 100644 --- a/tutorial/introduction.po +++ b/tutorial/introduction.po @@ -1,30 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, Python Software 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 -# Rafael Fontenelle , 2021 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.10\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-08-18 13:46+0000\n" -"PO-Revision-Date: 2021-06-28 01:50+0000\n" -"Last-Translator: Rafael Fontenelle , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2026-03-05 18:13+0000\n" +"PO-Revision-Date: 2025-09-22 15:58+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../tutorial/introduction.rst:5 msgid "An Informal Introduction to Python" @@ -49,6 +46,18 @@ msgstr "" #: ../../tutorial/introduction.rst:16 msgid "" +"You can toggle the display of prompts and output by clicking on ``>>>`` in " +"the upper-right corner of an example box. If you hide the prompts and " +"output for an example, then you can easily copy and paste the input lines " +"into your interpreter." +msgstr "" +"Você pode alternar a exibição de prompts e saída clicando em ``>>>`` no " +"canto superior direito de uma caixa de exemplo. Se você ocultar os prompts e " +"a saída para um exemplo, poderá copiar e colar facilmente as linhas de " +"entrada no seu interpretador." + +#: ../../tutorial/introduction.rst:23 +msgid "" "Many of the examples in this manual, even those entered at the interactive " "prompt, include comments. Comments in Python start with the hash character, " "``#``, and extend to the end of the physical line. A comment may appear at " @@ -59,22 +68,22 @@ 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." -#: ../../tutorial/introduction.rst:24 +#: ../../tutorial/introduction.rst:31 msgid "Some examples::" msgstr "Alguns exemplos:" -#: ../../tutorial/introduction.rst:35 +#: ../../tutorial/introduction.rst:42 msgid "Using Python as a Calculator" msgstr "Usando Python como uma calculadora" -#: ../../tutorial/introduction.rst:37 +#: ../../tutorial/introduction.rst:44 msgid "" "Let's try some simple Python commands. Start the interpreter and wait for " "the primary prompt, ``>>>``. (It shouldn't take long.)" @@ -82,11 +91,11 @@ msgstr "" "Vamos experimentar alguns comandos simples em Python. Inicie o interpretador " "e aguarde o prompt primário, ``>>>``. (Não deve demorar muito.)" -#: ../../tutorial/introduction.rst:44 +#: ../../tutorial/introduction.rst:51 msgid "Numbers" msgstr "Números" -#: ../../tutorial/introduction.rst:46 +#: ../../tutorial/introduction.rst:53 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 " @@ -100,35 +109,35 @@ msgstr "" "em outras linguagens tradicionais (por exemplo, Pascal ou C); parênteses " "(``()``) podem ser usados para agrupar expressões. Por exemplo::" -#: ../../tutorial/introduction.rst:61 +#: ../../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." 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:65 +#: ../../tutorial/introduction.rst:72 msgid "" "Division (``/``) always returns a float. To do :term:`floor division` and " -"get an integer result (discarding any fractional result) you can use the ``//" -"`` operator; to calculate the remainder you can use ``%``::" +"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 (descartando a parte " -"fracionária) você pode usar o operador ``//``; para calcular o resto você " -"pode usar o ``%``::" +"`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:79 +#: ../../tutorial/introduction.rst:86 msgid "" "With Python, it is possible to use the ``**`` operator to calculate powers " "[#]_::" msgstr "" "Com Python, é possível usar o operador ``**`` para calcular potências [#]_::" -#: ../../tutorial/introduction.rst:86 +#: ../../tutorial/introduction.rst:93 msgid "" "The equal sign (``=``) is used to assign a value to a variable. Afterwards, " "no result is displayed before the next interactive prompt::" @@ -137,15 +146,15 @@ msgstr "" "Depois de uma atribuição, nenhum resultado é exibido antes do próximo " "prompt::" -#: ../../tutorial/introduction.rst:94 +#: ../../tutorial/introduction.rst:101 msgid "" "If a variable is not \"defined\" (assigned a value), trying to use it will " "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:102 +#: ../../tutorial/introduction.rst:109 msgid "" "There is full support for floating point; operators with mixed type operands " "convert the integer operand to floating point::" @@ -153,7 +162,7 @@ msgstr "" "Há suporte completo para ponto flutuante (*float*); operadores com operandos " "de diferentes tipos convertem o inteiro para ponto flutuante::" -#: ../../tutorial/introduction.rst:108 +#: ../../tutorial/introduction.rst:115 msgid "" "In interactive mode, the last printed expression is assigned to the variable " "``_``. This means that when you are using Python as a desk calculator, it " @@ -163,7 +172,7 @@ msgstr "" "variável ``_``. Assim, ao utilizar Python como uma calculadora, fica mais " "fácil prosseguir com os cálculos, por exemplo::" -#: ../../tutorial/introduction.rst:121 +#: ../../tutorial/introduction.rst:128 msgid "" "This variable should be treated as read-only by the user. Don't explicitly " "assign a value to it --- you would create an independent local variable with " @@ -174,7 +183,7 @@ msgstr "" "criando uma outra variável (homônima) independente, que mascararia a " "variável especial com seu comportamento mágico." -#: ../../tutorial/introduction.rst:125 +#: ../../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." @@ -182,17 +191,17 @@ msgid "" "`, 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 " +"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:135 +#: ../../tutorial/introduction.rst:142 msgid "Strings" msgstr "Strings" -#: ../../tutorial/introduction.rst:137 +#: ../../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 " @@ -204,7 +213,7 @@ msgstr "" "delimitadas por aspas simples (``'...'``) ou duplas (``\"...\"``) e teremos " "o mesmo resultado [#]_. ``\\`` pode ser usada para escapar aspas::" -#: ../../tutorial/introduction.rst:155 +#: ../../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 " @@ -223,37 +232,47 @@ msgstr "" "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::" -#: ../../tutorial/introduction.rst:175 +#: ../../tutorial/introduction.rst:182 msgid "" "If you don't want characters prefaced by ``\\`` to be interpreted as special " "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:185 +#: ../../tutorial/introduction.rst:192 msgid "" -"String literals can span multiple lines. One way is using triple-quotes: ``" -"\"\"\"...\"\"\"`` or ``'''...'''``. End of lines are automatically included " -"in the string, but it's possible to prevent this by adding a ``\\`` at the " -"end of the line. The following example::" +"There is one subtle aspect to raw strings: a raw string may not end in an " +"odd number of ``\\`` characters; see :ref:`the FAQ entry ` for more information and workarounds." +msgstr "" +"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 +msgid "" +"String literals can span multiple lines. One way is using triple-quotes: " +"``\"\"\"...\"\"\"`` or ``'''...'''``. End of lines are automatically " +"included in the string, but it's possible to prevent this by adding a ``\\`` " +"at the end of the line. The following example::" msgstr "" "As strings literais podem abranger várias linhas. Uma maneira é usar as " "aspas triplas: ``\"\"\"...\"\"\"`` ou ``'''...'''``. O fim das linhas é " "incluído automaticamente na string, mas é possível evitar isso adicionando " "uma ``\\`` no final. O seguinte exemplo::" -#: ../../tutorial/introduction.rst:196 +#: ../../tutorial/introduction.rst:208 msgid "" "produces the following output (note that the initial newline is not " "included):" msgstr "" "produz a seguinte saída (observe que a linha inicial não está incluída):" -#: ../../tutorial/introduction.rst:204 +#: ../../tutorial/introduction.rst:216 msgid "" "Strings can be concatenated (glued together) with the ``+`` operator, and " "repeated with ``*``::" @@ -261,7 +280,7 @@ msgstr "" "Strings podem ser concatenadas (coladas) com o operador ``+``, e repetidas " "com ``*``::" -#: ../../tutorial/introduction.rst:211 +#: ../../tutorial/introduction.rst:223 msgid "" "Two or more *string literals* (i.e. the ones enclosed between quotes) next " "to each other are automatically concatenated. ::" @@ -269,26 +288,26 @@ msgstr "" "Duas ou mais *strings literais* (ou seja, entre aspas) ao lado da outra são " "automaticamente concatenados. ::" -#: ../../tutorial/introduction.rst:217 +#: ../../tutorial/introduction.rst:229 msgid "" "This feature is particularly useful when you want to break long strings::" msgstr "" "Esse recurso é particularmente útil quando você quer quebrar strings longas::" -#: ../../tutorial/introduction.rst:224 +#: ../../tutorial/introduction.rst:236 msgid "" "This only works with two literals though, not with variables or expressions::" msgstr "" "Isso só funciona com duas strings literais, não com variáveis ou expressões::" -#: ../../tutorial/introduction.rst:238 +#: ../../tutorial/introduction.rst:250 msgid "" "If you want to concatenate variables or a variable and a literal, use ``+``::" msgstr "" -"Se você quiser concatenar variáveis ou uma variável e uma literal, use ``" -"+``::" +"Se você quiser concatenar variáveis ou uma variável e uma literal, use " +"``+``::" -#: ../../tutorial/introduction.rst:243 +#: ../../tutorial/introduction.rst:255 msgid "" "Strings can be *indexed* (subscripted), with the first character having " "index 0. There is no separate character type; a character is simply a string " @@ -298,28 +317,28 @@ msgstr "" "índice 0. Não existe um tipo específico para caracteres; um caractere é " "simplesmente uma string cujo tamanho é 1::" -#: ../../tutorial/introduction.rst:253 +#: ../../tutorial/introduction.rst:265 msgid "" "Indices may also be negative numbers, to start counting from the right::" msgstr "" "Índices também podem ser números negativos para iniciar a contagem pela " "direita::" -#: ../../tutorial/introduction.rst:262 +#: ../../tutorial/introduction.rst:274 msgid "Note that since -0 is the same as 0, negative indices start from -1." msgstr "Note que dado que -0 é o mesmo que 0, índices negativos começam em -1." -#: ../../tutorial/introduction.rst:264 +#: ../../tutorial/introduction.rst:276 msgid "" "In addition to indexing, *slicing* is also supported. While indexing is " "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:272 +#: ../../tutorial/introduction.rst:284 msgid "" "Slice indices have useful defaults; an omitted first index defaults to zero, " "an omitted second index defaults to the size of the string being sliced. ::" @@ -328,7 +347,7 @@ msgstr "" "padrão é zero, um segundo índice omitido é por padrão o tamanho da string " "sendo fatiada::" -#: ../../tutorial/introduction.rst:282 +#: ../../tutorial/introduction.rst:294 msgid "" "Note how the start is always included, and the end always excluded. This " "makes sure that ``s[:i] + s[i:]`` is always equal to ``s``::" @@ -336,7 +355,7 @@ msgstr "" "Observe como o início sempre está incluído, e o fim sempre é excluído. Isso " "garante que ``s[:i] + s[i:]`` seja sempre igual a ``s``::" -#: ../../tutorial/introduction.rst:290 +#: ../../tutorial/introduction.rst:302 msgid "" "One way to remember how slices work is to think of the indices as pointing " "*between* characters, with the left edge of the first character numbered 0. " @@ -348,7 +367,7 @@ msgstr "" "0. Assim, a borda direita do último caractere de uma string de comprimento " "*n* tem índice *n*, por exemplo::" -#: ../../tutorial/introduction.rst:301 +#: ../../tutorial/introduction.rst:313 msgid "" "The first row of numbers gives the position of the indices 0...6 in the " "string; the second row gives the corresponding negative indices. The slice " @@ -360,7 +379,7 @@ msgstr "" "fatia de *i* a *j* consiste em todos os caracteres entre as bordas *i* e " "*j*, respectivamente." -#: ../../tutorial/introduction.rst:306 +#: ../../tutorial/introduction.rst:318 msgid "" "For non-negative indices, the length of a slice is the difference of the " "indices, if both are within bounds. For example, the length of " @@ -370,12 +389,12 @@ msgstr "" "índices, se ambos estão dentro dos limites da string. Por exemplo, o " "comprimento de ``word[1:3]`` é 2." -#: ../../tutorial/introduction.rst:310 +#: ../../tutorial/introduction.rst:322 msgid "Attempting to use an index that is too large will result in an error::" msgstr "" "A tentativa de usar um índice que seja muito grande resultará em um erro::" -#: ../../tutorial/introduction.rst:317 +#: ../../tutorial/introduction.rst:329 msgid "" "However, out of range slice indexes are handled gracefully when used for " "slicing::" @@ -386,7 +405,7 @@ msgstr "" "comprimento é trocado pelo comprimento, um limite superior menor que o " "limite inferior produz uma string vazia::" -#: ../../tutorial/introduction.rst:325 +#: ../../tutorial/introduction.rst:337 msgid "" "Python strings cannot be changed --- they are :term:`immutable`. Therefore, " "assigning to an indexed position in the string results in an error::" @@ -395,19 +414,19 @@ msgstr "" "`imutável`. Portanto, atribuir a uma posição indexada na sequência resulta " "em um erro::" -#: ../../tutorial/introduction.rst:337 +#: ../../tutorial/introduction.rst:349 msgid "If you need a different string, you should create a new one::" msgstr "Se você precisar de uma string diferente, deverá criar uma nova::" -#: ../../tutorial/introduction.rst:344 +#: ../../tutorial/introduction.rst:356 msgid "The built-in function :func:`len` returns the length of a string::" msgstr "A função embutida :func:`len` devolve o comprimento de uma string::" -#: ../../tutorial/introduction.rst:355 +#: ../../tutorial/introduction.rst:367 msgid ":ref:`textseq`" msgstr ":ref:`textseq`" -#: ../../tutorial/introduction.rst:354 +#: ../../tutorial/introduction.rst:366 msgid "" "Strings are examples of *sequence types*, and support the common operations " "supported by such types." @@ -415,11 +434,11 @@ msgstr "" "As strings são exemplos de *tipos de sequências* e suportam as operações " "comumente suportadas por esses tipos." -#: ../../tutorial/introduction.rst:359 +#: ../../tutorial/introduction.rst:371 msgid ":ref:`string-methods`" msgstr ":ref:`string-methods`" -#: ../../tutorial/introduction.rst:358 +#: ../../tutorial/introduction.rst:370 msgid "" "Strings support a large number of methods for basic transformations and " "searching." @@ -427,28 +446,28 @@ msgstr "" "As strings suportam uma grande quantidade de métodos para transformações " "básicas e busca." -#: ../../tutorial/introduction.rst:362 +#: ../../tutorial/introduction.rst:374 msgid ":ref:`f-strings`" msgstr ":ref:`f-strings`" -#: ../../tutorial/introduction.rst:362 +#: ../../tutorial/introduction.rst:374 msgid "String literals that have embedded expressions." msgstr "Strings literais que possuem expressões embutidas." -#: ../../tutorial/introduction.rst:365 +#: ../../tutorial/introduction.rst:377 msgid ":ref:`formatstrings`" msgstr ":ref:`formatstrings`" -#: ../../tutorial/introduction.rst:365 +#: ../../tutorial/introduction.rst:377 msgid "Information about string formatting with :meth:`str.format`." msgstr "" "Informações sobre formatação de string com o método :meth:`str.format`." -#: ../../tutorial/introduction.rst:368 +#: ../../tutorial/introduction.rst:380 msgid ":ref:`old-string-formatting`" msgstr ":ref:`old-string-formatting`" -#: ../../tutorial/introduction.rst:368 +#: ../../tutorial/introduction.rst:380 msgid "" "The old formatting operations invoked when strings are the left operand of " "the ``%`` operator are described in more detail here." @@ -456,11 +475,11 @@ msgstr "" "As antigas operações de formatação invocadas quando as strings são o " "operando esquerdo do operador ``%`` são descritas com mais detalhes aqui." -#: ../../tutorial/introduction.rst:375 +#: ../../tutorial/introduction.rst:387 msgid "Lists" msgstr "Listas" -#: ../../tutorial/introduction.rst:377 +#: ../../tutorial/introduction.rst:389 msgid "" "Python knows a number of *compound* data types, used to group together other " "values. The most versatile is the *list*, which can be written as a list of " @@ -472,7 +491,7 @@ msgstr "" "uma lista de valores (itens) separados por vírgula, entre colchetes. Os " "valores contidos na lista não precisam ser todos do mesmo tipo. ::" -#: ../../tutorial/introduction.rst:386 +#: ../../tutorial/introduction.rst:398 msgid "" "Like strings (and all other built-in :term:`sequence` types), lists can be " "indexed and sliced::" @@ -480,7 +499,7 @@ msgstr "" "Como strings (e todos os tipos embutidos de :term:`sequência`), listas pode " "ser indexados e fatiados::" -#: ../../tutorial/introduction.rst:396 +#: ../../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 " @@ -488,13 +507,13 @@ msgid "" 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::" +"ref:`cópia rasa ` da lista::" -#: ../../tutorial/introduction.rst:403 +#: ../../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:408 +#: ../../tutorial/introduction.rst:420 msgid "" "Unlike strings, which are :term:`immutable`, lists are a :term:`mutable` " "type, i.e. it is possible to change their content::" @@ -503,7 +522,7 @@ msgstr "" "term:`mutáveis`, ou seja, é possível alterar elementos individuais " "de uma lista::" -#: ../../tutorial/introduction.rst:418 +#: ../../tutorial/introduction.rst:430 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)::" @@ -512,7 +531,7 @@ msgstr "" "meth:`~list.append` (estudaremos mais a respeito dos métodos " "posteriormente)::" -#: ../../tutorial/introduction.rst:426 +#: ../../tutorial/introduction.rst:438 msgid "" "Assignment to slices is also possible, and this can even change the size of " "the list or clear it entirely::" @@ -520,11 +539,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:445 +#: ../../tutorial/introduction.rst:457 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:451 +#: ../../tutorial/introduction.rst:463 msgid "" "It is possible to nest lists (create lists containing other lists), for " "example::" @@ -532,11 +551,11 @@ msgstr "" "É possível aninhar listas (criar listas contendo outras listas), por " "exemplo::" -#: ../../tutorial/introduction.rst:467 +#: ../../tutorial/introduction.rst:479 msgid "First Steps Towards Programming" msgstr "Primeiros passos para a programação" -#: ../../tutorial/introduction.rst:469 +#: ../../tutorial/introduction.rst:481 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 " @@ -547,11 +566,11 @@ msgstr "" "Por exemplo, podemos escrever o início da `sequência de Fibonacci `_ assim::" -#: ../../tutorial/introduction.rst:489 +#: ../../tutorial/introduction.rst:501 msgid "This example introduces several new features." msgstr "Este exemplo introduz diversas características ainda não mencionadas." -#: ../../tutorial/introduction.rst:491 +#: ../../tutorial/introduction.rst:503 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 " @@ -565,7 +584,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:497 +#: ../../tutorial/introduction.rst:509 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 " @@ -586,7 +605,7 @@ msgstr "" "``<`` (menor que), ``>`` (maior que), ``==`` (igual), ``<=`` (menor ou " "igual), ``>=`` (maior ou igual) e ``!=`` (diferente)." -#: ../../tutorial/introduction.rst:506 +#: ../../tutorial/introduction.rst:518 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 " @@ -607,7 +626,7 @@ msgstr "" "comando). Observe que toda linha de um mesmo bloco de comandos deve ter a " "mesma indentação." -#: ../../tutorial/introduction.rst:515 +#: ../../tutorial/introduction.rst:527 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 " @@ -623,19 +642,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:526 +#: ../../tutorial/introduction.rst:538 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:538 +#: ../../tutorial/introduction.rst:550 msgid "Footnotes" msgstr "Notas de rodapé" -#: ../../tutorial/introduction.rst:539 +#: ../../tutorial/introduction.rst:551 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 " @@ -645,7 +664,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:543 +#: ../../tutorial/introduction.rst:555 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 a4c96b051..1f7a20545 100644 --- a/tutorial/modules.po +++ b/tutorial/modules.po @@ -1,30 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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 -# Tiago Henrique , 2021 -# Claudio Rogerio Carvalho Filho , 2021 -# Adorilson Bezerra , 2021 +# python-doc bot, 2025 # #, 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:50+0000\n" -"Last-Translator: Adorilson Bezerra , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:58+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../tutorial/modules.rst:5 msgid "Modules" @@ -59,7 +56,7 @@ msgid "" "modules or into the *main* module (the collection of variables that you have " "access to in a script executed at the top level and in calculator mode)." msgstr "" -"Para permitir isso, o Python tem uma maneira de colocar as definições em um " +"Para permitir isso, Python tem uma maneira de colocar as definições em um " "arquivo e então usá-las em um script ou em uma execução interativa do " "interpretador. Tal arquivo é chamado de *módulo*; definições de um módulo " "podem ser *importadas* para outros módulos, ou para o módulo *principal* (a " @@ -92,26 +89,28 @@ msgstr "" #: ../../tutorial/modules.rst:50 msgid "" -"This does not enter the names of the functions defined in ``fibo`` directly " -"in the current symbol table; it only enters the module name ``fibo`` there. " -"Using the module name you can access the functions::" +"This does not add the names of the functions defined in ``fibo`` directly " +"to the current :term:`namespace` (see :ref:`tut-scopes` for more details); " +"it only adds the module name ``fibo`` there. Using the module name you can " +"access the functions::" msgstr "" -"Isso não coloca os nomes das funções definidas em ``fibo`` diretamente na " -"tabela de símbolos atual; isso coloca 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:61 +#: ../../tutorial/modules.rst:62 msgid "" "If you intend to use a function often you can assign it to a local name::" msgstr "" -"Se pretender usar uma função muitas vezes, você pode atribui-lá a um nome " -"local::" +"Se você pretende usar uma função muitas vezes, você pode atribui-lá a um " +"nome local::" -#: ../../tutorial/modules.rst:71 +#: ../../tutorial/modules.rst:72 msgid "More on Modules" msgstr "Mais sobre módulos" -#: ../../tutorial/modules.rst:73 +#: ../../tutorial/modules.rst:74 msgid "" "A module can contain executable statements as well as function definitions. " "These statements are intended to initialize the module. They are executed " @@ -124,59 +123,59 @@ msgstr "" "instrução de importação. [#]_ (Também rodam se o arquivo é executado como um " "script.)" -#: ../../tutorial/modules.rst:78 +#: ../../tutorial/modules.rst:79 msgid "" -"Each module has its own private symbol table, which is used as the global " -"symbol table by all functions defined in the module. Thus, the author of a " +"Each module has its own private namespace, which is used as the global " +"namespace by all functions defined in the module. Thus, the author of a " "module can use global variables in the module without worrying about " "accidental clashes with a user's global variables. On the other hand, if you " "know what you are doing you can touch a module's global variables with the " "same notation used to refer to its functions, ``modname.itemname``." msgstr "" -"Cada módulo tem sua própria tabela de símbolos privada, que é usada como " -"tabela de símbolos global para todas as funções definidas no módulo. Assim, " -"o autor de um módulo pode usar variáveis globais no seu módulo sem se " -"preocupar com conflitos acidentais com as variáveis globais do usuário. Por " -"outro lado, se você precisar usar uma variável global de um módulo, poderá " -"fazê-lo com a mesma notação usada para se referir às suas funções, " -"``nomemodulo.nomeitem``." +"Cada módulo tem seu próprio espaço de nomes privado, que é usado como espaço " +"de nomes global para todas as funções definidas no módulo. Assim, o autor de " +"um módulo pode usar variáveis globais no seu módulo sem se preocupar com " +"conflitos acidentais com as variáveis globais do usuário. Por outro lado, se " +"você precisar usar uma variável global de um módulo, poderá fazê-lo com a " +"mesma notação usada para se referir às suas funções, ``nomemodulo.nomeitem``." -#: ../../tutorial/modules.rst:85 +#: ../../tutorial/modules.rst:86 msgid "" "Modules can import other modules. It is customary but not required to place " "all :keyword:`import` statements at the beginning of a module (or script, " -"for that matter). The imported module names are placed in the importing " -"module's global symbol table." +"for that matter). The imported module names, if placed at the top level of " +"a module (outside any functions or classes), are added to the module's " +"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 são colocadas na tabela de " -"símbolos global do módulo que faz a importação." +"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:90 +#: ../../tutorial/modules.rst:91 msgid "" "There is a variant of the :keyword:`import` statement that imports names " -"from a module directly into the importing module's symbol table. For " -"example::" +"from a module directly into the importing module's namespace. For example::" msgstr "" -"Existe uma variante do comando :keyword:`import` que importa definições de " -"um módulo diretamente para a tabela de símbolos do módulo importador. Por " +"Existe uma variante da instrução :keyword:`import` que importa definições de " +"um módulo diretamente para o espaço de nomes do módulo importador. Por " "exemplo::" -#: ../../tutorial/modules.rst:97 +#: ../../tutorial/modules.rst:98 msgid "" "This does not introduce the module name from which the imports are taken in " -"the local symbol table (so in the example, ``fibo`` is not defined)." +"the local namespace (so in the example, ``fibo`` is not defined)." msgstr "" -"Isso não coloca o nome do módulo de onde foram feitas as importações na " -"tabela de símbolos local (assim, no exemplo, ``fibo`` não está definido)." +"Isso não coloca o nome do módulo de onde foram feitas as importações no " +"espaço de nomes local (assim, no exemplo, ``fibo`` não está definido)." -#: ../../tutorial/modules.rst:100 +#: ../../tutorial/modules.rst:101 msgid "There is even a variant to import all names that a module defines::" msgstr "" "Existe ainda uma variante que importa todos os nomes definidos em um módulo::" -#: ../../tutorial/modules.rst:106 +#: ../../tutorial/modules.rst:107 msgid "" "This imports all names except those beginning with an underscore (``_``). In " "most cases Python programmers do not use this facility since it introduces " @@ -188,7 +187,7 @@ msgstr "" "esta facilidade porque ela introduz um conjunto desconhecido de nomes no " "ambiente, podendo esconder outros nomes previamente definidos." -#: ../../tutorial/modules.rst:111 +#: ../../tutorial/modules.rst:112 msgid "" "Note that in general the practice of importing ``*`` from a module or " "package is frowned upon, since it often causes poorly readable code. " @@ -198,7 +197,7 @@ msgstr "" "desaprovada, uma vez que muitas vezes dificulta a leitura do código. " "Contudo, é aceitável para diminuir a digitação em sessões interativas." -#: ../../tutorial/modules.rst:115 +#: ../../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." @@ -206,7 +205,7 @@ msgstr "" "Se o nome do módulo é seguido pela palavra-chave :keyword:`!as`, o nome a " "seguir é vinculado diretamente ao módulo importado." -#: ../../tutorial/modules.rst:124 +#: ../../tutorial/modules.rst:125 msgid "" "This is effectively importing the module in the same way that ``import " "fibo`` will do, with the only difference of it being available as ``fib``." @@ -214,14 +213,14 @@ msgstr "" "Isto efetivamente importa o módulo, da mesma maneira que ``import fibo`` " "fará, com a única diferença de estar disponível com o nome ``fib``." -#: ../../tutorial/modules.rst:127 +#: ../../tutorial/modules.rst:128 msgid "" "It can also be used when utilising :keyword:`from` with similar effects::" msgstr "" "Também pode ser utilizado com a palavra-chave :keyword:`from`, com efeitos " "similares::" -#: ../../tutorial/modules.rst:136 +#: ../../tutorial/modules.rst:137 msgid "" "For efficiency reasons, each module is only imported once per interpreter " "session. Therefore, if you change your modules, you must restart the " @@ -235,15 +234,15 @@ msgstr "" "interativamente, use a função :func:`reload`, ex. ``import importlib; " "importlib.reload(nomemodulo)``." -#: ../../tutorial/modules.rst:146 +#: ../../tutorial/modules.rst:147 msgid "Executing modules as scripts" msgstr "Executando módulos como scripts" -#: ../../tutorial/modules.rst:148 +#: ../../tutorial/modules.rst:149 msgid "When you run a Python module with ::" msgstr "Quando você rodar um módulo Python com ::" -#: ../../tutorial/modules.rst:152 +#: ../../tutorial/modules.rst:153 msgid "" "the code in the module will be executed, just as if you imported it, but " "with the ``__name__`` set to ``\"__main__\"``. That means that by adding " @@ -253,7 +252,7 @@ msgstr "" "mas com a variável ``__name__`` com valor ``\"__main__\"``. Isto significa " "que adicionando este código ao final do seu módulo::" -#: ../../tutorial/modules.rst:160 +#: ../../tutorial/modules.rst:161 msgid "" "you can make the file usable as a script as well as an importable module, " "because the code that parses the command line only runs if the module is " @@ -263,11 +262,11 @@ msgstr "" "módulo importável, porque o código que analisa a linha de comando só roda se " "o módulo é executado como arquivo \"principal\":" -#: ../../tutorial/modules.rst:169 +#: ../../tutorial/modules.rst:170 msgid "If the module is imported, the code is not run::" msgstr "Se o módulo é importado, o código não é executado::" -#: ../../tutorial/modules.rst:174 +#: ../../tutorial/modules.rst:175 msgid "" "This is often used either to provide a convenient user interface to a " "module, or for testing purposes (running the module as a script executes a " @@ -277,23 +276,25 @@ msgstr "" "conveniente para um módulo, ou para realizar testes (rodando o módulo como " "um script executa um conjunto de testes)." -#: ../../tutorial/modules.rst:181 +#: ../../tutorial/modules.rst:182 msgid "The Module Search Path" msgstr "O caminho de busca dos módulos" -#: ../../tutorial/modules.rst:185 +#: ../../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. 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:" +"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. Se não encontra, procura um arquivo chamado :" +"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:190 +#: ../../tutorial/modules.rst:192 msgid "" "The directory containing the input script (or the current directory when no " "file is specified)." @@ -301,7 +302,7 @@ msgstr "" "O diretório que contém o script importador (ou o diretório atual quando " "nenhum arquivo é especificado)." -#: ../../tutorial/modules.rst:192 +#: ../../tutorial/modules.rst:194 msgid "" ":envvar:`PYTHONPATH` (a list of directory names, with the same syntax as the " "shell variable :envvar:`PATH`)." @@ -309,11 +310,15 @@ msgstr "" "A variável de ambiente :envvar:`PYTHONPATH` (uma lista de nomes de " "diretórios, com a mesma sintaxe da variável de ambiente :envvar:`PATH`)." -#: ../../tutorial/modules.rst:194 -msgid "The installation-dependent default." -msgstr "Padrões dependentes da instalação." +#: ../../tutorial/modules.rst:196 +msgid "" +"The installation-dependent default (by convention including a ``site-" +"packages`` directory, handled by the :mod:`site` module)." +msgstr "" +"O padrão dependente da instalação (por convenção, incluindo um diretório " +"``site-packages``, tratado pelo módulo :mod:`site`)." -#: ../../tutorial/modules.rst:197 +#: ../../tutorial/modules.rst:200 msgid "" "On file systems which support symlinks, the directory containing the input " "script is calculated after the symlink is followed. In other words the " @@ -324,7 +329,7 @@ msgstr "" "Em outras palavras o diretório que contém o link simbólico **não** é " "adicionado ao caminho de busca de módulos." -#: ../../tutorial/modules.rst:201 +#: ../../tutorial/modules.rst:204 msgid "" "After initialization, Python programs can modify :data:`sys.path`. The " "directory containing the script being run is placed at the beginning of the " @@ -340,11 +345,11 @@ msgstr "" "nome na biblioteca padrão. Isso costuma ser um erro, a menos que seja " "intencional. Veja a seção :ref:`tut-standardmodules` para mais informações." -#: ../../tutorial/modules.rst:212 +#: ../../tutorial/modules.rst:215 msgid "\"Compiled\" Python files" msgstr "Arquivos Python \"compilados\"" -#: ../../tutorial/modules.rst:214 +#: ../../tutorial/modules.rst:217 msgid "" "To speed up loading modules, Python caches the compiled version of each " "module in the ``__pycache__`` directory under the name :file:`module." @@ -363,7 +368,7 @@ msgstr "" "coexistência de módulos compilados de diferentes releases e versões de " "Python." -#: ../../tutorial/modules.rst:222 +#: ../../tutorial/modules.rst:225 msgid "" "Python checks the modification date of the source against the compiled " "version to see if it's out of date and needs to be recompiled. This is a " @@ -377,7 +382,7 @@ msgstr "" "independentes de plataforma, portanto a mesma biblioteca pode ser " "compartilhada entre sistemas de arquiteturas diferentes." -#: ../../tutorial/modules.rst:227 +#: ../../tutorial/modules.rst:230 msgid "" "Python does not check the cache in two circumstances. First, it always " "recompiles and does not store the result for the module that's loaded " @@ -393,11 +398,11 @@ msgstr "" "as versões compiladas), o módulo compilado deve estar no diretório de " "fontes, e não deve haver um módulo fonte." -#: ../../tutorial/modules.rst:234 +#: ../../tutorial/modules.rst:237 msgid "Some tips for experts:" msgstr "Algumas dicas para especialistas:" -#: ../../tutorial/modules.rst:236 +#: ../../tutorial/modules.rst:239 msgid "" "You can use the :option:`-O` or :option:`-OO` switches on the Python command " "to reduce the size of a compiled module. The ``-O`` switch removes assert " @@ -408,14 +413,14 @@ 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. " "Futuros releases podem mudar os efeitos da otimização." -#: ../../tutorial/modules.rst:244 +#: ../../tutorial/modules.rst:247 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 ``." @@ -425,7 +430,7 @@ msgstr "" "quando lido de um arquivo ``.py``; a única coisa que é mais rápida com " "arquivos ``.pyc`` é sua velocidade de carregamento." -#: ../../tutorial/modules.rst:248 +#: ../../tutorial/modules.rst:251 msgid "" "The module :mod:`compileall` can create .pyc files for all modules in a " "directory." @@ -433,7 +438,7 @@ msgstr "" "O módulo :mod:`compileall` pode criar arquivos .pyc para todos os módulos de " "um diretório." -#: ../../tutorial/modules.rst:251 +#: ../../tutorial/modules.rst:254 msgid "" "There is more detail on this process, including a flow chart of the " "decisions, in :pep:`3147`." @@ -441,11 +446,11 @@ msgstr "" "Há mais detalhes desse processo, incluindo um fluxograma de decisões, no :" "pep:`3147`." -#: ../../tutorial/modules.rst:258 +#: ../../tutorial/modules.rst:261 msgid "Standard Modules" msgstr "Módulos padrões" -#: ../../tutorial/modules.rst:262 +#: ../../tutorial/modules.rst:265 msgid "" "Python comes with a library of standard modules, described in a separate " "document, the Python Library Reference (\"Library Reference\" hereafter). " @@ -471,7 +476,7 @@ msgstr "" "interpretador Python. As variáveis ``sys.ps1`` e ``sys.ps2`` definem as " "strings utilizadas como prompt primário e secundário::" -#: ../../tutorial/modules.rst:285 +#: ../../tutorial/modules.rst:288 msgid "" "These two variables are only defined if the interpreter is in interactive " "mode." @@ -479,7 +484,7 @@ msgstr "" "Essas variáveis só estão definidas se o interpretador está em modo " "interativo." -#: ../../tutorial/modules.rst:287 +#: ../../tutorial/modules.rst:290 msgid "" "The variable ``sys.path`` is a list of strings that determines the " "interpreter's search path for modules. It is initialized to a default path " @@ -494,11 +499,11 @@ msgstr "" "`PYTHONPATH` não estiver definida. Você pode modificá-la com as operações " "típicas de lista, por exemplo::" -#: ../../tutorial/modules.rst:300 +#: ../../tutorial/modules.rst:303 msgid "The :func:`dir` Function" msgstr "A função :func:`dir`" -#: ../../tutorial/modules.rst:302 +#: ../../tutorial/modules.rst:305 msgid "" "The built-in function :func:`dir` is used to find out which names a module " "defines. It returns a sorted list of strings::" @@ -506,18 +511,18 @@ msgstr "" "A função embutida :func:`dir` é usada para descobrir quais nomes são " "definidos por um módulo. Ela devolve uma lista ordenada de strings::" -#: ../../tutorial/modules.rst:331 +#: ../../tutorial/modules.rst:334 msgid "" "Without arguments, :func:`dir` lists the names you have defined currently::" msgstr "Sem argumentos, :func:`dir` lista os nomes atualmente definidos::" -#: ../../tutorial/modules.rst:339 +#: ../../tutorial/modules.rst:342 msgid "" "Note that it lists all types of names: variables, modules, functions, etc." msgstr "" "Observe que ela lista todo tipo de nomes: variáveis, módulos, funções, etc." -#: ../../tutorial/modules.rst:343 +#: ../../tutorial/modules.rst:346 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:" @@ -526,11 +531,11 @@ 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`::" -#: ../../tutorial/modules.rst:382 +#: ../../tutorial/modules.rst:385 msgid "Packages" msgstr "Pacotes" -#: ../../tutorial/modules.rst:384 +#: ../../tutorial/modules.rst:387 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 " @@ -549,7 +554,7 @@ msgstr "" "módulos, como NumPy ou Pillow, tenham que se preocupar com os nomes dos " "módulos uns dos outros." -#: ../../tutorial/modules.rst:392 +#: ../../tutorial/modules.rst:395 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 " @@ -575,7 +580,7 @@ msgstr "" "estrutura para o seu pacote (expressa em termos de um sistema de arquivos " "hierárquico)::" -#: ../../tutorial/modules.rst:429 +#: ../../tutorial/modules.rst:432 msgid "" "When importing the package, Python searches through the directories on ``sys." "path`` looking for the package subdirectory." @@ -583,30 +588,30 @@ msgstr "" "Ao importar esse pacote, Python busca pelo subdiretório com mesmo nome, nos " "diretórios listados em ``sys.path``." -#: ../../tutorial/modules.rst:432 +#: ../../tutorial/modules.rst:435 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``, 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." +"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 previne que diretórios com " +"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." -#: ../../tutorial/modules.rst:439 +#: ../../tutorial/modules.rst:442 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:444 +#: ../../tutorial/modules.rst:447 msgid "" "This loads the submodule :mod:`sound.effects.echo`. It must be referenced " "with its full name. ::" @@ -614,11 +619,11 @@ msgstr "" "Isso carrega o submódulo :mod:`sound.effects.echo`. Ele deve ser " "referenciado com seu nome completo, como em::" -#: ../../tutorial/modules.rst:449 +#: ../../tutorial/modules.rst:452 msgid "An alternative way of importing the submodule is::" msgstr "Uma maneira alternativa para a importação desse módulo é::" -#: ../../tutorial/modules.rst:453 +#: ../../tutorial/modules.rst:456 msgid "" "This also loads the submodule :mod:`echo`, and makes it available without " "its package prefix, so it can be used as follows::" @@ -626,13 +631,13 @@ msgstr "" "Isso carrega o submódulo :mod:`echo` sem necessidade de mencionar o prefixo " "do pacote no momento da utilização, assim::" -#: ../../tutorial/modules.rst:458 +#: ../../tutorial/modules.rst:461 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:462 +#: ../../tutorial/modules.rst:465 msgid "" "Again, this loads the submodule :mod:`echo`, but this makes its function :" "func:`echofilter` directly available::" @@ -640,7 +645,7 @@ msgstr "" "Novamente, isso carrega o submódulo :mod:`echo`, mas a função :func:" "`echofilter` está acessível diretamente sem prefixo::" -#: ../../tutorial/modules.rst:467 +#: ../../tutorial/modules.rst:470 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 " @@ -650,12 +655,12 @@ msgid "" "`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 " +"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:474 +#: ../../tutorial/modules.rst:477 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 " @@ -667,11 +672,11 @@ msgstr "" "pacote ou módulo, mas nunca uma classe, função ou variável contida em um " "módulo." -#: ../../tutorial/modules.rst:483 +#: ../../tutorial/modules.rst:486 msgid "Importing \\* From a Package" msgstr "Importando \\* de um pacote" -#: ../../tutorial/modules.rst:487 +#: ../../tutorial/modules.rst:490 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 " @@ -686,7 +691,7 @@ msgstr "" "ocasionar efeitos colaterais, que somente deveriam ocorrer quando o " "submódulo é explicitamente importado." -#: ../../tutorial/modules.rst:493 +#: ../../tutorial/modules.rst:496 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: " @@ -699,24 +704,24 @@ 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:" +"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 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 " +"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:505 +#: ../../tutorial/modules.rst:508 msgid "" "This would mean that ``from sound.effects import *`` would import the three " -"named submodules of the :mod:`sound` package." +"named submodules of the :mod:`sound.effects` package." msgstr "" -"Isso significaria que ``from sound.effects import *`` importaria apenas os " -"três submódulos especificados no pacote :mod:`sound`." +"Isso significaria que ``from sound.effects import *`` importaria os três " +"submódulos nomeados do pacote :mod:`sound.effects`." -#: ../../tutorial/modules.rst:508 +#: ../../tutorial/modules.rst:511 msgid "" "If ``__all__`` is not defined, the statement ``from sound.effects import *`` " "does *not* import all submodules from the package :mod:`sound.effects` into " @@ -738,7 +743,7 @@ msgstr "" "tenham sido carregados explicitamente por comandos :keyword:`import` " "anteriores. Considere o código abaixo::" -#: ../../tutorial/modules.rst:521 +#: ../../tutorial/modules.rst:524 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` " @@ -750,7 +755,7 @@ msgstr "" "executado, pois estão definidos no pacote :mod:`sound.effects`. (Isso também " "funciona quando ``__all__`` estiver definida.)" -#: ../../tutorial/modules.rst:526 +#: ../../tutorial/modules.rst:529 msgid "" "Although certain modules are designed to export only names that follow " "certain patterns when you use ``import *``, it is still considered bad " @@ -760,7 +765,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:530 +#: ../../tutorial/modules.rst:533 msgid "" "Remember, there is nothing wrong with using ``from package import " "specific_submodule``! In fact, this is the recommended notation unless the " @@ -772,11 +777,11 @@ msgstr "" "módulo importado necessite usar submódulos com o mesmo nome, de diferentes " "pacotes." -#: ../../tutorial/modules.rst:537 +#: ../../tutorial/modules.rst:542 msgid "Intra-package References" msgstr "Referências em um mesmo pacote" -#: ../../tutorial/modules.rst:539 +#: ../../tutorial/modules.rst:544 msgid "" "When packages are structured into subpackages (as with the :mod:`sound` " "package in the example), you can use absolute imports to refer to submodules " @@ -791,7 +796,7 @@ msgstr "" "`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:545 +#: ../../tutorial/modules.rst:550 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 " @@ -803,7 +808,7 @@ msgstr "" "atual, envolvidos no import relativo. Do módulo :mod:`surround`, por " "exemplo, pode-se usar::" -#: ../../tutorial/modules.rst:554 +#: ../../tutorial/modules.rst:559 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 " @@ -815,11 +820,11 @@ msgstr "" "uso como módulo principal de um aplicativo Python devem sempre usar imports " "absolutos." -#: ../../tutorial/modules.rst:560 +#: ../../tutorial/modules.rst:565 msgid "Packages in Multiple Directories" msgstr "Pacotes em múltiplos diretórios" -#: ../../tutorial/modules.rst:562 +#: ../../tutorial/modules.rst:567 msgid "" "Packages support one more special attribute, :attr:`__path__`. This is " "initialized to be a list containing the name of the directory holding the " @@ -833,7 +838,7 @@ msgstr "" "variável pode ser modificada; isso afeta a busca futura de módulos e " "subpacotes contidos no pacote." -#: ../../tutorial/modules.rst:568 +#: ../../tutorial/modules.rst:573 msgid "" "While this feature is not often needed, it can be used to extend the set of " "modules found in a package." @@ -841,16 +846,16 @@ msgstr "" "Apesar de não ser muito usado, esse mecanismo permite estender o conjunto de " "módulos encontrados em um pacote." -#: ../../tutorial/modules.rst:573 +#: ../../tutorial/modules.rst:578 msgid "Footnotes" msgstr "Notas de rodapé" -#: ../../tutorial/modules.rst:574 +#: ../../tutorial/modules.rst:579 msgid "" "In fact function definitions are also 'statements' that are 'executed'; the " -"execution of a module-level function definition enters the function name in " -"the module's global symbol table." +"execution of a module-level function definition adds the function name to " +"the module's global namespace." msgstr "" "[#] Na verdade, definições de funções também são 'instruções' que são " -"'executados'; a execução da definição de uma função coloca o nome da função " -"na tabela de símbolos global do módulo." +"'executados'; a execução da definição de uma função adiciona o nome da " +"função no espaço de nomes global do módulo." diff --git a/tutorial/stdlib.po b/tutorial/stdlib.po index 547ebd4c2..332b45a74 100644 --- a/tutorial/stdlib.po +++ b/tutorial/stdlib.po @@ -1,30 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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 -# Leticia Portella , 2021 -# Misael borges , 2021 -# Adorilson Bezerra , 2021 +# python-doc bot, 2025 # #, 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:50+0000\n" -"Last-Translator: Adorilson Bezerra , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:58+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../tutorial/stdlib.rst:5 msgid "Brief Tour of the Standard Library" @@ -94,7 +91,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 "" @@ -106,21 +103,21 @@ msgstr "" "processar argumentos de linha de comando. O script seguinte extrai e exibe " "um ou mais nomes de arquivos e um número de linhas opcional::" -#: ../../tutorial/stdlib.rst:88 +#: ../../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']``." 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:96 +#: ../../tutorial/stdlib.rst:97 msgid "Error Output Redirection and Program Termination" msgstr "Redirecionamento de erros e encerramento do programa" -#: ../../tutorial/stdlib.rst:98 +#: ../../tutorial/stdlib.rst:99 msgid "" "The :mod:`sys` module also has attributes for *stdin*, *stdout*, and " "*stderr*. The latter is useful for emitting warnings and error messages to " @@ -130,15 +127,15 @@ msgstr "" "*stderr*. O último é usado para emitir avisos e mensagens de erros visíveis " "mesmo quando *stdout* foi redirecionado::" -#: ../../tutorial/stdlib.rst:105 +#: ../../tutorial/stdlib.rst:106 msgid "The most direct way to terminate a script is to use ``sys.exit()``." msgstr "A forma mais direta de encerrar um script é usando ``sys.exit()``." -#: ../../tutorial/stdlib.rst:111 +#: ../../tutorial/stdlib.rst:112 msgid "String Pattern Matching" msgstr "Reconhecimento de padrões em strings" -#: ../../tutorial/stdlib.rst:113 +#: ../../tutorial/stdlib.rst:114 msgid "" "The :mod:`re` module provides regular expression tools for advanced string " "processing. For complex matching and manipulation, regular expressions offer " @@ -148,7 +145,7 @@ msgstr "" "strings através de expressões regulares. Para reconhecimento de padrões " "complexos, expressões regulares oferecem uma solução sucinta e eficiente::" -#: ../../tutorial/stdlib.rst:123 +#: ../../tutorial/stdlib.rst:124 msgid "" "When only simple capabilities are needed, string methods are preferred " "because they are easier to read and debug::" @@ -156,11 +153,11 @@ msgstr "" "Quando as exigências são simples, métodos de strings são preferíveis por " "serem mais fáceis de ler e depurar::" -#: ../../tutorial/stdlib.rst:133 +#: ../../tutorial/stdlib.rst:134 msgid "Mathematics" msgstr "Matemática" -#: ../../tutorial/stdlib.rst:135 +#: ../../tutorial/stdlib.rst:136 msgid "" "The :mod:`math` module gives access to the underlying C library functions " "for floating point math::" @@ -168,12 +165,12 @@ msgstr "" "O módulo :mod:`math` oferece acesso às funções da biblioteca C para " "matemática de ponto flutuante::" -#: ../../tutorial/stdlib.rst:144 +#: ../../tutorial/stdlib.rst:145 msgid "The :mod:`random` module provides tools for making random selections::" msgstr "" "O módulo :mod:`random` fornece ferramentas para gerar seleções aleatórias::" -#: ../../tutorial/stdlib.rst:156 +#: ../../tutorial/stdlib.rst:157 msgid "" "The :mod:`statistics` module calculates basic statistical properties (the " "mean, median, variance, etc.) of numeric data::" @@ -181,7 +178,7 @@ msgstr "" "O módulo :mod:`statistics` calcula as propriedades estatísticas básicas (a " "média, a mediana, a variação, etc.) de dados numéricos::" -#: ../../tutorial/stdlib.rst:168 +#: ../../tutorial/stdlib.rst:169 msgid "" "The SciPy project has many other modules for numerical " "computations." @@ -189,11 +186,11 @@ msgstr "" "O projeto SciPy tem muitos outros módulos para cálculos " "numéricos." -#: ../../tutorial/stdlib.rst:174 +#: ../../tutorial/stdlib.rst:175 msgid "Internet Access" msgstr "Acesso à internet" -#: ../../tutorial/stdlib.rst:176 +#: ../../tutorial/stdlib.rst:177 msgid "" "There are a number of modules for accessing the internet and processing " "internet protocols. Two of the simplest are :mod:`urllib.request` for " @@ -204,17 +201,17 @@ msgstr "" "dados a partir de URLs e :mod:`smtplib` para enviar mensagens de correio " "eletrônico::" -#: ../../tutorial/stdlib.rst:199 +#: ../../tutorial/stdlib.rst:200 msgid "(Note that the second example needs a mailserver running on localhost.)" msgstr "" "(Note que o segundo exemplo precisa de um servidor de email rodando em " "localhost.)" -#: ../../tutorial/stdlib.rst:205 +#: ../../tutorial/stdlib.rst:206 msgid "Dates and Times" msgstr "Data e hora" -#: ../../tutorial/stdlib.rst:207 +#: ../../tutorial/stdlib.rst:208 msgid "" "The :mod:`datetime` module supplies classes for manipulating dates and times " "in both simple and complex ways. While date and time arithmetic is " @@ -228,11 +225,11 @@ msgstr "" "formatação e manipulação. O módulo também oferece objetos que levam os fusos " "horários em consideração. ::" -#: ../../tutorial/stdlib.rst:231 +#: ../../tutorial/stdlib.rst:232 msgid "Data Compression" msgstr "Compressão de dados" -#: ../../tutorial/stdlib.rst:233 +#: ../../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:" @@ -242,11 +239,11 @@ msgstr "" "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:253 +#: ../../tutorial/stdlib.rst:254 msgid "Performance Measurement" msgstr "Medição de desempenho" -#: ../../tutorial/stdlib.rst:255 +#: ../../tutorial/stdlib.rst:256 msgid "" "Some Python users develop a deep interest in knowing the relative " "performance of different approaches to the same problem. Python provides a " @@ -256,7 +253,7 @@ msgstr "" "relativo de diferentes abordagens para o mesmo problema. Python oferece uma " "ferramenta de medição que esclarece essas dúvidas rapidamente." -#: ../../tutorial/stdlib.rst:259 +#: ../../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:" @@ -266,7 +263,7 @@ msgstr "" "tuplas ao invés da abordagem tradicional de permutar os argumentos. O " "módulo :mod:`timeit` rapidamente mostra uma modesta vantagem de desempenho::" -#: ../../tutorial/stdlib.rst:269 +#: ../../tutorial/stdlib.rst:270 msgid "" "In contrast to :mod:`timeit`'s fine level of granularity, the :mod:`profile` " "and :mod:`pstats` modules provide tools for identifying time critical " @@ -276,11 +273,11 @@ msgstr "" "mod:`profile` e :mod:`pstats` oferecem ferramentas para identificar os " "trechos mais críticos em grandes blocos de código." -#: ../../tutorial/stdlib.rst:277 +#: ../../tutorial/stdlib.rst:278 msgid "Quality Control" msgstr "Controle de qualidade" -#: ../../tutorial/stdlib.rst:279 +#: ../../tutorial/stdlib.rst:280 msgid "" "One approach for developing high quality software is to write tests for each " "function as it is developed and to run those tests frequently during the " @@ -290,7 +287,7 @@ msgstr "" "escrever testes para cada função à medida que é desenvolvida e executar " "esses testes frequentemente durante o processo de desenvolvimento." -#: ../../tutorial/stdlib.rst:283 +#: ../../tutorial/stdlib.rst:284 msgid "" "The :mod:`doctest` module provides a tool for scanning a module and " "validating tests embedded in a program's docstrings. Test construction is " @@ -307,7 +304,7 @@ msgstr "" "real, e permite que o módulo doctest verifique se o código continua fiel à " "documentação::" -#: ../../tutorial/stdlib.rst:301 +#: ../../tutorial/stdlib.rst:302 msgid "" "The :mod:`unittest` module is not as effortless as the :mod:`doctest` " "module, but it allows a more comprehensive set of tests to be maintained in " @@ -317,11 +314,11 @@ msgstr "" "`doctest`, mas permite que um conjunto muito maior de testes seja mantido em " "um arquivo separado::" -#: ../../tutorial/stdlib.rst:323 +#: ../../tutorial/stdlib.rst:324 msgid "Batteries Included" msgstr "Baterias incluídas" -#: ../../tutorial/stdlib.rst:325 +#: ../../tutorial/stdlib.rst:326 msgid "" "Python has a \"batteries included\" philosophy. This is best seen through " "the sophisticated and robust capabilities of its larger packages. For " @@ -330,10 +327,10 @@ msgstr "" "Python tem uma filosofia de \"baterias incluídas\". Isso fica mais evidente " "através da sofisticação e robustez dos seus maiores pacotes. Por exemplo:" -#: ../../tutorial/stdlib.rst:328 +#: ../../tutorial/stdlib.rst:329 msgid "" "The :mod:`xmlrpc.client` and :mod:`xmlrpc.server` modules make implementing " -"remote procedure calls into an almost trivial task. Despite the modules " +"remote procedure calls into an almost trivial task. Despite the modules' " "names, no direct knowledge or handling of XML is needed." msgstr "" "Os módulos :mod:`xmlrpc.client` e :mod:`xmlrpc.server` tornam a " @@ -341,7 +338,7 @@ msgstr "" "quase trivial. Apesar dos nomes dos módulos, nenhum conhecimento direto ou " "manipulação de XML é necessário." -#: ../../tutorial/stdlib.rst:332 +#: ../../tutorial/stdlib.rst:333 msgid "" "The :mod:`email` package is a library for managing email messages, including " "MIME and other :rfc:`2822`-based message documents. Unlike :mod:`smtplib` " @@ -357,7 +354,7 @@ msgstr "" "para construir ou decodificar a estrutura de mensagens complexas (incluindo " "anexos) e para implementação de protocolos de codificação e cabeçalhos." -#: ../../tutorial/stdlib.rst:339 +#: ../../tutorial/stdlib.rst:340 msgid "" "The :mod:`json` package provides robust support for parsing this popular " "data interchange format. The :mod:`csv` module supports direct reading and " @@ -375,7 +372,7 @@ msgstr "" "`xml.sax`. Juntos, esses módulos e pacotes simplificam muito a troca de " "informações entre aplicativos Python e outras ferramentas." -#: ../../tutorial/stdlib.rst:348 +#: ../../tutorial/stdlib.rst:349 msgid "" "The :mod:`sqlite3` module is a wrapper for the SQLite database library, " "providing a persistent database that can be updated and accessed using " @@ -385,7 +382,7 @@ msgstr "" "SQLite, fornecendo um banco de dados persistente que pode ser atualizado e " "acessado usando sintaxe SQL ligeiramente fora do padrão." -#: ../../tutorial/stdlib.rst:352 +#: ../../tutorial/stdlib.rst:353 msgid "" "Internationalization is supported by a number of modules including :mod:" "`gettext`, :mod:`locale`, and the :mod:`codecs` package." diff --git a/tutorial/stdlib2.po b/tutorial/stdlib2.po index f5947c2fa..44d8b8bdc 100644 --- a/tutorial/stdlib2.po +++ b/tutorial/stdlib2.po @@ -1,28 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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.10\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-06-29 12:56+0000\n" -"PO-Revision-Date: 2021-06-28 01:50+0000\n" -"Last-Translator: Claudio Rogerio Carvalho Filho , " -"2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:58+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../tutorial/stdlib2.rst:5 msgid "Brief Tour of the Standard Library --- Part II" @@ -138,7 +137,7 @@ msgstr "" "porcentagem para marcações como a data atual, número sequencial da imagem ou " "formato do aquivo::" -#: ../../tutorial/stdlib2.rst:125 +#: ../../tutorial/stdlib2.rst:126 msgid "" "Another application for templating is separating program logic from the " "details of multiple output formats. This makes it possible to substitute " @@ -149,32 +148,33 @@ msgstr "" "personalizados para gerar arquivos XML, relatórios em texto puro e " "relatórios web em HTML." -#: ../../tutorial/stdlib2.rst:133 +#: ../../tutorial/stdlib2.rst:134 msgid "Working with Binary Data Record Layouts" msgstr "Trabalhando com formatos binários de dados" -#: ../../tutorial/stdlib2.rst:135 +#: ../../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::" +"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)::" +"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:166 +#: ../../tutorial/stdlib2.rst:167 msgid "Multi-threading" msgstr "Multi-threading" -#: ../../tutorial/stdlib2.rst:168 +#: ../../tutorial/stdlib2.rst:169 msgid "" "Threading is a technique for decoupling tasks which are not sequentially " "dependent. Threads can be used to improve the responsiveness of " @@ -189,7 +189,7 @@ msgstr "" "ações de entrada e saída (I/O) em uma thread paralelamente a cálculos em " "outra thread." -#: ../../tutorial/stdlib2.rst:173 +#: ../../tutorial/stdlib2.rst:174 msgid "" "The following code shows how the high level :mod:`threading` module can run " "tasks in background while the main program continues to run::" @@ -198,7 +198,7 @@ msgstr "" "executar tarefas em segundo plano enquanto o programa principal continua a " "sua execução::" -#: ../../tutorial/stdlib2.rst:197 +#: ../../tutorial/stdlib2.rst:198 msgid "" "The principal challenge of multi-threaded applications is coordinating " "threads that share data or other resources. To that end, the threading " @@ -208,10 +208,9 @@ 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:202 +#: ../../tutorial/stdlib2.rst:203 msgid "" "While those tools are powerful, minor design errors can result in problems " "that are difficult to reproduce. So, the preferred approach to task " @@ -230,11 +229,11 @@ msgstr "" "inter-thread são mais fáceis de serem projetados, mais legíveis e mais " "confiáveis." -#: ../../tutorial/stdlib2.rst:213 +#: ../../tutorial/stdlib2.rst:214 msgid "Logging" msgstr "Gerando logs" -#: ../../tutorial/stdlib2.rst:215 +#: ../../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." @@ -244,11 +243,11 @@ msgstr "" "maneira mais simples, mensagens de log são enviadas para um arquivo ou para " "``sys.stderr``::" -#: ../../tutorial/stdlib2.rst:225 +#: ../../tutorial/stdlib2.rst:226 msgid "This produces the following output:" msgstr "Isso produz a seguinte saída:" -#: ../../tutorial/stdlib2.rst:233 +#: ../../tutorial/stdlib2.rst:234 msgid "" "By default, informational and debugging messages are suppressed and the " "output is sent to standard error. Other output options include routing " @@ -264,7 +263,7 @@ msgstr "" "formas de envio de mensagens, baseadas na prioridade da mensagem: :const:" "`DEBUG`, :const:`INFO`, :const:`WARNING`, :const:`ERROR` e :const:`CRITICAL`." -#: ../../tutorial/stdlib2.rst:240 +#: ../../tutorial/stdlib2.rst:241 msgid "" "The logging system can be configured directly from Python or can be loaded " "from a user editable configuration file for customized logging without " @@ -274,22 +273,22 @@ msgstr "" "carregado a partir de um arquivo de configuração editável pelo usuário para " "logs personalizados sem a necessidade de alterar a aplicação." -#: ../../tutorial/stdlib2.rst:248 +#: ../../tutorial/stdlib2.rst:249 msgid "Weak References" msgstr "Referências fracas" -#: ../../tutorial/stdlib2.rst:250 +#: ../../tutorial/stdlib2.rst:251 msgid "" "Python does automatic memory management (reference counting for most objects " "and :term:`garbage collection` to eliminate cycles). The memory is freed " "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:254 +#: ../../tutorial/stdlib2.rst:255 msgid "" "This approach works fine for most applications but occasionally there is a " "need to track objects only as long as they are being used by something else. " @@ -307,13 +306,13 @@ 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:289 +#: ../../tutorial/stdlib2.rst:290 msgid "Tools for Working with Lists" msgstr "Ferramentas para trabalhar com listas" -#: ../../tutorial/stdlib2.rst:291 +#: ../../tutorial/stdlib2.rst:292 msgid "" "Many data structure needs can be met with the built-in list type. However, " "sometimes there is a need for alternative implementations with different " @@ -324,7 +323,7 @@ msgstr "" "implementações alternativas que sacrificam algumas facilidades em nome de " "melhor desempenho." -#: ../../tutorial/stdlib2.rst:295 +#: ../../tutorial/stdlib2.rst:296 msgid "" "The :mod:`array` module provides an :class:`~array.array()` object that is " "like a list that stores only homogeneous data and stores it more compactly. " @@ -338,7 +337,7 @@ msgstr "" "binários de dois bytes sem sinal (código de tipo ``\"H\"``) ao invés dos 16 " "bytes usuais para cada item em uma lista de ``int``::" -#: ../../tutorial/stdlib2.rst:308 +#: ../../tutorial/stdlib2.rst:309 msgid "" "The :mod:`collections` module provides a :class:`~collections.deque()` " "object that is like a list with faster appends and pops from the left side " @@ -351,7 +350,7 @@ msgstr "" "adequados para implementar filas e buscas de amplitude em árvores de dados " "(*breadth first tree searches*)::" -#: ../../tutorial/stdlib2.rst:329 +#: ../../tutorial/stdlib2.rst:330 msgid "" "In addition to alternative list implementations, the library also offers " "other tools such as the :mod:`bisect` module with functions for manipulating " @@ -361,7 +360,7 @@ msgstr "" "outras ferramentas como o módulo :mod:`bisect` com funções para manipulação " "de listas ordenadas::" -#: ../../tutorial/stdlib2.rst:339 +#: ../../tutorial/stdlib2.rst:340 msgid "" "The :mod:`heapq` module provides functions for implementing heaps based on " "regular lists. The lowest valued entry is always kept at position zero. " @@ -373,11 +372,11 @@ msgstr "" "é útil para aplicações que acessam repetidamente o menor elemento, mas não " "querem reordenar a lista toda a cada acesso::" -#: ../../tutorial/stdlib2.rst:355 +#: ../../tutorial/stdlib2.rst:356 msgid "Decimal Floating Point Arithmetic" msgstr "Aritmética decimal com ponto flutuante" -#: ../../tutorial/stdlib2.rst:357 +#: ../../tutorial/stdlib2.rst:358 msgid "" "The :mod:`decimal` module offers a :class:`~decimal.Decimal` datatype for " "decimal floating point arithmetic. Compared to the built-in :class:`float` " @@ -388,25 +387,25 @@ msgstr "" "`float` que usa aritmética binária de ponto flutuante, a classe é " "especialmente útil para:" -#: ../../tutorial/stdlib2.rst:361 +#: ../../tutorial/stdlib2.rst:362 msgid "" "financial applications and other uses which require exact decimal " "representation," msgstr "aplicações financeiras que requerem representação decimal exata," -#: ../../tutorial/stdlib2.rst:363 +#: ../../tutorial/stdlib2.rst:364 msgid "control over precision," msgstr "controle sobre a precisão," -#: ../../tutorial/stdlib2.rst:364 +#: ../../tutorial/stdlib2.rst:365 msgid "control over rounding to meet legal or regulatory requirements," msgstr "controle sobre arredondamento para satisfazer requisitos legais," -#: ../../tutorial/stdlib2.rst:365 +#: ../../tutorial/stdlib2.rst:366 msgid "tracking of significant decimal places, or" msgstr "rastreamento de casas decimais significativas, ou" -#: ../../tutorial/stdlib2.rst:366 +#: ../../tutorial/stdlib2.rst:367 msgid "" "applications where the user expects the results to match calculations done " "by hand." @@ -414,7 +413,7 @@ msgstr "" "aplicações onde o usuário espera que os resultados sejam os mesmos que os " "dos cálculos feitos à mão." -#: ../../tutorial/stdlib2.rst:369 +#: ../../tutorial/stdlib2.rst:370 msgid "" "For example, calculating a 5% tax on a 70 cent phone charge gives different " "results in decimal floating point and binary floating point. The difference " @@ -425,7 +424,7 @@ msgstr "" "decimal ou binária. A diferença torna-se significativa se os resultados são " "arredondados para o centavo mais próximo::" -#: ../../tutorial/stdlib2.rst:379 +#: ../../tutorial/stdlib2.rst:380 msgid "" "The :class:`~decimal.Decimal` result keeps a trailing zero, automatically " "inferring four place significance from multiplicands with two place " @@ -439,7 +438,7 @@ msgstr "" "à mão e evita problemas que podem ocorrer quando a representação binária do " "ponto flutuante não consegue representar quantidades decimais com exatidão." -#: ../../tutorial/stdlib2.rst:385 +#: ../../tutorial/stdlib2.rst:386 msgid "" "Exact representation enables the :class:`~decimal.Decimal` class to perform " "modulo calculations and equality tests that are unsuitable for binary " @@ -449,7 +448,7 @@ msgstr "" "cálculos de módulo e testes de igualdade que não funcionam bem em ponto " "flutuante binário::" -#: ../../tutorial/stdlib2.rst:399 +#: ../../tutorial/stdlib2.rst:400 msgid "" "The :mod:`decimal` module provides arithmetic with as much precision as " "needed::" diff --git a/tutorial/venv.po b/tutorial/venv.po index 0b6d79da6..f32eb9446 100644 --- a/tutorial/venv.po +++ b/tutorial/venv.po @@ -1,30 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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 -# Ruan Aragão , 2021 -# Leticia Portella , 2021 -# Adorilson Bezerra , 2021 -# Hildeberto Abreu Magalhães , 2021 +# python-doc bot, 2025 # #, 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:50+0000\n" -"Last-Translator: Hildeberto Abreu Magalhães , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:58+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../tutorial/venv.rst:6 msgid "Virtual Environments and Packages" @@ -60,7 +57,7 @@ msgstr "" "preencha os requisitos de qualquer aplicação. Se uma aplicação A necessita a " "versão 1.0 de um módulo particular mas a aplicação B necessita a versão 2.0, " "os requisitos entrarão em conflito e instalar qualquer uma das duas versões " -"1.0 ou 2.0 fará com que uma das aplicações não consiga executar. " +"1.0 ou 2.0 fará com que uma das aplicações não consiga executar." #: ../../tutorial/venv.rst:23 msgid "" @@ -137,7 +134,7 @@ msgstr "" "nome tipicamente mantém o diretório oculto em seu ambiente, portanto é " "transparente, ao menos tempo que explica o motivo desse diretório existir. " "Também previne conflitos com ``.env``, arquivos de definição de variáveis de " -"ambiente que algumas ferramentas utilizam. " +"ambiente que algumas ferramentas utilizam." #: ../../tutorial/venv.rst:59 msgid "Once you've created a virtual environment, you may activate it." @@ -180,13 +177,13 @@ msgstr "Gerenciando pacotes com o pip" #: ../../tutorial/venv.rst:95 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 " +"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 " +"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:100 @@ -195,9 +192,9 @@ msgid "" "etc. (Consult the :ref:`installing-index` guide for complete documentation " "for ``pip``.)" msgstr "" -"``pip`` tem uma série de subcomandos: \"install\", \"uninstall\", \"freeze" -"\", etc. (Consulte o guia :ref:`installing-index` para a documentação " -"completa do ``pip``.)" +"``pip`` tem uma série de subcomandos: \"install\", \"uninstall\", " +"\"freeze\", etc. (Consulte o guia :ref:`installing-index` para a " +"documentação completa do ``pip``.)" #: ../../tutorial/venv.rst:104 msgid "" diff --git a/tutorial/whatnow.po b/tutorial/whatnow.po index 66acbd21c..814383a0e 100644 --- a/tutorial/whatnow.po +++ b/tutorial/whatnow.po @@ -1,29 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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 , 2021 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.10\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-07-27 13:07+0000\n" -"PO-Revision-Date: 2021-06-28 01:50+0000\n" -"Last-Translator: Adorilson Bezerra , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:58+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../tutorial/whatnow.rst:5 msgid "What Now?" @@ -84,7 +82,7 @@ msgid "" "language itself." msgstr "" ":ref:`reference-index`: Uma explicação detalhada da sintaxe e da semântica " -"do Python. É uma leitura pesada, mas é útil como um guia completo da " +"de Python. É uma leitura pesada, mas é útil como um guia completo da " "linguagem propriamente dita." #: ../../tutorial/whatnow.rst:31 @@ -94,34 +92,29 @@ msgstr "Mais recursos Python:" #: ../../tutorial/whatnow.rst:33 msgid "" "https://www.python.org: The major Python web site. It contains code, " -"documentation, and pointers to Python-related pages around the web. This " -"web site is mirrored in various places around the world, such as Europe, " -"Japan, and Australia; a mirror may be faster than the main site, depending " -"on your geographical location." +"documentation, and pointers to Python-related pages around the web." msgstr "" -"https://www.python.org: o principal website sobre Python. Ele contém código, " -"documentação e aponta para páginas na Web relacionadas ao Python. Esse site " -"é espelhado em vários lugares do mundo como Europa, Japão e Austrália; um " -"espelho pode ser mais rápido que o site principal, dependendo da sua " -"localização geográfica." +"https://www.python.org: o principal web site sobre Python. Contém código, " +"documentação, e referências para outras páginas relacionadas a Python ao " +"redor da web." -#: ../../tutorial/whatnow.rst:39 +#: ../../tutorial/whatnow.rst:36 msgid "https://docs.python.org: Fast access to Python's documentation." -msgstr "https://docs.python.org: Acesso rápido à documentação Python." +msgstr "https://docs.python.org: acesso rápido à documentação Python." -#: ../../tutorial/whatnow.rst:41 +#: ../../tutorial/whatnow.rst:38 msgid "" "https://pypi.org: The Python Package Index, previously also nicknamed the " "Cheese Shop [#]_, is an index of user-created Python modules that are " "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çar 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:46 +#: ../../tutorial/whatnow.rst:43 msgid "" "https://code.activestate.com/recipes/langs/python/: The Python Cookbook is a " "sizable collection of code examples, larger modules, and useful scripts. " @@ -134,28 +127,28 @@ msgstr "" "em um livro também chamado Python Cookbook (O'Reilly & Associates, ISBN " "0-596-00797-3.)" -#: ../../tutorial/whatnow.rst:51 +#: ../../tutorial/whatnow.rst:48 msgid "" -"http://www.pyvideo.org collects links to Python-related videos from " -"conferences and user-group meetings." +"https://pyvideo.org collects links to Python-related videos from conferences " +"and user-group meetings." msgstr "" -"http://www.pyvideo.org contém links para vídeos relacionados a Python de " -"conferências e encontros de grupos de usuários." +"https://pyvideo.org coleta links para vídeo relacionados a Python de " +"conferências e reuniões de grupos de usuários." -#: ../../tutorial/whatnow.rst:54 +#: ../../tutorial/whatnow.rst:51 msgid "" "https://scipy.org: The Scientific Python project includes modules for fast " "array computations and manipulations plus a host of packages for such things " "as linear algebra, Fourier transforms, non-linear solvers, random number " "distributions, statistical analysis and the like." msgstr "" -"https://scipy.org: O projeto Scientific Python ( Python Científico) inclui " +"https://scipy.org: o projeto Scientific Python ( Python Científico) inclui " "módulos para computação e manipulação rápida de vetores e também hospeda " "pacotes para coisas similares como álgebra linear, transformações de " "Fourier, resolvedores não-lineares, distribuições de números aleatórios, " "análise estatística e afins." -#: ../../tutorial/whatnow.rst:59 +#: ../../tutorial/whatnow.rst:56 msgid "" "For Python-related questions and problem reports, you can post to the " "newsgroup :newsgroup:`comp.lang.python`, or send them to the mailing list at " @@ -176,23 +169,23 @@ msgstr "" "brasil no Google Groups (http://groups.google.com/group/python-brasil), com " "discussões de ótimo nível técnico." -#: ../../tutorial/whatnow.rst:67 +#: ../../tutorial/whatnow.rst:64 msgid "" "Before posting, be sure to check the list of :ref:`Frequently Asked " "Questions ` (also called the FAQ). The FAQ answers many of the " "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:73 +#: ../../tutorial/whatnow.rst:70 msgid "Footnotes" msgstr "Notas de rodapé" -#: ../../tutorial/whatnow.rst:74 +#: ../../tutorial/whatnow.rst:71 msgid "" "\"Cheese Shop\" is a Monty Python's sketch: a customer enters a cheese shop, " "but whatever cheese he asks for, the clerk says it's missing." diff --git a/using/cmdline.po b/using/cmdline.po index e5a55e3fb..ffdfe44a7 100644 --- a/using/cmdline.po +++ b/using/cmdline.po @@ -1,32 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, Python Software 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 -# Willian C Lopes , 2021 -# Hemílio Lauro , 2021 -# Rafael Fontenelle , 2021 -# Vinicius Gubiani Ferreira , 2021 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.10\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-08-06 13:13+0000\n" -"PO-Revision-Date: 2021-06-28 01:50+0000\n" -"Last-Translator: Vinicius Gubiani Ferreira , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2026-03-25 18:42+0000\n" +"PO-Revision-Date: 2025-09-22 15:58+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../using/cmdline.rst:9 msgid "Command line and environment" @@ -148,18 +143,18 @@ 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." +"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)." 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 " +"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 serem importados como módulos de nível " "superior)." #: ../../using/cmdline.rst:73 @@ -168,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 "" @@ -256,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`" @@ -292,16 +287,16 @@ msgid "" "\"`` 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`." +"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:629 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 "" @@ -360,7 +355,7 @@ 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 @@ -449,12 +444,12 @@ 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:245 msgid "" @@ -498,7 +493,7 @@ 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`." @@ -523,10 +518,10 @@ msgid "" "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:290 ../../using/cmdline.rst:300 msgid "Modify ``.pyc`` filenames according to :pep:`488`." @@ -538,16 +533,16 @@ msgid "" "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:306 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:313 msgid "" @@ -568,31 +563,26 @@ msgid "" "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 \"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." +"para que os valores :meth:`__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:323 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^2) complexity. See http://www.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^2). " -"Consulte http://www.ocert.org/advisories/ocert-2011-003.html para obter " -"detalhes." +"service caused by carefully chosen inputs that exploit the worst case " +"performance of a dict construction, O(n\\ :sup:`2`) complexity. See http://" +"www.ocert.org/advisories/ocert-2011-003.html for details." +msgstr "" #: ../../using/cmdline.rst:328 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:331 msgid "The option is no longer ignored." @@ -603,11 +593,11 @@ msgid "" "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:344 ../../using/cmdline.rst:705 -#: ../../using/cmdline.rst:717 +#: ../../using/cmdline.rst:344 ../../using/cmdline.rst:722 +#: ../../using/cmdline.rst:734 msgid ":pep:`370` -- Per user site-packages directory" msgstr ":pep:`370` -- Diretório site-packages por usuário." @@ -618,18 +608,18 @@ msgid "" "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:357 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:360 msgid "See also :envvar:`PYTHONUNBUFFERED`." @@ -649,8 +639,8 @@ 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:373 msgid "" @@ -672,7 +662,7 @@ msgstr "" "Controle de advertência. O mecanismo de aviso do Python por padrão exibe " "mensagens de aviso para :data:`sys.stderr`." -#: ../../using/cmdline.rst:386 ../../using/cmdline.rst:733 +#: ../../using/cmdline.rst:386 ../../using/cmdline.rst:750 msgid "" "The simplest settings apply a particular action unconditionally to all " "warnings emitted by a process (even those that are otherwise ignored by " @@ -736,7 +726,7 @@ msgstr "" #: ../../using/cmdline.rst:420 msgid "" -"The *module* field matches the (fully-qualified) module name; this match is " +"The *module* field matches the (fully qualified) module name; this match is " "case-sensitive." msgstr "" "O campo *module* corresponde ao nome do módulo (totalmente qualificado); " @@ -776,7 +766,7 @@ msgstr "" "`warnings`. Por exemplo, a função :func:`warnings.filterwarnings` pode ser " "usada para usar uma expressão regular na mensagem de aviso." -#: ../../using/cmdline.rst:436 ../../using/cmdline.rst:744 +#: ../../using/cmdline.rst:436 ../../using/cmdline.rst:761 msgid "" "See :ref:`warning-filter` and :ref:`describing-warning-filters` for more " "details." @@ -833,6 +823,16 @@ msgstr "" #: ../../using/cmdline.rst:460 msgid "" +"``-X int_max_str_digits`` configures the :ref:`integer string conversion " +"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`." + +#: ../../using/cmdline.rst:463 +msgid "" "``-X importtime`` to show how long each import takes. It shows module name, " "cumulative time (including nested imports) and self time (excluding nested " "imports). Note that its output may be broken in multi-threaded " @@ -846,7 +846,7 @@ msgstr "" "importtime -c 'import asyncio'``. Veja também :envvar:" "`PYTHONPROFILEIMPORTTIME`." -#: ../../using/cmdline.rst:465 +#: ../../using/cmdline.rst:468 msgid "" "``-X dev``: enable :ref:`Python Development Mode `, introducing " "additional runtime checks that are too expensive to be enabled by default." @@ -855,7 +855,7 @@ msgstr "" "introduzindo verificações adicionais de tempo de execução que são muito " "custosas para serem habilitadas por padrão." -#: ../../using/cmdline.rst:468 +#: ../../using/cmdline.rst:471 msgid "" "``-X utf8`` enables the :ref:`Python UTF-8 Mode `. ``-X utf8=0`` " "explicitly disables :ref:`Python UTF-8 Mode ` (even when it would " @@ -865,7 +865,7 @@ msgstr "" "utf8=0`` explicitamente desabilita o :ref:`Modo UTF-8 do Python ` " "(mesmo quando de outra forma seria ativado automaticamente)." -#: ../../using/cmdline.rst:471 +#: ../../using/cmdline.rst:474 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:" @@ -875,7 +875,7 @@ msgstr "" "árvore paralela enraizada em um determinado diretório em vez de na árvore de " "código. Veja também :envvar:`PYTHONPYCACHEPREFIX`." -#: ../../using/cmdline.rst:474 +#: ../../using/cmdline.rst:477 msgid "" "``-X warn_default_encoding`` issues a :class:`EncodingWarning` when the " "locale-specific default encoding is used for opening files. See also :envvar:" @@ -885,7 +885,7 @@ msgstr "" "codificação padrão específica da localidade é usada para abrir arquivos. " "Veja também :envvar:`PYTHONWARNDEFAULTENCODING`." -#: ../../using/cmdline.rst:478 +#: ../../using/cmdline.rst:481 msgid "" "It also allows passing arbitrary values and retrieving them through the :" "data:`sys._xoptions` dictionary." @@ -893,27 +893,27 @@ msgstr "" "Também permite passar valores arbitrários e recuperá-los através do " "dicionário :data:`sys._xoptions`." -#: ../../using/cmdline.rst:481 +#: ../../using/cmdline.rst:484 msgid "The :option:`-X` option was added." msgstr "A opção :option:`-X` foi adicionada." -#: ../../using/cmdline.rst:484 +#: ../../using/cmdline.rst:487 msgid "The ``-X faulthandler`` option." msgstr "A opção ``-X faulthandler``." -#: ../../using/cmdline.rst:487 +#: ../../using/cmdline.rst:490 msgid "The ``-X showrefcount`` and ``-X tracemalloc`` options." msgstr "As opções ``-X showrefcount`` e ``-X tracemalloc``." -#: ../../using/cmdline.rst:490 +#: ../../using/cmdline.rst:493 msgid "The ``-X showalloccount`` option." msgstr "A opção ``-X showalloccount``." -#: ../../using/cmdline.rst:493 +#: ../../using/cmdline.rst:496 msgid "The ``-X importtime``, ``-X dev`` and ``-X utf8`` options." msgstr "As opções ``-X importtime``, ``-X dev`` e ``-X utf8``." -#: ../../using/cmdline.rst:496 +#: ../../using/cmdline.rst:499 msgid "" "The ``-X pycache_prefix`` option. The ``-X dev`` option now logs ``close()`` " "exceptions in :class:`io.IOBase` destructor." @@ -921,7 +921,7 @@ msgstr "" "A opção ``-X pycache_prefix``. A opção ``-X dev`` agora registra exceções de " "``close()`` no destruidor de :class:`io.IOBase`." -#: ../../using/cmdline.rst:500 +#: ../../using/cmdline.rst:503 msgid "" "Using ``-X dev`` option, check *encoding* and *errors* arguments on string " "encoding and decoding operations." @@ -929,31 +929,35 @@ 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:504 +#: ../../using/cmdline.rst:507 msgid "The ``-X showalloccount`` option has been removed." msgstr "A opção ``-X showalloccount`` foi removida." -#: ../../using/cmdline.rst:506 +#: ../../using/cmdline.rst:509 msgid "The ``-X warn_default_encoding`` option." msgstr "A opção ``-X warn_default_encoding``." -#: ../../using/cmdline.rst:510 +#: ../../using/cmdline.rst:512 +msgid "The ``-X int_max_str_digits`` option." +msgstr "A opção ``-X int_max_str_digits``." + +#: ../../using/cmdline.rst:516 msgid "The ``-X oldparser`` option." msgstr "A opção ``-X oldparser``." -#: ../../using/cmdline.rst:514 +#: ../../using/cmdline.rst:520 msgid "Options you shouldn't use" msgstr "Opções que você não deve usar" -#: ../../using/cmdline.rst:518 +#: ../../using/cmdline.rst:524 msgid "Reserved for use by Jython_." msgstr "Reservado para uso pelo Jython_." -#: ../../using/cmdline.rst:526 +#: ../../using/cmdline.rst:531 msgid "Environment variables" msgstr "Variáveis de ambiente" -#: ../../using/cmdline.rst:528 +#: ../../using/cmdline.rst:533 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 " @@ -962,10 +966,10 @@ 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 " +"quando há um conflito." -#: ../../using/cmdline.rst:535 +#: ../../using/cmdline.rst:540 msgid "" "Change the location of the standard Python libraries. By default, the " "libraries are searched in :file:`{prefix}/lib/python{version}` and :file:" @@ -973,13 +977,13 @@ msgid "" "`{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 " +"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 padronizando " +"`{exec_prefix}` são diretórios dependentes da instalação, ambos padronizados " "para :file:`/usr/local`." -#: ../../using/cmdline.rst:541 +#: ../../using/cmdline.rst:546 msgid "" "When :envvar:`PYTHONHOME` is set to a single directory, its value replaces " "both :file:`{prefix}` and :file:`{exec_prefix}`. To specify different " @@ -990,7 +994,7 @@ msgstr "" "diferentes para estes, defina :envvar:`PYTHONHOME` para :file:`{prefix}:" "{exec_prefix}`." -#: ../../using/cmdline.rst:548 +#: ../../using/cmdline.rst:553 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 :" @@ -998,11 +1002,12 @@ msgid "" "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:553 +#: ../../using/cmdline.rst:558 msgid "" "In addition to normal directories, individual :envvar:`PYTHONPATH` entries " "may refer to zipfiles containing pure Python modules (in either source or " @@ -1013,7 +1018,7 @@ msgstr "" "fonte quanto na forma compilada). Módulos de extensão não podem ser " "importados de arquivos zip." -#: ../../using/cmdline.rst:557 +#: ../../using/cmdline.rst:562 msgid "" "The default search path is installation dependent, but generally begins " "with :file:`{prefix}/lib/python{version}` (see :envvar:`PYTHONHOME` above). " @@ -1023,7 +1028,7 @@ msgstr "" "com :file:`{prefix}/lib/python{version}` (veja :envvar:`PYTHONHOME` acima). " "É *sempre* anexado a :envvar:`PYTHONPATH`." -#: ../../using/cmdline.rst:561 +#: ../../using/cmdline.rst:566 msgid "" "An additional directory will be inserted in the search path in front of :" "envvar:`PYTHONPATH` as described above under :ref:`using-on-interface-" @@ -1031,19 +1036,19 @@ msgid "" "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`." +"`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:569 +#: ../../using/cmdline.rst:574 msgid "" "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." +"Se for definida como uma string não vazia, ela substitui o valor :data:`sys." "platlibdir`." -#: ../../using/cmdline.rst:577 +#: ../../using/cmdline.rst:582 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 " @@ -1055,13 +1060,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:584 +#: ../../using/cmdline.rst:589 msgid "" "Raises an :ref:`auditing event ` ``cpython.run_startup`` with " "argument ``filename``." @@ -1069,7 +1074,7 @@ msgstr "" "Levanta um :ref:`evento de auditoria ` ``cpython.run_startup`` com " "argumento ``filename``." -#: ../../using/cmdline.rst:586 +#: ../../using/cmdline.rst:591 msgid "" "Raises an :ref:`auditing event ` ``cpython.run_startup`` with the " "filename as the argument when called on startup." @@ -1077,7 +1082,7 @@ 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:592 +#: ../../using/cmdline.rst:597 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 :" @@ -1087,7 +1092,7 @@ msgstr "" "opção :option:`-O`. Se definido como um inteiro, é equivalente a " "especificar :option:`-O` várias vezes." -#: ../../using/cmdline.rst:599 +#: ../../using/cmdline.rst:604 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 " @@ -1105,7 +1110,7 @@ msgstr "" "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." -#: ../../using/cmdline.rst:611 +#: ../../using/cmdline.rst:616 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 :" @@ -1115,7 +1120,7 @@ msgstr "" "opção :option:`-d`. Se definido como um inteiro, é equivalente a " "especificar :option:`-d` várias vezes." -#: ../../using/cmdline.rst:618 +#: ../../using/cmdline.rst:623 msgid "" "If this is set to a non-empty string it is equivalent to specifying the :" "option:`-i` option." @@ -1123,7 +1128,7 @@ msgstr "" "Se for definido como uma string não vazia, é equivalente a especificar a " "opção :option:`-i`." -#: ../../using/cmdline.rst:621 +#: ../../using/cmdline.rst:626 msgid "" "This variable can also be modified by Python code using :data:`os.environ` " "to force inspect mode on program termination." @@ -1131,7 +1136,11 @@ 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." -#: ../../using/cmdline.rst:627 +#: ../../using/cmdline.rst:631 +msgid "(also 3.9.20, and 3.8.20) Emits audit events." +msgstr "" + +#: ../../using/cmdline.rst:637 msgid "" "If this is set to a non-empty string it is equivalent to specifying the :" "option:`-u` option." @@ -1139,7 +1148,7 @@ msgstr "" "Se for definido como uma string não vazia, é equivalente a especificar a " "opção :option:`-u`." -#: ../../using/cmdline.rst:633 +#: ../../using/cmdline.rst:643 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 :" @@ -1149,15 +1158,15 @@ msgstr "" "opção :option:`-v`. Se definido como um inteiro, é equivalente a " "especificar :option:`-v` várias vezes." -#: ../../using/cmdline.rst:640 +#: ../../using/cmdline.rst:650 msgid "" "If this is set, Python ignores case in :keyword:`import` statements. This " -"only works on Windows and OS X." +"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." -#: ../../using/cmdline.rst:646 +#: ../../using/cmdline.rst:656 msgid "" "If this is set to a non-empty string, Python won't try to write ``.pyc`` " "files on the import of source modules. This is equivalent to specifying " @@ -1167,7 +1176,7 @@ msgstr "" "arquivos ``.pyc`` na importação de módulos fonte. Isso é equivalente a " "especificar a opção :option:`-B`." -#: ../../using/cmdline.rst:653 +#: ../../using/cmdline.rst:663 msgid "" "If this is set, Python will write ``.pyc`` files in a mirror directory tree " "at this path, instead of in ``__pycache__`` directories within the source " @@ -1179,7 +1188,7 @@ msgstr "" "dentro da árvore de fontes. Isso é equivalente a especificar a opção :option:" "`-X` ``pycache_prefix=PATH``." -#: ../../using/cmdline.rst:663 +#: ../../using/cmdline.rst:673 msgid "" "If this variable is not set or set to ``random``, a random value is used to " "seed the hashes of str and bytes objects." @@ -1187,7 +1196,7 @@ msgstr "" "Se esta variável não for definida ou definida como ``random``, um valor " "aleatório é usado para semear os hashes de objetos str e bytes." -#: ../../using/cmdline.rst:666 +#: ../../using/cmdline.rst:676 msgid "" "If :envvar:`PYTHONHASHSEED` is set to an integer value, it is used as a " "fixed seed for generating the hash() of the types covered by the hash " @@ -1197,7 +1206,7 @@ msgstr "" "como uma semente fixa para gerar o hash() dos tipos cobertos pela " "aleatorização do hash." -#: ../../using/cmdline.rst:670 +#: ../../using/cmdline.rst:680 msgid "" "Its purpose is to allow repeatable hashing, such as for selftests for the " "interpreter itself, or to allow a cluster of python processes to share hash " @@ -1207,7 +1216,7 @@ msgstr "" "interpretador, ou permitir que um cluster de processos Python compartilhe " "valores de hash." -#: ../../using/cmdline.rst:674 +#: ../../using/cmdline.rst:684 msgid "" "The integer must be a decimal number in the range [0,4294967295]. " "Specifying the value 0 will disable hash randomization." @@ -1215,7 +1224,17 @@ msgstr "" "O número inteiro deve ser um número decimal no intervalo [0,4294967295]. " "Especificar o valor 0 desabilitará a aleatorização de hash." -#: ../../using/cmdline.rst:682 +#: ../../using/cmdline.rst:691 +msgid "" +"If this variable is set to an integer, it is used to configure the " +"interpreter's global :ref:`integer string conversion length limitation " +"`." +msgstr "" +"Se esta variável estiver definida para um inteiro, é usada para configurar " +"a :ref:`limitação de comprimento de string na conversão para inteiro " +"` global do interpretador." + +#: ../../using/cmdline.rst:699 msgid "" "If this is set before running the interpreter, it overrides the encoding " "used for stdin/stdout/stderr, in the syntax ``encodingname:errorhandler``. " @@ -1227,7 +1246,7 @@ msgstr "" "errorhandler``. Ambas as partes ``encodingname`` e ``:errorhandler`` são " "opcionais e têm o mesmo significado que em :func:`str.encode`." -#: ../../using/cmdline.rst:687 +#: ../../using/cmdline.rst:704 msgid "" "For stderr, the ``:errorhandler`` part is ignored; the handler will always " "be ``'backslashreplace'``." @@ -1235,11 +1254,11 @@ msgstr "" "Para stderr, a parte ``:errorhandler`` é ignorada; o tratador sempre será " "``'backslashreplace'``." -#: ../../using/cmdline.rst:690 +#: ../../using/cmdline.rst:707 msgid "The ``encodingname`` part is now optional." msgstr "A parte ``encodingname`` é agora opcional." -#: ../../using/cmdline.rst:693 +#: ../../using/cmdline.rst:710 msgid "" "On Windows, the encoding specified by this variable is ignored for " "interactive console buffers unless :envvar:`PYTHONLEGACYWINDOWSSTDIO` is " @@ -1251,15 +1270,15 @@ msgstr "" "`PYTHONLEGACYWINDOWSSTDIO` também seja especificado. Arquivos e canais " "redirecionados por meio de fluxos padrão não são afetados." -#: ../../using/cmdline.rst:700 +#: ../../using/cmdline.rst:717 msgid "" "If this is set, Python won't add the :data:`user site-packages directory " "` 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:710 +#: ../../using/cmdline.rst:727 msgid "" "Defines the :data:`user base directory `, which is used to " "compute the path of the :data:`user site-packages directory ` e :ref:`caminhos de instalação do Distutils " "` para ``python setup.py install --user``." -#: ../../using/cmdline.rst:722 +#: ../../using/cmdline.rst:739 msgid "" "If this environment variable is set, ``sys.argv[0]`` will be set to its " -"value instead of the value got through the C runtime. Only works on Mac OS " -"X." +"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 Mac OS X." +"apenas no macOS." -#: ../../using/cmdline.rst:728 +#: ../../using/cmdline.rst:745 msgid "" "This is equivalent to the :option:`-W` option. If set to a comma separated " "string, it is equivalent to specifying :option:`-W` multiple times, with " @@ -1292,7 +1310,7 @@ msgstr "" "vezes, com os filtros posteriores na lista tendo precedência sobre os " "anteriores na lista." -#: ../../using/cmdline.rst:750 +#: ../../using/cmdline.rst:767 msgid "" "If this environment variable is set to a non-empty string, :func:" "`faulthandler.enable` is called at startup: install a handler for :const:" @@ -1307,7 +1325,7 @@ msgstr "" "execução) do Python. Isso é equivalente à opção :option:`-X` " "``faulthandler``." -#: ../../using/cmdline.rst:761 +#: ../../using/cmdline.rst:778 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 " @@ -1322,7 +1340,7 @@ msgstr "" "armazena apenas o quadro mais recente. Veja o :func:`tracemalloc.start` para " "mais informações." -#: ../../using/cmdline.rst:772 +#: ../../using/cmdline.rst:789 msgid "" "If this environment variable is set to a non-empty string, Python will show " "how long each import takes. This is exactly equivalent to setting ``-X " @@ -1332,7 +1350,7 @@ msgstr "" "Python mostrará quanto tempo leva cada importação. Isso é exatamente " "equivalente a definir ``-X importtime`` na linha de comando." -#: ../../using/cmdline.rst:781 +#: ../../using/cmdline.rst:798 msgid "" "If this environment variable is set to a non-empty string, enable the :ref:" "`debug mode ` of the :mod:`asyncio` module." @@ -1341,16 +1359,16 @@ msgstr "" "habilita o :ref:`modo de depuração ` do módulo :mod:" "`asyncio`." -#: ../../using/cmdline.rst:789 +#: ../../using/cmdline.rst:806 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:791 +#: ../../using/cmdline.rst:808 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:793 +#: ../../using/cmdline.rst:810 msgid "" "``default``: use the :ref:`default memory allocators `." @@ -1358,7 +1376,7 @@ msgstr "" "``default``: usa os :ref:`alocadores padrão de memória `." -#: ../../using/cmdline.rst:795 +#: ../../using/cmdline.rst:812 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:" @@ -1368,7 +1386,7 @@ msgstr "" "domínios (:c:data:`PYMEM_DOMAIN_RAW`, :c:data:`PYMEM_DOMAIN_MEM`, :c:data:" "`PYMEM_DOMAIN_OBJ`)." -#: ../../using/cmdline.rst:798 +#: ../../using/cmdline.rst:815 msgid "" "``pymalloc``: use the :ref:`pymalloc allocator ` for :c:data:" "`PYMEM_DOMAIN_MEM` and :c:data:`PYMEM_DOMAIN_OBJ` domains and use the :c:" @@ -1378,35 +1396,35 @@ msgstr "" "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`." -#: ../../using/cmdline.rst:802 +#: ../../using/cmdline.rst:819 msgid "Install :ref:`debug hooks `:" msgstr "Instala :ref:`ganchos de depuração `:" -#: ../../using/cmdline.rst:804 +#: ../../using/cmdline.rst:821 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:806 +#: ../../using/cmdline.rst:823 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:807 +#: ../../using/cmdline.rst:824 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:809 +#: ../../using/cmdline.rst:826 msgid "Added the ``\"default\"`` allocator." msgstr "Adicionado o alocador ``\"default\"``." -#: ../../using/cmdline.rst:817 +#: ../../using/cmdline.rst:834 msgid "" "If set to a non-empty string, Python will print statistics of the :ref:" "`pymalloc memory allocator ` every time a new pymalloc object " @@ -1416,7 +1434,7 @@ msgstr "" "`alocador de memória pymalloc ` toda vez que uma nova arena de " "objeto pymalloc for criada e ao no desligamento." -#: ../../using/cmdline.rst:821 +#: ../../using/cmdline.rst:838 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 " @@ -1426,7 +1444,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:825 +#: ../../using/cmdline.rst:842 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." @@ -1434,7 +1452,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:832 +#: ../../using/cmdline.rst:849 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 " @@ -1446,7 +1464,7 @@ 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:837 +#: ../../using/cmdline.rst:854 msgid "" "This may also be enabled at runtime with :func:`sys." "_enablelegacywindowsfsencoding()`." @@ -1454,15 +1472,15 @@ msgstr "" "Isso também pode ser habilitado em tempo de execução com :func:`sys." "_enablelegacywindowsfsencoding()`." -#: ../../using/cmdline.rst:841 ../../using/cmdline.rst:855 +#: ../../using/cmdline.rst:858 ../../using/cmdline.rst:872 msgid ":ref:`Availability `: Windows." msgstr ":ref:`Disponibilidade `: Windows." -#: ../../using/cmdline.rst:842 +#: ../../using/cmdline.rst:859 msgid "See :pep:`529` for more details." msgstr "Veja :pep:`529` para mais detalhes." -#: ../../using/cmdline.rst:847 +#: ../../using/cmdline.rst:864 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 " @@ -1472,7 +1490,7 @@ 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:851 +#: ../../using/cmdline.rst:868 msgid "" "This variable is ignored if the standard streams are redirected (to files or " "pipes) rather than referring to console buffers." @@ -1480,7 +1498,7 @@ 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." -#: ../../using/cmdline.rst:861 +#: ../../using/cmdline.rst:878 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 " @@ -1490,7 +1508,7 @@ msgstr "" "comando 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:865 +#: ../../using/cmdline.rst:882 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 " @@ -1508,19 +1526,19 @@ msgstr "" "configurar as seguintes localidades para a categoria ``LC_CTYPE`` na ordem " "listada antes de carregar o tempo de execução do interpretador:" -#: ../../using/cmdline.rst:873 +#: ../../using/cmdline.rst:890 msgid "``C.UTF-8``" msgstr "``C.UTF-8``" -#: ../../using/cmdline.rst:874 +#: ../../using/cmdline.rst:891 msgid "``C.utf8``" msgstr "``C.utf8``" -#: ../../using/cmdline.rst:875 +#: ../../using/cmdline.rst:892 msgid "``UTF-8``" msgstr "``UTF-8``" -#: ../../using/cmdline.rst:877 +#: ../../using/cmdline.rst:894 msgid "" "If setting one of these locale categories succeeds, then the ``LC_CTYPE`` " "environment variable will also be set accordingly in the current process " @@ -1543,7 +1561,7 @@ msgstr "" "consultam o ambiente em vez da localidade C atual (como o :func:`locale." "getdefaultlocale` do próprio Python)." -#: ../../using/cmdline.rst:887 +#: ../../using/cmdline.rst:904 msgid "" "Configuring one of these locales (either explicitly or via the above " "implicit locale coercion) automatically enables the ``surrogateescape`` :ref:" @@ -1559,7 +1577,7 @@ msgstr "" "faz em qualquer outra localidade). Este comportamento de tratamento de fluxo " "pode ser substituído usando :envvar:`PYTHONIOENCODING` como de costume." -#: ../../using/cmdline.rst:894 +#: ../../using/cmdline.rst:911 msgid "" "For debugging purposes, setting ``PYTHONCOERCECLOCALE=warn`` will cause " "Python to emit warning messages on ``stderr`` if either the locale coercion " @@ -1571,7 +1589,7 @@ msgstr "" "ativada ou se uma localidade que *teria* acionado a coerção ainda estiver " "ativa quando o Python o tempo de execução é inicializado." -#: ../../using/cmdline.rst:899 +#: ../../using/cmdline.rst:916 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 " @@ -1586,15 +1604,15 @@ msgstr "" "interpretador a usar ``ASCII`` ao invés de ``UTF-8`` para interfaces de " "sistema." -#: ../../using/cmdline.rst:906 +#: ../../using/cmdline.rst:923 msgid ":ref:`Availability `: \\*nix." msgstr ":ref:`Disponível `: \\*nix." -#: ../../using/cmdline.rst:907 +#: ../../using/cmdline.rst:924 msgid "See :pep:`538` for more details." msgstr "Veja :pep:`538` para mais detalhes." -#: ../../using/cmdline.rst:913 +#: ../../using/cmdline.rst:930 msgid "" "If this environment variable is set to a non-empty string, enable :ref:" "`Python Development Mode `, introducing additional runtime checks " @@ -1605,17 +1623,17 @@ msgstr "" "verificações adicionais de tempo de execução que são muito caras para serem " "habilitadas por padrão." -#: ../../using/cmdline.rst:921 +#: ../../using/cmdline.rst:938 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:923 +#: ../../using/cmdline.rst:940 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:925 +#: ../../using/cmdline.rst:942 msgid "" "Setting any other non-empty string causes an error during interpreter " "initialisation." @@ -1623,7 +1641,7 @@ msgstr "" "Definir qualquer outra string não vazia causa um erro durante a " "inicialização do interpretador." -#: ../../using/cmdline.rst:932 +#: ../../using/cmdline.rst:949 msgid "" "If this environment variable is set to a non-empty string, issue a :class:" "`EncodingWarning` when the locale-specific default encoding is used." @@ -1632,25 +1650,25 @@ msgstr "" "uma :class:`EncodingWarning` quando a codificação padrão específica da " "localidade é usada." -#: ../../using/cmdline.rst:935 +#: ../../using/cmdline.rst:952 msgid "See :ref:`io-encoding-warning` for details." msgstr "Veja :ref:`io-encoding-warning` para detalhes." -#: ../../using/cmdline.rst:941 +#: ../../using/cmdline.rst:958 msgid "Debug-mode variables" msgstr "Variáveis de modo de depuração" -#: ../../using/cmdline.rst:945 +#: ../../using/cmdline.rst:962 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:947 +#: ../../using/cmdline.rst:964 msgid "Need a :ref:`debug build of Python `." msgstr "" "Necessita de uma :ref:`construção de depuração do Python `." -#: ../../using/cmdline.rst:954 +#: ../../using/cmdline.rst:971 msgid "" "If set, Python will dump objects and reference counts still alive after " "shutting down the interpreter." @@ -1658,7 +1676,7 @@ msgstr "" "Se definido, Python irá despejar objetos e contagens de referências ainda " "vivas após desligar o interpretador." -#: ../../using/cmdline.rst:957 +#: ../../using/cmdline.rst:974 msgid "" "Need Python configured with the :option:`--with-trace-refs` build option." msgstr "" diff --git a/using/configure.po b/using/configure.po index 8acebabf8..548710fd6 100644 --- a/using/configure.po +++ b/using/configure.po @@ -1,30 +1,32 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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 +# Rafael Fontenelle , 2025 # #, 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:50+0000\n" -"Last-Translator: Rafael Fontenelle , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-10-23 17:42+0000\n" +"PO-Revision-Date: 2025-09-22 15:58+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=2; plural=(n > 1);\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 msgid "Configure Options" @@ -39,7 +41,8 @@ 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 msgid "General Options" @@ -50,7 +53,7 @@ msgid "" "Support loadable extensions in the :mod:`_sqlite` extension module (default " "is no)." msgstr "" -"Oferece suporte a extensões carregáveis ​​no módulo de extensão :mod:`_sqlite` " +"Oferece suporte a extensões carregáveis no módulo de extensão :mod:`_sqlite` " "(desabilitado por padrão)." #: ../../using/configure.rst:24 @@ -139,9 +142,9 @@ 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:75 msgid "See :data:`decimal.HAVE_CONTEXTVAR` and the :mod:`contextvars` module." @@ -157,48 +160,54 @@ msgstr "" 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:85 msgid "``ndbm``;" -msgstr "" +msgstr "``ndbm``;" #: ../../using/configure.rst:86 msgid "``gdbm``;" -msgstr "" +msgstr "``gdbm``;" #: ../../using/configure.rst:87 msgid "``bdb``." -msgstr "" +msgstr "``bdb``." #: ../../using/configure.rst:91 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:93 msgid "Don't define the ``PY_COERCE_C_LOCALE`` macro." -msgstr "" +msgstr "Não define a macro ``PY_COERCE_C_LOCALE``." #: ../../using/configure.rst:95 msgid "See :envvar:`PYTHONCOERCECLOCALE` and the :pep:`538`." -msgstr "" +msgstr "Consulte :envvar:`PYTHONCOERCECLOCALE` e a :pep:`538`." #: ../../using/configure.rst:99 msgid "Python library directory name (default is ``lib``)." -msgstr "" +msgstr "Nome do diretório da biblioteca Python (o padrão é ``lib``)." #: ../../using/configure.rst:101 msgid "Fedora and SuSE use ``lib64`` on 64-bit platforms." -msgstr "" +msgstr "Fedora e SuSE usam ``lib64`` em plataformas de 64 bits." #: ../../using/configure.rst:103 msgid "See :data:`sys.platlibdir`." -msgstr "" +msgstr "Veja :data:`sys.platlibdir`." #: ../../using/configure.rst:109 msgid "" "Directory of wheel packages used by the :mod:`ensurepip` module (none by " "default)." msgstr "" +"Diretório de pacotes de wheel usados pelo módulo :mod:`ensurepip` (nenhum " +"por padrão)." #: ../../using/configure.rst:112 msgid "" @@ -207,175 +216,248 @@ msgid "" "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`." #: ../../using/configure.rst:121 msgid "Install Options" -msgstr "" +msgstr "Opções de instalação" #: ../../using/configure.rst:125 msgid "" +"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:128 +msgid "This value can be retrived at runtime using :data:`sys.prefix`." +msgstr "" +"Este valor pode ser recuperado em tempo de execução usando :data:`sys." +"prefix`." + +#: ../../using/configure.rst:130 +msgid "" +"As an example, one can use ``--prefix=\"$HOME/.local/\"`` to install a " +"Python in its home directory." +msgstr "" +"Como exemplo, pode-se usar ``--prefix=\"$HOME/.local/\"`` para instalar um " +"Python em seu diretório pessoal (home)." + +#: ../../using/configure.rst:135 +msgid "" +"Install architecture-dependent files in EPREFIX, defaults to :option:`--" +"prefix`." +msgstr "" +"Instala arquivos dependentes de arquitetura no EPREFIX, o padrão é :option:" +"`--prefix`." + +#: ../../using/configure.rst:137 +msgid "This value can be retrived at runtime using :data:`sys.exec_prefix`." +msgstr "" +"Este valor pode ser recuperado em tempo de execução usando :data:`sys." +"exec_prefix`." + +#: ../../using/configure.rst:141 +msgid "" "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)." -#: ../../using/configure.rst:132 +#: ../../using/configure.rst:148 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:134 +#: ../../using/configure.rst:150 msgid "" "``upgrade`` (default): run ``python -m ensurepip --altinstall --upgrade`` " "command." msgstr "" +"``upgrade`` (padrão): executa o comando ``python -m ensurepip --altinstall --" +"upgrade``." -#: ../../using/configure.rst:136 +#: ../../using/configure.rst:152 msgid "``install``: run ``python -m ensurepip --altinstall`` command;" -msgstr "" +msgstr "``install``: executa o comando ``python -m ensurepip --altinstall``;" -#: ../../using/configure.rst:137 +#: ../../using/configure.rst:153 msgid "``no``: don't run ensurepip;" -msgstr "" +msgstr "``no``: não executa ensurepip;" -#: ../../using/configure.rst:143 +#: ../../using/configure.rst:159 msgid "Performance options" -msgstr "" +msgstr "Opções de desempenho" -#: ../../using/configure.rst:145 +#: ../../using/configure.rst:161 msgid "" "Configuring Python using ``--enable-optimizations --with-lto`` (PGO + LTO) " "is recommended for best performance." msgstr "" -#: ../../using/configure.rst:150 +#: ../../using/configure.rst:166 msgid "" "Enable Profile Guided Optimization (PGO) using :envvar:`PROFILE_TASK` " "(disabled by default)." 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:153 +#: ../../using/configure.rst:169 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." 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:156 +#: ../../using/configure.rst:172 msgid "" "Disable also semantic interposition in libpython if ``--enable-shared`` and " "GCC is used: add ``-fno-semantic-interposition`` to the compiler and linker " "flags." msgstr "" +"Desabilita também a interposição semântica no libpython se ``--enable-" +"shared`` e GCC forem usados: adiciona ``-fno-semantic-interposition`` aos " +"sinalizadores do compilador e do vinculador." -#: ../../using/configure.rst:162 +#: ../../using/configure.rst:178 msgid "Use ``-fno-semantic-interposition`` on GCC." -msgstr "" +msgstr "Usa ``-fno-semantic-interposition`` no GCC." -#: ../../using/configure.rst:167 +#: ../../using/configure.rst:183 msgid "" "Environment variable used in the Makefile: Python command line arguments for " "the PGO generation task." 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:170 +#: ../../using/configure.rst:186 msgid "Default: ``-m test --pgo --timeout=$(TESTTIMEOUT)``." -msgstr "" +msgstr "Padrão: ``-m test --pgo --timeout=$(TESTTIMEOUT)``." -#: ../../using/configure.rst:176 +#: ../../using/configure.rst:192 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 construção (desabilitado por padrão)." -#: ../../using/configure.rst:178 +#: ../../using/configure.rst:194 msgid "" "The C compiler Clang requires ``llvm-ar`` for LTO (``ar`` on macOS), as well " "as an LTO-aware linker (``ld.gold`` or ``lld``)." 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:185 +#: ../../using/configure.rst:201 msgid "" "Enable computed gotos in evaluation loop (enabled by default on supported " "compilers)." msgstr "" +"Habilita \"gotos\" computados no laço de avaliação (habilitado por padrão em " +"compiladores suportados)." -#: ../../using/configure.rst:190 +#: ../../using/configure.rst:206 msgid "" "Disable the specialized Python memory allocator :ref:`pymalloc ` " "(enabled by default)." msgstr "" +"Desabilita o alocador de memória especializado do Python :ref:`pymalloc " +"` (habilitado por padrão)." -#: ../../using/configure.rst:193 +#: ../../using/configure.rst:209 msgid "See also :envvar:`PYTHONMALLOC` environment variable." -msgstr "" +msgstr "Veja também a variável de ambiente :envvar:`PYTHONMALLOC`." -#: ../../using/configure.rst:197 +#: ../../using/configure.rst:213 msgid "" "Disable static documentation strings to reduce the memory footprint (enabled " "by default). Documentation strings defined in Python are not affected." msgstr "" +"Desabilita as strings de documentação estática para reduzir o consumo de " +"memória (habilitado por padrão). As strings de documentação definidas em " +"Python não são afetadas." -#: ../../using/configure.rst:200 +#: ../../using/configure.rst:216 msgid "Don't define the ``WITH_DOC_STRINGS`` macro." -msgstr "" +msgstr "Não define a macro ``WITH_DOC_STRINGS``." -#: ../../using/configure.rst:202 +#: ../../using/configure.rst:218 msgid "See the ``PyDoc_STRVAR()`` macro." -msgstr "" +msgstr "Veja a macro ``PyDoc_STRVAR()``." -#: ../../using/configure.rst:206 +#: ../../using/configure.rst:222 msgid "Enable C-level code profiling with ``gprof`` (disabled by default)." msgstr "" +"Habilita o perfil de código a nível C com ``gprof`` (desabilitado por " +"padrão)." -#: ../../using/configure.rst:212 +#: ../../using/configure.rst:228 msgid "Python Debug Build" -msgstr "" +msgstr "Compilação de depuração do Python" -#: ../../using/configure.rst:214 +#: ../../using/configure.rst:230 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`." -#: ../../using/configure.rst:217 +#: ../../using/configure.rst:233 msgid "Effects of a debug build:" -msgstr "" +msgstr "Efeitos de uma compilação de depuração:" -#: ../../using/configure.rst:219 +#: ../../using/configure.rst:235 msgid "" "Display all warnings by default: the list of default warning filters is " "empty in the :mod:`warnings` module." 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:221 +#: ../../using/configure.rst:237 msgid "Add ``d`` to :data:`sys.abiflags`." -msgstr "" +msgstr "Adiciona ``d`` a :data:`sys.abiflags`." -#: ../../using/configure.rst:222 +#: ../../using/configure.rst:238 msgid "Add :func:`sys.gettotalrefcount` function." -msgstr "" +msgstr "Adiciona a função :func:`sys.gettotalrefcount`." -#: ../../using/configure.rst:223 +#: ../../using/configure.rst:239 msgid "Add :option:`-X showrefcount <-X>` command line option." -msgstr "" +msgstr "Adiciona a opção de linha de comando :option:`-X showrefcount <-X>`." -#: ../../using/configure.rst:224 +#: ../../using/configure.rst:240 msgid "Add :envvar:`PYTHONTHREADDEBUG` environment variable." msgstr "" -#: ../../using/configure.rst:225 +#: ../../using/configure.rst:241 msgid "" "Add support for the ``__ltrace__`` variable: enable low-level tracing in the " "bytecode evaluation loop if the variable is defined." msgstr "" -#: ../../using/configure.rst:227 +#: ../../using/configure.rst:243 msgid "" "Install :ref:`debug hooks on memory allocators ` " "to detect buffer overflow and other memory errors." 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:229 +#: ../../using/configure.rst:245 msgid "Define ``Py_DEBUG`` and ``Py_REF_DEBUG`` macros." -msgstr "" +msgstr "Define as macros ``Py_DEBUG`` e ``Py_REF_DEBUG``." -#: ../../using/configure.rst:230 +#: ../../using/configure.rst:246 msgid "" "Add runtime checks: code surroundeded by ``#ifdef Py_DEBUG`` and ``#endif``. " "Enable ``assert(...)`` and ``_PyObject_ASSERT(...)`` assertions: don't set " @@ -383,782 +465,948 @@ msgid "" "option). Main runtime checks:" msgstr "" -#: ../../using/configure.rst:235 +#: ../../using/configure.rst:251 msgid "Add sanity checks on the function arguments." -msgstr "" +msgstr "Adiciona verificações de sanidade nos argumentos da função." -#: ../../using/configure.rst:236 +#: ../../using/configure.rst:252 msgid "" "Unicode and int objects are created with their memory filled with a pattern " "to detect usage of uninitialized objects." 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:238 +#: ../../using/configure.rst:254 msgid "" "Ensure that functions which can clear or replace the current exception are " "not called with an exception raised." 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:240 +#: ../../using/configure.rst:256 msgid "" "The garbage collector (:func:`gc.collect` function) runs some basic checks " "on objects consistency." msgstr "" +"O coletor de lixo (função :func:`gc.collect`) executa algumas verificações " +"básicas na consistência dos objetos." -#: ../../using/configure.rst:242 +#: ../../using/configure.rst:258 msgid "" "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 " +"inteiros ao fazer o downcast de tipos largos para tipos estreitos." -#: ../../using/configure.rst:245 +#: ../../using/configure.rst:261 msgid "" "See also the :ref:`Python Development Mode ` and the :option:`--" "with-trace-refs` configure option." 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:248 +#: ../../using/configure.rst:264 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 " "incompatibility." msgstr "" +"Compilações de lançamento e compilações de depuração agora são compatíveis " +"com ABI: definir a macro ``Py_DEBUG`` não implica mais na macro " +"``Py_TRACE_REFS`` (consulte a opção :option:`--with-trace-refs`), que " +"apresenta a única incompatibilidade de ABI." -#: ../../using/configure.rst:256 +#: ../../using/configure.rst:272 msgid "Debug options" -msgstr "" +msgstr "Opções de depuração" -#: ../../using/configure.rst:260 +#: ../../using/configure.rst:276 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:265 +#: ../../using/configure.rst:281 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:267 +#: ../../using/configure.rst:283 msgid "Effects:" -msgstr "" +msgstr "Efeitos:" -#: ../../using/configure.rst:269 +#: ../../using/configure.rst:285 msgid "Define the ``Py_TRACE_REFS`` macro." -msgstr "" +msgstr "Define a macro ``Py_TRACE_REFS``." -#: ../../using/configure.rst:270 +#: ../../using/configure.rst:286 msgid "Add :func:`sys.getobjects` function." -msgstr "" +msgstr "Adiciona a função :func:`sys.getobjects`." -#: ../../using/configure.rst:271 +#: ../../using/configure.rst:287 msgid "Add :envvar:`PYTHONDUMPREFS` environment variable." -msgstr "" +msgstr "Adiciona a variável de ambiente :envvar:`PYTHONDUMPREFS`." -#: ../../using/configure.rst:273 +#: ../../using/configure.rst:289 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:280 +#: ../../using/configure.rst:296 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:283 +#: ../../using/configure.rst:299 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:286 +#: ../../using/configure.rst:302 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:293 +#: ../../using/configure.rst:309 msgid "Enable Valgrind support (default is no)." -msgstr "" +msgstr "Habilita suporte ao Valgrind (o padrão é não)." -#: ../../using/configure.rst:297 +#: ../../using/configure.rst:313 msgid "Enable DTrace support (default is no)." -msgstr "" +msgstr "Habilita suporte ao DTrace (o padrão é não)." -#: ../../using/configure.rst:299 +#: ../../using/configure.rst:315 msgid "" "See :ref:`Instrumenting CPython with DTrace and SystemTap `." msgstr "" +"Veja :ref:`Instrumentando o CPython com DTrace e SystemTap " +"`." -#: ../../using/configure.rst:306 +#: ../../using/configure.rst:322 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:312 +#: ../../using/configure.rst:328 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:318 +#: ../../using/configure.rst:334 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:325 +#: ../../using/configure.rst:341 msgid "Linker options" -msgstr "" +msgstr "Opções da ligação" -#: ../../using/configure.rst:329 +#: ../../using/configure.rst:345 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:333 +#: ../../using/configure.rst:349 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:340 +#: ../../using/configure.rst:356 msgid "Libraries options" -msgstr "" +msgstr "Opções da biblioteca" -#: ../../using/configure.rst:344 +#: ../../using/configure.rst:360 msgid "Link against additional libraries (default is no)." -msgstr "" +msgstr "Vincula bibliotecas adicionais (o padrão é não)." -#: ../../using/configure.rst:348 +#: ../../using/configure.rst:364 msgid "" "Build the :mod:`pyexpat` module using an installed ``expat`` library " "(default is no)." msgstr "" -#: ../../using/configure.rst:353 +#: ../../using/configure.rst:369 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:358 +#: ../../using/configure.rst:374 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:365 +#: ../../using/configure.rst:381 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:367 +#: ../../using/configure.rst:383 msgid "Define the ``WITH_EDITLINE`` macro." -msgstr "" +msgstr "Define a macro ``WITH_EDITLINE``." -#: ../../using/configure.rst:373 +#: ../../using/configure.rst:389 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:375 +#: ../../using/configure.rst:391 msgid "Don't define the ``HAVE_LIBREADLINE`` macro." -msgstr "" +msgstr "Não define a macro ``HAVE_LIBREADLINE``." -#: ../../using/configure.rst:381 +#: ../../using/configure.rst:397 msgid "Override search for Tcl and Tk include files." msgstr "" -#: ../../using/configure.rst:385 +#: ../../using/configure.rst:401 msgid "Override search for Tcl and Tk libraries." msgstr "" -#: ../../using/configure.rst:389 +#: ../../using/configure.rst:405 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:393 +#: ../../using/configure.rst:409 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:397 +#: ../../using/configure.rst:413 msgid "Root of the OpenSSL directory." -msgstr "" +msgstr "Raiz do diretório OpenSSL." -#: ../../using/configure.rst:403 +#: ../../using/configure.rst:419 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:405 +#: ../../using/configure.rst:421 msgid "``no`` (default): don't set rpath;" -msgstr "" +msgstr "``no`` (padrão): não define o rpath;" -#: ../../using/configure.rst:406 +#: ../../using/configure.rst:422 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:408 +#: ../../using/configure.rst:424 msgid "*DIR*: set an explicit rpath." -msgstr "" +msgstr "*DIR*: define um rpath explícito." -#: ../../using/configure.rst:414 +#: ../../using/configure.rst:430 msgid "Security Options" -msgstr "" +msgstr "Opções de segurança" -#: ../../using/configure.rst:418 +#: ../../using/configure.rst:434 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:420 +#: ../../using/configure.rst:436 msgid "``siphash24`` (default)." msgstr "" -#: ../../using/configure.rst:421 +#: ../../using/configure.rst:437 msgid "``fnv``;" msgstr "" -#: ../../using/configure.rst:427 +#: ../../using/configure.rst:443 msgid "Built-in hash modules:" -msgstr "" +msgstr "Módulos embutidos de hash" -#: ../../using/configure.rst:429 +#: ../../using/configure.rst:445 msgid "``md5``;" -msgstr "" +msgstr "``md5``;" -#: ../../using/configure.rst:430 +#: ../../using/configure.rst:446 msgid "``sha1``;" -msgstr "" +msgstr "``sha1``;" -#: ../../using/configure.rst:431 +#: ../../using/configure.rst:447 msgid "``sha256``;" -msgstr "" +msgstr "``sha256``;" -#: ../../using/configure.rst:432 +#: ../../using/configure.rst:448 msgid "``sha512``;" -msgstr "" +msgstr "``sha512``;" -#: ../../using/configure.rst:433 +#: ../../using/configure.rst:449 msgid "``sha3`` (with shake);" -msgstr "" +msgstr "``sha3`` (com shake);" -#: ../../using/configure.rst:434 +#: ../../using/configure.rst:450 msgid "``blake2``." -msgstr "" +msgstr "``blake2``." -#: ../../using/configure.rst:440 +#: ../../using/configure.rst:456 msgid "Override the OpenSSL default cipher suites string:" -msgstr "" +msgstr "Substitui a string dos conjuntos de criptografia padrão do OpenSSL:" -#: ../../using/configure.rst:442 +#: ../../using/configure.rst:458 msgid "``python`` (default): use Python's preferred selection;" -msgstr "" +msgstr "``python`` (padrão): use a seleciona preferida do Python;" -#: ../../using/configure.rst:443 +#: ../../using/configure.rst:459 msgid "``openssl``: leave OpenSSL's defaults untouched;" -msgstr "" +msgstr "``openssl``: mantém inalterados os padrões do OpenSSL;" -#: ../../using/configure.rst:444 +#: ../../using/configure.rst:460 msgid "*STRING*: use a custom string" -msgstr "" +msgstr "*STRING*: usa uma string personalizada" -#: ../../using/configure.rst:446 +#: ../../using/configure.rst:462 msgid "See the :mod:`ssl` module." -msgstr "" +msgstr "Veja o módulo :mod:`ssl`." -#: ../../using/configure.rst:452 +#: ../../using/configure.rst:468 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:456 +#: ../../using/configure.rst:472 msgid "macOS Options" -msgstr "" +msgstr "Opções do macOS" -#: ../../using/configure.rst:458 +#: ../../using/configure.rst:474 msgid "See ``Mac/README.rst``." -msgstr "" +msgstr "Veja ``Mac/README.rst``." -#: ../../using/configure.rst:463 +#: ../../using/configure.rst:479 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:469 +#: ../../using/configure.rst:485 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:474 +#: ../../using/configure.rst:490 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:477 +#: ../../using/configure.rst:493 msgid "Options:" -msgstr "" +msgstr "Opções:" -#: ../../using/configure.rst:479 +#: ../../using/configure.rst:495 msgid "``universal2``;" -msgstr "" +msgstr "``universal2``;" -#: ../../using/configure.rst:480 +#: ../../using/configure.rst:496 msgid "``32-bit``;" -msgstr "" +msgstr "``32-bit``;" -#: ../../using/configure.rst:481 +#: ../../using/configure.rst:497 msgid "``64-bit``;" -msgstr "" +msgstr "``64-bit``;" -#: ../../using/configure.rst:482 +#: ../../using/configure.rst:498 msgid "``3-way``;" -msgstr "" +msgstr "``3-way``;" -#: ../../using/configure.rst:483 +#: ../../using/configure.rst:499 msgid "``intel``;" -msgstr "" +msgstr "``intel``;" -#: ../../using/configure.rst:484 +#: ../../using/configure.rst:500 msgid "``intel-32``;" -msgstr "" +msgstr "``intel-32``;" -#: ../../using/configure.rst:485 +#: ../../using/configure.rst:501 msgid "``intel-64``;" -msgstr "" +msgstr "``intel-64``;" -#: ../../using/configure.rst:486 +#: ../../using/configure.rst:502 msgid "``all``." -msgstr "" +msgstr "``all``." -#: ../../using/configure.rst:490 +#: ../../using/configure.rst:506 msgid "" "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:495 +#: ../../using/configure.rst:511 msgid "Python Build System" -msgstr "" +msgstr "Sistema de Construção Python" -#: ../../using/configure.rst:498 +#: ../../using/configure.rst:514 msgid "Main files of the build system" -msgstr "" +msgstr "Arquivos principais do sistema de construção" -#: ../../using/configure.rst:500 +#: ../../using/configure.rst:516 msgid ":file:`configure.ac` => :file:`configure`;" -msgstr "" +msgstr ":file:`configure.ac` => :file:`configure`;" -#: ../../using/configure.rst:501 +#: ../../using/configure.rst:517 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:502 +#: ../../using/configure.rst:518 msgid ":file:`pyconfig.h` (created by :file:`configure`);" -msgstr "" +msgstr ":file:`pyconfig.h` (criado por :file:`configure`);" -#: ../../using/configure.rst:503 +#: ../../using/configure.rst:519 msgid "" ":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:505 +#: ../../using/configure.rst:521 msgid ":file:`setup.py`: C extensions built using the :mod:`distutils` module." msgstr "" -#: ../../using/configure.rst:508 +#: ../../using/configure.rst:524 msgid "Main build steps" -msgstr "" +msgstr "Principais etapas de construção" -#: ../../using/configure.rst:510 +#: ../../using/configure.rst:526 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:511 +#: ../../using/configure.rst:527 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:512 +#: ../../using/configure.rst:528 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:514 +#: ../../using/configure.rst:530 msgid "" "C extensions are built by the Makefile (see :file:`Modules/Setup`) and " "``python setup.py build``." msgstr "" -#: ../../using/configure.rst:518 +#: ../../using/configure.rst:534 msgid "Main Makefile targets" -msgstr "" +msgstr "Alvos principais do Makefile" -#: ../../using/configure.rst:520 +#: ../../using/configure.rst:536 msgid "``make``: Build Python with the standard library." -msgstr "" +msgstr "``make``: Constrói o Python com a biblioteca padrão." -#: ../../using/configure.rst:521 +#: ../../using/configure.rst:537 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:523 +#: ../../using/configure.rst:539 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:527 +#: ../../using/configure.rst:543 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:530 +#: ../../using/configure.rst:546 msgid "``make install``: Build and install Python." -msgstr "" +msgstr "``make install``: Constrói e instala o Python." -#: ../../using/configure.rst:531 +#: ../../using/configure.rst:547 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:534 +#: ../../using/configure.rst:550 msgid "``make clean``: Remove built files." -msgstr "" +msgstr "``make clean``: Remove os arquivos construídos." -#: ../../using/configure.rst:535 +#: ../../using/configure.rst:551 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:539 +#: ../../using/configure.rst:555 msgid "C extensions" -msgstr "" +msgstr "Extensões C" -#: ../../using/configure.rst:541 +#: ../../using/configure.rst:557 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::" msgstr "" -#: ../../using/configure.rst:553 +#: ../../using/configure.rst:569 msgid "" -"Other C extensins are built as dynamic libraires, like the ``_asyncio`` " +"Other C extensins 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::" msgstr "" -#: ../../using/configure.rst:563 +#: ../../using/configure.rst:579 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:567 +#: ../../using/configure.rst:583 msgid "" "The :file:`setup.py` script only builds C extensions as shared libraries " "using the :mod:`distutils` module." msgstr "" -#: ../../using/configure.rst:570 +#: ../../using/configure.rst:586 msgid "" "The :c:macro:`PyAPI_FUNC()`, :c:macro:`PyAPI_API()` 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:574 +#: ../../using/configure.rst:590 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:575 +#: ../../using/configure.rst:591 msgid "Use ``Py_IMPORTED_SYMBOL`` otherwise." -msgstr "" +msgstr "Do contrário, usa ``Py_IMPORTED_SYMBOL``." -#: ../../using/configure.rst:577 +#: ../../using/configure.rst:593 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." msgstr "" -#: ../../using/configure.rst:583 +#: ../../using/configure.rst:599 msgid "Compiler and linker flags" -msgstr "" +msgstr "Sinalizadores do compilador e do vinculador" -#: ../../using/configure.rst:585 +#: ../../using/configure.rst:601 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:589 +#: ../../using/configure.rst:605 msgid "Preprocessor flags" -msgstr "" +msgstr "Sinalizadores do pré-processador" -#: ../../using/configure.rst:593 +#: ../../using/configure.rst:609 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:599 +#: ../../using/configure.rst:615 msgid "" "(Objective) C/C++ preprocessor flags, e.g. ``-I`` if you have " "headers in a nonstandard directory ````." msgstr "" -#: ../../using/configure.rst:602 ../../using/configure.rst:779 +#: ../../using/configure.rst:618 ../../using/configure.rst:813 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:612 +#: ../../using/configure.rst:628 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:614 +#: ../../using/configure.rst:630 msgid "" "Default: ``$(BASECPPFLAGS) -I. -I$(srcdir)/Include $(CONFIGURE_CPPFLAGS) " "$(CPPFLAGS)``." msgstr "" +"Padrão: ``$(BASECPPFLAGS) -I. -I$(srcdir)/Include $(CONFIGURE_CPPFLAGS) " +"$(CPPFLAGS)``." -#: ../../using/configure.rst:619 +#: ../../using/configure.rst:635 msgid "Compiler flags" -msgstr "" +msgstr "Sinalizadores do compilador" -#: ../../using/configure.rst:623 +#: ../../using/configure.rst:639 msgid "C compiler command." -msgstr "" +msgstr "Comando do compilador C." -#: ../../using/configure.rst:625 +#: ../../using/configure.rst:641 msgid "Example: ``gcc -pthread``." -msgstr "" +msgstr "Exemplo: ``gcc -pthread``." -#: ../../using/configure.rst:629 +#: ../../using/configure.rst:645 msgid "" "C compiler command used to build the ``main()`` function of programs like " "``python``." msgstr "" -#: ../../using/configure.rst:632 +#: ../../using/configure.rst:648 msgid "" "Variable set by the :option:`--with-cxx-main` option of the configure script." msgstr "" -#: ../../using/configure.rst:635 +#: ../../using/configure.rst:651 msgid "Default: ``$(CC)``." msgstr "" -#: ../../using/configure.rst:639 +#: ../../using/configure.rst:655 msgid "C++ compiler command." -msgstr "" +msgstr "Comando do compilador C++." -#: ../../using/configure.rst:641 +#: ../../using/configure.rst:657 msgid "Used if the :option:`--with-cxx-main` option is used." msgstr "" -#: ../../using/configure.rst:643 +#: ../../using/configure.rst:659 msgid "Example: ``g++ -pthread``." -msgstr "" +msgstr "Exemplo: ``g++ -pthread``." -#: ../../using/configure.rst:647 +#: ../../using/configure.rst:663 msgid "C compiler flags." -msgstr "" +msgstr "Sinalizadores do compilador C." -#: ../../using/configure.rst:651 +#: ../../using/configure.rst:667 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:659 -msgid "Extra C compiler flags." +#: ../../using/configure.rst:671 +msgid "In particular, :envvar:`CFLAGS` should not contain:" +msgstr "Em particular, :envvar:`CFLAGS` não deve conter:" + +#: ../../using/configure.rst:673 +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." 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:663 +#: ../../using/configure.rst:678 +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:686 +msgid "Extra C compiler flags." +msgstr "Sinalizadores extra do compilador C." + +#: ../../using/configure.rst:690 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:670 +#: ../../using/configure.rst:697 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:677 +#: ../../using/configure.rst:704 msgid "Base compiler flags." -msgstr "" +msgstr "Sinalizadores base do compilador." -#: ../../using/configure.rst:681 +#: ../../using/configure.rst:708 msgid "Optimization flags." -msgstr "" +msgstr "Sinalizadores de otimização." -#: ../../using/configure.rst:685 +#: ../../using/configure.rst:712 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:691 +#: ../../using/configure.rst:718 msgid "Compiler flags used to build a shared library." msgstr "" +"Sinalizadores de compilador usados para construir uma biblioteca " +"compartilhada." -#: ../../using/configure.rst:693 +#: ../../using/configure.rst:720 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:697 +#: ../../using/configure.rst:724 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:699 +#: ../../using/configure.rst:726 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:704 +#: ../../using/configure.rst:731 msgid "" "Default: ``$(BASECFLAGS) $(OPT) $(CONFIGURE_CFLAGS) $(CFLAGS) " "$(EXTRA_CFLAGS)``." msgstr "" +"Padrão: ``$(BASECFLAGS) $(OPT) $(CONFIGURE_CFLAGS) $(CFLAGS) " +"$(EXTRA_CFLAGS)``." -#: ../../using/configure.rst:708 +#: ../../using/configure.rst:735 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:714 +#: ../../using/configure.rst:741 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:716 +#: ../../using/configure.rst:743 msgid "" "Default: ``$(PY_CFLAGS) $(PY_CFLAGS_NODIST) $(PY_CPPFLAGS) " "$(CFLAGSFORSHARED)``." msgstr "" +"Padrão: ``$(PY_CFLAGS) $(PY_CFLAGS_NODIST) $(PY_CPPFLAGS) " +"$(CFLAGSFORSHARED)``." -#: ../../using/configure.rst:722 +#: ../../using/configure.rst:749 msgid "Default: ``$(PY_STDMODULE_CFLAGS) -DPy_BUILD_CORE``." -msgstr "" +msgstr "Padrão: ``$(PY_STDMODULE_CFLAGS) -DPy_BUILD_CORE``." -#: ../../using/configure.rst:728 +#: ../../using/configure.rst:755 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:731 +#: ../../using/configure.rst:758 msgid "Default: ``$(PY_STDMODULE_CFLAGS) -DPy_BUILD_CORE_BUILTIN``." -msgstr "" +msgstr "Padrão: ``$(PY_STDMODULE_CFLAGS) -DPy_BUILD_CORE_BUILTIN``." -#: ../../using/configure.rst:737 +#: ../../using/configure.rst:764 msgid "Purify command. Purify is a memory debugger program." -msgstr "" +msgstr "Comando de Purify. Purify é um programa depurador de memória." -#: ../../using/configure.rst:739 +#: ../../using/configure.rst:766 msgid "Default: empty string (not used)." -msgstr "" +msgstr "Padrão: string vazia (não usada)." -#: ../../using/configure.rst:743 +#: ../../using/configure.rst:770 msgid "Linker flags" -msgstr "" +msgstr "Sinalizadores do vinculador" -#: ../../using/configure.rst:747 +#: ../../using/configure.rst:774 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:749 +#: ../../using/configure.rst:776 msgid "Default: ``$(PURIFY) $(MAINCC)``." msgstr "" -#: ../../using/configure.rst:753 +#: ../../using/configure.rst:780 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:755 +#: ../../using/configure.rst:782 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:763 +#: ../../using/configure.rst:790 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`)." msgstr "" -#: ../../using/configure.rst:769 +#: ../../using/configure.rst:794 +msgid "In particular, :envvar:`LDFLAGS` should not contain:" +msgstr "Em particular, :envvar:`LDFLAGS` não deve conter:" + +#: ../../using/configure.rst:796 +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." +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:803 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:776 +#: ../../using/configure.rst:810 msgid "" "Linker flags, e.g. ``-L`` if you have libraries in a nonstandard " "directory ````." msgstr "" -#: ../../using/configure.rst:785 +#: ../../using/configure.rst:819 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:788 +#: ../../using/configure.rst:822 msgid "Example: ``-lrt``." -msgstr "" +msgstr "Exemplo: ``-lrt``." -#: ../../using/configure.rst:792 +#: ../../using/configure.rst:826 msgid "Command to build a shared library." -msgstr "" +msgstr "Comando para construir uma biblioteca compartilhada." -#: ../../using/configure.rst:794 +#: ../../using/configure.rst:828 msgid "Default: ``@LDSHARED@ $(PY_LDFLAGS)``." -msgstr "" +msgstr "Padrão: ``@LDSHARED@ $(PY_LDFLAGS)``." -#: ../../using/configure.rst:798 +#: ../../using/configure.rst:832 msgid "Command to build ``libpython`` shared library." -msgstr "" +msgstr "Comando para construir a biblioteca compartilhada ``libpython``." -#: ../../using/configure.rst:800 +#: ../../using/configure.rst:834 msgid "Default: ``@BLDSHARED@ $(PY_CORE_LDFLAGS)``." -msgstr "" +msgstr "Padrão: ``@BLDSHARED@ $(PY_CORE_LDFLAGS)``." -#: ../../using/configure.rst:804 +#: ../../using/configure.rst:838 msgid "Default: ``$(CONFIGURE_LDFLAGS) $(LDFLAGS)``." -msgstr "" +msgstr "Padrão: ``$(CONFIGURE_LDFLAGS) $(LDFLAGS)``." -#: ../../using/configure.rst:808 +#: ../../using/configure.rst:842 msgid "Default: ``$(CONFIGURE_LDFLAGS_NODIST) $(LDFLAGS_NODIST)``." -msgstr "" +msgstr "Padrão: ``$(CONFIGURE_LDFLAGS_NODIST) $(LDFLAGS_NODIST)``." -#: ../../using/configure.rst:814 +#: ../../using/configure.rst:848 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 cd1abcb4a..b43a300a5 100644 --- a/using/editors.po +++ b/using/editors.po @@ -1,28 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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 -# Claudio Rogerio Carvalho Filho , 2021 +# python-doc bot, 2025 # #, 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:51+0000\n" -"Last-Translator: Claudio Rogerio Carvalho Filho , " -"2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:58+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../using/editors.rst:7 msgid "Editors and IDEs" @@ -34,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 "" diff --git a/using/index.po b/using/index.po index 240ae1992..66d316542 100644 --- a/using/index.po +++ b/using/index.po @@ -1,26 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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.10\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-06-29 12:56+0000\n" -"PO-Revision-Date: 2021-06-28 01:51+0000\n" -"Last-Translator: Rafael Fontenelle , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:58+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../using/index.rst:5 msgid "Python Setup and Usage" diff --git a/using/mac.po b/using/mac.po index 77cc96b10..cf2c0bafc 100644 --- a/using/mac.po +++ b/using/mac.po @@ -1,32 +1,30 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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.10\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-06-29 12:56+0000\n" -"PO-Revision-Date: 2021-06-28 01:51+0000\n" -"Last-Translator: Claudio Rogerio Carvalho Filho , " -"2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:58+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../using/mac.rst:6 -msgid "Using Python on a Macintosh" +msgid "Using Python on a Mac" msgstr "Utilizando Python em um Mac" #: ../../using/mac.rst:0 @@ -39,14 +37,13 @@ msgstr "Bob Savage " #: ../../using/mac.rst:11 msgid "" -"Python on a Macintosh running Mac OS X 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." +"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." msgstr "" -"O Python em um Macintosh executando o Mac OS X é, 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." +"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." #: ../../using/mac.rst:18 msgid "Getting and Installing MacPython" @@ -54,35 +51,37 @@ msgstr "Obtendo e instalando MacPython" #: ../../using/mac.rst:20 msgid "" -"Mac OS X 10.8 comes with Python 2.7 pre-installed by Apple. If you wish, " -"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." +"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." msgstr "" -"O Mac OS X 10.8 vem com o Python 2.7 pré-instalado pela Apple. Se desejar, " -"você está convidado a instalar a versão mais recente do Python 3 no site do " -"Python (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á." - -#: ../../using/mac.rst:26 +"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á." + +#: ../../using/mac.rst:27 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:28 +#: ../../using/mac.rst:29 msgid "" -"A :file:`Python 3.9` 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 :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." msgstr "" -"A pasta :file:`Python 3.9` na sua pasta :file:`Applications`. Aqui você " +"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." -#: ../../using/mac.rst:33 +#: ../../using/mac.rst:34 msgid "" "A framework :file:`/Library/Frameworks/Python.framework`, which includes the " "Python executable and libraries. The installer adds this location to your " @@ -95,7 +94,7 @@ msgstr "" "remover essas três coisas. Um link simbólico para o executável Python é " "colocado em /usr/local/bin/." -#: ../../using/mac.rst:38 +#: ../../using/mac.rst:39 msgid "" "The Apple-provided build of Python is installed in :file:`/System/Library/" "Frameworks/Python.framework` and :file:`/usr/bin/python`, respectively. You " @@ -114,7 +113,7 @@ msgstr "" "funcionais, no seu computador, por isso será importante que seus caminhos e " "usos sejam consistentes com o que você deseja fazer." -#: ../../using/mac.rst:46 +#: ../../using/mac.rst:47 msgid "" "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 " @@ -124,7 +123,7 @@ msgstr "" "Se você é completamente novo no Python, comece a ler a introdução do " "tutorial nesse documento." -#: ../../using/mac.rst:50 +#: ../../using/mac.rst:51 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 +131,34 @@ 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:55 +#: ../../using/mac.rst:56 msgid "How to run a Python script" msgstr "Como executar um script Python" -#: ../../using/mac.rst:57 +#: ../../using/mac.rst:58 msgid "" -"Your best way to get started with Python on Mac OS X is through the IDLE " +"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 " "menu when the IDE is running." msgstr "" -"A melhor maneira de você começar o uso do Python no Mac OS X é através do " +"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 " "use o menu Help quando o IDE estiver em execução." -#: ../../using/mac.rst:61 +#: ../../using/mac.rst:62 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. Mac OS X " -"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` (http://macvim-dev.github.io/macvim/) and :program:`Aquamacs` " +"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-dev.github.io/macvim/) and :program:`Aquamacs` " "(http://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 Mac OS X 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` (http://macvim-dev.github.io/" -"macvim/) e :program:`Aquamacs` (http://aquamacs.org/)." - -#: ../../using/mac.rst:71 + +#: ../../using/mac.rst:72 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,15 +167,15 @@ msgstr "" "certificar de que :file:`/usr/local/bin` esteja no seu caminho de pesquisa " "do shell." -#: ../../using/mac.rst:74 +#: ../../using/mac.rst:75 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:76 +#: ../../using/mac.rst:77 msgid "Drag it to :program:`PythonLauncher`" msgstr "Arrastá-lo para o :program:`PythonLauncher`" -#: ../../using/mac.rst:78 +#: ../../using/mac.rst:79 msgid "" "Select :program:`PythonLauncher` as the default application to open your " "script (or any .py script) through the finder Info window and double-click " @@ -200,49 +190,49 @@ msgstr "" "esses itens para uma chamada ou usar o menu Preferências para alterar as " "coisas globalmente." -#: ../../using/mac.rst:88 +#: ../../using/mac.rst:89 msgid "Running scripts with a GUI" msgstr "Executando scripts como uma GUI" -#: ../../using/mac.rst:90 +#: ../../using/mac.rst:91 msgid "" -"With older versions of Python, there is one Mac OS X quirk that you need to " -"be aware of: programs that talk to the Aqua window manager (in other words, " +"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." msgstr "" -"Nas versões mais antigas do Python, há uma peculiaridade do Mac OS X 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 :" +"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." -#: ../../using/mac.rst:95 +#: ../../using/mac.rst:96 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:99 +#: ../../using/mac.rst:100 msgid "Configuration" msgstr "Configuração" -#: ../../using/mac.rst:101 +#: ../../using/mac.rst:102 msgid "" -"Python on OS X honors all standard Unix environment variables such as :" +"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." msgstr "" -"O Python no OS X honra todas as variáveis de ambiente padrão do Unix, como :" +"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:108 +#: ../../using/mac.rst:109 msgid "" "For more information on installation Python packages in MacPython, see " "section :ref:`mac-package-manager`." @@ -250,11 +240,11 @@ msgstr "" "Para obter mais informações sobre a instalação de pacotes Python no " "MacPython, consulte a seção :ref:`mac-package-manager`." -#: ../../using/mac.rst:115 +#: ../../using/mac.rst:116 msgid "The IDE" msgstr "A IDE" -#: ../../using/mac.rst:117 +#: ../../using/mac.rst:118 msgid "" "MacPython ships with the standard IDLE development environment. A good " "introduction to using IDLE can be found at http://www.hashcollision.org/hkn/" @@ -264,15 +254,15 @@ msgstr "" "boa introdução ao uso do IDLE pode ser encontrada em http://www." "hashcollision.org/hkn/python/idle_intro/index.html." -#: ../../using/mac.rst:125 +#: ../../using/mac.rst:126 msgid "Installing Additional Python Packages" msgstr "Instalando pacotes adicionais ao python" -#: ../../using/mac.rst:127 +#: ../../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:129 +#: ../../using/mac.rst:130 msgid "" "Packages can be installed via the standard Python distutils mode (``python " "setup.py install``)." @@ -280,7 +270,7 @@ msgstr "" "Os pacotes podem ser instalados através do modo distutils padrão do Python " "(``python setup.py install``)." -#: ../../using/mac.rst:132 +#: ../../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/." @@ -288,17 +278,17 @@ 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/." -#: ../../using/mac.rst:137 +#: ../../using/mac.rst:138 msgid "GUI Programming on the Mac" msgstr "Programação de GUI no Mac" -#: ../../using/mac.rst:139 +#: ../../using/mac.rst:140 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:141 +#: ../../using/mac.rst:142 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 +298,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:145 +#: ../../using/mac.rst:146 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,45 +311,45 @@ 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:150 +#: ../../using/mac.rst:151 msgid "" "*wxPython* is another popular cross-platform GUI toolkit that runs natively " -"on Mac OS X. Packages and documentation are available from https://www." -"wxpython.org." +"on macOS. Packages and documentation are available from https://www.wxpython." +"org." msgstr "" "*wxPython* é outro popular kit de ferramentas de GUI multiplataforma que " -"funciona nativamente no Mac OS X. Pacotes e documentação estão disponíveis " -"em https://www.wxpython.org." +"funciona nativamente no macOS. Pacotes e documentação estão disponíveis em " +"https://www.wxpython.org." -#: ../../using/mac.rst:153 +#: ../../using/mac.rst:154 msgid "" "*PyQt* is another popular cross-platform GUI toolkit that runs natively on " -"Mac OS X. More information can be found at https://riverbankcomputing.com/" +"macOS. More information can be found at https://riverbankcomputing.com/" "software/pyqt/intro." msgstr "" "*PyQt* é outro popular kit de ferramentas de GUI multiplataforma que " -"funciona nativamente no Mac OS X. Mais informações podem ser encontradas em " +"funciona nativamente no macOS. Mais informações podem ser encontradas em " "https://riverbankcomputing.com/software/pyqt/intro." -#: ../../using/mac.rst:159 +#: ../../using/mac.rst:160 msgid "Distributing Python Applications on the Mac" msgstr "Distribuindo aplicações Python no Mac" -#: ../../using/mac.rst:161 +#: ../../using/mac.rst:162 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 http://undefined.org/python/#py2app." +"found at https://pypi.org/project/py2app/." 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 http://undefined.org/python/#py2app." +"podem ser encontradas em https://pypi.org/project/py2app/." -#: ../../using/mac.rst:167 +#: ../../using/mac.rst:168 msgid "Other Resources" msgstr "Outros recursos" -#: ../../using/mac.rst:169 +#: ../../using/mac.rst:170 msgid "" "The MacPython mailing list is an excellent support resource for Python users " "and developers on the Mac:" @@ -367,14 +357,14 @@ msgstr "" "A lista de discussão do MacPython é um excelente recurso de suporte para " "usuários e desenvolvedores de Python no Mac:" -#: ../../using/mac.rst:172 +#: ../../using/mac.rst:173 msgid "https://www.python.org/community/sigs/current/pythonmac-sig/" msgstr "https://www.python.org/community/sigs/current/pythonmac-sig/" -#: ../../using/mac.rst:174 +#: ../../using/mac.rst:175 msgid "Another useful resource is the MacPython wiki:" msgstr "Outro recurso útil é o wiki do MacPython:" -#: ../../using/mac.rst:176 +#: ../../using/mac.rst:177 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 0af2350e3..e84ebdd09 100644 --- a/using/unix.po +++ b/using/unix.po @@ -1,31 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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 -# Marco Rougeth , 2021 -# Welington Carlos , 2021 -# Claudio Rogerio Carvalho Filho , 2021 -# utzig , 2021 +# python-doc bot, 2025 # #, 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:51+0000\n" -"Last-Translator: utzig , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:59+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../using/unix.rst:7 msgid "Using Python on Unix platforms" @@ -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::" @@ -139,13 +135,13 @@ msgid "" "If you want to compile CPython yourself, first thing you should do is get " "the `source `_. You can download " "either the latest release's source or just grab a fresh `clone `_. (If you want to " +"devguide.python.org/setup/#get-the-source-code>`_. (If you want to " "contribute patches, you will need a clone.)" msgstr "" "Se você quer compilar o CPython, a primeira coisa que você precisa fazer é " "baixar o `código-fonte `_. Você " "pode baixar a última versão ou usar o git para fazer um `clone `_. (Se você pretende " +"devguide.python.org/setup/#get-the-source-code>`_. (Se você pretende " "contribuir modificações, você vai precisar um \"clone\".)" #: ../../using/unix.rst:75 @@ -158,6 +154,9 @@ msgid "" "Unix platforms are extensively documented in the :source:`README.rst` file " "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." #: ../../using/unix.rst:87 msgid "" @@ -177,14 +176,14 @@ msgstr "Paths e arquivos relacionados com o Python" #: ../../using/unix.rst:95 msgid "" "These are subject to difference depending on local installation " -"conventions; :envvar:`prefix` (``${prefix}``) and :envvar:`exec_prefix` (``" -"${exec_prefix}``) are installation-dependent and should be interpreted as " -"for GNU software; they may be the same." +"conventions; :option:`prefix <--prefix>` and :option:`exec_prefix <--exec-" +"prefix>` are installation-dependent and should be interpreted as for GNU " +"software; they may be the same." msgstr "" "Estes estão sujeitos a diferenças dependendo das convenções de instalação " -"local; :envvar:`prefix` (``${prefix}``) e :envvar:`exec_prefix` (``" -"${exec_prefix}``) dependem da instalação e devem ser interpretados da mesma " -"forma que para o software GNU; eles poderão ser os mesmos." +"local; :option:`prefix <--prefix>` e :option:`exec_prefix <--exec-prefix>` " +"dependem da instalação e devem ser interpretados da mesma forma que para o " +"software GNU; eles poderão ser os mesmos." #: ../../using/unix.rst:100 msgid "" @@ -280,7 +279,7 @@ msgstr "" #: ../../using/unix.rst:141 msgid "Custom OpenSSL" -msgstr "" +msgstr "OpenSSL personalizado" #: ../../using/unix.rst:143 msgid "" @@ -290,22 +289,35 @@ msgid "" "directory should also contain a ``cert.pem`` file and/or a ``certs`` " "directory." msgstr "" +"Para usar a configuração OpenSSL do seu fornecedor e armazenamento confiável " +"do sistema, localize o diretório com o arquivo ``openssl.cnf`` ou link " +"simbólico em ``/etc``. Na maioria das distribuições o arquivo está em ``/etc/" +"ssl`` ou em ``/etc/pki/tls``. O diretório também deve conter um arquivo " +"``cert.pem`` e/ou um diretório ``certs``." #: ../../using/unix.rst:154 msgid "" "Download, build, and install OpenSSL. Make sure you use ``install_sw`` and " "not ``install``. The ``install_sw`` target does not override ``openssl.cnf``." msgstr "" +"Baixe, construa e instale o OpenSSL. Certifique-se de usar ``install_sw`` e " +"não ``install``. O destino ``install_sw`` não substitui o ``openssl.cnf``." -#: ../../using/unix.rst:171 +#: ../../using/unix.rst:172 msgid "" -"Build Python with custom OpenSSL (see the configure `--with-openssl` and `--" -"with-openssl-rpath` options)" +"Build Python with custom OpenSSL (see the configure ``--with-openssl`` and " +"``--with-openssl-rpath`` options)" msgstr "" +"Construa o Python com o OpenSSL personalizado (veja as opções configure ``--" +"with-openssl`` e ``--with-openssl-rpath``)" -#: ../../using/unix.rst:186 +#: ../../using/unix.rst:187 msgid "" "Patch releases of OpenSSL have a backwards compatible ABI. You don't need to " "recompile Python to update OpenSSL. It's sufficient to replace the custom " "OpenSSL installation with a newer version." msgstr "" +"As versões de patches do OpenSSL têm uma ABI compatível com versões " +"anteriores. Você não precisa recompilar o Python para atualizar o OpenSSL. É " +"suficiente substituir a instalação personalizada do OpenSSL por uma versão " +"mais recente." diff --git a/using/windows.po b/using/windows.po index 588baa7f9..d1464564c 100644 --- a/using/windows.po +++ b/using/windows.po @@ -1,32 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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: -# Danilo Lima , 2021 -# Raphael Mendonça, 2021 -# Marco Rougeth , 2021 -# Claudio Rogerio Carvalho Filho , 2021 -# felipe caridade , 2021 -# Julia Rizza , 2021 -# Rafael Fontenelle , 2021 +# python-doc bot, 2025 # #, 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:51+0000\n" -"Last-Translator: Rafael Fontenelle , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:58+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../using/windows.rst:7 msgid "Using Python on Windows" @@ -95,15 +90,15 @@ msgstr "" msgid "" ":ref:`windows-store` is a simple installation of Python that is suitable for " "running scripts and packages, and using IDLE or other development " -"environments. It requires Windows 10, but can be safely installed without " -"corrupting other programs. It also provides many convenient commands for " -"launching Python and its tools." +"environments. It requires Windows 10 and above, but can be safely installed " +"without corrupting other programs. It also provides many convenient commands " +"for launching Python and its tools." msgstr "" ":ref:`windows-store` é uma instalação simples do Python que é adequada para " "executar scripts e pacotes, e para usar a IDLE ou outros ambientes de " -"desenvolvimento. Ela requer Windows 10, mas pode ser instalada de forma " -"segura sem corromper outros programas. Ela também fornece vários comandos " -"convenientes para iniciar o Python e suas ferramentas." +"desenvolvimento. Ela requer Windows 10 e superior, mas pode ser instalada de " +"forma segura sem corromper outros programas. Ela também fornece vários " +"comandos convenientes para iniciar o Python e suas ferramentas." #: ../../using/windows.rst:41 msgid "" @@ -268,14 +263,14 @@ msgid "" "In the latest versions of Windows, this limitation can be expanded to " "approximately 32,000 characters. Your administrator will need to activate " "the \"Enable Win32 long paths\" group policy, or set ``LongPathsEnabled`` to " -"``1`` in the registry key ``HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet" -"\\Control\\FileSystem``." +"``1`` in the registry key " +"``HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\FileSystem``." msgstr "" "Nas últimas versões do Windows, essa limitação pode ser expandida para " "aproximadamente 32.000 caracteres. Seu administrador irá precisar ativar a " "política de grupo \"Enable Win32 long paths\", ou definir " -"``LongPathsEnabled`` para ``1`` na chave de registro ``HKEY_LOCAL_MACHINE" -"\\SYSTEM\\CurrentControlSet\\Control\\FileSystem``." +"``LongPathsEnabled`` para ``1`` na chave de registro " +"``HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\FileSystem``." #: ../../using/windows.rst:110 msgid "" @@ -317,13 +312,9 @@ msgid "" "To completely hide the installer UI and install Python silently, pass the ``/" "quiet`` option. To skip past the user interaction but still display progress " "and errors, pass the ``/passive`` option. The ``/uninstall`` option may be " -"passed to immediately begin removing Python - no prompt will be displayed." +"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 - nenhuma confirmação será solicitada." #: ../../using/windows.rst:135 msgid "" @@ -355,10 +346,10 @@ msgstr "InstallAllUsers (Instalar para Todos usuários)" msgid "Perform a system-wide installation." msgstr "Execute uma instalação em todo o sistema." -#: ../../using/windows.rst:142 ../../using/windows.rst:165 -#: ../../using/windows.rst:168 ../../using/windows.rst:177 -#: ../../using/windows.rst:195 ../../using/windows.rst:203 -#: ../../using/windows.rst:206 +#: ../../using/windows.rst:142 ../../using/windows.rst:168 +#: ../../using/windows.rst:171 ../../using/windows.rst:180 +#: ../../using/windows.rst:202 ../../using/windows.rst:210 +#: ../../using/windows.rst:213 msgid "0" msgstr "0" @@ -401,57 +392,57 @@ msgstr "O diretório de instalação padrão para instalações just-for-me" #: ../../using/windows.rst:152 msgid "" -":file:`%LocalAppData%\\\\\\ Programs\\\\PythonXY` or :file:`%LocalAppData%\\" -"\\\\ Programs\\\\PythonXY-32` or :file:`%LocalAppData%\\\\\\ Programs\\" -"\\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\\\\PythonXY` or :file:`%LocalAppData%\\" -"\\\\ Programs\\\\PythonXY-32` or :file:`%LocalAppData%\\\\\\ Programs\\" -"\\PythonXY-64`" +":file:`%LocalAppData%\\\\\\ Programs\\\\Python\\\\\\ PythonXY` ou :file:" +"`%LocalAppData%\\\\\\ Programs\\\\Python\\\\\\ PythonXY-32` ou :file:" +"`%LocalAppData%\\\\\\ Programs\\\\Python\\\\\\ PythonXY-64`" -#: ../../using/windows.rst:159 +#: ../../using/windows.rst:162 msgid "DefaultCustomTargetDir" msgstr "DefaultCustomTargetDir (Diretório de destino personalizado padrão)" -#: ../../using/windows.rst:159 +#: ../../using/windows.rst:162 msgid "The default custom install directory displayed in the UI" msgstr "" "Diretório de instalação personalizado padrão exibido na interface do usuário" -#: ../../using/windows.rst:159 ../../using/windows.rst:208 +#: ../../using/windows.rst:162 ../../using/windows.rst:215 msgid "(empty)" msgstr "(vazio)" -#: ../../using/windows.rst:162 +#: ../../using/windows.rst:165 msgid "AssociateFiles" msgstr "AssociateFiles (Arquivos Associados)" -#: ../../using/windows.rst:162 +#: ../../using/windows.rst:165 msgid "Create file associations if the launcher is also installed." msgstr "Criar associações de arquivos se o launcher também estiver instalado." -#: ../../using/windows.rst:162 ../../using/windows.rst:172 -#: ../../using/windows.rst:175 ../../using/windows.rst:179 -#: ../../using/windows.rst:182 ../../using/windows.rst:185 -#: ../../using/windows.rst:187 ../../using/windows.rst:190 -#: ../../using/windows.rst:193 ../../using/windows.rst:197 -#: ../../using/windows.rst:199 ../../using/windows.rst:201 +#: ../../using/windows.rst:165 ../../using/windows.rst:175 +#: ../../using/windows.rst:178 ../../using/windows.rst:182 +#: ../../using/windows.rst:186 ../../using/windows.rst:190 +#: ../../using/windows.rst:192 ../../using/windows.rst:196 +#: ../../using/windows.rst:200 ../../using/windows.rst:204 +#: ../../using/windows.rst:206 ../../using/windows.rst:208 msgid "1" msgstr "1" -#: ../../using/windows.rst:165 +#: ../../using/windows.rst:168 msgid "CompileAll" msgstr "CompileAll (Compilar Tudo)" -#: ../../using/windows.rst:165 +#: ../../using/windows.rst:168 msgid "Compile all ``.py`` files to ``.pyc``." msgstr "Compile todos os arquivos ``.py`` para ``.pyc``." -#: ../../using/windows.rst:168 +#: ../../using/windows.rst:171 msgid "PrependPath" msgstr "PrependPath (path a ser percorrido)" -#: ../../using/windows.rst:168 +#: ../../using/windows.rst:171 msgid "" "Add install and Scripts directories to :envvar:`PATH` and ``.PY`` to :envvar:" "`PATHEXT`" @@ -459,139 +450,155 @@ msgstr "" "Adicione o diretório de instalação e o de Scripts para :envvar:`PATH` e ``." "PY`` para :envvar:`PATHEXT`" -#: ../../using/windows.rst:172 +#: ../../using/windows.rst:175 msgid "Shortcuts" msgstr "Shortcuts (atalhos)" -#: ../../using/windows.rst:172 +#: ../../using/windows.rst:175 msgid "" "Create shortcuts for the interpreter, documentation and IDLE if installed." msgstr "Crie atalhos para o interpretador, documentação e IDLE se instalado." -#: ../../using/windows.rst:175 +#: ../../using/windows.rst:178 msgid "Include_doc" msgstr "Include_doc" -#: ../../using/windows.rst:175 +#: ../../using/windows.rst:178 msgid "Install Python manual" msgstr "Install Python manual (Instalação Manual do Python)" -#: ../../using/windows.rst:177 +#: ../../using/windows.rst:180 msgid "Include_debug" msgstr "Include_debug (Incluir o Modo de Depuração)" -#: ../../using/windows.rst:177 +#: ../../using/windows.rst:180 msgid "Install debug binaries" msgstr "Instalar binários de Depuração" -#: ../../using/windows.rst:179 +#: ../../using/windows.rst:182 msgid "Include_dev" msgstr "Include_dev" -#: ../../using/windows.rst:179 -msgid "Install developer headers and libraries" -msgstr "Instalar cabeçalhos e bibliotecas de desenvolvedores" - #: ../../using/windows.rst:182 +msgid "" +"Install developer headers and libraries. Omitting this may lead to an " +"unusable installation." +msgstr "" +"Instala cabeçalhos e bibliotecas do desenvolvedor. Omitir isso pode levar a " +"uma instalação inutilizável." + +#: ../../using/windows.rst:186 msgid "Include_exe" msgstr "Include_exe" -#: ../../using/windows.rst:182 -msgid "Install :file:`python.exe` and related files" -msgstr "Instalar :file:`python.exe` e arquivos relacionados" +#: ../../using/windows.rst:186 +msgid "" +"Install :file:`python.exe` and related files. Omitting this may lead to an " +"unusable installation." +msgstr "" +"Instala :file:`python.exe` e arquivos relacionados. Omitir isso pode levar a " +"uma instalação inutilizável." -#: ../../using/windows.rst:185 +#: ../../using/windows.rst:190 msgid "Include_launcher" msgstr "Include_launcher" -#: ../../using/windows.rst:185 +#: ../../using/windows.rst:190 msgid "Install :ref:`launcher`." msgstr "Instalar :ref:`launcher`." -#: ../../using/windows.rst:187 +#: ../../using/windows.rst:192 msgid "InstallLauncherAllUsers" msgstr "InstallLauncherAllUsers" -#: ../../using/windows.rst:187 -msgid "Installs :ref:`launcher` for all users." -msgstr "Instalar para :ref:`launcher` todos os usuários." +#: ../../using/windows.rst:192 +msgid "" +"Installs the launcher for all users. Also requires ``Include_launcher`` to " +"be set to 1" +msgstr "" +"Instala o iniciador para todos os usuários. Também requer " +"``Include_launcher`` para ser definido como 1" -#: ../../using/windows.rst:190 +#: ../../using/windows.rst:196 msgid "Include_lib" msgstr "Include_lib" -#: ../../using/windows.rst:190 -msgid "Install standard library and extension modules" -msgstr "Instalar biblioteca padrão e módulos de extensão" +#: ../../using/windows.rst:196 +msgid "" +"Install standard library and extension modules. Omitting this may lead to an " +"unusable installation." +msgstr "" +"Instala a biblioteca padrão e os módulos de extensão. Omitir isso pode levar " +"a uma instalação inutilizável." -#: ../../using/windows.rst:193 +#: ../../using/windows.rst:200 msgid "Include_pip" msgstr "Include_pip" -#: ../../using/windows.rst:193 +#: ../../using/windows.rst:200 msgid "Install bundled pip and setuptools" msgstr "Instale o pacote pip e setuptools" -#: ../../using/windows.rst:195 +#: ../../using/windows.rst:202 msgid "Include_symbols" msgstr "Include_symbols" -#: ../../using/windows.rst:195 -msgid "Install debugging symbols (`*`.pdb)" -msgstr "Instalar símbolos de depuração (`*`.pdb)" +#: ../../using/windows.rst:202 +msgid "Install debugging symbols (``*.pdb``)" +msgstr "Instala símbolos de depuração (``*.pdb``)" -#: ../../using/windows.rst:197 +#: ../../using/windows.rst:204 msgid "Include_tcltk" msgstr "Include_tcltk" -#: ../../using/windows.rst:197 +#: ../../using/windows.rst:204 msgid "Install Tcl/Tk support and IDLE" msgstr "Instale o suporte Tcl/Tk e o IDLE" -#: ../../using/windows.rst:199 +#: ../../using/windows.rst:206 msgid "Include_test" msgstr "Include_test" -#: ../../using/windows.rst:199 +#: ../../using/windows.rst:206 msgid "Install standard library test suite" msgstr "Instalar o conjunto de testes da biblioteca padrão" -#: ../../using/windows.rst:201 +#: ../../using/windows.rst:208 msgid "Include_tools" msgstr "Include_tools" -#: ../../using/windows.rst:201 +#: ../../using/windows.rst:208 msgid "Install utility scripts" msgstr "Instalar scripts com utilitários" -#: ../../using/windows.rst:203 +#: ../../using/windows.rst:210 msgid "LauncherOnly" msgstr "LauncherOnly" -#: ../../using/windows.rst:203 +#: ../../using/windows.rst:210 msgid "Only installs the launcher. This will override most other options." msgstr "" "Instala apenas o launcher. Isso substituirá a maioria das outras opções." -#: ../../using/windows.rst:206 +#: ../../using/windows.rst:213 msgid "SimpleInstall" msgstr "SimpleInstall" -#: ../../using/windows.rst:206 +#: ../../using/windows.rst:213 msgid "Disable most install UI" msgstr "Desativar a maioria das UIs de instalação" -#: ../../using/windows.rst:208 +#: ../../using/windows.rst:215 msgid "SimpleInstallDescription" msgstr "SimpleInstallDescription" -#: ../../using/windows.rst:208 +#: ../../using/windows.rst:215 msgid "A custom message to display when the simplified install UI is used." msgstr "" "Uma mensagem personalizada para exibir quando a IU de instalação " "simplificada é usada." -#: ../../using/windows.rst:212 +#: ../../using/windows.rst:219 msgid "" "For example, to silently install a default, system-wide Python installation, " "you could use the following command (from an elevated command prompt)::" @@ -600,7 +607,7 @@ msgstr "" "em todo o sistema, você pode usar o seguinte comando (a partir de um " "terminal de comando autorizado)::" -#: ../../using/windows.rst:217 +#: ../../using/windows.rst:224 msgid "" "To allow users to easily install a personal copy of Python without the test " "suite, you could provide a shortcut with the following command. This will " @@ -610,7 +617,7 @@ msgstr "" "suíte de testes, você pode fornecer um atalho com o seguinte comando. Isso " "irá exibir uma página inicial simplificado e bloquear a personalização::" -#: ../../using/windows.rst:224 +#: ../../using/windows.rst:231 msgid "" "(Note that omitting the launcher also omits file associations, and is only " "recommended for per-user installs when there is also a system-wide " @@ -620,7 +627,7 @@ msgstr "" "só é recomendado para instalações por usuários quando também existe uma " "instalação por todo o sistema que inclui o inicializador.)" -#: ../../using/windows.rst:228 +#: ../../using/windows.rst:235 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 " @@ -635,11 +642,11 @@ msgstr "" "elementos de texto são sempre deixados como strings. Esse arquivo de exemplo " "define as mesmas opções que o exemplo anterior:" -#: ../../using/windows.rst:247 +#: ../../using/windows.rst:254 msgid "Installing Without Downloading" msgstr "Instalando Sem Download" -#: ../../using/windows.rst:249 +#: ../../using/windows.rst:256 msgid "" "As some features of Python are not included in the initial installer " "download, selecting those features may require an internet connection. To " @@ -657,7 +664,7 @@ msgstr "" "que este download pode ser maior que o necessário, mas onde um grande número " "de instalações serão realizadas é bem útil ter uma cópia em cache local." -#: ../../using/windows.rst:257 +#: ../../using/windows.rst:264 msgid "" "Execute the following command from Command Prompt to download all possible " "required files. Remember to substitute ``python-3.9.0.exe`` for the actual " @@ -670,18 +677,18 @@ msgstr "" "nos respectivos diretórios para evitar colisão entre arquivos com o mesmo " "nome." -#: ../../using/windows.rst:266 +#: ../../using/windows.rst:273 msgid "" "You may also specify the ``/quiet`` option to hide the progress display." msgstr "" "Você também pode especificar a opção ``/quiet`` para esconder o " "acompanhamento de progresso." -#: ../../using/windows.rst:269 +#: ../../using/windows.rst:276 msgid "Modifying an install" msgstr "Modificando uma instalação" -#: ../../using/windows.rst:271 +#: ../../using/windows.rst:278 msgid "" "Once Python has been installed, you can add or remove features through the " "Programs and Features tool that is part of Windows. Select the Python entry " @@ -692,7 +699,7 @@ msgstr "" "o registro do Python e escolha \"Uninstall/Change\" para abrir o instalador " "no modo de manutenção." -#: ../../using/windows.rst:275 +#: ../../using/windows.rst:282 msgid "" "\"Modify\" allows you to add or remove features by modifying the checkboxes " "- unchanged checkboxes will not install or remove anything. Some options " @@ -705,7 +712,7 @@ msgstr "" "diretório de instalação; para modificá-las, você precisará remover e então " "reinstalar o Python completamente." -#: ../../using/windows.rst:280 +#: ../../using/windows.rst:287 msgid "" "\"Repair\" will verify all the files that should be installed using the " "current settings and replace any that have been removed or modified." @@ -714,7 +721,7 @@ msgstr "" "as configurações atuais e substituir qualquer um que tiver sido removido ou " "modificado." -#: ../../using/windows.rst:283 +#: ../../using/windows.rst:290 msgid "" "\"Uninstall\" will remove Python entirely, with the exception of the :ref:" "`launcher`, which has its own entry in Programs and Features." @@ -722,11 +729,11 @@ msgstr "" "\"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:290 +#: ../../using/windows.rst:297 msgid "The Microsoft Store package" msgstr "O pacote Microsoft Store" -#: ../../using/windows.rst:294 +#: ../../using/windows.rst:301 msgid "" "The Microsoft Store package is an easily installable Python interpreter that " "is intended mainly for interactive use, for example, by students." @@ -734,7 +741,7 @@ msgstr "" "O pacote Microsoft Store é um interpretador Python facilmente instalável " "criado principalmente para uso interativo, por exemplo, por estudantes." -#: ../../using/windows.rst:297 +#: ../../using/windows.rst:304 msgid "" "To install the package, ensure you have the latest Windows 10 updates and " "search the Microsoft Store app for \"Python |version|\". Ensure that the app " @@ -745,7 +752,7 @@ msgstr "" "Store. Certifique-se que o app que você selecionou foi publicado pela Python " "Software Foundation, e instale-o." -#: ../../using/windows.rst:302 +#: ../../using/windows.rst:309 msgid "" "Python will always be available for free on the Microsoft Store. If you are " "asked to pay for it, you have not selected the correct package." @@ -753,7 +760,7 @@ msgstr "" "Python sempre estará disponível gratuitamente na Microsoft Store. Se você " "for solicitado a pagar por ele, você não selecionou o pacote correto." -#: ../../using/windows.rst:305 +#: ../../using/windows.rst:312 msgid "" "After installation, Python may be launched by finding it in Start. " "Alternatively, it will be available from any Command Prompt or PowerShell " @@ -766,7 +773,7 @@ msgstr "" "pip e a IDLE podem ser usados digitando ``pip`` ou ``idle``. A IDLE também " "pode ser encontrada no menu Iniciar." -#: ../../using/windows.rst:310 +#: ../../using/windows.rst:317 msgid "" "All three commands are also available with version number suffixes, for " "example, as ``python3.exe`` and ``python3.x.exe`` as well as ``python.exe`` " @@ -785,7 +792,7 @@ msgstr "" "``idle`` são consistentes com qualquer versão do ``python`` que seja " "selecionada." -#: ../../using/windows.rst:318 +#: ../../using/windows.rst:325 msgid "" "Virtual environments can be created with ``python -m venv`` and activated " "and used as normal." @@ -793,7 +800,7 @@ msgstr "" "Ambientes virtuais podem ser criados com ``python -m venv`` e ativados e " "usados normalmente." -#: ../../using/windows.rst:321 +#: ../../using/windows.rst:328 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 " @@ -805,7 +812,7 @@ msgstr "" "pela Microsoft Store. Para acessar a nova instalação, use ``python3.exe`` ou " "``python3.x.exe``." -#: ../../using/windows.rst:326 +#: ../../using/windows.rst:333 msgid "" "The ``py.exe`` launcher will detect this Python installation, but will " "prefer installations from the traditional installer." @@ -813,7 +820,7 @@ msgstr "" "O instalador ``py.exe`` irá detectar essa instalação do Python, mas irá " "preferir instalações feitas pelo instalador tradicional." -#: ../../using/windows.rst:329 +#: ../../using/windows.rst:336 msgid "" "To remove Python, open Settings and use Apps and Features, or else find " "Python in Start and right-click to select Uninstall. Uninstalling will " @@ -826,24 +833,98 @@ msgstr "" "você instalou diretamente dentro dessa instalação do Python, mas não irá " "remover nenhum ambiente virtual." -#: ../../using/windows.rst:335 -msgid "Known Issues" -msgstr "Problemas Conhecidos" +#: ../../using/windows.rst:342 +msgid "Known issues" +msgstr "Problemas conhecidos" -#: ../../using/windows.rst:337 +#: ../../using/windows.rst:345 +msgid "Redirection of local data, registry, and temporary paths" +msgstr "Redirecionamento de dados locais, registro e caminhos temporários" + +#: ../../using/windows.rst:347 msgid "" "Because of restrictions on Microsoft Store apps, Python scripts may not have " -"full write access to shared locations such as ``TEMP`` and the registry. " -"Instead, it will write to a private copy. If your scripts must modify the " -"shared locations, you will need to install the full installer." +"full write access to shared locations such as :envvar:`TEMP` and the " +"registry. Instead, it will write to a private copy. If your scripts must " +"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 " -"``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:352 +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\\" +"\\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\\" +"\\PythonSoftwareFoundation.Python.3.8_qbz5n2kfra8p0\\\\LocalCache\\\\Local\\" +"\\`" + +#: ../../using/windows.rst:357 +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:\\" +"\\Windows\\\\System32` plus the contents of :file:`C:\\\\Program Files\\" +"\\WindowsApps\\\\package_name\\\\VFS\\\\SystemX86`." +msgstr "" +"Ao ler arquivos, o Windows retornará o arquivo da pasta privada ou, se não " +"existir, o diretório real do Windows. Por exemplo, ler :file:`C:\\\\Windows\\" +"\\System32` retorna o conteúdo de :file:`C:\\\\Windows\\\\System32` mais o " +"conteúdo de :file:`C:\\\\Program Files\\\\WindowsApps \\\\nome_pacote\\" +"\\VFS\\\\SystemX86`." + +#: ../../using/windows.rst:361 +msgid "" +"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`:" + +#: ../../using/windows.rst:370 +msgid "When writing to the Windows Registry, the following behaviors exist:" +msgstr "Ao gravar no Registro do Windows, existem os seguintes comportamentos:" -#: ../../using/windows.rst:342 +#: ../../using/windows.rst:372 +msgid "" +"Reading from ``HKLM\\\\Software`` is allowed and results are merged with " +"the :file:`registry.dat` file in the package." +msgstr "" +"A leitura de ``HKLM\\\\Software`` é permitida e os resultados são mesclados " +"com o arquivo :file:`registry.dat` no pacote." + +#: ../../using/windows.rst:373 +msgid "" +"Writing to ``HKLM\\\\Software`` is not allowed if the corresponding key/" +"value exists, i.e. modifying existing keys." +msgstr "" +"Gravar em ``HKLM\\\\Software`` não é permitido se a chave/valor " +"correspondente existir, ou seja, modificar chaves existentes." + +#: ../../using/windows.rst:374 +msgid "" +"Writing to ``HKLM\\\\Software`` is allowed as long as a corresponding key/" +"value does not exist in the package and the user has the correct access " +"permissions." +msgstr "" +"Gravar em ``HKLM\\\\Software`` é permitido desde que uma chave/valor " +"correspondente não exista no pacote e o usuário tenha as permissões de " +"acesso corretas." + +#: ../../using/windows.rst:377 msgid "" "For more detail on the technical basis for these limitations, please consult " "Microsoft's documentation on packaged full-trust apps, currently available " @@ -857,11 +938,11 @@ msgstr "" "desktop-to-uwp-behind-the-scenes `_" -#: ../../using/windows.rst:351 +#: ../../using/windows.rst:386 msgid "The nuget.org packages" msgstr "Os pacotes nuget.org" -#: ../../using/windows.rst:355 +#: ../../using/windows.rst:390 msgid "" "The nuget.org package is a reduced size Python environment intended for use " "on continuous integration and build systems that do not have a system-wide " @@ -874,7 +955,7 @@ msgstr "" "\"gerenciador de pacotes para .NET\", ele também funciona perfeitamente bem " "para pacotes contendo ferramentas em tempo de construção." -#: ../../using/windows.rst:360 +#: ../../using/windows.rst:395 msgid "" "Visit `nuget.org `_ for the most up-to-date " "information on using nuget. What follows is a summary that is sufficient for " @@ -884,7 +965,7 @@ msgstr "" "atualizadas sobre utilização do nuget. A seguir está um sumário que é " "suficiente para desenvolvedores Python." -#: ../../using/windows.rst:364 +#: ../../using/windows.rst:399 msgid "" "The ``nuget.exe`` command line tool may be downloaded directly from " "``https://aka.ms/nugetclidl``, for example, using curl or PowerShell. With " @@ -896,23 +977,23 @@ msgstr "" "Com a ferramenta, a versão mais recente do Python para máquinas 64-bit ou 32-" "bit é instalada usando::" -#: ../../using/windows.rst:372 +#: ../../using/windows.rst:407 msgid "" "To select a particular version, add a ``-Version 3.x.y``. The output " "directory may be changed from ``.``, and the package will be installed into " "a subdirectory. By default, the subdirectory is named the same as the " "package, and without the ``-ExcludeVersion`` option this name will include " "the specific version installed. Inside the subdirectory is a ``tools`` " -"directory that contains the Python installation::" +"directory that contains the Python installation:" msgstr "" "Para selecionar uma versão específica, adicione ``-Version 3.x.y``. O " "diretório de saída pode ser mudado de ``.``, e o pacote será instalado em um " "subdiretório. Por padrão, o subdiretório é nomeado igual ao pacote, e sem a " "opção ``-ExcludeVersion`` esse nome irá incluir a versão específica " "instalada. Dentro do subdiretório está um diretório ``tools`` que contém a " -"instalação do Python::" +"instalação do Python:" -#: ../../using/windows.rst:387 +#: ../../using/windows.rst:424 msgid "" "In general, nuget packages are not upgradeable, and newer versions should be " "installed side-by-side and referenced using the full path. Alternatively, " @@ -925,7 +1006,7 @@ msgstr "" "novamente. Muitos sistemas CI irão fazer isso automaticamente se eles não " "preservam arquivos entre construções de projetos." -#: ../../using/windows.rst:392 +#: ../../using/windows.rst:429 msgid "" "Alongside the ``tools`` directory is a ``build\\native`` directory. This " "contains a MSBuild properties file ``python.props`` that can be used in a C+" @@ -938,7 +1019,7 @@ msgstr "" "configurações irá automaticamente usar os cabeçalhos e importar as " "bibliotecas na sua construção de projeto." -#: ../../using/windows.rst:397 +#: ../../using/windows.rst:434 msgid "" "The package information pages on nuget.org are `www.nuget.org/packages/" "python `_ for the 64-bit version and " @@ -950,11 +1031,11 @@ msgstr "" "bit e `www.nuget.org/packages/pythonx86 `_ para a versão 32-bit." -#: ../../using/windows.rst:406 +#: ../../using/windows.rst:443 msgid "The embeddable package" msgstr "O pacote embutível" -#: ../../using/windows.rst:410 +#: ../../using/windows.rst:447 msgid "" "The embedded distribution is a ZIP file containing a minimal Python " "environment. It is intended for acting as part of another application, " @@ -964,7 +1045,7 @@ msgstr "" "Ela foi criada para atuar como parte de outra aplicação, ao invés de ser " "diretamente acessada por usuários finais." -#: ../../using/windows.rst:414 +#: ../../using/windows.rst:451 msgid "" "When extracted, the embedded distribution is (almost) fully isolated from " "the user's system, including environment variables, system registry " @@ -982,23 +1063,24 @@ msgstr "" "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:423 +#: ../../using/windows.rst:460 msgid "" "The embedded distribution does not include the `Microsoft C Runtime `_ and it is the " -"responsibility of the application installer to provide this. The runtime may " -"have already been 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 Windows Update, e pode ser detectado " -"procurando por ``ucrtbase.dll`` no diretório do sistema." - -#: ../../using/windows.rst:430 +"docs.microsoft.com/en-US/cpp/windows/latest-supported-vc-redist#visual-" +"studio-2015-2017-2019-and-2022>`_ and it is the responsibility of the " +"application installer to provide this. The runtime may have already been " +"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 " +"Windows Update, e pode ser detectado procurando por ``ucrtbase.dll`` no " +"diretório do sistema." + +#: ../../using/windows.rst:467 msgid "" "Third-party packages should be installed by the application installer " "alongside the embedded distribution. Using pip to manage dependencies as for " @@ -1017,18 +1099,18 @@ msgstr "" "desenvolvedor consiga garantir compatibilidade com versões mais recentes " "antes de fornecer atualizações para os usuários." -#: ../../using/windows.rst:438 +#: ../../using/windows.rst:475 msgid "" "The two recommended use cases for this distribution are described below." msgstr "" "Os dois casos de uso recomendados para essa distribuição são descritos " "abaixo." -#: ../../using/windows.rst:441 +#: ../../using/windows.rst:478 msgid "Python Application" msgstr "Aplicação Python" -#: ../../using/windows.rst:443 +#: ../../using/windows.rst:480 msgid "" "An application written in Python does not necessarily require users to be " "aware of that fact. The embedded distribution may be used in this case to " @@ -1042,7 +1124,7 @@ msgstr "" "Dependendo de quão transparente deve ser (ou pelo contrário, quão " "profissional deve parecer), existem duas opções." -#: ../../using/windows.rst:449 +#: ../../using/windows.rst:486 msgid "" "Using a specialized executable as a launcher requires some coding, but " "provides the most transparent experience for users. With a customized " @@ -1061,7 +1143,7 @@ msgstr "" "personalizado deve simplesmente ser capaz de chamar ``Py_Main`` com uma " "linha de comando predefinida (hard-coded)." -#: ../../using/windows.rst:456 +#: ../../using/windows.rst:493 msgid "" "The simpler approach is to provide a batch file or generated shortcut that " "directly calls the ``python.exe`` or ``pythonw.exe`` with the required " @@ -1075,7 +1157,7 @@ msgstr "" "Python e não seu nome real, e os usuários podem ter problemas em distinguir " "ela de outros processos ou associações de arquivo em Python." -#: ../../using/windows.rst:462 +#: ../../using/windows.rst:499 msgid "" "With the latter approach, packages should be installed as directories " "alongside the Python executable to ensure they are available on the path. " @@ -1089,11 +1171,11 @@ msgstr "" "armazenados em outras localidades já que há uma oportunidade de especificar " "o caminho de busca antes de executar a aplicação." -#: ../../using/windows.rst:468 +#: ../../using/windows.rst:505 msgid "Embedding Python" msgstr "Incorporando Python" -#: ../../using/windows.rst:470 +#: ../../using/windows.rst:507 msgid "" "Applications written in native code often require some form of scripting " "language, and the embedded Python distribution can be used for this purpose. " @@ -1111,7 +1193,7 @@ msgstr "" "subdiretório da instalação da aplicação é suficiente para providenciar um " "interpretador Python carregável." -#: ../../using/windows.rst:477 +#: ../../using/windows.rst:514 msgid "" "As with the application use, packages can be installed to any location as " "there is an opportunity to specify search paths before initializing the " @@ -1123,11 +1205,11 @@ msgstr "" "interpretador. De outra forma, não existem diferenças fundamentais entre " "usar a distribuição embutida ou a instalação regular." -#: ../../using/windows.rst:484 +#: ../../using/windows.rst:521 msgid "Alternative bundles" msgstr "Pacotes Alternativos" -#: ../../using/windows.rst:486 +#: ../../using/windows.rst:523 msgid "" "Besides the standard CPython distribution, there are modified packages " "including additional functionality. The following is a list of popular " @@ -1137,19 +1219,19 @@ msgstr "" "incluindo funcionalidades adicionais. A seguir está uma lista de versões " "populares e seus recursos chave:" -#: ../../using/windows.rst:491 +#: ../../using/windows.rst:528 msgid "`ActivePython `_" msgstr "`ActivePython `_" -#: ../../using/windows.rst:491 +#: ../../using/windows.rst:528 msgid "Installer with multi-platform compatibility, documentation, PyWin32" msgstr "Instalador com compatibilidade multi-plataforma, documentação, PyWin32" -#: ../../using/windows.rst:495 +#: ../../using/windows.rst:532 msgid "`Anaconda `_" msgstr "`Anaconda `_" -#: ../../using/windows.rst:494 +#: ../../using/windows.rst:531 msgid "" "Popular scientific modules (such as numpy, scipy and pandas) and the " "``conda`` package manager." @@ -1157,23 +1239,31 @@ msgstr "" "Módulos científicos populares (como o numpy, scipy e pandas) e o gerenciador " "de pacotes ``conda``." -#: ../../using/windows.rst:499 -msgid "`Canopy `_" -msgstr "`Canopy `_" +#: ../../using/windows.rst:538 +msgid "`Enthought Deployment Manager `_" +msgstr "`Enthought Deployment Manager `_" -#: ../../using/windows.rst:498 +#: ../../using/windows.rst:535 +msgid "\"The Next Generation Python Environment and Package Manager\"." +msgstr "\"A próxima geração de ambiente Python e gerenciador de pacotes\"." + +#: ../../using/windows.rst:537 msgid "" -"A \"comprehensive Python analysis environment\" with editors and other " -"development tools." +"Previously Enthought provided Canopy, but it `reached end of life in 2016 " +"`_." msgstr "" -"Um \"ambiente de análise Python compreensivo\" com editores e outras " -"ferramentas de desenvolvimento." +"Anteriormente, a Enthought fornecia Canopy, mas este `chegou ao fim de vida " +"em 2016 `_." -#: ../../using/windows.rst:503 +#: ../../using/windows.rst:542 msgid "`WinPython `_" msgstr "`WinPython `_" -#: ../../using/windows.rst:502 +#: ../../using/windows.rst:541 msgid "" "Windows-specific distribution with prebuilt scientific packages and tools " "for building packages." @@ -1181,7 +1271,7 @@ msgstr "" "Distribuição específica do Windows com pacotes científicos pré-construídos e " "ferramentas para construir pacotes." -#: ../../using/windows.rst:505 +#: ../../using/windows.rst:544 msgid "" "Note that these packages may not include the latest versions of Python or " "other libraries, and are not maintained or supported by the core Python team." @@ -1190,11 +1280,11 @@ msgstr "" "outras bibliotecas, e não são mantidos ou suportados pelo time do núcleo do " "Python." -#: ../../using/windows.rst:511 +#: ../../using/windows.rst:550 msgid "Configuring Python" msgstr "Configurando o Python" -#: ../../using/windows.rst:513 +#: ../../using/windows.rst:552 msgid "" "To run Python conveniently from a command prompt, you might consider " "changing some default environment variables in Windows. While the installer " @@ -1209,11 +1299,11 @@ msgstr "" "sistema. Se você usa regularmente múltiplas versões do Python, considere " "usar o :ref:`launcher`." -#: ../../using/windows.rst:523 +#: ../../using/windows.rst:562 msgid "Excursus: Setting environment variables" msgstr "Excursus: Configurando variáveis de ambiente" -#: ../../using/windows.rst:525 +#: ../../using/windows.rst:564 msgid "" "Windows allows environment variables to be configured permanently at both " "the User level and the System level, or temporarily in a command prompt." @@ -1222,7 +1312,7 @@ msgstr "" "permanente em ambos os níveis de Usuário e de Sistema, ou temporariamente em " "um prompt de comando." -#: ../../using/windows.rst:528 +#: ../../using/windows.rst:567 msgid "" "To temporarily set environment variables, open Command Prompt and use the :" "command:`set` command:" @@ -1230,7 +1320,7 @@ msgstr "" "Para definir as variáveis de ambiente temporariamente, abra um Prompt de " "Comando e use o comando :command:`set`:" -#: ../../using/windows.rst:537 +#: ../../using/windows.rst:576 msgid "" "These changes will apply to any further commands executed in that console, " "and will be inherited by any applications started from the console." @@ -1239,7 +1329,7 @@ msgstr "" "executados neste console, e serão herdadas por quaisquer aplicações " "iniciadas pelo console." -#: ../../using/windows.rst:540 +#: ../../using/windows.rst:579 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. " @@ -1253,7 +1343,7 @@ msgstr "" "exe` ao início é o modo mais comum de garantir que a versão correta do " "Python seja iniciada." -#: ../../using/windows.rst:546 +#: ../../using/windows.rst:585 msgid "" "To permanently modify the default environment variables, click Start and " "search for 'edit environment variables', or open System properties, :" @@ -1270,7 +1360,7 @@ msgstr "" "variáveis do Sistema, você precisa de acesso não-restrito à sua máquina " "(isto é, direitos de Administrador)." -#: ../../using/windows.rst:555 +#: ../../using/windows.rst:594 msgid "" "Windows will concatenate User variables *after* System variables, which may " "cause unexpected results when modifying :envvar:`PATH`." @@ -1279,68 +1369,60 @@ msgstr "" "Sistema, o que pode causar resultados inesperados quando modificando o :" "envvar:`PATH`." -#: ../../using/windows.rst:558 +#: ../../using/windows.rst:597 msgid "" -"The :envvar:`PYTHONPATH` variable is used by all versions of Python 2 and " -"Python 3, so you should not permanently configure this variable unless it " -"only includes code that is compatible with all of your installed Python " -"versions." +"The :envvar:`PYTHONPATH` variable is used by all versions of Python, so you " +"should not permanently configure it unless the listed paths only include " +"code that is compatible with all of your installed Python versions." msgstr "" -"A variável :envvar:`PYTHONPATH` é usada por todas as versões do Python 2 e " -"Python 3, então você não deve configurar permanentemente esta variável a " -"menos que ela apenas inclua código que seja compatível com todas as suas " -"versões instaladas do Python." - -#: ../../using/windows.rst:566 -msgid "https://www.microsoft.com/en-us/wdsi/help/folder-variables" -msgstr "https://www.microsoft.com/en-us/wdsi/help/folder-variables" - -#: ../../using/windows.rst:566 -msgid "Environment variables in Windows NT" -msgstr "Variáveis de ambiente no Windows NT" +"A variável :envvar:`PYTHONPATH` é usada por todas as versões do Python, " +"portanto, você não deve configurá-la permanentemente, a menos que os " +"caminhos listados incluam apenas código compatível com todas as versões " +"instaladas do Python." -#: ../../using/windows.rst:569 -msgid "https://technet.microsoft.com/en-us/library/cc754250.aspx" -msgstr "https://technet.microsoft.com/en-us/library/cc754250.aspx" +#: ../../using/windows.rst:605 +msgid "" +"https://docs.microsoft.com/en-us/windows/win32/procthread/environment-" +"variables" +msgstr "" +"https://docs.microsoft.com/en-us/windows/win32/procthread/environment-" +"variables" -#: ../../using/windows.rst:569 -msgid "The SET command, for temporarily modifying environment variables" -msgstr "O comando SET, para modificar temporariamente as variáveis de ambiente" +#: ../../using/windows.rst:605 +msgid "Overview of environment variables on Windows" +msgstr "Visão geral das variáveis de ambiente no Windows" -#: ../../using/windows.rst:572 -msgid "https://technet.microsoft.com/en-us/library/cc755104.aspx" -msgstr "https://technet.microsoft.com/en-us/library/cc755104.aspx" +#: ../../using/windows.rst:608 +msgid "" +"https://docs.microsoft.com/en-us/windows-server/administration/windows-" +"commands/set_1" +msgstr "" +"https://docs.microsoft.com/en-us/windows-server/administration/windows-" +"commands/set_1" -#: ../../using/windows.rst:572 -msgid "The SETX command, for permanently modifying environment variables" +#: ../../using/windows.rst:608 +msgid "The ``set`` command, for temporarily modifying environment variables" msgstr "" -"O comando SETX, para modificar permanentemente as variáveis de ambiente" +"O comando ``set``, para modificar temporariamente as variáveis de ambiente" -#: ../../using/windows.rst:575 +#: ../../using/windows.rst:610 msgid "" -"https://support.microsoft.com/en-us/help/310519/how-to-manage-environment-" -"variables-in-windows-xp" +"https://docs.microsoft.com/en-us/windows-server/administration/windows-" +"commands/setx" msgstr "" -"https://support.microsoft.com/pt-br/help/310519/how-to-manage-environment-" -"variables-in-windows-xp" - -#: ../../using/windows.rst:575 -msgid "How To Manage Environment Variables in Windows XP" -msgstr "Como Gerenciar Variáveis de Ambiente no Windows XP" +"https://docs.microsoft.com/en-us/windows-server/administration/windows-" +"commands/setx" -#: ../../using/windows.rst:577 -msgid "https://www.chem.gla.ac.uk/~louis/software/faq/q1.html" -msgstr "https://www.chem.gla.ac.uk/~louis/software/faq/q1.html" - -#: ../../using/windows.rst:578 -msgid "Setting Environment variables, Louis J. Farrugia" -msgstr "Configurando variáveis de ambiente, Louis J. Farrugia" +#: ../../using/windows.rst:611 +msgid "The ``setx`` command, for permanently modifying environment variables" +msgstr "" +"O comando ``setx``, para modificar permanentemente as variáveis de ambiente" -#: ../../using/windows.rst:583 +#: ../../using/windows.rst:617 msgid "Finding the Python executable" msgstr "Encontrando o executável do Python" -#: ../../using/windows.rst:587 +#: ../../using/windows.rst:621 msgid "" "Besides using the automatically created start menu entry for the Python " "interpreter, you might want to start Python in the command prompt. The " @@ -1350,11 +1432,11 @@ msgstr "" "interpretador do Python, você pode querer iniciar o Python no prompt de " "comando. O instalador possui uma opção para configurar isso pra você." -#: ../../using/windows.rst:591 +#: ../../using/windows.rst:625 msgid "" -"On the first page of the installer, an option labelled \"Add Python to PATH" -"\" may be selected to have the installer add the install location into the :" -"envvar:`PATH`. The location of the :file:`Scripts\\\\` folder is also " +"On the first page of the installer, an option labelled \"Add Python to " +"PATH\" may be selected to have the installer add the install location into " +"the :envvar:`PATH`. The location of the :file:`Scripts\\\\` folder is also " "added. This allows you to type :command:`python` to run the interpreter, " "and :command:`pip` for the package installer. Thus, you can also execute " "your scripts with command line options, see :ref:`using-on-cmdline` " @@ -1368,7 +1450,7 @@ msgstr "" "você pode também executar seus scripts com as opções de linha de comando, " "veja a documentação :ref:`using-on-cmdline`." -#: ../../using/windows.rst:598 +#: ../../using/windows.rst:632 msgid "" "If you don't enable this option at install time, you can always re-run the " "installer, select Modify, and enable it. Alternatively, you can manually " @@ -1384,14 +1466,14 @@ 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:611 +#: ../../using/windows.rst:645 msgid "UTF-8 mode" msgstr "Modo UTF-8" -#: ../../using/windows.rst:615 +#: ../../using/windows.rst:649 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:" @@ -1401,7 +1483,7 @@ msgstr "" "Página de Código ANSI). O Python usa-o para a codificação padrão de arquivos " "de texto (por exemplo, :func:`locale.getpreferredencoding`)." -#: ../../using/windows.rst:619 +#: ../../using/windows.rst:653 msgid "" "This may cause issues because UTF-8 is widely used on the internet and most " "Unix systems, including WSL (Windows Subsystem for Linux)." @@ -1410,7 +1492,7 @@ msgstr "" "na maioria dos sistemas Unix, incluindo o WSL (Subsistema Windows para " "Linux)." -#: ../../using/windows.rst:622 +#: ../../using/windows.rst:656 msgid "" "You can use the :ref:`Python UTF-8 Mode ` to change the default " "text encoding to UTF-8. You can enable the :ref:`Python UTF-8 Mode ` is enabled, you can still use " "the system encoding (the ANSI Code Page) via the \"mbcs\" codec." @@ -1434,7 +1516,7 @@ msgstr "" "pode usar a codificação do sistema (a página de código ANSI) através do " "codec \"mbcs\"." -#: ../../using/windows.rst:631 +#: ../../using/windows.rst:665 msgid "" "Note that adding ``PYTHONUTF8=1`` to the default environment variables will " "affect all Python 3.7+ applications on your system. If you have any Python " @@ -1448,7 +1530,7 @@ msgstr "" "recomendável definir a variável de ambiente temporariamente ou usar a opção " "de linha de comando ``-X utf8``." -#: ../../using/windows.rst:638 +#: ../../using/windows.rst:672 msgid "" "Even when UTF-8 mode is disabled, Python uses UTF-8 by default on Windows " "for:" @@ -1456,12 +1538,12 @@ msgstr "" "Mesmo quando o modo UTF-8 está desativado, o Python usa o UTF-8 por padrão " "no Windows para:" -#: ../../using/windows.rst:641 +#: ../../using/windows.rst:675 msgid "Console I/O including standard I/O (see :pep:`528` for details)." msgstr "" "E/S do console, incluindo E/S padrão (consulte :pep:`528` para detalhes)." -#: ../../using/windows.rst:642 +#: ../../using/windows.rst:676 msgid "" "The :term:`filesystem encoding ` " "(see :pep:`529` for details)." @@ -1469,11 +1551,11 @@ msgstr "" "A :term:`codificação do sistema de arquivos ` (veja a :pep:`529` para detalhes)." -#: ../../using/windows.rst:649 +#: ../../using/windows.rst:683 msgid "Python Launcher for Windows" msgstr "Inicializador Python para Windows" -#: ../../using/windows.rst:653 +#: ../../using/windows.rst:687 msgid "" "The Python launcher for Windows is a utility which aids in locating and " "executing of different Python versions. It allows scripts (or the command-" @@ -1485,7 +1567,7 @@ msgstr "" "scripts (ou a linha de comando) indiquem uma preferência por uma versão do " "Python específica, e irá localizar e executar essa versão." -#: ../../using/windows.rst:658 +#: ../../using/windows.rst:692 msgid "" "Unlike the :envvar:`PATH` variable, the launcher will correctly select the " "most appropriate version of Python. It will prefer per-user installations " @@ -1497,32 +1579,32 @@ msgstr "" "por usuário ao invés de instalações globais no sistema, e ordenará por " "versão da linguagem ao invés de usar a versão instalada mais recentemente." -#: ../../using/windows.rst:663 +#: ../../using/windows.rst:697 msgid "The launcher was originally specified in :pep:`397`." msgstr "O inicializador foi originalmente especificado na :pep:`397`." -#: ../../using/windows.rst:666 +#: ../../using/windows.rst:700 msgid "Getting started" msgstr "Começando" -#: ../../using/windows.rst:669 +#: ../../using/windows.rst:703 msgid "From the command-line" msgstr "Pela linha de comando" -#: ../../using/windows.rst:673 +#: ../../using/windows.rst:707 msgid "" "System-wide installations of Python 3.3 and later will put the launcher on " "your :envvar:`PATH`. The launcher is compatible with all available versions " "of Python, so it does not matter which version is installed. To check that " -"the launcher is available, execute the following command in Command Prompt:" +"the launcher is available, execute the following command in Command Prompt::" msgstr "" "Instalações globais no sistema do Python 3.3 ou posterior irão colocar o " "inicializador no seu :envvar:`PATH`. O inicializador é compatível com todas " "as versões disponíveis do Python, então não importa qual versão está " "instalada. Para verificar se o inicializador está disponível, execute o " -"seguinte comando no Prompt de Comando:" +"seguinte comando no Prompt de Comando::" -#: ../../using/windows.rst:682 +#: ../../using/windows.rst:714 msgid "" "You should find that the latest version of Python you have installed is " "started - it can be exited as normal, and any additional command-line " @@ -1532,33 +1614,34 @@ msgstr "" "ela pode ser fechada normalmente, e qualquer argumento da linha de comando " "adicional especificado será enviado diretamente para o Python." -#: ../../using/windows.rst:686 +#: ../../using/windows.rst:718 msgid "" -"If you have multiple versions of Python installed (e.g., 2.7 and |version|) " +"If you have multiple versions of Python installed (e.g., 3.7 and |version|) " "you will have noticed that Python |version| was started - to launch Python " -"2.7, try the command:" +"3.7, try the command::" msgstr "" -"Se você tem múltiplas versões do Python instaladas (por exemplo, 2.7 e |" -"version|) você deve ter notado que o Python |version| foi iniciado - para " -"iniciar o Python 2.7, use o comando:" +"Se você tem múltiplas versões do Python instaladas (por exemplo, 3.7 e |" +"version|) você deve ter notado que o Python |version| foi iniciado -- para " +"iniciar o Python 3.7, use o comando::" -#: ../../using/windows.rst:694 +#: ../../using/windows.rst:724 msgid "" -"If you want the latest version of Python 2.x you have installed, try the " -"command:" +"If you want the latest version of Python 2 you have installed, try the " +"command::" msgstr "" -"Se você quer a versão mais recente do Python 2.x que você tem instalada, " -"tente o comando:" +"Se você quer a versão mais recente do Python 2 que você tem instalada, tente " +"o comando::" -#: ../../using/windows.rst:701 -msgid "You should find the latest version of Python 2.x starts." -msgstr "Você deve perceber que a versão mais recente do Python 2.x iniciou." +#: ../../using/windows.rst:729 +msgid "You should find the latest version of Python 3.x starts." +msgstr "" -#: ../../using/windows.rst:703 -msgid "If you see the following error, you do not have the launcher installed:" -msgstr "Se você ver o seguinte erro, você não tem o inicializador instalado:" +#: ../../using/windows.rst:731 +msgid "" +"If you see the following error, you do not have the launcher installed::" +msgstr "Se você ver o seguinte erro, você não tem o inicializador instalado::" -#: ../../using/windows.rst:710 +#: ../../using/windows.rst:736 msgid "" "Per-user installations of Python do not add the launcher to :envvar:`PATH` " "unless the option was selected on installation." @@ -1566,11 +1649,19 @@ msgstr "" "Instalações do Python por usuário não permitem adicionar o inicializador ao :" "envvar:`PATH` a não ser que a opção seja selecionada na instalação." -#: ../../using/windows.rst:714 +#: ../../using/windows.rst:739 +msgid "The command::" +msgstr "O comando::" + +#: ../../using/windows.rst:743 +msgid "displays the currently installed version(s) of Python." +msgstr "exibe a(s) versão(ões) atualmente instalada(s) do Python." + +#: ../../using/windows.rst:746 msgid "Virtual environments" msgstr "Ambientes virtuais" -#: ../../using/windows.rst:718 +#: ../../using/windows.rst:750 msgid "" "If the launcher is run with no explicit Python version specification, and a " "virtual environment (created with the standard library :mod:`venv` module or " @@ -1586,11 +1677,11 @@ msgstr "" "executar o interpretador global, ou desative o ambiente virtual, ou " "explicitamente especifique a versão global do Python." -#: ../../using/windows.rst:726 +#: ../../using/windows.rst:758 msgid "From a script" msgstr "Por um script" -#: ../../using/windows.rst:728 +#: ../../using/windows.rst:760 msgid "" "Let's create a test Python script - create a file called ``hello.py`` with " "the following contents" @@ -1598,11 +1689,11 @@ msgstr "" "Vamos criar um script teste de Python - crie um arquivo chamado ``hello.py`` " "com os seguintes conteúdos:" -#: ../../using/windows.rst:737 -msgid "From the directory in which hello.py lives, execute the command:" -msgstr "A partir do diretório onde hello.py está, execute o comando:" +#: ../../using/windows.rst:769 +msgid "From the directory in which hello.py lives, execute the command::" +msgstr "A partir do diretório onde hello.py está, execute o comando::" -#: ../../using/windows.rst:743 +#: ../../using/windows.rst:773 msgid "" "You should notice the version number of your latest Python 2.x installation " "is printed. Now try changing the first line to be:" @@ -1610,21 +1701,21 @@ msgstr "" "Você deve notar que o número da versão da sua instalação mais recente do " "Python 2.x é exibido. Agora tente mudar a primeira linha para ser:" -#: ../../using/windows.rst:750 +#: ../../using/windows.rst:780 msgid "" "Re-executing the command should now print the latest Python 3.x information. " "As with the above command-line examples, you can specify a more explicit " -"version qualifier. Assuming you have Python 2.6 installed, try changing the " -"first line to ``#! python2.6`` and you should find the 2.6 version " +"version qualifier. Assuming you have Python 3.7 installed, try changing the " +"first line to ``#! python3.7`` and you should find the 3.7 version " "information printed." 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 2.6 instalado, tente mudar a primeira linha para ``#! python2.6`` e " -"você deve ver as informações da versão 2.6 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:756 +#: ../../using/windows.rst:786 msgid "" "Note that unlike interactive use, a bare \"python\" will use the latest " "version of Python 2.x that you have installed. This is for backward " @@ -1636,11 +1727,11 @@ msgstr "" "retrocompatibilidade e para compatibilidade com Unix, onde o comando " "``python`` tipicamente se refere ao Python 2." -#: ../../using/windows.rst:762 +#: ../../using/windows.rst:792 msgid "From file associations" msgstr "Por associação de arquivos" -#: ../../using/windows.rst:764 +#: ../../using/windows.rst:794 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 " @@ -1655,7 +1746,7 @@ msgstr "" "pode usar as mesmas facilidades descritas acima para que o script " "especifique qual versão deve ser usada." -#: ../../using/windows.rst:770 +#: ../../using/windows.rst:800 msgid "" "The key benefit of this is that a single launcher can support multiple " "Python versions at the same time depending on the contents of the first line." @@ -1663,11 +1754,11 @@ msgstr "" "O benefício chave disso é que um único inicializador pode suportar múltiplas " "versões do Python ao mesmo tempo dependendo dos conteúdos da primeira linha." -#: ../../using/windows.rst:774 +#: ../../using/windows.rst:804 msgid "Shebang Lines" msgstr "Linhas Shebang" -#: ../../using/windows.rst:776 +#: ../../using/windows.rst:806 msgid "" "If the first line of a script file starts with ``#!``, it is known as a " "\"shebang\" line. Linux and other Unix like operating systems have native " @@ -1683,7 +1774,7 @@ msgstr "" "inicializador permite que as mesmas facilidades sejam usadas com scripts " "Python no Windows e os exemplos acima demonstram seu uso." -#: ../../using/windows.rst:783 +#: ../../using/windows.rst:813 msgid "" "To allow shebang lines in Python scripts to be portable between Unix and " "Windows, this launcher supports a number of 'virtual' commands to specify " @@ -1694,27 +1785,27 @@ msgstr "" "para especificar qual interpretador deve ser usado. Os comandos virtuais " "suportados são:" -#: ../../using/windows.rst:787 +#: ../../using/windows.rst:817 msgid "``/usr/bin/env python``" msgstr "``/usr/bin/env python``" -#: ../../using/windows.rst:788 +#: ../../using/windows.rst:818 msgid "``/usr/bin/python``" msgstr "``/usr/bin/python``" -#: ../../using/windows.rst:789 +#: ../../using/windows.rst:819 msgid "``/usr/local/bin/python``" msgstr "``/usr/local/bin/python``" -#: ../../using/windows.rst:790 +#: ../../using/windows.rst:820 msgid "``python``" msgstr "``python``" -#: ../../using/windows.rst:792 +#: ../../using/windows.rst:822 msgid "For example, if the first line of your script starts with" msgstr "Por exemplo, se a primeira linha do seu script começa com" -#: ../../using/windows.rst:798 +#: ../../using/windows.rst:828 msgid "" "The default Python will be located and used. As many Python scripts written " "to work on Unix will already have this line, you should find these scripts " @@ -1728,21 +1819,21 @@ msgstr "" "está escrevendo um novo script no Windows que você espera que seja útil no " "Unix, você deve usar uma dessas linhas shebang começando com ``/usr``." -#: ../../using/windows.rst:804 +#: ../../using/windows.rst:834 msgid "" "Any of the above virtual commands can be suffixed with an explicit version " "(either just the major version, or the major and minor version). Furthermore " "the 32-bit version can be requested by adding \"-32\" after the minor " -"version. I.e. ``/usr/bin/python2.7-32`` will request usage of the 32-bit " -"python 2.7." +"version. I.e. ``/usr/bin/python3.7-32`` will request usage of the 32-bit " +"python 3.7." msgstr "" "Qualquer um dos comandos virtuais acima pode ser sufixado com uma versão " "explícita (ou apenas a maior versão, ou a maior e a menor versão). Além " -"disso, a versão de 32-bit pode ser solicitada adicionando \"-32\" após a " -"menor versão. Isto é, ``/usr/bin/python2.7-32`` irá solicitar o uso do " +"disso, a versão de 32 bits pode ser solicitada adicionando \"-32\" após a " +"menor versão. Isto é, ``/usr/bin/python3.7-32`` irá solicitar o uso do " "python 2.7 32-bit." -#: ../../using/windows.rst:812 +#: ../../using/windows.rst:842 msgid "" "Beginning with python launcher 3.7 it is possible to request 64-bit version " "by the \"-64\" suffix. Furthermore it is possible to specify a major and " @@ -1752,7 +1843,7 @@ msgstr "" "adicionando o sufixo \"-64\". Além disso é possível especificar uma versão " "maior e arquitetura sem a menor (isto é, ``/usr/bin/python3-64``)." -#: ../../using/windows.rst:816 +#: ../../using/windows.rst:846 msgid "" "The ``/usr/bin/env`` form of shebang line has one further special property. " "Before looking for installed Python interpreters, this form will search the " @@ -1766,11 +1857,11 @@ msgstr "" "Python. Isso corresponde ao comportamento do programa ``env`` do Unix, que " "realiza a pesquisa no :envvar:`PATH`." -#: ../../using/windows.rst:822 +#: ../../using/windows.rst:852 msgid "Arguments in shebang lines" msgstr "Argumentos em linhas shebang" -#: ../../using/windows.rst:824 +#: ../../using/windows.rst:854 msgid "" "The shebang lines can also specify additional options to be passed to the " "Python interpreter. For example, if you have a shebang line:" @@ -1778,19 +1869,19 @@ msgstr "" "As linhas shebang também podem especificar opções adicionais a serem " "passadas ao interpretador Python. Por exemplo, se você tem uma linha shebang:" -#: ../../using/windows.rst:831 +#: ../../using/windows.rst:861 msgid "Then Python will be started with the ``-v`` option" msgstr "O Python será iniciado com a opção ``-v``" -#: ../../using/windows.rst:834 +#: ../../using/windows.rst:864 msgid "Customization" msgstr "Personalização" -#: ../../using/windows.rst:837 +#: ../../using/windows.rst:867 msgid "Customization via INI files" msgstr "Personalização via arquivos INI" -#: ../../using/windows.rst:839 +#: ../../using/windows.rst:869 msgid "" "Two .ini files will be searched by the launcher - ``py.ini`` in the current " "user's \"application data\" directory (i.e. the directory returned by " @@ -1807,7 +1898,7 @@ msgstr "" "'console' do inicializador (isto é, py.exe) e a versão 'windows' (isto é, " "pyw.exe)." -#: ../../using/windows.rst:846 +#: ../../using/windows.rst:876 msgid "" "Customization specified in the \"application directory\" will have " "precedence over the one next to the executable, so a user, who may not have " @@ -1819,11 +1910,11 @@ msgstr "" "não ter acesso de escrita ao arquivo .ini junto do inicializador, pode " "sobrescrever comandos naquele arquivo .ini global." -#: ../../using/windows.rst:851 +#: ../../using/windows.rst:881 msgid "Customizing default Python versions" msgstr "Personalizando versões padrão do Python" -#: ../../using/windows.rst:853 +#: ../../using/windows.rst:883 msgid "" "In some cases, a version qualifier can be included in a command to dictate " "which version of Python will be used by the command. A version qualifier " @@ -1839,7 +1930,7 @@ msgstr "" "menor. Além disso, é possível especificar se uma implementação de 32 ou 64 " "bit deve ser solicitada adicionando \"-32\" ou \"-64\"." -#: ../../using/windows.rst:859 +#: ../../using/windows.rst:889 msgid "" "For example, a shebang line of ``#!python`` has no version qualifier, while " "``#!python3`` has a version qualifier which specifies only a major version." @@ -1848,7 +1939,7 @@ msgstr "" "enquanto ``#!python3`` tem um qualificador de versão que especifica apenas " "uma versão maior." -#: ../../using/windows.rst:862 +#: ../../using/windows.rst:892 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 " @@ -1865,7 +1956,7 @@ msgstr "" "\"-64\" está disponível apenas com o inicializador incluso no Python 3.7 ou " "mais recente.)" -#: ../../using/windows.rst:869 +#: ../../using/windows.rst:899 msgid "" "If no minor version qualifiers are found, the environment variable " "``PY_PYTHON{major}`` (where ``{major}`` is the current major version " @@ -1883,7 +1974,7 @@ msgstr "" "versão maior, o que é provavelmente, ainda que não garantido, a versão " "instalada mais recentemente naquela família." -#: ../../using/windows.rst:877 +#: ../../using/windows.rst:907 msgid "" "On 64-bit Windows with both 32-bit and 64-bit implementations of the same " "(major.minor) Python version installed, the 64-bit version will always be " @@ -1908,11 +1999,11 @@ msgstr "" "acima, um sufixo opcional \"-32\" ou \"-64\" pode ser usado como " "especificador de versão para mudar esse comportamento." -#: ../../using/windows.rst:888 +#: ../../using/windows.rst:918 msgid "Examples:" msgstr "Exemplos:" -#: ../../using/windows.rst:890 +#: ../../using/windows.rst:920 msgid "" "If no relevant options are set, the commands ``python`` and ``python2`` will " "use the latest Python 2.x version installed and the command ``python3`` will " @@ -1922,15 +2013,15 @@ msgstr "" "``python2`` irão usar a última versão instalada do Python 2.x e o comando " "``python3`` irá usar o último Python 3.x instalado." -#: ../../using/windows.rst:894 +#: ../../using/windows.rst:924 msgid "" -"The commands ``python3.1`` and ``python2.7`` will not consult any options at " -"all as the versions are fully specified." +"The command ``python3.7`` will not consult any options at all as the " +"versions are fully specified." msgstr "" -"Os comandos ``python3.1`` e ``python2.7`` não irão consultar nenhuma opção " -"já que as versões estão completamente especificadas." +"O comando ``python3.7`` não vai consultar nenhuma opção já que as versões " +"estão completamente especificadas." -#: ../../using/windows.rst:897 +#: ../../using/windows.rst:927 msgid "" "If ``PY_PYTHON=3``, the commands ``python`` and ``python3`` will both use " "the latest installed Python 3 version." @@ -1938,26 +2029,27 @@ msgstr "" "Se ``PY_PYTHON=3``, os comandos ``python`` e ``python3`` irão ambos usar a " "última versão do Python 3 instalada." -#: ../../using/windows.rst:900 +#: ../../using/windows.rst:930 msgid "" -"If ``PY_PYTHON=3.1-32``, the command ``python`` will use the 32-bit " -"implementation of 3.1 whereas the command ``python3`` will use the latest " +"If ``PY_PYTHON=3.7-32``, the command ``python`` will use the 32-bit " +"implementation of 3.7 whereas the command ``python3`` will use the latest " "installed Python (PY_PYTHON was not considered at all as a major version was " "specified.)" msgstr "" -"Se ``PY_PYTHON=3.1-32``, o comando ``python`` irá usar a implementação 32-" -"bit do 3.1 enquanto o comando ``python3`` irá usar o último Python instalado " -"(PY_PYTHON não foi considerado porque uma versão maior foi especificada)." +"Se ``PY_PYTHON=3.7-32``, o comando ``python`` irá usar a implementação 32 " +"bits do 3.7 enquanto o comando ``python3`` irá usar o último Python " +"instalado (PY_PYTHON não foi considerado porque uma versão maior foi " +"especificada)." -#: ../../using/windows.rst:905 +#: ../../using/windows.rst:935 msgid "" -"If ``PY_PYTHON=3`` and ``PY_PYTHON3=3.1``, the commands ``python`` and " -"``python3`` will both use specifically 3.1" +"If ``PY_PYTHON=3`` and ``PY_PYTHON3=3.7``, the commands ``python`` and " +"``python3`` will both use specifically 3.7" msgstr "" -"Se ``PY_PYTHON=3`` e ``PY_PYTHON3=3.1``, os comandos ``python`` e " -"``python3`` irão ambos usar especificamente 3.1." +"Se ``PY_PYTHON=3`` e ``PY_PYTHON3=3.7``, os comandos ``python`` e " +"``python3`` irão ambos usar especificamente 3.7" -#: ../../using/windows.rst:908 +#: ../../using/windows.rst:938 msgid "" "In addition to environment variables, the same settings can be configured in " "the .INI file used by the launcher. The section in the INI file is called " @@ -1973,27 +2065,27 @@ msgstr "" "diferem maiúsculas e minúsculas). Os conteúdos de uma variável de ambiente " "irão sobrescrever coisas especificadas em um arquivo INI." -#: ../../using/windows.rst:915 +#: ../../using/windows.rst:945 msgid "For example:" msgstr "Por exemplo:" -#: ../../using/windows.rst:917 -msgid "Setting ``PY_PYTHON=3.1`` is equivalent to the INI file containing:" -msgstr "Configurar ``PY_PYTHON=3.1`` é o equivalente ao arquivo INI contendo:" +#: ../../using/windows.rst:947 +msgid "Setting ``PY_PYTHON=3.7`` is equivalent to the INI file containing:" +msgstr "Configurar ``PY_PYTHON=3.7`` é o equivalente ao arquivo INI contendo:" -#: ../../using/windows.rst:924 +#: ../../using/windows.rst:954 msgid "" -"Setting ``PY_PYTHON=3`` and ``PY_PYTHON3=3.1`` is equivalent to the INI file " +"Setting ``PY_PYTHON=3`` and ``PY_PYTHON3=3.7`` is equivalent to the INI file " "containing:" msgstr "" -"Configurar ``PY_PYTHON=3`` e ``PY_PYTHON3=3.1`` é o equivalente ao arquivo " +"Configurar ``PY_PYTHON=3`` e ``PY_PYTHON3=3.7`` é o equivalente ao arquivo " "INI contendo:" -#: ../../using/windows.rst:934 +#: ../../using/windows.rst:964 msgid "Diagnostics" msgstr "Diagnósticos" -#: ../../using/windows.rst:936 +#: ../../using/windows.rst:966 msgid "" "If an environment variable ``PYLAUNCH_DEBUG`` is set (to any value), the " "launcher will print diagnostic information to stderr (i.e. to the console). " @@ -2009,17 +2101,17 @@ msgstr "" "foram localizadas, porquê uma versão particular foi escolhida e qual linha " "de comando exatamente foi usada para executar o Python alvo." -#: ../../using/windows.rst:948 +#: ../../using/windows.rst:978 msgid "Finding modules" msgstr "Encontrando módulos" -#: ../../using/windows.rst:950 +#: ../../using/windows.rst:980 msgid "" "Python usually stores its library (and thereby your site-packages folder) in " "the installation directory. So, if you had installed Python to :file:`C:\\" -"\\Python\\\\`, the default library would reside in :file:`C:\\\\Python\\\\Lib" -"\\\\` and third-party modules should be stored in :file:`C:\\\\Python\\\\Lib" -"\\\\site-packages\\\\`." +"\\Python\\\\`, the default library would reside in :file:`C:\\\\Python\\" +"\\Lib\\\\` and third-party modules should be stored in :file:`C:\\\\Python\\" +"\\Lib\\\\site-packages\\\\`." msgstr "" "O Python geralmente armazena sua biblioteca (e assim sua pasta de site-" "packages) no diretório de instalação. Então, se você instalou o Python em :" @@ -2027,7 +2119,7 @@ msgstr "" "\\Python\\\\Lib\\\\` e módulos de terceiros serão armazenados em :file:`C:\\" "\\Python\\\\Lib\\\\site-packages\\\\`." -#: ../../using/windows.rst:956 +#: ../../using/windows.rst:986 msgid "" "To completely override :data:`sys.path`, create a ``._pth`` file with the " "same name as the DLL (``python37._pth``) or the executable (``python._pth``) " @@ -2042,7 +2134,7 @@ msgstr "" "executável, o que permite que caminhos sejam restritos para qualquer " "programa carregando o tempo de execução, se desejado." -#: ../../using/windows.rst:962 +#: ../../using/windows.rst:992 msgid "" "When the file exists, all registry and environment variables are ignored, " "isolated mode is enabled, and :mod:`site` is not imported unless one line in " @@ -2055,10 +2147,10 @@ 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." -#: ../../using/windows.rst:969 +#: ../../using/windows.rst:999 msgid "" "Note that ``.pth`` files (without leading underscore) will be processed " "normally by the :mod:`site` module when ``import site`` has been specified." @@ -2067,7 +2159,7 @@ msgstr "" "normalmente pelo módulo :mod:`site` quando ``import site`` tiver sido " "especificado." -#: ../../using/windows.rst:972 +#: ../../using/windows.rst:1002 msgid "" "When no ``._pth`` file is found, this is how :data:`sys.path` is populated " "on Windows:" @@ -2075,7 +2167,7 @@ msgstr "" "Quando nenhum arquivo ``._pth`` é encontrado, assim é como :data:`sys.path` " "é populado no Windows:" -#: ../../using/windows.rst:975 +#: ../../using/windows.rst:1005 msgid "" "An empty entry is added at the start, which corresponds to the current " "directory." @@ -2083,7 +2175,7 @@ msgstr "" "Uma entrada em branco é adicionada ao início, que corresponde ao diretório " "atual." -#: ../../using/windows.rst:978 +#: ../../using/windows.rst:1008 msgid "" "If the environment variable :envvar:`PYTHONPATH` exists, as described in :" "ref:`using-on-envvars`, its entries are added next. Note that on Windows, " @@ -2096,7 +2188,7 @@ msgstr "" "para distinguir eles dos dois pontos usados nos identificadores de drivers " "(``C:\\`` etc.)." -#: ../../using/windows.rst:983 +#: ../../using/windows.rst:1013 msgid "" "Additional \"application paths\" can be added in the registry as subkeys of :" "samp:`\\\\SOFTWARE\\\\Python\\\\PythonCore\\\\{version}\\\\PythonPath` under " @@ -2113,7 +2205,7 @@ msgstr "" "`sys.path`. (Note que todos os instaladores conhecidos usam apenas HKLM, " "portanto HKCU está tipicamente vazio.)" -#: ../../using/windows.rst:990 +#: ../../using/windows.rst:1020 msgid "" "If the environment variable :envvar:`PYTHONHOME` is set, it is assumed as " "\"Python Home\". Otherwise, the path of the main Python executable is used " @@ -2123,15 +2215,16 @@ 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:998 +#: ../../using/windows.rst:1028 msgid "" "If the Python Home cannot be located, no :envvar:`PYTHONPATH` is specified " "in the environment, and no registry entries can be found, a default path " @@ -2142,7 +2235,7 @@ msgstr "" "um caminho padrão com entradas relativas é usado (por exemplo, ``.\\Lib;." "\\plat-win``, etc)." -#: ../../using/windows.rst:1002 +#: ../../using/windows.rst:1032 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:" @@ -2151,7 +2244,7 @@ msgstr "" "executável ou no diretório um nível acima do executável, as seguintes " "variações se aplicam:" -#: ../../using/windows.rst:1005 +#: ../../using/windows.rst:1035 msgid "" "If ``home`` is an absolute path and :envvar:`PYTHONHOME` is not set, this " "path is used instead of the path to the main executable when deducing the " @@ -2161,11 +2254,11 @@ msgstr "" "o caminho é usado ao invés do caminho ao principal executável quando " "deduzindo a localização do Home." -#: ../../using/windows.rst:1009 +#: ../../using/windows.rst:1039 msgid "The end result of all this is:" msgstr "O resultado final de tudo isso é:" -#: ../../using/windows.rst:1011 +#: ../../using/windows.rst:1041 msgid "" "When running :file:`python.exe`, or any other .exe in the main Python " "directory (either an installed version, or directly from the PCbuild " @@ -2177,7 +2270,7 @@ msgstr "" "PCbuild), o caminho núcleo é deduzido, e os caminhos núcleo no registro são " "ignorados. Outros \"caminhos da aplicação\" no registro são sempre lidos." -#: ../../using/windows.rst:1016 +#: ../../using/windows.rst:1046 msgid "" "When Python is hosted in another .exe (different directory, embedded via " "COM, etc), the \"Python Home\" will not be deduced, so the core path from " @@ -2189,7 +2282,7 @@ msgstr "" "registro é usado. Outros \"caminhos da aplicação\" no registro sempre são " "lidos." -#: ../../using/windows.rst:1020 +#: ../../using/windows.rst:1050 msgid "" "If Python can't find its home and there are no registry value (frozen .exe, " "some very strange installation setup) you get a path with some default, but " @@ -2199,7 +2292,7 @@ msgstr "" "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:1024 +#: ../../using/windows.rst:1054 msgid "" "For those who want to bundle Python into their application or distribution, " "the following advice will prevent conflicts with other installations:" @@ -2208,7 +2301,7 @@ msgstr "" "distribuições, o seguinte conselho irá prevenir conflitos com outras " "instalações:" -#: ../../using/windows.rst:1027 +#: ../../using/windows.rst:1057 msgid "" "Include a ``._pth`` file alongside your executable containing the " "directories to include. This will ignore paths listed in the registry and " @@ -2220,7 +2313,7 @@ msgstr "" "variáveis de ambiente, e também ignorar :mod:`sites` a não ser que ``import " "site`` seja listado." -#: ../../using/windows.rst:1032 +#: ../../using/windows.rst:1062 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:" @@ -2230,7 +2323,7 @@ msgstr "" "próprio executável, explicitamente chame :c:func:`Py_SetPath` ou (pelo " "menos) :c:func:`Py_SetProgramName` antes de :c:func:`Py_Initialize`." -#: ../../using/windows.rst:1036 +#: ../../using/windows.rst:1066 msgid "" "Clear and/or overwrite :envvar:`PYTHONPATH` and set :envvar:`PYTHONHOME` " "before launching :file:`python.exe` from your application." @@ -2238,7 +2331,7 @@ msgstr "" "Limpe e/ou sobrescreva :envvar:`PYTHONPATH` e defina :envvar:`PYTHONHOME` " "antes de iniciar o :file:`python.exe` a partir da sua aplicação." -#: ../../using/windows.rst:1039 +#: ../../using/windows.rst:1069 msgid "" "If you cannot use the previous suggestions (for example, you are a " "distribution that allows people to run :file:`python.exe` directly), ensure " @@ -2253,7 +2346,7 @@ msgstr "" "detectado dentro de um arquivo ZIP, mas um arquivo ZIP corretamente nomeado " "será detectado ao invés disso.)" -#: ../../using/windows.rst:1045 +#: ../../using/windows.rst:1075 msgid "" "These will ensure that the files in a system-wide installation will not take " "precedence over the copy of the standard library bundled with your " @@ -2269,7 +2362,7 @@ msgstr "" "ainda estar suscetíveis a caminhos não-padrão no registro e no site-packages " "do usuário." -#: ../../using/windows.rst:1054 +#: ../../using/windows.rst:1084 msgid "" "Adds ``._pth`` file support and removes ``applocal`` option from ``pyvenv." "cfg``." @@ -2277,7 +2370,7 @@ msgstr "" "Adiciona suporte a arquivos ``._pth`` e remove a opção ``applocal`` do " "``pyvenv.cfg``." -#: ../../using/windows.rst:1056 +#: ../../using/windows.rst:1086 msgid "" "Adds ``pythonXX.zip`` as a potential landmark when directly adjacent to the " "executable." @@ -2285,7 +2378,7 @@ msgstr "" "Adiciona ``pythonXX.zip`` como uma possível referência quando diretamente " "adjacente ao executável." -#: ../../using/windows.rst:1062 +#: ../../using/windows.rst:1092 msgid "" "Modules specified in the registry under ``Modules`` (not ``PythonPath``) may " "be imported by :class:`importlib.machinery.WindowsRegistryFinder`. This " @@ -2297,11 +2390,11 @@ msgstr "" "localizador está ativo no Windows no 3.6.0 e anteriores, mas pode precisar " "ser explicitamente adicionado ao :attr:`sys.meta_path` no futuro." -#: ../../using/windows.rst:1068 +#: ../../using/windows.rst:1098 msgid "Additional modules" msgstr "Módulos adicionais" -#: ../../using/windows.rst:1070 +#: ../../using/windows.rst:1100 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 " @@ -2312,7 +2405,7 @@ msgstr "" "em ambas as bibliotecas padrão e externa, e trechos de código existem para " "usar esses recursos." -#: ../../using/windows.rst:1074 +#: ../../using/windows.rst:1104 msgid "" "The Windows-specific standard modules are documented in :ref:`mswin-specific-" "services`." @@ -2320,11 +2413,11 @@ msgstr "" "Os módulos padrão específicos para Windows estão documentados em :ref:`mswin-" "specific-services`." -#: ../../using/windows.rst:1078 +#: ../../using/windows.rst:1108 msgid "PyWin32" msgstr "PyWin32" -#: ../../using/windows.rst:1080 +#: ../../using/windows.rst:1110 msgid "" "The `PyWin32 `_ module by Mark Hammond is " "a collection of modules for advanced Windows-specific support. This " @@ -2334,35 +2427,35 @@ msgstr "" "coleção de módulos para suporte avançado específico para Windows. Isso " "inclui utilitários para:" -#: ../../using/windows.rst:1084 +#: ../../using/windows.rst:1114 msgid "" -"`Component Object Model `_ (COM)" +"`Component Object Model `_ (COM)" msgstr "" -"`Component Object Model `_ (COM)" +"`Component Object Model `_ (COM)" -#: ../../using/windows.rst:1087 +#: ../../using/windows.rst:1117 msgid "Win32 API calls" msgstr "Chamadas à API Win32" -#: ../../using/windows.rst:1088 +#: ../../using/windows.rst:1118 msgid "Registry" msgstr "Registro" -#: ../../using/windows.rst:1089 +#: ../../using/windows.rst:1119 msgid "Event log" msgstr "Log de Eventos" -#: ../../using/windows.rst:1090 +#: ../../using/windows.rst:1120 msgid "" -"`Microsoft Foundation Classes `_ (MFC) user interfaces" +"`Microsoft Foundation Classes `_ (MFC) user interfaces" msgstr "" -"`Microsoft Foundation Classes `_ (MFC) interface de usuário" +"`Microsoft Foundation Classes `_ (MFC) user interfaces" -#: ../../using/windows.rst:1093 +#: ../../using/windows.rst:1124 msgid "" "`PythonWin `_ is a sample MFC application shipped with PyWin32. " @@ -2372,29 +2465,29 @@ msgstr "" "org/windows/pythonwin/>`_ é uma aplicação MFC de exemplo enviada com o " "PyWin32. É uma IDE embutível com um depurador embutido." -#: ../../using/windows.rst:1100 +#: ../../using/windows.rst:1131 msgid "" "`Win32 How Do I...? `_" msgstr "" "`Win32 How Do I...? `_" -#: ../../using/windows.rst:1100 +#: ../../using/windows.rst:1131 msgid "by Tim Golden" msgstr "por Tim Golden" -#: ../../using/windows.rst:1102 -msgid "`Python and COM `_" -msgstr "`Python and COM `_" +#: ../../using/windows.rst:1133 +msgid "`Python and COM `_" +msgstr "`Python e COM `_" -#: ../../using/windows.rst:1103 +#: ../../using/windows.rst:1134 msgid "by David and Paul Boddie" msgstr "by David and Paul Boddie" -#: ../../using/windows.rst:1107 +#: ../../using/windows.rst:1138 msgid "cx_Freeze" msgstr "cx_Freeze" -#: ../../using/windows.rst:1109 +#: ../../using/windows.rst:1140 msgid "" "`cx_Freeze `_ is a :mod:" "`distutils` extension (see :ref:`extending-distutils`) which wraps Python " @@ -2408,57 +2501,34 @@ msgstr "" "Quando você tiver feito isso, você pode distribuir sua aplicação sem " "solicitar que os seus usuários instalem o Python." -#: ../../using/windows.rst:1117 -msgid "WConio" -msgstr "WConio" - -#: ../../using/windows.rst:1119 -msgid "" -"Since Python's advanced terminal handling layer, :mod:`curses`, is " -"restricted to Unix-like systems, there is a library exclusive to Windows as " -"well: Windows Console I/O for Python." -msgstr "" -"Dado que a camada de manipulação de terminal avançada do Python, :mod:" -"`curses`, é restrita a sistemas tipo Unix, existe uma biblioteca exclusiva " -"para o Windows: Windows Console I/O para Python." - -#: ../../using/windows.rst:1123 -msgid "" -"`WConio `_ is a wrapper " -"for Turbo-C's :file:`CONIO.H`, used to create text user interfaces." -msgstr "" -"`WConio `_ é um " -"encapsulador para o :file:`CONIO.H` do Turbo-C usado para criar texto sob " -"interfaces de usuário." - -#: ../../using/windows.rst:1129 +#: ../../using/windows.rst:1148 msgid "Compiling Python on Windows" msgstr "Compilando Python no Windows" -#: ../../using/windows.rst:1131 +#: ../../using/windows.rst:1150 msgid "" "If you want to compile CPython yourself, first thing you should do is get " "the `source `_. You can download " "either the latest release's source or just grab a fresh `checkout `_." +"devguide.python.org/setup/#get-the-source-code>`_." 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 `_." +"`checkout `_." -#: ../../using/windows.rst:1136 +#: ../../using/windows.rst:1155 msgid "" "The source tree contains a build solution and project files for Microsoft " -"Visual Studio 2015, which is the compiler used to build the official Python " +"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 2015, que é o compilador usado para construir " -"as versões do Python oficiais. Esses arquivos estão no diretório :file:" +"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:1140 +#: ../../using/windows.rst:1159 msgid "" "Check :file:`PCbuild/readme.txt` for general information on the build " "process." @@ -2466,33 +2536,15 @@ msgstr "" "Confira o :file:`PCbuild/readme.txt` para informações gerais sobre o " "processo de construção." -#: ../../using/windows.rst:1143 +#: ../../using/windows.rst:1161 msgid "For extension modules, consult :ref:`building-on-windows`." msgstr "Para módulos de extensão, consulte :ref:`building-on-windows`." -#: ../../using/windows.rst:1149 -msgid "" -"`Python + Windows + distutils + SWIG + gcc MinGW `_" -msgstr "" -"`Python + Windows + distutils + SWIG + gcc MinGW `_" - -#: ../../using/windows.rst:1148 -msgid "" -"or \"Creating Python extensions in C/C++ with SWIG and compiling them with " -"MinGW gcc under Windows\" or \"Installing Python extension with distutils " -"and without Microsoft Visual C++\" by Sébastien Sauvage, 2003" -msgstr "" -"ou \"Creating Python extensions in C/C++ with SWIG and compiling them with " -"MinGW gcc under Windows\" ou \"Installing Python extension with distutils " -"and without Microsoft Visual C++\" por Sébastien Sauvage, 2003" - -#: ../../using/windows.rst:1154 +#: ../../using/windows.rst:1165 msgid "Other Platforms" msgstr "Outras plataformas" -#: ../../using/windows.rst:1156 +#: ../../using/windows.rst:1167 msgid "" "With ongoing development of Python, some platforms that used to be supported " "earlier are no longer supported (due to the lack of users or developers). " @@ -2503,23 +2555,26 @@ msgstr "" "falta de usuário ou desenvolvedores). Confira a :pep:`11` para detalhes de " "todas as plataformas não suportadas." -#: ../../using/windows.rst:1160 -msgid "`Windows CE `_ is still supported." -msgstr "`Windows CE `_ ainda é suportado." +#: ../../using/windows.rst:1171 +msgid "" +"`Windows CE `_ is `no longer supported " +"`__ 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:1161 +#: ../../using/windows.rst:1174 msgid "" -"The `Cygwin `_ installer offers to install the Python " -"interpreter as well (cf. `Cygwin package source `_, `Maintainer " -"releases `_)" +"The `Cygwin `_ installer offers to install the `Python " +"interpreter `__ as well" msgstr "" -"O instalador `Cygwin `_ também oferece instalação do " -"interpretador do Python (cf. `Cygwin package source `_, `Maintainer " -"releases `_)" +"O instalador do `Cygwin `_ oferece instalar o " +"`interpretador do Python `__ também" -#: ../../using/windows.rst:1167 +#: ../../using/windows.rst:1178 msgid "" "See `Python for Windows `_ for " "detailed information about platforms with pre-compiled installers." diff --git a/whatsnew/2.0.po b/whatsnew/2.0.po index ced0b11ad..721f9b2c0 100644 --- a/whatsnew/2.0.po +++ b/whatsnew/2.0.po @@ -1,35 +1,31 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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 -# Ruan Aragão , 2021 -# Victor Matheus Castro , 2021 -# Adorilson Bezerra , 2021 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.10\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-07-27 13:07+0000\n" -"PO-Revision-Date: 2021-06-28 01:51+0000\n" -"Last-Translator: Adorilson Bezerra , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:59+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"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" @@ -37,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" @@ -50,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 "" @@ -61,25 +57,23 @@ msgid "" "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 " +"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." msgstr "" -"O desenvolvimento do Python nunca para completamente entre os lançamentos, e " -"um fluxo constante de correções de bugs e melhorias estão sempre sendo " -"enviadas. Uma série de pequenas correções, algumas otimizações, docstrings " -"adicionais e melhores mensagens de erro foram para 2.0; listá-los todos " -"seria impossível, mas eles certamente são significativos. Consulte os " -"registros do CVS disponíveis publicamente se quiser ver a lista completa. " -"Esse progresso se deve ao fato de os cinco desenvolvedores que trabalham " -"para o PythonLabs estarem sendo pagos para passar seus dias consertando " -"bugs, e também à comunicação aprimorada resultante da mudança para o " -"SourceForge." +"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 "" @@ -92,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 "" @@ -113,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 "" @@ -136,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 "" @@ -164,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 "" @@ -197,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 "" @@ -224,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 "" @@ -250,6 +238,16 @@ msgid "" "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 "" @@ -258,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 "" @@ -270,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 "" @@ -289,8 +286,8 @@ msgstr "" "estilo e formato. As PEPs são mantidas na árvore CVS do Python no " "SourceForge, embora não façam parte da distribuição Python 2.0 e também " "estão disponíveis no formato HTML em https://www.python.org/dev/peps/. Em " -"setembro de 2000, havia 25 PEPS, variando de :pep:`201`, \"Lockstep Iteration" -"\", a PEP 225, \"Elementwise/Objectwise Operators\"." +"setembro de 2000, havia 25 PEPS, variando de :pep:`201`, \"Lockstep " +"Iteration\", a PEP 225, \"Elementwise/Objectwise Operators\"." #: ../../whatsnew/2.0.rst:141 msgid "Unicode" @@ -303,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 "" @@ -317,28 +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, " +"``\\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``." #: ../../whatsnew/2.0.rst:161 msgid "" @@ -353,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 "" @@ -407,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 "" @@ -424,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 "" @@ -438,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 "" @@ -452,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 "" @@ -466,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 "" @@ -478,10 +472,10 @@ 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 "" @@ -504,10 +498,12 @@ 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 "" @@ -515,6 +511,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 "" @@ -524,6 +523,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" @@ -538,6 +542,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 "" @@ -550,6 +560,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 "" @@ -557,10 +575,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 "" @@ -572,12 +593,21 @@ msgid "" "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 "" @@ -586,6 +616,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 "" @@ -593,6 +627,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 "" @@ -602,10 +639,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 "" @@ -615,6 +657,11 @@ 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 "" @@ -641,10 +688,14 @@ 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 "" @@ -663,6 +714,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 "" @@ -671,12 +725,18 @@ 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 "" @@ -697,7 +757,7 @@ msgstr "" #: ../../whatsnew/2.0.rst:433 msgid "Garbage Collection of Cycles" -msgstr "" +msgstr "Garbage Collection of Cycles" #: ../../whatsnew/2.0.rst:435 msgid "" @@ -708,6 +768,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 "" @@ -718,12 +784,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 "" @@ -731,6 +805,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 "" @@ -741,6 +818,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 "" @@ -750,6 +833,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 "" @@ -764,9 +852,29 @@ msgid "" "buggy, by specifying the :option:`!--without-cycle-gc` switch when running " "the :program:`configure` script." msgstr "" - -#: ../../whatsnew/2.0.rst:482 -msgid "" +"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 "" +"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\"." +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 " @@ -776,11 +884,10 @@ msgid "" "mailing list contain most of the relevant discussion, especially in the " "threads titled \"Reference cycle collection for Python\" and \"Finalization " "again\"." -msgstr "" #: ../../whatsnew/2.0.rst:495 msgid "Other Core Changes" -msgstr "" +msgstr "Other Core Changes" #: ../../whatsnew/2.0.rst:497 msgid "" @@ -788,10 +895,13 @@ 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 "" @@ -822,6 +932,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 "" @@ -831,6 +944,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 "" @@ -854,6 +972,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 "" @@ -873,9 +997,15 @@ msgid "" "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 http://pythonce.sourceforge." +"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 "" @@ -884,6 +1014,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 "" @@ -896,6 +1030,14 @@ msgid "" "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 "" @@ -903,10 +1045,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 "" @@ -917,6 +1062,12 @@ 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 "" @@ -935,6 +1086,11 @@ msgid "" "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 "" @@ -949,6 +1105,7 @@ msgstr "" 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 "" @@ -960,10 +1117,17 @@ msgid "" "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 "" @@ -974,6 +1138,12 @@ 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 "" @@ -1019,9 +1189,13 @@ msgstr "" msgid "" "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``." +"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 "" @@ -1031,6 +1205,11 @@ 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 "" @@ -1059,6 +1238,13 @@ 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 "" @@ -1082,7 +1268,7 @@ msgstr "" #: ../../whatsnew/2.0.rst:740 msgid "Extending/Embedding Changes" -msgstr "" +msgstr "Extending/Embedding Changes" #: ../../whatsnew/2.0.rst:742 msgid "" @@ -1091,6 +1277,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 "" @@ -1100,6 +1290,11 @@ 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 "" @@ -1109,6 +1304,11 @@ msgid "" "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 "" @@ -1120,6 +1320,13 @@ 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 "" @@ -1138,6 +1345,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 "" @@ -1148,6 +1359,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 "" @@ -1155,6 +1372,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 "" @@ -1162,8 +1382,13 @@ msgid "" "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}``." +"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 "" @@ -1184,7 +1409,7 @@ msgstr "" #: ../../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 "" @@ -1197,6 +1422,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 "" @@ -1220,18 +1453,25 @@ msgid "" "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 "" @@ -1244,16 +1484,26 @@ 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 "" @@ -1272,7 +1522,7 @@ msgstr "" #: ../../whatsnew/2.0.rst:896 msgid "SAX2 Support" -msgstr "" +msgstr "SAX2 Support" #: ../../whatsnew/2.0.rst:898 msgid "" @@ -1293,6 +1543,11 @@ 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 "" @@ -1300,6 +1555,9 @@ msgid "" "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 "" @@ -1309,7 +1567,7 @@ msgstr "" #: ../../whatsnew/2.0.rst:940 msgid "DOM Support" -msgstr "" +msgstr "DOM Support" #: ../../whatsnew/2.0.rst:942 msgid "" @@ -1332,6 +1590,12 @@ 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 "" @@ -1355,7 +1619,7 @@ msgstr "" #: ../../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 "" @@ -1363,6 +1627,9 @@ 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 "" @@ -1372,7 +1639,7 @@ msgstr "" #: ../../whatsnew/2.0.rst:1002 msgid "Relationship to PyXML" -msgstr "" +msgstr "Relationship to PyXML" #: ../../whatsnew/2.0.rst:1004 msgid "" @@ -1383,6 +1650,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 "" @@ -1395,14 +1668,22 @@ 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." @@ -1410,7 +1691,7 @@ msgstr "" #: ../../whatsnew/2.0.rst:1029 msgid "Module changes" -msgstr "" +msgstr "Module changes" #: ../../whatsnew/2.0.rst:1031 msgid "" @@ -1460,6 +1741,12 @@ 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 msgid "" @@ -1469,10 +1756,15 @@ msgid "" "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 msgid "New modules" -msgstr "" +msgstr "Novos módulos" #: ../../whatsnew/2.0.rst:1076 msgid "" @@ -1480,6 +1772,9 @@ msgid "" "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 msgid "" @@ -1489,6 +1784,11 @@ 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 msgid "" @@ -1511,6 +1811,11 @@ 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 msgid "" @@ -1528,6 +1833,12 @@ msgid "" "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 msgid "" @@ -1549,6 +1860,8 @@ 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 msgid "" @@ -1567,6 +1880,14 @@ msgid "" "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 msgid "" @@ -1583,6 +1904,10 @@ msgid "" "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 msgid "" @@ -1594,7 +1919,7 @@ msgstr "" #: ../../whatsnew/2.0.rst:1150 msgid "IDLE Improvements" -msgstr "" +msgstr "IDLE Improvements" #: ../../whatsnew/2.0.rst:1152 msgid "" @@ -1602,58 +1927,73 @@ msgid "" "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 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 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 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 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 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 msgid "Call tips were added in many places." -msgstr "" +msgstr "Call tips were added in many places." #: ../../whatsnew/2.0.rst:1173 msgid "IDLE can now be installed as a package." -msgstr "" +msgstr "IDLE can now be installed as a package." #: ../../whatsnew/2.0.rst:1175 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 msgid "" "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 msgid "Deleted and Deprecated Modules" -msgstr "Módulos apagados e desativados" +msgstr "Deleted and Deprecated Modules" #: ../../whatsnew/2.0.rst:1186 msgid "" @@ -1685,8 +2025,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 049f3d8ec..793405c36 100644 --- a/whatsnew/2.1.po +++ b/whatsnew/2.1.po @@ -1,37 +1,31 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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 -# Marco Rougeth , 2021 -# Claudio Rogerio Carvalho Filho , 2021 -# Ruan Aragão , 2021 -# Victor Matheus Castro , 2021 -# (Douglas da Silva) , 2021 -# Misael borges , 2021 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.10\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-07-27 13:07+0000\n" -"PO-Revision-Date: 2021-06-28 01:51+0000\n" -"Last-Translator: Misael borges , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:59+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"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" @@ -227,14 +221,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" @@ -281,13 +274,12 @@ msgid "" "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." +"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__`" @@ -346,7 +338,7 @@ 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 "``<``" @@ -434,19 +426,19 @@ msgstr "" msgid "" "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 previous " -"versions of Python; otherwise it will call the appropriate method and can " -"return any Python object." +"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 " +"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 previous " -"versions of Python; otherwise it will call the appropriate method and can " -"return any Python object." +"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 " +"previous versions of Python; otherwise it will call the appropriate method " +"and can return any Python object." #: ../../whatsnew/2.1.rst:214 msgid "" @@ -456,11 +448,11 @@ msgid "" "`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" @@ -672,7 +664,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:571 +#: ../../whatsnew/2.1.rst:336 ../../whatsnew/2.1.rst:574 msgid "Written and implemented by A.M. Kuchling." msgstr "Written and implemented by A.M. Kuchling." @@ -797,6 +789,17 @@ msgid "" "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 msgid "" @@ -929,7 +932,7 @@ 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)." @@ -956,15 +959,21 @@ msgstr "PEP 241: Metadata in Python Packages" 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 " -"http://www.vex.net/parnassus/ are the largest catalog of Python modules, but " -"registering software at the Vaults is optional, and many people don't bother." +"``www.vex.net/parnassus/`` (retired in February 2009, `available in the " +"Internet Archive Wayback Machine `_) was the largest catalog of Python modules, " +"but registering software at the Vaults is optional, and many people did not " +"bother." msgstr "" "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 " -"http://www.vex.net/parnassus/ are the largest catalog of Python modules, but " -"registering software at the Vaults is optional, and many people don't bother." +"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 `_) 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:548 +#: ../../whatsnew/2.1.rst:551 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:" @@ -979,21 +988,20 @@ msgid "" "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:561 +"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:564 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 " @@ -1002,22 +1010,22 @@ msgid "" "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:571 +#: ../../whatsnew/2.1.rst:574 msgid ":pep:`241` - Metadata for Python Software Packages" msgstr ":pep:`241` - Metadata for Python Software Packages" -#: ../../whatsnew/2.1.rst:574 +#: ../../whatsnew/2.1.rst:577 msgid ":pep:`243` - Module Repository Upload Mechanism" msgstr ":pep:`243` - Module Repository Upload Mechanism" -#: ../../whatsnew/2.1.rst:574 +#: ../../whatsnew/2.1.rst:577 msgid "" "Written by Sean Reifschneider, this draft PEP describes a proposed mechanism " "for uploading Python packages to a central server." @@ -1025,11 +1033,11 @@ msgstr "" "Written by Sean Reifschneider, this draft PEP describes a proposed mechanism " "for uploading Python packages to a central server." -#: ../../whatsnew/2.1.rst:581 +#: ../../whatsnew/2.1.rst:584 msgid "New and Improved Modules" msgstr "Módulos Novos ou Aprimorados" -#: ../../whatsnew/2.1.rst:583 +#: ../../whatsnew/2.1.rst:586 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 " @@ -1045,7 +1053,7 @@ msgstr "" "`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:605 +#: ../../whatsnew/2.1.rst:608 msgid "" ":file:`pydoc` also includes a Tk-based interactive help browser. :file:" "`pydoc` quickly becomes addictive; try it out!" @@ -1053,7 +1061,7 @@ msgstr "" ":file:`pydoc` also includes a Tk-based interactive help browser. :file:" "`pydoc` quickly becomes addictive; try it out!" -#: ../../whatsnew/2.1.rst:608 +#: ../../whatsnew/2.1.rst:611 msgid "" "Two different modules for unit testing were added to the standard library. " "The :mod:`doctest` module, contributed by Tim Peters, provides a testing " @@ -1071,7 +1079,7 @@ msgstr "" "adaptation of Kent Beck's Smalltalk testing framework. See http://pyunit." "sourceforge.net/ for more information about PyUnit." -#: ../../whatsnew/2.1.rst:616 +#: ../../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 " @@ -1087,7 +1095,7 @@ msgstr "" "program :file:`Tools/scripts/ndiff.py` demonstrates how to write such a " "script." -#: ../../whatsnew/2.1.rst:622 +#: ../../whatsnew/2.1.rst:625 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 " @@ -1101,7 +1109,7 @@ msgstr "" "lower in the depth ordering, and the panel library figures out where panels " "overlap and which sections are visible." -#: ../../whatsnew/2.1.rst:628 +#: ../../whatsnew/2.1.rst:631 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 " @@ -1115,7 +1123,7 @@ msgstr "" "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:634 +#: ../../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 " @@ -1135,7 +1143,7 @@ msgstr "" "frames, but also lists the function arguments and the local variables for " "each frame." -#: ../../whatsnew/2.1.rst:642 +#: ../../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 " @@ -1155,11 +1163,11 @@ msgstr "" "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:651 +#: ../../whatsnew/2.1.rst:654 msgid "This change was proposed and implemented by Thomas Wouters." msgstr "This change was proposed and implemented by Thomas Wouters." -#: ../../whatsnew/2.1.rst:653 +#: ../../whatsnew/2.1.rst:656 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 " @@ -1179,7 +1187,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:662 +#: ../../whatsnew/2.1.rst:665 msgid "" "Support for raw socket access has been added to the :mod:`socket` module, " "contributed by Grant Edwards." @@ -1187,7 +1195,7 @@ msgstr "" "Support for raw socket access has been added to the :mod:`socket` module, " "contributed by Grant Edwards." -#: ../../whatsnew/2.1.rst:665 +#: ../../whatsnew/2.1.rst:668 msgid "" "The :mod:`pstats` module now contains a simple interactive statistics " "browser for displaying timing profiles for Python programs, invoked when the " @@ -1197,7 +1205,7 @@ 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:669 +#: ../../whatsnew/2.1.rst:672 msgid "" "A new implementation-dependent function, ``sys._getframe([depth])``, has " "been added to return a given frame object from the current call stack. :func:" @@ -1213,7 +1221,7 @@ msgstr "" "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:676 +#: ../../whatsnew/2.1.rst:679 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 " @@ -1223,11 +1231,11 @@ msgstr "" "implementation. Use it for debugging, and resist the temptation to put it " "into production code." -#: ../../whatsnew/2.1.rst:684 +#: ../../whatsnew/2.1.rst:687 msgid "Other Changes and Fixes" -msgstr "Other Changes and Fixes" +msgstr "Outras alterações e correções" -#: ../../whatsnew/2.1.rst:686 +#: ../../whatsnew/2.1.rst:689 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 " @@ -1239,7 +1247,7 @@ 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:691 +#: ../../whatsnew/2.1.rst:694 msgid "" "A specialized object allocator is now optionally available, that should be " "faster than the system :func:`malloc` and have less memory overhead. The " @@ -1256,7 +1264,7 @@ msgstr "" "providing the :option:`!--with-pymalloc` option to the :program:`configure` " "script; see :file:`Objects/obmalloc.c` for the implementation details." -#: ../../whatsnew/2.1.rst:698 +#: ../../whatsnew/2.1.rst:701 msgid "" "Authors of C extension modules should test their code with the object " "allocator enabled, because some incorrect code may break, causing core dumps " @@ -1284,11 +1292,11 @@ msgstr "" "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:711 +#: ../../whatsnew/2.1.rst:714 msgid "The object allocator was contributed by Vladimir Marangozov." msgstr "The object allocator was contributed by Vladimir Marangozov." -#: ../../whatsnew/2.1.rst:713 +#: ../../whatsnew/2.1.rst:716 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 " @@ -1308,7 +1316,7 @@ msgstr "" "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:722 +#: ../../whatsnew/2.1.rst:725 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:" @@ -1324,7 +1332,7 @@ msgstr "" "reading the entire file into memory as the existing :meth:`readlines` method " "does. You'd use it like this::" -#: ../../whatsnew/2.1.rst:733 +#: ../../whatsnew/2.1.rst:736 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-" @@ -1334,7 +1342,7 @@ msgstr "" "for January 1--15, 2001 at https://mail.python.org/pipermail/python-dev/2001-" "January/." -#: ../../whatsnew/2.1.rst:736 +#: ../../whatsnew/2.1.rst:739 msgid "" "A new method, :meth:`popitem`, was added to dictionaries to enable " "destructively iterating through the contents of a dictionary; this can be " @@ -1352,7 +1360,7 @@ msgstr "" "was implemented mostly by Tim Peters and Guido van Rossum, after a " "suggestion and preliminary patch by Moshe Zadka." -#: ../../whatsnew/2.1.rst:744 +#: ../../whatsnew/2.1.rst:747 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 " @@ -1368,7 +1376,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:754 +#: ../../whatsnew/2.1.rst:757 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 " @@ -1378,7 +1386,7 @@ msgstr "" "Wolfson, but after some python-dev discussion, a weaker final version was " "checked in." -#: ../../whatsnew/2.1.rst:758 +#: ../../whatsnew/2.1.rst:761 msgid "" "Applying :func:`repr` to strings previously used octal escapes for non-" "printable characters; for example, a newline was ``'\\012'``. This was a " @@ -1394,7 +1402,7 @@ msgstr "" "ones, and using the ``\\n``, ``\\t``, ``\\r`` escapes for the appropriate " "characters, and implemented this new formatting." -#: ../../whatsnew/2.1.rst:765 +#: ../../whatsnew/2.1.rst:768 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 " @@ -1404,7 +1412,7 @@ 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:769 +#: ../../whatsnew/2.1.rst:772 msgid "" "C extensions which import other modules have been changed to use :func:" "`PyImport_ImportModule`, which means that they will use any import hooks " @@ -1416,7 +1424,7 @@ msgstr "" "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:774 +#: ../../whatsnew/2.1.rst:777 msgid "" "The size of the Unicode character database was shrunk by another 340K thanks " "to Fredrik Lundh." @@ -1424,7 +1432,7 @@ msgstr "" "The size of the Unicode character database was shrunk by another 340K thanks " "to Fredrik Lundh." -#: ../../whatsnew/2.1.rst:777 +#: ../../whatsnew/2.1.rst:780 msgid "" "Some new ports were contributed: MacOS X (by Steven Majewski), Cygwin (by " "Jason Tishler); RISCOS (by Dietmar Schwertberger); Unixware 7 (by Billy G. " @@ -1434,7 +1442,7 @@ msgstr "" "Jason Tishler); RISCOS (by Dietmar Schwertberger); Unixware 7 (by Billy G. " "Allie)." -#: ../../whatsnew/2.1.rst:781 +#: ../../whatsnew/2.1.rst:784 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 " @@ -1444,11 +1452,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:789 +#: ../../whatsnew/2.1.rst:792 msgid "Acknowledgements" msgstr "Reconhecimentos" -#: ../../whatsnew/2.1.rst:791 +#: ../../whatsnew/2.1.rst:794 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 4c700fca1..0c755bf64 100644 --- a/whatsnew/2.2.po +++ b/whatsnew/2.2.po @@ -1,36 +1,31 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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 -# Marco Rougeth , 2021 -# Claudio Rogerio Carvalho Filho , 2021 -# Ruan Aragão , 2021 -# Victor Matheus Castro , 2021 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.10\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-07-27 13:07+0000\n" -"PO-Revision-Date: 2021-06-28 01:51+0000\n" -"Last-Translator: Victor Matheus Castro , " -"2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-23 17:01+0000\n" +"PO-Revision-Date: 2025-09-22 15:59+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"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 "" @@ -101,18 +116,24 @@ 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 "" @@ -129,6 +150,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 +163,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 +180,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 +196,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 +215,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,6 +231,12 @@ 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 "" @@ -200,6 +254,10 @@ msgid "" "`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 "" @@ -218,7 +276,7 @@ msgstr "" #: ../../whatsnew/2.2.rst:153 msgid "Descriptors" -msgstr "" +msgstr "Descriptors" #: ../../whatsnew/2.2.rst:155 msgid "" @@ -240,16 +298,23 @@ 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." @@ -260,21 +325,26 @@ 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 "" @@ -306,6 +376,12 @@ 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 "" @@ -319,7 +395,7 @@ msgstr "" #: ../../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,6 +403,9 @@ 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 "" @@ -347,6 +426,11 @@ 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 "" @@ -382,10 +466,13 @@ 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 "" @@ -403,6 +490,10 @@ 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 "" @@ -454,16 +545,25 @@ msgid "" "`~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,15 +572,22 @@ 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 "" -"https://docs.python.org/dev/howto/descriptor.html 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." +"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." 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 "" @@ -493,6 +600,14 @@ msgid "" "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 "" @@ -501,10 +616,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 "" @@ -512,6 +631,9 @@ 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 "" @@ -561,6 +683,10 @@ 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 "" @@ -580,6 +706,9 @@ msgid "" "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 "" @@ -596,6 +725,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 "" @@ -604,26 +736,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 "" @@ -637,10 +777,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 "" @@ -652,6 +801,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 "" @@ -668,6 +824,18 @@ msgid "" "`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::" @@ -678,7 +846,7 @@ 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 @@ -691,6 +859,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 "" @@ -704,6 +879,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 "" @@ -713,15 +897,20 @@ 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 "" "The idea of generators comes from other programming languages, especially " "Icon (https://www.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://www.cs.arizona.edu/icon/docs/ipd266.htm gives an idea of what " -"this looks like::" +"generator. One example from \"An Overview of the Icon Programming " +"Language\" at https://www.cs.arizona.edu/icon/docs/ipd266.htm gives an idea " +"of what this looks like::" msgstr "" #: ../../whatsnew/2.2.rst:644 @@ -743,10 +932,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 "" +msgstr ":pep:`255` - Simple Generators" #: ../../whatsnew/2.2.rst:662 msgid "" @@ -754,10 +950,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.2.rst:669 msgid "PEP 237: Unifying Long Integers and Integers" -msgstr "" +msgstr "PEP 237: Unifying Long Integers and Integers" #: ../../whatsnew/2.2.rst:671 msgid "" @@ -782,6 +981,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 "" @@ -789,20 +995,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 "" +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 "" @@ -816,6 +1027,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 "" @@ -826,6 +1046,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 "" @@ -833,6 +1059,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 "" @@ -845,10 +1074,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 "" @@ -857,12 +1094,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 "" @@ -871,6 +1114,10 @@ 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 "" @@ -889,20 +1136,28 @@ msgid "" "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 "" @@ -913,6 +1168,12 @@ 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 "" @@ -942,6 +1203,9 @@ 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 "" @@ -958,11 +1222,11 @@ msgstr "" #: ../../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" @@ -977,6 +1241,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 "" @@ -987,6 +1257,12 @@ 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 "" @@ -1019,6 +1295,14 @@ msgid "" "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 "" @@ -1119,6 +1403,8 @@ msgid "" "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 "" @@ -1137,10 +1423,14 @@ msgid "" "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 "" @@ -1148,6 +1438,9 @@ 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 "" @@ -1155,14 +1448,21 @@ msgid "" "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 "" "Two new format characters were added to the :mod:`struct` module for 64-bit " -"integers on platforms that support the C :c:type:`long long` type. ``q`` is " +"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.)" 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 "" @@ -1174,6 +1474,13 @@ msgid "" "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 "" @@ -1188,11 +1495,15 @@ msgstr "" #: ../../whatsnew/2.2.rst:1006 msgid "" -"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 " +"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.)" 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 "" @@ -1201,6 +1512,10 @@ 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 "" @@ -1250,7 +1565,7 @@ msgstr "" #: ../../whatsnew/2.2.rst:1049 msgid "Interpreter Changes and Fixes" -msgstr "" +msgstr "Interpreter Changes and Fixes" #: ../../whatsnew/2.2.rst:1051 msgid "" @@ -1260,6 +1575,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 "" @@ -1272,6 +1592,14 @@ 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 "" @@ -1294,11 +1622,19 @@ 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`." @@ -1308,10 +1644,11 @@ msgstr "" 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 "" +msgstr "objects, and :c:func:`PyObject_GC_Del` to deallocate them." #: ../../whatsnew/2.2.rst:1087 msgid "Rename :c:func:`PyObject_GC_Init` to :c:func:`PyObject_GC_Track` and" @@ -1341,15 +1678,28 @@ 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 "" "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:type:`PyObject\\*` variables that will " +"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 "" @@ -1378,10 +1728,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 "" @@ -1391,10 +1745,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 "" @@ -1402,20 +1761,33 @@ 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 "" "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 " +"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.\"" 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 "" @@ -1424,6 +1796,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 "" @@ -1431,6 +1807,9 @@ 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 "" @@ -1439,6 +1818,10 @@ msgid "" "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 "" @@ -1446,6 +1829,9 @@ 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 "" @@ -1455,6 +1841,11 @@ msgid "" "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 "" @@ -1465,6 +1856,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 "" @@ -1476,17 +1873,27 @@ 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 "" @@ -1509,6 +1916,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 "" @@ -1516,6 +1929,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 "" @@ -1524,6 +1940,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 "" @@ -1534,6 +1954,12 @@ 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 "" @@ -1542,6 +1968,10 @@ msgid "" "`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 "" @@ -1551,6 +1981,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" @@ -1567,3 +2002,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 d00a86b3d..0d5b18d9b 100644 --- a/whatsnew/2.3.po +++ b/whatsnew/2.3.po @@ -1,34 +1,31 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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 , 2021 -# Claudio Rogerio Carvalho Filho , 2021 -# Victor Matheus Castro , 2021 -# i17obot , 2021 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.10\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-07-27 13:07+0000\n" -"PO-Revision-Date: 2021-06-28 01:51+0000\n" -"Last-Translator: i17obot , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:59+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"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" @@ -43,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 "" @@ -55,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 "" @@ -65,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 "" @@ -75,10 +88,16 @@ 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 "" @@ -92,7 +111,7 @@ msgstr "" #: ../../whatsnew/2.3.rst:50 msgid "Here's a simple example::" -msgstr "" +msgstr "Here's a simple example::" #: ../../whatsnew/2.3.rst:66 msgid "" @@ -120,17 +139,19 @@ msgstr "" #: ../../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 "" @@ -142,6 +163,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 "" @@ -155,10 +183,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 "" @@ -167,6 +204,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 "" @@ -183,6 +224,18 @@ msgid "" "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::" @@ -193,7 +246,7 @@ 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 @@ -206,6 +259,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 "" @@ -219,6 +279,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 "" @@ -228,15 +297,20 @@ 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 "" "The idea of generators comes from other programming languages, especially " "Icon (https://www.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://www.cs.arizona.edu/icon/docs/ipd266.htm gives an idea of what " -"this looks like::" +"generator. One example from \"An Overview of the Icon Programming " +"Language\" at https://www.cs.arizona.edu/icon/docs/ipd266.htm gives an idea " +"of what this looks like::" msgstr "" #: ../../whatsnew/2.3.rst:230 @@ -258,10 +332,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 "" +msgstr ":pep:`255` - Simple Generators" #: ../../whatsnew/2.3.rst:248 msgid "" @@ -269,10 +350,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 "" @@ -281,6 +365,10 @@ 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 "" @@ -290,6 +378,11 @@ msgid "" "`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 "" @@ -298,20 +391,26 @@ 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 "" @@ -320,6 +419,10 @@ msgid "" "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 "" @@ -330,6 +433,12 @@ msgid "" "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 "" @@ -337,10 +446,13 @@ 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 "" @@ -350,10 +462,15 @@ msgid "" "`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 "" @@ -361,6 +478,9 @@ 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 "" @@ -376,6 +496,8 @@ 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 "" @@ -385,24 +507,31 @@ msgid "" "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 "" @@ -413,6 +542,12 @@ 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 "" @@ -438,18 +573,21 @@ msgid "" "`!--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 "" @@ -458,26 +596,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 "" @@ -490,6 +632,14 @@ 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 "" @@ -511,6 +661,8 @@ 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::" @@ -545,6 +697,10 @@ 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 "" @@ -564,7 +720,7 @@ msgid "" "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." +"own specially written classes." msgstr "" #: ../../whatsnew/2.3.rst:533 @@ -575,18 +731,23 @@ 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 "" @@ -603,12 +764,17 @@ msgid "" "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 "" @@ -619,6 +785,12 @@ 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 "" @@ -632,6 +804,15 @@ msgid "" "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 "" @@ -640,30 +821,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 "" @@ -676,6 +869,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 "" @@ -683,24 +884,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 "" @@ -710,6 +916,11 @@ 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 "" @@ -724,24 +935,28 @@ 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 "" @@ -767,12 +982,18 @@ msgid "" "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." 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 "" @@ -781,6 +1002,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 "" @@ -796,19 +1021,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 "" @@ -816,22 +1044,29 @@ 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 "" @@ -847,20 +1082,26 @@ msgid "" "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 "" @@ -880,6 +1121,12 @@ 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 "" @@ -905,18 +1152,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 "" @@ -928,21 +1179,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 "" @@ -951,6 +1212,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 "" @@ -958,10 +1223,13 @@ 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 "" @@ -971,7 +1239,7 @@ msgstr "" #: ../../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 "" @@ -991,6 +1259,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" @@ -1001,18 +1273,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 "" @@ -1020,6 +1298,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 "" @@ -1029,12 +1310,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 "" @@ -1043,6 +1331,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 "" @@ -1051,6 +1343,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 "" @@ -1058,6 +1354,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 "" @@ -1066,6 +1365,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 "" @@ -1073,20 +1376,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 "" @@ -1095,6 +1403,10 @@ 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 "" @@ -1114,6 +1426,12 @@ msgid "" "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 "" @@ -1121,6 +1439,9 @@ msgid "" "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 "" @@ -1128,6 +1449,9 @@ 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 "" @@ -1147,7 +1471,7 @@ msgid "" "inheritance hierarchy. Classic classes are unaffected by this change. " "Python 2.2 originally used a topological sort of a class's ancestors, but " "2.3 now uses the C3 algorithm as described in the paper `\"A Monotonic " -"Superclass Linearization for Dylan\" `_. To understand the motivation for this " "change, read Michele Simionato's article `\"Python 2.3 Method Resolution " "Order\" `_, or read the " @@ -1177,7 +1501,7 @@ msgstr "" #: ../../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 "" @@ -1188,10 +1512,16 @@ msgid "" "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 "" @@ -1200,7 +1530,12 @@ msgid "" "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`. ::" -msgstr "" +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 "" @@ -1217,7 +1552,7 @@ msgstr "" #: ../../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 "" @@ -1235,7 +1570,7 @@ msgstr "" #: ../../whatsnew/2.3.rst:1174 msgid "(Contributed by Walter Dörwald.)" -msgstr "" +msgstr "(Contributed by Walter Dörwald.)" #: ../../whatsnew/2.3.rst:1176 msgid "" @@ -1251,6 +1586,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" @@ -1261,6 +1599,8 @@ 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 "" @@ -1283,6 +1623,9 @@ msgid "" "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 "" @@ -1298,12 +1641,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" @@ -1317,6 +1666,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 "" @@ -1325,11 +1679,15 @@ 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 " -"`_ package, providing a more complete " +"`_ package, providing a more complete " "interface to the transactional features of the BerkeleyDB library." msgstr "" @@ -1355,12 +1713,17 @@ msgid "" "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 "" @@ -1377,6 +1740,8 @@ 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 "" @@ -1399,6 +1764,8 @@ 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 "" @@ -1412,27 +1779,29 @@ msgstr "" #: ../../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 "" "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(lg n). (See https://xlinux.nist.gov/dads//HTML/priorityque.html for " -"more information about the priority queue data structure.)" +"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.)" msgstr "" #: ../../whatsnew/2.3.rst:1314 @@ -1445,7 +1814,7 @@ msgstr "" #: ../../whatsnew/2.3.rst:1332 msgid "(Contributed by Kevin O'Connor.)" -msgstr "" +msgstr "(Contributed by Kevin O'Connor.)" #: ../../whatsnew/2.3.rst:1334 msgid "" @@ -1462,6 +1831,8 @@ msgid "" "The :mod:`imaplib` module now supports IMAP over SSL. (Contributed by Piers " "Lauder and Tino Lange.)" msgstr "" +"The :mod:`imaplib` module now supports IMAP over SSL. (Contributed by Piers " +"Lauder and Tino Lange.)" #: ../../whatsnew/2.3.rst:1343 msgid "" @@ -1485,6 +1856,13 @@ 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 "" @@ -1514,7 +1892,7 @@ msgstr "" #: ../../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 "" @@ -1523,6 +1901,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 "" @@ -1531,6 +1913,10 @@ 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 "" @@ -1548,6 +1934,10 @@ 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 "" @@ -1572,10 +1962,13 @@ 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 "" @@ -1613,6 +2006,8 @@ 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 "" @@ -1620,6 +2015,9 @@ msgid "" "`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 "" @@ -1628,6 +2026,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 "" @@ -1637,12 +2039,19 @@ 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 "" @@ -1656,6 +2065,8 @@ msgid "" "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 "" @@ -1763,7 +2174,7 @@ msgstr "" #: ../../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 "" @@ -1816,6 +2227,9 @@ 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 "" @@ -1833,10 +2247,12 @@ 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 "" @@ -1844,6 +2260,9 @@ msgid "" "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 "" @@ -1869,6 +2288,8 @@ 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 "" @@ -1891,10 +2312,12 @@ 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 "" @@ -1904,6 +2327,11 @@ 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 "" @@ -1922,30 +2350,36 @@ 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 "" @@ -1956,6 +2390,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 "" @@ -1965,6 +2405,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 "" @@ -1973,6 +2418,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 "" @@ -1988,6 +2437,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 "" @@ -1997,13 +2457,21 @@ 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`." +"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`." 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 "" @@ -2012,6 +2480,10 @@ msgid "" "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 "" @@ -2027,6 +2499,11 @@ msgid "" "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 "" @@ -2036,10 +2513,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 "" @@ -2047,14 +2529,17 @@ 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 "" @@ -2063,6 +2548,10 @@ msgid "" "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 "" @@ -2070,6 +2559,9 @@ msgid "" "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 "" @@ -2087,6 +2579,11 @@ msgid "" "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 "" @@ -2102,16 +2599,22 @@ msgstr "" #: ../../whatsnew/2.3.rst:1907 msgid "" ":c:func:`PyArg_ParseTuple` accepts new format characters for various sizes " -"of unsigned integers: ``B`` for :c:type:`unsigned char`, ``H`` for :c:type:" -"`unsigned short int`, ``I`` for :c:type:`unsigned int`, and ``K`` for :c:" -"type:`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 "" @@ -2120,6 +2623,10 @@ msgid "" "`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 "" @@ -2133,6 +2640,8 @@ 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 "" @@ -2147,7 +2656,7 @@ msgstr "" #: ../../whatsnew/2.3.rst:1938 msgid "Port-Specific Changes" -msgstr "" +msgstr "Port-Specific Changes" #: ../../whatsnew/2.3.rst:1940 msgid "" @@ -2168,6 +2677,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 "" @@ -2175,16 +2688,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." 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 "" @@ -2193,10 +2711,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 "" @@ -2206,6 +2728,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 "" @@ -2215,12 +2742,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 "" @@ -2232,12 +2766,21 @@ 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 "" @@ -2257,25 +2800,31 @@ msgstr "" #: ../../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 "" @@ -2283,6 +2832,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 "" @@ -2290,6 +2842,9 @@ 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 "" @@ -2305,6 +2860,9 @@ msgid "" "`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 "" @@ -2315,10 +2873,16 @@ 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 "" @@ -2334,12 +2898,16 @@ 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" @@ -2356,3 +2924,11 @@ 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." diff --git a/whatsnew/2.4.po b/whatsnew/2.4.po index 7b2b7813d..3dc54b206 100644 --- a/whatsnew/2.4.po +++ b/whatsnew/2.4.po @@ -1,34 +1,31 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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 -# Victor Matheus Castro , 2021 -# Rafael Fontenelle , 2021 -# Claudio Rogerio Carvalho Filho , 2021 +# python-doc bot, 2025 # #, 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:51+0000\n" -"Last-Translator: Claudio Rogerio Carvalho Filho , " -"2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:59+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"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,20 +119,25 @@ 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 "" +msgstr "PEP 237: Unifying Long Integers and Integers" #: ../../whatsnew/2.4.rst:92 msgid "" @@ -121,6 +148,12 @@ msgid "" "(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 +162,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 "" +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 "" @@ -152,13 +191,21 @@ msgid "" "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 " +"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 +213,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 +223,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 +234,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 +248,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 +277,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 +298,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,18 +322,21 @@ 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 "" @@ -264,12 +347,20 @@ msgid "" "`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." 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 +370,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 +383,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 +416,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 +431,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,11 +462,17 @@ 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 "" @@ -359,7 +484,7 @@ msgstr "" #: ../../whatsnew/2.4.rst:338 msgid ":pep:`318` - Decorators for Functions, Methods and Classes" -msgstr "" +msgstr ":pep:`318` - Decorators for Functions, Methods and Classes" #: ../../whatsnew/2.4.rst:336 msgid "" @@ -367,30 +492,37 @@ msgid "" "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 msgid "https://wiki.python.org/moin/PythonDecoratorLibrary" -msgstr "" +msgstr "https://wiki.python.org/moin/PythonDecoratorLibrary" #: ../../whatsnew/2.4.rst:341 msgid "This Wiki page contains several examples of decorators." -msgstr "" +msgstr "This Wiki page contains several examples of decorators." #: ../../whatsnew/2.4.rst:347 msgid "PEP 322: Reverse Iteration" -msgstr "" +msgstr "PEP 322: Reverse Iteration" #: ../../whatsnew/2.4.rst:349 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 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 msgid "" @@ -398,18 +530,21 @@ msgid "" "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 msgid ":pep:`322` - Reverse Iteration" -msgstr "" +msgstr ":pep:`322` - Reverse Iteration" #: ../../whatsnew/2.4.rst:377 msgid "Written and implemented by Raymond Hettinger." -msgstr "" +msgstr "Written and implemented by Raymond Hettinger." #: ../../whatsnew/2.4.rst:383 msgid "PEP 324: New subprocess Module" -msgstr "" +msgstr "PEP 324: New subprocess Module" #: ../../whatsnew/2.4.rst:385 msgid "" @@ -437,6 +572,10 @@ msgid "" "*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 msgid "" @@ -445,37 +584,48 @@ msgid "" "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 msgid "The constructor has a number of handy options:" -msgstr "" +msgstr "The constructor has a number of handy options:" #: ../../whatsnew/2.4.rst:419 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 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 msgid "*env* is a dictionary specifying environment variables." -msgstr "" +msgstr "*env* is a dictionary specifying environment variables." #: ../../whatsnew/2.4.rst:427 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 msgid "" "*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 msgid "" @@ -486,6 +636,12 @@ msgid "" "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 msgid "" @@ -494,6 +650,10 @@ msgid "" "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 msgid "" @@ -501,6 +661,9 @@ msgid "" "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 msgid "" @@ -508,44 +671,57 @@ msgid "" "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 msgid ":pep:`324` - subprocess - New process module" -msgstr "" +msgstr ":pep:`324` - subprocess - New process module" #: ../../whatsnew/2.4.rst:465 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 msgid "PEP 327: Decimal Data Type" -msgstr "PEP 327: Tipo de Dados Decimal" +msgstr "PEP 327: Decimal Data Type" #: ../../whatsnew/2.4.rst:474 msgid "" "Python has always supported floating-point (FP) numbers, based on the " -"underlying C :c:type:`double` type, as a data type. However, while most " +"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." 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 msgid "Why is Decimal needed?" -msgstr "Por que o Decimal é necessário?" +msgstr "Why is Decimal needed?" #: ../../whatsnew/2.4.rst:485 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 msgid "The sign, which is positive or negative." -msgstr "" +msgstr "The sign, which is positive or negative." #: ../../whatsnew/2.4.rst:490 msgid "" @@ -553,12 +729,17 @@ msgid "" "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 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 msgid "" @@ -568,11 +749,16 @@ 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 msgid "" "Modern systems usually provide floating-point support that conforms to a " -"standard called IEEE 754. C's :c:type:`double` type is usually implemented " +"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 " @@ -583,10 +769,21 @@ 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 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 msgid "" @@ -596,6 +793,11 @@ 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 msgid "" @@ -607,14 +809,21 @@ 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 msgid "Hence, the :class:`Decimal` type was created." -msgstr "" +msgstr "Hence, the :class:`Decimal` type was created." #: ../../whatsnew/2.4.rst:537 msgid "The :class:`Decimal` type" -msgstr "" +msgstr "The :class:`Decimal` type" #: ../../whatsnew/2.4.rst:539 msgid "" @@ -624,6 +833,11 @@ msgid "" "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 msgid "" @@ -632,18 +846,26 @@ msgid "" "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 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 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 msgid "" @@ -654,6 +876,12 @@ 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 msgid "" @@ -661,12 +889,17 @@ msgid "" "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 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 msgid "" @@ -676,6 +909,11 @@ 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 msgid "" @@ -683,20 +921,25 @@ msgid "" "`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 msgid "The :class:`Context` type" -msgstr "" +msgstr "The :class:`Context` type" #: ../../whatsnew/2.4.rst:633 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 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 msgid "" @@ -704,6 +947,9 @@ msgid "" "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 msgid "" @@ -712,6 +958,10 @@ msgid "" "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 msgid "" @@ -720,6 +970,10 @@ msgid "" "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 msgid "" @@ -727,42 +981,53 @@ msgid "" "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 msgid "" "The :class:`Context` instance also has various methods for formatting " "numbers such as :meth:`to_eng_string` and :meth:`to_sci_string`." msgstr "" +"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:676 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 msgid ":pep:`327` - Decimal Data Type" -msgstr "" +msgstr ":pep:`327` - Decimal Data Type" #: ../../whatsnew/2.4.rst:683 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 msgid "http://www.lahey.com/float.htm" -msgstr "" +msgstr "http://www.lahey.com/float.htm" #: ../../whatsnew/2.4.rst:687 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 msgid "http://speleotrove.com/decimal/" -msgstr "" +msgstr "http://speleotrove.com/decimal/" #: ../../whatsnew/2.4.rst:691 msgid "" @@ -771,10 +1036,14 @@ msgid "" "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 msgid "PEP 328: Multi-line Imports" -msgstr "" +msgstr "PEP 328: Multi-line Imports" #: ../../whatsnew/2.4.rst:701 msgid "" @@ -784,6 +1053,11 @@ 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 msgid "" @@ -791,6 +1065,9 @@ msgid "" "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 msgid "" @@ -799,18 +1076,22 @@ msgid "" "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 msgid ":pep:`328` - Imports: Multi-Line and Absolute/Relative" -msgstr "" +msgstr ":pep:`328` - Importações: Multilinha e absoluta/relativa" #: ../../whatsnew/2.4.rst:729 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 msgid "PEP 331: Locale-Independent Float/String Conversions" -msgstr "" +msgstr "PEP 331: Locale-Independent Float/String Conversions" #: ../../whatsnew/2.4.rst:737 msgid "" @@ -821,6 +1102,12 @@ 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 msgid "" @@ -829,24 +1116,34 @@ msgid "" "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 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 msgid "" "``PyOS_ascii_strtod(str, ptr)`` and ``PyOS_ascii_atof(str, ptr)`` both " -"convert a string to a C :c:type:`double`." +"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 msgid "" -"``PyOS_ascii_formatd(buffer, buf_len, format, d)`` converts a :c:type:" +"``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 msgid "" @@ -859,11 +1156,11 @@ msgstr "" #: ../../whatsnew/2.4.rst:767 msgid ":pep:`331` - Locale-Independent Float/String Conversions" -msgstr "" +msgstr ":pep:`331` - Locale-Independent Float/String Conversions" #: ../../whatsnew/2.4.rst:768 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 msgid "Other Language Changes" @@ -874,32 +1171,40 @@ 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 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 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 msgid "Generator expressions were added (:pep:`289`)." -msgstr "" +msgstr "Generator expressions were added (:pep:`289`)." #: ../../whatsnew/2.4.rst:785 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 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 msgid "" @@ -907,6 +1212,9 @@ msgid "" "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 msgid "" @@ -914,6 +1222,9 @@ msgid "" "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 msgid "" @@ -921,6 +1232,9 @@ msgid "" "`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 msgid "" @@ -928,6 +1242,9 @@ msgid "" "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 msgid "" @@ -937,6 +1254,11 @@ msgid "" "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 msgid "" @@ -944,6 +1266,9 @@ msgid "" "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 msgid "" @@ -953,6 +1278,11 @@ 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 msgid "" @@ -960,6 +1290,9 @@ msgid "" "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 msgid "" @@ -967,6 +1300,9 @@ msgid "" "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 msgid "" @@ -976,10 +1312,15 @@ 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 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 msgid "" @@ -987,18 +1328,21 @@ msgid "" "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 msgid "the input may be any iterable;" -msgstr "" +msgstr "the input may be any iterable;" #: ../../whatsnew/2.4.rst:866 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 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 @@ -1010,6 +1354,8 @@ msgid "" "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 msgid "" @@ -1018,6 +1364,10 @@ msgid "" "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 msgid "" @@ -1026,6 +1376,10 @@ msgid "" "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 msgid "" @@ -1034,20 +1388,30 @@ msgid "" "`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 msgid "" -"Encountering a failure while importing a module no longer leaves a partially-" +"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 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 msgid "Optimizations" @@ -1061,6 +1425,11 @@ msgid "" "`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 msgid "" @@ -1071,6 +1440,12 @@ msgid "" "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 msgid "" @@ -1078,6 +1453,9 @@ msgid "" "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 msgid "" @@ -1088,6 +1466,12 @@ msgid "" "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 msgid "" @@ -1095,6 +1479,9 @@ msgid "" "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 msgid "" @@ -1102,6 +1489,9 @@ msgid "" "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 msgid "" @@ -1112,6 +1502,12 @@ 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 msgid "" @@ -1121,6 +1517,11 @@ 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 msgid "New, Improved, and Deprecated Modules" @@ -1134,6 +1535,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.4.rst:997 msgid "" @@ -1148,46 +1554,57 @@ msgid "" "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 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 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 msgid "Chinese (PRC): gb2312, gbk, gb18030, big5hkscs, hz" -msgstr "" +msgstr "Chinese (PRC): gb2312, gbk, gb18030, big5hkscs, hz" #: ../../whatsnew/2.4.rst:1013 msgid "Chinese (ROC): big5, cp950" -msgstr "" +msgstr "Chinese (ROC): big5, cp950" #: ../../whatsnew/2.4.rst:1017 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 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 msgid "Korean: cp949, euc-kr, johab, iso-2022-kr" -msgstr "" +msgstr "Korean: cp949, euc-kr, johab, iso-2022-kr" #: ../../whatsnew/2.4.rst:1021 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 msgid "" @@ -1197,6 +1614,11 @@ 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 msgid "" @@ -1205,6 +1627,10 @@ msgid "" "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 msgid "" @@ -1212,6 +1638,9 @@ msgid "" "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 msgid "" @@ -1229,6 +1658,10 @@ msgid "" "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 msgid "" @@ -1236,6 +1669,9 @@ msgid "" "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 msgid "" @@ -1248,6 +1684,14 @@ 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 msgid "" @@ -1258,6 +1702,12 @@ msgid "" "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 msgid "" @@ -1274,6 +1724,9 @@ msgid "" "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 msgid "" @@ -1285,6 +1738,13 @@ 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 msgid "" @@ -1292,6 +1752,9 @@ msgid "" "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 msgid "" @@ -1299,10 +1762,13 @@ msgid "" "`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 msgid "(Contributed by Hye-Shik Chang.)" -msgstr "" +msgstr "(Contributed by Hye-Shik Chang.)" #: ../../whatsnew/2.4.rst:1142 msgid "" @@ -1310,6 +1776,9 @@ msgid "" "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 msgid "" @@ -1322,6 +1791,14 @@ 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 msgid "" @@ -1339,6 +1816,11 @@ msgid "" "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 msgid "" @@ -1349,10 +1831,16 @@ msgid "" "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 msgid "(Changes implemented by Vinay Sajip.)" -msgstr "" +msgstr "(Changes implemented by Vinay Sajip.)" #: ../../whatsnew/2.4.rst:1189 msgid "" @@ -1361,6 +1849,10 @@ msgid "" "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 msgid "" @@ -1368,6 +1860,9 @@ msgid "" "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 msgid "" @@ -1377,6 +1872,11 @@ msgid "" "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 msgid "" @@ -1386,6 +1886,11 @@ 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 msgid "" @@ -1403,6 +1908,10 @@ msgid "" "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 msgid "" @@ -1412,24 +1921,35 @@ 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 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 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 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 msgid "" @@ -1439,6 +1959,11 @@ 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 msgid "" @@ -1450,6 +1975,13 @@ 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 msgid "" @@ -1464,6 +1996,16 @@ 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 msgid "" @@ -1473,6 +2015,11 @@ 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 msgid "" @@ -1481,6 +2028,10 @@ msgid "" "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 msgid "" @@ -1489,12 +2040,18 @@ msgid "" "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 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 msgid "" @@ -1502,6 +2059,9 @@ msgid "" "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 msgid "" @@ -1509,6 +2069,9 @@ msgid "" "`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 msgid "" @@ -1516,6 +2079,9 @@ msgid "" "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 msgid "" @@ -1524,6 +2090,10 @@ msgid "" "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 msgid "" @@ -1537,10 +2107,12 @@ 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 msgid "cookielib" -msgstr "" +msgstr "cookielib" #: ../../whatsnew/2.4.rst:1325 msgid "" @@ -1559,6 +2131,10 @@ msgid "" "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 msgid "" @@ -1568,7 +2144,7 @@ msgstr "" #: ../../whatsnew/2.4.rst:1341 msgid "This module was contributed by John J. Lee." -msgstr "" +msgstr "This module was contributed by John J. Lee." #: ../../whatsnew/2.4.rst:1347 msgid "doctest" @@ -1581,22 +2157,30 @@ msgid "" "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 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 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 msgid "The above example produces the following output::" -msgstr "" +msgstr "The above example produces the following output::" #: ../../whatsnew/2.4.rst:1387 msgid "" @@ -1605,6 +2189,10 @@ msgid "" "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 msgid "" @@ -1613,10 +2201,14 @@ msgid "" "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 msgid "Another special string, ````, matches a blank line::" -msgstr "" +msgstr "Another special string, ````, matches a blank line::" #: ../../whatsnew/2.4.rst:1411 msgid "" @@ -1625,20 +2217,26 @@ msgid "" "`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 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 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 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 msgid "" @@ -1646,12 +2244,17 @@ msgid "" "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 msgid "" -"Another new macro, :c:macro:`Py_CLEAR(obj)`, decreases the reference count " -"of *obj* and sets *obj* to the null pointer. (Contributed by Jim Fulton.)" +"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 msgid "" @@ -1659,6 +2262,9 @@ msgid "" "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 msgid "" @@ -1666,12 +2272,17 @@ msgid "" "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 msgid "" -"The :c:macro:`Py_IS_NAN(X)` macro returns 1 if its float or double argument " +"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 msgid "" @@ -1687,6 +2298,9 @@ msgid "" "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 msgid "" @@ -1705,9 +2319,18 @@ msgid "" "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.)" +"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 msgid "" @@ -1717,23 +2340,27 @@ msgstr "" #: ../../whatsnew/2.4.rst:1501 msgid "Port-Specific Changes" -msgstr "" +msgstr "Port-Specific Changes" #: ../../whatsnew/2.4.rst:1503 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 msgid "Porting to Python 2.4" -msgstr "" +msgstr "Porting to Python 2.4" #: ../../whatsnew/2.4.rst:1512 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 msgid "" @@ -1741,6 +2368,9 @@ msgid "" "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 msgid "" @@ -1748,6 +2378,9 @@ msgid "" "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 msgid "" @@ -1756,6 +2389,10 @@ msgid "" "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 msgid "" @@ -1769,29 +2406,39 @@ msgid "" "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 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 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 msgid "" -"Encountering a failure while importing a module no longer leaves a partially-" +"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 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 msgid "" @@ -1800,6 +2447,10 @@ msgid "" "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 msgid "Acknowledgements" @@ -1812,3 +2463,7 @@ msgid "" "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." diff --git a/whatsnew/2.5.po b/whatsnew/2.5.po index 75399569a..2e59204d5 100644 --- a/whatsnew/2.5.po +++ b/whatsnew/2.5.po @@ -1,36 +1,31 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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: -# Victor Matheus Castro , 2021 -# Adson Rodrigues , 2021 -# Rafael Fontenelle , 2021 -# Raphael Mendonça, 2021 -# Marco Rougeth , 2021 -# Claudio Rogerio Carvalho Filho , 2021 -# Misael borges , 2021 +# python-doc bot, 2025 # #, 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:51+0000\n" -"Last-Translator: Misael borges , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:59+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"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" @@ -44,18 +39,27 @@ msgstr "A.M. Kuchling" msgid "" "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." +"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 "" "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. " +"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." 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 "" @@ -71,6 +75,17 @@ msgid "" "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 "" @@ -79,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 "" @@ -89,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 "" @@ -108,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 "" @@ -117,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 "" @@ -130,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 "" @@ -142,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 "" @@ -150,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 "" @@ -158,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 "" @@ -167,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 "" @@ -175,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 "" @@ -205,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 "" @@ -212,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::" @@ -224,6 +304,10 @@ msgid "" "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 "" @@ -233,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 "" @@ -240,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 "" @@ -263,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 "" @@ -271,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 "" @@ -278,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 "" @@ -287,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 "" @@ -314,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 "" @@ -322,16 +440,22 @@ 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." msgstr "" +"This defines a package named :mod:`pkg` containing the :mod:`pkg.main` and :" +"mod:`pkg.string` submodules." #: ../../whatsnew/2.5.rst:277 msgid "" @@ -342,6 +466,12 @@ msgid "" "`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 "" @@ -353,6 +483,13 @@ 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 "" @@ -363,6 +500,12 @@ msgid "" "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 "" @@ -374,12 +517,21 @@ 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 "" @@ -389,33 +541,41 @@ msgid "" "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" -msgstr "" +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 "" @@ -424,6 +584,10 @@ 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 "" @@ -434,18 +598,24 @@ msgid "" "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 "" @@ -457,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 "" @@ -465,6 +642,10 @@ 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 "" @@ -474,6 +655,11 @@ msgid "" "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 "" @@ -482,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 "" @@ -506,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 "" @@ -520,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 "" @@ -527,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 "" @@ -535,6 +742,10 @@ 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 "" @@ -544,6 +755,11 @@ msgid "" "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 "" @@ -552,16 +768,22 @@ msgid "" "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 "" @@ -570,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 "" @@ -582,6 +809,9 @@ 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 "" @@ -594,6 +824,14 @@ msgid "" "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 "" @@ -601,12 +839,17 @@ msgid "" "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 "" @@ -617,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 "" @@ -631,7 +880,18 @@ msgid "" "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 "" +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 "" @@ -640,40 +900,54 @@ msgid "" "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" -msgstr "" +msgstr ":pep:`342` - Corrotinas via Geradores Aprimorados" #: ../../whatsnew/2.5.rst:545 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 "http://www.sidhe.org/~dan/blog/archives/000178.html" +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" @@ -698,6 +972,8 @@ 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 "" @@ -733,10 +1009,12 @@ 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 "" @@ -788,6 +1066,9 @@ 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" @@ -801,6 +1082,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:" @@ -837,6 +1123,13 @@ msgid "" "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 "" @@ -873,8 +1166,8 @@ 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 "" @@ -882,9 +1175,9 @@ msgid "" "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 "" @@ -934,6 +1227,9 @@ 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 "" @@ -953,6 +1249,8 @@ 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 "" @@ -962,12 +1260,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" @@ -991,7 +1296,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 "" @@ -1000,12 +1305,18 @@ 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 "" @@ -1017,6 +1328,13 @@ msgid "" "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 "" @@ -1025,6 +1343,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 "" @@ -1036,6 +1358,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 "" @@ -1043,40 +1372,57 @@ 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 "" "A wide-ranging change to Python's C API, using a new :c:type:`Py_ssize_t` " -"type definition instead of :c:type:`int`, will permit the interpreter to " +"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." 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 "" -"Various pieces of the Python interpreter used C's :c:type:`int` type to " +"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:type:`int`. The C compilers for most 64-bit platforms " -"still define :c:type:`int` as a 32-bit type, so that meant that lists could " +"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 http://" -"www.unix.org/version2/whatsnew/lp64_wp.html for a discussion -- but the most " -"commonly available model leaves :c:type:`int` as 32 bits.)" +"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.)" 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 "" @@ -1086,6 +1432,11 @@ msgid "" "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 "" @@ -1093,12 +1444,21 @@ msgid "" "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:type:`int`, and this will be a 64-bit type on 64-bit " +"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.)" 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 "" @@ -1108,33 +1468,45 @@ msgid "" "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:type:`int` by " +"`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 "" @@ -1146,6 +1518,13 @@ 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 "" @@ -1154,6 +1533,10 @@ msgid "" "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 "" @@ -1161,6 +1544,9 @@ 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 "" @@ -1168,6 +1554,9 @@ msgid "" "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 "" @@ -1179,11 +1568,11 @@ msgstr "" #: ../../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" @@ -1194,6 +1583,8 @@ 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 "" @@ -1204,12 +1595,20 @@ msgid "" "`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 "" @@ -1223,6 +1622,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::" @@ -1232,16 +1640,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 "" @@ -1252,10 +1663,16 @@ 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 "" @@ -1266,6 +1683,12 @@ msgid "" "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 "" @@ -1276,6 +1699,12 @@ msgid "" "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 "" @@ -1285,6 +1714,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 "" @@ -1293,6 +1727,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 "" @@ -1303,6 +1741,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 "" @@ -1310,10 +1754,13 @@ 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 "" @@ -1327,20 +1774,31 @@ msgid "" "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 "" @@ -1348,6 +1806,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 "" @@ -1356,6 +1817,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 "" @@ -1363,6 +1828,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" @@ -1376,6 +1844,11 @@ 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 "" @@ -1385,6 +1858,11 @@ msgid "" "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 "" @@ -1394,6 +1872,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 "" @@ -1402,6 +1885,10 @@ 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 "" @@ -1420,6 +1907,9 @@ 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 "" @@ -1427,6 +1917,9 @@ msgid "" "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 "" @@ -1435,6 +1928,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 "" @@ -1445,7 +1942,14 @@ msgid "" "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.)" -msgstr "" +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 "" @@ -1454,6 +1958,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 "" @@ -1461,10 +1969,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 "" @@ -1474,6 +1985,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 "" @@ -1494,6 +2010,16 @@ msgid "" "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 "" @@ -1502,6 +2028,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 "" @@ -1511,14 +2041,19 @@ 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 "" @@ -1527,6 +2062,10 @@ msgid "" "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 "" @@ -1534,6 +2073,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 "" @@ -1545,6 +2087,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 "" @@ -1553,6 +2102,10 @@ 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 "" @@ -1560,11 +2113,19 @@ msgid "" "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 :" +"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 "" @@ -1577,10 +2138,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 "" @@ -1589,6 +2158,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 "" @@ -1597,6 +2170,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 "" @@ -1604,6 +2181,9 @@ 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 "" @@ -1612,12 +2192,18 @@ msgid "" "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 "" @@ -1641,6 +2227,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 "" @@ -1649,6 +2242,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.)" @@ -1660,12 +2257,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 "" @@ -1676,6 +2278,12 @@ 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 "" @@ -1683,16 +2291,21 @@ msgid "" "`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 "" @@ -1704,12 +2317,21 @@ 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 "" @@ -1734,6 +2356,12 @@ msgid "" "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 "" @@ -1743,6 +2371,11 @@ 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 "" @@ -1752,6 +2385,11 @@ msgid "" "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 "" @@ -1772,6 +2410,14 @@ 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 "" @@ -1780,6 +2426,10 @@ msgid "" "`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 "" @@ -1790,6 +2440,12 @@ 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 "" @@ -1806,6 +2462,10 @@ 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 "" @@ -1817,12 +2477,21 @@ msgid "" "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 "" @@ -1833,6 +2502,12 @@ 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 "" @@ -1840,6 +2515,9 @@ msgid "" "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 "" @@ -1848,6 +2526,10 @@ 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 "" @@ -1855,6 +2537,9 @@ msgid "" "`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 "" @@ -1874,6 +2559,12 @@ msgid "" "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 "" @@ -1883,6 +2574,11 @@ 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 "" @@ -1890,6 +2586,9 @@ msgid "" "`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 "" @@ -1906,6 +2605,12 @@ msgid "" "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 "" @@ -1914,6 +2619,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 "" @@ -1921,6 +2630,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 "" @@ -1930,6 +2642,11 @@ 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 "" @@ -1938,6 +2655,10 @@ msgid "" "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 "" @@ -1946,6 +2667,10 @@ msgid "" "the topmost stack frame currently active in that thread at the time the " "function is called. (Contributed by Tim Peters.)" 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 "" @@ -1955,12 +2680,19 @@ msgid "" "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 "" @@ -1970,6 +2702,11 @@ 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 "" @@ -1989,20 +2726,34 @@ 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 "(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.)" msgstr "" - -#: ../../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.)" -msgstr "" #: ../../whatsnew/2.5.rst:1641 msgid "" @@ -2017,6 +2768,16 @@ msgid "" "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 "" @@ -2032,6 +2793,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 "" @@ -2040,10 +2804,14 @@ 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 "" @@ -2061,11 +2829,15 @@ msgid "" "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:type:`char " +"`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 " @@ -2073,6 +2845,14 @@ msgid "" "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 "" @@ -2081,12 +2861,18 @@ 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::" 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 "" @@ -2094,7 +2880,7 @@ msgid "" "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:type:`PyObject \\*` pointer. A simple " +"constructor that will create a :c:expr:`PyObject *` pointer. A simple " "usage::" msgstr "" @@ -2112,22 +2898,31 @@ msgid "" "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 "http://starship.python.net/crew/theller/ctypes/" +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 ctypes web page, with a tutorial, reference, and FAQ." -msgstr "" +msgid "The pre-stdlib ctypes web page, with a tutorial, reference, and FAQ." +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 "" @@ -2137,13 +2932,21 @@ 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 "" "The rest of this section will provide a brief overview of using ElementTree. " -"Full documentation for ElementTree is available at http://effbot.org/zone/" -"element-index.htm." +"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 "" @@ -2153,6 +2956,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 "" @@ -2160,12 +2968,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." 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 "" @@ -2174,6 +2987,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 "" @@ -2181,6 +2998,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" @@ -2196,7 +3016,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]``" @@ -2204,7 +3024,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)``" @@ -2212,7 +3032,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)``" @@ -2220,7 +3040,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)``" @@ -2228,23 +3048,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()``" @@ -2252,7 +3072,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)``" @@ -2260,15 +3080,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``" @@ -2276,15 +3096,15 @@ 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 "" @@ -2292,6 +3112,9 @@ msgid "" "`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 "" @@ -2299,6 +3122,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 "" @@ -2309,24 +3135,36 @@ 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 "http://effbot.org/zone/element-index.htm" +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 "" @@ -2354,21 +3192,29 @@ 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 "" -"The pysqlite module (http://www.pysqlite.org), a wrapper for the SQLite " +"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`." 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 "" @@ -2379,12 +3225,20 @@ msgid "" "application using SQLite and then port the code to a larger database such as " "PostgreSQL or Oracle." msgstr "" +"SQLite é uma biblioteca C que fornece um banco de dados leve baseado em " +"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 um aplicativo usando SQLite e, em seguida, " +"portar o código para um banco de dados maior, como PostgreSQL ou Oracle." #: ../../whatsnew/2.5.rst:1944 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 "" @@ -2394,6 +3248,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 "" @@ -2401,18 +3260,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 "" @@ -2421,6 +3287,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 "" @@ -2430,6 +3300,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 "" @@ -2438,50 +3313,58 @@ 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 "http://www.pysqlite.org" -msgstr "" +msgid "https://www.pysqlite.org" +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" -msgstr "" +msgstr "https://www.sqlite.org" #: ../../whatsnew/2.5.rst:2026 msgid "" "The SQLite web page; the documentation describes the syntax and the " "available data types for the supported SQL dialect." msgstr "" +"A página web do SQLite; a documentação descreve a sintaxe e os tipos de " +"dados disponíveis para o dialeto SQL suportado." #: ../../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" -msgstr "" +msgstr ":pep:`249` - Especificação 2.0 da API de banco de dados" #: ../../whatsnew/2.5.rst:2032 msgid "PEP written by Marc-André Lemburg." -msgstr "" +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 "" @@ -2490,6 +3373,10 @@ msgid "" "`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 "" @@ -2497,30 +3384,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 "http://www.wsgi.org" +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 "" @@ -2528,6 +3422,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 "" @@ -2537,14 +3434,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:type:" +"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 "" @@ -2553,6 +3459,10 @@ 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 "" @@ -2560,6 +3470,9 @@ msgid "" "`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 "" @@ -2583,6 +3496,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 "" @@ -2594,6 +3512,13 @@ 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 "" @@ -2605,6 +3530,13 @@ msgid "" "`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 "" @@ -2625,6 +3557,11 @@ msgid "" "`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 "" @@ -2633,6 +3570,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 "" @@ -2653,6 +3594,8 @@ 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 "" @@ -2669,6 +3612,9 @@ 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 "" @@ -2680,13 +3626,15 @@ msgstr "" #: ../../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." 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 "" @@ -2695,6 +3643,10 @@ msgid "" "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 "" @@ -2702,16 +3654,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 "" @@ -2720,6 +3677,10 @@ 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 "" @@ -2727,6 +3688,9 @@ msgid "" "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 "" @@ -2735,6 +3699,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 "" @@ -2743,6 +3711,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 "" @@ -2751,6 +3723,10 @@ 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 "" @@ -2771,19 +3747,27 @@ msgstr "" #: ../../whatsnew/2.5.rst:2267 msgid "" -"C API: Many functions now use :c:type:`Py_ssize_t` instead of :c:type:`int` " +"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." 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 "" "C API: The obmalloc changes mean that you must be careful to not mix usage " -"of the :c:func:`PyMem_\\*` and :c:func:`PyObject_\\*` families of functions. " -"Memory allocated with one family's :c:func:`\\*_Malloc` must be freed with " -"the corresponding family's :c:func:`\\*_Free` function." +"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." 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" @@ -2799,3 +3783,10 @@ 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." diff --git a/whatsnew/2.6.po b/whatsnew/2.6.po index 730c783e5..82c6c4a75 100644 --- a/whatsnew/2.6.po +++ b/whatsnew/2.6.po @@ -1,32 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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 -# Raphael Mendonça, 2021 -# Ricardo Cappellano , 2021 -# Victor Matheus Castro , 2021 -# Rafael Fontenelle , 2021 -# Claudio Rogerio Carvalho Filho , 2021 -# Augusta Carla Klug , 2021 +# python-doc bot, 2025 # #, 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:51+0000\n" -"Last-Translator: Augusta Carla Klug , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:59+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../whatsnew/2.6.rst:5 msgid "What's New in Python 2.6" @@ -42,11 +37,11 @@ msgstr "A.M. Kuchling (amk at amk.ca)" #: ../../whatsnew/2.6.rst:52 msgid "" -"This article explains the new features in Python 2.6, released on October 1 " +"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`." +"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 msgid "" @@ -233,8 +228,8 @@ msgid "" "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 " @@ -242,12 +237,12 @@ msgid "" 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 " +"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-" +"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." @@ -272,9 +267,9 @@ 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 http://svn.python." -"org/view/tracker/importer/ and may be useful to other projects wishing to " -"move from SourceForge to Roundup." +"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 "" #: ../../whatsnew/2.6.rst:185 @@ -286,24 +281,24 @@ msgid "The Python bug tracker." msgstr "The Python bug tracker." #: ../../whatsnew/2.6.rst:188 -msgid "http://bugs.jython.org:" -msgstr "http://bugs.jython.org:" +msgid "https://bugs.jython.org:" +msgstr "https://bugs.jython.org:" #: ../../whatsnew/2.6.rst:188 msgid "The Jython bug tracker." msgstr "The Jython bug tracker." #: ../../whatsnew/2.6.rst:191 -msgid "http://roundup.sourceforge.net/" -msgstr "http://roundup.sourceforge.net/" +msgid "https://roundup.sourceforge.io/" +msgstr "https://roundup.sourceforge.io/" #: ../../whatsnew/2.6.rst:191 msgid "Roundup downloads and documentation." msgstr "Roundup downloads and documentation." #: ../../whatsnew/2.6.rst:193 -msgid "http://svn.python.org/view/tracker/importer/" -msgstr "http://svn.python.org/view/tracker/importer/" +msgid "https://svn.python.org/view/tracker/importer/" +msgstr "https://svn.python.org/view/tracker/importer/" #: ../../whatsnew/2.6.rst:194 msgid "Martin von Löwis's conversion scripts." @@ -353,11 +348,11 @@ msgstr "" 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 http://sphinx-doc.org/." +"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 http://sphinx-doc.org/." +"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 msgid "" @@ -378,26 +373,30 @@ msgid "" "org/en/master/examples.html>`__) 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 msgid "`Documenting Python `__" -msgstr "" +msgstr "`Documenting Python `__" #: ../../whatsnew/2.6.rst:236 msgid "Describes how to write for Python's documentation." msgstr "Describes how to write for Python's documentation." #: ../../whatsnew/2.6.rst:239 -msgid "`Sphinx `__" -msgstr "`Sphinx `__" +msgid "`Sphinx `__" +msgstr "`Sphinx `__" #: ../../whatsnew/2.6.rst:239 msgid "Documentation and code for the Sphinx toolchain." msgstr "Documentation and code for the Sphinx toolchain." #: ../../whatsnew/2.6.rst:241 -msgid "`Docutils `__" -msgstr "`Docutils `__" +msgid "`Docutils `__" +msgstr "`Docutils `__" #: ../../whatsnew/2.6.rst:242 msgid "The underlying reStructuredText parser and toolset." @@ -417,6 +416,13 @@ 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 msgid "" @@ -538,6 +544,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.6.rst:339 msgid "A high-level explanation of the context management protocol is:" @@ -624,8 +635,8 @@ 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 msgid "" @@ -633,9 +644,9 @@ msgid "" "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 msgid "" @@ -716,6 +727,11 @@ 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 msgid "" @@ -791,12 +807,12 @@ msgstr "PEP 370: Per-user ``site-packages`` Directory" 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 " +"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 " +"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 @@ -990,23 +1006,25 @@ msgstr "PEP 3101: Advanced String Formatting" #: ../../whatsnew/2.6.rst:720 msgid "" -"In Python 3.0, the `%` operator is supplemented by a more powerful string " +"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." +"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 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::" +"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::" +"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 msgid "Curly brackets can be escaped by doubling them::" @@ -1338,12 +1356,12 @@ msgstr "" #: ../../whatsnew/2.6.rst:920 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 variable " -"``exc``, you must write::" +"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 " +"variable ``exc``, you must write::" msgstr "" -"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 variable " +"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 variable " "``exc``, you must write::" #: ../../whatsnew/2.6.rst:929 @@ -1950,19 +1968,19 @@ msgstr "" #: ../../whatsnew/2.6.rst:1337 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* argument " -"is zero (signalling that the base used should be determined from the " -"string)::" +"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* " +"argument is zero (signalling that the base used should be determined from " +"the string)::" msgstr "" -"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* argument " -"is zero (signalling that the base used should be determined from the " -"string)::" +"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* " +"argument is zero (signalling that the base used should be determined from " +"the string)::" #: ../../whatsnew/2.6.rst:1355 msgid ":pep:`3127` - Integer Literal Support and Syntax" -msgstr "" +msgstr ":pep:`3127` - Integer Literal Support and Syntax" #: ../../whatsnew/2.6.rst:1355 msgid "PEP written by Patrick Maupin; backported to 2.6 by Eric Smith." @@ -2098,11 +2116,9 @@ msgstr "" #: ../../whatsnew/2.6.rst:1436 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 msgid "The :mod:`fractions` Module" @@ -2164,7 +2180,7 @@ msgstr "Outras mudanças na linguagem" #: ../../whatsnew/2.6.rst:1487 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 msgid "" @@ -2190,13 +2206,13 @@ msgid "" "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 msgid "" @@ -2294,8 +2310,8 @@ msgstr "(Contributed by Raymond Hettinger.)" #: ../../whatsnew/2.6.rst:1598 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 " +"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`.)" msgstr "" @@ -2464,6 +2480,10 @@ msgid "" "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 msgid "Optimizations" @@ -2583,7 +2603,7 @@ msgstr "" #: ../../whatsnew/2.6.rst:1752 msgid "Interpreter Changes" -msgstr "Alterações do interpretador" +msgstr "Alterações no interpretador" #: ../../whatsnew/2.6.rst:1754 msgid "" @@ -2653,11 +2673,12 @@ 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 msgid "" @@ -2884,14 +2905,14 @@ msgstr "" #: ../../whatsnew/2.6.rst:1928 msgid "" "The :mod:`decimal` module was updated to version 1.66 of `the General " -"Decimal Specification `__. " +"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`::" +"Decimal Specification `__. " +"New features include some methods for some basic mathematical functions such " +"as :meth:`exp` and :meth:`log10`::" #: ../../whatsnew/2.6.rst:1940 msgid "" @@ -3618,14 +3639,14 @@ msgid "" "The :func:`setitimer` and :func:`getitimer` functions have also been added " "(where they're available). :func:`setitimer` allows setting interval timers " "that will cause a signal to be delivered to the process after a specified " -"time, measured in wall-clock time, consumed process time, or combined process" -"+system time. (Contributed by Guilherme Polo; :issue:`2240`.)" +"time, measured in wall-clock time, consumed process time, or combined " +"process+system time. (Contributed by Guilherme Polo; :issue:`2240`.)" msgstr "" "The :func:`setitimer` and :func:`getitimer` functions have also been added " "(where they're available). :func:`setitimer` allows setting interval timers " "that will cause a signal to be delivered to the process after a specified " -"time, measured in wall-clock time, consumed process time, or combined process" -"+system time. (Contributed by Guilherme Polo; :issue:`2240`.)" +"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 msgid "" @@ -3721,10 +3742,10 @@ msgstr "" #: ../../whatsnew/2.6.rst:2392 msgid "" -"The :mod:`struct` module now supports the C99 :c:type:`_Bool` type, using " +"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:type:`_Bool` type, using " +"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 @@ -3849,14 +3870,14 @@ msgid "" "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-" +"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-" +"initially passed to :meth:`add` and to the names of files in recursively " "added directories." #: ../../whatsnew/2.6.rst:2465 @@ -3950,11 +3971,11 @@ msgstr "(Contributed by Brett Cannon.)" #: ../../whatsnew/2.6.rst:2515 msgid "" "The :mod:`textwrap` module can now preserve existing whitespace at the " -"beginnings and ends of the newly-created lines by specifying " +"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 " +"beginnings and ends of the newly created lines by specifying " "``drop_whitespace=False`` as an argument::" #: ../../whatsnew/2.6.rst:2534 @@ -4611,11 +4632,11 @@ msgstr "" #: ../../whatsnew/2.6.rst:2979 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 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 msgid "" @@ -4839,7 +4860,7 @@ msgstr "" #: ../../whatsnew/2.6.rst:3097 msgid "Port-Specific Changes: Windows" -msgstr "Port-Specific Changes: Windows" +msgstr "Alterações específicas da porta: Windows" #: ../../whatsnew/2.6.rst:3099 msgid "" @@ -4937,7 +4958,7 @@ msgstr "" #: ../../whatsnew/2.6.rst:3146 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 msgid "" diff --git a/whatsnew/2.7.po b/whatsnew/2.7.po index 840aed6eb..a0454de19 100644 --- a/whatsnew/2.7.po +++ b/whatsnew/2.7.po @@ -1,34 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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 -# Vinicius Gubiani Ferreira , 2021 -# Raphael Mendonça, 2021 -# Ricardo Cappellano , 2021 -# Victor Matheus Castro , 2021 -# Adorilson Bezerra , 2021 -# Rafael Fontenelle , 2021 -# Claudio Rogerio Carvalho Filho , 2021 +# python-doc bot, 2025 # #, 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:51+0000\n" -"Last-Translator: Claudio Rogerio Carvalho Filho , " -"2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:59+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../whatsnew/2.7.rst:3 msgid "What's New in Python 2.7" @@ -92,7 +85,7 @@ 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 o PEP " +"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." @@ -179,14 +172,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 +194,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." @@ -276,9 +269,9 @@ msgstr "" msgid "" "You can re-enable display of :exc:`DeprecationWarning` messages by running " "Python with the :option:`-Wdefault <-W>` (short form: :option:`-Wd <-W>`) " -"switch, or by setting the :envvar:`PYTHONWARNINGS` environment variable to ``" -"\"default\"`` (or ``\"d\"``) before running Python. Python code can also re-" -"enable them by calling ``warnings.simplefilter('default')``." +"switch, or by setting the :envvar:`PYTHONWARNINGS` environment variable to " +"``\"default\"`` (or ``\"d\"``) before running Python. Python code can also " +"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:" @@ -410,7 +403,7 @@ msgstr "" #: ../../whatsnew/2.7.rst:214 msgid "PEP 372: Adding an Ordered Dictionary to collections" -msgstr "PEP 372: Adicionando um dicionário ordenado a coleções " +msgstr "PEP 372: Adicionando um dicionário ordenado a coleções" #: ../../whatsnew/2.7.rst:216 msgid "" @@ -420,12 +413,12 @@ msgid "" "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 +426,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 +449,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,29 +467,29 @@ 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 msgid "" -"How does the :class:`~collections.OrderedDict` work? It maintains a doubly-" +"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)." msgstr "" -"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)." +"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)." #: ../../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 "" @@ -523,12 +516,13 @@ msgid "" "The :mod:`json` module's :class:`~json.JSONDecoder` class constructor was " "extended with an *object_pairs_hook* parameter to allow :class:`OrderedDict` " "instances to be built by the decoder. Support was also added for third-party " -"tools like `PyYAML `_." +"tools like `PyYAML `_." msgstr "" -"O construtor da classe :class:`~json.JSONDecoder` do módulo :mod:`json` foi " +"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. Suporte também foi " -"adicionado para ferramentas de terceiros como `PyYAML `_." +"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" @@ -539,7 +533,7 @@ msgid "" "PEP written by Armin Ronacher and Raymond Hettinger; implemented by Raymond " "Hettinger." msgstr "" -"PEP escrito por Armin Ronacher e Raymond Hettinger; implementado por Raymond " +"PEP escrita por Armin Ronacher e Raymond Hettinger; implementada por Raymond " "Hettinger." #: ../../whatsnew/2.7.rst:313 @@ -602,7 +596,7 @@ msgstr ":pep:`378` - Especificador de formato para separador de milhares" #: ../../whatsnew/2.7.rst:346 msgid "PEP written by Raymond Hettinger; implemented by Eric Smith." -msgstr "PEP escrito por Raymond Hettinger; implementado por Eric Smith." +msgstr "PEP escrita por Raymond Hettinger; implementada por Eric Smith." #: ../../whatsnew/2.7.rst:349 msgid "PEP 389: The argparse Module for Parsing Command Lines" @@ -644,9 +638,9 @@ msgid "" "compatibility with earlier versions of Python, use :mod:`argparse` instead " "of :mod:`optparse`." msgstr "" -"In short, if you're writing a new script and don't need to worry about " -"compatibility with earlier versions of Python, use :mod:`argparse` instead " -"of :mod:`optparse`." +"Resumindo, se você está escrevendo um novo script e não precisa se preocupar " +"com a compatibilidade com versões anteriores do Python, use :mod:`argparse` " +"ao invés de :mod:`optparse`." #: ../../whatsnew/2.7.rst:370 msgid "Here's an example::" @@ -657,16 +651,17 @@ msgid "" "Unless you override it, :option:`!-h` and :option:`!--help` switches are " "automatically added, and produce neatly formatted output::" msgstr "" -"Unless you override it, :option:`!-h` and :option:`!--help` switches are " -"automatically added, and produce neatly formatted output::" +"A menos que você o substitua, as opções :option:`!-h` e :option:`!--help` " +"são adicionadas automaticamente e produzem uma saída formatada de maneira " +"organizada::" #: ../../whatsnew/2.7.rst:410 msgid "" "As with :mod:`optparse`, the command-line switches and arguments are " "returned as an object with attributes named by the *dest* parameters::" msgstr "" -"As with :mod:`optparse`, the command-line switches and arguments are " -"returned as an object with attributes named by the *dest* parameters::" +"Como em :mod:`optparse`, as opções e argumentos da linha de comando são " +"retornados como um objeto com atributos nomeados pelos parâmetros *dest*::" #: ../../whatsnew/2.7.rst:425 msgid "" @@ -679,22 +674,23 @@ msgid "" "FileType`, which will automatically open files for you and understands that " "``'-'`` means standard input or output." msgstr "" -":mod:`argparse` has much fancier validation than :mod:`optparse`; you can " -"specify an exact number of arguments as an integer, 0 or more arguments by " -"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." +":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" -msgstr ":mod:`argparse` documentation" +msgstr "Documentação do :mod:`argparse`" #: ../../whatsnew/2.7.rst:438 msgid "The documentation page of the argparse module." -msgstr "The documentation page of the argparse module." +msgstr "A página de documentação do módulo argparse." #: ../../whatsnew/2.7.rst:442 msgid ":ref:`upgrading-optparse-code`" @@ -705,20 +701,21 @@ msgid "" "Part of the Python documentation, describing how to convert code that uses :" "mod:`optparse`." msgstr "" -"Part of the Python documentation, describing how to convert code that uses :" -"mod:`optparse`." +"Parte da documentação do Python, descrevendo como converter o código que " +"usa :mod:`optparse`." #: ../../whatsnew/2.7.rst:444 msgid ":pep:`389` - argparse - New Command Line Parsing Module" -msgstr ":pep:`389` - argparse - New Command Line Parsing Module" +msgstr "" +":pep:`389` - argparse - Novo módulo de análise sintática de linha de comando" #: ../../whatsnew/2.7.rst:445 msgid "PEP written and implemented by Steven Bethard." -msgstr "PEP written and implemented by Steven Bethard." +msgstr "PEP escrita e implementada por Steven Bethard." #: ../../whatsnew/2.7.rst:448 msgid "PEP 391: Dictionary-Based Configuration For Logging" -msgstr "PEP 391: Dictionary-Based Configuration For Logging" +msgstr "PEP 391: Configuração baseada em dicionário para logging" #: ../../whatsnew/2.7.rst:450 msgid "" @@ -727,10 +724,10 @@ msgid "" "messages, format them differently, and direct messages to a varying number " "of handlers." msgstr "" -"The :mod:`logging` module is very flexible; applications can define a tree " -"of logging subsystems, and each logger in this tree can filter out certain " -"messages, format them differently, and direct messages to a varying number " -"of handlers." +"O módulo :mod:`logging` é muito flexível; os aplicativos podem definir uma " +"árvore de subsistemas de log e cada logger nessa árvore pode filtrar " +"determinadas mensagens, formatá-las de maneira diferente e direcionar " +"mensagens para um número variável de manipuladores." #: ../../whatsnew/2.7.rst:455 msgid "" @@ -741,12 +738,12 @@ msgid "" "doesn't support configuring filters, and it's messier to generate " "programmatically." msgstr "" -"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." +"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." #: ../../whatsnew/2.7.rst:462 msgid "" @@ -756,11 +753,11 @@ msgid "" "containing JSON; or use a YAML parsing library if one is installed. For " "more information see :ref:`logging-config-api`." msgstr "" -"Python 2.7 adds a :func:`~logging.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`." +"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 " +"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`." #: ../../whatsnew/2.7.rst:468 msgid "" @@ -770,19 +767,19 @@ msgid "" "will be written to a :file:`network.log` file that will be rotated once the " "log reaches 1MB." msgstr "" -"The following example configures two loggers, the root logger and a logger " -"named \"network\". Messages sent to the root logger will be sent to the " -"system log using the syslog protocol, and messages to the \"network\" logger " -"will be written to a :file:`network.log` file that will be rotated once the " -"log reaches 1MB." +"O exemplo a seguir configura dois loggers, o logger raiz e um logger " +"denominado \"network\". As mensagens enviadas para o registrador raiz serão " +"enviadas para o log do sistema usando o protocolo syslog, e as mensagens " +"para o logger \"network\" serão gravadas em um arquivo :file:`network.log` " +"que será rotacionado assim que o log atingir 1 MB." #: ../../whatsnew/2.7.rst:518 msgid "" "Three smaller enhancements to the :mod:`logging` module, all implemented by " "Vinay Sajip, are:" msgstr "" -"Three smaller enhancements to the :mod:`logging` module, all implemented by " -"Vinay Sajip, are:" +"Três melhorias menores no módulo :mod:`logging`, todas implementadas por " +"Vinay Sajip, são:" #: ../../whatsnew/2.7.rst:523 msgid "" @@ -791,10 +788,10 @@ msgid "" "socket to use, either :const:`socket.SOCK_DGRAM` for UDP or :const:`socket." "SOCK_STREAM` for TCP. The default protocol remains UDP." msgstr "" -"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." +"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." #: ../../whatsnew/2.7.rst:529 msgid "" @@ -804,11 +801,11 @@ msgid "" "calling ``log.getChild('network.listen')`` is equivalent to ``getLogger('app." "network.listen')``." msgstr "" -":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')``." +"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 "" @@ -816,21 +813,21 @@ msgid "" "LoggerAdapter.isEnabledFor` method that takes a *level* and returns whether " "the underlying logger would process a message of that level of importance." msgstr "" -"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." +"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." #: ../../whatsnew/2.7.rst:544 msgid ":pep:`391` - Dictionary-Based Configuration For Logging" -msgstr ":pep:`391` - Dictionary-Based Configuration For Logging" +msgstr ":pep:`391` - Configuração baseada em dicionário para logging" #: ../../whatsnew/2.7.rst:545 msgid "PEP written and implemented by Vinay Sajip." -msgstr "PEP written and implemented by Vinay Sajip." +msgstr "PEP escrita e implementada por Vinay Sajip." #: ../../whatsnew/2.7.rst:548 msgid "PEP 3106: Dictionary Views" -msgstr "PEP 3106: Dictionary Views" +msgstr "PEP 3106: Views de dicionário" #: ../../whatsnew/2.7.rst:550 msgid "" @@ -838,9 +835,9 @@ msgid "" "`~dict.items` are different in Python 3.x. They return an object called a :" "dfn:`view` instead of a fully materialized list." msgstr "" -"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." +"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 "" @@ -849,34 +846,36 @@ msgid "" "would break. Instead the 3.x versions were added under the new names :meth:" "`~dict.viewkeys`, :meth:`~dict.viewvalues`, and :meth:`~dict.viewitems`." msgstr "" -"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`." +"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`." #: ../../whatsnew/2.7.rst:568 msgid "" "Views can be iterated over, but the key and item views also behave like " "sets. The ``&`` operator performs intersection, and ``|`` performs a union::" msgstr "" -"Views can be iterated over, but the key and item views also behave like " -"sets. The ``&`` operator performs intersection, and ``|`` performs a union::" +"As views podem ser iteradas, mas as exibições de chave e item também se " +"comportam como conjuntos. O operador ``&`` realiza a interseção, e o ``|`` " +"realiza uma união::" #: ../../whatsnew/2.7.rst:579 msgid "" "The view keeps track of the dictionary and its contents change as the " "dictionary is modified::" msgstr "" -"The view keeps track of the dictionary and its contents change as the " -"dictionary is modified::" +"A view acompanha o dicionário e seu conteúdo muda à medida que o dicionário " +"é modificado::" #: ../../whatsnew/2.7.rst:589 msgid "" "However, note that you can't add or remove keys while you're iterating over " "the view::" msgstr "" -"However, note that you can't add or remove keys while you're iterating over " -"the view::" +"No entanto, observe que você não pode adicionar ou remover chaves enquanto " +"estiver iterando na view::" #: ../../whatsnew/2.7.rst:599 msgid "" @@ -884,61 +883,61 @@ msgid "" "change them to the standard :meth:`~dict.keys`, :meth:`~dict.values`, and :" "meth:`~dict.items` methods." msgstr "" -"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." +"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`." #: ../../whatsnew/2.7.rst:606 msgid ":pep:`3106` - Revamping dict.keys(), .values() and .items()" -msgstr ":pep:`3106` - Revamping dict.keys(), .values() and .items()" +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`." msgstr "" -"PEP written by Guido van Rossum. Backported to 2.7 by Alexandre Vassalotti; :" -"issue:`1967`." +"PEP escrita por Guido van Rossum. Backported para 2.7 por Alexandre " +"Vassalotti; :issue:`1967`." #: ../../whatsnew/2.7.rst:611 msgid "PEP 3137: The memoryview Object" -msgstr "PEP 3137: The memoryview Object" +msgstr "PEP 3137: O objeto memoryview" #: ../../whatsnew/2.7.rst:613 msgid "" "The :class:`memoryview` object provides a view of another object's memory " "content that matches the :class:`bytes` type's interface." msgstr "" -"The :class:`memoryview` object provides a view of another object's memory " -"content that matches the :class:`bytes` type's interface." +"O objeto :class:`memoryview` fornece uma visão do conteúdo da memória de " +"outro objeto que corresponde à interface do tipo :class:`bytes`." #: ../../whatsnew/2.7.rst:631 msgid "" "The content of the view can be converted to a string of bytes or a list of " "integers:" msgstr "" -"The content of the view can be converted to a string of bytes or a list of " -"integers:" +"O conteúdo da viewq pode ser convertido em uma string de bytes ou uma lista " +"de inteiros:" #: ../../whatsnew/2.7.rst:643 msgid "" ":class:`memoryview` objects allow modifying the underlying object if it's a " "mutable object." msgstr "" -":class:`memoryview` objects allow modifying the underlying object if it's a " -"mutable object." +"Objetos :class:`memoryview` permitem modificar o objeto subjacente se for um " +"objeto mutável." #: ../../whatsnew/2.7.rst:666 msgid ":pep:`3137` - Immutable Bytes and Mutable Buffer" -msgstr ":pep:`3137` - Immutable Bytes and Mutable Buffer" +msgstr ":pep:`3137` - Bytes imutáveis e buffer mutável" #: ../../whatsnew/2.7.rst:665 msgid "" "PEP written by Guido van Rossum. Implemented by Travis Oliphant, Antoine " "Pitrou and others. Backported to 2.7 by Antoine Pitrou; :issue:`2396`." msgstr "" -"PEP written by Guido van Rossum. Implemented by Travis Oliphant, Antoine " -"Pitrou and others. Backported to 2.7 by Antoine Pitrou; :issue:`2396`." +"PEP escrita por Guido van Rossum. Implementada por Travis Oliphant, Antoine " +"Pitrou e outros. Portado para 2.7 por Antoine Pitrou; :issue:`2396`." #: ../../whatsnew/2.7.rst:672 msgid "Other Language Changes" @@ -946,7 +945,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 "" @@ -956,15 +955,15 @@ msgid "" "values. ``{}`` continues to represent an empty dictionary; use ``set()`` for " "an empty set." msgstr "" -"The syntax for set literals has been backported from Python 3.x. Curly " -"brackets are used to surround the contents of the resulting mutable set; set " -"literals are distinguished from dictionaries by not containing colons and " -"values. ``{}`` continues to represent an empty dictionary; use ``set()`` for " -"an empty set." +"A sintaxe para set literais foi portada do Python 3.x. Os colchetes são " +"usados para cercar o conteúdo do conjunto mutável resultante; os literais " +"definidos são diferenciados dos dicionários por não conterem caracteres de " +"dois pontos e valores. ``{}`` continua a representar um dicionário vazio; " +"use ``set()`` para um conjunto vazio." #: ../../whatsnew/2.7.rst:693 msgid "Backported by Alexandre Vassalotti; :issue:`2335`." -msgstr "Backported by Alexandre Vassalotti; :issue:`2335`." +msgstr "Portado por Alexandre Vassalotti; :issue:`2335`." #: ../../whatsnew/2.7.rst:695 msgid "" @@ -972,13 +971,13 @@ msgid "" "generalizing list/generator comprehensions to use the literal syntax for " "sets and dictionaries." msgstr "" -"Dictionary and set comprehensions are another feature backported from 3.x, " -"generalizing list/generator comprehensions to use the literal syntax for " -"sets and dictionaries." +"As compreensões de dicionário e conjunto são outro recurso importado do 3.x, " +"generalizando as compreensões de lista/gerador para usar a sintaxe literal " +"para conjuntos e dicionários." #: ../../whatsnew/2.7.rst:707 msgid "Backported by Alexandre Vassalotti; :issue:`2333`." -msgstr "Backported by Alexandre Vassalotti; :issue:`2333`." +msgstr "Portado por Alexandre Vassalotti; :issue:`2333`." #: ../../whatsnew/2.7.rst:709 msgid "" @@ -986,6 +985,10 @@ msgid "" "statement. Context managers are processed from left to right and each one " "is treated as beginning a new :keyword:`!with` statement. This means that::" 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::" #: ../../whatsnew/2.7.rst:717 msgid "is equivalent to::" @@ -996,15 +999,15 @@ msgid "" "The :func:`contextlib.nested` function provides a very similar function, so " "it's no longer necessary and has been deprecated." msgstr "" -"The :func:`contextlib.nested` function provides a very similar function, so " -"it's no longer necessary and has been deprecated." +"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 msgid "" "(Proposed in https://codereview.appspot.com/53094; implemented by Georg " "Brandl.)" msgstr "" -"(Proposed in https://codereview.appspot.com/53094; implemented by Georg " +"(Proposta em https://codereview.appspot.com/53094; implementada por Georg " "Brandl.)" #: ../../whatsnew/2.7.rst:729 @@ -1017,13 +1020,14 @@ msgid "" "`pickle` and :mod:`json` modules; parsing of float and imaginary literals in " "Python code; and :class:`~decimal.Decimal`-to-float conversion." msgstr "" -"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." +"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." #: ../../whatsnew/2.7.rst:741 msgid "" @@ -1032,10 +1036,11 @@ msgid "" "back to *x* under correct rounding (with round-half-to-even rounding mode). " "Previously it gave a string based on rounding x to 17 decimal digits." msgstr "" -"Related to this, the :func:`repr` of a floating-point number *x* now returns " -"a result based on the shortest decimal string that's guaranteed to round " -"back to *x* under correct rounding (with round-half-to-even rounding mode). " -"Previously it gave a string based on rounding x to 17 decimal digits." +"Relacionado a isso, o :func:`repr` de um número de ponto flutuante *x* agora " +"retorna um resultado baseado na string decimal mais curta que é garantida " +"para arredondar de volta para *x* sob o arredondamento correto (com o modo " +"de arredondamento round-half-to-even). Anteriormente, fornecia uma string " +"baseada no arredondamento x para 17 dígitos decimais." #: ../../whatsnew/2.7.rst:749 msgid "" @@ -1046,20 +1051,21 @@ msgid "" "code is being used by checking :data:`sys.float_repr_style`, which will be " "``short`` if the new code is in use and ``legacy`` if it isn't." msgstr "" -"The rounding library responsible for this improvement works on Windows and " -"on Unix platforms using the gcc, icc, or suncc compilers. There may be a " -"small number of platforms where correct operation of this code cannot be " -"guaranteed, so the code is not used on such systems. You can find out which " -"code is being used by checking :data:`sys.float_repr_style`, which will be " -"``short`` if the new code is in use and ``legacy`` if it isn't." +"A biblioteca de arredondamento responsável por essa melhoria funciona no " +"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." #: ../../whatsnew/2.7.rst:757 msgid "" "Implemented by Eric Smith and Mark Dickinson, using David Gay's :file:`dtoa." "c` library; :issue:`7117`." msgstr "" -"Implemented by Eric Smith and Mark Dickinson, using David Gay's :file:`dtoa." -"c` library; :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 "" @@ -1070,32 +1076,32 @@ msgid "" "2.7 now approximates more closely. For example, Python 2.6 computed the " "following::" msgstr "" -"Conversions from long integers and regular integers to floating point now " -"round differently, returning the floating-point number closest to the " -"number. This doesn't matter for small integers that can be converted " -"exactly, but for large numbers that will unavoidably lose precision, Python " -"2.7 now approximates more closely. For example, Python 2.6 computed the " -"following::" +"As conversões de inteiros longos e inteiros regulares para ponto flutuante " +"agora arredondam de maneira diferente, retornando o número de ponto " +"flutuante mais próximo ao número. Isso não importa para pequenos inteiros " +"que podem ser convertidos exatamente, mas para grandes números que " +"inevitavelmente perderão a precisão, o Python 2.7 agora se aproxima mais. " +"Por exemplo, o Python 2.6 computou o seguinte::" #: ../../whatsnew/2.7.rst:773 msgid "" "Python 2.7's floating-point result is larger, but much closer to the true " "value::" msgstr "" -"Python 2.7's floating-point result is larger, but much closer to the true " -"value::" +"O resultado de ponto flutuante do Python 2.7 é maior, mas muito mais próximo " +"do valor verdadeiro::" #: ../../whatsnew/2.7.rst:782 msgid "(Implemented by Mark Dickinson; :issue:`3166`.)" -msgstr "(Implemented by Mark Dickinson; :issue:`3166`.)" +msgstr "(Implementada por Mark Dickinson; :issue:`3166`.)" #: ../../whatsnew/2.7.rst:784 msgid "" "Integer division is also more accurate in its rounding behaviours. (Also " "implemented by Mark Dickinson; :issue:`1811`.)" msgstr "" -"Integer division is also more accurate in its rounding behaviours. (Also " -"implemented by Mark Dickinson; :issue:`1811`.)" +"A divisão inteira também é mais precisa em seus comportamentos de " +"arredondamento. (Também implementada por Mark Dickinson; :issue:`1811`.)" #: ../../whatsnew/2.7.rst:787 msgid "" @@ -1103,9 +1109,9 @@ msgid "" "no longer ever attempt to call a :meth:`__coerce__` method on complex " "objects. (Removed by Meador Inge and Mark Dickinson; :issue:`5211`.)" msgstr "" -"Implicit coercion for complex numbers has been removed; the interpreter will " -"no longer ever attempt to call a :meth:`__coerce__` method on complex " -"objects. (Removed by Meador Inge and Mark Dickinson; :issue:`5211`.)" +"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`.)" #: ../../whatsnew/2.7.rst:791 msgid "" @@ -1113,9 +1119,9 @@ msgid "" "replacement fields. This makes using :meth:`str.format` more closely " "resemble using ``%s`` formatting::" msgstr "" -"The :meth:`str.format` method now supports automatic numbering of the " -"replacement fields. This makes using :meth:`str.format` more closely " -"resemble using ``%s`` formatting::" +"O método :meth:`str.format` agora tem suporte à numeração automática dos " +"campos de substituição. Isso torna o uso de :meth:`str.format` mais parecido " +"com o uso da formatação ``%s``::" #: ../../whatsnew/2.7.rst:800 msgid "" @@ -1126,12 +1132,13 @@ msgid "" "fields or none of them -- but you can mix auto-numbering and named fields, " "as in the second example above. (Contributed by Eric Smith; :issue:`5237`.)" msgstr "" -"The auto-numbering takes the fields from left to right, so the first ``{...}" -"`` specifier will use the first argument to :meth:`str.format`, the next " -"specifier will use the next argument, and so on. You can't mix auto-" -"numbering and explicit numbering -- either number all of your specifier " -"fields or none of them -- but you can mix auto-numbering and named fields, " -"as in the second example above. (Contributed by Eric Smith; :issue:`5237`.)" +"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 " +"exemplo acima. (Contribuição de Eric Smith; :issue:`5237`.)" #: ../../whatsnew/2.7.rst:807 msgid "" @@ -1141,11 +1148,12 @@ msgid "" "width and alignment is applied to the whole of the resulting ``1.5+3j`` " "output. (Contributed by Eric Smith; :issue:`1588` and :issue:`7988`.)" msgstr "" -"Complex numbers now correctly support usage with :func:`format`, and default " -"to being right-aligned. Specifying a precision or comma-separation applies " -"to both the real and imaginary parts of the number, but a specified field " -"width and alignment is applied to the whole of the resulting ``1.5+3j`` " -"output. (Contributed by Eric Smith; :issue:`1588` and :issue:`7988`.)" +"Números complexos agora suportam corretamente o uso com :func:`format`, e o " +"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`.)" #: ../../whatsnew/2.7.rst:814 msgid "" @@ -1153,8 +1161,8 @@ msgid "" "characters, so it will now produce 'INF' and 'NAN'. (Contributed by Eric " "Smith; :issue:`3382`.)" msgstr "" -"The 'F' format code now always formats its output using uppercase " -"characters, so it will now produce 'INF' and 'NAN'. (Contributed by Eric " +"O código de formato 'F' agora sempre formata sua saída usando caracteres " +"maiúsculos, então agora produzirá 'INF' e 'NAN'. (Contribuição de Eric " "Smith; :issue:`3382`.)" #: ../../whatsnew/2.7.rst:818 @@ -1168,26 +1176,28 @@ msgid "" "alignment or precision, presumably you're expecting the formatting to be " "applied in some object-specific way. (Fixed by Eric Smith; :issue:`7994`.)" msgstr "" -"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`.)" +"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 " +"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 " +"fornecendo informações de formatação, como alinhamento ou precisão, " +"presumivelmente espera que a formatação seja aplicada de alguma maneira " +"específica do objeto. (Correção de Eric Smith; :issue:`7994`.)" #: ../../whatsnew/2.7.rst:828 msgid "" "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 "" -"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::" +"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::" #: ../../whatsnew/2.7.rst:843 msgid "(Contributed by Fredrik Johansson and Victor Stinner; :issue:`3439`.)" -msgstr "(Contributed by Fredrik Johansson and Victor Stinner; :issue:`3439`.)" +msgstr "(Contribuição de Fredrik Johansson e Victor Stinner; :issue:`3439`.)" #: ../../whatsnew/2.7.rst:845 msgid "" @@ -1196,6 +1206,11 @@ msgid "" "could possibly break certain :keyword:`!import` statements that were only " "working by accident. (Fixed by Meador Inge; :issue:`7902`.)" msgstr "" +"A instrução :keyword:`import` não tentará mais uma importação absoluta se " +"uma importação relativa (por exemplo, ``from .os import sep``) falhar. Isso " +"corrige um bug, mas pode possivelmente quebrar certas instruções :keyword:`!" +"import` que estavam funcionando apenas por acidente. (Correção de Meador " +"Inge; :issue:`7902`.)" #: ../../whatsnew/2.7.rst:851 msgid "" @@ -1203,8 +1218,8 @@ msgid "" "override the :meth:`__unicode__` method. (Implemented by Victor Stinner; :" "issue:`1583863`.)" msgstr "" -"It's now possible for a subclass of the built-in :class:`unicode` type to " -"override the :meth:`__unicode__` method. (Implemented by Victor Stinner; :" +"Agora é possível para uma subclasse do tipo interno :class:`unicode` " +"substituir o método :meth:`__unicode__`. (Implementado por Victor Stinner; :" "issue:`1583863`.)" #: ../../whatsnew/2.7.rst:855 @@ -1213,9 +1228,9 @@ msgid "" "accepts ``None`` as its first argument. (Fixed by Georg Brandl; :issue:" "`4759`.)" msgstr "" -"The :class:`bytearray` type's :meth:`~bytearray.translate` method now " -"accepts ``None`` as its first argument. (Fixed by Georg Brandl; :issue:" -"`4759`.)" +"O método :meth:`~bytearray.translate` do tipo :class:`bytearray` agora " +"aceita ``None`` como seu primeiro argumento. (Correção de Georg Brandl; :" +"issue:`4759`.)" #: ../../whatsnew/2.7.rst:861 msgid "" @@ -1224,10 +1239,10 @@ msgid "" "their :attr:`__func__` attribute. (Contributed by Amaury Forgeot d'Arc, " "after a suggestion by George Sakkis; :issue:`5982`.)" msgstr "" -"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`.)" +"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`.)" #: ../../whatsnew/2.7.rst:867 ../../whatsnew/2.7.rst:2462 msgid "" @@ -1235,9 +1250,9 @@ msgid "" "an unset attribute would not raise :exc:`AttributeError` as you would " "expect. Fixed by Benjamin Peterson; :issue:`7604`.)" msgstr "" -"When a restricted set of attributes were set using ``__slots__``, deleting " -"an unset attribute would not raise :exc:`AttributeError` as you would " -"expect. Fixed by Benjamin Peterson; :issue:`7604`.)" +"Quando um conjunto restrito de atributos foi definido usando ``__slots__``, " +"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 msgid "" @@ -1246,10 +1261,11 @@ msgid "" "contributed by Alexander Belchenko and Amaury Forgeot d'Arc in :issue:" "`1616979`; CP858 contributed by Tim Hatch in :issue:`8016`.)" msgstr "" -"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`.)" +"Duas novas codificações agora são suportadas: \"cp720\", usado " +"principalmente para texto em árabe; e \"cp858\", uma variante do CP 850 que " +"adiciona o símbolo do euro. (CP720 foi contribuição de Alexander Belchenko e " +"Amaury Forgeot d'Arc em :issue:`1616979`; CP858 foi contribuição de Tim " +"Hatch em :issue:`8016`.)" #: ../../whatsnew/2.7.rst:877 msgid "" @@ -1259,11 +1275,12 @@ msgid "" "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 "" -"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`)." +"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 msgid "" @@ -1272,10 +1289,10 @@ msgid "" "convention. Additionally, it no longer requires that the code end in a " "newline." msgstr "" -"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." +"O tokenizador do Python agora traduz as próprias terminações de linha, então " +"a função embutida :func:`compile` agora aceita código usando qualquer " +"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 msgid "" @@ -1284,10 +1301,10 @@ msgid "" "mode, Python 2.7 will now warn about this odd usage. (Noted by James " "Lingard; :issue:`7362`.)" msgstr "" -"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 " -"mode, Python 2.7 will now warn about this odd usage. (Noted by James " -"Lingard; :issue:`7362`.)" +"Parênteses extras em definições de função são ilegais no Python 3.x, o que " +"significa que você obtém um erro de sintaxe de ``def f((x)): pass``. No modo " +"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 msgid "" @@ -1295,9 +1312,9 @@ msgid "" "style classes were always weak-referenceable. (Fixed by Antoine Pitrou; :" "issue:`8268`.)" msgstr "" -"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`.)" +"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 msgid "" @@ -1305,13 +1322,13 @@ msgid "" "only cleared if no one else is holding a reference to the dictionary (:issue:" "`7140`)." msgstr "" -"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`)." +"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 msgid "Interpreter Changes" -msgstr "Alterações do interpretador" +msgstr "Alterações no interpretador" #: ../../whatsnew/2.7.rst:909 msgid "" @@ -1320,10 +1337,10 @@ msgid "" "equivalent to those used with the :option:`-W` switch, separated by commas. " "(Contributed by Brian Curtin; :issue:`7301`.)" msgstr "" -"A new environment variable, :envvar:`PYTHONWARNINGS`, allows controlling " -"warnings. It should be set to a string containing warning settings, " -"equivalent to those used with the :option:`-W` switch, separated by commas. " -"(Contributed by Brian Curtin; :issue:`7301`.)" +"Uma nova variável de ambiente, :envvar:`PYTHONWARNINGS`, permite controlar " +"os avisos. Deve ser definido como uma string contendo configurações de " +"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 msgid "" @@ -1332,10 +1349,10 @@ msgid "" "exact syntax for setting an environment variable varies across operating " "systems and shells.)" msgstr "" -"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.)" +"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.)" #: ../../whatsnew/2.7.rst:928 msgid "Optimizations" @@ -1343,7 +1360,7 @@ msgstr "Otimizações" #: ../../whatsnew/2.7.rst:930 msgid "Several performance enhancements have been added:" -msgstr "Several performance enhancements have been added:" +msgstr "Vários aprimoramentos de desempenho foram adicionados:" #: ../../whatsnew/2.7.rst:932 msgid "" @@ -1351,9 +1368,9 @@ msgid "" "statements, looking up the :meth:`__enter__` and :meth:`__exit__` methods. " "(Contributed by Benjamin Peterson.)" msgstr "" -"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.)" +"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.)" #: ../../whatsnew/2.7.rst:936 msgid "" @@ -1367,15 +1384,15 @@ msgid "" "objects in the oldest generation. (Suggested by Martin von Löwis and " "implemented by Antoine Pitrou; :issue:`4074`.)" msgstr "" -"The garbage collector now performs better for one common usage pattern: when " -"many objects are being allocated without deallocating any of them. This " -"would previously take quadratic time for garbage collection, but now the " -"number of full garbage collections is reduced as the number of objects on " -"the heap grows. The new logic only performs a full garbage collection pass " -"when the middle generation has been collected 10 times and when the number " -"of survivor objects from the middle generation exceeds 10% of the number of " -"objects in the oldest generation. (Suggested by Martin von Löwis and " -"implemented by Antoine Pitrou; :issue:`4074`.)" +"O coletor de lixo agora funciona melhor para um padrão de uso comum: quando " +"muitos objetos estão sendo alocados sem desalocar nenhum deles. " +"Anteriormente, isso levaria um tempo quadrático para coleta de lixo, mas " +"agora o número de coletas de lixo completas é reduzido à medida que o número " +"de objetos no heap aumenta. A nova lógica só executa uma passagem completa " +"de coleta de lixo quando a geração intermediária tiver sido coletada 10 " +"vezes e quando o número de objetos sobreviventes da geração intermediária " +"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 msgid "" @@ -1387,33 +1404,34 @@ msgid "" "be considered and traversed by the collector. (Contributed by Antoine " "Pitrou; :issue:`4688`.)" msgstr "" -"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 " -"containing atomic types (such as ints, strings, etc.). Transitively, a dict " -"containing tuples of atomic types won't be tracked either. This helps reduce " -"the cost of each garbage collection by decreasing the number of objects to " -"be considered and traversed by the collector. (Contributed by Antoine " -"Pitrou; :issue:`4688`.)" +"O coletor de lixo tenta evitar o rastreamento de contêineres simples que não " +"podem fazer parte de um ciclo. No Python 2.7, isso agora é verdade para " +"tuplas e dicts contendo tipos atômicos (como ints, strings, etc.). " +"Transitivamente, um dict contendo tuplas de tipos atômicos também não será " +"rastreado. Isso ajuda a reduzir o custo de cada coleta de lixo diminuindo o " +"número de objetos a serem considerados e percorridos pelo coletor. " +"(Contribuição de Antoine Pitrou; :issue:`4688`.)" #: ../../whatsnew/2.7.rst:956 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 " -"always stored in base 2**15. Using base 2**30 gives significant performance " -"improvements on 64-bit machines, but benchmark results on 32-bit machines " -"have been mixed. Therefore, the default is to use base 2**30 on 64-bit " -"machines and base 2**15 on 32-bit machines; on Unix, there's a new configure " -"option :option:`!--enable-big-digits` that can be used to override this " -"default." -msgstr "" -"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 always " -"stored in base 2**15. Using base 2**30 gives significant performance " -"improvements on 64-bit machines, but benchmark results on 32-bit machines " -"have been mixed. Therefore, the default is to use base 2**30 on 64-bit " -"machines and base 2**15 on 32-bit machines; on Unix, there's a new configure " -"option :option:`!--enable-big-digits` that can be used to override this " -"default." +"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 " +"always stored in base ``2**15``. Using base ``2**30`` gives significant " +"performance improvements on 64-bit machines, but benchmark results on 32-bit " +"machines have been mixed. Therefore, the default is to use base ``2**30`` " +"on 64-bit machines and base ``2**15`` on 32-bit machines; on Unix, there's a " +"new configure option :option:`!--enable-big-digits` that can be used to " +"override this default." +msgstr "" +"Inteiros longos agora são armazenados internamente na base ``2**15`` ou na " +"base ``2**30``, sendo a base determinada no momento da compilação. " +"Anteriormente, eles eram sempre armazenados na base ``2**15``. O uso de base " +"``2**30`` oferece melhorias significativas de desempenho em máquinas de 64 " +"bits, mas os resultados de benchmark em máquinas de 32 bits foram mistos. " +"Portanto, o padrão é usar 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 :option:`!--enable-big-digits` que pode ser usada para " +"substituir esse padrão." #: ../../whatsnew/2.7.rst:965 msgid "" @@ -1423,11 +1441,11 @@ msgid "" "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 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::" +"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 " +"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 msgid "(Contributed by Mark Dickinson; :issue:`4258`.)" @@ -1439,9 +1457,9 @@ msgid "" "smaller on 32-bit systems and 6 bytes on 64-bit. (Contributed by Mark " "Dickinson; :issue:`5260`.)" msgstr "" -"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 " -"Dickinson; :issue:`5260`.)" +"Outro conjunto de alterações tornou os objetos longos alguns bytes menores: " +"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 msgid "" @@ -1452,12 +1470,13 @@ msgid "" "Mark Dickinson; :issue:`5512`.) Bitwise operations are also significantly " "faster (initial patch by Gregory Smith; :issue:`1087418`)." msgstr "" -"The division algorithm for long integers has been made faster by tightening " -"the inner loop, doing shifts instead of multiplications, and fixing an " -"unnecessary extra iteration. Various benchmarks show speedups of between 50% " -"and 150% for long integer divisions and modulo operations. (Contributed by " -"Mark Dickinson; :issue:`5512`.) Bitwise operations are also significantly " -"faster (initial patch by Gregory Smith; :issue:`1087418`)." +"O algoritmo de divisão para números inteiros longos ficou mais rápido " +"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`)." #: ../../whatsnew/2.7.rst:991 msgid "" @@ -1466,10 +1485,11 @@ msgid "" "for applications that frequently use ``%`` with strings, such as templating " "libraries. (Implemented by Collin Winter; :issue:`5176`.)" msgstr "" -"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 " -"for applications that frequently use ``%`` with strings, such as templating " -"libraries. (Implemented by Collin Winter; :issue:`5176`.)" +"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 templates em bibliotecas. (Implementação de Collin Winter; :" +"issue:`5176`.)" #: ../../whatsnew/2.7.rst:997 msgid "" @@ -1477,9 +1497,9 @@ msgid "" "bytecode. (Patch by Antoine Pitrou, back-ported to 2.7 by Jeffrey Yasskin; :" "issue:`4715`.)" msgstr "" -"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`.)" +"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 msgid "" @@ -1487,9 +1507,10 @@ msgid "" "special-casing base 10 instead of using a generalized conversion function " "that supports arbitrary bases. (Patch by Gawain Bolton; :issue:`6713`.)" msgstr "" -"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 " -"that supports arbitrary bases. (Patch by Gawain Bolton; :issue:`6713`.)" +"A conversão de um inteiro ou inteiro longo em uma string decimal ficou mais " +"rápida com o uso de maiúsculas e minúsculas especiais na base 10, em vez de " +"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 msgid "" @@ -1499,11 +1520,12 @@ msgid "" "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 "" -"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`.)" +"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`.)" #: ../../whatsnew/2.7.rst:1013 msgid "" @@ -1535,11 +1557,12 @@ 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 msgid "" @@ -1550,12 +1573,11 @@ msgid "" "(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 msgid "" @@ -1563,9 +1585,9 @@ msgid "" "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 msgid "" @@ -1574,14 +1596,8 @@ msgid "" "pybsddb.htm>`__. 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 http://hg.jcea.es/pybsddb/file/tip/ChangeLog.)" +"read at https://hg.jcea.es/pybsddb/file/tip/ChangeLog.)" msgstr "" -"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 http://hg.jcea.es/pybsddb/file/tip/ChangeLog.)" #: ../../whatsnew/2.7.rst:1053 msgid "" @@ -1589,9 +1605,9 @@ msgid "" "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 msgid "" @@ -1600,10 +1616,11 @@ msgid "" "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`:" +"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:1079 msgid "" @@ -1615,25 +1632,25 @@ msgid "" "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. ::" +"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:1102 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 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 msgid "" @@ -1645,13 +1662,13 @@ msgid "" "`~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 msgid "" @@ -1660,14 +1677,14 @@ msgid "" "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 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 msgid "" @@ -1691,7 +1708,7 @@ msgstr "" #: ../../whatsnew/2.7.rst:1157 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 msgid "" @@ -1716,8 +1733,9 @@ 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 msgid "" @@ -1727,6 +1745,12 @@ msgid "" "libffi/>`__ 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 msgid "" @@ -1735,9 +1759,9 @@ msgid "" "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:" +"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:1183 @@ -1789,10 +1813,10 @@ msgid "" "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 msgid "" @@ -1801,10 +1825,10 @@ msgid "" "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 msgid "" @@ -1813,10 +1837,10 @@ msgid "" "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 msgid "" @@ -1837,10 +1861,11 @@ msgid "" "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 msgid "" @@ -1849,10 +1874,11 @@ msgid "" "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 msgid "" @@ -1883,10 +1909,10 @@ msgid "" "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 msgid "" @@ -1894,9 +1920,10 @@ msgid "" "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 msgid "" @@ -1905,10 +1932,10 @@ msgid "" "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 msgid "" @@ -1916,9 +1943,9 @@ msgid "" "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`.)" +"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:1268 msgid "" @@ -1945,12 +1972,11 @@ msgid "" "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 msgid "" @@ -1958,9 +1984,9 @@ msgid "" "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 msgid "" @@ -1973,14 +1999,15 @@ msgid "" "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`.)" +"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:1297 msgid "" @@ -1988,9 +2015,9 @@ msgid "" "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 msgid "" @@ -2043,8 +2070,8 @@ 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 msgid "" @@ -2053,14 +2080,14 @@ msgid "" "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 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 msgid "" @@ -2092,11 +2119,11 @@ msgid "" "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 msgid "" @@ -2104,9 +2131,9 @@ msgid "" "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 msgid "" @@ -2115,18 +2142,18 @@ msgid "" "*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 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 msgid "" @@ -2136,11 +2163,11 @@ msgid "" "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 msgid "" @@ -2149,10 +2176,10 @@ msgid "" "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 msgid "" @@ -2160,9 +2187,9 @@ msgid "" "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 msgid "" @@ -2171,10 +2198,10 @@ msgid "" "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 " -"Hettinger; :issue:`5381`.)" +"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 msgid "" @@ -2184,11 +2211,11 @@ 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 msgid "" @@ -2200,13 +2227,12 @@ msgid "" "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 msgid "" @@ -2241,8 +2267,8 @@ 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 msgid "" @@ -2254,13 +2280,14 @@ msgid "" "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 msgid "" @@ -2268,9 +2295,9 @@ msgid "" "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 msgid "" @@ -2280,11 +2307,11 @@ msgid "" "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 msgid "" @@ -2292,9 +2319,9 @@ msgid "" "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 msgid "" @@ -2302,9 +2329,9 @@ msgid "" "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 msgid "" @@ -2320,17 +2347,18 @@ msgid "" "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`.)" +"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:1476 msgid "" @@ -2339,10 +2367,10 @@ msgid "" "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 msgid "" @@ -2352,11 +2380,12 @@ 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 msgid "" @@ -2365,10 +2394,10 @@ msgid "" "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 msgid "" @@ -2395,10 +2424,9 @@ msgid "" "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`.)" +"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:1508 msgid "" @@ -2406,9 +2434,10 @@ msgid "" "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`.)" +"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:1513 msgid "" @@ -2417,10 +2446,10 @@ msgid "" "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`.)" +"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:1518 msgid "" @@ -2458,13 +2487,13 @@ msgid "" "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 msgid "" @@ -2485,8 +2514,8 @@ 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`.)" +"www.openssl.org/docs/man1.0.2/man1/ciphers.html>`__. (Added by Antoine " +"Pitrou; :issue:`8322`.)" msgstr "" #: ../../whatsnew/2.7.rst:1551 @@ -2496,10 +2525,11 @@ msgid "" "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 msgid "" @@ -2538,14 +2568,14 @@ msgid "" "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." +"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 msgid "(Contributed by Gregory P. Smith.)" -msgstr "(Contributed by Gregory P. Smith.)" +msgstr "(Contribuição de Gregory P. Smith.)" #: ../../whatsnew/2.7.rst:1589 msgid "" @@ -2564,10 +2594,10 @@ msgid "" "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 msgid "" @@ -2575,9 +2605,9 @@ msgid "" "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 msgid "" @@ -2612,12 +2642,13 @@ 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 msgid "" @@ -2632,16 +2663,16 @@ msgid "" "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`.)" +":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:1633 msgid "" @@ -2652,12 +2683,12 @@ 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 msgid "" @@ -2668,12 +2699,12 @@ msgid "" "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`)." +"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:1648 ../../whatsnew/2.7.rst:2508 msgid "" @@ -2693,15 +2724,15 @@ msgstr "" #: ../../whatsnew/2.7.rst:1663 ../../whatsnew/2.7.rst:2523 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 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 msgid "" @@ -2719,13 +2750,13 @@ 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:1691 ../../whatsnew/2.7.rst:2486 msgid "" "The ElementTree library, :mod:`xml.etree`, no longer escapes ampersands and " "angle brackets when outputting an XML processing instruction (which looks " @@ -2761,9 +2792,10 @@ msgid "" "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 msgid "" @@ -2785,9 +2817,9 @@ msgid "" "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 msgid "" @@ -2796,14 +2828,14 @@ msgid "" "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 msgid "New module: importlib" -msgstr "New module: importlib" +msgstr "Novo módulo: importlib" #: ../../whatsnew/2.7.rst:1735 msgid "" @@ -2815,12 +2847,12 @@ msgid "" "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." +"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 @@ -2833,29 +2865,29 @@ 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 msgid "Here are some examples::" -msgstr "Here are some examples::" +msgstr "Veja alguns exemplos::" #: ../../whatsnew/2.7.rst:1763 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 msgid "New module: sysconfig" -msgstr "New module: sysconfig" +msgstr "Novo módulo: sysconfig" #: ../../whatsnew/2.7.rst:1770 msgid "" @@ -2865,31 +2897,31 @@ 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 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 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 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 msgid "" @@ -2897,25 +2929,26 @@ msgid "" "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 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 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 msgid "" @@ -2924,14 +2957,14 @@ msgid "" "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 msgid "ttk: Themed Widgets for Tk" -msgstr "ttk: Themed Widgets for Tk" +msgstr "ttk: Widgets temáticos para Tk" #: ../../whatsnew/2.7.rst:1801 msgid "" @@ -2941,11 +2974,11 @@ 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." +"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:1807 msgid "" @@ -2970,7 +3003,7 @@ msgstr "" #: ../../whatsnew/2.7.rst:1824 msgid "Updated module: unittest" -msgstr "Updated module: unittest" +msgstr "Módulo atualizado: unittest" #: ../../whatsnew/2.7.rst:1826 msgid "" @@ -2984,24 +3017,32 @@ msgstr "" #: ../../whatsnew/2.7.rst:1833 msgid "" "When used from the command line, the module can automatically discover " -"tests. It's not as fancy as `py.test `__ or `nose " +"tests. It's not as fancy as `py.test `__ or `nose " "`__, but provides a simple way to run tests " "kept within a set of package directories. For example, the following " "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 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 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 msgid "" @@ -3010,10 +3051,10 @@ msgid "" "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 msgid "" @@ -3023,11 +3064,12 @@ 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 msgid "" @@ -3038,12 +3080,12 @@ 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 msgid "" @@ -3052,10 +3094,10 @@ msgid "" "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 msgid "" @@ -3063,17 +3105,17 @@ msgid "" "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 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 msgid "" @@ -3085,13 +3127,13 @@ msgid "" "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 msgid "" @@ -3099,13 +3141,13 @@ msgid "" "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 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 msgid "" @@ -3117,13 +3159,14 @@ msgid "" "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." +"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:1904 msgid "" @@ -3134,12 +3177,13 @@ msgid "" "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`)." +"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:1912 msgid "" @@ -3148,10 +3192,10 @@ msgid "" "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 msgid "" @@ -3159,8 +3203,8 @@ msgid "" "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 " +":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 @@ -3169,9 +3213,9 @@ msgid "" "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 msgid "" @@ -3180,9 +3224,9 @@ msgid "" "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; :" +":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 @@ -3192,8 +3236,8 @@ msgid "" "`~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." +"assertGreaterEqual`, :meth:`~unittest.TestCase.assertLess`, e :meth:" +"`~unittest.TestCase.assertLessEqual` comparam duas quantidades." #: ../../whatsnew/2.7.rst:1933 msgid "" @@ -3202,10 +3246,10 @@ msgid "" "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 msgid "" @@ -3234,8 +3278,8 @@ msgid "" ":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 msgid "" @@ -3250,8 +3294,8 @@ 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 msgid "" @@ -3263,13 +3307,13 @@ msgid "" "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 msgid "" @@ -3289,15 +3333,15 @@ msgstr "" 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-" +"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` 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.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:1975 msgid "" @@ -3305,9 +3349,9 @@ msgid "" "`~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`.)" +":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:1979 msgid "" @@ -3320,14 +3364,14 @@ msgid "" "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." +"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:1988 msgid "" @@ -3336,10 +3380,10 @@ msgid "" "`~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`.)" +":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:1993 msgid "" @@ -3348,10 +3392,10 @@ msgid "" "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 " -"Collins; :issue:`5728`.)" +":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 msgid "" @@ -3360,34 +3404,38 @@ msgid "" "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 -msgid "http://www.voidspace.org.uk/python/articles/unittest2.shtml" -msgstr "http://www.voidspace.org.uk/python/articles/unittest2.shtml" +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 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 msgid "Updated module: ElementTree 1.3" -msgstr "Updated module: ElementTree 1.3" +msgstr "Módulo atualizado: ElementTree 1.3" #: ../../whatsnew/2.7.rst:2013 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 msgid "" @@ -3395,9 +3443,9 @@ msgid "" "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 msgid "" @@ -3414,8 +3462,8 @@ 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 \"xml" -"\" (the default), \"html\", or \"text\". HTML mode will output empty " +"`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, " @@ -3425,8 +3473,8 @@ 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 " +"`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, " @@ -3442,12 +3490,13 @@ msgid "" "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." +"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:2047 msgid "" @@ -3456,10 +3505,10 @@ msgid "" "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::" +"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:2064 msgid "" @@ -3492,32 +3541,34 @@ 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 msgid "" "Fredrik Lundh develops ElementTree and produced the 1.3 version; you can " -"read his article describing 1.3 at 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`.)" +"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 develops ElementTree and produced the 1.3 version; you can " -"read his article describing 1.3 at 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`.)" +"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 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 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 msgid "" @@ -3548,10 +3599,10 @@ msgid "" "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 msgid "" @@ -3560,10 +3611,10 @@ msgid "" "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 msgid "" @@ -3586,10 +3637,10 @@ msgid "" "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 msgid "" @@ -3599,25 +3650,26 @@ 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 msgid "" "New functions: :c:func:`PyLong_AsLongAndOverflow` and :c:func:" "`PyLong_AsLongLongAndOverflow` approximates a Python long integer as a C :c:" -"type:`long` or :c:type:`long long`. If the number is too large to fit into " +"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 "" -"New functions: :c:func:`PyLong_AsLongAndOverflow` and :c:func:" -"`PyLong_AsLongLongAndOverflow` approximates a Python long integer as a C :c:" -"type:`long` or :c:type:`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`.)" +"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 msgid "" @@ -3638,10 +3690,10 @@ msgid "" "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 msgid "" @@ -3653,13 +3705,13 @@ 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 msgid "" @@ -3668,10 +3720,9 @@ msgid "" "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 msgid "" @@ -3694,14 +3745,14 @@ msgid "" "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`.)" +"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:2197 msgid "" @@ -3718,14 +3769,10 @@ msgstr "" #: ../../whatsnew/2.7.rst:2202 msgid "" "New format codes: the :c:func:`PyFormat_FromString`, :c:func:" -"`PyFormat_FromStringV`, and :c:func:`PyErr_Format` functions now accept ``" -"%lld`` and ``%llu`` format codes for displaying C's :c:type:`long long` " +"`PyFormat_FromStringV`, 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 "" -"New format codes: the :c:func:`PyFormat_FromString`, :c:func:" -"`PyFormat_FromStringV`, and :c:func:`PyErr_Format` functions now accept ``" -"%lld`` and ``%llu`` format codes for displaying C's :c:type:`long long` " -"types. (Contributed by Mark Dickinson; :issue:`7228`.)" #: ../../whatsnew/2.7.rst:2208 msgid "" @@ -3738,14 +3785,14 @@ 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 msgid "" @@ -3754,14 +3801,14 @@ msgid "" "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 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 msgid "" @@ -3788,8 +3835,9 @@ 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 msgid "" @@ -3809,11 +3857,11 @@ msgid "" "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 msgid "" @@ -3821,9 +3869,9 @@ msgid "" "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 msgid "" @@ -3833,11 +3881,11 @@ msgid "" "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 msgid "" @@ -3845,25 +3893,25 @@ msgid "" "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 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 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 msgid "Capsules" @@ -3880,14 +3928,14 @@ msgid "" "``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." +"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:2288 msgid "" @@ -3910,10 +3958,10 @@ msgid "" "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 msgid "" @@ -3934,12 +3982,12 @@ 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 msgid "Port-Specific Changes: Windows" -msgstr "Port-Specific Changes: Windows" +msgstr "Alterações específicas da porta: Windows" #: ../../whatsnew/2.7.rst:2327 msgid "" @@ -3957,17 +4005,11 @@ msgstr "" msgid "" "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 " +"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 "" -"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`.)" #: ../../whatsnew/2.7.rst:2342 msgid "" @@ -4000,8 +4042,8 @@ 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 msgid "" @@ -4013,7 +4055,7 @@ msgstr "" #: ../../whatsnew/2.7.rst:2363 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 msgid "" @@ -4022,10 +4064,10 @@ msgid "" "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 msgid "" @@ -4038,10 +4080,19 @@ 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 msgid "Port-Specific Changes: FreeBSD" -msgstr "Port-Specific Changes: FreeBSD" +msgstr "Alterações específicas da porta: FreeBSD" #: ../../whatsnew/2.7.rst:2385 msgid "" @@ -4057,7 +4108,7 @@ msgstr "" #: ../../whatsnew/2.7.rst:2391 msgid "Other Changes and Fixes" -msgstr "Other Changes and Fixes" +msgstr "Outras alterações e correções" #: ../../whatsnew/2.7.rst:2393 msgid "" @@ -4068,20 +4119,21 @@ 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 msgid "" "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 msgid "" @@ -4106,10 +4158,10 @@ msgid "" "`!-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 msgid "" @@ -4121,13 +4173,14 @@ 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 msgid "" @@ -4135,13 +4188,14 @@ msgid "" "``'-'`` 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 msgid "Porting to Python 2.7" -msgstr "Porting to Python 2.7" +msgstr "Portando para Python 2.7" #: ../../whatsnew/2.7.rst:2437 msgid "" @@ -4168,10 +4222,10 @@ msgid "" "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 msgid "" @@ -4201,7 +4255,7 @@ msgstr "" #: ../../whatsnew/2.7.rst:2466 msgid "In the standard library:" -msgstr "In the standard library:" +msgstr "Na biblioteca padrão:" #: ../../whatsnew/2.7.rst:2468 msgid "" @@ -4211,11 +4265,11 @@ msgid "" "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 msgid "" @@ -4224,10 +4278,10 @@ msgid "" "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 msgid "" @@ -4236,22 +4290,11 @@ msgid "" "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:" -"`~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`.)" - -#: ../../whatsnew/2.7.rst:2486 -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 " -"angle brackets when outputting an XML processing instruction (which looks " -"like ``) or comment (which looks like " -"``). (Patch by Neil Muller; :issue:`2746`.)" +"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:2492 msgid "" @@ -4265,7 +4308,7 @@ msgstr "" #: ../../whatsnew/2.7.rst:2535 msgid "For C extensions:" -msgstr "For C extensions:" +msgstr "Para extensões C:" #: ../../whatsnew/2.7.rst:2537 msgid "" @@ -4273,9 +4316,9 @@ msgid "" "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 msgid "" @@ -4289,7 +4332,7 @@ msgstr "" #: ../../whatsnew/2.7.rst:2545 msgid "For applications that embed Python:" -msgstr "For applications that embed Python:" +msgstr "Para aplicações que incorporam Python:" #: ../../whatsnew/2.7.rst:2547 msgid "" @@ -4299,15 +4342,15 @@ 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 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 msgid "" @@ -4317,11 +4360,12 @@ 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 msgid "" @@ -4329,13 +4373,13 @@ msgid "" "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 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 msgid "" @@ -4355,7 +4399,7 @@ msgstr "" #: ../../whatsnew/2.7.rst:2589 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 msgid "" @@ -4364,22 +4408,22 @@ msgid "" "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 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 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 msgid "" @@ -4387,13 +4431,13 @@ msgid "" "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 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 msgid "" @@ -4401,21 +4445,21 @@ msgid "" "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 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 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 msgid "" @@ -4423,9 +4467,9 @@ msgid "" "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 msgid "" @@ -4437,7 +4481,7 @@ msgstr "" #: ../../whatsnew/2.7.rst:2625 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 msgid "" @@ -4446,16 +4490,19 @@ msgid "" "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 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 msgid "" @@ -4463,9 +4510,9 @@ msgid "" "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 msgid "" @@ -4474,10 +4521,14 @@ msgid "" "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 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 msgid "" @@ -4485,6 +4536,9 @@ msgid "" "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 msgid "Bootstrapping pip By Default" @@ -4499,6 +4553,12 @@ 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 msgid "" @@ -4506,6 +4566,9 @@ msgid "" "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 msgid "" @@ -4514,6 +4577,11 @@ msgid "" "``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 msgid "" @@ -4553,9 +4621,15 @@ msgid "" "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 " +"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/2.7.rst:2698 msgid "" @@ -4583,8 +4657,8 @@ msgstr "" 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 msgid "" @@ -4601,12 +4675,12 @@ 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 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 msgid "" @@ -4616,6 +4690,11 @@ 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 msgid "" @@ -4623,6 +4702,9 @@ msgid "" "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 msgid "" @@ -4631,6 +4713,10 @@ msgid "" "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 msgid "" @@ -4641,7 +4727,7 @@ msgstr "" #: ../../whatsnew/2.7.rst:2758 msgid "New ``make regen-all`` build target" -msgstr "" +msgstr "Novo alvo de construção ``make regen-all``" #: ../../whatsnew/2.7.rst:2760 msgid "" @@ -4650,6 +4736,11 @@ msgid "" "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 msgid "" @@ -4657,20 +4748,25 @@ msgid "" "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 msgid "" "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 msgid "(Contributed by Victor Stinner in :issue:`23404`.)" -msgstr "" +msgstr "(Contribuição de Victor Stinner em :issue:`23404`.)" #: ../../whatsnew/2.7.rst:2778 msgid "Removal of ``make touch`` build target" -msgstr "" +msgstr "Remoção do alvo de construção ``make touch``" #: ../../whatsnew/2.7.rst:2780 msgid "" @@ -4678,10 +4774,13 @@ msgid "" "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 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 msgid "Acknowledgements" @@ -4694,7 +4793,6 @@ msgid "" "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 716d4729e..6c095f607 100644 --- a/whatsnew/3.0.po +++ b/whatsnew/3.0.po @@ -1,29 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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 , 2021 -# Claudio Rogerio Carvalho Filho , 2021 +# python-doc bot, 2025 # #, 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-29 13:04+0000\n" -"Last-Translator: Claudio Rogerio Carvalho Filho , " -"2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:59+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../whatsnew/3.0.rst:3 msgid "What's New In Python 3.0" @@ -41,19 +39,22 @@ msgstr "Guido van Rossum" msgid "" "This article explains the new features in Python 3.0, compared to 2.6. " "Python 3.0, also known as \"Python 3000\" or \"Py3K\", is the first ever " -"*intentionally backwards incompatible* Python release. There are more " -"changes than in a typical release, and more that are important for all " -"Python users. Nevertheless, after digesting the changes, you'll find that " -"Python really hasn't changed all that much -- by and large, we're mostly " -"fixing well-known annoyances and warts, and removing a lot of old cruft." -msgstr "" -"This article explains the new features in Python 3.0, compared to 2.6. " -"Python 3.0, also known as \"Python 3000\" or \"Py3K\", is the first ever " -"*intentionally backwards incompatible* Python release. There are more " -"changes than in a typical release, and more that are important for all " -"Python users. Nevertheless, after digesting the changes, you'll find that " -"Python really hasn't changed all that much -- by and large, we're mostly " -"fixing well-known annoyances and warts, and removing a lot of old cruft." +"*intentionally backwards incompatible* Python release. Python 3.0 was " +"released on December 3, 2008. There are more changes than in a typical " +"release, and more that are important for all Python users. Nevertheless, " +"after digesting the changes, you'll find that Python really hasn't changed " +"all that much -- by and large, we're mostly fixing well-known annoyances and " +"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. 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 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 "" @@ -65,13 +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 "" -"This article doesn't attempt to provide a complete specification of all new " -"features, but instead tries to give a convenient overview. For full details, " -"you should refer to the documentation for Python 3.0, and/or the many PEPs " -"referenced in the text. If you want to understand the complete " -"implementation and design rationale for a particular feature, PEPs usually " -"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." +"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 "" @@ -80,26 +82,26 @@ msgid "" "distribution contains a wealth of detailed information about every small " "thing that was changed." msgstr "" -"Due to time constraints this document is not as complete as it should have " -"been. As always for a new release, the ``Misc/NEWS`` file in the source " -"distribution contains a wealth of detailed information about every small " -"thing that was changed." +"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 "Common Stumbling Blocks" +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 "" -"This section lists those few changes that are most likely to trip you up if " -"you're used to Python 2.5." +"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 "Print Is A Function" +msgstr "print é uma função" #: ../../whatsnew/3.0.rst:97 msgid "" @@ -107,41 +109,42 @@ msgid "" "with keyword arguments to replace most of the special syntax of the old " "``print`` statement (:pep:`3105`). Examples::" msgstr "" -"The ``print`` statement has been replaced with a :func:`print` function, " -"with keyword arguments to replace most of the special syntax of the old " -"``print`` statement (:pep:`3105`). Examples::" +"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 "You can also customize the separator between items, e.g.::" +msgstr "Você também pode personalizar o separador entre itens, por exemplo::" #: ../../whatsnew/3.0.rst:120 msgid "which produces:" -msgstr "which produces:" +msgstr "que produz:" #: ../../whatsnew/3.0.rst:126 msgid "Note:" -msgstr "Note:" +msgstr "Nota:" #: ../../whatsnew/3.0.rst:128 msgid "" "The :func:`print` function doesn't support the \"softspace\" feature of the " -"old ``print`` statement. For example, in Python 2.x, ``print \"A\\n\", \"B" -"\"`` would write ``\"A\\nB\\n\"``; but in Python 3.0, ``print(\"A\\n\", \"B" -"\")`` writes ``\"A\\n B\\n\"``." +"old ``print`` statement. For example, in Python 2.x, ``print \"A\\n\", " +"\"B\"`` would write ``\"A\\nB\\n\"``; but in Python 3.0, ``print(\"A\\n\", " +"\"B\")`` writes ``\"A\\n B\\n\"``." msgstr "" -"The :func:`print` function doesn't support the \"softspace\" feature of the " -"old ``print`` statement. For example, in Python 2.x, ``print \"A\\n\", \"B" -"\"`` would write ``\"A\\nB\\n\"``; but in Python 3.0, ``print(\"A\\n\", \"B" -"\")`` writes ``\"A\\n B\\n\"``." +"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 "" -"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!" +"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 "" @@ -149,17 +152,17 @@ msgid "" "statements are automatically converted to :func:`print` function calls, so " "this is mostly a non-issue for larger projects." msgstr "" -"When using the ``2to3`` source-to-source conversion tool, all ``print`` " -"statements are automatically converted to :func:`print` function calls, so " -"this is mostly a non-issue for larger projects." +"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 "Views And Iterators Instead Of Lists" +msgstr "Visualizações e iteradores em vez de listas" #: ../../whatsnew/3.0.rst:145 msgid "Some well-known APIs no longer return lists:" -msgstr "Some well-known APIs no longer return lists:" +msgstr "Algumas APIs conhecidas não retornam mais listas:" #: ../../whatsnew/3.0.rst:147 msgid "" @@ -168,18 +171,19 @@ msgid "" "works: ``k = d.keys(); k.sort()``. Use ``k = sorted(d)`` instead (this " "works in Python 2.5 too and is just as efficient)." msgstr "" -":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)." +"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." msgstr "" -"Also, the :meth:`dict.iterkeys`, :meth:`dict.iteritems` and :meth:`dict." -"itervalues` methods are no longer supported." +"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 "" @@ -192,14 +196,15 @@ msgid "" "function; the correct transformation is to use a regular :keyword:`for` loop " "(since creating a list would just be wasteful)." msgstr "" -":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 " -"function; the correct transformation is to use a regular :keyword:`for` loop " -"(since creating a list would just be wasteful)." +":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 "" @@ -209,31 +214,32 @@ msgid "" "zip_longest`, e.g. ``map(func, *sequences)`` becomes ``list(map(func, " "itertools.zip_longest(*sequences)))``." msgstr "" -"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)))``." +"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` now behaves like :func:`xrange` used to behave, except it " -"works with values of arbitrary size. The latter no longer exists." +":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 ":func:`zip` now returns an iterator." +msgstr ":func:`zip` agora retorna um iterador." #: ../../whatsnew/3.0.rst:180 msgid "Ordering Comparisons" -msgstr "Ordering Comparisons" +msgstr "Comparações de ordenação" #: ../../whatsnew/3.0.rst:182 msgid "Python 3.0 has simplified the rules for ordering comparisons:" -msgstr "Python 3.0 has simplified the rules for ordering comparisons:" +msgstr "O Python 3.0 simplificou as regras para ordenar comparações:" #: ../../whatsnew/3.0.rst:184 msgid "" @@ -246,14 +252,15 @@ msgid "" "other. Note that this does not apply to the ``==`` and ``!=`` operators: " "objects of different incomparable types always compare unequal to each other." msgstr "" -"The ordering comparison operators (``<``, ``<=``, ``>=``, ``>``) raise a " -"TypeError exception when the operands don't have a meaningful natural " -"ordering. Thus, expressions like ``1 < ''``, ``0 > None`` or ``len <= len`` " -"are no longer valid, and e.g. ``None < None`` raises :exc:`TypeError` " -"instead of returning ``False``. A corollary is that sorting a heterogeneous " -"list no longer makes sense -- all the elements must be comparable to each " -"other. Note that this does not apply to the ``==`` and ``!=`` operators: " -"objects of different incomparable types always compare unequal to each other." +"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 "" @@ -261,9 +268,9 @@ msgid "" "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` 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\"." +":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 "" @@ -273,15 +280,16 @@ msgid "" "(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 "" -"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 expression " -"``(a > b) - (a < b)`` as the equivalent for ``cmp(a, b)``.)" +"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 "Integers" +msgstr "Inteiros" #: ../../whatsnew/3.0.rst:209 msgid "" @@ -289,9 +297,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`: Essentially, :class:`long` renamed to :class:`int`. That is, " -"there is only one built-in integral type, named :class:`int`; but it behaves " -"mostly like the old :class:`long` type." +":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 "" @@ -299,9 +307,9 @@ msgid "" "the truncating behavior. (The latter syntax has existed for years, at least " "since Python 2.2.)" msgstr "" -":pep:`238`: An expression like ``1/2`` returns a float. Use ``1//2`` to get " -"the truncating behavior. (The latter syntax has existed for years, at least " -"since Python 2.2.)" +":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 "" @@ -312,12 +320,12 @@ msgid "" "data:`sys.maxint` in previous releases on the same platform (assuming the " "same build options)." msgstr "" -"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)." +"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 "" @@ -325,25 +333,25 @@ msgid "" "anymore, so code that unconditionally strips that character will chop off " "the last digit instead. (Use :func:`str` instead.)" msgstr "" -"The :func:`repr` of a long integer doesn't include the trailing ``L`` " -"anymore, so code that unconditionally strips that character will chop off " -"the last digit instead. (Use :func:`str` instead.)" +"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 "" -"Octal literals are no longer of the form ``0720``; use ``0o720`` instead." +"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 "Text Vs. Data Instead Of Unicode Vs. 8-bit" +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 "" -"Everything you thought you knew about binary data and Unicode has changed." +msgstr "Tudo o que você achava que sabia sobre dados binários e Unicode mudou." #: ../../whatsnew/3.0.rst:237 msgid "" @@ -358,16 +366,17 @@ msgid "" "contained non-ASCII values. This value-specific behavior has caused " "numerous sad faces over the years." msgstr "" -"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." +"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 "" @@ -379,21 +388,21 @@ msgid "" "`str` for binary or encoded data only. Then the ``2to3`` tool will do most " "of the work for you." msgstr "" -"As a consequence of this change in philosophy, pretty much all code that " -"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." +"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 "" -"You can no longer use ``u\"...\"`` literals for Unicode text. However, you " -"must use ``b\"...\"`` literals for binary data." +"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 "" @@ -403,11 +412,11 @@ msgid "" "`bytes` to :class:`str`. You can also use ``bytes(s, encoding=...)`` and " "``str(b, encoding=...)``, respectively." msgstr "" -"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." +"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 "" @@ -416,10 +425,11 @@ msgid "" "Nearly all APIs that accept :class:`bytes` also accept :class:`bytearray`. " "The mutable API is based on :class:`collections.MutableSequence`." msgstr "" -"Like :class:`str`, the :class:`bytes` type is immutable. There is a separate " -"*mutable* type to hold buffered binary data, :class:`bytearray`. Nearly all " -"APIs that accept :class:`bytes` also accept :class:`bytearray`. The mutable " -"API is based on :class:`collections.MutableSequence`." +"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 "" @@ -430,12 +440,12 @@ msgid "" "character. (Of course, this change only affects raw string literals; the " "euro character is ``'\\u20ac'`` in Python 3.0.)" msgstr "" -"All backslashes in raw string literals are interpreted literally. This means " -"that ``'\\U'`` and ``'\\u'`` escapes in raw strings are not treated " -"specially. For example, ``r'\\u20ac'`` is a string of 6 characters in Python " -"3.0, whereas in 2.6, ``ur'\\u20ac'`` was the single \"euro\" character. (Of " -"course, this change only affects raw string literals; the euro character is " -"``'\\u20ac'`` in Python 3.0.)" +"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 "" @@ -445,10 +455,11 @@ msgid "" "tool (see below) replaces every occurrence of :class:`basestring` with :" "class:`str`." msgstr "" -"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`." +"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 "" @@ -467,20 +478,22 @@ 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 "" -"Files opened as text files (still the default mode for :func:`open`) always " -"use an encoding to map between strings (in memory) and bytes (on disk). " -"Binary files (opened with a ``b`` in the mode argument) always use bytes in " -"memory. This means that if a file is opened using an incorrect mode or " -"encoding, I/O will likely fail loudly, instead of silently producing " -"incorrect data. It also means that even Unix users will have to specify the " -"correct mode (text or binary) when opening a file. There is a platform-" -"dependent default encoding, which on Unixy platforms can be set with the " -"``LANG`` environment variable (and sometimes also with some other platform-" -"specific locale-related environment variables). In many cases, but not all, " -"the system default is UTF-8; you should never count on this default. Any " -"application reading or writing more than pure ASCII text should probably " -"have a way to override the encoding. There is no longer any need for using " -"the encoding-aware streams in the :mod:`codecs` module." +"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 "" @@ -489,10 +502,10 @@ msgid "" "`io.TextIOBase`). To read and write bytes data with these streams, you need " "to use their :data:`io.TextIOBase.buffer` attribute." msgstr "" -"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." +"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 "" @@ -509,18 +522,20 @@ msgid "" "strings, filenames that cannot be decoded properly are omitted rather than " "raising :exc:`UnicodeError`." msgstr "" -"Filenames are passed to and returned from APIs as (Unicode) strings. This " -"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`." +"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 "" @@ -529,10 +544,10 @@ msgid "" "interpretable using the default encoding. Setting the ``LANG`` variable and " "rerunning the program is probably the best approach." msgstr "" -"Some system APIs like :data:`os.environ` and :data:`sys.argv` can also " -"present problems when the bytes made available by the system is not " -"interpretable using the default encoding. Setting the ``LANG`` variable and " -"rerunning the program is probably the best approach." +"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 "" @@ -540,13 +555,13 @@ msgid "" "characters. It still escapes control characters and code points with non-" "printable status in the Unicode standard, however." msgstr "" -":pep:`3138`: The :func:`repr` of a string no longer escapes non-ASCII " -"characters. It still escapes control characters and code points with non-" -"printable status in the Unicode standard, however." +":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 ":pep:`3120`: The default source encoding is now UTF-8." +msgstr ":pep:`3120`: A codificação de fontes padrão agora é UTF-8." #: ../../whatsnew/3.0.rst:336 msgid "" @@ -554,9 +569,9 @@ msgid "" "standard library remains ASCII-only with the exception of contributor names " "in comments.)" msgstr "" -":pep:`3131`: Non-ASCII letters are now allowed in identifiers. (However, the " -"standard library remains ASCII-only with the exception of contributor names " -"in comments.)" +":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 "" @@ -570,23 +585,25 @@ msgstr "" #: ../../whatsnew/3.0.rst:344 msgid "See also the :ref:`unicode-howto`, which was updated for Python 3.0." -msgstr "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 "Overview Of Syntax Changes" +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 "" -"This section gives a brief overview of every *syntactic* change in Python " -"3.0." +"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 "New Syntax" +msgstr "Nova sintaxe" #: ../../whatsnew/3.0.rst:356 msgid "" @@ -597,12 +614,12 @@ msgid "" "intent is to encourage experimentation through metaclasses, decorators or " "frameworks." msgstr "" -":pep:`3107`: Function argument and return value annotations. This provides a " -"standardized way of annotating a function's parameters and return value. " -"There are no semantics attached to such annotations except that they can be " -"introspected at runtime using the :attr:`__annotations__` attribute. The " -"intent is to encourage experimentation through metaclasses, decorators or " -"frameworks." +":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 "" @@ -612,11 +629,11 @@ msgid "" "that you don't accept a variable-length argument list, but you do have " "keyword-only arguments." msgstr "" -":pep:`3102`: Keyword-only arguments. Named parameters occurring after " -"``*args`` in the parameter list *must* be specified using keyword syntax in " -"the call. You can also use a bare ``*`` in the parameter list to indicate " -"that you don't accept a variable-length argument list, but you do have " -"keyword-only arguments." +":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 "" @@ -625,10 +642,10 @@ msgid "" "(see next section), but can be used for other purposes as well, as long as " "the metaclass supports it." msgstr "" -"Keyword arguments are allowed after the list of base classes in a class " -"definition. This is used by the new convention for specifying a metaclass " -"(see next section), but can be used for other purposes as well, as long as " -"the metaclass supports it." +"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 "" @@ -636,8 +653,8 @@ msgid "" "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 @@ -647,22 +664,24 @@ msgid "" "``rest`` object is always a (possibly empty) list; the right-hand side may " "be any iterable. Example::" msgstr "" -":pep:`3132`: Extended Iterable Unpacking. You can now write things like ``a, " -"b, *rest = some_sequence``. And even ``*rest, a = stuff``. The ``rest`` " -"object is always a (possibly empty) list; the right-hand side may be any " -"iterable. Example::" +":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 "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 "" -"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. :-)" +"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 "" @@ -671,62 +690,62 @@ msgid "" "``{x for x in stuff}`` means the same thing as ``set(stuff)`` but is more " "flexible." msgstr "" -"Set literals, e.g. ``{1, 2}``. Note that ``{}`` is an empty dictionary; use " -"``set()`` for an empty set. Set comprehensions are also supported; e.g., " -"``{x for x in stuff}`` means the same thing as ``set(stuff)`` but is more " -"flexible." +"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 "" -"New octal literals, e.g. ``0o720`` (already in 2.6). The old octal literals " -"(``0720``) are gone." +"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 "" -"New binary literals, e.g. ``0b1010`` (already in 2.6), and there is a new " -"corresponding built-in function, :func:`bin`." +"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 "" -"Bytes literals are introduced with a leading ``b`` or ``B``, and there is a " -"new corresponding built-in function, :func:`bytes`." +"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 "Changed Syntax" +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." msgstr "" -":pep:`3109` and :pep:`3134`: new :keyword:`raise` statement syntax: :samp:" -"`raise [{expr} [from {expr}]]`. See below." +":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``, and ``None`` are reserved words. (2.6 partially " -"enforced the restrictions on ``None`` already.)" +"``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 "" @@ -734,15 +753,15 @@ msgid "" "keyword:`!as` *var*. See :pep:`3110`." msgstr "" "Alteração de :keyword:`except` *exc*, *var* para :keyword:`!except` *exc* :" -"keyword:`!as` *var*. Veja :pep:`3110`." +"keyword:`!as` *var*. Veja a :pep:`3110`." #: ../../whatsnew/3.0.rst:420 msgid ":pep:`3115`: New Metaclass Syntax. Instead of::" -msgstr ":pep:`3115`: New Metaclass Syntax. Instead of::" +msgstr ":pep:`3115`: Nova sintaxe de metaclasse. Em vez de::" #: ../../whatsnew/3.0.rst:426 msgid "you must now use::" -msgstr "you must now use::" +msgstr "agora você deve usar::" #: ../../whatsnew/3.0.rst:431 msgid "" @@ -750,9 +769,9 @@ msgid "" "(It was a crutch to make it easier to default to new-style classes without " "deriving every class from :class:`object`.)" msgstr "" -"The module-global :data:`__metaclass__` variable is no longer supported. (It " -"was a crutch to make it easier to default to new-style classes without " -"deriving every class from :class:`object`.)" +"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 "" @@ -763,12 +782,13 @@ msgid "" "inside a :func:`list` constructor, and in particular the loop control " "variables are no longer leaked into the surrounding scope." msgstr "" -"List comprehensions no longer support the syntactic form :samp:`[... for " -"{var} in {item1}, {item2}, ...]`. Use :samp:`[... for {var} in ({item1}, " -"{item2}, ...)]` instead. Also note that list comprehensions have different " -"semantics: they are closer to syntactic sugar for a generator expression " -"inside a :func:`list` constructor, and in particular the loop control " -"variables are no longer leaked into the surrounding scope." +"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 "" @@ -777,30 +797,31 @@ msgid "" "as ``...``. (Previously it could also be spelled as ``. . .``, by a mere " "accident of the grammar.)" msgstr "" -"The *ellipsis* (``...``) can be used as an atomic expression anywhere. " -"(Previously it was only allowed in slices.) Also, it *must* now be spelled " -"as ``...``. (Previously it could also be spelled as ``. . .``, by a mere " -"accident of the grammar.)" +"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 "Removed Syntax" +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`: 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." +":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 "Removed backticks (use :func:`repr` instead)." +msgstr "Removidos backticks (use :func:`repr`)." #: ../../whatsnew/3.0.rst:458 msgid "Removed ``<>`` (use ``!=`` instead)." -msgstr "Removed ``<>`` (use ``!=`` instead)." +msgstr "Removido ``<>`` (use ``!=``)." #: ../../whatsnew/3.0.rst:460 msgid "" @@ -809,26 +830,26 @@ msgid "" "note that :func:`exec` no longer takes a stream argument; instead of " "``exec(f)`` you can use ``exec(f.read())``." msgstr "" -"Removed keyword: :func:`exec` is no longer a keyword; it remains as a " -"function. (Fortunately the function syntax was also accepted in 2.x.) Also " -"note that :func:`exec` no longer takes a stream argument; instead of " -"``exec(f)`` you can use ``exec(f.read())``." +"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 "Integer literals no longer support a trailing ``l`` or ``L``." +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 "String literals no longer support a leading ``u`` or ``U``." +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 "" -"The :keyword:`from` *module* :keyword:`import` ``*`` syntax is only allowed " -"at the module level, no longer inside functions." +"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 "" @@ -836,17 +857,17 @@ msgid "" "import {name}`. All :keyword:`import` forms not starting with ``.`` are " "interpreted as absolute imports. (:pep:`328`)" msgstr "" -"The only acceptable syntax for relative imports is :samp:`from .[{module}] " -"import {name}`. All :keyword:`import` forms not starting with ``.`` are " -"interpreted as absolute imports. (:pep:`328`)" +"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 "Classic classes are gone." +msgstr "As classes clássicas se foram." #: ../../whatsnew/3.0.rst:480 msgid "Changes Already Present In Python 2.6" -msgstr "Changes Already Present In Python 2.6" +msgstr "Mudanças já presentes no Python 2.6" #: ../../whatsnew/3.0.rst:482 msgid "" @@ -856,11 +877,11 @@ msgid "" "corresponding sections in :ref:`whats-new-in-2.6` should be consulted for " "longer descriptions." msgstr "" -"Since many users presumably make the jump straight from Python 2.5 to Python " -"3.0, this section reminds the reader of new features that were originally " -"designed for Python 3.0 but that were back-ported to Python 2.6. The " -"corresponding sections in :ref:`whats-new-in-2.6` should be consulted for " -"longer descriptions." +"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 "" @@ -868,17 +889,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`. The :keyword:`with` statement is now a standard feature and " -"no longer needs to be imported from the :mod:`__future__`. Also check out :" -"ref:`new-26-context-managers` and :ref:`new-module-contextlib`." +":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`. This enhances the usefulness of the :option:`-m` option " -"when the referenced module lives in a package." +":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`." @@ -896,19 +917,20 @@ msgid "" "`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`. 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." +":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`. This is now a standard feature and no longer needs to be " -"imported from :mod:`__future__`. More details were given above." +":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 "" @@ -916,9 +938,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.)" +":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 "" @@ -926,9 +948,9 @@ msgid "" "like ``b'...'``, ``b\"\"\"...\"\"\"``, and ``br\"...\"``) now produces a " "literal of type :class:`bytes`." msgstr "" -":ref:`pep-3112`. The ``b\"...\"`` string literal notation (and its variants " -"like ``b'...'``, ``b\"\"\"...\"\"\"``, and ``br\"...\"``) now produces a " -"literal of type :class:`bytes`.\\" +":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 "" @@ -941,22 +963,23 @@ msgid "" "object maintains a buffer of itself in order to speed up the encoding and " "decoding operations)." msgstr "" -":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)." +":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`. The old builtin :func:`buffer` is now really gone; the new " -"builtin :func:`memoryview` provides (mostly) similar functionality." +":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 "" @@ -966,19 +989,19 @@ msgid "" "conform to the :class:`collections.MutableMapping` and :class:`collections." "MutableSequence` ABCs, respectively." msgstr "" -":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`. 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`. As mentioned above, the new octal literal notation is the " -"only one supported, and binary literals have been added." +":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`." @@ -990,13 +1013,13 @@ msgid "" "defining Python's \"numeric tower\". Also note the new :mod:`fractions` " "module which implements :class:`numbers.Rational`." msgstr "" -":ref:`pep-3141`. The :mod:`numbers` module is another new use of ABCs, " -"defining Python's \"numeric tower\". Also note the new :mod:`fractions` " -"module which implements :class:`numbers.Rational`." +":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 "Library Changes" +msgstr "Mudanças na biblioteca" #: ../../whatsnew/3.0.rst:553 msgid "" @@ -1004,9 +1027,9 @@ 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 "" -"Due to time constraints, this document does not exhaustively cover the very " -"extensive changes to the standard library. :pep:`3108` is the reference for " -"the major changes to the library. Here's a capsule review:" +"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 "" @@ -1043,8 +1066,8 @@ msgid "" "Some modules were renamed because their old name disobeyed :pep:`8`, or for " "various other reasons. Here's the list:" msgstr "" -"Some modules were renamed because their old name disobeyed :pep:`8`, or for " -"various other reasons. Here's the list:" +"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" @@ -1052,7 +1075,7 @@ msgstr "Old Name" #: ../../whatsnew/3.0.rst:576 msgid "New Name" -msgstr "New Name" +msgstr "Novo nome" #: ../../whatsnew/3.0.rst:578 msgid "_winreg" @@ -1149,8 +1172,8 @@ msgid "" "Some related modules have been grouped into packages, and usually the " "submodule names have been simplified. The resulting new packages are:" msgstr "" -"Some related modules have been grouped into packages, and usually the " -"submodule names have been simplified. The resulting new packages are:" +"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 "" @@ -1179,10 +1202,10 @@ msgid "" "`tkinter`. Also note that as of Python 2.6, the functionality of :mod:" "`turtle` has been greatly enhanced." msgstr "" -":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." +":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 "" @@ -1204,7 +1227,8 @@ msgstr "" msgid "" "Some other changes to standard library modules, not covered by :pep:`3108`:" msgstr "" -"Some other changes to standard library modules, not covered by :pep:`3108`:" +"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." @@ -1216,9 +1240,9 @@ msgid "" "exc_clear`, :data:`sys.exc_type`, :data:`sys.exc_value`, :data:`sys." "exc_traceback`. (Note that :data:`sys.last_type` etc. remain.)" msgstr "" -"Cleanup of the :mod:`sys` module: removed :func:`sys.exitfunc`, :func:`sys." +"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`. (Note that :data:`sys.last_type` etc. remain.)" +"exc_traceback`. (Observe que :data:`sys.last_type` etc. permanecem.)" #: ../../whatsnew/3.0.rst:636 msgid "" @@ -1227,17 +1251,17 @@ msgid "" "the ``'c'`` typecode for array is gone -- use either ``'b'`` for bytes or " "``'u'`` for Unicode characters." msgstr "" -"Cleanup of the :class:`array.array` type: the :meth:`read` and :meth:`write` " -"methods are gone; use :meth:`fromfile` and :meth:`tofile` instead. Also, the " -"``'c'`` typecode for array is gone -- use either ``'b'`` for bytes or " -"``'u'`` for Unicode characters." +"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`." msgstr "" -"Cleanup of the :mod:`operator` module: removed :func:`sequenceIncludes` and :" +"Limpeza do módulo :mod:`operator`: removidos :func:`sequenceIncludes` e :" "func:`isCallable`." #: ../../whatsnew/3.0.rst:645 @@ -1250,8 +1274,7 @@ msgstr "" #: ../../whatsnew/3.0.rst:649 msgid "Cleanup of the :mod:`random` module: removed the :func:`jumpahead` API." -msgstr "" -"Cleanup of the :mod:`random` module: removed the :func:`jumpahead` API." +msgstr "Limpeza do módulo :mod:`random`: removida a API :func:`jumpahead`." #: ../../whatsnew/3.0.rst:651 msgid "The :mod:`new` module is gone." @@ -1262,16 +1285,17 @@ msgid "" "The functions :func:`os.tmpnam`, :func:`os.tempnam` and :func:`os.tmpfile` " "have been removed in favor of the :mod:`tempfile` module." msgstr "" -"The functions :func:`os.tmpnam`, :func:`os.tempnam` and :func:`os.tmpfile` " -"have been removed in favor of the :mod:`tempfile` module." +"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 "" -"The :mod:`tokenize` module has been changed to work with bytes. The main " -"entry point is now :func:`tokenize.tokenize`, instead of generate_tokens." +"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 "" @@ -1279,13 +1303,13 @@ msgid "" "`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\".)" +"attractively named global \"constants\".)" msgstr "" -":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\".)" +":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 "" @@ -1294,14 +1318,14 @@ msgid "" "most global namespaces is unchanged. To modify a builtin, you should use :" "mod:`builtins`, not :data:`__builtins__`!" msgstr "" -"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__`!" +"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 ":pep:`3101`: A New Approach To String Formatting" +msgstr ":pep:`3101`: Uma nova abordagem para formatação de strings" #: ../../whatsnew/3.0.rst:677 msgid "" @@ -1310,22 +1334,23 @@ 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 "" -"A new system for built-in string formatting operations replaces the ``%`` " -"string formatting operator. (However, the ``%`` operator is still 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." +"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 "" -"The APIs for raising and catching exception have been cleaned up and new " -"powerful features added:" +"As APIs para levantar e capturar exceções foram limpas e novos recursos " +"poderosos foram adicionados:" #: ../../whatsnew/3.0.rst:690 msgid "" @@ -1336,12 +1361,13 @@ msgid "" "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." +":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 "" @@ -1351,23 +1377,24 @@ msgid "" "`KeyboardInterrupt`. The recommended idiom for handling all exceptions " "except for this latter category is to use :keyword:`except` :exc:`Exception`." msgstr "" -"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`." +"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` was removed." +msgstr ":exc:`StandardError` foi removida." #: ../../whatsnew/3.0.rst:707 msgid "" "Exceptions no longer behave as sequences. Use the :attr:`args` attribute " "instead." msgstr "" -"Exceptions no longer behave as sequences. Use the :attr:`args` attribute " -"instead." +"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 "" @@ -1390,10 +1417,10 @@ msgid "" "{variable}`. Moreover, the *variable* is explicitly deleted when the :" "keyword:`except` block is left." msgstr "" -":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." +":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 "" @@ -1451,24 +1478,25 @@ msgid "" "extension module. For example, ``error code 193`` is now ``%1 is not a " "valid Win32 application``. Strings now deal with non-English locales." msgstr "" -"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." +"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 msgid "Miscellaneous Other Changes" -msgstr "Miscellaneous Other Changes" +msgstr "Outras mudanças diversas" #: ../../whatsnew/3.0.rst:758 msgid "Operators And Special Methods" -msgstr "Operators And Special Methods" +msgstr "Operadores e métodos especiais" #: ../../whatsnew/3.0.rst:760 msgid "" "``!=`` now returns the opposite of ``==``, unless ``==`` returns :data:" "`NotImplemented`." msgstr "" -"``!=`` now returns the opposite of ``==``, unless ``==`` returns :data:" +"``!=`` agora retorna o oposto de ``==``, a menos que ``==`` retorne :data:" "`NotImplemented`." #: ../../whatsnew/3.0.rst:763 @@ -1477,9 +1505,9 @@ msgid "" "referencing a method as a class attribute, you now get a plain function " "object." msgstr "" -"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." +"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 msgid "" @@ -1488,17 +1516,17 @@ msgid "" "j))`` (or :meth:`__setitem__` or :meth:`__delitem__`, when used as an " "assignment or deletion target, respectively)." msgstr "" -":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)." +":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 msgid "" ":pep:`3114`: the standard :meth:`next` method has been renamed to :meth:" "`~iterator.__next__`." msgstr "" -":pep:`3114`: the standard :meth:`next` method has been renamed to :meth:" +":pep:`3114`: o método padrão :meth:`next` foi renomeado para :meth:" "`~iterator.__next__`." #: ../../whatsnew/3.0.rst:776 @@ -1507,13 +1535,13 @@ msgid "" "`oct` and :func:`hex` use :meth:`__index__` now to convert the argument to " "an integer." msgstr "" -"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." +"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 msgid "Removed support for :attr:`__members__` and :attr:`__methods__`." -msgstr "Removed support for :attr:`__members__` and :attr:`__methods__`." +msgstr "Removido o suporte para :attr:`__members__` e :attr:`__methods__`." #: ../../whatsnew/3.0.rst:782 msgid "" @@ -1535,11 +1563,11 @@ msgstr "" #: ../../whatsnew/3.0.rst:792 msgid ":meth:`__nonzero__` is now :meth:`__bool__`." -msgstr ":meth:`__nonzero__` is now :meth:`__bool__`." +msgstr ":meth:`__nonzero__` agora é :meth:`__bool__`." #: ../../whatsnew/3.0.rst:795 msgid "Builtins" -msgstr "Builtins" +msgstr "Funções embutidas" #: ../../whatsnew/3.0.rst:797 msgid "" @@ -1549,11 +1577,11 @@ msgid "" "automatically be chosen. With arguments, the behavior of :func:`super` is " "unchanged." msgstr "" -":pep:`3135`: New :func:`super`. You can now invoke :func:`super` without " -"arguments and (assuming this is in a regular instance method defined inside " -"a :keyword:`class` statement) the right class and instance will " -"automatically be chosen. With arguments, the behavior of :func:`super` is " -"unchanged." +":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 msgid "" @@ -1563,19 +1591,19 @@ msgid "" "input is terminated prematurely. To get the old behavior of :func:`input`, " "use ``eval(input())``." msgstr "" -":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 " -"it with the trailing newline stripped. It raises :exc:`EOFError` if the " -"input is terminated prematurely. To get the old behavior of :func:`input`, " -"use ``eval(input())``." +":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 msgid "" "A new built-in function :func:`next` was added to call the :meth:`~iterator." "__next__` method on an object." msgstr "" -"A new built-in function :func:`next` was added to call the :meth:`~iterator." -"__next__` method on an object." +"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 msgid "" @@ -1587,23 +1615,23 @@ msgid "" "a single argument and a value of the same type as ``x`` when called with two " "arguments." msgstr "" -"The :func:`round` function rounding strategy and return type have changed. " -"Exact halfway cases are now rounded to the nearest even result instead of " -"away from zero. (For example, ``round(2.5)`` now returns ``2`` rather than " -"``3``.) ``round(x[, n])`` now delegates to ``x.__round__([n])`` instead of " -"always returning a float. It generally returns an integer when called with a " -"single argument and a value of the same type as ``x`` when called with two " -"arguments." +"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 msgid "Moved :func:`intern` to :func:`sys.intern`." -msgstr "Moved :func:`intern` to :func:`sys.intern`." +msgstr "Movida :func:`intern` para :func:`sys.intern`." #: ../../whatsnew/3.0.rst:823 msgid "" "Removed: :func:`apply`. Instead of ``apply(f, args)`` use ``f(*args)``." msgstr "" -"Removed: :func:`apply`. Instead of ``apply(f, args)`` use ``f(*args)``." +"Removida: :func:`apply`. Em vez de ``apply(f, args)`` use ``f(*args)``." #: ../../whatsnew/3.0.rst:826 msgid "" @@ -1611,24 +1639,24 @@ msgid "" "``isinstance(f, collections.Callable)``. The :func:`operator.isCallable` " "function is also gone." msgstr "" -"Removed :func:`callable`. Instead of ``callable(f)`` you can use " -"``isinstance(f, collections.Callable)``. The :func:`operator.isCallable` " -"function is also gone." +"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 msgid "" "Removed :func:`coerce`. This function no longer serves a purpose now that " "classic classes are gone." msgstr "" -"Removed :func:`coerce`. This function no longer serves a purpose now that " -"classic classes are gone." +"Removida :func:`coerce`. Esta função não tem mais propósito agora que as " +"classes clássicas desapareceram." #: ../../whatsnew/3.0.rst:833 msgid "" "Removed :func:`execfile`. Instead of ``execfile(fn)`` use ``exec(open(fn)." "read())``." msgstr "" -"Removed :func:`execfile`. Instead of ``execfile(fn)`` use ``exec(open(fn)." +"Removida :func:`execfile`. Em vez de ``execfile(fn)`` use ``exec(open(fn)." "read())``." #: ../../whatsnew/3.0.rst:836 @@ -1636,8 +1664,8 @@ 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 "" -"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." +"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 msgid "" @@ -1645,9 +1673,9 @@ msgid "" "however, 99 percent of the time an explicit :keyword:`for` loop is more " "readable." msgstr "" -"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." +"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 msgid "Removed :func:`reload`. Use :func:`imp.reload`." @@ -1657,43 +1685,43 @@ msgstr "Removed :func:`reload`. Use :func:`imp.reload`." msgid "" "Removed. :meth:`dict.has_key` -- use the :keyword:`in` operator instead." msgstr "" -"Removed. :meth:`dict.has_key` -- use the :keyword:`in` operator instead." +"Removida. :meth:`dict.has_key` -- use o operador :keyword:`in` em vez disso." #: ../../whatsnew/3.0.rst:852 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 msgid "" "Due to time constraints, here is a *very* incomplete list of changes to the " "C API." msgstr "" -"Due to time constraints, here is a *very* incomplete list of changes to the " -"C API." +"Devido a restrições de tempo, aqui está uma lista *muito* incompleta de " +"alterações na API C." #: ../../whatsnew/3.0.rst:857 msgid "" "Support for several platforms was dropped, including but not limited to Mac " "OS 9, BeOS, RISCOS, Irix, and Tru64." msgstr "" -"Support for several platforms was dropped, including but not limited to Mac " -"OS 9, BeOS, RISCOS, Irix, and Tru64." +"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 msgid ":pep:`3118`: New Buffer API." -msgstr ":pep:`3118`: New Buffer API." +msgstr ":pep:`3118`: Nova API de Buffer." #: ../../whatsnew/3.0.rst:862 msgid ":pep:`3121`: Extension Module Initialization & Finalization." -msgstr ":pep:`3121`: Extension Module Initialization & Finalization." +msgstr ":pep:`3121`: Inicialização e finalização do módulo de extensão." #: ../../whatsnew/3.0.rst:864 msgid ":pep:`3123`: Making :c:macro:`PyObject_HEAD` conform to standard C." -msgstr ":pep:`3123`: Making :c:macro:`PyObject_HEAD` conform to standard C." +msgstr ":pep:`3123`: Tornando :c:macro:`PyObject_HEAD` conforme o padrão C." #: ../../whatsnew/3.0.rst:866 msgid "No more C API support for restricted execution." -msgstr "No more C API support for restricted execution." +msgstr "Não há mais suporte à API C para execução restrita." #: ../../whatsnew/3.0.rst:868 msgid "" @@ -1709,17 +1737,17 @@ msgid "" "`PyImport_ImportModule` but won't block on the import lock (returning an " "error instead)." msgstr "" -"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)." +"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 msgid "" "Renamed the boolean conversion C-level slot and method: ``nb_nonzero`` is " "now ``nb_bool``." msgstr "" -"Renamed the boolean conversion C-level slot and method: ``nb_nonzero`` is " -"now ``nb_bool``." +"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 msgid "" @@ -1729,7 +1757,7 @@ msgstr "" #: ../../whatsnew/3.0.rst:884 msgid "Performance" -msgstr "Performance" +msgstr "Desempenho" #: ../../whatsnew/3.0.rst:886 msgid "" @@ -1738,34 +1766,36 @@ msgid "" "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 msgid "Porting To Python 3.0" -msgstr "Porting To Python 3.0" +msgstr "Portando para o Python 3.0" #: ../../whatsnew/3.0.rst:898 msgid "" "For porting existing Python 2.5 or 2.6 source code to Python 3.0, the best " "strategy is the following:" msgstr "" -"For porting existing Python 2.5 or 2.6 source code to Python 3.0, the best " -"strategy is the following:" +"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 msgid "(Prerequisite:) Start with excellent test coverage." -msgstr "(Prerequisite:) Start with excellent test coverage." +msgstr "(Pré-requisito:) Comece com uma excelente cobertura de teste." #: ../../whatsnew/3.0.rst:903 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 "" -"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." +"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 msgid "" @@ -1774,10 +1804,11 @@ msgid "" "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 "" -"(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." +"(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 msgid "" @@ -1786,10 +1817,11 @@ msgid "" "translation under Python 3.0. Manually fix up any remaining issues, fixing " "problems until all tests pass again." msgstr "" -"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." +"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 msgid "" @@ -1801,16 +1833,16 @@ msgid "" "the source code and running the ``2to3`` translator again, rather than " "editing the 3.0 version of the source code." msgstr "" -"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 " -"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." +"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 msgid "" "For porting C extensions to Python 3.0, please see :ref:`cporting-howto`." msgstr "" -"For porting C extensions to Python 3.0, please see :ref:`cporting-howto`." +"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 6f28e494b..63559edaa 100644 --- a/whatsnew/3.1.po +++ b/whatsnew/3.1.po @@ -1,30 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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 -# Ricardo Cappellano , 2021 -# Claudio Rogerio Carvalho Filho , 2021 +# python-doc bot, 2025 # #, 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-29 13:04+0000\n" -"Last-Translator: Claudio Rogerio Carvalho Filho , " -"2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:59+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../whatsnew/3.1.rst:3 msgid "What's New In Python 3.1" @@ -39,14 +36,18 @@ msgid "Raymond Hettinger" msgstr "Raymond Hettinger" #: ../../whatsnew/3.1.rst:49 -msgid "This article explains the new features in Python 3.1, compared to 3.0." -msgstr "Esse artigo explica os novos recursos no Python 3.1, comparado ao 3.0." +msgid "" +"This article explains the new features in Python 3.1, compared to 3.0. " +"Python 3.1 was released on June 27, 2009." +msgstr "" +"Esse artigo explica os novos recursos em Python 3.1, comparado ao 3.0. " +"Python 3.1 foi lançado em 27 de junho de 2009." -#: ../../whatsnew/3.1.rst:53 +#: ../../whatsnew/3.1.rst:54 msgid "PEP 372: Ordered Dictionaries" -msgstr "PEP 372: Dicionários Ordenados" +msgstr "PEP 372: Dicionários ordenados" -#: ../../whatsnew/3.1.rst:55 +#: ../../whatsnew/3.1.rst:56 msgid "" "Regular Python dictionaries iterate over key/value pairs in arbitrary order. " "Over the years, a number of authors have written alternative implementations " @@ -60,7 +61,7 @@ msgstr "" "experiences from those implementations, a new :class:`collections." "OrderedDict` class has been introduced." -#: ../../whatsnew/3.1.rst:61 +#: ../../whatsnew/3.1.rst:62 msgid "" "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 " @@ -74,7 +75,7 @@ msgstr "" "original insertion position is left unchanged. Deleting an entry and " "reinserting it will move it to the end." -#: ../../whatsnew/3.1.rst:67 +#: ../../whatsnew/3.1.rst:68 msgid "" "The standard library now supports use of ordered dictionaries in several " "modules. The :mod:`configparser` module uses them by default. This lets " @@ -84,23 +85,23 @@ msgid "" "order as the underlying tuple indices. The :mod:`json` module is being " "built-out with an *object_pairs_hook* to allow OrderedDicts to be built by " "the decoder. Support was also added for third-party tools like `PyYAML " -"`_." -msgstr "" -"A biblioteca padrão agora suporta o uso de dicionários ordenados em vários " -"módulos. O módulo :mod:`configparser` os usa 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:79 +"`_." +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" -msgstr ":pep:`372` - Dicionários Ordenados" +msgstr ":pep:`372` - Dicionários ordenados" -#: ../../whatsnew/3.1.rst:79 +#: ../../whatsnew/3.1.rst:80 msgid "" "PEP written by Armin Ronacher and Raymond Hettinger. Implementation written " "by Raymond Hettinger." @@ -108,11 +109,11 @@ msgstr "" "PEP written by Armin Ronacher and Raymond Hettinger. Implementation written " "by Raymond Hettinger." -#: ../../whatsnew/3.1.rst:84 +#: ../../whatsnew/3.1.rst:85 msgid "PEP 378: Format Specifier for Thousands Separator" msgstr "PEP 378: Especificador de formato para separador de milhares" -#: ../../whatsnew/3.1.rst:86 +#: ../../whatsnew/3.1.rst:87 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 " @@ -124,7 +125,7 @@ msgstr "" "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:100 +#: ../../whatsnew/3.1.rst:101 msgid "" "The supported types are :class:`int`, :class:`float`, :class:`complex` and :" "class:`decimal.Decimal`." @@ -132,7 +133,7 @@ msgstr "" "The supported types are :class:`int`, :class:`float`, :class:`complex` and :" "class:`decimal.Decimal`." -#: ../../whatsnew/3.1.rst:103 +#: ../../whatsnew/3.1.rst:104 msgid "" "Discussions are underway about how to specify alternative separators like " "dots, spaces, apostrophes, or underscores. Locale-aware applications should " @@ -144,11 +145,11 @@ msgstr "" "use the existing *n* format specifier which already has some support for " "thousands separators." -#: ../../whatsnew/3.1.rst:111 +#: ../../whatsnew/3.1.rst:112 msgid ":pep:`378` - Format Specifier for Thousands Separator" msgstr ":pep:`378` - Especificador de formato para separador de milhares" -#: ../../whatsnew/3.1.rst:111 +#: ../../whatsnew/3.1.rst:112 msgid "" "PEP written by Raymond Hettinger and implemented by Eric Smith and Mark " "Dickinson." @@ -156,15 +157,15 @@ msgstr "" "PEP escrita por Raymond Hettinger e implementada por Eric Smith e Mark " "Dickinson." -#: ../../whatsnew/3.1.rst:116 +#: ../../whatsnew/3.1.rst:117 msgid "Other Language Changes" msgstr "Outras mudanças na linguagem" -#: ../../whatsnew/3.1.rst:118 +#: ../../whatsnew/3.1.rst:119 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:120 +#: ../../whatsnew/3.1.rst:121 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/" @@ -178,7 +179,7 @@ msgstr "" "(Suggestion and initial patch by Andy Chu; revised patch by Phillip J. Eby " "and Nick Coghlan; :issue:`1739468`.)" -#: ../../whatsnew/3.1.rst:126 +#: ../../whatsnew/3.1.rst:127 msgid "" "The :func:`int` type gained a ``bit_length`` method that returns the number " "of bits necessary to represent its argument in binary::" @@ -186,7 +187,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:140 +#: ../../whatsnew/3.1.rst:141 msgid "" "(Contributed by Fredrik Johansson, Victor Stinner, Raymond Hettinger, and " "Mark Dickinson; :issue:`3439`.)" @@ -194,13 +195,13 @@ msgstr "" "(Contributed by Fredrik Johansson, Victor Stinner, Raymond Hettinger, and " "Mark Dickinson; :issue:`3439`.)" -#: ../../whatsnew/3.1.rst:143 +#: ../../whatsnew/3.1.rst:144 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:149 +#: ../../whatsnew/3.1.rst:150 msgid "" "Formerly, the string would have required numbered fields such as: ``'Sir {0} " "of {1}'``." @@ -208,11 +209,11 @@ msgstr "" "Formerly, the string would have required numbered fields such as: ``'Sir {0} " "of {1}'``." -#: ../../whatsnew/3.1.rst:152 +#: ../../whatsnew/3.1.rst:153 msgid "(Contributed by Eric Smith; :issue:`5237`.)" msgstr "(Contributed by Eric Smith; :issue:`5237`.)" -#: ../../whatsnew/3.1.rst:154 +#: ../../whatsnew/3.1.rst:155 msgid "" "The :func:`string.maketrans` function is deprecated and is replaced by new " "static methods, :meth:`bytes.maketrans` and :meth:`bytearray.maketrans`. " @@ -228,11 +229,11 @@ msgstr "" "`bytearray` each have their own **maketrans** and **translate** methods with " "intermediate translation tables of the appropriate type." -#: ../../whatsnew/3.1.rst:161 +#: ../../whatsnew/3.1.rst:162 msgid "(Contributed by Georg Brandl; :issue:`5675`.)" msgstr "(Contributed by Georg Brandl; :issue:`5675`.)" -#: ../../whatsnew/3.1.rst:163 +#: ../../whatsnew/3.1.rst:164 msgid "" "The syntax of the :keyword:`with` statement now allows multiple context " "managers in a single statement::" @@ -240,7 +241,7 @@ msgstr "" "The syntax of the :keyword:`with` statement now allows multiple context " "managers in a single statement::" -#: ../../whatsnew/3.1.rst:171 +#: ../../whatsnew/3.1.rst:172 msgid "" "With the new syntax, the :func:`contextlib.nested` function is no longer " "needed and is now deprecated." @@ -248,7 +249,7 @@ msgstr "" "With the new syntax, the :func:`contextlib.nested` function is no longer " "needed and is now deprecated." -#: ../../whatsnew/3.1.rst:174 +#: ../../whatsnew/3.1.rst:175 msgid "" "(Contributed by Georg Brandl and Mattias Brändström; `appspot issue 53094 " "`_.)" @@ -256,7 +257,7 @@ msgstr "" "(Contributed by Georg Brandl and Mattias Brändström; `appspot issue 53094 " "`_.)" -#: ../../whatsnew/3.1.rst:177 +#: ../../whatsnew/3.1.rst:178 msgid "" "``round(x, n)`` now returns an integer if *x* is an integer. Previously it " "returned a float::" @@ -264,11 +265,11 @@ msgstr "" "``round(x, n)`` now returns an integer if *x* is an integer. Previously it " "returned a float::" -#: ../../whatsnew/3.1.rst:183 +#: ../../whatsnew/3.1.rst:184 msgid "(Contributed by Mark Dickinson; :issue:`4707`.)" msgstr "(Contributed by Mark Dickinson; :issue:`4707`.)" -#: ../../whatsnew/3.1.rst:185 +#: ../../whatsnew/3.1.rst:186 msgid "" "Python now uses David Gay's algorithm for finding the shortest floating " "point representation that doesn't change its value. This should help " @@ -278,7 +279,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:190 +#: ../../whatsnew/3.1.rst:191 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 " @@ -296,7 +297,7 @@ msgstr "" "nearest value was and still is used in subsequent floating point " "calculations." -#: ../../whatsnew/3.1.rst:198 +#: ../../whatsnew/3.1.rst:199 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, " @@ -316,7 +317,7 @@ msgstr "" "intrinsic limitations of binary floating point representation as being a " "problem with Python itself)." -#: ../../whatsnew/3.1.rst:207 +#: ../../whatsnew/3.1.rst:208 msgid "" "The new algorithm for ``repr(1.1)`` is smarter and returns ``'1.1'``. " "Effectively, it searches all equivalent string representations (ones that " @@ -328,7 +329,7 @@ msgstr "" "get stored with the same underlying float value) and returns the shortest " "representation." -#: ../../whatsnew/3.1.rst:212 +#: ../../whatsnew/3.1.rst:213 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 " @@ -338,7 +339,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:216 +#: ../../whatsnew/3.1.rst:217 msgid "" "The new algorithm depends on certain features in the underlying floating " "point implementation. If the required features are not found, the old " @@ -350,15 +351,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:221 +#: ../../whatsnew/3.1.rst:222 msgid "(Contributed by Eric Smith and Mark Dickinson; :issue:`1580`)" msgstr "(Contributed by Eric Smith and Mark Dickinson; :issue:`1580`)" -#: ../../whatsnew/3.1.rst:224 +#: ../../whatsnew/3.1.rst:225 msgid "New, Improved, and Deprecated Modules" msgstr "New, Improved, and Deprecated Modules" -#: ../../whatsnew/3.1.rst:226 +#: ../../whatsnew/3.1.rst:227 msgid "" "Added a :class:`collections.Counter` class to support convenient counting of " "unique items in a sequence or iterable::" @@ -366,11 +367,11 @@ msgstr "" "Added a :class:`collections.Counter` class to support convenient counting of " "unique items in a sequence or iterable::" -#: ../../whatsnew/3.1.rst:232 +#: ../../whatsnew/3.1.rst:233 msgid "(Contributed by Raymond Hettinger; :issue:`1696199`.)" msgstr "(Contributed by Raymond Hettinger; :issue:`1696199`.)" -#: ../../whatsnew/3.1.rst:234 +#: ../../whatsnew/3.1.rst:235 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 " @@ -380,11 +381,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:238 +#: ../../whatsnew/3.1.rst:239 msgid "(Contributed by Guilherme Polo; :issue:`2983`.)" msgstr "(Contributed by Guilherme Polo; :issue:`2983`.)" -#: ../../whatsnew/3.1.rst:240 +#: ../../whatsnew/3.1.rst:241 msgid "" "The :class:`gzip.GzipFile` and :class:`bz2.BZ2File` classes now support the " "context management protocol::" @@ -392,11 +393,11 @@ msgstr "" "The :class:`gzip.GzipFile` and :class:`bz2.BZ2File` classes now support the " "context management protocol::" -#: ../../whatsnew/3.1.rst:247 +#: ../../whatsnew/3.1.rst:248 msgid "(Contributed by Antoine Pitrou.)" msgstr "(Contribuição de Antoine Pitrou.)" -#: ../../whatsnew/3.1.rst:249 +#: ../../whatsnew/3.1.rst:250 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 " @@ -406,7 +407,7 @@ msgstr "" "from a binary :class:`float`. The conversion is exact but can sometimes be " "surprising::" -#: ../../whatsnew/3.1.rst:256 +#: ../../whatsnew/3.1.rst:257 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 " @@ -416,11 +417,11 @@ msgstr "" "*1.1*. The fraction has many digits because *1.1* cannot be exactly " "represented in binary." -#: ../../whatsnew/3.1.rst:260 +#: ../../whatsnew/3.1.rst:261 msgid "(Contributed by Raymond Hettinger and Mark Dickinson.)" msgstr "(Contributed by Raymond Hettinger and Mark Dickinson.)" -#: ../../whatsnew/3.1.rst:262 +#: ../../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 " @@ -438,11 +439,11 @@ msgstr "" "argument and can accept any type of counting sequence including :class:" "`fractions.Fraction` and :class:`decimal.Decimal`::" -#: ../../whatsnew/3.1.rst:281 +#: ../../whatsnew/3.1.rst:282 msgid "(Contributed by Raymond Hettinger.)" msgstr "(Contributed by Raymond Hettinger.)" -#: ../../whatsnew/3.1.rst:283 +#: ../../whatsnew/3.1.rst:284 msgid "" ":func:`collections.namedtuple` now supports a keyword argument *rename* " "which lets invalid fieldnames be automatically converted to positional names " @@ -456,11 +457,11 @@ msgstr "" "created by an external source such as a CSV header, SQL field list, or user " "input::" -#: ../../whatsnew/3.1.rst:300 +#: ../../whatsnew/3.1.rst:301 msgid "(Contributed by Raymond Hettinger; :issue:`1818`.)" msgstr "(Contributed by Raymond Hettinger; :issue:`1818`.)" -#: ../../whatsnew/3.1.rst:302 +#: ../../whatsnew/3.1.rst:303 msgid "" "The :func:`re.sub`, :func:`re.subn` and :func:`re.split` functions now " "accept a flags parameter." @@ -468,11 +469,11 @@ msgstr "" "The :func:`re.sub`, :func:`re.subn` and :func:`re.split` functions now " "accept a flags parameter." -#: ../../whatsnew/3.1.rst:305 +#: ../../whatsnew/3.1.rst:306 msgid "(Contributed by Gregory Smith.)" msgstr "(Contributed by Gregory Smith.)" -#: ../../whatsnew/3.1.rst:307 +#: ../../whatsnew/3.1.rst:308 msgid "" "The :mod:`logging` module now implements a simple :class:`logging." "NullHandler` class for applications that are not using logging but are " @@ -484,11 +485,11 @@ msgstr "" "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:315 +#: ../../whatsnew/3.1.rst:316 msgid "(Contributed by Vinay Sajip; :issue:`4384`)." msgstr "(Contributed by Vinay Sajip; :issue:`4384`)." -#: ../../whatsnew/3.1.rst:317 +#: ../../whatsnew/3.1.rst:318 msgid "" "The :mod:`runpy` module which supports the ``-m`` command line switch now " "supports the execution of packages by looking for and executing a " @@ -498,11 +499,11 @@ msgstr "" "supports the execution of packages by looking for and executing a " "``__main__`` submodule when a package name is supplied." -#: ../../whatsnew/3.1.rst:321 +#: ../../whatsnew/3.1.rst:322 msgid "(Contributed by Andi Vajda; :issue:`4195`.)" msgstr "(Contributed by Andi Vajda; :issue:`4195`.)" -#: ../../whatsnew/3.1.rst:323 +#: ../../whatsnew/3.1.rst:324 msgid "" "The :mod:`pdb` module can now access and display source code loaded via :mod:" "`zipimport` (or any other conformant :pep:`302` loader)." @@ -510,15 +511,15 @@ msgstr "" "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:326 +#: ../../whatsnew/3.1.rst:327 msgid "(Contributed by Alexander Belopolsky; :issue:`4201`.)" msgstr "(Contributed by Alexander Belopolsky; :issue:`4201`.)" -#: ../../whatsnew/3.1.rst:328 +#: ../../whatsnew/3.1.rst:329 msgid ":class:`functools.partial` objects can now be pickled." msgstr ":class:`functools.partial` objects can now be pickled." -#: ../../whatsnew/3.1.rst:330 +#: ../../whatsnew/3.1.rst:331 msgid "" "(Suggested by Antoine Pitrou and Jesse Noller. Implemented by Jack " "Diederich; :issue:`5228`.)" @@ -526,7 +527,7 @@ msgstr "" "(Suggested by Antoine Pitrou and Jesse Noller. Implemented by Jack " "Diederich; :issue:`5228`.)" -#: ../../whatsnew/3.1.rst:333 +#: ../../whatsnew/3.1.rst:334 msgid "" "Add :mod:`pydoc` help topics for symbols so that ``help('@')`` works as " "expected in the interactive environment." @@ -534,11 +535,11 @@ msgstr "" "Add :mod:`pydoc` help topics for symbols so that ``help('@')`` works as " "expected in the interactive environment." -#: ../../whatsnew/3.1.rst:336 +#: ../../whatsnew/3.1.rst:337 msgid "(Contributed by David Laban; :issue:`4739`.)" msgstr "(Contributed by David Laban; :issue:`4739`.)" -#: ../../whatsnew/3.1.rst:338 +#: ../../whatsnew/3.1.rst:339 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 " @@ -550,7 +551,7 @@ msgstr "" "is known to be broken, but shouldn't be counted as a failure on a " "TestResult::" -#: ../../whatsnew/3.1.rst:353 +#: ../../whatsnew/3.1.rst:354 msgid "" "Also, tests for exceptions have been builtout to work with context managers " "using the :keyword:`with` statement::" @@ -558,7 +559,7 @@ msgstr "" "Also, tests for exceptions have been builtout to work with context managers " "using the :keyword:`with` statement::" -#: ../../whatsnew/3.1.rst:360 +#: ../../whatsnew/3.1.rst:361 msgid "" "In addition, several new assertion methods were added including :func:" "`assertSetEqual`, :func:`assertDictEqual`, :func:" @@ -572,11 +573,11 @@ msgstr "" "`assertTupleEqual`, :func:`assertSequenceEqual`, :func:" "`assertRaisesRegexp`, :func:`assertIsNone`, and :func:`assertIsNotNone`." -#: ../../whatsnew/3.1.rst:367 +#: ../../whatsnew/3.1.rst:368 msgid "(Contributed by Benjamin Peterson and Antoine Pitrou.)" msgstr "(Contributed by Benjamin Peterson and Antoine Pitrou.)" -#: ../../whatsnew/3.1.rst:369 +#: ../../whatsnew/3.1.rst:370 msgid "" "The :mod:`io` module has three new constants for the :meth:`seek` method :" "data:`SEEK_SET`, :data:`SEEK_CUR`, and :data:`SEEK_END`." @@ -584,23 +585,23 @@ msgstr "" "The :mod:`io` module has three new constants for the :meth:`seek` method :" "data:`SEEK_SET`, :data:`SEEK_CUR`, and :data:`SEEK_END`." -#: ../../whatsnew/3.1.rst:372 +#: ../../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:377 +#: ../../whatsnew/3.1.rst:378 msgid "(Contributed by Ross Light; :issue:`4285`.)" msgstr "(Contributed by Ross Light; :issue:`4285`.)" -#: ../../whatsnew/3.1.rst:379 +#: ../../whatsnew/3.1.rst:380 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:381 +#: ../../whatsnew/3.1.rst:382 msgid "(Contributed by Derek Morr; :issue:`1655` and :issue:`1664`.)" msgstr "(Contributed by Derek Morr; :issue:`1655` and :issue:`1664`.)" -#: ../../whatsnew/3.1.rst:383 +#: ../../whatsnew/3.1.rst:384 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 " @@ -622,7 +623,7 @@ msgstr "" "remapping is turned-on by default but can be disabled with the *fix_imports* " "option::" -#: ../../whatsnew/3.1.rst:399 +#: ../../whatsnew/3.1.rst:400 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 " @@ -636,13 +637,13 @@ msgstr "" "Python 3.x implementations, as it doesn't attempt to remain compatible with " "Python 2.x." -#: ../../whatsnew/3.1.rst:405 +#: ../../whatsnew/3.1.rst:406 msgid "" "(Contributed by Alexandre Vassalotti and Antoine Pitrou, :issue:`6137`.)" msgstr "" "(Contributed by Alexandre Vassalotti and Antoine Pitrou, :issue:`6137`.)" -#: ../../whatsnew/3.1.rst:407 +#: ../../whatsnew/3.1.rst:408 msgid "" "A new module, :mod:`importlib` was added. It provides a complete, portable, " "pure Python reference implementation of the :keyword:`import` statement and " @@ -656,19 +657,19 @@ msgstr "" "substantial step forward in documenting and defining the actions that take " "place during imports." -#: ../../whatsnew/3.1.rst:413 +#: ../../whatsnew/3.1.rst:414 msgid "(Contributed by Brett Cannon.)" msgstr "(Contributed by Brett Cannon.)" -#: ../../whatsnew/3.1.rst:416 +#: ../../whatsnew/3.1.rst:417 msgid "Optimizations" msgstr "Otimizações" -#: ../../whatsnew/3.1.rst:418 +#: ../../whatsnew/3.1.rst:419 msgid "Major performance enhancements have been added:" msgstr "Major performance enhancements have been added:" -#: ../../whatsnew/3.1.rst:420 +#: ../../whatsnew/3.1.rst:421 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 " @@ -682,11 +683,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:427 +#: ../../whatsnew/3.1.rst:428 msgid "(Contributed by Amaury Forgeot d'Arc and Antoine Pitrou.)" msgstr "(Contributed by Amaury Forgeot d'Arc and Antoine Pitrou.)" -#: ../../whatsnew/3.1.rst:429 +#: ../../whatsnew/3.1.rst:430 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 " @@ -698,11 +699,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:434 +#: ../../whatsnew/3.1.rst:435 msgid "(Contributed by Antoine Pitrou, :issue:`4688`.)" msgstr "(Contributed by Antoine Pitrou, :issue:`4688`.)" -#: ../../whatsnew/3.1.rst:436 +#: ../../whatsnew/3.1.rst:437 msgid "" "Enabling a configure option named ``--with-computed-gotos`` on compilers " "that support it (notably: gcc, SunPro, icc), the bytecode evaluation loop is " @@ -714,7 +715,7 @@ 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:442 +#: ../../whatsnew/3.1.rst:443 msgid "" "(Contributed by Antoine Pitrou along with a number of other participants, :" "issue:`4753`)." @@ -722,33 +723,33 @@ msgstr "" "(Contributed by Antoine Pitrou along with a number of other participants, :" "issue:`4753`)." -#: ../../whatsnew/3.1.rst:445 +#: ../../whatsnew/3.1.rst:446 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:448 +#: ../../whatsnew/3.1.rst:449 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:450 +#: ../../whatsnew/3.1.rst:451 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 " "with :class:`str`, not with :class:`bytes`. That change makes the module " -"closely match the `JSON specification `_ which is defined " +"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." +"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:456 +#: ../../whatsnew/3.1.rst:457 msgid "" "(Contributed by Bob Ippolito and converted to Py3.1 by Antoine Pitrou and " "Benjamin Peterson; :issue:`4136`.)" @@ -756,7 +757,7 @@ msgstr "" "(Contributed by Bob Ippolito and converted to Py3.1 by Antoine Pitrou and " "Benjamin Peterson; :issue:`4136`.)" -#: ../../whatsnew/3.1.rst:459 +#: ../../whatsnew/3.1.rst:460 msgid "" "Unpickling now interns the attribute names of pickled objects. This saves " "memory and allows pickles to be smaller." @@ -764,15 +765,15 @@ msgstr "" "Unpickling now interns the attribute names of pickled objects. This saves " "memory and allows pickles to be smaller." -#: ../../whatsnew/3.1.rst:462 +#: ../../whatsnew/3.1.rst:463 msgid "(Contributed by Jake McGuire and Antoine Pitrou; :issue:`5084`.)" msgstr "(Contributed by Jake McGuire and Antoine Pitrou; :issue:`5084`.)" -#: ../../whatsnew/3.1.rst:465 +#: ../../whatsnew/3.1.rst:466 msgid "IDLE" msgstr "IDLE" -#: ../../whatsnew/3.1.rst:467 +#: ../../whatsnew/3.1.rst:468 msgid "" "IDLE's format menu now provides an option to strip trailing whitespace from " "a source file." @@ -780,37 +781,39 @@ msgstr "" "IDLE's format menu now provides an option to strip trailing whitespace from " "a source file." -#: ../../whatsnew/3.1.rst:470 +#: ../../whatsnew/3.1.rst:471 msgid "(Contributed by Roger D. Serwy; :issue:`5150`.)" msgstr "(Contributed by Roger D. Serwy; :issue:`5150`.)" -#: ../../whatsnew/3.1.rst:473 +#: ../../whatsnew/3.1.rst:474 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:475 +#: ../../whatsnew/3.1.rst:476 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:" - -#: ../../whatsnew/3.1.rst:477 -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 always " -"stored in base 2**15. Using base 2**30 gives significant performance " -"improvements on 64-bit machines, but benchmark results on 32-bit machines " -"have been mixed. Therefore, the default is to use base 2**30 on 64-bit " -"machines and base 2**15 on 32-bit machines; on Unix, there's a new configure " -"option ``--enable-big-digits`` that can be used to override this default." -msgstr "" -"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 always stored " -"in base 2**15. Using base 2**30 gives significant performance improvements " -"on 64-bit machines, but benchmark results on 32-bit machines have been " -"mixed. Therefore, the default is to use base 2**30 on 64-bit machines and " -"base 2**15 on 32-bit machines; on Unix, there's a new configure option ``--" -"enable-big-digits`` that can be used to override this default." - -#: ../../whatsnew/3.1.rst:486 +msgstr "As alterações no processo de construção do Python e na API C incluem:" + +#: ../../whatsnew/3.1.rst:478 +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 " +"always stored in base ``2**15``. Using base ``2**30`` gives significant " +"performance improvements on 64-bit machines, but benchmark results on 32-bit " +"machines have been mixed. Therefore, the default is to use base ``2**30`` " +"on 64-bit machines and base ``2**15`` on 32-bit machines; on Unix, there's a " +"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 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 " @@ -824,11 +827,11 @@ msgstr "" "format, giving the number of bits per digit and the size in bytes of the C " "type used to store each digit::" -#: ../../whatsnew/3.1.rst:496 +#: ../../whatsnew/3.1.rst:497 msgid "(Contributed by Mark Dickinson; :issue:`4258`.)" msgstr "(Contributed by Mark Dickinson; :issue:`4258`.)" -#: ../../whatsnew/3.1.rst:498 +#: ../../whatsnew/3.1.rst:499 msgid "" "The :c:func:`PyLong_AsUnsignedLongLong()` function now handles a negative " "*pylong* by raising :exc:`OverflowError` instead of :exc:`TypeError`." @@ -836,21 +839,21 @@ msgstr "" "The :c:func:`PyLong_AsUnsignedLongLong()` function now handles a negative " "*pylong* by raising :exc:`OverflowError` instead of :exc:`TypeError`." -#: ../../whatsnew/3.1.rst:501 +#: ../../whatsnew/3.1.rst:502 msgid "(Contributed by Mark Dickinson and Lisandro Dalcrin; :issue:`5175`.)" msgstr "(Contributed by Mark Dickinson and Lisandro Dalcrin; :issue:`5175`.)" -#: ../../whatsnew/3.1.rst:503 +#: ../../whatsnew/3.1.rst:504 msgid "" "Deprecated :c:func:`PyNumber_Int`. Use :c:func:`PyNumber_Long` instead." msgstr "" "Deprecated :c:func:`PyNumber_Int`. Use :c:func:`PyNumber_Long` instead." -#: ../../whatsnew/3.1.rst:505 +#: ../../whatsnew/3.1.rst:506 msgid "(Contributed by Mark Dickinson; :issue:`4910`.)" msgstr "(Contributed by Mark Dickinson; :issue:`4910`.)" -#: ../../whatsnew/3.1.rst:507 +#: ../../whatsnew/3.1.rst:508 msgid "" "Added a new :c:func:`PyOS_string_to_double` function to replace the " "deprecated functions :c:func:`PyOS_ascii_strtod` and :c:func:" @@ -860,11 +863,11 @@ msgstr "" "deprecated functions :c:func:`PyOS_ascii_strtod` and :c:func:" "`PyOS_ascii_atof`." -#: ../../whatsnew/3.1.rst:510 +#: ../../whatsnew/3.1.rst:511 msgid "(Contributed by Mark Dickinson; :issue:`5914`.)" msgstr "(Contributed by Mark Dickinson; :issue:`5914`.)" -#: ../../whatsnew/3.1.rst:512 +#: ../../whatsnew/3.1.rst:513 msgid "" "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 " @@ -878,15 +881,15 @@ msgstr "" "calling a destructor. The old type had a problematic API and is now " "deprecated." -#: ../../whatsnew/3.1.rst:518 +#: ../../whatsnew/3.1.rst:519 msgid "(Contributed by Larry Hastings; :issue:`5630`.)" msgstr "(Contributed by Larry Hastings; :issue:`5630`.)" -#: ../../whatsnew/3.1.rst:521 +#: ../../whatsnew/3.1.rst:522 msgid "Porting to Python 3.1" msgstr "Porting to Python 3.1" -#: ../../whatsnew/3.1.rst:523 +#: ../../whatsnew/3.1.rst:524 msgid "" "This section lists previously described changes and other bugfixes that may " "require changes to your code:" @@ -894,7 +897,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:526 +#: ../../whatsnew/3.1.rst:527 msgid "" "The new floating point string representations can break existing doctests. " "For example::" @@ -902,7 +905,7 @@ msgstr "" "The new floating point string representations can break existing doctests. " "For example::" -#: ../../whatsnew/3.1.rst:549 +#: ../../whatsnew/3.1.rst:550 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 62709a350..c205f28b7 100644 --- a/whatsnew/3.10.po +++ b/whatsnew/3.10.po @@ -1,32 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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: -# Ricardo Cappellano , 2021 -# Claudio Rogerio Carvalho Filho , 2021 -# Victor Matheus Castro , 2021 -# Raphael Mendonça, 2021 -# André Filipe de Assunção e Brito , 2021 -# Alexandre B A Villares, 2021 -# Rafael Fontenelle , 2021 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.10\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-08-06 13:13+0000\n" -"PO-Revision-Date: 2021-06-29 13:04+0000\n" -"Last-Translator: Rafael Fontenelle , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:59+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../whatsnew/3.10.rst:3 msgid "What's New In Python 3.10" @@ -57,99 +52,93 @@ msgid "Pablo Galindo Salgado" msgstr "Pablo Galindo Salgado" #: ../../whatsnew/3.10.rst:49 -msgid "This article explains the new features in Python 3.10, compared to 3.9." -msgstr "" -"Esse artigo explica os novos recursos no Python 3.10, comparado ao 3.9." - -#: ../../whatsnew/3.10.rst:51 -msgid "For full details, see the :ref:`changelog `." -msgstr "Para detalhes completos, veja o :ref:`changelog `." - -#: ../../whatsnew/3.10.rst:55 msgid "" -"Prerelease users should be aware that this document is currently in draft " -"form. It will be updated substantially as Python 3.10 moves towards release, " -"so it's worth checking back even after reading earlier versions." +"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 `." msgstr "" -"Os usuários de pré-lançamento devem estar cientes de que este documento está " -"atualmente em forma de rascunho. Ele será atualizado substancialmente à " -"medida que o Python 3.10 caminha para seu lançamento estável, portanto vale " -"a pena conferir mesmo depois de ler as versões anteriores." +"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." -#: ../../whatsnew/3.10.rst:61 +#: ../../whatsnew/3.10.rst:54 msgid "Summary -- Release highlights" msgstr "Resumo -- Destaques da versão" -#: ../../whatsnew/3.10.rst:69 +#: ../../whatsnew/3.10.rst:62 msgid "New syntax features:" msgstr "Novos recursos de sintaxe:" -#: ../../whatsnew/3.10.rst:71 +#: ../../whatsnew/3.10.rst:64 msgid ":pep:`634`, Structural Pattern Matching: Specification" msgstr ":pep:`634`, Correspondência de padrão estrutural: especificação" -#: ../../whatsnew/3.10.rst:72 +#: ../../whatsnew/3.10.rst:65 msgid ":pep:`635`, Structural Pattern Matching: Motivation and Rationale" msgstr "" ":pep:`635`, Correspondência de padrão estrutural: motivação e justificativa" -#: ../../whatsnew/3.10.rst:73 +#: ../../whatsnew/3.10.rst:66 msgid ":pep:`636`, Structural Pattern Matching: Tutorial" msgstr ":pep:`636`, Correspondência de padrão estrutural: Tutorial" -#: ../../whatsnew/3.10.rst:74 +#: ../../whatsnew/3.10.rst:67 msgid "" ":issue:`12782`, Parenthesized context managers are now officially allowed." msgstr "" ":issue:`12782`, Gerenciadores de contexto entre parênteses agora são " "permitidos oficialmente." -#: ../../whatsnew/3.10.rst:76 +#: ../../whatsnew/3.10.rst:69 msgid "New features in the standard library:" msgstr "Novos recursos na biblioteca padrão:" -#: ../../whatsnew/3.10.rst:78 +#: ../../whatsnew/3.10.rst:71 msgid ":pep:`618`, Add Optional Length-Checking To zip." msgstr ":pep:`618`, Adiciona verificação de comprimento opcional ao zip." -#: ../../whatsnew/3.10.rst:80 +#: ../../whatsnew/3.10.rst:73 msgid "Interpreter improvements:" msgstr "Melhorias no interpretador:" -#: ../../whatsnew/3.10.rst:82 +#: ../../whatsnew/3.10.rst:75 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." -#: ../../whatsnew/3.10.rst:84 +#: ../../whatsnew/3.10.rst:77 msgid "New typing features:" -msgstr " Novos recursos de digitação:" +msgstr "Novos recursos de tipagem:" -#: ../../whatsnew/3.10.rst:86 +#: ../../whatsnew/3.10.rst:79 msgid ":pep:`604`, Allow writing union types as X | Y" msgstr ":pep:`604`, Permite escrever tipos de união como X | Y" -#: ../../whatsnew/3.10.rst:87 +#: ../../whatsnew/3.10.rst:80 +msgid ":pep:`612`, Parameter Specification Variables" +msgstr ":pep:`612`, Variáveis de especificação de parâmetro" + +#: ../../whatsnew/3.10.rst:81 msgid ":pep:`613`, Explicit Type Aliases" msgstr ":pep:`613`, Apelidos de tipo explícitos" -#: ../../whatsnew/3.10.rst:88 -msgid ":pep:`612`, Parameter Specification Variables" -msgstr ":pep:`612`, Variáveis de especificação de parâmetro" +#: ../../whatsnew/3.10.rst:82 +msgid ":pep:`647`, User-Defined Type Guards" +msgstr ":pep:`647`, Guardas de Tipo Definidas Pelo Usuário" -#: ../../whatsnew/3.10.rst:90 +#: ../../whatsnew/3.10.rst:84 msgid "Important deprecations, removals or restrictions:" msgstr "Descontinuações, remoções ou restrições importantes:" -#: ../../whatsnew/3.10.rst:92 +#: ../../whatsnew/3.10.rst:86 msgid ":pep:`644`, Require OpenSSL 1.1.1 or newer" msgstr ":pep:`644`, Exige OpenSSL 1.1.1 ou mais novo" -#: ../../whatsnew/3.10.rst:93 +#: ../../whatsnew/3.10.rst:87 msgid ":pep:`632`, Deprecate distutils module." msgstr ":pep:`632`, Descontinua o módulo distutils." -#: ../../whatsnew/3.10.rst:94 +#: ../../whatsnew/3.10.rst:88 msgid "" ":pep:`623`, Deprecate and prepare for the removal of the wstr member in " "PyUnicodeObject." @@ -157,23 +146,23 @@ msgstr "" ":pep:`623`, Descontinua e prepara para a remoção do membro wstr em " "PyUnicodeObject." -#: ../../whatsnew/3.10.rst:95 +#: ../../whatsnew/3.10.rst:89 msgid ":pep:`624`, Remove Py_UNICODE encoder APIs" msgstr ":pep:`624`, Remove APIs codificadoras de Py_UNICODE" -#: ../../whatsnew/3.10.rst:96 +#: ../../whatsnew/3.10.rst:90 msgid ":pep:`597`, Add optional EncodingWarning" msgstr ":pep:`597`, Adiciona EncodingWarning opcional" -#: ../../whatsnew/3.10.rst:100 ../../whatsnew/3.10.rst:1946 +#: ../../whatsnew/3.10.rst:94 ../../whatsnew/3.10.rst:2054 msgid "New Features" msgstr "Novas funcionalidades" -#: ../../whatsnew/3.10.rst:105 +#: ../../whatsnew/3.10.rst:99 msgid "Parenthesized context managers" msgstr "Gerenciadores de contexto entre parênteses" -#: ../../whatsnew/3.10.rst:107 +#: ../../whatsnew/3.10.rst:101 msgid "" "Using enclosing parentheses for continuation across multiple lines in " "context managers is now supported. This allows formatting a long collection " @@ -187,12 +176,12 @@ msgstr "" "era possível anteriormente com instruções de importação. Por exemplo, todos " "esses exemplos agora são válidos:" -#: ../../whatsnew/3.10.rst:138 +#: ../../whatsnew/3.10.rst:132 msgid "" "it is also possible to use a trailing comma at the end of the enclosed group:" msgstr "também é possível usar uma vírgula no final do grupo fechado:" -#: ../../whatsnew/3.10.rst:150 +#: ../../whatsnew/3.10.rst:144 msgid "" "This new syntax uses the non LL(1) capacities of the new parser. Check :pep:" "`617` for more details." @@ -200,7 +189,7 @@ 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:153 +#: ../../whatsnew/3.10.rst:147 msgid "" "(Contributed by Guido van Rossum, Pablo Galindo and Lysandros Nikolaou in :" "issue:`12782` and :issue:`40334`.)" @@ -208,15 +197,15 @@ msgstr "" "(Contribuição de Guido van Rossum, Pablo Galindo e Lysandros Nikolaou em :" "issue:`12782` e :issue:`40334`.)" -#: ../../whatsnew/3.10.rst:158 +#: ../../whatsnew/3.10.rst:152 msgid "Better error messages" msgstr "Melhores mensagens de erro" -#: ../../whatsnew/3.10.rst:161 +#: ../../whatsnew/3.10.rst:155 msgid "SyntaxErrors" msgstr "SyntaxErrors" -#: ../../whatsnew/3.10.rst:163 +#: ../../whatsnew/3.10.rst:157 msgid "" "When parsing code that contains unclosed parentheses or brackets the " "interpreter now includes the location of the unclosed bracket of parentheses " @@ -230,7 +219,7 @@ msgstr "" "algum local incorreto. Por exemplo, considere o seguinte código (observe o " "\"{\" não fechado):" -#: ../../whatsnew/3.10.rst:174 +#: ../../whatsnew/3.10.rst:168 msgid "" "Previous versions of the interpreter reported confusing places as the " "location of the syntax error:" @@ -238,11 +227,11 @@ msgstr "" "Versões anteriores do interpretador relatavam lugares confusos como local do " "erro de sintaxe:" -#: ../../whatsnew/3.10.rst:184 +#: ../../whatsnew/3.10.rst:178 msgid "but in Python 3.10 a more informative error is emitted:" msgstr "mas no Python 3.10, um erro mais informativo é emitido:" -#: ../../whatsnew/3.10.rst:194 +#: ../../whatsnew/3.10.rst:188 msgid "" "In a similar way, errors involving unclosed string literals (single and " "triple quoted) now point to the start of the string instead of reporting EOF/" @@ -252,13 +241,13 @@ msgstr "" "(entre aspas simples e triplas) agora apontam para o início da string em vez " "de relatar EOF/EOL." -#: ../../whatsnew/3.10.rst:197 +#: ../../whatsnew/3.10.rst:191 msgid "" "These improvements are inspired by previous work in the PyPy interpreter." msgstr "" "Essas melhorias são inspiradas em trabalhos anteriores no interpretador PyPy." -#: ../../whatsnew/3.10.rst:199 +#: ../../whatsnew/3.10.rst:193 msgid "" "(Contributed by Pablo Galindo in :issue:`42864` and Batuhan Taskaya in :" "issue:`40176`.)" @@ -266,7 +255,7 @@ msgstr "" "(Contribuição de Pablo Galindo em :issue:`42864` e Batuhan Taskaya em :issue:" "`40176`.)" -#: ../../whatsnew/3.10.rst:202 +#: ../../whatsnew/3.10.rst:196 msgid "" ":exc:`SyntaxError` exceptions raised by the interpreter will now highlight " "the full error range of the expression that constitutes the syntax error " @@ -278,15 +267,15 @@ msgstr "" "sintaxe, em vez de apenas onde o problema foi detectado. Desta forma, em vez " "de exibir (antes do Python 3.10):" -#: ../../whatsnew/3.10.rst:215 +#: ../../whatsnew/3.10.rst:209 msgid "now Python 3.10 will display the exception as:" msgstr "agora o Python 3.10 vai exibir a exceção como:" -#: ../../whatsnew/3.10.rst:225 +#: ../../whatsnew/3.10.rst:219 msgid "This improvement was contributed by Pablo Galindo in :issue:`43914`." msgstr "Esta melhoria foi contribuída por Pablo Galindo em :issue:`43914`." -#: ../../whatsnew/3.10.rst:227 +#: ../../whatsnew/3.10.rst:221 msgid "" "A considerable amount of new specialized messages for :exc:`SyntaxError` " "exceptions have been incorporated. Some of the most notable ones are as " @@ -296,75 +285,75 @@ msgstr "" "exc:`SyntaxError` foram incorporadas. Alguns dos mais notáveis são os " "seguintes:" -#: ../../whatsnew/3.10.rst:230 +#: ../../whatsnew/3.10.rst:224 msgid "Missing ``:`` before blocks:" -msgstr " Faltando``:`` antes de blocos:" +msgstr "Faltando ``:`` antes de blocos:" -#: ../../whatsnew/3.10.rst:240 -msgid "(Contributed by Pablo Galindo in :issue:`42997`)" -msgstr "(Contribuição de Pablo Galindo em :issue:`42997`)" +#: ../../whatsnew/3.10.rst:234 +msgid "(Contributed by Pablo Galindo in :issue:`42997`.)" +msgstr "(Contribuição de Pablo Galindo em :issue:`42997`.)" -#: ../../whatsnew/3.10.rst:242 +#: ../../whatsnew/3.10.rst:236 msgid "Unparenthesised tuples in comprehensions targets:" msgstr "Tuplas sem parênteses em alvos de compreensão:" -#: ../../whatsnew/3.10.rst:252 -msgid "(Contributed by Pablo Galindo in :issue:`43017`)" -msgstr "(Contribuição de Pablo Galindo em :issue:`43017`)" +#: ../../whatsnew/3.10.rst:246 +msgid "(Contributed by Pablo Galindo in :issue:`43017`.)" +msgstr "(Contribuição de Pablo Galindo em :issue:`43017`.)" -#: ../../whatsnew/3.10.rst:254 +#: ../../whatsnew/3.10.rst:248 msgid "Missing commas in collection literals and between expressions:" msgstr "Faltando vírgulas em literais de coleção e entre expressões:" -#: ../../whatsnew/3.10.rst:267 -msgid "(Contributed by Pablo Galindo in :issue:`43822`)" -msgstr "(Contribuição de Pablo Galindo em :issue:`43822`)" +#: ../../whatsnew/3.10.rst:261 +msgid "(Contributed by Pablo Galindo in :issue:`43822`.)" +msgstr "(Contribuição de Pablo Galindo em :issue:`43822`.)" -#: ../../whatsnew/3.10.rst:269 +#: ../../whatsnew/3.10.rst:263 msgid "Multiple Exception types without parentheses:" msgstr "Vários tipos de exceção sem parênteses:" -#: ../../whatsnew/3.10.rst:281 -msgid "(Contributed by Pablo Galindo in :issue:`43149`)" -msgstr "(Contribuição de Pablo Galindo em :issue:`43149`)" +#: ../../whatsnew/3.10.rst:275 +msgid "(Contributed by Pablo Galindo in :issue:`43149`.)" +msgstr "(Contribuição de Pablo Galindo em :issue:`43149`.)" -#: ../../whatsnew/3.10.rst:283 +#: ../../whatsnew/3.10.rst:277 msgid "Missing ``:`` and values in dictionary literals:" msgstr "Faltando ``:`` em valores em literais de dicionário:" -#: ../../whatsnew/3.10.rst:303 -msgid "(Contributed by Pablo Galindo in :issue:`43823`)" -msgstr "(Contribuição de Pablo Galindo em :issue:`43823`)" +#: ../../whatsnew/3.10.rst:297 +msgid "(Contributed by Pablo Galindo in :issue:`43823`.)" +msgstr "(Contribuição de Pablo Galindo em :issue:`43823`.)" -#: ../../whatsnew/3.10.rst:305 +#: ../../whatsnew/3.10.rst:299 msgid "``try`` blocks without ``except`` or ``finally`` blocks:" msgstr "Blocos ``try`` sem blocos ``except`` ou ``finally``:" -#: ../../whatsnew/3.10.rst:317 -msgid "(Contributed by Pablo Galindo in :issue:`44305`)" -msgstr "(Contribuição de Pablo Galindo em :issue:`44305`)" +#: ../../whatsnew/3.10.rst:311 +msgid "(Contributed by Pablo Galindo in :issue:`44305`.)" +msgstr "(Contribuição de Pablo Galindo em :issue:`44305`.)" -#: ../../whatsnew/3.10.rst:319 +#: ../../whatsnew/3.10.rst:313 msgid "Usage of ``=`` instead of ``==`` in comparisons:" msgstr "Uso de ``=`` em vez de ``==`` nas comparações:" -#: ../../whatsnew/3.10.rst:329 -msgid "(Contributed by Pablo Galindo in :issue:`43797`)" -msgstr "(Contribuição de Pablo Galindo em :issue:`43797`)" +#: ../../whatsnew/3.10.rst:323 +msgid "(Contributed by Pablo Galindo in :issue:`43797`.)" +msgstr "(Contribuição de Pablo Galindo em :issue:`43797`.)" -#: ../../whatsnew/3.10.rst:331 +#: ../../whatsnew/3.10.rst:325 msgid "Usage of ``*`` in f-strings:" msgstr "Uso de ``*`` em f-strings:" -#: ../../whatsnew/3.10.rst:341 -msgid "(Contributed by Pablo Galindo in :issue:`41064`)" -msgstr "(Contribuição de Pablo Galindo em :issue:`41064`)" +#: ../../whatsnew/3.10.rst:335 +msgid "(Contributed by Pablo Galindo in :issue:`41064`.)" +msgstr "(Contribuição de Pablo Galindo em :issue:`41064`.)" -#: ../../whatsnew/3.10.rst:344 +#: ../../whatsnew/3.10.rst:338 msgid "IndentationErrors" msgstr "IndentationErrors" -#: ../../whatsnew/3.10.rst:346 +#: ../../whatsnew/3.10.rst:340 msgid "" "Many :exc:`IndentationError` exceptions now have more context regarding what " "kind of block was expecting an indentation, including the location of the " @@ -374,11 +363,11 @@ msgstr "" "tipo de bloco estava esperando um indentação, incluindo a localização da " "instrução:" -#: ../../whatsnew/3.10.rst:361 +#: ../../whatsnew/3.10.rst:355 msgid "AttributeErrors" msgstr "AttributeErrors" -#: ../../whatsnew/3.10.rst:363 +#: ../../whatsnew/3.10.rst:357 msgid "" "When printing :exc:`AttributeError`, :c:func:`PyErr_Display` will offer " "suggestions of similar attribute names in the object that the exception was " @@ -388,11 +377,11 @@ msgstr "" "de nomes de atributos semelhantes no objeto a partir do qual a exceção foi " "levantada:" -#: ../../whatsnew/3.10.rst:374 ../../whatsnew/3.10.rst:396 +#: ../../whatsnew/3.10.rst:368 ../../whatsnew/3.10.rst:390 msgid "(Contributed by Pablo Galindo in :issue:`38530`.)" msgstr "(Contribuição de Pablo Galindo em :issue:`38530`.)" -#: ../../whatsnew/3.10.rst:377 +#: ../../whatsnew/3.10.rst:371 msgid "" "Notice this won't work if :c:func:`PyErr_Display` is not called to display " "the error which can happen if some other custom error display function is " @@ -403,11 +392,11 @@ msgstr "" "exibição de erro for usada. Este é um cenário comum em alguns REPLs, laços " "de leitura-avaliação-impressão, como o IPython." -#: ../../whatsnew/3.10.rst:382 +#: ../../whatsnew/3.10.rst:376 msgid "NameErrors" msgstr "NameErrors" -#: ../../whatsnew/3.10.rst:384 +#: ../../whatsnew/3.10.rst:378 msgid "" "When printing :exc:`NameError` raised by the interpreter, :c:func:" "`PyErr_Display` will offer suggestions of similar variable names in the " @@ -417,7 +406,7 @@ msgstr "" "`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:399 +#: ../../whatsnew/3.10.rst:393 msgid "" "Notice this won't work if :c:func:`PyErr_Display` is not called to display " "the error, which can happen if some other custom error display function is " @@ -428,11 +417,11 @@ msgstr "" "exibição de erro for usada. Este é um cenário comum em alguns REPLs, laços " "de leitura-avaliação-impressão, como o IPython." -#: ../../whatsnew/3.10.rst:405 +#: ../../whatsnew/3.10.rst:399 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" -#: ../../whatsnew/3.10.rst:407 +#: ../../whatsnew/3.10.rst:401 msgid "" "PEP 626 brings more precise and reliable line numbers for debugging, " "profiling and coverage tools. Tracing events, with the correct line number, " @@ -444,7 +433,7 @@ msgstr "" "número de linha correto, são gerados para todas as linhas de código " "executadas e apenas para linhas de código que são executadas." -#: ../../whatsnew/3.10.rst:410 +#: ../../whatsnew/3.10.rst:404 msgid "" "The ``f_lineno`` attribute of frame objects will always contain the expected " "line number." @@ -452,7 +441,7 @@ msgstr "" "O atributo ``f_lineno`` de objetos de quadro sempre conterá o número de " "linha esperado." -#: ../../whatsnew/3.10.rst:412 +#: ../../whatsnew/3.10.rst:406 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 " @@ -462,11 +451,11 @@ msgstr "" "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()``." -#: ../../whatsnew/3.10.rst:416 +#: ../../whatsnew/3.10.rst:410 msgid "PEP 634: Structural Pattern Matching" msgstr "PEP 634: Correspondência de padrão estrutural" -#: ../../whatsnew/3.10.rst:418 +#: ../../whatsnew/3.10.rst:412 msgid "" "Structural pattern matching has been added in the form of a *match " "statement* and *case statements* of patterns with associated actions. " @@ -483,15 +472,15 @@ msgstr "" "ramifiquem na estrutura de dados e apliquem ações específicas com base em " "diferentes formas de dados." -#: ../../whatsnew/3.10.rst:426 +#: ../../whatsnew/3.10.rst:420 msgid "Syntax and operations" msgstr "Sintaxe e operações" -#: ../../whatsnew/3.10.rst:428 +#: ../../whatsnew/3.10.rst:422 msgid "The generic syntax of pattern matching is::" msgstr "A sintaxe genérica da correspondência de padrão é::" -#: ../../whatsnew/3.10.rst:440 +#: ../../whatsnew/3.10.rst:434 msgid "" "A match statement takes an expression and compares its value to successive " "patterns given as one or more case blocks. Specifically, pattern matching " @@ -501,15 +490,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:444 +#: ../../whatsnew/3.10.rst:438 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:445 +#: ../../whatsnew/3.10.rst:439 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:446 +#: ../../whatsnew/3.10.rst:440 msgid "" "comparing the subject with each pattern in a ``case`` statement from top to " "bottom until a match is confirmed." @@ -517,11 +506,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:448 +#: ../../whatsnew/3.10.rst:442 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:450 +#: ../../whatsnew/3.10.rst:444 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 " @@ -533,11 +522,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:456 +#: ../../whatsnew/3.10.rst:450 msgid "Declarative approach" msgstr "Abordagem declarativa" -#: ../../whatsnew/3.10.rst:458 +#: ../../whatsnew/3.10.rst:452 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 " @@ -551,7 +540,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:464 +#: ../../whatsnew/3.10.rst:458 msgid "" "More powerful examples of pattern matching can be found in languages such as " "Scala and Elixir. With structural pattern matching, the approach is " @@ -563,7 +552,7 @@ msgstr "" "estrutural, a abordagem é \"declarativa\" e declara explicitamente as " "condições (os padrões) para que os dados correspondam." -#: ../../whatsnew/3.10.rst:468 +#: ../../whatsnew/3.10.rst:462 msgid "" "While an \"imperative\" series of instructions using nested \"if\" " "statements could be used to accomplish something similar to structural " @@ -584,11 +573,11 @@ msgstr "" "case, seu verdadeiro valor para Python reside em seu tratamento do tipo e " "forma do sujeito." -#: ../../whatsnew/3.10.rst:477 +#: ../../whatsnew/3.10.rst:471 msgid "Simple pattern: match to a literal" msgstr "Padrão simples: corresponder a um literal" -#: ../../whatsnew/3.10.rst:479 +#: ../../whatsnew/3.10.rst:473 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 " @@ -603,7 +592,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:496 +#: ../../whatsnew/3.10.rst:490 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 " @@ -619,17 +608,17 @@ msgstr "" "atua como um *curinga* e garante que o assunto sempre corresponderá. O uso " "de ``_`` é opcional." -#: ../../whatsnew/3.10.rst:503 +#: ../../whatsnew/3.10.rst:497 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:509 +#: ../../whatsnew/3.10.rst:503 msgid "Behavior without the wildcard" msgstr "Comportamento sem o curinga" -#: ../../whatsnew/3.10.rst:511 +#: ../../whatsnew/3.10.rst:505 msgid "" "If we modify the above example by removing the last case block, the example " "becomes::" @@ -637,7 +626,7 @@ msgstr "" "Se modificarmos o exemplo acima removendo o último bloco case, o exemplo se " "tornará::" -#: ../../whatsnew/3.10.rst:523 +#: ../../whatsnew/3.10.rst:517 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 " @@ -647,11 +636,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:528 +#: ../../whatsnew/3.10.rst:522 msgid "Patterns with a literal and variable" msgstr "Padrões com uma literal e variável" -#: ../../whatsnew/3.10.rst:530 +#: ../../whatsnew/3.10.rst:524 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-" @@ -659,9 +648,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:547 +#: ../../whatsnew/3.10.rst:541 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 " @@ -672,15 +661,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:554 +#: ../../whatsnew/3.10.rst:548 msgid "Patterns and classes" msgstr "Padrões e classes" -#: ../../whatsnew/3.10.rst:556 +#: ../../whatsnew/3.10.rst:550 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 " @@ -691,11 +680,11 @@ msgstr "" "construtor. Este padrão tem a capacidade de capturar atributos de classe em " "variáveis::" -#: ../../whatsnew/3.10.rst:578 +#: ../../whatsnew/3.10.rst:572 msgid "Patterns with positional parameters" msgstr "Padrões com parâmetros posicionais" -#: ../../whatsnew/3.10.rst:580 +#: ../../whatsnew/3.10.rst:574 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 " @@ -711,11 +700,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:592 +#: ../../whatsnew/3.10.rst:586 msgid "Nested patterns" msgstr "Padrões aninhados" -#: ../../whatsnew/3.10.rst:594 +#: ../../whatsnew/3.10.rst:588 msgid "" "Patterns can be arbitrarily nested. For example, if our data is a short " "list of points, it could be matched like this::" @@ -723,11 +712,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:610 +#: ../../whatsnew/3.10.rst:604 msgid "Complex patterns and the wildcard" msgstr "Padrões complexos e o curinga" -#: ../../whatsnew/3.10.rst:612 +#: ../../whatsnew/3.10.rst:606 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 " @@ -737,7 +726,7 @@ msgstr "" "Um curinga pode ser usado em padrões mais complexos, como ``('error', code, " "_)``. Por exemplo::" -#: ../../whatsnew/3.10.rst:622 +#: ../../whatsnew/3.10.rst:616 msgid "" "In the above case, ``test_variable`` will match for ('error', code, 100) and " "('error', code, 800)." @@ -745,30 +734,29 @@ msgstr "" "No caso acima, ``test_variable`` irá corresponder a ('erro', código, 100) e " "('erro', código, 800)." -#: ../../whatsnew/3.10.rst:626 +#: ../../whatsnew/3.10.rst:620 msgid "Guard" msgstr "Guarda" -#: ../../whatsnew/3.10.rst:628 +#: ../../whatsnew/3.10.rst:622 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::" +"Podemos adicionar uma cláusula ``if`` a um padrão, conhecido como " +"\"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:639 +#: ../../whatsnew/3.10.rst:633 msgid "Other Key Features" msgstr "Outros recursos-chave" -#: ../../whatsnew/3.10.rst:641 +#: ../../whatsnew/3.10.rst:635 msgid "Several other key features:" msgstr "Vários outros recursos-chave:" -#: ../../whatsnew/3.10.rst:643 +#: ../../whatsnew/3.10.rst:637 msgid "" "Like unpacking assignments, tuple and list patterns have exactly the same " "meaning and actually match arbitrary sequences. Technically, the subject " @@ -778,11 +766,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:649 +#: ../../whatsnew/3.10.rst:643 msgid "" "Sequence patterns support wildcards: ``[x, y, *rest]`` and ``(x, y, *rest)`` " "work similar to wildcards in unpacking assignments. The name after ``*`` " @@ -795,31 +783,31 @@ msgstr "" "*_)`` corresponde a uma sequência de pelo menos dois itens sem ligar os " "itens restantes." -#: ../../whatsnew/3.10.rst:654 +#: ../../whatsnew/3.10.rst:648 msgid "" -"Mapping patterns: ``{\"bandwidth\": b, \"latency\": l}`` captures the ``" -"\"bandwidth\"`` and ``\"latency\"`` values from a dict. Unlike sequence " +"Mapping patterns: ``{\"bandwidth\": b, \"latency\": l}`` captures the " +"``\"bandwidth\"`` and ``\"latency\"`` values from a dict. Unlike sequence " "patterns, extra keys are ignored. A wildcard ``**rest`` is also supported. " "(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:659 +#: ../../whatsnew/3.10.rst:653 msgid "Subpatterns may be captured using the ``as`` keyword::" msgstr "Subpadrões podem ser capturados usando a palavra reservada ``as`` ::" -#: ../../whatsnew/3.10.rst:663 +#: ../../whatsnew/3.10.rst:657 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:666 +#: ../../whatsnew/3.10.rst:660 msgid "" "Most literals are compared by equality. However, the singletons ``True``, " "``False`` and ``None`` are compared by identity." @@ -827,7 +815,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:669 +#: ../../whatsnew/3.10.rst:663 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 " @@ -837,7 +825,7 @@ msgstr "" "devem ser nomes pontilhados para evitar que a constante seja interpretada " "como uma variável de captura::" -#: ../../whatsnew/3.10.rst:687 +#: ../../whatsnew/3.10.rst:681 msgid "" "For the full specification see :pep:`634`. Motivation and rationale are in :" "pep:`635`, and a longer tutorial is in :pep:`636`." @@ -846,11 +834,11 @@ msgstr "" "o raciocínio estão na :pep:`635`, e um tutorial mais longo está na :pep:" "`636`." -#: ../../whatsnew/3.10.rst:694 +#: ../../whatsnew/3.10.rst:688 msgid "Optional ``EncodingWarning`` and ``encoding=\"locale\"`` option" msgstr "``EncodingWarning`` opcional e opção ``encoding=\"locale\"``" -#: ../../whatsnew/3.10.rst:696 +#: ../../whatsnew/3.10.rst:690 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 " @@ -862,7 +850,7 @@ 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:705 +#: ../../whatsnew/3.10.rst:699 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 " @@ -872,7 +860,7 @@ msgstr "" "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:709 +#: ../../whatsnew/3.10.rst:703 msgid "" "``-X warn_default_encoding`` option and :envvar:`PYTHONWARNDEFAULTENCODING` " "are added to enable the warning." @@ -880,15 +868,15 @@ msgstr "" "A opção ``-X warn_default_encoding`` e :envvar:`PYTHONWARNDEFAULTENCODING` " "são adicionadas para ativar o aviso." -#: ../../whatsnew/3.10.rst:712 +#: ../../whatsnew/3.10.rst:706 msgid "See :ref:`io-text-encoding` for more information." msgstr "Veja :ref:`io-text-encoding` para mais informações." -#: ../../whatsnew/3.10.rst:716 +#: ../../whatsnew/3.10.rst:711 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:718 +#: ../../whatsnew/3.10.rst:713 msgid "" "This section covers major changes affecting :pep:`484` type hints and the :" "mod:`typing` module." @@ -896,11 +884,11 @@ msgstr "" "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:723 +#: ../../whatsnew/3.10.rst:718 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:725 +#: ../../whatsnew/3.10.rst:720 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 " @@ -911,7 +899,7 @@ msgstr "" "quanto o tipo Y\" ao invés de usar :data:`typing.Union`, especialmente em " "dicas de tipo." -#: ../../whatsnew/3.10.rst:729 +#: ../../whatsnew/3.10.rst:724 msgid "" "In previous versions of Python, to apply a type hint for functions accepting " "arguments of multiple types, :data:`typing.Union` was used::" @@ -919,12 +907,12 @@ 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:736 +#: ../../whatsnew/3.10.rst:731 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:742 +#: ../../whatsnew/3.10.rst:737 msgid "" "This new syntax is also accepted as the second argument to :func:" "`isinstance` and :func:`issubclass`::" @@ -932,11 +920,11 @@ msgstr "" "Esta nova sintaxe também é aceita como o segundo argumento para :func:" "`isinstance` e :func:`issubclass`::" -#: ../../whatsnew/3.10.rst:748 +#: ../../whatsnew/3.10.rst:743 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:750 +#: ../../whatsnew/3.10.rst:745 msgid "" "(Contributed by Maggie Moss and Philippe Prados in :issue:`41428`, with " "additions by Yurii Karabas and Serhiy Storchaka in :issue:`44490`.)" @@ -944,11 +932,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:755 +#: ../../whatsnew/3.10.rst:750 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:757 +#: ../../whatsnew/3.10.rst:752 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." @@ -957,7 +945,7 @@ msgstr "" "de tipo estático para ``Callable`` da :pep:`484` foram adicionadas ao " "módulo :mod:`typing`." -#: ../../whatsnew/3.10.rst:760 +#: ../../whatsnew/3.10.rst:755 msgid "" "The first is the parameter specification variable. They are used to forward " "the parameter types of one callable to another callable -- a pattern " @@ -967,12 +955,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:766 +#: ../../whatsnew/3.10.rst:761 msgid "" "The second option is the new ``Concatenate`` operator. It's used in " "conjunction with parameter specification variables to type annotate a higher " @@ -984,7 +972,7 @@ 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:771 +#: ../../whatsnew/3.10.rst:766 msgid "" "See :class:`typing.Callable`, :class:`typing.ParamSpec`, :class:`typing." "Concatenate`, :class:`typing.ParamSpecArgs`, :class:`typing." @@ -994,7 +982,7 @@ msgstr "" "Concatenate`, :class:`typing.ParamSpecArgs`, :class:`typing.ParamSpecKwargs` " "e :pep:`612` para mais detalhes." -#: ../../whatsnew/3.10.rst:775 +#: ../../whatsnew/3.10.rst:770 msgid "" "(Contributed by Ken Jin in :issue:`41559`, with minor enhancements by Jelle " "Zijlstra in :issue:`43783`. PEP written by Mark Mendoza.)" @@ -1002,11 +990,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:780 +#: ../../whatsnew/3.10.rst:775 msgid "PEP 613: TypeAlias" msgstr "PEP 613: TypeAlias" -#: ../../whatsnew/3.10.rst:782 +#: ../../whatsnew/3.10.rst:777 msgid "" ":pep:`484` introduced the concept of type aliases, only requiring them to be " "top-level unannotated assignments. This simplicity sometimes made it " @@ -1016,11 +1004,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:790 +#: ../../whatsnew/3.10.rst:785 msgid "" "Now the :mod:`typing` module has a special value :data:`TypeAlias` which " "lets you declare type aliases more explicitly::" @@ -1028,19 +1016,19 @@ 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:796 +#: ../../whatsnew/3.10.rst:791 msgid "See :pep:`613` for more details." msgstr "Veja :pep:`613` para mais detalhes." -#: ../../whatsnew/3.10.rst:798 +#: ../../whatsnew/3.10.rst:793 msgid "(Contributed by Mikhail Golubev in :issue:`41923`.)" msgstr "(Contribuição de Mikhail Golubev em :issue:`41923`.)" -#: ../../whatsnew/3.10.rst:801 +#: ../../whatsnew/3.10.rst:796 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:803 +#: ../../whatsnew/3.10.rst:798 msgid "" ":data:`TypeGuard` has been added to the :mod:`typing` module to annotate " "type guard functions and improve information provided to static type " @@ -1052,7 +1040,7 @@ msgstr "" "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:808 +#: ../../whatsnew/3.10.rst:803 msgid "" "(Contributed by Ken Jin and Guido van Rossum in :issue:`43766`. PEP written " "by Eric Traut.)" @@ -1060,11 +1048,11 @@ msgstr "" "(Contribuição de Ken Jin e Guido van Rossum em :issue:`43766`. PEP escrita " "por Eric Traut.)" -#: ../../whatsnew/3.10.rst:812 +#: ../../whatsnew/3.10.rst:807 msgid "Other Language Changes" msgstr "Outras mudanças na linguagem" -#: ../../whatsnew/3.10.rst:814 +#: ../../whatsnew/3.10.rst:809 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 " @@ -1075,7 +1063,7 @@ msgstr "" "como contagem da população. (Contribuição de Niklas Fiekas em :issue:" "`29882`.)" -#: ../../whatsnew/3.10.rst:818 +#: ../../whatsnew/3.10.rst:813 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." @@ -1087,7 +1075,7 @@ msgstr "" "class:`types.MappingProxyType` que envolve o dicionário original. " "(Contribuição de Dennis Sweeney em :issue:`40890`.)" -#: ../../whatsnew/3.10.rst:823 +#: ../../whatsnew/3.10.rst:818 msgid "" ":pep:`618`: The :func:`zip` function now has an optional ``strict`` flag, " "used to require that all the iterables have an equal length." @@ -1096,7 +1084,7 @@ msgstr "" "``strict``, usado para exigir que todos os iteráveis tenham um comprimento " "igual." -#: ../../whatsnew/3.10.rst:826 +#: ../../whatsnew/3.10.rst:821 msgid "" "Builtin and extension functions that take integer arguments no longer " "accept :class:`~decimal.Decimal`\\ s, :class:`~fractions.Fraction`\\ s and " @@ -1110,7 +1098,7 @@ msgstr "" "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:833 +#: ../../whatsnew/3.10.rst:828 msgid "" "If :func:`object.__ipow__` returns :const:`NotImplemented`, the operator " "will correctly fall back to :func:`object.__pow__` and :func:`object." @@ -1120,7 +1108,7 @@ msgstr "" "corretamente recorrer ao :func:`object.__pow__` e :func:`object.__rpow__` " "como esperado. (Contribuição de Alex Shkop em :issue:`38302`.)" -#: ../../whatsnew/3.10.rst:837 +#: ../../whatsnew/3.10.rst:832 msgid "" "Assignment expressions can now be used unparenthesized within set literals " "and set comprehensions, as well as in sequence indexes (but not slices)." @@ -1129,7 +1117,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:840 +#: ../../whatsnew/3.10.rst:835 msgid "" "Functions have a new ``__builtins__`` attribute which is used to look for " "builtin symbols when a function is executed, instead of looking into " @@ -1143,7 +1131,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:846 +#: ../../whatsnew/3.10.rst:841 msgid "" "Two new builtin functions -- :func:`aiter` and :func:`anext` have been added " "to provide asynchronous counterparts to :func:`iter` and :func:`next`, " @@ -1155,7 +1143,7 @@ msgstr "" "`next`, respectivamente. (Contribuição de Joshua Bronson, Daniel Pope e " "Justin Wang em :issue:`31861`.)" -#: ../../whatsnew/3.10.rst:851 +#: ../../whatsnew/3.10.rst:846 msgid "" "Static methods (:func:`@staticmethod `) and class methods (:" "func:`@classmethod `) now inherit the method attributes " @@ -1171,7 +1159,7 @@ 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:858 +#: ../../whatsnew/3.10.rst:853 msgid "" "Annotations for complex targets (everything beside ``simple name`` targets " "defined by :pep:`526`) no longer cause any runtime effects with ``from " @@ -1183,7 +1171,7 @@ msgstr "" "tempo de execução com ``from __future__ import annotations``. (Contribuição " "de Batuhan Taskaya em :issue:`42737`.)" -#: ../../whatsnew/3.10.rst:862 +#: ../../whatsnew/3.10.rst:857 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 " @@ -1198,7 +1186,7 @@ msgstr "" "mais informações, veja :ref:`annotations-howto`. (Contribuição de Larry " "Hastings em :issue:`43901`.)" -#: ../../whatsnew/3.10.rst:869 +#: ../../whatsnew/3.10.rst:864 msgid "" "Annotations consist of ``yield``, ``yield from``, ``await`` or named " "expressions are now forbidden under ``from __future__ import annotations`` " @@ -1210,7 +1198,7 @@ msgstr "" "causa de seus efeitos colaterais. (Contribuição de Batuhan Taskaya em :issue:" "`42725`.)" -#: ../../whatsnew/3.10.rst:874 +#: ../../whatsnew/3.10.rst:869 msgid "" "Usage of unbound variables, ``super()`` and other expressions that might " "alter the processing of symbol table as annotations are now rendered " @@ -1222,7 +1210,7 @@ msgstr "" "processadas sem efeito sob ``from __future__ import annotations``. " "(Contribuição de Batuhan Taskaya em :issue:`42725`.)" -#: ../../whatsnew/3.10.rst:879 +#: ../../whatsnew/3.10.rst:874 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 " @@ -1238,23 +1226,43 @@ msgstr "" "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:887 +#: ../../whatsnew/3.10.rst:881 +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`.)" +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`.)" + +#: ../../whatsnew/3.10.rst:884 +msgid "" +":exc:`SyntaxError` exceptions now have ``end_lineno`` and ``end_offset`` " +"attributes. They will be ``None`` if not determined. (Contributed by Pablo " +"Galindo in :issue:`43914`.)" +msgstr "" +"Exceções :exc:`SyntaxError` agora possuem atributos ``end_lineno`` e " +"``end_offset``. Eles serão ``None`` se não forem determinados. (Contribuição " +"de Pablo Galindo em :issue:`43914`.)" + +#: ../../whatsnew/3.10.rst:889 msgid "New Modules" msgstr "Novos módulos" -#: ../../whatsnew/3.10.rst:889 +#: ../../whatsnew/3.10.rst:891 msgid "None yet." msgstr "Nada ainda." -#: ../../whatsnew/3.10.rst:893 +#: ../../whatsnew/3.10.rst:895 msgid "Improved Modules" msgstr "Módulos melhorados" -#: ../../whatsnew/3.10.rst:896 +#: ../../whatsnew/3.10.rst:898 msgid "asyncio" msgstr "asyncio" -#: ../../whatsnew/3.10.rst:898 +#: ../../whatsnew/3.10.rst:900 msgid "" "Add missing :meth:`~asyncio.events.AbstractEventLoop." "connect_accepted_socket` method. (Contributed by Alex Grönholm in :issue:" @@ -1264,11 +1272,11 @@ msgstr "" "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:905 msgid "argparse" msgstr "argparse" -#: ../../whatsnew/3.10.rst:905 +#: ../../whatsnew/3.10.rst:907 msgid "" "Misleading phrase \"optional arguments\" was replaced with \"options\" in " "argparse help. Some tests might require adaptation if they rely on exact " @@ -1279,11 +1287,11 @@ msgstr "" "da correspondência de saída exata. (Contribuição de Raymond Hettinger em :" "issue:`9694`.)" -#: ../../whatsnew/3.10.rst:909 +#: ../../whatsnew/3.10.rst:911 msgid "array" msgstr "array" -#: ../../whatsnew/3.10.rst:911 +#: ../../whatsnew/3.10.rst:913 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 +1301,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:918 msgid "asynchat, asyncore, smtpd" msgstr "asynchat, asyncore, smtpd" -#: ../../whatsnew/3.10.rst:917 +#: ../../whatsnew/3.10.rst:919 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 +1315,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:924 msgid "base64" msgstr "base64" -#: ../../whatsnew/3.10.rst:924 +#: ../../whatsnew/3.10.rst:926 msgid "" "Add :func:`base64.b32hexencode` and :func:`base64.b32hexdecode` to support " "the Base32 Encoding with Extended Hex Alphabet." @@ -1319,11 +1327,11 @@ 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:930 msgid "bdb" msgstr "bdb" -#: ../../whatsnew/3.10.rst:930 +#: ../../whatsnew/3.10.rst:932 msgid "" "Add :meth:`~bdb.Breakpoint.clearBreakpoints` to reset all set breakpoints. " "(Contributed by Irit Katriel in :issue:`24160`.)" @@ -1332,11 +1340,23 @@ msgstr "" "pontos de interrupção definidos. (Contribuição de Irit Katriel em :issue:" "`24160`.)" -#: ../../whatsnew/3.10.rst:934 +#: ../../whatsnew/3.10.rst:936 +msgid "bisect" +msgstr "bisect" + +#: ../../whatsnew/3.10.rst:938 +msgid "" +"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:942 msgid "codecs" msgstr "codecs" -#: ../../whatsnew/3.10.rst:936 +#: ../../whatsnew/3.10.rst:944 msgid "" "Add a :func:`codecs.unregister` function to unregister a codec search " "function. (Contributed by Hai Shi in :issue:`41842`.)" @@ -1345,11 +1365,11 @@ msgstr "" "uma função de pesquisa de codecs. (Contribuição de Hai Shi em :issue:" "`41842`.)" -#: ../../whatsnew/3.10.rst:940 +#: ../../whatsnew/3.10.rst:948 msgid "collections.abc" msgstr "collections.abc" -#: ../../whatsnew/3.10.rst:942 +#: ../../whatsnew/3.10.rst:950 msgid "" "The ``__args__`` of the :ref:`parameterized generic ` " "for :class:`collections.abc.Callable` are now consistent with :data:`typing." @@ -1377,11 +1397,11 @@ msgstr "" "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:955 +#: ../../whatsnew/3.10.rst:963 msgid "contextlib" msgstr "contextlib" -#: ../../whatsnew/3.10.rst:957 +#: ../../whatsnew/3.10.rst:965 msgid "" "Add a :func:`contextlib.aclosing` context manager to safely close async " "generators and objects representing asynchronously released resources. " @@ -1392,7 +1412,7 @@ msgstr "" "liberados de forma assíncrona. (Contribuição de Joongi Kim e John Belmonte " "em :issue:`41229`.)" -#: ../../whatsnew/3.10.rst:961 +#: ../../whatsnew/3.10.rst:969 msgid "" "Add asynchronous context manager support to :func:`contextlib.nullcontext`. " "(Contributed by Tom Gringauz in :issue:`41543`.)" @@ -1400,7 +1420,7 @@ msgstr "" "Adiciona suporte a gerenciador de contexto assíncrono a :func:`contextlib." "nullcontext`. (Contribuição de Tom Gringauz em :issue:`41543`.)" -#: ../../whatsnew/3.10.rst:964 +#: ../../whatsnew/3.10.rst:972 msgid "" "Add :class:`AsyncContextDecorator`, for supporting usage of async context " "managers as decorators." @@ -1408,11 +1428,11 @@ msgstr "" "Adiciona :class:`AsyncContextDecorator`, para dar suporte ao uso de " "gerenciadores de contexto assíncronos como decoradores." -#: ../../whatsnew/3.10.rst:968 +#: ../../whatsnew/3.10.rst:976 msgid "curses" msgstr "curses" -#: ../../whatsnew/3.10.rst:970 +#: ../../whatsnew/3.10.rst:978 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." @@ -1428,7 +1448,7 @@ msgstr "" "a cores estendidas é fornecido pela biblioteca ncurses subjacente. " "(Contribuição de Jeffrey Kintscher e Hans Petter Jansson em :issue:`36982`.)" -#: ../../whatsnew/3.10.rst:977 +#: ../../whatsnew/3.10.rst:985 msgid "" "The ``BUTTON5_*`` constants are now exposed in the :mod:`curses` module if " "they are provided by the underlying curses library. (Contributed by Zackery " @@ -1438,23 +1458,86 @@ msgstr "" "forem fornecidas pela biblioteca curses subjacente. (Contribuição de Zackery " "Spytz em :issue:`39273`.)" -#: ../../whatsnew/3.10.rst:982 +#: ../../whatsnew/3.10.rst:990 msgid "dataclasses" msgstr "dataclasses" -#: ../../whatsnew/3.10.rst:984 +#: ../../whatsnew/3.10.rst:993 +msgid "__slots__" +msgstr "__slots__" + +#: ../../whatsnew/3.10.rst:995 msgid "" -"Add ``slots`` parameter in :func:`dataclasses.dataclass` decorator. " +"Added ``slots`` parameter in :func:`dataclasses.dataclass` decorator. " "(Contributed by Yurii Karabas in :issue:`42269`)" msgstr "" -"Adiciona o parâmetro ``slots`` no decorador :func:`dataclasses.dataclass`. " +"Adicionado o parâmetro ``slots`` no decorador :func:`dataclasses.dataclass`. " "(Contribuição de Yurii Karabas em :issue:`42269`)" -#: ../../whatsnew/3.10.rst:990 +#: ../../whatsnew/3.10.rst:999 +msgid "Keyword-only fields" +msgstr "Campos somente-nomeados" + +#: ../../whatsnew/3.10.rst:1001 +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-nomeados no " +"método __init__ gerado. Há várias maneiras de especificar campos somente-" +"nomeados." + +#: ../../whatsnew/3.10.rst:1005 +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:1016 +msgid "" +"Both ``name`` and ``birthday`` are keyword-only parameters to the generated " +"__init__ method." +msgstr "" +"Ambos ``name`` e ``birthday`` são parâmetros somente-nomeados para o método " +"__init__ gerado." + +#: ../../whatsnew/3.10.rst:1019 +msgid "You can specify keyword-only on a per-field basis:" +msgstr "Você pode especificar somente-nomeado por campo:" + +#: ../../whatsnew/3.10.rst:1030 +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 " +"due to keyword-only fields needing to follow non-keyword-only fields. See " +"the full dataclasses documentation for details." +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 de dataclasses para obter " +"detalhes." + +#: ../../whatsnew/3.10.rst:1035 +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 a partir de um marcador " +"KW_ONLY sejam somente-nomeados. Este provavelmente será o uso mais comum:" + +#: ../../whatsnew/3.10.rst:1050 +msgid "" +"Here, ``z`` and ``t`` are keyword-only parameters, while ``x`` and ``y`` are " +"not. (Contributed by Eric V. Smith in :issue:`43532`.)" +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:1057 msgid "distutils" msgstr "distutils" -#: ../../whatsnew/3.10.rst:992 +#: ../../whatsnew/3.10.rst:1059 msgid "" "The entire ``distutils`` package is deprecated, to be removed in Python " "3.12. Its functionality for specifying package builds has already been " @@ -1476,7 +1559,7 @@ msgstr "" "usando outras funções devem planejar fazer cópias privadas do código. " "Consulte :pep:`632` para discussão." -#: ../../whatsnew/3.10.rst:1002 +#: ../../whatsnew/3.10.rst:1069 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 " @@ -1486,12 +1569,12 @@ 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:1008 +#: ../../whatsnew/3.10.rst:1075 msgid "doctest" msgstr "doctest" -#: ../../whatsnew/3.10.rst:1010 ../../whatsnew/3.10.rst:1121 -#: ../../whatsnew/3.10.rst:1142 ../../whatsnew/3.10.rst:1241 +#: ../../whatsnew/3.10.rst:1077 ../../whatsnew/3.10.rst:1201 +#: ../../whatsnew/3.10.rst:1228 ../../whatsnew/3.10.rst:1334 msgid "" "When a module does not define ``__loader__``, fall back to ``__spec__." "loader``. (Contributed by Brett Cannon in :issue:`42133`.)" @@ -1499,11 +1582,11 @@ 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:1014 +#: ../../whatsnew/3.10.rst:1081 msgid "encodings" msgstr "encodings" -#: ../../whatsnew/3.10.rst:1016 +#: ../../whatsnew/3.10.rst:1083 msgid "" ":func:`encodings.normalize_encoding` now ignores non-ASCII characters. " "(Contributed by Hai Shi in :issue:`39337`.)" @@ -1511,11 +1594,11 @@ msgstr "" ":func:`encodings.normalize_encoding` agora ignora caracteres não-ASCII. " "(Contribuição de Hai Shi em :issue:`39337`.)" -#: ../../whatsnew/3.10.rst:1020 +#: ../../whatsnew/3.10.rst:1087 msgid "fileinput" msgstr "fileinput" -#: ../../whatsnew/3.10.rst:1022 +#: ../../whatsnew/3.10.rst:1089 msgid "" "Add *encoding* and *errors* parameters in :func:`fileinput.input` and :class:" "`fileinput.FileInput`. (Contributed by Inada Naoki in :issue:`43712`.)" @@ -1523,7 +1606,7 @@ msgstr "" "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:1026 +#: ../../whatsnew/3.10.rst:1093 msgid "" ":func:`fileinput.hook_compressed` now returns :class:`TextIOWrapper` object " "when *mode* is \"r\" and file is compressed, like uncompressed files. " @@ -1533,11 +1616,11 @@ msgstr "" "`TextIOWrapper` quando *mode* é \"r\" e o arquivo está compactado, como " "arquivos descompactados. (Contribuição de Inada Naoki em :issue:`5758`.)" -#: ../../whatsnew/3.10.rst:1031 +#: ../../whatsnew/3.10.rst:1098 msgid "faulthandler" msgstr "faulthandler" -#: ../../whatsnew/3.10.rst:1033 +#: ../../whatsnew/3.10.rst:1100 msgid "" "The :mod:`faulthandler` module now detects if a fatal error occurs during a " "garbage collector collection. (Contributed by Victor Stinner in :issue:" @@ -1547,11 +1630,11 @@ msgstr "" "coleta do coletor de lixo. (Contribuição de Victor Stinner em :issue:" "`44466`.)" -#: ../../whatsnew/3.10.rst:1038 +#: ../../whatsnew/3.10.rst:1105 msgid "gc" msgstr "gc" -#: ../../whatsnew/3.10.rst:1040 +#: ../../whatsnew/3.10.rst:1107 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`.)" @@ -1560,11 +1643,11 @@ msgstr "" "get_referrers` e :func:`gc.get_referents`. (Contribuição de Pablo Galindo " "em :issue:`43439`.)" -#: ../../whatsnew/3.10.rst:1044 +#: ../../whatsnew/3.10.rst:1111 msgid "glob" msgstr "glob" -#: ../../whatsnew/3.10.rst:1046 +#: ../../whatsnew/3.10.rst:1113 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. " @@ -1574,11 +1657,11 @@ msgstr "" "`~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:1051 +#: ../../whatsnew/3.10.rst:1118 msgid "hashlib" msgstr "hashlib" -#: ../../whatsnew/3.10.rst:1053 +#: ../../whatsnew/3.10.rst:1120 msgid "" "The hashlib module requires OpenSSL 1.1.1 or newer. (Contributed by " "Christian Heimes in :pep:`644` and :issue:`43669`.)" @@ -1586,7 +1669,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:1056 +#: ../../whatsnew/3.10.rst:1123 msgid "" "The hashlib module has preliminary support for OpenSSL 3.0.0. (Contributed " "by Christian Heimes in :issue:`38820` and other issues.)" @@ -1594,7 +1677,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:1059 +#: ../../whatsnew/3.10.rst:1126 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 " @@ -1605,11 +1688,11 @@ msgstr "" "for desenvolvido com suporte a OpenSSL. (Contribuição de Christian Heimes " "em :issue:`43880`.)" -#: ../../whatsnew/3.10.rst:1065 +#: ../../whatsnew/3.10.rst:1132 msgid "hmac" msgstr "hmac" -#: ../../whatsnew/3.10.rst:1067 +#: ../../whatsnew/3.10.rst:1134 msgid "" "The hmac module now uses OpenSSL's HMAC implementation internally. " "(Contributed by Christian Heimes in :issue:`40645`.)" @@ -1617,24 +1700,43 @@ 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:1071 +#: ../../whatsnew/3.10.rst:1138 msgid "IDLE and idlelib" msgstr "IDLE e idlelib" -#: ../../whatsnew/3.10.rst:1073 +#: ../../whatsnew/3.10.rst:1140 msgid "" "Make IDLE invoke :func:`sys.excepthook` (when started without '-n'). User " -"hooks were previously ignored. (Patch 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\"). Os " -"ganchos do usuário eram ignorados anteriormente. (Patch de Ken Hilton em :" -"issue:`43008`.)" +"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:1077 -msgid "This change was backported to a 3.9 maintenance release." -msgstr "Esta alteração foi portada para a versão de manutenção 3.9." +#: ../../whatsnew/3.10.rst:1144 +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`.)" +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, " +"para a aba Extensions. Abre espaço para novas opções e encurta a caixa de " +"diálogo. O último faz com que o diálogo se ajuste melhor a telas pequenas. " +"(Contribuição de Terry Jan Reedy em :issue:`40468`.) Move a configuração do " +"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:1152 +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:1079 +#: ../../whatsnew/3.10.rst:1154 msgid "" "Add a Shell sidebar. Move the primary prompt ('>>>') to the sidebar. Add " "secondary prompts ('...') to the sidebar. Left click and optional drag " @@ -1653,45 +1755,57 @@ 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:1088 +#: ../../whatsnew/3.10.rst:1163 msgid "" "Use spaces instead of tabs to indent interactive code. This makes " "interactive code entries 'look right'. Making this feasible was a major " -"motivation for adding the shell sidebar. Contributed by Terry Jan Reedy in :" -"issue:`37892`.)" +"motivation for adding the shell sidebar. (Contributed by Terry Jan Reedy " +"in :issue:`37892`.)" msgstr "" "Use espaços em vez de tabulações para indentar o código interativo. Isso faz " "com que as entradas de código interativo \"pareçam corretas\". Tornar isso " "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:1093 -msgid "" -"We expect to backport these shell changes to a future 3.9 maintenance " -"release." -msgstr "" -"Esperamos fazer o backport dessas mudanças de console para uma futura versão " -"de manutenção 3.9." - -#: ../../whatsnew/3.10.rst:1096 +#: ../../whatsnew/3.10.rst:1168 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 bpo-44010.)" +"(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 bpo-44010.)" +"padrões de ``case``. (Contribuição de Tal Einat em :issue:`44010`.)" + +#: ../../whatsnew/3.10.rst:1174 +msgid "New in 3.10 maintenance releases." +msgstr "Novo nas versões de manutenção 3.10." + +#: ../../whatsnew/3.10.rst:1176 +msgid "" +"Apply syntax highlighting to ``.pyi`` files. (Contributed by Alex Waygood " +"and Terry Jan Reedy in :issue:`45447`.)" +msgstr "" +"Aplica realce de sintaxe em arquivos ``.pyi``. (Contribuição de Alex Waygood " +"e Terry Jan Reedy em :issue:`45447`.)" -#: ../../whatsnew/3.10.rst:1103 +#: ../../whatsnew/3.10.rst:1179 +msgid "" +"Include prompts when saving Shell with inputs and outputs. (Contributed by " +"Terry Jan Reedy in :gh:`95191`.)" +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:1183 msgid "importlib.metadata" msgstr "importlib.metadata" -#: ../../whatsnew/3.10.rst:1105 +#: ../../whatsnew/3.10.rst:1185 msgid "" "Feature parity with ``importlib_metadata`` 4.6 (`history `_)." @@ -1699,20 +1813,20 @@ msgstr "" "Paridade de recursos com ``importlib_metadata`` 4.6 (`histórico `_)." -#: ../../whatsnew/3.10.rst:1108 +#: ../../whatsnew/3.10.rst:1188 msgid "" -":ref:`importlib.metadata entry points ` now provides a nicer " +":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." msgstr "" -":ref:`Pontos de entrada de importlib.metadata ` agora fornecem " -"uma experiência mais agradável para selecionar pontos de entrada por grupo e " -"nome por meio de uma nova classe :class:`importlib.metadata.EntryPoints`. " -"Consulte a nota de compatibilidade nos documentos para obter mais " -"informações sobre a descontinuidade e o uso." +":ref:`Pontos de entrada importlib.metadata ` agora oferecem " +"uma experiência melhor para selecionar pontos de entrada por grupo e nome " +"através de uma nova classe :class:`importlib.metadata.EntryPoints`. Consulte " +"a Nota de Compatibilidade nos documentos para obter mais informações sobre a " +"descontinuação e uso." -#: ../../whatsnew/3.10.rst:1114 +#: ../../whatsnew/3.10.rst:1194 msgid "" "Added :func:`importlib.metadata.packages_distributions` for resolving top-" "level Python modules and packages to their :class:`importlib.metadata." @@ -1722,11 +1836,11 @@ msgstr "" "módulos e pacotes Python de alto nível com suas :class:`importlib.metadata." "Distribution`." -#: ../../whatsnew/3.10.rst:1119 +#: ../../whatsnew/3.10.rst:1199 msgid "inspect" msgstr "inspect" -#: ../../whatsnew/3.10.rst:1124 +#: ../../whatsnew/3.10.rst:1204 msgid "" "Add :func:`inspect.get_annotations`, which safely computes the annotations " "defined on an object. It works around the quirks of accessing the " @@ -1758,15 +1872,27 @@ msgstr "" "podem remover a string de anotações em string. (Contribuição de Larry " "Hastings em :issue:`43817`.)" -#: ../../whatsnew/3.10.rst:1140 +#: ../../whatsnew/3.10.rst:1220 +msgid "itertools" +msgstr "itertools" + +#: ../../whatsnew/3.10.rst:1222 +msgid "" +"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:1226 msgid "linecache" msgstr "linecache" -#: ../../whatsnew/3.10.rst:1146 +#: ../../whatsnew/3.10.rst:1232 msgid "os" msgstr "os" -#: ../../whatsnew/3.10.rst:1148 +#: ../../whatsnew/3.10.rst:1234 msgid "" "Add :func:`os.cpu_count()` support for VxWorks RTOS. (Contributed by Peixing " "Xin in :issue:`41440`.)" @@ -1774,7 +1900,7 @@ msgstr "" "Adiciona suporte a :func:`os.cpu_count()` para RTOS de VxWorks. " "(Contribuição de Peixing Xin em :issue:`41440`.)" -#: ../../whatsnew/3.10.rst:1151 +#: ../../whatsnew/3.10.rst:1237 msgid "" "Add a new function :func:`os.eventfd` and related helpers to wrap the " "``eventfd2`` syscall on Linux. (Contributed by Christian Heimes in :issue:" @@ -1784,7 +1910,7 @@ msgstr "" "envolver a chamada de sistema ``eventfd2`` no Linux. (Contribuição de " "Christian Heimes em :issue:`41001`.)" -#: ../../whatsnew/3.10.rst:1155 +#: ../../whatsnew/3.10.rst:1241 msgid "" "Add :func:`os.splice()` that allows to move data between two file " "descriptors without copying between kernel address space and user address " @@ -1796,7 +1922,7 @@ 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:1160 +#: ../../whatsnew/3.10.rst:1246 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:" @@ -1806,11 +1932,20 @@ msgstr "" "e :data:`~os.O_NOFOLLOW_ANY` para macOS. (Contribuição de Dong-hee Na em :" "issue:`43106`.)" -#: ../../whatsnew/3.10.rst:1165 +#: ../../whatsnew/3.10.rst:1250 +msgid "" +"As of 3.10.15, :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.10.rst:1258 ../../whatsnew/3.10.rst:2403 msgid "os.path" msgstr "os.path" -#: ../../whatsnew/3.10.rst:1167 +#: ../../whatsnew/3.10.rst:1260 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 " @@ -1821,27 +1956,27 @@ 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:1173 +#: ../../whatsnew/3.10.rst:1266 msgid "pathlib" msgstr "pathlib" -#: ../../whatsnew/3.10.rst:1175 +#: ../../whatsnew/3.10.rst:1268 msgid "" "Add slice support to :attr:`PurePath.parents `. " -"(Contributed by Joshua Cannon in :issue:`35498`)" +"(Contributed by Joshua Cannon in :issue:`35498`.)" msgstr "" -"Adiciona suporte a fatiar 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:1178 +#: ../../whatsnew/3.10.rst:1271 msgid "" "Add negative indexing support to :attr:`PurePath.parents `. (Contributed by Yaroslav Pankovych in :issue:`21041`)" +"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`)" +"PurePath.parents>`. (Contribuição de Yaroslav Pankovych em :issue:`21041`.)" -#: ../../whatsnew/3.10.rst:1182 +#: ../../whatsnew/3.10.rst:1275 msgid "" "Add :meth:`Path.hardlink_to ` method that " "supersedes :meth:`~pathlib.Path.link_to`. The new method has the same " @@ -1853,7 +1988,7 @@ msgstr "" "argumentos que :meth:`~pathlib.Path.symlink_to`. (Contribuição de Barney " "Gale em :issue:`39950`.)" -#: ../../whatsnew/3.10.rst:1187 +#: ../../whatsnew/3.10.rst:1280 msgid "" ":meth:`pathlib.Path.stat` and :meth:`~pathlib.Path.chmod` now accept a " "*follow_symlinks* keyword-only argument for consistency with corresponding " @@ -1865,27 +2000,27 @@ msgstr "" "correspondentes no módulo :mod:`os`. (Contribuição de Barney Gale em :issue:" "`39906`.)" -#: ../../whatsnew/3.10.rst:1193 +#: ../../whatsnew/3.10.rst:1286 msgid "platform" msgstr "platform" -#: ../../whatsnew/3.10.rst:1195 +#: ../../whatsnew/3.10.rst:1288 msgid "" "Add :func:`platform.freedesktop_os_release()` to retrieve operation system " "identification from `freedesktop.org os-release `_ standard file. (Contributed by " -"Christian Heimes in :issue:`28468`)" +"Christian Heimes in :issue:`28468`.)" msgstr "" "Adiciona :func:`platform.freedesktop_os_release()` para obter a " "identificação do sistema operacional a partir do arquivo padrão `os-release " "do freedesktop.org `_. (Contribuição de Christian Heimes em :issue:`28468`)" +"release.html>`_. (Contribuição de Christian Heimes em :issue:`28468`.)" -#: ../../whatsnew/3.10.rst:1201 +#: ../../whatsnew/3.10.rst:1294 msgid "pprint" msgstr "pprint" -#: ../../whatsnew/3.10.rst:1203 +#: ../../whatsnew/3.10.rst:1296 msgid "" ":func:`pprint.pprint` now accepts a new ``underscore_numbers`` keyword " "argument. (Contributed by sblondon in :issue:`42914`.)" @@ -1893,7 +2028,7 @@ msgstr "" ":func:`pprint.pprint` agora aceita um novo argumento nomeado " "``underscore_numbers``. (Contribuição de sblondon em :issue:`42914`.)" -#: ../../whatsnew/3.10.rst:1206 +#: ../../whatsnew/3.10.rst:1299 msgid "" ":mod:`pprint` can now pretty-print :class:`dataclasses.dataclass` instances. " "(Contributed by Lewis Gaul in :issue:`43080`.)" @@ -1901,11 +2036,11 @@ msgstr "" ":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:1210 +#: ../../whatsnew/3.10.rst:1303 msgid "py_compile" msgstr "py_compile" -#: ../../whatsnew/3.10.rst:1212 +#: ../../whatsnew/3.10.rst:1305 msgid "" "Add ``--quiet`` option to command-line interface of :mod:`py_compile`. " "(Contributed by Gregory Schevchenko in :issue:`38731`.)" @@ -1913,11 +2048,11 @@ msgstr "" "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:1216 +#: ../../whatsnew/3.10.rst:1309 msgid "pyclbr" msgstr "pyclbr" -#: ../../whatsnew/3.10.rst:1218 +#: ../../whatsnew/3.10.rst:1311 msgid "" "Add an ``end_lineno`` attribute to the ``Function`` and ``Class`` objects in " "the tree returned by :func:`pyclbr.readline` and :func:`pyclbr." @@ -1929,11 +2064,11 @@ msgstr "" "Isso corresponde ao ``lineno`` (início) existente. (Contribuição de Aviral " "Srivastava em :issue:`38307`.)" -#: ../../whatsnew/3.10.rst:1224 +#: ../../whatsnew/3.10.rst:1317 msgid "shelve" msgstr "shelve" -#: ../../whatsnew/3.10.rst:1226 +#: ../../whatsnew/3.10.rst:1319 msgid "" "The :mod:`shelve` module now uses :data:`pickle.DEFAULT_PROTOCOL` by default " "instead of :mod:`pickle` protocol ``3`` when creating shelves. (Contributed " @@ -1943,11 +2078,11 @@ msgstr "" "em vez do protocolo ``3`` do :mod:`pickle` ao criar \"shelves\". " "(Contribuição de Zackery Spytz em :issue:`34204`.)" -#: ../../whatsnew/3.10.rst:1231 +#: ../../whatsnew/3.10.rst:1324 msgid "statistics" msgstr "statistics" -#: ../../whatsnew/3.10.rst:1233 +#: ../../whatsnew/3.10.rst:1326 msgid "" "Add :func:`~statistics.covariance`, Pearson's :func:`~statistics." "correlation`, and simple :func:`~statistics.linear_regression` functions. " @@ -1957,15 +2092,15 @@ msgstr "" "Pearson, e funções simples :func:`~statistics.linear_regression`. " "(Contribuição de Tymoteusz Wołodźko em :issue:`38490`.)" -#: ../../whatsnew/3.10.rst:1239 +#: ../../whatsnew/3.10.rst:1332 msgid "site" msgstr "site" -#: ../../whatsnew/3.10.rst:1245 +#: ../../whatsnew/3.10.rst:1338 msgid "socket" msgstr "socket" -#: ../../whatsnew/3.10.rst:1247 +#: ../../whatsnew/3.10.rst:1340 msgid "" "The exception :exc:`socket.timeout` is now an alias of :exc:`TimeoutError`. " "(Contributed by Christian Heimes in :issue:`42413`.)" @@ -1973,7 +2108,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:1250 +#: ../../whatsnew/3.10.rst:1343 msgid "" "Add option to create MPTCP sockets with ``IPPROTO_MPTCP`` (Contributed by " "Rui Cunha in :issue:`43571`.)" @@ -1981,7 +2116,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:1253 +#: ../../whatsnew/3.10.rst:1346 msgid "" "Add ``IP_RECVTOS`` option to receive the type of service (ToS) or DSCP/ECN " "fields (Contributed by Georg Sauthoff in :issue:`44077`.)" @@ -1989,11 +2124,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:1257 +#: ../../whatsnew/3.10.rst:1350 msgid "ssl" msgstr "ssl" -#: ../../whatsnew/3.10.rst:1259 +#: ../../whatsnew/3.10.rst:1352 msgid "" "The ssl module requires OpenSSL 1.1.1 or newer. (Contributed by Christian " "Heimes in :pep:`644` and :issue:`43669`.)" @@ -2001,7 +2136,7 @@ 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:1262 +#: ../../whatsnew/3.10.rst:1355 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 :" @@ -2013,7 +2148,7 @@ msgstr "" "issue:`38820`, :issue:`43794`, :issue:`43788`, :issue:`43791`, :issue:" "`43799`, :issue:`43920`, :issue:`43789` e :issue:`43811`.)" -#: ../../whatsnew/3.10.rst:1268 +#: ../../whatsnew/3.10.rst:1361 msgid "" "Deprecated function and use of deprecated constants now result in a :exc:" "`DeprecationWarning`. :attr:`ssl.SSLContext.options` has :data:`~ssl." @@ -2030,7 +2165,7 @@ msgstr "" "recursos descontinuados. (Contribuição de Christian Heimes em :issue:" "`43880`.)" -#: ../../whatsnew/3.10.rst:1276 +#: ../../whatsnew/3.10.rst:1369 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 " @@ -2046,7 +2181,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:1283 +#: ../../whatsnew/3.10.rst:1376 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 " @@ -2059,7 +2194,7 @@ msgstr "" "fornecedores e suítes de criptografia podem impedir um handshake bem-" "sucedido." -#: ../../whatsnew/3.10.rst:1288 +#: ../../whatsnew/3.10.rst:1381 msgid "" "Add a *timeout* parameter to the :func:`ssl.get_server_certificate` " "function. (Contributed by Zackery Spytz in :issue:`31870`.)" @@ -2067,7 +2202,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:1291 +#: ../../whatsnew/3.10.rst:1384 msgid "" "The ssl module uses heap-types and multi-phase initialization. (Contributed " "by Christian Heimes in :issue:`42333`.)" @@ -2075,7 +2210,7 @@ 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:1294 +#: ../../whatsnew/3.10.rst:1387 msgid "" "A new verify flag :data:`~ssl.VERIFY_X509_PARTIAL_CHAIN` has been added. " "(Contributed by l0x in :issue:`40849`.)" @@ -2083,11 +2218,11 @@ msgstr "" "Uma nova sinalização de verificação :data:`~ssl.VERIFY_X509_PARTIAL_CHAIN` " "foi adicionada. (Contribuição de l0x em :issue:`40849`.)" -#: ../../whatsnew/3.10.rst:1298 +#: ../../whatsnew/3.10.rst:1391 msgid "sqlite3" msgstr "sqlite3" -#: ../../whatsnew/3.10.rst:1300 +#: ../../whatsnew/3.10.rst:1393 msgid "" "Add audit events for :func:`~sqlite3.connect/handle`, :meth:`~sqlite3." "Connection.enable_load_extension`, and :meth:`~sqlite3.Connection." @@ -2097,11 +2232,11 @@ msgstr "" "`~sqlite3.Connection.enable_load_extension` e :meth:`~sqlite3.Connection." "load_extension`. (Contribuição de Erlend E. Aasland em :issue:`43762`.)" -#: ../../whatsnew/3.10.rst:1306 +#: ../../whatsnew/3.10.rst:1399 msgid "sys" msgstr "sys" -#: ../../whatsnew/3.10.rst:1308 +#: ../../whatsnew/3.10.rst:1401 msgid "" "Add :data:`sys.orig_argv` attribute: the list of the original command line " "arguments passed to the Python executable. (Contributed by Victor Stinner " @@ -2111,7 +2246,7 @@ msgstr "" "comando originais passada para o executável Python. (Contribuição de Victor " "Stinner em :issue:`23427`.)" -#: ../../whatsnew/3.10.rst:1312 +#: ../../whatsnew/3.10.rst:1405 msgid "" "Add :data:`sys.stdlib_module_names`, containing the list of the standard " "library module names. (Contributed by Victor Stinner in :issue:`42955`.)" @@ -2120,11 +2255,23 @@ msgstr "" "módulos da biblioteca padrão. (Contribuição de Victor Stinner em :issue:" "`42955`.)" -#: ../../whatsnew/3.10.rst:1317 +#: ../../whatsnew/3.10.rst:1410 +msgid "tempfile" +msgstr "tempfile" + +#: ../../whatsnew/3.10.rst:1412 +msgid "" +"As of 3.10.15 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.10.rst:1418 msgid "_thread" msgstr "_thread" -#: ../../whatsnew/3.10.rst:1319 +#: ../../whatsnew/3.10.rst:1420 msgid "" ":func:`_thread.interrupt_main` now takes an optional signal number to " "simulate (the default is still :data:`signal.SIGINT`). (Contributed by " @@ -2134,11 +2281,11 @@ msgstr "" "simular (o padrão ainda é :data:`signal.SIGINT`). (Contribuição de Antoine " "Pitrou em :issue:`43356`.)" -#: ../../whatsnew/3.10.rst:1324 +#: ../../whatsnew/3.10.rst:1425 msgid "threading" msgstr "threading" -#: ../../whatsnew/3.10.rst:1326 +#: ../../whatsnew/3.10.rst:1427 msgid "" "Add :func:`threading.gettrace` and :func:`threading.getprofile` to retrieve " "the functions set by :func:`threading.settrace` and :func:`threading." @@ -2149,7 +2296,7 @@ msgstr "" "setprofile`, respectivamente. (Contribuição de Mario Corchero em :issue:" "`42251`.)" -#: ../../whatsnew/3.10.rst:1331 +#: ../../whatsnew/3.10.rst:1432 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 " @@ -2160,11 +2307,11 @@ msgstr "" "valor quebrado ou diferente. (Contribuição de Mario Corchero em :issue:" "`42308`.)" -#: ../../whatsnew/3.10.rst:1337 +#: ../../whatsnew/3.10.rst:1438 msgid "traceback" msgstr "traceback" -#: ../../whatsnew/3.10.rst:1339 +#: ../../whatsnew/3.10.rst:1440 msgid "" "The :func:`~traceback.format_exception`, :func:`~traceback." "format_exception_only`, and :func:`~traceback.print_exception` functions can " @@ -2176,11 +2323,11 @@ msgstr "" "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:1346 +#: ../../whatsnew/3.10.rst:1447 msgid "types" msgstr "types" -#: ../../whatsnew/3.10.rst:1348 +#: ../../whatsnew/3.10.rst:1449 msgid "" "Reintroduce the :data:`types.EllipsisType`, :data:`types.NoneType` and :data:" "`types.NotImplementedType` classes, providing a new set of types readily " @@ -2192,49 +2339,47 @@ msgstr "" "prontamente interpretáveis pelos verificadores de tipo. (Contribuição de Bas " "van Beek em :issue:`41810`.)" -#: ../../whatsnew/3.10.rst:1354 +#: ../../whatsnew/3.10.rst:1455 msgid "typing" msgstr "typing" -#: ../../whatsnew/3.10.rst:1356 -msgid "For major changes, see `New Features Related to Type Hints`_." -msgstr "" -"Para alterações principais, veja `New Features Related to Type Hints`_ " -"(Novos recurso relacionados a dicas de tipo)." +#: ../../whatsnew/3.10.rst:1457 +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:1358 +#: ../../whatsnew/3.10.rst:1459 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." msgstr "" "O comportamento de :class:`typing.Literal` foi alterado para ficar em " -"conformidade com a:pep:`586` e para corresponder ao comportamento de " +"conformidade com a :pep:`586` e para corresponder ao comportamento de " "verificadores de tipo estático especificados na PEP." -#: ../../whatsnew/3.10.rst:1361 +#: ../../whatsnew/3.10.rst:1462 msgid "``Literal`` now de-duplicates parameters." msgstr "``Literal`` agora elimina a duplicação de parâmetros." -#: ../../whatsnew/3.10.rst:1362 +#: ../../whatsnew/3.10.rst:1463 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:1363 +#: ../../whatsnew/3.10.rst:1464 msgid "" -"``Literal`` comparisons now respects types. For example, ``Literal[0] == " +"``Literal`` comparisons now respect types. For example, ``Literal[0] == " "Literal[False]`` previously evaluated to ``True``. It is now ``False``. To " "support this change, the internally used type cache now supports " "differentiating types." msgstr "" -"Comparações de ``Literal`` agora respeitam tipos. Por exemplo, ``Literal[0] " -"== Literal[False]`` anteriormente era avaliado com ``True``. Agora é " -"``False``. Para oferecer suporte a esta alteração, o tipo de cache usado " +"Comparações de ``Literal`` agora respeitam os tipos. Por exemplo, " +"``Literal[0] == Literal[False]`` avaliava anteriormente como ``True``. Agora " +"é ``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:1367 +#: ../../whatsnew/3.10.rst:1468 msgid "" "``Literal`` objects will now raise a :exc:`TypeError` exception during " "equality comparisons if any of their parameters are not :term:`hashable`. " @@ -2246,28 +2391,28 @@ msgstr "" "`hasheáveis `. Observe que declarar ``Literal`` com parâmetros " "inalteráveis não acusará um erro::" -#: ../../whatsnew/3.10.rst:1379 +#: ../../whatsnew/3.10.rst:1480 msgid "(Contributed by Yurii Karabas in :issue:`42345`.)" msgstr "(Contribuição de Yurii Karabas em :issue:`42345`.)" -#: ../../whatsnew/3.10.rst:1381 +#: ../../whatsnew/3.10.rst:1482 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`)" +"`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`)" +"(Contribuição de Patrick Reader em :issue:`41792`.)" -#: ../../whatsnew/3.10.rst:1385 +#: ../../whatsnew/3.10.rst:1486 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`)" +"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 " @@ -2275,13 +2420,27 @@ msgstr "" "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`)" +"(Contribuição de Yurii Karabas em :issue:`38908`.)" -#: ../../whatsnew/3.10.rst:1394 +#: ../../whatsnew/3.10.rst:1494 +msgid "" +"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`.)" + +#: ../../whatsnew/3.10.rst:1502 msgid "unittest" msgstr "unittest" -#: ../../whatsnew/3.10.rst:1396 +#: ../../whatsnew/3.10.rst:1504 msgid "" "Add new method :meth:`~unittest.TestCase.assertNoLogs` to complement the " "existing :meth:`~unittest.TestCase.assertLogs`. (Contributed by Kit Yan Choi " @@ -2291,11 +2450,11 @@ msgstr "" "complementar o existente :meth:`~unittest.TestCase.assertLogs`. " "(Contribuição de Kit Yan Choi em :issue:`39385`.)" -#: ../../whatsnew/3.10.rst:1401 +#: ../../whatsnew/3.10.rst:1509 msgid "urllib.parse" msgstr "urllib.parse" -#: ../../whatsnew/3.10.rst:1403 +#: ../../whatsnew/3.10.rst:1511 msgid "" "Python versions earlier than Python 3.10 allowed using both ``;`` and ``&`` " "as query parameter separators in :func:`urllib.parse.parse_qs` and :func:" @@ -2317,7 +2476,7 @@ msgstr "" "consulte a respectiva documentação. (Contribuição de Adam Goldschmidt, " "Senthil Kumaran e Ken Jin em :issue:`42967`.)" -#: ../../whatsnew/3.10.rst:1413 +#: ../../whatsnew/3.10.rst:1521 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:" @@ -2328,17 +2487,17 @@ msgid "" 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." +"`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.10.rst:1421 +#: ../../whatsnew/3.10.rst:1529 msgid "xml" msgstr "xml" -#: ../../whatsnew/3.10.rst:1423 +#: ../../whatsnew/3.10.rst:1531 msgid "" "Add a :class:`~xml.sax.handler.LexicalHandler` class to the :mod:`xml.sax." "handler` module. (Contributed by Jonathan Gossage and Zackery Spytz in :" @@ -2348,11 +2507,11 @@ msgstr "" "`xml.sax.handler`. (Contribuição de Jonathan Gossage e Zackery Spytz em :" "issue:`35018`.)" -#: ../../whatsnew/3.10.rst:1428 +#: ../../whatsnew/3.10.rst:1536 msgid "zipimport" msgstr "zipimport" -#: ../../whatsnew/3.10.rst:1429 +#: ../../whatsnew/3.10.rst:1537 msgid "" "Add methods related to :pep:`451`: :meth:`~zipimport.zipimporter." "find_spec`, :meth:`zipimport.zipimporter.create_module`, and :meth:" @@ -2363,7 +2522,7 @@ msgstr "" "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:1434 +#: ../../whatsnew/3.10.rst:1542 msgid "" "Add :meth:`~zipimport.zipimporter.invalidate_caches` method. (Contributed by " "Desmond Cheong in :issue:`14678`.)" @@ -2371,11 +2530,11 @@ msgstr "" "Adiciona o método :meth:`~zipimport.zipimporter.invalidate_caches`. " "(Contribuição de Desmond Cheong em :issue:`14678`.)" -#: ../../whatsnew/3.10.rst:1439 +#: ../../whatsnew/3.10.rst:1547 msgid "Optimizations" msgstr "Otimizações" -#: ../../whatsnew/3.10.rst:1441 +#: ../../whatsnew/3.10.rst:1549 msgid "" "Constructors :func:`str`, :func:`bytes` and :func:`bytearray` are now faster " "(around 30--40% for small objects). (Contributed by Serhiy Storchaka in :" @@ -2385,7 +2544,7 @@ msgstr "" "mais rápido (cerca de 30--40% para objetos pequenos). (Contribuição de " "Serhiy Storchaka em :issue:`41334`.)" -#: ../../whatsnew/3.10.rst:1445 +#: ../../whatsnew/3.10.rst:1553 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 -" @@ -2399,7 +2558,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:1451 +#: ../../whatsnew/3.10.rst:1559 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. " @@ -2413,7 +2572,7 @@ msgstr "" "`42093` e Guido van Rossum em :issue:`42927`, com base em ideias " "implementadas originalmente em PyPy e MicroPython.)" -#: ../../whatsnew/3.10.rst:1457 +#: ../../whatsnew/3.10.rst:1565 msgid "" "When building Python with :option:`--enable-optimizations` now ``-fno-" "semantic-interposition`` is added to both the compile and link line. This " @@ -2431,7 +2590,7 @@ 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:1465 +#: ../../whatsnew/3.10.rst:1573 msgid "" "Use a new output buffer management code for :mod:`bz2` / :mod:`lzma` / :mod:" "`zlib` modules, and add ``.readall()`` function to ``_compression." @@ -2447,23 +2606,23 @@ msgstr "" "``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:1471 +#: ../../whatsnew/3.10.rst:1579 msgid "" "When using stringized annotations, annotations dicts for functions are no " "longer created when the function is created. Instead, they are stored as a " "tuple of strings, and the function object lazily converts this into the " "annotations dict on demand. This optimization cuts the CPU time needed to " "define an annotated function by half. (Contributed by Yurii Karabas and " -"Inada Naoki in :issue:`42202`)" +"Inada Naoki in :issue:`42202`.)" msgstr "" "Ao usar anotações em strings, dicts de anotações para funções não são mais " "criados quando a função é criada. Em vez disso, eles são armazenados como " "uma tupla de strings, e o objeto função converte lentamente isso no dict de " "anotações sob demanda. Essa otimização reduz pela metade o tempo de CPU " "necessário para definir uma função anotada. (Contribuição de Yurii Karabas e " -"Inada Naoki em :issue:`42202`)" +"Inada Naoki em :issue:`42202`.)" -#: ../../whatsnew/3.10.rst:1478 +#: ../../whatsnew/3.10.rst:1586 msgid "" "Substring search functions such as ``str1 in str2`` and ``str2.find(str1)`` " "now sometimes use Crochemore & Perrin's \"Two-Way\" string searching " @@ -2475,61 +2634,61 @@ msgstr "" "Crochemore & Perrin para evitar comportamento quadrático em strings longas. " "(Contribuição de Dennis Sweeney em :issue:`41972`)" -#: ../../whatsnew/3.10.rst:1483 +#: ../../whatsnew/3.10.rst:1591 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`)" +"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`)" +"de Dino Viehland em :issue:`43452`.)" -#: ../../whatsnew/3.10.rst:1487 +#: ../../whatsnew/3.10.rst:1595 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`)" +"`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`)" +"`41922`, :issue:`41873` e :issue:`41870`.)" -#: ../../whatsnew/3.10.rst:1491 +#: ../../whatsnew/3.10.rst:1599 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`)." +"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 " "leitores ou gravadores simultâneos, da mesma forma que suas classes " "equivalentes em :mod:`gzip` e :mod:`lzma` têm sido. (Contribuição de Inada " -"Naoki em :issue:`43785`)." +"Naoki em :issue:`43785`.)" -#: ../../whatsnew/3.10.rst:1499 ../../whatsnew/3.10.rst:2107 +#: ../../whatsnew/3.10.rst:1607 ../../whatsnew/3.10.rst:2213 msgid "Deprecated" msgstr "Descontinuados" -#: ../../whatsnew/3.10.rst:1501 +#: ../../whatsnew/3.10.rst:1609 msgid "" "Currently Python accepts numeric literals immediately followed by keywords, " "for example ``0in x``, ``1or x``, ``0if 1else 2``. It allows confusing and " -"ambigious expressions like ``[0x1for x in y]`` (which can be interpreted as " +"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`. If future releases it " +"`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 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 " @@ -2540,9 +2699,9 @@ msgstr "" "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`)." +"issue:`43833`.)" -#: ../../whatsnew/3.10.rst:1512 +#: ../../whatsnew/3.10.rst:1620 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. " @@ -2574,7 +2733,7 @@ msgstr "" "levantada conforme apropriado para ajudar a identificar o código que precisa " "ser atualizado durante esta transição." -#: ../../whatsnew/3.10.rst:1529 +#: ../../whatsnew/3.10.rst:1637 msgid "" "The entire ``distutils`` namespace is deprecated, to be removed in Python " "3.12. Refer to the :ref:`module changes ` section for " @@ -2584,7 +2743,7 @@ msgstr "" "no Python 3.12. Consulte a seção de :ref:`alterações do módulo ` para mais informações." -#: ../../whatsnew/3.10.rst:1533 +#: ../../whatsnew/3.10.rst:1641 msgid "" "Non-integer arguments to :func:`random.randrange` are deprecated. The :exc:" "`ValueError` is deprecated in favor of a :exc:`TypeError`. (Contributed by " @@ -2595,7 +2754,7 @@ msgstr "" "`TypeError`. (Contribuição de Serhiy Storchaka e Raymond Hettinger em :issue:" "`37319`.)" -#: ../../whatsnew/3.10.rst:1537 +#: ../../whatsnew/3.10.rst:1645 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:" @@ -2607,7 +2766,7 @@ msgstr "" "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:1543 +#: ../../whatsnew/3.10.rst:1651 msgid "" ":meth:`zimport.zipimporter.load_module` has been deprecated in preference " "for :meth:`~zipimport.zipimporter.exec_module`. (Contributed by Brett Cannon " @@ -2617,7 +2776,7 @@ msgstr "" "meth:`~zipimport.zipimporter.exec_module`. (Contribuição de Brett Cannon em :" "issue:`26131`.)" -#: ../../whatsnew/3.10.rst:1547 +#: ../../whatsnew/3.10.rst:1655 msgid "" "The use of :meth:`~importlib.abc.Loader.load_module` by the import system " "now triggers an :exc:`ImportWarning` as :meth:`~importlib.abc.Loader." @@ -2628,7 +2787,7 @@ msgstr "" "`~importlib.abc.Loader.exec_module` é preferível. (Contribuição de Brett " "Cannon em :issue:`26131`.)" -#: ../../whatsnew/3.10.rst:1552 +#: ../../whatsnew/3.10.rst:1660 msgid "" "The use of :meth:`importlib.abc.MetaPathFinder.find_module` and :meth:" "`importlib.abc.PathEntryFinder.find_module` by the import system now trigger " @@ -2644,7 +2803,7 @@ msgstr "" "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:1561 +#: ../../whatsnew/3.10.rst:1669 msgid "" "The use of :meth:`importlib.abc.PathEntryFinder.find_loader` by the import " "system now triggers an :exc:`ImportWarning` as :meth:`importlib.abc." @@ -2658,15 +2817,15 @@ msgstr "" "`importlib.util.spec_from_loader` para ajudar no port. (Contribuição de " "Brett Cannon em :issue:`43672`.)" -#: ../../whatsnew/3.10.rst:1567 +#: ../../whatsnew/3.10.rst:1675 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." +"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 " @@ -2680,11 +2839,11 @@ msgstr "" "`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 programados para remoção no " +"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:1583 +#: ../../whatsnew/3.10.rst:1690 msgid "" ":class:`importlib.abc.Finder` is deprecated (including its sole method, :" "meth:`~importlib.abc.Finder.find_module`). Both :class:`importlib.abc." @@ -2698,7 +2857,7 @@ msgstr "" "classe. Usuários devem herdar de uma dessas duas classes conforme " "apropriado. (Contribuição de Brett Cannon em :issue:`42135`.)" -#: ../../whatsnew/3.10.rst:1590 +#: ../../whatsnew/3.10.rst:1697 msgid "" "The deprecations of :mod:`imp`, :func:`importlib.find_loader`, :func:" "`importlib.util.set_package_wrapper`, :func:`importlib.util." @@ -2716,7 +2875,7 @@ msgstr "" "começaram a levantar :exc:`DeprecationWarning` em versões anteriores do " "Python). (Contribuição de Brett Cannon em :issue:`43720`.)" -#: ../../whatsnew/3.10.rst:1600 +#: ../../whatsnew/3.10.rst:1707 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 " @@ -2729,7 +2888,7 @@ msgstr "" "programado para Python 3.12. (Contribuição de Brett Cannon em :issue:" "`42137`.)" -#: ../../whatsnew/3.10.rst:1606 +#: ../../whatsnew/3.10.rst:1713 msgid "" ":meth:`importlib.abc.Loader.module_repr`, :meth:`importlib.machinery." "FrozenLoader.module_repr`, and :meth:`importlib.machinery.BuiltinLoader." @@ -2741,7 +2900,7 @@ msgstr "" "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:1612 +#: ../../whatsnew/3.10.rst:1719 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, " @@ -2753,32 +2912,7 @@ msgstr "" "`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:1617 -msgid "" -":func:`asyncio.get_event_loop` now emits a deprecation warning if there is " -"no running event loop. In the future it will be an alias of :func:`~asyncio." -"get_running_loop`. :mod:`asyncio` functions which implicitly create a :class:" -"`~asyncio.Future` or :class:`~asyncio.Task` objects now emit a deprecation " -"warning if there is no running event loop and no explicit *loop* argument is " -"passed: :func:`~asyncio.ensure_future`, :func:`~asyncio.wrap_future`, :func:" -"`~asyncio.gather`, :func:`~asyncio.shield`, :func:`~asyncio.as_completed` " -"and constructors of :class:`~asyncio.Future`, :class:`~asyncio.Task`, :class:" -"`~asyncio.StreamReader`, :class:`~asyncio.StreamReaderProtocol`. " -"(Contributed by Serhiy Storchaka in :issue:`39529`.)" -msgstr "" -":func:`asyncio.get_event_loop` agora emite um aviso de descontinuidade se " -"não houver um laço de eventos em execução. No futuro haverá um apelido de :" -"func:`~asyncio.get_running_loop`. Funções de :mod:`asyncio` que " -"implicitamente criam objetos :class:`~asyncio.Future` ou :class:`~asyncio." -"Task` agora emitem um aviso de descontinuidade se não houver um laço de " -"eventos e nenhum argumento *loop* for passado: :func:`~asyncio." -"ensure_future`, :func:`~asyncio.wrap_future`, :func:`~asyncio.gather`, :func:" -"`~asyncio.shield`, :func:`~asyncio.as_completed` e construtores de :class:" -"`~asyncio.Future`, :class:`~asyncio.Task`, :class:`~asyncio.StreamReader`, :" -"class:`~asyncio.StreamReaderProtocol`. (Contribuição de Serhiy Storchaka em :" -"issue:`39529`.)" - -#: ../../whatsnew/3.10.rst:1630 +#: ../../whatsnew/3.10.rst:1724 msgid "" "The undocumented built-in function ``sqlite3.enable_shared_cache`` is now " "deprecated, scheduled for removal in Python 3.12. Its use is strongly " @@ -2795,49 +2929,49 @@ msgstr "" "usando o parâmetro de consulta ``cache=shared``. (Contribuição de Erlend E. " "Aasland em :issue:`24464`.)" -#: ../../whatsnew/3.10.rst:1638 +#: ../../whatsnew/3.10.rst:1732 msgid "The following ``threading`` methods are now deprecated:" msgstr "Os seguintes métodos de ``threading`` foram agora descontinuados:" -#: ../../whatsnew/3.10.rst:1640 +#: ../../whatsnew/3.10.rst:1734 msgid "``threading.currentThread`` => :func:`threading.current_thread`" msgstr "``threading.currentThread`` => :func:`threading.current_thread`" -#: ../../whatsnew/3.10.rst:1642 +#: ../../whatsnew/3.10.rst:1736 msgid "``threading.activeCount`` => :func:`threading.active_count`" msgstr "``threading.activeCount`` => :func:`threading.active_count`" -#: ../../whatsnew/3.10.rst:1644 +#: ../../whatsnew/3.10.rst:1738 msgid "" "``threading.Condition.notifyAll`` => :meth:`threading.Condition.notify_all`" msgstr "" "``threading.Condition.notifyAll`` => :meth:`threading.Condition.notify_all`" -#: ../../whatsnew/3.10.rst:1647 +#: ../../whatsnew/3.10.rst:1741 msgid "``threading.Event.isSet`` => :meth:`threading.Event.is_set`" msgstr "``threading.Event.isSet`` => :meth:`threading.Event.is_set`" -#: ../../whatsnew/3.10.rst:1649 +#: ../../whatsnew/3.10.rst:1743 msgid "``threading.Thread.setName`` => :attr:`threading.Thread.name`" msgstr "``threading.Thread.setName`` => :attr:`threading.Thread.name`" -#: ../../whatsnew/3.10.rst:1651 +#: ../../whatsnew/3.10.rst:1745 msgid "``threading.thread.getName`` => :attr:`threading.Thread.name`" msgstr "``threading.thread.getName`` => :attr:`threading.Thread.name`" -#: ../../whatsnew/3.10.rst:1653 +#: ../../whatsnew/3.10.rst:1747 msgid "``threading.Thread.isDaemon`` => :attr:`threading.Thread.daemon`" msgstr "``threading.Thread.isDaemon`` => :attr:`threading.Thread.daemon`" -#: ../../whatsnew/3.10.rst:1655 +#: ../../whatsnew/3.10.rst:1749 msgid "``threading.Thread.setDaemon`` => :attr:`threading.Thread.daemon`" msgstr "``threading.Thread.setDaemon`` => :attr:`threading.Thread.daemon`" -#: ../../whatsnew/3.10.rst:1657 -msgid "(Contributed by Jelle Zijlstra in :issue:`21574`.)" -msgstr "(Contribuição de Jelle Zijlstra em :issue:`21574`.)" +#: ../../whatsnew/3.10.rst:1751 +msgid "(Contributed by Jelle Zijlstra in :gh:`87889`.)" +msgstr "(Contribuição de Jelle Zijlstra em :gh:`87889`.)" -#: ../../whatsnew/3.10.rst:1659 +#: ../../whatsnew/3.10.rst:1753 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 " @@ -2847,7 +2981,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:1663 +#: ../../whatsnew/3.10.rst:1757 msgid "" "``cgi.log()`` is deprecated and slated for removal in Python 3.12. " "(Contributed by Inada Naoki in :issue:`41139`.)" @@ -2855,7 +2989,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:1666 +#: ../../whatsnew/3.10.rst:1760 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:" @@ -2863,7 +2997,7 @@ 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:1669 +#: ../../whatsnew/3.10.rst:1763 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 :" @@ -2875,7 +3009,7 @@ msgstr "" "`~ssl.OP_NO_TLSv1_3` foram substituídos por :attr:`sslSSLContext." "minimum_version` e :attr:`sslSSLContext.maximum_version`." -#: ../../whatsnew/3.10.rst:1675 +#: ../../whatsnew/3.10.rst:1769 msgid "" ":data:`~ssl.PROTOCOL_SSLv2`, :data:`~ssl.PROTOCOL_SSLv3`, :data:`~ssl." "PROTOCOL_SSLv23`, :data:`~ssl.PROTOCOL_TLSv1`, :data:`~ssl." @@ -2889,22 +3023,22 @@ msgstr "" "foram descontinuados em favor de :data:`~ssl.PROTOCOL_TLS_CLIENT` e :data:" "`~ssl.PROTOCOL_TLS_SERVER`" -#: ../../whatsnew/3.10.rst:1681 +#: ../../whatsnew/3.10.rst:1775 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`" -#: ../../whatsnew/3.10.rst:1683 +#: ../../whatsnew/3.10.rst:1777 msgid ":func:`~ssl.match_hostname`" msgstr ":func:`~ssl.match_hostname`" -#: ../../whatsnew/3.10.rst:1685 +#: ../../whatsnew/3.10.rst:1779 msgid ":func:`~ssl.RAND_pseudo_bytes`, :func:`~ssl.RAND_egd`" msgstr ":func:`~ssl.RAND_pseudo_bytes`, :func:`~ssl.RAND_egd`" -#: ../../whatsnew/3.10.rst:1687 +#: ../../whatsnew/3.10.rst:1781 msgid "" "NPN features like :meth:`ssl.SSLSocket.selected_npn_protocol` and :meth:`ssl." "SSLContext.set_npn_protocols` are replaced by ALPN." @@ -2912,7 +3046,7 @@ msgstr "" "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:1690 +#: ../../whatsnew/3.10.rst:1784 msgid "" "The threading debug (:envvar:`PYTHONTHREADDEBUG` environment variable) is " "deprecated in Python 3.10 and will be removed in Python 3.12. This feature " @@ -2924,11 +3058,25 @@ msgstr "" "recurso exige uma :ref:`construção de depuração de Python `. " "(Contribuição de Victor Stinner em :issue:`44584`.)" -#: ../../whatsnew/3.10.rst:1698 ../../whatsnew/3.10.rst:2115 +#: ../../whatsnew/3.10.rst:1789 +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 " +"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`.)" + +#: ../../whatsnew/3.10.rst:1798 ../../whatsnew/3.10.rst:2221 msgid "Removed" msgstr "Removidos" -#: ../../whatsnew/3.10.rst:1700 +#: ../../whatsnew/3.10.rst:1800 msgid "" "Removed special methods ``__int__``, ``__float__``, ``__floordiv__``, " "``__mod__``, ``__divmod__``, ``__rfloordiv__``, ``__rmod__`` and " @@ -2941,7 +3089,7 @@ msgstr "" "exceção :exc:`TypeError`. (Contribuição de Serhiy Storchaka em :issue:" "`41974`.)" -#: ../../whatsnew/3.10.rst:1706 +#: ../../whatsnew/3.10.rst:1806 msgid "" "The ``ParserBase.error()`` method from the private and undocumented " "``_markupbase`` module has been removed. :class:`html.parser.HTMLParser` is " @@ -2954,7 +3102,7 @@ msgstr "" "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:1712 +#: ../../whatsnew/3.10.rst:1812 msgid "" "Removed the ``unicodedata.ucnhash_CAPI`` attribute which was an internal " "PyCapsule object. The related private ``_PyUnicode_Name_CAPI`` structure was " @@ -2966,7 +3114,7 @@ msgstr "" "movida para uma API C interna. (Contribuição de Victor Stinner em :issue:" "`42157`.)" -#: ../../whatsnew/3.10.rst:1717 +#: ../../whatsnew/3.10.rst:1817 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 " @@ -2979,7 +3127,7 @@ msgstr "" "sintático antigo, incluindo ``node.h``, ``parser.h``, ``graminit.h`` e " "``grammar.h``." -#: ../../whatsnew/3.10.rst:1722 +#: ../../whatsnew/3.10.rst:1822 msgid "" "Removed the Public C API functions ``PyParser_SimpleParseStringFlags``, " "``PyParser_SimpleParseStringFlagsFilename``, " @@ -2992,7 +3140,7 @@ msgstr "" "descontinuadas no 3.9 em razão da mudança para o novo analisador sintático " "GASE." -#: ../../whatsnew/3.10.rst:1727 +#: ../../whatsnew/3.10.rst:1827 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 " @@ -3008,7 +3156,7 @@ 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:1734 +#: ../../whatsnew/3.10.rst:1834 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. " @@ -3018,7 +3166,7 @@ msgstr "" "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`.)" -#: ../../whatsnew/3.10.rst:1738 +#: ../../whatsnew/3.10.rst:1838 msgid "" "Remove deprecated aliases to :ref:`collections-abstract-base-classes` from " "the :mod:`collections` module. (Contributed by Victor Stinner in :issue:" @@ -3028,7 +3176,7 @@ msgstr "" "do módulo :mod:`collections`. (Contribuição de Victor Stinner em :issue:" "`37324`.)" -#: ../../whatsnew/3.10.rst:1742 +#: ../../whatsnew/3.10.rst:1842 msgid "" "The ``loop`` parameter has been removed from most of :mod:`asyncio`\\ 's :" "doc:`high-level API <../library/asyncio-api-index>` following deprecation in " @@ -3038,11 +3186,11 @@ msgstr "" "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:1746 +#: ../../whatsnew/3.10.rst:1846 msgid "This simplifies the high-level API." msgstr "Isso simplifica a API de alto nível." -#: ../../whatsnew/3.10.rst:1747 +#: ../../whatsnew/3.10.rst:1847 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 " @@ -3052,7 +3200,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:1750 +#: ../../whatsnew/3.10.rst:1850 msgid "" "Event loop passing is error-prone especially when dealing with loops running " "in different threads." @@ -3060,16 +3208,15 @@ 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:1753 +#: ../../whatsnew/3.10.rst:1853 msgid "" -"Note that the low-level API will still accept ``loop``. See `Changes in the " -"Python API`_ for examples of how to replace existing code." +"Note that the low-level API will still accept ``loop``. See :ref:`changes-" +"python-api` for examples of how to replace existing code." msgstr "" -"Observe que a API de baixo nível ainda aceitará ``loop``. Veja `Changes in " -"the Python API`_ (Alterações na API Python) para exemplos de como substituir " -"o código existente." +"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:1756 ../../whatsnew/3.10.rst:1827 +#: ../../whatsnew/3.10.rst:1856 ../../whatsnew/3.10.rst:1928 msgid "" "(Contributed by Yurii Karabas, Andrew Svetlov, Yury Selivanov and Kyle " "Stanley in :issue:`42392`.)" @@ -3077,11 +3224,11 @@ msgstr "" "(Contribuição de Yurii Karabas, Andrew Svetlov, Yury Selivanov e Kyle " "Stanley em :issue:`42392`.)" -#: ../../whatsnew/3.10.rst:1761 ../../whatsnew/3.10.rst:2040 +#: ../../whatsnew/3.10.rst:1861 ../../whatsnew/3.10.rst:2148 msgid "Porting to Python 3.10" msgstr "Portando para Python 3.10" -#: ../../whatsnew/3.10.rst:1763 +#: ../../whatsnew/3.10.rst:1863 msgid "" "This section lists previously described changes and other bugfixes that may " "require changes to your code." @@ -3089,32 +3236,32 @@ 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:1768 +#: ../../whatsnew/3.10.rst:1868 msgid "Changes in the Python syntax" msgstr "Alterações na sintaxe Python" -#: ../../whatsnew/3.10.rst:1770 +#: ../../whatsnew/3.10.rst:1870 msgid "" "Deprecation warning is now emitted when compiling previously valid syntax if " "the numeric literal is immediately followed by a keyword (like in ``0in " -"x``). If future releases it will be changed to syntax warning, and finally " +"x``). In future releases it will be changed to syntax warning, and finally " "to a syntax error. To get rid of the warning and make the code compatible " "with future releases just add a space between the numeric literal and the " -"following keyword. (Contributed by Serhiy Storchaka in :issue:`43833`)." +"following keyword. (Contributed by Serhiy Storchaka in :issue:`43833`.)" msgstr "" "O aviso de descontinuação agora é emitido ao compilar a sintaxe " "anteriormente válida se o literal numérico for seguido imediatamente por uma " -"palavra-chave (como em ``0in x``). Em versões futuras, ele será alterado " +"palavra reservada (como em ``0in x``). Em versões futuras, ele será alterado " "para aviso de sintaxe e, finalmente, para um erro de sintaxe. Para se livrar " "do aviso e tornar o código compatível com versões futuras, basta adicionar " -"um espaço entre o literal numérico e a palavra-chave seguinte. (Contribuição " -"de Serhiy Storchaka em :issue:`43833`)." +"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:1780 +#: ../../whatsnew/3.10.rst:1881 msgid "Changes in the Python API" msgstr "Alterações na API Python" -#: ../../whatsnew/3.10.rst:1782 +#: ../../whatsnew/3.10.rst:1883 msgid "" "The *etype* parameters of the :func:`~traceback.format_exception`, :func:" "`~traceback.format_exception_only`, and :func:`~traceback.print_exception` " @@ -3126,20 +3273,20 @@ msgstr "" "módulo :mod:`traceback` foram renomeadas para *exc*. (Contribuição de " "Zackery Spytz e Matthias Bussonnier em :issue:`26389`.)" -#: ../../whatsnew/3.10.rst:1788 +#: ../../whatsnew/3.10.rst:1889 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`.)" msgstr "" -":mod:`atexit`: Ao sair do Python, se uma função de retorno registrada com :" +":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:1794 +#: ../../whatsnew/3.10.rst:1895 msgid "" ":class:`collections.abc.Callable` generic now flattens type parameters, " "similar to what :data:`typing.Callable` currently does. This means that " @@ -3161,7 +3308,7 @@ msgstr "" "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:1804 +#: ../../whatsnew/3.10.rst:1905 msgid "" ":meth:`socket.htons` and :meth:`socket.ntohs` now raise :exc:`OverflowError` " "instead of :exc:`DeprecationWarning` if the given parameter will not fit in " @@ -3173,7 +3320,7 @@ msgstr "" "couber em um inteiro sem sinal de 16 bits. (Contribuição de Erlend E. " "Aasland em :issue:`42393`.)" -#: ../../whatsnew/3.10.rst:1809 +#: ../../whatsnew/3.10.rst:1910 msgid "" "The ``loop`` parameter has been removed from most of :mod:`asyncio`\\ 's :" "doc:`high-level API <../library/asyncio-api-index>` following deprecation in " @@ -3183,15 +3330,15 @@ msgstr "" "library/asyncio-api-index>` do :mod:`asyncio` seguindo a descontinuidade no " "Python 3.8." -#: ../../whatsnew/3.10.rst:1813 +#: ../../whatsnew/3.10.rst:1914 msgid "A coroutine that currently looks like this::" msgstr "A corrotina que atualmente se parece com isso::" -#: ../../whatsnew/3.10.rst:1818 +#: ../../whatsnew/3.10.rst:1919 msgid "Should be replaced with this::" msgstr "Deve ser substituída por isso::" -#: ../../whatsnew/3.10.rst:1823 +#: ../../whatsnew/3.10.rst:1924 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 " @@ -3202,13 +3349,13 @@ msgstr "" "eventos de outra thread), considere usar :func:`asyncio." "run_coroutine_threadsafe`." -#: ../../whatsnew/3.10.rst:1830 +#: ../../whatsnew/3.10.rst:1931 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 overriden with this syntax: it " +"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 "" @@ -3220,11 +3367,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:1839 +#: ../../whatsnew/3.10.rst:1940 msgid "Changes in the C API" msgstr "Alterações na API C" -#: ../../whatsnew/3.10.rst:1841 +#: ../../whatsnew/3.10.rst:1942 msgid "" "The C API functions ``PyParser_SimpleParseStringFlags``, " "``PyParser_SimpleParseStringFlagsFilename``, " @@ -3238,30 +3385,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:1847 +#: ../../whatsnew/3.10.rst:1948 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:1851 +#: ../../whatsnew/3.10.rst:1952 msgid "Specifically:" msgstr "Especificamente:" -#: ../../whatsnew/3.10.rst:1853 +#: ../../whatsnew/3.10.rst:1954 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:1856 +#: ../../whatsnew/3.10.rst:1957 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 " @@ -3271,7 +3417,7 @@ 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:1860 +#: ../../whatsnew/3.10.rst:1961 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` " @@ -3286,25 +3432,42 @@ msgstr "" "`Py_CompileString`, como esboçado abaixo. (Declarações e tratamento de erro " "foram omitidos.) ::" -#: ../../whatsnew/3.10.rst:1874 +#: ../../whatsnew/3.10.rst:1974 +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:1982 msgid "CPython bytecode changes" msgstr "Alterações de bytecode do CPython" -#: ../../whatsnew/3.10.rst:1876 +#: ../../whatsnew/3.10.rst:1984 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 " -"Inada Naoki in :issue:`42202`)" +"Inada Naoki in :issue:`42202`.)" msgstr "" "A instrução ``MAKE_FUNCTION`` agora aceita um dicionário ou uma tupla de " "strings como as anotações da função. (Contribuição de Yurii Karabas e Inada " -"Naoki em :issue:`42202`)" +"Naoki em :issue:`42202`.)" -#: ../../whatsnew/3.10.rst:1881 +#: ../../whatsnew/3.10.rst:1989 msgid "Build Changes" -msgstr "Alterações de compilação" +msgstr "Mudanças na construção" -#: ../../whatsnew/3.10.rst:1883 +#: ../../whatsnew/3.10.rst:1991 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`.)" @@ -3312,7 +3475,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:1887 +#: ../../whatsnew/3.10.rst:1995 msgid "" "The C99 functions :c:func:`snprintf` and :c:func:`vsnprintf` are now " "required to build Python. (Contributed by Victor Stinner in :issue:`36020`.)" @@ -3320,15 +3483,15 @@ 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:1891 +#: ../../whatsnew/3.10.rst:1999 msgid "" ":mod:`sqlite3` requires SQLite 3.7.15 or higher. (Contributed by Sergey " -"Fedoseev and Erlend E. Aasland :issue:`40744` and :issue:`40810`.)" +"Fedoseev and Erlend E. Aasland in :issue:`40744` and :issue:`40810`.)" 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:1894 +#: ../../whatsnew/3.10.rst:2002 msgid "" "The :mod:`atexit` module must now always be built as a built-in module. " "(Contributed by Victor Stinner in :issue:`42639`.)" @@ -3336,7 +3499,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:1897 +#: ../../whatsnew/3.10.rst:2005 msgid "" "Add :option:`--disable-test-modules` option to the ``configure`` script: " "don't build nor install test modules. (Contributed by Xavier de Gaye, Thomas " @@ -3346,7 +3509,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:1901 +#: ../../whatsnew/3.10.rst:2009 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 " @@ -3360,7 +3523,7 @@ msgstr "" "ambos estiverem presentes, esses pacotes wheel são usados em vez de pacotes " "wheel empacotados por ensurepip." -#: ../../whatsnew/3.10.rst:1907 +#: ../../whatsnew/3.10.rst:2015 msgid "" "Some Linux distribution packaging policies recommend against bundling " "dependencies. For example, Fedora installs wheel packages in the ``/usr/" @@ -3372,11 +3535,11 @@ msgstr "" "wheel no diretório ``/usr/share/python-wheels/`` e não instala o pacote " "``ensurepip._bundled``." -#: ../../whatsnew/3.10.rst:1912 +#: ../../whatsnew/3.10.rst:2020 msgid "(Contributed by Victor Stinner in :issue:`42856`.)" msgstr "(Contribuição de Victor Stinner em :issue:`42856`.)" -#: ../../whatsnew/3.10.rst:1914 +#: ../../whatsnew/3.10.rst:2022 msgid "" "Add a new :option:`configure --without-static-libpython option <--without-" "static-libpython>` to not build the ``libpythonMAJOR.MINOR.a`` static " @@ -3386,11 +3549,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:1918 +#: ../../whatsnew/3.10.rst:2026 msgid "(Contributed by Victor Stinner in :issue:`43103`.)" msgstr "(Contribuição de Victor Stinner em :issue:`43103`.)" -#: ../../whatsnew/3.10.rst:1920 +#: ../../whatsnew/3.10.rst:2028 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 " @@ -3404,7 +3567,7 @@ msgstr "" "configuração :option:`--with-tcltk-includes` e :option:`--with-tcltk-libs`. " "(Contribuição de Manolis Stamatogiannakis em :issue:`42603`.)" -#: ../../whatsnew/3.10.rst:1926 +#: ../../whatsnew/3.10.rst:2034 msgid "" "Add :option:`--with-openssl-rpath` option to ``configure`` script. The " "option simplifies building Python with a custom OpenSSL installation, e.g. " @@ -3417,15 +3580,15 @@ msgstr "" "with-openssl-rpath=auto``. (Contribuição de Christian Heimes em :issue:" "`43466`.)" -#: ../../whatsnew/3.10.rst:1933 +#: ../../whatsnew/3.10.rst:2041 msgid "C API Changes" msgstr "Alterações na API C" -#: ../../whatsnew/3.10.rst:1936 +#: ../../whatsnew/3.10.rst:2044 msgid "PEP 652: Maintaining the Stable ABI" msgstr "PEP 652: Mantendo a ABI estável" -#: ../../whatsnew/3.10.rst:1938 +#: ../../whatsnew/3.10.rst:2046 msgid "" "The Stable ABI (Application Binary Interface) for extension modules or " "embedding Python is now explicitly defined. :ref:`stable` describes C API " @@ -3437,11 +3600,11 @@ 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:1943 +#: ../../whatsnew/3.10.rst:2051 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:1948 +#: ../../whatsnew/3.10.rst:2056 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 " @@ -3451,7 +3614,7 @@ msgstr "" "`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:1952 +#: ../../whatsnew/3.10.rst:2060 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 " @@ -3461,80 +3624,110 @@ msgstr "" "`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:1957 +#: ../../whatsnew/3.10.rst:2065 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`.)" 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`.)" -#: ../../whatsnew/3.10.rst:1963 +#: ../../whatsnew/3.10.rst:2071 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`.)" -#: ../../whatsnew/3.10.rst:1967 +#: ../../whatsnew/3.10.rst:2075 msgid "" "The :c:func:`PyIter_Send` function was added to allow sending value into " "iterator without raising ``StopIteration`` exception. (Contributed by " "Vladimir Matveev in :issue:`41756`.)" msgstr "" +"A função :c:func:`PyIter_Send` foi adicionada para permitir o envio de valor " +"para o iterador sem levantar a exceção ``StopIteration``. (Contribuição de " +"Vladimir Matveev em :issue:`41756`.)" -#: ../../whatsnew/3.10.rst:1971 +#: ../../whatsnew/3.10.rst:2079 msgid "" "Add :c:func:`PyUnicode_AsUTF8AndSize` to the limited C API. (Contributed by " "Alex Gaynor in :issue:`41784`.)" msgstr "" +"Adiciona :c:func:`PyUnicode_AsUTF8AndSize` à API C limitada. (Contribuição " +"de Alex Gaynor em :issue:`41784`.)" -#: ../../whatsnew/3.10.rst:1974 +#: ../../whatsnew/3.10.rst:2082 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`.)" 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`.)" -#: ../../whatsnew/3.10.rst:1979 +#: ../../whatsnew/3.10.rst:2087 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 " "Stinner in :issue:`42262`.)" msgstr "" +"Adiciona as funções :c:func:`Py_NewRef` e :c:func:`Py_XNewRef` para " +"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:1983 +#: ../../whatsnew/3.10.rst:2091 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`.)" 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`.)" -#: ../../whatsnew/3.10.rst:1987 +#: ../../whatsnew/3.10.rst:2095 msgid "" "The :c:func:`PyType_FromModuleAndSpec` function now accepts NULL ``tp_doc`` " "slot. (Contributed by Hai Shi in :issue:`41832`.)" 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:1991 +#: ../../whatsnew/3.10.rst:2099 msgid "" "The :c:func:`PyType_GetSlot` function can accept :ref:`static types `. (Contributed by Hai Shi and Petr Viktorin in :issue:`41073`.)" 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:1995 +#: ../../whatsnew/3.10.rst:2103 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. " "(Contributed by Pablo Galindo in :issue:`43277`.)" msgstr "" +"Adiciona uma nova função :c:func:`PySet_CheckExact` à C-API para verificar " +"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:1999 +#: ../../whatsnew/3.10.rst:2107 msgid "" "Add :c:func:`PyErr_SetInterruptEx` which allows passing a signal number to " "simulate. (Contributed by Antoine Pitrou in :issue:`43356`.)" 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:2003 +#: ../../whatsnew/3.10.rst:2111 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, " @@ -3546,15 +3739,27 @@ msgid "" "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 " +"API C limitada, as funções :c:func:`Py_INCREF` e :c:func:`Py_DECREF` agora " +"são implementadas como chamadas de função opacas, em vez de acessar " +"diretamente o membro :c:member:`PyObject.ob_refcnt`, se o Python for " +"compilado no modo de depuração e a macro ``Py_LIMITED_API`` tiver como alvo " +"o Python 3.10 ou mais recente. Tornou-se possível suportar a API C limitada " +"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:2013 +#: ../../whatsnew/3.10.rst:2121 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`.)" 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:2017 +#: ../../whatsnew/3.10.rst:2125 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:" @@ -3563,83 +3768,124 @@ msgid "" "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`.)" -#: ../../whatsnew/3.10.rst:2024 +#: ../../whatsnew/3.10.rst:2132 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." 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`." -#: ../../whatsnew/3.10.rst:2031 +#: ../../whatsnew/3.10.rst:2139 msgid "" "Add a new :c:data:`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`.)" -#: ../../whatsnew/3.10.rst:2035 +#: ../../whatsnew/3.10.rst:2143 msgid "" "Add a new :c:data:`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`.)" -#: ../../whatsnew/3.10.rst:2042 +#: ../../whatsnew/3.10.rst:2150 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:`Parsing arguments and building values ` and the :pep:" -"`353`. (Contributed by Victor Stinner in :issue:`40943`.)" +"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`.)" -#: ../../whatsnew/3.10.rst:2049 +#: ../../whatsnew/3.10.rst:2156 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, " "new_refcnt)``: see :c:func:`Py_SET_REFCNT()` (available since Python 3.9). " "For backward compatibility, this macro can be used::" msgstr "" +"Como :c:func:`Py_REFCNT()` é alterado para a função estática em linha, " +"``Py_REFCNT(obj) = new_refcnt`` deve ser substituído por " +"``Py_SET_REFCNT(obj, new_refcnt)``: veja :c:func:`Py_SET_REFCNT()` " +"(disponível desde o Python 3.9). Para compatibilidade com versões " +"anteriores, esta macro pode ser usada::" -#: ../../whatsnew/3.10.rst:2058 +#: ../../whatsnew/3.10.rst:2165 msgid "(Contributed by Victor Stinner in :issue:`39573`.)" -msgstr "" +msgstr "(Contribuição de Victor Stinner em :issue:`39573`.)" -#: ../../whatsnew/3.10.rst:2060 +#: ../../whatsnew/3.10.rst:2167 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 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:2064 +#: ../../whatsnew/3.10.rst:2171 msgid "" "``PyUnicode_FromUnicode(NULL, size)`` and " "``PyUnicode_FromStringAndSize(NULL, size)`` raise ``DeprecationWarning`` " "now. Use :c:func:`PyUnicode_New` to allocate Unicode object without initial " "data. (Contributed by Inada Naoki in :issue:`36346`.)" msgstr "" +"``PyUnicode_FromUnicode(NULL, size)`` e ``PyUnicode_FromStringAndSize(NULL, " +"size)`` levantam ``DeprecationWarning`` agora. Use :c:func:`PyUnicode_New` " +"para alocar objeto Unicode sem dados iniciais. (Contribuição de Inada Naoki " +"em :issue:`36346`.)" -#: ../../whatsnew/3.10.rst:2069 +#: ../../whatsnew/3.10.rst:2176 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`.)" -#: ../../whatsnew/3.10.rst:2073 +#: ../../whatsnew/3.10.rst:2180 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:`Python " -"Initialization Configuration API ` to get the :ref:`Python Path " -"Configuration. `. (Contributed by Victor Stinner in :" -"issue:`42260`.)" +"`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`.)" -#: ../../whatsnew/3.10.rst:2081 +#: ../../whatsnew/3.10.rst:2187 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 " @@ -3648,19 +3894,32 @@ msgid "" "(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 " +"Victor Stinner em :issue:`30459`.)" -#: ../../whatsnew/3.10.rst:2088 +#: ../../whatsnew/3.10.rst:2194 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``: :ref:`Include Files `. If they have been " -"included directly, consider including ``Python.h`` instead. (Contributed by " -"Nicholas Sim in :issue:`35134`)" -msgstr "" +"``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`.)" -#: ../../whatsnew/3.10.rst:2096 +#: ../../whatsnew/3.10.rst:2202 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 " @@ -3668,158 +3927,211 @@ msgid "" "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`.)" -#: ../../whatsnew/3.10.rst:2102 +#: ../../whatsnew/3.10.rst:2208 msgid "" "The undocumented function ``Py_FrozenMain`` has been removed from the " "limited API. The function is mainly useful for custom builds of Python. " -"(Contributed by Petr Viktorin in :issue:`26241`)" +"(Contributed by Petr Viktorin in :issue:`26241`.)" msgstr "" +"A função não documentada ``Py_FrozenMain`` foi removida da API limitada. A " +"função é útil principalmente para compilações personalizadas do Python. " +"(Contribuição de Petr Viktorin em :issue:`26241`.)" -#: ../../whatsnew/3.10.rst:2109 +#: ../../whatsnew/3.10.rst:2215 msgid "" "The ``PyUnicode_InternImmortal()`` function is now deprecated and will be " "removed in Python 3.12: use :c:func:`PyUnicode_InternInPlace` instead. " "(Contributed by Victor Stinner in :issue:`41692`.)" msgstr "" +"A função ``PyUnicode_InternImmortal()`` agora foi descontinuada e será " +"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:2117 +#: ../../whatsnew/3.10.rst:2223 msgid "" "Removed ``Py_UNICODE_str*`` functions manipulating ``Py_UNICODE*`` strings. " "(Contributed by Inada Naoki in :issue:`41123`.)" 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:2120 +#: ../../whatsnew/3.10.rst:2226 msgid "" "``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`" -#: ../../whatsnew/3.10.rst:2122 +#: ../../whatsnew/3.10.rst:2228 msgid "" "``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`" -#: ../../whatsnew/3.10.rst:2124 +#: ../../whatsnew/3.10.rst:2230 msgid "" "``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`" -#: ../../whatsnew/3.10.rst:2126 +#: ../../whatsnew/3.10.rst:2232 msgid "``Py_UNICODE_strcmp``: use :c:func:`PyUnicode_Compare`" -msgstr "" +msgstr "``Py_UNICODE_strcmp``: use :c:func:`PyUnicode_Compare`" -#: ../../whatsnew/3.10.rst:2127 +#: ../../whatsnew/3.10.rst:2233 msgid "``Py_UNICODE_strncmp``: use :c:func:`PyUnicode_Tailmatch`" -msgstr "" +msgstr "``Py_UNICODE_strncmp``: use :c:func:`PyUnicode_Tailmatch`" -#: ../../whatsnew/3.10.rst:2128 +#: ../../whatsnew/3.10.rst:2234 msgid "" "``Py_UNICODE_strchr``, ``Py_UNICODE_strrchr``: use :c:func:" "`PyUnicode_FindChar`" msgstr "" +"``Py_UNICODE_strchr``, ``Py_UNICODE_strrchr``: use :c:func:" +"`PyUnicode_FindChar`" -#: ../../whatsnew/3.10.rst:2131 +#: ../../whatsnew/3.10.rst:2237 msgid "" "Removed ``PyUnicode_GetMax()``. Please migrate to new (:pep:`393`) APIs. " "(Contributed by Inada Naoki in :issue:`41103`.)" msgstr "" +"Removida ``PyUnicode_GetMax()``. Migre para as novas APIs (:pep:`393`). " +"(Contribuição de Inada Naoki em :issue:`41103`.)" -#: ../../whatsnew/3.10.rst:2134 +#: ../../whatsnew/3.10.rst:2240 msgid "" "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`.)" -#: ../../whatsnew/3.10.rst:2137 +#: ../../whatsnew/3.10.rst:2243 msgid "" "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`.)" -#: ../../whatsnew/3.10.rst:2141 +#: ../../whatsnew/3.10.rst:2247 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`.)" -#: ../../whatsnew/3.10.rst:2145 +#: ../../whatsnew/3.10.rst:2251 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`.)" 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`.)" -#: ../../whatsnew/3.10.rst:2150 +#: ../../whatsnew/3.10.rst:2256 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`.)" 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`.)" -#: ../../whatsnew/3.10.rst:2155 +#: ../../whatsnew/3.10.rst:2261 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 " "already excluded from the limited C API (:pep:`384`). (Contributed by Victor " "Stinner in :issue:`43244`.)" 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`.)" -#: ../../whatsnew/3.10.rst:2160 +#: ../../whatsnew/3.10.rst:2266 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:2162 +#: ../../whatsnew/3.10.rst:2268 msgid "``PyST_GetScope()``" -msgstr "" +msgstr "``PyST_GetScope()``" -#: ../../whatsnew/3.10.rst:2163 +#: ../../whatsnew/3.10.rst:2269 msgid "``PySymtable_Build()``" -msgstr "" +msgstr "``PySymtable_Build()``" -#: ../../whatsnew/3.10.rst:2164 +#: ../../whatsnew/3.10.rst:2270 msgid "``PySymtable_BuildObject()``" -msgstr "" +msgstr "``PySymtable_BuildObject()``" -#: ../../whatsnew/3.10.rst:2165 +#: ../../whatsnew/3.10.rst:2271 msgid "``PySymtable_Free()``" -msgstr "" +msgstr "``PySymtable_Free()``" -#: ../../whatsnew/3.10.rst:2166 +#: ../../whatsnew/3.10.rst:2272 msgid "``Py_SymtableString()``" -msgstr "" +msgstr "``Py_SymtableString()``" -#: ../../whatsnew/3.10.rst:2167 +#: ../../whatsnew/3.10.rst:2273 msgid "``Py_SymtableStringObject()``" -msgstr "" +msgstr "``Py_SymtableStringObject()``" -#: ../../whatsnew/3.10.rst:2169 +#: ../../whatsnew/3.10.rst:2275 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 " "from the limited C API." msgstr "" +"A função ``Py_SymtableString()`` fazia parte da ABI estável por engano, mas " +"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:2173 +#: ../../whatsnew/3.10.rst:2279 msgid "" "Use Python :mod:`symtable` module instead. (Contributed by Victor Stinner " "in :issue:`43244`.)" msgstr "" +"Use o módulo Python :mod:`symtable` em vez disso. (Contribuição de Victor " +"Stinner em :issue:`43244`.)" -#: ../../whatsnew/3.10.rst:2176 +#: ../../whatsnew/3.10.rst:2282 msgid "" "Remove :c:func:`PyOS_ReadlineFunctionPointer` from the limited C API headers " "and from ``python3.dll``, the library that provides the stable ABI on " "Windows. Since the function takes a ``FILE*`` argument, its ABI stability " "cannot be guaranteed. (Contributed by Petr Viktorin in :issue:`43868`.)" msgstr "" +"Remove :c:func:`PyOS_ReadlineFunctionPointer` dos cabeçalhos limitados da " +"API C e de ``python3.dll``, a biblioteca que fornece a ABI estável no " +"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:2182 +#: ../../whatsnew/3.10.rst:2288 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 " @@ -3829,82 +4141,286 @@ msgid "" "```` header. Use the Python :mod:`ast` module instead. " "(Contributed by Victor Stinner in :issue:`43244`.)" msgstr "" +"Remove os arquivos de cabeçalho ``ast.h``, ``asdl.h`` e ``Python-ast.h``. " +"Essas funções não estavam documentadas e excluídas da API C limitada. A " +"maioria dos nomes definidos por esses arquivos de cabeçalho não foram " +"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`.)" -#: ../../whatsnew/3.10.rst:2190 +#: ../../whatsnew/3.10.rst:2296 msgid "" "Remove the compiler and parser functions using ``struct _mod`` type, because " "the public AST C API was removed:" 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:2193 +#: ../../whatsnew/3.10.rst:2299 msgid "``PyAST_Compile()``" -msgstr "" +msgstr "``PyAST_Compile()``" -#: ../../whatsnew/3.10.rst:2194 +#: ../../whatsnew/3.10.rst:2300 msgid "``PyAST_CompileEx()``" -msgstr "" +msgstr "``PyAST_CompileEx()``" -#: ../../whatsnew/3.10.rst:2195 +#: ../../whatsnew/3.10.rst:2301 msgid "``PyAST_CompileObject()``" -msgstr "" +msgstr "``PyAST_CompileObject()``" -#: ../../whatsnew/3.10.rst:2196 +#: ../../whatsnew/3.10.rst:2302 msgid "``PyFuture_FromAST()``" -msgstr "" +msgstr "``PyFuture_FromAST()``" -#: ../../whatsnew/3.10.rst:2197 +#: ../../whatsnew/3.10.rst:2303 msgid "``PyFuture_FromASTObject()``" -msgstr "" +msgstr "``PyFuture_FromASTObject()``" -#: ../../whatsnew/3.10.rst:2198 +#: ../../whatsnew/3.10.rst:2304 msgid "``PyParser_ASTFromFile()``" -msgstr "" +msgstr "``PyParser_ASTFromFile()``" -#: ../../whatsnew/3.10.rst:2199 +#: ../../whatsnew/3.10.rst:2305 msgid "``PyParser_ASTFromFileObject()``" -msgstr "" +msgstr "``PyParser_ASTFromFileObject()``" -#: ../../whatsnew/3.10.rst:2200 +#: ../../whatsnew/3.10.rst:2306 msgid "``PyParser_ASTFromFilename()``" -msgstr "" +msgstr "``PyParser_ASTFromFilename()``" -#: ../../whatsnew/3.10.rst:2201 +#: ../../whatsnew/3.10.rst:2307 msgid "``PyParser_ASTFromString()``" -msgstr "" +msgstr "``PyParser_ASTFromString()``" -#: ../../whatsnew/3.10.rst:2202 +#: ../../whatsnew/3.10.rst:2308 msgid "``PyParser_ASTFromStringObject()``" -msgstr "" +msgstr "``PyParser_ASTFromStringObject()``" -#: ../../whatsnew/3.10.rst:2204 +#: ../../whatsnew/3.10.rst:2310 msgid "" "These functions were undocumented and excluded from the limited C API. " "(Contributed by Victor Stinner in :issue:`43244`.)" 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:2207 +#: ../../whatsnew/3.10.rst:2313 msgid "Remove the ``pyarena.h`` header file with functions:" -msgstr "" +msgstr "Remove o arquivo de cabeçalho ``pyarena.h`` com funções:" -#: ../../whatsnew/3.10.rst:2209 +#: ../../whatsnew/3.10.rst:2315 msgid "``PyArena_New()``" -msgstr "" +msgstr "``PyArena_New()``" -#: ../../whatsnew/3.10.rst:2210 +#: ../../whatsnew/3.10.rst:2316 msgid "``PyArena_Free()``" -msgstr "" +msgstr "``PyArena_Free()``" -#: ../../whatsnew/3.10.rst:2211 +#: ../../whatsnew/3.10.rst:2317 msgid "``PyArena_Malloc()``" -msgstr "" +msgstr "``PyArena_Malloc()``" -#: ../../whatsnew/3.10.rst:2212 +#: ../../whatsnew/3.10.rst:2318 msgid "``PyArena_AddPyObject()``" -msgstr "" +msgstr "``PyArena_AddPyObject()``" -#: ../../whatsnew/3.10.rst:2214 +#: ../../whatsnew/3.10.rst:2320 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`.)" 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:2324 +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:2329 +msgid "Notable security feature in 3.10.7" +msgstr "Recursos de segurança notáveis no 3.10.7" + +#: ../../whatsnew/3.10.rst:2331 +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:2343 +msgid "Notable security feature in 3.10.8" +msgstr "Recursos de segurança notáveis no 3.10.8" + +#: ../../whatsnew/3.10.rst:2345 +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:2352 +msgid "Notable Changes in 3.10.12" +msgstr "" + +#: ../../whatsnew/3.10.rst:2355 ../../whatsnew/3.10.rst:2412 +msgid "tarfile" +msgstr "tarfile" + +#: ../../whatsnew/3.10.rst:2357 +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`.)" + +#: ../../whatsnew/3.10.rst:2368 +msgid "Notable changes in 3.10.15" +msgstr "" + +#: ../../whatsnew/3.10.rst:2371 +msgid "ipaddress" +msgstr "ipaddress" + +#: ../../whatsnew/3.10.rst:2373 +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.10.rst:2377 +msgid "email" +msgstr "email" + +#: ../../whatsnew/3.10.rst:2379 +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.10.rst:2381 +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.10.rst:2388 +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.10.rst:2400 +msgid "Notable changes in 3.10.18" +msgstr "" + +#: ../../whatsnew/3.10.rst:2405 +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.10.rst:2414 +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.10.rst:2417 +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.10.rst:2420 +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.10.rst:2426 +msgid "" +":func:`~tarfile.TarFile.extract` and :func:`~tarfile.TarFile.extractall` no " +"longer extract rejected members when :func:`~tarfile.TarFile.errorlevel` is " +"zero. (Contributed by Matt Prodani and Petr Viktorin in :gh:`112887` and CVE " +"2025-4435.)" +msgstr "" diff --git a/whatsnew/3.2.po b/whatsnew/3.2.po index 7c408f407..33def753e 100644 --- a/whatsnew/3.2.po +++ b/whatsnew/3.2.po @@ -1,32 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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: -# 01419cbcade949a3bc5433893a160e74, 2021 -# Victor Matheus Castro , 2021 -# Raphael Mendonça, 2021 -# Ricardo Cappellano , 2021 -# Marco Rougeth , 2021 -# Claudio Rogerio Carvalho Filho , 2021 -# Rafael Fontenelle , 2021 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.10\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-07-27 13:07+0000\n" -"PO-Revision-Date: 2021-06-29 13:04+0000\n" -"Last-Translator: Rafael Fontenelle , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:59+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../whatsnew/3.2.rst:3 msgid "What's New In Python 3.2" @@ -42,10 +37,10 @@ msgstr "Raymond Hettinger" #: ../../whatsnew/3.2.rst:51 msgid "" -"This article explains the new features in Python 3.2 as compared to 3.1. It " -"focuses on a few highlights and gives a few examples. For full details, see " -"the `Misc/NEWS `_ file." +"This article explains the new features in Python 3.2 as compared to 3.1. " +"Python 3.2 was released on February 20, 2011. It focuses on a few highlights " +"and gives a few examples. For full details, see the `Misc/NEWS `_ file." msgstr "" #: ../../whatsnew/3.2.rst:59 @@ -283,10 +278,10 @@ 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:311 @@ -452,7 +447,7 @@ msgstr "Outras mudanças na linguagem" #: ../../whatsnew/3.2.rst:437 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:439 msgid "" @@ -834,44 +829,45 @@ msgstr "" #: ../../whatsnew/3.2.rst:746 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:749 +#: ../../whatsnew/3.2.rst:750 msgid "(Contributed by Florent Xicluna and Fredrik Lundh, :issue:`6472`.)" msgstr "" -#: ../../whatsnew/3.2.rst:752 +#: ../../whatsnew/3.2.rst:753 msgid "functools" msgstr "functools" -#: ../../whatsnew/3.2.rst:754 +#: ../../whatsnew/3.2.rst:755 msgid "" "The :mod:`functools` module includes a new decorator for caching function " "calls. :func:`functools.lru_cache` can save repeated queries to an external " "resource whenever the results are expected to be the same." msgstr "" -#: ../../whatsnew/3.2.rst:758 +#: ../../whatsnew/3.2.rst:759 msgid "" "For example, adding a caching decorator to a database query function can " "save database accesses for popular searches:" msgstr "" -#: ../../whatsnew/3.2.rst:771 +#: ../../whatsnew/3.2.rst:772 msgid "" "To help with choosing an effective cache size, the wrapped function is " "instrumented for tracking cache statistics:" msgstr "" -#: ../../whatsnew/3.2.rst:777 +#: ../../whatsnew/3.2.rst:778 msgid "" "If the phonelist table gets updated, the outdated contents of the cache can " "be cleared with:" msgstr "" -#: ../../whatsnew/3.2.rst:782 +#: ../../whatsnew/3.2.rst:783 msgid "" "(Contributed by Raymond Hettinger and incorporating design ideas from Jim " "Baker, Miki Tebeka, and Nick Coghlan; see `recipe 498245 `_\\, :issue:`10586`, and :issue:`10593`.)" msgstr "" -#: ../../whatsnew/3.2.rst:788 +#: ../../whatsnew/3.2.rst:789 msgid "" "The :func:`functools.wraps` decorator now adds a :attr:`__wrapped__` " "attribute pointing to the original callable function. This allows wrapped " @@ -888,84 +884,84 @@ msgid "" "attr:`__doc__` which might not be defined for the wrapped callable." msgstr "" -#: ../../whatsnew/3.2.rst:794 +#: ../../whatsnew/3.2.rst:795 msgid "" "In the above example, the cache can be removed by recovering the original " "function:" msgstr "" -#: ../../whatsnew/3.2.rst:799 +#: ../../whatsnew/3.2.rst:800 msgid "" "(By Nick Coghlan and Terrence Cole; :issue:`9567`, :issue:`3445`, and :issue:" "`8814`.)" msgstr "" -#: ../../whatsnew/3.2.rst:802 +#: ../../whatsnew/3.2.rst:803 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." msgstr "" -#: ../../whatsnew/3.2.rst:806 +#: ../../whatsnew/3.2.rst:807 msgid "" "For example, supplying *__eq__* and *__lt__* will enable :func:`~functools." "total_ordering` to fill-in *__le__*, *__gt__* and *__ge__*::" msgstr "" -#: ../../whatsnew/3.2.rst:819 +#: ../../whatsnew/3.2.rst:820 msgid "" "With the *total_ordering* decorator, the remaining comparison methods are " "filled in automatically." msgstr "" -#: ../../whatsnew/3.2.rst:822 ../../whatsnew/3.2.rst:834 -#: ../../whatsnew/3.2.rst:878 ../../whatsnew/3.2.rst:899 -#: ../../whatsnew/3.2.rst:913 ../../whatsnew/3.2.rst:1783 -#: ../../whatsnew/3.2.rst:1828 +#: ../../whatsnew/3.2.rst:823 ../../whatsnew/3.2.rst:835 +#: ../../whatsnew/3.2.rst:879 ../../whatsnew/3.2.rst:900 +#: ../../whatsnew/3.2.rst:914 ../../whatsnew/3.2.rst:1784 +#: ../../whatsnew/3.2.rst:1829 msgid "(Contributed by Raymond Hettinger.)" msgstr "(Contributed by Raymond Hettinger.)" -#: ../../whatsnew/3.2.rst:824 +#: ../../whatsnew/3.2.rst:825 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:831 +#: ../../whatsnew/3.2.rst:832 msgid "" "For sorting examples and a brief sorting tutorial, see the `Sorting HowTo " "`_ tutorial." msgstr "" -#: ../../whatsnew/3.2.rst:837 +#: ../../whatsnew/3.2.rst:838 msgid "itertools" msgstr "itertools" -#: ../../whatsnew/3.2.rst:839 +#: ../../whatsnew/3.2.rst:840 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:850 +#: ../../whatsnew/3.2.rst:851 msgid "" "For an example using :func:`~itertools.accumulate`, see the :ref:`examples " "for the random module `." msgstr "" -#: ../../whatsnew/3.2.rst:853 +#: ../../whatsnew/3.2.rst:854 msgid "" "(Contributed by Raymond Hettinger and incorporating design suggestions from " "Mark Dickinson.)" msgstr "" -#: ../../whatsnew/3.2.rst:857 +#: ../../whatsnew/3.2.rst:858 msgid "collections" msgstr "collections" -#: ../../whatsnew/3.2.rst:859 +#: ../../whatsnew/3.2.rst:860 msgid "" "The :class:`collections.Counter` class now has two forms of in-place " "subtraction, the existing *-=* operator for `saturating subtraction `_ which is defined for only two threads." msgstr "" -#: ../../whatsnew/3.2.rst:928 +#: ../../whatsnew/3.2.rst:929 msgid "" "Implemented as a two-phase cyclic barrier, :class:`~threading.Barrier` " "objects are suitable for use in loops. The separate *filling* and " @@ -1032,11 +1028,11 @@ msgid "" "resets after each cycle." msgstr "" -#: ../../whatsnew/3.2.rst:933 +#: ../../whatsnew/3.2.rst:934 msgid "Example of using barriers::" msgstr "" -#: ../../whatsnew/3.2.rst:947 +#: ../../whatsnew/3.2.rst:948 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 " @@ -1045,7 +1041,7 @@ msgid "" "barrier point is crossed." msgstr "" -#: ../../whatsnew/3.2.rst:953 +#: ../../whatsnew/3.2.rst:954 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 " @@ -1054,16 +1050,16 @@ msgid "" "exception is raised::" msgstr "" -#: ../../whatsnew/3.2.rst:969 +#: ../../whatsnew/3.2.rst:970 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:973 +#: ../../whatsnew/3.2.rst:974 msgid "" -"See `Barrier Synchronization Patterns `_ for more examples " "of how barriers can be used in parallel computing. Also, there is a simple " "but thorough explanation of barriers in `The Little Book of Semaphores " @@ -1071,17 +1067,17 @@ msgid "" "*section 3.6*." msgstr "" -#: ../../whatsnew/3.2.rst:979 +#: ../../whatsnew/3.2.rst:980 msgid "" "(Contributed by Kristján Valur Jónsson with an API review by Jeffrey Yasskin " "in :issue:`8777`.)" msgstr "" -#: ../../whatsnew/3.2.rst:983 +#: ../../whatsnew/3.2.rst:984 msgid "datetime and time" msgstr "" -#: ../../whatsnew/3.2.rst:985 +#: ../../whatsnew/3.2.rst:986 msgid "" "The :mod:`datetime` module has a new type :class:`~datetime.timezone` that " "implements the :class:`~datetime.tzinfo` interface by returning a fixed UTC " @@ -1089,20 +1085,20 @@ msgid "" "datetime objects::" msgstr "" -#: ../../whatsnew/3.2.rst:998 +#: ../../whatsnew/3.2.rst:999 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." msgstr "" -#: ../../whatsnew/3.2.rst:1002 +#: ../../whatsnew/3.2.rst:1003 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:1005 +#: ../../whatsnew/3.2.rst:1006 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 " @@ -1110,7 +1106,7 @@ msgid "" "POSIX rules governing the ``%y`` strptime format." msgstr "" -#: ../../whatsnew/3.2.rst:1010 +#: ../../whatsnew/3.2.rst:1011 msgid "" "Starting with Py3.2, use of the century guessing heuristic will emit a :exc:" "`DeprecationWarning`. Instead, it is recommended that :attr:`time." @@ -1118,7 +1114,7 @@ msgid "" "without guesswork::" msgstr "" -#: ../../whatsnew/3.2.rst:1029 +#: ../../whatsnew/3.2.rst:1030 msgid "" "Several functions now have significantly expanded date ranges. When :attr:" "`time.accept2dyear` is false, the :func:`time.asctime` function will accept " @@ -1127,45 +1123,45 @@ msgid "" "corresponding operating system functions." msgstr "" -#: ../../whatsnew/3.2.rst:1035 +#: ../../whatsnew/3.2.rst:1036 msgid "" "(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:1042 +#: ../../whatsnew/3.2.rst:1043 msgid "math" msgstr "math" -#: ../../whatsnew/3.2.rst:1044 +#: ../../whatsnew/3.2.rst:1045 msgid "" "The :mod:`math` module has been updated with six new functions inspired by " "the C99 standard." msgstr "" -#: ../../whatsnew/3.2.rst:1047 +#: ../../whatsnew/3.2.rst:1048 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:1055 +#: ../../whatsnew/3.2.rst:1056 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:1063 +#: ../../whatsnew/3.2.rst:1064 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:1078 +#: ../../whatsnew/3.2.rst:1079 msgid "" "The :func:`~math.gamma` function is a continuous extension of the factorial " "function. See https://en.wikipedia.org/wiki/Gamma_function for details. " @@ -1174,36 +1170,36 @@ msgid "" "computing the natural logarithm of the gamma function:" msgstr "" -#: ../../whatsnew/3.2.rst:1090 +#: ../../whatsnew/3.2.rst:1091 msgid "(Contributed by Mark Dickinson.)" msgstr "" -#: ../../whatsnew/3.2.rst:1093 +#: ../../whatsnew/3.2.rst:1094 msgid "abc" msgstr "abc" -#: ../../whatsnew/3.2.rst:1095 +#: ../../whatsnew/3.2.rst:1096 msgid "" "The :mod:`abc` module now supports :func:`~abc.abstractclassmethod` and :" "func:`~abc.abstractstaticmethod`." msgstr "" -#: ../../whatsnew/3.2.rst:1098 +#: ../../whatsnew/3.2.rst:1099 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:1110 +#: ../../whatsnew/3.2.rst:1111 msgid "(Patch submitted by Daniel Urban; :issue:`5867`.)" msgstr "" -#: ../../whatsnew/3.2.rst:1113 +#: ../../whatsnew/3.2.rst:1114 msgid "io" msgstr "io" -#: ../../whatsnew/3.2.rst:1115 +#: ../../whatsnew/3.2.rst:1116 msgid "" "The :class:`io.BytesIO` has a new method, :meth:`~io.BytesIO.getbuffer`, " "which provides functionality similar to :func:`memoryview`. It creates an " @@ -1211,15 +1207,15 @@ msgid "" "and support for slice notation are well-suited to in-place editing::" msgstr "" -#: ../../whatsnew/3.2.rst:1141 +#: ../../whatsnew/3.2.rst:1142 msgid "(Contributed by Antoine Pitrou in :issue:`5506`.)" msgstr "" -#: ../../whatsnew/3.2.rst:1144 +#: ../../whatsnew/3.2.rst:1145 msgid "reprlib" msgstr "reprlib" -#: ../../whatsnew/3.2.rst:1146 +#: ../../whatsnew/3.2.rst:1147 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 " @@ -1228,28 +1224,28 @@ msgid "" "representation string." msgstr "" -#: ../../whatsnew/3.2.rst:1152 +#: ../../whatsnew/3.2.rst:1153 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::" msgstr "" -#: ../../whatsnew/3.2.rst:1167 +#: ../../whatsnew/3.2.rst:1168 msgid "(Contributed by Raymond Hettinger in :issue:`9826` and :issue:`9840`.)" msgstr "" -#: ../../whatsnew/3.2.rst:1170 +#: ../../whatsnew/3.2.rst:1171 msgid "logging" msgstr "logging" -#: ../../whatsnew/3.2.rst:1172 +#: ../../whatsnew/3.2.rst:1173 msgid "" "In addition to dictionary-based configuration described above, the :mod:" "`logging` package has many other improvements." msgstr "" -#: ../../whatsnew/3.2.rst:1175 +#: ../../whatsnew/3.2.rst:1176 msgid "" "The logging documentation has been augmented by a :ref:`basic tutorial " "`\\, an :ref:`advanced tutorial ` for zipfiles, uncompressed tarfiles, " @@ -1674,7 +1670,7 @@ msgid "" "tarfiles or custom formats)." msgstr "" -#: ../../whatsnew/3.2.rst:1556 +#: ../../whatsnew/3.2.rst:1557 msgid "" "The principal functions are :func:`~shutil.make_archive` and :func:`~shutil." "unpack_archive`. By default, both operate on the current directory (which " @@ -1683,23 +1679,23 @@ msgid "" "non-destructive (the original files are left unchanged)." msgstr "" -#: ../../whatsnew/3.2.rst:1590 +#: ../../whatsnew/3.2.rst:1591 msgid "sqlite3" msgstr "sqlite3" -#: ../../whatsnew/3.2.rst:1592 +#: ../../whatsnew/3.2.rst:1593 msgid "" "The :mod:`sqlite3` module was updated to pysqlite version 2.6.0. It has two " "new capabilities." msgstr "" -#: ../../whatsnew/3.2.rst:1594 +#: ../../whatsnew/3.2.rst:1595 msgid "" "The :attr:`sqlite3.Connection.in_transit` attribute is true if there is an " "active transaction for uncommitted changes." msgstr "" -#: ../../whatsnew/3.2.rst:1597 +#: ../../whatsnew/3.2.rst:1598 msgid "" "The :meth:`sqlite3.Connection.enable_load_extension` and :meth:`sqlite3." "Connection.load_extension` methods allows you to load SQLite extensions from " @@ -1707,30 +1703,30 @@ msgid "" "distributed with SQLite." msgstr "" -#: ../../whatsnew/3.2.rst:1602 +#: ../../whatsnew/3.2.rst:1603 msgid "(Contributed by R. David Murray and Shashwat Anand; :issue:`8845`.)" msgstr "" -#: ../../whatsnew/3.2.rst:1605 +#: ../../whatsnew/3.2.rst:1606 msgid "html" msgstr "html" -#: ../../whatsnew/3.2.rst:1607 +#: ../../whatsnew/3.2.rst:1608 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:" msgstr "" -#: ../../whatsnew/3.2.rst:1616 +#: ../../whatsnew/3.2.rst:1617 msgid "socket" msgstr "socket" -#: ../../whatsnew/3.2.rst:1618 +#: ../../whatsnew/3.2.rst:1619 msgid "The :mod:`socket` module has two new improvements." msgstr "" -#: ../../whatsnew/3.2.rst:1620 +#: ../../whatsnew/3.2.rst:1621 msgid "" "Socket objects now have a :meth:`~socket.socket.detach()` method which puts " "the socket into closed state without actually closing the underlying file " @@ -1738,24 +1734,24 @@ msgid "" "Antoine Pitrou; :issue:`8524`.)" msgstr "" -#: ../../whatsnew/3.2.rst:1625 +#: ../../whatsnew/3.2.rst:1626 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:1631 +#: ../../whatsnew/3.2.rst:1632 msgid "ssl" msgstr "ssl" -#: ../../whatsnew/3.2.rst:1633 +#: ../../whatsnew/3.2.rst:1634 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:1636 +#: ../../whatsnew/3.2.rst:1637 msgid "" "A new class, :class:`~ssl.SSLContext`, serves as a container for persistent " "SSL data, such as protocol settings, certificates, private keys, and various " @@ -1763,22 +1759,22 @@ msgid "" "creating an SSL socket from an SSL context." msgstr "" -#: ../../whatsnew/3.2.rst:1641 +#: ../../whatsnew/3.2.rst:1642 msgid "" "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:1645 +#: ../../whatsnew/3.2.rst:1646 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 `__." +"openssl.org/docs/man1.0.2/man1/ciphers.html#CIPHER-LIST-FORMAT>`__." msgstr "" -#: ../../whatsnew/3.2.rst:1650 +#: ../../whatsnew/3.2.rst:1651 msgid "" "When linked against recent versions of OpenSSL, the :mod:`ssl` module now " "supports the Server Name Indication extension to the TLS protocol, allowing " @@ -1787,20 +1783,20 @@ msgid "" "the *server_hostname* argument to :meth:`ssl.SSLContext.wrap_socket`." msgstr "" -#: ../../whatsnew/3.2.rst:1656 +#: ../../whatsnew/3.2.rst:1657 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." msgstr "" -#: ../../whatsnew/3.2.rst:1660 +#: ../../whatsnew/3.2.rst:1661 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:1664 +#: ../../whatsnew/3.2.rst:1665 msgid "" "The version of OpenSSL being used is now accessible using the module " "attributes :data:`ssl.OPENSSL_VERSION` (a string), :data:`ssl." @@ -1808,17 +1804,17 @@ msgid "" "(an integer)." msgstr "" -#: ../../whatsnew/3.2.rst:1669 +#: ../../whatsnew/3.2.rst:1670 msgid "" "(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:1673 +#: ../../whatsnew/3.2.rst:1674 msgid "nntp" msgstr "" -#: ../../whatsnew/3.2.rst:1675 +#: ../../whatsnew/3.2.rst:1676 msgid "" "The :mod:`nntplib` module has a revamped implementation with better bytes " "and text semantics as well as more practical APIs. These improvements break " @@ -1826,24 +1822,24 @@ msgid "" "dysfunctional in itself." msgstr "" -#: ../../whatsnew/3.2.rst:1680 +#: ../../whatsnew/3.2.rst:1681 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." msgstr "" -#: ../../whatsnew/3.2.rst:1684 +#: ../../whatsnew/3.2.rst:1685 msgid "" "(Contributed by Antoine Pitrou in :issue:`9360` and Andrew Vant in :issue:" "`1926`.)" msgstr "" -#: ../../whatsnew/3.2.rst:1687 +#: ../../whatsnew/3.2.rst:1688 msgid "certificates" -msgstr "" +msgstr "сертифікати" -#: ../../whatsnew/3.2.rst:1689 +#: ../../whatsnew/3.2.rst:1690 msgid "" ":class:`http.client.HTTPSConnection`, :class:`urllib.request.HTTPSHandler` " "and :func:`urllib.request.urlopen` now take optional arguments to allow for " @@ -1851,49 +1847,49 @@ msgid "" "recommended in public uses of HTTPS." msgstr "" -#: ../../whatsnew/3.2.rst:1694 +#: ../../whatsnew/3.2.rst:1695 msgid "(Added by Antoine Pitrou, :issue:`9003`.)" msgstr "" -#: ../../whatsnew/3.2.rst:1697 +#: ../../whatsnew/3.2.rst:1698 msgid "imaplib" msgstr "imaplib" -#: ../../whatsnew/3.2.rst:1699 +#: ../../whatsnew/3.2.rst:1700 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:1702 +#: ../../whatsnew/3.2.rst:1703 msgid "(Contributed by Lorenzo M. Catucci and Antoine Pitrou, :issue:`4471`.)" msgstr "" -#: ../../whatsnew/3.2.rst:1705 +#: ../../whatsnew/3.2.rst:1706 msgid "http.client" -msgstr "" +msgstr "http.client" -#: ../../whatsnew/3.2.rst:1707 +#: ../../whatsnew/3.2.rst:1708 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:1711 +#: ../../whatsnew/3.2.rst:1712 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." msgstr "" -#: ../../whatsnew/3.2.rst:1716 +#: ../../whatsnew/3.2.rst:1717 msgid "" "Support for certificate checking and HTTPS virtual hosts were added to :" "class:`~http.client.HTTPSConnection`." msgstr "" -#: ../../whatsnew/3.2.rst:1719 +#: ../../whatsnew/3.2.rst:1720 msgid "" "The :meth:`~http.client.HTTPConnection.request` method on connection objects " "allowed an optional *body* argument so that a :term:`file object` could be " @@ -1903,14 +1899,14 @@ msgid "" "flexible than before." msgstr "" -#: ../../whatsnew/3.2.rst:1726 +#: ../../whatsnew/3.2.rst:1727 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." msgstr "" -#: ../../whatsnew/3.2.rst:1730 +#: ../../whatsnew/3.2.rst:1731 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 " @@ -1919,11 +1915,11 @@ msgid "" "`10980`.)" msgstr "" -#: ../../whatsnew/3.2.rst:1736 +#: ../../whatsnew/3.2.rst:1737 msgid "unittest" msgstr "unittest" -#: ../../whatsnew/3.2.rst:1738 +#: ../../whatsnew/3.2.rst:1739 msgid "" "The unittest module has a number of improvements supporting test discovery " "for packages, easier experimentation at the interactive prompt, new testcase " @@ -1931,39 +1927,39 @@ msgid "" "names." msgstr "" -#: ../../whatsnew/3.2.rst:1743 +#: ../../whatsnew/3.2.rst:1744 msgid "" "The command-line call ``python -m unittest`` can now accept file paths " "instead of module names for running specific tests (:issue:`10620`). The " "new test discovery can find tests within packages, locating any test " "importable from the top-level directory. The top-level directory can be " -"specified with the `-t` option, a pattern for matching files with ``-p``, " +"specified with the ``-t`` option, a pattern for matching files with ``-p``, " "and a directory to start discovery with ``-s``:" msgstr "" -#: ../../whatsnew/3.2.rst:1754 ../../whatsnew/3.2.rst:1763 -#: ../../whatsnew/3.2.rst:1919 +#: ../../whatsnew/3.2.rst:1755 ../../whatsnew/3.2.rst:1764 +#: ../../whatsnew/3.2.rst:1920 msgid "(Contributed by Michael Foord.)" msgstr "" -#: ../../whatsnew/3.2.rst:1756 +#: ../../whatsnew/3.2.rst:1757 msgid "" "Experimentation at the interactive prompt is now easier because the :class:" "`unittest.case.TestCase` class can now be instantiated without arguments:" msgstr "" -#: ../../whatsnew/3.2.rst:1765 +#: ../../whatsnew/3.2.rst:1766 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::" msgstr "" -#: ../../whatsnew/3.2.rst:1773 +#: ../../whatsnew/3.2.rst:1774 msgid "(Contributed by Antoine Pitrou, :issue:`9754`.)" msgstr "" -#: ../../whatsnew/3.2.rst:1775 +#: ../../whatsnew/3.2.rst:1776 msgid "" "Another new method, :meth:`~unittest.TestCase.assertCountEqual` is used to " "compare two iterables to determine if their element counts are equal " @@ -1971,7 +1967,7 @@ msgid "" "regardless of order)::" msgstr "" -#: ../../whatsnew/3.2.rst:1785 +#: ../../whatsnew/3.2.rst:1786 msgid "" "A principal feature of the unittest module is an effort to produce " "meaningful diagnostics when a test fails. When possible, the failure is " @@ -1981,13 +1977,13 @@ msgid "" "that sets maximum length of diffs displayed." msgstr "" -#: ../../whatsnew/3.2.rst:1792 +#: ../../whatsnew/3.2.rst:1793 msgid "" "In addition, the method names in the module have undergone a number of clean-" "ups." msgstr "" -#: ../../whatsnew/3.2.rst:1794 +#: ../../whatsnew/3.2.rst:1795 msgid "" "For example, :meth:`~unittest.TestCase.assertRegex` is the new name for :" "meth:`~unittest.TestCase.assertRegexpMatches` which was misnamed because the " @@ -1998,76 +1994,76 @@ msgid "" "has unambiguous camel-casing." msgstr "" -#: ../../whatsnew/3.2.rst:1802 +#: ../../whatsnew/3.2.rst:1803 msgid "(Contributed by Raymond Hettinger and implemented by Ezio Melotti.)" msgstr "" -#: ../../whatsnew/3.2.rst:1804 +#: ../../whatsnew/3.2.rst:1805 msgid "" "To improve consistency, some long-standing method aliases are being " "deprecated in favor of the preferred names:" msgstr "" -#: ../../whatsnew/3.2.rst:1808 +#: ../../whatsnew/3.2.rst:1809 msgid "Old Name" msgstr "Old Name" -#: ../../whatsnew/3.2.rst:1808 +#: ../../whatsnew/3.2.rst:1809 msgid "Preferred Name" msgstr "" -#: ../../whatsnew/3.2.rst:1810 +#: ../../whatsnew/3.2.rst:1811 msgid ":meth:`assert_`" msgstr ":meth:`assert_`" -#: ../../whatsnew/3.2.rst:1810 +#: ../../whatsnew/3.2.rst:1811 msgid ":meth:`.assertTrue`" msgstr ":meth:`.assertTrue`" -#: ../../whatsnew/3.2.rst:1811 +#: ../../whatsnew/3.2.rst:1812 msgid ":meth:`assertEquals`" msgstr ":meth:`assertEquals`" -#: ../../whatsnew/3.2.rst:1811 +#: ../../whatsnew/3.2.rst:1812 msgid ":meth:`.assertEqual`" msgstr ":meth:`.assertEqual`" -#: ../../whatsnew/3.2.rst:1812 +#: ../../whatsnew/3.2.rst:1813 msgid ":meth:`assertNotEquals`" msgstr ":meth:`assertNotEquals`" -#: ../../whatsnew/3.2.rst:1812 +#: ../../whatsnew/3.2.rst:1813 msgid ":meth:`.assertNotEqual`" msgstr ":meth:`.assertNotEqual`" -#: ../../whatsnew/3.2.rst:1813 +#: ../../whatsnew/3.2.rst:1814 msgid ":meth:`assertAlmostEquals`" msgstr ":meth:`assertAlmostEquals`" -#: ../../whatsnew/3.2.rst:1813 +#: ../../whatsnew/3.2.rst:1814 msgid ":meth:`.assertAlmostEqual`" msgstr ":meth:`.assertAlmostEqual`" -#: ../../whatsnew/3.2.rst:1814 +#: ../../whatsnew/3.2.rst:1815 msgid ":meth:`assertNotAlmostEquals`" msgstr ":meth:`assertNotAlmostEquals`" -#: ../../whatsnew/3.2.rst:1814 +#: ../../whatsnew/3.2.rst:1815 msgid ":meth:`.assertNotAlmostEqual`" msgstr ":meth:`.assertNotAlmostEqual`" -#: ../../whatsnew/3.2.rst:1817 +#: ../../whatsnew/3.2.rst:1818 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:1821 +#: ../../whatsnew/3.2.rst:1822 msgid "(Contributed by Ezio Melotti; :issue:`9424`.)" msgstr "" -#: ../../whatsnew/3.2.rst:1823 +#: ../../whatsnew/3.2.rst:1824 msgid "" "The :meth:`~unittest.TestCase.assertDictContainsSubset` method was " "deprecated because it was misimplemented with the arguments in the wrong " @@ -2075,11 +2071,11 @@ msgid "" "``TestCase().assertDictContainsSubset({'a':1, 'b':2}, {'a':1})`` would fail." msgstr "" -#: ../../whatsnew/3.2.rst:1831 +#: ../../whatsnew/3.2.rst:1832 msgid "random" msgstr "random" -#: ../../whatsnew/3.2.rst:1833 +#: ../../whatsnew/3.2.rst:1834 msgid "" "The integer methods in the :mod:`random` module now do a better job of " "producing uniform distributions. Previously, they computed selections with " @@ -2091,15 +2087,15 @@ msgid "" "func:`~random.sample`." msgstr "" -#: ../../whatsnew/3.2.rst:1842 +#: ../../whatsnew/3.2.rst:1843 msgid "(Contributed by Raymond Hettinger; :issue:`9025`.)" msgstr "" -#: ../../whatsnew/3.2.rst:1845 +#: ../../whatsnew/3.2.rst:1846 msgid "poplib" msgstr "poplib" -#: ../../whatsnew/3.2.rst:1847 +#: ../../whatsnew/3.2.rst:1848 msgid "" ":class:`~poplib.POP3_SSL` class now accepts a *context* parameter, which is " "a :class:`ssl.SSLContext` object allowing bundling SSL configuration " @@ -2107,59 +2103,59 @@ msgid "" "lived) structure." msgstr "" -#: ../../whatsnew/3.2.rst:1852 +#: ../../whatsnew/3.2.rst:1853 msgid "(Contributed by Giampaolo Rodolà; :issue:`8807`.)" msgstr "" -#: ../../whatsnew/3.2.rst:1855 +#: ../../whatsnew/3.2.rst:1856 msgid "asyncore" msgstr "asyncore" -#: ../../whatsnew/3.2.rst:1857 +#: ../../whatsnew/3.2.rst:1858 msgid "" ":class:`asyncore.dispatcher` now provides a :meth:`~asyncore.dispatcher." -"handle_accepted()` method returning a `(sock, addr)` pair which is called " +"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:1864 +#: ../../whatsnew/3.2.rst:1865 msgid "(Contributed by Giampaolo Rodolà; :issue:`6706`.)" msgstr "" -#: ../../whatsnew/3.2.rst:1867 +#: ../../whatsnew/3.2.rst:1868 msgid "tempfile" -msgstr "" +msgstr "tempfile" -#: ../../whatsnew/3.2.rst:1869 +#: ../../whatsnew/3.2.rst:1870 msgid "" "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:1876 +#: ../../whatsnew/3.2.rst:1877 msgid "(Contributed by Neil Schemenauer and Nick Coghlan; :issue:`5178`.)" msgstr "" -#: ../../whatsnew/3.2.rst:1879 +#: ../../whatsnew/3.2.rst:1880 msgid "inspect" msgstr "inspect" -#: ../../whatsnew/3.2.rst:1881 +#: ../../whatsnew/3.2.rst:1882 msgid "" "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:1899 +#: ../../whatsnew/3.2.rst:1900 msgid "(Contributed by Rodolpho Eckhardt and Nick Coghlan, :issue:`10220`.)" msgstr "" -#: ../../whatsnew/3.2.rst:1901 +#: ../../whatsnew/3.2.rst:1902 msgid "" "To support lookups without the possibility of activating a dynamic " "attribute, the :mod:`inspect` module has a new function, :func:`~inspect." @@ -2167,26 +2163,26 @@ msgid "" "guaranteed not to change state while it is searching::" msgstr "" -#: ../../whatsnew/3.2.rst:1922 +#: ../../whatsnew/3.2.rst:1923 msgid "pydoc" msgstr "pydoc" -#: ../../whatsnew/3.2.rst:1924 +#: ../../whatsnew/3.2.rst:1925 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:1932 +#: ../../whatsnew/3.2.rst:1933 msgid "(Contributed by Ron Adam; :issue:`2001`.)" msgstr "" -#: ../../whatsnew/3.2.rst:1935 +#: ../../whatsnew/3.2.rst:1936 msgid "dis" msgstr "dis" -#: ../../whatsnew/3.2.rst:1937 +#: ../../whatsnew/3.2.rst:1938 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 " @@ -2194,197 +2190,197 @@ msgid "" "code object. The former returns a string and the latter prints it::" msgstr "" -#: ../../whatsnew/3.2.rst:1964 +#: ../../whatsnew/3.2.rst:1965 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:1986 +#: ../../whatsnew/3.2.rst:1987 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:1990 +#: ../../whatsnew/3.2.rst:1991 msgid "(Contributed by Nick Coghlan in :issue:`9147`.)" msgstr "" -#: ../../whatsnew/3.2.rst:1993 +#: ../../whatsnew/3.2.rst:1994 msgid "dbm" msgstr "dbm" -#: ../../whatsnew/3.2.rst:1995 +#: ../../whatsnew/3.2.rst:1996 msgid "" "All database modules now support the :meth:`get` and :meth:`setdefault` " "methods." msgstr "" -#: ../../whatsnew/3.2.rst:1997 +#: ../../whatsnew/3.2.rst:1998 msgid "(Suggested by Ray Allen in :issue:`9523`.)" msgstr "" -#: ../../whatsnew/3.2.rst:2000 +#: ../../whatsnew/3.2.rst:2001 msgid "ctypes" msgstr "ctypes" -#: ../../whatsnew/3.2.rst:2002 +#: ../../whatsnew/3.2.rst:2003 msgid "" "A new type, :class:`ctypes.c_ssize_t` represents the C :c:type:`ssize_t` " "datatype." msgstr "" -#: ../../whatsnew/3.2.rst:2005 +#: ../../whatsnew/3.2.rst:2006 msgid "site" msgstr "site" -#: ../../whatsnew/3.2.rst:2007 +#: ../../whatsnew/3.2.rst:2008 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:2010 +#: ../../whatsnew/3.2.rst:2011 msgid "" ":func:`~site.getsitepackages` lists all global site-packages directories." msgstr "" -#: ../../whatsnew/3.2.rst:2012 +#: ../../whatsnew/3.2.rst:2013 msgid "" ":func:`~site.getuserbase` reports on the user's base directory where data " "can be stored." msgstr "" -#: ../../whatsnew/3.2.rst:2015 +#: ../../whatsnew/3.2.rst:2016 msgid "" ":func:`~site.getusersitepackages` reveals the user-specific site-packages " "directory path." msgstr "" -#: ../../whatsnew/3.2.rst:2030 +#: ../../whatsnew/3.2.rst:2031 msgid "" "Conveniently, some of site's functionality is accessible directly from the " "command-line:" msgstr "" -#: ../../whatsnew/3.2.rst:2040 +#: ../../whatsnew/3.2.rst:2041 msgid "(Contributed by Tarek Ziadé in :issue:`6693`.)" msgstr "" -#: ../../whatsnew/3.2.rst:2043 +#: ../../whatsnew/3.2.rst:2044 msgid "sysconfig" -msgstr "" +msgstr "sysconfig" -#: ../../whatsnew/3.2.rst:2045 +#: ../../whatsnew/3.2.rst:2046 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:2049 +#: ../../whatsnew/3.2.rst:2050 msgid "" "The module offers access simple access functions for platform and version " "information:" msgstr "" -#: ../../whatsnew/3.2.rst:2052 +#: ../../whatsnew/3.2.rst:2053 msgid "" ":func:`~sysconfig.get_platform` returning values like *linux-i586* or " "*macosx-10.6-ppc*." msgstr "" -#: ../../whatsnew/3.2.rst:2054 +#: ../../whatsnew/3.2.rst:2055 msgid "" ":func:`~sysconfig.get_python_version` returns a Python version string such " "as \"3.2\"." msgstr "" -#: ../../whatsnew/3.2.rst:2057 +#: ../../whatsnew/3.2.rst:2058 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:2061 +#: ../../whatsnew/3.2.rst:2062 msgid "" ":func:`~sysconfig.get_paths` makes a dictionary containing installation " "paths for the current installation scheme." msgstr "" -#: ../../whatsnew/3.2.rst:2063 +#: ../../whatsnew/3.2.rst:2064 msgid "" ":func:`~sysconfig.get_config_vars` returns a dictionary of platform specific " "variables." msgstr "" -#: ../../whatsnew/3.2.rst:2066 +#: ../../whatsnew/3.2.rst:2067 msgid "There is also a convenient command-line interface:" msgstr "" -#: ../../whatsnew/3.2.rst:2105 +#: ../../whatsnew/3.2.rst:2106 msgid "(Moved out of Distutils by Tarek Ziadé.)" msgstr "" -#: ../../whatsnew/3.2.rst:2108 +#: ../../whatsnew/3.2.rst:2109 msgid "pdb" msgstr "pdb" -#: ../../whatsnew/3.2.rst:2110 +#: ../../whatsnew/3.2.rst:2111 msgid "" "The :mod:`pdb` debugger module gained a number of usability improvements:" msgstr "" -#: ../../whatsnew/3.2.rst:2112 +#: ../../whatsnew/3.2.rst:2113 msgid "" ":file:`pdb.py` now has a ``-c`` option that executes commands as given in a :" "file:`.pdbrc` script file." msgstr "" -#: ../../whatsnew/3.2.rst:2114 +#: ../../whatsnew/3.2.rst:2115 msgid "" "A :file:`.pdbrc` script file can contain ``continue`` and ``next`` commands " "that continue debugging." msgstr "" -#: ../../whatsnew/3.2.rst:2116 +#: ../../whatsnew/3.2.rst:2117 msgid "The :class:`Pdb` class constructor now accepts a *nosigint* argument." msgstr "" -#: ../../whatsnew/3.2.rst:2117 +#: ../../whatsnew/3.2.rst:2118 msgid "" "New commands: ``l(list)``, ``ll(long list)`` and ``source`` for listing " "source code." msgstr "" -#: ../../whatsnew/3.2.rst:2119 +#: ../../whatsnew/3.2.rst:2120 msgid "" "New commands: ``display`` and ``undisplay`` for showing or hiding the value " "of an expression if it has changed." msgstr "" -#: ../../whatsnew/3.2.rst:2121 +#: ../../whatsnew/3.2.rst:2122 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:2123 +#: ../../whatsnew/3.2.rst:2124 msgid "Breakpoints can be cleared by breakpoint number." msgstr "" -#: ../../whatsnew/3.2.rst:2125 +#: ../../whatsnew/3.2.rst:2126 msgid "(Contributed by Georg Brandl, Antonio Cuni and Ilya Sandler.)" msgstr "" -#: ../../whatsnew/3.2.rst:2128 +#: ../../whatsnew/3.2.rst:2129 msgid "configparser" msgstr "configparser" -#: ../../whatsnew/3.2.rst:2130 +#: ../../whatsnew/3.2.rst:2131 msgid "" "The :mod:`configparser` module was modified to improve usability and " "predictability of the default parser and its supported INI syntax. The old :" @@ -2394,63 +2390,63 @@ msgid "" "option duplicates are not allowed in a single configuration source." msgstr "" -#: ../../whatsnew/3.2.rst:2137 +#: ../../whatsnew/3.2.rst:2138 msgid "Config parsers gained a new API based on the mapping protocol::" msgstr "" -#: ../../whatsnew/3.2.rst:2165 +#: ../../whatsnew/3.2.rst:2166 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:2168 +#: ../../whatsnew/3.2.rst:2169 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:2172 +#: ../../whatsnew/3.2.rst:2173 msgid "" "There is support for pluggable interpolation including an additional " "interpolation handler :class:`~configparser.ExtendedInterpolation`::" msgstr "" -#: ../../whatsnew/3.2.rst:2205 +#: ../../whatsnew/3.2.rst:2206 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:2209 +#: ../../whatsnew/3.2.rst:2210 msgid "(All changes contributed by Łukasz Langa.)" msgstr "" -#: ../../whatsnew/3.2.rst:2214 +#: ../../whatsnew/3.2.rst:2215 msgid "urllib.parse" msgstr "urllib.parse" -#: ../../whatsnew/3.2.rst:2216 +#: ../../whatsnew/3.2.rst:2217 msgid "" "A number of usability improvements were made for the :mod:`urllib.parse` " "module." msgstr "" -#: ../../whatsnew/3.2.rst:2218 +#: ../../whatsnew/3.2.rst:2219 msgid "" "The :func:`~urllib.parse.urlparse` function now supports `IPv6 `_ addresses as described in :rfc:`2732`:" msgstr "" -#: ../../whatsnew/3.2.rst:2230 +#: ../../whatsnew/3.2.rst:2231 msgid "" "The :func:`~urllib.parse.urldefrag` function now returns a :term:`named " "tuple`::" msgstr "" -#: ../../whatsnew/3.2.rst:2240 +#: ../../whatsnew/3.2.rst:2241 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 " @@ -2458,7 +2454,7 @@ msgid "" "func:`~urllib.parse.quote_plus` for encoding::" msgstr "" -#: ../../whatsnew/3.2.rst:2251 +#: ../../whatsnew/3.2.rst:2252 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 " @@ -2467,17 +2463,17 @@ msgid "" "strings:" msgstr "" -#: ../../whatsnew/3.2.rst:2260 +#: ../../whatsnew/3.2.rst:2261 msgid "" "(Work by Nick Coghlan, Dan Mahn, and Senthil Kumaran in :issue:`2987`, :" "issue:`5468`, and :issue:`9873`.)" msgstr "" -#: ../../whatsnew/3.2.rst:2264 +#: ../../whatsnew/3.2.rst:2265 msgid "mailbox" msgstr "" -#: ../../whatsnew/3.2.rst:2266 +#: ../../whatsnew/3.2.rst:2267 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 " @@ -2486,27 +2482,27 @@ msgid "" "different encodings." msgstr "" -#: ../../whatsnew/3.2.rst:2271 +#: ../../whatsnew/3.2.rst:2272 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:2275 +#: ../../whatsnew/3.2.rst:2276 msgid "" "As expected, the :meth:`~mailbox.Mailbox.add` method for :class:`mailbox." "Mailbox` objects now accepts binary input." msgstr "" -#: ../../whatsnew/3.2.rst:2278 +#: ../../whatsnew/3.2.rst:2279 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:2282 +#: ../../whatsnew/3.2.rst:2283 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 " @@ -2515,7 +2511,7 @@ msgid "" "message corresponding to a given *key*." msgstr "" -#: ../../whatsnew/3.2.rst:2288 +#: ../../whatsnew/3.2.rst:2289 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. " @@ -2523,17 +2519,17 @@ msgid "" "object or to load them from binary input." msgstr "" -#: ../../whatsnew/3.2.rst:2293 +#: ../../whatsnew/3.2.rst:2294 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:2297 +#: ../../whatsnew/3.2.rst:2298 msgid "turtledemo" msgstr "" -#: ../../whatsnew/3.2.rst:2299 +#: ../../whatsnew/3.2.rst:2300 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 " @@ -2541,16 +2537,16 @@ msgid "" "from the command-line:" msgstr "" -#: ../../whatsnew/3.2.rst:2308 +#: ../../whatsnew/3.2.rst:2309 msgid "" "(Moved from the Demo directory by Alexander Belopolsky in :issue:`10199`.)" msgstr "" -#: ../../whatsnew/3.2.rst:2311 +#: ../../whatsnew/3.2.rst:2312 msgid "Multi-threading" msgstr "Multi-threading" -#: ../../whatsnew/3.2.rst:2313 +#: ../../whatsnew/3.2.rst:2314 msgid "" "The mechanism for serializing execution of concurrently running Python " "threads (generally known as the :term:`GIL` or Global Interpreter Lock) has " @@ -2562,7 +2558,7 @@ msgid "" "setswitchinterval()`. It currently defaults to 5 milliseconds." msgstr "" -#: ../../whatsnew/3.2.rst:2322 +#: ../../whatsnew/3.2.rst:2323 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 " @@ -2646,35 +2642,35 @@ msgid "" "saves time lost to delegating comparisons." msgstr "" -#: ../../whatsnew/3.2.rst:2377 +#: ../../whatsnew/3.2.rst:2378 msgid "(Patch by Daniel Stutzbach in :issue:`9915`.)" msgstr "" -#: ../../whatsnew/3.2.rst:2379 +#: ../../whatsnew/3.2.rst:2380 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:2383 +#: ../../whatsnew/3.2.rst:2384 msgid "" "(Contributed by Antoine Pitrou in :issue:`7451` and by Raymond Hettinger and " "Antoine Pitrou in :issue:`10314`.)" msgstr "" -#: ../../whatsnew/3.2.rst:2386 +#: ../../whatsnew/3.2.rst:2387 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:2390 +#: ../../whatsnew/3.2.rst:2391 msgid "(Contributed by Antoine Pitrou; :issue:`3001`.)" msgstr "" -#: ../../whatsnew/3.2.rst:2392 +#: ../../whatsnew/3.2.rst:2393 msgid "" "The fast-search algorithm in stringlib is now used by the :meth:`split`, :" "meth:`rsplit`, :meth:`splitlines` and :meth:`replace` methods on :class:" @@ -2683,21 +2679,21 @@ msgid "" "meth:`rpartition`." msgstr "" -#: ../../whatsnew/3.2.rst:2398 +#: ../../whatsnew/3.2.rst:2399 msgid "(Patch by Florent Xicluna in :issue:`7622` and :issue:`7462`.)" msgstr "" -#: ../../whatsnew/3.2.rst:2401 +#: ../../whatsnew/3.2.rst:2402 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:2404 +#: ../../whatsnew/3.2.rst:2405 msgid "(:issue:`6713` by Gawain Bolton, Mark Dickinson, and Victor Stinner.)" msgstr "" -#: ../../whatsnew/3.2.rst:2406 +#: ../../whatsnew/3.2.rst:2407 msgid "" "There were several other minor optimizations. Set differencing now runs " "faster when one operand is much larger than the other (patch by Andress " @@ -2709,37 +2705,37 @@ msgid "" "line arguments a bit faster (:issue:`7113` by Łukasz Langa)." msgstr "" -#: ../../whatsnew/3.2.rst:2417 +#: ../../whatsnew/3.2.rst:2418 msgid "Unicode" msgstr "Unicode" -#: ../../whatsnew/3.2.rst:2419 +#: ../../whatsnew/3.2.rst:2420 msgid "" -"Python has been updated to `Unicode 6.0.0 `_. The update to the standard adds over 2,000 new characters " "including `emoji `_ symbols which are " "important for mobile phones." msgstr "" -#: ../../whatsnew/3.2.rst:2424 +#: ../../whatsnew/3.2.rst:2425 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 " "character (U+19DA), making the former eligible for use in identifiers while " "disqualifying the latter. For more information, see `Unicode Character " -"Database Changes `_." msgstr "" -#: ../../whatsnew/3.2.rst:2432 +#: ../../whatsnew/3.2.rst:2433 msgid "Codecs" -msgstr "" +msgstr "Codecs" -#: ../../whatsnew/3.2.rst:2434 +#: ../../whatsnew/3.2.rst:2435 msgid "Support was added for *cp720* Arabic DOS encoding (:issue:`1616979`)." msgstr "" -#: ../../whatsnew/3.2.rst:2436 +#: ../../whatsnew/3.2.rst:2437 msgid "" "MBCS encoding no longer ignores the error handler argument. In the default " "strict mode, it raises an :exc:`UnicodeDecodeError` when it encounters an " @@ -2747,40 +2743,40 @@ msgid "" "unencodable character." msgstr "" -#: ../../whatsnew/3.2.rst:2441 +#: ../../whatsnew/3.2.rst:2442 msgid "" "The MBCS codec supports ``'strict'`` and ``'ignore'`` error handlers for " "decoding, and ``'strict'`` and ``'replace'`` for encoding." msgstr "" -#: ../../whatsnew/3.2.rst:2444 +#: ../../whatsnew/3.2.rst:2445 msgid "" "To emulate Python3.1 MBCS encoding, select the ``'ignore'`` handler for " "decoding and the ``'replace'`` handler for encoding." msgstr "" -#: ../../whatsnew/3.2.rst:2447 +#: ../../whatsnew/3.2.rst:2448 msgid "" "On Mac OS X, Python decodes command line arguments with ``'utf-8'`` rather " "than the locale encoding." msgstr "" -#: ../../whatsnew/3.2.rst:2450 +#: ../../whatsnew/3.2.rst:2451 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:2456 +#: ../../whatsnew/3.2.rst:2457 msgid "Documentation" msgstr "Documentação" -#: ../../whatsnew/3.2.rst:2458 +#: ../../whatsnew/3.2.rst:2459 msgid "The documentation continues to be improved." msgstr "" -#: ../../whatsnew/3.2.rst:2460 +#: ../../whatsnew/3.2.rst:2461 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 " @@ -2788,7 +2784,7 @@ msgid "" "and memory jog without having to read all of the docs." msgstr "" -#: ../../whatsnew/3.2.rst:2465 +#: ../../whatsnew/3.2.rst:2466 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 " @@ -2796,80 +2792,80 @@ msgid "" "documentation has a quick link at the top labeled:" msgstr "" -#: ../../whatsnew/3.2.rst:2470 +#: ../../whatsnew/3.2.rst:2471 msgid "**Source code** :source:`Lib/functools.py`." msgstr "" -#: ../../whatsnew/3.2.rst:2472 +#: ../../whatsnew/3.2.rst:2473 msgid "" "(Contributed by Raymond Hettinger; see `rationale `_.)" msgstr "" -#: ../../whatsnew/3.2.rst:2475 +#: ../../whatsnew/3.2.rst:2476 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`." msgstr "" -#: ../../whatsnew/3.2.rst:2480 +#: ../../whatsnew/3.2.rst:2481 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:2484 +#: ../../whatsnew/3.2.rst:2485 msgid "(Contributed by Alexander Belopolsky in :issue:`9528`.)" msgstr "" -#: ../../whatsnew/3.2.rst:2486 +#: ../../whatsnew/3.2.rst:2487 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:2490 +#: ../../whatsnew/3.2.rst:2491 msgid "(Contributed by Georg Brandl in :issue:`7962`.)" msgstr "" -#: ../../whatsnew/3.2.rst:2494 +#: ../../whatsnew/3.2.rst:2495 msgid "IDLE" msgstr "IDLE" -#: ../../whatsnew/3.2.rst:2496 +#: ../../whatsnew/3.2.rst:2497 msgid "" "The format menu now has an option to clean source files by stripping " "trailing whitespace." msgstr "" -#: ../../whatsnew/3.2.rst:2499 +#: ../../whatsnew/3.2.rst:2500 msgid "(Contributed by Raymond Hettinger; :issue:`5150`.)" msgstr "" -#: ../../whatsnew/3.2.rst:2501 +#: ../../whatsnew/3.2.rst:2502 msgid "IDLE on Mac OS X now works with both Carbon AquaTk and Cocoa AquaTk." msgstr "" -#: ../../whatsnew/3.2.rst:2503 +#: ../../whatsnew/3.2.rst:2504 msgid "" "(Contributed by Kevin Walzer, Ned Deily, and Ronald Oussoren; :issue:`6075`.)" msgstr "" -#: ../../whatsnew/3.2.rst:2506 +#: ../../whatsnew/3.2.rst:2507 msgid "Code Repository" msgstr "" -#: ../../whatsnew/3.2.rst:2508 +#: ../../whatsnew/3.2.rst:2509 msgid "" -"In addition to the existing Subversion code repository at http://svn.python." +"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:2512 +#: ../../whatsnew/3.2.rst:2513 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 " @@ -2877,28 +2873,28 @@ msgid "" "pep:`385` for details." msgstr "" -#: ../../whatsnew/3.2.rst:2517 +#: ../../whatsnew/3.2.rst:2518 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:2523 +#: ../../whatsnew/3.2.rst:2524 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:2525 +#: ../../whatsnew/3.2.rst:2526 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:2527 +#: ../../whatsnew/3.2.rst:2528 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:2530 +#: ../../whatsnew/3.2.rst:2531 msgid "" "The C functions that access the Unicode Database now accept and return " "characters from the full Unicode range, even on narrow unicode builds " @@ -2908,33 +2904,33 @@ msgid "" "characters as printable." msgstr "" -#: ../../whatsnew/3.2.rst:2537 +#: ../../whatsnew/3.2.rst:2538 msgid "" "(Reported by Bupjoe Lee and fixed by Amaury Forgeot D'Arc; :issue:`5127`.)" msgstr "" -#: ../../whatsnew/3.2.rst:2539 +#: ../../whatsnew/3.2.rst:2540 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:2543 +#: ../../whatsnew/3.2.rst:2544 msgid "(Contributed by Antoine Pitrou; :issue:`9203`.)" msgstr "" -#: ../../whatsnew/3.2.rst:2545 +#: ../../whatsnew/3.2.rst:2546 msgid "" "The option ``--with-wctype-functions`` was removed. The built-in unicode " "database is now used for all functions." msgstr "" -#: ../../whatsnew/3.2.rst:2548 +#: ../../whatsnew/3.2.rst:2549 msgid "(Contributed by Amaury Forgeot D'Arc; :issue:`9210`.)" msgstr "" -#: ../../whatsnew/3.2.rst:2550 +#: ../../whatsnew/3.2.rst:2551 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 " @@ -2944,34 +2940,34 @@ msgid "" "grow to that size but their performance degraded catastrophically)." msgstr "" -#: ../../whatsnew/3.2.rst:2557 +#: ../../whatsnew/3.2.rst:2558 msgid "" "(Suggested by Raymond Hettinger and implemented by Benjamin Peterson; :issue:" "`9778`.)" msgstr "" -#: ../../whatsnew/3.2.rst:2560 +#: ../../whatsnew/3.2.rst:2561 msgid "" "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:2564 +#: ../../whatsnew/3.2.rst:2565 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` " "(:issue:`5753`)." msgstr "" -#: ../../whatsnew/3.2.rst:2568 +#: ../../whatsnew/3.2.rst:2569 msgid "" ":c:macro:`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:2572 +#: ../../whatsnew/3.2.rst:2573 msgid "" "There is a new function :c:func:`PyLong_AsLongLongAndOverflow` which is " "analogous to :c:func:`PyLong_AsLongAndOverflow`. They both serve to convert " @@ -2979,13 +2975,13 @@ msgid "" "of cases where the conversion won't fit (:issue:`7767`)." msgstr "" -#: ../../whatsnew/3.2.rst:2577 +#: ../../whatsnew/3.2.rst:2578 msgid "" "The :c:func:`PyUnicode_CompareWithASCIIString` function now returns *not " "equal* if the Python string is *NUL* terminated." msgstr "" -#: ../../whatsnew/3.2.rst:2580 +#: ../../whatsnew/3.2.rst:2581 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 " @@ -2993,7 +2989,7 @@ msgid "" "Python counterparts (:issue:`7033`)." msgstr "" -#: ../../whatsnew/3.2.rst:2585 +#: ../../whatsnew/3.2.rst:2586 msgid "" "When compiled with the ``--with-valgrind`` option, the pymalloc allocator " "will be automatically disabled when running under Valgrind. This gives " @@ -3001,33 +2997,36 @@ msgid "" "advantage of pymalloc at other times (:issue:`2422`)." msgstr "" -#: ../../whatsnew/3.2.rst:2590 +#: ../../whatsnew/3.2.rst:2591 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:2593 +#: ../../whatsnew/3.2.rst:2594 msgid "" -"There were a number of other small changes to the C-API. See the :source:" -"`Misc/NEWS` file for a complete list." +"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:2596 +#: ../../whatsnew/3.2.rst:2598 msgid "" -"Also, there were a number of updates to the Mac OS X build, see :source:`Mac/" -"BuildScript/README.txt` for details. For users running a 32/64-bit build, " +"Also, there were a number of updates to the Mac OS X build, see `Mac/" +"BuildScript/README.txt `_ for details. For users running a 32/64-bit build, " "there is a known problem with the default Tcl/Tk on Mac OS X 10.6. " "Accordingly, we recommend installing an updated alternative such as " -"`ActiveState Tcl/Tk 8.5.9 `_" -"\\. See https://www.python.org/download/mac/tcltk/ for additional details." +"`ActiveState Tcl/Tk 8.5.9 `_\\. See https://www.python.org/download/mac/tcltk/ for " +"additional details." msgstr "" -#: ../../whatsnew/3.2.rst:2604 +#: ../../whatsnew/3.2.rst:2607 msgid "Porting to Python 3.2" msgstr "" -#: ../../whatsnew/3.2.rst:2606 +#: ../../whatsnew/3.2.rst:2609 msgid "" "This section lists previously described changes and other bugfixes that may " "require changes to your code:" @@ -3035,7 +3034,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.2.rst:2609 +#: ../../whatsnew/3.2.rst:2612 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 " @@ -3043,7 +3042,7 @@ msgid "" "number of smaller incompatibilities:" msgstr "" -#: ../../whatsnew/3.2.rst:2614 +#: ../../whatsnew/3.2.rst:2617 msgid "" "The interpolation syntax is now validated on :meth:`~configparser." "ConfigParser.get` and :meth:`~configparser.ConfigParser.set` operations. In " @@ -3051,14 +3050,14 @@ msgid "" "valid: ``%(name)s`` and ``%%``, the latter being an escaped percent sign." msgstr "" -#: ../../whatsnew/3.2.rst:2620 +#: ../../whatsnew/3.2.rst:2623 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." msgstr "" -#: ../../whatsnew/3.2.rst:2625 +#: ../../whatsnew/3.2.rst:2628 msgid "" "Duplicate sections or options from a single source now raise either :exc:" "`~configparser.DuplicateSectionError` or :exc:`~configparser." @@ -3066,57 +3065,57 @@ msgid "" "previous entry." msgstr "" -#: ../../whatsnew/3.2.rst:2630 +#: ../../whatsnew/3.2.rst:2633 msgid "" "Inline comments are now disabled by default so now the **;** character can " "be safely used in values." msgstr "" -#: ../../whatsnew/3.2.rst:2633 +#: ../../whatsnew/3.2.rst:2636 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:2637 +#: ../../whatsnew/3.2.rst:2640 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:2640 +#: ../../whatsnew/3.2.rst:2643 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:2643 +#: ../../whatsnew/3.2.rst:2646 msgid "" ":class:`bytearray` objects can no longer be used as filenames; instead, they " "should be converted to :class:`bytes`." msgstr "" -#: ../../whatsnew/3.2.rst:2646 +#: ../../whatsnew/3.2.rst:2649 msgid "" "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:2650 +#: ../../whatsnew/3.2.rst:2653 msgid "``PyArg_Parse*()`` functions:" msgstr "" -#: ../../whatsnew/3.2.rst:2652 +#: ../../whatsnew/3.2.rst:2655 msgid "\"t#\" format has been removed: use \"s#\" or \"s*\" instead" msgstr "" -#: ../../whatsnew/3.2.rst:2653 +#: ../../whatsnew/3.2.rst:2656 msgid "\"w\" and \"w#\" formats has been removed: use \"w*\" instead" msgstr "" -#: ../../whatsnew/3.2.rst:2655 +#: ../../whatsnew/3.2.rst:2658 msgid "" "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 " @@ -3124,13 +3123,13 @@ msgid "" "safety information and a less complicated signature for calling a destructor." msgstr "" -#: ../../whatsnew/3.2.rst:2660 +#: ../../whatsnew/3.2.rst:2663 msgid "" "The :func:`sys.setfilesystemencoding` function was removed because it had a " "flawed design." msgstr "" -#: ../../whatsnew/3.2.rst:2663 +#: ../../whatsnew/3.2.rst:2666 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 " @@ -3138,7 +3137,7 @@ msgid "" "seed(s, version=1)``." msgstr "" -#: ../../whatsnew/3.2.rst:2668 +#: ../../whatsnew/3.2.rst:2671 msgid "" "The previously deprecated :func:`string.maketrans` function has been removed " "in favor of the static methods :meth:`bytes.maketrans` and :meth:`bytearray." @@ -3148,11 +3147,11 @@ msgid "" "methods with intermediate translation tables of the appropriate type." msgstr "" -#: ../../whatsnew/3.2.rst:2676 +#: ../../whatsnew/3.2.rst:2679 msgid "(Contributed by Georg Brandl; :issue:`5675`.)" msgstr "(Contributed by Georg Brandl; :issue:`5675`.)" -#: ../../whatsnew/3.2.rst:2678 +#: ../../whatsnew/3.2.rst:2681 msgid "" "The previously deprecated :func:`contextlib.nested` function has been " "removed in favor of a plain :keyword:`with` statement which can accept " @@ -3161,7 +3160,7 @@ msgid "" "when one of them raises an exception::" msgstr "" -#: ../../whatsnew/3.2.rst:2689 +#: ../../whatsnew/3.2.rst:2692 msgid "" "(Contributed by Georg Brandl and Mattias Brändström; `appspot issue 53094 " "`_.)" @@ -3169,7 +3168,7 @@ msgstr "" "(Contributed by Georg Brandl and Mattias Brändström; `appspot issue 53094 " "`_.)" -#: ../../whatsnew/3.2.rst:2692 +#: ../../whatsnew/3.2.rst:2695 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 " @@ -3178,32 +3177,32 @@ msgid "" "writing to fixed length segment of a structure." msgstr "" -#: ../../whatsnew/3.2.rst:2698 +#: ../../whatsnew/3.2.rst:2701 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:2701 +#: ../../whatsnew/3.2.rst:2704 msgid "" "(Discovered by David Beazley and fixed by Victor Stinner; :issue:`10783`.)" msgstr "" -#: ../../whatsnew/3.2.rst:2703 +#: ../../whatsnew/3.2.rst:2706 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`." msgstr "" -#: ../../whatsnew/3.2.rst:2707 +#: ../../whatsnew/3.2.rst:2710 msgid "" "The new, longer :func:`str` value on floats may break doctests which rely on " "the old output format." msgstr "" -#: ../../whatsnew/3.2.rst:2710 +#: ../../whatsnew/3.2.rst:2713 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 " @@ -3212,28 +3211,28 @@ msgid "" "race conditions when open file descriptors would leak into the child process." msgstr "" -#: ../../whatsnew/3.2.rst:2717 +#: ../../whatsnew/3.2.rst:2720 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`)." msgstr "" -#: ../../whatsnew/3.2.rst:2721 +#: ../../whatsnew/3.2.rst:2724 msgid "(Contributed by Antoine Pitrou, :issue:`10711`.)" msgstr "" -#: ../../whatsnew/3.2.rst:2723 +#: ../../whatsnew/3.2.rst:2726 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:2726 +#: ../../whatsnew/3.2.rst:2729 msgid "(Contributed by Antoine Pitrou, :issue:`10272`.)" msgstr "" -#: ../../whatsnew/3.2.rst:2728 +#: ../../whatsnew/3.2.rst:2731 msgid "" "The misleading functions :c:func:`PyEval_AcquireLock()` and :c:func:" "`PyEval_ReleaseLock()` have been officially deprecated. The thread-state " @@ -3241,18 +3240,18 @@ msgid "" "`PyEval_RestoreThread()`) should be used instead." msgstr "" -#: ../../whatsnew/3.2.rst:2733 +#: ../../whatsnew/3.2.rst:2736 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:2736 +#: ../../whatsnew/3.2.rst:2739 msgid "(Contributed by Giampaolo Rodola in :issue:`6706`.)" msgstr "" -#: ../../whatsnew/3.2.rst:2738 +#: ../../whatsnew/3.2.rst:2741 msgid "" "Due to the new :term:`GIL` implementation, :c:func:`PyEval_InitThreads()` " "cannot be called before :c:func:`Py_Initialize()` anymore." diff --git a/whatsnew/3.3.po b/whatsnew/3.3.po index 0406b4226..c17ca5565 100644 --- a/whatsnew/3.3.po +++ b/whatsnew/3.3.po @@ -1,33 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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: -# 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 -# Willian C Lopes , 2021 -# Rafael Fontenelle , 2021 +# python-doc bot, 2025 # #, 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-29 13:04+0000\n" -"Last-Translator: Rafael Fontenelle , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:59+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../whatsnew/3.3.rst:3 msgid "What's New In Python 3.3" @@ -60,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:" @@ -76,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 "" @@ -100,7 +95,7 @@ msgstr "" #: ../../whatsnew/3.3.rst:78 msgid "Implementation improvements:" -msgstr "" +msgstr "Melhorias na implementação:" #: ../../whatsnew/3.3.rst:80 msgid "" @@ -143,13 +138,13 @@ msgstr "" #: ../../whatsnew/3.3.rst:100 msgid "PEP 405: Virtual Environments" -msgstr "" +msgstr "PEP 405: Ambientes Virtuais" #: ../../whatsnew/3.3.rst:102 msgid "" "Virtual environments help create separate Python setups while sharing a " "system-wide base install, for ease of maintenance. Virtual environments " -"have their own set of private site packages (i.e. locally-installed " +"have their own set of private site packages (i.e. locally installed " "libraries), and are optionally segregated from the system-wide site " "packages. Their concept and implementation are inspired by the popular " "``virtualenv`` third-party package, but benefit from tighter integration " @@ -166,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" @@ -201,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 "" @@ -267,7 +262,7 @@ 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." @@ -336,7 +331,7 @@ msgstr "" #: ../../whatsnew/3.3.rst:227 msgid "Functionality" -msgstr "" +msgstr "Funcionalidade" #: ../../whatsnew/3.3.rst:229 msgid "Changes introduced by :pep:`393` are the following:" @@ -364,8 +359,8 @@ msgstr "" #: ../../whatsnew/3.3.rst:242 msgid "" -"surrogate pairs are not recombined in string literals, so ``'\\uDBFF" -"\\uDFFF' != '\\U0010FFFF'``;" +"surrogate pairs are not recombined in string literals, so " +"``'\\uDBFF\\uDFFF' != '\\U0010FFFF'``;" msgstr "" #: ../../whatsnew/3.3.rst:245 @@ -394,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 "" @@ -602,7 +597,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" @@ -647,7 +642,7 @@ msgstr "" #: ../../whatsnew/3.3.rst:464 msgid ":pep:`380` - Syntax for Delegating to a Subgenerator" -msgstr "" +msgstr ":pep:`380` - Sintaxe para Delegar a um Subgerador" #: ../../whatsnew/3.3.rst:463 msgid "" @@ -750,7 +745,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" @@ -1000,7 +995,7 @@ 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 "" @@ -1184,11 +1179,11 @@ msgstr "" #: ../../whatsnew/3.3.rst:899 msgid "lzma" -msgstr "" +msgstr "lzma" #: ../../whatsnew/3.3.rst:901 msgid "" -"The newly-added :mod:`lzma` module provides data compression and " +"The newly added :mod:`lzma` module provides data compression and " "decompression using the LZMA algorithm, including support for the ``.xz`` " "and ``.lzma`` file formats." msgstr "" @@ -1247,7 +1242,7 @@ msgstr "array" #: ../../whatsnew/3.3.rst:935 msgid "" -"The :mod:`array` module supports the :c:type:`long long` type using ``q`` " +"The :mod:`array` module supports the :c:expr:`long long` type using ``q`` " "and ``Q`` type codes." msgstr "" @@ -1280,7 +1275,7 @@ msgstr "" #: ../../whatsnew/3.3.rst:958 msgid "bz2" -msgstr "" +msgstr "bz2" #: ../../whatsnew/3.3.rst:960 msgid "" @@ -1422,7 +1417,7 @@ msgstr "" #: ../../whatsnew/3.3.rst:1052 msgid "crypt" -msgstr "" +msgstr "crypt" #: ../../whatsnew/3.3.rst:1054 msgid "" @@ -1502,7 +1497,7 @@ msgstr "" #: ../../whatsnew/3.3.rst:1093 msgid "decimal" -msgstr "" +msgstr "decimal" #: ../../whatsnew/3.3.rst:1096 msgid ":issue:`7652` - integrate fast native decimal arithmetic." @@ -1515,7 +1510,7 @@ msgstr "" #: ../../whatsnew/3.3.rst:1098 msgid "" "The new C version of the decimal module integrates the high speed libmpdec " -"library for arbitrary precision correctly-rounded decimal floating point " +"library for arbitrary precision correctly rounded decimal floating point " "arithmetic. libmpdec conforms to IBM's General Decimal Arithmetic " "Specification." msgstr "" @@ -1532,7 +1527,7 @@ msgstr "" #: ../../whatsnew/3.3.rst:1108 msgid "" "The following table is meant as an illustration. Benchmarks are available at " -"http://www.bytereef.org/mpdecimal/quickstart.html." +"https://www.bytereef.org/mpdecimal/quickstart.html." msgstr "" #: ../../whatsnew/3.3.rst:1112 @@ -1671,8 +1666,8 @@ 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." +"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\"." msgstr "" @@ -1780,8 +1775,8 @@ 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::" +"retains its default value. Thus you can create a policy that uses " +"``\\r\\n`` linesep characters like this::" msgstr "" #: ../../whatsnew/3.3.rst:1240 @@ -2774,7 +2769,7 @@ msgstr "" #: ../../whatsnew/3.3.rst:1900 msgid "" "New function :func:`~socket.sethostname` allows the hostname to be set on " -"unix systems if the calling process has sufficient privileges. (Contributed " +"Unix systems if the calling process has sufficient privileges. (Contributed " "by Ross Lagerwall in :issue:`10866`.)" msgstr "" @@ -2953,7 +2948,7 @@ msgstr "" #: ../../whatsnew/3.3.rst:2018 msgid "tempfile" -msgstr "" +msgstr "tempfile" #: ../../whatsnew/3.3.rst:2020 msgid "" @@ -3102,7 +3097,7 @@ msgstr "" #: ../../whatsnew/3.3.rst:2113 msgid "webbrowser" -msgstr "" +msgstr "webbrowser" #: ../../whatsnew/3.3.rst:2115 msgid "" @@ -3117,7 +3112,7 @@ msgstr "" #: ../../whatsnew/3.3.rst:2125 msgid "xml.etree.ElementTree" -msgstr "" +msgstr "xml.etree.ElementTree" #: ../../whatsnew/3.3.rst:2127 msgid "" @@ -3137,7 +3132,7 @@ msgstr "zlib" #: ../../whatsnew/3.3.rst:2139 msgid "" "New attribute :attr:`zlib.Decompress.eof` makes it possible to distinguish " -"between a properly-formed compressed stream and an incomplete or truncated " +"between a properly formed compressed stream and an incomplete or truncated " "one. (Contributed by Nadeem Vawda in :issue:`12646`.)" msgstr "" @@ -3193,11 +3188,11 @@ 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:" @@ -3404,7 +3399,7 @@ msgstr "" #: ../../whatsnew/3.3.rst:2269 msgid "" -"Unicode functions and methods using :c:type:`Py_UNICODE` and :c:type:" +"Unicode functions and methods using :c:type:`Py_UNICODE` and :c:expr:" "`Py_UNICODE*` types:" msgstr "" @@ -3688,11 +3683,11 @@ msgstr "" #: ../../whatsnew/3.3.rst:2392 msgid "" -":class:`importlib.abc.Finder` no longer specifies a `find_module()` abstract " -"method that must be implemented. If you were relying on subclasses to " -"implement that method, make sure to check for the method's existence first. " -"You will probably want to check for `find_loader()` first, though, in the " -"case of working with :term:`path entry finders `." +":class:`importlib.abc.Finder` no longer specifies a ``find_module()`` " +"abstract method that must be implemented. If you were relying on subclasses " +"to implement that method, make sure to check for the method's existence " +"first. You will probably want to check for ``find_loader()`` first, though, " +"in the case of working with :term:`path entry finders `." msgstr "" #: ../../whatsnew/3.3.rst:2398 diff --git a/whatsnew/3.4.po b/whatsnew/3.4.po index 17b5636e4..cd671fd2c 100644 --- a/whatsnew/3.4.po +++ b/whatsnew/3.4.po @@ -1,31 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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: -# Victor Matheus Castro , 2021 -# Ricardo Cappellano , 2021 -# Rafael Fontenelle , 2021 -# Raphael Mendonça, 2021 -# Claudio Rogerio Carvalho Filho , 2021 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.10\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-07-27 13:07+0000\n" -"PO-Revision-Date: 2021-06-29 13:04+0000\n" -"Last-Translator: Claudio Rogerio Carvalho Filho , " -"2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:59+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../whatsnew/3.4.rst:3 msgid "What's New In Python 3.4" @@ -568,7 +564,7 @@ msgstr "PEP escrito e implementado por Victor Stinner." #: ../../whatsnew/3.4.rst:286 msgid "Improvements to Codec Handling" -msgstr "Melhorias no Manuseio de Codecs" +msgstr "Melhorias no manuseio de Codecs" #: ../../whatsnew/3.4.rst:288 msgid "" @@ -704,7 +700,7 @@ msgstr "Outras mudanças na linguagem" #: ../../whatsnew/3.4.rst:403 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.4.rst:405 msgid "Unicode database updated to UCD version 6.3." @@ -891,6 +887,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 "" @@ -958,11 +962,11 @@ 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." -msgstr "PEP escrito e implementado por Antoine Pitrou." +msgstr "PEP escrita e implementada por Antoine Pitrou." #: ../../whatsnew/3.4.rst:545 msgid "selectors" -msgstr "Seletores" +msgstr "selectors" #: ../../whatsnew/3.4.rst:547 msgid "" @@ -1764,7 +1768,7 @@ msgstr "" #: ../../whatsnew/3.4.rst:971 msgid "idlelib and IDLE" -msgstr "idlelib and IDLE" +msgstr "idlelib e IDLE" #: ../../whatsnew/3.4.rst:973 msgid "" @@ -2535,6 +2539,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" @@ -3129,16 +3136,16 @@ msgid "" "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 " +"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::" +"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 "" @@ -3718,8 +3725,12 @@ msgid "" "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 `_." +"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 "" @@ -3933,13 +3944,13 @@ msgstr "" #: ../../whatsnew/3.4.rst:2059 msgid "" -":func:`os.urandom` now uses a lazily-opened persistent file descriptor so as " +":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`.)" msgstr "" -":func:`os.urandom` now uses a lazily-opened persistent file descriptor so as " +":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`.)" +"threads. (Contributed by Antoine Pitrou in :issue:`18756`.)" #: ../../whatsnew/3.4.rst:2067 msgid "Deprecated" @@ -4177,6 +4188,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 "" @@ -4491,14 +4505,15 @@ 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 "" @@ -4509,12 +4524,12 @@ msgid "" "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` 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 "" @@ -4586,15 +4601,15 @@ msgstr "" 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 "" @@ -4907,6 +4922,11 @@ msgid "" "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 "" @@ -4914,6 +4934,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 "" @@ -4933,8 +4956,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 "" @@ -4955,5 +4978,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 9c7908d17..b6c50c3d1 100644 --- a/whatsnew/3.5.po +++ b/whatsnew/3.5.po @@ -1,31 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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: -# Ricardo Cappellano , 2021 -# Raphael Mendonça, 2021 -# Claudio Rogerio Carvalho Filho , 2021 -# Italo Penaforte , 2021 -# Victor Matheus Castro , 2021 -# Rafael Fontenelle , 2021 +# python-doc bot, 2025 # #, 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-29 13:04+0000\n" -"Last-Translator: Rafael Fontenelle , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:59+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../whatsnew/3.5.rst:3 msgid "What's New In Python 3.5" @@ -33,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 " @@ -782,7 +778,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 "" @@ -796,7 +792,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 "" @@ -848,7 +844,7 @@ msgstr "" #: ../../whatsnew/3.5.rst:736 msgid "zipapp" -msgstr "" +msgstr "zipapp" #: ../../whatsnew/3.5.rst:738 msgid "" @@ -1050,7 +1046,7 @@ msgstr "" #: ../../whatsnew/3.5.rst:871 msgid "bz2" -msgstr "" +msgstr "bz2" #: ../../whatsnew/3.5.rst:873 msgid "" @@ -1081,7 +1077,7 @@ msgstr "" #: ../../whatsnew/3.5.rst:893 msgid "code" -msgstr "" +msgstr "código" #: ../../whatsnew/3.5.rst:895 msgid "" @@ -1289,14 +1285,14 @@ 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:" +"keyword-only argument. The default charset of HTML document changed from " +"``\"ISO-8859-1\"`` to ``\"utf-8\"``. (Contributed by Berker Peksag in :issue:" "`2052`.)" msgstr "" @@ -1428,14 +1424,14 @@ 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`.)" +"The *mode* argument of the :class:`~gzip.GzipFile` constructor now accepts " +"``\"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 "" @@ -1462,7 +1458,7 @@ msgstr "" #: ../../whatsnew/3.5.rst:1201 msgid "http.client" -msgstr "" +msgstr "http.client" #: ../../whatsnew/3.5.rst:1203 msgid "" @@ -1480,7 +1476,7 @@ msgstr "" #: ../../whatsnew/3.5.rst:1223 msgid "idlelib and IDLE" -msgstr "idlelib and IDLE" +msgstr "idlelib e IDLE" #: ../../whatsnew/3.5.rst:1225 msgid "" @@ -1490,6 +1486,11 @@ msgid "" "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" @@ -1526,7 +1527,7 @@ 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`.)" @@ -1656,7 +1657,7 @@ msgstr "" #: ../../whatsnew/3.5.rst:1366 msgid "json" -msgstr "" +msgstr "json" #: ../../whatsnew/3.5.rst:1368 msgid "" @@ -1688,7 +1689,7 @@ msgstr "" #: ../../whatsnew/3.5.rst:1389 msgid "locale" -msgstr "" +msgstr "locale" #: ../../whatsnew/3.5.rst:1391 msgid "" @@ -1735,7 +1736,7 @@ msgstr "" #: ../../whatsnew/3.5.rst:1437 msgid "lzma" -msgstr "" +msgstr "lzma" #: ../../whatsnew/3.5.rst:1439 msgid "" @@ -1971,7 +1972,7 @@ msgstr "" #: ../../whatsnew/3.5.rst:1623 msgid "readline" -msgstr "" +msgstr "readline" #: ../../whatsnew/3.5.rst:1625 msgid "" @@ -1982,7 +1983,7 @@ msgstr "" #: ../../whatsnew/3.5.rst:1631 msgid "selectors" -msgstr "Seletores" +msgstr "selectors" #: ../../whatsnew/3.5.rst:1633 msgid "" @@ -2150,7 +2151,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`.)" @@ -2316,7 +2317,7 @@ msgstr "" #: ../../whatsnew/3.5.rst:1880 msgid "sysconfig" -msgstr "" +msgstr "sysconfig" #: ../../whatsnew/3.5.rst:1882 msgid "" @@ -2331,9 +2332,9 @@ 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`.)" +"The *mode* argument of the :func:`~tarfile.open` function now accepts " +"``\"x\"`` to request exclusive creation. (Contributed by Berker Peksag in :" +"issue:`21717`.)" msgstr "" #: ../../whatsnew/3.5.rst:1893 @@ -2378,7 +2379,7 @@ msgstr "" #: ../../whatsnew/3.5.rst:1924 msgid "timeit" -msgstr "" +msgstr "timeit" #: ../../whatsnew/3.5.rst:1926 msgid "" @@ -2456,7 +2457,7 @@ msgstr "unicodedata" #: ../../whatsnew/3.5.rst:1979 msgid "" -"The :mod:`unicodedata` module now uses data from `Unicode 8.0.0 `_." msgstr "" @@ -2490,7 +2491,7 @@ msgstr "" #: ../../whatsnew/3.5.rst:2003 msgid "unittest.mock" -msgstr "" +msgstr "unittest.mock" #: ../../whatsnew/3.5.rst:2005 msgid "The :class:`~unittest.mock.Mock` class has the following improvements:" @@ -2499,8 +2500,8 @@ msgstr "" #: ../../whatsnew/3.5.rst:2007 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`.)" +"objects to raise :exc:`AttributeError` on attribute names starting with " +"``\"assert\"``. (Contributed by Kushal Das in :issue:`21238`.)" msgstr "" #: ../../whatsnew/3.5.rst:2012 @@ -2752,7 +2753,7 @@ msgstr "" #: ../../whatsnew/3.5.rst:2173 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 msgid "New ``calloc`` functions were added:" @@ -2760,19 +2761,19 @@ msgstr "" #: ../../whatsnew/3.5.rst:2177 msgid ":c:func:`PyMem_RawCalloc`," -msgstr "" +msgstr ":c:func:`PyMem_RawCalloc`," #: ../../whatsnew/3.5.rst:2178 msgid ":c:func:`PyMem_Calloc`," -msgstr "" +msgstr ":c:func:`PyMem_Calloc`," #: ../../whatsnew/3.5.rst:2179 msgid ":c:func:`PyObject_Calloc`." -msgstr "" +msgstr ":c:func:`PyObject_Calloc`." #: ../../whatsnew/3.5.rst:2181 msgid "(Contributed by Victor Stinner in :issue:`21233`.)" -msgstr "" +msgstr "(Contribuição de Victor Stinner em :issue:`21233`.)" #: ../../whatsnew/3.5.rst:2183 msgid "New encoding/decoding helper functions:" @@ -2788,7 +2789,7 @@ msgstr "" #: ../../whatsnew/3.5.rst:2188 msgid "(Contributed by Victor Stinner in :issue:`18395`.)" -msgstr "" +msgstr "(Contribuição de Victor Stinner em :issue:`18395`.)" #: ../../whatsnew/3.5.rst:2190 msgid "" @@ -2924,7 +2925,7 @@ msgstr "" #: ../../whatsnew/3.5.rst:2273 msgid "Deprecated Python Behavior" -msgstr "" +msgstr "Comportamento do Python descontinuado" #: ../../whatsnew/3.5.rst:2275 msgid "" @@ -3198,13 +3199,13 @@ msgstr "" #: ../../whatsnew/3.5.rst:2450 msgid "" -"The :func:`re.split` function always ignored empty pattern matches, so the ``" -"\"x*\"`` pattern worked the same as ``\"x+\"``, and the ``\"\\b\"`` pattern " -"never worked. Now :func:`re.split` raises a warning if the pattern could " -"match an empty string. For compatibility, use patterns that never match an " -"empty string (e.g. ``\"x+\"`` instead of ``\"x*\"``). Patterns that could " -"only match an empty string (such as ``\"\\b\"``) now raise an error. " -"(Contributed by Serhiy Storchaka in :issue:`22818`.)" +"The :func:`re.split` function always ignored empty pattern matches, so the " +"``\"x*\"`` pattern worked the same as ``\"x+\"``, and the ``\"\\b\"`` " +"pattern never worked. Now :func:`re.split` raises a warning if the pattern " +"could match an empty string. For compatibility, use patterns that never " +"match an empty string (e.g. ``\"x+\"`` instead of ``\"x*\"``). Patterns " +"that could only match an empty string (such as ``\"\\b\"``) now raise an " +"error. (Contributed by Serhiy Storchaka in :issue:`22818`.)" msgstr "" #: ../../whatsnew/3.5.rst:2458 @@ -3226,12 +3227,12 @@ msgid "" "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 " +"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." +"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 @@ -3304,6 +3305,8 @@ msgid "" "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 msgid "" @@ -3334,7 +3337,7 @@ msgstr "" #: ../../whatsnew/3.5.rst:2544 msgid "New ``make regen-all`` build target" -msgstr "" +msgstr "Novo alvo de construção ``make regen-all``" #: ../../whatsnew/3.5.rst:2546 msgid "" @@ -3343,6 +3346,11 @@ msgid "" "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 msgid "" @@ -3350,20 +3358,25 @@ msgid "" "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 msgid "" "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 msgid "(Contributed by Victor Stinner in :issue:`23404`.)" -msgstr "" +msgstr "(Contribuição de Victor Stinner em :issue:`23404`.)" #: ../../whatsnew/3.5.rst:2564 msgid "Removal of ``make touch`` build target" -msgstr "" +msgstr "Remoção do alvo de construção ``make touch``" #: ../../whatsnew/3.5.rst:2566 msgid "" @@ -3371,7 +3384,10 @@ msgid "" "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 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 979afd11c..c7a153284 100644 --- a/whatsnew/3.6.po +++ b/whatsnew/3.6.po @@ -1,31 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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 -# Ricardo Cappellano , 2021 -# Claudio Rogerio Carvalho Filho , 2021 -# Victor Matheus Castro , 2021 -# Vinicius Gubiani Ferreira , 2021 -# Rafael Fontenelle , 2021 +# python-doc bot, 2025 # #, 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-29 13:04+0000\n" -"Last-Translator: Rafael Fontenelle , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:59+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../whatsnew/3.6.rst:3 msgid "What's New In Python 3.6" @@ -33,7 +29,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 " @@ -1049,7 +1045,7 @@ 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 "" @@ -1072,12 +1068,12 @@ msgstr "" #: ../../whatsnew/3.6.rst:752 msgid "" -"Long sequences of repeated traceback lines are now abbreviated as ``" -"\"[Previous line repeated {count} more times]\"`` (see :ref:`whatsnew36-" +"Long sequences of repeated traceback lines are now abbreviated as " +"``\"[Previous line repeated {count} more times]\"`` (see :ref:`whatsnew36-" "traceback` for an example). (Contributed by Emanuel Barry in :issue:`26823`.)" msgstr "" -"Long sequences of repeated traceback lines are now abbreviated as ``" -"\"[Previous line repeated {count} more times]\"`` (see :ref:`whatsnew36-" +"Long sequences of repeated traceback lines are now abbreviated as " +"``\"[Previous line repeated {count} more times]\"`` (see :ref:`whatsnew36-" "traceback` for an example). (Contributed by Emanuel Barry in :issue:`26823`.)" #: ../../whatsnew/3.6.rst:757 @@ -1411,7 +1407,7 @@ msgid "" "Hettinger in :issue:`17941`.)" msgstr "" -#: ../../whatsnew/3.6.rst:940 ../../whatsnew/3.6.rst:2278 +#: ../../whatsnew/3.6.rst:940 ../../whatsnew/3.6.rst:2281 msgid "" "The *verbose* and *rename* arguments for :func:`~collections.namedtuple` are " "now keyword-only. (Contributed by Raymond Hettinger in :issue:`25628`.)" @@ -1447,17 +1443,11 @@ msgstr "contextlib" 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 :" +"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`.)" msgstr "" -"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`.)" #: ../../whatsnew/3.6.rst:971 msgid "datetime" @@ -1504,7 +1494,7 @@ msgstr "" #: ../../whatsnew/3.6.rst:997 msgid "decimal" -msgstr "" +msgstr "decimal" #: ../../whatsnew/3.6.rst:999 msgid "" @@ -1660,7 +1650,7 @@ msgstr "" #: ../../whatsnew/3.6.rst:1114 msgid "http.client" -msgstr "" +msgstr "http.client" #: ../../whatsnew/3.6.rst:1116 msgid "" @@ -1672,7 +1662,7 @@ msgstr "" #: ../../whatsnew/3.6.rst:1123 msgid "idlelib and IDLE" -msgstr "idlelib and IDLE" +msgstr "idlelib e IDLE" #: ../../whatsnew/3.6.rst:1125 msgid "" @@ -1847,7 +1837,7 @@ msgstr "" #: ../../whatsnew/3.6.rst:1235 msgid "json" -msgstr "" +msgstr "json" #: ../../whatsnew/3.6.rst:1237 msgid "" @@ -2023,7 +2013,7 @@ msgstr "" #: ../../whatsnew/3.6.rst:1363 msgid "readline" -msgstr "" +msgstr "readline" #: ../../whatsnew/3.6.rst:1365 msgid "" @@ -2062,7 +2052,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 :attr:`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 "" @@ -2113,7 +2103,7 @@ msgstr "" #: ../../whatsnew/3.6.rst:1424 msgid "" "New Linux constants ``TCP_USER_TIMEOUT`` and ``TCP_CONGESTION`` were added. " -"(Contributed by Omar Sandoval, issue:`26273`)." +"(Contributed by Omar Sandoval, :issue:`26273`)." msgstr "" #: ../../whatsnew/3.6.rst:1429 @@ -2270,7 +2260,7 @@ msgstr "" #: ../../whatsnew/3.6.rst:1535 msgid "timeit" -msgstr "" +msgstr "timeit" #: ../../whatsnew/3.6.rst:1537 msgid "" @@ -2405,13 +2395,13 @@ msgstr "unicodedata" #: ../../whatsnew/3.6.rst:1646 msgid "" -"The :mod:`unicodedata` module now uses data from `Unicode 9.0.0 `_. (Contributed by Benjamin Peterson.)" msgstr "" #: ../../whatsnew/3.6.rst:1652 msgid "unittest.mock" -msgstr "" +msgstr "unittest.mock" #: ../../whatsnew/3.6.rst:1654 msgid "The :class:`~unittest.mock.Mock` class has the following improvements:" @@ -2455,7 +2445,7 @@ msgid "" "in :issue:`16099`.)" msgstr "" -#: ../../whatsnew/3.6.rst:1687 ../../whatsnew/3.6.rst:2056 +#: ../../whatsnew/3.6.rst:1687 ../../whatsnew/3.6.rst:2058 msgid "venv" msgstr "venv" @@ -2468,7 +2458,7 @@ msgstr "" #: ../../whatsnew/3.6.rst:1695 msgid "warnings" -msgstr "" +msgstr "avisos" #: ../../whatsnew/3.6.rst:1697 msgid "" @@ -2704,7 +2694,7 @@ msgstr "" #: ../../whatsnew/3.6.rst:1860 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.6.rst:1862 msgid "" @@ -2962,7 +2952,7 @@ msgid "" "should use :mod:`tkinter.ttk` instead." msgstr "" -#: ../../whatsnew/3.6.rst:2058 +#: ../../whatsnew/3.6.rst:2060 msgid "" "The ``pyvenv`` script has been deprecated in favour of ``python3 -m venv``. " "This prevents confusion as to what Python interpreter ``pyvenv`` is " @@ -2970,11 +2960,11 @@ msgid "" "environment. (Contributed by Brett Cannon in :issue:`25154`.)" msgstr "" -#: ../../whatsnew/3.6.rst:2065 +#: ../../whatsnew/3.6.rst:2067 msgid "Deprecated functions and types of the C API" msgstr "" -#: ../../whatsnew/3.6.rst:2067 +#: ../../whatsnew/3.6.rst:2069 msgid "" "Undocumented functions :c:func:`PyUnicode_AsEncodedObject`, :c:func:" "`PyUnicode_AsDecodedObject`, :c:func:`PyUnicode_AsEncodedUnicode` and :c:" @@ -2982,11 +2972,11 @@ msgid "" "codec based API ` instead." msgstr "" -#: ../../whatsnew/3.6.rst:2074 +#: ../../whatsnew/3.6.rst:2076 msgid "Deprecated Build Options" msgstr "" -#: ../../whatsnew/3.6.rst:2076 +#: ../../whatsnew/3.6.rst:2078 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 " @@ -2995,15 +2985,15 @@ msgid "" "the ``--with-system-ffi`` flag when building their system Python." msgstr "" -#: ../../whatsnew/3.6.rst:2084 +#: ../../whatsnew/3.6.rst:2086 msgid "Removed" msgstr "Removidos" -#: ../../whatsnew/3.6.rst:2087 +#: ../../whatsnew/3.6.rst:2089 msgid "API and Feature Removals" msgstr "Remoção de APIs e recursos" -#: ../../whatsnew/3.6.rst:2089 +#: ../../whatsnew/3.6.rst:2091 msgid "" "Unknown escapes consisting of ``'\\'`` and an ASCII letter in regular " "expressions will now cause an error. In replacement templates for :func:`re." @@ -3011,14 +3001,14 @@ msgid "" "now only be used with binary patterns." msgstr "" -#: ../../whatsnew/3.6.rst:2094 +#: ../../whatsnew/3.6.rst:2096 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`.)" msgstr "" -#: ../../whatsnew/3.6.rst:2099 +#: ../../whatsnew/3.6.rst:2101 msgid "" "``traceback.Ignore`` class and ``traceback.usage``, ``traceback.modname``, " "``traceback.fullmodname``, ``traceback.find_lines_from_code``, ``traceback." @@ -3028,14 +3018,14 @@ msgid "" "equivalent functionality is available from private methods." msgstr "" -#: ../../whatsnew/3.6.rst:2106 +#: ../../whatsnew/3.6.rst:2108 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)." msgstr "" -#: ../../whatsnew/3.6.rst:2110 +#: ../../whatsnew/3.6.rst:2112 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). " @@ -3043,25 +3033,26 @@ msgid "" "`universal newlines` mode." msgstr "" -#: ../../whatsnew/3.6.rst:2115 +#: ../../whatsnew/3.6.rst:2117 msgid "" "The undocumented ``IN``, ``CDROM``, ``DLFCN``, ``TYPES``, ``CDIO``, and " "``STROPTS`` modules have been removed. They had been available in the " "platform specific ``Lib/plat-*/`` directories, but were chronically out of " "date, inconsistently available across platforms, and unmaintained. The " "script that created these modules is still available in the source " -"distribution at :source:`Tools/scripts/h2py.py`." +"distribution at `Tools/scripts/h2py.py `_." msgstr "" -#: ../../whatsnew/3.6.rst:2122 +#: ../../whatsnew/3.6.rst:2125 msgid "The deprecated ``asynchat.fifo`` class has been removed." msgstr "" -#: ../../whatsnew/3.6.rst:2126 +#: ../../whatsnew/3.6.rst:2129 msgid "Porting to Python 3.6" msgstr "" -#: ../../whatsnew/3.6.rst:2128 +#: ../../whatsnew/3.6.rst:2131 msgid "" "This section lists previously described changes and other bugfixes that may " "require changes to your code." @@ -3069,11 +3060,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.6.rst:2132 +#: ../../whatsnew/3.6.rst:2135 msgid "Changes in 'python' Command Behavior" msgstr "Changes in 'python' Command Behavior" -#: ../../whatsnew/3.6.rst:2134 +#: ../../whatsnew/3.6.rst:2137 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. " @@ -3082,42 +3073,42 @@ msgid "" "issue:`23034`.)" msgstr "" -#: ../../whatsnew/3.6.rst:2142 +#: ../../whatsnew/3.6.rst:2145 msgid "Changes in the Python API" msgstr "Alterações na API Python" -#: ../../whatsnew/3.6.rst:2144 +#: ../../whatsnew/3.6.rst:2147 msgid "" ":func:`open() ` will no longer allow combining the ``'U'`` mode flag " "with ``'+'``. (Contributed by Jeff Balogh and John O'Connor in :issue:" "`2091`.)" msgstr "" -#: ../../whatsnew/3.6.rst:2148 +#: ../../whatsnew/3.6.rst:2151 msgid "" ":mod:`sqlite3` no longer implicitly commits an open transaction before DDL " "statements." msgstr "" -#: ../../whatsnew/3.6.rst:2151 +#: ../../whatsnew/3.6.rst:2154 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:2154 +#: ../../whatsnew/3.6.rst:2157 msgid "" "When :meth:`importlib.abc.Loader.exec_module` is defined, :meth:`importlib." "abc.Loader.create_module` must also be defined." msgstr "" -#: ../../whatsnew/3.6.rst:2157 +#: ../../whatsnew/3.6.rst:2160 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:2160 +#: ../../whatsnew/3.6.rst:2163 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 " @@ -3130,7 +3121,7 @@ msgid "" "see the :pep:`511` for the rationale." msgstr "" -#: ../../whatsnew/3.6.rst:2170 +#: ../../whatsnew/3.6.rst:2173 msgid "" "The functions in the :mod:`compileall` module now return booleans instead of " "``1`` or ``0`` to represent success or failure, respectively. Thanks to " @@ -3138,7 +3129,7 @@ msgid "" "were doing identity checks for ``1`` or ``0``. See :issue:`25768`." msgstr "" -#: ../../whatsnew/3.6.rst:2175 +#: ../../whatsnew/3.6.rst:2178 msgid "" "Reading the :attr:`~urllib.parse.SplitResult.port` attribute of :func:" "`urllib.parse.urlsplit` and :func:`~urllib.parse.urlparse` results now " @@ -3146,13 +3137,13 @@ msgid "" "const:`None`. See :issue:`20059`." msgstr "" -#: ../../whatsnew/3.6.rst:2180 +#: ../../whatsnew/3.6.rst:2183 msgid "" "The :mod:`imp` module now raises a :exc:`DeprecationWarning` instead of :exc:" "`PendingDeprecationWarning`." msgstr "" -#: ../../whatsnew/3.6.rst:2183 +#: ../../whatsnew/3.6.rst:2186 msgid "" "The following modules have had missing APIs added to their :attr:`__all__` " "attributes to match the documented APIs: :mod:`calendar`, :mod:`cgi`, :mod:" @@ -3164,21 +3155,21 @@ msgid "" "Kołodziej in :issue:`23883`.)" msgstr "" -#: ../../whatsnew/3.6.rst:2194 +#: ../../whatsnew/3.6.rst:2197 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:2198 +#: ../../whatsnew/3.6.rst:2201 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`.)" msgstr "" -#: ../../whatsnew/3.6.rst:2202 +#: ../../whatsnew/3.6.rst:2205 msgid "" "Servers based on the :mod:`socketserver` module, including those defined in :" "mod:`http.server`, :mod:`xmlrpc.server` and :mod:`wsgiref.simple_server`, " @@ -3189,20 +3180,20 @@ msgid "" "(Contributed by Martin Panter in :issue:`23430`.)" msgstr "" -#: ../../whatsnew/3.6.rst:2211 +#: ../../whatsnew/3.6.rst:2214 msgid "" ":func:`spwd.getspnam` now raises a :exc:`PermissionError` instead of :exc:" "`KeyError` if the user doesn't have privileges." msgstr "" -#: ../../whatsnew/3.6.rst:2214 +#: ../../whatsnew/3.6.rst:2217 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:2218 +#: ../../whatsnew/3.6.rst:2221 msgid "" "The *decode_data* argument for the :class:`smtpd.SMTPChannel` and :class:" "`smtpd.SMTPServer` constructors is now ``False`` by default. This means that " @@ -3212,7 +3203,7 @@ msgid "" "deprecation warning generated by 3.5 will not be affected." msgstr "" -#: ../../whatsnew/3.6.rst:2226 +#: ../../whatsnew/3.6.rst:2229 msgid "" "All optional arguments of the :func:`~json.dump`, :func:`~json.dumps`, :func:" "`~json.load` and :func:`~json.loads` functions and :class:`~json." @@ -3221,16 +3212,15 @@ msgid "" "(Contributed by Serhiy Storchaka in :issue:`18726`.)" msgstr "" -#: ../../whatsnew/3.6.rst:2233 +#: ../../whatsnew/3.6.rst:2236 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:2236 +#: ../../whatsnew/3.6.rst:2239 msgid "" "As part of :pep:`487`, the handling of keyword arguments passed to :class:" "`type` (other than the metaclass hint, ``metaclass``) is now consistently " @@ -3242,7 +3232,7 @@ msgid "" "__new__` (whether direct or via :class:`super`) accordingly." msgstr "" -#: ../../whatsnew/3.6.rst:2245 +#: ../../whatsnew/3.6.rst:2248 msgid "" "In :class:`distutils.command.sdist.sdist`, the ``default_format`` attribute " "has been removed and is no longer honored. Instead, the gzipped tarfile " @@ -3252,13 +3242,13 @@ msgid "" "containing the following:" msgstr "" -#: ../../whatsnew/3.6.rst:2258 +#: ../../whatsnew/3.6.rst:2261 msgid "" "This behavior has also been backported to earlier Python versions by " "Setuptools 26.0.0." msgstr "" -#: ../../whatsnew/3.6.rst:2261 +#: ../../whatsnew/3.6.rst:2264 msgid "" "In the :mod:`urllib.request` module and the :meth:`http.client." "HTTPConnection.request` method, if no Content-Length header field has been " @@ -3269,47 +3259,47 @@ msgid "" "`12319`.)" msgstr "" -#: ../../whatsnew/3.6.rst:2270 +#: ../../whatsnew/3.6.rst:2273 msgid "" "The :class:`~csv.DictReader` now returns rows of type :class:`~collections." "OrderedDict`. (Contributed by Steve Holden in :issue:`27842`.)" msgstr "" -#: ../../whatsnew/3.6.rst:2274 +#: ../../whatsnew/3.6.rst:2277 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`.)" msgstr "" -#: ../../whatsnew/3.6.rst:2282 +#: ../../whatsnew/3.6.rst:2285 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:2286 +#: ../../whatsnew/3.6.rst:2289 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:2291 +#: ../../whatsnew/3.6.rst:2294 msgid "" "The :func:`mmap.write() ` function now returns the number of " "bytes written like other write methods. (Contributed by Jakub Stasiak in :" "issue:`26335`.)" msgstr "" -#: ../../whatsnew/3.6.rst:2295 +#: ../../whatsnew/3.6.rst:2298 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:2299 +#: ../../whatsnew/3.6.rst:2302 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 " @@ -3318,7 +3308,7 @@ msgid "" "in :issue:`25953`.)" msgstr "" -#: ../../whatsnew/3.6.rst:2305 +#: ../../whatsnew/3.6.rst:2308 msgid "" ":class:`zipfile.ZipFile` will now raise :exc:`NotImplementedError` for " "unrecognized compression values. Previously a plain :exc:`RuntimeError` was " @@ -3328,7 +3318,7 @@ msgid "" "`RuntimeError` was raised in those scenarios." msgstr "" -#: ../../whatsnew/3.6.rst:2312 +#: ../../whatsnew/3.6.rst:2315 msgid "" "when custom metaclasses are combined with zero-argument :func:`super` or " "direct references from methods to the implicit ``__class__`` closure " @@ -3338,7 +3328,7 @@ msgid "" "Python 3.8." msgstr "" -#: ../../whatsnew/3.6.rst:2319 +#: ../../whatsnew/3.6.rst:2322 msgid "" "With the introduction of :exc:`ModuleNotFoundError`, import system consumers " "may start expecting import system replacements to raise that more specific " @@ -3351,11 +3341,11 @@ msgid "" "the default import system will raise the new subclass when appropriate." msgstr "" -#: ../../whatsnew/3.6.rst:2331 +#: ../../whatsnew/3.6.rst:2334 msgid "Changes in the C API" msgstr "Alterações na API C" -#: ../../whatsnew/3.6.rst:2333 +#: ../../whatsnew/3.6.rst:2336 msgid "" "The :c:func:`PyMem_Malloc` allocator family now uses the :ref:`pymalloc " "allocator ` rather than the system :c:func:`malloc`. Applications " @@ -3364,29 +3354,29 @@ msgid "" "usage of memory allocators in your application. See :issue:`26249`." msgstr "" -#: ../../whatsnew/3.6.rst:2339 +#: ../../whatsnew/3.6.rst:2342 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:2344 +#: ../../whatsnew/3.6.rst:2347 msgid "CPython bytecode changes" msgstr "Alterações de bytecode do CPython" -#: ../../whatsnew/3.6.rst:2346 +#: ../../whatsnew/3.6.rst:2349 msgid "" "There have been several major changes to the :term:`bytecode` in Python 3.6." msgstr "" -#: ../../whatsnew/3.6.rst:2348 +#: ../../whatsnew/3.6.rst:2351 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:2352 +#: ../../whatsnew/3.6.rst:2355 msgid "" "The new :opcode:`FORMAT_VALUE` and :opcode:`BUILD_STRING` opcodes as part of " "the :ref:`formatted string literal ` implementation. " @@ -3394,14 +3384,14 @@ msgid "" "`27078`.)" msgstr "" -#: ../../whatsnew/3.6.rst:2357 +#: ../../whatsnew/3.6.rst:2360 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`.)" msgstr "" -#: ../../whatsnew/3.6.rst:2361 +#: ../../whatsnew/3.6.rst:2364 msgid "" "The function call opcodes have been heavily reworked for better performance " "and simpler implementation. The :opcode:`MAKE_FUNCTION`, :opcode:" @@ -3413,66 +3403,79 @@ msgid "" "issue:`27095`, and Serhiy Storchaka in :issue:`27213`, :issue:`28257`.)" msgstr "" -#: ../../whatsnew/3.6.rst:2372 +#: ../../whatsnew/3.6.rst:2375 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:2378 +#: ../../whatsnew/3.6.rst:2381 msgid "Notable changes in Python 3.6.2" msgstr "" -#: ../../whatsnew/3.6.rst:2381 +#: ../../whatsnew/3.6.rst:2384 msgid "New ``make regen-all`` build target" -msgstr "" +msgstr "Novo alvo de construção ``make regen-all``" -#: ../../whatsnew/3.6.rst:2383 +#: ../../whatsnew/3.6.rst:2386 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:2388 +#: ../../whatsnew/3.6.rst:2391 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:2392 +#: ../../whatsnew/3.6.rst:2395 msgid "" "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:2395 ../../whatsnew/3.6.rst:2408 +#: ../../whatsnew/3.6.rst:2398 ../../whatsnew/3.6.rst:2411 msgid "(Contributed by Victor Stinner in :issue:`23404`.)" -msgstr "" +msgstr "(Contribuição de Victor Stinner em :issue:`23404`.)" -#: ../../whatsnew/3.6.rst:2401 +#: ../../whatsnew/3.6.rst:2404 msgid "Removal of ``make touch`` build target" -msgstr "" +msgstr "Remoção do alvo de construção ``make touch``" -#: ../../whatsnew/3.6.rst:2403 +#: ../../whatsnew/3.6.rst:2406 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:2406 +#: ../../whatsnew/3.6.rst:2409 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:2414 +#: ../../whatsnew/3.6.rst:2417 msgid "Notable changes in Python 3.6.4" msgstr "" -#: ../../whatsnew/3.6.rst:2416 +#: ../../whatsnew/3.6.rst:2419 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 " @@ -3480,22 +3483,22 @@ msgid "" "issue:`22898` and :issue:`30697`.)" msgstr "" -#: ../../whatsnew/3.6.rst:2423 +#: ../../whatsnew/3.6.rst:2426 msgid "Notable changes in Python 3.6.5" msgstr "" -#: ../../whatsnew/3.6.rst:2425 +#: ../../whatsnew/3.6.rst:2428 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:2430 +#: ../../whatsnew/3.6.rst:2433 msgid "Notable changes in Python 3.6.7" msgstr "" -#: ../../whatsnew/3.6.rst:2432 +#: ../../whatsnew/3.6.rst:2435 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 " @@ -3503,11 +3506,11 @@ msgid "" "Ammar Askar in :issue:`33899`.)" msgstr "" -#: ../../whatsnew/3.6.rst:2438 +#: ../../whatsnew/3.6.rst:2441 msgid "Notable changes in Python 3.6.10" msgstr "" -#: ../../whatsnew/3.6.rst:2440 +#: ../../whatsnew/3.6.rst:2443 msgid "" "Due to significant security concerns, the *reuse_address* parameter of :meth:" "`asyncio.loop.create_datagram_endpoint` is no longer supported. This is " @@ -3523,11 +3526,11 @@ msgstr "" "``loop.create_datagram_endpoint()``. (Contribuição de Kyle Stanley, Antoine " "Pitrou e Yury Selivanov em :issue:`37228`.)" -#: ../../whatsnew/3.6.rst:2448 +#: ../../whatsnew/3.6.rst:2451 msgid "Notable changes in Python 3.6.13" msgstr "" -#: ../../whatsnew/3.6.rst:2450 +#: ../../whatsnew/3.6.rst:2453 msgid "" "Earlier Python versions allowed using both ``;`` and ``&`` as query " "parameter separators in :func:`urllib.parse.parse_qs` and :func:`urllib." diff --git a/whatsnew/3.7.po b/whatsnew/3.7.po index 5f71cc019..40347c7be 100644 --- a/whatsnew/3.7.po +++ b/whatsnew/3.7.po @@ -1,34 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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: -# 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 , 2021 +# python-doc bot, 2025 # #, 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-29 13:04+0000\n" -"Last-Translator: Rafael Fontenelle , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:59+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../whatsnew/3.7.rst:3 msgid "What's New In Python 3.7" @@ -84,11 +77,13 @@ msgstr "Novos módulos de biblioteca:" msgid "" ":mod:`contextvars`: :ref:`PEP 567 -- Context Variables `" msgstr "" -":mod:`contextvars`: :ref:`PEP 567 -- Context Variables `" +":mod:`contextvars`: :ref:`PEP 567 -- Variáveis de Contexto `" #: ../../whatsnew/3.7.rst:69 msgid ":mod:`dataclasses`: :ref:`PEP 557 -- Data Classes `" -msgstr ":mod:`dataclasses`: :ref:`PEP 557 -- Data Classes `" +msgstr "" +":mod:`dataclasses`: :ref:`PEP 557 -- Classes de Dados `" #: ../../whatsnew/3.7.rst:70 msgid ":ref:`whatsnew37_importlib_resources`" @@ -101,7 +96,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:" @@ -112,16 +107,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 "" @@ -194,7 +189,7 @@ msgstr "Melhorias na API C:" msgid ":ref:`PEP 539 `, new C API for thread-local storage" msgstr "" ":ref:`PEP 539 `, nova API C para armazenamento local de " -"threads" +"thread" #: ../../whatsnew/3.7.rst:113 msgid "Documentation improvements:" @@ -341,7 +336,7 @@ msgid "" "`readline`) will assume the use of UTF-8 as the default text encoding, " "rather than ASCII." msgstr "" -"O :pep:`538` atualiza a interface de linha de comando do interpretador " +"A :pep:`538` atualiza a interface de linha de comando do interpretador " "padrão para forçar automaticamente essa localidade para uma localidade " "baseada em UTF-8 disponível conforme descrito na documentação da nova " "variável de ambiente :envvar:`PYTHONCOERCECLOCALE`. Configurar " @@ -430,6 +425,9 @@ msgid "" "environment variable can be used to enable the :ref:`Python UTF-8 Mode `." msgstr "" +"A nova opção de linha de comando :option:`-X` ``utf8`` e a variável de " +"ambiente :envvar:`PYTHONUTF8` podem ser usadas para habilitar o :ref:`modo " +"UTF-8 do Python `." #: ../../whatsnew/3.7.rst:238 msgid "" @@ -460,7 +458,7 @@ msgid "" "of Python. To reduce the risk of corrupting text data when communicating " "with such components, Python 3.7 also implements :ref:`whatsnew37-pep540`)." msgstr "" -"Embora o modo UTF-8 do :pep:`540` tenha a vantagem de funcionar " +"Embora o modo UTF-8 da :pep:`540` tenha a vantagem de funcionar " "independentemente de quais localidades estão disponíveis no sistema em " "execução, ele tem a desvantagem de não ter efeito sobre os módulos de " "extensão (como GNU ``readline``) , processos filho executando aplicativos " @@ -534,13 +532,13 @@ msgstr "PEP 539: Nova API C para armazenamento local de thread" msgid "" "While Python provides a C API for thread-local storage support; the " "existing :ref:`Thread Local Storage (TLS) API ` " -"has used :c:type:`int` to represent TLS keys across all platforms. This has " -"not generally been a problem for officially-support platforms, but that is " +"has used :c:expr:`int` to represent TLS keys across all platforms. This has " +"not generally been a problem for officially support platforms, but that is " "neither POSIX-compliant, nor portable in any practical sense." msgstr "" "Enquanto Python fornece uma API C para suporte de armazenamento local de " "thread; a existente :ref:`API da armazenamento local de thread (TLS) ` usou :c:type:`int` para representar as chaves TLS em " +"local-storage-api>` usou :c:expr:`int` para representar as chaves TLS em " "todas as plataformas. Isso geralmente não tem sido um problema para " "plataformas oficialmente suportadas, mas isso não é compatível com POSIX, " "nem portátil em qualquer sentido prático." @@ -551,35 +549,35 @@ msgid "" "(TSS) API ` 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:" -"type:`int` to represent TSS keys--an opaque type the definition of which may " +"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:type:`int`." +"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 " +"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:type:`int` para representar as chaves de TSS -- um " +"`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:type:`int`." +"segurança para :c:expr:`int`." #: ../../whatsnew/3.7.rst:306 msgid "" "Note that on platforms where the native TLS key is defined in a way that " -"cannot be safely cast to :c:type:`int`, all functions of the existing TLS " +"cannot be safely cast to :c:expr:`int`, all functions of the existing TLS " "API will be no-op and immediately return failure. This indicates clearly " "that the old API is not supported on platforms where it cannot be used " "reliably, and that no effort will be made to add such support." msgstr "" -"Observe que em plataformas onde a chave nativa de TLS é definida de uma " -"forma que não pode ser convertida com segurança para :c:type:`int`, todas as " -"funções da API de TLS existente serão autônomas e retornarão imediatamente " -"falha. Isso indica claramente que a API antiga não é suportada em " -"plataformas onde não pode ser usada de forma confiável e que nenhum esforço " -"será feito para adicionar esse suporte." +"Observe que em plataformas onde a chave TLS nativa é definida de uma forma " +"que não pode ser convertida com segurança para :c:expr:`int`, todas as " +"funções da API TLS existente serão no-op e retornarão falha imediatamente. " +"Isso indica claramente que a API antiga não é suportada em plataformas onde " +"não pode ser usada de forma confiável e que nenhum esforço será feito para " +"adicionar tal suporte." #: ../../whatsnew/3.7.rst:314 msgid ":pep:`539` -- A New C-API for Thread-Local Storage in CPython" @@ -609,12 +607,12 @@ 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__``" -msgstr ":pep:`562` -- Module ``__getattr__`` and ``__dir__``" +msgstr ":pep:`562` -- Módulo ``__getattr__`` e ``__dir__``" #: ../../whatsnew/3.7.rst:333 ../../whatsnew/3.7.rst:422 msgid "PEP written and implemented by Ivan Levkivskyi" @@ -800,7 +798,7 @@ msgstr ":pep:`560` -- Suporte básico para módulo typing e tipos genéricos" #: ../../whatsnew/3.7.rst:428 msgid "PEP 552: Hash-based .pyc Files" -msgstr "" +msgstr "PEP 552: Arquivos .pyc baseados em hash" #: ../../whatsnew/3.7.rst:430 msgid "" @@ -813,6 +811,16 @@ msgid "" "in the cache file is problematic for `build reproducibility `_ and content-based build systems." msgstr "" +"O Python tradicionalmente verifica a atualização dos arquivos de cache em " +"bytecode (ou seja, arquivos ``.pyc``) comparando os metadados da fonte " +"(registro de data e hora e tamanho da última modificação) com os metadados " +"da fonte salvos no cabeçalho do arquivo de cache quando foi gerado. Embora " +"eficaz, esse método de invalidação tem suas desvantagens. Quando os " +"registros de data e hora do sistema de arquivos são muito grosseiros, o " +"Python pode perder as atualizações de origem, levando à confusão do usuário. " +"Além disso, ter um registro de data e hora no arquivo de cache é " +"problemático para `reprodutibilidade de compilação `_ e sistemas de compilação baseados em conteúdo." #: ../../whatsnew/3.7.rst:439 msgid "" @@ -823,6 +831,13 @@ msgid "" "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`." #: ../../whatsnew/3.7.rst:445 msgid "" @@ -833,58 +848,68 @@ 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 "" @@ -895,6 +920,13 @@ msgid "" "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" @@ -907,6 +939,10 @@ msgid "" "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 "" @@ -914,12 +950,18 @@ msgid "" "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 "" @@ -928,6 +970,10 @@ 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 "" @@ -935,12 +981,18 @@ msgid "" "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 "" @@ -948,6 +1000,9 @@ msgid "" "``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 "" @@ -964,14 +1019,21 @@ 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 Victor Stinner in :issue:" -"`31415`.)" +"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" @@ -979,7 +1041,7 @@ msgstr "Novos módulos" #: ../../whatsnew/3.7.rst:550 msgid "contextvars" -msgstr "" +msgstr "contextvars" #: ../../whatsnew/3.7.rst:552 msgid "" @@ -988,6 +1050,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 "" @@ -996,14 +1063,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" @@ -1017,6 +1089,11 @@ msgid "" "`~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::" @@ -1024,15 +1101,15 @@ 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 "" @@ -1044,16 +1121,26 @@ msgid "" "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" @@ -1069,6 +1156,9 @@ msgid "" "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 msgid "asyncio" @@ -1080,6 +1170,9 @@ msgid "" "`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 "" @@ -1088,6 +1181,10 @@ msgid "" "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 "" @@ -1100,6 +1197,14 @@ msgid "" "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 "" @@ -1107,6 +1212,9 @@ 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 "" @@ -1114,6 +1222,9 @@ msgid "" "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 "" @@ -1122,6 +1233,10 @@ msgid "" "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 "" @@ -1139,6 +1254,9 @@ 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 "" @@ -1148,6 +1266,11 @@ msgid "" "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 "" @@ -1157,6 +1280,11 @@ msgid "" "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 "" @@ -1164,6 +1292,9 @@ 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 "" @@ -1174,6 +1305,12 @@ msgid "" "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 "" @@ -1189,10 +1326,21 @@ msgid "" "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 "" @@ -1201,6 +1349,11 @@ msgid "" "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 "" @@ -1208,6 +1361,9 @@ msgid "" "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 "" @@ -1219,6 +1375,12 @@ msgid "" "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 "" @@ -1226,12 +1388,17 @@ 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`.)" 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 "" @@ -1242,6 +1409,12 @@ msgid "" "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 "" @@ -1289,7 +1462,7 @@ msgstr "" #: ../../whatsnew/3.7.rst:788 msgid "calendar" -msgstr "" +msgstr "calendar" #: ../../whatsnew/3.7.rst:790 msgid "" @@ -1373,7 +1546,7 @@ msgstr "" #: ../../whatsnew/3.7.rst:849 msgid "crypt" -msgstr "" +msgstr "crypt" #: ../../whatsnew/3.7.rst:851 msgid "" @@ -1417,7 +1590,7 @@ msgstr "" #: ../../whatsnew/3.7.rst:879 msgid "decimal" -msgstr "" +msgstr "decimal" #: ../../whatsnew/3.7.rst:881 msgid "" @@ -1509,7 +1682,7 @@ msgstr "" #: ../../whatsnew/3.7.rst:950 msgid "http.client" -msgstr "" +msgstr "http.client" #: ../../whatsnew/3.7.rst:952 msgid "" @@ -1549,7 +1722,7 @@ msgstr "" #: ../../whatsnew/3.7.rst:978 msgid "idlelib and IDLE" -msgstr "idlelib and IDLE" +msgstr "idlelib e IDLE" #: ../../whatsnew/3.7.rst:980 msgid "" @@ -1727,7 +1900,7 @@ msgstr "" #: ../../whatsnew/3.7.rst:1093 ../../whatsnew/3.7.rst:2022 msgid "locale" -msgstr "" +msgstr "locale" #: ../../whatsnew/3.7.rst:1095 msgid "" @@ -1779,7 +1952,7 @@ msgstr "" #: ../../whatsnew/3.7.rst:1126 msgid "mimetypes" -msgstr "" +msgstr "mimetypes" #: ../../whatsnew/3.7.rst:1128 msgid "" @@ -1857,7 +2030,7 @@ msgstr "" #: ../../whatsnew/3.7.rst:1177 msgid "" "The mode argument of :func:`os.makedirs` no longer affects the file " -"permission bits of newly-created intermediate-level directories. " +"permission bits of newly created intermediate-level directories. " "(Contributed by Serhiy Storchaka in :issue:`19930`.)" msgstr "" @@ -1950,8 +2123,8 @@ msgstr "" #: ../../whatsnew/3.7.rst:1243 msgid "" -":func:`re.split` now supports splitting on a pattern like ``r'\\b'``, ``'^" -"$'`` or ``(?=-)`` that matches an empty string. (Contributed by Serhiy " +":func:`re.split` now supports splitting on a pattern like ``r'\\b'``, " +"``'^$'`` or ``(?=-)`` that matches an empty string. (Contributed by Serhiy " "Storchaka in :issue:`25054`.)" msgstr "" @@ -2326,7 +2499,7 @@ msgstr "unicodedata" #: ../../whatsnew/3.7.rst:1509 msgid "" "The internal :mod:`unicodedata` database has been upgraded to use `Unicode " -"11 `_. (Contributed by " +"11 `_. (Contributed by " "Benjamin Peterson.)" msgstr "" @@ -2345,7 +2518,7 @@ msgstr "" #: ../../whatsnew/3.7.rst:1526 msgid "unittest.mock" -msgstr "" +msgstr "unittest.mock" #: ../../whatsnew/3.7.rst:1528 msgid "" @@ -2375,7 +2548,7 @@ msgstr "" #: ../../whatsnew/3.7.rst:1548 msgid "uu" -msgstr "" +msgstr "uu" #: ../../whatsnew/3.7.rst:1550 msgid "" @@ -2386,7 +2559,7 @@ msgstr "" #: ../../whatsnew/3.7.rst:1556 msgid "uuid" -msgstr "" +msgstr "uuid" #: ../../whatsnew/3.7.rst:1558 msgid "" @@ -2407,7 +2580,7 @@ msgstr "" #: ../../whatsnew/3.7.rst:1572 msgid "warnings" -msgstr "" +msgstr "avisos" #: ../../whatsnew/3.7.rst:1574 msgid "" @@ -2494,7 +2667,7 @@ msgstr "" #: ../../whatsnew/3.7.rst:1620 msgid "zipapp" -msgstr "" +msgstr "zipapp" #: ../../whatsnew/3.7.rst:1622 msgid "" @@ -2634,14 +2807,14 @@ msgstr "" msgid "" "The type of results of :c:func:`PyThread_start_new_thread` and :c:func:" "`PyThread_get_thread_ident`, and the *id* parameter of :c:func:" -"`PyThreadState_SetAsyncExc` changed from :c:type:`long` to :c:type:`unsigned " +"`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 msgid "" ":c:func:`PyUnicode_AsWideCharString` now raises a :exc:`ValueError` if the " -"second argument is ``NULL`` and the :c:type:`wchar_t*` string contains null " +"second argument is ``NULL`` and the :c:expr:`wchar_t*` string contains null " "characters. (Contributed by Serhiy Storchaka in :issue:`30708`.)" msgstr "" @@ -2685,7 +2858,7 @@ msgstr "" #: ../../whatsnew/3.7.rst:1745 msgid "Build Changes" -msgstr "Alterações de compilação" +msgstr "Mudanças na construção" #: ../../whatsnew/3.7.rst:1747 msgid "" @@ -2909,7 +3082,7 @@ msgstr "" #: ../../whatsnew/3.7.rst:1890 msgid "Other CPython Implementation Changes" -msgstr "" +msgstr "Outras mudanças na implementação do CPython" #: ../../whatsnew/3.7.rst:1892 msgid "" @@ -2947,7 +3120,7 @@ msgstr "" #: ../../whatsnew/3.7.rst:1916 msgid "Deprecated Python Behavior" -msgstr "" +msgstr "Comportamento do Python descontinuado" #: ../../whatsnew/3.7.rst:1918 msgid "" @@ -3195,48 +3368,49 @@ msgstr "" #: ../../whatsnew/3.7.rst:2123 msgid "" -"CPython's own :source:`CI configuration file <.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." +"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." msgstr "" -#: ../../whatsnew/3.7.rst:2131 +#: ../../whatsnew/3.7.rst:2132 msgid "API and Feature Removals" msgstr "Remoção de APIs e recursos" -#: ../../whatsnew/3.7.rst:2133 +#: ../../whatsnew/3.7.rst:2134 msgid "The following features and APIs have been removed from Python 3.7:" msgstr "" -#: ../../whatsnew/3.7.rst:2135 +#: ../../whatsnew/3.7.rst:2136 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:2139 +#: ../../whatsnew/3.7.rst:2140 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:2143 +#: ../../whatsnew/3.7.rst:2144 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:2146 +#: ../../whatsnew/3.7.rst:2147 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." msgstr "" -#: ../../whatsnew/3.7.rst:2150 +#: ../../whatsnew/3.7.rst:2151 msgid "" ":func:`collections.namedtuple` no longer supports the *verbose* parameter or " "``_source`` attribute which showed the generated source code for the named " @@ -3245,14 +3419,14 @@ msgid "" "Naoki, Serhiy Storchaka, and Raymond Hettinger in :issue:`28638`.)" msgstr "" -#: ../../whatsnew/3.7.rst:2156 +#: ../../whatsnew/3.7.rst:2157 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:2160 +#: ../../whatsnew/3.7.rst:2161 msgid "" "Removed previously deprecated in Python 2.4 classes ``Plist``, ``Dict`` and " "``_InternalDict`` in the :mod:`plistlib` module. Dict values in the result " @@ -3261,7 +3435,7 @@ msgid "" "access to access items of these dictionaries." msgstr "" -#: ../../whatsnew/3.7.rst:2166 +#: ../../whatsnew/3.7.rst:2167 msgid "" "The ``asyncio.windows_utils.socketpair()`` function has been removed. Use " "the :func:`socket.socketpair` function instead, it is available on all " @@ -3269,14 +3443,14 @@ msgid "" "alias to ``socket.socketpair`` on Python 3.5 and newer." msgstr "" -#: ../../whatsnew/3.7.rst:2172 +#: ../../whatsnew/3.7.rst:2173 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:2177 +#: ../../whatsnew/3.7.rst:2178 msgid "" "Direct instantiation of :class:`ssl.SSLSocket` and :class:`ssl.SSLObject` " "objects is now prohibited. The constructors were never documented, tested, " @@ -3285,17 +3459,17 @@ msgid "" "in :issue:`32951`.)" msgstr "" -#: ../../whatsnew/3.7.rst:2183 +#: ../../whatsnew/3.7.rst:2184 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:2188 +#: ../../whatsnew/3.7.rst:2189 msgid "Module Removals" msgstr "" -#: ../../whatsnew/3.7.rst:2190 +#: ../../whatsnew/3.7.rst:2191 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 " @@ -3303,11 +3477,11 @@ msgid "" "Smith in :issue:`29137`.)" msgstr "" -#: ../../whatsnew/3.7.rst:2197 ../../whatsnew/3.7.rst:2473 +#: ../../whatsnew/3.7.rst:2198 ../../whatsnew/3.7.rst:2474 msgid "Windows-only Changes" msgstr "" -#: ../../whatsnew/3.7.rst:2199 +#: ../../whatsnew/3.7.rst:2200 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`` " @@ -3317,7 +3491,7 @@ msgid "" "(Contributed by Steve Barnes in :issue:`30291`.)" msgstr "" -#: ../../whatsnew/3.7.rst:2206 +#: ../../whatsnew/3.7.rst:2207 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 " @@ -3326,11 +3500,11 @@ msgid "" "(Contributed by Steve Barnes in :issue:`30362`.)" msgstr "" -#: ../../whatsnew/3.7.rst:2216 +#: ../../whatsnew/3.7.rst:2217 msgid "Porting to Python 3.7" msgstr "" -#: ../../whatsnew/3.7.rst:2218 +#: ../../whatsnew/3.7.rst:2219 msgid "" "This section lists previously described changes and other bugfixes that may " "require changes to your code." @@ -3338,18 +3512,18 @@ 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:2223 +#: ../../whatsnew/3.7.rst:2224 msgid "Changes in Python Behavior" msgstr "" -#: ../../whatsnew/3.7.rst:2225 +#: ../../whatsnew/3.7.rst:2226 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:2229 +#: ../../whatsnew/3.7.rst:2230 msgid "" ":pep:`479` is enabled for all code in Python 3.7, meaning that :exc:" "`StopIteration` exceptions raised directly or indirectly in coroutines and " @@ -3357,19 +3531,19 @@ msgid "" "by Yury Selivanov in :issue:`32670`.)" msgstr "" -#: ../../whatsnew/3.7.rst:2235 +#: ../../whatsnew/3.7.rst:2236 msgid "" ":meth:`object.__aiter__` methods can no longer be declared as asynchronous. " "(Contributed by Yury Selivanov in :issue:`31709`.)" msgstr "" -#: ../../whatsnew/3.7.rst:2238 +#: ../../whatsnew/3.7.rst:2239 msgid "" "Due to an oversight, earlier Python versions erroneously accepted the " "following syntax::" msgstr "" -#: ../../whatsnew/3.7.rst:2246 +#: ../../whatsnew/3.7.rst:2247 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 " @@ -3378,7 +3552,7 @@ msgid "" "`32012` and :issue:`32023`.)" msgstr "" -#: ../../whatsnew/3.7.rst:2252 +#: ../../whatsnew/3.7.rst:2253 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 " @@ -3390,11 +3564,11 @@ msgid "" "place)." msgstr "" -#: ../../whatsnew/3.7.rst:2262 +#: ../../whatsnew/3.7.rst:2263 msgid "Changes in the Python API" msgstr "Alterações na API Python" -#: ../../whatsnew/3.7.rst:2264 +#: ../../whatsnew/3.7.rst:2265 msgid "" ":meth:`socketserver.ThreadingMixIn.server_close` now waits until all non-" "daemon threads complete. Set the new :attr:`socketserver.ThreadingMixIn." @@ -3402,7 +3576,7 @@ msgid "" "(Contributed by Victor Stinner in :issue:`31233` and :issue:`33540`.)" msgstr "" -#: ../../whatsnew/3.7.rst:2270 +#: ../../whatsnew/3.7.rst:2271 msgid "" ":meth:`socketserver.ForkingMixIn.server_close` now waits until all child " "processes complete. Set the new :attr:`socketserver.ForkingMixIn." @@ -3410,21 +3584,21 @@ msgid "" "(Contributed by Victor Stinner in :issue:`31151` and :issue:`33540`.)" msgstr "" -#: ../../whatsnew/3.7.rst:2276 +#: ../../whatsnew/3.7.rst:2277 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:2280 +#: ../../whatsnew/3.7.rst:2281 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:2284 +#: ../../whatsnew/3.7.rst:2285 msgid "" "A format string argument for :meth:`string.Formatter.format` is now :ref:" "`positional-only `. Passing it as a keyword " @@ -3432,7 +3606,7 @@ msgid "" "issue:`29193`.)" msgstr "" -#: ../../whatsnew/3.7.rst:2289 +#: ../../whatsnew/3.7.rst:2290 msgid "" "Attributes :attr:`~http.cookies.Morsel.key`, :attr:`~http.cookies.Morsel." "value` and :attr:`~http.cookies.Morsel.coded_value` of class :class:`http." @@ -3441,21 +3615,21 @@ msgid "" "them. (Contributed by Serhiy Storchaka in :issue:`29192`.)" msgstr "" -#: ../../whatsnew/3.7.rst:2297 +#: ../../whatsnew/3.7.rst:2298 msgid "" "The *mode* argument of :func:`os.makedirs` no longer affects the file " -"permission bits of newly-created intermediate-level directories. To set " +"permission bits of newly created intermediate-level directories. To set " "their file permission bits you can set the umask before invoking " "``makedirs()``. (Contributed by Serhiy Storchaka in :issue:`19930`.)" msgstr "" -#: ../../whatsnew/3.7.rst:2303 +#: ../../whatsnew/3.7.rst:2304 msgid "" "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:2306 +#: ../../whatsnew/3.7.rst:2307 msgid "" ":func:`~cgi.parse_multipart` now accepts the *encoding* and *errors* " "arguments and returns the same results as :class:`~FieldStorage`: for non-" @@ -3463,27 +3637,27 @@ msgid "" "(Contributed by Pierre Quentel in :issue:`29979`.)" msgstr "" -#: ../../whatsnew/3.7.rst:2312 +#: ../../whatsnew/3.7.rst:2313 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:2316 +#: ../../whatsnew/3.7.rst:2317 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:2320 +#: ../../whatsnew/3.7.rst:2321 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:2323 +#: ../../whatsnew/3.7.rst:2324 msgid "" "Because :func:`shutil.rmtree` is now implemented using the :func:`os." "scandir` function, the user specified handler *onerror* is now called with " @@ -3491,7 +3665,7 @@ msgid "" "directory is failed." msgstr "" -#: ../../whatsnew/3.7.rst:2328 +#: ../../whatsnew/3.7.rst:2329 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 " @@ -3502,7 +3676,7 @@ msgid "" "with a backslash. (Contributed by Serhiy Storchaka in :issue:`30349`.)" msgstr "" -#: ../../whatsnew/3.7.rst:2339 +#: ../../whatsnew/3.7.rst:2340 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 " @@ -3513,7 +3687,7 @@ msgid "" "patterns since Python 3.5." msgstr "" -#: ../../whatsnew/3.7.rst:2348 +#: ../../whatsnew/3.7.rst:2349 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 " @@ -3523,7 +3697,7 @@ msgid "" "as ``r'(?m)^[^\\S\\n]*$'``." msgstr "" -#: ../../whatsnew/3.7.rst:2355 +#: ../../whatsnew/3.7.rst:2356 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-'`` " @@ -3531,25 +3705,25 @@ msgid "" "and the second minus replaces an empty string between 'x' and 'd')." msgstr "" -#: ../../whatsnew/3.7.rst:2361 +#: ../../whatsnew/3.7.rst:2362 msgid "(Contributed by Serhiy Storchaka in :issue:`25054` and :issue:`32308`.)" msgstr "" -#: ../../whatsnew/3.7.rst:2363 +#: ../../whatsnew/3.7.rst:2364 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:2367 +#: ../../whatsnew/3.7.rst:2368 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:2371 +#: ../../whatsnew/3.7.rst:2372 msgid "" "On OSes that support :const:`socket.SOCK_NONBLOCK` or :const:`socket." "SOCK_CLOEXEC` bit flags, the :attr:`socket.type ` no " @@ -3558,7 +3732,7 @@ msgid "" "Selivanov in :issue:`32331`.)" msgstr "" -#: ../../whatsnew/3.7.rst:2378 +#: ../../whatsnew/3.7.rst:2379 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 " @@ -3568,7 +3742,7 @@ msgid "" "`STARTUPINFO.lpAttributeList `." msgstr "" -#: ../../whatsnew/3.7.rst:2386 +#: ../../whatsnew/3.7.rst:2387 msgid "" ":meth:`importlib.machinery.PathFinder.invalidate_caches` -- which implicitly " "affects :func:`importlib.invalidate_caches` -- now deletes entries in :data:" @@ -3576,7 +3750,7 @@ msgid "" "Cannon in :issue:`33169`.)" msgstr "" -#: ../../whatsnew/3.7.rst:2391 +#: ../../whatsnew/3.7.rst:2392 msgid "" "In :mod:`asyncio`, :meth:`loop.sock_recv() `, :meth:" "`loop.sock_sendall() `, :meth:`loop.sock_accept() " @@ -3587,21 +3761,21 @@ msgid "" "(Contributed by Yury Selivanov in :issue:`32327`.)" msgstr "" -#: ../../whatsnew/3.7.rst:2402 +#: ../../whatsnew/3.7.rst:2403 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:2406 +#: ../../whatsnew/3.7.rst:2407 msgid "" ":attr:`Struct.format ` is now a :class:`str` instance " "instead of a :class:`bytes` instance. (Contributed by Victor Stinner in :" "issue:`21071`.)" msgstr "" -#: ../../whatsnew/3.7.rst:2410 +#: ../../whatsnew/3.7.rst:2411 msgid "" ":mod:`argparse` subparsers can now be made mandatory by passing " "``required=True`` to :meth:`ArgumentParser.add_subparsers() ` will now " "consistently raise an exception when a date falls outside of the " @@ -3628,13 +3802,13 @@ msgid "" "date`. (Contributed by Alexander Belopolsky in :issue:`28292`.)" msgstr "" -#: ../../whatsnew/3.7.rst:2428 +#: ../../whatsnew/3.7.rst:2429 msgid "" ":class:`collections.ChainMap` now preserves the order of the underlying " "mappings. (Contributed by Raymond Hettinger in :issue:`32792`.)" msgstr "" -#: ../../whatsnew/3.7.rst:2431 +#: ../../whatsnew/3.7.rst:2432 msgid "" "The ``submit()`` method of :class:`concurrent.futures.ThreadPoolExecutor` " "and :class:`concurrent.futures.ProcessPoolExecutor` now raises a :exc:" @@ -3642,7 +3816,7 @@ msgid "" "Nemec in :issue:`33097`.)" msgstr "" -#: ../../whatsnew/3.7.rst:2436 +#: ../../whatsnew/3.7.rst:2437 msgid "" "The :class:`configparser.ConfigParser` constructor now uses ``read_dict()`` " "to process the default values, making its behavior consistent with the rest " @@ -3651,7 +3825,7 @@ msgid "" "in :issue:`23835`.)" msgstr "" -#: ../../whatsnew/3.7.rst:2442 +#: ../../whatsnew/3.7.rst:2443 msgid "" "Several undocumented internal imports were removed. One example is that ``os." "errno`` is no longer available; use ``import errno`` directly instead. Note " @@ -3659,11 +3833,11 @@ msgid "" "notice, even in micro version releases." msgstr "" -#: ../../whatsnew/3.7.rst:2450 +#: ../../whatsnew/3.7.rst:2451 msgid "Changes in the C API" msgstr "Alterações na API C" -#: ../../whatsnew/3.7.rst:2452 +#: ../../whatsnew/3.7.rst:2453 msgid "" "The function :c:func:`PySlice_GetIndicesEx` is considered unsafe for " "resizable sequences. If the slice indices are not instances of :class:" @@ -3675,34 +3849,34 @@ msgid "" "Storchaka in :issue:`27867`.)" msgstr "" -#: ../../whatsnew/3.7.rst:2463 +#: ../../whatsnew/3.7.rst:2464 msgid "CPython bytecode changes" msgstr "Alterações de bytecode do CPython" -#: ../../whatsnew/3.7.rst:2465 +#: ../../whatsnew/3.7.rst:2466 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:2468 +#: ../../whatsnew/3.7.rst:2469 msgid "" "The :opcode:`STORE_ANNOTATION` opcode has been removed. (Contributed by Mark " "Shannon in :issue:`32550`.)" msgstr "" -#: ../../whatsnew/3.7.rst:2475 +#: ../../whatsnew/3.7.rst:2476 msgid "" "The file used to override :data:`sys.path` is now called ``._pth`` instead of ``'sys.path'``. See :ref:`finding_modules` for " "more information. (Contributed by Steve Dower in :issue:`28137`.)" msgstr "" -#: ../../whatsnew/3.7.rst:2482 +#: ../../whatsnew/3.7.rst:2483 msgid "Other CPython implementation changes" msgstr "" -#: ../../whatsnew/3.7.rst:2484 +#: ../../whatsnew/3.7.rst:2485 msgid "" "In preparation for potential future changes to the public CPython runtime " "initialization API (see :pep:`432` for an initial, but somewhat outdated, " @@ -3717,21 +3891,21 @@ msgid "" "Stinner in a number of other issues). Some known details affected:" msgstr "" -#: ../../whatsnew/3.7.rst:2497 +#: ../../whatsnew/3.7.rst:2498 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." +"calling ``Py_Initialize``. Use :c:func:`PySys_AddWarnOption` instead." msgstr "" -#: ../../whatsnew/3.7.rst:2501 +#: ../../whatsnew/3.7.rst:2502 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" msgstr "" -#: ../../whatsnew/3.7.rst:2505 +#: ../../whatsnew/3.7.rst:2506 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 " @@ -3741,7 +3915,7 @@ msgid "" "BytesWarning`` warnings filter added to convert them to exceptions." msgstr "" -#: ../../whatsnew/3.7.rst:2512 +#: ../../whatsnew/3.7.rst:2513 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 " @@ -3749,7 +3923,7 @@ msgid "" "function's header line." msgstr "" -#: ../../whatsnew/3.7.rst:2517 +#: ../../whatsnew/3.7.rst:2518 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 " @@ -3757,11 +3931,11 @@ msgid "" "(Contributed by Mark Shannon in :issue:`25612`.)" msgstr "" -#: ../../whatsnew/3.7.rst:2523 +#: ../../whatsnew/3.7.rst:2524 msgid "Notable changes in Python 3.7.1" msgstr "" -#: ../../whatsnew/3.7.rst:2525 +#: ../../whatsnew/3.7.rst:2526 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 " @@ -3771,14 +3945,14 @@ msgid "" "`Py_IgnoreEnvironmentFlag` to 1 before calling :c:func:`Py_Initialize`." msgstr "" -#: ../../whatsnew/3.7.rst:2532 +#: ../../whatsnew/3.7.rst:2533 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:2536 +#: ../../whatsnew/3.7.rst:2537 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 " @@ -3786,11 +3960,11 @@ msgid "" "Ammar Askar in :issue:`33899`.)" msgstr "" -#: ../../whatsnew/3.7.rst:2542 +#: ../../whatsnew/3.7.rst:2543 msgid "Notable changes in Python 3.7.2" msgstr "" -#: ../../whatsnew/3.7.rst:2544 +#: ../../whatsnew/3.7.rst:2545 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. " @@ -3800,11 +3974,11 @@ msgid "" "to get the new scripts." msgstr "" -#: ../../whatsnew/3.7.rst:2552 +#: ../../whatsnew/3.7.rst:2553 msgid "Notable changes in Python 3.7.6" msgstr "" -#: ../../whatsnew/3.7.rst:2554 +#: ../../whatsnew/3.7.rst:2555 msgid "" "Due to significant security concerns, the *reuse_address* parameter of :meth:" "`asyncio.loop.create_datagram_endpoint` is no longer supported. This is " @@ -3820,11 +3994,11 @@ msgstr "" "``loop.create_datagram_endpoint()``. (Contribuição de Kyle Stanley, Antoine " "Pitrou e Yury Selivanov em :issue:`37228`.)" -#: ../../whatsnew/3.7.rst:2562 +#: ../../whatsnew/3.7.rst:2563 msgid "Notable changes in Python 3.7.10" msgstr "" -#: ../../whatsnew/3.7.rst:2564 +#: ../../whatsnew/3.7.rst:2565 msgid "" "Earlier Python versions allowed using both ``;`` and ``&`` as query " "parameter separators in :func:`urllib.parse.parse_qs` and :func:`urllib." diff --git a/whatsnew/3.8.po b/whatsnew/3.8.po index 0a03b9778..6eeca1a64 100644 --- a/whatsnew/3.8.po +++ b/whatsnew/3.8.po @@ -1,32 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, Python Software 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 , 2021 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.10\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-08-19 13:46+0000\n" -"PO-Revision-Date: 2021-06-29 13:04+0000\n" -"Last-Translator: Rafael Fontenelle , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2026-03-25 18:42+0000\n" +"PO-Revision-Date: 2025-09-22 15:59+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../whatsnew/3.8.rst:3 msgid "What's New In Python 3.8" @@ -42,25 +37,27 @@ msgstr "Raymond Hettinger" #: ../../whatsnew/3.8.rst:47 msgid "" -"This article explains the new features in Python 3.8, compared to 3.7. For " -"full details, see the :ref:`changelog `." +"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 `." msgstr "" "Este artigo explica os novos recursos no Python 3.8, em comparação com 3.7. " -"Para detalhes completos, veja o :ref:`changelog `." +"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:60 +#: ../../whatsnew/3.8.rst:61 msgid "Summary -- Release highlights" msgstr "Resumo -- Destaques da versão" -#: ../../whatsnew/3.8.rst:71 +#: ../../whatsnew/3.8.rst:72 msgid "New Features" msgstr "Novas funcionalidades" -#: ../../whatsnew/3.8.rst:74 +#: ../../whatsnew/3.8.rst:75 msgid "Assignment expressions" msgstr "Expressões de atribuição" -#: ../../whatsnew/3.8.rst:76 +#: ../../whatsnew/3.8.rst:77 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 " @@ -68,12 +65,12 @@ msgid "" "org/wiki/Walrus#/media/File:Pacific_Walrus_-_Bull_(8247646168).jpg>`_." 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 " +"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 `_." +"File:Pacific_Walrus_-_Bull_(8247646168).jpg>`_" -#: ../../whatsnew/3.8.rst:81 +#: ../../whatsnew/3.8.rst:82 msgid "" "In this example, the assignment expression helps avoid calling :func:`len` " "twice::" @@ -81,7 +78,7 @@ msgstr "" "Neste exemplo, a expressão de atribuição ajuda a evitar a chamada de :func:" "`len` duas vezes::" -#: ../../whatsnew/3.8.rst:87 +#: ../../whatsnew/3.8.rst:88 msgid "" "A similar benefit arises during regular expression matching where match " "objects are needed twice, once to test whether a match occurred and another " @@ -92,7 +89,7 @@ msgstr "" "uma vez para testar se ocorreu uma correspondência e outra para extrair um " "subgrupo::" -#: ../../whatsnew/3.8.rst:95 +#: ../../whatsnew/3.8.rst:96 msgid "" "The operator is also useful with while-loops that compute a value to test " "loop termination and then need that same value again in the body of the " @@ -102,7 +99,7 @@ msgstr "" "finalização do loop e, em seguida, precisam desse mesmo valor novamente no " "corpo do loop::" -#: ../../whatsnew/3.8.rst:103 +#: ../../whatsnew/3.8.rst:104 msgid "" "Another motivating use case arises in list comprehensions where a value " "computed in a filtering condition is also needed in the expression body::" @@ -111,41 +108,41 @@ msgstr "" "calculado em uma condição de filtragem também é necessário no corpo da " "expressão::" -#: ../../whatsnew/3.8.rst:110 +#: ../../whatsnew/3.8.rst:111 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:113 +#: ../../whatsnew/3.8.rst:114 msgid "See :pep:`572` for a full description." msgstr "Consulte :pep:`572` para uma descrição completa." -#: ../../whatsnew/3.8.rst:115 +#: ../../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:119 +#: ../../whatsnew/3.8.rst:120 msgid "Positional-only parameters" -msgstr "Parâmetros apenas posicionais" +msgstr "Parâmetros somente-posicionais" -#: ../../whatsnew/3.8.rst:121 +#: ../../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' `Argument Clinic `_ tool." +"functions annotated with Larry Hastings' :ref:`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 `Argument Clinic " -"`_ de Larry Hastings." +"``help()`` para funções C anotadas com a ferramenta :ref:`Argument Clinic " +"` de Larry Hastings." -#: ../../whatsnew/3.8.rst:127 +#: ../../whatsnew/3.8.rst:128 msgid "" "In the following example, parameters *a* and *b* are positional-only, while " "*c* or *d* can be positional or keyword, and *e* or *f* are required to be " @@ -155,15 +152,15 @@ msgstr "" "enquanto *c* ou *d* podem ser posicionais ou nomeados e *e* ou *f* são " "obrigatoriamente nomeados::" -#: ../../whatsnew/3.8.rst:134 +#: ../../whatsnew/3.8.rst:135 msgid "The following is a valid call::" msgstr "A seguir, uma chamada válida::" -#: ../../whatsnew/3.8.rst:138 +#: ../../whatsnew/3.8.rst:139 msgid "However, these are invalid calls::" msgstr "Porém, essas chamadas são inválidas::" -#: ../../whatsnew/3.8.rst:143 +#: ../../whatsnew/3.8.rst:144 msgid "" "One use case for this notation is that it allows pure Python functions to " "fully emulate behaviors of existing C coded functions. For example, the " @@ -174,7 +171,7 @@ msgstr "" "existentes. Por exemplo, a função embutida :func:`divmod` não aceita " "argumentos nomeados::" -#: ../../whatsnew/3.8.rst:151 +#: ../../whatsnew/3.8.rst:152 msgid "" "Another use case is to preclude keyword arguments when the parameter name is " "not helpful. For example, the builtin :func:`len` function has the " @@ -184,7 +181,7 @@ msgstr "" "não for útil. Por exemplo, a função embutida :func:`len` possui a assinatura " "``len(obj, /)``. Isso exclui chamadas estranhas, como::" -#: ../../whatsnew/3.8.rst:157 +#: ../../whatsnew/3.8.rst:158 msgid "" "A further benefit of marking a parameter as positional-only is that it " "allows the parameter name to be changed in the future without risk of " @@ -198,7 +195,7 @@ msgstr "" "nome do parâmetro *dist* pode ser alterado no futuro. Isso foi possível com " "a seguinte especificação de função::" -#: ../../whatsnew/3.8.rst:166 +#: ../../whatsnew/3.8.rst:167 msgid "" "Since the parameters to the left of ``/`` are not exposed as possible " "keywords, the parameters names remain available for use in ``**kwargs``::" @@ -207,7 +204,7 @@ msgstr "" "palavras-chave, os nomes dos parâmetros permanecem disponíveis para uso em " "``**kwargs``::" -#: ../../whatsnew/3.8.rst:175 +#: ../../whatsnew/3.8.rst:176 msgid "" "This greatly simplifies the implementation of functions and methods that " "need to accept arbitrary keyword arguments. For example, here is an excerpt " @@ -217,20 +214,20 @@ msgstr "" "aceitar argumentos nomeados arbitrários. Por exemplo, aqui está um trecho do " "código no módulo :mod:`collections`::" -#: ../../whatsnew/3.8.rst:184 +#: ../../whatsnew/3.8.rst:185 msgid "See :pep:`570` for a full description." msgstr "Consulte a :pep:`570` para uma descrição completa." -#: ../../whatsnew/3.8.rst:186 +#: ../../whatsnew/3.8.rst:187 msgid "(Contributed by Pablo Galindo in :issue:`36540`.)" msgstr "(Contribuição de Pablo Galindo em :issue:`36540`.)" -#: ../../whatsnew/3.8.rst:192 +#: ../../whatsnew/3.8.rst:193 msgid "Parallel filesystem cache for compiled bytecode files" msgstr "" "Cache do sistema de arquivos paralelo para arquivos de bytecode compilados" -#: ../../whatsnew/3.8.rst:194 +#: ../../whatsnew/3.8.rst:195 msgid "" "The new :envvar:`PYTHONPYCACHEPREFIX` setting (also available as :option:`-" "X` ``pycache_prefix``) configures the implicit bytecode cache to use a " @@ -242,7 +239,7 @@ msgstr "" "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:200 +#: ../../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)." @@ -250,15 +247,15 @@ msgstr "" "O local do cache é relatado em :data:`sys.pycache_prefix` (:const:`None` " "indica o local padrão nos subdiretórios ``__pycache__``)." -#: ../../whatsnew/3.8.rst:204 +#: ../../whatsnew/3.8.rst:205 msgid "(Contributed by Carl Meyer in :issue:`33499`.)" msgstr "(Contribuição de Carl Meyer em :issue:`33499`.)" -#: ../../whatsnew/3.8.rst:208 +#: ../../whatsnew/3.8.rst:209 msgid "Debug build uses the same ABI as release build" msgstr "A compilação de depuração usa a mesma ABI da compilação de lançamento" -#: ../../whatsnew/3.8.rst:210 +#: ../../whatsnew/3.8.rst:211 msgid "" "Python now uses the same ABI whether it's built in release or debug mode. On " "Unix, when Python is built in debug mode, it is now possible to load C " @@ -269,7 +266,7 @@ msgstr "" "é possível carregar extensões C compiladas no modo de lançamento e extensões " "C compiladas usando a ABI estável." -#: ../../whatsnew/3.8.rst:214 +#: ../../whatsnew/3.8.rst:215 msgid "" "Release builds and :ref:`debug builds ` are now ABI compatible: " "defining the ``Py_DEBUG`` macro no longer implies the ``Py_TRACE_REFS`` " @@ -287,7 +284,7 @@ msgstr "" "nova opção de compilação :option:`./configure --with-trace-refs <--with-" "trace-refs>`. (Contribuição de Victor Stinner em :issue:`36465`.)" -#: ../../whatsnew/3.8.rst:222 +#: ../../whatsnew/3.8.rst:223 msgid "" "On Unix, C extensions are no longer linked to libpython except on Android " "and Cygwin. It is now possible for a statically linked Python to load a C " @@ -295,11 +292,11 @@ 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:229 +#: ../../whatsnew/3.8.rst:230 msgid "" "On Unix, when Python is built in debug mode, import now also looks for C " "extensions compiled in release mode and for C extensions compiled with the " @@ -310,7 +307,7 @@ msgstr "" "extensões C compiladas com a ABI estável. (Contribuição de Victor Stinner " "em :issue:`36722`.)" -#: ../../whatsnew/3.8.rst:234 +#: ../../whatsnew/3.8.rst:235 msgid "" "To embed Python into an application, a new ``--embed`` option must be passed " "to ``python3-config --libs --embed`` to get ``-lpython3.8`` (link the " @@ -320,12 +317,12 @@ 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:240 +#: ../../whatsnew/3.8.rst:241 msgid "" "Add a pkg-config ``python-3.8-embed`` module to embed Python into an " "application: ``pkg-config python-3.8-embed --libs`` includes ``-" @@ -341,7 +338,7 @@ msgstr "" "python-X.Y --libs`` (sem ``--embed``) se o comando anterior falhar " "(substitua ``X.Y`` pela versão do Python)." -#: ../../whatsnew/3.8.rst:246 +#: ../../whatsnew/3.8.rst:247 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 " @@ -351,16 +348,16 @@ msgid "" 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:254 +#: ../../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:256 +#: ../../whatsnew/3.8.rst:258 msgid "" "Added an ``=`` specifier to :term:`f-string`\\s. An f-string such as " "``f'{expr=}'`` will expand to the text of the expression, an equal sign, " @@ -370,31 +367,31 @@ msgstr "" "como ``f'{expr=}'`` será expandida para o texto da expressão, um sinal de " "igual e, em seguida, a representação da expressão avaliada. Por exemplo:" -#: ../../whatsnew/3.8.rst:265 +#: ../../whatsnew/3.8.rst:267 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:272 +#: ../../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:278 +#: ../../whatsnew/3.8.rst:280 msgid "(Contributed by Eric V. Smith and Larry Hastings in :issue:`36817`.)" msgstr "(Contribuição de Eric V. Smith e Larry Hastings em :issue:`36817`.)" -#: ../../whatsnew/3.8.rst:282 +#: ../../whatsnew/3.8.rst:284 msgid "PEP 578: Python Runtime Audit Hooks" msgstr "PEP 578: Ganchos de auditoria em tempo de execução Python" -#: ../../whatsnew/3.8.rst:284 +#: ../../whatsnew/3.8.rst:286 msgid "" "The PEP adds an Audit Hook and Verified Open Hook. Both are available from " "Python and native code, allowing applications and frameworks written in pure " @@ -408,153 +405,153 @@ msgstr "" "além de permitir que incorporadores ou administradores de sistema " "implementem versões do Python onde a auditoria está sempre ativada." -#: ../../whatsnew/3.8.rst:290 +#: ../../whatsnew/3.8.rst:292 msgid "See :pep:`578` for full details." -msgstr "Veja :pep:`578` para mais detalhes. " +msgstr "Veja :pep:`578` para mais detalhes." -#: ../../whatsnew/3.8.rst:294 +#: ../../whatsnew/3.8.rst:296 msgid "PEP 587: Python Initialization Configuration" msgstr "PEP 587: Configuração de Inicialização do Python" -#: ../../whatsnew/3.8.rst:296 +#: ../../whatsnew/3.8.rst:298 msgid "" "The :pep:`587` adds a new C API to configure the Python Initialization " "providing finer control on the whole configuration and better error " "reporting." msgstr "" -"O: pep:`587` adiciona uma nova API C para configurar a Inicialização do " +"O :pep:`587` adiciona uma nova API C para configurar a Inicialização do " "Python, fornecendo um controle mais preciso de toda a configuração e " "melhores relatórios de erros." -#: ../../whatsnew/3.8.rst:299 +#: ../../whatsnew/3.8.rst:301 msgid "New structures:" msgstr "Novas estruturas:" -#: ../../whatsnew/3.8.rst:301 +#: ../../whatsnew/3.8.rst:303 msgid ":c:type:`PyConfig`" msgstr ":c:type:`PyConfig`" -#: ../../whatsnew/3.8.rst:302 +#: ../../whatsnew/3.8.rst:304 msgid ":c:type:`PyPreConfig`" msgstr ":c:type:`PyPreConfig`" -#: ../../whatsnew/3.8.rst:303 +#: ../../whatsnew/3.8.rst:305 msgid ":c:type:`PyStatus`" msgstr ":c:type:`PyStatus`" -#: ../../whatsnew/3.8.rst:304 +#: ../../whatsnew/3.8.rst:306 msgid ":c:type:`PyWideStringList`" msgstr ":c:type:`PyWideStringList`" -#: ../../whatsnew/3.8.rst:306 +#: ../../whatsnew/3.8.rst:308 msgid "New functions:" msgstr "Novas Funções:" -#: ../../whatsnew/3.8.rst:308 +#: ../../whatsnew/3.8.rst:310 msgid ":c:func:`PyConfig_Clear`" msgstr ":c:func:`PyConfig_Clear`" -#: ../../whatsnew/3.8.rst:309 +#: ../../whatsnew/3.8.rst:311 msgid ":c:func:`PyConfig_InitIsolatedConfig`" msgstr ":c:func:`PyConfig_InitIsolatedConfig`" -#: ../../whatsnew/3.8.rst:310 +#: ../../whatsnew/3.8.rst:312 msgid ":c:func:`PyConfig_InitPythonConfig`" msgstr ":c:func:`PyConfig_InitPythonConfig`" -#: ../../whatsnew/3.8.rst:311 +#: ../../whatsnew/3.8.rst:313 msgid ":c:func:`PyConfig_Read`" msgstr ":c:func:`PyConfig_Read`" -#: ../../whatsnew/3.8.rst:312 +#: ../../whatsnew/3.8.rst:314 msgid ":c:func:`PyConfig_SetArgv`" msgstr ":c:func:`PyConfig_SetArgv`" -#: ../../whatsnew/3.8.rst:313 +#: ../../whatsnew/3.8.rst:315 msgid ":c:func:`PyConfig_SetBytesArgv`" msgstr ":c:func:`PyConfig_SetBytesArgv`" -#: ../../whatsnew/3.8.rst:314 +#: ../../whatsnew/3.8.rst:316 msgid ":c:func:`PyConfig_SetBytesString`" msgstr ":c:func:`PyConfig_SetBytesString`" -#: ../../whatsnew/3.8.rst:315 +#: ../../whatsnew/3.8.rst:317 msgid ":c:func:`PyConfig_SetString`" msgstr ":c:func:`PyConfig_SetString`" -#: ../../whatsnew/3.8.rst:316 +#: ../../whatsnew/3.8.rst:318 msgid ":c:func:`PyPreConfig_InitIsolatedConfig`" msgstr ":c:func:`PyPreConfig_InitIsolatedConfig`" -#: ../../whatsnew/3.8.rst:317 +#: ../../whatsnew/3.8.rst:319 msgid ":c:func:`PyPreConfig_InitPythonConfig`" msgstr ":c:func:`PyPreConfig_InitPythonConfig`" -#: ../../whatsnew/3.8.rst:318 +#: ../../whatsnew/3.8.rst:320 msgid ":c:func:`PyStatus_Error`" msgstr ":c:func:`PyStatus_Error`" -#: ../../whatsnew/3.8.rst:319 +#: ../../whatsnew/3.8.rst:321 msgid ":c:func:`PyStatus_Exception`" msgstr ":c:func:`PyStatus_Exception`" -#: ../../whatsnew/3.8.rst:320 +#: ../../whatsnew/3.8.rst:322 msgid ":c:func:`PyStatus_Exit`" msgstr ":c:func:`PyStatus_Exit`" -#: ../../whatsnew/3.8.rst:321 +#: ../../whatsnew/3.8.rst:323 msgid ":c:func:`PyStatus_IsError`" msgstr ":c:func:`PyStatus_IsError`" -#: ../../whatsnew/3.8.rst:322 +#: ../../whatsnew/3.8.rst:324 msgid ":c:func:`PyStatus_IsExit`" msgstr ":c:func:`PyStatus_IsExit`" -#: ../../whatsnew/3.8.rst:323 +#: ../../whatsnew/3.8.rst:325 msgid ":c:func:`PyStatus_NoMemory`" msgstr ":c:func:`PyStatus_NoMemory`" -#: ../../whatsnew/3.8.rst:324 +#: ../../whatsnew/3.8.rst:326 msgid ":c:func:`PyStatus_Ok`" msgstr ":c:func:`PyStatus_Ok`" -#: ../../whatsnew/3.8.rst:325 +#: ../../whatsnew/3.8.rst:327 msgid ":c:func:`PyWideStringList_Append`" msgstr ":c:func:`PyWideStringList_Append`" -#: ../../whatsnew/3.8.rst:326 +#: ../../whatsnew/3.8.rst:328 msgid ":c:func:`PyWideStringList_Insert`" msgstr ":c:func:`PyWideStringList_Insert`" -#: ../../whatsnew/3.8.rst:327 +#: ../../whatsnew/3.8.rst:329 msgid ":c:func:`Py_BytesMain`" msgstr ":c:func:`Py_BytesMain`" -#: ../../whatsnew/3.8.rst:328 +#: ../../whatsnew/3.8.rst:330 msgid ":c:func:`Py_ExitStatusException`" msgstr ":c:func:`Py_ExitStatusException`" -#: ../../whatsnew/3.8.rst:329 +#: ../../whatsnew/3.8.rst:331 msgid ":c:func:`Py_InitializeFromConfig`" msgstr ":c:func:`Py_InitializeFromConfig`" -#: ../../whatsnew/3.8.rst:330 +#: ../../whatsnew/3.8.rst:332 msgid ":c:func:`Py_PreInitialize`" msgstr ":c:func:`Py_PreInitialize`" -#: ../../whatsnew/3.8.rst:331 +#: ../../whatsnew/3.8.rst:333 msgid ":c:func:`Py_PreInitializeFromArgs`" msgstr ":c:func:`Py_PreInitializeFromArgs`" -#: ../../whatsnew/3.8.rst:332 +#: ../../whatsnew/3.8.rst:334 msgid ":c:func:`Py_PreInitializeFromBytesArgs`" msgstr ":c:func:`Py_PreInitializeFromBytesArgs`" -#: ../../whatsnew/3.8.rst:333 +#: ../../whatsnew/3.8.rst:335 msgid ":c:func:`Py_RunMain`" msgstr ":c:func:`Py_RunMain`" -#: ../../whatsnew/3.8.rst:335 +#: ../../whatsnew/3.8.rst:337 msgid "" "This PEP also adds ``_PyRuntimeState.preconfig`` (:c:type:`PyPreConfig` " "type) and ``PyInterpreterState.config`` (:c:type:`PyConfig` type) fields to " @@ -563,12 +560,12 @@ msgid "" "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." +"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:341 +#: ../../whatsnew/3.8.rst:343 msgid "" "See :ref:`Python Initialization Configuration ` for the " "documentation." @@ -576,19 +573,19 @@ msgstr "" "Veja :ref:`Configuração de Inicialização do Python ` para a " "documentação." -#: ../../whatsnew/3.8.rst:344 +#: ../../whatsnew/3.8.rst:346 msgid "See :pep:`587` for a full description." msgstr "Consulte a :pep:`587` para uma descrição completa." -#: ../../whatsnew/3.8.rst:346 +#: ../../whatsnew/3.8.rst:348 msgid "(Contributed by Victor Stinner in :issue:`36763`.)" msgstr "(Contribuição de Victor Stinner em :issue:`36763`.)" -#: ../../whatsnew/3.8.rst:350 +#: ../../whatsnew/3.8.rst:352 msgid "PEP 590: Vectorcall: a fast calling protocol for CPython" msgstr "PEP 590: Vectorcall: um protocolo de chamada rápida para CPython" -#: ../../whatsnew/3.8.rst:352 +#: ../../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:" @@ -599,7 +596,7 @@ msgstr "" "ref:`tipo estático ` que implemente um chamável pode usar esse " "protocolo." -#: ../../whatsnew/3.8.rst:358 +#: ../../whatsnew/3.8.rst:360 msgid "" "This is currently provisional. The aim is to make it fully public in Python " "3.9." @@ -607,11 +604,11 @@ msgstr "" "Atualmente, isso é provisório. O objetivo é torná-lo totalmente público no " "Python 3.9." -#: ../../whatsnew/3.8.rst:361 +#: ../../whatsnew/3.8.rst:363 msgid "See :pep:`590` for a full description." msgstr "Consulte a :pep:`590` para uma descrição completa." -#: ../../whatsnew/3.8.rst:363 +#: ../../whatsnew/3.8.rst:365 msgid "" "(Contributed by Jeroen Demeyer, Mark Shannon and Petr Viktorin in :issue:" "`36974`.)" @@ -619,11 +616,11 @@ msgstr "" "(Contribuição de Jeroen Demeyer, Mark Shannon e Petr Viktorin em :issue:" "`36974`.)" -#: ../../whatsnew/3.8.rst:367 +#: ../../whatsnew/3.8.rst:369 msgid "Pickle protocol 5 with out-of-band data buffers" msgstr "Protocolo de Pickle 5 com buffers de dados fora da banda" -#: ../../whatsnew/3.8.rst:369 +#: ../../whatsnew/3.8.rst:371 msgid "" "When :mod:`pickle` is used to transfer large data between Python processes " "in order to take advantage of multi-core or multi-machine processing, it is " @@ -636,29 +633,30 @@ msgstr "" "reduzindo cópias de memória e, possivelmente, aplicando técnicas " "personalizadas, como como compactação dependente de dados." -#: ../../whatsnew/3.8.rst:374 +#: ../../whatsnew/3.8.rst:376 msgid "" "The :mod:`pickle` protocol 5 introduces support for out-of-band buffers " "where :pep:`3118`-compatible data can be transmitted separately from the " "main pickle stream, at the discretion of the communication layer." msgstr "" "O protocolo :mod:`pickle` 5 introduz suporte para buffers fora de banda, " -"onde :dados compatíveis com pep:`3118` podem ser transmitidos separadamente " -"do fluxo de pickle principal, a critério da camada de comunicação." +"onde dados compatíveis com a :pep:`3118` podem ser transmitidos " +"separadamente do fluxo de pickle principal, a critério da camada de " +"comunicação." -#: ../../whatsnew/3.8.rst:378 +#: ../../whatsnew/3.8.rst:380 msgid "See :pep:`574` for a full description." msgstr "Consulte a :pep:`574` para uma descrição completa." -#: ../../whatsnew/3.8.rst:380 +#: ../../whatsnew/3.8.rst:382 msgid "(Contributed by Antoine Pitrou in :issue:`36785`.)" msgstr "(Contribuição de Antoine Pitrou em :issue:`36785`.)" -#: ../../whatsnew/3.8.rst:384 +#: ../../whatsnew/3.8.rst:386 msgid "Other Language Changes" msgstr "Outras mudanças na linguagem" -#: ../../whatsnew/3.8.rst:386 +#: ../../whatsnew/3.8.rst:388 msgid "" "A :keyword:`continue` statement was illegal in the :keyword:`finally` clause " "due to a problem with the implementation. In Python 3.8 this restriction " @@ -668,7 +666,7 @@ msgstr "" "devido a um problema com a implementação. No Python 3.8, essa restrição foi " "levantada. (Contribuição de Serhiy Storchaka em :issue:`32489`.)" -#: ../../whatsnew/3.8.rst:391 +#: ../../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:" @@ -684,7 +682,7 @@ msgstr "" "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:399 +#: ../../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 " @@ -698,20 +696,20 @@ msgstr "" "meth:`~object.__complex__` não está disponível. (Contribuição de Serhiy " "Storchaka em :issue:`20092`.)" -#: ../../whatsnew/3.8.rst:405 +#: ../../whatsnew/3.8.rst:407 msgid "" "Added support of ``\\N{name}`` escapes in :mod:`regular expressions `::" msgstr "" "Adicionado suporte a escapes ``\\N{name}`` em :mod:`expressões regulares " "`::" -#: ../../whatsnew/3.8.rst:412 +#: ../../whatsnew/3.8.rst:414 msgid "" "(Contributed by Jonathan Eunice and Serhiy Storchaka in :issue:`30688`.)" msgstr "" "(Contribuição de Jonathan Eunice e Serhiy Storchaka em :issue:`30688`.)" -#: ../../whatsnew/3.8.rst:414 +#: ../../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`.)" @@ -719,7 +717,7 @@ 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`.)" -#: ../../whatsnew/3.8.rst:417 +#: ../../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 " @@ -733,21 +731,21 @@ msgstr "" "no lado esquerdo de um termo de atribuição de argumento nomeado. " "(Contribuição de Benjamin Peterson em :issue:`34641`.)" -#: ../../whatsnew/3.8.rst:423 +#: ../../whatsnew/3.8.rst:425 msgid "" "Generalized iterable unpacking in :keyword:`yield` and :keyword:`return` " "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:435 +#: ../../whatsnew/3.8.rst:437 msgid "(Contributed by David Cuthbert and Jordan Chapman in :issue:`32117`.)" msgstr "(Contribuição de David Cuthbert e Jordan Chapman em :issue:`32117`.)" -#: ../../whatsnew/3.8.rst:437 +#: ../../whatsnew/3.8.rst:439 msgid "" "When a comma is missed in code such as ``[(10, 20) (30, 40)]``, the compiler " "displays a :exc:`SyntaxWarning` with a helpful suggestion. This improves on " @@ -759,7 +757,7 @@ msgstr "" "apenas tendo um :exc:`TypeError` indicando que a primeira tupla não era " "chamável. (Contribuição de Serhiy Storchaka em :issue:`15248`.)" -#: ../../whatsnew/3.8.rst:443 +#: ../../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 " @@ -775,7 +773,7 @@ msgstr "" "aritmética de :class:`datetime.timedelta`, como :meth:`~datetime.datetime." "astimezone`. (Contribuição de Paul Ganssle em :issue:`32417`.)" -#: ../../whatsnew/3.8.rst:451 +#: ../../whatsnew/3.8.rst:453 msgid "" "When the Python interpreter is interrupted by Ctrl-C (SIGINT) and the " "resulting :exc:`KeyboardInterrupt` exception is not caught, the Python " @@ -792,7 +790,7 @@ msgstr "" "em sessões interativas. (Contribuição do Google via Gregory P. Smith em :" "issue:`1054041`.)" -#: ../../whatsnew/3.8.rst:458 +#: ../../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 " @@ -808,7 +806,7 @@ msgstr "" "novo método ``replace()`` torna possível criar um clone com alguns " "parâmetros alterados." -#: ../../whatsnew/3.8.rst:465 +#: ../../whatsnew/3.8.rst:467 msgid "" "Here's an example that alters the :func:`statistics.mean` function to " "prevent the *data* parameter from being used as a keyword argument::" @@ -816,11 +814,11 @@ msgstr "" "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:477 +#: ../../whatsnew/3.8.rst:479 msgid "(Contributed by Victor Stinner in :issue:`37032`.)" msgstr "(Contribuição de Victor Stinner em :issue:`37032`.)" -#: ../../whatsnew/3.8.rst:479 +#: ../../whatsnew/3.8.rst:481 msgid "" "For integers, the three-argument form of the :func:`pow` function now " "permits the exponent to be negative in the case where the base is relatively " @@ -838,7 +836,7 @@ msgstr "" "multiplicativo modular `_ de 38 módulo 137, escreva::" -#: ../../whatsnew/3.8.rst:493 +#: ../../whatsnew/3.8.rst:495 msgid "" "Modular inverses arise in the solution of `linear Diophantine equations " "`_. For example, to find " @@ -850,11 +848,11 @@ msgstr "" "encontrar soluções inteiras para ``4258𝑥 + 147𝑦 = 369``, primeiro reescreva " "como ``4258𝑥 ≡ 369 (mod 147)`` e depois resolva:" -#: ../../whatsnew/3.8.rst:503 +#: ../../whatsnew/3.8.rst:505 msgid "(Contributed by Mark Dickinson in :issue:`36027`.)" msgstr "(Contribuição de Mark Dickinson em :issue:`36027`.)" -#: ../../whatsnew/3.8.rst:505 +#: ../../whatsnew/3.8.rst:507 msgid "" "Dict comprehensions have been synced-up with dict literals so that the key " "is computed first and the value second::" @@ -862,7 +860,7 @@ msgstr "" "As compreensões de dict foram sincronizadas com literais de dict, para que a " "chave seja computada primeiro e o valor em segundo::" -#: ../../whatsnew/3.8.rst:520 +#: ../../whatsnew/3.8.rst:522 msgid "" "The guaranteed execution order is helpful with assignment expressions " "because variables assigned in the key expression will be available in the " @@ -872,11 +870,11 @@ msgstr "" "variáveis atribuídas na expressão de chave estarão disponíveis na expressão " "de valor::" -#: ../../whatsnew/3.8.rst:530 +#: ../../whatsnew/3.8.rst:532 msgid "(Contributed by Jörn Heissler in :issue:`35224`.)" msgstr "(Contribuição de Jörn Heissler em :issue:`35224`.)" -#: ../../whatsnew/3.8.rst:532 +#: ../../whatsnew/3.8.rst:534 msgid "" "The :meth:`object.__reduce__` method can now return a tuple from two to six " "elements long. Formerly, five was the limit. The new, optional sixth " @@ -894,11 +892,11 @@ msgstr "" "método :meth:`~__setstate__` do objeto. (Contribuição de Pierre Glaser e " "Olivier Grisel em :issue:`35900`.)" -#: ../../whatsnew/3.8.rst:541 +#: ../../whatsnew/3.8.rst:543 msgid "New Modules" msgstr "Novos módulos" -#: ../../whatsnew/3.8.rst:543 +#: ../../whatsnew/3.8.rst:545 msgid "" "The new :mod:`importlib.metadata` module provides (provisional) support for " "reading metadata from third-party packages. For example, it can extract an " @@ -909,19 +907,19 @@ msgstr "" "o número da versão de um pacote instalado, a lista de pontos de entrada e " "muito mais::" -#: ../../whatsnew/3.8.rst:562 +#: ../../whatsnew/3.8.rst:564 msgid "(Contributed by Barry Warsaw and Jason R. Coombs in :issue:`34632`.)" msgstr "(Contribuição de Barry Warsaw e Jason R. Coombs em :issue:`34632`.)" -#: ../../whatsnew/3.8.rst:566 +#: ../../whatsnew/3.8.rst:568 msgid "Improved Modules" msgstr "Módulos melhorados" -#: ../../whatsnew/3.8.rst:569 +#: ../../whatsnew/3.8.rst:571 msgid "ast" msgstr "ast" -#: ../../whatsnew/3.8.rst:571 +#: ../../whatsnew/3.8.rst:573 msgid "" "AST nodes now have ``end_lineno`` and ``end_col_offset`` attributes, which " "give the precise location of the end of the node. (This only applies to " @@ -931,7 +929,7 @@ msgstr "" "que fornecem a localização precisa do final do nó. (Isso se aplica apenas " "aos nós que possuem os atributos ``lineno`` e ``col_offset``.)" -#: ../../whatsnew/3.8.rst:575 +#: ../../whatsnew/3.8.rst:577 msgid "" "New function :func:`ast.get_source_segment` returns the source code for a " "specific AST node." @@ -939,15 +937,15 @@ msgstr "" "Nova função :func:`ast.get_source_segment` retorna o código-fonte para um nó " "AST específico." -#: ../../whatsnew/3.8.rst:578 +#: ../../whatsnew/3.8.rst:580 msgid "(Contributed by Ivan Levkivskyi in :issue:`33416`.)" msgstr "(Contribuição de Ivan Levkivskyi em :issue:`33416`.)" -#: ../../whatsnew/3.8.rst:580 +#: ../../whatsnew/3.8.rst:582 msgid "The :func:`ast.parse` function has some new flags:" msgstr "A função :func:`ast.parse` possui alguns novos sinalizadores:" -#: ../../whatsnew/3.8.rst:582 +#: ../../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;" @@ -955,7 +953,7 @@ 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;" -#: ../../whatsnew/3.8.rst:585 +#: ../../whatsnew/3.8.rst:587 msgid "" "``mode='func_type'`` can be used to parse :pep:`484` \"signature type " "comments\" (returned for function definition AST nodes);" @@ -963,7 +961,7 @@ msgstr "" "``mode='func_type'`` pode ser usado para analisar \"comentários do tipo de " "assinatura\" do :pep:`484` (retornados para nós AST de definição de função);" -#: ../../whatsnew/3.8.rst:588 +#: ../../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 :" @@ -973,15 +971,15 @@ msgstr "" "3. Por exemplo, ``feature_version=(3, 4)`` tratará :keyword:`async` e :" "keyword:`await` como palavras não reservadas." -#: ../../whatsnew/3.8.rst:592 +#: ../../whatsnew/3.8.rst:594 msgid "(Contributed by Guido van Rossum in :issue:`35766`.)" msgstr "(Contribuição de Guido van Rossum em :issue:`35766`.)" -#: ../../whatsnew/3.8.rst:596 +#: ../../whatsnew/3.8.rst:598 msgid "asyncio" msgstr "asyncio" -#: ../../whatsnew/3.8.rst:598 +#: ../../whatsnew/3.8.rst:600 msgid "" ":func:`asyncio.run` has graduated from the provisional to stable API. This " "function can be used to execute a :term:`coroutine` and return the result " @@ -991,11 +989,11 @@ msgstr "" "pode ser usada para executar uma :term:`corrotina ` e retornar o " "resultado enquanto gerencia automaticamente o loop de eventos. Por exemplo::" -#: ../../whatsnew/3.8.rst:610 +#: ../../whatsnew/3.8.rst:612 msgid "This is *roughly* equivalent to::" msgstr "Isso é *aproximadamente* equivalente a::" -#: ../../whatsnew/3.8.rst:627 +#: ../../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." @@ -1003,11 +1001,11 @@ msgstr "" "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:630 +#: ../../whatsnew/3.8.rst:632 msgid "(Contributed by Yury Selivanov in :issue:`32314`.)" msgstr "(Contribuição de Yury Selivanov em :issue:`32314`.)" -#: ../../whatsnew/3.8.rst:632 +#: ../../whatsnew/3.8.rst:634 msgid "" "Running ``python -m asyncio`` launches a natively async REPL. This allows " "rapid experimentation with code that has a top-level :keyword:`await`. " @@ -1019,11 +1017,11 @@ msgstr "" "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:647 +#: ../../whatsnew/3.8.rst:649 msgid "(Contributed by Yury Selivanov in :issue:`37028`.)" msgstr "(Contribuição de Yury Selivanov em :issue:`37028`.)" -#: ../../whatsnew/3.8.rst:649 ../../whatsnew/3.8.rst:1965 +#: ../../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 :" @@ -1035,7 +1033,7 @@ msgstr "" "`concurrent.futures.CancelledError`. (Contribuição de Yury Selivanov em :" "issue:`32528`.)" -#: ../../whatsnew/3.8.rst:654 +#: ../../whatsnew/3.8.rst:656 msgid "" "On Windows, the default event loop is now :class:`~asyncio." "ProactorEventLoop`. (Contributed by Victor Stinner in :issue:`34687`.)" @@ -1043,7 +1041,7 @@ msgstr "" "No Windows, o loop de eventos padrão é agora :class:`~asyncio." "ProactorEventLoop`. (Contribuição de Victor Stinner em :issue:`34687`.)" -#: ../../whatsnew/3.8.rst:657 +#: ../../whatsnew/3.8.rst:659 msgid "" ":class:`~asyncio.ProactorEventLoop` now also supports UDP. (Contributed by " "Adam Meily and Andrew Svetlov in :issue:`29883`.)" @@ -1051,7 +1049,7 @@ msgstr "" ":class:`~asyncio.ProactorEventLoop` agora também tem suporte a UDP. " "(Contribuição de Adam Meily e Andrew Svetlov em :issue:`29883`.)" -#: ../../whatsnew/3.8.rst:660 +#: ../../whatsnew/3.8.rst:662 msgid "" ":class:`~asyncio.ProactorEventLoop` can now be interrupted by :exc:" "`KeyboardInterrupt` (\"CTRL+C\"). (Contributed by Vladimir Matveev in :issue:" @@ -1061,7 +1059,7 @@ msgstr "" "`KeyboardInterrupt` (\"CTRL+C\"). (Contribuição de Vladimir Matveev em :" "issue:`23057`.)" -#: ../../whatsnew/3.8.rst:664 +#: ../../whatsnew/3.8.rst:666 msgid "" "Added :meth:`asyncio.Task.get_coro` for getting the wrapped coroutine within " "an :class:`asyncio.Task`. (Contributed by Alex Grönholm in :issue:`36999`.)" @@ -1069,7 +1067,7 @@ msgstr "" "Adicionado :meth:`asyncio.Task.get_coro` para obter a corrotina de dentro de " "um :class:`asyncio.Task`. (Contribuição de Alex Grönholm em :issue:`36999`.)" -#: ../../whatsnew/3.8.rst:668 +#: ../../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." @@ -1087,7 +1085,7 @@ msgstr "" "método :meth:`~asyncio.Task.get_name`. (Contribuição de Alex Grönholm em :" "issue:`34270`.)" -#: ../../whatsnew/3.8.rst:676 +#: ../../whatsnew/3.8.rst:678 msgid "" "Added support for `Happy Eyeballs `_ to :func:`asyncio.loop.create_connection`. To specify the " @@ -1104,11 +1102,11 @@ msgstr "" "conectar-se simultaneamente usando os dois. (Contribuição de twisteroid " "ambassador em :issue:`33530`.)" -#: ../../whatsnew/3.8.rst:686 +#: ../../whatsnew/3.8.rst:688 msgid "builtins" msgstr "builtins" -#: ../../whatsnew/3.8.rst:688 +#: ../../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:" @@ -1124,11 +1122,11 @@ msgstr "" "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:697 +#: ../../whatsnew/3.8.rst:699 msgid "collections" msgstr "collections" -#: ../../whatsnew/3.8.rst:699 +#: ../../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:" @@ -1146,11 +1144,11 @@ msgstr "" "``OrderedDict(nt._asdict())``. (Contribuição de Raymond Hettinger em :issue:" "`35864`.)" -#: ../../whatsnew/3.8.rst:709 +#: ../../whatsnew/3.8.rst:711 msgid "cProfile" msgstr "cProfile" -#: ../../whatsnew/3.8.rst:711 +#: ../../whatsnew/3.8.rst:713 msgid "" "The :class:`cProfile.Profile ` class can now be used as a " "context manager. Profile a block of code by running::" @@ -1158,15 +1156,15 @@ msgstr "" "A classe :class:`cProfile.Profile ` agora pode ser usada " "como um gerenciador de contexto. Perfile um bloco de código executando::" -#: ../../whatsnew/3.8.rst:720 +#: ../../whatsnew/3.8.rst:722 msgid "(Contributed by Scott Sanderson in :issue:`29235`.)" msgstr "(Contribuição de Scott Sanderson em :issue:`29235`.)" -#: ../../whatsnew/3.8.rst:724 +#: ../../whatsnew/3.8.rst:726 msgid "csv" msgstr "csv" -#: ../../whatsnew/3.8.rst:726 +#: ../../whatsnew/3.8.rst:728 msgid "" "The :class:`csv.DictReader` now returns instances of :class:`dict` instead " "of a :class:`collections.OrderedDict`. The tool is now faster and uses less " @@ -1178,11 +1176,11 @@ msgstr "" "utiliza menos memória enquanto preserva a ordem dos campos. (Contribuição de " "Michael Selik em :issue:`34003`.)" -#: ../../whatsnew/3.8.rst:733 +#: ../../whatsnew/3.8.rst:735 msgid "curses" msgstr "curses" -#: ../../whatsnew/3.8.rst:735 +#: ../../whatsnew/3.8.rst:737 msgid "" "Added a new variable holding structured version information for the " "underlying ncurses library: :data:`~curses.ncurses_version`. (Contributed by " @@ -1192,11 +1190,11 @@ msgstr "" "a biblioteca ncurses subjacente: :data:`~curses.ncurses_version`. " "(Contribuição de Serhiy Storchaka em :issue:`31680`.)" -#: ../../whatsnew/3.8.rst:741 +#: ../../whatsnew/3.8.rst:743 msgid "ctypes" msgstr "ctypes" -#: ../../whatsnew/3.8.rst:743 +#: ../../whatsnew/3.8.rst:745 msgid "" "On Windows, :class:`~ctypes.CDLL` and subclasses now accept a *winmode* " "parameter to specify flags for the underlying ``LoadLibraryEx`` call. The " @@ -1213,11 +1211,11 @@ msgstr "" "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:752 +#: ../../whatsnew/3.8.rst:754 msgid "datetime" msgstr "datetime" -#: ../../whatsnew/3.8.rst:754 +#: ../../whatsnew/3.8.rst:756 msgid "" "Added new alternate constructors :meth:`datetime.date.fromisocalendar` and :" "meth:`datetime.datetime.fromisocalendar`, which construct :class:`date` and :" @@ -1232,11 +1230,11 @@ msgstr "" "``isocalendar`` de cada classe. (Contribuição de Paul Ganssle em :issue:" "`36004`.)" -#: ../../whatsnew/3.8.rst:762 +#: ../../whatsnew/3.8.rst:764 msgid "functools" msgstr "functools" -#: ../../whatsnew/3.8.rst:764 +#: ../../whatsnew/3.8.rst:766 msgid "" ":func:`functools.lru_cache` can now be used as a straight decorator rather " "than as a function returning a decorator. So both of these are now " @@ -1246,11 +1244,11 @@ msgstr "" "não como uma função retornando um decorador. Portanto, agora ambos são " "suportados::" -#: ../../whatsnew/3.8.rst:775 +#: ../../whatsnew/3.8.rst:777 msgid "(Contributed by Raymond Hettinger in :issue:`36772`.)" msgstr "(Contribuição de Raymond Hettinger em :issue:`36772`.)" -#: ../../whatsnew/3.8.rst:777 +#: ../../whatsnew/3.8.rst:779 msgid "" "Added a new :func:`functools.cached_property` decorator, for computed " "properties cached for the life of the instance. ::" @@ -1259,11 +1257,11 @@ msgstr "" "propriedades computadas armazenadas em cache durante toda a vida útil da " "instância. ::" -#: ../../whatsnew/3.8.rst:791 +#: ../../whatsnew/3.8.rst:793 msgid "(Contributed by Carl Meyer in :issue:`21145`)" msgstr "(Contribuição de Carl Meyer em :issue:`21145`)" -#: ../../whatsnew/3.8.rst:794 +#: ../../whatsnew/3.8.rst:796 msgid "" "Added a new :func:`functools.singledispatchmethod` decorator that converts " "methods into :term:`generic functions ` using :term:" @@ -1273,15 +1271,15 @@ msgstr "" "converte métodos em :term:`funções genéricas ` usando :" "term:`despacho único `::" -#: ../../whatsnew/3.8.rst:816 +#: ../../whatsnew/3.8.rst:818 msgid "(Contributed by Ethan Smith in :issue:`32380`)" msgstr "(Contribuição de Ethan Smith em :issue:`32380`)" -#: ../../whatsnew/3.8.rst:819 +#: ../../whatsnew/3.8.rst:821 msgid "gc" msgstr "gc" -#: ../../whatsnew/3.8.rst:821 +#: ../../whatsnew/3.8.rst:823 msgid "" ":func:`~gc.get_objects` can now receive an optional *generation* parameter " "indicating a generation to get objects from. (Contributed by Pablo Galindo " @@ -1291,11 +1289,11 @@ msgstr "" "*generation* indicando uma geração da qual obter objetos. (Contribuição de " "Pablo Galindo em :issue:`36016`.)" -#: ../../whatsnew/3.8.rst:827 +#: ../../whatsnew/3.8.rst:829 msgid "gettext" msgstr "gettext" -#: ../../whatsnew/3.8.rst:829 +#: ../../whatsnew/3.8.rst:831 msgid "" "Added :func:`~gettext.pgettext` and its variants. (Contributed by Franz " "Glasner, Éric Araujo, and Cheryl Sabella in :issue:`2504`.)" @@ -1303,11 +1301,11 @@ msgstr "" "Adicionado :func:`~gettext.pgettext` e suas variantes. (Contribuição de " "Franz Glasner, Éric Araujo e Cheryl Sabella em :issue:`2504`.)" -#: ../../whatsnew/3.8.rst:834 +#: ../../whatsnew/3.8.rst:836 msgid "gzip" msgstr "gzip" -#: ../../whatsnew/3.8.rst:836 +#: ../../whatsnew/3.8.rst:838 msgid "" "Added the *mtime* parameter to :func:`gzip.compress` for reproducible " "output. (Contributed by Guo Ci Teo in :issue:`34898`.)" @@ -1315,7 +1313,7 @@ msgstr "" "Adicionado o parâmetro *mtime* em :func:`gzip.compress` para saída " "reproduzível. (Contribuição de Guo Ci Teo em :issue:`34898`.)" -#: ../../whatsnew/3.8.rst:839 +#: ../../whatsnew/3.8.rst:841 msgid "" "A :exc:`~gzip.BadGzipFile` exception is now raised instead of :exc:`OSError` " "for certain types of invalid or corrupt gzip files. (Contributed by Filip " @@ -1326,11 +1324,11 @@ msgstr "" "(Contribuição de Filip Gruszczyński, Michele Orrù e Zackery Spytz em :issue:" "`6584`.)" -#: ../../whatsnew/3.8.rst:846 +#: ../../whatsnew/3.8.rst:848 msgid "IDLE and idlelib" msgstr "IDLE e idlelib" -#: ../../whatsnew/3.8.rst:848 +#: ../../whatsnew/3.8.rst:850 msgid "" "Output over N lines (50 by default) is squeezed down to a button. N can be " "changed in the PyShell section of the General page of the Settings dialog. " @@ -1347,7 +1345,7 @@ msgstr "" "ou em uma janela separada clicando com o botão direito do mouse. " "(Contribuição de Tal Einat em :issue:`1529353`.)" -#: ../../whatsnew/3.8.rst:855 +#: ../../whatsnew/3.8.rst:857 msgid "" "Add \"Run Customized\" to the Run menu to run a module with customized " "settings. Any command line arguments entered are added to sys.argv. They " @@ -1362,7 +1360,7 @@ msgstr "" "normal do módulo principal do console. (Contribuição de Cheryl Sabella, " "Terry Jan Reedy e outros em :issue:`5680` e :issue:`37627`.)" -#: ../../whatsnew/3.8.rst:861 +#: ../../whatsnew/3.8.rst:863 msgid "" "Added optional line numbers for IDLE editor windows. Windows open without " "line numbers unless set otherwise in the General tab of the configuration " @@ -1376,7 +1374,7 @@ msgstr "" "uma janela existente são mostrados e ocultos no menu Opções. (Contribuição " "de Tal Einat e Saimadhav Heblikar em :issue:`17535`.)" -#: ../../whatsnew/3.8.rst:867 +#: ../../whatsnew/3.8.rst:869 msgid "" "OS native encoding is now used for converting between Python strings and Tcl " "objects. This allows IDLE to work with emoji and other non-BMP characters. " @@ -1393,11 +1391,11 @@ msgstr "" "nisso por oito anos, mas o problema foi finalmente resolvido por Serhiy " "Storchaka em :issue:`13153`.)" -#: ../../whatsnew/3.8.rst:874 +#: ../../whatsnew/3.8.rst:876 msgid "New in 3.8.1:" msgstr "Novo em 3.8.1:" -#: ../../whatsnew/3.8.rst:876 +#: ../../whatsnew/3.8.rst:878 msgid "" "Add option to toggle cursor blink off. (Contributed by Zackery Spytz in :" "issue:`4603`.)" @@ -1405,7 +1403,7 @@ msgstr "" "Adiciona a opção para ativar e desativar o piscar do cursor. (Contribuição " "de Zackery Spytz na :issue:`4603`.)" -#: ../../whatsnew/3.8.rst:879 +#: ../../whatsnew/3.8.rst:881 msgid "" "Escape key now closes IDLE completion windows. (Contributed by Johnny " "Najera in :issue:`38944`.)" @@ -1413,11 +1411,11 @@ msgstr "" "A tecla Escape agora fecha as janelas de conclusão IDLE. (Contribuição de " "Johnny Najera em :issue:`38944`.)" -#: ../../whatsnew/3.8.rst:882 +#: ../../whatsnew/3.8.rst:884 msgid "The changes above have been backported to 3.7 maintenance releases." msgstr "As alterações acima foram suportadas para versões de manutenção 3.7." -#: ../../whatsnew/3.8.rst:884 +#: ../../whatsnew/3.8.rst:886 msgid "" "Add keywords to module name completion list. (Contributed by Terry J. Reedy " "in :issue:`37765`.)" @@ -1425,11 +1423,11 @@ msgstr "" "Adiciona argumentos nomeados à lista de completamento de nome de módulo. " "(Contribuição de Terry J. Reedy em :issue:`37765`.)" -#: ../../whatsnew/3.8.rst:888 +#: ../../whatsnew/3.8.rst:890 msgid "inspect" msgstr "inspect" -#: ../../whatsnew/3.8.rst:890 +#: ../../whatsnew/3.8.rst:892 msgid "" "The :func:`inspect.getdoc` function can now find docstrings for " "``__slots__`` if that attribute is a :class:`dict` where the values are " @@ -1441,15 +1439,15 @@ msgstr "" "docstrings. Isso fornece opções de documentação semelhantes às que já temos " "para :func:`property`, :func:`classmethod` e :func:`staticmethod`::" -#: ../../whatsnew/3.8.rst:902 +#: ../../whatsnew/3.8.rst:904 msgid "(Contributed by Raymond Hettinger in :issue:`36326`.)" msgstr "(Contribuição de Raymond Hettinger em :issue:`36326`.)" -#: ../../whatsnew/3.8.rst:906 +#: ../../whatsnew/3.8.rst:908 msgid "io" msgstr "io" -#: ../../whatsnew/3.8.rst:908 +#: ../../whatsnew/3.8.rst:910 msgid "" "In development mode (:option:`-X` ``env``) and in :ref:`debug build `, the :class:`io.IOBase` finalizer now logs the exception if the " @@ -1462,11 +1460,11 @@ msgstr "" "por padrão na compilação de lançamento. (Contribuição de Victor Stinner em :" "issue:`18748`.)" -#: ../../whatsnew/3.8.rst:915 +#: ../../whatsnew/3.8.rst:917 msgid "itertools" msgstr "itertools" -#: ../../whatsnew/3.8.rst:917 +#: ../../whatsnew/3.8.rst:919 msgid "" "The :func:`itertools.accumulate` function added an option *initial* keyword " "argument to specify an initial value::" @@ -1474,15 +1472,15 @@ msgstr "" "A função :func:`itertools.accumulate` adicionou uma opção de argumento " "nomeado *initial* para especificar um valor inicial::" -#: ../../whatsnew/3.8.rst:924 +#: ../../whatsnew/3.8.rst:926 msgid "(Contributed by Lisa Roach in :issue:`34659`.)" msgstr "(Contribuído por Lisa Roach em :issue:`34659`.)" -#: ../../whatsnew/3.8.rst:928 +#: ../../whatsnew/3.8.rst:930 msgid "json.tool" msgstr "json.tool" -#: ../../whatsnew/3.8.rst:930 +#: ../../whatsnew/3.8.rst:932 msgid "" "Add option ``--json-lines`` to parse every input line as a separate JSON " "object. (Contributed by Weipeng Hong in :issue:`31553`.)" @@ -1490,11 +1488,11 @@ msgstr "" "Adiciona a opção ``--json-lines`` para analisar cada linha de entrada como " "um objeto JSON separado. (Contribuição de Weipeng Hong em :issue:`31553`.)" -#: ../../whatsnew/3.8.rst:935 +#: ../../whatsnew/3.8.rst:937 msgid "logging" msgstr "logging" -#: ../../whatsnew/3.8.rst:937 +#: ../../whatsnew/3.8.rst:939 msgid "" "Added a *force* keyword argument to :func:`logging.basicConfig()` When set " "to true, any existing handlers attached to the root logger are removed and " @@ -1506,7 +1504,7 @@ msgstr "" "raiz é removido e fechado antes de executar a configuração especificada " "pelos outros argumentos." -#: ../../whatsnew/3.8.rst:942 +#: ../../whatsnew/3.8.rst:944 msgid "" "This solves a long-standing problem. Once a logger or *basicConfig()* had " "been called, subsequent calls to *basicConfig()* were silently ignored. This " @@ -1519,7 +1517,7 @@ msgstr "" "experimentação ou o ensino das várias opções de configuração de log usando o " "prompt interativo ou um bloco de notas de Jupyter." -#: ../../whatsnew/3.8.rst:948 +#: ../../whatsnew/3.8.rst:950 msgid "" "(Suggested by Raymond Hettinger, implemented by Dong-hee Na, and reviewed by " "Vinay Sajip in :issue:`33897`.)" @@ -1527,11 +1525,11 @@ msgstr "" "(Sugestão de Raymond Hettinger, implementação de Dong-hee Na e revisão de " "Vinay Sajip em :issue:`33897`.)" -#: ../../whatsnew/3.8.rst:953 +#: ../../whatsnew/3.8.rst:955 msgid "math" msgstr "math" -#: ../../whatsnew/3.8.rst:955 +#: ../../whatsnew/3.8.rst:957 msgid "" "Added new function :func:`math.dist` for computing Euclidean distance " "between two points. (Contributed by Raymond Hettinger in :issue:`33089`.)" @@ -1540,7 +1538,7 @@ msgstr "" "euclidiana entre dois pontos. (Contribuição de Raymond Hettinger em :issue:" "`33089`.)" -#: ../../whatsnew/3.8.rst:958 +#: ../../whatsnew/3.8.rst:960 msgid "" "Expanded the :func:`math.hypot` function to handle multiple dimensions. " "Formerly, it only supported the 2-D case. (Contributed by Raymond Hettinger " @@ -1550,7 +1548,7 @@ msgstr "" "Anteriormente, suportava apenas o caso 2-D. (Contribuição de Raymond " "Hettinger em :issue:`33089`.)" -#: ../../whatsnew/3.8.rst:962 +#: ../../whatsnew/3.8.rst:964 msgid "" "Added new function, :func:`math.prod`, as analogous function to :func:`sum` " "that returns the product of a 'start' value (default: 1) times an iterable " @@ -1560,11 +1558,11 @@ msgstr "" "que retorna o produto de um valor 'start' (padrão: 1) vezes uma iterável de " "números::" -#: ../../whatsnew/3.8.rst:971 +#: ../../whatsnew/3.8.rst:973 msgid "(Contributed by Pablo Galindo in :issue:`35606`.)" msgstr "(Contribuição de Pablo Galindo em :issue:`35606`.)" -#: ../../whatsnew/3.8.rst:973 +#: ../../whatsnew/3.8.rst:975 msgid "" "Added two new combinatoric functions :func:`math.perm` and :func:`math." "comb`::" @@ -1572,7 +1570,7 @@ msgstr "" "Adicionadas duas novas funções combinatórias :func:`math.perm` e :func:`math." "comb`::" -#: ../../whatsnew/3.8.rst:980 +#: ../../whatsnew/3.8.rst:982 msgid "" "(Contributed by Yash Aggarwal, Keller Fuchs, Serhiy Storchaka, and Raymond " "Hettinger in :issue:`37128`, :issue:`37178`, and :issue:`35431`.)" @@ -1580,7 +1578,7 @@ msgstr "" "(Contribuição de Yash Aggarwal, Keller Fuchs, Serhiy Storchaka e Raymond " "Hettinger em :issue:`37128`, :issue:`37178` e :issue:`35431`.)" -#: ../../whatsnew/3.8.rst:983 +#: ../../whatsnew/3.8.rst:985 msgid "" "Added a new function :func:`math.isqrt` for computing accurate integer " "square roots without conversion to floating point. The new function " @@ -1592,11 +1590,11 @@ msgstr "" "números inteiros arbitrariamente grandes. É mais rápido que " "``floor(sqrt(n))``, mas mais lento que :func:`math.sqrt`::" -#: ../../whatsnew/3.8.rst:995 +#: ../../whatsnew/3.8.rst:997 msgid "(Contributed by Mark Dickinson in :issue:`36887`.)" msgstr "(Contribuição de Mark Dickinson em :issue:`36887`.)" -#: ../../whatsnew/3.8.rst:997 +#: ../../whatsnew/3.8.rst:999 msgid "" "The function :func:`math.factorial` no longer accepts arguments that are not " "int-like. (Contributed by Pablo Galindo in :issue:`33083`.)" @@ -1604,11 +1602,11 @@ msgstr "" "A função :func:`math.factorial` não aceita mais argumentos que não são " "parecidos com int. (Contribuição de Pablo Galindo em :issue:`33083`.)" -#: ../../whatsnew/3.8.rst:1002 +#: ../../whatsnew/3.8.rst:1004 msgid "mmap" msgstr "mmap" -#: ../../whatsnew/3.8.rst:1004 +#: ../../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 :" @@ -1618,11 +1616,11 @@ msgstr "" "para acessar a chamada do sistema ``madvise()``. (Contribuição de Zackery " "Spytz em :issue:`32941`.)" -#: ../../whatsnew/3.8.rst:1010 +#: ../../whatsnew/3.8.rst:1012 msgid "multiprocessing" msgstr "multiprocessing" -#: ../../whatsnew/3.8.rst:1012 +#: ../../whatsnew/3.8.rst:1014 msgid "" "Added new :mod:`multiprocessing.shared_memory` module. (Contributed by Davin " "Potts in :issue:`35813`.)" @@ -1630,7 +1628,7 @@ msgstr "" "Adicionado novo módulo :mod:`multiprocessing.shared_memory`. (Contribuição " "de Davin Potts em :issue:`35813`.)" -#: ../../whatsnew/3.8.rst:1015 +#: ../../whatsnew/3.8.rst:1017 msgid "" "On macOS, the *spawn* start method is now used by default. (Contributed by " "Victor Stinner in :issue:`33725`.)" @@ -1638,11 +1636,11 @@ msgstr "" "No macOS, o método inicial *spawn* agora é usado por padrão. (Contribuição " "de Victor Stinner em :issue:`33725`.)" -#: ../../whatsnew/3.8.rst:1020 +#: ../../whatsnew/3.8.rst:1022 msgid "os" msgstr "os" -#: ../../whatsnew/3.8.rst:1022 +#: ../../whatsnew/3.8.rst:1024 msgid "" "Added new function :func:`~os.add_dll_directory` on Windows for providing " "additional search paths for native dependencies when importing extension " @@ -1654,7 +1652,7 @@ msgstr "" "importar módulos de extensão ou carregar DLLs usando :mod:`ctypes`. " "(Contribuição de Steve Dower em :issue:`36085`.)" -#: ../../whatsnew/3.8.rst:1027 +#: ../../whatsnew/3.8.rst:1029 msgid "" "A new :func:`os.memfd_create` function was added to wrap the " "``memfd_create()`` syscall. (Contributed by Zackery Spytz and Christian " @@ -1664,7 +1662,7 @@ msgstr "" "chamada de sistema ``memfd_create()``. (Contribuição de Zackery Spytz e " "Christian Heimes em :issue:`26836`.)" -#: ../../whatsnew/3.8.rst:1031 +#: ../../whatsnew/3.8.rst:1033 msgid "" "On Windows, much of the manual logic for handling reparse points (including " "symlinks and directory junctions) has been delegated to the operating " @@ -1687,7 +1685,7 @@ msgstr "" "identificar outros tipos de pontos de nova análise, verifique o novo " "atributo :attr:`stat_result.st_reparse_tag`." -#: ../../whatsnew/3.8.rst:1040 +#: ../../whatsnew/3.8.rst:1042 msgid "" "On Windows, :func:`os.readlink` is now able to read directory junctions. " "Note that :func:`~os.path.islink` will return ``False`` for directory " @@ -1701,15 +1699,15 @@ msgstr "" "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:1046 ../../whatsnew/3.8.rst:1071 +#: ../../whatsnew/3.8.rst:1048 ../../whatsnew/3.8.rst:1073 msgid "(Contributed by Steve Dower in :issue:`37834`.)" msgstr "(Contribuição de Steve Dower em :issue:`37834`.)" -#: ../../whatsnew/3.8.rst:1050 +#: ../../whatsnew/3.8.rst:1052 msgid "os.path" msgstr "os.path" -#: ../../whatsnew/3.8.rst:1052 +#: ../../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." @@ -1727,7 +1725,7 @@ msgstr "" "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:1060 ../../whatsnew/3.8.rst:1960 +#: ../../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 " @@ -1739,7 +1737,7 @@ msgstr "" "definido para contas de usuário comuns. (Contribuição de Anthony Sottile em :" "issue:`36264`.)" -#: ../../whatsnew/3.8.rst:1065 +#: ../../whatsnew/3.8.rst:1067 msgid "" ":func:`~os.path.isdir` on Windows no longer returns ``True`` for a link to a " "non-existent directory." @@ -1747,7 +1745,7 @@ msgstr "" ":func:`~os.path.isdir` no Windows não retorna mais ``True`` para um link " "para um diretório inexistente." -#: ../../whatsnew/3.8.rst:1068 +#: ../../whatsnew/3.8.rst:1070 msgid "" ":func:`~os.path.realpath` on Windows now resolves reparse points, including " "symlinks and directory junctions." @@ -1755,11 +1753,11 @@ msgstr "" ":func:`~os.path.realpath` no Windows agora resolve pontos de nova análise, " "incluindo links simbólicos e junções de diretório." -#: ../../whatsnew/3.8.rst:1075 +#: ../../whatsnew/3.8.rst:1077 msgid "pathlib" msgstr "pathlib" -#: ../../whatsnew/3.8.rst:1077 +#: ../../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." @@ -1781,7 +1779,7 @@ msgstr "" "caracteres não representáveis no nível do SO. (Contribuição de Serhiy " "Storchaka em :issue:`33721`.)" -#: ../../whatsnew/3.8.rst:1087 +#: ../../whatsnew/3.8.rst:1089 msgid "" "Added :meth:`pathlib.Path.link_to()` which creates a hard link pointing to a " "path. (Contributed by Joannah Nanjekye in :issue:`26978`)" @@ -1789,11 +1787,11 @@ msgstr "" "Adicionado :meth:`pathlib.Path.link_to()` que cria um link rígido apontando " "para um caminho. (Contribuição de Joannah Nanjekye in :issue:`26978`)" -#: ../../whatsnew/3.8.rst:1093 +#: ../../whatsnew/3.8.rst:1095 msgid "pickle" msgstr "pickle" -#: ../../whatsnew/3.8.rst:1095 +#: ../../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 " @@ -1806,11 +1804,11 @@ msgstr "" "Pickler.reducer_override`. (Contribuição de Pierre Glaser e Olivier Grisel " "em :issue:`35900`.)" -#: ../../whatsnew/3.8.rst:1102 +#: ../../whatsnew/3.8.rst:1104 msgid "plistlib" msgstr "plistlib" -#: ../../whatsnew/3.8.rst:1104 +#: ../../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:" @@ -1820,11 +1818,11 @@ msgstr "" "escrita de plists binárias codificadas em NSKeyedArchiver. (Contribuição de " "Jon Janzen em :issue:`26707`.)" -#: ../../whatsnew/3.8.rst:1110 +#: ../../whatsnew/3.8.rst:1112 msgid "pprint" msgstr "pprint" -#: ../../whatsnew/3.8.rst:1112 +#: ../../whatsnew/3.8.rst:1114 msgid "" "The :mod:`pprint` module added a *sort_dicts* parameter to several " "functions. By default, those functions continue to sort dictionaries before " @@ -1838,7 +1836,7 @@ msgstr "" "false, os dicionários manterão a ordem em que as chaves foram inseridas. " "Isso pode ser útil para comparação com entradas JSON durante a depuração." -#: ../../whatsnew/3.8.rst:1118 +#: ../../whatsnew/3.8.rst:1120 msgid "" "In addition, there is a convenience new function, :func:`pprint.pp` that is " "like :func:`pprint.pprint` but with *sort_dicts* defaulting to ``False``::" @@ -1847,15 +1845,15 @@ msgstr "" "como :func:`pprint.pprint`, mas com *sort_dicts* padronizando como " "``False``::" -#: ../../whatsnew/3.8.rst:1132 +#: ../../whatsnew/3.8.rst:1134 msgid "(Contributed by Rémi Lapeyre in :issue:`30670`.)" msgstr "(Contribuição de Rémi Lapeyre em :issue:`30670`.)" -#: ../../whatsnew/3.8.rst:1136 +#: ../../whatsnew/3.8.rst:1138 msgid "py_compile" msgstr "py_compile" -#: ../../whatsnew/3.8.rst:1138 +#: ../../whatsnew/3.8.rst:1140 msgid "" ":func:`py_compile.compile` now supports silent mode. (Contributed by Joannah " "Nanjekye in :issue:`22640`.)" @@ -1863,11 +1861,11 @@ msgstr "" ":func:`py_compile.compile` agora possui suporte a um modo silencioso. " "(Contribuição de Joannah Nanjekye em :issue:`22640`.)" -#: ../../whatsnew/3.8.rst:1143 +#: ../../whatsnew/3.8.rst:1145 msgid "shlex" msgstr "shlex" -#: ../../whatsnew/3.8.rst:1145 +#: ../../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`.)" @@ -1875,11 +1873,11 @@ msgstr "" "A nova função :func:`shlex.join` atua como o inverso da :func:`shlex.split`. " "(Contribuição de Bo Bayles em :issue:`32102`.)" -#: ../../whatsnew/3.8.rst:1150 +#: ../../whatsnew/3.8.rst:1152 msgid "shutil" msgstr "shutil" -#: ../../whatsnew/3.8.rst:1152 +#: ../../whatsnew/3.8.rst:1154 msgid "" ":func:`shutil.copytree` now accepts a new ``dirs_exist_ok`` keyword " "argument. (Contributed by Josh Bronson in :issue:`20849`.)" @@ -1887,19 +1885,19 @@ msgstr "" ":func:`shutil.copytree` agora aceita um novo argumento nomeado " "``dirs_exist_ok``. (Contribuição de Josh Bronson em :issue:`20849`.)" -#: ../../whatsnew/3.8.rst:1155 +#: ../../whatsnew/3.8.rst:1157 msgid "" ":func:`shutil.make_archive` now defaults to the modern pax (POSIX.1-2001) " "format for new archives to improve portability and standards conformance, " "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`.)" -#: ../../whatsnew/3.8.rst:1160 +#: ../../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 :" @@ -1909,11 +1907,11 @@ msgstr "" "remover recursivamente o conteúdo primeiro. (Contribuição de Steve Dower em :" "issue:`37834`.)" -#: ../../whatsnew/3.8.rst:1166 +#: ../../whatsnew/3.8.rst:1168 msgid "socket" msgstr "socket" -#: ../../whatsnew/3.8.rst:1168 +#: ../../whatsnew/3.8.rst:1170 msgid "" "Added :meth:`~socket.create_server()` and :meth:`~socket." "has_dualstack_ipv6()` convenience functions to automate the necessary tasks " @@ -1927,7 +1925,7 @@ msgstr "" "aceitação de conexões IPv4 e IPv6 no mesmo soquete. (Contribuição de " "Giampaolo Rodolà em :issue:`17561`.)" -#: ../../whatsnew/3.8.rst:1173 +#: ../../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. " @@ -1937,11 +1935,11 @@ msgstr "" "func:`socket.if_indextoname()` foram agora implementadas no Windows. " "(Contribuição de Zackery Spytz em :issue:`37007`.)" -#: ../../whatsnew/3.8.rst:1179 +#: ../../whatsnew/3.8.rst:1181 msgid "ssl" msgstr "ssl" -#: ../../whatsnew/3.8.rst:1181 +#: ../../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 " @@ -1952,11 +1950,11 @@ msgstr "" "pós-handshake do TLS 1.3. (Contribuição de Christian Heimes em :issue:" "`34670`.)" -#: ../../whatsnew/3.8.rst:1188 +#: ../../whatsnew/3.8.rst:1190 msgid "statistics" msgstr "statistics" -#: ../../whatsnew/3.8.rst:1190 +#: ../../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 " @@ -1966,7 +1964,7 @@ msgstr "" "mais rápida de :func:`statistics.mean()`. (Contribuição de Raymond Hettinger " "e Steven D'Aprano em :issue:`35904`.)" -#: ../../whatsnew/3.8.rst:1194 +#: ../../whatsnew/3.8.rst:1196 msgid "" "Added :func:`statistics.geometric_mean()` (Contributed by Raymond Hettinger " "in :issue:`27181`.)" @@ -1974,7 +1972,7 @@ msgstr "" "Adicionada :func:`statistics.geometric_mean()` (Contribuição de Raymond " "Hettinger em :issue:`27181`.)" -#: ../../whatsnew/3.8.rst:1197 +#: ../../whatsnew/3.8.rst:1199 msgid "" "Added :func:`statistics.multimode` that returns a list of the most common " "values. (Contributed by Raymond Hettinger in :issue:`35892`.)" @@ -1982,7 +1980,7 @@ msgstr "" "Adicionada :func:`Statistics.multimode` que retorna uma lista dos valores " "mais comuns. (Contribuição de Raymond Hettinger em :issue:`35892`.)" -#: ../../whatsnew/3.8.rst:1200 +#: ../../whatsnew/3.8.rst:1202 msgid "" "Added :func:`statistics.quantiles` that divides data or a distribution in to " "equiprobable intervals (e.g. quartiles, deciles, or percentiles). " @@ -1992,7 +1990,7 @@ msgstr "" "em intervalos equivalentes (por exemplo, quartis, decis ou percentis). " "(Contribuição de Raymond Hettinger em :issue:`36546`.)" -#: ../../whatsnew/3.8.rst:1204 +#: ../../whatsnew/3.8.rst:1206 msgid "" "Added :class:`statistics.NormalDist`, a tool for creating and manipulating " "normal distributions of a random variable. (Contributed by Raymond Hettinger " @@ -2002,11 +2000,11 @@ msgstr "" "manipular distribuições normais de uma variável aleatória. (Contribuição de " "Raymond Hettinger em :issue:`36018`.)" -#: ../../whatsnew/3.8.rst:1234 +#: ../../whatsnew/3.8.rst:1236 msgid "sys" msgstr "sys" -#: ../../whatsnew/3.8.rst:1236 +#: ../../whatsnew/3.8.rst:1238 msgid "" "Add new :func:`sys.unraisablehook` function which can be overridden to " "control how \"unraisable exceptions\" are handled. It is called when an " @@ -2015,17 +2013,17 @@ msgid "" "(:func:`gc.collect`). (Contributed by Victor Stinner in :issue:`36829`.)" msgstr "" "Adiciona uma nova função :func:`sys.unraisablehook`, que pode ser " -"substituída para controlar como as \"exceções não passíveis de levantamento" -"\" são tratadas. É chamada quando uma exceção ocorre, mas não há como o " -"Python manipulá-la. Por exemplo, quando um destruidor gera uma exceção ou " -"durante a coleta de lixo (:func:`gc.collect`). (Contribuição de Victor " -"Stinner em :issue:`36829`.)" +"substituída para controlar como as \"exceções não passíveis de " +"levantamento\" são tratadas. É chamada quando uma exceção ocorre, mas não há " +"como o Python manipulá-la. Por exemplo, quando um destruidor gera uma " +"exceção ou durante a coleta de lixo (:func:`gc.collect`). (Contribuição de " +"Victor Stinner em :issue:`36829`.)" -#: ../../whatsnew/3.8.rst:1245 +#: ../../whatsnew/3.8.rst:1247 msgid "tarfile" msgstr "tarfile" -#: ../../whatsnew/3.8.rst:1247 +#: ../../whatsnew/3.8.rst:1249 msgid "" "The :mod:`tarfile` module now defaults to the modern pax (POSIX.1-2001) " "format for new archives, instead of the previous GNU-specific one. This " @@ -2039,11 +2037,11 @@ msgstr "" "consistente (UTF-8) em um formato padronizado e extensível e oferece vários " "outros benefícios. (Contribuição de C.A.M. Gerlach em :issue:`36268`.)" -#: ../../whatsnew/3.8.rst:1255 +#: ../../whatsnew/3.8.rst:1257 msgid "threading" msgstr "threading" -#: ../../whatsnew/3.8.rst:1257 +#: ../../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 " @@ -2055,7 +2053,7 @@ msgstr "" "controlar como exceções não capturadas :meth:`threading.Thread.run` são " "manipuladas. (Contribuição de Victor Stinner em :issue:`1230540`.)" -#: ../../whatsnew/3.8.rst:1262 +#: ../../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 " @@ -2069,13 +2067,13 @@ msgstr "" "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`.) " +"(Contribuição de Jake Tesler em :issue:`36084`.)" -#: ../../whatsnew/3.8.rst:1272 +#: ../../whatsnew/3.8.rst:1274 msgid "tokenize" msgstr "tokenize" -#: ../../whatsnew/3.8.rst:1274 +#: ../../whatsnew/3.8.rst:1276 msgid "" "The :mod:`tokenize` module now implicitly emits a ``NEWLINE`` token when " "provided with input that does not have a trailing new line. This behavior " @@ -2087,11 +2085,11 @@ msgstr "" "comportamento agora corresponde ao que o tokenizador do C faz internamente. " "(Contribuição de Ammar Askar em :issue:`33899`.)" -#: ../../whatsnew/3.8.rst:1281 +#: ../../whatsnew/3.8.rst:1283 msgid "tkinter" msgstr "tkinter" -#: ../../whatsnew/3.8.rst:1283 +#: ../../whatsnew/3.8.rst:1285 msgid "" "Added methods :meth:`~tkinter.Spinbox.selection_from`, :meth:`~tkinter." "Spinbox.selection_present`, :meth:`~tkinter.Spinbox.selection_range` and :" @@ -2103,7 +2101,7 @@ msgstr "" "selection_range` e :meth:`~tkinter.Spinbox.selection_to` à classe :class:" "`tkinter.Spinbox`. (Contribuição de Juliette Monsel em :issue:`34829`.)" -#: ../../whatsnew/3.8.rst:1290 +#: ../../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`.)" @@ -2111,7 +2109,7 @@ msgstr "" "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:1294 +#: ../../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. " @@ -2121,11 +2119,11 @@ msgstr "" "PhotoImage.transparency_get` e :meth:`~tkinter.PhotoImage.transparency_set`. " "(Contribuição de Zackery Spytz em :issue:`25451`.)" -#: ../../whatsnew/3.8.rst:1301 +#: ../../whatsnew/3.8.rst:1303 msgid "time" msgstr "time" -#: ../../whatsnew/3.8.rst:1303 +#: ../../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`.)" @@ -2133,15 +2131,15 @@ msgstr "" "Adiciona o novo relógio :data:`~time.CLOCK_UPTIME_RAW` ao macOS 10.12. " "(Contribuição de Joannah Nanjekye em :issue:`35702`.)" -#: ../../whatsnew/3.8.rst:1308 +#: ../../whatsnew/3.8.rst:1310 msgid "typing" msgstr "typing" -#: ../../whatsnew/3.8.rst:1310 +#: ../../whatsnew/3.8.rst:1312 msgid "The :mod:`typing` module incorporates several new features:" msgstr "O módulo :mod:`typing` incorpora vários novos recursos:" -#: ../../whatsnew/3.8.rst:1312 +#: ../../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 " @@ -2153,7 +2151,7 @@ msgstr "" "que todas as chaves estejam presentes. Especifique \"total=False\" para " "permitir que as chaves sejam opcionais::" -#: ../../whatsnew/3.8.rst:1322 +#: ../../whatsnew/3.8.rst:1324 msgid "" "Literal types. See :pep:`586` and :class:`typing.Literal`. Literal types " "indicate that a parameter or return value is constrained to one or more " @@ -2163,7 +2161,7 @@ msgstr "" "indicam que um parâmetro ou valor de retorno está restrito a um ou mais " "valores literais específicos::" -#: ../../whatsnew/3.8.rst:1329 +#: ../../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 " @@ -2174,7 +2172,7 @@ msgstr "" "verificador de tipo estático a restringir criação de subclasse, substituição " "ou reatribuição::" -#: ../../whatsnew/3.8.rst:1336 +#: ../../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` " @@ -2184,27 +2182,27 @@ msgstr "" "`typing.runtime_checkable`. ABCs simples como :class:`typing.SupportsInt` " "agora são subclasses de ``Protocol``." -#: ../../whatsnew/3.8.rst:1340 +#: ../../whatsnew/3.8.rst:1342 msgid "New protocol class :class:`typing.SupportsIndex`." msgstr "Nova classe de protocolo :class:`typing.SupportsIndex`." -#: ../../whatsnew/3.8.rst:1342 +#: ../../whatsnew/3.8.rst:1344 msgid "New functions :func:`typing.get_origin` and :func:`typing.get_args`." msgstr "Novas funções :func:`typing.get_origin` e :func:`typing.get_args`." -#: ../../whatsnew/3.8.rst:1346 +#: ../../whatsnew/3.8.rst:1348 msgid "unicodedata" msgstr "unicodedata" -#: ../../whatsnew/3.8.rst:1348 +#: ../../whatsnew/3.8.rst:1350 msgid "" "The :mod:`unicodedata` module has been upgraded to use the `Unicode 12.1.0 " -"`_ release." +"`_ release." msgstr "" "O módulo :mod:`unicodedata` agora foi atualizado para usar o `Unicode 12.1.0 " -"`_." +"`_." -#: ../../whatsnew/3.8.rst:1351 +#: ../../whatsnew/3.8.rst:1353 msgid "" "New function :func:`~unicodedata.is_normalized` can be used to verify a " "string is in a specific normal form, often much faster than by actually " @@ -2216,11 +2214,11 @@ msgstr "" "muito mais rápida do que normalizar a string. (Contribuição de Max Belanger, " "David Euresti e Greg Price em :issue:`32285` e :issue:`37966`)." -#: ../../whatsnew/3.8.rst:1358 +#: ../../whatsnew/3.8.rst:1360 msgid "unittest" msgstr "unittest" -#: ../../whatsnew/3.8.rst:1360 +#: ../../whatsnew/3.8.rst:1362 msgid "" "Added :class:`~unittest.mock.AsyncMock` to support an asynchronous version " "of :class:`~unittest.mock.Mock`. Appropriate new assert functions for " @@ -2232,7 +2230,7 @@ msgstr "" "funções apropriadas para teste. (Contribuição de Lisa Roach em :issue:" "`26467`)." -#: ../../whatsnew/3.8.rst:1365 +#: ../../whatsnew/3.8.rst:1367 msgid "" "Added :func:`~unittest.addModuleCleanup()` and :meth:`~unittest.TestCase." "addClassCleanup()` to unittest to support cleanups for :func:`~unittest." @@ -2244,7 +2242,7 @@ msgstr "" "`~unittest.setUpModule()` e :meth:`~unittest.TestCase.setUpClass()`. " "(Contribuição de Lisa Roach em :issue:`24412`.)" -#: ../../whatsnew/3.8.rst:1371 +#: ../../whatsnew/3.8.rst:1373 msgid "" "Several mock assert functions now also print a list of actual calls upon " "failure. (Contributed by Petter Strandmark in :issue:`35047`.)" @@ -2253,7 +2251,7 @@ msgstr "" "chamadas reais em caso de falha. (Contribuição de Petter Strandmark em :" "issue:`35047`.)" -#: ../../whatsnew/3.8.rst:1374 +#: ../../whatsnew/3.8.rst:1376 msgid "" ":mod:`unittest` module gained support for coroutines to be used as test " "cases with :class:`unittest.IsolatedAsyncioTestCase`. (Contributed by Andrew " @@ -2263,15 +2261,15 @@ msgstr "" "casos de teste com :class:`unittest.IsolatedAsyncioTestCase`. (Contribuição " "de Andrew Svetlov em :issue:`32972`.)" -#: ../../whatsnew/3.8.rst:1378 +#: ../../whatsnew/3.8.rst:1380 msgid "Example::" msgstr "Exemplo::" -#: ../../whatsnew/3.8.rst:1401 +#: ../../whatsnew/3.8.rst:1403 msgid "venv" msgstr "venv" -#: ../../whatsnew/3.8.rst:1403 +#: ../../whatsnew/3.8.rst:1405 msgid "" ":mod:`venv` now includes an ``Activate.ps1`` script on all platforms for " "activating virtual environments under PowerShell Core 6.1. (Contributed by " @@ -2281,11 +2279,11 @@ msgstr "" "para ativar ambientes virtuais no PowerShell Core 6.1. (Contribuição de " "Brett Cannon em :issue:`32718`.)" -#: ../../whatsnew/3.8.rst:1409 +#: ../../whatsnew/3.8.rst:1411 msgid "weakref" msgstr "weakref" -#: ../../whatsnew/3.8.rst:1411 +#: ../../whatsnew/3.8.rst:1413 msgid "" "The proxy objects returned by :func:`weakref.proxy` now support the matrix " "multiplication operators ``@`` and ``@=`` in addition to the other numeric " @@ -2295,11 +2293,11 @@ msgstr "" "aos operadores de multiplicação de matrizes ``@`` e ``@=`` além dos outros " "operadores numéricos. (Contribuição de Mark Dickinson em :issue:`36669`.)" -#: ../../whatsnew/3.8.rst:1417 +#: ../../whatsnew/3.8.rst:1419 msgid "xml" msgstr "xml" -#: ../../whatsnew/3.8.rst:1419 +#: ../../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 " @@ -2309,7 +2307,7 @@ msgstr "" "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:1424 +#: ../../whatsnew/3.8.rst:1426 msgid "" "The ``.find*()`` methods in the :mod:`xml.etree.ElementTree` module support " "wildcard searches like ``{*}tag`` which ignores the namespace and " @@ -2321,7 +2319,7 @@ msgstr "" "``{namespace}*``, que retorna todas as tags no espaço para nome " "especificado. (Contribuição de Stefan Behnel em :issue:`28238`.)" -#: ../../whatsnew/3.8.rst:1429 +#: ../../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 " @@ -2331,7 +2329,7 @@ msgstr "" "etree.ElementTree.canonicalize()` que implementa o C14N 2.0. (Contribuição " "de Stefan Behnel em :issue:`13611`.)" -#: ../../whatsnew/3.8.rst:1433 +#: ../../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()`` " @@ -2348,11 +2346,11 @@ msgstr "" "incluí-los na árvore gerada. (Contribuição de Stefan Behnel em :issue:" "`36676` e :issue:`36673`.)" -#: ../../whatsnew/3.8.rst:1443 +#: ../../whatsnew/3.8.rst:1445 msgid "xmlrpc" msgstr "xmlrpc" -#: ../../whatsnew/3.8.rst:1445 +#: ../../whatsnew/3.8.rst:1447 msgid "" ":class:`xmlrpc.client.ServerProxy` now supports an optional *headers* " "keyword argument for a sequence of HTTP headers to be sent with each " @@ -2366,11 +2364,11 @@ msgstr "" "atualização da autenticação básica padrão para uma autenticação de sessão " "mais rápida. (Contribuição de Cédric Krier em :issue:`35153`.)" -#: ../../whatsnew/3.8.rst:1453 +#: ../../whatsnew/3.8.rst:1455 msgid "Optimizations" msgstr "Otimizações" -#: ../../whatsnew/3.8.rst:1455 +#: ../../whatsnew/3.8.rst:1457 msgid "" "The :mod:`subprocess` module can now use the :func:`os.posix_spawn` function " "in some cases for better performance. Currently, it is only used on macOS " @@ -2381,11 +2379,11 @@ msgstr "" "no macOS e Linux (usando glibc 2.24 ou mais recente) se todas essas " "condições forem atendidas:" -#: ../../whatsnew/3.8.rst:1459 +#: ../../whatsnew/3.8.rst:1461 msgid "*close_fds* is false;" msgstr "*close_fds* ser false;" -#: ../../whatsnew/3.8.rst:1460 +#: ../../whatsnew/3.8.rst:1462 msgid "" "*preexec_fn*, *pass_fds*, *cwd* and *start_new_session* parameters are not " "set;" @@ -2393,28 +2391,28 @@ msgstr "" "os parâmetros *preexec_fn*, *pass_fds*, *cwd* and *start_new_session* não " "estarem definidos;" -#: ../../whatsnew/3.8.rst:1462 +#: ../../whatsnew/3.8.rst:1464 msgid "the *executable* path contains a directory." msgstr "o caminho *executable* conter um diretório." -#: ../../whatsnew/3.8.rst:1464 +#: ../../whatsnew/3.8.rst:1466 msgid "(Contributed by Joannah Nanjekye and Victor Stinner in :issue:`35537`.)" msgstr "(Contribuição de Joannah Nanjekye e Victor Stinner em :issue:`35537`.)" -#: ../../whatsnew/3.8.rst:1466 +#: ../../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 +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`.)" +"`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-" @@ -2430,7 +2428,7 @@ msgstr "" "platform-dependent-efficient-copy-operations`. (Contribuição de Giampaolo " "Rodolà em :issue:`33671`.)" -#: ../../whatsnew/3.8.rst:1482 +#: ../../whatsnew/3.8.rst:1484 msgid "" ":func:`shutil.copytree` uses :func:`os.scandir` function and all copy " "functions depending from it use cached :func:`os.stat` values. The speedup " @@ -2447,7 +2445,7 @@ msgstr "" "tornando :func:`shutil.copytree` especialmente mais rápida em sistemas de " "arquivos em rede. (Contribuição de Giampaolo Rodolà em :issue:`33695`.)" -#: ../../whatsnew/3.8.rst:1489 +#: ../../whatsnew/3.8.rst:1491 msgid "" "The default protocol in the :mod:`pickle` module is now Protocol 4, first " "introduced in Python 3.4. It offers better performance and smaller size " @@ -2457,17 +2455,18 @@ msgstr "" "introduzido pela primeira vez no Python 3.4. Ele oferece melhor desempenho e " "tamanho menor em comparação com o Protocolo 3 disponível desde o Python 3.0." -#: ../../whatsnew/3.8.rst:1493 +#: ../../whatsnew/3.8.rst:1495 msgid "" -"Removed one ``Py_ssize_t`` member from ``PyGC_Head``. All GC tracked " +"Removed one :c:type:`Py_ssize_t` member from ``PyGC_Head``. All GC tracked " "objects (e.g. tuple, list, dict) size is reduced 4 or 8 bytes. (Contributed " "by Inada Naoki in :issue:`33597`.)" msgstr "" -"Removido um membro ``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`.)" +"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`.)" -#: ../../whatsnew/3.8.rst:1497 +#: ../../whatsnew/3.8.rst:1499 msgid "" ":class:`uuid.UUID` now uses ``__slots__`` to reduce its memory footprint. " "(Contributed by Wouter Bolsterlee and Tal Einat in :issue:`30977`)" @@ -2475,7 +2474,7 @@ msgstr "" ":class:`uuid.UUID` agora usa ``__slots__`` para reduzir seu uso de espaço de " "memória. (Contribuição de Wouter Bolsterlee e Tal Einat em :issue:`30977`)" -#: ../../whatsnew/3.8.rst:1500 +#: ../../whatsnew/3.8.rst:1502 msgid "" "Improved performance of :func:`operator.itemgetter` by 33%. Optimized " "argument handling and added a fast path for the common case of a single non-" @@ -2487,7 +2486,7 @@ msgstr "" "único índice inteiro não negativo em uma tupla (que é o caso de uso típico " "na biblioteca padrão). (Contribuição de Raymond Hettinger em :issue:`35664`.)" -#: ../../whatsnew/3.8.rst:1506 +#: ../../whatsnew/3.8.rst:1508 msgid "" "Sped-up field lookups in :func:`collections.namedtuple`. They are now more " "than two times faster, making them the fastest form of instance variable " @@ -2499,7 +2498,7 @@ msgstr "" "variáveis de instância no Python. (Contribuição de Raymond Hettinger, Pablo " "Galindo e Joe Jevnik, Serhiy Storchaka em :issue:`32492`.)" -#: ../../whatsnew/3.8.rst:1511 +#: ../../whatsnew/3.8.rst:1513 msgid "" "The :class:`list` constructor does not overallocate the internal item buffer " "if the input iterable has a known length (the input implements ``__len__``). " @@ -2511,7 +2510,7 @@ msgstr "" "``__len__``). Isso torna a lista criada 12% menor em média. (Contribuição de " "Raymond Hettinger e Pablo Galindo em :issue:`33234`.)" -#: ../../whatsnew/3.8.rst:1516 +#: ../../whatsnew/3.8.rst:1518 msgid "" "Doubled the speed of class variable writes. When a non-dunder attribute was " "updated, there was an unnecessary call to update slots. (Contributed by " @@ -2523,7 +2522,7 @@ msgstr "" "slots. (Contribuição de Stefan Behnel, Pablo Galindo Salgado, Raymond " "Hettinger, Neil Schemenauer e Serhiy Storchaka em :issue:`36012`.)" -#: ../../whatsnew/3.8.rst:1521 +#: ../../whatsnew/3.8.rst:1523 msgid "" "Reduced an overhead of converting arguments passed to many builtin functions " "and methods. This sped up calling some simple builtin functions and methods " @@ -2535,7 +2534,7 @@ msgstr "" "internos simples de 20--50%. (Contribuição de Serhiy Storchaka em :issue:" "`23867`, :issue:`35582` e :issue:`36127`.)" -#: ../../whatsnew/3.8.rst:1526 +#: ../../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 :" @@ -2545,11 +2544,11 @@ msgstr "" "de operação\". É cerca de 40% mais rápido agora. (Contribuição de Yury " "Selivanov e Inada Naoki em :issue: `26219`.)" -#: ../../whatsnew/3.8.rst:1532 +#: ../../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:1534 +#: ../../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 " @@ -2561,18 +2560,18 @@ msgstr "" "compatíveis com ABI) e, portanto, foi removido. (Contribuição de Victor " "Stinner em :issue:`36707`.)" -#: ../../whatsnew/3.8.rst:1538 +#: ../../whatsnew/3.8.rst:1540 msgid "Example of changes:" msgstr "Exemplos de alterações:" -#: ../../whatsnew/3.8.rst:1540 +#: ../../whatsnew/3.8.rst:1542 msgid "" "Only ``python3.8`` program is installed, ``python3.8m`` program is gone." msgstr "" "Somente o programa ``python3.8`` é instalado, o programa ``python3.8m`` se " "foi." -#: ../../whatsnew/3.8.rst:1541 +#: ../../whatsnew/3.8.rst:1543 msgid "" "Only ``python3.8-config`` script is installed, ``python3.8m-config`` script " "is gone." @@ -2580,7 +2579,7 @@ msgstr "" "Somente o script ``python3.8-config`` é instalado, o programa ``python3.8m-" "config`` se foi." -#: ../../whatsnew/3.8.rst:1543 +#: ../../whatsnew/3.8.rst:1545 msgid "" "The ``m`` flag has been removed from the suffix of dynamic library " "filenames: extension modules in the standard library as well as those " @@ -2595,7 +2594,7 @@ msgstr "" "so`` do Python 3.7 se tornou ``.cpython-38-x86_64-linux-gnu.so`` no Python " "3.8." -#: ../../whatsnew/3.8.rst:1550 +#: ../../whatsnew/3.8.rst:1552 msgid "" "The header files have been reorganized to better separate the different " "kinds of APIs:" @@ -2603,11 +2602,11 @@ msgstr "" "Os arquivos de cabeçalho foram reorganizados para separar melhor os " "diferentes tipos de APIs:" -#: ../../whatsnew/3.8.rst:1553 +#: ../../whatsnew/3.8.rst:1555 msgid "``Include/*.h`` should be the portable public stable C API." msgstr "``Include/*.h`` deve ser a API C pública estável e portátil." -#: ../../whatsnew/3.8.rst:1554 +#: ../../whatsnew/3.8.rst:1556 msgid "" "``Include/cpython/*.h`` should be the unstable C API specific to CPython; " "public API, with some private API prefixed by ``_Py`` or ``_PY``." @@ -2615,7 +2614,7 @@ msgstr "" "``Include/cpython/*.h`` deve ser a API C instável específica do CPython; API " "pública, com alguma API privada prefixada por ``_Py`` ou ``_PY``." -#: ../../whatsnew/3.8.rst:1556 +#: ../../whatsnew/3.8.rst:1558 msgid "" "``Include/internal/*.h`` is the private internal C API very specific to " "CPython. This API comes with no backward compatibility warranty and should " @@ -2630,7 +2629,7 @@ msgstr "" "acessar os componentes internos do CPython sem chamar funções. Esta API " "agora está instalada por ``make install``." -#: ../../whatsnew/3.8.rst:1562 +#: ../../whatsnew/3.8.rst:1564 msgid "" "(Contributed by Victor Stinner in :issue:`35134` and :issue:`35081`, work " "initiated by Eric Snow in Python 3.7.)" @@ -2638,7 +2637,7 @@ msgstr "" "(Contribuição de Victor Stinner em :issue:`35134` e :issue:`35081`, trabalho " "iniciado por Eric Snow em Python 3.7.)" -#: ../../whatsnew/3.8.rst:1565 +#: ../../whatsnew/3.8.rst:1567 msgid "" "Some macros have been converted to static inline functions: parameter types " "and return type are well defined, they don't have issues specific to macros, " @@ -2648,19 +2647,19 @@ msgstr "" "parâmetros e o tipo de retorno são bem definidos, eles não têm problemas " "específicos para as macros, as variáveis têm escopos locais. Exemplos:" -#: ../../whatsnew/3.8.rst:1569 +#: ../../whatsnew/3.8.rst:1571 msgid ":c:func:`Py_INCREF`, :c:func:`Py_DECREF`" msgstr ":c:func:`Py_INCREF`, :c:func:`Py_DECREF`" -#: ../../whatsnew/3.8.rst:1570 +#: ../../whatsnew/3.8.rst:1572 msgid ":c:func:`Py_XINCREF`, :c:func:`Py_XDECREF`" msgstr ":c:func:`Py_XINCREF`, :c:func:`Py_XDECREF`" -#: ../../whatsnew/3.8.rst:1571 +#: ../../whatsnew/3.8.rst:1573 msgid ":c:func:`PyObject_INIT`, :c:func:`PyObject_INIT_VAR`" msgstr ":c:func:`PyObject_INIT`, :c:func:`PyObject_INIT_VAR`" -#: ../../whatsnew/3.8.rst:1572 +#: ../../whatsnew/3.8.rst:1574 msgid "" "Private functions: :c:func:`_PyObject_GC_TRACK`, :c:func:" "`_PyObject_GC_UNTRACK`, :c:func:`_Py_Dealloc`" @@ -2668,11 +2667,11 @@ msgstr "" "Funções privadas: :c:func:`_PyObject_GC_TRACK`, :c:func:" "`_PyObject_GC_UNTRACK`, :c:func:`_Py_Dealloc`" -#: ../../whatsnew/3.8.rst:1575 +#: ../../whatsnew/3.8.rst:1577 msgid "(Contributed by Victor Stinner in :issue:`35059`.)" msgstr "(Contribuição de Victor Stinner em :issue:`35059`.)" -#: ../../whatsnew/3.8.rst:1577 +#: ../../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 " @@ -2684,7 +2683,7 @@ msgstr "" "excluídas da API limitada (ABI estável) e não foram documentados. " "(Contribuição de Victor Stinner em :issue:`35713`.)" -#: ../../whatsnew/3.8.rst:1582 +#: ../../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:" @@ -2694,7 +2693,7 @@ msgstr "" "*`` em vez de ``char *``. (Contribuição de Serhiy Storchaka em :issue:" "`33818`.)" -#: ../../whatsnew/3.8.rst:1586 +#: ../../whatsnew/3.8.rst:1588 msgid "" "The duality of ``Modules/Setup.dist`` and ``Modules/Setup`` has been " "removed. Previously, when updating the CPython source tree, one had to " @@ -2713,7 +2712,7 @@ msgstr "" "desenvolvimento do CPython, pois esquecer de copiar o arquivo pode causar " "falhas na compilação." -#: ../../whatsnew/3.8.rst:1594 +#: ../../whatsnew/3.8.rst:1596 msgid "" "Now the build system always reads from ``Modules/Setup`` inside the source " "tree. People who want to customize that file are encouraged to maintain " @@ -2725,11 +2724,11 @@ msgstr "" "a manter suas alterações em um fork do git do CPython ou como arquivos de " "patch, como faria em qualquer outra alteração na árvore de fontes." -#: ../../whatsnew/3.8.rst:1599 +#: ../../whatsnew/3.8.rst:1601 msgid "(Contributed by Antoine Pitrou in :issue:`32430`.)" msgstr "(Contribuição de Antoine Pitrou em :issue:`32430`.)" -#: ../../whatsnew/3.8.rst:1601 +#: ../../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:" @@ -2757,7 +2756,7 @@ msgstr "" "``__index__()``, se disponível. (Contribuição de Serhiy Storchaka em :issue:" "`36048` e :issue:`20092`.)" -#: ../../whatsnew/3.8.rst:1615 +#: ../../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 " @@ -2771,7 +2770,7 @@ msgstr "" "desalocação de instância podem precisar ser ajustados. (Contribuição de " "Eddie Elizondo em :issue:`35810`.)" -#: ../../whatsnew/3.8.rst:1621 +#: ../../whatsnew/3.8.rst:1623 msgid "" "The new function :c:func:`PyCode_NewWithPosOnlyArgs` allows to create code " "objects like :c:func:`PyCode_New`, but with an extra *posonlyargcount* " @@ -2783,7 +2782,7 @@ msgstr "" "*posonlyargcount* para indicar o número de argumentos somente posicionais. " "(Contribuição de Pablo Galindo em :issue:`37221`.)" -#: ../../whatsnew/3.8.rst:1626 +#: ../../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:" @@ -2794,11 +2793,11 @@ msgstr "" "programa (:c:func:`Py_GetProgramName`). (Contribuição de Victor Stinner em :" "issue:`38234`.)" -#: ../../whatsnew/3.8.rst:1633 +#: ../../whatsnew/3.8.rst:1635 msgid "Deprecated" msgstr "Descontinuados" -#: ../../whatsnew/3.8.rst:1635 +#: ../../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 :" @@ -2808,7 +2807,7 @@ msgstr "" "``bdist_wheel`` (pacotes wheel). (Contribuição de Victor Stinner em :issue:" "`37481`.)" -#: ../../whatsnew/3.8.rst:1639 +#: ../../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 :" @@ -2820,7 +2819,7 @@ msgstr "" "vez de :exc:`PendingDeprecationWarning`. Eles serão removidos no Python 3.9. " "(Contribuição de Serhiy Storchaka em :issue:`29209`.)" -#: ../../whatsnew/3.8.rst:1645 +#: ../../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() ` foi descontinuado e será proibido no Python 3.9. " "(Contribuição de Elvis Pranskevichus em :issue:`34075`.)" -#: ../../whatsnew/3.8.rst:1651 +#: ../../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 " @@ -2842,7 +2841,7 @@ msgstr "" "class:`wsgiref.util.FileWrapper` e :class:`fileinput.FileInput` foram " "descontinuados." -#: ../../whatsnew/3.8.rst:1655 +#: ../../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:" @@ -2851,7 +2850,7 @@ 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`.)" -#: ../../whatsnew/3.8.rst:1659 +#: ../../whatsnew/3.8.rst:1661 msgid "" "The :class:`typing.NamedTuple` class has deprecated the ``_field_types`` " "attribute in favor of the ``__annotations__`` attribute which has the same " @@ -2861,7 +2860,7 @@ msgstr "" "em favor do atributo ``__annotations__`` que possui as mesmas informações. " "(Contribuição de Raymond Hettinger em :issue:`36320`.)" -#: ../../whatsnew/3.8.rst:1663 +#: ../../whatsnew/3.8.rst:1665 msgid "" ":mod:`ast` classes ``Num``, ``Str``, ``Bytes``, ``NameConstant`` and " "``Ellipsis`` are considered deprecated and will be removed in future Python " @@ -2873,7 +2872,7 @@ msgstr "" "versões futuras do Python. A :class:`~ast.Constant` deve ser usado. " "(Contribuição de Serhiy Storchaka em :issue:`32892`.)" -#: ../../whatsnew/3.8.rst:1668 +#: ../../whatsnew/3.8.rst:1670 msgid "" ":class:`ast.NodeVisitor` methods ``visit_Num()``, ``visit_Str()``, " "``visit_Bytes()``, ``visit_NameConstant()`` and ``visit_Ellipsis()`` are " @@ -2888,7 +2887,7 @@ msgstr "" "para manipular todos os nós constantes. (Contribuição de Serhiy Storchaka " "em :issue:`36917`.)" -#: ../../whatsnew/3.8.rst:1675 +#: ../../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:" @@ -2899,7 +2898,7 @@ msgstr "" "coroutine``, use :keyword:`async def`. (Contribuição de Andrew Svetlov em :" "issue:`36921`.)" -#: ../../whatsnew/3.8.rst:1680 +#: ../../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:" @@ -2919,7 +2918,7 @@ msgstr "" "BoundedSemaphore`, :class:`asyncio.Queue`, :func:`asyncio." "create_subprocess_exec` e :func:`asyncio.create_subprocess_shell`." -#: ../../whatsnew/3.8.rst:1690 +#: ../../whatsnew/3.8.rst:1692 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 " @@ -2929,7 +2928,7 @@ msgstr "" "descontinuada e será removida na versão 3.11. (Contribuição de Yury " "Selivanov em :issue:`34790`.)" -#: ../../whatsnew/3.8.rst:1694 +#: ../../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:" @@ -2947,7 +2946,7 @@ msgstr "" "muito melhor usar alternativas que retornam strings Unicode no Python 3. " "Essas funções estiveram quebradas por um longo tempo." -#: ../../whatsnew/3.8.rst:1702 +#: ../../whatsnew/3.8.rst:1704 msgid "" "Function :func:`~gettext.bind_textdomain_codeset`, methods :meth:`~gettext." "NullTranslations.output_charset` and :meth:`~gettext.NullTranslations." @@ -2963,7 +2962,7 @@ msgstr "" "descontinuados, pois são usados apenas para as funções ``l*gettext()``. " "(Contribuição de Serhiy Storchaka em :issue:`33710`.)" -#: ../../whatsnew/3.8.rst:1710 +#: ../../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`.)" @@ -2971,7 +2970,7 @@ msgstr "" "O método :meth:`~threading.Thread.isAlive()` da classe :class:`threading." "Thread` foi descontinuado. (Contribuição de Dong-hee Na em :issue:`35283`.)" -#: ../../whatsnew/3.8.rst:1714 +#: ../../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:" @@ -2988,12 +2987,12 @@ msgstr "" "`~object.__index__`). Em uma versão futura, haverá erros. (Contribuição de " "Serhiy Storchaka em :issue:`36048`.)" -#: ../../whatsnew/3.8.rst:1722 +#: ../../whatsnew/3.8.rst:1724 msgid "Deprecated passing the following arguments as keyword arguments:" msgstr "" "Descontinuada a passagem dos seguintes argumentos como argumentos nomeados:" -#: ../../whatsnew/3.8.rst:1724 +#: ../../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." @@ -3003,11 +3002,11 @@ msgstr "" "`profile.Profile.runcall`, :meth:`cProfile.Profile.runcall`, :meth:`bdb.Bdb." "runcall`, :meth:`trace.Trace.runfunc` e :func:`curses.wrapper`." -#: ../../whatsnew/3.8.rst:1728 +#: ../../whatsnew/3.8.rst:1730 msgid "*function* in :meth:`unittest.TestCase.addCleanup`." msgstr "*function* em :meth:`unittest.TestCase.addCleanup`." -#: ../../whatsnew/3.8.rst:1729 +#: ../../whatsnew/3.8.rst:1731 msgid "" "*fn* in the :meth:`~concurrent.futures.Executor.submit` method of :class:" "`concurrent.futures.ThreadPoolExecutor` and :class:`concurrent.futures." @@ -3017,7 +3016,7 @@ msgstr "" "`concurrent.futures.ThreadPoolExecutor` e :class:`concurrent.futures." "ProcessPoolExecutor`." -#: ../../whatsnew/3.8.rst:1732 +#: ../../whatsnew/3.8.rst:1734 msgid "" "*callback* in :meth:`contextlib.ExitStack.callback`, :meth:`contextlib." "AsyncExitStack.callback` and :meth:`contextlib.AsyncExitStack." @@ -3027,7 +3026,7 @@ msgstr "" "AsyncExitStack.callback` e :meth:`contextlib.AsyncExitStack." "push_async_callback`." -#: ../../whatsnew/3.8.rst:1735 +#: ../../whatsnew/3.8.rst:1737 msgid "" "*c* and *typeid* in the :meth:`~multiprocessing.managers.Server.create` " "method of :class:`multiprocessing.managers.Server` and :class:" @@ -3037,11 +3036,11 @@ msgstr "" "class:`multiprocessing.managers.Server` e :class:`multiprocessing.managers." "SharedMemoryServer`." -#: ../../whatsnew/3.8.rst:1738 +#: ../../whatsnew/3.8.rst:1740 msgid "*obj* in :func:`weakref.finalize`." msgstr "*obj* em :func:`weakref.finalize`." -#: ../../whatsnew/3.8.rst:1740 +#: ../../whatsnew/3.8.rst:1742 msgid "" "In future releases of Python, they will be :ref:`positional-only `. (Contributed by Serhiy Storchaka in :issue:`36492`.)" @@ -3050,15 +3049,15 @@ msgstr "" "`. (Contribuição de Serhiy Storchaka em :issue:" "`36492`.)" -#: ../../whatsnew/3.8.rst:1746 +#: ../../whatsnew/3.8.rst:1748 msgid "API and Feature Removals" msgstr "Remoção de APIs e recursos" -#: ../../whatsnew/3.8.rst:1748 +#: ../../whatsnew/3.8.rst:1750 msgid "The following features and APIs have been removed from Python 3.8:" msgstr "Os seguintes recursos e APIs foram removidos do Python 3.8:" -#: ../../whatsnew/3.8.rst:1750 +#: ../../whatsnew/3.8.rst:1752 msgid "" "Starting with Python 3.3, importing ABCs from :mod:`collections` was " "deprecated, and importing should be done from :mod:`collections.abc`. Being " @@ -3070,7 +3069,7 @@ msgstr "" "possibilidade de importar de coleções foi marcada para remoção em 3.8, mas " "foi adiada para 3.9. (Veja :issue:`36952`.)" -#: ../../whatsnew/3.8.rst:1755 +#: ../../whatsnew/3.8.rst:1757 msgid "" "The :mod:`macpath` module, deprecated in Python 3.7, has been removed. " "(Contributed by Victor Stinner in :issue:`35471`.)" @@ -3078,7 +3077,7 @@ msgstr "" "O módulo :mod:`macpath`, descontinuado no Python 3.7, foi removido. " "(Contribuição de Victor Stinner em :issue:`35471`.)" -#: ../../whatsnew/3.8.rst:1758 ../../whatsnew/3.8.rst:1877 +#: ../../whatsnew/3.8.rst:1760 ../../whatsnew/3.8.rst:1879 msgid "" "The function :func:`platform.popen` has been removed, after having been " "deprecated since Python 3.3: use :func:`os.popen` instead. (Contributed by " @@ -3086,9 +3085,9 @@ msgid "" msgstr "" "A função :func:`platform.popen` foi removida, após ter sido descontinuada " "desde o Python 3.3: use :func:`os.popen`. (Contribuição de Victor Stinner " -"em :issue:`35345`.) " +"em :issue:`35345`.)" -#: ../../whatsnew/3.8.rst:1762 +#: ../../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." @@ -3100,7 +3099,7 @@ msgstr "" "dependendo de seus requisitos, para ter o comportamento já definido. " "(Contribuição de Matthias Bussonnier em :issue:`36895`.)" -#: ../../whatsnew/3.8.rst:1768 +#: ../../whatsnew/3.8.rst:1770 msgid "" "The ``pyvenv`` script has been removed in favor of ``python3.8 -m venv`` to " "help eliminate confusion as to what Python interpreter the ``pyvenv`` script " @@ -3110,7 +3109,7 @@ msgstr "" "ajudar a eliminar a confusão sobre a qual interpretador Python o script " "``pyvenv`` está associado. (Contribuição de Brett Cannon em :issue:`25427`.)" -#: ../../whatsnew/3.8.rst:1772 +#: ../../whatsnew/3.8.rst:1774 msgid "" "``parse_qs``, ``parse_qsl``, and ``escape`` are removed from the :mod:`cgi` " "module. They are deprecated in Python 3.2 or older. They should be imported " @@ -3120,7 +3119,7 @@ msgstr "" "`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:1776 +#: ../../whatsnew/3.8.rst:1778 msgid "" "``filemode`` function is removed from the :mod:`tarfile` module. It is not " "documented and deprecated since Python 3.3." @@ -3128,7 +3127,7 @@ msgstr "" "A função ``filemode`` foi removida do módulo :mod:`tarfile`. Não é " "documentada e foi descontinuada desde o Python 3.3." -#: ../../whatsnew/3.8.rst:1779 +#: ../../whatsnew/3.8.rst:1781 msgid "" "The :class:`~xml.etree.ElementTree.XMLParser` constructor no longer accepts " "the *html* argument. It never had an effect and was deprecated in Python " @@ -3140,7 +3139,7 @@ msgstr "" "Todos os outros parâmetros agora são :ref:`somente-nomeados `. (Contribuição de Serhiy Storchaka em :issue:`29209`.)" -#: ../../whatsnew/3.8.rst:1784 +#: ../../whatsnew/3.8.rst:1786 msgid "" "Removed the ``doctype()`` method of :class:`~xml.etree.ElementTree." "XMLParser`. (Contributed by Serhiy Storchaka in :issue:`29209`.)" @@ -3148,7 +3147,7 @@ msgstr "" "Removido o método ``doctype()`` de :class:`~xml.etree.ElementTree." "XMLParser`. (Contribuição de Serhiy Storchaka em :issue:`29209`.)" -#: ../../whatsnew/3.8.rst:1787 +#: ../../whatsnew/3.8.rst:1789 msgid "" "\"unicode_internal\" codec is removed. (Contributed by Inada Naoki in :issue:" "`36297`.)" @@ -3156,7 +3155,7 @@ msgstr "" "O codec \"unicode_internal\" foi removido. (Contribuição de Inada Naoki em :" "issue:`36297`.)" -#: ../../whatsnew/3.8.rst:1790 +#: ../../whatsnew/3.8.rst:1792 msgid "" "The ``Cache`` and ``Statement`` objects of the :mod:`sqlite3` module are not " "exposed to the user. (Contributed by Aviv Palivoda in :issue:`30262`.)" @@ -3164,7 +3163,7 @@ msgstr "" "Os objetos ``Cache`` e ``Statement`` do módulo :mod:`sqlite3` não expostos " "para o usuário. (Contribuição de Aviv Palivoda em :issue:`30262`.)" -#: ../../whatsnew/3.8.rst:1794 +#: ../../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 " @@ -3175,7 +3174,7 @@ msgstr "" "Python 3.6, foi removido. :issue:`36952` (Contribuição de Matthias " "Bussonnier.)" -#: ../../whatsnew/3.8.rst:1798 +#: ../../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:" @@ -3185,11 +3184,11 @@ msgstr "" "get_coroutine_wrapper` no Python 3.7 foram removidas; :issue:`36933` " "(Contribuição de Matthias Bussonnier.)" -#: ../../whatsnew/3.8.rst:1804 +#: ../../whatsnew/3.8.rst:1806 msgid "Porting to Python 3.8" msgstr "Portando para o Python 3.8" -#: ../../whatsnew/3.8.rst:1806 +#: ../../whatsnew/3.8.rst:1808 msgid "" "This section lists previously described changes and other bugfixes that may " "require changes to your code." @@ -3197,11 +3196,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.8.rst:1811 +#: ../../whatsnew/3.8.rst:1813 msgid "Changes in Python behavior" msgstr "Alterações no comportamento do Python" -#: ../../whatsnew/3.8.rst:1813 +#: ../../whatsnew/3.8.rst:1815 msgid "" "Yield expressions (both ``yield`` and ``yield from`` clauses) are now " "disallowed in comprehensions and generator expressions (aside from the " @@ -3213,7 +3212,7 @@ msgstr "" "iterável na cláusula mais à esquerda :keyword:`!for`). (Contribuição de " "Serhiy Storchaka em :issue:`10544`.)" -#: ../../whatsnew/3.8.rst:1818 +#: ../../whatsnew/3.8.rst:1820 msgid "" "The compiler now produces a :exc:`SyntaxWarning` when identity checks " "(``is`` and ``is not``) are used with certain types of literals (e.g. " @@ -3229,7 +3228,7 @@ msgstr "" "linguagem. O aviso aconselha os usuários a usar testes de igualdade (``==`` " "e ``!=``). (Contribuição de Serhiy Storchaka em :issue:`34850`.)" -#: ../../whatsnew/3.8.rst:1825 +#: ../../whatsnew/3.8.rst:1827 msgid "" "The CPython interpreter can swallow exceptions in some circumstances. In " "Python 3.8 this happens in fewer cases. In particular, exceptions raised " @@ -3241,7 +3240,7 @@ msgstr "" "levantadas ao obter o atributo do dicionário de tipos não são mais " "ignoradas. (Contribuição de Serhiy Storchaka em :issue:`35459`.)" -#: ../../whatsnew/3.8.rst:1830 +#: ../../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 " @@ -3254,9 +3253,10 @@ msgstr "" "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`.)" +"representação de string. (Contribuição de Serhiy Storchaka em :issue:" +"`36793`.)" -#: ../../whatsnew/3.8.rst:1837 +#: ../../whatsnew/3.8.rst:1839 msgid "" "On AIX, :attr:`sys.platform` doesn't contain the major version anymore. It " "is always ``'aix'``, instead of ``'aix3'`` .. ``'aix7'``. Since older " @@ -3269,7 +3269,7 @@ msgstr "" "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:1843 +#: ../../whatsnew/3.8.rst:1845 msgid "" ":c:func:`PyEval_AcquireLock` and :c:func:`PyEval_AcquireThread` now " "terminate the current thread if called while the interpreter is finalizing, " @@ -3287,11 +3287,11 @@ msgstr "" "ou :c:func:`sys.is_finalizing`. (Contribuição de Joannah Nanjekye em :issue:" "`36475`.)" -#: ../../whatsnew/3.8.rst:1853 +#: ../../whatsnew/3.8.rst:1855 msgid "Changes in the Python API" msgstr "Alterações na API Python" -#: ../../whatsnew/3.8.rst:1855 +#: ../../whatsnew/3.8.rst:1857 msgid "" "The :func:`os.getcwdb` function now uses the UTF-8 encoding on Windows, " "rather than the ANSI code page: see :pep:`529` for the rationale. The " @@ -3303,7 +3303,7 @@ msgstr "" "não é mais descontinuada no Windows. (Contribuição de Victor Stinner em :" "issue:`37412`.)" -#: ../../whatsnew/3.8.rst:1860 +#: ../../whatsnew/3.8.rst:1862 msgid "" ":class:`subprocess.Popen` can now use :func:`os.posix_spawn` in some cases " "for better performance. On Windows Subsystem for Linux and QEMU User " @@ -3320,7 +3320,7 @@ msgstr "" "returncode`. (Contribuição de Joannah Nanjekye e Victor Stinner em :issue:" "`35537`.)" -#: ../../whatsnew/3.8.rst:1867 +#: ../../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 " @@ -3332,7 +3332,7 @@ msgstr "" "agora levanta :exc:`RuntimeError`. (Contribuição de Eric Snow em :issue:" "`34651`, modificado por Christian Heimes em :issue:`37951`.)" -#: ../../whatsnew/3.8.rst:1873 +#: ../../whatsnew/3.8.rst:1875 msgid "" "The :meth:`imap.IMAP4.logout` method no longer silently ignores arbitrary " "exceptions. (Contributed by Victor Stinner in :issue:`36348`.)" @@ -3340,7 +3340,7 @@ msgstr "" "O método :meth:`imap.IMAP4.logout` não mais ignora silenciosamente exceções " "arbitrárias. (Contribuição de Victor Stinner em :issue:`36348`.)" -#: ../../whatsnew/3.8.rst:1881 +#: ../../whatsnew/3.8.rst:1883 msgid "" "The :func:`statistics.mode` function no longer raises an exception when " "given multimodal data. Instead, it returns the first mode encountered in " @@ -3351,7 +3351,7 @@ msgstr "" "encontrado nos dados de entrada. (Contribuição de Raymond Hettinger em :" "issue:`35892`.)" -#: ../../whatsnew/3.8.rst:1886 +#: ../../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 " @@ -3365,7 +3365,7 @@ msgstr "" "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:1892 +#: ../../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 " @@ -3377,7 +3377,7 @@ msgstr "" "preservam a ordem dos atributos especificados pelo usuário. (Contribuição de " "Diego Rojas e Raymond Hettinger em :issue:`34160`.)" -#: ../../whatsnew/3.8.rst:1897 +#: ../../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 " @@ -3388,7 +3388,7 @@ msgstr "" "``'w'`` não cria mais um banco de dados se ele não existir. (Contribuição de " "Serhiy Storchaka em :issue:`32749`.)" -#: ../../whatsnew/3.8.rst:1902 +#: ../../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:" @@ -3404,7 +3404,7 @@ msgstr "" "manipular uma declaração doctype XML. (Contribuição de Serhiy Storchaka em :" "issue:`29209`.)" -#: ../../whatsnew/3.8.rst:1909 +#: ../../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." @@ -3416,7 +3416,7 @@ msgstr "" "``type.__new__``. Uma :exc:`DeprecationWarning` era emitida no Python " "3.6-3.7. (Contribuição de Serhiy Storchaka em :issue:`23722`.)" -#: ../../whatsnew/3.8.rst:1914 +#: ../../whatsnew/3.8.rst:1916 msgid "" "The :class:`cProfile.Profile` class can now be used as a context manager. " "(Contributed by Scott Sanderson in :issue:`29235`.)" @@ -3424,19 +3424,19 @@ msgstr "" "A classe :class:`cProfile.Profile` agora pode ser usada como um gerenciador " "de contexto. (Contribuição de Scott Sanderson em :issue:`29235`.)" -#: ../../whatsnew/3.8.rst:1917 +#: ../../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)." +"`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`)." -#: ../../whatsnew/3.8.rst:1922 +#: ../../whatsnew/3.8.rst:1924 msgid "" ":func:`shutil.copyfile` default buffer size on Windows was changed from 16 " "KiB to 1 MiB." @@ -3444,7 +3444,7 @@ msgstr "" "O tamanho padrão do buffer de :func:`shutil.copyfile` no Windows foi " "alterado de 16 KiB para 1 MiB." -#: ../../whatsnew/3.8.rst:1925 +#: ../../whatsnew/3.8.rst:1927 msgid "" "The ``PyGC_Head`` struct has changed completely. All code that touched the " "struct member should be rewritten. (See :issue:`33597`.)" @@ -3452,7 +3452,7 @@ msgstr "" "A estrutura de ``PyGC_Head`` mudou completamente. Todo o código que tocava " "no membro struct deve ser reescrito. (Veja :issue:`33597`.)" -#: ../../whatsnew/3.8.rst:1928 +#: ../../whatsnew/3.8.rst:1930 msgid "" "The :c:type:`PyInterpreterState` struct has been moved into the \"internal\" " "header files (specifically Include/internal/pycore_pystate.h). An opaque " @@ -3473,7 +3473,7 @@ msgstr "" "ajudá-lo a ajustar (possivelmente incluindo a adição de funções de acessador " "à API pública). (Veja :issue:`35886`.)" -#: ../../whatsnew/3.8.rst:1938 +#: ../../whatsnew/3.8.rst:1940 msgid "" "The :meth:`mmap.flush() ` method now returns ``None`` on " "success and raises an exception on error under all platforms. Previously, " @@ -3489,7 +3489,7 @@ msgstr "" "era retornado com sucesso; uma exceção era levanta no caso de erro no Unix. " "(Contribuição de Berker Peksag em :issue:`2122`.)" -#: ../../whatsnew/3.8.rst:1945 +#: ../../whatsnew/3.8.rst:1947 msgid "" ":mod:`xml.dom.minidom` and :mod:`xml.sax` modules no longer process external " "entities by default. (Contributed by Christian Heimes in :issue:`17239`.)" @@ -3498,7 +3498,7 @@ msgstr "" "entidades externas por padrão. (Contribuição de Christian Heimes em :issue:" "`17239`.)" -#: ../../whatsnew/3.8.rst:1949 +#: ../../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`, :" @@ -3510,7 +3510,7 @@ msgstr "" "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:1954 +#: ../../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``, " @@ -3523,7 +3523,7 @@ msgstr "" "instância de ``Constant``. (Contribuição de Serhiy Storchaka em :issue:" "`32892`.)" -#: ../../whatsnew/3.8.rst:1970 +#: ../../whatsnew/3.8.rst:1972 msgid "" "The function :func:`asyncio.wait_for` now correctly waits for cancellation " "when using an instance of :class:`asyncio.Task`. Previously, upon reaching " @@ -3535,7 +3535,7 @@ msgstr "" "tempo limite, ele era cancelado e devolvido imediatamente. (Contribuição de " "Elvis Pranskevichus em :issue:`32751`.)" -#: ../../whatsnew/3.8.rst:1975 +#: ../../whatsnew/3.8.rst:1977 msgid "" "The function :func:`asyncio.BaseTransport.get_extra_info` now returns a safe " "to use socket object when 'socket' is passed to the *name* parameter. " @@ -3545,11 +3545,11 @@ msgstr "" "objeto soquete seguro de usar quando 'socket' é passado para o parâmetro " "*name*. (Contribuição de Yury Selivanov em :issue:`37027`.)" -#: ../../whatsnew/3.8.rst:1979 +#: ../../whatsnew/3.8.rst:1981 msgid ":class:`asyncio.BufferedProtocol` has graduated to the stable API." msgstr ":class:`asyncio.BufferedProtocol` foi promovida a API estável." -#: ../../whatsnew/3.8.rst:1983 +#: ../../whatsnew/3.8.rst:1985 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 " @@ -3576,7 +3576,7 @@ msgstr "" "Update KB2533623 esteja instalado (isso também é verificado pelo " "instalador). (Contribuição de Steve Dower em :issue:`36085`.)" -#: ../../whatsnew/3.8.rst:1996 +#: ../../whatsnew/3.8.rst:1998 msgid "" "The header files and functions related to pgen have been removed after its " "replacement by a pure Python implementation. (Contributed by Pablo Galindo " @@ -3586,7 +3586,7 @@ msgstr "" "após sua substituição por uma implementação pura do Python. (Contribuição de " "Pablo Galindo em :issue:`36623`.)" -#: ../../whatsnew/3.8.rst:2000 +#: ../../whatsnew/3.8.rst:2002 msgid "" ":class:`types.CodeType` has a new parameter in the second position of the " "constructor (*posonlyargcount*) to support positional-only arguments defined " @@ -3603,23 +3603,31 @@ msgstr "" "ser usado para tornar o código à prova de futuro." #: ../../whatsnew/3.8.rst:2009 +msgid "" +"The parameter ``digestmod`` for :func:`hmac.new` no longer uses the MD5 " +"digest by default." +msgstr "" +"O parâmetro ``digestmod`` para :func:`hmac.new` não usa mais o resumo MD5 " +"por padrão." + +#: ../../whatsnew/3.8.rst:2013 msgid "Changes in the C API" msgstr "Alterações na API C" -#: ../../whatsnew/3.8.rst:2011 +#: ../../whatsnew/3.8.rst:2015 msgid "" -"The :c:type:`PyCompilerFlags` structure got a new *cf_feature_version* " +"The :c:struct:`PyCompilerFlags` structure got a new *cf_feature_version* " "field. It should be initialized to ``PY_MINOR_VERSION``. The field is " "ignored by default, and is used if and only if ``PyCF_ONLY_AST`` flag is set " "in *cf_flags*. (Contributed by Guido van Rossum in :issue:`35766`.)" msgstr "" -"A estrutura :c:type:`PyCompilerFlags` recebeu um novo campo " +"A estrutura :c:struct:`PyCompilerFlags` recebeu um novo campo " "*cf_feature_version*. Ele deve ser inicializado para ``PY_MINOR_VERSION``. O " "campo é ignorado por padrão e é usado se e somente se o sinalizador " "``PyCF_ONLY_AST`` estiver definido em *cf_flags*. (Contribuição de Guido van " "Rossum em :issue:`35766`.)" -#: ../../whatsnew/3.8.rst:2017 +#: ../../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` " @@ -3629,7 +3637,7 @@ msgstr "" "chamada explicitamente: use :c:func:`PyOS_AfterFork_Child`. (Contribuição de " "Victor Stinner em :issue:`36728`.)" -#: ../../whatsnew/3.8.rst:2022 +#: ../../whatsnew/3.8.rst:2026 msgid "" "On Unix, C extensions are no longer linked to libpython except on Android " "and Cygwin. When Python is embedded, ``libpython`` must not be loaded with " @@ -3647,7 +3655,7 @@ msgstr "" "pela seção ``*shared*`` de ``Modules/Setup``. (Contribuição de Victor " "Stinner em :issue:`21536`.)" -#: ../../whatsnew/3.8.rst:2030 +#: ../../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:" @@ -3661,7 +3669,7 @@ msgstr "" "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:2036 +#: ../../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 " @@ -3678,11 +3686,11 @@ msgstr "" "através de :c:func:`PyType_FromSpec` se comportem como outras classes no " "código gerenciado." -#: ../../whatsnew/3.8.rst:2044 +#: ../../whatsnew/3.8.rst:2048 msgid ":ref:`Statically allocated types ` are not affected." msgstr ":ref:`Tipos alocados estaticamente ` não são afetados." -#: ../../whatsnew/3.8.rst:2046 +#: ../../whatsnew/3.8.rst:2050 msgid "" "For the vast majority of cases, there should be no side effect. However, " "types that manually increase the reference count after allocating an " @@ -3696,14 +3704,14 @@ msgstr "" "Para evitar isso, essas classes precisam chamar Py_DECREF no objeto de tipo " "durante a desalocação da instância." -#: ../../whatsnew/3.8.rst:2052 +#: ../../whatsnew/3.8.rst:2056 msgid "" "To correctly port these types into 3.8, please apply the following changes:" msgstr "" "Para portar corretamente esses tipos para o 3.8, aplique as seguintes " "alterações:" -#: ../../whatsnew/3.8.rst:2055 +#: ../../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:" @@ -3717,12 +3725,12 @@ msgstr "" "`PyObject_GC_NewVar` ou qualquer outro alocador personalizado que use :c:" "func:`PyObject_Init` ou :c:func:`PyObject_INIT`." -#: ../../whatsnew/3.8.rst:2062 ../../whatsnew/3.8.rst:2081 -#: ../../whatsnew/3.8.rst:2100 +#: ../../whatsnew/3.8.rst:2066 ../../whatsnew/3.8.rst:2085 +#: ../../whatsnew/3.8.rst:2104 msgid "Example:" msgstr "Exemplo:" -#: ../../whatsnew/3.8.rst:2078 +#: ../../whatsnew/3.8.rst:2082 msgid "" "Ensure that all custom ``tp_dealloc`` functions of heap-allocated types " "decrease the type's reference count." @@ -3730,11 +3738,11 @@ msgstr "" "Certifica-se de que todas as funções ``tp_dealloc`` personalizadas de tipos " "alocados em heap diminuam a contagem de referências do tipo." -#: ../../whatsnew/3.8.rst:2095 +#: ../../whatsnew/3.8.rst:2099 msgid "(Contributed by Eddie Elizondo in :issue:`35810`.)" msgstr "(Contribuição de Eddie Elizondo em :issue:`35810`.)" -#: ../../whatsnew/3.8.rst:2097 +#: ../../whatsnew/3.8.rst:2101 msgid "" "The :c:macro:`Py_DEPRECATED()` macro has been implemented for MSVC. The " "macro now must be placed before the symbol name." @@ -3742,11 +3750,11 @@ msgstr "" "A macro :c:macro:`Py_DEPRECATED()` foi implementada para MSVC. A macro agora " "deve ser colocada antes do nome do símbolo." -#: ../../whatsnew/3.8.rst:2106 +#: ../../whatsnew/3.8.rst:2110 msgid "(Contributed by Zackery Spytz in :issue:`33407`.)" msgstr "(Contribuição de Zackery Spytz em :issue:`33407`.)" -#: ../../whatsnew/3.8.rst:2108 +#: ../../whatsnew/3.8.rst:2112 msgid "" "The interpreter does not pretend to support binary compatibility of " "extension types across feature releases, anymore. A :c:type:`PyTypeObject` " @@ -3762,11 +3770,11 @@ msgstr "" "tp_finalize` (:const:`Py_TPFLAGS_HAVE_FINALIZE` não é mais verificado antes " "de ler :c:member:`~PyTypeObject.tp_finalize`)." -#: ../../whatsnew/3.8.rst:2115 +#: ../../whatsnew/3.8.rst:2119 msgid "(Contributed by Antoine Pitrou in :issue:`32388`.)" msgstr "(Contribuição de Antoine Pitrou em :issue:`32388`.)" -#: ../../whatsnew/3.8.rst:2117 +#: ../../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*." @@ -3774,7 +3782,7 @@ msgstr "" "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:2120 +#: ../../whatsnew/3.8.rst:2124 msgid "" "The :file:`libpython38.a` file to allow MinGW tools to link directly " "against :file:`python38.dll` is no longer included in the regular Windows " @@ -3788,7 +3796,7 @@ msgstr "" "ser gerado com as ferramentas ``gendef`` e ``dlltool``, que fazem parte do " "pacote binutils do MinGW:" -#: ../../whatsnew/3.8.rst:2130 +#: ../../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:" @@ -3802,15 +3810,15 @@ msgstr "" "diretório que :file:`pythonXY.lib`, que geralmente é o diretório :file:" "`libs` na sua instalação do Python." -#: ../../whatsnew/3.8.rst:2136 +#: ../../whatsnew/3.8.rst:2140 msgid "(Contributed by Steve Dower in :issue:`37351`.)" msgstr "(Contribuição de Steve Dower em :issue:`37351`.)" -#: ../../whatsnew/3.8.rst:2140 +#: ../../whatsnew/3.8.rst:2144 msgid "CPython bytecode changes" msgstr "Alterações de bytecode do CPython" -#: ../../whatsnew/3.8.rst:2142 +#: ../../whatsnew/3.8.rst:2146 msgid "" "The interpreter loop has been simplified by moving the logic of unrolling " "the stack of blocks into the compiler. The compiler emits now explicit " @@ -3822,7 +3830,7 @@ msgstr "" "explícitas para ajustar a pilha de valores e chamar o código de limpeza " "para :keyword:`break`, :keyword:`continue` e :keyword:`return`." -#: ../../whatsnew/3.8.rst:2148 +#: ../../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:" @@ -3836,7 +3844,7 @@ msgstr "" "opcode:`CALL_FINALLY` e :opcode:`POP_FINALLY`. Alterado o comportamento de :" "opcode:`END_FINALLY` e :opcode:`WITH_CLEANUP_START`." -#: ../../whatsnew/3.8.rst:2154 +#: ../../whatsnew/3.8.rst:2158 msgid "" "(Contributed by Mark Shannon, Antoine Pitrou and Serhiy Storchaka in :issue:" "`17611`.)" @@ -3844,7 +3852,7 @@ msgstr "" "(Contribuição de Mark Shannon, Antoine Pitrou e Serhiy Storchaka em :issue:" "`17611`.)" -#: ../../whatsnew/3.8.rst:2157 +#: ../../whatsnew/3.8.rst:2161 msgid "" "Added new opcode :opcode:`END_ASYNC_FOR` for handling exceptions raised when " "awaiting a next item in an :keyword:`async for` loop. (Contributed by Serhiy " @@ -3854,7 +3862,7 @@ msgstr "" "exceções geradas ao aguardar um próximo item em um loop :keyword:`async " "for`. (Contribuição de Serhiy Storchaka em :issue:`33041`.)" -#: ../../whatsnew/3.8.rst:2161 +#: ../../whatsnew/3.8.rst:2165 msgid "" "The :opcode:`MAP_ADD` now expects the value as the first element in the " "stack and the key as the second element. This change was made so the key is " @@ -3866,11 +3874,11 @@ msgstr "" "seja sempre avaliada antes do valor na compreensão do dicionário, conforme " "proposto em :pep:`572`. (Contribuição de Jörn Heissler em :issue:`35224`.)" -#: ../../whatsnew/3.8.rst:2168 +#: ../../whatsnew/3.8.rst:2172 msgid "Demos and Tools" msgstr "Ferramentas e daemons" -#: ../../whatsnew/3.8.rst:2170 +#: ../../whatsnew/3.8.rst:2174 msgid "" "Added a benchmark script for timing various ways to access variables: " "``Tools/scripts/var_access_benchmark.py``. (Contributed by Raymond Hettinger " @@ -3880,11 +3888,11 @@ msgstr "" "acessar variáveis: ``Tools/scripts/var_access_benchmark.py``. (Contribuição " "de Raymond Hettinger em :issue:`35884`.)" -#: ../../whatsnew/3.8.rst:2174 +#: ../../whatsnew/3.8.rst:2178 msgid "Here's a summary of performance improvements since Python 3.3:" msgstr "Aqui está um resumo das melhorias de desempenho desde Python 3.3:" -#: ../../whatsnew/3.8.rst:2221 +#: ../../whatsnew/3.8.rst:2225 msgid "" "The benchmarks were measured on an `Intel® Core™ i7-4960HQ processor " "`_. O script de benchmark exibe tempos em nanossegundos." -#: ../../whatsnew/3.8.rst:2230 +#: ../../whatsnew/3.8.rst:2234 msgid "Notable changes in Python 3.8.1" msgstr "Alterações notáveis no Python 3.8.1" -#: ../../whatsnew/3.8.rst:2232 +#: ../../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 " @@ -3918,11 +3926,11 @@ msgstr "" "``loop.create_datagram_endpoint()``. (Contribuição de Kyle Stanley, Antoine " "Pitrou e Yury Selivanov em :issue:`37228`.)" -#: ../../whatsnew/3.8.rst:2240 +#: ../../whatsnew/3.8.rst:2244 msgid "Notable changes in Python 3.8.8" msgstr "Alterações notáveis no Python 3.8.8" -#: ../../whatsnew/3.8.rst:2242 +#: ../../whatsnew/3.8.rst:2246 msgid "" "Earlier Python versions allowed using both ``;`` and ``&`` as query " "parameter separators in :func:`urllib.parse.parse_qs` and :func:`urllib." @@ -3943,11 +3951,11 @@ msgstr "" "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:2253 +#: ../../whatsnew/3.8.rst:2257 msgid "Notable changes in Python 3.8.12" msgstr "Alterações notáveis no Python 3.8.12" -#: ../../whatsnew/3.8.rst:2255 +#: ../../whatsnew/3.8.rst:2259 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 " @@ -3963,7 +3971,7 @@ msgstr "" "notação octal. A implementação glibc de :func:`~socket.inet_pton` moderna " "não aceita nenhum zeros à esquerda." -#: ../../whatsnew/3.8.rst:2262 +#: ../../whatsnew/3.8.rst:2266 msgid "" "(Originally contributed by Christian Heimes in :issue:`36384`, and " "backported to 3.8 by Achraf Merzouki.)" diff --git a/whatsnew/3.9.po b/whatsnew/3.9.po index c67513555..f9bc4054e 100644 --- a/whatsnew/3.9.po +++ b/whatsnew/3.9.po @@ -1,116 +1,93 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, Python Software 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 -# Rafael Fontenelle , 2021 +# python-doc bot, 2025 # #, 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-29 13:04+0000\n" -"Last-Translator: Rafael Fontenelle , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2026-03-25 18:42+0000\n" +"PO-Revision-Date: 2025-09-22 15:59+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../whatsnew/3.9.rst:3 msgid "What's New In Python 3.9" msgstr "O que há de novo no Python 3.9" -#: ../../whatsnew/3.9.rst:0 -msgid "Release" -msgstr "Versão" - -#: ../../whatsnew/3.9.rst:5 -msgid "|release|" -msgstr "|release|" - -#: ../../whatsnew/3.9.rst:0 -msgid "Date" -msgstr "Data" - -#: ../../whatsnew/3.9.rst:6 -msgid "|today|" -msgstr "|today|" - #: ../../whatsnew/3.9.rst:0 msgid "Editor" msgstr "Editor" -#: ../../whatsnew/3.9.rst:7 +#: ../../whatsnew/3.9.rst:5 msgid "Łukasz Langa" msgstr "Łukasz Langa" -#: ../../whatsnew/3.9.rst:47 +#: ../../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 5th, 2020." +"Python 3.9 was released on October 5, 2020." msgstr "" -"Esse artigo explica os novos recursos no Python 3.9, comparado ao 3.8. O " +"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:50 +#: ../../whatsnew/3.9.rst:48 msgid "For full details, see the :ref:`changelog `." msgstr "Para detalhes completos, veja o :ref:`changelog `." -#: ../../whatsnew/3.9.rst:54 +#: ../../whatsnew/3.9.rst:52 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:58 +#: ../../whatsnew/3.9.rst:56 msgid "Summary -- Release highlights" msgstr "Resumo -- Destaques da versão" -#: ../../whatsnew/3.9.rst:63 +#: ../../whatsnew/3.9.rst:61 msgid "New syntax features:" msgstr "Novos recursos de sintaxe:" -#: ../../whatsnew/3.9.rst:65 +#: ../../whatsnew/3.9.rst:63 msgid ":pep:`584`, union operators added to ``dict``;" msgstr ":pep:`584`, operadores de união adicionados ao ``dict``;" -#: ../../whatsnew/3.9.rst:66 +#: ../../whatsnew/3.9.rst:64 msgid ":pep:`585`, type hinting generics in standard collections;" msgstr ":pep:`585`, type hinting genéricos em coleções comuns;" -#: ../../whatsnew/3.9.rst:67 +#: ../../whatsnew/3.9.rst:65 msgid ":pep:`614`, relaxed grammar restrictions on decorators." msgstr ":pep:`614`, restrições de gramática relaxadas em decoradores." -#: ../../whatsnew/3.9.rst:69 +#: ../../whatsnew/3.9.rst:67 msgid "New built-in features:" msgstr "Novos recursos embutidos:" -#: ../../whatsnew/3.9.rst:71 +#: ../../whatsnew/3.9.rst:69 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:73 +#: ../../whatsnew/3.9.rst:71 msgid "New features in the standard library:" msgstr "Novos recursos na biblioteca padrão:" -#: ../../whatsnew/3.9.rst:75 +#: ../../whatsnew/3.9.rst:73 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:76 +#: ../../whatsnew/3.9.rst:74 msgid "" ":func:`os.pidfd_open` added that allows process management without races and " "signals." @@ -118,23 +95,23 @@ msgstr "" ":func:`os.pidfd_open` adicionada para permitidos gerenciamento de processo " "sem corridas e sinais." -#: ../../whatsnew/3.9.rst:79 +#: ../../whatsnew/3.9.rst:77 msgid "Interpreter improvements:" msgstr "Melhorias no interpretador:" -#: ../../whatsnew/3.9.rst:81 +#: ../../whatsnew/3.9.rst:79 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:83 +#: ../../whatsnew/3.9.rst:81 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:84 +#: ../../whatsnew/3.9.rst:82 msgid "" "a number of Python builtins (range, tuple, set, frozenset, list, dict) are " "now sped up using :pep:`590` vectorcall;" @@ -142,11 +119,11 @@ 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:86 +#: ../../whatsnew/3.9.rst:84 msgid "garbage collection does not block on resurrected objects;" msgstr "coleta de lixo não causa bloqueio em objetos ressuscitados;" -#: ../../whatsnew/3.9.rst:87 +#: ../../whatsnew/3.9.rst:85 msgid "" "a number of Python modules (:mod:`_abc`, :mod:`audioop`, :mod:`_bz2`, :mod:" "`_codecs`, :mod:`_contextvars`, :mod:`_crypt`, :mod:`_functools`, :mod:" @@ -160,7 +137,7 @@ msgstr "" "`time`, :mod:`_weakref`) agora usam inicialização multifásica conforme " "definido pela PEP 489;" -#: ../../whatsnew/3.9.rst:92 +#: ../../whatsnew/3.9.rst:90 msgid "" "a number of standard library modules (:mod:`audioop`, :mod:`ast`, :mod:" "`grp`, :mod:`_hashlib`, :mod:`pwd`, :mod:`_posixsubprocess`, :mod:`random`, :" @@ -172,11 +149,11 @@ msgstr "" "mod:`select`, :mod:`struct`, :mod:`termios`, :mod:`zlib`) estão agora usando " "a ABI estável definida pela PEP 384." -#: ../../whatsnew/3.9.rst:97 +#: ../../whatsnew/3.9.rst:95 msgid "New library modules:" msgstr "Novos módulos de biblioteca:" -#: ../../whatsnew/3.9.rst:99 +#: ../../whatsnew/3.9.rst:97 msgid "" ":pep:`615`, the IANA Time Zone Database is now present in the standard " "library in the :mod:`zoneinfo` module;" @@ -184,7 +161,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:101 +#: ../../whatsnew/3.9.rst:99 msgid "" "an implementation of a topological sort of a graph is now provided in the " "new :mod:`graphlib` module." @@ -192,19 +169,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:104 +#: ../../whatsnew/3.9.rst:102 msgid "Release process changes:" msgstr "Alterações no processo de lançamento:" -#: ../../whatsnew/3.9.rst:106 +#: ../../whatsnew/3.9.rst:104 msgid ":pep:`602`, CPython adopts an annual release cycle." msgstr ":pep:`602`, CPython adota um ciclo de lançamento anual." -#: ../../whatsnew/3.9.rst:110 +#: ../../whatsnew/3.9.rst:108 msgid "You should check for DeprecationWarning in your code" msgstr "Você deve verificar DeprecationWarning no seu código" -#: ../../whatsnew/3.9.rst:112 +#: ../../whatsnew/3.9.rst:110 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 " @@ -222,7 +199,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:120 +#: ../../whatsnew/3.9.rst:118 msgid "" "Test your application with the :option:`-W` ``default`` command-line option " "to see :exc:`DeprecationWarning` and :exc:`PendingDeprecationWarning`, or " @@ -236,7 +213,7 @@ msgstr "" "avisos ` pode ser usado para ignorar avisos de código de " "terceiros." -#: ../../whatsnew/3.9.rst:125 +#: ../../whatsnew/3.9.rst:123 msgid "" "Python 3.9 is the last version providing those Python 2 backward " "compatibility layers, to give more time to Python projects maintainers to " @@ -247,7 +224,7 @@ msgstr "" "projetos Python para organizar a remoção do suporte Python 2 e adicionar " "suporte para Python 3.9." -#: ../../whatsnew/3.9.rst:129 +#: ../../whatsnew/3.9.rst:127 msgid "" "Aliases to :ref:`Abstract Base Classes ` " "in the :mod:`collections` module, like ``collections.Mapping`` alias to :" @@ -259,7 +236,7 @@ msgstr "" "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:134 +#: ../../whatsnew/3.9.rst:132 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 " @@ -269,7 +246,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:138 +#: ../../whatsnew/3.9.rst:136 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." @@ -278,15 +255,15 @@ msgstr "" "removidos nesta versão do Python. Consulte a seção :ref:`removed-in-" "python-39`." -#: ../../whatsnew/3.9.rst:143 ../../whatsnew/3.9.rst:1259 +#: ../../whatsnew/3.9.rst:141 ../../whatsnew/3.9.rst:1274 msgid "New Features" msgstr "Novas funcionalidades" -#: ../../whatsnew/3.9.rst:146 +#: ../../whatsnew/3.9.rst:144 msgid "Dictionary Merge & Update Operators" msgstr "Operadores de mesclagem & atualização de dicionário" -#: ../../whatsnew/3.9.rst:148 +#: ../../whatsnew/3.9.rst:146 msgid "" "Merge (``|``) and update (``|=``) operators have been added to the built-in :" "class:`dict` class. Those complement the existing ``dict.update`` and " @@ -296,11 +273,11 @@ msgstr "" "classe embutida :class:`dict`. Eles complementam o métodos ``dict.update`` e " "``{**d1, **d2}`` existentes de mesclagem de dicionários." -#: ../../whatsnew/3.9.rst:152 ../../whatsnew/3.9.rst:285 +#: ../../whatsnew/3.9.rst:150 ../../whatsnew/3.9.rst:283 msgid "Example::" msgstr "Exemplo::" -#: ../../whatsnew/3.9.rst:161 +#: ../../whatsnew/3.9.rst:159 msgid "" "See :pep:`584` for a full description. (Contributed by Brandt Bucher in :" "issue:`36144`.)" @@ -308,11 +285,11 @@ msgstr "" "Veja :pep:`584` para uma descrição completa. (Contribuição de Brandt Bucher " "em :issue:`36144`.)" -#: ../../whatsnew/3.9.rst:165 +#: ../../whatsnew/3.9.rst:163 msgid "New String Methods to Remove Prefixes and Suffixes" msgstr "Novos métodos de strings para remover prefixos e sufixos" -#: ../../whatsnew/3.9.rst:167 +#: ../../whatsnew/3.9.rst:165 msgid "" ":meth:`str.removeprefix(prefix)` and :meth:`str." "removesuffix(suffix)` have been added to easily remove an " @@ -328,11 +305,11 @@ msgstr "" "foram adicionados. Veja :pep:`616` para uma descrição completa. " "(Contribuição de Dennis Sweeney em :issue:`39939`.)" -#: ../../whatsnew/3.9.rst:175 +#: ../../whatsnew/3.9.rst:173 msgid "Type Hinting Generics in Standard Collections" msgstr "Type hinting genéricos nas coleções padrão" -#: ../../whatsnew/3.9.rst:177 +#: ../../whatsnew/3.9.rst:175 msgid "" "In type annotations you can now use built-in collection types such as " "``list`` and ``dict`` as generic types instead of importing the " @@ -346,11 +323,11 @@ msgstr "" "``typing``. Agora, outros tipos na biblioteca padrão também são genéricos, " "por exemplo, ``queue.Queue``." -#: ../../whatsnew/3.9.rst:183 ../../whatsnew/3.9.rst:1147 +#: ../../whatsnew/3.9.rst:181 ../../whatsnew/3.9.rst:1162 msgid "Example:" msgstr "Exemplo:" -#: ../../whatsnew/3.9.rst:191 +#: ../../whatsnew/3.9.rst:189 msgid "" "See :pep:`585` for more details. (Contributed by Guido van Rossum, Ethan " "Smith, and Batuhan Taşkaya in :issue:`39481`.)" @@ -358,11 +335,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:195 +#: ../../whatsnew/3.9.rst:193 msgid "New Parser" msgstr "Novo analisador sintático" -#: ../../whatsnew/3.9.rst:197 +#: ../../whatsnew/3.9.rst:195 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:205 +#: ../../whatsnew/3.9.rst:203 msgid "" "The :mod:`ast` module uses the new parser and produces the same AST as the " "old parser." @@ -387,7 +364,7 @@ msgstr "" "O módulo :mod:`ast` usa o novo analisador e produz o mesmo AST que o " "analisador antigo." -#: ../../whatsnew/3.9.rst:208 +#: ../../whatsnew/3.9.rst:206 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 " @@ -401,7 +378,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:214 +#: ../../whatsnew/3.9.rst:212 msgid "" "See :pep:`617` for more details. (Contributed by Guido van Rossum, Pablo " "Galindo and Lysandros Nikolaou in :issue:`40334`.)" @@ -409,11 +386,11 @@ 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:219 +#: ../../whatsnew/3.9.rst:217 msgid "Other Language Changes" msgstr "Outras mudanças na linguagem" -#: ../../whatsnew/3.9.rst:221 +#: ../../whatsnew/3.9.rst:219 msgid "" ":func:`__import__` now raises :exc:`ImportError` instead of :exc:" "`ValueError`, which used to occur when a relative import went past its top-" @@ -424,7 +401,7 @@ msgstr "" "passou de seu um pacote de nível superior. (Contribuição de Ngalim Siregar " "em :issue:`37444`.)" -#: ../../whatsnew/3.9.rst:226 +#: ../../whatsnew/3.9.rst:224 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 :" @@ -442,7 +419,7 @@ msgstr "" "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:234 +#: ../../whatsnew/3.9.rst:232 msgid "" "In the :ref:`Python Development Mode ` and in :ref:`debug build " "`, the *encoding* and *errors* arguments are now checked for " @@ -454,7 +431,7 @@ msgstr "" "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:239 +#: ../../whatsnew/3.9.rst:237 msgid "" "By default, for best performance, the *errors* argument is only checked at " "the first encoding/decoding error and the *encoding* argument is sometimes " @@ -465,7 +442,7 @@ msgstr "" "argumento *encoding* às vezes é ignorado para strings vazias. (Contribuição " "de Victor Stinner em :issue:`37388`.)" -#: ../../whatsnew/3.9.rst:244 +#: ../../whatsnew/3.9.rst:242 msgid "" "``\"\".replace(\"\", s, n)`` now returns ``s`` instead of an empty string " "for all non-zero ``n``. It is now consistent with ``\"\".replace(\"\", " @@ -477,7 +454,7 @@ msgstr "" "s)``. Há alterações similares para objetos :class:`bytes` e :class:" "`bytearray`. (Contribuição de Serhiy Storchaka em :issue:`28029`.)" -#: ../../whatsnew/3.9.rst:249 +#: ../../whatsnew/3.9.rst:247 msgid "" "Any valid expression can now be used as a :term:`decorator`. Previously, " "the grammar was much more restrictive. See :pep:`614` for details. " @@ -487,7 +464,7 @@ msgstr "" "`. 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:253 +#: ../../whatsnew/3.9.rst:251 msgid "" "Improved help for the :mod:`typing` module. Docstrings are now shown for all " "special forms and special generic aliases (like ``Union`` and ``List``). " @@ -502,7 +479,7 @@ msgstr "" "correspondente (neste caso, ``list``). (Contribuição de Serhiy Storchaka em :" "issue:`40257`.)" -#: ../../whatsnew/3.9.rst:259 +#: ../../whatsnew/3.9.rst:257 msgid "" "Parallel running of :meth:`~agen.aclose` / :meth:`~agen.asend` / :meth:" "`~agen.athrow` is now prohibited, and ``ag_running`` now reflects the actual " @@ -514,7 +491,7 @@ msgstr "" "atual de execução do gerador async. (Contribuição de Yury Selivanov em :" "issue:`30773`.)" -#: ../../whatsnew/3.9.rst:264 +#: ../../whatsnew/3.9.rst:262 msgid "" "Unexpected errors in calling the ``__iter__`` method are no longer masked by " "``TypeError`` in the :keyword:`in` operator and functions :func:`~operator." @@ -526,7 +503,7 @@ msgstr "" "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:270 +#: ../../whatsnew/3.9.rst:268 msgid "" "Unparenthesized lambda expressions can no longer be the expression part in " "an ``if`` clause in comprehensions and generator expressions. See :issue:" @@ -536,15 +513,15 @@ msgstr "" "uma cláusula ``if`` em compreensões e expressões geradoras. Veja :issue:" "`41848` e :issue:`43755` para detalhes." -#: ../../whatsnew/3.9.rst:276 +#: ../../whatsnew/3.9.rst:274 msgid "New Modules" msgstr "Novos módulos" -#: ../../whatsnew/3.9.rst:279 +#: ../../whatsnew/3.9.rst:277 msgid "zoneinfo" msgstr "zoneinfo" -#: ../../whatsnew/3.9.rst:281 +#: ../../whatsnew/3.9.rst:279 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:" @@ -552,10 +529,10 @@ msgid "" 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:305 +#: ../../whatsnew/3.9.rst:303 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 -- " @@ -565,22 +542,22 @@ 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:314 +#: ../../whatsnew/3.9.rst:312 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:315 +#: ../../whatsnew/3.9.rst:313 msgid "PEP written and implemented by Paul Ganssle" msgstr "PEP escrita e implementada por Paul Ganssle" -#: ../../whatsnew/3.9.rst:319 +#: ../../whatsnew/3.9.rst:317 msgid "graphlib" msgstr "graphlib" -#: ../../whatsnew/3.9.rst:321 +#: ../../whatsnew/3.9.rst:319 msgid "" "A new module, :mod:`graphlib`, was added that contains the :class:`graphlib." "TopologicalSorter` class to offer functionality to perform topological " @@ -592,15 +569,15 @@ msgstr "" "classificação topológica de grafos. (Contribuição de Pablo Galindo, Tim " "Peters e Larry Hastings em :issue:`17005`.)" -#: ../../whatsnew/3.9.rst:328 +#: ../../whatsnew/3.9.rst:326 msgid "Improved Modules" msgstr "Módulos melhorados" -#: ../../whatsnew/3.9.rst:331 +#: ../../whatsnew/3.9.rst:329 msgid "ast" msgstr "ast" -#: ../../whatsnew/3.9.rst:333 +#: ../../whatsnew/3.9.rst:331 msgid "" "Added the *indent* option to :func:`~ast.dump` which allows it to produce a " "multiline indented output. (Contributed by Serhiy Storchaka in :issue:" @@ -610,7 +587,7 @@ msgstr "" "saída indentada com várias linhas. (Contribuição de Serhiy Storchaka em :" "issue:`37995`.)" -#: ../../whatsnew/3.9.rst:337 +#: ../../whatsnew/3.9.rst:335 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 " @@ -623,7 +600,7 @@ msgstr "" "analisado. (Contribuição de Pablo Galindo e Batuhan Taskaya em :issue:" "`38870`.)" -#: ../../whatsnew/3.9.rst:342 +#: ../../whatsnew/3.9.rst:340 msgid "" "Added docstrings to AST nodes that contains the ASDL signature used to " "construct that node. (Contributed by Batuhan Taskaya in :issue:`39638`.)" @@ -631,11 +608,11 @@ 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:346 +#: ../../whatsnew/3.9.rst:344 msgid "asyncio" msgstr "asyncio" -#: ../../whatsnew/3.9.rst:348 +#: ../../whatsnew/3.9.rst:346 msgid "" "Due to significant security concerns, the *reuse_address* parameter of :meth:" "`asyncio.loop.create_datagram_endpoint` is no longer supported. This is " @@ -651,7 +628,7 @@ msgstr "" "``loop.create_datagram_endpoint()``. (Contribuição de Kyle Stanley, Antoine " "Pitrou e Yury Selivanov em :issue:`37228`.)" -#: ../../whatsnew/3.9.rst:355 +#: ../../whatsnew/3.9.rst:353 msgid "" "Added a new :term:`coroutine` :meth:`~asyncio.loop." "shutdown_default_executor` that schedules a shutdown for the default " @@ -666,7 +643,7 @@ msgstr "" "novo :term:`corrotina `. (Contribuição de Kyle Stanley em :issue:" "`34037`.)" -#: ../../whatsnew/3.9.rst:361 +#: ../../whatsnew/3.9.rst:359 msgid "" "Added :class:`asyncio.PidfdChildWatcher`, a Linux-specific child watcher " "implementation that polls process file descriptors. (:issue:`38692`)" @@ -675,7 +652,7 @@ msgstr "" "monitorador de filhos específica do Linux que controla descritores de " "arquivo de processo. (:issue:`38692`)" -#: ../../whatsnew/3.9.rst:364 +#: ../../whatsnew/3.9.rst:362 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 " @@ -690,7 +667,7 @@ msgstr "" "pode receber argumentos nomeados diretamente. (Contribuição de Kyle Stanley " "e Yury Selivanov em :issue:`32309`.)" -#: ../../whatsnew/3.9.rst:370 +#: ../../whatsnew/3.9.rst:368 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 " @@ -702,7 +679,7 @@ msgstr "" "*timeout* é <= 0, como acontece com tempos limite positivos. (Contribuição " "de Elvis Pranskevichus em :issue:`32751`.)" -#: ../../whatsnew/3.9.rst:375 +#: ../../whatsnew/3.9.rst:373 msgid "" ":mod:`asyncio` now raises :exc:`TyperError` when calling incompatible " "methods with an :class:`ssl.SSLSocket` socket. (Contributed by Ido Michael " @@ -712,11 +689,11 @@ msgstr "" "incompatíveis com um soquete :class:`ssl.SSLSocket`. (Contribuição de Ido " "Michael em :issue:`37404`.)" -#: ../../whatsnew/3.9.rst:380 +#: ../../whatsnew/3.9.rst:378 msgid "compileall" msgstr "compileall" -#: ../../whatsnew/3.9.rst:382 +#: ../../whatsnew/3.9.rst:380 msgid "" "Added new possibility to use hardlinks for duplicated ``.pyc`` files: " "*hardlink_dupes* parameter and --hardlink-dupes command line option. " @@ -726,7 +703,7 @@ 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:385 +#: ../../whatsnew/3.9.rst:383 msgid "" "Added new options for path manipulation in resulting ``.pyc`` files: " "*stripdir*, *prependdir*, *limit_sl_dest* parameters and -s, -p, -e command " @@ -740,11 +717,11 @@ 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:390 +#: ../../whatsnew/3.9.rst:388 msgid "concurrent.futures" msgstr "concurrent.futures" -#: ../../whatsnew/3.9.rst:392 +#: ../../whatsnew/3.9.rst:390 msgid "" "Added a new *cancel_futures* parameter to :meth:`concurrent.futures.Executor." "shutdown` that cancels all pending futures which have not started running, " @@ -757,7 +734,7 @@ msgstr "" "antes de desligar o executor. (Contribuição de Kyle Stanley em :issue:" "`39349`.)" -#: ../../whatsnew/3.9.rst:398 +#: ../../whatsnew/3.9.rst:396 msgid "" "Removed daemon threads from :class:`~concurrent.futures.ThreadPoolExecutor` " "and :class:`~concurrent.futures.ProcessPoolExecutor`. This improves " @@ -769,7 +746,7 @@ msgstr "" "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:403 +#: ../../whatsnew/3.9.rst:401 msgid "" "Workers in :class:`~concurrent.futures.ProcessPoolExecutor` are now spawned " "on demand, only when there are no available idle workers to reuse. This " @@ -782,11 +759,11 @@ msgstr "" "quantidade de tempo perdido da CPU para os workers ociosos. (Contribuição de " "Kyle Stanley em :issue:`39207`.)" -#: ../../whatsnew/3.9.rst:409 +#: ../../whatsnew/3.9.rst:407 msgid "curses" msgstr "curses" -#: ../../whatsnew/3.9.rst:411 +#: ../../whatsnew/3.9.rst:409 msgid "" "Added :func:`curses.get_escdelay`, :func:`curses.set_escdelay`, :func:" "`curses.get_tabsize`, and :func:`curses.set_tabsize` functions. (Contributed " @@ -796,11 +773,11 @@ msgstr "" "set_escdelay`, :func:`curses.get_tabsize` e :func:`curses.set_tabsize`. " "(Contribuição de Anthony Sottile em :issue:`38312`.)" -#: ../../whatsnew/3.9.rst:416 +#: ../../whatsnew/3.9.rst:414 msgid "datetime" msgstr "datetime" -#: ../../whatsnew/3.9.rst:417 +#: ../../whatsnew/3.9.rst:415 msgid "" "The :meth:`~datetime.date.isocalendar()` of :class:`datetime.date` and :meth:" "`~datetime.datetime.isocalendar()` of :class:`datetime.datetime` methods now " @@ -812,11 +789,11 @@ msgstr "" "retornam uma :func:`~collections.namedtuple` em vez de uma :class:`tuple`. " "(Contribuição de Dong-hee Na em :issue:`24416`.)" -#: ../../whatsnew/3.9.rst:423 +#: ../../whatsnew/3.9.rst:421 msgid "distutils" msgstr "distutils" -#: ../../whatsnew/3.9.rst:425 +#: ../../whatsnew/3.9.rst:423 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 " @@ -826,11 +803,11 @@ 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:430 +#: ../../whatsnew/3.9.rst:428 msgid "fcntl" msgstr "fcntl" -#: ../../whatsnew/3.9.rst:432 +#: ../../whatsnew/3.9.rst:430 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`.)" @@ -839,11 +816,11 @@ msgstr "" "F_OFD_SETLK` e :data:`~fcntl.F_OFD_SETLKW`. (Contribuição de Dong-hee Na em :" "issue:`38602`.)" -#: ../../whatsnew/3.9.rst:437 +#: ../../whatsnew/3.9.rst:435 msgid "ftplib" msgstr "ftplib" -#: ../../whatsnew/3.9.rst:439 +#: ../../whatsnew/3.9.rst:437 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 " @@ -855,11 +832,11 @@ msgstr "" "impedir a criação de um soquete não-bloqueante. (Contribuição de Dong-hee Na " "em :issue:`39259`.)" -#: ../../whatsnew/3.9.rst:444 +#: ../../whatsnew/3.9.rst:442 msgid "gc" msgstr "gc" -#: ../../whatsnew/3.9.rst:446 +#: ../../whatsnew/3.9.rst:444 msgid "" "When the garbage collector makes a collection in which some objects " "resurrect (they are reachable from outside the isolated cycles after the " @@ -872,7 +849,7 @@ msgstr "" "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:451 +#: ../../whatsnew/3.9.rst:449 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:" @@ -882,11 +859,11 @@ msgstr "" "objeto foi finalizado pelo coletor de lixo. (Contribuição de Pablo Galindo " "em :issue:`39322`.)" -#: ../../whatsnew/3.9.rst:456 +#: ../../whatsnew/3.9.rst:454 msgid "hashlib" msgstr "hashlib" -#: ../../whatsnew/3.9.rst:458 +#: ../../whatsnew/3.9.rst:456 msgid "" "The :mod:`hashlib` module can now use SHA3 hashes and SHAKE XOF from OpenSSL " "when available. (Contributed by Christian Heimes in :issue:`37630`.)" @@ -894,7 +871,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:462 +#: ../../whatsnew/3.9.rst:460 msgid "" "Builtin hash modules can now be disabled with ``./configure --without-" "builtin-hashlib-hashes`` or selectively enabled with e.g. ``./configure --" @@ -907,11 +884,11 @@ msgstr "" "da implementação baseada em OpenSSL. (Contribuição de Christian Heimes em :" "issue:`40479`)" -#: ../../whatsnew/3.9.rst:470 +#: ../../whatsnew/3.9.rst:468 msgid "http" msgstr "http" -#: ../../whatsnew/3.9.rst:472 +#: ../../whatsnew/3.9.rst:470 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 " @@ -921,11 +898,11 @@ msgstr "" "TOO_EARLY`` foram adicionados a :class:`http.HTTPStatus`. (Contribuição de " "Dong-hee Na em :issue:`39509` e Ross Rhodes em :issue:`39507`.)" -#: ../../whatsnew/3.9.rst:476 +#: ../../whatsnew/3.9.rst:474 msgid "IDLE and idlelib" msgstr "IDLE e idlelib" -#: ../../whatsnew/3.9.rst:478 +#: ../../whatsnew/3.9.rst:476 msgid "" "Added option to toggle cursor blink off. (Contributed by Zackery Spytz in :" "issue:`4603`.)" @@ -933,7 +910,7 @@ 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:481 +#: ../../whatsnew/3.9.rst:479 msgid "" "Escape key now closes IDLE completion windows. (Contributed by Johnny " "Najera in :issue:`38944`.)" @@ -941,7 +918,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:484 +#: ../../whatsnew/3.9.rst:482 msgid "" "Added keywords to module name completion list. (Contributed by Terry J. " "Reedy in :issue:`37765`.)" @@ -949,15 +926,55 @@ 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 +msgid "New in 3.9 maintenance releases" +msgstr "Novo nas versões de manutenção 3.9." + #: ../../whatsnew/3.9.rst:487 +msgid "" +"Make IDLE invoke :func:`sys.excepthook` (when started without '-n'). User " +"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 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:490 +#: ../../whatsnew/3.9.rst:493 +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`.)" +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, " +"para a aba Extensions. Abre espaço para novas opções e encurta a caixa de " +"diálogo. O último faz com que o diálogo se ajuste melhor a telas pequenas. " +"(Contribuição de Terry Jan Reedy em :issue:`40468`.) Move a configuração do " +"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 +msgid "" +"Apply syntax highlighting to ``.pyi`` files. (Contributed by Alex Waygood " +"and Terry Jan Reedy in :issue:`45447`.)" +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 msgid "imaplib" msgstr "imaplib" -#: ../../whatsnew/3.9.rst:492 +#: ../../whatsnew/3.9.rst:507 msgid "" ":class:`~imaplib.IMAP4` and :class:`~imaplib.IMAP4_SSL` now have an optional " "*timeout* parameter for their constructors. Also, the :meth:`~imaplib.IMAP4." @@ -973,7 +990,7 @@ msgstr "" "`~imaplib.IMAP4_stream` foram aplicados nesta alteração. (Contribuição de " "Dong-hee Na em :issue:`38615`.)" -#: ../../whatsnew/3.9.rst:499 +#: ../../whatsnew/3.9.rst:514 msgid "" ":meth:`imaplib.IMAP4.unselect` is added. :meth:`imaplib.IMAP4.unselect` " "frees server's resources associated with the selected mailbox and returns " @@ -989,11 +1006,11 @@ msgstr "" "é removida permanentemente da caixa de correio selecionada no momento. " "(Contribuição de Dong-hee Na em :issue:`40375`.)" -#: ../../whatsnew/3.9.rst:507 +#: ../../whatsnew/3.9.rst:522 msgid "importlib" msgstr "importlib" -#: ../../whatsnew/3.9.rst:509 +#: ../../whatsnew/3.9.rst:524 msgid "" "To improve consistency with import statements, :func:`importlib.util." "resolve_name` now raises :exc:`ImportError` instead of :exc:`ValueError` for " @@ -1005,7 +1022,7 @@ msgstr "" "exc:`ValueError` para tentativas de importação relativas inválidas. " "(Contribuição de Ngalim Siregar em :issue:`37444`.)" -#: ../../whatsnew/3.9.rst:514 +#: ../../whatsnew/3.9.rst:529 msgid "" "Import loaders which publish immutable module objects can now publish " "immutable packages in addition to individual modules. (Contributed by Dino " @@ -1015,7 +1032,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:518 +#: ../../whatsnew/3.9.rst:533 msgid "" "Added :func:`importlib.resources.files` function with support for " "subdirectories in package data, matching backport in ``importlib_resources`` " @@ -1026,17 +1043,17 @@ msgstr "" "do ``importlib_resources``. (Contribuição de Jason R. Coombs em :issue:" "`39791`.)" -#: ../../whatsnew/3.9.rst:523 +#: ../../whatsnew/3.9.rst:538 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:526 +#: ../../whatsnew/3.9.rst:541 msgid "inspect" msgstr "inspect" -#: ../../whatsnew/3.9.rst:528 +#: ../../whatsnew/3.9.rst:543 msgid "" ":attr:`inspect.BoundArguments.arguments` is changed from ``OrderedDict`` to " "regular dict. (Contributed by Inada Naoki in :issue:`36350` and :issue:" @@ -1046,11 +1063,11 @@ msgstr "" "para dict regular. (Contribuição de Inada Naoki em :issue:`36350` e :issue:" "`39775`.)" -#: ../../whatsnew/3.9.rst:532 +#: ../../whatsnew/3.9.rst:547 msgid "ipaddress" msgstr "ipaddress" -#: ../../whatsnew/3.9.rst:534 +#: ../../whatsnew/3.9.rst:549 msgid "" ":mod:`ipaddress` now supports IPv6 Scoped Addresses (IPv6 address with " "suffix ``%``)." @@ -1058,7 +1075,7 @@ msgstr "" ":mod:`ipaddress` agora suporta endereços IPv6 com escopo definido (endereço " "IPv6 com sufixo ``%``)." -#: ../../whatsnew/3.9.rst:536 +#: ../../whatsnew/3.9.rst:551 msgid "" "Scoped IPv6 addresses can be parsed using :class:`ipaddress.IPv6Address`. If " "present, scope zone ID is available through the :attr:`~ipaddress." @@ -1070,7 +1087,7 @@ msgstr "" "através do atributo :attr:`~ipaddress.IPv6Address.scope_id`. (Contribuição " "de Oleksandr Pavliuk em :issue:`34788`.)" -#: ../../whatsnew/3.9.rst:540 +#: ../../whatsnew/3.9.rst:555 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 :" @@ -1080,11 +1097,11 @@ msgstr "" "esquerda em strings de endereço IPv4. (Contribuição de Christian Heimes em :" "issue:`36384`)." -#: ../../whatsnew/3.9.rst:545 +#: ../../whatsnew/3.9.rst:560 msgid "math" msgstr "math" -#: ../../whatsnew/3.9.rst:547 +#: ../../whatsnew/3.9.rst:562 msgid "" "Expanded the :func:`math.gcd` function to handle multiple arguments. " "Formerly, it only supported two arguments. (Contributed by Serhiy Storchaka " @@ -1094,7 +1111,7 @@ msgstr "" "Anteriormente, tinha suporte apenas a dois argumentos. (Contribuição de " "Serhiy Storchaka em :issue:`39648`.)" -#: ../../whatsnew/3.9.rst:551 +#: ../../whatsnew/3.9.rst:566 msgid "" "Added :func:`math.lcm`: return the least common multiple of specified " "arguments. (Contributed by Mark Dickinson, Ananthakrishnan and Serhiy " @@ -1104,7 +1121,7 @@ msgstr "" "especificados. (Contribuição de Mark Dickinson, Ananthakrishnan e Serhiy " "Storchaka em :issue:`39479` e :issue:` 39648`.)" -#: ../../whatsnew/3.9.rst:555 +#: ../../whatsnew/3.9.rst:570 msgid "" "Added :func:`math.nextafter`: return the next floating-point value after *x* " "towards *y*. (Contributed by Victor Stinner in :issue:`39288`.)" @@ -1113,7 +1130,7 @@ msgstr "" "flutuante após *x* em direção a *y*. (Contribuição de Victor Stinner em :" "issue:`39288`.)" -#: ../../whatsnew/3.9.rst:559 +#: ../../whatsnew/3.9.rst:574 msgid "" "Added :func:`math.ulp`: return the value of the least significant bit of a " "float. (Contributed by Victor Stinner in :issue:`39310`.)" @@ -1121,11 +1138,11 @@ 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:564 +#: ../../whatsnew/3.9.rst:579 msgid "multiprocessing" msgstr "multiprocessing" -#: ../../whatsnew/3.9.rst:566 +#: ../../whatsnew/3.9.rst:581 msgid "" "The :class:`multiprocessing.SimpleQueue` class has a new :meth:" "`~multiprocessing.SimpleQueue.close` method to explicitly close the queue. " @@ -1135,11 +1152,11 @@ msgstr "" "`~multiprocessing.SimpleQueue.close` para fechar explicitamente a fila. " "(Contribuição de Victor Stinner em :issue:`30966`.)" -#: ../../whatsnew/3.9.rst:572 +#: ../../whatsnew/3.9.rst:587 msgid "nntplib" msgstr "nntplib" -#: ../../whatsnew/3.9.rst:574 +#: ../../whatsnew/3.9.rst:589 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 " @@ -1151,11 +1168,11 @@ msgstr "" "zero, para prevenir a criação de um socket não-bloqueante. (Contribuição de " "Dong-hee Na em :issue:`39259`.)" -#: ../../whatsnew/3.9.rst:579 +#: ../../whatsnew/3.9.rst:594 msgid "os" msgstr "os" -#: ../../whatsnew/3.9.rst:581 +#: ../../whatsnew/3.9.rst:596 msgid "" "Added :data:`~os.CLD_KILLED` and :data:`~os.CLD_STOPPED` for :attr:" "`si_code`. (Contributed by Dong-hee Na in :issue:`38493`.)" @@ -1163,7 +1180,7 @@ 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`.)" -#: ../../whatsnew/3.9.rst:584 +#: ../../whatsnew/3.9.rst:599 msgid "" "Exposed the Linux-specific :func:`os.pidfd_open` (:issue:`38692`) and :data:" "`os.P_PIDFD` (:issue:`38713`) for process management with file descriptors." @@ -1172,7 +1189,7 @@ msgstr "" "`os.P_PIDFD` (:issue:`38713`) para gerenciamento de processos com " "descritores de arquivo." -#: ../../whatsnew/3.9.rst:588 +#: ../../whatsnew/3.9.rst:603 msgid "" "The :func:`os.unsetenv` function is now also available on Windows. " "(Contributed by Victor Stinner in :issue:`39413`.)" @@ -1180,7 +1197,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:591 +#: ../../whatsnew/3.9.rst:606 msgid "" "The :func:`os.putenv` and :func:`os.unsetenv` functions are now always " "available. (Contributed by Victor Stinner in :issue:`39395`.)" @@ -1188,7 +1205,7 @@ 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:595 +#: ../../whatsnew/3.9.rst:610 msgid "" "Added :func:`os.waitstatus_to_exitcode` function: convert a wait status to " "an exit code. (Contributed by Victor Stinner in :issue:`40094`.)" @@ -1197,11 +1214,11 @@ msgstr "" "espera em um código de saída. (Contribuição de Victor Stinner em :issue:" "`40094`.)" -#: ../../whatsnew/3.9.rst:600 +#: ../../whatsnew/3.9.rst:615 msgid "pathlib" msgstr "pathlib" -#: ../../whatsnew/3.9.rst:602 +#: ../../whatsnew/3.9.rst:617 msgid "" "Added :meth:`pathlib.Path.readlink()` which acts similarly to :func:`os." "readlink`. (Contributed by Girts Folkmanis in :issue:`30618`)" @@ -1209,11 +1226,11 @@ 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:607 +#: ../../whatsnew/3.9.rst:622 msgid "pdb" msgstr "pdb" -#: ../../whatsnew/3.9.rst:609 +#: ../../whatsnew/3.9.rst:624 msgid "" "On Windows now :class:`~pdb.Pdb` supports ``~/.pdbrc``. (Contributed by Tim " "Hopper and Dan Lidral-Porter in :issue:`20523`.)" @@ -1221,11 +1238,11 @@ 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:613 +#: ../../whatsnew/3.9.rst:628 msgid "poplib" msgstr "poplib" -#: ../../whatsnew/3.9.rst:615 +#: ../../whatsnew/3.9.rst:630 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 " @@ -1237,11 +1254,11 @@ msgstr "" "impedir a criação de um soquete sem bloqueio. (Contribuição de Dong-hee Na " "em :issue:`39259`.)" -#: ../../whatsnew/3.9.rst:620 +#: ../../whatsnew/3.9.rst:635 msgid "pprint" msgstr "pprint" -#: ../../whatsnew/3.9.rst:622 +#: ../../whatsnew/3.9.rst:637 msgid "" ":mod:`pprint` can now pretty-print :class:`types.SimpleNamespace`. " "(Contributed by Carl Bordum Hansen in :issue:`37376`.)" @@ -1249,11 +1266,11 @@ msgstr "" ":mod:`pprint` agora pode imprimir :class:`types.SimpleNamespace`. " "(Contribuição de Carl Bordum Hansen em :issue:`37376`.)" -#: ../../whatsnew/3.9.rst:626 +#: ../../whatsnew/3.9.rst:641 msgid "pydoc" msgstr "pydoc" -#: ../../whatsnew/3.9.rst:628 +#: ../../whatsnew/3.9.rst:643 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 " @@ -1263,11 +1280,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:633 +#: ../../whatsnew/3.9.rst:648 msgid "random" msgstr "random" -#: ../../whatsnew/3.9.rst:635 +#: ../../whatsnew/3.9.rst:650 msgid "" "Added a new :attr:`random.Random.randbytes` method: generate random bytes. " "(Contributed by Victor Stinner in :issue:`40286`.)" @@ -1275,11 +1292,11 @@ 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:639 +#: ../../whatsnew/3.9.rst:654 msgid "signal" msgstr "signal" -#: ../../whatsnew/3.9.rst:641 +#: ../../whatsnew/3.9.rst:656 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:" @@ -1289,11 +1306,11 @@ msgstr "" "sinais a um processo usando um descritor de arquivo em vez de um pid. (:" "issue:`38712`)" -#: ../../whatsnew/3.9.rst:645 +#: ../../whatsnew/3.9.rst:660 msgid "smtplib" msgstr "smtplib" -#: ../../whatsnew/3.9.rst:647 +#: ../../whatsnew/3.9.rst:662 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 " @@ -1305,7 +1322,7 @@ msgstr "" "zero para impedir a criação de um soquete sem bloqueio. (Contribuição de " "Dong-hee Na em :issue:`39259`.)" -#: ../../whatsnew/3.9.rst:651 +#: ../../whatsnew/3.9.rst:666 msgid "" ":class:`~smtplib.LMTP` constructor now has an optional *timeout* parameter. " "(Contributed by Dong-hee Na in :issue:`39329`.)" @@ -1313,11 +1330,11 @@ 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:655 +#: ../../whatsnew/3.9.rst:670 msgid "socket" msgstr "socket" -#: ../../whatsnew/3.9.rst:657 +#: ../../whatsnew/3.9.rst:672 msgid "" "The :mod:`socket` module now exports the :data:`~socket." "CAN_RAW_JOIN_FILTERS` constant on Linux 4.1 and greater. (Contributed by " @@ -1327,7 +1344,7 @@ msgstr "" "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:661 +#: ../../whatsnew/3.9.rst:676 msgid "" "The socket module now supports the :data:`~socket.CAN_J1939` protocol on " "platforms that support it. (Contributed by Karl Ding in :issue:`40291`.)" @@ -1335,7 +1352,7 @@ msgstr "" "O módulo socket agora suporta o protocolo :data:`~socket.CAN_J1939` nas " "plataformas que o suportam. (Contribuição de Karl Ding em :issue:`40291`.)" -#: ../../whatsnew/3.9.rst:664 +#: ../../whatsnew/3.9.rst:679 msgid "" "The socket module now has the :func:`socket.send_fds` and :func:`socket." "recv_fds` functions. (Contributed by Joannah Nanjekye, Shinya Okano and " @@ -1345,11 +1362,11 @@ msgstr "" "recv_fds`. (Contribuição de Joannah Nanjekye, Shinya Okano e Victor Stinner " "em :issue:`28724`.)" -#: ../../whatsnew/3.9.rst:670 +#: ../../whatsnew/3.9.rst:685 msgid "time" msgstr "time" -#: ../../whatsnew/3.9.rst:672 +#: ../../whatsnew/3.9.rst:687 msgid "" "On AIX, :func:`~time.thread_time` is now implemented with " "``thread_cputime()`` which has nanosecond resolution, rather than " @@ -1361,11 +1378,11 @@ msgstr "" "``clock_gettime(CLOCK_THREAD_CPUTIME_ID)``, que tem uma resolução de 10 ms. " "(Contribuição de Batuhan Taskaya em :issue:`40192`)" -#: ../../whatsnew/3.9.rst:678 +#: ../../whatsnew/3.9.rst:693 msgid "sys" msgstr "sys" -#: ../../whatsnew/3.9.rst:680 +#: ../../whatsnew/3.9.rst:695 msgid "" "Added a new :attr:`sys.platlibdir` attribute: name of the platform-specific " "library directory. It is used to build the path of standard library and the " @@ -1377,11 +1394,11 @@ msgstr "" "Adicionado um novo atributo :attr:`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`.)" +"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:686 +#: ../../whatsnew/3.9.rst:701 msgid "" "Previously, :attr:`sys.stderr` was block-buffered when non-interactive. Now " "``stderr`` defaults to always being line-buffered. (Contributed by Jendrik " @@ -1391,11 +1408,11 @@ msgstr "" "interativo. Agora, ``stderr`` assume como padrão sempre o buffer de linha. " "(Contribuição de Jendrik Seipp em :issue:`13601`.)" -#: ../../whatsnew/3.9.rst:691 +#: ../../whatsnew/3.9.rst:706 msgid "tracemalloc" msgstr "tracemalloc" -#: ../../whatsnew/3.9.rst:693 +#: ../../whatsnew/3.9.rst:708 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. " @@ -1406,11 +1423,11 @@ msgstr "" "partes específicas do código. (Contribuição de Huon Wilson em :issue:" "`40630`.)" -#: ../../whatsnew/3.9.rst:698 ../../whatsnew/3.9.rst:1485 +#: ../../whatsnew/3.9.rst:713 ../../whatsnew/3.9.rst:1496 msgid "typing" msgstr "typing" -#: ../../whatsnew/3.9.rst:700 +#: ../../whatsnew/3.9.rst:715 msgid "" ":pep:`593` introduced an :data:`typing.Annotated` type to decorate existing " "types with context-specific metadata and new ``include_extras`` parameter " @@ -1423,22 +1440,22 @@ msgstr "" "metadados em tempo de execução. (Contribuição de Till Varoquaux e Konstantin " "Kashin.)" -#: ../../whatsnew/3.9.rst:706 +#: ../../whatsnew/3.9.rst:721 msgid "unicodedata" msgstr "unicodedata" -#: ../../whatsnew/3.9.rst:708 +#: ../../whatsnew/3.9.rst:723 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`)." -#: ../../whatsnew/3.9.rst:711 +#: ../../whatsnew/3.9.rst:726 msgid "venv" msgstr "venv" -#: ../../whatsnew/3.9.rst:713 +#: ../../whatsnew/3.9.rst:728 msgid "" "The activation scripts provided by :mod:`venv` now all specify their prompt " "customization consistently by always using the value specified by " @@ -1454,11 +1471,11 @@ msgstr "" "era o caso padrão) e um usava ``__VENV_NAME__``. (Contribuição de Brett " "Cannon em :issue:`37663`.)" -#: ../../whatsnew/3.9.rst:721 +#: ../../whatsnew/3.9.rst:736 msgid "xml" msgstr "xml" -#: ../../whatsnew/3.9.rst:723 +#: ../../whatsnew/3.9.rst:738 msgid "" "White space characters within attributes are now preserved when serializing :" "mod:`xml.etree.ElementTree` to XML file. EOLNs are no longer normalized to " @@ -1471,11 +1488,11 @@ msgstr "" "interpretar a seção 2.11 da especificação XML. (Contribuição de Mefistotelis " "em :issue:`39011`.)" -#: ../../whatsnew/3.9.rst:731 +#: ../../whatsnew/3.9.rst:746 msgid "Optimizations" msgstr "Otimizações" -#: ../../whatsnew/3.9.rst:733 +#: ../../whatsnew/3.9.rst:748 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 " @@ -1485,11 +1502,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:737 +#: ../../whatsnew/3.9.rst:752 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:739 +#: ../../whatsnew/3.9.rst:754 msgid "" "Unlike the ``:=`` operator this idiom does not leak a variable to the outer " "scope." @@ -1497,11 +1514,11 @@ msgstr "" "Ao contrário do operador ``:=``, este idioma não vaza uma variável para o " "escopo externo." -#: ../../whatsnew/3.9.rst:742 +#: ../../whatsnew/3.9.rst:757 msgid "(Contributed by Serhiy Storchaka in :issue:`32856`.)" msgstr "(Contribuição de Serhiy Storchaka em :issue:`32856`.)" -#: ../../whatsnew/3.9.rst:744 +#: ../../whatsnew/3.9.rst:759 msgid "" "Optimized signal handling in multithreaded applications. If a thread " "different than the main thread gets a signal, the bytecode evaluation loop " @@ -1515,7 +1532,7 @@ 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:750 +#: ../../whatsnew/3.9.rst:765 msgid "" "Previously, the bytecode evaluation loop was interrupted at each instruction " "until the main thread handles signals. (Contributed by Victor Stinner in :" @@ -1525,7 +1542,7 @@ msgstr "" "instrução até que a thread principal lidasse com os sinais. (Contribuição de " "Victor Stinner em :issue:`40010`.)" -#: ../../whatsnew/3.9.rst:754 +#: ../../whatsnew/3.9.rst:769 msgid "" "Optimized the :mod:`subprocess` module on FreeBSD using ``closefrom()``. " "(Contributed by Ed Maste, Conrad Meyer, Kyle Evans, Kubilay Kocak and Victor " @@ -1535,16 +1552,16 @@ msgstr "" "(Contribuição de Ed Maste, Conrad Meyer, Kyle Evans, Kubilay Kocak e Victor " "Stinner em :issue:`38061`.)" -#: ../../whatsnew/3.9.rst:758 +#: ../../whatsnew/3.9.rst:773 msgid "" ":c:func:`PyLong_FromDouble` is now up to 1.87x faster for values that fit " -"into :c:type:`long`. (Contributed by Sergey Fedoseev in :issue:`37986`.)" +"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:type:`long`. (Contribuição de Sergey Fedoseev em :issue:" +"que cabem em um :c:expr:`long`. (Contribuição de Sergey Fedoseev em :issue:" "`37986`.)" -#: ../../whatsnew/3.9.rst:762 +#: ../../whatsnew/3.9.rst:777 msgid "" "A number of Python builtins (:class:`range`, :class:`tuple`, :class:`set`, :" "class:`frozenset`, :class:`list`, :class:`dict`) are now sped up by using :" @@ -1556,7 +1573,7 @@ msgstr "" "acelerados usando o protocolo vectorcall da :pep:`590`. (Contribuição de " "Dong-hee Na, Mark Shannon, Jeroen Demeyer e Petr Viktorin em :issue:`37207`.)" -#: ../../whatsnew/3.9.rst:767 +#: ../../whatsnew/3.9.rst:782 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 " @@ -1566,7 +1583,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:771 +#: ../../whatsnew/3.9.rst:786 msgid "" "Python's small object allocator (``obmalloc.c``) now allows (no more than) " "one empty arena to remain available for immediate reuse, without returning " @@ -1580,7 +1597,7 @@ 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:777 +#: ../../whatsnew/3.9.rst:792 msgid "" ":term:`floor division` of float operation now has a better performance. Also " "the message of :exc:`ZeroDivisionError` for this operation is updated. " @@ -1591,7 +1608,7 @@ msgstr "" "para esta operação foi atualizada. (Contribuição de Dong-hee Na em :issue:" "`39434`.)" -#: ../../whatsnew/3.9.rst:781 +#: ../../whatsnew/3.9.rst:796 msgid "" "Decoding short ASCII strings with UTF-8 and ascii codecs is now about 15% " "faster. (Contributed by Inada Naoki in :issue:`37348`.)" @@ -1599,14 +1616,14 @@ 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:784 +#: ../../whatsnew/3.9.rst:799 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:831 +#: ../../whatsnew/3.9.rst:846 msgid "" "These results were generated from the variable access benchmark script at: " "``Tools/scripts/var_access_benchmark.py``. The benchmark script displays " @@ -1619,16 +1636,16 @@ 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 `_." -#: ../../whatsnew/3.9.rst:841 +#: ../../whatsnew/3.9.rst:856 msgid "Deprecated" msgstr "Descontinuados" -#: ../../whatsnew/3.9.rst:843 +#: ../../whatsnew/3.9.rst:858 msgid "" "The distutils ``bdist_msi`` command is now deprecated, use ``bdist_wheel`` " "(wheel packages) instead. (Contributed by Hugo van Kemenade in :issue:" @@ -1638,7 +1655,7 @@ msgstr "" "``bdist_wheel`` (pacotes wheel). (Contribuição de Hugo van Kemenade em :" "issue:`39586`.)" -#: ../../whatsnew/3.9.rst:847 +#: ../../whatsnew/3.9.rst:862 msgid "" "Currently :func:`math.factorial` accepts :class:`float` instances with non-" "negative integer values (like ``5.0``). It raises a :exc:`ValueError` for " @@ -1653,7 +1670,7 @@ msgstr "" "`TypeError` para todos os flutuadores. (Contribuição de Serhiy Storchaka em :" "issue:`37315`.)" -#: ../../whatsnew/3.9.rst:853 +#: ../../whatsnew/3.9.rst:868 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 " @@ -1665,7 +1682,7 @@ 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:858 +#: ../../whatsnew/3.9.rst:873 msgid "" "The Public C API functions :c:func:`PyParser_SimpleParseStringFlags`, :c:" "func:`PyParser_SimpleParseStringFlagsFilename`, :c:func:" @@ -1678,7 +1695,7 @@ msgstr "" "descontinuados e serão removidos no Python 3.10 junto com o analisador " "sintático antigo." -#: ../../whatsnew/3.9.rst:863 +#: ../../whatsnew/3.9.rst:878 msgid "" "Using :data:`NotImplemented` in a boolean context has been deprecated, as it " "is almost exclusively the result of incorrect rich comparator " @@ -1690,7 +1707,7 @@ 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:869 +#: ../../whatsnew/3.9.rst:884 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 " @@ -1704,7 +1721,7 @@ msgstr "" "restringirá suas sementes a :const:`None`, :class:`int`, :class:`float`, :" "class:`str`, :class:`bytes` e :class:`bytearray`." -#: ../../whatsnew/3.9.rst:875 +#: ../../whatsnew/3.9.rst:890 msgid "" "Opening the :class:`~gzip.GzipFile` file for writing without specifying the " "*mode* argument is deprecated. In future Python versions it will always be " @@ -1718,7 +1735,7 @@ msgstr "" "para abri-lo para escrever e silenciar um aviso. (Contribuição de Serhiy " "Storchaka em :issue:`28286`.)" -#: ../../whatsnew/3.9.rst:881 +#: ../../whatsnew/3.9.rst:896 msgid "" "Deprecated the ``split()`` method of :class:`_tkinter.TkappType` in favour " "of the ``splitlist()`` method which has more consistent and predicable " @@ -1728,7 +1745,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:886 +#: ../../whatsnew/3.9.rst:901 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 " @@ -1738,7 +1755,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:890 +#: ../../whatsnew/3.9.rst:905 msgid "" "binhex4 and hexbin4 standards are now deprecated. The :mod:`binhex` module " "and the following :mod:`binascii` functions are now deprecated:" @@ -1746,19 +1763,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:893 +#: ../../whatsnew/3.9.rst:908 msgid ":func:`~binascii.b2a_hqx`, :func:`~binascii.a2b_hqx`" msgstr ":func:`~binascii.b2a_hqx`, :func:`~binascii.a2b_hqx`" -#: ../../whatsnew/3.9.rst:894 +#: ../../whatsnew/3.9.rst:909 msgid ":func:`~binascii.rlecode_hqx`, :func:`~binascii.rledecode_hqx`" msgstr ":func:`~binascii.rlecode_hqx`, :func:`~binascii.rledecode_hqx`" -#: ../../whatsnew/3.9.rst:896 +#: ../../whatsnew/3.9.rst:911 msgid "(Contributed by Victor Stinner in :issue:`39353`.)" msgstr "(Contribuição de Victor Stinner em :issue:`39353`.)" -#: ../../whatsnew/3.9.rst:898 +#: ../../whatsnew/3.9.rst:913 msgid "" ":mod:`ast` classes ``slice``, ``Index`` and ``ExtSlice`` are considered " "deprecated and will be removed in future Python versions. ``value`` itself " @@ -1772,7 +1789,7 @@ msgstr "" "``Tuple(slices, Load())`` deve ser usada em vez de ``ExtSlice(slices)``. " "(Contribuição de Serhiy Storchaka em :issue:`34822`.)" -#: ../../whatsnew/3.9.rst:904 +#: ../../whatsnew/3.9.rst:919 msgid "" ":mod:`ast` classes ``Suite``, ``Param``, ``AugLoad`` and ``AugStore`` are " "considered deprecated and will be removed in future Python versions. They " @@ -1786,7 +1803,7 @@ msgstr "" "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:911 +#: ../../whatsnew/3.9.rst:926 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:" @@ -1800,7 +1817,7 @@ msgstr "" "`GIL` é inicializado por :c:func:`Py_Initialize()` desde o Python 3.7. " "(Contribuição de Victor Stinner em :issue:`39877`.)" -#: ../../whatsnew/3.9.rst:917 +#: ../../whatsnew/3.9.rst:932 msgid "" "Passing ``None`` as the first argument to the :func:`shlex.split` function " "has been deprecated. (Contributed by Zackery Spytz in :issue:`33262`.)" @@ -1808,7 +1825,7 @@ 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:920 +#: ../../whatsnew/3.9.rst:935 msgid "" ":func:`smtpd.MailmanProxy` is now deprecated as it is unusable without an " "external module, ``mailman``. (Contributed by Samuel Colvin in :issue:" @@ -1818,7 +1835,7 @@ msgstr "" "sem um módulo externo, ``mailman``. (Contribuição de Samuel Colvin em :" "issue:`35800`.)" -#: ../../whatsnew/3.9.rst:923 +#: ../../whatsnew/3.9.rst:938 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 " @@ -1835,7 +1852,7 @@ msgstr "" "alternativas de terceiros, como `LibCST`_ ou `parso`_. (Contribuição de Carl " "Meyer em :issue:`40360`.)" -#: ../../whatsnew/3.9.rst:931 +#: ../../whatsnew/3.9.rst:946 msgid "" "The *random* parameter of :func:`random.shuffle` has been deprecated. " "(Contributed by Raymond Hettinger in :issue:`40465`)" @@ -1843,16 +1860,16 @@ msgstr "" "Adicionado o parâmetro *random* da :func:`random.shuffle` foi descontinuado. " "(Contribuição de Raymond Hettinger em :issue:`40465`)" -#: ../../whatsnew/3.9.rst:940 ../../whatsnew/3.9.rst:1399 +#: ../../whatsnew/3.9.rst:955 ../../whatsnew/3.9.rst:1410 msgid "Removed" msgstr "Removidos" -#: ../../whatsnew/3.9.rst:942 +#: ../../whatsnew/3.9.rst:957 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:944 +#: ../../whatsnew/3.9.rst:959 msgid "" ":class:`nntplib.NNTP`: ``xpath()`` and ``xgtitle()`` methods have been " "removed. These methods are deprecated since Python 3.3. Generally, these " @@ -1868,7 +1885,7 @@ msgstr "" "NNTP.descriptions` ou :meth:`nntplib.NNTP.description`. (Contribuição de " "Dong-hee Na em :issue:`39366`.)" -#: ../../whatsnew/3.9.rst:951 +#: ../../whatsnew/3.9.rst:966 msgid "" ":class:`array.array`: ``tostring()`` and ``fromstring()`` methods have been " "removed. They were aliases to ``tobytes()`` and ``frombytes()``, deprecated " @@ -1879,7 +1896,7 @@ msgstr "" "descontinuado desde Python 3.2. (Contribuição de Victor Stinner em :issue:" "`38916`.)" -#: ../../whatsnew/3.9.rst:956 +#: ../../whatsnew/3.9.rst:971 msgid "" "The undocumented ``sys.callstats()`` function has been removed. Since Python " "3.7, it was deprecated and always returned :const:`None`. It required a " @@ -1891,7 +1908,7 @@ 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:961 +#: ../../whatsnew/3.9.rst:976 msgid "" "The ``sys.getcheckinterval()`` and ``sys.setcheckinterval()`` functions have " "been removed. They were deprecated since Python 3.2. Use :func:`sys." @@ -1903,7 +1920,7 @@ msgstr "" "getswitchinterval` e :func:`sys.setswitchinterval` em seu lugar. " "(Contribuição de Victor Stinner em :issue:`37392`.)" -#: ../../whatsnew/3.9.rst:966 +#: ../../whatsnew/3.9.rst:981 msgid "" "The C function ``PyImport_Cleanup()`` has been removed. It was documented " "as: \"Empty the module table. For internal use only.\" (Contributed by " @@ -1913,7 +1930,7 @@ msgstr "" "\"Esvazia a tabela do módulo. Apenas para uso interno.\" (Contribuição de " "Victor Stinner em :issue:`36710`.)" -#: ../../whatsnew/3.9.rst:970 +#: ../../whatsnew/3.9.rst:985 msgid "" "``_dummy_thread`` and ``dummy_threading`` modules have been removed. These " "modules were deprecated since Python 3.7 which requires threading support. " @@ -1923,19 +1940,19 @@ 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:974 +#: ../../whatsnew/3.9.rst:989 msgid "" "``aifc.openfp()`` alias to ``aifc.open()``, ``sunau.openfp()`` alias to " "``sunau.open()``, and ``wave.openfp()`` alias to :func:`wave.open()` have " "been removed. They were deprecated since Python 3.7. (Contributed by Victor " "Stinner in :issue:`37320`.)" msgstr "" -"``aifc.openfp()`` alias para ``aifc.open()``, ``sunau.openfp()`` alias " -"para``sunau.open()`` e ``wave.openfp()`` alias para :func:`wave.open()` foi " +"``aifc.openfp()`` alias para ``aifc.open()``, ``sunau.openfp()`` alias para " +"``sunau.open()`` e ``wave.openfp()`` alias para :func:`wave.open()` foi " "removido. Eles foram descontinuados desde o Python 3.7. (Contribuição de " "Victor Stinner em :issue:`37320`.)" -#: ../../whatsnew/3.9.rst:979 +#: ../../whatsnew/3.9.rst:994 msgid "" "The :meth:`~threading.Thread.isAlive()` method of :class:`threading.Thread` " "has been removed. It was deprecated since Python 3.8. Use :meth:`~threading." @@ -1946,7 +1963,7 @@ msgstr "" "`~threading.Thread.is_alive()` ao invés. (Contribuição de Dong-hee Na em :" "issue:`37804`.)" -#: ../../whatsnew/3.9.rst:984 +#: ../../whatsnew/3.9.rst:999 msgid "" "Methods ``getchildren()`` and ``getiterator()`` of classes :class:`~xml." "etree.ElementTree.ElementTree` and :class:`~xml.etree.ElementTree.Element` " @@ -1962,7 +1979,7 @@ msgstr "" "getchildren()`` e ``x.iter()`` ou ``list(x.iter())`` em vez de ``x." "getiterator()``. (Contribuição Serhiy Storchaka no :issue:`36543`.)" -#: ../../whatsnew/3.9.rst:992 +#: ../../whatsnew/3.9.rst:1007 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:" @@ -1977,7 +1994,7 @@ msgstr "" "são sempre usados em seu lugar. (Contribuição de Jon Janzen em :issue:" "`36409`.)" -#: ../../whatsnew/3.9.rst:998 +#: ../../whatsnew/3.9.rst:1013 msgid "" "The C function ``PyGen_NeedsFinalizing`` has been removed. It was not " "documented, tested, or used anywhere within CPython after the implementation " @@ -1989,7 +2006,7 @@ msgstr "" "de :pep:`442`. Patch de Joannah Nanjekye. (Contribuição de Joannah Nanjekye " "em :issue:`15088`)" -#: ../../whatsnew/3.9.rst:1003 +#: ../../whatsnew/3.9.rst:1018 msgid "" "``base64.encodestring()`` and ``base64.decodestring()``, aliases deprecated " "since Python 3.1, have been removed: use :func:`base64.encodebytes` and :" @@ -2001,7 +2018,7 @@ msgstr "" "encodebytes` e :func:`base64.decodebytes`. (Contribuição de Victor Stinner " "em :issue:`39351`.)" -#: ../../whatsnew/3.9.rst:1008 +#: ../../whatsnew/3.9.rst:1023 msgid "" "``fractions.gcd()`` function has been removed, it was deprecated since " "Python 3.5 (:issue:`22486`): use :func:`math.gcd` instead. (Contributed by " @@ -2011,7 +2028,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:1012 +#: ../../whatsnew/3.9.rst:1027 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`. " @@ -2023,7 +2040,7 @@ msgstr "" "Passe um objeto arquivo aberto para controlar como o arquivo é aberto. " "(Contribuição de Victor Stinner em :issue:`39357`.)" -#: ../../whatsnew/3.9.rst:1017 +#: ../../whatsnew/3.9.rst:1032 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:" @@ -2035,7 +2052,7 @@ msgstr "" "`DeprecationWarning` desde Python 3.8. (Contribuição de Inada Naoki em :" "issue:`39377`)" -#: ../../whatsnew/3.9.rst:1022 +#: ../../whatsnew/3.9.rst:1037 msgid "" "``with (await asyncio.lock):`` and ``with (yield from asyncio.lock):`` " "statements are not longer supported, use ``async with lock`` instead. The " @@ -2047,7 +2064,7 @@ msgstr "" "aplica para ``asyncio.Condition`` e ``asyncio.Semaphore``. (Contribuição de " "Andrew Svetlov em :issue:`34793`.)" -#: ../../whatsnew/3.9.rst:1027 +#: ../../whatsnew/3.9.rst:1042 msgid "" "The :func:`sys.getcounts` function, the ``-X showalloccount`` command line " "option and the ``show_alloc_count`` field of the C structure :c:type:" @@ -2061,7 +2078,7 @@ msgstr "" "definindo a macro ``COUNT_ALLOCS``. (Contribuição de Victor Stinner em :" "issue:`39489`.)" -#: ../../whatsnew/3.9.rst:1033 +#: ../../whatsnew/3.9.rst:1048 msgid "" "The ``_field_types`` attribute of the :class:`typing.NamedTuple` class has " "been removed. It was deprecated since Python 3.8. Use the " @@ -2072,7 +2089,7 @@ msgstr "" "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:1038 +#: ../../whatsnew/3.9.rst:1053 msgid "" "The :meth:`symtable.SymbolTable.has_exec` method has been removed. It was " "deprecated since 2006, and only returning ``False`` when it's called. " @@ -2082,7 +2099,7 @@ msgstr "" "descontinuado desde 2006, e retornando apenas ``False`` quando é chamado. " "(Contribuição de Batuhan Taskaya em :issue:`40208`)" -#: ../../whatsnew/3.9.rst:1042 +#: ../../whatsnew/3.9.rst:1057 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 :" @@ -2094,7 +2111,7 @@ msgstr "" "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:1047 +#: ../../whatsnew/3.9.rst:1062 msgid "" "The ``unescape()`` method in the :class:`html.parser.HTMLParser` class has " "been removed (it was deprecated since Python 3.4). :func:`html.unescape` " @@ -2106,11 +2123,11 @@ msgstr "" "ser usada para converter referências de caracteres para os caracteres " "Unicode correspondentes." -#: ../../whatsnew/3.9.rst:1054 ../../whatsnew/3.9.rst:1321 +#: ../../whatsnew/3.9.rst:1069 ../../whatsnew/3.9.rst:1336 msgid "Porting to Python 3.9" msgstr "Portando para Python 3.9" -#: ../../whatsnew/3.9.rst:1056 +#: ../../whatsnew/3.9.rst:1071 msgid "" "This section lists previously described changes and other bugfixes that may " "require changes to your code." @@ -2118,11 +2135,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.9.rst:1061 +#: ../../whatsnew/3.9.rst:1076 msgid "Changes in the Python API" msgstr "Alterações na API Python" -#: ../../whatsnew/3.9.rst:1063 +#: ../../whatsnew/3.9.rst:1078 msgid "" ":func:`__import__` and :func:`importlib.util.resolve_name` now raise :exc:" "`ImportError` where it previously raised :exc:`ValueError`. Callers catching " @@ -2135,7 +2152,7 @@ msgstr "" "anteriores precisarão capturar ambas usando ``except (ImportError, " "ValueError):``." -#: ../../whatsnew/3.9.rst:1068 +#: ../../whatsnew/3.9.rst:1083 msgid "" "The :mod:`venv` activation scripts no longer special-case when " "``__VENV_PROMPT__`` is set to ``\"\"``." @@ -2143,7 +2160,7 @@ 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:1071 +#: ../../whatsnew/3.9.rst:1086 msgid "" "The :meth:`select.epoll.unregister` method no longer ignores the :data:" "`~errno.EBADF` error. (Contributed by Victor Stinner in :issue:`39239`.)" @@ -2151,7 +2168,7 @@ 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`.)" -#: ../../whatsnew/3.9.rst:1075 +#: ../../whatsnew/3.9.rst:1090 msgid "" "The *compresslevel* parameter of :class:`bz2.BZ2File` became keyword-only, " "since the *buffering* parameter has been removed. (Contributed by Victor " @@ -2161,7 +2178,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:1079 +#: ../../whatsnew/3.9.rst:1094 msgid "" "Simplified AST for subscription. Simple indices will be represented by their " "value, extended slices will be represented as tuples. ``Index(value)`` will " @@ -2174,7 +2191,7 @@ msgstr "" "retornará ``Tuple(slices, Load())``. (Contribuição de Serhiy Storchaka em :" "issue:`34822`.)" -#: ../../whatsnew/3.9.rst:1085 +#: ../../whatsnew/3.9.rst:1100 msgid "" "The :mod:`importlib` module now ignores the :envvar:`PYTHONCASEOK` " "environment variable when the :option:`-E` or :option:`-I` command line " @@ -2184,7 +2201,7 @@ msgstr "" "`PYTHONCASEOK` quando as opções de linha de comando :option:`-E` ou :option:" "`-I` estão sendo usadas." -#: ../../whatsnew/3.9.rst:1089 +#: ../../whatsnew/3.9.rst:1104 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 " @@ -2194,7 +2211,7 @@ msgstr "" "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:1093 +#: ../../whatsnew/3.9.rst:1108 msgid "" ":meth:`asyncio.loop.shutdown_default_executor` has been added to :class:" "`~asyncio.AbstractEventLoop`, meaning alternative event loops that inherit " @@ -2206,7 +2223,7 @@ msgstr "" "que herdam dele devem ter este método definido. (Contribuição de Kyle " "Stanley em :issue:`34037`.)" -#: ../../whatsnew/3.9.rst:1098 +#: ../../whatsnew/3.9.rst:1113 msgid "" "The constant values of future flags in the :mod:`__future__` module is " "updated in order to prevent collision with compiler flags. Previously " @@ -2218,7 +2235,7 @@ 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:1103 +#: ../../whatsnew/3.9.rst:1118 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 " @@ -2230,7 +2247,7 @@ msgstr "" "de ``wchar_t`` desde Python 3.3. (Contribuição de Inada Naoki em :issue:" "`34538`.)" -#: ../../whatsnew/3.9.rst:1108 +#: ../../whatsnew/3.9.rst:1123 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 " @@ -2247,7 +2264,7 @@ msgstr "" "superior chamado ``'root.py'``. (Contribuição de Vinay Sajip em :issue:" "`37742`.)" -#: ../../whatsnew/3.9.rst:1115 +#: ../../whatsnew/3.9.rst:1130 msgid "" "Division handling of :class:`~pathlib.PurePath` now returns " "``NotImplemented`` instead of raising a :exc:`TypeError` when passed " @@ -2261,7 +2278,7 @@ msgstr "" "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:1121 +#: ../../whatsnew/3.9.rst:1136 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 " @@ -2278,7 +2295,7 @@ msgstr "" "não aceita nenhum zeros à esquerda. (Contribuição de Christian Heimes em :" "issue:`36384`)." -#: ../../whatsnew/3.9.rst:1129 +#: ../../whatsnew/3.9.rst:1144 msgid "" ":func:`codecs.lookup` now normalizes the encoding name the same way as :func:" "`encodings.normalize_encoding`, except that :func:`codecs.lookup` also " @@ -2292,11 +2309,11 @@ msgstr "" "nome de codificação agora está normalizado para ``\"latex_latin1\"``. " "(Contribuição de Jordon Xu em :issue:`37751`.)" -#: ../../whatsnew/3.9.rst:1137 +#: ../../whatsnew/3.9.rst:1152 msgid "Changes in the C API" msgstr "Alterações na API C" -#: ../../whatsnew/3.9.rst:1139 +#: ../../whatsnew/3.9.rst:1154 msgid "" "Instances of :ref:`heap-allocated types ` (such as those created " "with :c:func:`PyType_FromSpec` and similar APIs) hold a reference to their " @@ -2315,7 +2332,7 @@ msgstr "" "todas as funções ``tp_traverse`` personalizadas de tipos alocados por heap " "visitam o tipo do objeto." -#: ../../whatsnew/3.9.rst:1160 +#: ../../whatsnew/3.9.rst:1175 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 " @@ -2327,19 +2344,19 @@ msgstr "" "vez. Observe que apenas os :ref:`tipos de heap ` devem visitar o " "tipo em ``tp_traverse``." -#: ../../whatsnew/3.9.rst:1165 +#: ../../whatsnew/3.9.rst:1180 msgid "For example, if your ``tp_traverse`` function includes:" msgstr "Por exemplo, se sua função ``tp_traverse`` inclui:" -#: ../../whatsnew/3.9.rst:1171 +#: ../../whatsnew/3.9.rst:1186 msgid "then add:" msgstr "adicione:" -#: ../../whatsnew/3.9.rst:1184 +#: ../../whatsnew/3.9.rst:1199 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:1186 +#: ../../whatsnew/3.9.rst:1201 msgid "" "The functions ``PyEval_CallObject``, ``PyEval_CallFunction``, " "``PyEval_CallMethod`` and ``PyEval_CallObjectWithKeywords`` are deprecated. " @@ -2351,11 +2368,11 @@ msgstr "" "descontinuadas. Use :c:func:`PyObject_Call` e suas variantes. (Veja mais " "detalhes em :issue:`29548`.)" -#: ../../whatsnew/3.9.rst:1192 +#: ../../whatsnew/3.9.rst:1207 msgid "CPython bytecode changes" msgstr "Alterações de bytecode do CPython" -#: ../../whatsnew/3.9.rst:1194 +#: ../../whatsnew/3.9.rst:1209 msgid "" "The :opcode:`LOAD_ASSERTION_ERROR` opcode was added for handling the :" "keyword:`assert` statement. Previously, the assert statement would not work " @@ -2367,41 +2384,41 @@ msgstr "" "funcionava corretamente se a exceção :exc:`AssertionError` estivesse sendo " "ocultada. (Contribuição de Zackery Spytz em :issue:`34880`.)" -#: ../../whatsnew/3.9.rst:1199 +#: ../../whatsnew/3.9.rst:1214 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:1201 +#: ../../whatsnew/3.9.rst:1216 msgid "``COMPARE_OP`` for rich comparisons" msgstr "``COMPARE_OP`` para comparações ricas" -#: ../../whatsnew/3.9.rst:1202 +#: ../../whatsnew/3.9.rst:1217 msgid "``IS_OP`` for 'is' and 'is not' tests" msgstr "``IS_OP`` para testes \"is\" e \"is not\"" -#: ../../whatsnew/3.9.rst:1203 +#: ../../whatsnew/3.9.rst:1218 msgid "``CONTAINS_OP`` for 'in' and 'not in' tests" msgstr "``CONTAINS_OP`` para testes \"in\" e \"not in\"" -#: ../../whatsnew/3.9.rst:1204 +#: ../../whatsnew/3.9.rst:1219 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" -"\"." +"``JUMP_IF_NOT_EXC_MATCH`` para verificar exceções em instruções \"try-" +"except\"." -#: ../../whatsnew/3.9.rst:1207 +#: ../../whatsnew/3.9.rst:1222 msgid "(Contributed by Mark Shannon in :issue:`39156`.)" msgstr "(Contribuição de Mark Shannon em :issue:`39156`.)" -#: ../../whatsnew/3.9.rst:1211 +#: ../../whatsnew/3.9.rst:1226 msgid "Build Changes" -msgstr "Alterações de compilação" +msgstr "Mudanças na construção" -#: ../../whatsnew/3.9.rst:1213 +#: ../../whatsnew/3.9.rst:1228 msgid "" "Added ``--with-platlibdir`` option to the ``configure`` script: name of the " "platform-specific library directory, stored in the new :attr:`sys." @@ -2415,7 +2432,7 @@ msgstr "" "mais informações. (Contribuição de Jan Matějek, Matěj Cepl, Charalampos " "Stratakis e Victor Stinner em :issue:`1294959`.)" -#: ../../whatsnew/3.9.rst:1219 +#: ../../whatsnew/3.9.rst:1234 msgid "" "The ``COUNT_ALLOCS`` special build macro has been removed. (Contributed by " "Victor Stinner in :issue:`39489`.)" @@ -2423,7 +2440,7 @@ msgstr "" "A macro especial de construção ``COUNT_ALLOCS`` foi removida. (Contribuição " "de Victor Stinner em :issue:`39489`.)" -#: ../../whatsnew/3.9.rst:1222 +#: ../../whatsnew/3.9.rst:1237 msgid "" "On non-Windows platforms, the :c:func:`setenv` and :c:func:`unsetenv` " "functions are now required to build Python. (Contributed by Victor Stinner " @@ -2433,7 +2450,7 @@ msgstr "" "agora são necessárias para construir o Python. (Contribuição de Victor " "Stinner em :issue:`39395`.)" -#: ../../whatsnew/3.9.rst:1226 +#: ../../whatsnew/3.9.rst:1241 msgid "" "On non-Windows platforms, creating ``bdist_wininst`` installers is now " "officially unsupported. (See :issue:`10945` for more details.)" @@ -2441,7 +2458,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:1229 +#: ../../whatsnew/3.9.rst:1244 msgid "" "When building Python on macOS from source, ``_tkinter`` now links with non-" "system Tcl and Tk frameworks if they are installed in ``/Library/" @@ -2460,7 +2477,7 @@ msgstr "" "with-tcltk-includes` e :option:`--with-tcltk-libs`. (Contribuição de Ned " "Deily em :issue:`34956`.)" -#: ../../whatsnew/3.9.rst:1238 +#: ../../whatsnew/3.9.rst:1253 msgid "" "Python can now be built for Windows 10 ARM64. (Contributed by Steve Dower " "in :issue:`33125`.)" @@ -2468,7 +2485,7 @@ msgstr "" "Python pode agora ser construído para Windows 10 ARM64. (Contribuição de " "Steve Dower em :issue:`33125`.)" -#: ../../whatsnew/3.9.rst:1241 +#: ../../whatsnew/3.9.rst:1256 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 " @@ -2498,11 +2515,11 @@ msgstr "" "ferramentas do compilador. (Veja :issue:`36044` e :issue:`37707` para mais " "detalhes.)" -#: ../../whatsnew/3.9.rst:1256 +#: ../../whatsnew/3.9.rst:1271 msgid "C API Changes" msgstr "Alterações na API C" -#: ../../whatsnew/3.9.rst:1261 +#: ../../whatsnew/3.9.rst:1276 msgid "" ":pep:`573`: Added :c:func:`PyType_FromModuleAndSpec` to associate a module " "with a class; :c:func:`PyType_GetModule` and :c:func:`PyType_GetModuleState` " @@ -2517,7 +2534,7 @@ msgstr "" "classe na qual ela foi definida. (Contribuição de Marcel Plch e Petr " "Viktorin em :issue:`38787`.)" -#: ../../whatsnew/3.9.rst:1268 +#: ../../whatsnew/3.9.rst:1283 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 " @@ -2527,7 +2544,7 @@ msgstr "" "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:1272 +#: ../../whatsnew/3.9.rst:1287 msgid "" "Added :c:func:`PyFrame_GetLineNumber` to the limited C API. (Contributed by " "Victor Stinner in :issue:`40421`.)" @@ -2535,7 +2552,7 @@ msgstr "" "Adicionada :c:func:`PyFrame_GetLineNumber` à API C limitada. (Contribuição " "de Victor Stinner em :issue:`40421`.)" -#: ../../whatsnew/3.9.rst:1275 +#: ../../whatsnew/3.9.rst:1290 msgid "" "Added :c:func:`PyThreadState_GetInterpreter` and :c:func:" "`PyInterpreterState_Get` functions to get the interpreter. Added :c:func:" @@ -2551,7 +2568,7 @@ msgstr "" "identificador único de um estado de thread do Python. (Contribuição de " "Victor Stinner em :issue:`39947`.)" -#: ../../whatsnew/3.9.rst:1283 +#: ../../whatsnew/3.9.rst:1298 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 " @@ -2563,13 +2580,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:1288 ../../whatsnew/3.9.rst:1410 +#: ../../whatsnew/3.9.rst:1303 ../../whatsnew/3.9.rst:1421 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:1290 +#: ../../whatsnew/3.9.rst:1305 msgid "" "Provide :c:func:`Py_EnterRecursiveCall` and :c:func:`Py_LeaveRecursiveCall` " "as regular functions for the limited API. Previously, there were defined as " @@ -2583,7 +2600,7 @@ msgstr "" "pode acessar o campo ``PyThreadState.recursion_depth`` (a estrutura não é " "visível na API C limitada)." -#: ../../whatsnew/3.9.rst:1296 +#: ../../whatsnew/3.9.rst:1311 msgid "" "``PyObject_INIT()`` and ``PyObject_INIT_VAR()`` become regular \"opaque\" " "function to hide implementation details." @@ -2591,11 +2608,11 @@ 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:1299 ../../whatsnew/3.9.rst:1437 +#: ../../whatsnew/3.9.rst:1314 ../../whatsnew/3.9.rst:1448 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:1301 +#: ../../whatsnew/3.9.rst:1316 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`.)" @@ -2603,7 +2620,7 @@ 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`.)" -#: ../../whatsnew/3.9.rst:1305 +#: ../../whatsnew/3.9.rst:1320 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 " @@ -2616,7 +2633,7 @@ msgstr "" "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:1311 +#: ../../whatsnew/3.9.rst:1326 msgid "" "Added :c:func:`_PyObject_FunctionStr` to get a user-friendly string " "representation of a function-like object. (Patch by Jeroen Demeyer in :issue:" @@ -2626,7 +2643,7 @@ msgstr "" "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:1315 +#: ../../whatsnew/3.9.rst:1330 msgid "" "Added :c:func:`PyObject_CallOneArg` for calling an object with one " "positional argument (Patch by Jeroen Demeyer in :issue:`37483`.)" @@ -2634,7 +2651,7 @@ 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:1323 +#: ../../whatsnew/3.9.rst:1338 msgid "" "``PyInterpreterState.eval_frame`` (:pep:`523`) now requires a new mandatory " "*tstate* parameter (``PyThreadState*``). (Contributed by Victor Stinner in :" @@ -2644,7 +2661,7 @@ msgstr "" "*tstate* obrigatório (``PyThreadState*``). (Contribuição de Victor Stinner " "em :issue:`38500`.)" -#: ../../whatsnew/3.9.rst:1327 +#: ../../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:" @@ -2664,14 +2681,14 @@ msgstr "" "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:1336 +#: ../../whatsnew/3.9.rst:1351 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:1338 +#: ../../whatsnew/3.9.rst:1353 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 " @@ -2684,7 +2701,7 @@ msgstr "" "agora tem sua própria lista de chamadas programadas. (Contribuição de Victor " "Stinner em :issue:`39984`.)" -#: ../../whatsnew/3.9.rst:1344 +#: ../../whatsnew/3.9.rst:1359 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 " @@ -2696,7 +2713,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:1349 +#: ../../whatsnew/3.9.rst:1364 msgid "" "The global variable :c:data:`PyStructSequence_UnnamedField` is now a " "constant and refers to a constant string. (Contributed by Serhiy Storchaka " @@ -2706,7 +2723,7 @@ msgstr "" "constante e se refere a uma string constante. (Contribuição de Serhiy " "Storchaka em :issue:`38650`.)" -#: ../../whatsnew/3.9.rst:1353 +#: ../../whatsnew/3.9.rst:1368 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:" @@ -2716,7 +2733,7 @@ msgstr "" "na API C interna (``pycore_gc.h``). (Contribuição de Victor Stinner em :" "issue:`40241`.)" -#: ../../whatsnew/3.9.rst:1357 +#: ../../whatsnew/3.9.rst:1372 msgid "" "The ``Py_UNICODE_COPY``, ``Py_UNICODE_FILL``, ``PyUnicode_WSTR_LENGTH``, :c:" "func:`PyUnicode_FromUnicode`, :c:func:`PyUnicode_AsUnicode`, " @@ -2730,7 +2747,7 @@ msgstr "" "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:1364 +#: ../../whatsnew/3.9.rst:1379 msgid "" "The :c:func:`Py_FatalError` function is replaced with a macro which logs " "automatically the name of the current function, unless the " @@ -2742,7 +2759,7 @@ msgstr "" "``Py_LIMITED_API`` seja definida. (Contribuição de Victor Stinner em :issue:" "`39882`.)" -#: ../../whatsnew/3.9.rst:1369 +#: ../../whatsnew/3.9.rst:1384 msgid "" "The vectorcall protocol now requires that the caller passes only strings as " "keyword names. (See :issue:`37540` for more information.)" @@ -2750,18 +2767,18 @@ 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:1372 +#: ../../whatsnew/3.9.rst:1387 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:1374 +#: ../../whatsnew/3.9.rst:1389 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:1376 +#: ../../whatsnew/3.9.rst:1391 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 " @@ -2773,17 +2790,7 @@ msgstr "" "macro :c:func:`PyObject_NewVar`. Elas não acessam mais diretamente o membro :" "c:member:`PyTypeObject.tp_basicsize`." -#: ../../whatsnew/3.9.rst:1381 -msgid "" -":c:func:`PyType_HasFeature` now always calls :c:func:`PyType_GetFlags`. " -"Previously, it accessed directly the :c:member:`PyTypeObject.tp_flags` " -"member when the limited C API was not used." -msgstr "" -":c:func:`PyType_HasFeature` agora sempre chama :c:func:`PyType_GetFlags`. " -"Anteriormente, ela acessava diretamente o membro :c:member:`PyTypeObject." -"tp_flags` quando a API C limitada não era usada." - -#: ../../whatsnew/3.9.rst:1385 +#: ../../whatsnew/3.9.rst:1396 msgid "" ":c:func:`PyObject_GET_WEAKREFS_LISTPTR` macro was converted to a function: " "the macro accessed directly the :c:member:`PyTypeObject.tp_weaklistoffset` " @@ -2793,7 +2800,7 @@ msgstr "" "função: a macro acessava diretamente o membro :c:member:`PyTypeObject." "tp_weaklistoffset`." -#: ../../whatsnew/3.9.rst:1389 +#: ../../whatsnew/3.9.rst:1400 msgid "" ":c:func:`PyObject_CheckBuffer` macro was converted to a function: the macro " "accessed directly the :c:member:`PyTypeObject.tp_as_buffer` member." @@ -2801,7 +2808,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:1392 +#: ../../whatsnew/3.9.rst:1403 msgid "" ":c:func:`PyIndex_Check` is now always declared as an opaque function to hide " "implementation details: removed the ``PyIndex_Check()`` macro. The macro " @@ -2811,11 +2818,11 @@ 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:1396 +#: ../../whatsnew/3.9.rst:1407 msgid "(See :issue:`40170` for more details.)" msgstr "(Veja :issue:`40170` para mais detalhes.)" -#: ../../whatsnew/3.9.rst:1401 +#: ../../whatsnew/3.9.rst:1412 msgid "" "Excluded ``PyFPE_START_PROTECT()`` and ``PyFPE_END_PROTECT()`` macros of " "``pyfpe.h`` from the limited C API. (Contributed by Victor Stinner in :issue:" @@ -2825,7 +2832,7 @@ msgstr "" "``pyfpe.h`` da API C limitada. (Contribuição por Victor Stinner em :issue:" "`38835`.)" -#: ../../whatsnew/3.9.rst:1405 +#: ../../whatsnew/3.9.rst:1416 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. " @@ -2837,11 +2844,11 @@ msgstr "" "Desde Python 3.0, ele era ignorado e não utilizado. (Contribuição de Jeroen " "Demeyer em :issue:`36974`.)" -#: ../../whatsnew/3.9.rst:1412 +#: ../../whatsnew/3.9.rst:1423 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:1414 +#: ../../whatsnew/3.9.rst:1425 msgid "" "``PyThreadState_DeleteCurrent()`` (Contributed by Joannah Nanjekye in :issue:" "`37878`.)" @@ -2849,80 +2856,80 @@ msgstr "" "``PyThreadState_DeleteCurrent()`` (Contribuição de Joannah Nanjekye em :" "issue:`37878`.)" -#: ../../whatsnew/3.9.rst:1416 +#: ../../whatsnew/3.9.rst:1427 msgid "``_Py_CheckRecursionLimit``" msgstr "``_Py_CheckRecursionLimit``" -#: ../../whatsnew/3.9.rst:1417 +#: ../../whatsnew/3.9.rst:1428 msgid "``_Py_NewReference()``" msgstr "``_Py_NewReference()``" -#: ../../whatsnew/3.9.rst:1418 +#: ../../whatsnew/3.9.rst:1429 msgid "``_Py_ForgetReference()``" msgstr "``_Py_ForgetReference()``" -#: ../../whatsnew/3.9.rst:1419 +#: ../../whatsnew/3.9.rst:1430 msgid "``_PyTraceMalloc_NewReference()``" msgstr "``_PyTraceMalloc_NewReference()``" -#: ../../whatsnew/3.9.rst:1420 +#: ../../whatsnew/3.9.rst:1431 msgid "``_Py_GetRefTotal()``" msgstr "``_Py_GetRefTotal()``" -#: ../../whatsnew/3.9.rst:1421 +#: ../../whatsnew/3.9.rst:1432 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:1422 +#: ../../whatsnew/3.9.rst:1433 msgid "``PyTrash_UNWIND_LEVEL``" msgstr "``PyTrash_UNWIND_LEVEL``" -#: ../../whatsnew/3.9.rst:1423 +#: ../../whatsnew/3.9.rst:1434 msgid "``Py_TRASHCAN_BEGIN_CONDITION``" msgstr "``Py_TRASHCAN_BEGIN_CONDITION``" -#: ../../whatsnew/3.9.rst:1424 +#: ../../whatsnew/3.9.rst:1435 msgid "``Py_TRASHCAN_BEGIN``" msgstr "``Py_TRASHCAN_BEGIN``" -#: ../../whatsnew/3.9.rst:1425 +#: ../../whatsnew/3.9.rst:1436 msgid "``Py_TRASHCAN_END``" msgstr "``Py_TRASHCAN_END``" -#: ../../whatsnew/3.9.rst:1426 +#: ../../whatsnew/3.9.rst:1437 msgid "``Py_TRASHCAN_SAFE_BEGIN``" msgstr "``Py_TRASHCAN_SAFE_BEGIN``" -#: ../../whatsnew/3.9.rst:1427 +#: ../../whatsnew/3.9.rst:1438 msgid "``Py_TRASHCAN_SAFE_END``" msgstr "``Py_TRASHCAN_SAFE_END``" -#: ../../whatsnew/3.9.rst:1429 +#: ../../whatsnew/3.9.rst:1440 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:1431 +#: ../../whatsnew/3.9.rst:1442 msgid "``_PyDebug_PrintTotalRefs()``" msgstr "``_PyDebug_PrintTotalRefs()``" -#: ../../whatsnew/3.9.rst:1432 +#: ../../whatsnew/3.9.rst:1443 msgid "``_Py_PrintReferences()``" msgstr "``_Py_PrintReferences()``" -#: ../../whatsnew/3.9.rst:1433 +#: ../../whatsnew/3.9.rst:1444 msgid "``_Py_PrintReferenceAddresses()``" msgstr "``_Py_PrintReferenceAddresses()``" -#: ../../whatsnew/3.9.rst:1434 +#: ../../whatsnew/3.9.rst:1445 msgid "``_Py_tracemalloc_config``" msgstr "``_Py_tracemalloc_config``" -#: ../../whatsnew/3.9.rst:1435 +#: ../../whatsnew/3.9.rst:1446 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:1439 +#: ../../whatsnew/3.9.rst:1450 msgid "" "Removed ``_PyRuntime.getframe`` hook and removed ``_PyThreadState_GetFrame`` " "macro which was an alias to ``_PyRuntime.getframe``. They were only exposed " @@ -2934,7 +2941,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:1444 +#: ../../whatsnew/3.9.rst:1455 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 " @@ -2944,31 +2951,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:1449 +#: ../../whatsnew/3.9.rst:1460 msgid "``PyAsyncGen_ClearFreeLists()``" msgstr "``PyAsyncGen_ClearFreeLists()``" -#: ../../whatsnew/3.9.rst:1450 +#: ../../whatsnew/3.9.rst:1461 msgid "``PyContext_ClearFreeList()``" msgstr "``PyContext_ClearFreeList()``" -#: ../../whatsnew/3.9.rst:1451 +#: ../../whatsnew/3.9.rst:1462 msgid "``PyDict_ClearFreeList()``" msgstr "``PyDict_ClearFreeList()``" -#: ../../whatsnew/3.9.rst:1452 +#: ../../whatsnew/3.9.rst:1463 msgid "``PyFloat_ClearFreeList()``" msgstr "``PyFloat_ClearFreeList()``" -#: ../../whatsnew/3.9.rst:1453 +#: ../../whatsnew/3.9.rst:1464 msgid "``PyFrame_ClearFreeList()``" msgstr "``PyFrame_ClearFreeList()``" -#: ../../whatsnew/3.9.rst:1454 +#: ../../whatsnew/3.9.rst:1465 msgid "``PyList_ClearFreeList()``" msgstr "``PyList_ClearFreeList()``" -#: ../../whatsnew/3.9.rst:1455 +#: ../../whatsnew/3.9.rst:1466 msgid "" "``PyMethod_ClearFreeList()`` and ``PyCFunction_ClearFreeList()``: the free " "lists of bound method objects have been removed." @@ -2976,18 +2983,18 @@ msgstr "" "``PyMethod_ClearFreeList()`` e ``PyCFunction_ClearFreeList()``: as listas " "livres de objetos de método vinculado foram removidas." -#: ../../whatsnew/3.9.rst:1457 +#: ../../whatsnew/3.9.rst:1468 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:1459 +#: ../../whatsnew/3.9.rst:1470 msgid "``PyTuple_ClearFreeList()``" msgstr "``PyTuple_ClearFreeList()``" -#: ../../whatsnew/3.9.rst:1460 +#: ../../whatsnew/3.9.rst:1471 msgid "" "``PyUnicode_ClearFreeList()``: the Unicode free list has been removed in " "Python 3.3." @@ -2995,7 +3002,7 @@ msgstr "" "``PyUnicode_ClearFreeList()``: a lista livre de Unicode foi removida no " "Python 3.3." -#: ../../whatsnew/3.9.rst:1463 +#: ../../whatsnew/3.9.rst:1474 msgid "" "Removed ``_PyUnicode_ClearStaticStrings()`` function. (Contributed by Victor " "Stinner in :issue:`39465`.)" @@ -3003,7 +3010,7 @@ msgstr "" "Removida a função ``_PyUnicode_ClearStaticStrings()``. (Contribuição de " "Victor Stinner em :issue:`39465`.)" -#: ../../whatsnew/3.9.rst:1466 +#: ../../whatsnew/3.9.rst:1477 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 " @@ -3013,7 +3020,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:1471 +#: ../../whatsnew/3.9.rst:1482 msgid "" "Cleaned header files of interfaces defined but with no implementation. The " "public API symbols being removed are: " @@ -3035,31 +3042,31 @@ msgstr "" "``PyNoArgsFunction``. (Contribuição de Pablo Galindo Salgado em :issue:" "`39372`.)" -#: ../../whatsnew/3.9.rst:1482 +#: ../../whatsnew/3.9.rst:1493 msgid "Notable changes in Python 3.9.1" msgstr "Alterações notáveis no Python 3.9.1" -#: ../../whatsnew/3.9.rst:1487 +#: ../../whatsnew/3.9.rst:1498 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." msgstr "" "O comportamento de :class:`typing.Literal` foi alterado para ficar em " -"conformidade com a:pep:`586` e para corresponder ao comportamento de " +"conformidade com a :pep:`586` e para corresponder ao comportamento de " "verificadores de tipo estático especificados na PEP." -#: ../../whatsnew/3.9.rst:1490 +#: ../../whatsnew/3.9.rst:1501 msgid "``Literal`` now de-duplicates parameters." msgstr "``Literal`` agora elimina a duplicação de parâmetros." -#: ../../whatsnew/3.9.rst:1491 +#: ../../whatsnew/3.9.rst:1502 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:1492 +#: ../../whatsnew/3.9.rst:1503 msgid "" "``Literal`` comparisons now respect types. For example, ``Literal[0] == " "Literal[False]`` previously evaluated to ``True``. It is now ``False``. To " @@ -3071,7 +3078,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:1496 +#: ../../whatsnew/3.9.rst:1507 msgid "" "``Literal`` objects will now raise a :exc:`TypeError` exception during " "equality comparisons if any of their parameters are not :term:`hashable`. " @@ -3083,15 +3090,15 @@ msgstr "" "`hasheável`. Observe que declarar ``Literal`` com parâmetros mutáveis não " "gerará um erro::" -#: ../../whatsnew/3.9.rst:1508 +#: ../../whatsnew/3.9.rst:1519 msgid "(Contributed by Yurii Karabas in :issue:`42345`.)" msgstr "(Contribuição de Yurii Karabas em :issue:`42345`.)" -#: ../../whatsnew/3.9.rst:1511 +#: ../../whatsnew/3.9.rst:1522 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:1513 +#: ../../whatsnew/3.9.rst:1524 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 " @@ -3113,19 +3120,19 @@ 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:1522 +#: ../../whatsnew/3.9.rst:1533 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:1525 +#: ../../whatsnew/3.9.rst:1536 msgid "Notable changes in Python 3.9.2" msgstr "Alterações notáveis no Python 3.9.2" -#: ../../whatsnew/3.9.rst:1528 +#: ../../whatsnew/3.9.rst:1539 msgid "collections.abc" msgstr "collections.abc" -#: ../../whatsnew/3.9.rst:1530 +#: ../../whatsnew/3.9.rst:1541 msgid "" ":class:`collections.abc.Callable` generic now flattens type parameters, " "similar to what :data:`typing.Callable` currently does. This means that " @@ -3154,11 +3161,11 @@ msgstr "" "uma :exc:`TypeError` no Python 3.10. (Contribuição de Ken Jin em :issue:" "`42195`.)" -#: ../../whatsnew/3.9.rst:1544 +#: ../../whatsnew/3.9.rst:1555 msgid "urllib.parse" msgstr "urllib.parse" -#: ../../whatsnew/3.9.rst:1546 +#: ../../whatsnew/3.9.rst:1557 msgid "" "Earlier Python versions allowed using both ``;`` and ``&`` as query " "parameter separators in :func:`urllib.parse.parse_qs` and :func:`urllib." diff --git a/whatsnew/changelog.po b/whatsnew/changelog.po index 368ca8e57..813880d2b 100644 --- a/whatsnew/changelog.po +++ b/whatsnew/changelog.po @@ -1,48380 +1,28 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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: -# Raphael Mendonça, 2021 -# 82596da39877db21448335599650eb68_ac09920 <1d2e18e2f37f0ba6c4f06b239e0670bd_848591>, 2021 -# 01419cbcade949a3bc5433893a160e74, 2021 -# Claudio Rogerio Carvalho Filho , 2021 -# felipe caridade , 2021 -# Vinícius Muniz de Melo , 2021 -# Jayme Tosi Neto , 2021 -# Rafael Fontenelle , 2021 +# Rafael Fontenelle , 2022 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.10\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-08-19 13:46+0000\n" -"PO-Revision-Date: 2021-06-29 13:04+0000\n" -"Last-Translator: Rafael Fontenelle , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2024-08-31 12:42+0000\n" +"PO-Revision-Date: 2022-11-05 17:23+0000\n" +"Last-Translator: Rafael Fontenelle , 2022\n" +"Language-Team: Portuguese (Brazil) (https://app.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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../whatsnew/changelog.rst:5 msgid "Changelog" msgstr "Changelog" - -#: ../../../build/NEWS:5 -msgid "Python next" -msgstr "Python seguinte" - -#: ../../../build/NEWS:7 -msgid "*Release date: XXXX-XX-XX*" -msgstr "*Data de lançamento: XXXX-XX-XX*" - -#: ../../../build/NEWS:10 ../../../build/NEWS:158 ../../../build/NEWS:410 -#: ../../../build/NEWS:581 ../../../build/NEWS:736 ../../../build/NEWS:997 -#: ../../../build/NEWS:1666 ../../../build/NEWS:2076 ../../../build/NEWS:2309 -#: ../../../build/NEWS:2566 ../../../build/NEWS:2934 ../../../build/NEWS:3512 -#: ../../../build/NEWS:3872 ../../../build/NEWS:5025 ../../../build/NEWS:5387 -#: ../../../build/NEWS:5831 ../../../build/NEWS:6341 ../../../build/NEWS:6683 -#: ../../../build/NEWS:7051 ../../../build/NEWS:7467 ../../../build/NEWS:9383 -#: ../../../build/NEWS:10142 ../../../build/NEWS:10680 -#: ../../../build/NEWS:10985 ../../../build/NEWS:11247 -#: ../../../build/NEWS:14227 ../../../build/NEWS:14339 -#: ../../../build/NEWS:14552 ../../../build/NEWS:14743 -#: ../../../build/NEWS:14953 ../../../build/NEWS:15197 -#: ../../../build/NEWS:15516 ../../../build/NEWS:15820 -#: ../../../build/NEWS:16420 ../../../build/NEWS:16709 -#: ../../../build/NEWS:18799 ../../../build/NEWS:19136 -#: ../../../build/NEWS:19453 ../../../build/NEWS:19902 -#: ../../../build/NEWS:20383 ../../../build/NEWS:20735 -#: ../../../build/NEWS:20759 ../../../build/NEWS:21083 -#: ../../../build/NEWS:21113 ../../../build/NEWS:21177 -#: ../../../build/NEWS:21291 ../../../build/NEWS:21415 -#: ../../../build/NEWS:21683 ../../../build/NEWS:22192 -#: ../../../build/NEWS:22430 ../../../build/NEWS:22650 -#: ../../../build/NEWS:22953 ../../../build/NEWS:24287 -#: ../../../build/NEWS:24348 ../../../build/NEWS:24740 -#: ../../../build/NEWS:25431 ../../../build/NEWS:25452 -#: ../../../build/NEWS:26209 ../../../build/NEWS:26227 -#: ../../../build/NEWS:26750 ../../../build/NEWS:26785 -#: ../../../build/NEWS:26813 ../../../build/NEWS:26905 -#: ../../../build/NEWS:26992 ../../../build/NEWS:27097 -#: ../../../build/NEWS:27140 ../../../build/NEWS:27416 -#: ../../../build/NEWS:27651 ../../../build/NEWS:27837 -#: ../../../build/NEWS:27976 -msgid "Core and Builtins" -msgstr "Núcleo e embutidos" - -#: ../../../build/NEWS:12 -msgid "" -"`bpo-44947 `__: Refine the syntax error " -"for trailing commas in import statements. Patch by Pablo Galindo." -msgstr "" - -#: ../../../build/NEWS:15 -msgid "" -"`bpo-44698 `__: Restore behaviour of " -"complex exponentiation with integer-valued exponent of type :class:`float` " -"or :class:`complex`." -msgstr "" - -#: ../../../build/NEWS:18 -msgid "" -"`bpo-44885 `__: Correct the ast " -"locations of f-strings with format specs and repeated expressions. Patch by " -"Pablo Galindo" -msgstr "" - -#: ../../../build/NEWS:21 -msgid "" -"`bpo-44872 `__: Use new trashcan macros " -"(Py_TRASHCAN_BEGIN/END) in frameobject.c instead of the old ones " -"(Py_TRASHCAN_SAFE_BEGIN/END)." -msgstr "" - -#: ../../../build/NEWS:24 -msgid "" -"`bpo-33930 `__: Fix segmentation fault " -"with deep recursion when cleaning method objects. Patch by Augusto Goulart " -"and Pablo Galindo." -msgstr "" - -#: ../../../build/NEWS:27 -msgid "" -"`bpo-25782 `__: Fix bug where " -"``PyErr_SetObject`` hangs when the current exception has a cycle in its " -"context chain." -msgstr "" - -#: ../../../build/NEWS:30 -msgid "" -"`bpo-44856 `__: Fix reference leaks in " -"the error paths of ``update_bases()`` and ``__build_class__``. Patch by " -"Pablo Galindo." -msgstr "" - -#: ../../../build/NEWS:33 -msgid "" -"`bpo-44838 `__: Fixed a bug that was " -"causing the parser to raise an incorrect custom :exc:`SyntaxError` for " -"invalid 'if' expressions. Patch by Pablo Galindo." -msgstr "" - -#: ../../../build/NEWS:37 -msgid "" -"`bpo-44584 `__: The threading debug (:" -"envvar:`PYTHONTHREADDEBUG` environment variable) is deprecated in Python " -"3.10 and will be removed in Python 3.12. This feature requires a debug build " -"of Python. Patch by Victor Stinner." -msgstr "" - -#: ../../../build/NEWS:41 -msgid "" -"`bpo-39091 `__: Fix crash when using " -"passing a non-exception to a generator's ``throw()`` method. Patch by Noah " -"Oxer" -msgstr "" - -#: ../../../build/NEWS:45 ../../../build/NEWS:221 ../../../build/NEWS:447 -#: ../../../build/NEWS:612 ../../../build/NEWS:779 ../../../build/NEWS:1128 -#: ../../../build/NEWS:1758 ../../../build/NEWS:2141 ../../../build/NEWS:2365 -#: ../../../build/NEWS:2639 ../../../build/NEWS:3036 ../../../build/NEWS:3592 -#: ../../../build/NEWS:4212 ../../../build/NEWS:5083 ../../../build/NEWS:5471 -#: ../../../build/NEWS:5958 ../../../build/NEWS:6418 ../../../build/NEWS:6781 -#: ../../../build/NEWS:7128 ../../../build/NEWS:7784 ../../../build/NEWS:9547 -#: ../../../build/NEWS:10211 ../../../build/NEWS:10755 -#: ../../../build/NEWS:11049 ../../../build/NEWS:11801 -#: ../../../build/NEWS:14209 ../../../build/NEWS:14242 -#: ../../../build/NEWS:14370 ../../../build/NEWS:14578 -#: ../../../build/NEWS:14769 ../../../build/NEWS:14974 -#: ../../../build/NEWS:15272 ../../../build/NEWS:15593 -#: ../../../build/NEWS:15918 ../../../build/NEWS:16508 -#: ../../../build/NEWS:17167 ../../../build/NEWS:18836 -#: ../../../build/NEWS:19182 ../../../build/NEWS:19548 -#: ../../../build/NEWS:19872 ../../../build/NEWS:19974 -#: ../../../build/NEWS:20430 ../../../build/NEWS:20465 -#: ../../../build/NEWS:20827 ../../../build/NEWS:21130 -#: ../../../build/NEWS:21212 ../../../build/NEWS:21315 -#: ../../../build/NEWS:21485 ../../../build/NEWS:21820 -#: ../../../build/NEWS:22238 ../../../build/NEWS:22447 -#: ../../../build/NEWS:22531 ../../../build/NEWS:22548 -#: ../../../build/NEWS:22690 ../../../build/NEWS:22716 -#: ../../../build/NEWS:22766 ../../../build/NEWS:23238 -#: ../../../build/NEWS:23361 ../../../build/NEWS:23471 -#: ../../../build/NEWS:23561 ../../../build/NEWS:24293 -#: ../../../build/NEWS:24311 ../../../build/NEWS:24399 -#: ../../../build/NEWS:24871 ../../../build/NEWS:25185 -#: ../../../build/NEWS:25196 ../../../build/NEWS:25590 -#: ../../../build/NEWS:25622 ../../../build/NEWS:25734 -#: ../../../build/NEWS:25788 ../../../build/NEWS:25857 -#: ../../../build/NEWS:26295 ../../../build/NEWS:26733 -#: ../../../build/NEWS:26760 ../../../build/NEWS:26798 -#: ../../../build/NEWS:26818 ../../../build/NEWS:26925 -#: ../../../build/NEWS:27019 ../../../build/NEWS:27115 -#: ../../../build/NEWS:27190 ../../../build/NEWS:27448 -#: ../../../build/NEWS:27671 ../../../build/NEWS:27844 -#: ../../../build/NEWS:28202 -msgid "Library" -msgstr "Biblioteca" - -#: ../../../build/NEWS:47 -msgid "" -"`bpo-44935 `__: :mod:`subprocess` on " -"Solaris now also uses :func:`os.posix_spawn()` for better performance." -msgstr "" - -#: ../../../build/NEWS:50 -msgid "" -"`bpo-44911 `__: :class:`~unittest." -"IsolatedAsyncioTestCase` will no longer throw an exception while cancelling " -"leaked tasks. Patch by Bar Harel." -msgstr "" - -#: ../../../build/NEWS:53 -msgid "" -"`bpo-38956 `__: :class:`argparse." -"BooleanOptionalAction`'s default value is no longer printed twice when used " -"with :class:`argparse.ArgumentDefaultsHelpFormatter`." -msgstr "" - -#: ../../../build/NEWS:57 -msgid "" -"`bpo-44581 `__: Upgrade bundled pip to " -"21.2.3 and setuptools to 57.4.0" -msgstr "" - -#: ../../../build/NEWS:59 -msgid "" -"`bpo-44849 `__: Fix the :func:`os." -"set_inheritable` function on FreeBSD 14 for file descriptor opened with the :" -"data:`~os.O_PATH` flag: ignore the :data:`~errno.EBADF` error on " -"``ioctl()``, fallback on the ``fcntl()`` implementation. Patch by Victor " -"Stinner." -msgstr "" - -#: ../../../build/NEWS:64 -msgid "" -"`bpo-44605 `__: The @functools." -"total_ordering() decorator now works with metaclasses." -msgstr "" - -#: ../../../build/NEWS:67 -msgid "" -"`bpo-44524 `__: Fixed an issue wherein " -"the ``__name__`` and ``__qualname__`` attributes of subscribed specialforms " -"could be ``None``." -msgstr "" - -#: ../../../build/NEWS:70 -msgid "" -"`bpo-44822 `__: :mod:`sqlite3` user-" -"defined functions and aggregators returning :class:`strings ` with " -"embedded NUL characters are no longer truncated. Patch by Erlend E. Aasland." -msgstr "" - -#: ../../../build/NEWS:74 -msgid "" -"`bpo-44801 `__: Ensure that the :class:" -"`~typing.ParamSpec` variable in Callable can only be substituted with a " -"parameters expression (a list of types, an ellipsis, ParamSpec or " -"Concatenate)." -msgstr "" - -#: ../../../build/NEWS:78 -msgid "" -"`bpo-41402 `__: Fix :meth:`email.message." -"EmailMessage.set_content` when called with binary data and ``7bit`` content " -"transfer encoding." -msgstr "" - -#: ../../../build/NEWS:81 -msgid "" -"`bpo-32695 `__: The *compresslevel* and " -"*preset* keyword arguments of :func:`tarfile.open` are now both documented " -"and tested." -msgstr "" - -#: ../../../build/NEWS:84 -msgid "" -"`bpo-38840 `__: Fix ``test___all__`` on " -"platforms lacking a shared memory implementation." -msgstr "" - -#: ../../../build/NEWS:87 -msgid "" -"`bpo-26228 `__: pty.spawn no longer " -"hangs on FreeBSD, macOS, and Solaris." -msgstr "" - -#: ../../../build/NEWS:89 -msgid "" -"`bpo-33349 `__: lib2to3 now recognizes " -"async generators everywhere." -msgstr "" - -#: ../../../build/NEWS:92 ../../../build/NEWS:310 ../../../build/NEWS:514 -#: ../../../build/NEWS:664 ../../../build/NEWS:850 ../../../build/NEWS:1464 -#: ../../../build/NEWS:1925 ../../../build/NEWS:2205 ../../../build/NEWS:2475 -#: ../../../build/NEWS:2828 ../../../build/NEWS:3272 ../../../build/NEWS:3738 -#: ../../../build/NEWS:4697 ../../../build/NEWS:5244 ../../../build/NEWS:5688 -#: ../../../build/NEWS:6146 ../../../build/NEWS:6550 ../../../build/NEWS:6974 -#: ../../../build/NEWS:7290 ../../../build/NEWS:8633 ../../../build/NEWS:9937 -#: ../../../build/NEWS:10403 ../../../build/NEWS:10880 -#: ../../../build/NEWS:11122 ../../../build/NEWS:13308 -#: ../../../build/NEWS:14283 ../../../build/NEWS:14493 -#: ../../../build/NEWS:14643 ../../../build/NEWS:14861 -#: ../../../build/NEWS:15106 ../../../build/NEWS:15431 -#: ../../../build/NEWS:15771 ../../../build/NEWS:16254 -#: ../../../build/NEWS:16597 ../../../build/NEWS:18205 -#: ../../../build/NEWS:18959 ../../../build/NEWS:19315 -#: ../../../build/NEWS:19712 ../../../build/NEWS:20110 -#: ../../../build/NEWS:20682 ../../../build/NEWS:21002 -#: ../../../build/NEWS:21158 ../../../build/NEWS:21261 -#: ../../../build/NEWS:22629 ../../../build/NEWS:22889 -#: ../../../build/NEWS:24074 ../../../build/NEWS:24634 -#: ../../../build/NEWS:25310 ../../../build/NEWS:26060 -#: ../../../build/NEWS:26624 ../../../build/NEWS:26877 -#: ../../../build/NEWS:27076 ../../../build/NEWS:27387 -#: ../../../build/NEWS:29587 -msgid "Documentation" -msgstr "Documentação" - -#: ../../../build/NEWS:94 -msgid "" -"`bpo-44903 `__: Removed the othergui.rst " -"file, any references to it, and the list of GUI frameworks in the FAQ. In " -"their place I've added links to the Python Wiki `page on GUI frameworks " -"`." -msgstr "" - -#: ../../../build/NEWS:99 -msgid "" -"`bpo-33479 `__: Tkinter documentation " -"has been greatly expanded with new \"Architecture\" and \"Threading model\" " -"sections." -msgstr "" - -#: ../../../build/NEWS:102 -msgid "" -"`bpo-36700 `__: :mod:`base64` RFC " -"references were updated to point to :rfc:`4648`; a section was added to " -"point users to the new \"security considerations\" section of the RFC." -msgstr "" - -#: ../../../build/NEWS:106 -msgid "" -"`bpo-44756 `__: Reverted automated " -"virtual environment creation on ``make html`` when building documentation. " -"It turned out to be disruptive for downstream distributors." -msgstr "" - -#: ../../../build/NEWS:110 -msgid "" -"`bpo-42958 `__: Updated the docstring " -"and docs of :func:`filecmp.cmp` to be more accurate and less confusing " -"especially in respect to *shallow* arg." -msgstr "" - -#: ../../../build/NEWS:113 -msgid "" -"`bpo-43066 `__: Added a warning to :mod:" -"`zipfile` docs: filename arg with a leading slash may cause archive to be un-" -"openable on Windows systems." -msgstr "" - -#: ../../../build/NEWS:116 -msgid "" -"`bpo-27752 `__: Documentation of csv." -"Dialect is more descriptive." -msgstr "" - -#: ../../../build/NEWS:118 -msgid "" -"`bpo-41576 `__: document BaseException " -"in favor of bare except" -msgstr "" - -#: ../../../build/NEWS:120 -msgid "" -"`bpo-39498 `__: Add a \"Security " -"Considerations\" index which links to standard library modules that have " -"explicitly documented security considerations." -msgstr "" - -#: ../../../build/NEWS:123 -msgid "" -"`bpo-33479 `__: Remove the unqualified " -"claim that tkinter is threadsafe. It has not been true for several years and " -"likely never was. An explanation of what is true may be added later, after " -"more discussion, and possibly after patching _tkinter.c," -msgstr "" - -#: ../../../build/NEWS:129 ../../../build/NEWS:339 ../../../build/NEWS:531 -#: ../../../build/NEWS:678 ../../../build/NEWS:872 ../../../build/NEWS:1487 -#: ../../../build/NEWS:1940 ../../../build/NEWS:2214 ../../../build/NEWS:2484 -#: ../../../build/NEWS:2837 ../../../build/NEWS:3284 ../../../build/NEWS:3759 -#: ../../../build/NEWS:4739 ../../../build/NEWS:5261 ../../../build/NEWS:5702 -#: ../../../build/NEWS:6165 ../../../build/NEWS:6575 ../../../build/NEWS:7304 -#: ../../../build/NEWS:8737 ../../../build/NEWS:9985 ../../../build/NEWS:10438 -#: ../../../build/NEWS:10894 ../../../build/NEWS:11133 -#: ../../../build/NEWS:13473 ../../../build/NEWS:14508 -#: ../../../build/NEWS:14662 ../../../build/NEWS:14878 -#: ../../../build/NEWS:15130 ../../../build/NEWS:15444 -#: ../../../build/NEWS:15776 ../../../build/NEWS:16260 -#: ../../../build/NEWS:18253 ../../../build/NEWS:18997 -#: ../../../build/NEWS:19110 ../../../build/NEWS:19335 -#: ../../../build/NEWS:19725 ../../../build/NEWS:20122 -#: ../../../build/NEWS:20704 ../../../build/NEWS:21015 -#: ../../../build/NEWS:21266 ../../../build/NEWS:21401 -#: ../../../build/NEWS:21672 ../../../build/NEWS:22102 -#: ../../../build/NEWS:22375 ../../../build/NEWS:22638 -#: ../../../build/NEWS:22901 ../../../build/NEWS:24092 -#: ../../../build/NEWS:24652 ../../../build/NEWS:25315 -#: ../../../build/NEWS:25436 ../../../build/NEWS:26083 -#: ../../../build/NEWS:26648 ../../../build/NEWS:26892 -#: ../../../build/NEWS:27069 ../../../build/NEWS:27378 -#: ../../../build/NEWS:27607 ../../../build/NEWS:27817 -#: ../../../build/NEWS:29627 -msgid "Tests" -msgstr "Testes" - -#: ../../../build/NEWS:131 -msgid "" -"`bpo-44949 `__: Fix auto history tests " -"of test_readline: sometimes, the newline character is not written at the " -"end, so don't expect it in the output." -msgstr "" - -#: ../../../build/NEWS:134 -msgid "" -"`bpo-44891 `__: Tests were added to " -"clarify :func:`id` is preserved when ``obj * 1`` is used on :class:`str` " -"and :class:`bytes` objects. Patch by Nikita Sobolev." -msgstr "" - -#: ../../../build/NEWS:138 -msgid "" -"`bpo-44852 `__: Add ability to wholesale " -"silence DeprecationWarnings while running the regression test suite." -msgstr "" - -#: ../../../build/NEWS:141 -msgid "" -"`bpo-40928 `__: Notify users running " -"test_decimal regression tests on macOS of potential harmless \"malloc can't " -"allocate region\" messages spewed by test_decimal." -msgstr "" - -#: ../../../build/NEWS:147 -msgid "Python 3.10.0 release candidate 1" -msgstr "" - -#: ../../../build/NEWS:149 -msgid "*Release date: 2021-08-02*" -msgstr "" - -#: ../../../build/NEWS:152 ../../../build/NEWS:400 ../../../build/NEWS:730 -#: ../../../build/NEWS:941 ../../../build/NEWS:1644 ../../../build/NEWS:2069 -#: ../../../build/NEWS:2303 ../../../build/NEWS:2927 ../../../build/NEWS:3501 -#: ../../../build/NEWS:3851 ../../../build/NEWS:5019 ../../../build/NEWS:5372 -#: ../../../build/NEWS:5824 ../../../build/NEWS:6330 ../../../build/NEWS:7033 -#: ../../../build/NEWS:7418 ../../../build/NEWS:9368 ../../../build/NEWS:10124 -#: ../../../build/NEWS:10668 ../../../build/NEWS:11198 -#: ../../../build/NEWS:14729 ../../../build/NEWS:14947 -#: ../../../build/NEWS:16675 ../../../build/NEWS:19126 -#: ../../../build/NEWS:19893 ../../../build/NEWS:20356 -#: ../../../build/NEWS:20458 ../../../build/NEWS:22524 -#: ../../../build/NEWS:22543 ../../../build/NEWS:22708 -#: ../../../build/NEWS:22759 ../../../build/NEWS:23354 -#: ../../../build/NEWS:23465 ../../../build/NEWS:23555 -#: ../../../build/NEWS:24264 ../../../build/NEWS:24323 -#: ../../../build/NEWS:25178 ../../../build/NEWS:25191 -#: ../../../build/NEWS:25582 ../../../build/NEWS:25615 -#: ../../../build/NEWS:25727 ../../../build/NEWS:25782 -#: ../../../build/NEWS:25851 -msgid "Security" -msgstr "Segurança" - -#: ../../../build/NEWS:154 -msgid "" -"`bpo-44600 `__: Fix incorrect line " -"numbers while tracing some failed patterns in :ref:`match ` " -"statements. Patch by Charles Burkland." -msgstr "" - -#: ../../../build/NEWS:160 -msgid "" -"`bpo-44792 `__: Improve syntax errors " -"for if expressions. Patch by Miguel Brito" -msgstr "" - -#: ../../../build/NEWS:162 -msgid "" -"`bpo-34013 `__: Generalize the invalid " -"legacy statement custom error message (like the one generated when \"print\" " -"is called without parentheses) to include more generic expressions. Patch by " -"Pablo Galindo" -msgstr "" - -#: ../../../build/NEWS:166 -msgid "" -"`bpo-44732 `__: Rename ``types.Union`` " -"to ``types.UnionType``." -msgstr "" - -#: ../../../build/NEWS:168 -msgid "" -"`bpo-44698 `__: Fix undefined behaviour " -"in complex object exponentiation." -msgstr "" - -#: ../../../build/NEWS:170 -msgid "" -"`bpo-44653 `__: Support :mod:`typing` " -"types in parameter substitution in the union type." -msgstr "" - -#: ../../../build/NEWS:173 -msgid "" -"`bpo-44676 `__: Add ability to serialise " -"``types.Union`` objects. Patch provided by Yurii Karabas." -msgstr "" - -#: ../../../build/NEWS:176 -msgid "" -"`bpo-44633 `__: Parameter substitution " -"of the union type with wrong types now raises ``TypeError`` instead of " -"returning ``NotImplemented``." -msgstr "" - -#: ../../../build/NEWS:179 -msgid "" -"`bpo-44662 `__: Add ``__module__`` to " -"``types.Union``. This also fixes ``types.Union`` issues with ``typing." -"Annotated``. Patch provided by Yurii Karabas." -msgstr "" - -#: ../../../build/NEWS:183 -msgid "" -"`bpo-44655 `__: Include the name of the " -"type in unset __slots__ attribute errors. Patch by Pablo Galindo" -msgstr "" - -#: ../../../build/NEWS:186 -msgid "" -"`bpo-44655 `__: Don't include a missing " -"attribute with the same name as the failing one when offering suggestions " -"for missing attributes. Patch by Pablo Galindo" -msgstr "" - -#: ../../../build/NEWS:190 -msgid "" -"`bpo-44646 `__: Fix the hash of the " -"union type: it no longer depends on the order of arguments." -msgstr "" - -#: ../../../build/NEWS:193 -msgid "" -"`bpo-44636 `__: Collapse union of equal " -"types. E.g. the result of ``int | int`` is now ``int``. Fix comparison of " -"the union type with non-hashable objects. E.g. ``int | str == {}`` no longer " -"raises a TypeError." -msgstr "" - -#: ../../../build/NEWS:197 -msgid "" -"`bpo-44635 `__: Convert ``None`` to " -"``type(None)`` in the union type constructor." -msgstr "" - -#: ../../../build/NEWS:200 -msgid "" -"`bpo-44589 `__: Mapping patterns in " -"``match`` statements with two or more equal literal keys will now raise a :" -"exc:`SyntaxError` at compile-time." -msgstr "" - -#: ../../../build/NEWS:203 -msgid "" -"`bpo-44606 `__: Fix " -"``__instancecheck__`` and ``__subclasscheck__`` for the union type." -msgstr "" - -#: ../../../build/NEWS:206 -msgid "" -"`bpo-42073 `__: The ``@classmethod`` " -"decorator can now wrap other classmethod-like descriptors." -msgstr "" - -#: ../../../build/NEWS:209 -msgid "" -"`bpo-44490 `__: :mod:`typing` now " -"searches for type parameters in ``types.Union`` objects. ``get_type_hints`` " -"will also properly resolve annotations with nested ``types.Union`` objects. " -"Patch provided by Yurii Karabas." -msgstr "" - -#: ../../../build/NEWS:214 -msgid "" -"`bpo-44490 `__: Add ``__parameters__`` " -"attribute and ``__getitem__`` operator to ``types.Union``. Patch provided by " -"Yurii Karabas." -msgstr "" - -#: ../../../build/NEWS:217 -msgid "" -"`bpo-44472 `__: Fix ltrace functionality " -"when exceptions are raised. Patch by Pablo Galindo" -msgstr "" - -#: ../../../build/NEWS:223 -msgid "" -"`bpo-44806 `__: Non-protocol subclasses " -"of :class:`typing.Protocol` ignore now the ``__init__`` method inherited " -"from protocol base classes." -msgstr "" - -#: ../../../build/NEWS:226 -msgid "" -"`bpo-44793 `__: Fix checking the number " -"of arguments when subscribe a generic type with ``ParamSpec`` parameter." -msgstr "" - -#: ../../../build/NEWS:229 -msgid "" -"`bpo-44784 `__: In importlib.metadata " -"tests, override warnings behavior under expected DeprecationWarnings " -"(importlib_metadata 4.6.3)." -msgstr "" - -#: ../../../build/NEWS:232 -msgid "" -"`bpo-44667 `__: The :func:`tokenize." -"tokenize` doesn't incorrectly generate a ``NEWLINE`` token if the source " -"doesn't end with a new line character but the last line is a comment, as the " -"function is already generating a ``NL`` token. Patch by Pablo Galindo" -msgstr "" - -#: ../../../build/NEWS:237 -msgid "" -"`bpo-44752 `__: :mod:`rcompleter` does " -"not call :func:`getattr` on :class:`property` objects to avoid the side-" -"effect of evaluating the corresponding method." -msgstr "" - -#: ../../../build/NEWS:241 -msgid "" -"`bpo-44720 `__: ``weakref.proxy`` " -"objects referencing non-iterators now raise ``TypeError`` rather than " -"dereferencing the null ``tp_iternext`` slot and crashing." -msgstr "" - -#: ../../../build/NEWS:245 -msgid "" -"`bpo-44704 `__: The implementation of " -"``collections.abc.Set._hash()`` now matches that of ``frozenset.__hash__()``." -msgstr "" - -#: ../../../build/NEWS:248 -msgid "" -"`bpo-44666 `__: Fixed issue in :func:" -"`compileall.compile_file` when ``sys.stdout`` is redirected. Patch by Stefan " -"Hölzl." -msgstr "" - -#: ../../../build/NEWS:251 -msgid "" -"`bpo-42854 `__: Fixed a bug in the :mod:" -"`_ssl` module that was throwing :exc:`OverflowError` when using :meth:`_ssl." -"_SSLSocket.write` and :meth:`_ssl._SSLSocket.read` for a big value of the " -"``len`` parameter. Patch by Pablo Galindo" -msgstr "" - -#: ../../../build/NEWS:256 -msgid "" -"`bpo-44353 `__: Refactor ``typing." -"NewType`` from function into callable class. Patch provided by Yurii Karabas." -msgstr "" - -#: ../../../build/NEWS:259 -msgid "" -"`bpo-44524 `__: Add missing ``__name__`` " -"and ``__qualname__`` attributes to ``typing`` module classes. Patch provided " -"by Yurii Karabas." -msgstr "" - -#: ../../../build/NEWS:262 -msgid "" -"`bpo-40897 `__: Give priority to using " -"the current class constructor in :func:`inspect.signature`. Patch by Weipeng " -"Hong." -msgstr "" - -#: ../../../build/NEWS:265 -msgid "" -"`bpo-44648 `__: Fixed wrong error being " -"thrown by :func:`inspect.getsource` when examining a class in the " -"interactive session. Instead of :exc:`TypeError`, it should be :exc:" -"`OSError` with appropriate error message." -msgstr "" - -#: ../../../build/NEWS:270 -msgid "" -"`bpo-44608 `__: Fix memory leak in :func:" -"`_tkinter._flatten` if it is called with a sequence or set, but not list or " -"tuple." -msgstr "" - -#: ../../../build/NEWS:273 -msgid "" -"`bpo-44559 `__: [Enum] module reverted " -"to 3.9; 3.10 changes pushed until 3.11" -msgstr "" - -#: ../../../build/NEWS:275 -msgid "" -"`bpo-41928 `__: Update :func:`shutil." -"copyfile` to raise :exc:`FileNotFoundError` instead of confusing :exc:" -"`IsADirectoryError` when a path ending with a :const:`os.path.sep` does not " -"exist; :func:`shutil.copy` and :func:`shutil.copy2` are also affected." -msgstr "" - -#: ../../../build/NEWS:280 -msgid "" -"`bpo-44566 `__: handle StopIteration " -"subclass raised from @contextlib.contextmanager generator" -msgstr "" - -#: ../../../build/NEWS:283 -msgid "" -"`bpo-41249 `__: Fixes ``TypedDict`` to " -"work with ``typing.get_type_hints()`` and postponed evaluation of " -"annotations across modules." -msgstr "" - -#: ../../../build/NEWS:286 -msgid "" -"`bpo-44461 `__: Fix bug with :mod:" -"`pdb`'s handling of import error due to a package which does not have a " -"``__main__`` module" -msgstr "" - -#: ../../../build/NEWS:289 -msgid "" -"`bpo-43625 `__: Fix a bug in the " -"detection of CSV file headers by :meth:`csv.Sniffer.has_header` and improve " -"documentation of same." -msgstr "" - -#: ../../../build/NEWS:292 -msgid "" -"`bpo-42892 `__: Fixed an exception " -"thrown while parsing a malformed multipart email by :class:`email.message." -"EmailMessage`." -msgstr "" - -#: ../../../build/NEWS:295 -msgid "" -"`bpo-27827 `__: :meth:`pathlib." -"PureWindowsPath.is_reserved` now identifies a greater range of reserved " -"filenames, including those with trailing spaces or colons." -msgstr "" - -#: ../../../build/NEWS:299 -msgid "" -"`bpo-38741 `__: :mod:`configparser`: " -"using ']' inside a section header will no longer cut the section name short " -"at the ']'" -msgstr "" - -#: ../../../build/NEWS:302 -msgid "" -"`bpo-27513 `__: :func:`email.utils." -"getaddresses` now accepts :class:`email.header.Header` objects along with " -"string values. Patch by Zackery Spytz." -msgstr "" - -#: ../../../build/NEWS:306 -msgid "" -"`bpo-29298 `__: Fix ``TypeError`` when " -"required subparsers without ``dest`` do not receive arguments. Patch by " -"Anthony Sottile." -msgstr "" - -#: ../../../build/NEWS:312 -msgid "" -"`bpo-44740 `__: Replaced occurences of " -"uppercase \"Web\" and \"Internet\" with lowercase versions per the 2016 " -"revised Associated Press Style Book." -msgstr "" - -#: ../../../build/NEWS:315 -msgid "" -"`bpo-44693 `__: Update the definition of " -"__future__ in the glossary by replacing the confusing word \"pseudo-module\" " -"with a more accurate description." -msgstr "" - -#: ../../../build/NEWS:319 -msgid "" -"`bpo-35183 `__: Add typical examples to " -"os.path.splitext docs" -msgstr "" - -#: ../../../build/NEWS:321 -msgid "" -"`bpo-30511 `__: Clarify that :func:" -"`shutil.make_archive` is not thread-safe due to reliance on changing the " -"current working directory." -msgstr "" - -#: ../../../build/NEWS:324 -msgid "" -"`bpo-44561 `__: Update of three expired " -"hyperlinks in Doc/distributing/index.rst: \"Project structure\", \"Building " -"and packaging the project\", and \"Uploading the project to the Python " -"Packaging Index\"." -msgstr "" - -#: ../../../build/NEWS:328 -msgid "" -"`bpo-44613 `__: importlib.metadata is no " -"longer provisional." -msgstr "" - -#: ../../../build/NEWS:330 -msgid "" -"`bpo-44544 `__: List all kwargs for :" -"func:`textwrap.wrap`, :func:`textwrap.fill`, and :func:`textwrap.shorten`. " -"Now, there are nav links to attributes of :class:`TextWrap`, which makes " -"navigation much easier while minimizing duplication in the documentation." -msgstr "" - -#: ../../../build/NEWS:335 -msgid "" -"`bpo-44453 `__: Fix documentation for " -"the return type of :func:`sysconfig.get_path`." -msgstr "" - -#: ../../../build/NEWS:341 -msgid "" -"`bpo-44734 `__: Fixed floating point " -"precision issue in turtle tests." -msgstr "" - -#: ../../../build/NEWS:343 -msgid "" -"`bpo-44708 `__: Regression tests, when " -"run with -w, are now re-running only the affected test methods instead of re-" -"running the entire test file." -msgstr "" - -#: ../../../build/NEWS:346 -msgid "" -"`bpo-44647 `__: Added a permanent " -"Unicode-valued environment variable to regression tests to ensure they " -"handle this use case in the future. If your test environment breaks because " -"of that, report a bug to us, and temporarily set " -"PYTHONREGRTEST_UNICODE_GUARD=0 in your test environment." -msgstr "" - -#: ../../../build/NEWS:351 -msgid "" -"`bpo-44515 `__: Adjust recently added " -"contextlib tests to avoid assuming the use of a refcounted GC" -msgstr "" - -#: ../../../build/NEWS:355 ../../../build/NEWS:555 ../../../build/NEWS:891 -#: ../../../build/NEWS:1519 ../../../build/NEWS:1971 ../../../build/NEWS:2243 -#: ../../../build/NEWS:2520 ../../../build/NEWS:3343 ../../../build/NEWS:3782 -#: ../../../build/NEWS:4811 ../../../build/NEWS:5280 ../../../build/NEWS:5740 -#: ../../../build/NEWS:6198 ../../../build/NEWS:6589 ../../../build/NEWS:7369 -#: ../../../build/NEWS:8979 ../../../build/NEWS:10044 ../../../build/NEWS:10553 -#: ../../../build/NEWS:10921 ../../../build/NEWS:11166 -#: ../../../build/NEWS:13758 ../../../build/NEWS:14302 -#: ../../../build/NEWS:14685 ../../../build/NEWS:14893 -#: ../../../build/NEWS:15140 ../../../build/NEWS:15479 -#: ../../../build/NEWS:15785 ../../../build/NEWS:16320 -#: ../../../build/NEWS:18428 ../../../build/NEWS:19025 -#: ../../../build/NEWS:19356 ../../../build/NEWS:19767 -#: ../../../build/NEWS:20144 ../../../build/NEWS:20718 -#: ../../../build/NEWS:20967 ../../../build/NEWS:21097 -#: ../../../build/NEWS:21387 ../../../build/NEWS:21628 -#: ../../../build/NEWS:22158 ../../../build/NEWS:22390 -#: ../../../build/NEWS:22911 ../../../build/NEWS:22927 -#: ../../../build/NEWS:24198 ../../../build/NEWS:24703 -#: ../../../build/NEWS:25346 ../../../build/NEWS:26165 -#: ../../../build/NEWS:26197 ../../../build/NEWS:26215 -#: ../../../build/NEWS:26672 ../../../build/NEWS:27961 -#: ../../../build/NEWS:29774 -msgid "Windows" -msgstr "Windows" - -#: ../../../build/NEWS:357 -msgid "" -"`bpo-44572 `__: Avoid consuming standard " -"input in the :mod:`platform` module" -msgstr "" - -#: ../../../build/NEWS:359 -msgid "" -"`bpo-40263 `__: This is a follow-on bug " -"from https://bugs.python.org/issue26903. Once that is applied we run into an " -"off-by-one assertion problem. The assert was not correct." -msgstr "" - -#: ../../../build/NEWS:364 ../../../build/NEWS:897 ../../../build/NEWS:1549 -#: ../../../build/NEWS:2248 ../../../build/NEWS:2527 ../../../build/NEWS:2882 -#: ../../../build/NEWS:3352 ../../../build/NEWS:3797 ../../../build/NEWS:4854 -#: ../../../build/NEWS:5292 ../../../build/NEWS:5747 ../../../build/NEWS:6221 -#: ../../../build/NEWS:7376 ../../../build/NEWS:9098 ../../../build/NEWS:10058 -#: ../../../build/NEWS:10606 ../../../build/NEWS:13868 -#: ../../../build/NEWS:14530 ../../../build/NEWS:14690 -#: ../../../build/NEWS:14902 ../../../build/NEWS:15159 -#: ../../../build/NEWS:15490 ../../../build/NEWS:16335 -#: ../../../build/NEWS:19030 ../../../build/NEWS:19381 -#: ../../../build/NEWS:19776 -msgid "macOS" -msgstr "macOS" - -#: ../../../build/NEWS:366 -msgid "" -"`bpo-41972 `__: The framework build's " -"user header path in sysconfig is changed to add a 'pythonX.Y' component to " -"match distutils's behavior." -msgstr "" - -#: ../../../build/NEWS:369 -msgid "" -"`bpo-34932 `__: Add socket.TCP_KEEPALIVE " -"support for macOS. Patch by Shane Harvey." -msgstr "" - -#: ../../../build/NEWS:373 ../../../build/NEWS:920 ../../../build/NEWS:2892 -#: ../../../build/NEWS:3387 ../../../build/NEWS:5305 ../../../build/NEWS:5767 -#: ../../../build/NEWS:6240 ../../../build/NEWS:9222 ../../../build/NEWS:10082 -#: ../../../build/NEWS:10621 ../../../build/NEWS:10962 -#: ../../../build/NEWS:14086 ../../../build/NEWS:14708 -#: ../../../build/NEWS:14925 ../../../build/NEWS:15185 -#: ../../../build/NEWS:15791 ../../../build/NEWS:16379 -#: ../../../build/NEWS:18692 ../../../build/NEWS:19080 -#: ../../../build/NEWS:19421 ../../../build/NEWS:19844 -#: ../../../build/NEWS:20330 ../../../build/NEWS:20698 -#: ../../../build/NEWS:21092 ../../../build/NEWS:21166 -#: ../../../build/NEWS:22151 ../../../build/NEWS:22621 -#: ../../../build/NEWS:22941 ../../../build/NEWS:24216 -#: ../../../build/NEWS:25334 ../../../build/NEWS:26181 -#: ../../../build/NEWS:26710 ../../../build/NEWS:27397 -#: ../../../build/NEWS:27616 ../../../build/NEWS:27824 -#: ../../../build/NEWS:29735 -msgid "Tools/Demos" -msgstr "Ferramentas/Demos" - -#: ../../../build/NEWS:375 -msgid "" -"`bpo-44756 `__: In the Makefile for " -"documentation (:file:`Doc/Makefile`), the ``build`` rule is dependent on the " -"``venv`` rule. Therefore, ``html``, ``latex``, and other build-dependent " -"rules are also now dependent on ``venv``. The ``venv`` rule only performs an " -"action if ``$(VENVDIR)`` does not exist. :file:`Doc/README.rst` was updated; " -"most users now only need to type ``make html``." -msgstr "" - -#: ../../../build/NEWS:383 ../../../build/NEWS:565 ../../../build/NEWS:713 -#: ../../../build/NEWS:926 ../../../build/NEWS:1594 ../../../build/NEWS:1984 -#: ../../../build/NEWS:2260 ../../../build/NEWS:2548 ../../../build/NEWS:2901 -#: ../../../build/NEWS:3397 ../../../build/NEWS:3815 ../../../build/NEWS:4908 -#: ../../../build/NEWS:5318 ../../../build/NEWS:5779 ../../../build/NEWS:6252 -#: ../../../build/NEWS:6624 ../../../build/NEWS:7012 ../../../build/NEWS:7399 -#: ../../../build/NEWS:9247 ../../../build/NEWS:10088 ../../../build/NEWS:10626 -#: ../../../build/NEWS:10969 ../../../build/NEWS:14125 -#: ../../../build/NEWS:14215 ../../../build/NEWS:14931 -#: ../../../build/NEWS:15501 ../../../build/NEWS:15798 -#: ../../../build/NEWS:16391 ../../../build/NEWS:16653 -#: ../../../build/NEWS:18723 ../../../build/NEWS:19098 -#: ../../../build/NEWS:19431 ../../../build/NEWS:19851 -#: ../../../build/NEWS:20656 ../../../build/NEWS:20985 -#: ../../../build/NEWS:21153 ../../../build/NEWS:21654 -#: ../../../build/NEWS:22093 ../../../build/NEWS:22592 -#: ../../../build/NEWS:22933 ../../../build/NEWS:24237 -#: ../../../build/NEWS:24712 ../../../build/NEWS:25301 -#: ../../../build/NEWS:27640 ../../../build/NEWS:27955 -#: ../../../build/NEWS:29558 -msgid "C API" -msgstr "API C" - -#: ../../../build/NEWS:385 -msgid "" -"`bpo-41103 `__: Reverts removal of the " -"old buffer protocol because they are part of stable ABI." -msgstr "" - -#: ../../../build/NEWS:388 -msgid "" -"`bpo-42747 `__: The " -"``Py_TPFLAGS_HAVE_VERSION_TAG`` type flag now does nothing. The " -"``Py_TPFLAGS_HAVE_AM_SEND`` flag (which was added in 3.10) is removed. Both " -"were unnecessary because it is not possible to have type objects with the " -"relevant fields missing." -msgstr "" - -#: ../../../build/NEWS:395 -msgid "Python 3.10.0 beta 4" -msgstr "" - -#: ../../../build/NEWS:397 -msgid "*Release date: 2021-07-10*" -msgstr "" - -#: ../../../build/NEWS:402 -msgid "" -"`bpo-41180 `__: Add auditing events to " -"the :mod:`marshal` module, and stop raising ``code.__init__`` events for " -"every unmarshalled code object. Directly instantiated code objects will " -"continue to raise an event, and audit event handlers should inspect or " -"collect the raw marshal data. This reduces a significant performance " -"overhead when loading from ``.pyc`` files." -msgstr "" - -#: ../../../build/NEWS:412 -msgid "" -"`bpo-44562 `__: Remove uses of :c:func:" -"`PyObject_GC_Del` in error path when initializing :class:`types." -"GenericAlias`." -msgstr "" - -#: ../../../build/NEWS:415 -msgid "" -"`bpo-41486 `__: Fix a memory consumption " -"and copying performance regression in earlier 3.10 beta releases if someone " -"used an output buffer larger than 4GiB with zlib.decompress on input data " -"that expands that large." -msgstr "" - -#: ../../../build/NEWS:419 -msgid "" -"`bpo-44553 `__: Implement GC methods for " -"``types.Union`` to break reference cycles and prevent memory leaks." -msgstr "" - -#: ../../../build/NEWS:422 -msgid "" -"`bpo-44523 `__: Remove the pass-through " -"for :func:`hash` of :class:`weakref.proxy` objects to prevent unintended " -"consequences when the original referred object dies while the proxy is part " -"of a hashable object. Patch by Pablo Galindo." -msgstr "" - -#: ../../../build/NEWS:427 -msgid "" -"`bpo-44483 `__: Fix a crash in ``types." -"Union`` objects when creating a union of an object with bad ``__module__`` " -"field." -msgstr "" - -#: ../../../build/NEWS:430 -msgid "" -"`bpo-44297 `__: Make sure that the line " -"number is set when entering a comprehension scope. Ensures that backtraces " -"inclusing generator expressions show the correct line number." -msgstr "" - -#: ../../../build/NEWS:434 -msgid "" -"`bpo-44456 `__: Improve the syntax error " -"when mixing positional and keyword patterns. Patch by Pablo Galindo." -msgstr "" - -#: ../../../build/NEWS:437 -msgid "" -"`bpo-44368 `__: Improve syntax errors " -"for invalid \"as\" targets. Patch by Pablo Galindo" -msgstr "" - -#: ../../../build/NEWS:440 -msgid "" -"`bpo-44317 `__: Improve tokenizer error " -"with improved locations. Patch by Pablo Galindo." -msgstr "" - -#: ../../../build/NEWS:443 ../../../build/NEWS:738 -msgid "" -"`bpo-43667 `__: Improve Unicode support " -"in non-UTF locales on Oracle Solaris. This issue does not affect other " -"Solaris systems." -msgstr "" - -#: ../../../build/NEWS:449 -msgid "" -"`bpo-44558 `__: Make the implementation " -"consistency of :func:`~operator.indexOf` between C and Python versions. " -"Patch by Dong-hee Na." -msgstr "" - -#: ../../../build/NEWS:453 -msgid "" -"`bpo-34798 `__: Break up paragraph " -"about :class:`pprint.PrettyPrinter` construction parameters to make it " -"easier to read." -msgstr "" - -#: ../../../build/NEWS:456 -msgid "" -"`bpo-44516 `__: Update vendored pip to " -"21.1.3" -msgstr "" - -#: ../../../build/NEWS:458 -msgid "" -"`bpo-44468 `__: :func:`typing." -"get_type_hints` now finds annotations in classes and base classes with " -"unexpected ``__module__``. Previously, it skipped those MRO elements." -msgstr "" - -#: ../../../build/NEWS:462 -msgid "" -"`bpo-43977 `__: Set the proper :const:" -"`Py_TPFLAGS_MAPPING` and :const:`Py_TPFLAGS_SEQUENCE` flags for subclasses " -"created before a parent has been registered as a :class:`collections.abc." -"Mapping` or :class:`collections.abc.Sequence`." -msgstr "" - -#: ../../../build/NEWS:467 -msgid "" -"`bpo-44482 `__: Fix very unlikely " -"resource leak in :mod:`glob` in alternate Python implementations." -msgstr "" - -#: ../../../build/NEWS:470 -msgid "" -"`bpo-44466 `__: The :mod:`faulthandler` " -"module now detects if a fatal error occurs during a garbage collector " -"collection. Patch by Victor Stinner." -msgstr "" - -#: ../../../build/NEWS:473 -msgid "" -"`bpo-44404 `__: :mod:`tkinter`'s " -"``after()`` method now supports callables without the ``__name__`` attribute." -msgstr "" - -#: ../../../build/NEWS:476 -msgid "" -"`bpo-44458 `__: ``BUFFER_BLOCK_SIZE`` is " -"now declared static, to avoid linking collisions when bz2, lmza or zlib are " -"statically linked." -msgstr "" - -#: ../../../build/NEWS:479 -msgid "" -"`bpo-44464 `__: Remove exception for " -"flake8 in deprecated importlib.metadata interfaces. Sync with " -"importlib_metadata 4.6." -msgstr "" - -#: ../../../build/NEWS:482 -msgid "" -"`bpo-44446 `__: Take into account that " -"``lineno`` might be ``None`` in :class:`traceback.FrameSummary`." -msgstr "" - -#: ../../../build/NEWS:485 -msgid "" -"`bpo-44439 `__: Fix in :meth:`bz2." -"BZ2File.write` / :meth:`lzma.LZMAFile.write` methods, when the input data is " -"an object that supports the buffer protocol, the file length may be wrong." -msgstr "" - -#: ../../../build/NEWS:489 -msgid "" -"`bpo-44434 `__: _thread." -"start_new_thread() no longer calls PyThread_exit_thread() explicitly at the " -"thread exit, the call was redundant. On Linux with the glibc, pthread_exit() " -"aborts the whole process if dlopen() fails to open libgcc_s.so file (ex: " -"EMFILE error). Patch by Victor Stinner." -msgstr "" - -#: ../../../build/NEWS:495 -msgid "" -"`bpo-44395 `__: Fix :meth:`~email." -"message.MIMEPart.as_string` to pass unixfrom properly. Patch by Dong-hee Na." -msgstr "" - -#: ../../../build/NEWS:498 -msgid "" -"`bpo-34266 `__: Handle exceptions from " -"parsing the arg of :mod:`pdb`'s run/restart command." -msgstr "" - -#: ../../../build/NEWS:501 -msgid "" -"`bpo-44077 `__: It's now possible to " -"receive the type of service (ToS), a.k.a. differentiated services (DS), a.k." -"a. differenciated services code point (DSCP) and excplicit congestion " -"notification (ECN) IP header fields with ``socket.IP_RECVTOS``." -msgstr "" - -#: ../../../build/NEWS:506 -msgid "" -"`bpo-43024 `__: Improve the help " -"signature of :func:`traceback.print_exception`, :func:`traceback." -"format_exception` and :func:`traceback.format_exception_only`." -msgstr "" - -#: ../../../build/NEWS:510 -msgid "" -"`bpo-30256 `__: Pass multiprocessing " -"BaseProxy argument ``manager_owned`` through AutoProxy." -msgstr "" - -#: ../../../build/NEWS:516 -msgid "" -"`bpo-44558 `__: Match the docstring and " -"python implementation of :func:`~operator.countOf` to the behavior of its c " -"implementation." -msgstr "" - -#: ../../../build/NEWS:519 -msgid "" -"`bpo-38062 `__: Clarify that atexit uses " -"equality comparisons internally." -msgstr "" - -#: ../../../build/NEWS:521 -msgid "" -"`bpo-40620 `__: Convert examples in " -"tutorial controlflow.rst section 4.3 to be interpreter-demo style." -msgstr "" - -#: ../../../build/NEWS:524 -msgid "" -"`bpo-13814 `__: In the Design FAQ, " -"answer \"Why don't generators support the with statement?\"" -msgstr "" - -#: ../../../build/NEWS:527 -msgid "" -"`bpo-41621 `__: Document that :class:" -"`collections.defaultdict` parameter ``default_factory`` defaults to None and " -"is positional-only." -msgstr "" - -#: ../../../build/NEWS:533 -msgid "" -"`bpo-44287 `__: Fix asyncio test_popen() " -"of test_windows_utils by using a longer timeout. Use military grade battle-" -"tested :data:`test.support.SHORT_TIMEOUT` timeout rather than a hardcoded " -"timeout of 10 seconds: it's 30 seconds by default, but it is made longer on " -"slow buildbots. Patch by Victor Stinner." -msgstr "" - -#: ../../../build/NEWS:539 -msgid "" -"`bpo-44451 `__: Reset " -"``DeprecationWarning`` filters in ``test.test_importlib.test_metadata_api." -"APITests.test_entry_points_by_index`` to avoid ``StopIteration`` error if " -"``DeprecationWarnings`` are ignored." -msgstr "" - -#: ../../../build/NEWS:543 -msgid "" -"`bpo-30256 `__: Add test for nested " -"queues when using ``multiprocessing`` shared objects ``AutoProxy[Queue]`` " -"inside ``ListProxy`` and ``DictProxy``" -msgstr "" - -#: ../../../build/NEWS:547 ../../../build/NEWS:692 ../../../build/NEWS:884 -#: ../../../build/NEWS:1510 ../../../build/NEWS:1949 ../../../build/NEWS:2220 -#: ../../../build/NEWS:2494 ../../../build/NEWS:2859 ../../../build/NEWS:3319 -#: ../../../build/NEWS:3775 ../../../build/NEWS:4790 ../../../build/NEWS:5270 -#: ../../../build/NEWS:5728 ../../../build/NEWS:6181 ../../../build/NEWS:6584 -#: ../../../build/NEWS:6988 ../../../build/NEWS:7359 ../../../build/NEWS:8907 -#: ../../../build/NEWS:10021 ../../../build/NEWS:10492 -#: ../../../build/NEWS:10907 ../../../build/NEWS:13640 -#: ../../../build/NEWS:14295 ../../../build/NEWS:14517 -#: ../../../build/NEWS:14668 ../../../build/NEWS:14888 -#: ../../../build/NEWS:15135 ../../../build/NEWS:15464 -#: ../../../build/NEWS:16287 ../../../build/NEWS:16607 -#: ../../../build/NEWS:18316 ../../../build/NEWS:19005 -#: ../../../build/NEWS:19115 ../../../build/NEWS:19350 -#: ../../../build/NEWS:19742 ../../../build/NEWS:19878 -#: ../../../build/NEWS:20138 ../../../build/NEWS:20662 -#: ../../../build/NEWS:20746 ../../../build/NEWS:21037 -#: ../../../build/NEWS:21102 ../../../build/NEWS:21274 -#: ../../../build/NEWS:21392 ../../../build/NEWS:21661 -#: ../../../build/NEWS:22116 ../../../build/NEWS:22402 -#: ../../../build/NEWS:22599 ../../../build/NEWS:22918 -#: ../../../build/NEWS:24135 ../../../build/NEWS:24690 -#: ../../../build/NEWS:25361 ../../../build/NEWS:26106 -#: ../../../build/NEWS:26661 ../../../build/NEWS:26721 -#: ../../../build/NEWS:26738 ../../../build/NEWS:26980 -#: ../../../build/NEWS:27085 ../../../build/NEWS:27598 -#: ../../../build/NEWS:27812 ../../../build/NEWS:27947 -#: ../../../build/NEWS:29478 -msgid "Build" -msgstr "Compilação" - -#: ../../../build/NEWS:549 -msgid "" -"`bpo-44535 `__: Enable building using a " -"Visual Studio 2022 install on Windows." -msgstr "" - -#: ../../../build/NEWS:551 -msgid "" -"`bpo-43298 `__: Improved error message " -"when building without a Windows SDK installed." -msgstr "" - -#: ../../../build/NEWS:557 -msgid "" -"`bpo-44582 `__: Accelerate speed of :mod:" -"`mimetypes` initialization using a native implementation of the registry " -"scan." -msgstr "" - -#: ../../../build/NEWS:560 -msgid "" -"`bpo-41299 `__: Fix 16ms jitter when " -"using timeouts in :mod:`threading`, such as with :meth:`threading.Lock." -"acquire` or :meth:`threading.Condition.wait`." -msgstr "" - -#: ../../../build/NEWS:567 -msgid "" -"`bpo-44441 `__: :c:func:`Py_RunMain` now " -"resets :c:data:`PyImport_Inittab` to its initial value at exit. It must be " -"possible to call :c:func:`PyImport_AppendInittab` or :c:func:" -"`PyImport_ExtendInittab` at each Python initialization. Patch by Victor " -"Stinner." -msgstr "" - -#: ../../../build/NEWS:572 -msgid "" -"`bpo-40939 `__: Removed documentation " -"for the removed ``PyParser_*`` C API." -msgstr "" - -#: ../../../build/NEWS:576 -msgid "Python 3.10.0 beta 3" -msgstr "" - -#: ../../../build/NEWS:578 -msgid "*Release date: 2021-06-17*" -msgstr "" - -#: ../../../build/NEWS:583 -msgid "" -"`bpo-44409 `__: Fix error location " -"information for tokenizer errors raised on initialization of the tokenizer. " -"Patch by Pablo Galindo." -msgstr "" - -#: ../../../build/NEWS:586 -msgid "" -"`bpo-44396 `__: Fix a possible crash in " -"the tokenizer when raising syntax errors for unclosed strings. Patch by " -"Pablo Galindo." -msgstr "" - -#: ../../../build/NEWS:589 -msgid "" -"`bpo-44349 `__: Fix an edge case when " -"displaying text from files with encoding in syntax errors. Patch by Pablo " -"Galindo." -msgstr "" - -#: ../../../build/NEWS:592 -msgid "" -"`bpo-44335 `__: Fix a regression when " -"identifying incorrect characters in syntax errors. Patch by Pablo Galindo" -msgstr "" - -#: ../../../build/NEWS:595 -msgid "" -"`bpo-44304 `__: Fix a crash in the :mod:" -"`sqlite3` module that happened when the garbage collector clears :class:" -"`sqlite.Statement` objects. Patch by Pablo Galindo" -msgstr "" - -#: ../../../build/NEWS:599 -msgid "" -"`bpo-44305 `__: Improve error message " -"for ``try`` blocks without ``except`` or ``finally`` blocks. Patch by Pablo " -"Galindo." -msgstr "" - -#: ../../../build/NEWS:602 -msgid "" -"`bpo-43833 `__: Emit a deprecation " -"warning if the numeric literal is immediately followed by one of keywords: " -"and, else, for, if, in, is, or. Raise a syntax error with more informative " -"message if it is immediately followed by other keyword or identifier." -msgstr "" - -#: ../../../build/NEWS:607 -msgid "" -"`bpo-11105 `__: When compiling :class:" -"`ast.AST` objects with recursive references through :func:`compile`, the " -"interpreter doesn't crash anymore instead it raises a :exc:`RecursionError`." -msgstr "" - -#: ../../../build/NEWS:614 -msgid "" -"`bpo-42972 `__: The _thread.RLock type " -"now fully implement the GC protocol: add a traverse function and the :const:" -"`Py_TPFLAGS_HAVE_GC` flag. Patch by Victor Stinner." -msgstr "" - -#: ../../../build/NEWS:618 -msgid "" -"`bpo-44422 `__: The :func:`threading." -"enumerate` function now uses a reentrant lock to prevent a hang on reentrant " -"call. Patch by Victor Stinner." -msgstr "" - -#: ../../../build/NEWS:621 -msgid "" -"`bpo-44389 `__: Fix deprecation of :data:" -"`ssl.OP_NO_TLSv1_3`" -msgstr "" - -#: ../../../build/NEWS:623 -msgid "" -"`bpo-44362 `__: Improve :mod:`ssl` " -"module's deprecation messages, error reporting, and documentation for " -"deprecations." -msgstr "" - -#: ../../../build/NEWS:626 -msgid "" -"`bpo-44342 `__: [Enum] Change pickling " -"from by-value to by-name." -msgstr "" - -#: ../../../build/NEWS:628 -msgid "" -"`bpo-44356 `__: [Enum] Allow multiple " -"data-type mixins if they are all the same." -msgstr "" - -#: ../../../build/NEWS:631 -msgid "" -"`bpo-44351 `__: Restore back :func:" -"`parse_makefile` in :mod:`distutils.sysconfig` because it behaves " -"differently than the similar implementation in :mod:`sysconfig`." -msgstr "" - -#: ../../../build/NEWS:635 -msgid "" -"`bpo-44242 `__: Remove missing flag " -"check from Enum creation and move into a ``verify`` decorator." -msgstr "" - -#: ../../../build/NEWS:638 -msgid "" -"`bpo-44246 `__: In ``importlib." -"metadata``, restore compatibility in the result from ``Distribution." -"entry_points`` (``EntryPoints``) to honor expectations in older " -"implementations and issuing deprecation warnings for these cases: A. " -"``EntryPoints`` objects are once again mutable, allowing for ``sort()`` " -"and other list-based mutation operations. Avoid deprecation warnings by " -"casting to a mutable sequence (e.g. ``list(dist.entry_points).sort()``). " -"B. ``EntryPoints`` results once again allow for access by index. To avoid " -"deprecation warnings, cast the result to a Sequence first (e.g. " -"``tuple(dist.entry_points)[0]``)." -msgstr "" - -#: ../../../build/NEWS:648 -msgid "" -"`bpo-44246 `__: In importlib.metadata." -"entry_points, de-duplication of distributions no longer requires loading the " -"full metadata for PathDistribution objects, improving entry point loading " -"performance by ~10x." -msgstr "" - -#: ../../../build/NEWS:653 -msgid "" -"`bpo-43853 `__: Improve :mod:`sqlite3` " -"error handling: ``sqlite3_value_text()`` errors that set ``SQLITE_NOMEM`` " -"now raise :exc:`MemoryError`. Patch by Erlend E. Aasland." -msgstr "" - -#: ../../../build/NEWS:657 -msgid "" -"`bpo-43318 `__: Fix a bug where :mod:" -"`pdb` does not always echo cleared breakpoints." -msgstr "" - -#: ../../../build/NEWS:660 -msgid "" -"`bpo-37022 `__: :mod:`pdb` now displays " -"exceptions from ``repr()`` with its ``p`` and ``pp`` commands." -msgstr "" - -#: ../../../build/NEWS:666 -msgid "" -"`bpo-44392 `__: Added a new section in " -"the C API documentation for types used in type hinting. Documented " -"``Py_GenericAlias`` and ``Py_GenericAliasType``." -msgstr "" - -#: ../../../build/NEWS:670 -msgid "" -"`bpo-38291 `__: Mark ``typing.io`` and " -"``typing.re`` as deprecated since Python 3.8 in the documentation. They were " -"never properly supported by type checkers." -msgstr "" - -#: ../../../build/NEWS:674 -msgid "" -"`bpo-44322 `__: Document that " -"SyntaxError args have a details tuple and that details are adjusted for " -"errors in f-string field replacement expressions." -msgstr "" - -#: ../../../build/NEWS:680 -msgid "" -"`bpo-44363 `__: Account for address " -"sanitizer in test_capi. test_capi now passes when run GCC address sanitizer." -msgstr "" - -#: ../../../build/NEWS:683 -msgid "" -"`bpo-43921 `__: Fix test_ssl." -"test_wrong_cert_tls13(): use ``suppress_ragged_eofs=False``, since " -"``read()`` can raise :exc:`ssl.SSLEOFError` on Windows. Patch by Victor " -"Stinner." -msgstr "" - -#: ../../../build/NEWS:687 -msgid "" -"`bpo-43921 `__: Fix " -"test_pha_required_nocert() of test_ssl: catch two more EOF cases (when the " -"``recv()`` method returns an empty string). Patch by Victor Stinner." -msgstr "" - -#: ../../../build/NEWS:694 -msgid "" -"`bpo-44381 `__: The Windows build now " -"accepts :envvar:`EnableControlFlowGuard` set to ``guard`` to enable CFG." -msgstr "" - -#: ../../../build/NEWS:698 ../../../build/NEWS:903 ../../../build/NEWS:1576 -#: ../../../build/NEWS:1977 ../../../build/NEWS:2253 ../../../build/NEWS:2534 -#: ../../../build/NEWS:3375 ../../../build/NEWS:3802 ../../../build/NEWS:4875 -#: ../../../build/NEWS:5757 ../../../build/NEWS:6226 ../../../build/NEWS:6609 -#: ../../../build/NEWS:7001 ../../../build/NEWS:7383 ../../../build/NEWS:9119 -#: ../../../build/NEWS:10065 ../../../build/NEWS:10614 -#: ../../../build/NEWS:10933 ../../../build/NEWS:11182 -#: ../../../build/NEWS:13904 ../../../build/NEWS:14307 -#: ../../../build/NEWS:14537 ../../../build/NEWS:14695 -#: ../../../build/NEWS:14911 ../../../build/NEWS:15164 -#: ../../../build/NEWS:16340 ../../../build/NEWS:16626 -#: ../../../build/NEWS:18495 ../../../build/NEWS:19035 -#: ../../../build/NEWS:19389 ../../../build/NEWS:19781 -#: ../../../build/NEWS:20158 ../../../build/NEWS:20633 -#: ../../../build/NEWS:20959 ../../../build/NEWS:22073 -#: ../../../build/NEWS:22346 ../../../build/NEWS:22557 -#: ../../../build/NEWS:22827 ../../../build/NEWS:23964 -#: ../../../build/NEWS:25273 ../../../build/NEWS:25441 -#: ../../../build/NEWS:26007 ../../../build/NEWS:26527 -#: ../../../build/NEWS:26860 ../../../build/NEWS:27372 -#: ../../../build/NEWS:29395 -msgid "IDLE" -msgstr "IDLE" - -#: ../../../build/NEWS:700 -msgid "" -"`bpo-40128 `__: Mostly fix completions " -"on macOS when not using tcl/tk 8.6.11 (as with 3.9). The added " -"update_idletask call should be harmless and possibly helpful otherwise." -msgstr "" - -#: ../../../build/NEWS:704 -msgid "" -"`bpo-33962 `__: Move the indent space " -"setting from the Font tab to the new Windows tab. Patch by Mark Roseman and " -"Terry Jan Reedy." -msgstr "" - -#: ../../../build/NEWS:707 -msgid "" -"`bpo-40468 `__: Split the settings " -"dialog 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." -msgstr "" - -#: ../../../build/NEWS:715 -msgid "" -"`bpo-43795 `__: The list in :ref:`stable-" -"abi-list` now shows the public name :c:struct:`PyFrameObject` rather than " -"``_frame``. The non-existing entry ``_node`` no longer appears in the list." -msgstr "" - -#: ../../../build/NEWS:719 -msgid "" -"`bpo-44378 `__: :c:func:`Py_IS_TYPE` no " -"longer uses :c:func:`Py_TYPE` to avoid a compiler warning: no longer cast " -"``const PyObject*`` to ``PyObject*``. Patch by Victor Stinner." -msgstr "" - -#: ../../../build/NEWS:725 -msgid "Python 3.10.0 beta 2" -msgstr "" - -#: ../../../build/NEWS:727 -msgid "*Release date: 2021-05-31*" -msgstr "" - -#: ../../../build/NEWS:732 -msgid "" -"`bpo-44022 `__: mod:`http.client` now " -"avoids infinitely reading potential HTTP headers after a ``100 Continue`` " -"status response from the server." -msgstr "" - -#: ../../../build/NEWS:741 -msgid "" -"`bpo-44232 `__: Fix a regression in :" -"func:`type` when a metaclass raises an exception. The C function :c:func:" -"`type_new` must properly report the exception when a metaclass constructor " -"raises an exception and the winner class is not the metaclass. Patch by " -"Victor Stinner." -msgstr "" - -#: ../../../build/NEWS:746 -msgid "" -"`bpo-44201 `__: Avoid side effects of " -"checking for specialized syntax errors in the REPL that was causing it to " -"ask for extra tokens after a syntax error had been detected. Patch by Pablo " -"Galindo" -msgstr "" - -#: ../../../build/NEWS:750 -msgid "" -"`bpo-44184 `__: Fix a crash at Python " -"exit when a deallocator function removes the last strong reference to a heap " -"type. Patch by Victor Stinner." -msgstr "" - -#: ../../../build/NEWS:753 -msgid "" -"`bpo-44180 `__: The parser doesn't " -"report generic syntax errors that happen in a position further away that the " -"one it reached in the first pass. Patch by Pablo Galindo" -msgstr "" - -#: ../../../build/NEWS:757 -msgid "" -"`bpo-44168 `__: Fix error message in the " -"parser involving keyword arguments with invalid expressions. Patch by Pablo " -"Galindo" -msgstr "" - -#: ../../../build/NEWS:760 -msgid "" -"`bpo-44143 `__: Fixed a crash in the " -"parser that manifest when raising tokenizer errors when an existing " -"exception was present. Patch by Pablo Galindo." -msgstr "" - -#: ../../../build/NEWS:764 -msgid "" -"`bpo-44114 `__: Fix incorrect " -"dictkeys_reversed and dictitems_reversed function signatures in C code, " -"which broke webassembly builds." -msgstr "" - -#: ../../../build/NEWS:767 -msgid "" -"`bpo-43149 `__: Corrent the syntax error " -"message regarding multiple exception types to not refer to \"exception groups" -"\". Patch by Pablo Galindo" -msgstr "" - -#: ../../../build/NEWS:770 -msgid "" -"`bpo-44056 `__: Syntax errors when " -"default ``except`` is not the last ``except`` are reported with the correct " -"location. Patch by Mark Shannon." -msgstr "" - -#: ../../../build/NEWS:773 -msgid "" -"`bpo-43822 `__: The parser will " -"prioritize tokenizer errors over custom syntax errors when raising " -"exceptions. Patch by Pablo Galindo." -msgstr "" - -#: ../../../build/NEWS:776 -msgid "" -"`bpo-28146 `__: Fix a confusing error " -"message in :func:`str.format`." -msgstr "" - -#: ../../../build/NEWS:781 -msgid "" -"`bpo-44254 `__: On Mac, give turtledemo " -"button text a color that works on both light or dark background. " -"Programmers cannot control the latter." -msgstr "" - -#: ../../../build/NEWS:784 -msgid "" -"`bpo-38693 `__: Prefer f-strings to ``." -"format`` in importlib.resources." -msgstr "" - -#: ../../../build/NEWS:786 -msgid "" -"`bpo-33693 `__: Importlib.metadata now " -"prefers f-strings to .format." -msgstr "" - -#: ../../../build/NEWS:788 -msgid "" -"`bpo-44241 `__: Incorporate minor tweaks " -"from importlib_metadata 4.1: SimplePath protocol, support for Metadata 2.2." -msgstr "" - -#: ../../../build/NEWS:791 -msgid "" -"`bpo-44210 `__: Make importlib.metadata." -"_meta.PackageMetadata public." -msgstr "" - -#: ../../../build/NEWS:793 -msgid "" -"`bpo-43643 `__: Declare readers." -"MultiplexedPath.name as a property per the spec." -msgstr "" - -#: ../../../build/NEWS:796 -msgid "" -"`bpo-33433 `__: For IPv4 mapped IPv6 " -"addresses (:rfc:`4291` Section 2.5.5.2), the :mod:`ipaddress.IPv6Address." -"is_private` check is deferred to the mapped IPv4 address. This solves a bug " -"where public mapped IPv4 addresses were considered private by the IPv6 check." -msgstr "" - -#: ../../../build/NEWS:801 -msgid "" -"`bpo-44145 `__: :mod:`hmac` computations " -"were not releasing the GIL while calling the OpenSSL ``HMAC_Update`` C API " -"(a new feature in 3.9). This unintentionally prevented parallel computation " -"as other :mod:`hashlib` algorithms support." -msgstr "" - -#: ../../../build/NEWS:806 -msgid "" -"`bpo-37788 `__: Fix a reference leak " -"when a Thread object is never joined." -msgstr "" - -#: ../../../build/NEWS:808 -msgid "" -"`bpo-38908 `__: 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. " -"Patch provided by Yurii Karabas." -msgstr "" - -#: ../../../build/NEWS:813 -msgid "" -"`bpo-44098 `__: ``typing.ParamSpec`` " -"will no longer be found in the ``__parameters__`` of most :mod:`typing` " -"generics except in valid use locations specified by :pep:`612`. This " -"prevents incorrect usage like ``typing.List[P][int]``. This change means " -"incorrect usage which may have passed silently in 3.10 beta 1 and earlier " -"will now error." -msgstr "" - -#: ../../../build/NEWS:819 -msgid "" -"`bpo-44089 `__: Allow subclassing ``csv." -"Error`` in 3.10 (it was allowed in 3.9 and earlier but was disallowed in " -"early versions of 3.10)." -msgstr "" - -#: ../../../build/NEWS:822 -msgid "" -"`bpo-44059 `__: Register the SerenityOS " -"Browser in the :mod:`webbrowser` module." -msgstr "" - -#: ../../../build/NEWS:825 -msgid "" -"`bpo-36515 `__: The :mod:`hashlib` " -"module no longer does unaligned memory accesses when compiled for ARM " -"platforms." -msgstr "" - -#: ../../../build/NEWS:828 -msgid "" -"`bpo-44018 `__: random.seed() no longer " -"mutates bytearray inputs." -msgstr "" - -#: ../../../build/NEWS:830 -msgid "" -"`bpo-38352 `__: Add ``IO``, " -"``BinaryIO``, ``TextIO``, ``Match``, and ``Pattern`` to ``typing.__all__``. " -"Patch by Jelle Zijlstra." -msgstr "" - -#: ../../../build/NEWS:833 -msgid "" -"`bpo-43972 `__: When :class:`http.server." -"SimpleHTTPRequestHandler` sends a ``301 (Moved Permanently)`` for a " -"directory path not ending with `/`, add a ``Content-Length: 0`` header. This " -"improves the behavior for certain clients." -msgstr "" - -#: ../../../build/NEWS:838 -msgid "" -"`bpo-28528 `__: Fix a bug in :mod:`pdb` " -"where :meth:`~pdb.Pdb.checkline` raises :exc:`AttributeError` if it is " -"called after :meth:`~pdb.Pdb.reset`." -msgstr "" - -#: ../../../build/NEWS:841 -msgid "" -"`bpo-43650 `__: Fix :exc:`MemoryError` " -"in :func:`shutil.unpack_archive` which fails inside :func:`shutil." -"_unpack_zipfile` on large files. Patch by Igor Bolshakov." -msgstr "" - -#: ../../../build/NEWS:845 -msgid "" -"`bpo-41730 `__: ``DeprecationWarning`` " -"is now raised when importing :mod:`tkinter.tix`, which has been deprecated " -"in documentation since Python 3.6." -msgstr "" - -#: ../../../build/NEWS:852 -msgid "" -"`bpo-42392 `__: Document the deprecation " -"and removal of the ``loop`` parameter for many functions and classes in :mod:" -"`asyncio`." -msgstr "" - -#: ../../../build/NEWS:855 -msgid "" -"`bpo-44195 `__: Corrected references to " -"``TraversableResources`` in docs. There is no ``TraversableReader``." -msgstr "" - -#: ../../../build/NEWS:858 -msgid "" -"`bpo-41963 `__: Document that " -"``ConfigParser`` strips off comments when reading configuration files." -msgstr "" - -#: ../../../build/NEWS:861 -msgid "" -"`bpo-44072 `__: Correct where in the " -"numeric ABC hierarchy ``**`` support is added, i.e., in numbers.Complex, not " -"numbers.Integral." -msgstr "" - -#: ../../../build/NEWS:864 -msgid "" -"`bpo-43558 `__: Add the remark to :mod:" -"`dataclasses` documentation that the :meth:`__init__` of any base class has " -"to be called in :meth:`__post_init__`, along with a code example." -msgstr "" - -#: ../../../build/NEWS:868 -msgid "" -"`bpo-44025 `__: Clarify when '_' in " -"match statements is a keyword, and when not." -msgstr "" - -#: ../../../build/NEWS:874 -msgid "" -"`bpo-31904 `__: Ignore error string case " -"in test_py_compile ``test_file_not_exists()``." -msgstr "" - -#: ../../../build/NEWS:877 -msgid "" -"`bpo-42083 `__: Add test to check that " -"``PyStructSequence_NewType`` accepts a ``PyStructSequence_Desc`` with " -"``doc`` field set to ``NULL``." -msgstr "" - -#: ../../../build/NEWS:880 -msgid "" -"`bpo-35753 `__: Fix crash in doctest " -"when doctest parses modules that include unwrappable functions by skipping " -"those functions." -msgstr "" - -#: ../../../build/NEWS:886 -msgid "" -"`bpo-41282 `__: Fix broken ``make " -"install`` that caused standard library extension modules to be unnecessarily " -"and incorrectly rebuilt during the install phase of cpython." -msgstr "" - -#: ../../../build/NEWS:893 -msgid "" -"`bpo-42686 `__: Build :mod:`sqlite3` " -"with math functions enabled. Patch by Erlend E. Aasland." -msgstr "" - -#: ../../../build/NEWS:899 -msgid "" -"`bpo-43109 `__: Allow --with-lto " -"configure option to work with Apple-supplied Xcode or Command Line Tools." -msgstr "" - -#: ../../../build/NEWS:905 -msgid "" -"`bpo-41611 `__: Avoid uncaught " -"exceptions in ``AutoCompleteWindow.winconfig_event()``." -msgstr "" - -#: ../../../build/NEWS:908 -msgid "" -"`bpo-41611 `__: Fix IDLE sometimes " -"freezing upon tab-completion on macOS." -msgstr "" - -#: ../../../build/NEWS:910 -msgid "" -"`bpo-44010 `__: Highlight the new :ref:" -"`match ` statement's :ref:`soft keywords `: :keyword:" -"`match`, :keyword:`case `, and :keyword:`_ `. " -"However, this highlighting is not perfect and will be incorrect in some rare " -"cases, including some ``_``-s in ``case`` patterns." -msgstr "" - -#: ../../../build/NEWS:916 -msgid "" -"`bpo-44026 `__: Include interpreter's " -"typo fix suggestions in message line for NameErrors and AttributeErrors. " -"Patch by E. Paine." -msgstr "" - -#: ../../../build/NEWS:922 -msgid "" -"`bpo-44074 `__: Make patchcheck " -"automatically detect the correct base branch name (previously it was " -"hardcoded to 'master')" -msgstr "" - -#: ../../../build/NEWS:928 -msgid "" -"`bpo-43795 `__: The undocumented " -"function :c:func:`Py_FrozenMain` is removed from the Limited API." -msgstr "" - -#: ../../../build/NEWS:931 -msgid "" -"`bpo-43795 `__: :c:func:" -"`PyCodec_Unregister` is now properly exported as a function in the Windows " -"Stable ABI DLL." -msgstr "" - -#: ../../../build/NEWS:936 -msgid "Python 3.10.0 beta 1" -msgstr "" - -#: ../../../build/NEWS:938 -msgid "*Release date: 2021-05-03*" -msgstr "" - -#: ../../../build/NEWS:943 -msgid "" -"`bpo-43434 `__: Creating :class:`sqlite3." -"Connection` objects now also produces ``sqlite3.connect`` and ``sqlite3." -"connect/handle`` :ref:`auditing events `. Previously these events " -"were only produced by :func:`sqlite3.connect` calls. Patch by Erlend E. " -"Aasland." -msgstr "" - -#: ../../../build/NEWS:948 -msgid "" -"`bpo-43998 `__: The :mod:`ssl` module " -"sets more secure cipher suites defaults. Ciphers without forward secrecy and " -"with 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." -msgstr "" - -#: ../../../build/NEWS:955 -msgid "" -"`bpo-43882 `__: The presence of newline " -"or tab characters in parts of a URL could allow some forms of attacks." -msgstr "" - -#: ../../../build/NEWS:958 -msgid "" -"Following the controlling specification for URLs defined by WHATWG :func:" -"`urllib.parse` now removes ASCII newlines and tabs from URLs, preventing " -"such attacks." -msgstr "" - -#: ../../../build/NEWS:962 -msgid "" -"`bpo-43472 `__: Ensures interpreter-" -"level audit hooks receive the ``cpython.PyInterpreterState_New`` event when " -"called through the ``_xxsubinterpreters`` module." -msgstr "" - -#: ../../../build/NEWS:966 -msgid "" -"`bpo-43362 `__: Fix invalid free in " -"_sha3 module. The issue was introduced in 3.10.0a1. Python 3.9 and earlier " -"are not affected." -msgstr "" - -#: ../../../build/NEWS:969 -msgid "" -"`bpo-43762 `__: Add audit events for :" -"func:`sqlite3.connect/handle`, :meth:`sqlite3.Connection." -"enable_load_extension`, and :meth:`sqlite3.Connection.load_extension`. Patch " -"by Erlend E. Aasland." -msgstr "" - -#: ../../../build/NEWS:973 -msgid "" -"`bpo-43756 `__: Add new audit event " -"``glob.glob/2`` to incorporate the new *root_dir* and *dir_fd* arguments " -"added to :func:`glob.glob` and :func:`glob.iglob`." -msgstr "" - -#: ../../../build/NEWS:977 -msgid "" -"`bpo-36384 `__: :mod:`ipaddress` module " -"no longer accepts any leading zeros in IPv4 address strings. Leading zeros " -"are ambiguous and interpreted as octal notation by some libraries. For " -"example the legacy function :func:`socket.inet_aton` treats leading zeros as " -"octal notatation. glibc implementation of modern :func:`~socket.inet_pton` " -"does not accept any leading zeros. For a while the :mod:`ipaddress` module " -"used to accept ambiguous leading zeros." -msgstr "" - -#: ../../../build/NEWS:985 -msgid "" -"`bpo-43075 `__: Fix Regular Expression " -"Denial of Service (ReDoS) vulnerability in :class:`urllib.request." -"AbstractBasicAuthHandler`. The ReDoS-vulnerable regex has quadratic worst-" -"case complexity and it allows cause a denial of service when identifying " -"crafted invalid RFCs. This ReDoS issue is on the client side and needs " -"remote attackers to control the HTTP server." -msgstr "" - -#: ../../../build/NEWS:991 -msgid "" -"`bpo-42800 `__: Audit hooks are now " -"fired for frame.f_code, traceback.tb_frame, and generator code/frame " -"attribute access." -msgstr "" - -#: ../../../build/NEWS:994 -msgid "" -"`bpo-37363 `__: Add audit events to the :" -"mod:`http.client` module." -msgstr "" - -#: ../../../build/NEWS:999 -msgid "" -"`bpo-43977 `__: Prevent classes being " -"both a sequence and a mapping when pattern matching." -msgstr "" - -#: ../../../build/NEWS:1002 -msgid "" -"`bpo-43977 `__: Use :c:member:" -"`~PyTypeObject.tp_flags` on the class object to determine if the subject is " -"a sequence or mapping when pattern matching. Avoids the need to import :mod:" -"`collections.abc` when pattern matching." -msgstr "" - -#: ../../../build/NEWS:1006 -msgid "" -"`bpo-43892 `__: Restore proper " -"validation of complex literal value patterns when parsing :keyword:`!match` " -"blocks." -msgstr "" - -#: ../../../build/NEWS:1009 -msgid "" -"`bpo-43933 `__: Set frame.f_lineno to " -"the line number of the 'with' kweyword when executing the call to " -"``__exit__``." -msgstr "" - -#: ../../../build/NEWS:1012 -msgid "" -"`bpo-43933 `__: If the current position " -"in a frame has no line number then set the f_lineno attribute to None, " -"instead of -1, to conform to PEP 626. This should not normally be possible, " -"but might occur in some unusual circumstances." -msgstr "" - -#: ../../../build/NEWS:1017 -msgid "" -"`bpo-43963 `__: Importing the :mod:" -"`_signal` module in a subinterpreter has no longer side effects." -msgstr "" - -#: ../../../build/NEWS:1020 -msgid "" -"`bpo-42739 `__: The internal " -"representation of line number tables is changed to not use sentinels, and an " -"explicit length parameter is added to the out of process API function " -"``PyLineTable_InitAddressRange``. This makes the handling of line number " -"tables more robust in some circumstances." -msgstr "" - -#: ../../../build/NEWS:1025 -msgid "" -"`bpo-43908 `__: Make :mod:`re` types " -"immutable. Patch by Erlend E. Aasland." -msgstr "" - -#: ../../../build/NEWS:1027 -msgid "" -"`bpo-43908 `__: Make the :class:`array." -"array` type immutable. Patch by Erlend E. Aasland." -msgstr "" - -#: ../../../build/NEWS:1030 -msgid "" -"`bpo-43901 `__: Change class and module " -"objects to lazy-create empty annotations dicts on demand. The annotations " -"dicts are stored in the object's __dict__ for backwards compatibility." -msgstr "" - -#: ../../../build/NEWS:1034 -msgid "" -"`bpo-43892 `__: Match patterns now use " -"new dedicated AST nodes (``MatchValue``, ``MatchSingleton``, " -"``MatchSequence``, ``MatchStar``, ``MatchMapping``, ``MatchClass``) rather " -"than reusing expression AST nodes. ``MatchAs`` and ``MatchOr`` are now " -"defined as pattern nodes rather than as expression nodes. Patch by Nick " -"Coghlan." -msgstr "" - -#: ../../../build/NEWS:1040 -msgid "" -"`bpo-42725 `__: Usage of ``await``/" -"``yield``/``yield from`` and named expressions within an annotation is now " -"forbidden when PEP 563 is activated." -msgstr "" - -#: ../../../build/NEWS:1044 -msgid "" -"`bpo-43754 `__: When performing " -"structural pattern matching (:pep:`634`), captured names are now left " -"unbound until the *entire* pattern has matched successfully." -msgstr "" - -#: ../../../build/NEWS:1048 -msgid "" -"`bpo-42737 `__: Annotations for complex " -"targets (everything beside simple names) no longer cause any runtime effects " -"with ``from __future__ import annotations``." -msgstr "" - -#: ../../../build/NEWS:1052 -msgid "" -"`bpo-43914 `__: :exc:`SyntaxError` " -"exceptions raised by the intepreter will highlight the full error range of " -"the expression that consistutes the syntax error itself, instead of just " -"where the problem is detected. Patch by Pablo Galindo." -msgstr "" - -#: ../../../build/NEWS:1057 -msgid "" -"`bpo-38605 `__: Revert making ``from " -"__future__ import annotations`` the default. This follows the Steering " -"Council decision to postpone PEP 563 changes to at least Python 3.11. See " -"the original email for more information regarding the decision: https://mail." -"python.org/archives/list/python-dev@python.org/thread/" -"CLVXXPQ2T2LQ5MP2Y53VVQFCXYWQJHKZ/. Patch by Pablo Galindo." -msgstr "" - -#: ../../../build/NEWS:1064 -msgid "" -"`bpo-43475 `__: Hashes of NaN values now " -"depend on object identity. Formerly, they always hashed to 0 even though " -"NaN values are not equal to one another. Having the same hash for unequal " -"values caused pile-ups in hash tables." -msgstr "" - -#: ../../../build/NEWS:1069 -msgid "" -"`bpo-43859 `__: Improve the error " -"message for :exc:`IndentationError` exceptions. Patch by Pablo Galindo" -msgstr "" - -#: ../../../build/NEWS:1072 -msgid "" -"`bpo-41323 `__: Constant tuple folding " -"in bytecode optimizer now reuses tuple in constant table." -msgstr "" - -#: ../../../build/NEWS:1075 -msgid "" -"`bpo-43846 `__: Data stack usage is much " -"reduced for large literal and call expressions." -msgstr "" - -#: ../../../build/NEWS:1078 -msgid "" -"`bpo-38530 `__: 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. Patch by Pablo Galindo" -msgstr "" - -#: ../../../build/NEWS:1082 -msgid "" -"`bpo-43823 `__: Improve syntax errors " -"for invalid dictionary literals. Patch by Pablo Galindo." -msgstr "" - -#: ../../../build/NEWS:1085 -msgid "" -"`bpo-43822 `__: Improve syntax errors in " -"the parser for missing commas between expressions. Patch by Pablo Galindo." -msgstr "" - -#: ../../../build/NEWS:1088 -msgid "" -"`bpo-43798 `__: :class:`ast.alias` nodes " -"now include source location metadata attributes e.g. lineno, col_offset." -msgstr "" - -#: ../../../build/NEWS:1091 -msgid "" -"`bpo-43797 `__: Improve ``SyntaxError`` " -"error messages for invalid comparisons. Patch by Pablo Galindo." -msgstr "" - -#: ../../../build/NEWS:1094 -msgid "" -"`bpo-43760 `__: Move the flag for " -"checking whether tracing is enabled to the C stack, from the heap. Should " -"speed up dispatch in the interpreter." -msgstr "" - -#: ../../../build/NEWS:1097 -msgid "" -"`bpo-43682 `__: 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. Patch by Victor Stinner." -msgstr "" - -#: ../../../build/NEWS:1103 -msgid "" -"`bpo-43751 `__: Fixed a bug where " -"``anext(ait, default)`` would erroneously return None." -msgstr "" - -#: ../../../build/NEWS:1106 -msgid "" -"`bpo-42128 `__: :data:`~object." -"__match_args__` is no longer allowed to be a list." -msgstr "" - -#: ../../../build/NEWS:1109 -msgid "" -"`bpo-43683 `__: Add GEN_START opcode. " -"Marks start of generator, including async, or coroutine and handles sending " -"values to a newly created generator or coroutine." -msgstr "" - -#: ../../../build/NEWS:1113 -msgid "" -"`bpo-43105 `__: Importlib now resolves " -"relative paths when creating module spec objects from file locations." -msgstr "" - -#: ../../../build/NEWS:1116 -msgid "" -"`bpo-43682 `__: Static methods (:func:" -"`@staticmethod `) are now callable as regular functions. Patch " -"by Victor Stinner." -msgstr "" - -#: ../../../build/NEWS:1119 -msgid "" -"`bpo-42609 `__: Prevented crashes in the " -"AST validator and optimizer when compiling some absurdly long expressions " -"like ``\"+0\"*1000000``. :exc:`RecursionError` is now raised instead." -msgstr "" - -#: ../../../build/NEWS:1123 -msgid "" -"`bpo-38530 `__: When printing :exc:" -"`AttributeError`, :c:func:`PyErr_Display` will offer suggestions of similar " -"attribute names in the object that the exception was raised from. Patch by " -"Pablo Galindo" -msgstr "" - -#: ../../../build/NEWS:1130 -msgid "" -"`bpo-44015 `__: In @dataclass(), raise a " -"TypeError if KW_ONLY is specified more than once." -msgstr "" - -#: ../../../build/NEWS:1133 -msgid "" -"`bpo-25478 `__: Added a *total()* method " -"to collections.Counter() to compute the sum of the counts." -msgstr "" - -#: ../../../build/NEWS:1136 -msgid "" -"`bpo-43733 `__: Change :class:`netrc." -"netrc` to use UTF-8 encoding before using locale encoding." -msgstr "" - -#: ../../../build/NEWS:1139 -msgid "" -"`bpo-43979 `__: Removed an unnecessary " -"list comprehension before looping from :func:`urllib.parse.parse_qsl`. " -"Patch by Christoph Zwerschke and Dong-hee Na." -msgstr "" - -#: ../../../build/NEWS:1143 -msgid "" -"`bpo-43993 `__: Update bundled pip to " -"21.1.1." -msgstr "" - -#: ../../../build/NEWS:1145 -msgid "" -"`bpo-43957 `__: [Enum] Deprecate " -"``TypeError`` when non-member is used in a containment check; In 3.12 " -"``True`` or ``False`` will be returned instead, and containment will return " -"``True`` if the value is either a member of that enum or one of its members' " -"value." -msgstr "" - -#: ../../../build/NEWS:1150 -msgid "" -"`bpo-42904 `__: For backwards " -"compatbility with previous minor versions of Python, if :func:`typing." -"get_type_hints` receives no namespace dictionary arguments, :func:`typing." -"get_type_hints` will search through the global then local namespaces during " -"evaluation of stringized type annotations (string forward references) inside " -"a class." -msgstr "" - -#: ../../../build/NEWS:1156 -msgid "" -"`bpo-43945 `__: [Enum] Deprecate non-" -"standard mixin format() behavior: in 3.12 the enum member, not the member's " -"value, will be used for format() calls." -msgstr "" - -#: ../../../build/NEWS:1159 -msgid "" -"`bpo-41139 `__: Deprecate undocumented " -"``cgi.log()`` API." -msgstr "" - -#: ../../../build/NEWS:1161 -msgid "" -"`bpo-43937 `__: Fixed the :mod:`turtle` " -"module working with non-default root window." -msgstr "" - -#: ../../../build/NEWS:1164 -msgid "" -"`bpo-43930 `__: Update bundled pip to " -"21.1 and setuptools to 56.0.0" -msgstr "" - -#: ../../../build/NEWS:1166 -msgid "" -"`bpo-43907 `__: Fix a bug in the pure-" -"Python pickle implementation when using protocol 5, where bytearray " -"instances that occur several time in the pickled object graph would " -"incorrectly unpickle into repeated copies of the bytearray object." -msgstr "" - -#: ../../../build/NEWS:1171 -msgid "" -"`bpo-43926 `__: In ``importlib." -"metadata``, provide a uniform interface to ``Description``, allow for any " -"field to be encoded with multiline values, remove continuation lines from " -"multiline values, and add a ``.json`` property for easy access to the PEP " -"566 JSON-compatible form. Sync with ``importlib_metadata 4.0``." -msgstr "" - -#: ../../../build/NEWS:1177 -msgid "" -"`bpo-43920 `__: OpenSSL 3.0.0: :meth:" -"`~ssl.SSLContext.load_verify_locations` now returns a consistent error " -"message when cadata contains no valid certificate." -msgstr "" - -#: ../../../build/NEWS:1181 -msgid "" -"`bpo-43607 `__: :mod:`urllib` can now " -"convert Windows paths with ``\\\\?\\`` prefixes into URL paths." -msgstr "" - -#: ../../../build/NEWS:1184 -msgid "" -"`bpo-43817 `__: Add :func:`inspect." -"get_annotations`, which safely computes the annotations defined on an " -"object. It works around the quirks of accessing the annotations from " -"various types of objects, and makes very few assumptions about the object " -"passed in. :func:`inspect.get_annotations` can also correctly un-stringize " -"stringized annotations." -msgstr "" - -#: ../../../build/NEWS:1190 -msgid "" -":func:`inspect.signature`, :func:`inspect.from_callable`, and :func:`inspect." -"from_function` now call :func:`inspect.get_annotations` to retrieve " -"annotations. This means :func:`inspect.signature` and :func:`inspect." -"from_callable` can now un-stringize stringized annotations, too." -msgstr "" - -#: ../../../build/NEWS:1196 -msgid "" -"`bpo-43284 `__: platform.win32_ver " -"derives the windows version from sys.getwindowsversion().platform_version " -"which in turn derives the version from kernel32.dll (which can be of a " -"different version than Windows itself). Therefore change the platform." -"win32_ver to determine the version using the platform module's _syscmd_ver " -"private function to return an accurate version." -msgstr "" - -#: ../../../build/NEWS:1203 -msgid "" -"`bpo-42854 `__: The :mod:`ssl` module " -"now uses ``SSL_read_ex`` and ``SSL_write_ex`` internally. The functions " -"support reading and writing of data larger than 2 GB. Writing zero-length " -"data no longer fails with a protocol violation error." -msgstr "" - -#: ../../../build/NEWS:1208 -msgid "" -"`bpo-42333 `__: Port ``_ssl`` extension " -"module to multiphase initialization." -msgstr "" - -#: ../../../build/NEWS:1210 -msgid "" -"`bpo-43880 `__: :mod:`ssl` now raises " -"DeprecationWarning for OP_NO_SSL/TLS* options, old TLS versions, old " -"protocols, and other features that have been deprecated since Python 3.6, " -"3.7, or OpenSSL 1.1.0." -msgstr "" - -#: ../../../build/NEWS:1214 -msgid "" -"`bpo-41559 `__: :pep:`612` is now " -"implemented purely in Python; builtin ``types.GenericAlias`` objects no " -"longer include ``typing.ParamSpec`` in ``__parameters__`` (with the " -"exception of ``collections.abc.Callable``\\ 's ``GenericAlias``). This means " -"previously invalid uses of ``ParamSpec`` (such as ``list[P]``) which worked " -"in earlier versions of Python 3.10 alpha, will now raise ``TypeError`` " -"during substitution." -msgstr "" - -#: ../../../build/NEWS:1221 -msgid "" -"`bpo-43867 `__: The :mod:" -"`multiprocessing` ``Server`` class now explicitly catchs :exc:`SystemExit` " -"and closes the client connection in this case. It happens when the ``Server." -"serve_client()`` method reachs the end of file (EOF)." -msgstr "" - -#: ../../../build/NEWS:1226 -msgid "" -"`bpo-40443 `__: Remove unused imports: " -"pyclbr no longer uses copy, and typing no longer uses ast. Patch by Victor " -"Stinner." -msgstr "" - -#: ../../../build/NEWS:1229 -msgid "" -"`bpo-43820 `__: Remove an unneeded copy " -"of the namespace passed to dataclasses.make_dataclass()." -msgstr "" - -#: ../../../build/NEWS:1232 -msgid "" -"`bpo-43787 `__: Add ``__iter__()`` " -"method to :class:`bz2.BZ2File`, :class:`gzip.GzipFile`, and :class:`lzma." -"LZMAFile`. It makes iterating them about 2x faster. Patch by Inada Naoki." -msgstr "" - -#: ../../../build/NEWS:1236 -msgid "" -"`bpo-43680 `__: Deprecate io.OpenWrapper " -"and _pyio.OpenWrapper: use io.open and _pyio.open instead. Until Python 3.9, " -"_pyio.open was not a static method and builtins.open was set to OpenWrapper " -"to not become a bound method when set to a class variable. _io.open is a " -"built-in function whereas _pyio.open is a Python function. In Python 3.10, " -"_pyio.open() is now a static method, and builtins.open() is now io.open()." -msgstr "" - -#: ../../../build/NEWS:1243 -msgid "" -"`bpo-43680 `__: The Python :func:`_pyio." -"open` function becomes a static method to behave as :func:`io.open` built-in " -"function: don't become a bound method when stored as a class variable. It " -"becomes possible since static methods are now callable in Python 3.10. " -"Moreover, :func:`_pyio.OpenWrapper` becomes a simple alias to :func:`_pyio." -"open`. Patch by Victor Stinner." -msgstr "" - -#: ../../../build/NEWS:1250 -msgid "" -"`bpo-41515 `__: Fix :exc:`KeyError` " -"raised in :func:`typing.get_type_hints` due to synthetic modules that don't " -"appear in ``sys.modules``." -msgstr "" - -#: ../../../build/NEWS:1253 -msgid "" -"`bpo-43776 `__: When :class:`subprocess." -"Popen` args are provided as a string or as :class:`pathlib.Path`, the Popen " -"instance repr now shows the right thing." -msgstr "" - -#: ../../../build/NEWS:1257 -msgid "" -"`bpo-42248 `__: [Enum] ensure exceptions " -"raised in ``_missing__`` are released" -msgstr "" - -#: ../../../build/NEWS:1259 -msgid "" -"`bpo-43744 `__: fix issue with enum " -"member name matching the start of a private variable name" -msgstr "" - -#: ../../../build/NEWS:1262 -msgid "" -"`bpo-43772 `__: Fixed the return value " -"of ``TypeVar.__ror__``. Patch by Jelle Zijlstra." -msgstr "" - -#: ../../../build/NEWS:1265 -msgid "" -"`bpo-43764 `__: Add match_args parameter " -"to @dataclass decorator to allow suppression of __match_args__ generation." -msgstr "" - -#: ../../../build/NEWS:1268 -msgid "" -"`bpo-43799 `__: OpenSSL 3.0.0: define " -"``OPENSSL_API_COMPAT`` 1.1.1 to suppress deprecation warnings. Python " -"requires OpenSSL 1.1.1 APIs." -msgstr "" - -#: ../../../build/NEWS:1271 -msgid "" -"`bpo-43478 `__: Mocks can no longer be " -"used as the specs for other Mocks. As a result, an already-mocked object " -"cannot have an attribute mocked using ``autospec=True`` or be the subject of " -"a ``create_autospec(...)`` call. This can uncover bugs in tests since these " -"Mock-derived Mocks will always pass certain tests (e.g. :func:`isinstance`) " -"and builtin assert functions (e.g. assert_called_once_with) will " -"unconditionally pass." -msgstr "" - -#: ../../../build/NEWS:1278 -msgid "" -"`bpo-43794 `__: Add :data:`ssl." -"OP_IGNORE_UNEXPECTED_EOF` constants (OpenSSL 3.0.0)" -msgstr "" - -#: ../../../build/NEWS:1281 -msgid "" -"`bpo-43785 `__: Improve ``bz2.BZ2File`` " -"performance by removing the RLock from BZ2File. This makes 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. " -"Patch by Inada Naoki." -msgstr "" - -#: ../../../build/NEWS:1286 -msgid "" -"`bpo-43789 `__: OpenSSL 3.0.0: Don't " -"call the password callback function a second time when first call has " -"signaled an error condition." -msgstr "" - -#: ../../../build/NEWS:1289 -msgid "" -"`bpo-43788 `__: The header files for :" -"mod:`ssl` error codes are now OpenSSL version-specific. Exceptions will now " -"show correct reason and library codes. The ``make_ssl_data.py`` script has " -"been rewritten to use OpenSSL's text file with error codes." -msgstr "" - -#: ../../../build/NEWS:1294 -msgid "" -"`bpo-43766 `__: Implement :pep:`647` in " -"the :mod:`typing` module by adding :data:`TypeGuard`." -msgstr "" - -#: ../../../build/NEWS:1297 -msgid "" -"`bpo-25264 `__: :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 symlink loop is encountered." -msgstr "" - -#: ../../../build/NEWS:1301 -msgid "" -"`bpo-43780 `__: In ``importlib." -"metadata``, incorporate changes from importlib_metadata 3.10: Add mtime-" -"based caching during distribution discovery. Flagged use of dict result from " -"``entry_points()`` as deprecated." -msgstr "" - -#: ../../../build/NEWS:1306 -msgid "" -"`bpo-47383 `__: The ``P.args`` and ``P." -"kwargs`` attributes of :class:`typing.ParamSpec` are now instances of the " -"new classes :class:`typing.ParamSpecArgs` and :class:`typing." -"ParamSpecKwargs`, which enables a more useful ``repr()``. Patch by Jelle " -"Zijlstra." -msgstr "" - -#: ../../../build/NEWS:1311 -msgid "" -"`bpo-43731 `__: Add an ``encoding`` " -"parameter :func:`logging.fileConfig()`." -msgstr "" - -#: ../../../build/NEWS:1313 -msgid "" -"`bpo-43712 `__: Add ``encoding`` and " -"``errors`` parameters to :func:`fileinput.input` and :class:`fileinput." -"FileInput`." -msgstr "" - -#: ../../../build/NEWS:1316 -msgid "" -"`bpo-38659 `__: A ``simple_enum`` " -"decorator is added to the ``enum`` module to convert a normal class into an " -"Enum. ``test_simple_enum`` added to test simple enums against a " -"corresponding normal Enum. Standard library modules updated to use " -"``simple_enum``." -msgstr "" - -#: ../../../build/NEWS:1321 -msgid "" -"`bpo-43764 `__: Fix an issue where :data:" -"`~object.__match_args__` generation could fail for some :mod:`dataclasses`." -msgstr "" - -#: ../../../build/NEWS:1324 -msgid "" -"`bpo-43752 `__: Fix :mod:`sqlite3` " -"regression for zero-sized blobs with converters, where ``b\"\"`` was " -"returned instead of ``None``. The regression was introduced by GH-24723. " -"Patch by Erlend E. Aasland." -msgstr "" - -#: ../../../build/NEWS:1328 -msgid "" -"`bpo-43655 `__: :mod:`tkinter` dialog " -"windows are now recognized as dialogs by window managers on macOS and X " -"Window." -msgstr "" - -#: ../../../build/NEWS:1331 -msgid "" -"`bpo-43723 `__: The following " -"``threading`` methods are now deprecated and should be replaced:" -msgstr "" - -#: ../../../build/NEWS:1334 -msgid "``currentThread`` => :func:`threading.current_thread`" -msgstr "" - -#: ../../../build/NEWS:1336 -msgid "``activeCount`` => :func:`threading.active_count`" -msgstr "" - -#: ../../../build/NEWS:1338 -msgid "``Condition.notifyAll`` => :meth:`threading.Condition.notify_all`" -msgstr "" - -#: ../../../build/NEWS:1340 -msgid "``Event.isSet`` => :meth:`threading.Event.is_set`" -msgstr "" - -#: ../../../build/NEWS:1342 -msgid "``Thread.setName`` => :attr:`threading.Thread.name`" -msgstr "" - -#: ../../../build/NEWS:1344 -msgid "``thread.getName`` => :attr:`threading.Thread.name`" -msgstr "" - -#: ../../../build/NEWS:1346 -msgid "``Thread.isDaemon`` => :attr:`threading.Thread.daemon`" -msgstr "" - -#: ../../../build/NEWS:1348 -msgid "``Thread.setDaemon`` => :attr:`threading.Thread.daemon`" -msgstr "" - -#: ../../../build/NEWS:1350 -msgid "Patch by Jelle Zijlstra." -msgstr "" - -#: ../../../build/NEWS:1352 -msgid "" -"`bpo-2135 `__: Deprecate find_module() " -"and find_loader() implementations in importlib and zipimport." -msgstr "" - -#: ../../../build/NEWS:1355 -msgid "" -"`bpo-43534 `__: :func:`turtle.textinput` " -"and :func:`turtle.numinput` create now a transient window working on behalf " -"of the canvas window." -msgstr "" - -#: ../../../build/NEWS:1358 -msgid "" -"`bpo-43532 `__: Add the ability to " -"specify keyword-only fields to dataclasses. These fields will become keyword-" -"only arguments to the generated __init__." -msgstr "" - -#: ../../../build/NEWS:1361 -msgid "" -"`bpo-43522 `__: Fix problem with :attr:" -"`~ssl.SSLContext.hostname_checks_common_name`. OpenSSL does not copy " -"hostflags from *struct SSL_CTX* to *struct SSL*." -msgstr "" - -#: ../../../build/NEWS:1365 -msgid "" -"`bpo-8978 `__: Improve error message for :" -"func:`tarfile.open` when :mod:`lzma` / :mod:`bz2` are unavailable. Patch by " -"Anthony Sottile." -msgstr "" - -#: ../../../build/NEWS:1368 -msgid "" -"`bpo-42967 `__: Allow :class:`bytes` " -"``separator`` argument in ``urllib.parse.parse_qs`` and ``urllib.parse." -"parse_qsl`` when parsing :class:`str` query strings. Previously, this raised " -"a ``TypeError``." -msgstr "" - -#: ../../../build/NEWS:1372 -msgid "" -"`bpo-43296 `__: Improve :mod:`sqlite3` " -"error handling: ``sqlite3_value_blob()`` errors that set ``SQLITE_NOMEM`` " -"now raise :exc:`MemoryError`. Patch by Erlend E. Aasland." -msgstr "" - -#: ../../../build/NEWS:1376 -msgid "" -"`bpo-43312 `__: New functions :func:" -"`sysconfig.get_preferred_scheme` and :func:`sysconfig.get_default_scheme` " -"are added to query a platform for its preferred \"user\", \"home\", and " -"\"prefix\" (default) scheme names." -msgstr "" - -#: ../../../build/NEWS:1380 -msgid "" -"`bpo-43265 `__: Improve :meth:`sqlite3." -"Connection.backup` error handling. The error message for non-existant target " -"database names is now ``unknown database `` instead of ``SQL " -"logic error``. Patch by Erlend E. Aasland." -msgstr "" - -#: ../../../build/NEWS:1385 -msgid "" -"`bpo-41282 `__: Install schemes in :mod:" -"`distutils.command.install` are now loaded from :mod:`sysconfig`." -msgstr "" - -#: ../../../build/NEWS:1388 -msgid "" -"`bpo-41282 `__: :mod:`distutils." -"sysconfig` has been merged to :mod:`sysconfig`." -msgstr "" - -#: ../../../build/NEWS:1390 -msgid "" -"`bpo-43176 `__: Fixed processing of a " -"dataclass that inherits from a frozen dataclass with no fields. It is now " -"correctly detected as an error." -msgstr "" - -#: ../../../build/NEWS:1393 -msgid "" -"`bpo-43080 `__: :mod:`pprint` now has " -"support for :class:`dataclasses.dataclass`. Patch by Lewis Gaul." -msgstr "" - -#: ../../../build/NEWS:1396 -msgid "" -"`bpo-39950 `__: Add `pathlib.Path." -"hardlink_to()` method that supersedes `link_to()`. The new method has the " -"same argument order as `symlink_to()`." -msgstr "" - -#: ../../../build/NEWS:1399 -msgid "" -"`bpo-42904 `__: :func:`typing." -"get_type_hints` now checks the local namespace of a class when evaluating :" -"pep:`563` annotations inside said class." -msgstr "" - -#: ../../../build/NEWS:1402 -msgid "" -"`bpo-42269 `__: Add ``slots`` parameter " -"to ``dataclasses.dataclass`` decorator to automatically generate " -"``__slots__`` for class. Patch provided by Yurii Karabas." -msgstr "" - -#: ../../../build/NEWS:1406 -msgid "" -"`bpo-39529 `__: Deprecated use of :func:" -"`asyncio.get_event_loop` without running event loop. Emit deprecation " -"warning for :mod:`asyncio` functions which implicitly create a :class:" -"`~asyncio.Future` or :class:`~asyncio.Task` objects if there is no running " -"event loop and no explicit *loop* argument is passed: :func:`~asyncio." -"ensure_future`, :func:`~asyncio.wrap_future`, :func:`~asyncio.gather`, :func:" -"`~asyncio.shield`, :func:`~asyncio.as_completed` and constructors of :class:" -"`~asyncio.Future`, :class:`~asyncio.Task`, :class:`~asyncio.StreamReader`, :" -"class:`~asyncio.StreamReaderProtocol`." -msgstr "" - -#: ../../../build/NEWS:1416 -msgid "" -"`bpo-18369 `__: Certificate and " -"PrivateKey classes were added to the ssl module. Certificates and keys can " -"now be loaded from memory buffer, too." -msgstr "" - -#: ../../../build/NEWS:1419 -msgid "" -"`bpo-41486 `__: Use a new output buffer " -"management code for :mod:`bz2` / :mod:`lzma` / :mod:`zlib` modules, and add " -"``.readall()`` function to ``_compression.DecompressReader`` class. These " -"bring some performance improvements. Patch by Ma Lin." -msgstr "" - -#: ../../../build/NEWS:1424 -msgid "" -"`bpo-31870 `__: The :func:`ssl." -"get_server_certificate` function now has a *timeout* parameter." -msgstr "" - -#: ../../../build/NEWS:1427 -msgid "" -"`bpo-41735 `__: Fix thread locks in zlib " -"module may go wrong in rare case. Patch by Ma Lin." -msgstr "" - -#: ../../../build/NEWS:1430 -msgid "" -"`bpo-36470 `__: Fix dataclasses with " -"``InitVar``\\s and :func:`~dataclasses.replace()`. Patch by Claudiu Popa." -msgstr "" - -#: ../../../build/NEWS:1433 -msgid "" -"`bpo-40849 `__: Expose " -"X509_V_FLAG_PARTIAL_CHAIN ssl flag" -msgstr "" - -#: ../../../build/NEWS:1435 -msgid "" -"`bpo-35114 `__: :func:`ssl.RAND_status` " -"now returns a boolean value (as documented) instead of ``1`` or ``0``." -msgstr "" - -#: ../../../build/NEWS:1438 -msgid "" -"`bpo-39906 `__: :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." -msgstr "" - -#: ../../../build/NEWS:1442 -msgid "" -"`bpo-39899 `__: :func:`os.path." -"expanduser()` now refuses to guess Windows home directories if the basename " -"of current user's home directory does not match their username." -msgstr "" - -#: ../../../build/NEWS:1446 -msgid "" -":meth:`pathlib.Path.expanduser()` and :meth:`~pathlib.Path.home()` now " -"consistently raise :exc:`RuntimeError` exception when a home directory " -"cannot be resolved. Previously a :exc:`KeyError` exception could be raised " -"on Windows when the ``\"USERNAME\"`` environment variable was unset." -msgstr "" - -#: ../../../build/NEWS:1451 -msgid "" -"`bpo-36076 `__: Added SNI support to :" -"func:`ssl.get_server_certificate`." -msgstr "" - -#: ../../../build/NEWS:1453 -msgid "" -"`bpo-38490 `__: Covariance, Pearson's " -"correlation, and simple linear regression functionality was added to " -"statistics module. Patch by Tymoteusz Wołodźko." -msgstr "" - -#: ../../../build/NEWS:1456 -msgid "" -"`bpo-33731 `__: Provide a locale." -"localize() function, which converts a normalized number string into a locale " -"format." -msgstr "" - -#: ../../../build/NEWS:1459 -msgid "" -"`bpo-32745 `__: Fix a regression in the " -"handling of ctypes' :data:`ctypes.c_wchar_p` type: embedded null characters " -"would cause a :exc:`ValueError` to be raised. Patch by Zackery Spytz." -msgstr "" - -#: ../../../build/NEWS:1466 -msgid "" -"`bpo-43987 `__: Add \"Annotations Best " -"Practices\" document as a new HOWTO." -msgstr "" - -#: ../../../build/NEWS:1468 -msgid "" -"`bpo-43977 `__: Document the new :const:" -"`Py_TPFLAGS_MAPPING` and :const:`Py_TPFLAGS_SEQUENCE` type flags." -msgstr "" - -#: ../../../build/NEWS:1471 -msgid "" -"`bpo-43959 `__: The documentation on the " -"PyContextVar C-API was clarified." -msgstr "" - -#: ../../../build/NEWS:1473 -msgid "" -"`bpo-43938 `__: Update dataclasses " -"documentation to express that FrozenInstanceError is derived from " -"AttributeError." -msgstr "" - -#: ../../../build/NEWS:1476 -msgid "" -"`bpo-43778 `__: Fix the Sphinx " -"glossary_search extension: create the _static/ sub-directory if it doesn't " -"exist." -msgstr "" - -#: ../../../build/NEWS:1479 -msgid "" -"`bpo-43755 `__: Update documentation to " -"reflect that unparenthesized lambda expressions can no longer be the " -"expression part in an ``if`` clause in comprehensions and generator " -"expressions since Python 3.9." -msgstr "" - -#: ../../../build/NEWS:1483 -msgid "" -"`bpo-43739 `__: Fixing the example code " -"in Doc/extending/extending.rst to declare and initialize the pmodule " -"variable to be of the right type." -msgstr "" - -#: ../../../build/NEWS:1489 -msgid "" -"`bpo-43961 `__: Fix test_logging." -"test_namer_rotator_inheritance() on Windows: use :func:`os.replace` rather " -"than :func:`os.rename`. Patch by Victor Stinner." -msgstr "" - -#: ../../../build/NEWS:1493 -msgid "" -"`bpo-43842 `__: Fix a race condition in " -"the SMTP test of test_logging. Don't close a file descriptor (socket) from a " -"different thread while asyncore.loop() is polling the file descriptor. Patch " -"by Victor Stinner." -msgstr "" - -#: ../../../build/NEWS:1497 -msgid "" -"`bpo-43843 `__: :mod:`test.libregrtest` " -"now marks a test as ENV_CHANGED (altered the execution environment) if a " -"thread raises an exception but does not catch it. It sets a hook on :func:" -"`threading.excepthook`. Use ``--fail-env-changed`` option to mark the test " -"as failed. Patch by Victor Stinner." -msgstr "" - -#: ../../../build/NEWS:1503 -msgid "" -"`bpo-43811 `__: Tests multiple OpenSSL " -"versions on GitHub Actions. Use ccache to speed up testing." -msgstr "" - -#: ../../../build/NEWS:1506 -msgid "" -"`bpo-43791 `__: OpenSSL 3.0.0: Disable " -"testing of legacy protocols TLS 1.0 and 1.1. Tests are failing with " -"TLSV1_ALERT_INTERNAL_ERROR." -msgstr "" - -#: ../../../build/NEWS:1512 -msgid "" -"`bpo-43567 `__: Improved generated code " -"refresh (AST/tokens/opcodes/keywords) on Windows." -msgstr "" - -#: ../../../build/NEWS:1515 -msgid "" -"`bpo-43669 `__: Implement :pep:`644`. " -"Python now requires OpenSSL 1.1.1 or newer." -msgstr "" - -#: ../../../build/NEWS:1521 -msgid "" -"`bpo-35306 `__: Adds additional " -"arguments to :func:`os.startfile` function." -msgstr "" - -#: ../../../build/NEWS:1523 -msgid "" -"`bpo-43538 `__: Avoid raising errors " -"from :meth:`pathlib.Path.exists()` when passed an invalid filename." -msgstr "" - -#: ../../../build/NEWS:1526 -msgid "" -"`bpo-38822 `__: Fixed :func:`os.stat` " -"failing on inaccessible directories with a trailing slash, rather than " -"falling back to the parent directory's metadata. This implicitly affected :" -"func:`os.path.exists` and :func:`os.path.isdir`." -msgstr "" - -#: ../../../build/NEWS:1531 -msgid "" -"`bpo-26227 `__: Fixed decoding of host " -"names in :func:`socket.gethostbyaddr` and :func:`socket.gethostbyname_ex`." -msgstr "" - -#: ../../../build/NEWS:1534 -msgid "" -"`bpo-40432 `__: Updated pegen " -"regeneration script on Windows to find and use Python 3.8 or higher. Prior " -"to this, pegen regeneration already required 3.8 or higher, but the script " -"may have used lower versions of Python." -msgstr "" - -#: ../../../build/NEWS:1538 -msgid "" -"`bpo-43745 `__: Actually updates Windows " -"release to OpenSSL 1.1.1k. Earlier releases were mislabelled and actually " -"included 1.1.1i again." -msgstr "" - -#: ../../../build/NEWS:1541 -msgid "" -"`bpo-43652 `__: Update Tcl and Tk to " -"8.6.11 in Windows installer." -msgstr "" - -#: ../../../build/NEWS:1543 -msgid "" -"`bpo-43492 `__: Upgrade Windows " -"installer to use SQLite 3.35.5." -msgstr "" - -#: ../../../build/NEWS:1545 -msgid "" -"`bpo-30555 `__: Fix ``WindowsConsoleIO`` " -"errors in the presence of fd redirection. Patch by Segev Finer." -msgstr "" - -#: ../../../build/NEWS:1551 -msgid "" -"`bpo-42119 `__: Fix check for macOS SDK " -"paths when building Python. Narrow search to match contents of SDKs, namely " -"only files in ``/System/Library``, ``/System/IOSSupport``, and ``/usr`` " -"other than ``/usr/local``. Previously, anything under ``/System`` was " -"assumed to be in an SDK which causes problems with the new file system " -"layout in 10.15+ where user file systems may appear to be mounted under ``/" -"System``. Paths in ``/Library`` were also incorrectly treated as SDK " -"locations." -msgstr "" - -#: ../../../build/NEWS:1559 -msgid "" -"`bpo-43568 `__: Drop support for " -"MACOSX_DEPLOYMENT_TARGET < 10.3" -msgstr "" - -#: ../../../build/NEWS:1561 -msgid "" -"`bpo-44009 `__: Provide \"python3.x-" -"intel64\" executable to allow reliably forcing macOS universal2 framework " -"builds to run under Rosetta 2 Intel-64 emulation on Apple Silicon Macs. " -"This can be useful for testing or when universal2 wheels are not yet " -"available." -msgstr "" - -#: ../../../build/NEWS:1566 -msgid "" -"`bpo-43851 `__: Build SQLite with " -"``SQLITE_OMIT_AUTOINIT`` on macOS. Patch by Erlend E. Aasland." -msgstr "" - -#: ../../../build/NEWS:1569 -msgid "" -"`bpo-43492 `__: Update macOS installer " -"to use SQLite 3.35.4." -msgstr "" - -#: ../../../build/NEWS:1571 -msgid "" -"`bpo-42235 `__: ``Mac/BuildScript/build-" -"installer.py`` will now use \"--enable-optimizations\" and ``--with-lto`` " -"when building on macOS 10.15 or later." -msgstr "" - -#: ../../../build/NEWS:1578 -msgid "" -"`bpo-37903 `__: Add mouse actions to the " -"shell sidebar. Left click and optional drag selects one or more lines, as " -"with the editor line number sidebar. Right click after selecting raises a " -"context menu with 'copy with prompts'. This zips together prompts from the " -"sidebar with lines from the selected text." -msgstr "" - -#: ../../../build/NEWS:1584 -msgid "" -"`bpo-43981 `__: Fix reference leak in " -"test_squeezer. Patch by Pablo Galindo" -msgstr "" - -#: ../../../build/NEWS:1586 -msgid "" -"`bpo-37892 `__: Indent IDLE Shell input " -"with spaces instead of tabs" -msgstr "" - -#: ../../../build/NEWS:1588 -msgid "" -"`bpo-43655 `__: IDLE dialog windows are " -"now recognized as dialogs by window managers on macOS and X Window." -msgstr "" - -#: ../../../build/NEWS:1591 -msgid "" -"`bpo-37903 `__: IDLE's shell now shows " -"prompts in a separate side-bar." -msgstr "" - -#: ../../../build/NEWS:1596 -msgid "" -"`bpo-43916 `__: Add a new :c:data:" -"`Py_TPFLAGS_DISALLOW_INSTANTIATION` type flag to disallow creating type " -"instances. Patch by Victor Stinner." -msgstr "" - -#: ../../../build/NEWS:1599 -msgid "" -"`bpo-43774 `__: Remove the now unused " -"``PYMALLOC_DEBUG`` macro. Debug hooks on memory allocators are now installed " -"by default if Python is built in debug mode (if ``Py_DEBUG`` macro is " -"defined). Moreover, they can now be used on Python build in release mode " -"(ex: using ``PYTHONMALLOC=debug`` environment variable)." -msgstr "" - -#: ../../../build/NEWS:1605 -msgid "" -"`bpo-43962 `__: " -"_PyInterpreterState_IDIncref() now calls _PyInterpreterState_IDInitref() and " -"always increments id_refcount. Previously, calling _xxsubinterpreters." -"get_current() could create an id_refcount inconsistency when a " -"_xxsubinterpreters.InterpreterID object was deallocated. Patch by Victor " -"Stinner." -msgstr "" - -#: ../../../build/NEWS:1611 -msgid "" -"`bpo-28254 `__: Add new C-API functions " -"to control the state of the garbage collector: :c:func:`PyGC_Enable()`, :c:" -"func:`PyGC_Disable()`, :c:func:`PyGC_IsEnabled()`, corresponding to the " -"functions in the :mod:`gc` module." -msgstr "" - -#: ../../../build/NEWS:1616 -msgid "" -"`bpo-43908 `__: Introduce :const:" -"`Py_TPFLAGS_IMMUTABLETYPE` flag for immutable type objects, and modify :c:" -"func:`PyType_Ready` to set it for static types. Patch by Erlend E. Aasland." -msgstr "" - -#: ../../../build/NEWS:1620 -msgid "" -"`bpo-43795 `__: :c:func:`PyMem_Calloc` " -"is now available in the limited C API (``Py_LIMITED_API``)." -msgstr "" - -#: ../../../build/NEWS:1623 -msgid "" -"`bpo-43868 `__: :c:func:" -"`PyOS_ReadlineFunctionPointer` is no longer exported by limited C API " -"headers and by ``python3.dll`` on Windows. Like any function that takes " -"``FILE*``, it is not part of the stable ABI." -msgstr "" - -#: ../../../build/NEWS:1627 -msgid "" -"`bpo-43795 `__: Stable ABI and limited " -"API definitions are generated from a central manifest (:pep:`652`)." -msgstr "" - -#: ../../../build/NEWS:1630 -msgid "" -"`bpo-43753 `__: 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. Patch by Victor Stinner." -msgstr "" - -#: ../../../build/NEWS:1639 -msgid "Python 3.10.0 alpha 7" -msgstr "" - -#: ../../../build/NEWS:1641 -msgid "*Release date: 2021-04-05*" -msgstr "" - -#: ../../../build/NEWS:1646 -msgid "" -"`bpo-42988 `__: CVE-2021-3426: Remove " -"the ``getfile`` feature of the :mod:`pydoc` module which could be abused to " -"read arbitrary files on the disk (directory traversal vulnerability). " -"Moreover, even source code of Python modules can contain sensitive data like " -"passwords. Vulnerability reported by David Schwörer." -msgstr "" - -#: ../../../build/NEWS:1652 -msgid "" -"`bpo-43285 `__: :mod:`ftplib` no longer " -"trusts the IP address value returned from the server in response to the PASV " -"command by default. This prevents a malicious FTP server from using the " -"response to probe IPv4 address and port combinations on the client network." -msgstr "" - -#: ../../../build/NEWS:1657 -msgid "" -"Code that requires the former vulnerable behavior may set a " -"``trust_server_pasv_ipv4_address`` attribute on their :class:`ftplib.FTP` " -"instances to ``True`` to re-enable it." -msgstr "" - -#: ../../../build/NEWS:1661 -msgid "" -"`bpo-43439 `__: Add audit hooks for :" -"func:`gc.get_objects`, :func:`gc.get_referrers` and :func:`gc." -"get_referents`. Patch by Pablo Galindo." -msgstr "" - -#: ../../../build/NEWS:1668 -msgid "" -"`bpo-27129 `__: Update CPython bytecode " -"magic number." -msgstr "" - -#: ../../../build/NEWS:1670 -msgid "" -"`bpo-43672 `__: Raise ImportWarning when " -"calling find_loader()." -msgstr "" - -#: ../../../build/NEWS:1672 -msgid "" -"`bpo-43660 `__: Fix crash that happens " -"when replacing ``sys.stderr`` with a callable that can remove the object " -"while an exception is being printed. Patch by Pablo Galindo." -msgstr "" - -#: ../../../build/NEWS:1676 -msgid "" -"`bpo-27129 `__: The bytecode interpreter " -"uses instruction, rather byte, offsets internally. This reduces the number " -"of EXTENDED_ARG instructions needed and streamlines instruction dispatch a " -"bit." -msgstr "" - -#: ../../../build/NEWS:1680 -msgid "" -"`bpo-40645 `__: Fix reference leak in " -"the :mod:`_hashopenssl` extension. Patch by Pablo Galindo." -msgstr "" - -#: ../../../build/NEWS:1683 -msgid "" -"`bpo-42134 `__: Calls to find_module() " -"by the import system now raise ImportWarning." -msgstr "" - -#: ../../../build/NEWS:1686 -msgid "" -"`bpo-41064 `__: Improve the syntax error " -"for invalid usage of double starred elements ('**') in f-strings. Patch by " -"Pablo Galindo." -msgstr "" - -#: ../../../build/NEWS:1689 -msgid "" -"`bpo-43575 `__: Speed up calls to " -"``map()`` by using the :pep:`590` ``vectorcall`` calling convention. Patch " -"by Dong-hee Na." -msgstr "" - -#: ../../../build/NEWS:1692 -msgid "" -"`bpo-42137 `__: The import system now " -"prefers using ``__spec__`` for ``ModuleType.__repr__`` over " -"``module_repr()``." -msgstr "" - -#: ../../../build/NEWS:1695 -msgid "" -"`bpo-43452 `__: Added micro-" -"optimizations to ``_PyType_Lookup()`` to improve cache lookup performance in " -"the common case of cache hits." -msgstr "" - -#: ../../../build/NEWS:1698 -msgid "" -"`bpo-43555 `__: Report the column offset " -"for :exc:`SyntaxError` for invalid line continuation characters. Patch by " -"Pablo Galindo." -msgstr "" - -#: ../../../build/NEWS:1701 -msgid "" -"`bpo-43517 `__: Fix misdetection of " -"circular imports when using ``from pkg.mod import attr``, which caused false " -"positives in non-trivial multi-threaded code." -msgstr "" - -#: ../../../build/NEWS:1705 -msgid "" -"`bpo-43497 `__: Emit SyntaxWarnings for " -"assertions with tuple constants, this is a regression introduced in python3.7" -msgstr "" - -#: ../../../build/NEWS:1708 -msgid "" -"`bpo-39316 `__: Tracing now has correct " -"line numbers for attribute accesses when the the attribute is on a different " -"line from the object. Improves debugging and profiling for multi-line method " -"chains." -msgstr "" - -#: ../../../build/NEWS:1712 -msgid "" -"`bpo-35883 `__: Python no longer fails " -"at startup with a fatal error if a command line argument contains an invalid " -"Unicode character. The :c:func:`Py_DecodeLocale` function now escapes byte " -"sequences which would be decoded as Unicode characters outside the [U+0000; U" -"+10ffff] range." -msgstr "" - -#: ../../../build/NEWS:1717 -msgid "" -"`bpo-43410 `__: Fix a bug that was " -"causing the parser to crash when emiting syntax errors when reading input " -"from stdin. Patch by Pablo Galindo" -msgstr "" - -#: ../../../build/NEWS:1720 -msgid "" -"`bpo-43406 `__: Fix a possible race " -"condition where ``PyErr_CheckSignals`` tries to execute a non-Python signal " -"handler." -msgstr "" - -#: ../../../build/NEWS:1723 -msgid "" -"`bpo-42128 `__: Add ``__match_args__`` " -"to :c:type:`structsequence` based classes. Patch by Pablo Galindo." -msgstr "" - -#: ../../../build/NEWS:1726 -msgid "" -"`bpo-43390 `__: CPython now sets the " -"``SA_ONSTACK`` flag in ``PyOS_setsig`` for the VM's default signal " -"handlers. This is friendlier to other in-process code that an extension " -"module or embedding use could pull in (such as Golang's cgo) where tiny " -"thread stacks are the norm and ``sigaltstack()`` has been used to provide " -"for signal handlers. This is a no-op change for the vast majority of " -"processes that don't use sigaltstack." -msgstr "" - -#: ../../../build/NEWS:1733 -msgid "" -"`bpo-43287 `__: Speed up calls to " -"``filter()`` by using the :pep:`590` ``vectorcall`` calling convention. " -"Patch by Dong-hee Na." -msgstr "" - -#: ../../../build/NEWS:1736 -msgid "" -"`bpo-37448 `__: Add a radix tree based " -"memory map to track in-use obmalloc arenas. Use to replace the old " -"implementation of address_in_range(). The radix tree approach makes it easy " -"to increase pool sizes beyond the OS page size. Boosting the pool and arena " -"size allows obmalloc to handle a significantly higher percentage of requests " -"from its ultra-fast paths." -msgstr "" - -#: ../../../build/NEWS:1742 -msgid "" -"It also has the advantage of eliminating the memory unsanitary behavior of " -"the previous address_in_range(). The old address_in_range() was marked with " -"the annotations _Py_NO_SANITIZE_ADDRESS, _Py_NO_SANITIZE_THREAD, and " -"_Py_NO_SANITIZE_MEMORY. Those annotations are no longer needed." -msgstr "" - -#: ../../../build/NEWS:1747 -msgid "" -"To disable the radix tree map, set a preprocessor flag as follows: `-" -"DWITH_PYMALLOC_RADIX_TREE=0`." -msgstr "" - -#: ../../../build/NEWS:1750 -msgid "Co-authored-by: Tim Peters " -msgstr "" - -#: ../../../build/NEWS:1752 -msgid "" -"`bpo-29988 `__: Only handle asynchronous " -"exceptions and requests to drop the GIL when returning from a call or on the " -"back edges of loops. Makes sure that :meth:`__exit__` is always called in " -"with statements, even for interrupts." -msgstr "" - -#: ../../../build/NEWS:1760 -msgid "" -"`bpo-43720 `__: Document various stdlib " -"deprecations in imp, pkgutil, and importlib.util for removal in Python 3.12." -msgstr "" - -#: ../../../build/NEWS:1763 -msgid "" -"`bpo-43433 `__: :class:`xmlrpc.client." -"ServerProxy` no longer ignores query and fragment in the URL of the server." -msgstr "" - -#: ../../../build/NEWS:1766 -msgid "" -"`bpo-31956 `__: The :meth:`~array.array." -"index` method of :class:`array.array` now has optional *start* and *stop* " -"parameters." -msgstr "" - -#: ../../../build/NEWS:1769 -msgid "" -"`bpo-40066 `__: Enum: adjust ``repr()`` " -"to show only enum and member name (not value, nor angle brackets) and " -"``str()`` to show only member name. Update and improve documentation to " -"match." -msgstr "" - -#: ../../../build/NEWS:1773 -msgid "" -"`bpo-42136 `__: Deprecate all " -"module_repr() methods found in importlib as their use is being phased out by " -"Python 3.12." -msgstr "" - -#: ../../../build/NEWS:1776 -msgid "" -"`bpo-35930 `__: Raising an exception " -"raised in a \"future\" instance will create reference cycles." -msgstr "" - -#: ../../../build/NEWS:1779 -msgid "" -"`bpo-41369 `__: Finish updating the " -"vendored libmpdec to version 2.5.1. Patch by Stefan Krah." -msgstr "" - -#: ../../../build/NEWS:1782 -msgid "" -"`bpo-43422 `__: Revert the _decimal C " -"API which was added in `bpo-41324 `__." -msgstr "" - -#: ../../../build/NEWS:1784 -msgid "" -"`bpo-43577 `__: Fix deadlock when using :" -"class:`ssl.SSLContext` debug callback with :meth:`ssl.SSLContext." -"sni_callback`." -msgstr "" - -#: ../../../build/NEWS:1787 -msgid "" -"`bpo-43571 `__: It's now possible to " -"create MPTCP sockets with IPPROTO_MPTCP" -msgstr "" - -#: ../../../build/NEWS:1789 -msgid "" -"`bpo-43542 `__: ``image/heic`` and " -"``image/heif`` were added to :mod:`mimetypes`." -msgstr "" - -#: ../../../build/NEWS:1792 -msgid "" -"`bpo-40645 `__: The :mod:`hmac` module " -"now uses OpenSSL's HMAC implementation when digestmod argument is a hash " -"name or builtin hash function." -msgstr "" - -#: ../../../build/NEWS:1795 -msgid "" -"`bpo-43510 `__: Implement :pep:`597`: " -"Add ``EncodingWarning`` warning, ``-X warn_default_encoding`` option, :" -"envvar:`PYTHONWARNDEFAULTENCODING` environment variable and ``encoding=" -"\"locale\"`` argument value." -msgstr "" - -#: ../../../build/NEWS:1799 -msgid "" -"`bpo-43521 `__: ``ast.unparse`` can now " -"render NaNs and empty sets." -msgstr "" - -#: ../../../build/NEWS:1801 -msgid "" -"`bpo-42914 `__: :func:`pprint.pprint` " -"gains a new boolean ``underscore_numbers`` optional argument to emit " -"integers with thousands separated by an underscore character for improved " -"readability (for example ``1_000_000`` instead of ``1000000``)." -msgstr "" - -#: ../../../build/NEWS:1806 -msgid "" -"`bpo-41361 `__: :meth:`~collections." -"deque.rotate` calls are now slightly faster due to faster argument parsing." -msgstr "" - -#: ../../../build/NEWS:1809 -msgid "" -"`bpo-43423 `__: :func:`subprocess." -"communicate` no longer raises an IndexError when there is an empty stdout or " -"stderr IO buffer during a timeout on Windows." -msgstr "" - -#: ../../../build/NEWS:1813 -msgid "" -"`bpo-27820 `__: Fixed long-standing bug " -"of smtplib.SMTP where doing AUTH LOGIN with initial_response_ok=False will " -"fail." -msgstr "" - -#: ../../../build/NEWS:1816 -msgid "" -"The cause is that SMTP.auth_login _always_ returns a password if provided " -"with a challenge string, thus non-compliant with the standard for AUTH LOGIN." -msgstr "" - -#: ../../../build/NEWS:1820 -msgid "Also fixes bug with the test for smtpd." -msgstr "" - -#: ../../../build/NEWS:1822 -msgid "" -"`bpo-43445 `__: Add frozen modules to :" -"data:`sys.stdlib_module_names`. For example, add ``\"_frozen_importlib\"`` " -"and ``\"_frozen_importlib_external\"`` names." -msgstr "" - -#: ../../../build/NEWS:1826 -msgid "" -"`bpo-43245 `__: Add keyword arguments " -"support to ``ChainMap.new_child()``." -msgstr "" - -#: ../../../build/NEWS:1828 -msgid "" -"`bpo-29982 `__: Add optional parameter " -"*ignore_cleanup_errors* to :func:`tempfile.TemporaryDirectory` and allow " -"multiple :func:`cleanup` attempts. Contributed by C.A.M. Gerlach." -msgstr "" - -#: ../../../build/NEWS:1832 -msgid "" -"`bpo-43428 `__: Include changes from " -"`importlib_metadata 3.7 `_:" -msgstr "" - -#: ../../../build/NEWS:1835 -msgid "Performance enhancements to distribution discovery." -msgstr "" - -#: ../../../build/NEWS:1837 -msgid "``entry_points`` only returns unique distributions." -msgstr "" - -#: ../../../build/NEWS:1839 -msgid "" -"Introduces new ``EntryPoints`` object for containing a set of entry points " -"with convenience methods for selecting entry points by group or name. " -"``entry_points`` now returns this object if selection parameters are " -"supplied but continues to return a dict object for compatibility. Users are " -"encouraged to rely on the selection interface. The dict object result is " -"likely to be deprecated in the future." -msgstr "" - -#: ../../../build/NEWS:1846 -msgid "" -"Added packages_distributions function to return a mapping of packages to the " -"distributions that provide them." -msgstr "" - -#: ../../../build/NEWS:1849 -msgid "" -"`bpo-43332 `__: Improves the networking " -"efficiency of :mod:`http.client` when using a proxy via :meth:" -"`~HTTPConnection.set_tunnel`. Fewer small send calls are made during " -"connection setup." -msgstr "" - -#: ../../../build/NEWS:1853 -msgid "" -"`bpo-43420 `__: Improve performance of :" -"class:`fractions.Fraction` arithmetics for large components. Contributed by " -"Sergey B. Kirpichev." -msgstr "" - -#: ../../../build/NEWS:1856 -msgid "" -"`bpo-43356 `__: Allow passing a signal " -"number to ``_thread.interrupt_main()``." -msgstr "" - -#: ../../../build/NEWS:1858 -msgid "" -"`bpo-43399 `__: Fix ``ElementTree." -"extend`` not working on iterators when using the Python implementation" -msgstr "" - -#: ../../../build/NEWS:1861 -msgid "" -"`bpo-43369 `__: Improve :mod:`sqlite3` " -"error handling: If ``sqlite3_column_text()`` and ``sqlite3_column_blob()`` " -"set ``SQLITE_NOMEM``, :exc:`MemoryError` is now raised. Patch by Erlend E. " -"Aasland." -msgstr "" - -#: ../../../build/NEWS:1866 -msgid "" -"`bpo-43368 `__: Fix a regression " -"introduced in GH-24562, where an empty bytestring was fetched as ``None`` " -"instead of ``b''`` in :mod:`sqlite3`. Patch by Mariusz Felisiak." -msgstr "" - -#: ../../../build/NEWS:1870 -msgid "" -"`bpo-41282 `__: Fixed stacklevel of " -"``DeprecationWarning`` emitted from ``import distutils``." -msgstr "" - -#: ../../../build/NEWS:1873 -msgid "" -"`bpo-42129 `__: ``importlib.resources`` " -"now honors namespace packages, merging resources from each location in the " -"namespace as introduced in ``importlib_resources`` 3.2 and including " -"incidental changes through 5.0.3." -msgstr "" - -#: ../../../build/NEWS:1878 -msgid "" -"`bpo-43295 `__: :meth:`datetime.datetime." -"strptime` now raises ``ValueError`` instead of ``IndexError`` when matching " -"``'z'`` with the ``%z`` format specifier." -msgstr "" - -#: ../../../build/NEWS:1882 -msgid "" -"`bpo-43125 `__: Return empty string if " -"base64mime.body_encode receive empty bytes" -msgstr "" - -#: ../../../build/NEWS:1885 -msgid "" -"`bpo-43084 `__: :func:`curses.window." -"enclose` returns now ``True`` or ``False`` (as was documented) instead of " -"``1`` or ``0``." -msgstr "" - -#: ../../../build/NEWS:1888 -msgid "" -"`bpo-42994 `__: Add MIME types for opus, " -"AAC, 3gpp and 3gpp2" -msgstr "" - -#: ../../../build/NEWS:1890 -msgid "" -"`bpo-14678 `__: Add an " -"invalidate_caches() method to the zipimport.zipimporter class to support " -"importlib.invalidate_caches(). Patch by Desmond Cheong." -msgstr "" - -#: ../../../build/NEWS:1893 -msgid "" -"`bpo-42782 `__: Fail fast in :func:" -"`shutil.move()` to avoid creating destination directories on failure." -msgstr "" - -#: ../../../build/NEWS:1896 -msgid "" -"`bpo-40066 `__: Enum's `repr()` and " -"`str()` have changed: `repr()` is now *EnumClass.MemberName* and `str()` is " -"*MemberName*. Additionally, stdlib Enum's whose contents are available as " -"module attributes, such as `RegexFlag.IGNORECASE`, have their `repr()` as " -"*module.name*, e.g. `re.IGNORECASE`." -msgstr "" - -#: ../../../build/NEWS:1902 -msgid "" -"`bpo-26053 `__: Fixed bug where the :mod:" -"`pdb` interactive run command echoed the args from the shell command line, " -"even if those have been overridden at the pdb prompt." -msgstr "" - -#: ../../../build/NEWS:1906 -msgid "" -"`bpo-24160 `__: Fixed bug where " -"breakpoints did not persist across multiple debugger sessions in :mod:" -"`pdb`'s interactive mode." -msgstr "" - -#: ../../../build/NEWS:1909 -msgid "" -"`bpo-40701 `__: When the :data:`tempfile." -"tempdir` global variable is set to a value of type bytes, it is now handled " -"consistently. Previously exceptions could be raised from some tempfile APIs " -"when the directory did not already exist in this situation. Also ensures " -"that the :func:`tempfile.gettempdir()` and :func:`tempfile.gettempdirb()` " -"functions *always* return ``str`` and ``bytes`` respectively." -msgstr "" - -#: ../../../build/NEWS:1916 -msgid "" -"`bpo-39342 `__: Expose " -"``X509_V_FLAG_ALLOW_PROXY_CERTS`` as :data:`~ssl.VERIFY_ALLOW_PROXY_CERTS` " -"to allow proxy certificate validation as explained in https://www.openssl." -"org/docs/man1.1.1/man7/proxy-certificates.html." -msgstr "" - -#: ../../../build/NEWS:1921 -msgid "" -"`bpo-31861 `__: Add builtins.aiter and " -"builtins.anext. Patch by Joshua Bronson (@jab), Daniel Pope (@lordmauve), " -"and Justin Wang (@justin39)." -msgstr "" - -#: ../../../build/NEWS:1927 -msgid "" -"`bpo-43199 `__: Answer \"Why is there no " -"goto?\" in the Design and History FAQ." -msgstr "" - -#: ../../../build/NEWS:1929 -msgid "" -"`bpo-43407 `__: Clarified that a result " -"from :func:`time.monotonic`, :func:`time.perf_counter`, :func:`time." -"process_time`, or :func:`time.thread_time` can be compared with the result " -"from any following call to the same function - not just the next immediate " -"call." -msgstr "" - -#: ../../../build/NEWS:1934 -msgid "" -"`bpo-43354 `__: Fix type documentation " -"for ``Fault.faultCode``; the type has to be ``int`` instead of ``str``." -msgstr "" - -#: ../../../build/NEWS:1937 -msgid "" -"`bpo-41933 `__: Clarified wording of s * " -"n in the Common Sequence Operations" -msgstr "" - -#: ../../../build/NEWS:1942 -msgid "" -"`bpo-37945 `__: Fix " -"test_getsetlocale_issue1813() of test_locale: skip the test if " -"``setlocale()`` fails. Patch by Victor Stinner." -msgstr "" - -#: ../../../build/NEWS:1945 -msgid "" -"`bpo-41561 `__: Add workaround for " -"Ubuntu's custom OpenSSL security level policy." -msgstr "" - -#: ../../../build/NEWS:1951 -msgid "" -"`bpo-43179 `__: Introduce and correctly " -"use ALIGNOF_X in place of SIZEOF_X for alignment-related code in optimized " -"string routines. Patch by Jessica Clarke." -msgstr "" - -#: ../../../build/NEWS:1955 -msgid "" -"`bpo-43631 `__: Update macOS, Windows, " -"and CI to OpenSSL 1.1.1k." -msgstr "" - -#: ../../../build/NEWS:1957 -msgid "" -"`bpo-43617 `__: Improve configure.ac: " -"Check for presence of autoconf-archive package and remove our copies of M4 " -"macros." -msgstr "" - -#: ../../../build/NEWS:1960 -msgid "" -"`bpo-43466 `__: The ``configure`` script " -"now supports ``--with-openssl-rpath`` option." -msgstr "" - -#: ../../../build/NEWS:1963 -msgid "" -"`bpo-43372 `__: Use " -"``_freeze_importlib`` to generate code for the ``__hello__`` module. This " -"approach ensures the code matches the interpreter version. Previously, " -"PYTHON_FOR_REGEN was used to generate the code, which might be wrong. The " -"marshal format for code objects has changed with `bpo-42246 `__, commit 877df851. Update the code and the expected " -"code sizes in ctypes test_frozentable." -msgstr "" - -#: ../../../build/NEWS:1973 -msgid "" -"`bpo-43440 `__: Build :mod:`sqlite3` " -"with the ``R*Tree`` module enabled. Patch by Erlend E. Aasland." -msgstr "" - -#: ../../../build/NEWS:1979 -msgid "" -"`bpo-42225 `__: Document that IDLE can " -"fail on Unix either from misconfigured IP masquerage rules or failure " -"displaying complex colored (non-ascii) characters." -msgstr "" - -#: ../../../build/NEWS:1986 -msgid "" -"`bpo-43688 `__: The limited C API is now " -"supported if 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`)." -msgstr "" - -#: ../../../build/NEWS:1996 -msgid "" -"The limited C API is still not supported in the ``--with-trace-refs`` " -"special build (``Py_TRACE_REFS`` macro)." -msgstr "" - -#: ../../../build/NEWS:1999 ../../../build/NEWS:2055 -msgid "Patch by Victor Stinner." -msgstr "" - -#: ../../../build/NEWS:2001 -msgid "" -"`bpo-43244 `__: Remove the ``pyarena.h`` " -"header file with functions:" -msgstr "" - -#: ../../../build/NEWS:2003 -msgid "``PyArena_New()``" -msgstr "" - -#: ../../../build/NEWS:2004 -msgid "``PyArena_Free()``" -msgstr "" - -#: ../../../build/NEWS:2005 -msgid "``PyArena_Malloc()``" -msgstr "" - -#: ../../../build/NEWS:2006 -msgid "``PyArena_AddPyObject()``" -msgstr "" - -#: ../../../build/NEWS:2008 -msgid "" -"These functions were undocumented, excluded from the limited C API, and were " -"only used internally by the compiler. Patch by Victor Stinner." -msgstr "" - -#: ../../../build/NEWS:2011 -msgid "" -"`bpo-43244 `__: Remove the compiler and " -"parser functions using ``struct _mod`` type, because the public AST C API " -"was removed:" -msgstr "" - -#: ../../../build/NEWS:2014 -msgid "``PyAST_Compile()``" -msgstr "" - -#: ../../../build/NEWS:2015 -msgid "``PyAST_CompileEx()``" -msgstr "" - -#: ../../../build/NEWS:2016 -msgid "``PyAST_CompileObject()``" -msgstr "" - -#: ../../../build/NEWS:2017 -msgid "``PyFuture_FromAST()``" -msgstr "" - -#: ../../../build/NEWS:2018 -msgid "``PyFuture_FromASTObject()``" -msgstr "" - -#: ../../../build/NEWS:2019 -msgid "``PyParser_ASTFromFile()``" -msgstr "" - -#: ../../../build/NEWS:2020 -msgid "``PyParser_ASTFromFileObject()``" -msgstr "" - -#: ../../../build/NEWS:2021 -msgid "``PyParser_ASTFromFilename()``" -msgstr "" - -#: ../../../build/NEWS:2022 -msgid "``PyParser_ASTFromString()``" -msgstr "" - -#: ../../../build/NEWS:2023 -msgid "``PyParser_ASTFromStringObject()``" -msgstr "" - -#: ../../../build/NEWS:2025 -msgid "" -"These functions were undocumented and excluded from the limited C API. Patch " -"by Victor Stinner." -msgstr "" - -#: ../../../build/NEWS:2028 -msgid "" -"`bpo-43244 `__: Remove ``ast.h``, ``asdl." -"h``, and ``Python-ast.h`` header files. These functions were undocumented " -"and excluded from the limited C API. Most names defined by these header " -"files were not prefixed by ``Py`` and so could create names conflicts. For " -"example, ``Python-ast.h`` defined a ``Yield`` macro which was conflict with " -"the ``Yield`` name used by the Windows ```` header. Use the " -"Python :mod:`ast` module instead. Patch by Victor Stinner." -msgstr "" - -#: ../../../build/NEWS:2036 -msgid "" -"`bpo-43541 `__: Fix a " -"``PyEval_EvalCodeEx()`` regression: fix reference counting on builtins. " -"Patch by Victor Stinner." -msgstr "" - -#: ../../../build/NEWS:2039 -msgid "" -"`bpo-43244 `__: Remove the ``symtable." -"h`` header file and the undocumented functions:" -msgstr "" - -#: ../../../build/NEWS:2042 -msgid "``PyST_GetScope()``" -msgstr "" - -#: ../../../build/NEWS:2043 -msgid "``PySymtable_Build()``" -msgstr "" - -#: ../../../build/NEWS:2044 -msgid "``PySymtable_BuildObject()``" -msgstr "" - -#: ../../../build/NEWS:2045 -msgid "``PySymtable_Free()``" -msgstr "" - -#: ../../../build/NEWS:2046 -msgid "``Py_SymtableString()``" -msgstr "" - -#: ../../../build/NEWS:2047 -msgid "``Py_SymtableStringObject()``" -msgstr "" - -#: ../../../build/NEWS:2049 -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 " -"from the limited C API." -msgstr "" - -#: ../../../build/NEWS:2053 -msgid "The Python :mod:`symtable` module remains available and is unchanged." -msgstr "" - -#: ../../../build/NEWS:2057 -msgid "" -"`bpo-43244 `__: 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 already " -"excluded from the limited C API (:pep:`384`). Patch by Victor Stinner." -msgstr "" - -#: ../../../build/NEWS:2064 -msgid "Python 3.10.0 alpha 6" -msgstr "" - -#: ../../../build/NEWS:2066 -msgid "*Release date: 2021-03-01*" -msgstr "" - -#: ../../../build/NEWS:2071 -msgid "" -"`bpo-42967 `__: Fix web cache poisoning " -"vulnerability by defaulting the query args separator to ``&``, and allowing " -"the user to choose a custom separator." -msgstr "" - -#: ../../../build/NEWS:2078 -msgid "" -"`bpo-43321 `__: Fix ``SystemError`` " -"raised when ``PyArg_Parse*()`` is used with ``#`` but without " -"``PY_SSIZE_T_CLEAN`` defined." -msgstr "" - -#: ../../../build/NEWS:2081 -msgid "" -"`bpo-36346 `__: ``PyArg_Parse*()`` " -"functions now emits ``DeprecationWarning`` when ``u`` or ``Z`` format is " -"used. See :pep:`623` for detail." -msgstr "" - -#: ../../../build/NEWS:2084 -msgid "" -"`bpo-43277 `__: 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. Patch by Pablo " -"Galindo." -msgstr "" - -#: ../../../build/NEWS:2088 -msgid "" -"`bpo-42990 `__: 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 overriden with this syntax: it also inherits " -"the current builtins. Patch by Victor Stinner." -msgstr "" - -#: ../../../build/NEWS:2096 -msgid "" -"`bpo-42990 `__: Functions have a new " -"``__builtins__`` attribute which is used to look for builtin symbols when a " -"function is executed, instead of looking into " -"``__globals__['__builtins__']``. Patch by Mark Shannon and Victor Stinner." -msgstr "" - -#: ../../../build/NEWS:2101 -msgid "" -"`bpo-43149 `__: Improve the error " -"message in the parser for exception groups without parentheses. Patch by " -"Pablo Galindo." -msgstr "" - -#: ../../../build/NEWS:2104 -msgid "" -"`bpo-43121 `__: Fixed an incorrect :exc:" -"`SyntaxError` message for missing comma in literals. Patch by Pablo Galindo." -msgstr "" - -#: ../../../build/NEWS:2107 -msgid "" -"`bpo-42819 `__: :mod:`readline`: " -"Explicitly disable bracketed paste in the interactive interpreter, even if " -"it's set in the inputrc, is enabled by default (eg GNU Readline 8.1), or a " -"user calls ``readline.read_init_file()``. The Python REPL has not " -"implemented bracketed paste support. Also, bracketed mode writes the ``" -"\"\\x1b[?2004h\"`` escape sequence into stdout which causes test failures in " -"applications that don't support it. It can still be explicitly enabled by " -"calling ``readline.parse_and_bind(\"set enable-bracketed-paste on\")``. " -"Patch by Dustin Rodrigues." -msgstr "" - -#: ../../../build/NEWS:2117 -msgid "" -"`bpo-42808 `__: Simple calls to " -"``type(object)`` are now faster due to the ``vectorcall`` calling " -"convention. Patch by Dennis Sweeney." -msgstr "" - -#: ../../../build/NEWS:2120 -msgid "" -"`bpo-42217 `__: Make the compiler merges " -"same co_code and co_linetable objects in a module like already did for " -"co_consts." -msgstr "" - -#: ../../../build/NEWS:2123 -msgid "" -"`bpo-41972 `__: Substring search " -"functions such as ``str1 in str2`` and ``str2.find(str1)`` now sometimes use " -"the \"Two-Way\" string comparison algorithm to avoid quadratic behavior on " -"long strings." -msgstr "" - -#: ../../../build/NEWS:2127 -msgid "" -"`bpo-42128 `__: Implement :pep:`634` " -"(structural pattern matching). Patch by Brandt Bucher." -msgstr "" - -#: ../../../build/NEWS:2130 -msgid "" -"`bpo-40692 `__: In the :class:" -"`concurrent.futures.ProcessPoolExecutor`, validate that :func:`multiprocess." -"synchronize` is available on a given platform and rely on that check in the :" -"mod:`concurrent.futures` test suite so we can run tests that are unrelated " -"to :class:`ProcessPoolExecutor` on those platforms." -msgstr "" - -#: ../../../build/NEWS:2136 -msgid "" -"`bpo-38302 `__: If :func:`object." -"__ipow__` returns :const:`NotImplemented`, the operator will correctly fall " -"back to :func:`object.__pow__` and :func:`object.__rpow__` as expected." -msgstr "" - -#: ../../../build/NEWS:2143 -msgid "" -"`bpo-43316 `__: The ``python -m gzip`` " -"command line application now properly fails when detecting an unsupported " -"extension. It exits with a non-zero exit code and prints an error message to " -"stderr." -msgstr "" - -#: ../../../build/NEWS:2147 -msgid "" -"`bpo-43317 `__: Set the chunk size for " -"the ``gzip`` module main function to io.DEFAULT_BUFFER_SIZE. This is " -"slightly faster than the 1024 bytes constant that was used previously." -msgstr "" - -#: ../../../build/NEWS:2151 -msgid "" -"`bpo-43146 `__: Handle None in single-" -"arg versions of :func:`~traceback.print_exception` and :func:`~traceback." -"format_exception`." -msgstr "" - -#: ../../../build/NEWS:2155 -msgid "" -"`bpo-43260 `__: Fix TextIOWrapper can " -"not flush internal buffer forever after very large text is written." -msgstr "" - -#: ../../../build/NEWS:2158 -msgid "" -"`bpo-43258 `__: Prevent needless " -"allocation of :mod:`sqlite3` aggregate function context when no rows match " -"an aggregate query. Patch by Erlend E. Aasland." -msgstr "" - -#: ../../../build/NEWS:2162 -msgid "" -"`bpo-43251 `__: Improve :mod:`sqlite3` " -"error handling: ``sqlite3_column_name()`` failures now result in :exc:" -"`MemoryError`. Patch by Erlend E. Aasland." -msgstr "" - -#: ../../../build/NEWS:2166 -msgid "" -"`bpo-40956 `__: Fix segfault in :meth:" -"`sqlite3.Connection.backup` if no argument was provided. The regression was " -"introduced by GH-23838. Patch by Erlend E. Aasland." -msgstr "" - -#: ../../../build/NEWS:2170 -msgid "" -"`bpo-43172 `__: The readline module now " -"passes its tests when built directly against libedit. Existing " -"irreconcilable API differences remain in :func:`readline.get_begidx` and :" -"func:`readline.get_endidx` behavior based on libreadline vs libedit use." -msgstr "" - -#: ../../../build/NEWS:2175 -msgid "" -"`bpo-43163 `__: Fix a bug in :mod:" -"`codeop` that was causing it to not ask for more input when multi-line " -"snippets have unclosed parentheses. Patch by Pablo Galindo" -msgstr "" - -#: ../../../build/NEWS:2179 -msgid "" -"`bpo-43162 `__: deprecate unsupported " -"ability to access enum members as attributes of other enum members" -msgstr "" - -#: ../../../build/NEWS:2182 -msgid "" -"`bpo-43146 `__: Fix recent regression in " -"None argument handling in :mod:`~traceback` module functions." -msgstr "" - -#: ../../../build/NEWS:2185 -msgid "" -"`bpo-43102 `__: The namedtuple __new__ " -"method had its __builtins__ set to None instead of an actual dictionary. " -"This created problems for introspection tools." -msgstr "" - -#: ../../../build/NEWS:2189 -msgid "" -"`bpo-43106 `__: Added :data:`~os." -"O_EVTONLY`, :data:`~os.O_FSYNC`, :data:`~os.O_SYMLINK` and :data:`~os." -"O_NOFOLLOW_ANY` for macOS. Patch by Dong-hee Na." -msgstr "" - -#: ../../../build/NEWS:2193 -msgid "" -"`bpo-42960 `__: Adds :data:`resource." -"RLIMIT_KQUEUES` constant from FreeBSD to the :mod:`resource` module." -msgstr "" - -#: ../../../build/NEWS:2196 -msgid "" -"`bpo-42151 `__: Make the pure Python " -"implementation of :mod:`xml.etree.ElementTree` behave the same as the C " -"implementation (:mod:`_elementree`) regarding default attribute values (by " -"not setting ``specified_attributes=1``)." -msgstr "" - -#: ../../../build/NEWS:2201 -msgid "" -"`bpo-29753 `__: In ctypes, now packed " -"bitfields are calculated properly and the first item of packed bitfields is " -"now shrank correctly." -msgstr "" - -#: ../../../build/NEWS:2207 -msgid "" -"`bpo-27646 `__: Clarify that 'yield from " -"' works with any iterable, not just iterators." -msgstr "" - -#: ../../../build/NEWS:2210 -msgid "" -"`bpo-36346 `__: Update some deprecated " -"unicode APIs which are documented as \"will be removed in 4.0\" to \"3.12\". " -"See :pep:`623` for detail." -msgstr "" - -#: ../../../build/NEWS:2216 -msgid "" -"`bpo-43288 `__: Fix test_importlib to " -"correctly skip Unicode file tests if the fileystem does not support them." -msgstr "" - -#: ../../../build/NEWS:2222 -msgid "" -"`bpo-43174 `__: Windows build now uses " -"``/utf-8`` compiler option." -msgstr "" - -#: ../../../build/NEWS:2224 -msgid "" -"`bpo-43103 `__: Add a new configure ``--" -"without-static-libpython`` option to not build the ``libpythonMAJOR.MINOR." -"a`` static library and not install the ``python.o`` object file." -msgstr "" - -#: ../../../build/NEWS:2228 -msgid "" -"`bpo-13501 `__: The configure script can " -"now use *libedit* instead of *readline* with the command line option ``--" -"with-readline=editline``." -msgstr "" - -#: ../../../build/NEWS:2231 -msgid "" -"`bpo-42603 `__: Make configure script " -"use pkg-config to detect the location of Tcl/Tk headers and libraries, used " -"to build tkinter." -msgstr "" - -#: ../../../build/NEWS:2234 -msgid "" -"On macOS, a Tcl/Tk configuration provided by pkg-config will be preferred " -"over Tcl/Tk frameworks installed in ``/{System/,}Library/Frameworks``. If " -"both exist and the latter is preferred, the appropriate ``--with-tcltk-*`` " -"configuration options need to be explicitly set." -msgstr "" - -#: ../../../build/NEWS:2239 -msgid "" -"`bpo-39448 `__: Add the \"regen-frozen\" " -"makefile target that regenerates the code for the frozen ``__hello__`` " -"module." -msgstr "" - -#: ../../../build/NEWS:2245 -msgid "" -"`bpo-43155 `__: :c:func:`PyCMethod_New` " -"is now present in ``python3.lib``." -msgstr "" - -#: ../../../build/NEWS:2250 -msgid "" -"`bpo-41837 `__: Update macOS installer " -"build to use OpenSSL 1.1.1j." -msgstr "" - -#: ../../../build/NEWS:2255 -msgid "" -"`bpo-43283 `__: Document why printing to " -"IDLE's Shell is often slower than printing to a system terminal and that it " -"can be made faster by pre-formatting a single string before printing." -msgstr "" - -#: ../../../build/NEWS:2262 -msgid "" -"`bpo-43278 `__: Always put compiler and " -"system information on the first line of the REPL welcome message." -msgstr "" - -#: ../../../build/NEWS:2265 -msgid "" -"`bpo-43270 `__: Remove the private " -"``_PyErr_OCCURRED()`` macro: use the public :c:func:`PyErr_Occurred` " -"function instead." -msgstr "" - -#: ../../../build/NEWS:2268 -msgid "" -"`bpo-35134 `__: Move odictobject.h, " -"parser_interface.h, picklebufobject.h, pydebug.h, and pyfpe.h into the " -"cpython/ directory. They must not be included directly, as they are already " -"included by Python.h: :ref:`Include Files `." -msgstr "" - -#: ../../../build/NEWS:2273 -msgid "" -"`bpo-35134 `__: Move pyarena.h, pyctype." -"h, and pytime.h into the cpython/ directory. They must not be included " -"directly, as they are already included by Python.h: :ref:`Include Files `." -msgstr "" - -#: ../../../build/NEWS:2277 -msgid "" -"`bpo-40170 `__: :c:func:" -"`PyExceptionClass_Name` is now always declared as a function, in order to " -"hide implementation details. The macro accessed :c:member:`PyTypeObject." -"tp_name` directly. Patch by Erlend E. Aasland." -msgstr "" - -#: ../../../build/NEWS:2281 -msgid "" -"`bpo-43239 `__: The :c:func:" -"`PyCFunction_New` function is now exported in the ABI when compiled with ``-" -"fvisibility=hidden``." -msgstr "" - -#: ../../../build/NEWS:2284 -msgid "" -"`bpo-40170 `__: :c:func:`PyIter_Check` " -"is now always declared as a function, in order to hide implementation " -"details. The macro accessed :c:member:`PyTypeObject.tp_iternext` directly. " -"Patch by Erlend E. Aasland." -msgstr "" - -#: ../../../build/NEWS:2288 -msgid "" -"`bpo-40170 `__: Convert :c:func:" -"`PyDescr_IsData` macro to a function to hide implementation details: The " -"macro accessed :c:member:`PyTypeObject.tp_descr_set` directly. Patch by " -"Erlend E. Aasland." -msgstr "" - -#: ../../../build/NEWS:2293 -msgid "" -"`bpo-43181 `__: Convert :c:func:" -"`PyObject_TypeCheck` macro to a static inline function. Patch by Erlend E. " -"Aasland." -msgstr "" - -#: ../../../build/NEWS:2298 -msgid "Python 3.10.0 alpha 5" -msgstr "" - -#: ../../../build/NEWS:2300 -msgid "*Release date: 2021-02-02*" -msgstr "" - -#: ../../../build/NEWS:2305 -msgid "" -"`bpo-42938 `__: Avoid static buffers " -"when computing the repr of :class:`ctypes.c_double` and :class:`ctypes." -"c_longdouble` values." -msgstr "" - -#: ../../../build/NEWS:2311 -msgid "" -"`bpo-42990 `__: Refactor the ``PyEval_`` " -"family of functions." -msgstr "" - -#: ../../../build/NEWS:2313 -msgid "" -"An new function ``_PyEval_Vector`` is added to simplify calls to Python from " -"C." -msgstr "" - -#: ../../../build/NEWS:2314 -msgid "``_PyEval_EvalCodeWithName`` is removed" -msgstr "" - -#: ../../../build/NEWS:2315 -msgid "" -"``PyEval_EvalCodeEx`` is retained as part of the API, but is not used " -"internally" -msgstr "" - -#: ../../../build/NEWS:2317 -msgid "" -"`bpo-38631 `__: Replace :c:func:" -"`Py_FatalError` calls in the compiler with regular :exc:`SystemError` " -"exceptions. Patch by Victor Stinner." -msgstr "" - -#: ../../../build/NEWS:2320 -msgid "" -"`bpo-42997 `__: Improve error message " -"for missing \":\" before blocks. Patch by Pablo Galindo." -msgstr "" - -#: ../../../build/NEWS:2323 -msgid "" -"`bpo-43017 `__: Improve error message in " -"the parser when using un-parenthesised tuples in comprehensions. Patch by " -"Pablo Galindo." -msgstr "" - -#: ../../../build/NEWS:2326 -msgid "" -"`bpo-42986 `__: Fix parser crash when " -"reporting syntax errors in f-string with newlines. Patch by Pablo Galindo." -msgstr "" - -#: ../../../build/NEWS:2329 -msgid "" -"`bpo-40176 `__: Syntax errors for " -"unterminated string literals now point to the start of the string instead of " -"reporting EOF/EOL." -msgstr "" - -#: ../../../build/NEWS:2332 -msgid "" -"`bpo-42927 `__: The inline cache for " -"``LOAD_ATTR`` now also optimizes access to attributes defined by " -"``__slots__``. This makes reading such attribute up to 30% faster." -msgstr "" - -#: ../../../build/NEWS:2336 -msgid "" -"`bpo-42864 `__: Improve error messages " -"in the parser when parentheses are not closed. Patch by Pablo Galindo." -msgstr "" - -#: ../../../build/NEWS:2339 -msgid "" -"`bpo-42924 `__: Fix ``bytearray`` " -"repetition incorrectly copying data from the start of the buffer, even if " -"the data is offset within the buffer (e.g. after reassigning a slice at the " -"start of the ``bytearray`` to a shorter byte string)." -msgstr "" - -#: ../../../build/NEWS:2344 -msgid "" -"`bpo-42882 `__: Fix the :c:func:" -"`_PyUnicode_FromId` function (_Py_IDENTIFIER(var) API) when :c:func:" -"`Py_Initialize` / :c:func:`Py_Finalize` is called multiple times: preserve " -"``_PyRuntime.unicode_ids.next_index`` value." -msgstr "" - -#: ../../../build/NEWS:2349 -msgid "" -"`bpo-42827 `__: Fix a crash when working " -"out the error line of a :exc:`SyntaxError` in some multi-line expressions." -msgstr "" - -#: ../../../build/NEWS:2352 -msgid "" -"`bpo-42823 `__: frame.f_lineno is " -"correct even if frame.f_trace is set to True" -msgstr "" - -#: ../../../build/NEWS:2354 -msgid "" -"`bpo-37324 `__: Remove deprecated " -"aliases to :ref:`collections-abstract-base-classes` from the :mod:" -"`collections` module." -msgstr "" - -#: ../../../build/NEWS:2358 -msgid "" -"`bpo-41994 `__: Fixed possible leak in " -"``import`` when ``sys.modules`` is not a ``dict``." -msgstr "" - -#: ../../../build/NEWS:2361 -msgid "" -"`bpo-27772 `__: In string formatting, " -"preceding the *width* field by ``'0'`` no longer affects the default " -"alignment for strings." -msgstr "" - -#: ../../../build/NEWS:2367 -msgid "" -"`bpo-43108 `__: Fixed a reference leak " -"in the :mod:`curses` module. Patch by Pablo Galindo" -msgstr "" - -#: ../../../build/NEWS:2370 -msgid "" -"`bpo-43077 `__: Update the bundled pip " -"to 21.0.1 and setuptools to 52.0.0." -msgstr "" - -#: ../../../build/NEWS:2372 -msgid "" -"`bpo-41282 `__: Deprecate ``distutils`` " -"in documentation and add warning on import." -msgstr "" - -#: ../../../build/NEWS:2375 -msgid "" -"`bpo-43014 `__: Improve performance of :" -"mod:`tokenize` by 20-30%. Patch by Anthony Sottile." -msgstr "" - -#: ../../../build/NEWS:2378 -msgid "" -"`bpo-42323 `__: Fix :func:`math." -"nextafter` for NaN on AIX." -msgstr "" - -#: ../../../build/NEWS:2380 -msgid "" -"`bpo-42955 `__: Add :data:`sys." -"stdlib_module_names`, containing the list of the standard library module " -"names. Patch by Victor Stinner." -msgstr "" - -#: ../../../build/NEWS:2383 -msgid "" -"`bpo-42944 `__: Fix ``random.Random." -"sample`` when ``counts`` argument is not ``None``." -msgstr "" - -#: ../../../build/NEWS:2386 -msgid "" -"`bpo-42934 `__: Use :class:`~traceback." -"TracebackException`'s new ``compact`` param in :class:`~unittest.TestResult` " -"to reduce time and memory consumed by traceback formatting." -msgstr "" - -#: ../../../build/NEWS:2390 -msgid "" -"`bpo-42931 `__: Add :func:`randbytes` to " -"``random.__all__``." -msgstr "" - -#: ../../../build/NEWS:2392 -msgid "" -"`bpo-38250 `__: [Enum] Flags consisting " -"of a single bit are now considered canonical, and will be the only flags " -"returned from listing and iterating over a Flag class or a Flag member. " -"Multi-bit flags are considered aliases; they will be returned from lookups " -"and operations that result in their value. Iteration for both Flag and Flag " -"members is in definition order." -msgstr "" - -#: ../../../build/NEWS:2399 -msgid "" -"`bpo-42877 `__: Added the ``compact`` " -"parameter to the constructor of :class:`traceback.TracebackException` to " -"reduce time and memory for use cases that only need to call :func:" -"`TracebackException.format` and :func:`TracebackException." -"format_exception_only`." -msgstr "" - -#: ../../../build/NEWS:2404 -msgid "" -"`bpo-42923 `__: The :c:func:" -"`Py_FatalError` function and the :mod:`faulthandler` module now dump the " -"list of extension modules on a fatal error." -msgstr "" - -#: ../../../build/NEWS:2408 -msgid "" -"`bpo-42848 `__: Removed recursion from :" -"class:`~traceback.TracebackException` to allow it to handle long exception " -"chains." -msgstr "" - -#: ../../../build/NEWS:2411 -msgid "" -"`bpo-42901 `__: [Enum] move member " -"creation from ``EnumMeta.__new__`` to ``_proto_member.__set_name__``, " -"allowing members to be created and visible in ``__init_subclass__``." -msgstr "" - -#: ../../../build/NEWS:2415 -msgid "" -"`bpo-42780 `__: Fix os.set_inheritable() " -"for O_PATH file descriptors on Linux." -msgstr "" - -#: ../../../build/NEWS:2417 -msgid "" -"`bpo-42866 `__: Fix a reference leak in " -"the ``getcodec()`` function of CJK codecs. Patch by Victor Stinner." -msgstr "" - -#: ../../../build/NEWS:2420 -msgid "" -"`bpo-42846 `__: Convert the 6 CJK codec " -"extension modules (_codecs_cn, _codecs_hk, _codecs_iso2022, _codecs_jp, " -"_codecs_kr and _codecs_tw) to the multiphase initialization API (:pep:" -"`489`). Patch by Victor Stinner." -msgstr "" - -#: ../../../build/NEWS:2424 -msgid "" -"`bpo-42851 `__: remove __init_subclass__ " -"support for Enum members" -msgstr "" - -#: ../../../build/NEWS:2426 -msgid "" -"`bpo-42834 `__: Make internal caches of " -"the ``_json`` module compatible with subinterpreters." -msgstr "" - -#: ../../../build/NEWS:2429 -msgid "" -"`bpo-41748 `__: Fix HTMLParser parsing " -"rules for element attributes containing commas with spaces. Patch by Karl " -"Dubost." -msgstr "" - -#: ../../../build/NEWS:2432 -msgid "" -"`bpo-40810 `__: Require SQLite 3.7.15 or " -"newer. Patch by Erlend E. Aasland." -msgstr "" - -#: ../../../build/NEWS:2434 -msgid "" -"`bpo-1635741 `__: Convert the " -"_multibytecodec extension module (CJK codecs) to multi-phase initialization " -"(:pep:`489`). Patch by Erlend E. Aasland." -msgstr "" - -#: ../../../build/NEWS:2437 -msgid "" -"`bpo-42802 `__: The distutils " -"``bdist_wininst`` command deprecated in Python 3.8 has been removed. The " -"distutils ``bdist_wheel`` command is now recommended to distribute binary " -"packages on Windows." -msgstr "" - -#: ../../../build/NEWS:2441 -msgid "" -"`bpo-24464 `__: The undocumented built-" -"in function ``sqlite3.enable_shared_cache`` is now deprecated, scheduled for " -"removal in Python 3.12. Its use is strongly discouraged by the SQLite3 " -"documentation. Patch by Erlend E. Aasland." -msgstr "" - -#: ../../../build/NEWS:2446 -msgid "" -"`bpo-42384 `__: Make pdb populate sys." -"path[0] exactly the same as regular python execution." -msgstr "" - -#: ../../../build/NEWS:2449 -msgid "" -"`bpo-42383 `__: Fix pdb: previously pdb " -"would fail to restart the debugging target if it was specified using a " -"relative path and the current directory changed." -msgstr "" - -#: ../../../build/NEWS:2453 -msgid "" -"`bpo-42005 `__: Fix CLI of :mod:" -"`cProfile` and :mod:`profile` to catch :exc:`BrokenPipeError`." -msgstr "" - -#: ../../../build/NEWS:2456 -msgid "" -"`bpo-41604 `__: Don't decrement the " -"reference count of the previous user_ptr when set_panel_userptr fails." -msgstr "" - -#: ../../../build/NEWS:2459 -msgid "" -"`bpo-41149 `__: Allow executing " -"callables that have a boolean value of ``False`` when passed to :class:" -"`Threading.thread` as the target. Patch contributed by Barney Stratford." -msgstr "" - -#: ../../../build/NEWS:2463 -msgid "" -"`bpo-38307 `__: Add an 'end_lineno' " -"attribute to the Class and Function objects that appear in the tree returned " -"by pyclbr functions. This and the existing 'lineno' attribute define the " -"extent of class and def statements. Patch by Aviral Srivastava." -msgstr "" - -#: ../../../build/NEWS:2468 -msgid "" -"`bpo-39273 `__: The ``BUTTON5_*`` " -"constants are now exposed in the :mod:`curses` module if available." -msgstr "" - -#: ../../../build/NEWS:2471 -msgid "" -"`bpo-33289 `__: Correct call to :mod:" -"`tkinter.colorchooser` to return RGB triplet of ints instead of floats. " -"Patch by Cheryl Sabella." -msgstr "" - -#: ../../../build/NEWS:2477 -msgid "" -"`bpo-40304 `__: Fix doc for type(name, " -"bases, dict). Patch by Boris Verkhovskiy and Éric Araujo." -msgstr "" - -#: ../../../build/NEWS:2480 -msgid "" -"`bpo-42811 `__: Updated importlib.utils." -"resolve_name() doc to use __spec__.parent instead of __package__. (Thanks " -"Yair Frid.)" -msgstr "" - -#: ../../../build/NEWS:2486 -msgid "" -"`bpo-40823 `__: Use :meth:`unittest." -"TestLoader().loadTestsFromTestCase` instead of :meth:`unittest.makeSuite` " -"in :mod:`sqlite3` tests. Patch by Erlend E. Aasland." -msgstr "" - -#: ../../../build/NEWS:2490 -msgid "" -"`bpo-40810 `__: In :mod:`sqlite3`, fix " -"``CheckTraceCallbackContent`` for SQLite pre 3.7.15." -msgstr "" - -#: ../../../build/NEWS:2496 -msgid "" -"`bpo-43031 `__: Pass ``--timeout=" -"$(TESTTIMEOUT)`` option to the default profile task ``./python -m test --" -"pgo`` command." -msgstr "" - -#: ../../../build/NEWS:2499 -msgid "" -"`bpo-36143 `__: ``make regen-all`` now " -"also runs ``regen-keyword``. Patch by Victor Stinner." -msgstr "" - -#: ../../../build/NEWS:2502 -msgid "" -"`bpo-42874 `__: Removed the grep -q and -" -"E flags in the tzpath validation section of the configure script to better " -"accomodate users of some platforms (specifically Solaris 10)." -msgstr "" - -#: ../../../build/NEWS:2506 -msgid "" -"`bpo-31904 `__: Add library search path " -"by wr-cc in add_cross_compiling_paths() for VxWorks." -msgstr "" - -#: ../../../build/NEWS:2509 -msgid "" -"`bpo-42856 `__: Add ``--with-wheel-pkg-" -"dir=PATH`` option to the ``./configure`` script. If specified, the :mod:" -"`ensurepip` module looks for ``setuptools`` and ``pip`` wheel packages in " -"this directory: if both are present, these wheel packages are used instead " -"of ensurepip bundled wheel packages." -msgstr "" - -#: ../../../build/NEWS:2514 -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." -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``." - -#: ../../../build/NEWS:2522 -msgid "" -"`bpo-41837 `__: Updated Windows " -"installer to include OpenSSL 1.1.1i" -msgstr "" - -#: ../../../build/NEWS:2524 -msgid "" -"`bpo-42584 `__: Upgrade Windows " -"installer to use SQLite 3.34.0." -msgstr "" - -#: ../../../build/NEWS:2529 -msgid "" -"`bpo-42504 `__: Ensure that the value of " -"sysconfig.get_config_var('MACOSX_DEPLOYMENT_TARGET') is always a string, " -"even in when the value is parsable as an integer." -msgstr "" - -#: ../../../build/NEWS:2536 -msgid "" -"`bpo-43008 `__: Make IDLE invoke :func:" -"`sys.excepthook` in normal, 2-process mode. Patch by Ken Hilton." -msgstr "" - -#: ../../../build/NEWS:2539 -msgid "" -"`bpo-33065 `__: Fix problem debugging " -"user classes with __repr__ method." -msgstr "" - -#: ../../../build/NEWS:2541 -msgid "" -"`bpo-23544 `__: Disable Debug=>Stack " -"Viewer when user code is running or Debugger is active, to prevent hang or " -"crash. Patch by Zackery Spytz." -msgstr "" - -#: ../../../build/NEWS:2544 -msgid "" -"`bpo-32631 `__: Finish zzdummy example " -"extension module: make menu entries work; add docstrings and tests with 100% " -"coverage." -msgstr "" - -#: ../../../build/NEWS:2550 -msgid "" -"`bpo-42979 `__: When Python is built in " -"debug mode (with C assertions), calling a type slot like ``sq_length`` " -"(``__len__()`` in Python) now fails with a fatal error if the slot succeeded " -"with an exception set, or failed with no exception set. The error message " -"contains the slot, the type name, and the current exception (if an exception " -"is set). Patch by Victor Stinner." -msgstr "" - -#: ../../../build/NEWS:2556 -msgid "" -"`bpo-43030 `__: Fixed a compiler warning " -"in :c:func:`Py_UNICODE_ISSPACE()` on platforms with signed ``wchar_t``." -msgstr "" - -#: ../../../build/NEWS:2561 -msgid "Python 3.10.0 alpha 4" -msgstr "" - -#: ../../../build/NEWS:2563 -msgid "*Release date: 2021-01-04*" -msgstr "" - -#: ../../../build/NEWS:2568 -msgid "" -"`bpo-42814 `__: Fix undefined behavior " -"in ``Objects/genericaliasobject.c``." -msgstr "" - -#: ../../../build/NEWS:2570 -msgid "" -"`bpo-42806 `__: Fix the column offsets " -"for f-strings :mod:`ast` nodes surrounded by parentheses and for nodes that " -"spawn multiple lines. Patch by Pablo Galindo." -msgstr "" - -#: ../../../build/NEWS:2574 -msgid "" -"`bpo-40631 `__: Fix regression where a " -"single parenthesized starred expression was a valid assignment target." -msgstr "" - -#: ../../../build/NEWS:2577 -msgid "" -"`bpo-27794 `__: Improve the error " -"message for failed writes/deletes to property objects. When possible, the " -"attribute name is now shown. Patch provided by Yurii Karabas." -msgstr "" - -#: ../../../build/NEWS:2581 -msgid "" -"`bpo-42745 `__: Make the type attribute " -"lookup cache per-interpreter. Patch by Victor Stinner." -msgstr "" - -#: ../../../build/NEWS:2584 -msgid "" -"`bpo-42246 `__: Jumps to jumps are not " -"eliminated when it would break PEP 626." -msgstr "" - -#: ../../../build/NEWS:2586 -msgid "" -"`bpo-42246 `__: Make sure that the " -"``f_lasti`` and ``f_lineno`` attributes of a frame are set correctly when an " -"exception is raised or re-raised. Required for PEP 626." -msgstr "" - -#: ../../../build/NEWS:2590 -msgid "" -"`bpo-32381 `__: The coding cookie (ex: " -"``# coding: latin1``) is now ignored in the command passed to the :option:`-" -"c` command line option. Patch by Victor Stinner." -msgstr "" - -#: ../../../build/NEWS:2594 -msgid "" -"`bpo-30858 `__: Improve error location " -"in expressions that contain assignments. Patch by Pablo Galindo and " -"Lysandros Nikolaou." -msgstr "" - -#: ../../../build/NEWS:2597 -msgid "" -"`bpo-42615 `__: Remove jump commands " -"made redundant by the deletion of unreachable bytecode blocks" -msgstr "" - -#: ../../../build/NEWS:2600 -msgid "" -"`bpo-42639 `__: Make the :mod:`atexit` " -"module state per-interpreter. It is now safe have more than one :mod:" -"`atexit` module instance. Patch by Dong-hee Na and Victor Stinner." -msgstr "" - -#: ../../../build/NEWS:2604 -msgid "" -"`bpo-32381 `__: Fix encoding name when " -"running a ``.pyc`` file on Windows: :c:func:`PyRun_SimpleFileExFlags()` now " -"uses the correct encoding to decode the filename." -msgstr "" - -#: ../../../build/NEWS:2608 -msgid "" -"`bpo-42195 `__: The ``__args__`` of the " -"parameterized generics for :data:`typing.Callable` and :class:`collections." -"abc.Callable` are now consistent. The ``__args__`` for :class:`collections." -"abc.Callable` are now flattened while :data:`typing.Callable`'s have not " -"changed. To allow this change, :class:`types.GenericAlias` can now be " -"subclassed and ``collections.abc.Callable``'s ``__class_getitem__`` will now " -"return a subclass of ``types.GenericAlias``. Tests for typing were also " -"updated to not subclass things like ``Callable[..., T]`` as that is not a " -"valid base class. Finally, both ``Callable``\\ s no longer validate their " -"``argtypes``, in ``Callable[[argtypes], resulttype]`` to prepare for :pep:" -"`612`. Patch by Ken Jin." -msgstr "" - -#: ../../../build/NEWS:2620 -msgid "" -"`bpo-40137 `__: Convert functools module " -"to use :c:func:`PyType_FromModuleAndSpec`." -msgstr "" - -#: ../../../build/NEWS:2623 -msgid "" -"`bpo-40077 `__: Convert :mod:`array` to " -"use heap types, and establish module state for these." -msgstr "" - -#: ../../../build/NEWS:2626 -msgid "" -"`bpo-42008 `__: Fix _random.Random() " -"seeding." -msgstr "" - -#: ../../../build/NEWS:2628 -msgid "" -"`bpo-1635741 `__: Port the :mod:" -"`pyexpat` extension module to multi-phase initialization (:pep:`489`)." -msgstr "" - -#: ../../../build/NEWS:2631 -msgid "" -"`bpo-40521 `__: Make the Unicode " -"dictionary of interned strings compatible with subinterpreters. Patch by " -"Victor Stinner." -msgstr "" - -#: ../../../build/NEWS:2634 -msgid "" -"`bpo-39465 `__: Make :c:func:" -"`_PyUnicode_FromId` function compatible with subinterpreters. Each " -"interpreter now has an array of identifier objects (interned strings decoded " -"from UTF-8). Patch by Victor Stinner." -msgstr "" - -#: ../../../build/NEWS:2641 -msgid "" -"`bpo-42257 `__: Handle empty string in " -"variable executable in platform.libc_ver()" -msgstr "" - -#: ../../../build/NEWS:2644 -msgid "" -"`bpo-42772 `__: randrange() now raises a " -"TypeError when step is specified without a stop argument. Formerly, it " -"silently ignored the step argument." -msgstr "" - -#: ../../../build/NEWS:2647 -msgid "" -"`bpo-42759 `__: Fixed equality " -"comparison of :class:`tkinter.Variable` and :class:`tkinter.font.Font`. " -"Objects which belong to different Tcl interpreters are now always different, " -"even if they have the same name." -msgstr "" - -#: ../../../build/NEWS:2651 -msgid "" -"`bpo-42756 `__: Configure LMTP Unix-" -"domain socket to use socket global default timeout when a timeout is not " -"explicitly provided." -msgstr "" - -#: ../../../build/NEWS:2654 -msgid "" -"`bpo-23328 `__: Allow / character in " -"username, password fields on _PROXY envars." -msgstr "" - -#: ../../../build/NEWS:2657 -msgid "" -"`bpo-42740 `__: :func:`typing.get_args` " -"and :func:`typing.get_origin` now support :pep:`604` union types and :pep:" -"`612` additions to ``Callable``." -msgstr "" - -#: ../../../build/NEWS:2660 -msgid "" -"`bpo-42655 `__: :mod:`subprocess` " -"*extra_groups* is now correctly passed into setgroups() system call." -msgstr "" - -#: ../../../build/NEWS:2663 -msgid "" -"`bpo-42727 `__: ``EnumMeta.__prepare__`` " -"now accepts ``**kwds`` to properly support ``__init_subclass__``" -msgstr "" - -#: ../../../build/NEWS:2666 -msgid "" -"`bpo-38308 `__: Add optional *weights* " -"to *statistics.harmonic_mean()*." -msgstr "" - -#: ../../../build/NEWS:2668 -msgid "" -"`bpo-42721 `__: When simple query " -"dialogs (:mod:`tkinter.simpledialog`), message boxes (:mod:`tkinter." -"messagebox`) or color choose dialog (:mod:`tkinter.colorchooser`) are " -"created without arguments *master* and *parent*, and the default root window " -"is not yet created, and :func:`~tkinter.NoDefaultRoot` was not called, a new " -"temporal hidden root window will be created automatically. It will not be " -"set as the default root window and will be destroyed right after closing the " -"dialog window. It will help to use these simple dialog windows in programs " -"which do not need other GUI." -msgstr "" - -#: ../../../build/NEWS:2678 -msgid "" -"`bpo-25246 `__: Optimized :meth:" -"`collections.deque.remove`." -msgstr "" - -#: ../../../build/NEWS:2680 -msgid "" -"`bpo-35728 `__: Added a root parameter " -"to :func:`tkinter.font.nametofont`." -msgstr "" - -#: ../../../build/NEWS:2682 -msgid "" -"`bpo-15303 `__: :mod:`tkinter` supports " -"now widgets with boolean value False." -msgstr "" - -#: ../../../build/NEWS:2684 -msgid "" -"`bpo-42681 `__: Fixed range checks for " -"color and pair numbers in :mod:`curses`." -msgstr "" - -#: ../../../build/NEWS:2686 -msgid "" -"`bpo-42685 `__: Improved placing of " -"simple query windows in Tkinter (such as :func:`tkinter.simpledialog." -"askinteger`). They are now centered at the center of the parent window if it " -"is specified and shown, otherwise at the center of the screen." -msgstr "" - -#: ../../../build/NEWS:2691 -msgid "" -"`bpo-9694 `__: Argparse help no longer " -"uses the confusing phrase, \"optional arguments\". It uses \"options\" " -"instead." -msgstr "" - -#: ../../../build/NEWS:2694 -msgid "" -"`bpo-1635741 `__: Port the :mod:" -"`_thread` extension module to the multiphase initialization API (:pep:`489`) " -"and convert its static types to heap types." -msgstr "" - -#: ../../../build/NEWS:2698 -msgid "" -"`bpo-37961 `__: Fix crash in :func:" -"`tracemalloc.Traceback.__repr__` (regressed in Python 3.9)." -msgstr "" - -#: ../../../build/NEWS:2701 -msgid "" -"`bpo-42630 `__: :mod:`tkinter` functions " -"and constructors which need a default root window raise now :exc:" -"`RuntimeError` with descriptive message instead of obscure :exc:" -"`AttributeError` or :exc:`NameError` if it is not created yet or cannot be " -"created automatically." -msgstr "" - -#: ../../../build/NEWS:2706 -msgid "" -"`bpo-42639 `__: :func:`atexit." -"_run_exitfuncs` now logs callback exceptions using :data:`sys." -"unraisablehook`, rather than logging them directly into :data:`sys.stderr` " -"and raise the last exception." -msgstr "" - -#: ../../../build/NEWS:2710 -msgid "" -"`bpo-42644 `__: ``logging.disable`` will " -"now validate the types and value of its parameter. It also now accepts " -"strings representing the levels (as does ``loging.setLevel``) instead of " -"only the numerical values." -msgstr "" - -#: ../../../build/NEWS:2714 -msgid "" -"`bpo-42639 `__: 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." -msgstr "" - -#: ../../../build/NEWS:2719 -msgid "" -"`bpo-36541 `__: Fixed lib2to3.pgen2 to " -"be able to parse PEP-570 positional only argument syntax." -msgstr "" - -#: ../../../build/NEWS:2722 -msgid "" -"`bpo-42382 `__: In ``importlib." -"metadata``: - ``EntryPoint`` objects now expose a ``.dist`` object " -"referencing the ``Distribution`` when constructed from a ``Distribution``. - " -"Add support for package discovery under package normalization rules. - The " -"object returned by ``metadata()`` now has a formally-defined protocol called " -"``PackageMetadata`` with declared support for the ``.get_all()`` method. - " -"Synced with importlib_metadata 3.3." -msgstr "" - -#: ../../../build/NEWS:2729 -msgid "" -"`bpo-41877 `__: A check is added against " -"misspellings of autospect, auto_spec and set_spec being passed as arguments " -"to patch, patch.object and create_autospec." -msgstr "" - -#: ../../../build/NEWS:2733 -msgid "" -"`bpo-39717 `__: [tarfile] update nested " -"exception raising to use ``from None`` or ``from e``" -msgstr "" - -#: ../../../build/NEWS:2736 -msgid "" -"`bpo-41877 `__: AttributeError for " -"suspected misspellings of assertions on mocks are now pointing out that the " -"cause are misspelled assertions and also what to do if the misspelling is " -"actually an intended attribute name. The unittest.mock document is also " -"updated to reflect the current set of recognised misspellings." -msgstr "" - -#: ../../../build/NEWS:2742 -msgid "" -"`bpo-41559 `__: Implemented :pep:`612`: " -"added ``ParamSpec`` and ``Concatenate`` to :mod:`typing`. Patch by Ken Jin." -msgstr "" - -#: ../../../build/NEWS:2745 -msgid "" -"`bpo-42385 `__: StrEnum: fix " -"_generate_next_value_ to return a str" -msgstr "" - -#: ../../../build/NEWS:2747 -msgid "" -"`bpo-31904 `__: Define THREAD_STACK_SIZE " -"for VxWorks." -msgstr "" - -#: ../../../build/NEWS:2749 -msgid "" -"`bpo-34750 `__: [Enum] `_EnumDict." -"update()` is now supported" -msgstr "" - -#: ../../../build/NEWS:2751 -msgid "" -"`bpo-42517 `__: Enum: private names do " -"not become members / do not generate errors -- they remain normal attributes" -msgstr "" - -#: ../../../build/NEWS:2754 -msgid "" -"`bpo-42678 `__: ``Enum``: call " -"``__init_subclass__`` after members have been added" -msgstr "" - -#: ../../../build/NEWS:2757 -msgid "" -"`bpo-28964 `__: :func:`ast.literal_eval` " -"adds line number information (if available) in error message for malformed " -"nodes." -msgstr "" - -#: ../../../build/NEWS:2760 -msgid "" -"`bpo-42470 `__: :func:`random.sample` no " -"longer warns on a sequence which is also a set." -msgstr "" - -#: ../../../build/NEWS:2763 -msgid "" -"`bpo-31904 `__: :func:`posixpath." -"expanduser` returns the input *path* unchanged if user home directory is " -"None on VxWorks." -msgstr "" - -#: ../../../build/NEWS:2766 -msgid "" -"`bpo-42388 `__: Fix subprocess." -"check_output(..., input=None) behavior when text=True to be consistent with " -"that of the documentation and universal_newlines=True." -msgstr "" - -#: ../../../build/NEWS:2770 -msgid "" -"`bpo-34463 `__: Fixed discrepancy " -"between :mod:`traceback` and the interpreter in formatting of SyntaxError " -"with lineno not set (:mod:`traceback` was changed to match interpreter)." -msgstr "" - -#: ../../../build/NEWS:2774 -msgid "" -"`bpo-42393 `__: Raise :exc:" -"`OverflowError` instead of silent truncation in :meth:`socket.ntohs` and :" -"meth:`socket.htons`. Silent truncation was deprecated in Python 3.7. Patch " -"by Erlend E. Aasland" -msgstr "" - -#: ../../../build/NEWS:2778 -msgid "" -"`bpo-42222 `__: Harmonized :func:`random." -"randrange` argument handling to match :func:`range`." -msgstr "" - -#: ../../../build/NEWS:2781 -msgid "" -"The integer test and conversion in ``randrange()`` now uses :func:`operator." -"index`." -msgstr "" - -#: ../../../build/NEWS:2783 -msgid "Non-integer arguments to ``randrange()`` are deprecated." -msgstr "" - -#: ../../../build/NEWS:2784 -msgid "The ``ValueError`` is deprecated in favor of a ``TypeError``." -msgstr "" - -#: ../../../build/NEWS:2785 -msgid "It now runs a little faster than before." -msgstr "" - -#: ../../../build/NEWS:2787 -msgid "(Contributed by Raymond Hettinger and Serhiy Storchaka.)" -msgstr "" - -#: ../../../build/NEWS:2789 -msgid "" -"`bpo-42163 `__: Restore compatibility " -"for ``uname_result`` around deepcopy and _replace." -msgstr "" - -#: ../../../build/NEWS:2792 -msgid "" -"`bpo-42090 `__: ``zipfile.Path." -"joinpath`` now accepts arbitrary arguments, same as ``pathlib.Path." -"joinpath``." -msgstr "" - -#: ../../../build/NEWS:2795 -msgid "" -"`bpo-1635741 `__: Port the _csv module " -"to the multi-phase initialization API (:pep:`489`)." -msgstr "" - -#: ../../../build/NEWS:2798 -msgid "" -"`bpo-42059 `__: :class:`typing." -"TypedDict` types created using the alternative call-style syntax now " -"correctly respect the ``total`` keyword argument when setting their " -"``__required_keys__`` and ``__optional_keys__`` class attributes." -msgstr "" - -#: ../../../build/NEWS:2803 -msgid "" -"`bpo-41960 `__: Add ``globalns`` and " -"``localns`` parameters to the :func:`inspect.signature` and :meth:`inspect." -"Signature.from_callable`." -msgstr "" - -#: ../../../build/NEWS:2806 -msgid "" -"`bpo-41907 `__: fix ``format()`` " -"behavior for ``IntFlag``" -msgstr "" - -#: ../../../build/NEWS:2808 -msgid "" -"`bpo-41891 `__: Ensure asyncio.wait_for " -"waits for task completion" -msgstr "" - -#: ../../../build/NEWS:2810 -msgid "" -"`bpo-24792 `__: Fixed bug where :mod:" -"`zipimporter` sometimes reports an incorrect cause of import errors." -msgstr "" - -#: ../../../build/NEWS:2813 -msgid "" -"`bpo-31904 `__: Fix site and sysconfig " -"modules for VxWorks RTOS which has no home directories." -msgstr "" - -#: ../../../build/NEWS:2816 -msgid "" -"`bpo-41462 `__: Add :func:`os." -"set_blocking()` support for VxWorks RTOS." -msgstr "" - -#: ../../../build/NEWS:2818 -msgid "" -"`bpo-40219 `__: Lowered :class:`tkinter." -"ttk.LabeledScale` dummy widget to prevent hiding part of the content label." -msgstr "" - -#: ../../../build/NEWS:2821 -msgid "" -"`bpo-37193 `__: Fixed memory leak in " -"``socketserver.ThreadingMixIn`` introduced in Python 3.7." -msgstr "" - -#: ../../../build/NEWS:2824 -msgid "" -"`bpo-39068 `__: Fix initialization race " -"condition in :func:`a85encode` and :func:`b85encode` in :mod:`base64`. Patch " -"by Brandon Stansbury." -msgstr "" - -#: ../../../build/NEWS:2830 -msgid "" -"`bpo-17140 `__: Add documentation for " -"the :class:`multiprocessing.pool.ThreadPool` class." -msgstr "" - -#: ../../../build/NEWS:2833 -msgid "" -"`bpo-34398 `__: Prominently feature " -"listings from the glossary in documentation search results. Patch by Ammar " -"Askar." -msgstr "" - -#: ../../../build/NEWS:2839 -msgid "" -"`bpo-42794 `__: Update test_nntplib to " -"use offical group name of news.aioe.org for testing. Patch by Dong-hee Na." -msgstr "" - -#: ../../../build/NEWS:2842 -msgid "" -"`bpo-31904 `__: Skip some asyncio tests " -"on VxWorks." -msgstr "" - -#: ../../../build/NEWS:2844 -msgid "" -"`bpo-42641 `__: Enhance ``test_select." -"test_select()``: it now takes 500 ms rather than 10 seconds. Use Python " -"rather than a shell to make the test more portable." -msgstr "" - -#: ../../../build/NEWS:2848 -msgid "" -"`bpo-31904 `__: Skip some tests in " -"_test_all_chown_common() on VxWorks." -msgstr "" - -#: ../../../build/NEWS:2850 -msgid "" -"`bpo-42199 `__: Fix bytecode helper " -"assertNotInBytecode." -msgstr "" - -#: ../../../build/NEWS:2852 -msgid "" -"`bpo-41443 `__: Add more attribute " -"checking in test_posix.py" -msgstr "" - -#: ../../../build/NEWS:2854 -msgid "" -"`bpo-31904 `__: Disable os.popen and " -"impacted tests on VxWorks" -msgstr "" - -#: ../../../build/NEWS:2856 -msgid "" -"`bpo-41439 `__: Port test_ssl and " -"test_uuid to VxWorks RTOS." -msgstr "" - -#: ../../../build/NEWS:2861 -msgid "" -"`bpo-42692 `__: Fix __builtin_available " -"check on older compilers. Patch by Joshua Root." -msgstr "" - -#: ../../../build/NEWS:2864 -msgid "" -"`bpo-27640 `__: Added ``--disable-test-" -"modules`` option to the ``configure`` script: don't build nor install test " -"modules. Patch by Xavier de Gaye, Thomas Petazzoni and Peixing Xin." -msgstr "" - -#: ../../../build/NEWS:2868 -msgid "" -"`bpo-42604 `__: Now all platforms use a " -"value for the \"EXT_SUFFIX\" build variable derived from SOABI (for instance " -"in freeBSD, \"EXT_SUFFIX\" is now \".cpython-310d.so\" instead of \".so\"). " -"Previosuly only Linux, Mac and VxWorks were using a value for \"EXT_SUFFIX\" " -"that included \"SOABI\"." -msgstr "" - -#: ../../../build/NEWS:2873 -msgid "" -"`bpo-42598 `__: Fix implicit function " -"declarations in configure which could have resulted in incorrect " -"configuration checks. Patch contributed by Joshua Root." -msgstr "" - -#: ../../../build/NEWS:2877 -msgid "" -"`bpo-31904 `__: Enable libpython3.so for " -"VxWorks." -msgstr "" - -#: ../../../build/NEWS:2879 -msgid "" -"`bpo-29076 `__: Add fish shell support " -"to macOS installer." -msgstr "" - -#: ../../../build/NEWS:2884 -msgid "" -"`bpo-42361 `__: Update macOS installer " -"build to use Tcl/Tk 8.6.11 (rc2, expected to be final release)." -msgstr "" - -#: ../../../build/NEWS:2887 -msgid "" -"`bpo-41837 `__: Update macOS installer " -"build to use OpenSSL 1.1.1i." -msgstr "" - -#: ../../../build/NEWS:2889 -msgid "" -"`bpo-42584 `__: Update macOS installer " -"to use SQLite 3.34.0." -msgstr "" - -#: ../../../build/NEWS:2894 -msgid "" -"`bpo-42726 `__: Fixed Python 3 " -"compatibility issue with gdb/libpython.py handling of attribute dictionaries." -msgstr "" - -#: ../../../build/NEWS:2897 -msgid "" -"`bpo-42613 `__: Fix ``freeze.py`` tool " -"to use the prope config and library directories. Patch by Victor Stinner." -msgstr "" - -#: ../../../build/NEWS:2903 -msgid "" -"`bpo-42591 `__: Export the :c:func:" -"`Py_FrozenMain` function: fix a Python 3.9.0 regression. Python 3.9 uses ``-" -"fvisibility=hidden`` and the function was not exported explicitly and so not " -"exported." -msgstr "" - -#: ../../../build/NEWS:2907 -msgid "" -"`bpo-32381 `__: Remove the private :c:" -"func:`_Py_fopen` function which is no longer needed. Use :c:func:" -"`_Py_wfopen` or :c:func:`_Py_fopen_obj` instead. Patch by Victor Stinner." -msgstr "" - -#: ../../../build/NEWS:2911 -msgid "" -"`bpo-1635741 `__: Port :mod:`resource` " -"extension module to module state" -msgstr "" - -#: ../../../build/NEWS:2913 -msgid "" -"`bpo-42111 `__: Update the ``xxlimited`` " -"module to be a better example of how to use the limited C API." -msgstr "" - -#: ../../../build/NEWS:2916 -msgid "" -"`bpo-40052 `__: Fix an alignment build " -"warning/error in function ``PyVectorcall_Function()``. Patch by Andreas " -"Schneider, Antoine Pitrou and Petr Viktorin." -msgstr "" - -#: ../../../build/NEWS:2922 -msgid "Python 3.10.0 alpha 3" -msgstr "" - -#: ../../../build/NEWS:2924 -msgid "*Release date: 2020-12-07*" -msgstr "" - -#: ../../../build/NEWS:2929 -msgid "" -"`bpo-40791 `__: Add ``volatile`` to the " -"accumulator variable in ``hmac.compare_digest``, making constant-time-" -"defeating optimizations less likely." -msgstr "" - -#: ../../../build/NEWS:2936 -msgid "" -"`bpo-42576 `__: ``types.GenericAlias`` " -"will now raise a ``TypeError`` when attempting to initialize with a keyword " -"argument. Previously, this would cause the interpreter to crash if the " -"interpreter was compiled with debug symbols. This does not affect " -"interpreters compiled for release. Patch by Ken Jin." -msgstr "" - -#: ../../../build/NEWS:2942 -msgid "" -"`bpo-42536 `__: Several built-in and " -"standard library types now ensure that their internal result tuples are " -"always tracked by the :term:`garbage collector `:" -msgstr "" - -#: ../../../build/NEWS:2946 -msgid ":meth:`collections.OrderedDict.items() `" -msgstr "" - -#: ../../../build/NEWS:2948 -msgid ":meth:`dict.items`" -msgstr "" - -#: ../../../build/NEWS:2950 -msgid ":func:`enumerate`" -msgstr ":func:`enumerate`" - -#: ../../../build/NEWS:2952 -msgid ":func:`functools.reduce`" -msgstr "" - -#: ../../../build/NEWS:2954 -msgid ":func:`itertools.combinations`" -msgstr "" - -#: ../../../build/NEWS:2956 -msgid ":func:`itertools.combinations_with_replacement`" -msgstr "" - -#: ../../../build/NEWS:2958 -msgid ":func:`itertools.permutations`" -msgstr "" - -#: ../../../build/NEWS:2960 -msgid ":func:`itertools.product`" -msgstr "" - -#: ../../../build/NEWS:2962 -msgid ":func:`itertools.zip_longest`" -msgstr "" - -#: ../../../build/NEWS:2964 -msgid ":func:`zip`" -msgstr ":func:`zip`" - -#: ../../../build/NEWS:2966 -msgid "" -"Previously, they could have become untracked by a prior garbage collection. " -"Patch by Brandt Bucher." -msgstr "" - -#: ../../../build/NEWS:2969 -msgid "" -"`bpo-42500 `__: Improve handling of " -"exceptions near recursion limit. Converts a number of Fatal Errors in " -"RecursionErrors." -msgstr "" - -#: ../../../build/NEWS:2972 -msgid "" -"`bpo-42246 `__: PEP 626: After a return, " -"the f_lineno attribute of a frame is always the last line executed." -msgstr "" - -#: ../../../build/NEWS:2975 -msgid "" -"`bpo-42435 `__: Speed up comparison of " -"bytes objects with non-bytes objects when option :option:`-b` is specified. " -"Speed up comparison of bytarray objects with non-buffer object." -msgstr "" - -#: ../../../build/NEWS:2979 -msgid "" -"`bpo-1635741 `__: Port the " -"``_warnings`` extension module to the multi-phase initialization API (:pep:" -"`489`). Patch by Victor Stinner." -msgstr "" - -#: ../../../build/NEWS:2982 -msgid "" -"`bpo-41686 `__: On Windows, the " -"``SIGINT`` event, ``_PyOS_SigintEvent()``, is now created even if Python is " -"configured to not install signal handlers (if :c:member:`PyConfig." -"install_signal_handlers` equals to 0, or ``Py_InitializeEx(0)``)." -msgstr "" - -#: ../../../build/NEWS:2987 -msgid "" -"`bpo-42381 `__: Allow assignment " -"expressions in set literals and set comprehensions as per PEP 572. Patch by " -"Pablo Galindo." -msgstr "" - -#: ../../../build/NEWS:2990 -msgid "" -"`bpo-42202 `__: Change function " -"parameters annotations internal representation to tuple of strings. Patch " -"provided by Yurii Karabas." -msgstr "" - -#: ../../../build/NEWS:2993 -msgid "" -"`bpo-42374 `__: Fix a regression " -"introduced by the new parser, where an unparenthesized walrus operator was " -"not allowed within generator expressions." -msgstr "" - -#: ../../../build/NEWS:2997 -msgid "" -"`bpo-42316 `__: Allow an unparenthesized " -"walrus in subscript indexes." -msgstr "" - -#: ../../../build/NEWS:2999 -msgid "" -"`bpo-42349 `__: Make sure that the " -"compiler front-end produces a well-formed control flow graph. Be be more " -"aggressive in the compiler back-end, as it is now safe to do so." -msgstr "" - -#: ../../../build/NEWS:3003 -msgid "" -"`bpo-42296 `__: On Windows, fix a " -"regression in signal handling which prevented to interrupt a program using " -"CTRL+C. The signal handler can be run in a thread different than the Python " -"thread, in which case the test deciding if the thread can handle signals is " -"wrong." -msgstr "" - -#: ../../../build/NEWS:3008 -msgid "" -"`bpo-42332 `__: :class:`types." -"GenericAlias` objects can now be the targets of weakrefs." -msgstr "" - -#: ../../../build/NEWS:3011 -msgid "" -"`bpo-42282 `__: Optimise constant " -"subexpressions that appear as part of named expressions (previously the AST " -"optimiser did not descend into named expressions). Patch by Nick Coghlan." -msgstr "" - -#: ../../../build/NEWS:3015 -msgid "" -"`bpo-42266 `__: Fixed a bug with the " -"LOAD_ATTR opcode cache that was not respecting monkey-patching a class-level " -"attribute to make it a descriptor. Patch by Pablo Galindo." -msgstr "" - -#: ../../../build/NEWS:3019 -msgid "" -"`bpo-40077 `__: Convert :mod:`queue` to " -"use heap types." -msgstr "" - -#: ../../../build/NEWS:3021 -msgid "" -"`bpo-42246 `__: Improved accuracy of " -"line tracing events and f_lineno attribute of Frame objects. See PEP 626 for " -"details." -msgstr "" - -#: ../../../build/NEWS:3024 -msgid "" -"`bpo-40077 `__: Convert :mod:`mmap` to " -"use heap types." -msgstr "" - -#: ../../../build/NEWS:3026 -msgid "" -"`bpo-42233 `__: Allow ``GenericAlias`` " -"objects to use :ref:`union type expressions `. This allows " -"expressions like ``list[int] | dict[float, str]`` where previously a " -"``TypeError`` would have been thrown. This also fixes union type " -"expressions not de-duplicating ``GenericAlias`` objects. (Contributed by Ken " -"Jin in :issue:`42233`.)" -msgstr "" - -#: ../../../build/NEWS:3032 -msgid "" -"`bpo-26131 `__: The import system " -"triggers a `ImportWarning` when it falls back to using `load_module()`." -msgstr "" - -#: ../../../build/NEWS:3038 -msgid "" -"`bpo-5054 `__: CGIHTTPRequestHandler." -"run_cgi() HTTP_ACCEPT improperly parsed. Replace the special purpose " -"getallmatchingheaders with generic get_all method and add relevant tests." -msgstr "" - -#: ../../../build/NEWS:3042 -msgid "Original Patch by Martin Panter. Modified by Senthil Kumaran." -msgstr "" - -#: ../../../build/NEWS:3044 -msgid "" -"`bpo-42562 `__: Fix issue when dis " -"failed to parse function that has no line numbers. Patch provided by Yurii " -"Karabas." -msgstr "" - -#: ../../../build/NEWS:3047 -msgid "" -"`bpo-17735 `__: :func:`inspect." -"findsource` now raises :exc:`OSError` instead of :exc:`IndexError` when :" -"attr:`co_lineno` of a code object is greater than the file length. This can " -"happen, for example, when a file is edited after it was imported. PR by " -"Irit Katriel." -msgstr "" - -#: ../../../build/NEWS:3052 -msgid "" -"`bpo-42116 `__: Fix handling of trailing " -"comments by :func:`inspect.getsource`." -msgstr "" - -#: ../../../build/NEWS:3054 -msgid "" -"`bpo-42532 `__: Remove unexpected call " -"of ``__bool__`` when passing a ``spec_arg`` argument to a Mock." -msgstr "" - -#: ../../../build/NEWS:3057 -msgid "" -"`bpo-38200 `__: Added itertools." -"pairwise()" -msgstr "" - -#: ../../../build/NEWS:3059 -msgid "" -"`bpo-41818 `__: Fix test_master_read() " -"so that it succeeds on all platforms that either raise OSError or return b" -"\"\" upon reading from master." -msgstr "" - -#: ../../../build/NEWS:3062 -msgid "" -"`bpo-42487 `__: ChainMap.__iter__ no " -"longer calls __getitem__ on underlying maps" -msgstr "" - -#: ../../../build/NEWS:3065 -msgid "" -"`bpo-42482 `__: :class:`~traceback." -"TracebackException` no longer holds a reference to the exception's traceback " -"object. Consequently, instances of TracebackException for equivalent but non-" -"equal exceptions now compare as equal." -msgstr "" - -#: ../../../build/NEWS:3070 -msgid "" -"`bpo-41818 `__: Make test_openpty() " -"avoid unexpected success due to number of rows and/or number of columns " -"being == 0." -msgstr "" - -#: ../../../build/NEWS:3073 -msgid "" -"`bpo-42392 `__: Remove loop parameter " -"from ``asyncio.subprocess`` and ``asyncio.tasks`` functions. Patch provided " -"by Yurii Karabas." -msgstr "" - -#: ../../../build/NEWS:3076 -msgid "" -"`bpo-42392 `__: Remove loop parameter " -"from ``asyncio.open_connection`` and ``asyncio.start_server`` functions. " -"Patch provided by Yurii Karabas." -msgstr "" - -#: ../../../build/NEWS:3079 -msgid "" -"`bpo-28468 `__: Add :func:`platform." -"freedesktop_os_release` function to parse freedesktop.org ``os-release`` " -"files." -msgstr "" - -#: ../../../build/NEWS:3082 -msgid "" -"`bpo-42299 `__: 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. " -"Patch by Dong-hee Na and and Terry J. Reedy." -msgstr "" - -#: ../../../build/NEWS:3089 -msgid "" -"`bpo-26131 `__: Deprecate zipimport." -"zipimporter.load_module() in favour of exec_module()." -msgstr "" - -#: ../../../build/NEWS:3092 -msgid "" -"`bpo-41818 `__: Updated tests for the " -"pty library. test_basic() has been changed to test_openpty(); this " -"additionally checks if slave termios and slave winsize are being set " -"properly by pty.openpty(). In order to add support for FreeBSD, NetBSD, " -"OpenBSD, and Darwin, this also adds test_master_read(), which demonstrates " -"that pty.spawn() should not depend on an OSError to exit from its copy loop." -msgstr "" - -#: ../../../build/NEWS:3099 -msgid "" -"`bpo-42392 `__: Remove loop parameter " -"from ``__init__`` in all ``asyncio.locks`` and ``asyncio.Queue`` classes. " -"Patch provided by Yurii Karabas." -msgstr "" - -#: ../../../build/NEWS:3103 -msgid "" -"`bpo-15450 `__: Make :class:`filecmp." -"dircmp` respect subclassing. Now the :attr:`filecmp.dircmp.subdirs` behaves " -"as expected when subclassing dircmp." -msgstr "" - -#: ../../../build/NEWS:3107 -msgid "" -"`bpo-42413 `__: The exception :exc:" -"`socket.timeout` is now an alias of :exc:`TimeoutError`." -msgstr "" - -#: ../../../build/NEWS:3110 -msgid "" -"`bpo-31904 `__: Support signal module on " -"VxWorks." -msgstr "" - -#: ../../../build/NEWS:3112 -msgid "" -"`bpo-42406 `__: We fixed an issue in " -"`pickle.whichmodule` in which importing `multiprocessing` could change the " -"how pickle identifies which module an object belongs to, potentially " -"breaking the unpickling of those objects." -msgstr "" - -#: ../../../build/NEWS:3116 -msgid "" -"`bpo-42403 `__: Simplify the :mod:" -"`importlib` external bootstrap code: ``importlib._bootstrap_external`` now " -"uses regular imports to import builtin modules. When it is imported, the " -"builtin :func:`__import__()` function is already fully working and so can be " -"used to import builtin modules like :mod:`sys`. Patch by Victor Stinner." -msgstr "" - -#: ../../../build/NEWS:3122 -msgid "" -"`bpo-1635741 `__: Convert _sre module " -"types to heap types (PEP 384). Patch by Erlend E. Aasland." -msgstr "" - -#: ../../../build/NEWS:3125 -msgid "" -"`bpo-42375 `__: subprocess module update " -"for DragonFlyBSD support." -msgstr "" - -#: ../../../build/NEWS:3127 -msgid "" -"`bpo-41713 `__: Port the ``_signal`` " -"extension module to the multi-phase initialization API (:pep:`489`). Patch " -"by Victor Stinner and Mohamed Koubaa." -msgstr "" - -#: ../../../build/NEWS:3131 -msgid "" -"`bpo-37205 `__: :func:`time.time()`, :" -"func:`time.perf_counter()` and :func:`time.monotonic()` functions can no " -"longer fail with a Python fatal error, instead raise a regular Python " -"exception on failure." -msgstr "" - -#: ../../../build/NEWS:3135 -msgid "" -"`bpo-42328 `__: Fixed :meth:`tkinter.ttk." -"Style.map`. The function accepts now the representation of the default state " -"as empty sequence (as returned by ``Style.map()``). The structure of the " -"result is now the same on all platform and does not depend on the value of " -"``wantobjects``." -msgstr "" - -#: ../../../build/NEWS:3140 -msgid "" -"`bpo-42345 `__: Fix various issues with " -"``typing.Literal`` parameter handling (flatten, deduplicate, use type to " -"cache key). Patch provided by Yurii Karabas." -msgstr "" - -#: ../../../build/NEWS:3144 -msgid "" -"`bpo-37205 `__: :func:`time." -"perf_counter()` on Windows and :func:`time.monotonic()` on macOS are now " -"system-wide. Previously, they used an offset computed at startup to reduce " -"the precision loss caused by the float type. Use :func:`time." -"perf_counter_ns()` and :func:`time.monotonic_ns()` added in Python 3.7 to " -"avoid this precision loss." -msgstr "" - -#: ../../../build/NEWS:3151 -msgid "" -"`bpo-42318 `__: Fixed support of non-BMP " -"characters in :mod:`tkinter` on macOS." -msgstr "" - -#: ../../../build/NEWS:3153 -msgid "" -"`bpo-42350 `__: Fix the :class:" -"`threading.Thread` class at fork: do nothing if the thread is already " -"stopped (ex: fork called at Python exit). Previously, an error was logged in " -"the child process." -msgstr "" - -#: ../../../build/NEWS:3157 -msgid "" -"`bpo-42333 `__: Port _ssl extension " -"module to heap types." -msgstr "" - -#: ../../../build/NEWS:3159 -msgid "" -"`bpo-42014 `__: The ``onerror`` callback " -"from ``shutil.rmtree`` now receives correct function when ``os.open`` fails." -msgstr "" - -#: ../../../build/NEWS:3162 -msgid "" -"`bpo-42237 `__: Fix `os.sendfile()` on " -"illumos." -msgstr "" - -#: ../../../build/NEWS:3164 -msgid "" -"`bpo-42308 `__: 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 value. Patch by " -"Mario Corchero." -msgstr "" - -#: ../../../build/NEWS:3168 -msgid "" -"`bpo-42131 `__: Implement PEP 451/spec " -"methods on zipimport.zipimporter: find_spec(), create_module(), and " -"exec_module()." -msgstr "" - -#: ../../../build/NEWS:3171 -msgid "" -"This also allows for the documented deprecation of find_loader(), " -"find_module(), and load_module()." -msgstr "" - -#: ../../../build/NEWS:3174 -msgid "" -"`bpo-41877 `__: Mock objects which are " -"not unsafe will now raise an AttributeError if an attribute with the prefix " -"asert, aseert, or assrt is accessed, in addition to this already happening " -"for the prefixes assert or assret." -msgstr "" - -#: ../../../build/NEWS:3179 -msgid "" -"`bpo-42264 `__: ``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." -msgstr "" - -#: ../../../build/NEWS:3183 -msgid "" -"`bpo-42251 `__: Added :func:`threading." -"gettrace` and :func:`threading.getprofile` to retrieve the functions set by :" -"func:`threading.settrace` and :func:`threading.setprofile` respectively. " -"Patch by Mario Corchero." -msgstr "" - -#: ../../../build/NEWS:3188 -msgid "" -"`bpo-42249 `__: Fixed writing binary " -"Plist files larger than 4 GiB." -msgstr "" - -#: ../../../build/NEWS:3190 -msgid "" -"`bpo-42236 `__: On Unix, the :func:`os." -"device_encoding` function now returns ``'UTF-8'`` rather than the device " -"encoding if the :ref:`Python UTF-8 Mode ` is enabled." -msgstr "" - -#: ../../../build/NEWS:3194 -msgid "" -"`bpo-41754 `__: webbrowser: Ignore " -"*NotADirectoryError* when calling ``xdg-settings``." -msgstr "" - -#: ../../../build/NEWS:3197 -msgid "" -"`bpo-42183 `__: Fix a stack overflow " -"error for asyncio Task or Future repr()." -msgstr "" - -#: ../../../build/NEWS:3199 -msgid "" -"The overflow occurs under some circumstances when a Task or Future " -"recursively returns itself." -msgstr "" - -#: ../../../build/NEWS:3202 -msgid "" -"`bpo-42140 `__: Improve asyncio.wait " -"function to create the futures set just one time." -msgstr "" - -#: ../../../build/NEWS:3205 -msgid "" -"`bpo-42133 `__: Update various modules " -"in the stdlib to fall back on `__spec__.loader` when `__loader__` isn't " -"defined on a module." -msgstr "" - -#: ../../../build/NEWS:3208 -msgid "" -"`bpo-26131 `__: The `load_module()` " -"methods found in importlib now trigger a DeprecationWarning." -msgstr "" - -#: ../../../build/NEWS:3211 -msgid "" -"`bpo-39825 `__: Windows: Change " -"``sysconfig.get_config_var('EXT_SUFFIX')`` to the expected full " -"``platform_tag.extension`` format. Previously it was hard-coded to ``.pyd``, " -"now it is compatible with ``distutils.sysconfig`` and will result in " -"something like ``.cp38-win_amd64.pyd``. This brings windows into conformance " -"with the other platforms." -msgstr "" - -#: ../../../build/NEWS:3217 -msgid "" -"`bpo-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." -msgstr "" - -#: ../../../build/NEWS:3222 -msgid "" -"`bpo-41889 `__: Enum: fix regression " -"involving inheriting a multiply-inherited enum" -msgstr "" - -#: ../../../build/NEWS:3225 -msgid "" -"`bpo-41861 `__: Convert :mod:`sqlite3` " -"to use heap types (PEP 384). Patch by Erlend E. Aasland." -msgstr "" - -#: ../../../build/NEWS:3228 -msgid "" -"`bpo-40624 `__: Added support for the " -"XPath ``!=`` operator in xml.etree" -msgstr "" - -#: ../../../build/NEWS:3230 -msgid "" -"`bpo-28850 `__: Fix :meth:`pprint." -"PrettyPrinter.format` overrides being ignored for contents of small " -"containers. The :func:`pprint._safe_repr` function was removed." -msgstr "" - -#: ../../../build/NEWS:3234 -msgid "" -"`bpo-41625 `__: Expose the :c:func:" -"`splice` as :func:`os.splice` in the :mod:`os` module. Patch by Pablo Galindo" -msgstr "" - -#: ../../../build/NEWS:3237 -msgid "" -"`bpo-34215 `__: Clarify the error " -"message for :exc:`asyncio.IncompleteReadError` when ``expected`` is ``None``." -msgstr "" - -#: ../../../build/NEWS:3240 -msgid "" -"`bpo-41543 `__: Add async context " -"manager support for contextlib.nullcontext." -msgstr "" - -#: ../../../build/NEWS:3242 -msgid "" -"`bpo-21041 `__: :attr:`pathlib.PurePath." -"parents` now supports negative indexing. Patch contributed by Yaroslav " -"Pankovych." -msgstr "" - -#: ../../../build/NEWS:3245 -msgid "" -"`bpo-41332 `__: Added missing " -"connect_accepted_socket() method to ``asyncio.AbstractEventLoop``." -msgstr "" - -#: ../../../build/NEWS:3248 -msgid "" -"`bpo-12800 `__: Extracting a symlink " -"from a tarball should succeed and overwrite the symlink if it already " -"exists. The fix is to remove the existing file or symlink before extraction. " -"Based on patch by Chris AtLee, Jeffrey Kintscher, and Senthil Kumaran." -msgstr "" - -#: ../../../build/NEWS:3253 -msgid "" -"`bpo-40968 `__: :mod:`urllib.request` " -"and :mod:`http.client` now send ``http/1.1`` ALPN extension during TLS " -"handshake when no custom context is supplied." -msgstr "" - -#: ../../../build/NEWS:3257 -msgid "" -"`bpo-41001 `__: Add func:`os.eventfd` to " -"provide a low level interface for Linux's event notification file descriptor." -msgstr "" - -#: ../../../build/NEWS:3260 -msgid "" -"`bpo-40816 `__: Add " -"AsyncContextDecorator to contextlib to support async context manager as a " -"decorator." -msgstr "" - -#: ../../../build/NEWS:3263 -msgid "" -"`bpo-40550 `__: Fix time-of-check/time-" -"of-action issue in subprocess.Popen.send_signal." -msgstr "" - -#: ../../../build/NEWS:3266 -msgid "" -"`bpo-39411 `__: Add an ``is_async`` " -"identifier to :mod:`pyclbr`'s ``Function`` objects. Patch by Batuhan Taskaya" -msgstr "" - -#: ../../../build/NEWS:3269 -msgid "" -"`bpo-35498 `__: Add slice support to :" -"attr:`pathlib.PurePath.parents`." -msgstr "" - -#: ../../../build/NEWS:3274 -msgid "" -"`bpo-42238 `__: Tentative to deprecate " -"``make suspicious`` by first removing it from the CI and documentation " -"builds, but keeping it around for manual uses." -msgstr "" - -#: ../../../build/NEWS:3278 -msgid "" -"`bpo-42153 `__: Fix the URL for the IMAP " -"protocol documents." -msgstr "" - -#: ../../../build/NEWS:3280 -msgid "" -"`bpo-41028 `__: Language and version " -"switchers, previously maintained in every cpython branches, are now handled " -"by docsbuild-script." -msgstr "" - -#: ../../../build/NEWS:3286 -msgid "" -"`bpo-41473 `__: Reenable test_gdb on gdb " -"9.2 and newer: https://bugzilla.redhat.com/show_bug.cgi?id=1866884 bug is " -"fixed in gdb 10.1." -msgstr "" - -#: ../../../build/NEWS:3290 -msgid "" -"`bpo-42553 `__: Fix ``test_asyncio." -"test_call_later()`` race condition: don't measure asyncio performance in the " -"``call_later()`` unit test. The test failed randomly on the CI." -msgstr "" - -#: ../../../build/NEWS:3294 -msgid "" -"`bpo-31904 `__: Fix test_netrc on " -"VxWorks: create temporary directories using temp_cwd()." -msgstr "" - -#: ../../../build/NEWS:3297 -msgid "" -"`bpo-31904 `__: skip " -"test_getaddrinfo_ipv6_scopeid_symbolic and " -"test_getnameinfo_ipv6_scopeid_symbolic on VxWorks" -msgstr "" - -#: ../../../build/NEWS:3300 -msgid "" -"`bpo-31904 `__: skip test_test of " -"test_mailcap on VxWorks" -msgstr "" - -#: ../../../build/NEWS:3302 -msgid "" -"`bpo-31904 `__: add shell requirement " -"for test_pipes" -msgstr "" - -#: ../../../build/NEWS:3304 -msgid "" -"`bpo-31904 `__: skip some tests related " -"to fifo on VxWorks" -msgstr "" - -#: ../../../build/NEWS:3306 -msgid "" -"`bpo-31904 `__: Fix test_doctest.py " -"failures for VxWorks." -msgstr "" - -#: ../../../build/NEWS:3308 -msgid "" -"`bpo-40754 `__: Include " -"``_testinternalcapi`` module in Windows installer for test suite" -msgstr "" - -#: ../../../build/NEWS:3311 -msgid "" -"`bpo-41561 `__: test_ssl: skip " -"test_min_max_version_mismatch when TLS 1.0 is not available" -msgstr "" - -#: ../../../build/NEWS:3314 -msgid "" -"`bpo-31904 `__: Fix os module failures " -"for VxWorks RTOS." -msgstr "" - -#: ../../../build/NEWS:3316 -msgid "" -"`bpo-31904 `__: Fix fifo test cases for " -"VxWorks RTOS." -msgstr "" - -#: ../../../build/NEWS:3321 -msgid "" -"`bpo-31904 `__: remove libnet dependency " -"from detect_socket() for VxWorks" -msgstr "" - -#: ../../../build/NEWS:3323 -msgid "" -"`bpo-42398 `__: Fix a race condition in " -"\"make regen-all\" when make -jN option is used to run jobs in parallel. The " -"clinic.py script now only use atomic write to write files. Moveover, " -"generated files are now left unchanged if the content does not change, to " -"not change the file modification time." -msgstr "" - -#: ../../../build/NEWS:3328 -msgid "" -"`bpo-41617 `__: Fix building " -"``pycore_bitutils.h`` internal header on old clang version without " -"``__builtin_bswap16()`` (ex: Xcode 4.6.3 on Mac OS X 10.7). Patch by Joshua " -"Root and Victor Stinner." -msgstr "" - -#: ../../../build/NEWS:3332 -msgid "" -"`bpo-38823 `__: It is no longer possible " -"to build the ``_ctypes`` extension module without :c:type:`wchar_t` type: " -"remove ``CTYPES_UNICODE`` macro. Anyway, the :c:type:`wchar_t` type is " -"required to build Python. Patch by Victor Stinner." -msgstr "" - -#: ../../../build/NEWS:3337 -msgid "" -"`bpo-42087 `__: Support was removed for " -"AIX 5.3 and below. See :issue:`40680`." -msgstr "" - -#: ../../../build/NEWS:3339 -msgid "" -"`bpo-40998 `__: Addressed three compiler " -"warnings found by undefined behavior sanitizer (ubsan)." -msgstr "" - -#: ../../../build/NEWS:3345 -msgid "" -"`bpo-42120 `__: Remove macro definition " -"of ``copysign`` (to ``_copysign``) in headers." -msgstr "" - -#: ../../../build/NEWS:3348 -msgid "" -"`bpo-38506 `__: The Windows launcher now " -"properly handles Python 3.10 when listing installed Python versions." -msgstr "" - -#: ../../../build/NEWS:3354 -msgid "" -"`bpo-42504 `__: Fix build on macOS Big " -"Sur when MACOSX_DEPLOYMENT_TARGET=11" -msgstr "" - -#: ../../../build/NEWS:3356 -msgid "" -"`bpo-41116 `__: Ensure distutils." -"unixxcompiler.find_library_file can find system provided libraries on macOS " -"11." -msgstr "" - -#: ../../../build/NEWS:3359 -msgid "" -"`bpo-41100 `__: Add support for macOS 11 " -"and Apple Silicon systems." -msgstr "" - -#: ../../../build/NEWS:3361 -msgid "" -"It is now possible to build \"Universal 2\" binaries using \"--enable-" -"universalsdk --with-universal-archs=universal2\"." -msgstr "" - -#: ../../../build/NEWS:3364 -msgid "" -"Binaries build on later macOS versions can be deployed back to older " -"versions (tested up to macOS 10.9), when using the correct deployment " -"target. This is tested using Xcode 11 and later." -msgstr "" - -#: ../../../build/NEWS:3368 -msgid "" -"`bpo-42232 `__: Added Darwin specific " -"madvise options to mmap module." -msgstr "" - -#: ../../../build/NEWS:3370 -msgid "" -"`bpo-38443 `__: The ``--enable-" -"universalsdk`` and ``--with-universal-archs`` options for the configure " -"script now check that the specified architectures can be used." -msgstr "" - -#: ../../../build/NEWS:3377 -msgid "" -"`bpo-42508 `__: Keep IDLE running on " -"macOS. Remove obsolete workaround that prevented running files with " -"shortcuts when using new universal2 installers built on macOS 11." -msgstr "" - -#: ../../../build/NEWS:3381 -msgid "" -"`bpo-42426 `__: Fix reporting offset of " -"the RE error in searchengine." -msgstr "" - -#: ../../../build/NEWS:3383 -msgid "" -"`bpo-42415 `__: Get docstrings for IDLE " -"calltips more often by using inspect.getdoc." -msgstr "" - -#: ../../../build/NEWS:3389 -msgid "" -"`bpo-42212 `__: The smelly.py script now " -"also checks the Python dynamic library and extension modules, not only the " -"Python static library. Make also the script more verbose: explain what it " -"does." -msgstr "" - -#: ../../../build/NEWS:3393 -msgid "" -"`bpo-36310 `__: Allow :file:`Tools/i18n/" -"pygettext.py` to detect calls to ``gettext`` in f-strings." -msgstr "" - -#: ../../../build/NEWS:3399 -msgid "" -"`bpo-42423 `__: The :c:func:" -"`PyType_FromSpecWithBases` and :c:func:`PyType_FromModuleAndSpec` functions " -"now accept a single class as the *bases* argument." -msgstr "" - -#: ../../../build/NEWS:3403 -msgid "" -"`bpo-1635741 `__: Port :mod:`select` " -"extension module to multiphase initialization (:pep:`489`)." -msgstr "" - -#: ../../../build/NEWS:3406 -msgid "" -"`bpo-1635741 `__: Port " -"_posixsubprocess extension module to multiphase initialization (:pep:`489`)." -msgstr "" - -#: ../../../build/NEWS:3409 -msgid "" -"`bpo-1635741 `__: Port _posixshmem " -"extension module to multiphase initialization (:pep:`489`)" -msgstr "" - -#: ../../../build/NEWS:3412 -msgid "" -"`bpo-1635741 `__: Port _struct " -"extension module to multiphase initialization (:pep:`489`)" -msgstr "" - -#: ../../../build/NEWS:3415 -msgid "" -"`bpo-1635741 `__: Port :mod:`spwd` " -"extension module to multiphase initialization (:pep:`489`)" -msgstr "" - -#: ../../../build/NEWS:3418 -msgid "" -"`bpo-1635741 `__: Port :mod:`gc` " -"extension module to multiphase initialization (:pep:`489`)" -msgstr "" - -#: ../../../build/NEWS:3421 -msgid "" -"`bpo-1635741 `__: Port _queue " -"extension module to multiphase initialization (:pep:`489`)" -msgstr "" - -#: ../../../build/NEWS:3424 -msgid "" -"`bpo-39573 `__: Convert :c:func:" -"`Py_TYPE` and :c:func:`Py_SIZE` back to macros to allow using them as an l-" -"value. Many third party C extension modules rely on the ability of using " -"Py_TYPE() and Py_SIZE() to set an object type and size: ``Py_TYPE(obj) = " -"type;`` and ``Py_SIZE(obj) = size;``." -msgstr "" - -#: ../../../build/NEWS:3429 -msgid "" -"`bpo-1635741 `__: Port :mod:`symtable` " -"extension module to multiphase initialization (:pep:`489`)" -msgstr "" - -#: ../../../build/NEWS:3432 -msgid "" -"`bpo-1635741 `__: Port :mod:`grp` and :" -"mod:`pwd` extension modules to multiphase initialization (:pep:`489`)" -msgstr "" - -#: ../../../build/NEWS:3435 -msgid "" -"`bpo-1635741 `__: Port _random " -"extension module to multiphase initialization (:pep:`489`)" -msgstr "" - -#: ../../../build/NEWS:3438 -msgid "" -"`bpo-1635741 `__: Port _hashlib " -"extension module to multiphase initialization (:pep:`489`)" -msgstr "" - -#: ../../../build/NEWS:3441 -msgid "" -"`bpo-41713 `__: Removed the undocumented " -"``PyOS_InitInterrupts()`` function. Initializing Python already implicitly " -"installs signal handlers: see :c:member:`PyConfig.install_signal_handlers`. " -"Patch by Victor Stinner." -msgstr "" - -#: ../../../build/NEWS:3445 -msgid "" -"`bpo-40170 `__: The " -"``Py_TRASHCAN_BEGIN`` macro no longer accesses PyTypeObject attributes, but " -"now can get the condition by calling the new private :c:func:" -"`_PyTrash_cond()` function which hides implementation details." -msgstr "" - -#: ../../../build/NEWS:3449 -msgid "" -"`bpo-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:`Python " -"Initialization Configuration API ` to get the :ref:`Python Path " -"Configuration. `. Patch by Victor Stinner." -msgstr "" - -#: ../../../build/NEWS:3457 -msgid "" -"`bpo-42260 `__: The :c:func:" -"`PyConfig_Read` function now 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." -msgstr "" - -#: ../../../build/NEWS:3463 -msgid "" -"`bpo-42262 `__: Added :c:func:" -"`Py_NewRef` and :c:func:`Py_XNewRef` functions to increment the reference " -"count of an object and return the object. Patch by Victor Stinner." -msgstr "" - -#: ../../../build/NEWS:3467 -msgid "" -"`bpo-42260 `__: When :c:func:" -"`Py_Initialize` is called twice, the second call now updates more :mod:`sys` " -"attributes for the configuration, rather than only :data:`sys.argv`. Patch " -"by Victor Stinner." -msgstr "" - -#: ../../../build/NEWS:3471 -msgid "" -"`bpo-41832 `__: The :c:func:" -"`PyType_FromModuleAndSpec` function now accepts NULL ``tp_doc`` slot." -msgstr "" - -#: ../../../build/NEWS:3474 -msgid "" -"`bpo-1635741 `__: Added :c:func:" -"`PyModule_AddObjectRef` function: similar to :c:func:`PyModule_AddObject` " -"but don't steal a reference to the value on success. Patch by Victor Stinner." -msgstr "" - -#: ../../../build/NEWS:3478 -msgid "" -"`bpo-42171 `__: The :c:data:" -"`METH_FASTCALL` calling convention is added to the limited API. The " -"functions :c:func:`PyModule_AddType`, :c:func:`PyType_FromModuleAndSpec`, :" -"c:func:`PyType_GetModule` and :c:func:`PyType_GetModuleState` are added to " -"the limited API on Windows." -msgstr "" - -#: ../../../build/NEWS:3483 -msgid "" -"`bpo-42085 `__: Add dedicated entry to " -"PyAsyncMethods for sending values" -msgstr "" - -#: ../../../build/NEWS:3485 -msgid "" -"`bpo-41073 `__: :c:func:" -"`PyType_GetSlot()` can now accept static types." -msgstr "" - -#: ../../../build/NEWS:3487 -msgid "" -"`bpo-30459 `__: :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. Patch by Zackery Spytz and Victor Stinner." -msgstr "" - -#: ../../../build/NEWS:3496 -msgid "Python 3.10.0 alpha 2" -msgstr "" - -#: ../../../build/NEWS:3498 -msgid "*Release date: 2020-11-03*" -msgstr "" - -#: ../../../build/NEWS:3503 -msgid "" -"`bpo-42103 `__: Prevented potential DoS " -"attack via CPU and RAM exhaustion when processing malformed Apple Property " -"List files in binary format." -msgstr "" - -#: ../../../build/NEWS:3506 -msgid "" -"`bpo-42051 `__: The :mod:`plistlib` " -"module no longer accepts entity declarations in XML plist files to avoid XML " -"vulnerabilities. This should not affect users as entity declarations are not " -"used in regular plist files." -msgstr "" -"`bpo-42051 `__: O módulo :mod:`plistlib` " -"não aceita mais declarações de entidades em arquivos XML plist para evitar " -"vulnerabilidades XML. Isso não deve afetar os usuários, pois as declarações " -"de entidade não são usadas em arquivos plist comuns." - -#: ../../../build/NEWS:3514 -msgid "" -"`bpo-42236 `__: If the " -"``nl_langinfo(CODESET)`` function returns an empty string, Python now uses " -"UTF-8 as the filesystem encoding. Patch by Victor Stinner." -msgstr "" - -#: ../../../build/NEWS:3518 -msgid "" -"`bpo-42218 `__: Fixed a bug in the PEG " -"parser that was causing crashes in debug mode. Now errors are checked in " -"left-recursive rules to avoid cases where such errors do not get handled in " -"time and appear as long-distance crashes in other places." -msgstr "" -"`bpo-42218 `__: Corrigido um bug no " -"analisador sintático GASE que estava causando travamentos no modo de " -"depuração. Agora, os erros são verificados em regras recursivas à esquerda " -"para evitar casos em que tais erros não sejam tratados a tempo e aparecem " -"como travamentos de longa distância em outros lugares." - -#: ../../../build/NEWS:3523 -msgid "" -"`bpo-42214 `__: Fixed a possible crash " -"in the PEG parser when checking for the '!=' token in the ``barry_as_flufl`` " -"rule. Patch by Pablo Galindo." -msgstr "" -"`bpo-42214 `__: Corrigido um possível " -"travamento no analisador sintático GASE ao verificar o token '!=' na regra " -"``barry_as_flufl``. Patch de Pablo Galindo." - -#: ../../../build/NEWS:3526 -msgid "" -"`bpo-42206 `__: Propagate and raise the " -"errors caused by :c:func:`PyAST_Validate` in the parser." -msgstr "" - -#: ../../../build/NEWS:3529 -msgid "" -"`bpo-41796 `__: The :mod:`ast` module " -"internal state is now per interpreter. Patch by Victor Stinner." -msgstr "" - -#: ../../../build/NEWS:3532 -msgid "" -"`bpo-42143 `__: Fix handling of errors " -"during creation of ``PyFunctionObject``, which resulted in operations on " -"uninitialized memory. Patch by Yonatan Goldschmidt." -msgstr "" -"`bpo-42143 `__: Correção do tratamento " -"de erros durante a criação de ``PyFunctionObject``, o que resultava em " -"operações em memória não inicializada. Patch de Yonatan Goldschmidt." - -#: ../../../build/NEWS:3536 -msgid "" -"`bpo-41659 `__: Fix a bug in the parser, " -"where a curly brace following a `primary` didn't fail immediately. This led " -"to invalid expressions like `a {b}` to throw a :exc:`SyntaxError` with a " -"wrong offset, or invalid expressions ending with a curly brace like `a {` to " -"not fail immediately in the REPL." -msgstr "" -"`bpo-41659 `__: Corrigido um bug no " -"analisador sintático, onde uma chave após uma `primário` não falhava " -"imediatamente. Isto levava a expressões inválidas como `a{b}` para lançar " -"um :exc:`SyntaxError` com um deslocamento errado, ou expressões inválidas " -"terminando com uma chave como `a{` para não falhar imediatamente no REPL." - -#: ../../../build/NEWS:3542 -msgid "" -"`bpo-42150 `__: Fix possible buffer " -"overflow in the new parser when checking for continuation lines. Patch by " -"Pablo Galindo." -msgstr "" -"`bpo-42150 `__: Corrija o possível " -"estouro de buffer no novo analisador sintático ao verificar as linhas de " -"continuação. Patch de Pablo Galindo." - -#: ../../../build/NEWS:3545 -msgid "" -"`bpo-42123 `__: Run the parser two " -"times. On the first run, disable all the rules that only generate better " -"error messages to gain performance. If there's a parse failure, run the " -"parser a second time with those enabled." -msgstr "" -"`bpo-42123 `__: Executa o analisador " -"sintático duas vezes. Na primeira execução, desativa todas as regras que " -"apenas geram melhores mensagens de erro para obter desempenho. Se houver uma " -"falha de análise, executa o analisador sintático uma segunda vez com aqueles " -"ativados." - -#: ../../../build/NEWS:3549 -msgid "" -"`bpo-42093 `__: The ``LOAD_ATTR`` " -"instruction now uses new \"per opcode cache\" mechanism and it is about 36% " -"faster now. Patch by Pablo Galindo and Yury Selivanov." -msgstr "" - -#: ../../../build/NEWS:3553 -msgid "" -"`bpo-42030 `__: Support for the legacy " -"AIX-specific shared library loading support has been removed. All versions " -"of AIX since 4.3 have supported and defaulted to using the common Unix " -"mechanism instead." -msgstr "" - -#: ../../../build/NEWS:3557 -msgid "" -"`bpo-41984 `__: The garbage collector " -"now tracks all user-defined classes. Patch by Brandt Bucher." -msgstr "" -"`bpo-41984 `__: O coletor de lixo agora " -"rastreia todas as classes definidas pelo usuário. Patch de Brandt Bucher." - -#: ../../../build/NEWS:3560 -msgid "" -"`bpo-41993 `__: Fixed potential issues " -"with removing not completely initialized module from ``sys.modules`` when " -"import fails." -msgstr "" -"`bpo-41993 `__: Corrigidos possíveis " -"problemas com a remoção de módulos não completamente inicializados de ``sys." -"modules`` quando a importação falha." - -#: ../../../build/NEWS:3563 -msgid "" -"`bpo-41979 `__: Star-unpacking is now " -"allowed for with item's targets in the PEG parser." -msgstr "" -"`bpo-41979 `__: Descompactação em " -"estrela agora é permitido com alvos de item no analisador sintático GASE." - -#: ../../../build/NEWS:3566 -msgid "" -"`bpo-41974 `__: Removed special methods " -"``__int__``, ``__float__``, ``__floordiv__``, ``__mod__``, ``__divmod__``, " -"``__rfloordiv__``, ``__rmod__`` and ``__rdivmod__`` of the :class:`complex` " -"class. They always raised a :exc:`TypeError`." -msgstr "" - -#: ../../../build/NEWS:3571 -msgid "" -"`bpo-41902 `__: Micro optimization when " -"compute :c:member:`~PySequenceMethods.sq_item` and :c:member:" -"`~PyMappingMethods.mp_subscript` of :class:`range`. Patch by Dong-hee Na." -msgstr "" - -#: ../../../build/NEWS:3576 -msgid "" -"`bpo-41894 `__: When loading a native " -"module and a load failure occurs, prevent a possible UnicodeDecodeError when " -"not running in a UTF-8 locale by decoding the load error message using the " -"current locale's encoding." -msgstr "" -"`bpo-41894 `__: Ao carregar um módulo " -"nativo e ocorrer uma falha de carregamento, evite um possível " -"UnicodeDecodeError quando não estiver executando em uma localidade UTF-8 " -"decodificando a mensagem de erro de carregamento usando a codificação da " -"localidade atual." - -#: ../../../build/NEWS:3580 -msgid "" -"`bpo-41902 `__: Micro optimization for " -"range.index if step is 1. Patch by Dong-hee Na." -msgstr "" - -#: ../../../build/NEWS:3583 -msgid "" -"`bpo-41435 `__: Add `sys." -"_current_exceptions()` function to retrieve a dictionary mapping each " -"thread's identifier to the topmost exception currently active in that thread " -"at the time the function is called." -msgstr "" - -#: ../../../build/NEWS:3587 -msgid "" -"`bpo-38605 `__: Enable ``from __future__ " -"import annotations`` (:pep:`563`) by default. The values found in :attr:" -"`__annotations__` dicts are now strings, e.g. ``{\"x\": \"int\"}`` instead " -"of ``{\"x\": int}``." -msgstr "" - -#: ../../../build/NEWS:3594 -msgid "" -"`bpo-35455 `__: On Solaris, :func:`~time." -"thread_time` is now implemented with ``gethrvtime()`` because " -"``clock_gettime(CLOCK_THREAD_CPUTIME_ID)`` is not always available. Patch by " -"Jakub Kulik." -msgstr "" - -#: ../../../build/NEWS:3598 -msgid "" -"`bpo-42233 `__: The :func:`repr` of :mod:" -"`typing` types containing :ref:`Generic Alias Types ` " -"previously did not show the parameterized types in the ``GenericAlias``. " -"They have now been changed to do so." -msgstr "" - -#: ../../../build/NEWS:3603 -msgid "" -"`bpo-29566 `__: ``binhex.binhex()`` " -"consisently writes macOS 9 line endings." -msgstr "" -"`bpo-29566 `__: ``binhex.binhex()`` " -"escreve consistentemente terminações de linha do macOS 9." - -#: ../../../build/NEWS:3605 -msgid "" -"`bpo-26789 `__: The :class:`logging." -"FileHandler` class now keeps a reference to the builtin :func:`open` " -"function to be able to open or reopen the file during Python finalization. " -"Fix errors like: ``NameError: name 'open' is not defined``. Patch by Victor " -"Stinner." -msgstr "" - -#: ../../../build/NEWS:3610 -msgid "" -"`bpo-42157 `__: 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. Patch by Victor Stinner." -msgstr "" - -#: ../../../build/NEWS:3614 -msgid "" -"`bpo-42157 `__: Convert the :mod:" -"`unicodedata` extension module to the multiphase initialization API (:pep:" -"`489`) and convert the ``unicodedata.UCD`` static type to a heap type. Patch " -"by Mohamed Koubaa and Victor Stinner." -msgstr "" - -#: ../../../build/NEWS:3619 -msgid "" -"`bpo-42146 `__: Fix memory leak in :func:" -"`subprocess.Popen` in case an uid (gid) specified in `user` (`group`, " -"`extra_groups`) overflows `uid_t` (`gid_t`)." -msgstr "" -"`bpo-42146 `__: Corrige vazamento de " -"memória em :func:`subprocess.Popen` no caso de um uid (gid) especificado em " -"`user` (`group`, `extra_groups`) estourar `uid_t` (`gid_t`)." - -#: ../../../build/NEWS:3623 -msgid "" -"`bpo-42103 `__: :exc:`~plistlib." -"InvalidFileException` and :exc:`RecursionError` are now the only errors " -"caused by loading malformed binary Plist file (previously ValueError and " -"TypeError could be raised in some specific cases)." -msgstr "" - -#: ../../../build/NEWS:3628 -msgid "" -"`bpo-41490 `__: In ``importlib." -"resources``, ``.path`` method is more aggressive about releasing handles to " -"zipfile objects early, enabling use-cases like certifi to leave the context " -"open but delete the underlying zip file." -msgstr "" - -#: ../../../build/NEWS:3632 -msgid "" -"`bpo-41052 `__: Pickling heap types " -"implemented in C with protocols 0 and 1 raises now an error instead of " -"producing incorrect data." -msgstr "" - -#: ../../../build/NEWS:3635 -msgid "" -"`bpo-42089 `__: In ``importlib.metadata." -"PackageNotFoundError``, make reference to the package metadata being missing " -"to improve the user experience." -msgstr "" - -#: ../../../build/NEWS:3638 -msgid "" -"`bpo-41491 `__: plistlib: fix parsing " -"XML plists with hexadecimal integer values" -msgstr "" - -#: ../../../build/NEWS:3641 -msgid "" -"`bpo-42065 `__: Fix an incorrectly " -"formatted error from :meth:`_codecs.charmap_decode` when called with a " -"mapped value outside the range of valid Unicode code points. PR by Max " -"Bernstein." -msgstr "" - -#: ../../../build/NEWS:3645 -msgid "" -"`bpo-41966 `__: Fix pickling pure " -"Python :class:`datetime.time` subclasses. Patch by Dean Inwood." -msgstr "" - -#: ../../../build/NEWS:3648 -msgid "" -"`bpo-19270 `__: :meth:`sched.scheduler." -"cancel()` will now cancel the correct event, if two events with same " -"priority are scheduled for the same time. Patch by Bar Harel." -msgstr "" - -#: ../../../build/NEWS:3652 -msgid "" -"`bpo-28660 `__: :func:`textwrap.wrap` " -"now attempts to break long words after hyphens when " -"``break_long_words=True`` and ``break_on_hyphens=True``." -msgstr "" - -#: ../../../build/NEWS:3655 -msgid "" -"`bpo-35823 `__: Use ``vfork()`` instead " -"of ``fork()`` for :func:`subprocess.Popen` on Linux to improve performance " -"in cases where it is deemed safe." -msgstr "" - -#: ../../../build/NEWS:3659 -msgid "" -"`bpo-42043 `__: Add support for " -"``zipfile.Path`` inheritance. ``zipfile.Path.is_file()`` now returns False " -"for non-existent names. ``zipfile.Path`` objects now expose a ``.filename`` " -"attribute and rely on that to resolve ``.name`` and ``.parent`` when the " -"``Path`` object is at the root of the zipfile." -msgstr "" - -#: ../../../build/NEWS:3665 -msgid "" -"`bpo-42021 `__: Fix possible ref leaks " -"in :mod:`sqlite3` module init." -msgstr "" - -#: ../../../build/NEWS:3667 -msgid "" -"`bpo-39101 `__: Fixed tests using " -"IsolatedAsyncioTestCase from hanging on BaseExceptions." -msgstr "" - -#: ../../../build/NEWS:3670 -msgid "" -"`bpo-41976 `__: Fixed a bug that was " -"causing :func:`ctypes.util.find_library` to return ``None`` when triying to " -"locate a library in an environment when gcc>=9 is available and ``ldconfig`` " -"is not. Patch by Pablo Galindo" -msgstr "" - -#: ../../../build/NEWS:3674 -msgid "" -"`bpo-41943 `__: Fix bug where TestCase." -"assertLogs doesn't correctly filter messages by level." -msgstr "" - -#: ../../../build/NEWS:3677 -msgid "" -"`bpo-41923 `__: Implement :pep:`613`, " -"introducing :data:`typing.TypeAlias` annotation." -msgstr "" - -#: ../../../build/NEWS:3680 -msgid "" -"`bpo-41905 `__: A new function in abc: " -"*update_abstractmethods* to re-calculate an abstract class's abstract " -"status. In addition, *dataclass* has been changed to call this function." -msgstr "" - -#: ../../../build/NEWS:3684 -msgid "" -"`bpo-23706 `__: Added *newline* " -"parameter to ``pathlib.Path.write_text()``." -msgstr "" - -#: ../../../build/NEWS:3686 -msgid "" -"`bpo-41876 `__: Tkinter font class repr " -"uses font name" -msgstr "" - -#: ../../../build/NEWS:3688 -msgid "" -"`bpo-41831 `__: ``str()`` for the " -"``type`` attribute of the ``tkinter.Event`` object always returns now the " -"numeric code returned by Tk instead of the name of the event type." -msgstr "" - -#: ../../../build/NEWS:3692 -msgid "" -"`bpo-39337 `__: :func:`encodings." -"normalize_encoding` now ignores non-ASCII characters." -msgstr "" - -#: ../../../build/NEWS:3695 -msgid "" -"`bpo-41747 `__: Ensure all methods that " -"generated from :func:`dataclasses.dataclass` objects now have the proper " -"``__qualname__`` attribute referring to the class they belong to. Patch by " -"Batuhan Taskaya." -msgstr "" - -#: ../../../build/NEWS:3699 -msgid "" -"`bpo-30681 `__: Handle exceptions caused " -"by unparseable date headers when using email \"default\" policy. Patch by " -"Tim Bell, Georges Toth" -msgstr "" - -#: ../../../build/NEWS:3702 -msgid "" -"`bpo-41586 `__: Add F_SETPIPE_SZ and " -"F_GETPIPE_SZ to fcntl module. Allow setting pipesize on subprocess.Popen." -msgstr "" - -#: ../../../build/NEWS:3705 -msgid "" -"`bpo-41229 `__: Add ``contextlib." -"aclosing`` for deterministic cleanup of async generators which is analogous " -"to ``contextlib.closing`` for non-async generators. Patch by Joongi Kim and " -"John Belmonte." -msgstr "" - -#: ../../../build/NEWS:3709 -msgid "" -"`bpo-16396 `__: Allow ``ctypes." -"wintypes`` to be imported on non-Windows systems." -msgstr "" - -#: ../../../build/NEWS:3712 -msgid "" -"`bpo-4356 `__: Add a key function to the " -"bisect module." -msgstr "" - -#: ../../../build/NEWS:3714 -msgid "" -"`bpo-40592 `__: :func:`shutil.which` now " -"ignores empty entries in :envvar:`PATHEXT` instead of treating them as a " -"match." -msgstr "" - -#: ../../../build/NEWS:3717 -msgid "" -"`bpo-40492 `__: Fix ``--outfile`` for :" -"mod:`cProfile` / :mod:`profile` not writing the output file in the original " -"directory when the program being profiled changes the working directory. PR " -"by Anthony Sottile." -msgstr "" - -#: ../../../build/NEWS:3721 -msgid "" -"`bpo-34204 `__: The :mod:`shelve` module " -"now uses :data:`pickle.DEFAULT_PROTOCOL` by default instead of :mod:`pickle` " -"protocol ``3``." -msgstr "" - -#: ../../../build/NEWS:3725 -msgid "" -"`bpo-27321 `__: Fixed KeyError exception " -"when flattening an email to a string attempts to replace a non-existent " -"Content-Transfer-Encoding header." -msgstr "" - -#: ../../../build/NEWS:3728 -msgid "" -"`bpo-38976 `__: The :mod:`http." -"cookiejar` module now supports the parsing of cookies in CURL-style " -"cookiejar files through MozillaCookieJar on all platforms. Previously, such " -"cookie entries would be silently ignored when loading a cookiejar with such " -"entries." -msgstr "" - -#: ../../../build/NEWS:3733 -msgid "" -"Additionally, the HTTP Only attribute is persisted in the object, and will " -"be correctly written to file if the MozillaCookieJar object is subsequently " -"dumped." -msgstr "" - -#: ../../../build/NEWS:3740 -msgid "" -"`bpo-42061 `__: Document __format__ " -"functionality for IP addresses." -msgstr "" - -#: ../../../build/NEWS:3742 -msgid "" -"`bpo-41910 `__: Document the default " -"implementation of `object.__eq__`." -msgstr "" -"`bpo-41910 `__: Documenta a " -"implementação padrão de `object.__eq__`." - -#: ../../../build/NEWS:3744 -msgid "" -"`bpo-42010 `__: Clarify that " -"subscription expressions are also valid for certain :term:`classes ` " -"and :term:`types ` in the standard library, and for user-defined " -"classes and types if the classmethod :meth:`__class_getitem__` is provided." -msgstr "" - -#: ../../../build/NEWS:3749 -msgid "" -"`bpo-41805 `__: Documented :ref:`generic " -"alias type ` and :data:`types.GenericAlias`. Also added " -"an entry in glossary for :term:`generic types `." -msgstr "" - -#: ../../../build/NEWS:3753 -msgid "" -"`bpo-39693 `__: Fix tarfile's " -"extractfile documentation" -msgstr "" - -#: ../../../build/NEWS:3755 -msgid "" -"`bpo-39416 `__: Document some " -"restrictions on the default string representations of numeric classes." -msgstr "" - -#: ../../../build/NEWS:3761 -msgid "" -"`bpo-41739 `__: Fix test_logging." -"test_race_between_set_target_and_flush(): the test now waits until all " -"threads complete to avoid leaking running threads." -msgstr "" - -#: ../../../build/NEWS:3765 -msgid "" -"`bpo-41970 `__: Avoid a test failure in " -"``test_lib2to3`` if the module has already imported at the time the test " -"executes. Patch by Pablo Galindo." -msgstr "" - -#: ../../../build/NEWS:3768 -msgid "" -"`bpo-41944 `__: Tests for CJK codecs no " -"longer call ``eval()`` on content received via HTTP." -msgstr "" - -#: ../../../build/NEWS:3771 -msgid "" -"`bpo-41306 `__: Fixed a failure in " -"``test_tk.test_widgets.ScaleTest`` happening when executing the test with Tk " -"8.6.10." -msgstr "" - -#: ../../../build/NEWS:3777 -msgid "" -"`bpo-38980 `__: Add ``-fno-semantic-" -"interposition`` to both the compile and link line when building with ``--" -"enable-optimizations``. Patch by Victor Stinner and Pablo Galindo." -msgstr "" - -#: ../../../build/NEWS:3784 -msgid "" -"`bpo-38439 `__: Updates the icons for " -"IDLE in the Windows Store package." -msgstr "" - -#: ../../../build/NEWS:3786 -msgid "" -"`bpo-38252 `__: Use 8-byte step to " -"detect ASCII sequence in 64-bit Windows build." -msgstr "" - -#: ../../../build/NEWS:3789 -msgid "" -"`bpo-39107 `__: Update Tcl and Tk to " -"8.6.10 in Windows installer." -msgstr "" - -#: ../../../build/NEWS:3791 -msgid "" -"`bpo-41557 `__: Update Windows installer " -"to use SQLite 3.33.0." -msgstr "" - -#: ../../../build/NEWS:3793 -msgid "" -"`bpo-38324 `__: Avoid Unicode errors " -"when accessing certain locale data on Windows." -msgstr "" - -#: ../../../build/NEWS:3799 -msgid "" -"`bpo-41471 `__: Ignore invalid prefix " -"lengths in system proxy excludes." -msgstr "" - -#: ../../../build/NEWS:3804 -msgid "" -"`bpo-33987 `__: Mostly finish using ttk " -"widgets, mainly for editor, settings, and searches. Some patches by Mark " -"Roseman." -msgstr "" - -#: ../../../build/NEWS:3807 -msgid "" -"`bpo-40511 `__: Typing opening and " -"closing parentheses inside the parentheses of a function call will no longer " -"cause unnecessary \"flashing\" off and on of an existing open call-tip, e.g. " -"when typed in a string literal." -msgstr "" - -#: ../../../build/NEWS:3811 -msgid "" -"`bpo-38439 `__: Add a 256×256 pixel IDLE " -"icon to the Windows .ico file. Created by Andrew Clover. Remove the low-" -"color gif variations from the .ico file." -msgstr "" - -#: ../../../build/NEWS:3817 -msgid "" -"`bpo-42157 `__: The private " -"``_PyUnicode_Name_CAPI`` structure of the PyCapsule API ``unicodedata." -"ucnhash_CAPI`` has been moved to the internal C API. Patch by Victor Stinner." -msgstr "" - -#: ../../../build/NEWS:3821 -msgid "" -"`bpo-42015 `__: Fix potential crash in " -"deallocating method objects when dynamically allocated `PyMethodDef`'s " -"lifetime is managed through the ``self`` argument of a `PyCFunction`." -msgstr "" - -#: ../../../build/NEWS:3825 -msgid "" -"`bpo-40423 `__: The :mod:`subprocess` " -"module and ``os.closerange`` will now use the ``close_range(low, high, " -"flags)`` syscall when it is available for more efficient closing of ranges " -"of descriptors." -msgstr "" - -#: ../../../build/NEWS:3829 -msgid "" -"`bpo-41845 `__: :c:func:" -"`PyObject_GenericGetDict` is available again in the limited API when " -"targeting 3.10 or later." -msgstr "" - -#: ../../../build/NEWS:3832 -msgid "" -"`bpo-40422 `__: Add `_Py_closerange` " -"function to provide performant closing of a range of file descriptors." -msgstr "" - -#: ../../../build/NEWS:3835 -msgid "" -"`bpo-41986 `__: :c:data:" -"`Py_FileSystemDefaultEncodeErrors` and :c:data:`Py_UTF8Mode` are available " -"again in limited API." -msgstr "" - -#: ../../../build/NEWS:3838 -msgid "" -"`bpo-41756 `__: Add `PyIter_Send` " -"function to allow sending value into generator/coroutine/iterator without " -"raising StopIteration exception to signal return." -msgstr "" - -#: ../../../build/NEWS:3842 -msgid "" -"`bpo-41784 `__: Added " -"``PyUnicode_AsUTF8AndSize`` to the limited C API." -msgstr "" - -#: ../../../build/NEWS:3846 -msgid "Python 3.10.0 alpha 1" -msgstr "" - -#: ../../../build/NEWS:3848 -msgid "*Release date: 2020-10-05*" -msgstr "" - -#: ../../../build/NEWS:3853 -msgid "" -"`bpo-41304 `__: Fixes `python3x._pth` " -"being ignored on Windows, caused by the fix for :issue:`29778` " -"(CVE-2020-15801)." -msgstr "" - -#: ../../../build/NEWS:3856 -msgid "" -"`bpo-41162 `__: Audit hooks are now " -"cleared later during finalization to avoid missing events." -msgstr "" - -#: ../../../build/NEWS:3859 -msgid "" -"`bpo-29778 `__: Ensure :file:`python3." -"dll` is loaded from correct locations when Python is embedded " -"(CVE-2020-15523)." -msgstr "" - -#: ../../../build/NEWS:3862 -msgid "" -"`bpo-41004 `__: The __hash__() methods " -"of ipaddress.IPv4Interface and ipaddress.IPv6Interface incorrectly " -"generated constant hash values of 32 and 128 respectively. This resulted in " -"always causing hash collisions. The fix uses hash() to generate hash values " -"for the tuple of (address, mask length, network address)." -msgstr "" - -#: ../../../build/NEWS:3868 -msgid "" -"`bpo-39603 `__: Prevent http header " -"injection by rejecting control characters in http.client.putrequest(...)." -msgstr "" - -#: ../../../build/NEWS:3874 -msgid "" -"`bpo-41909 `__: Fixed stack overflow in :" -"func:`issubclass` and :func:`isinstance` when getting the ``__bases__`` " -"attribute leads to infinite recursion." -msgstr "" -"`bpo-41909 `__: Corrigido o estouro de " -"pilha em :func:`issubclass` e :func:`isinstance` ao obter o atributo " -"``__bases__`` leva a recursão infinita." - -#: ../../../build/NEWS:3878 -msgid "" -"`bpo-41922 `__: Speed up calls to " -"``reversed()`` by using the :pep:`590` ``vectorcall`` calling convention. " -"Patch by Dong-hee Na." -msgstr "" - -#: ../../../build/NEWS:3881 -msgid "" -"`bpo-41873 `__: Calls to ``float()`` are " -"now faster due to the ``vectorcall`` calling convention. Patch by Dennis " -"Sweeney." -msgstr "" - -#: ../../../build/NEWS:3884 -msgid "" -"`bpo-41870 `__: Speed up calls to " -"``bool()`` by using the :pep:`590` ``vectorcall`` calling convention. Patch " -"by Dong-hee Na." -msgstr "" - -#: ../../../build/NEWS:3887 -msgid "" -"`bpo-1635741 `__: Port the :mod:" -"`_bisect` module to the multi-phase initialization API (:pep:`489`)." -msgstr "" - -#: ../../../build/NEWS:3890 -msgid "" -"`bpo-39934 `__: Correctly count control " -"blocks in 'except' in compiler. Ensures that a syntax error, rather a fatal " -"error, occurs for deeply nested, named exception handlers." -msgstr "" - -#: ../../../build/NEWS:3894 -msgid "" -"`bpo-41780 `__: Fix :meth:`__dir__` of :" -"class:`types.GenericAlias`. Patch by Batuhan Taskaya." -msgstr "" - -#: ../../../build/NEWS:3897 -msgid "" -"`bpo-1635741 `__: Port the :mod:" -"`_lsprof` extension module to multi-phase initialization (:pep:`489`)." -msgstr "" - -#: ../../../build/NEWS:3900 -msgid "" -"`bpo-1635741 `__: Port the :mod:" -"`cmath` extension module to multi-phase initialization (:pep:`489`)." -msgstr "" - -#: ../../../build/NEWS:3903 -msgid "" -"`bpo-1635741 `__: Port the :mod:" -"`_scproxy` extension module to multi-phase initialization (:pep:`489`)." -msgstr "" - -#: ../../../build/NEWS:3906 -msgid "" -"`bpo-1635741 `__: Port the :mod:" -"`termios` extension module to multi-phase initialization (:pep:`489`)." -msgstr "" - -#: ../../../build/NEWS:3909 -msgid "" -"`bpo-1635741 `__: Convert the :mod:" -"`_sha256` extension module types to heap types." -msgstr "" - -#: ../../../build/NEWS:3912 -msgid "" -"`bpo-41690 `__: Fix a possible stack " -"overflow in the parser when parsing functions and classes with a huge " -"ammount of arguments. Patch by Pablo Galindo." -msgstr "" - -#: ../../../build/NEWS:3916 -msgid "" -"`bpo-1635741 `__: Port the :mod:" -"`_overlapped` extension module to multi-phase initialization (:pep:`489`)." -msgstr "" - -#: ../../../build/NEWS:3919 -msgid "" -"`bpo-1635741 `__: Port the :mod:" -"`_curses_panel` extension module to multi-phase initialization (:pep:`489`)." -msgstr "" - -#: ../../../build/NEWS:3922 -msgid "" -"`bpo-1635741 `__: Port the :mod:" -"`_opcode` extension module to multi-phase initialization (:pep:`489`)." -msgstr "" - -#: ../../../build/NEWS:3925 -msgid "" -"`bpo-41681 `__: Fixes the wrong error " -"description in the error raised by using 2 `,` in format string in f-string " -"and :meth:`str.format`." -msgstr "" - -#: ../../../build/NEWS:3928 -msgid "" -"`bpo-41675 `__: The implementation of :" -"func:`signal.siginterrupt` now uses :c:func:`sigaction` (if it is available " -"in the system) instead of the deprecated :c:func:`siginterrupt`. Patch by " -"Pablo Galindo." -msgstr "" - -#: ../../../build/NEWS:3932 -msgid "" -"`bpo-41670 `__: Prevent line trace being " -"skipped on platforms not compiled with ``USE_COMPUTED_GOTOS``. Fixes issue " -"where some lines nested within a try-except block were not being traced on " -"Windows." -msgstr "" - -#: ../../../build/NEWS:3936 -msgid "" -"`bpo-41654 `__: Fix a crash that " -"occurred when destroying subclasses of :class:`MemoryError`. Patch by Pablo " -"Galindo." -msgstr "" - -#: ../../../build/NEWS:3939 -msgid "" -"`bpo-1635741 `__: Port the :mod:`zlib` " -"extension module to multi-phase initialization (:pep:`489`)." -msgstr "" - -#: ../../../build/NEWS:3942 -msgid "" -"`bpo-41631 `__: The ``_ast`` module uses " -"again a global state. Using a module state per module instance is causing " -"subtle practical problems. For example, the Mercurial project replaces the " -"``__import__()`` function to implement lazy import, whereas Python expected " -"that ``import _ast`` always return a fully initialized ``_ast`` module." -msgstr "" - -#: ../../../build/NEWS:3948 -msgid "" -"`bpo-40077 `__: Convert :mod:`_operator` " -"to use :c:func:`PyType_FromSpec`." -msgstr "" - -#: ../../../build/NEWS:3950 -msgid "" -"`bpo-1653741 `__: Port :mod:`_sha3` to " -"multi-phase init. Convert static types to heap types." -msgstr "" - -#: ../../../build/NEWS:3953 -msgid "" -"`bpo-1635741 `__: Port the :mod:" -"`_blake2` extension module to the multi-phase initialization API (:pep:" -"`489`)." -msgstr "" - -#: ../../../build/NEWS:3956 -msgid "" -"`bpo-41533 `__: Free the stack allocated " -"in ``va_build_stack`` if ``do_mkstack`` fails and the stack is not a " -"``small_stack``." -msgstr "" - -#: ../../../build/NEWS:3959 -msgid "" -"`bpo-41531 `__: Fix a bug that was " -"dropping keys when compiling dict literals with more than 0xFFFF elements. " -"Patch by Pablo Galindo." -msgstr "" - -#: ../../../build/NEWS:3962 -msgid "" -"`bpo-41525 `__: The output of ``python --" -"help`` contains now only ASCII characters." -msgstr "" - -#: ../../../build/NEWS:3965 -msgid "" -"`bpo-1635741 `__: Port the :mod:" -"`_sha1`, :mod:`_sha512`, and :mod:`_md5` extension modules to multi-phase " -"initialization API (:pep:`489`)." -msgstr "" - -#: ../../../build/NEWS:3968 -msgid "" -"`bpo-41431 `__: Optimize " -"``dict_merge()`` for copying dict (e.g. ``dict(d)`` and ``{}.update(d)``)." -msgstr "" - -#: ../../../build/NEWS:3971 -msgid "" -"`bpo-41428 `__: Implement PEP 604. This " -"supports (int | str) etc. in place of Union[str, int]." -msgstr "" - -#: ../../../build/NEWS:3974 -msgid "" -"`bpo-41340 `__: Removed fallback " -"implementation for ``strdup``." -msgstr "" - -#: ../../../build/NEWS:3976 -msgid "" -"`bpo-38156 `__: Handle interrupts that " -"come after EOF correctly in ``PyOS_StdioReadline``." -msgstr "" - -#: ../../../build/NEWS:3979 -msgid "" -"`bpo-41342 `__: :func:`round` with " -"integer argument is now faster (9--60%)." -msgstr "" - -#: ../../../build/NEWS:3981 -msgid "" -"`bpo-41334 `__: Constructors :func:" -"`str`, :func:`bytes` and :func:`bytearray` are now faster (around 30--40% " -"for small objects)." -msgstr "" - -#: ../../../build/NEWS:3984 -msgid "" -"`bpo-41295 `__: Resolve a regression in " -"CPython 3.8.4 where defining \"__setattr__\" in a multi-inheritance setup " -"and calling up the hierarchy chain could fail if builtins/extension types " -"were involved in the base types." -msgstr "" - -#: ../../../build/NEWS:3989 -msgid "" -"`bpo-41323 `__: Bytecode optimizations " -"are performed directly on the control flow graph. This will result in " -"slightly more compact code objects in some circumstances." -msgstr "" - -#: ../../../build/NEWS:3993 -msgid "" -"`bpo-41247 `__: Always cache the running " -"loop holder when running ``asyncio.set_running_loop``." -msgstr "" - -#: ../../../build/NEWS:3996 -msgid "" -"`bpo-41252 `__: Fix incorrect " -"refcounting in _ssl.c's ``_servername_callback()``." -msgstr "" - -#: ../../../build/NEWS:3999 -msgid "" -"`bpo-1635741 `__: Port :mod:" -"`multiprocessing` to multi-phase initialization" -msgstr "" - -#: ../../../build/NEWS:4001 -msgid "" -"`bpo-1635741 `__: Port :mod:`winapi` " -"to multiphase initialization" -msgstr "" - -#: ../../../build/NEWS:4003 -msgid "" -"`bpo-41215 `__: Use non-NULL default " -"values in the PEG parser keyword list to overcome a bug that was preventing " -"Python from being properly compiled when using the XLC compiler. Patch by " -"Pablo Galindo." -msgstr "" - -#: ../../../build/NEWS:4007 -msgid "" -"`bpo-41218 `__: Python 3.8.3 had a " -"regression where compiling with ast.PyCF_ALLOW_TOP_LEVEL_AWAIT would " -"aggressively mark list comprehension with CO_COROUTINE. Now only list " -"comprehension making use of async/await will tagged as so." -msgstr "" - -#: ../../../build/NEWS:4012 -msgid "" -"`bpo-1635741 `__: Port :mod:" -"`faulthandler` to multiphase initialization." -msgstr "" - -#: ../../../build/NEWS:4014 -msgid "" -"`bpo-1635741 `__: Port :mod:`sha256` " -"to multiphase initialization" -msgstr "" - -#: ../../../build/NEWS:4016 -msgid "" -"`bpo-41175 `__: Guard against a NULL " -"pointer dereference within bytearrayobject triggered by the ``bytearray() + " -"bytearray()`` operation." -msgstr "" - -#: ../../../build/NEWS:4019 -msgid "" -"`bpo-41100 `__: add arm64 to the " -"allowable Mac OS arches in mpdecimal.h" -msgstr "" - -#: ../../../build/NEWS:4021 -msgid "" -"`bpo-41094 `__: Fix decoding errors with " -"audit when open files with non-ASCII names on non-UTF-8 locale." -msgstr "" - -#: ../../../build/NEWS:4024 -msgid "" -"`bpo-39960 `__: The \"hackcheck\" that " -"prevents sneaking around a type's __setattr__() by calling the superclass " -"method was rewritten to allow C implemented heap types." -msgstr "" - -#: ../../../build/NEWS:4028 -msgid "" -"`bpo-41084 `__: Prefix the error message " -"with 'f-string: ', when parsing an f-string expression which throws a :exc:" -"`SyntaxError`." -msgstr "" - -#: ../../../build/NEWS:4031 -msgid "" -"`bpo-40521 `__: Empty frozensets are no " -"longer singletons." -msgstr "" - -#: ../../../build/NEWS:4033 -msgid "" -"`bpo-41076 `__: Pre-feed the parser with " -"the location of the f-string expression, not the f-string itself, which " -"allows us to skip the shifting of the AST node locations after the parsing " -"is completed." -msgstr "" - -#: ../../../build/NEWS:4037 -msgid "" -"`bpo-41056 `__: Fixes a reference to " -"deallocated stack space during startup when constructing sys.path involving " -"a relative symlink when code was supplied via -c. (discovered via Coverity)" -msgstr "" - -#: ../../../build/NEWS:4041 -msgid "" -"`bpo-41061 `__: Fix incorrect " -"expressions and asserts in hashtable code and tests." -msgstr "" - -#: ../../../build/NEWS:4044 -msgid "" -"`bpo-41052 `__: Opt out serialization/" -"deserialization for _random.Random" -msgstr "" - -#: ../../../build/NEWS:4046 -msgid "" -"`bpo-40939 `__: Rename `PyPegen*` " -"functions to `PyParser*`, so that we can remove the old set of `PyParser*` " -"functions that were using the old parser, but keep everything backwards-" -"compatible." -msgstr "" - -#: ../../../build/NEWS:4050 -msgid "" -"`bpo-35975 `__: Stefan Behnel reported " -"that cf_feature_version is used even when PyCF_ONLY_AST is not set. This is " -"against the intention and against the documented behavior, so it's been " -"fixed." -msgstr "" - -#: ../../../build/NEWS:4054 -msgid "" -"`bpo-40939 `__: Remove the remaining " -"files from the old parser and the :mod:`symbol` module." -msgstr "" - -#: ../../../build/NEWS:4057 -msgid "" -"`bpo-40077 `__: Convert :mod:`_bz2` to " -"use :c:func:`PyType_FromSpec`." -msgstr "" - -#: ../../../build/NEWS:4059 -msgid "" -"`bpo-41006 `__: The ``encodings." -"latin_1`` module is no longer imported at startup. Now it is only imported " -"when it is the filesystem encoding or the stdio encoding." -msgstr "" - -#: ../../../build/NEWS:4063 -msgid "" -"`bpo-40636 `__: :func:`zip` now " -"supports :pep:`618`'s ``strict`` parameter, which raises a :exc:`ValueError` " -"if the arguments are exhausted at different lengths. Patch by Brandt Bucher." -msgstr "" - -#: ../../../build/NEWS:4067 -msgid "" -"`bpo-1635741 `__: Port :mod:`_gdbm` to " -"multiphase initialization." -msgstr "" - -#: ../../../build/NEWS:4069 -msgid "" -"`bpo-40985 `__: Fix a bug that caused " -"the :exc:`SyntaxError` text to be empty when a file ends with a line ending " -"in a line continuation character (i.e. backslash). The error text should " -"contain the text of the last line." -msgstr "" - -#: ../../../build/NEWS:4073 -msgid "" -"`bpo-40958 `__: Fix a possible buffer " -"overflow in the PEG parser when gathering information for emitting syntax " -"errors. Patch by Pablo Galindo." -msgstr "" - -#: ../../../build/NEWS:4076 -msgid "" -"`bpo-1635741 `__: Port :mod:`_dbm` to " -"multiphase initialization." -msgstr "" - -#: ../../../build/NEWS:4078 -msgid "" -"`bpo-40957 `__: Fix refleak in " -"_Py_fopen_obj() when PySys_Audit() fails" -msgstr "" - -#: ../../../build/NEWS:4080 -msgid "" -"`bpo-40950 `__: Add a state to the :mod:" -"`nis` module (:pep:`3121`) and apply the multiphase initialization. Patch by " -"Dong-hee Na." -msgstr "" - -#: ../../../build/NEWS:4083 -msgid "" -"`bpo-40947 `__: The Python :ref:`Path " -"Configuration ` now takes :c:member:`PyConfig.platlibdir` " -"in account." -msgstr "" - -#: ../../../build/NEWS:4086 -msgid "" -"`bpo-40939 `__: Remove the old parser, " -"the :mod:`parser` module and all associated support code, command-line " -"options and environment variables. Patch by Pablo Galindo." -msgstr "" - -#: ../../../build/NEWS:4090 -msgid "" -"`bpo-40847 `__: Fix a bug where a line " -"with only a line continuation character is not considered a blank line at " -"tokenizer level. In such cases, more than a single `NEWLINE` token was " -"emitted. The old parser was working around the issue, but the new parser " -"threw a :exc:`SyntaxError` for valid input due to this. For example, an " -"empty line following a line continuation character was interpreted as a :exc:" -"`SyntaxError`." -msgstr "" -"`bpo-40847 `__: Correção de um erro em " -"que uma linha com apenas um caractere de continuação de linha não é " -"considerada uma linha em branco no nível do tokenizador. Nesses casos, mais " -"de um único token `NEWLINE` foi emitido. O analisador antigo estava " -"resolvendo o problema, mas o novo analisador lançou uma :exc:`SyntaxError` " -"para entrada válida devido a isso. Por exemplo, uma linha vazia após um " -"caractere de continuação de linha foi interpretada como :exc:`SyntaxError`." - -#: ../../../build/NEWS:4097 -msgid "" -"`bpo-40890 `__: Each dictionary view now " -"has a ``mapping`` attribute that provides a :class:`types.MappingProxyType` " -"wrapping the original dictionary. Patch contributed by Dennis Sweeney." -msgstr "" - -#: ../../../build/NEWS:4101 -msgid "" -"`bpo-40889 `__: Improved the performance " -"of symmetric difference operations on dictionary item views. Patch by " -"Dennis Sweeney." -msgstr "" - -#: ../../../build/NEWS:4104 -msgid "" -"`bpo-40904 `__: Fix possible segfault in " -"the new PEG parser when parsing f-string containing yield statements with no " -"value (:code:`f\"{yield}\"`). Patch by Pablo Galindo" -msgstr "" -"`bpo-40904 `__: Corrige a possível falha " -"de segmentação no novo analisador sintático GASE ao analisar a string f " -"contendo instruções de rendimento sem valor (:code:`f\"{yield}\"`). Patch de " -"Pablo Galindo" - -#: ../../../build/NEWS:4108 -msgid "" -"`bpo-40903 `__: Fixed a possible " -"segfault in the new PEG parser when producing error messages for invalid " -"assignments of the form :code:`p=p=`. Patch by Pablo Galindo" -msgstr "" -"`bpo-40903 `__: Corrigido uma possível " -"falha de segmentação no novo analisador sintático GASE ao produzir mensagens " -"de erro para atribuições inválidas do formulário :code:`p=p=`. Patch de " -"Pablo Galindo" - -#: ../../../build/NEWS:4112 -msgid "" -"`bpo-40880 `__: Fix invalid memory read " -"in the new parser when checking newlines in string literals. Patch by Pablo " -"Galindo." -msgstr "" -"`bpo-40880 `__: Corrige a leitura de " -"memória inválida no novo analisador ao verificar novas linhas em literais de " -"string. Patch de Pablo Galindo." - -#: ../../../build/NEWS:4115 -msgid "" -"`bpo-40883 `__: Fix memory leak in when " -"parsing f-strings in the new parser. Patch by Pablo Galindo" -msgstr "" -"`bpo-40883 `__: Corrige o vazamento de " -"memória ao analisar as strings-f no novo analisador. Patch de Pablo Galindo" - -#: ../../../build/NEWS:4118 -msgid "" -"`bpo-40870 `__: Raise :exc:`ValueError` " -"when validating custom AST's where the constants ``True``, ``False`` and " -"``None`` are used within a :class:`ast.Name` node." -msgstr "" -"`bpo-40870 `__: Levanta :exc:" -"`ValueError` ao validar ASTs personalizados, onde as constantes ``True``, " -"``False`` e ``None`` são usadas dentro de um nó de :class:`ast.Name`." - -#: ../../../build/NEWS:4122 -msgid "" -"`bpo-40854 `__: Allow overriding :data:" -"`sys.platlibdir` via a new :envvar:`PYTHONPLATLIBDIR` environment variable." -msgstr "" -"`bpo-40854 `__: Permite substituir :data:" -"`sys.platlibdir` através de uma nova variável de ambiente :envvar:" -"`PYTHONPLATLIBDIR`." - -#: ../../../build/NEWS:4125 -msgid "" -"`bpo-40826 `__: Fix GIL usage in :c:func:" -"`PyOS_Readline`: lock the GIL to set an exception and pass the Python thread " -"state when checking if there is a pending signal." -msgstr "" -"`bpo-40826 `__: Corrige o uso do GIL em :" -"c:func:`PyOS_Readline`: bloqueia o GIL para definir uma exceção e passe o " -"estado da thread Python ao verificar se há um sinal pendente." - -#: ../../../build/NEWS:4129 -msgid "" -"`bpo-1635741 `__: Port :mod:`fcntl` to " -"multiphase initialization." -msgstr "" - -#: ../../../build/NEWS:4131 -msgid "" -"`bpo-19468 `__: Delete unnecessary " -"instance check in importlib.reload(). Patch by Furkan Önder." -msgstr "" - -#: ../../../build/NEWS:4134 -msgid "" -"`bpo-40824 `__: 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." -msgstr "" - -#: ../../../build/NEWS:4139 -msgid "" -"`bpo-40792 `__: Attributes ``start``, " -"``stop`` and ``step`` of the :class:`range` object now always has exact " -"type :class:`int`. Previously, they could have been an instance of a " -"subclass of ``int``." -msgstr "" - -#: ../../../build/NEWS:4143 -msgid "" -"`bpo-40780 `__: Fix a corner case where " -"g-style string formatting of a float failed to remove trailing zeros." -msgstr "" -"`bpo-40780 `__: Corrige uma caixa de " -"canto em que a formatação de strings do estilo-g de um ponto flutuante " -"falhou ao remover zeros à direita." - -#: ../../../build/NEWS:4146 -msgid "" -"`bpo-38964 `__: When there's a :exc:" -"`SyntaxError` in the expression part of an fstring, the filename attribute " -"of the :exc:`SyntaxError` gets correctly set to the name of the file the " -"fstring resides in." -msgstr "" -"`bpo-38964 `__: Quando existe uma :exc:" -"`SyntaxError` na parte da expressão de uma fstring, o atributo de nome de " -"aquivo do :exc:`SyntaxError` é definido corretamente como o nome do arquivo " -"em que a fstring reside." - -#: ../../../build/NEWS:4150 -msgid "" -"`bpo-40750 `__: Support the \"-d\" debug " -"flag in the new PEG parser. Patch by Pablo Galindo" -msgstr "" -"`bpo-40750 `__: Suporte o sinalizador de " -"depuração \"-d\" no novo analisador sintático GASE. Patch de Pablo Galindo" - -#: ../../../build/NEWS:4153 -msgid "" -"`bpo-40217 `__: Instances of types " -"created with :c:func:`PyType_FromSpecWithBases` will no longer automatically " -"visit their class object when traversing references in the garbage " -"collector. The user is expected to manually visit the object's class. Patch " -"by Pablo Galindo." -msgstr "" -"`bpo-40217 `__: Instâncias de tipos " -"criados com :c:func:`PyType_FromSpecWithBases` não visitarão automaticamente " -"seu objeto de classe ao percorrer as referências no coletor de lixo. Espera-" -"se que o usuário visite manualmente a classe do objeto. Patch de Pablo " -"Galindo." - -#: ../../../build/NEWS:4159 -msgid "" -"`bpo-39573 `__: :c:func:`Py_TYPE()` is " -"changed to the inline static function. Patch by Dong-hee Na." -msgstr "" - -#: ../../../build/NEWS:4162 -msgid "" -"`bpo-40696 `__: Fix a hang that can " -"arise after :meth:`generator.throw` due to a cycle in the exception context " -"chain." -msgstr "" -"`bpo-40696 `__: Corrige um travamento " -"que pode surgir após :meth:`generator.throw` devido a um ciclo na cadeia de " -"contexto de exceção." - -#: ../../../build/NEWS:4165 -msgid "" -"`bpo-40521 `__: Each interpreter now its " -"has own free lists, singletons and caches:" -msgstr "" - -#: ../../../build/NEWS:4168 -msgid "" -"Free lists: float, tuple, list, dict, frame, context, asynchronous " -"generator, MemoryError." -msgstr "" - -#: ../../../build/NEWS:4170 -msgid "" -"Singletons: empty tuple, empty bytes string, empty Unicode string, single " -"byte character, single Unicode (latin1) character." -msgstr "" - -#: ../../../build/NEWS:4172 -msgid "Slice cache." -msgstr "" - -#: ../../../build/NEWS:4174 -msgid "They are no longer shared by all interpreters." -msgstr "" - -#: ../../../build/NEWS:4176 -msgid "" -"`bpo-40679 `__: Certain :exc:`TypeError` " -"messages about missing or extra arguments now include the function's :term:" -"`qualified name`. Patch by Dennis Sweeney." -msgstr "" - -#: ../../../build/NEWS:4180 -msgid "" -"`bpo-29590 `__: Make the stack trace " -"correct after calling :meth:`generator.throw` on a generator that has " -"yielded from a ``yield from``." -msgstr "" - -#: ../../../build/NEWS:4184 -msgid "" -"`bpo-4022 `__: Improve performance of " -"generators by not raising internal StopIteration." -msgstr "" - -#: ../../../build/NEWS:4187 -msgid "" -"`bpo-1635741 `__: Port :mod:`mmap` to " -"multiphase initialization." -msgstr "" - -#: ../../../build/NEWS:4189 -msgid "" -"`bpo-1635741 `__: Port :mod:`_lzma` to " -"multiphase initialization." -msgstr "" - -#: ../../../build/NEWS:4191 -msgid "" -"`bpo-37999 `__: 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)." -msgstr "" - -#: ../../../build/NEWS:4197 -msgid "" -"`bpo-29882 `__: Add :meth:`int." -"bit_count()`, counting the number of ones in the binary representation of an " -"integer. Patch by Niklas Fiekas." -msgstr "" - -#: ../../../build/NEWS:4200 -msgid "" -"`bpo-36982 `__: Use ncurses extended " -"color functions when available to support terminals with 256 colors, and add " -"the new function :func:`curses.has_extended_color_support` to indicate " -"whether extended color support is provided by the underlying ncurses library." -msgstr "" - -#: ../../../build/NEWS:4205 -msgid "" -"`bpo-19569 `__: Add the private macros " -"``_Py_COMP_DIAG_PUSH``, ``_Py_COMP_DIAG_IGNORE_DEPR_DECLS``, and " -"``_Py_COMP_DIAG_POP``." -msgstr "" - -#: ../../../build/NEWS:4208 -msgid "" -"`bpo-26680 `__: The int type now " -"supports the x.is_integer() method for compatibility with float." -msgstr "" - -#: ../../../build/NEWS:4214 -msgid "" -"`bpo-41900 `__: C14N 2.0 serialisation " -"in xml.etree.ElementTree failed for unprefixed attributes when a default " -"namespace was defined." -msgstr "" - -#: ../../../build/NEWS:4217 -msgid "" -"`bpo-41887 `__: Strip leading spaces and " -"tabs on :func:`ast.literal_eval`. Also document stripping of spaces and tabs " -"for :func:`eval`." -msgstr "" - -#: ../../../build/NEWS:4220 -msgid "" -"`bpo-41773 `__: Note in documentation " -"that :func:`random.choices` doesn't support non-finite weights, raise :exc:" -"`ValueError` when given non-finite weights." -msgstr "" - -#: ../../../build/NEWS:4224 -msgid "" -"`bpo-41840 `__: Fix a bug in the :mod:" -"`symtable` module that was causing module-scope global variables to not be " -"reported as both local and global. Patch by Pablo Galindo." -msgstr "" - -#: ../../../build/NEWS:4228 -msgid "" -"`bpo-41842 `__: Add :func:`codecs." -"unregister` function to unregister a codec search function." -msgstr "" - -#: ../../../build/NEWS:4231 -msgid "" -"`bpo-40564 `__: In ``zipfile.Path``, " -"mutate the passed ZipFile object type instead of making a copy. Prevents " -"issues when both the local copy and the caller’s copy attempt to close the " -"same file handle." -msgstr "" - -#: ../../../build/NEWS:4235 -msgid "" -"`bpo-40670 `__: More reliable validation " -"of statements in :class:`timeit.Timer`. It now accepts \"empty\" statements " -"(only whitespaces and comments) and rejects misindentent statements." -msgstr "" - -#: ../../../build/NEWS:4239 -msgid "" -"`bpo-41833 `__: The :class:`threading." -"Thread` constructor now uses the target name if the *target* argument is " -"specified but the *name* argument is omitted." -msgstr "" - -#: ../../../build/NEWS:4243 -msgid "" -"`bpo-41817 `__: fix `tkinter.EventType` " -"Enum so all members are strings, and none are tuples" -msgstr "" - -#: ../../../build/NEWS:4246 -msgid "" -"`bpo-41810 `__: :data:`types." -"EllipsisType`, :data:`types.NotImplementedType` and :data:`types.NoneType` " -"have been reintroduced, providing a new set of types readily interpretable " -"by static type checkers." -msgstr "" - -#: ../../../build/NEWS:4250 -msgid "" -"`bpo-41815 `__: Fix SQLite3 segfault " -"when backing up closed database. Patch contributed by Peter David McCormick." -msgstr "" - -#: ../../../build/NEWS:4253 -msgid "" -"`bpo-41816 `__: StrEnum added: it " -"ensures that all members are already strings or string candidates" -msgstr "" - -#: ../../../build/NEWS:4256 -msgid "" -"`bpo-41517 `__: fix bug allowing Enums " -"to be extended via multiple inheritance" -msgstr "" - -#: ../../../build/NEWS:4258 -msgid "" -"`bpo-39587 `__: use the correct mix-in " -"data type when constructing Enums" -msgstr "" - -#: ../../../build/NEWS:4260 -msgid "" -"`bpo-41792 `__: Add is_typeddict " -"function to typing.py to check if a type is a TypedDict class" -msgstr "" - -#: ../../../build/NEWS:4263 -msgid "" -"Previously there was no way to check that without using private API. See the " -"`relevant issue in python/typing `" -msgstr "" - -#: ../../../build/NEWS:4267 -msgid "" -"`bpo-41789 `__: Honor `object` overrides " -"in `Enum` class creation (specifically, `__str__`, `__repr__`, `__format__`, " -"and `__reduce_ex__`)." -msgstr "" - -#: ../../../build/NEWS:4270 -msgid "" -"`bpo-32218 `__: `enum.Flag` and `enum." -"IntFlag` members are now iterable" -msgstr "" - -#: ../../../build/NEWS:4272 -msgid "" -"`bpo-39651 `__: Fix a race condition in " -"the ``call_soon_threadsafe()`` method of ``asyncio.ProactorEventLoop``: do " -"nothing if the self-pipe socket has been closed." -msgstr "" - -#: ../../../build/NEWS:4276 -msgid "" -"`bpo-1635741 `__: Port the ``mashal`` " -"extension module to the multi-phase initialization API (:pep:`489`)." -msgstr "" - -#: ../../../build/NEWS:4279 -msgid "" -"`bpo-1635741 `__: Port the ``_string`` " -"extension module to the multi-phase initialization API (:pep:`489`)." -msgstr "" - -#: ../../../build/NEWS:4282 -msgid "" -"`bpo-41732 `__: Added an :term:" -"`iterator` to :class:`memoryview`." -msgstr "" - -#: ../../../build/NEWS:4284 -msgid "" -"`bpo-41720 `__: Fixed :meth:`turtle." -"Vec2D.__rmul__` for arguments which are not int or float." -msgstr "" - -#: ../../../build/NEWS:4287 -msgid "" -"`bpo-41696 `__: Fix handling of debug " -"mode in :func:`asyncio.run`. This allows setting ``PYTHONASYNCIODEBUG`` or " -"``-X dev`` to enable asyncio debug mode when using :func:`asyncio.run`." -msgstr "" - -#: ../../../build/NEWS:4291 -msgid "" -"`bpo-41687 `__: Fix implementation of " -"sendfile to be compatible with Solaris." -msgstr "" - -#: ../../../build/NEWS:4293 -msgid "" -"`bpo-41662 `__: No longer override " -"exceptions raised in ``__len__()`` of a sequence of parameters in :mod:" -"`sqlite3` with :exc:`~sqlite3.ProgrammingError`." -msgstr "" - -#: ../../../build/NEWS:4297 -msgid "" -"`bpo-39010 `__: Restarting a " -"``ProactorEventLoop`` on Windows no longer logs spurious " -"``ConnectionResetErrors``." -msgstr "" - -#: ../../../build/NEWS:4300 -msgid "" -"`bpo-41638 `__: :exc:`~sqlite3." -"ProgrammingError` message for absent parameter in :mod:`sqlite3` contains " -"now the name of the parameter instead of its index when parameters are " -"supplied as a dict." -msgstr "" - -#: ../../../build/NEWS:4304 -msgid "" -"`bpo-41662 `__: Fixed crash when mutate " -"list of parameters during iteration in :mod:`sqlite3`." -msgstr "" - -#: ../../../build/NEWS:4307 -msgid "" -"`bpo-41513 `__: Improved the accuracy of " -"math.hypot(). Internally, each step is computed with extra precision so " -"that the result is now almost always correctly rounded." -msgstr "" - -#: ../../../build/NEWS:4311 -msgid "" -"`bpo-41609 `__: The pdb whatis command " -"correctly reports instance methods as 'Method' rather than 'Function'." -msgstr "" - -#: ../../../build/NEWS:4314 -msgid "" -"`bpo-39994 `__: Fixed pprint's handling " -"of dict subclasses that override __repr__." -msgstr "" - -#: ../../../build/NEWS:4317 -msgid "" -"`bpo-32751 `__: 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 <= 0, like it " -"does with positive timeouts." -msgstr "" - -#: ../../../build/NEWS:4322 -msgid "" -"`bpo-37658 `__: :meth:`asyncio.wait_for` " -"now properly handles races between cancellation of itself and the completion " -"of the wrapped awaitable." -msgstr "" - -#: ../../../build/NEWS:4325 -msgid "" -"`bpo-40782 `__: Change the method " -"asyncio.AbstractEventLoop.run_in_executor to not be a coroutine." -msgstr "" - -#: ../../../build/NEWS:4328 -msgid "" -"`bpo-41520 `__: Fix :mod:`codeop` " -"regression that prevented turning compile warnings into errors." -msgstr "" - -#: ../../../build/NEWS:4331 -msgid "" -"`bpo-41528 `__: turtle uses math module " -"functions to convert degrees to radians and vice versa and to calculate " -"vector norm" -msgstr "" - -#: ../../../build/NEWS:4334 -msgid "" -"`bpo-41513 `__: Minor algorithmic " -"improvement to math.hypot() and math.dist() giving small gains in speed and " -"accuracy." -msgstr "" - -#: ../../../build/NEWS:4337 -msgid "" -"`bpo-41503 `__: Fixed a race between " -"setTarget and flush in logging.handlers.MemoryHandler." -msgstr "" - -#: ../../../build/NEWS:4340 -msgid "" -"`bpo-41497 `__: Fix potential " -"UnicodeDecodeError in dis module." -msgstr "" - -#: ../../../build/NEWS:4342 -msgid "" -"`bpo-41467 `__: On Windows, fix asyncio " -"``recv_into()`` return value when the socket/pipe is closed (:exc:" -"`BrokenPipeError`): return ``0`` rather than an empty byte string (``b''``)." -msgstr "" - -#: ../../../build/NEWS:4346 -msgid "" -"`bpo-41425 `__: Make tkinter doc example " -"runnable." -msgstr "" - -#: ../../../build/NEWS:4348 -msgid "" -"`bpo-41421 `__: Make an algebraic " -"simplification to random.paretovariate(). It now is slightly less subject " -"to round-off error and is slightly faster. Inputs that used to cause " -"ZeroDivisionError now cause an OverflowError instead." -msgstr "" - -#: ../../../build/NEWS:4353 -msgid "" -"`bpo-41440 `__: Add :func:`os." -"cpu_count()` support for VxWorks RTOS." -msgstr "" - -#: ../../../build/NEWS:4355 -msgid "" -"`bpo-41316 `__: Fix the :mod:`tarfile` " -"module to write only basename of TAR file to GZIP compression header." -msgstr "" - -#: ../../../build/NEWS:4358 -msgid "" -"`bpo-41384 `__: Raise TclError instead " -"of TypeError when an unknown option is passed to tkinter.OptionMenu." -msgstr "" - -#: ../../../build/NEWS:4361 -msgid "" -"`bpo-41317 `__: Use add_done_callback() " -"in asyncio.loop.sock_accept() to unsubscribe reader early on cancellation." -msgstr "" - -#: ../../../build/NEWS:4364 -msgid "" -"`bpo-41364 `__: Reduce import overhead " -"of :mod:`uuid`." -msgstr "" - -#: ../../../build/NEWS:4366 -msgid "" -"`bpo-35328 `__: Set the environment " -"variable ``VIRTUAL_ENV_PROMPT`` at :mod:`venv` activation." -msgstr "" - -#: ../../../build/NEWS:4369 -msgid "" -"`bpo-41341 `__: Recursive evaluation of " -"`typing.ForwardRef` in `get_type_hints`." -msgstr "" - -#: ../../../build/NEWS:4372 -msgid "" -"`bpo-41344 `__: Prevent creating :class:" -"`shared_memory.SharedMemory` objects with :code:`size=0`." -msgstr "" - -#: ../../../build/NEWS:4375 -msgid "" -"`bpo-41333 `__: :meth:`collections." -"OrderedDict.pop` is now 2 times faster." -msgstr "" - -#: ../../../build/NEWS:4377 -msgid "" -"`bpo-41288 `__: Unpickling invalid " -"NEWOBJ_EX opcode with the C implementation raises now UnpicklingError " -"instead of crashing." -msgstr "" - -#: ../../../build/NEWS:4380 -msgid "" -"`bpo-39017 `__: Avoid infinite loop when " -"reading specially crafted TAR files using the tarfile module " -"(CVE-2019-20907)." -msgstr "" - -#: ../../../build/NEWS:4383 -msgid "" -"`bpo-41273 `__: Speed up any transport " -"using ``_ProactorReadPipeTransport`` by calling ``recv_into`` instead of " -"``recv``, thus not creating a new buffer for each ``recv`` call in the " -"transport's read loop." -msgstr "" - -#: ../../../build/NEWS:4387 -msgid "" -"`bpo-41235 `__: Fix the error handling " -"in :meth:`ssl.SSLContext.load_dh_params`." -msgstr "" - -#: ../../../build/NEWS:4390 -msgid "" -"`bpo-41207 `__: In distutils.spawn, " -"restore expectation that DistutilsExecError is raised when the command is " -"not found." -msgstr "" - -#: ../../../build/NEWS:4393 -msgid "" -"`bpo-29727 `__: Register :class:`array." -"array` as a :class:`~collections.abc.MutableSequence`. Patch by Pablo " -"Galindo." -msgstr "" - -#: ../../../build/NEWS:4396 -msgid "" -"`bpo-39168 `__: Remove the ``__new__`` " -"method of :class:`typing.Generic`." -msgstr "" - -#: ../../../build/NEWS:4398 -msgid "" -"`bpo-41194 `__: Fix a crash in the " -"``_ast`` module: it can no longer be loaded more than once. It now uses a " -"global state rather than a module state." -msgstr "" - -#: ../../../build/NEWS:4401 -msgid "" -"`bpo-41195 `__: Add read-only ssl." -"SSLContext.security_level attribute to retrieve the context's security level." -msgstr "" - -#: ../../../build/NEWS:4404 -msgid "" -"`bpo-41193 `__: The ``write_history()`` " -"atexit function of the readline completer now ignores any :exc:`OSError` to " -"ignore error if the filesystem is read-only, instead of only ignoring :exc:" -"`FileNotFoundError` and :exc:`PermissionError`." -msgstr "" - -#: ../../../build/NEWS:4409 -msgid "" -"`bpo-41182 `__: selector: use " -"DefaultSelector based upon implementation" -msgstr "" - -#: ../../../build/NEWS:4411 -msgid "" -"`bpo-41161 `__: The decimal module now " -"requires libmpdec-2.5.0. Users of --with-system-libmpdec should update their " -"system library." -msgstr "" - -#: ../../../build/NEWS:4414 -msgid "" -"`bpo-40874 `__: The decimal module now " -"requires libmpdec-2.5.0." -msgstr "" - -#: ../../../build/NEWS:4416 -msgid "" -"`bpo-41138 `__: Fixed the :mod:`trace` " -"module CLI for Python source files with non-UTF-8 encoding." -msgstr "" - -#: ../../../build/NEWS:4419 -msgid "" -"`bpo-31082 `__: Use the term \"iterable" -"\" in the docstring for :func:`functools.reduce`." -msgstr "" - -#: ../../../build/NEWS:4422 -msgid "" -"`bpo-40521 `__: Remove freelist from " -"collections.deque()." -msgstr "" - -#: ../../../build/NEWS:4424 -msgid "" -"`bpo-31938 `__: Fix default-value " -"signatures of several functions in the :mod:`select` module - by Anthony " -"Sottile." -msgstr "" - -#: ../../../build/NEWS:4427 -msgid "" -"`bpo-41068 `__: Fixed reading files with " -"non-ASCII names from ZIP archive directly after writing them." -msgstr "" - -#: ../../../build/NEWS:4430 -msgid "" -"`bpo-41058 `__: :func:`pdb." -"find_function` now correctly determines the source file encoding." -msgstr "" - -#: ../../../build/NEWS:4433 -msgid "" -"`bpo-41056 `__: Invalid file descriptor " -"values are now prevented from being passed to os.fpathconf. (discovered by " -"Coverity)" -msgstr "" - -#: ../../../build/NEWS:4436 -msgid "" -"`bpo-41056 `__: Fix a NULL pointer " -"dereference within the ssl module during a MemoryError in the keylog " -"callback. (discovered by Coverity)" -msgstr "" - -#: ../../../build/NEWS:4439 -msgid "" -"`bpo-41056 `__: Fixed an instance where " -"a MemoryError within the zoneinfo module might not be reported or not " -"reported at its source. (found by Coverity)" -msgstr "" - -#: ../../../build/NEWS:4443 -msgid "" -"`bpo-41048 `__: :func:`mimetypes." -"read_mime_types` function reads the rule file using UTF-8 encoding, not the " -"locale encoding. Patch by Srinivas Reddy Thatiparthy." -msgstr "" - -#: ../../../build/NEWS:4447 -msgid "" -"`bpo-41043 `__: Fixed the use of :func:" -"`~glob.glob` in the stdlib: literal part of the path is now always correctly " -"escaped." -msgstr "" - -#: ../../../build/NEWS:4450 -msgid "" -"`bpo-41025 `__: Fixed an issue " -"preventing the C implementation of :class:`zoneinfo.ZoneInfo` from being " -"subclassed." -msgstr "" - -#: ../../../build/NEWS:4453 -msgid "" -"`bpo-35018 `__: Add the :class:`xml.sax." -"handler.LexicalHandler` class that is present in other SAX XML " -"implementations." -msgstr "" - -#: ../../../build/NEWS:4456 -msgid "" -"`bpo-41002 `__: Improve performance of " -"HTTPResponse.read with a given amount. Patch by Bruce Merry." -msgstr "" - -#: ../../../build/NEWS:4459 -msgid "" -"`bpo-40448 `__: :mod:`ensurepip` now " -"disables the use of `pip` cache when installing the bundled versions of " -"`pip` and `setuptools`. Patch by Krzysztof Konopko." -msgstr "" - -#: ../../../build/NEWS:4463 -msgid "" -"`bpo-40967 `__: Removed :meth:`asyncio." -"Task.current_task` and :meth:`asyncio.Task.all_tasks`. Patch contributed by " -"Rémi Lapeyre." -msgstr "" - -#: ../../../build/NEWS:4466 -msgid "" -"`bpo-40924 `__: Ensure ``importlib." -"resources.path`` returns an extant path for the SourceFileLoader's resource " -"reader. Avoids the regression identified in master while a long-term " -"solution is devised." -msgstr "" - -#: ../../../build/NEWS:4470 -msgid "" -"`bpo-40955 `__: Fix a minor memory leak " -"in :mod:`subprocess` module when extra_groups was specified." -msgstr "" - -#: ../../../build/NEWS:4473 -msgid "" -"`bpo-40855 `__: The standard deviation " -"and variance functions in the statistics module were ignoring their mu and " -"xbar arguments." -msgstr "" - -#: ../../../build/NEWS:4476 -msgid "" -"`bpo-40939 `__: Use the new PEG parser " -"when generating the stdlib :mod:`keyword` module." -msgstr "" - -#: ../../../build/NEWS:4479 -msgid "" -"`bpo-23427 `__: Add :data:`sys." -"orig_argv` attribute: the list of the original command line arguments passed " -"to the Python executable." -msgstr "" - -#: ../../../build/NEWS:4482 -msgid "" -"`bpo-33689 `__: Ignore empty or " -"whitespace-only lines in .pth files. This matches the documentated behavior. " -"Before, empty lines caused the site-packages dir to appear multiple times in " -"sys.path. By Ido Michael, contributors Malcolm Smith and Tal Einat." -msgstr "" - -#: ../../../build/NEWS:4487 -msgid "" -"`bpo-40884 `__: Added a `defaults` " -"parameter to :class:`logging.Formatter`, to allow specifying default values " -"for custom fields. Patch by Asaf Alon and Bar Harel." -msgstr "" - -#: ../../../build/NEWS:4491 -msgid "" -"`bpo-40876 `__: Clarify error message in " -"the :mod:`csv` module." -msgstr "" - -#: ../../../build/NEWS:4493 -msgid "" -"`bpo-39791 `__: Refresh importlib." -"metadata from importlib_metadata 1.6.1." -msgstr "" -"`bpo-39791 `__: Renova importlib." -"metadata do importlib_metadata 1.6.1." - -#: ../../../build/NEWS:4495 -msgid "" -"`bpo-40807 `__: Stop codeop." -"_maybe_compile, used by code.InteractiveInterpreter (and IDLE). from " -"emitting each warning three times." -msgstr "" - -#: ../../../build/NEWS:4498 -msgid "" -"`bpo-32604 `__: Fix reference leak in " -"the :mod:`select` module when the module is imported in a subinterpreter." -msgstr "" - -#: ../../../build/NEWS:4501 -msgid "" -"`bpo-39791 `__: Built-in loaders " -"(SourceFileLoader and ZipImporter) now supply ``TraversableResources`` " -"implementations for ``ResourceReader``, and the fallback function has been " -"removed." -msgstr "" -"`bpo-39791 `__: Carregadores embutidos " -"(SourceFileLoader e ZipImporter) agora fornecem implementações " -"``TraversableResources`` para ``ResourceReader``, e a função de fallback foi " -"removida." - -#: ../../../build/NEWS:4505 -msgid "" -"`bpo-39314 `__: :class:`rlcompleter." -"Completer` and the standard Python shell now close the parenthesis for " -"functions that take no arguments. Patch contributed by Rémi Lapeyre." -msgstr "" - -#: ../../../build/NEWS:4509 -msgid "" -"`bpo-17005 `__: The topological sort " -"functionality that was introduced initially in the :mod:`functools` module " -"has been moved to a new :mod:`graphlib` module to better accommodate the new " -"tools and keep the original scope of the :mod:`functools` module. Patch by " -"Pablo Galindo" -msgstr "" -"`bpo-17005 `__: A funcionalidade de " -"classificação topológica que foi introduzida inicialmente no módulo :mod:" -"`functools` foi movida para um novo módulo :mod:`graphlib` para melhor " -"acomodar as novas ferramentas e manter o escopo original do módulo :mod:" -"`functools`. Patch de Pablo Galindo" - -#: ../../../build/NEWS:4514 -msgid "" -"`bpo-40834 `__: Fix truncate when " -"sending str object with_xxsubinterpreters.channel_send." -msgstr "" - -#: ../../../build/NEWS:4517 -msgid "" -"`bpo-40755 `__: Add rich comparisons to " -"collections.Counter()." -msgstr "" - -#: ../../../build/NEWS:4519 -msgid "" -"`bpo-26407 `__: Unexpected errors in " -"calling the ``__iter__`` method are no longer masked by ``TypeError`` in :" -"func:`csv.reader`, :func:`csv.writer.writerow` and :meth:`csv.writer." -"writerows`." -msgstr "" - -#: ../../../build/NEWS:4523 -msgid "" -"`bpo-39384 `__: Fixed email." -"contentmanager to allow set_content() to set a null string." -msgstr "" - -#: ../../../build/NEWS:4526 -msgid "" -"`bpo-40744 `__: The :mod:`sqlite3` " -"module uses SQLite API functions that require SQLite v3.7.3 or higher. This " -"patch removes support for older SQLite versions, and explicitly requires " -"SQLite 3.7.3 both at build, compile and runtime. Patch by Sergey Fedoseev " -"and Erlend E. Aasland." -msgstr "" - -#: ../../../build/NEWS:4531 -msgid "" -"`bpo-40777 `__: Initialize " -"PyDateTime_IsoCalendarDateType.tp_base at run-time to avoid errors on some " -"compilers." -msgstr "" - -#: ../../../build/NEWS:4534 -msgid "" -"`bpo-38488 `__: Update ensurepip to " -"install pip 20.1.1 and setuptools 47.1.0." -msgstr "" - -#: ../../../build/NEWS:4536 -msgid "" -"`bpo-40792 `__: The result of :func:" -"`operator.index` now always has exact type :class:`int`. Previously, the " -"result could have been an instance of a subclass of ``int``." -msgstr "" - -#: ../../../build/NEWS:4540 -msgid "" -"`bpo-40767 `__: :mod:`webbrowser` now " -"properly finds the default browser in pure Wayland systems by checking the " -"WAYLAND_DISPLAY environment variable. Patch contributed by Jérémy Attali." -msgstr "" - -#: ../../../build/NEWS:4544 -msgid "" -"`bpo-40791 `__: :func:`hashlib." -"compare_digest` uses OpenSSL's ``CRYPTO_memcmp()`` function when OpenSSL is " -"available." -msgstr "" - -#: ../../../build/NEWS:4547 -msgid "" -"`bpo-40795 `__: :mod:`ctypes` module: If " -"ctypes fails to convert the result of a callback or if a ctypes callback " -"function raises an exception, sys.unraisablehook is now called with an " -"exception set. Previously, the error was logged into stderr by :c:func:" -"`PyErr_Print`." -msgstr "" -"`bpo-40795 `__: :mod:`ctypes` module: Se " -"ctypes falhar ao converter o resultado de um retorno de chamada ou se uma " -"função de retorno de chamada ctypes levantar uma exceção, sys.unraisablehook " -"agora será chamado com uma exceção definida. Anteriormente, o erro era " -"registrado no stderr por :c:func:`PyErr_Print`." - -#: ../../../build/NEWS:4552 -msgid "" -"`bpo-16995 `__: Add :func:`base64." -"b32hexencode` and :func:`base64.b32hexdecode` to support the Base32 Encoding " -"with Extended Hex Alphabet." -msgstr "" - -#: ../../../build/NEWS:4555 -msgid "" -"`bpo-30008 `__: Fix :mod:`ssl` code to " -"be compatible with OpenSSL 1.1.x builds that use ``no-deprecated`` and ``--" -"api=1.1.0``." -msgstr "" - -#: ../../../build/NEWS:4558 -msgid "" -"`bpo-30064 `__: Fix asyncio ``loop." -"sock_*`` race condition issue" -msgstr "" - -#: ../../../build/NEWS:4560 -msgid "" -"`bpo-40759 `__: Deprecate the :mod:" -"`symbol` module." -msgstr "" - -#: ../../../build/NEWS:4562 -msgid "" -"`bpo-40756 `__: The second argument " -"(extra) of ``LoggerAdapter.__init__`` now defaults to None." -msgstr "" - -#: ../../../build/NEWS:4565 -msgid "" -"`bpo-37129 `__: Add a new :data:`os." -"RWF_APPEND` flag for :func:`os.pwritev`." -msgstr "" - -#: ../../../build/NEWS:4567 -msgid "" -"`bpo-40737 `__: Fix possible reference " -"leak for :mod:`sqlite3` initialization." -msgstr "" - -#: ../../../build/NEWS:4569 -msgid "" -"`bpo-40726 `__: Handle cases where the " -"``end_lineno`` is ``None`` on :func:`ast.increment_lineno`." -msgstr "" - -#: ../../../build/NEWS:4572 -msgid "" -"`bpo-40698 `__: :mod:`distutils` upload " -"creates SHA2-256 and Blake2b-256 digests. MD5 digests is skipped if platform " -"blocks MD5." -msgstr "" - -#: ../../../build/NEWS:4575 -msgid "" -"`bpo-40695 `__: :mod:`hashlib` no longer " -"falls back to builtin hash implementations when OpenSSL provides a hash " -"digest and the algorithm is blocked by security policy." -msgstr "" - -#: ../../../build/NEWS:4579 -msgid "" -"`bpo-9216 `__: func:`hashlib.new` passed " -"``usedforsecurity`` to OpenSSL EVP constructor ``_hashlib.new()``. " -"test_hashlib and test_smtplib handle strict security policy better." -msgstr "" - -#: ../../../build/NEWS:4583 -msgid "" -"`bpo-40614 `__: :func:`ast.parse` will " -"not parse self documenting expressions in f-strings when passed " -"``feature_version`` is less than ``(3, 8)``." -msgstr "" - -#: ../../../build/NEWS:4586 -msgid "" -"`bpo-40626 `__: Add h5 file extension as " -"MIME Type application/x-hdf5, as per HDF Group recommendation for HDF5 " -"formatted data files. Patch contributed by Mark Schwab." -msgstr "" - -#: ../../../build/NEWS:4590 -msgid "" -"`bpo-25920 `__: On macOS, when building " -"Python for macOS 10.4 and older, which wasn't the case for python.org macOS " -"installer, :func:`socket.getaddrinfo` no longer uses an internal lock to " -"prevent race conditions when calling ``getaddrinfo()`` which is thread-safe " -"since macOS 10.5. Python 3.9 requires macOS 10.6 or newer. The internal lock " -"caused random hang on fork when another thread was calling :func:`socket." -"getaddrinfo`. The lock was also used on FreeBSD older than 5.3, OpenBSD " -"older than 201311 and NetBSD older than 4." -msgstr "" - -#: ../../../build/NEWS:4599 -msgid "" -"`bpo-40671 `__: Prepare ``_hashlib`` " -"for :pep:`489` and use :c:func:`PyModule_AddType`." -msgstr "" - -#: ../../../build/NEWS:4602 -msgid "" -"`bpo-32309 `__: 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." -msgstr "" - -#: ../../../build/NEWS:4608 -msgid "" -"`bpo-36543 `__: Restored the deprecated :" -"mod:`xml.etree.cElementTree` module." -msgstr "" -"`bpo-36543 `__: Restaurado o módulo " -"descontinuado :mod:`xml.etree.cElementTree`." - -#: ../../../build/NEWS:4610 -msgid "" -"`bpo-40611 `__: :data:`~mmap." -"MAP_POPULATE` constant has now been added to the list of exported :mod:" -"`mmap` module flags." -msgstr "" - -#: ../../../build/NEWS:4613 -msgid "" -"`bpo-39881 `__: PEP 554 for use in the " -"test suite. (Patch By Joannah Nanjekye)" -msgstr "" - -#: ../../../build/NEWS:4615 -msgid "" -"`bpo-13097 `__: ``ctypes`` now raises an " -"``ArgumentError`` when a callback is invoked with more than 1024 arguments." -msgstr "" -"`bpo-13097 `__: ``ctypes`` agora levanta " -"um ``ArgumentError`` quando um retorno de chamada é invocado com mais de " -"1024 argumentos." - -#: ../../../build/NEWS:4618 -msgid "" -"`bpo-39385 `__: A new test assertion " -"context-manager, :func:`unittest.assertNoLogs` will ensure a given block of " -"code emits no log messages using the logging module. Contributed by Kit Yan " -"Choi." -msgstr "" - -#: ../../../build/NEWS:4622 -msgid "" -"`bpo-23082 `__: Updated the error " -"message and docs of PurePath.relative_to() to better reflect the function " -"behaviour." -msgstr "" - -#: ../../../build/NEWS:4625 -msgid "" -"`bpo-40318 `__: Use SQLite3 trace v2 " -"API, if it is available." -msgstr "" - -#: ../../../build/NEWS:4627 -msgid "" -"`bpo-40105 `__: ZipFile truncates files " -"to avoid corruption when a shorter comment is provided in append (\"a\") " -"mode. Patch by Jan Mazur." -msgstr "" - -#: ../../../build/NEWS:4630 -msgid "" -"`bpo-40084 `__: Fix ``Enum.__dir__``: " -"dir(Enum.member) now includes attributes as well as methods." -msgstr "" - -#: ../../../build/NEWS:4633 -msgid "" -"`bpo-31122 `__: ssl.wrap_socket() now " -"raises ssl.SSLEOFError rather than OSError when peer closes connection " -"during TLS negotiation" -msgstr "" - -#: ../../../build/NEWS:4636 -msgid "" -"`bpo-39728 `__: fix default `_missing_` " -"so a duplicate `ValueError` is not set as the `__context__` of the original " -"`ValueError`" -msgstr "" - -#: ../../../build/NEWS:4639 -msgid "" -"`bpo-39244 `__: Fixed :class:" -"`multiprocessing.context.get_all_start_methods` to properly return the " -"default method first on macOS." -msgstr "" -"`bpo-39244 `__: Corrigida a :class:" -"`multiprocessing.context.get_all_start_methods` para retornar adequadamente " -"primeiro o método padrão no macOS." - -#: ../../../build/NEWS:4642 -msgid "" -"`bpo-39040 `__: Fix parsing of invalid " -"mime headers parameters by collapsing whitespace between encoded words in a " -"bare-quote-string." -msgstr "" -"`bpo-39040 `__: Corrige a análise dos " -"parâmetros inválidos dos cabeçalhos de mime, recolhendo o espaço em branco " -"entre as palavras codificadas em uma bare-quote-string." - -#: ../../../build/NEWS:4645 -msgid "" -"`bpo-38731 `__: Add ``--quiet`` option " -"to command-line interface of :mod:`py_compile`. Patch by Gregory Schevchenko." -msgstr "" - -#: ../../../build/NEWS:4648 -msgid "" -"`bpo-35714 `__: :exc:`struct.error` is " -"now raised if there is a null character in a :mod:`struct` format string." -msgstr "" -"`bpo-35714 `__: :exc:`struct.error` " -"agora é levantada se houver um caractere nulo em uma string no formato :mod:" -"`struct`." - -#: ../../../build/NEWS:4651 -msgid "" -"`bpo-38144 `__: Added the *root_dir* and " -"*dir_fd* parameters in :func:`glob.glob`." -msgstr "" - -#: ../../../build/NEWS:4654 -msgid "" -"`bpo-26543 `__: Fix :meth:`IMAP4.noop()` " -"when debug mode is enabled (ex: ``imaplib.Debug = 3``)." -msgstr "" - -#: ../../../build/NEWS:4657 -msgid "" -"`bpo-12178 `__: :func:`csv.writer` now " -"correctly escapes *escapechar* when input contains *escapechar*. Patch by " -"Catalin Iacob, Berker Peksag, and Itay Elbirt." -msgstr "" - -#: ../../../build/NEWS:4661 -msgid "" -"`bpo-36290 `__: AST nodes are now " -"raising :exc:`TypeError` on conflicting keyword arguments. Patch contributed " -"by Rémi Lapeyre." -msgstr "" -"`bpo-36290 `__: Nós AST agora estão " -"levantando :exc:`TypeError` em argumentos nomeados conflitantes. Patch " -"contribuído por Rémi Lapeyre." - -#: ../../../build/NEWS:4664 -msgid "" -"`bpo-33944 `__: Added site.py site-" -"packages tracing in verbose mode." -msgstr "" - -#: ../../../build/NEWS:4666 -msgid "" -"`bpo-35078 `__: Refactor formatweekday, " -"formatmonthname methods in LocaleHTMLCalendar and LocaleTextCalendar classes " -"in calendar module to call the base class methods.This enables customizable " -"CSS classes for LocaleHTMLCalendar. Patch by Srinivas Reddy Thatiparthy" -msgstr "" - -#: ../../../build/NEWS:4671 -msgid "" -"`bpo-29620 `__: :func:`~unittest." -"TestCase.assertWarns` no longer raises a ``RuntimeException`` when accessing " -"a module's ``__warningregistry__`` causes importation of a new module, or " -"when a new module is imported in another thread. Patch by Kernc." -msgstr "" - -#: ../../../build/NEWS:4676 -msgid "" -"`bpo-31844 `__: Remove ``ParserBase." -"error()`` method from the private and undocumented ``_markupbase`` module. :" -"class:`html.parser.HTMLParser` is the only subclass of ``ParserBase`` and " -"its ``error()`` implementation was deprecated in Python 3.4 and removed in " -"Python 3.5." -msgstr "" - -#: ../../../build/NEWS:4681 -msgid "" -"`bpo-34226 `__: Fix `cgi." -"parse_multipart` without content_length. Patch by Roger Duran" -msgstr "" - -#: ../../../build/NEWS:4684 -msgid "" -"`bpo-33660 `__: Fix pathlib.PosixPath to " -"resolve a relative path located on the root directory properly." -msgstr "" - -#: ../../../build/NEWS:4687 -msgid "" -"`bpo-28557 `__: Improve the error " -"message for a misbehaving ``rawio.readinto``" -msgstr "" - -#: ../../../build/NEWS:4689 -msgid "" -"`bpo-26680 `__: The d.is_integer() " -"method is added to the Decimal type, for compatibility with other number " -"types." -msgstr "" - -#: ../../../build/NEWS:4692 -msgid "" -"`bpo-26680 `__: The x.is_integer() " -"method is incorporated into the abstract types of the numeric tower, Real, " -"Rational and Integral, with appropriate default implementations." -msgstr "" - -#: ../../../build/NEWS:4699 -msgid "" -"`bpo-41428 `__: Add documentation for :" -"pep:`604` (Allow writing union types as ``X | Y``)." -msgstr "" - -#: ../../../build/NEWS:4702 -msgid "" -"`bpo-41774 `__: In Programming FAQ " -"\"Sequences (Tuples/Lists)\" section, add \"How do you remove multiple items " -"from a list\"." -msgstr "" - -#: ../../../build/NEWS:4705 -msgid "" -"`bpo-35293 `__: Fix " -"RemovedInSphinx40Warning when building the documentation. Patch by Dong-hee " -"Na." -msgstr "" - -#: ../../../build/NEWS:4708 -msgid "" -"`bpo-37149 `__: Change Shipman tkinter " -"doc link from archive.org to TkDocs. (The doc has been removed from the NMT " -"server.) The new link responds much faster and includes a short explanatory " -"note." -msgstr "" - -#: ../../../build/NEWS:4712 -msgid "" -"`bpo-41726 `__: Update the refcounts " -"info of ``PyType_FromModuleAndSpec``." -msgstr "" - -#: ../../../build/NEWS:4714 -msgid "" -"`bpo-41624 `__: Fix the signature of :" -"class:`typing.Coroutine`." -msgstr "" - -#: ../../../build/NEWS:4716 -msgid "" -"`bpo-40204 `__: Enable Sphinx 3.2 " -"``c_allow_pre_v3`` option and disable ``c_warn_on_allowed_pre_v3`` option to " -"make the documentation compatible with Sphinx 2 and Sphinx 3." -msgstr "" - -#: ../../../build/NEWS:4720 -msgid "" -"`bpo-41045 `__: Add documentation for " -"debug feature of f-strings." -msgstr "" - -#: ../../../build/NEWS:4722 -msgid "" -"`bpo-41314 `__: Changed the release when " -"``from __future__ import annotations`` becomes the default from ``4.0`` to " -"``3.10`` (following a change in PEP 563)." -msgstr "" - -#: ../../../build/NEWS:4726 -msgid "" -"`bpo-40979 `__: Refactored typing.rst, " -"arranging more than 70 classes, functions, and decorators into new sub-" -"sections." -msgstr "" - -#: ../../../build/NEWS:4729 -msgid "" -"`bpo-40552 `__: Fix in tutorial section " -"4.2. Code snippet is now correct." -msgstr "" - -#: ../../../build/NEWS:4731 -msgid "" -"`bpo-39883 `__: Make code, examples, and " -"recipes in the Python documentation be licensed under the more permissive " -"BSD0 license in addition to the existing Python 2.0 license." -msgstr "" - -#: ../../../build/NEWS:4735 -msgid "" -"`bpo-37703 `__: Updated Documentation to " -"comprehensively elaborate on the behaviour of gather.cancel()" -msgstr "" - -#: ../../../build/NEWS:4741 -msgid "" -"`bpo-41939 `__: Fix test_site." -"test_license_exists_at_url(): call ``urllib.request.urlcleanup()`` to reset " -"the global ``urllib.request._opener``. Patch by Victor Stinner." -msgstr "" - -#: ../../../build/NEWS:4745 -msgid "" -"`bpo-41731 `__: Make " -"test_cmd_line_script pass with option '-vv'." -msgstr "" - -#: ../../../build/NEWS:4747 -msgid "" -"`bpo-41602 `__: Add tests for SIGINT " -"handling in the runpy module." -msgstr "" - -#: ../../../build/NEWS:4749 -msgid "" -"`bpo-41521 `__: :mod:`test.support`: " -"Rename ``blacklist`` parameter of :func:`~test.support.check__all__` to " -"``not_exported``." -msgstr "" - -#: ../../../build/NEWS:4752 -msgid "" -"`bpo-41477 `__: Make ctypes optional in " -"test_genericalias." -msgstr "" - -#: ../../../build/NEWS:4754 -msgid "" -"`bpo-41085 `__: Fix integer overflow in " -"the :meth:`array.array.index` method on 64-bit Windows for index larger than " -"``2**31``." -msgstr "" - -#: ../../../build/NEWS:4757 -msgid "" -"`bpo-41069 `__: :data:`test.support." -"TESTFN` and the current directory for tests when run via ``test.regrtest`` " -"contain now non-ascii characters if possible." -msgstr "" - -#: ../../../build/NEWS:4761 -msgid "" -"`bpo-38377 `__: On Linux, skip tests " -"using multiprocessing if the current user cannot create a file in ``/dev/shm/" -"`` directory. Add the :func:`~test.support." -"skip_if_broken_multiprocessing_synchronize` function to the :mod:`test." -"support` module." -msgstr "" - -#: ../../../build/NEWS:4766 -msgid "" -"`bpo-41009 `__: Fix use of ``support." -"require_{linux|mac|freebsd}_version()`` decorators as class decorator." -msgstr "" - -#: ../../../build/NEWS:4769 -msgid "" -"`bpo-41003 `__: Fix ``test_copyreg`` " -"when ``numpy`` is installed: ``test.pickletester`` now saves/restores " -"warnings filters when importing ``numpy``, to ignore filters installed by " -"``numpy``." -msgstr "" - -#: ../../../build/NEWS:4773 -msgid "" -"`bpo-40964 `__: Disable remote :mod:" -"`imaplib` tests, host cyrus.andrew.cmu.edu is blocking incoming connections." -msgstr "" - -#: ../../../build/NEWS:4776 -msgid "" -"`bpo-40927 `__: Fix test_binhex when run " -"twice: it now uses import_fresh_module() to ensure that it raises " -"DeprecationWarning each time." -msgstr "" -"`bpo-40927 `__: Correção de test_binhex " -"quando executado duas vezes: ele agora usa import_fresh_module() para " -"garantir que ele levanta DeprecationWarning cada vez." - -#: ../../../build/NEWS:4780 -msgid "" -"`bpo-17258 `__: Skip some :mod:" -"`multiprocessing` tests when MD5 hash digest is blocked." -msgstr "" - -#: ../../../build/NEWS:4783 -msgid "" -"`bpo-31904 `__: Increase " -"LOOPBACK_TIMEOUT to 10 for VxWorks RTOS." -msgstr "" - -#: ../../../build/NEWS:4785 -msgid "" -"`bpo-38169 `__: Increase code coverage " -"for SharedMemory and ShareableList" -msgstr "" - -#: ../../../build/NEWS:4787 -msgid "" -"`bpo-34401 `__: Make test_gdb properly " -"run on HP-UX. Patch by Michael Osipov." -msgstr "" - -#: ../../../build/NEWS:4792 -msgid "" -"`bpo-38249 `__: Update :c:macro:" -"`Py_UNREACHABLE` to use __builtin_unreachable() if only the compiler is able " -"to use it. Patch by Dong-hee Na." -msgstr "" - -#: ../../../build/NEWS:4795 -msgid "" -"`bpo-41617 `__: Fix ``pycore_bitutils." -"h`` header file to support old clang versions: ``__builtin_bswap16()`` is " -"not available in LLVM clang 3.0." -msgstr "" - -#: ../../../build/NEWS:4798 -msgid "" -"`bpo-40204 `__: Pin Sphinx version to " -"2.3.1 in ``Doc/Makefile``." -msgstr "" - -#: ../../../build/NEWS:4800 -msgid "" -"`bpo-36020 `__: The C99 functions :c:" -"func:`snprintf` and :c:func:`vsnprintf` are now required to build Python." -msgstr "" - -#: ../../../build/NEWS:4803 -msgid "" -"`bpo-40684 `__: ``make install`` now " -"uses the ``PLATLIBDIR`` variable for the destination ``lib-dynload/`` " -"directory when ``./configure --with-platlibdir`` is used." -msgstr "" -"`bpo-40684 `__: ``make install`` agora " -"usa a variável ``PLATLIBDIR`` para o diretório de destinação ``lib-dynload/" -"`` quando ``./configure --with-platlibdir`` é usada." - -#: ../../../build/NEWS:4807 -msgid "" -"`bpo-40683 `__: Fixed an issue where " -"the :mod:`zoneinfo` module and its tests were not included when Python is " -"installed with ``make``." -msgstr "" - -#: ../../../build/NEWS:4813 -msgid "" -"`bpo-41744 `__: Fixes automatic import " -"of props file when using the Nuget package." -msgstr "" - -#: ../../../build/NEWS:4816 -msgid "" -"`bpo-41627 `__: The user site directory " -"for 32-bit now includes a ``-32`` suffix to distinguish it from the 64-bit " -"interpreter's directory." -msgstr "" - -#: ../../../build/NEWS:4819 -msgid "" -"`bpo-41526 `__: Fixed layout of final " -"page of the installer by removing the special thanks to Mark Hammond (with " -"his permission)." -msgstr "" - -#: ../../../build/NEWS:4822 -msgid "" -"`bpo-41492 `__: Fixes the description " -"that appears in UAC prompts." -msgstr "" - -#: ../../../build/NEWS:4824 -msgid "" -"`bpo-40948 `__: Improve post-install " -"message to direct people to the \"py\" command." -msgstr "" - -#: ../../../build/NEWS:4827 -msgid "" -"`bpo-41412 `__: The installer will now " -"fail to install on Windows 7 and Windows 8. Further, the UCRT dependency is " -"now always downloaded on demand." -msgstr "" - -#: ../../../build/NEWS:4830 -msgid "" -"`bpo-40741 `__: Update Windows release " -"to include SQLite 3.32.3." -msgstr "" - -#: ../../../build/NEWS:4832 -msgid "" -"`bpo-41142 `__: :mod:`msilib` now " -"supports creating CAB files with non-ASCII file path and adding files with " -"non-ASCII file path to them." -msgstr "" - -#: ../../../build/NEWS:4835 -msgid "" -"`bpo-41074 `__: Fixed support of non-" -"ASCII names in functions :func:`msilib.OpenDatabase` and :func:`msilib." -"init_database` and non-ASCII SQL in method :meth:`msilib.Database.OpenView`." -msgstr "" - -#: ../../../build/NEWS:4839 -msgid "" -"`bpo-41039 `__: Stable ABI redirection " -"DLL (python3.dll) now uses ``#pragma comment(linker)`` for re-exporting." -msgstr "" - -#: ../../../build/NEWS:4842 -msgid "" -"`bpo-40164 `__: Updates Windows OpenSSL " -"to 1.1.1g" -msgstr "" - -#: ../../../build/NEWS:4844 -msgid "" -"`bpo-39631 `__: Changes the registered " -"MIME type for ``.py`` files on Windows to ``text/x-python`` instead of " -"``text/plain``." -msgstr "" -"`bpo-39631 `__: Altera o tipo MIME " -"registrado para arquivos ``.py`` no Windows para ``text/x-python`` em vez de " -"``text/plain``." - -#: ../../../build/NEWS:4847 -msgid "" -"`bpo-40677 `__: Manually define " -"IO_REPARSE_TAG_APPEXECLINK in case some old Windows SDK doesn't have it." -msgstr "" -"`bpo-40677 `__: Define manualmente " -"IO_REPARSE_TAG_APPEXECLINK, caso algum SDK antigo do Windows não o possua." - -#: ../../../build/NEWS:4850 -msgid "" -"`bpo-37556 `__: Extend py.exe help to " -"mention overrides via venv, shebang, environmental variables & ini files." -msgstr "" - -#: ../../../build/NEWS:4856 -msgid "" -"`bpo-41557 `__: Update macOS installer " -"to use SQLite 3.33.0." -msgstr "" - -#: ../../../build/NEWS:4858 -msgid "" -"`bpo-39580 `__: Avoid opening Finder " -"window if running installer from the command line. Patch contributed by Rick " -"Heil." -msgstr "" - -#: ../../../build/NEWS:4861 -msgid "" -"`bpo-41100 `__: Fix configure error when " -"building on macOS 11. Note that the current Python release was released " -"shortly after the first developer preview of macOS 11 (Big Sur); there are " -"other known issues with building and running on the developer preview. Big " -"Sur is expected to be fully supported in a future bugfix release of Python " -"3.8.x and with 3.9.0." -msgstr "" - -#: ../../../build/NEWS:4867 -msgid "" -"`bpo-40741 `__: Update macOS installer " -"to use SQLite 3.32.3." -msgstr "" - -#: ../../../build/NEWS:4869 -msgid "" -"`bpo-41005 `__: fixed an XDG settings " -"issue not allowing macos to open browser in webbrowser.py" -msgstr "" - -#: ../../../build/NEWS:4872 -msgid "" -"`bpo-40741 `__: Update macOS installer " -"to use SQLite 3.32.2." -msgstr "" - -#: ../../../build/NEWS:4877 -msgid "" -"`bpo-41775 `__: Use 'IDLE Shell' as " -"shell title" -msgstr "" - -#: ../../../build/NEWS:4879 -msgid "" -"`bpo-35764 `__: Rewrite the Calltips doc " -"section." -msgstr "" - -#: ../../../build/NEWS:4881 -msgid "" -"`bpo-40181 `__: In calltips, stop " -"reminding that '/' marks the end of positional-only arguments." -msgstr "" - -#: ../../../build/NEWS:4884 -msgid "" -"`bpo-41468 `__: Improve IDLE run crash " -"error message (which users should never see)." -msgstr "" - -#: ../../../build/NEWS:4887 -msgid "" -"`bpo-41373 `__: Save files loaded with " -"no line ending, as when blank, or different line endings, by setting its " -"line ending to the system default. Fix regression in 3.8.4 and 3.9.0b4." -msgstr "" - -#: ../../../build/NEWS:4891 -msgid "" -"`bpo-41300 `__: Save files with non-" -"ascii chars. Fix regression released in 3.9.0b4 and 3.8.4." -msgstr "" - -#: ../../../build/NEWS:4894 -msgid "" -"`bpo-37765 `__: Add keywords to module " -"name completion list. Rewrite Completions section of IDLE doc." -msgstr "" - -#: ../../../build/NEWS:4897 -msgid "" -"`bpo-41152 `__: The encoding of " -"``stdin``, ``stdout`` and ``stderr`` in IDLE is now always UTF-8." -msgstr "" - -#: ../../../build/NEWS:4900 -msgid "" -"`bpo-41144 `__: Make Open Module open a " -"special module such as os.path." -msgstr "" - -#: ../../../build/NEWS:4902 -msgid "" -"`bpo-39885 `__: Make context menu Cut " -"and Copy work again when right-clicking within a selection." -msgstr "" -"`bpo-39885 `__: Faz o menu de contexto " -"Recortar e Copiar funcionar novamente ao clicar com o botão direito do mouse " -"em uma seleção." - -#: ../../../build/NEWS:4905 -msgid "" -"`bpo-40723 `__: Make test_idle pass when " -"run after import." -msgstr "" -"`bpo-40723 `__: Faz test_idle passar " -"quando executado após a importação." - -#: ../../../build/NEWS:4910 -msgid "" -"`bpo-41936 `__: Removed undocumented " -"macros ``Py_ALLOW_RECURSION`` and ``Py_END_ALLOW_RECURSION`` and the " -"``recursion_critical`` field of the :c:type:`PyInterpreterState` structure." -msgstr "" - -#: ../../../build/NEWS:4914 -msgid "" -"`bpo-41692 `__: The " -"``PyUnicode_InternImmortal()`` function is now deprecated and will be " -"removed in Python 3.12: use :c:func:`PyUnicode_InternInPlace` instead. Patch " -"by Victor Stinner." -msgstr "" - -#: ../../../build/NEWS:4918 -msgid "" -"`bpo-41842 `__: Add :c:func:" -"`PyCodec_Unregister` function to unregister a codec search function." -msgstr "" - -#: ../../../build/NEWS:4921 -msgid "" -"`bpo-41834 `__: Remove the " -"``_Py_CheckRecursionLimit`` variable: it has been replaced by ``ceval." -"recursion_limit`` of the :c:type:`PyInterpreterState` structure. Patch by " -"Victor Stinner." -msgstr "" - -#: ../../../build/NEWS:4925 -msgid "" -"`bpo-41689 `__: Types created with :c:" -"func:`PyType_FromSpec` now make any signature in their ``tp_doc`` slot " -"accessible from ``__text_signature__``." -msgstr "" - -#: ../../../build/NEWS:4928 -msgid "" -"`bpo-41524 `__: Fix bug in " -"PyOS_mystrnicmp and PyOS_mystricmp that incremented pointers beyond the end " -"of a string." -msgstr "" - -#: ../../../build/NEWS:4931 -msgid "" -"`bpo-41324 `__: Add a minimal decimal " -"capsule API. The API supports fast conversions between Decimals up to 38 " -"digits and their triple representation as a C struct." -msgstr "" - -#: ../../../build/NEWS:4935 -msgid "" -"`bpo-30155 `__: Add :c:func:" -"`PyDateTime_DATE_GET_TZINFO` and :c:func:`PyDateTime_TIME_GET_TZINFO` macros " -"for accessing the ``tzinfo`` attributes of :class:`datetime.datetime` and :" -"class:`datetime.time` objects." -msgstr "" - -#: ../../../build/NEWS:4940 -msgid "" -"`bpo-40170 `__: Revert :c:func:" -"`PyType_HasFeature` change: it reads again directly the :c:member:" -"`PyTypeObject.tp_flags` member when the limited C API is not used, rather " -"than always calling :c:func:`PyType_GetFlags` which hides implementation " -"details." -msgstr "" - -#: ../../../build/NEWS:4945 -msgid "" -"`bpo-41123 `__: Remove " -"``PyUnicode_AsUnicodeCopy``." -msgstr "" - -#: ../../../build/NEWS:4947 -msgid "" -"`bpo-41123 `__: Removed " -"``PyLong_FromUnicode()``." -msgstr "" - -#: ../../../build/NEWS:4949 -msgid "" -"`bpo-41123 `__: Removed " -"``PyUnicode_GetMax()``." -msgstr "" - -#: ../../../build/NEWS:4951 -msgid "" -"`bpo-41123 `__: Removed " -"``Py_UNICODE_str*`` functions manipulating ``Py_UNICODE*`` strings." -msgstr "" - -#: ../../../build/NEWS:4954 -msgid "" -"`bpo-41103 `__: " -"``PyObject_AsCharBuffer()``, ``PyObject_AsReadBuffer()``, " -"``PyObject_CheckReadBuffer()``, and ``PyObject_AsWriteBuffer()`` are " -"removed. Please migrate to new buffer protocol; :c:func:`PyObject_GetBuffer` " -"and :c:func:`PyBuffer_Release`." -msgstr "" - -#: ../../../build/NEWS:4959 -msgid "" -"`bpo-36346 `__: Raises " -"DeprecationWarning for ``PyUnicode_FromUnicode(NULL, size)`` and " -"``PyUnicode_FromStringAndSize(NULL, size)`` with ``size > 0``." -msgstr "" - -#: ../../../build/NEWS:4962 -msgid "" -"`bpo-36346 `__: Mark " -"``Py_UNICODE_COPY``, ``Py_UNICODE_FILL``, ``PyUnicode_WSTR_LENGTH``, " -"``PyUnicode_FromUnicode``, ``PyUnicode_AsUnicode``, and " -"``PyUnicode_AsUnicodeAndSize`` as deprecated in C. Remove " -"``Py_UNICODE_MATCH`` which was deprecated and broken since Python 3.3." -msgstr "" - -#: ../../../build/NEWS:4968 -msgid "" -"`bpo-40989 `__: The :c:func:" -"`PyObject_INIT` and :c:func:`PyObject_INIT_VAR` macros become aliases to, " -"respectively, :c:func:`PyObject_Init` and :c:func:`PyObject_InitVar` " -"functions." -msgstr "" - -#: ../../../build/NEWS:4972 -msgid "" -"`bpo-36020 `__: On Windows, ``#include " -"\"pyerrors.h\"`` no longer defines ``snprintf`` and ``vsnprintf`` macros." -msgstr "" - -#: ../../../build/NEWS:4975 -msgid "" -"`bpo-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:`Parsing arguments and building " -"values ` and the :pep:`353`." -msgstr "" - -#: ../../../build/NEWS:4981 -msgid "" -"`bpo-40910 `__: Export explicitly the :c:" -"func:`Py_GetArgcArgv` function to the C API and document the function. " -"Previously, it was exported implicitly which no longer works since Python is " -"built with ``-fvisibility=hidden``." -msgstr "" - -#: ../../../build/NEWS:4985 -msgid "" -"`bpo-40724 `__: Allow defining buffer " -"slots in type specs." -msgstr "" - -#: ../../../build/NEWS:4987 -msgid "" -"`bpo-40679 `__: Fix a " -"``_PyEval_EvalCode()`` crash if *qualname* argument is NULL." -msgstr "" - -#: ../../../build/NEWS:4990 -msgid "" -"`bpo-40839 `__: Calling :c:func:" -"`PyDict_GetItem` without :term:`GIL` held had been allowed for historical " -"reason. It is no longer allowed." -msgstr "" - -#: ../../../build/NEWS:4993 -msgid "" -"`bpo-40826 `__: :c:func:" -"`PyOS_InterruptOccurred` now fails with a fatal error if it is called with " -"the GIL released." -msgstr "" - -#: ../../../build/NEWS:4996 -msgid "" -"`bpo-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``." -msgstr "" - -#: ../../../build/NEWS:5000 -msgid "" -"`bpo-39573 `__: Convert :c:func:" -"`Py_REFCNT` and :c:func:`Py_SIZE` macros to static inline functions. They " -"cannot be used as l-value anymore: use :c:func:`Py_SET_REFCNT` and :c:func:" -"`Py_SET_SIZE` to set an object reference count and size. This change is " -"backward incompatible on purpose, to prepare the C API for an opaque :c:type:" -"`PyObject` structure." -msgstr "" - -#: ../../../build/NEWS:5006 -msgid "" -"`bpo-40703 `__: The PyType_FromSpec*() " -"functions no longer overwrite the type's \"__module__\" attribute if it is " -"set via \"Py_tp_members\" or \"Py_tp_getset\"." -msgstr "" -"`bpo-40703 `__: As funções " -"PyType_FromSpec*() não mais sobrescreve o atributo \"__module__\" do tipo se " -"estiver definido via \"Py_tp_members\" ou \"Py_tp_getset\"." - -#: ../../../build/NEWS:5009 -msgid "" -"`bpo-39583 `__: Remove superfluous " -"\"extern C\" declarations from ``Include/cpython/*.h``." -msgstr "" - -#: ../../../build/NEWS:5014 -msgid "Python 3.9.0 beta 1" -msgstr "" - -#: ../../../build/NEWS:5016 -msgid "*Release date: 2020-05-19*" -msgstr "" - -#: ../../../build/NEWS:5021 -msgid "" -"`bpo-40501 `__: :mod:`uuid` no longer " -"uses :mod:`ctypes` to load :file:`libuuid` or :file:`rpcrt4.dll` at runtime." -msgstr "" - -#: ../../../build/NEWS:5027 -msgid "" -"`bpo-40663 `__: Correctly generate " -"annotations where parentheses are omitted but required (e.g: ``Type[(str, " -"int, *other))]``." -msgstr "" -"`bpo-40663 `__: Gera anotações " -"corretamente onde parênteses são omitidos, mas necessários (e.g: " -"``Type[(str, int, *other))]``." - -#: ../../../build/NEWS:5030 -msgid "" -"`bpo-40596 `__: Fixed :meth:`str." -"isidentifier` for non-canonicalized strings containing non-BMP characters on " -"Windows." -msgstr "" - -#: ../../../build/NEWS:5033 -msgid "" -"`bpo-40593 `__: Improved syntax errors " -"for invalid characters in source code." -msgstr "" - -#: ../../../build/NEWS:5035 -msgid "" -"`bpo-40585 `__: Fixed a bug when using :" -"func:`codeop.compile_command` that was causing exceptions to be swallowed " -"with the new parser. Patch by Pablo Galindo" -msgstr "" - -#: ../../../build/NEWS:5039 -msgid "" -"`bpo-40566 `__: Apply :pep:`573` to :mod:" -"`abc`." -msgstr "" - -#: ../../../build/NEWS:5041 -msgid "" -"`bpo-40502 `__: Initialize ``n-" -">n_col_offset``. (Patch by Joannah Nanjekye)" -msgstr "" - -#: ../../../build/NEWS:5043 -msgid "" -"`bpo-40527 `__: Fix command line " -"argument parsing: no longer write errors multiple times into stderr." -msgstr "" -"`bpo-40527 `__: Corrige a análise de " -"argumentos da linha de comando: não grava mais erros várias vezes no stderr." - -#: ../../../build/NEWS:5046 -msgid "" -"`bpo-1635741 `__: Port :mod:`errno` to " -"multiphase initialization (:pep:`489`)." -msgstr "" - -#: ../../../build/NEWS:5048 -msgid "" -"`bpo-40523 `__: Add pass-throughs for :" -"func:`hash` and :func:`reversed` to :class:`weakref.proxy` objects. Patch by " -"Pablo Galindo." -msgstr "" - -#: ../../../build/NEWS:5051 -msgid "" -"`bpo-1635741 `__: Port :mod:`syslog` " -"to multiphase initialization (:pep:`489`)." -msgstr "" - -#: ../../../build/NEWS:5053 -msgid "" -"`bpo-40246 `__: Reporting a specialised " -"error message for invalid string prefixes, which was introduced in :issue:" -"`40246`, is being reverted due to backwards compatibility concerns for " -"strings that immediately follow a reserved keyword without whitespace " -"between them. Constructs like `bg=\"#d00\" if clear else\"#fca\"` were " -"failing to parse, which is not an acceptable breakage on such short notice." -msgstr "" - -#: ../../../build/NEWS:5060 -msgid "" -"`bpo-40417 `__: Fix imp module " -"deprecation warning when PyImport_ReloadModule is called. Patch by Robert " -"Rouhani." -msgstr "" -"`bpo-40417 `__: Corrige o aviso de " -"descontinuação do módulo imp quando PyImport_ReloadModule for chamado. Patch " -"de Robert Rouhani." - -#: ../../../build/NEWS:5063 -msgid "" -"`bpo-40408 `__: Fixed support of nested " -"type variables in GenericAlias (e.g. ``list[list[T]]``)." -msgstr "" - -#: ../../../build/NEWS:5066 -msgid "" -"`bpo-1635741 `__: Port _stat module to " -"multiphase initialization (:pep:`489`)." -msgstr "" - -#: ../../../build/NEWS:5068 -msgid "" -"`bpo-29587 `__: Enable implicit " -"exception chaining when calling :meth:`generator.throw`." -msgstr "" - -#: ../../../build/NEWS:5071 -msgid "" -"`bpo-40328 `__: Add tools for generating " -"mappings headers for CJKCodecs." -msgstr "" - -#: ../../../build/NEWS:5073 -msgid "" -"`bpo-40228 `__: Setting frame.f_lineno " -"is now robust w.r.t. changes in the source-to-bytecode compiler" -msgstr "" - -#: ../../../build/NEWS:5076 -msgid "" -"`bpo-38880 `__: Added the ability to " -"list interpreters associated with channel ends in the internal " -"subinterpreters module." -msgstr "" - -#: ../../../build/NEWS:5079 -msgid "" -"`bpo-37986 `__: Improve performance of :" -"c:func:`PyLong_FromDouble` for values that fit into :c:type:`long`." -msgstr "" - -#: ../../../build/NEWS:5085 -msgid "" -"`bpo-40662 `__: Fixed :func:`ast." -"get_source_segment` for ast nodes that have incomplete location information. " -"Patch by Irit Katriel." -msgstr "" - -#: ../../../build/NEWS:5088 -msgid "" -"`bpo-40665 `__: Convert :mod:`bisect` to " -"use Argument Clinic." -msgstr "" - -#: ../../../build/NEWS:5090 -msgid "" -"`bpo-40536 `__: Added the :func:" -"`~zoneinfo.available_timezones` function to the :mod:`zoneinfo` module. " -"Patch by Paul Ganssle." -msgstr "" - -#: ../../../build/NEWS:5093 -msgid "" -"`bpo-40645 `__: The :class:`hmac.HMAC` " -"exposes internal implementation details. The attributes ``digest_cons``, " -"``inner``, and ``outer`` are deprecated and will be removed in the future." -msgstr "" - -#: ../../../build/NEWS:5097 -msgid "" -"`bpo-40645 `__: The internal module " -"``_hashlib`` wraps and exposes OpenSSL's HMAC API. The new code will be used " -"in Python 3.10 after the internal implementation details of the pure Python " -"HMAC module are no longer part of the public API." -msgstr "" - -#: ../../../build/NEWS:5102 -msgid "" -"`bpo-40637 `__: Builtin hash modules can " -"now be disabled or selectively enabled with ``configure --with-builtin-" -"hashlib-hashes=sha3,blake1`` or ``--without-builtin-hashlib-hashes``." -msgstr "" - -#: ../../../build/NEWS:5106 -msgid "" -"`bpo-37630 `__: The :mod:`hashlib` " -"module can now use SHA3 hashes and SHAKE XOF from OpenSSL when available." -msgstr "" - -#: ../../../build/NEWS:5109 -msgid "" -"`bpo-40479 `__: The :mod:`hashlib` now " -"compiles with OpenSSL 3.0.0-alpha2." -msgstr "" - -#: ../../../build/NEWS:5111 -msgid "" -"`bpo-40257 `__: Revert changes to :func:" -"`inspect.getdoc`." -msgstr "" - -#: ../../../build/NEWS:5113 -msgid "" -"`bpo-40607 `__: When cancelling a task " -"due to timeout, :meth:`asyncio.wait_for` will now propagate the exception if " -"an error happens during cancellation. Patch by Roman Skurikhin." -msgstr "" - -#: ../../../build/NEWS:5117 -msgid "" -"`bpo-40612 `__: Fix edge cases in " -"SyntaxError formatting. If the offset is <= 0, no caret is printed. If the " -"offset is > line length, the caret is printed pointing just after the last " -"character." -msgstr "" - -#: ../../../build/NEWS:5121 -msgid "" -"`bpo-40597 `__: If text content lines " -"are longer than policy.max_line_length, always use a content-encoding to " -"make sure they are wrapped." -msgstr "" -"`bpo-40597 `__: Se as linhas de conteúdo " -"de texto forem maiores que policy.max_line_length, sempre use uma " -"codificação de conteúdo para garantir que elas sejam quebradas." - -#: ../../../build/NEWS:5124 -msgid "" -"`bpo-40571 `__: Added functools.cache() " -"as a simpler, more discoverable way to access the unbounded cache variant of " -"lru_cache(maxsize=None)." -msgstr "" - -#: ../../../build/NEWS:5127 -msgid "" -"`bpo-40503 `__: :pep:`615`, the :mod:" -"`zoneinfo` module. Adds support for the IANA time zone database." -msgstr "" - -#: ../../../build/NEWS:5130 -msgid "" -"`bpo-40397 `__: Removed attributes " -"``__args__`` and ``__parameters__`` from special generic aliases like " -"``typing.List`` (not subscripted)." -msgstr "" - -#: ../../../build/NEWS:5133 -msgid "" -"`bpo-40549 `__: Convert posixmodule.c " -"(\"posix\" or \"nt\" module) to the multiphase initialization (PEP 489)." -msgstr "" - -#: ../../../build/NEWS:5136 -msgid "" -"`bpo-31033 `__: Add a ``msg`` argument " -"to :meth:`Future.cancel` and :meth:`Task.cancel`." -msgstr "" - -#: ../../../build/NEWS:5139 -msgid "" -"`bpo-40541 `__: Added an optional " -"*counts* parameter to random.sample()." -msgstr "" - -#: ../../../build/NEWS:5141 -msgid "" -"`bpo-40515 `__: The :mod:`ssl` and :mod:" -"`hashlib` modules now actively check that OpenSSL is build with thread " -"support. Python 3.7.0 made thread support mandatory and no longer works " -"safely with a no-thread builds." -msgstr "" -"`bpo-40515 `__: Os módulos :mod:`ssl` e :" -"mod:`hashlib` agora ativamente verificam se o OpenSSL é construído com " -"suporte a threads. O Python 3.7.0 tornou obrigatório o suporte a threads e " -"não funciona mais com segurança com compilações sem thread." - -#: ../../../build/NEWS:5145 -msgid "" -"`bpo-31033 `__: When a :class:`asyncio." -"Task` is cancelled, the exception traceback now chains all the way back to " -"where the task was first interrupted." -msgstr "" - -#: ../../../build/NEWS:5149 -msgid "" -"`bpo-40504 `__: :func:`functools." -"lru_cache` objects can now be the targets of weakrefs." -msgstr "" - -#: ../../../build/NEWS:5152 -msgid "" -"`bpo-40559 `__: Fix possible memory leak " -"in the C implementation of :class:`asyncio.Task`." -msgstr "" -"`bpo-40559 `__: Corrige possível " -"vazamento de memória na implementação C de :class:`asyncio.Task`." - -#: ../../../build/NEWS:5155 -msgid "" -"`bpo-40480 `__: ``fnmatch.fnmatch()`` " -"could take exponential time in the presence of multiple ``*`` pattern " -"characters. This was repaired by generating more elaborate regular " -"expressions to avoid futile backtracking." -msgstr "" - -#: ../../../build/NEWS:5160 -msgid "" -"`bpo-40495 `__: :mod:`compileall` is now " -"able to use hardlinks to prevent duplicates in a case when ``.pyc`` files " -"for different optimization levels have the same content." -msgstr "" - -#: ../../../build/NEWS:5164 -msgid "" -"`bpo-40457 `__: The ssl module now " -"support OpenSSL builds without TLS 1.0 and 1.1 methods." -msgstr "" -"`bpo-40457 `__: O módulo ssl agora " -"suporta compilações OpenSSL sem métodos TLS 1.0 e 1.1." - -#: ../../../build/NEWS:5167 -msgid "" -"`bpo-40355 `__: Improve error reporting " -"in :func:`ast.literal_eval` in the presence of malformed :class:`ast.Dict` " -"nodes instead of silently ignoring any non-conforming elements. Patch by " -"Curtis Bucher." -msgstr "" -"`bpo-40355 `__: Melhora o relatório de " -"erros em :func:`ast.literal_eval` na presença de nós malformados :class:`ast." -"Dict` em vez de ignorar silenciosamente qualquer elemento não conforme. " -"Patch de Curtis Bucher." - -#: ../../../build/NEWS:5171 -msgid "" -"`bpo-40465 `__: Deprecated the optional " -"*random* argument to *random.shuffle()*." -msgstr "" - -#: ../../../build/NEWS:5174 -msgid "" -"`bpo-40459 `__: :func:`platform." -"win32_ver` now produces correct *ptype* strings instead of empty strings." -msgstr "" -"`bpo-40459 `__: :func:`platform." -"win32_ver` agora produz cadeias *ptype* corretas em vez de strings vazias." - -#: ../../../build/NEWS:5177 -msgid "" -"`bpo-39435 `__: The first argument of :" -"func:`pickle.loads` is now positional-only." -msgstr "" - -#: ../../../build/NEWS:5180 -msgid "" -"`bpo-39305 `__: Update :mod:`nntplib` to " -"merge :class:`nntplib.NNTP` and :class:`nntplib._NNTPBase`. Patch by Dong-" -"hee Na." -msgstr "" - -#: ../../../build/NEWS:5183 -msgid "" -"`bpo-32494 `__: Update :mod:`dbm.gnu` to " -"use gdbm_count if possible when calling :func:`len`. Patch by Dong-hee Na." -msgstr "" - -#: ../../../build/NEWS:5186 -msgid "" -"`bpo-40453 `__: Add ``isolated=True`` " -"keyword-only parameter to ``_xxsubinterpreters.create()``. An isolated " -"subinterpreter cannot spawn threads, spawn a child process or call ``os." -"fork()``." -msgstr "" - -#: ../../../build/NEWS:5190 -msgid "" -"`bpo-40286 `__: Remove ``_random.Random." -"randbytes()``: the C implementation of ``randbytes()``. Implement the method " -"in Python to ease subclassing: ``randbytes()`` now directly reuses " -"``getrandbits()``." -msgstr "" - -#: ../../../build/NEWS:5194 -msgid "" -"`bpo-40394 `__: Added default arguments " -"to :meth:`difflib.SequenceMatcher.find_longest_match()`." -msgstr "" - -#: ../../../build/NEWS:5197 -msgid "" -"`bpo-39995 `__: Fix a race condition in " -"concurrent.futures._ThreadWakeup: access to _ThreadWakeup is now protected " -"with the shutdown lock." -msgstr "" - -#: ../../../build/NEWS:5200 -msgid "" -"`bpo-30966 `__: ``Process." -"shutdown(wait=True)`` of :mod:`concurrent.futures` now closes explicitly the " -"result queue." -msgstr "" - -#: ../../../build/NEWS:5203 -msgid "" -"`bpo-30966 `__: Add a new :meth:" -"`~multiprocessing.SimpleQueue.close` method to the :class:`~multiprocessing." -"SimpleQueue` class to explicitly close the queue." -msgstr "" - -#: ../../../build/NEWS:5207 -msgid "" -"`bpo-39966 `__: Revert `bpo-25597 " -"`__. :class:`unittest.mock.MagicMock` " -"with wraps' set uses default return values for magic methods." -msgstr "" - -#: ../../../build/NEWS:5210 -msgid "" -"`bpo-39791 `__: Added ``files()`` " -"function to importlib.resources with support for subdirectories in package " -"data, matching backport in importlib_resources 1.5." -msgstr "" - -#: ../../../build/NEWS:5214 -msgid "" -"`bpo-40375 `__: :meth:`imaplib.IMAP4." -"unselect` is added. Patch by Dong-hee Na." -msgstr "" - -#: ../../../build/NEWS:5216 -msgid "" -"`bpo-40389 `__: ``repr()`` now returns " -"``typing.Optional[T]`` when called for ``typing.Union`` of two types, one of " -"which is ``NoneType``." -msgstr "" - -#: ../../../build/NEWS:5219 -msgid "" -"`bpo-40291 `__: Add support for " -"CAN_J1939 sockets (available on Linux 5.4+)" -msgstr "" - -#: ../../../build/NEWS:5221 -msgid "" -"`bpo-40273 `__: :class:`types." -"MappingProxyType` is now reversible." -msgstr "" - -#: ../../../build/NEWS:5223 -msgid "" -"`bpo-39075 `__: The repr for :class:" -"`types.SimpleNamespace` is now insertion ordered rather than alphabetical." -msgstr "" - -#: ../../../build/NEWS:5226 -msgid "" -"`bpo-40192 `__: On AIX, :func:`~time." -"thread_time` is now implemented with ``thread_cputime()`` which has " -"nanosecond resolution, rather than " -"``clock_gettime(CLOCK_THREAD_CPUTIME_ID)`` which has a resolution of 10 ms. " -"Patch by Batuhan Taskaya." -msgstr "" - -#: ../../../build/NEWS:5231 -msgid "" -"`bpo-40025 `__: Raise TypeError when " -"_generate_next_value_ is defined after members. Patch by Ethan Onstott." -msgstr "" -"`bpo-40025 `__: Levanta TypeError quando " -"_generate_next_value_ for definido após os membros. Patch de Ethan Onstott." - -#: ../../../build/NEWS:5234 -msgid "" -"`bpo-39058 `__: In the argparse module, " -"the repr for Namespace() and other argument holders now displayed in the " -"order attributes were added. Formerly, it displayed in alphabetical order " -"even though argument order is preserved the user visible parts of the module." -msgstr "" - -#: ../../../build/NEWS:5239 -msgid "" -"`bpo-24416 `__: The ``isocalendar()`` " -"methods of :class:`datetime.date` and :class:`datetime.datetime` now return " -"a :term:`named tuple` instead of a :class:`tuple`." -msgstr "" - -#: ../../../build/NEWS:5246 -msgid "" -"`bpo-34790 `__: Add version of removal " -"for explicit passing of coros to `asyncio.wait()`'s documentation" -msgstr "" - -#: ../../../build/NEWS:5249 -msgid "" -"`bpo-40561 `__: Provide docstrings for " -"webbrowser open functions." -msgstr "" -"`bpo-40561 `__: Fornece docstrings para " -"funções *open* de webbrowser." - -#: ../../../build/NEWS:5251 -msgid "" -"`bpo-40499 `__: Mention that :func:" -"`asyncio.wait` requires a non-empty set of awaitables." -msgstr "" - -#: ../../../build/NEWS:5254 -msgid "" -"`bpo-39705 `__: Tutorial example for " -"sorted() in the Loop Techniques section is given a better explanation. Also " -"a new example is included to explain sorted()'s basic behavior." -msgstr "" - -#: ../../../build/NEWS:5258 -msgid "" -"`bpo-39435 `__: Fix an incorrect " -"signature for :func:`pickle.loads` in the docs" -msgstr "" -"`bpo-39435 `__: Corrige uma assinatura " -"incorreta para :func:`pickle.loads` nos documentos" - -#: ../../../build/NEWS:5263 -msgid "" -"`bpo-40055 `__: distutils.tests now " -"saves/restores warnings filters to leave them unchanged. Importing tests " -"imports docutils which imports pkg_resources which adds a warnings filter." -msgstr "" -"`bpo-40055 `__: O distutils.tests agora " -"salva/restaura filtros de avisos para deixá-los inalterados. A importação de " -"testes importa documentos que importam pkg_resources, que adiciona um filtro " -"de avisos." - -#: ../../../build/NEWS:5267 -msgid "" -"`bpo-40436 `__: test_gdb and test." -"pythoninfo now check gdb command exit code." -msgstr "" - -#: ../../../build/NEWS:5272 -msgid "" -"`bpo-40653 `__: Move _dirnameW out of " -"HAVE_SYMLINK to fix a potential compiling issue." -msgstr "" -"`bpo-40653 `__: Move _dirnameW de " -"HAVE_SYMLINK para corrigir um possível problema de compilação." - -#: ../../../build/NEWS:5275 -msgid "" -"`bpo-40514 `__: Add ``--with-" -"experimental-isolated-subinterpreters`` build option to ``configure``: " -"better isolate subinterpreters, experimental build mode." -msgstr "" - -#: ../../../build/NEWS:5282 -msgid "" -"`bpo-40650 `__: Include winsock2.h in " -"pytime.c for timeval." -msgstr "" -"`bpo-40650 `__: Inclua winsock2.h em " -"pytime.c para o timeval." - -#: ../../../build/NEWS:5284 -msgid "" -"`bpo-40458 `__: Increase reserved stack " -"space to prevent overflow crash on Windows." -msgstr "" -"`bpo-40458 `__: Aumenta o espaço " -"reservado da pilha para evitar falhas de estouro no Windows." - -#: ../../../build/NEWS:5287 -msgid "" -"`bpo-39148 `__: Add IPv6 support to :mod:" -"`asyncio` datagram endpoints in ProactorEventLoop. Change the raised " -"exception for unknown address families to ValueError as it's not coming from " -"Windows API." -msgstr "" -"`bpo-39148 `__: Adiciona suporte ao IPv6 " -"para os terminais de datagrama de :mod:`asyncio` no ProactorEventLoop. " -"Altera a exceção levantada para famílias de endereços desconhecidas para " -"ValueError, pois ela não vem da API do Windows." - -#: ../../../build/NEWS:5294 -msgid "" -"`bpo-34956 `__: When building Python on " -"macOS from source, ``_tkinter`` now links with non-system Tcl and Tk " -"frameworks if they are installed in ``/Library/Frameworks``, as had been the " -"case on older releases of macOS. If a macOS SDK is explicitly configured, by " -"using ``--enable-universalsdk=`` or ``-isysroot``, only the SDK itself is " -"searched. The default behavior can still be overridden with ``--with-tcltk-" -"includes`` and ``--with-tcltk-libs``." -msgstr "" - -#: ../../../build/NEWS:5302 -msgid "" -"`bpo-35569 `__: Expose RFC 3542 IPv6 " -"socket options." -msgstr "" - -#: ../../../build/NEWS:5307 -msgid "" -"`bpo-40479 `__: Update multissltest " -"helper to test with latest OpenSSL 1.0.2, 1.1.0, 1.1.1, and 3.0.0-alpha." -msgstr "" -"`bpo-40479 `__: Atualiza o auxiliar " -"multissltest para testar com o OpenSSL 1.0.2, 1.1.0, 1.1.1 e 3.0.0-alpha " -"mais recente." - -#: ../../../build/NEWS:5310 -msgid "" -"`bpo-40431 `__: Fix a syntax typo in " -"``turtledemo`` that now raises a ``SyntaxError``." -msgstr "" - -#: ../../../build/NEWS:5313 -msgid "" -"`bpo-40163 `__: Fix multissltest tool. " -"OpenSSL has changed download URL for old releases. The multissltest tool now " -"tries to download from current and old download URLs." -msgstr "" -"`bpo-40163 `__: Corrige a ferramenta " -"multissltest. O OpenSSL mudou a URL de download para versões antigas. A " -"ferramenta multissltest agora tenta fazer o download dos URLs de download " -"atuais e antigos." - -#: ../../../build/NEWS:5320 -msgid "" -"`bpo-39465 `__: Remove the " -"``_PyUnicode_ClearStaticStrings()`` function from the C API." -msgstr "" - -#: ../../../build/NEWS:5323 -msgid "" -"`bpo-38787 `__: Add " -"PyCFunction_CheckExact() macro for exact type checks now that we allow " -"subtypes of PyCFunction, as well as PyCMethod_CheckExact() and " -"PyCMethod_Check() for the new PyCMethod subtype." -msgstr "" - -#: ../../../build/NEWS:5327 -msgid "" -"`bpo-40545 `__: Declare " -"``_PyErr_GetTopmostException()`` with ``PyAPI_FUNC()`` to properly export " -"the function in the C API. The function remains private (``_Py``) prefix." -msgstr "" - -#: ../../../build/NEWS:5331 -msgid "" -"`bpo-40412 `__: Nullify inittab_copy " -"during finalization, preventing future interpreter initializations in an " -"embedded situation from crashing. Patch by Gregory Szorc." -msgstr "" -"`bpo-40412 `__: Anula inittab_copy " -"durante a finalização, impedindo que futuras inicializações de intérpretes " -"em uma situação incorporada sejam interrompidas. Patch de Gregory Szorc." - -#: ../../../build/NEWS:5335 -msgid "" -"`bpo-40429 `__: The :c:func:" -"`PyThreadState_GetFrame` function now returns a strong reference to the " -"frame." -msgstr "" - -#: ../../../build/NEWS:5338 -msgid "" -"`bpo-40428 `__: Remove the following " -"functions from the C API. Call :c:func:`PyGC_Collect` explicitly to free all " -"free lists." -msgstr "" - -#: ../../../build/NEWS:5341 -msgid "``PyAsyncGen_ClearFreeLists()``" -msgstr "``PyAsyncGen_ClearFreeLists()``" - -#: ../../../build/NEWS:5342 -msgid "``PyContext_ClearFreeList()``" -msgstr "``PyContext_ClearFreeList()``" - -#: ../../../build/NEWS:5343 -msgid "``PyDict_ClearFreeList()``" -msgstr "``PyDict_ClearFreeList()``" - -#: ../../../build/NEWS:5344 -msgid "``PyFloat_ClearFreeList()``" -msgstr "``PyFloat_ClearFreeList()``" - -#: ../../../build/NEWS:5345 -msgid "``PyFrame_ClearFreeList()``" -msgstr "``PyFrame_ClearFreeList()``" - -#: ../../../build/NEWS:5346 -msgid "``PyList_ClearFreeList()``" -msgstr "``PyList_ClearFreeList()``" - -#: ../../../build/NEWS:5347 -msgid "``PySet_ClearFreeList()``" -msgstr "" - -#: ../../../build/NEWS:5348 -msgid "``PyTuple_ClearFreeList()``" -msgstr "``PyTuple_ClearFreeList()``" - -#: ../../../build/NEWS:5350 -msgid "" -"`bpo-40421 `__: New :c:func:" -"`PyFrame_GetBack` function: get the frame next outer frame." -msgstr "" - -#: ../../../build/NEWS:5353 -msgid "" -"`bpo-40421 `__: New :c:func:" -"`PyFrame_GetCode` function: return a borrowed reference to the frame code." -msgstr "" - -#: ../../../build/NEWS:5356 -msgid "" -"`bpo-40217 `__: Ensure that instances of " -"types created with :c:func:`PyType_FromSpecWithBases` will visit its class " -"object when traversing references in the garbage collector (implemented as " -"an extension of the provided :c:member:`~PyTypeObject.tp_traverse`). Patch " -"by Pablo Galindo." -msgstr "" - -#: ../../../build/NEWS:5362 -msgid "" -"`bpo-38787 `__: Module C state is now " -"accessible from C-defined heap type methods (:pep:`573`). Patch by Marcel " -"Plch and Petr Viktorin." -msgstr "" - -#: ../../../build/NEWS:5367 -msgid "Python 3.9.0 alpha 6" -msgstr "" - -#: ../../../build/NEWS:5369 -msgid "*Release date: 2020-04-27*" -msgstr "" - -#: ../../../build/NEWS:5374 -msgid "" -"`bpo-40121 `__: Fixes audit events " -"raised on creating a new socket." -msgstr "" -"`bpo-40121 `__: Corrige os eventos de " -"auditoria levantados na criação de um novo soquete." - -#: ../../../build/NEWS:5376 -msgid "" -"`bpo-39073 `__: Disallow CR or LF in " -"email.headerregistry.Address arguments to guard against header injection " -"attacks." -msgstr "" -"`bpo-39073 `__: Desautoriza CR ou LF nos " -"argumentos de email.headerregistry.Address para se proteger contra ataques " -"de injeção de cabeçalho." - -#: ../../../build/NEWS:5379 -msgid "" -"`bpo-39503 `__: CVE-2020-8492: The :" -"class:`~urllib.request.AbstractBasicAuthHandler` class of the :mod:`urllib." -"request` module uses an inefficient regular expression which can be " -"exploited by an attacker to cause a denial of service. Fix the regex to " -"prevent the catastrophic backtracking. Vulnerability reported by Ben Caller " -"and Matt Schwager." -msgstr "" -"`bpo-39503 `__: CVE-2020-8492: A classe :" -"class:`~urllib.request.AbstractBasicAuthHandler` do módulo :mod:`urllib." -"request` usa uma expressão regular ineficiente que pode ser explorada por um " -"invasor para causar uma negação de serviço. Corrige o regex para evitar o " -"retorno catastrófico. Vulnerabilidade relatada por Ben Caller e Matt " -"Schwager." - -#: ../../../build/NEWS:5389 -msgid "" -"`bpo-40313 `__: Improve the performance " -"of bytes.hex()." -msgstr "" - -#: ../../../build/NEWS:5391 -msgid "" -"`bpo-40334 `__: Switch to a new parser, " -"based on PEG. For more details see PEP 617. To temporarily switch back to " -"the old parser, use ``-X oldparser`` or ``PYTHONOLDPARSER=1``. In Python " -"3.10 we will remove the old parser completely, including the ``parser`` " -"module (already deprecated) and anything that depends on it." -msgstr "" - -#: ../../../build/NEWS:5397 -msgid "" -"`bpo-40267 `__: Fix the tokenizer to " -"display the correct error message, when there is a SyntaxError on the last " -"input character and no newline follows. It used to be `unexpected EOF while " -"parsing`, while it should be `invalid syntax`." -msgstr "" - -#: ../../../build/NEWS:5402 -msgid "" -"`bpo-39522 `__: Correctly unparse " -"explicit ``u`` prefix for strings when postponed evaluation for annotations " -"activated. Patch by Batuhan Taskaya." -msgstr "" - -#: ../../../build/NEWS:5405 -msgid "" -"`bpo-40246 `__: Report a specialized " -"error message, `invalid string prefix`, when the tokenizer encounters a " -"string with an invalid prefix." -msgstr "" - -#: ../../../build/NEWS:5408 -msgid "" -"`bpo-40082 `__: Fix the signal handler: " -"it now always uses the main interpreter, rather than trying to get the " -"current Python thread state." -msgstr "" - -#: ../../../build/NEWS:5411 -msgid "" -"`bpo-37388 `__: str.encode() and str." -"decode() no longer check the encoding and errors in development mode or in " -"debug mode during Python finalization. The codecs machinery can no longer " -"work on very late calls to str.encode() and str.decode()." -msgstr "" - -#: ../../../build/NEWS:5416 -msgid "" -"`bpo-40077 `__: Fix possible refleaks " -"in :mod:`_json`, memo of PyScannerObject should be traversed." -msgstr "" - -#: ../../../build/NEWS:5419 -msgid "" -"`bpo-37207 `__: Speed up calls to " -"``dict()`` by using the :pep:`590` ``vectorcall`` calling convention." -msgstr "" - -#: ../../../build/NEWS:5422 -msgid "" -"`bpo-40141 `__: Add column and line " -"information to ``ast.keyword`` nodes. Patch by Pablo Galindo." -msgstr "" - -#: ../../../build/NEWS:5425 -msgid "" -"`bpo-1635741 `__: Port :mod:`resource` " -"to multiphase initialization (:pep:`489`)." -msgstr "" - -#: ../../../build/NEWS:5428 -msgid "" -"`bpo-1635741 `__: Port :mod:`math` to " -"multiphase initialization (:pep:`489`)." -msgstr "" - -#: ../../../build/NEWS:5430 -msgid "" -"`bpo-1635741 `__: Port _uuid module to " -"multiphase initialization (:pep:`489`)." -msgstr "" - -#: ../../../build/NEWS:5432 -msgid "" -"`bpo-40077 `__: Convert json module to " -"use :c:func:`PyType_FromSpec`." -msgstr "" - -#: ../../../build/NEWS:5434 -msgid "" -"`bpo-40067 `__: Improve the error " -"message for multiple star expressions in an assignment. Patch by Furkan Onder" -msgstr "" - -#: ../../../build/NEWS:5437 -msgid "" -"`bpo-1635741 `__: Port _functools " -"module to multiphase initialization (PEP 489). Patch by Paulo Henrique Silva." -msgstr "" - -#: ../../../build/NEWS:5440 -msgid "" -"`bpo-1635741 `__: Port operator module " -"to multiphase initialization (PEP 489). Patch by Paulo Henrique Silva." -msgstr "" - -#: ../../../build/NEWS:5443 -msgid "" -"`bpo-20526 `__: Fix :c:func:" -"`PyThreadState_Clear()`. ``PyThreadState.frame`` is a borrowed reference, " -"not a strong reference: ``PyThreadState_Clear()`` must not call " -"``Py_CLEAR(tstate->frame)``." -msgstr "" -"`bpo-20526 `__: Corrige :c:func:" -"`PyThreadState_Clear()`. ``PyThreadState.frame`` é uma referência " -"emprestada, não uma referência forte: ``PyThreadState_Clear()`` não deve " -"chamar ``Py_CLEAR(tstate->frame)``." - -#: ../../../build/NEWS:5447 -msgid "" -"`bpo-1635741 `__: Port time module to " -"multiphase initialization (:pep:`489`). Patch by Paulo Henrique Silva." -msgstr "" - -#: ../../../build/NEWS:5450 ../../../build/NEWS:5842 -msgid "" -"`bpo-1635741 `__: Port _weakref " -"extension module to multiphase initialization (:pep:`489`)." -msgstr "" - -#: ../../../build/NEWS:5453 -msgid "" -"`bpo-40020 `__: Fix a leak and " -"subsequent crash in parsetok.c caused by realloc misuse on a rare codepath." -msgstr "" - -#: ../../../build/NEWS:5456 -msgid "" -"`bpo-39939 `__: Added str.removeprefix " -"and str.removesuffix methods and corresponding bytes, bytearray, and " -"collections.UserString methods to remove affixes from a string if present. " -"See :pep:`616` for a full description. Patch by Dennis Sweeney." -msgstr "" - -#: ../../../build/NEWS:5461 -msgid "" -"`bpo-39481 `__: Implement PEP 585. This " -"supports list[int], tuple[str, ...] etc." -msgstr "" - -#: ../../../build/NEWS:5464 -msgid "" -"`bpo-32894 `__: Support unparsing of " -"infinity numbers in postponed annotations. Patch by Batuhan Taşkaya." -msgstr "" - -#: ../../../build/NEWS:5467 -msgid "" -"`bpo-37207 `__: Speed up calls to " -"``list()`` by using the :pep:`590` ``vectorcall`` calling convention. Patch " -"by Mark Shannon." -msgstr "" - -#: ../../../build/NEWS:5473 -msgid "" -"`bpo-40398 `__: :func:`typing.get_args` " -"now always returns an empty tuple for special generic aliases." -msgstr "" -"`bpo-40398 `__: :func:`typing.get_args` " -"agora sempre retorna uma tupla vazia para aliases genéricos especiais." - -#: ../../../build/NEWS:5476 -msgid "" -"`bpo-40396 `__: Functions :func:`typing." -"get_origin`, :func:`typing.get_args` and :func:`typing.get_type_hints` " -"support now generic aliases like ``list[int]``." -msgstr "" - -#: ../../../build/NEWS:5480 -msgid "" -"`bpo-38061 `__: Optimize the :mod:" -"`subprocess` module on FreeBSD using ``closefrom()``. A single ``close(fd)`` " -"syscall is cheap, but when ``sysconf(_SC_OPEN_MAX)`` is high, the loop " -"calling ``close(fd)`` on each file descriptor can take several milliseconds." -msgstr "" - -#: ../../../build/NEWS:5485 -msgid "" -"The workaround on FreeBSD to improve performance was to load and mount the " -"fdescfs kernel module, but this is not enabled by default." -msgstr "" - -#: ../../../build/NEWS:5488 ../../../build/NEWS:5496 -msgid "" -"Initial patch by Ed Maste (emaste), Conrad Meyer (cem), Kyle Evans (kevans) " -"and Kubilay Kocak (koobs): https://bugs.freebsd.org/bugzilla/show_bug.cgi?" -"id=242274" -msgstr "" - -#: ../../../build/NEWS:5492 -msgid "" -"`bpo-38061 `__: On FreeBSD, ``os." -"closerange(fd_low, fd_high)`` now calls ``closefrom(fd_low)`` if *fd_high* " -"is greater than or equal to ``sysconf(_SC_OPEN_MAX)``." -msgstr "" - -#: ../../../build/NEWS:5500 -msgid "" -"`bpo-40360 `__: The :mod:`lib2to3` " -"module is pending deprecation due to :pep:`617`." -msgstr "" - -#: ../../../build/NEWS:5503 -msgid "" -"`bpo-40138 `__: Fix the Windows " -"implementation of :func:`os.waitpid` for exit code larger than ``INT_MAX >> " -"8``. The exit status is now interpreted as an unsigned number." -msgstr "" -"`bpo-40138 `__: Corrige a implementação " -"para Windows de :func:`os.waitpid` para código de saída maior que ``INT_MAX " -">> 8``. O status de saída agora é interpretado como um número não assinado." - -#: ../../../build/NEWS:5507 -msgid "" -"`bpo-39942 `__: Set \"__main__\" as the " -"default module name when \"__name__\" is missing in :class:`typing.TypeVar`. " -"Patch by Weipeng Hong." -msgstr "" -"`bpo-39942 `__: Define \"__main__\" como " -"o nome padrão do módulo quando \"__name__\" estiver faltando em :class:" -"`digitando.TipoVar`. Patch de Weipeng Hong." - -#: ../../../build/NEWS:5510 -msgid "" -"`bpo-40275 `__: The :mod:`logging` " -"package is now imported lazily in :mod:`unittest` only when the :meth:" -"`~unittest.TestCase.assertLogs` assertion is used." -msgstr "" - -#: ../../../build/NEWS:5514 -msgid "" -"`bpo-40275 `__: The :mod:`asyncio` " -"package is now imported lazily in :mod:`unittest` only when the :class:" -"`~unittest.IsolatedAsyncioTestCase` class is used." -msgstr "" - -#: ../../../build/NEWS:5518 -msgid "" -"`bpo-40330 `__: In :meth:`ShareableList." -"__setitem__`, check the size of a new string item after encoding it to " -"utf-8, not before." -msgstr "" -"`bpo-40330 `__: Em :meth:`ShareableList." -"__setitem__`, verifica o tamanho de um novo item de string depois de " -"codificá-lo para utf-8, não antes." - -#: ../../../build/NEWS:5521 -msgid "" -"`bpo-40148 `__: Added :meth:`pathlib." -"Path.with_stem()` to create a new Path with the stem replaced." -msgstr "" - -#: ../../../build/NEWS:5524 -msgid "" -"`bpo-40325 `__: Deprecated support for " -"set objects in random.sample()." -msgstr "" - -#: ../../../build/NEWS:5526 -msgid "" -"`bpo-40257 `__: Improved help for the :" -"mod:`typing` module. Docstrings are now shown for all special forms and " -"special generic aliases (like ``Union`` and ``List``). Using ``help()`` with " -"generic alias like ``List[int]`` will show the help for the correspondent " -"concrete type (``list`` in this case)." -msgstr "" - -#: ../../../build/NEWS:5531 -msgid "" -"`bpo-40257 `__: func:`inspect.getdoc` no " -"longer returns docstring inherited from the type of the object or from " -"parent class if it is a class if it is not defined in the object itself. In :" -"mod:`pydoc` the documentation string is now shown not only for class, " -"function, method etc, but for any object that has its own ``__doc__`` " -"attribute." -msgstr "" - -#: ../../../build/NEWS:5537 -msgid "" -"`bpo-40287 `__: Fixed " -"``SpooledTemporaryFile.seek()`` to return the position." -msgstr "" -"`bpo-40287 `__: Corrigido " -"``SpooledTemporaryFile.seek()`` para retornar a posição." - -#: ../../../build/NEWS:5539 -msgid "" -"`bpo-40290 `__: Added zscore() to " -"statistics.NormalDist()." -msgstr "" - -#: ../../../build/NEWS:5541 -msgid "" -"`bpo-40282 `__: Allow ``random." -"getrandbits(0)`` to succeed and to return 0." -msgstr "" - -#: ../../../build/NEWS:5543 -msgid "" -"`bpo-40286 `__: Add :func:`random." -"randbytes` function and :meth:`random.Random.randbytes` method to generate " -"random bytes." -msgstr "" - -#: ../../../build/NEWS:5546 -msgid "" -"`bpo-40277 `__: :func:`collections." -"namedtuple` now provides a human-readable repr for its field accessors." -msgstr "" - -#: ../../../build/NEWS:5549 -msgid "" -"`bpo-40270 `__: The included copy of " -"sqlite3 on Windows is now compiled with the json extension. This allows the " -"use of functions such as ``json_object``." -msgstr "" - -#: ../../../build/NEWS:5553 -msgid "" -"`bpo-29255 `__: Wait in `KqueueSelector." -"select` when no fds are registered" -msgstr "" - -#: ../../../build/NEWS:5555 -msgid "" -"`bpo-40260 `__: Ensure :mod:" -"`modulefinder` uses :func:`io.open_code` and respects coding comments." -msgstr "" -"`bpo-40260 `__: Assegura que :mod:" -"`modulefinder` usa :func:`io.open_code` e respeita os comentários de código." - -#: ../../../build/NEWS:5558 -msgid "" -"`bpo-40234 `__: Allow again to spawn " -"daemon threads in subinterpreters (revert change which denied them)." -msgstr "" - -#: ../../../build/NEWS:5561 -msgid "" -"`bpo-39207 `__: Workers in :class:" -"`~concurrent.futures.ProcessPoolExecutor` are now spawned on demand, only " -"when there are no available idle workers to reuse. This optimizes startup " -"overhead and reduces the amount of lost CPU time to idle workers. Patch by " -"Kyle Stanley." -msgstr "" - -#: ../../../build/NEWS:5566 -msgid "" -"`bpo-40091 `__: Fix a hang at fork in " -"the logging module: the new private _at_fork_reinit() method is now used to " -"reinitialize locks at fork in the child process." -msgstr "" - -#: ../../../build/NEWS:5570 -msgid "" -"`bpo-40149 `__: Implement traverse and " -"clear slots in _abc._abc_data type." -msgstr "" - -#: ../../../build/NEWS:5572 -msgid "" -"`bpo-40208 `__: Remove deprecated :meth:" -"`symtable.SymbolTable.has_exec`." -msgstr "" - -#: ../../../build/NEWS:5574 -msgid "" -"`bpo-40196 `__: Fix a bug in the :mod:" -"`symtable` module that was causing incorrectly report global variables as " -"local. Patch by Pablo Galindo." -msgstr "" -"`bpo-40196 `__: Corrige um erro no " -"módulo :mod:`symtable` que estava causando o relatório incorreto de " -"variáveis globais como locais. Patch de Pablo Galindo." - -#: ../../../build/NEWS:5577 -msgid "" -"`bpo-40190 `__: Add support for " -"``_SC_AIX_REALMEM`` to :func:`posix.sysconf`." -msgstr "" - -#: ../../../build/NEWS:5579 -msgid "" -"`bpo-40182 `__: Removed the " -"``_field_types`` attribute of the :class:`typing.NamedTuple` class." -msgstr "" - -#: ../../../build/NEWS:5582 -msgid "" -"`bpo-36517 `__: Multiple inheritance " -"with :class:`typing.NamedTuple` now raises an error instead of silently " -"ignoring other types." -msgstr "" - -#: ../../../build/NEWS:5585 -msgid "" -"`bpo-40126 `__: Fixed reverting multiple " -"patches in unittest.mock. Patcher's ``__exit__()`` is now never called if " -"its ``__enter__()`` is failed. Returning true from ``__exit__()`` silences " -"now the exception." -msgstr "" -"`bpo-40126 `__: Corrigida a reversão de " -"vários patches no unittest.mock. O ``__exit__()`` do patcher agora nunca é " -"chamado se seu ``__enter__()`` falhar. O retorno de true de ``__exit__()`` " -"agora silencia a exceção." - -#: ../../../build/NEWS:5589 -msgid "" -"`bpo-40094 `__: CGIHTTPRequestHandler of " -"http.server now logs the CGI script exit code, rather than the CGI script " -"exit status of os.waitpid(). For example, if the script is killed by signal " -"11, it now logs: \"CGI script exit code -11.\"" -msgstr "" - -#: ../../../build/NEWS:5594 -msgid "" -"`bpo-40108 `__: Improve the error " -"message when triying to import a module using :mod:`runpy` and incorrently " -"use the \".py\" extension at the end of the module name. Patch by Pablo " -"Galindo." -msgstr "" - -#: ../../../build/NEWS:5598 -msgid "" -"`bpo-40094 `__: Add :func:`os." -"waitstatus_to_exitcode` function: convert a wait status to an exit code." -msgstr "" - -#: ../../../build/NEWS:5601 -msgid "" -"`bpo-40089 `__: Fix threading." -"_after_fork(): if fork was not called by a thread spawned by threading." -"Thread, threading._after_fork() now creates a _MainThread instance for " -"_main_thread, instead of a _DummyThread instance." -msgstr "" -"`bpo-40089 `__: Corrige threading." -"_after_fork(): se o fork não for chamado por um thread gerado por threading." -"Thread, threading._after_fork() agora cria uma instância _MainThread para " -"_main_thread, em vez de uma instância _DummyThread." - -#: ../../../build/NEWS:5605 -msgid "" -"`bpo-40089 `__: Add a private " -"``_at_fork_reinit()`` method to :class:`_thread.Lock`, :class:`_thread." -"RLock`, :class:`threading.RLock` and :class:`threading.Condition` classes: " -"reinitialize the lock at fork in the child process, reset the lock to the " -"unlocked state. Rename also the private ``_reset_internal_locks()`` method " -"of :class:`threading.Event` to ``_at_fork_reinit()``." -msgstr "" - -#: ../../../build/NEWS:5612 -msgid "" -"`bpo-25780 `__: Expose :data:`~socket." -"CAN_RAW_JOIN_FILTERS` in the :mod:`socket` module." -msgstr "" - -#: ../../../build/NEWS:5615 -msgid "" -"`bpo-39503 `__: :class:`~urllib.request." -"AbstractBasicAuthHandler` of :mod:`urllib.request` now parses all WWW-" -"Authenticate HTTP headers and accepts multiple challenges per header: use " -"the realm of the first Basic challenge." -msgstr "" -"`bpo-39503 `__: :class:`~urllib.request." -"AbstractBasicAuthHandler` de :mod:`urllib.request` agora analisa todos os " -"cabeçalhos HTTP WWW-Authenticate e aceita vários desafios por cabeçalho: usa " -"o domínio do primeiro desafio Basic." - -#: ../../../build/NEWS:5620 -msgid "" -"`bpo-39812 `__: Removed daemon threads " -"from :mod:`concurrent.futures` by adding an internal `threading." -"_register_atexit()`, which calls registered functions prior to joining all " -"non-daemon threads. This allows for compatibility with subinterpreters, " -"which don't support daemon threads." -msgstr "" - -#: ../../../build/NEWS:5625 -msgid "" -"`bpo-40050 `__: Fix ``importlib." -"_bootstrap_external``: avoid creating a new ``winreg`` builtin module if " -"it's already available in :data:`sys.modules`, and remove redundant imports." -msgstr "" - -#: ../../../build/NEWS:5629 -msgid "" -"`bpo-40014 `__: Fix ``os." -"getgrouplist()``: if ``getgrouplist()`` function fails because the group " -"list is too small, retry with a larger group list. On failure, the glibc " -"implementation of ``getgrouplist()`` sets ``ngroups`` to the total number of " -"groups. For other implementations, double the group list size." -msgstr "" -"`bpo-40014 `__: Corrige a função ``os." -"getgrouplist()``: se a função ``getgrouplist()`` falhar porque a lista de " -"grupos é muito pequena, tenta novamente com uma lista de grupos maior. Em " -"caso de falha, a implementação glibc de ``getgrouplist()`` define " -"``ngroups`` para o número total de grupos. Para outras implementações, " -"duplica o tamanho da lista de grupos." - -#: ../../../build/NEWS:5635 -msgid "" -"`bpo-40017 `__: Add :data:`time." -"CLOCK_TAI` constant if the operating system support it." -msgstr "" - -#: ../../../build/NEWS:5638 -msgid "" -"`bpo-40016 `__: In re docstring, clarify " -"the relationship between inline and argument compile flags." -msgstr "" -"`bpo-40016 `__: No docstring do re, " -"esclarece o relacionamento entre sinalizadores de compilação em linha e " -"argumento." - -#: ../../../build/NEWS:5641 -msgid "" -"`bpo-39953 `__: Update internal table of " -"OpenSSL error codes in the ``ssl`` module." -msgstr "" -"`bpo-39953 `__: Atualiza a tabela " -"interna de códigos de erro OpenSSL no módulo ``ssl``." - -#: ../../../build/NEWS:5644 -msgid "" -"`bpo-36144 `__: Added :pep:`584` " -"operators to :class:`weakref.WeakValueDictionary`." -msgstr "" - -#: ../../../build/NEWS:5647 -msgid "" -"`bpo-36144 `__: Added :pep:`584` " -"operators to :class:`weakref.WeakKeyDictionary`." -msgstr "" - -#: ../../../build/NEWS:5650 -msgid "" -"`bpo-38891 `__: Fix linear runtime " -"behaviour of the `__getitem__` and `__setitem__` methods in :class:" -"`multiprocessing.shared_memory.ShareableList`. This avoids quadratic " -"performance when iterating a `ShareableList`. Patch by Thomas Krennwallner." -msgstr "" - -#: ../../../build/NEWS:5656 -msgid "" -"`bpo-39682 `__: Remove undocumented " -"support for *closing* a `pathlib.Path` object via its context manager. The " -"context manager magic methods remain, but they are now a no-op, making " -"`Path` objects immutable." -msgstr "" - -#: ../../../build/NEWS:5660 -msgid "" -"`bpo-36144 `__: Added :pep:`584` " -"operators (``|`` and ``|=``) to :class:`collections.ChainMap`." -msgstr "" - -#: ../../../build/NEWS:5663 -msgid "" -"`bpo-39011 `__: Normalization of line " -"endings in ElementTree attributes was removed, as line endings which were " -"replaced by entity numbers should be preserved in original form." -msgstr "" - -#: ../../../build/NEWS:5667 -msgid "" -"`bpo-38410 `__: Properly handle :func:" -"`sys.audit` failures in :func:`sys.set_asyncgen_hooks`." -msgstr "" - -#: ../../../build/NEWS:5670 -msgid "" -"`bpo-36541 `__: lib2to3 now recognizes " -"named assignment expressions (the walrus operator, ``:=``)" -msgstr "" - -#: ../../../build/NEWS:5673 -msgid "" -"`bpo-35967 `__: In platform, delay the " -"invocation of 'uname -p' until the processor attribute is requested." -msgstr "" - -#: ../../../build/NEWS:5676 -msgid "" -"`bpo-35113 `__: :meth:`inspect." -"getsource` now returns correct source code for inner class with same name as " -"module level class. Decorators are also returned as part of source of the " -"class. Patch by Karthikeyan Singaravelan." -msgstr "" - -#: ../../../build/NEWS:5681 -msgid "" -"`bpo-33262 `__: Deprecate passing None " -"as an argument for :func:`shlex.split()`'s ``s`` parameter. Patch by " -"Zackery Spytz." -msgstr "" - -#: ../../../build/NEWS:5684 -msgid "" -"`bpo-31758 `__: Prevent crashes when " -"using an uninitialized ``_elementtree.XMLParser`` object. Patch by Oren " -"Milman." -msgstr "" - -#: ../../../build/NEWS:5690 -msgid "" -"`bpo-27635 `__: The pickle documentation " -"incorrectly claimed that ``__new__`` isn't called by default when unpickling." -msgstr "" - -#: ../../../build/NEWS:5693 -msgid "" -"`bpo-39879 `__: Updated :ref:`datamodel` " -"docs to include :func:`dict` insertion order preservation. Patch by Furkan " -"Onder and Samy Lahfa." -msgstr "" - -#: ../../../build/NEWS:5696 -msgid "" -"`bpo-38387 `__: Document :c:macro:" -"`PyDoc_STRVAR` macro in the C-API reference." -msgstr "" - -#: ../../../build/NEWS:5698 -msgid "" -"`bpo-13743 `__: Some methods within xml." -"dom.minidom.Element class are now better documented." -msgstr "" - -#: ../../../build/NEWS:5704 -msgid "" -"`bpo-31904 `__: Set expected default " -"encoding in test_c_locale_coercion.py for VxWorks RTOS." -msgstr "" - -#: ../../../build/NEWS:5707 -msgid "" -"`bpo-40162 `__: Update Travis CI " -"configuration to OpenSSL 1.1.1f." -msgstr "" - -#: ../../../build/NEWS:5709 -msgid "" -"`bpo-40146 `__: Update OpenSSL to 1.1.1f " -"in Azure Pipelines." -msgstr "" - -#: ../../../build/NEWS:5711 -msgid "" -"`bpo-40094 `__: Add :func:`test.support." -"wait_process` function." -msgstr "" - -#: ../../../build/NEWS:5713 -msgid "" -"`bpo-40003 `__: ``test.bisect_cmd`` now " -"copies Python command line options like ``-O`` or ``-W``. Moreover, emit a " -"warning if ``test.bisect_cmd`` is used with ``-w``/``--verbose2`` option." -msgstr "" - -#: ../../../build/NEWS:5717 -msgid "" -"`bpo-39380 `__: Add the encoding in :" -"class:`ftplib.FTP` and :class:`ftplib.FTP_TLS` to the constructor as keyword-" -"only and change the default from ``latin-1`` to ``utf-8`` to follow :rfc:" -"`2640`." -msgstr "" - -#: ../../../build/NEWS:5721 -msgid "" -"`bpo-39793 `__: Use the same domain when " -"testing ``make_msgid``. Patch by Batuhan Taskaya." -msgstr "" - -#: ../../../build/NEWS:5724 -msgid "" -"`bpo-1812 `__: Fix newline handling in " -"doctest.testfile when loading from a package whose loader has a get_data " -"method. Patch by Peter Donis." -msgstr "" - -#: ../../../build/NEWS:5730 -msgid "" -"`bpo-38360 `__: Support single-argument " -"form of macOS -isysroot flag." -msgstr "" - -#: ../../../build/NEWS:5732 -msgid "" -"`bpo-40158 `__: Fix CPython MSBuild " -"Properties in NuGet Package (build/native/python.props)" -msgstr "" - -#: ../../../build/NEWS:5735 -msgid "" -"`bpo-38527 `__: Fix configure check on " -"Solaris for \"float word ordering\": sometimes, the correct \"grep\" command " -"was not being used. Patch by Arnon Yaari." -msgstr "" - -#: ../../../build/NEWS:5742 -msgid "" -"`bpo-40164 `__: Updates Windows to " -"OpenSSL 1.1.1f" -msgstr "" - -#: ../../../build/NEWS:5744 -msgid "" -"`bpo-8901 `__: Ignore the Windows " -"registry when the ``-E`` option is used." -msgstr "" - -#: ../../../build/NEWS:5749 -msgid "" -"`bpo-38329 `__: python.org macOS " -"installers now update the Current version symlink of /Library/Frameworks/" -"Python.framework/Versions for 3.9 installs. Previously, Current was only " -"updated for Python 2.x installs. This should make it easier to embed Python " -"3 into other macOS applications." -msgstr "" - -#: ../../../build/NEWS:5754 -msgid "" -"`bpo-40164 `__: Update macOS installer " -"builds to use OpenSSL 1.1.1g." -msgstr "" - -#: ../../../build/NEWS:5759 -msgid "" -"`bpo-38439 `__: Add a 256×256 pixel IDLE " -"icon to support more modern environments. Created by Andrew Clover. Delete " -"the unused macOS idle.icns icon file." -msgstr "" - -#: ../../../build/NEWS:5763 -msgid "" -"`bpo-38689 `__: IDLE will no longer " -"freeze when inspect.signature fails when fetching a calltip." -msgstr "" - -#: ../../../build/NEWS:5769 -msgid "" -"`bpo-40385 `__: Removed the checkpyc.py " -"tool. Please see compileall without force mode as a potential alternative." -msgstr "" - -#: ../../../build/NEWS:5772 -msgid "" -"`bpo-40179 `__: Fixed translation of " -"``#elif`` in Argument Clinic." -msgstr "" - -#: ../../../build/NEWS:5774 -msgid "" -"`bpo-40094 `__: Fix ``which.py`` script " -"exit code: it now uses :func:`os.waitstatus_to_exitcode` to convert :func:" -"`os.system` exit status into an exit code." -msgstr "" - -#: ../../../build/NEWS:5781 -msgid "" -"`bpo-40241 `__: Move the :c:type:" -"`PyGC_Head` structure to the internal C API." -msgstr "" - -#: ../../../build/NEWS:5783 -msgid "" -"`bpo-40170 `__: Convert :c:func:" -"`PyObject_IS_GC` macro to a function to hide implementation details." -msgstr "" - -#: ../../../build/NEWS:5786 -msgid "" -"`bpo-40241 `__: Add 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. Patch " -"by Pablo Galindo." -msgstr "" - -#: ../../../build/NEWS:5791 -msgid "" -"`bpo-40170 `__: 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, to hide implementation details. They no longer " -"access directly the :c:member:`PyTypeObject.tp_basicsize` member." -msgstr "" - -#: ../../../build/NEWS:5797 -msgid "" -"`bpo-40170 `__: :c:func:" -"`PyType_HasFeature` now always calls :c:func:`PyType_GetFlags` to hide " -"implementation details. Previously, it accessed directly the :c:member:" -"`PyTypeObject.tp_flags` member when the limited C API was not used." -msgstr "" - -#: ../../../build/NEWS:5802 -msgid "" -"`bpo-40170 `__: Convert the :c:func:" -"`PyObject_GET_WEAKREFS_LISTPTR` macro to a function to hide implementation " -"details: the macro accessed directly to the :c:member:`PyTypeObject." -"tp_weaklistoffset` member." -msgstr "" - -#: ../../../build/NEWS:5806 -msgid "" -"`bpo-40170 `__: Convert :c:func:" -"`PyObject_CheckBuffer` macro to a function to hide implementation details: " -"the macro accessed directly the :c:member:`PyTypeObject.tp_as_buffer` member." -msgstr "" - -#: ../../../build/NEWS:5810 -msgid "" -"`bpo-40170 `__: Always declare :c:func:" -"`PyIndex_Check` as an opaque function to hide implementation details: remove " -"``PyIndex_Check()`` macro. The macro accessed directly the :c:member:" -"`PyTypeObject.tp_as_number` member." -msgstr "" - -#: ../../../build/NEWS:5814 -msgid "" -"`bpo-39947 `__: Add :c:func:" -"`PyThreadState_GetID` function: get the unique identifier of a Python thread " -"state." -msgstr "" - -#: ../../../build/NEWS:5819 -msgid "Python 3.9.0 alpha 5" -msgstr "" - -#: ../../../build/NEWS:5821 -msgid "*Release date: 2020-03-23*" -msgstr "" - -#: ../../../build/NEWS:5826 -msgid "" -"`bpo-38576 `__: Disallow control " -"characters in hostnames in http.client, addressing CVE-2019-18348. Such " -"potentially malicious header injection URLs now cause a InvalidURL to be " -"raised." -msgstr "" -"`bpo-38576 `__: Desautoriza caracteres " -"de controle em nomes de host em http.client, resolvendo CVE-2019-18348. " -"Esses URLs de injeção de cabeçalho potencialmente mal-intencionados agora " -"fazem com que um InvalidURL seja levantado." - -#: ../../../build/NEWS:5833 -msgid "" -"`bpo-40010 `__: Optimize pending calls " -"in multithreaded applications. If a thread different than the main thread " -"schedules a pending call (:c:func:`Py_AddPendingCall`), the bytecode " -"evaluation loop is no longer interrupted at each bytecode instruction to " -"check for pending calls which cannot be executed. Only the main thread can " -"execute pending calls." -msgstr "" - -#: ../../../build/NEWS:5839 -msgid "" -"Previously, the bytecode evaluation loop was interrupted at each instruction " -"until the main thread executes pending calls." -msgstr "" - -#: ../../../build/NEWS:5845 -msgid "" -"`bpo-1635741 `__: Port _collections " -"module to multiphase initialization (:pep:`489`)." -msgstr "" - -#: ../../../build/NEWS:5848 -msgid "" -"`bpo-40010 `__: Optimize signal handling " -"in multithreaded applications. If a thread different than the main thread " -"gets a signal, the bytecode evaluation loop is no longer interrupted at each " -"bytecode instruction to check for pending signals which cannot be handled. " -"Only the main thread of the main interpreter can handle signals." -msgstr "" - -#: ../../../build/NEWS:5854 -msgid "" -"Previously, the bytecode evaluation loop was interrupted at each instruction " -"until the main thread handles signals." -msgstr "" - -#: ../../../build/NEWS:5857 -msgid "" -"`bpo-39984 `__: If :c:func:" -"`Py_AddPendingCall` is called in a subinterpreter, the function is now " -"scheduled to be called from the subinterpreter, rather than being called " -"from the main interpreter. Each subinterpreter now has its own list of " -"scheduled calls." -msgstr "" - -#: ../../../build/NEWS:5862 -msgid "" -"`bpo-1635741 `__: Port _heapq module " -"to multiphase initialization." -msgstr "" - -#: ../../../build/NEWS:5864 -msgid "" -"`bpo-1635741 `__: Port itertools " -"module to multiphase initialization (:pep:`489`)." -msgstr "" - -#: ../../../build/NEWS:5867 -msgid "" -"`bpo-37207 `__: Speed up calls to " -"``frozenset()`` by using the :pep:`590` ``vectorcall`` calling convention. " -"Patch by Dong-hee Na." -msgstr "" - -#: ../../../build/NEWS:5870 -msgid "" -"`bpo-39984 `__: subinterpreters: Move " -"``_PyRuntimeState.ceval.tracing_possible`` to ``PyInterpreterState.ceval." -"tracing_possible``: each interpreter now has its own variable." -msgstr "" - -#: ../../../build/NEWS:5875 -msgid "" -"`bpo-37207 `__: Speed up calls to " -"``set()`` by using the :pep:`590` ``vectorcall`` calling convention. Patch " -"by Dong-hee Na." -msgstr "" - -#: ../../../build/NEWS:5878 -msgid "" -"`bpo-1635741 `__: Port _statistics " -"module to multiphase initialization (:pep:`489`)." -msgstr "" - -#: ../../../build/NEWS:5881 -msgid "" -"`bpo-39968 `__: Use inline function to " -"replace extension modules' get_module_state macros." -msgstr "" - -#: ../../../build/NEWS:5884 -msgid "" -"`bpo-39965 `__: Correctly raise " -"``SyntaxError`` if *await* is used inside non-async functions and " -"``PyCF_ALLOW_TOP_LEVEL_AWAIT`` is set (like in the asyncio REPL). Patch by " -"Pablo Galindo." -msgstr "" -"`bpo-39965 `__: Levanta corretamente " -"``SyntaxError`` se *wait* for usado dentro de funções não-assíncronas e " -"``PyCF_ALLOW_TOP_LEVEL_AWAIT`` estiver definido (como no asyncio REPL). " -"Patch de Pablo Galindo." - -#: ../../../build/NEWS:5888 -msgid "" -"`bpo-39562 `__: Allow executing " -"asynchronous comprehensions on the top level when the " -"``PyCF_ALLOW_TOP_LEVEL_AWAIT`` flag is given. Patch by Batuhan Taskaya." -msgstr "" -"`bpo-39562 `__: Permite a execução de " -"compreensões assíncronas no nível superior quando o sinalizador " -"``PyCF_ALLOW_TOP_LEVEL_AWAIT`` for fornecido. Patch de Batuhan Taskaya." - -#: ../../../build/NEWS:5892 -msgid "" -"`bpo-37207 `__: Speed up calls to " -"``tuple()`` by using the :pep:`590` ``vectorcall`` calling convention. Patch " -"by Dong-hee Na." -msgstr "" - -#: ../../../build/NEWS:5895 -msgid "" -"`bpo-38373 `__: Chaged list " -"overallocation strategy. It no longer overallocates if the new size is " -"closer to overallocated size than to the old size and adds padding." -msgstr "" - -#: ../../../build/NEWS:5899 -msgid "" -"`bpo-39926 `__: Update Unicode database " -"to Unicode version 13.0.0." -msgstr "" - -#: ../../../build/NEWS:5901 -msgid "" -"`bpo-19466 `__: Clear the frames of " -"daemon threads earlier during the Python shutdown to call objects " -"destructors. So \"unclosed file\" resource warnings are now emitted for " -"daemon threads in a more reliable way." -msgstr "" - -#: ../../../build/NEWS:5905 -msgid "" -"`bpo-38894 `__: Fix a bug that was " -"causing incomplete results when calling ``pathlib.Path.glob`` in the " -"presence of symlinks that point to files where the user does not have read " -"access. Patch by Pablo Galindo and Matt Wozniski." -msgstr "" -"`bpo-38894 `__: Corrige um bug que " -"estava causando resultados incompletos ao chamar ``pathlib.Path.glob`` na " -"presença de links simbólicos que apontam para arquivos nos quais o usuário " -"não tem acesso de leitura. Patch de Pablo Galindo e Matt Wozniski." - -#: ../../../build/NEWS:5910 -msgid "" -"`bpo-39877 `__: Fix :c:func:" -"`PyEval_RestoreThread` random crash at exit with daemon threads. It now " -"accesses the ``_PyRuntime`` variable directly instead of using ``tstate-" -">interp->runtime``, since ``tstate`` can be a dangling pointer after :c:func:" -"`Py_Finalize` has been called. Moreover, the daemon thread now exits before " -"trying to take the GIL." -msgstr "" - -#: ../../../build/NEWS:5916 -msgid "" -"`bpo-39871 `__: Fix a possible :exc:" -"`SystemError` in ``math.{atan2,copysign,remainder}()`` when the first " -"argument cannot be converted to a :class:`float`. Patch by Zackery Spytz." -msgstr "" - -#: ../../../build/NEWS:5920 -msgid "" -"`bpo-39776 `__: Fix race condition where " -"threads created by PyGILState_Ensure() could get a duplicate id." -msgstr "" -"`bpo-39776 `__: Corrige a condição de " -"corrida em que os threads criados por PyGILState_Ensure() poderiam obter um " -"ID duplicado." - -#: ../../../build/NEWS:5923 -msgid "" -"This affects consumers of tstate->id like the contextvar caching machinery, " -"which could return invalid cached objects under heavy thread load (observed " -"in embedded scenarios)." -msgstr "" -"Isso afeta os usuários de tstate->id como o mecanismo de armazenamento em " -"cache da contextvar, que pode retornar objetos em cache inválidos sob uso " -"intenso de threads (observado em cenários de sistemas embarcados)." - -#: ../../../build/NEWS:5927 -msgid "" -"`bpo-39778 `__: Fixed a crash due to " -"incorrect handling of weak references in ``collections.OrderedDict`` " -"classes. Patch by Pablo Galindo." -msgstr "" -"`bpo-39778 `__: Corrigida uma falha " -"devido ao tratamento incorreto de referências fracas nas classes " -"``collections.OrderedDict``. Patch de Pablo Galindo." - -#: ../../../build/NEWS:5930 -msgid "" -"`bpo-1635741 `__: Port audioop " -"extension module to multiphase initialization (:pep:`489`)." -msgstr "" - -#: ../../../build/NEWS:5933 -msgid "" -"`bpo-39702 `__: Relax :term:`decorator` " -"grammar restrictions to allow any valid expression (:pep:`614`)." -msgstr "" - -#: ../../../build/NEWS:5936 -msgid "" -"`bpo-38091 `__: Tweak import deadlock " -"detection code to not deadlock itself." -msgstr "" - -#: ../../../build/NEWS:5938 -msgid "" -"`bpo-1635741 `__: Port _locale " -"extension module to multiphase initialization (:pep:`489`)." -msgstr "" - -#: ../../../build/NEWS:5941 -msgid "" -"`bpo-39087 `__: Optimize :c:func:" -"`PyUnicode_AsUTF8` and :c:func:`PyUnicode_AsUTF8AndSize` slightly when they " -"need to create internal UTF-8 cache." -msgstr "" - -#: ../../../build/NEWS:5945 -msgid "" -"`bpo-39520 `__: Fix unparsing of ext " -"slices with no items (``foo[:,]``). Patch by Batuhan Taskaya." -msgstr "" -"`bpo-39520 `__: Corrige a falta de " -"análise de fatias ext sem itens (``foo[:,]``). Patch de Batuhan Taskaya." - -#: ../../../build/NEWS:5948 -msgid "" -"`bpo-39220 `__: Do not optimize " -"annotations if 'from __future__ import annotations' is used. Patch by Pablo " -"Galindo." -msgstr "" - -#: ../../../build/NEWS:5951 -msgid "" -"`bpo-35712 `__: Using :data:" -"`NotImplemented` in a boolean context has been deprecated. Patch contributed " -"by Josh Rosenberg." -msgstr "" - -#: ../../../build/NEWS:5954 -msgid "" -"`bpo-22490 `__: Don't leak environment " -"variable ``__PYVENV_LAUNCHER__`` into the interpreter session on macOS." -msgstr "" -"`bpo-22490 `__: Não vaza a variável de " -"ambiente ``__PYVENV_LAUNCHER__`` para a sessão do interpretador no macOS." - -#: ../../../build/NEWS:5960 -msgid "" -"`bpo-39830 `__: Add :class:`zipfile." -"Path` to ``__all__`` in the :mod:`zipfile` module." -msgstr "" -"`bpo-39830 `__: Adiciona :class:`zipfile." -"Path` a ``__all__`` no módulo :mod:`zipfile`." - -#: ../../../build/NEWS:5963 -msgid "" -"`bpo-40000 `__: Improved error messages " -"for validation of ``ast.Constant`` nodes. Patch by Batuhan Taskaya." -msgstr "" - -#: ../../../build/NEWS:5966 -msgid "" -"`bpo-39999 `__: ``__module__`` of the " -"AST node classes is now set to \"ast\" instead of \"_ast\". Added docstrings " -"for dummy AST node classes and deprecated attributes." -msgstr "" - -#: ../../../build/NEWS:5970 -msgid "" -"`bpo-39991 `__: :func:`uuid.getnode` now " -"skips IPv6 addresses with the same string length than a MAC address (17 " -"characters): only use MAC addresses." -msgstr "" - -#: ../../../build/NEWS:5973 -msgid "" -"`bpo-39988 `__: Deprecated ``ast." -"AugLoad`` and ``ast.AugStore`` node classes because they are no longer used." -msgstr "" - -#: ../../../build/NEWS:5976 -msgid "" -"`bpo-39656 `__: Ensure ``bin/python3.#`` " -"is always present in virtual environments on POSIX platforms - by Anthony " -"Sottile." -msgstr "" - -#: ../../../build/NEWS:5979 -msgid "" -"`bpo-39969 `__: Deprecated ``ast.Param`` " -"node class because it's no longer used. Patch by Batuhan Taskaya." -msgstr "" - -#: ../../../build/NEWS:5982 -msgid "" -"`bpo-39360 `__: Ensure all workers exit " -"when finalizing a :class:`multiprocessing.Pool` implicitly via the module " -"finalization handlers of multiprocessing. This fixes a deadlock situation " -"that can be experienced when the Pool is not properly finalized via the " -"context manager or a call to ``multiprocessing.Pool.terminate``. Patch by " -"Batuhan Taskaya and Pablo Galindo." -msgstr "" -"`bpo-39360 `__: Garante que todos os " -"workers saiam ao finalizar a :class:`multiprocessing.Pool` implicitamente " -"através dos manipuladores de finalização do módulo do multiprocessamento. " -"Isso corrige uma situação de conflito que pode ocorrer quando o Pool não é " -"finalizado corretamente por meio do gerenciador de contexto ou uma chamada " -"para ``multiprocessing.Pool.terminate``. Patch de Batuhan Taskaya e Pablo " -"Galindo." - -#: ../../../build/NEWS:5989 -msgid "" -"`bpo-35370 `__: sys.settrace(), sys." -"setprofile() and _lsprof.Profiler.enable() now properly report :c:func:" -"`PySys_Audit` error if \"sys.setprofile\" or \"sys.settrace\" audit event is " -"denied." -msgstr "" - -#: ../../../build/NEWS:5993 -msgid "" -"`bpo-39936 `__: AIX: Fix _aix_support " -"module when the subprocess is not available, when building Python from " -"scratch. It now uses new private _bootsubprocess module, rather than having " -"two implementations depending if subprocess is available or not. So " -"_aix_support.aix_platform() result is now the same if subprocess is " -"available or not." -msgstr "" - -#: ../../../build/NEWS:5999 -msgid "" -"`bpo-36144 `__: :class:`collections." -"OrderedDict` now implements ``|`` and ``|=`` (:pep:`584`)." -msgstr "" - -#: ../../../build/NEWS:6002 -msgid "" -"`bpo-39652 `__: The column name found in " -"``sqlite3.Cursor.description`` is now truncated on the first '[' only if the " -"PARSE_COLNAMES option is set." -msgstr "" -"`bpo-39652 `__: O nome da coluna " -"encontrado em ``sqlite3.Cursor.description`` agora está truncado no primeiro " -"'[' somente se a opção PARSE_COLNAMES estiver configurada." - -#: ../../../build/NEWS:6005 -msgid "" -"`bpo-39915 `__: Ensure :attr:`unittest." -"mock.AsyncMock.await_args_list` has call objects in the order of awaited " -"arguments instead of using :attr:`unittest.mock.Mock.call_args` which has " -"the last value of the call. Patch by Karthikeyan Singaravelan." -msgstr "" -"`bpo-39915 `__: Garante que :attr:" -"`unittest.mock.AsyncMock.await_args_list` tenha objetos de chamada na ordem " -"dos argumentos esperados, em vez de usar :attr:`unittest.mock.Mock." -"call_args` que possui o último valor da chamada. Patch de Karthikeyan " -"Singaravelan." - -#: ../../../build/NEWS:6010 -msgid "" -"`bpo-36144 `__: Updated :data:`os." -"environ` and :data:`os.environb` to support :pep:`584`'s merge (``|``) and " -"update (``|=``) operators." -msgstr "" - -#: ../../../build/NEWS:6013 -msgid "" -"`bpo-38662 `__: The ``ensurepip`` module " -"now invokes ``pip`` via the ``runpy`` module. Hence it is no longer tightly " -"coupled with the internal API of the bundled ``pip`` version, allowing " -"easier updates to a newer ``pip`` version both internally and for " -"distributors." -msgstr "" - -#: ../../../build/NEWS:6018 -msgid "" -"`bpo-38075 `__: Fix the :meth:`random." -"Random.seed` method when a :class:`bool` is passed as the seed." -msgstr "" - -#: ../../../build/NEWS:6021 -msgid "" -"`bpo-39916 `__: More reliable use of " -"``os.scandir()`` in ``Path.glob()``. It no longer emits a ResourceWarning " -"when interrupted." -msgstr "" - -#: ../../../build/NEWS:6024 -msgid "" -"`bpo-39850 `__: :mod:`multiprocessing` " -"now supports abstract socket addresses (if abstract sockets are supported in " -"the running platform). When creating arbitrary addresses (like when default-" -"constructing :class:`multiprocessing.connection.Listener` objects) abstract " -"sockets are preferred to avoid the case when the temporary-file-generated " -"address is too large for an AF_UNIX socket address. Patch by Pablo Galindo." -msgstr "" - -#: ../../../build/NEWS:6031 -msgid "" -"`bpo-36287 `__: :func:`ast.dump()` no " -"longer outputs optional fields and attributes with default values. The " -"default values for optional fields and attributes of AST nodes are now set " -"as class attributes (e.g. ``Constant.kind`` is set to ``None``)." -msgstr "" - -#: ../../../build/NEWS:6036 -msgid "" -"`bpo-39889 `__: Fixed :func:`ast." -"unparse` for extended slices containing a single element (e.g. ``a[i:j,]``). " -"Remove redundant tuples when index with a tuple (e.g. ``a[i, j]``)." -msgstr "" - -#: ../../../build/NEWS:6040 -msgid "" -"`bpo-39828 `__: Fix :mod:`json.tool` to " -"catch :exc:`BrokenPipeError`. Patch by Dong-hee Na." -msgstr "" - -#: ../../../build/NEWS:6043 -msgid "" -"`bpo-13487 `__: Avoid a possible *" -"\"RuntimeError: dictionary changed size during iteration\"* from :func:" -"`inspect.getmodule` when it tried to loop through :attr:`sys.modules`." -msgstr "" - -#: ../../../build/NEWS:6047 -msgid "" -"`bpo-39674 `__: Revert \"`bpo-37330 " -"`__: open() no longer accept 'U' in file " -"mode\". The \"U\" mode of open() is kept in Python 3.9 to ease transition " -"from Python 2.7, but will be removed in Python 3.10." -msgstr "" - -#: ../../../build/NEWS:6051 -msgid "" -"`bpo-28577 `__: The hosts method on 32-" -"bit prefix length IPv4Networks and 128-bit prefix IPv6Networks now returns a " -"list containing the single Address instead of an empty list." -msgstr "" - -#: ../../../build/NEWS:6055 -msgid "" -"`bpo-39826 `__: Add getConnection method " -"to logging HTTPHandler to enable custom connections." -msgstr "" - -#: ../../../build/NEWS:6058 -msgid "" -"`bpo-39763 `__: Reimplement :func:" -"`distutils.spawn.spawn` function with the :mod:`subprocess` module." -msgstr "" - -#: ../../../build/NEWS:6061 -msgid "" -"`bpo-39794 `__: Add --without-decimal-" -"contextvar build option. This enables a thread-local rather than a " -"coroutine local context." -msgstr "" - -#: ../../../build/NEWS:6064 -msgid "" -"`bpo-36144 `__: :class:`collections." -"defaultdict` now implements ``|`` (:pep:`584`)." -msgstr "" - -#: ../../../build/NEWS:6067 -msgid "" -"`bpo-39517 `__: Fix runpy.run_path() " -"when using pathlike objects" -msgstr "" - -#: ../../../build/NEWS:6069 -msgid "" -"`bpo-39775 `__: Change ``inspect." -"Signature.parameters`` back to ``collections.OrderedDict``. This was changed " -"to ``dict`` in Python 3.9.0a4." -msgstr "" - -#: ../../../build/NEWS:6073 -msgid "" -"`bpo-39678 `__: Refactor queue_manager " -"in :class:`concurrent.futures.ProcessPoolExecutor` to make it easier to " -"maintain." -msgstr "" - -#: ../../../build/NEWS:6077 -msgid "" -"`bpo-39764 `__: Fix AttributeError when " -"calling get_stack on a PyAsyncGenObject Task" -msgstr "" - -#: ../../../build/NEWS:6080 -msgid "" -"`bpo-39769 `__: The :func:`compileall." -"compile_dir` function's *ddir* parameter and the compileall command line " -"flag `-d` no longer write the wrong pathname to the generated pyc file for " -"submodules beneath the root of the directory tree being compiled. This " -"fixes a regression introduced with Python 3.5." -msgstr "" - -#: ../../../build/NEWS:6086 -msgid "" -"`bpo-36144 `__: :class:`types." -"MappingProxyType` objects now support the merge (``|``) operator from :pep:" -"`584`." -msgstr "" - -#: ../../../build/NEWS:6089 -msgid "" -"`bpo-38691 `__: 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 "" - -#: ../../../build/NEWS:6093 -msgid "" -"`bpo-39719 `__: Remove :meth:`tempfile." -"SpooledTemporaryFile.softspace` as files no longer have the ``softspace`` " -"attribute in Python 3. Patch by Shantanu." -msgstr "" - -#: ../../../build/NEWS:6096 -msgid "" -"`bpo-39667 `__: Improve pathlib.Path " -"compatibility on zipfile.Path and correct performance degradation as found " -"in zipp 3.0." -msgstr "" - -#: ../../../build/NEWS:6099 -msgid "" -"`bpo-39638 `__: Keep ASDL signatures in " -"the docstrings for ``AST`` nodes. Patch by Batuhan Taskaya" -msgstr "" - -#: ../../../build/NEWS:6102 -msgid "" -"`bpo-39639 `__: Deprecated ``ast.Suite`` " -"node class because it's no longer used. Patch by Batuhan Taskaya." -msgstr "" - -#: ../../../build/NEWS:6105 -msgid "" -"`bpo-39609 `__: Add thread_name_prefix " -"to default asyncio executor" -msgstr "" - -#: ../../../build/NEWS:6107 -msgid "" -"`bpo-39548 `__: Fix handling of header " -"in :class:`urllib.request.AbstractDigestAuthHandler` when the optional " -"``qop`` parameter is not present." -msgstr "" - -#: ../../../build/NEWS:6111 -msgid "" -"`bpo-39509 `__: HTTP status codes ``103 " -"EARLY_HINTS`` and ``425 TOO_EARLY`` are added to :class:`http.HTTPStatus`. " -"Patch by Dong-hee Na." -msgstr "" - -#: ../../../build/NEWS:6114 -msgid "" -"`bpo-39507 `__: Adding HTTP status 418 " -"\"I'm a Teapot\" to HTTPStatus in http library. Patch by Ross Rhodes." -msgstr "" - -#: ../../../build/NEWS:6117 -msgid "" -"`bpo-39495 `__: Remove default value " -"from *attrs* parameter of :meth:`xml.etree.ElementTree.TreeBuilder.start` " -"for consistency between Python and C implementations." -msgstr "" - -#: ../../../build/NEWS:6121 -msgid "" -"`bpo-38971 `__: Open issue in the BPO " -"indicated a desire to make the implementation of codecs.open() at parity " -"with io.open(), which implements a try/except to assure file stream gets " -"closed before an exception is raised." -msgstr "" - -#: ../../../build/NEWS:6126 -msgid "" -"`bpo-38641 `__: Added starred " -"expressions support to ``return`` and ``yield`` statements for ``lib2to3``. " -"Patch by Vlad Emelianov." -msgstr "" - -#: ../../../build/NEWS:6129 -msgid "" -"`bpo-37534 `__: When using minidom " -"module to generate XML documents the ability to add Standalone Document " -"Declaration is added. All the changes are made to generate a document in " -"compliance with Extensible Markup Language (XML) 1.0 (Fifth Edition) W3C " -"Recommendation (available here: https://www.w3.org/TR/xml/#sec-prolog-dtd)." -msgstr "" - -#: ../../../build/NEWS:6135 -msgid "" -"`bpo-34788 `__: Add support for scoped " -"IPv6 addresses to :mod:`ipaddress`. Patch by Oleksandr Pavliuk." -msgstr "" - -#: ../../../build/NEWS:6138 -msgid "" -"`bpo-34822 `__: Simplified AST for " -"subscription. Simple indices are now represented by their value, extended " -"slices are represented as tuples. :mod:`ast` classes ``Index`` and " -"``ExtSlice`` are considered deprecated and will be removed in future Python " -"versions. In the meantime, ``Index(value)`` now returns a ``value`` itself, " -"``ExtSlice(slices)`` returns ``Tuple(slices, Load())``." -msgstr "" - -#: ../../../build/NEWS:6148 -msgid "" -"`bpo-39868 `__: Updated the Language " -"Reference for :pep:`572`." -msgstr "" - -#: ../../../build/NEWS:6150 -msgid "" -"`bpo-13790 `__: Change 'string' to " -"'specification' in format doc." -msgstr "" - -#: ../../../build/NEWS:6152 -msgid "" -"`bpo-17422 `__: The language reference " -"no longer restricts default class namespaces to dicts only." -msgstr "" - -#: ../../../build/NEWS:6155 -msgid "" -"`bpo-39530 `__: Fix misleading " -"documentation about mixed-type numeric comparisons." -msgstr "" - -#: ../../../build/NEWS:6158 -msgid "" -"`bpo-39718 `__: Update :mod:`token` " -"documentation to reflect additions in Python 3.8" -msgstr "" - -#: ../../../build/NEWS:6161 -msgid "" -"`bpo-39677 `__: Changed operand name of " -"**MAKE_FUNCTION** from *argc* to *flags* for module :mod:`dis`" -msgstr "" - -#: ../../../build/NEWS:6167 -msgid "" -"`bpo-40019 `__: test_gdb now skips tests " -"if it detects that gdb failed to read debug information because the Python " -"binary is optimized." -msgstr "" - -#: ../../../build/NEWS:6170 -msgid "" -"`bpo-27807 `__: ``test_site." -"test_startup_imports()`` is now skipped if a path of :data:`sys.path` " -"contains a ``.pth`` file." -msgstr "" - -#: ../../../build/NEWS:6173 -msgid "" -"`bpo-26067 `__: Do not fail test_shutil " -"test_chown test when uid or gid of user cannot be resolved to a name." -msgstr "" - -#: ../../../build/NEWS:6176 -msgid "" -"`bpo-39855 `__: test_subprocess." -"test_user() now skips the test on an user name if the user name doesn't " -"exist. For example, skip the test if the user \"nobody\" doesn't exist on " -"Linux." -msgstr "" - -#: ../../../build/NEWS:6183 -msgid "" -"`bpo-39761 `__: Fix build with DTrace " -"but without additional DFLAGS." -msgstr "" - -#: ../../../build/NEWS:6185 -msgid "" -"`bpo-39763 `__: setup.py now uses a " -"basic implementation of the :mod:`subprocess` module if the :mod:" -"`subprocess` module is not available: before required C extension modules " -"are built." -msgstr "" - -#: ../../../build/NEWS:6189 -msgid "" -"`bpo-1294959 `__: Add ``--with-" -"platlibdir`` option to the configure script: name of the platform-specific " -"library directory, stored in the new :attr:`sys.platlibdir` attribute. It is " -"used to build the path of platform-specific extension modules and the path " -"of the standard library. It is equal to ``\"lib\"`` on most platforms. On " -"Fedora and SuSE, it is equal to ``\"lib64\"`` on 64-bit platforms. Patch by " -"Jan Matějek, Matěj Cepl, Charalampos Stratakis and Victor Stinner." -msgstr "" - -#: ../../../build/NEWS:6200 -msgid "" -"`bpo-39930 `__: Ensures the required :" -"file:`vcruntime140.dll` is included in install packages." -msgstr "" - -#: ../../../build/NEWS:6203 -msgid "" -"`bpo-39847 `__: Avoid hang when computer " -"is hibernated whilst waiting for a mutex (for lock-related objects from :mod:" -"`threading`) around 49-day uptime." -msgstr "" - -#: ../../../build/NEWS:6207 -msgid "" -"`bpo-38597 `__: :mod:`distutils` will no " -"longer statically link :file:`vcruntime140.dll` when a redistributable " -"version is unavailable. All future releases of CPython will include a copy " -"of this DLL to ensure distributed extensions can continue to load." -msgstr "" - -#: ../../../build/NEWS:6212 -msgid "" -"`bpo-38380 `__: Update Windows builds to " -"use SQLite 3.31.1" -msgstr "" - -#: ../../../build/NEWS:6214 -msgid "" -"`bpo-39789 `__: Update Windows release " -"build machines to Visual Studio 2019 (MSVC 14.2)." -msgstr "" - -#: ../../../build/NEWS:6217 -msgid "" -"`bpo-34803 `__: Package for nuget.org " -"now includes repository reference and bundled icon image." -msgstr "" - -#: ../../../build/NEWS:6223 -msgid "" -"`bpo-38380 `__: Update macOS builds to " -"use SQLite 3.31.1" -msgstr "" - -#: ../../../build/NEWS:6228 -msgid "" -"`bpo-27115 `__: For 'Go to Line', use a " -"Query box subclass with IDLE standard behavior and improved error checking." -msgstr "" - -#: ../../../build/NEWS:6231 -msgid "" -"`bpo-39885 `__: Since clicking to get an " -"IDLE context menu moves the cursor, any text selection should be and now is " -"cleared." -msgstr "" - -#: ../../../build/NEWS:6234 -msgid "" -"`bpo-39852 `__: Edit \"Go to line\" now " -"clears any selection, preventing accidental deletion. It also updates Ln and " -"Col on the status bar." -msgstr "" - -#: ../../../build/NEWS:6237 -msgid "" -"`bpo-39781 `__: Selecting code context " -"lines no longer causes a jump." -msgstr "" - -#: ../../../build/NEWS:6242 -msgid "" -"`bpo-36184 `__: Port python-gdb.py to " -"FreeBSD. python-gdb.py now checks for \"take_gil\" function name to check if " -"a frame tries to acquire the GIL, instead of checking for " -"\"pthread_cond_timedwait\" which is specific to Linux and can be a different " -"condition than the GIL." -msgstr "" - -#: ../../../build/NEWS:6247 -msgid "" -"`bpo-38080 `__: Added support to fix " -"``getproxies`` in the :mod:`lib2to3.fixes.fix_urllib` module. Patch by José " -"Roberto Meza Cabrera." -msgstr "" - -#: ../../../build/NEWS:6254 -msgid "" -"`bpo-40024 `__: Add :c:func:" -"`PyModule_AddType` helper function: add a type to a module. Patch by Dong-" -"hee Na." -msgstr "" - -#: ../../../build/NEWS:6257 -msgid "" -"`bpo-39946 `__: Remove ``_PyRuntime." -"getframe`` hook and remove ``_PyThreadState_GetFrame`` macro which was an " -"alias to ``_PyRuntime.getframe``. They were only exposed by the internal C " -"API. Remove also ``PyThreadFrameGetter`` type." -msgstr "" - -#: ../../../build/NEWS:6262 -msgid "" -"`bpo-39947 `__: Add :c:func:" -"`PyThreadState_GetFrame` function: get the current frame of a Python thread " -"state." -msgstr "" - -#: ../../../build/NEWS:6265 -msgid "" -"`bpo-37207 `__: Add _PyArg_NoKwnames " -"helper function. Patch by Dong-hee Na." -msgstr "" - -#: ../../../build/NEWS:6267 -msgid "" -"`bpo-39947 `__: Add :c:func:" -"`PyThreadState_GetInterpreter`: get the interpreter of a Python thread state." -msgstr "" - -#: ../../../build/NEWS:6270 -msgid "" -"`bpo-39947 `__: Add :c:func:" -"`PyInterpreterState_Get` function to the limited C API." -msgstr "" - -#: ../../../build/NEWS:6273 -msgid "" -"`bpo-35370 `__: If :c:func:`PySys_Audit` " -"fails in :c:func:`PyEval_SetProfile` or :c:func:`PyEval_SetTrace`, log the " -"error as an unraisable exception." -msgstr "" - -#: ../../../build/NEWS:6276 -msgid "" -"`bpo-39947 `__: Move the static inline " -"function flavor of Py_EnterRecursiveCall() and Py_LeaveRecursiveCall() to " -"the internal C API: they access PyThreadState attributes. The limited C API " -"provides regular functions which hide implementation details." -msgstr "" - -#: ../../../build/NEWS:6281 -msgid "" -"`bpo-39947 `__: " -"Py_TRASHCAN_BEGIN_CONDITION and Py_TRASHCAN_END macro no longer access " -"PyThreadState attributes, but call new private _PyTrash_begin() and " -"_PyTrash_end() functions which hide implementation details." -msgstr "" - -#: ../../../build/NEWS:6285 -msgid "" -"`bpo-39884 `__: :c:func:" -"`PyDescr_NewMethod` and :c:func:`PyCFunction_NewEx` now include the method " -"name in the SystemError \"bad call flags\" error message to ease debug." -msgstr "" - -#: ../../../build/NEWS:6289 -msgid "" -"`bpo-39877 `__: Deprecated :c:func:" -"`PyEval_InitThreads` and :c:func:`PyEval_ThreadsInitialized`. Calling :c:" -"func:`PyEval_InitThreads` now does nothing." -msgstr "" - -#: ../../../build/NEWS:6293 -msgid "" -"`bpo-38249 `__: :c:macro:" -"`Py_UNREACHABLE` is now implemented with ``__builtin_unreachable()`` and " -"analogs in release mode." -msgstr "" - -#: ../../../build/NEWS:6296 -msgid "" -"`bpo-38643 `__: :c:func:" -"`PyNumber_ToBase` now raises a :exc:`SystemError` instead of crashing when " -"called with invalid base." -msgstr "" - -#: ../../../build/NEWS:6299 -msgid "" -"`bpo-39882 `__: 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." -msgstr "" - -#: ../../../build/NEWS:6303 -msgid "" -"`bpo-39824 `__: 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 "" - -#: ../../../build/NEWS:6312 -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." - -#: ../../../build/NEWS:6314 -msgid "" -"`bpo-38913 `__: Fixed segfault in " -"``Py_BuildValue()`` called with a format containing \"#\" and undefined " -"PY_SSIZE_T_CLEAN whwn an exception is set." -msgstr "" - -#: ../../../build/NEWS:6317 -msgid "" -"`bpo-38500 `__: Add a private API to get " -"and set the frame evaluation function: add :c:func:" -"`_PyInterpreterState_GetEvalFrameFunc` and :c:func:" -"`_PyInterpreterState_SetEvalFrameFunc` C functions. The :c:type:" -"`_PyFrameEvalFunction` function type now takes a *tstate* parameter." -msgstr "" - -#: ../../../build/NEWS:6325 -msgid "Python 3.9.0 alpha 4" -msgstr "" - -#: ../../../build/NEWS:6327 -msgid "*Release date: 2020-02-25*" -msgstr "" - -#: ../../../build/NEWS:6332 -msgid "" -"`bpo-39184 `__: Add audit events to " -"functions in `fcntl`, `msvcrt`, `os`, `resource`, `shutil`, `signal` and " -"`syslog`." -msgstr "" - -#: ../../../build/NEWS:6335 -msgid "" -"`bpo-39401 `__: Avoid unsafe DLL load at " -"startup on Windows 7 and earlier." -msgstr "" - -#: ../../../build/NEWS:6337 -msgid "" -"`bpo-39184 `__: Add audit events to " -"command execution functions in os and pty modules." -msgstr "" - -#: ../../../build/NEWS:6343 -msgid "" -"`bpo-39382 `__: Fix a use-after-free in " -"the single inheritance path of ``issubclass()``, when the ``__bases__`` of " -"an object has a single reference, and so does its first item. Patch by " -"Yonatan Goldschmidt." -msgstr "" - -#: ../../../build/NEWS:6347 -msgid "" -"`bpo-39573 `__: Update clinic tool to " -"use :c:func:`Py_IS_TYPE`. Patch by Dong-hee Na." -msgstr "" - -#: ../../../build/NEWS:6350 -msgid "" -"`bpo-39619 `__: Enable use of :func:`os." -"chroot` on HP-UX systems." -msgstr "" - -#: ../../../build/NEWS:6352 -msgid "" -"`bpo-39573 `__: Add :c:func:`Py_IS_TYPE` " -"static inline function to check whether the object *o* type is *type*." -msgstr "" - -#: ../../../build/NEWS:6355 -msgid "" -"`bpo-39606 `__: Fix regression caused by " -"fix for `bpo-39386 `__, that prevented " -"calling ``aclose`` on an async generator that had already been closed or " -"exhausted." -msgstr "" - -#: ../../../build/NEWS:6359 -msgid "" -"`bpo-39579 `__: Change the ending column " -"offset of `Attribute` nodes constructed in `ast_for_dotted_name` to point at " -"the end of the current node and not at the end of the last `NAME` node." -msgstr "" - -#: ../../../build/NEWS:6363 -msgid "" -"`bpo-1635741 `__: Port _crypt " -"extension module to multiphase initialization (:pep:`489`)." -msgstr "" - -#: ../../../build/NEWS:6366 -msgid "" -"`bpo-1635741 `__: Port _contextvars " -"extension module to multiphase initialization (:pep:`489`)." -msgstr "" - -#: ../../../build/NEWS:6369 -msgid "" -"`bpo-39510 `__: Fix segfault in " -"``readinto()`` method on closed BufferedReader." -msgstr "" - -#: ../../../build/NEWS:6371 -msgid "" -"`bpo-39502 `__: Fix :func:`time." -"localtime` on 64-bit AIX to support years before 1902 and after 2038. Patch " -"by M Felt." -msgstr "" - -#: ../../../build/NEWS:6374 -msgid "" -"`bpo-39492 `__: Fix a reference cycle in " -"the C Pickler that was preventing the garbage collection of deleted, pickled " -"objects." -msgstr "" - -#: ../../../build/NEWS:6377 -msgid "" -"`bpo-39453 `__: Fixed a possible crash " -"in :meth:`list.__contains__` when a list is changed during comparing items. " -"Patch by Dong-hee Na." -msgstr "" - -#: ../../../build/NEWS:6380 -msgid "" -"`bpo-39434 `__: :term:`floor division` " -"of float operation now has a better performance. Also the message of :exc:" -"`ZeroDivisionError` for this operation is updated. Patch by Dong-hee Na." -msgstr "" - -#: ../../../build/NEWS:6384 -msgid "" -"`bpo-1635741 `__: Port _codecs " -"extension module to multiphase initialization (:pep:`489`)." -msgstr "" - -#: ../../../build/NEWS:6387 -msgid "" -"`bpo-1635741 `__: Port _bz2 extension " -"module to multiphase initialization (:pep:`489`)." -msgstr "" - -#: ../../../build/NEWS:6390 -msgid "" -"`bpo-1635741 `__: Port _abc extension " -"module to multiphase initialization (:pep:`489`)." -msgstr "" - -#: ../../../build/NEWS:6393 -msgid "" -"`bpo-39320 `__: Replace two complex " -"bytecodes for building dicts with two simpler ones. The new bytecodes " -"``DICT_MERGE`` and ``DICT_UPDATE`` have been added The old bytecodes " -"``BUILD_MAP_UNPACK`` and ``BUILD_MAP_UNPACK_WITH_CALL`` have been removed." -msgstr "" - -#: ../../../build/NEWS:6398 -msgid "" -"`bpo-39219 `__: Syntax errors raised in " -"the tokenizer now always set correct \"text\" and \"offset\" attributes." -msgstr "" - -#: ../../../build/NEWS:6401 -msgid "" -"`bpo-36051 `__: Drop the GIL during " -"large ``bytes.join`` operations. Patch by Bruce Merry." -msgstr "" - -#: ../../../build/NEWS:6404 -msgid "" -"`bpo-38960 `__: Fix DTrace build issues " -"on FreeBSD. Patch by David Carlier." -msgstr "" - -#: ../../../build/NEWS:6406 -msgid "" -"`bpo-37207 `__: Speed up calls to " -"``range()`` by about 30%, by using the PEP 590 ``vectorcall`` calling " -"convention. Patch by Mark Shannon." -msgstr "" - -#: ../../../build/NEWS:6409 -msgid "" -"`bpo-36144 `__: :class:`dict` (and :" -"class:`collections.UserDict`) objects now support PEP 584's merge (``|``) " -"and update (``|=``) operators. Patch by Brandt Bucher." -msgstr "" - -#: ../../../build/NEWS:6413 -msgid "" -"`bpo-32856 `__: Optimized the idiom for " -"assignment a temporary variable in comprehensions. Now ``for y in [expr]`` " -"in comprehensions is as fast as a simple assignment ``y = expr``." -msgstr "" - -#: ../../../build/NEWS:6420 -msgid "" -"`bpo-30566 `__: Fix :exc:`IndexError` " -"when trying to decode an invalid string with punycode codec." -msgstr "" - -#: ../../../build/NEWS:6423 -msgid "" -"`bpo-39649 `__: Remove obsolete check " -"for `__args__` in bdb.Bdb.format_stack_entry." -msgstr "" - -#: ../../../build/NEWS:6426 -msgid "" -"`bpo-39648 `__: Expanded :func:`math." -"gcd` and :func:`math.lcm` to handle multiple arguments." -msgstr "" - -#: ../../../build/NEWS:6429 -msgid "" -"`bpo-39681 `__: Fix a regression where " -"the C pickle module wouldn't allow unpickling from a file-like object that " -"doesn't expose a readinto() method." -msgstr "" - -#: ../../../build/NEWS:6433 -msgid "" -"`bpo-35950 `__: Raise :exc:`io." -"UnsupportedOperation` in :meth:`io.BufferedReader.truncate` when it is " -"called on a read-only :class:`io.BufferedReader` instance." -msgstr "" - -#: ../../../build/NEWS:6437 -msgid "" -"`bpo-39479 `__: Add :func:`math.lcm` " -"function: least common multiple." -msgstr "" - -#: ../../../build/NEWS:6439 -msgid "" -"`bpo-39674 `__: Revert \"Do not expose " -"abstract collection classes in the collections module\" change (`bpo-25988 " -"`__). Aliases to ABC like collections." -"Mapping are kept in Python 3.9 to ease transition from Python 2.7, but will " -"be removed in Python 3.10." -msgstr "" - -#: ../../../build/NEWS:6444 -msgid "" -"`bpo-39104 `__: Fix hanging " -"ProcessPoolExcutor on ``shutdown(wait=False)`` when a task has failed " -"pickling." -msgstr "" - -#: ../../../build/NEWS:6447 -msgid "" -"`bpo-39627 `__: Fixed TypedDict totality " -"check for inherited keys." -msgstr "" - -#: ../../../build/NEWS:6449 -msgid "" -"`bpo-39474 `__: Fixed starting position " -"of AST for expressions like ``(a)(b)``, ``(a)[b]`` and ``(a).b``." -msgstr "" - -#: ../../../build/NEWS:6452 -msgid "" -"`bpo-21016 `__: The :mod:`pydoc` and :" -"mod:`trace` modules now use the :mod:`sysconfig` module to get the path to " -"the Python standard library, to support uncommon installation path like ``/" -"usr/lib64/python3.9/`` on Fedora. Patch by Jan Matějek." -msgstr "" - -#: ../../../build/NEWS:6457 -msgid "" -"`bpo-39590 `__: Collections.deque now " -"holds strong references during deque.__contains__ and deque.count, fixing " -"crashes." -msgstr "" - -#: ../../../build/NEWS:6460 -msgid "" -"`bpo-39586 `__: The distutils " -"``bdist_msi`` command is deprecated in Python 3.9, use ``bdist_wheel`` " -"(wheel packages) instead." -msgstr "" - -#: ../../../build/NEWS:6463 -msgid "" -"`bpo-39595 `__: Improved performance of " -"zipfile.Path for files with a large number of entries. Also improved " -"performance and fixed minor issue as published with `importlib_metadata 1.5 " -"`_." -msgstr "" - -#: ../../../build/NEWS:6468 -msgid "" -"`bpo-39350 `__: Fix regression in :class:" -"`fractions.Fraction` if the numerator and/or the denominator is an :class:" -"`int` subclass. The :func:`math.gcd` function is now used to normalize the " -"*numerator* and *denominator*. :func:`math.gcd` always return a :class:`int` " -"type. Previously, the GCD type depended on *numerator* and *denominator*." -msgstr "" - -#: ../../../build/NEWS:6474 -msgid "" -"`bpo-39567 `__: Added audit for :func:" -"`os.walk`, :func:`os.fwalk`, :meth:`pathlib.Path.glob` and :meth:`pathlib." -"Path.rglob`." -msgstr "" - -#: ../../../build/NEWS:6477 -msgid "" -"`bpo-39559 `__: Remove unused, " -"undocumented argument ``getters`` from :func:`uuid.getnode`" -msgstr "" - -#: ../../../build/NEWS:6480 -msgid "" -"`bpo-38149 `__: :func:`sys.audit` is now " -"called only once per call of :func:`glob.glob` and :func:`glob.iglob`." -msgstr "" - -#: ../../../build/NEWS:6483 -msgid "" -"`bpo-39546 `__: Fix a regression in :" -"class:`~argparse.ArgumentParser` where ``allow_abbrev=False`` was ignored " -"for long options that used a prefix character other than \"-\"." -msgstr "" - -#: ../../../build/NEWS:6487 -msgid "" -"`bpo-39450 `__: Striped whitespace from " -"docstring before returning it from :func:`unittest.case.shortDescription`." -msgstr "" - -#: ../../../build/NEWS:6490 -msgid "" -"`bpo-12915 `__: A new function " -"``resolve_name`` has been added to the ``pkgutil`` module. This resolves a " -"string of the form ``'a.b.c.d'`` or ``'a.b:c.d'`` to an object. In the " -"example, ``a.b`` is a package/module and ``c.d`` is an object within that " -"package/module reached via recursive attribute access." -msgstr "" - -#: ../../../build/NEWS:6496 -msgid "" -"`bpo-39353 `__: The :func:`binascii." -"crc_hqx` function is no longer deprecated." -msgstr "" - -#: ../../../build/NEWS:6498 -msgid "" -"`bpo-39493 `__: Mark ``typing.IO." -"closed`` as a property" -msgstr "" - -#: ../../../build/NEWS:6500 -msgid "" -"`bpo-39491 `__: Add :data:`typing." -"Annotated` and ``include_extras`` parameter to :func:`typing.get_type_hints` " -"as part of :pep:`593`. Patch by Till Varoquaux, documentation by Till " -"Varoquaux and Konstantin Kashin." -msgstr "" - -#: ../../../build/NEWS:6504 -msgid "" -"`bpo-39485 `__: Fix a bug in :func:" -"`unittest.mock.create_autospec` that would complain about the wrong number " -"of arguments for custom descriptors defined in an extension module returning " -"functions." -msgstr "" - -#: ../../../build/NEWS:6508 -msgid "" -"`bpo-38932 `__: Mock fully resets child " -"objects on reset_mock(). Patch by Vegard Stikbakke" -msgstr "" - -#: ../../../build/NEWS:6511 -msgid "" -"`bpo-39082 `__: Allow AsyncMock to " -"correctly patch static/class methods" -msgstr "" - -#: ../../../build/NEWS:6513 -msgid "" -"`bpo-39432 `__: Implement PEP-489 " -"algorithm for non-ascii \"PyInit\\_...\" symbol names in distutils to make " -"it export the correct init symbol also on Windows." -msgstr "" - -#: ../../../build/NEWS:6517 -msgid "" -"`bpo-18819 `__: Omit ``devmajor`` and " -"``devminor`` fields for non-device files in :mod:`tarfile` archives, " -"enabling bit-for-bit compatibility with GNU ``tar(1)``." -msgstr "" - -#: ../../../build/NEWS:6521 -msgid "" -"`bpo-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." -msgstr "" - -#: ../../../build/NEWS:6526 -msgid "" -"`bpo-39274 `__: ``bool(fraction." -"Fraction)`` now returns a boolean even if (numerator != 0) does not return a " -"boolean (ex: numpy number)." -msgstr "" - -#: ../../../build/NEWS:6529 -msgid "" -"`bpo-34793 `__: Remove support for " -"``with (await asyncio.lock):`` and ``with (yield from asyncio.lock):``. The " -"same is correct for ``asyncio.Condition`` and ``asyncio.Semaphore``." -msgstr "" - -#: ../../../build/NEWS:6533 -msgid "" -"`bpo-25597 `__: Ensure, if ``wraps`` is " -"supplied to :class:`unittest.mock.MagicMock`, it is used to calculate return " -"values for the magic methods instead of using the default return values. " -"Patch by Karthikeyan Singaravelan." -msgstr "" - -#: ../../../build/NEWS:6538 -msgid "" -"`bpo-36350 `__: `inspect.Signature." -"parameters` and `inspect.BoundArguments.arguments` are now dicts instead of " -"OrderedDicts. Patch contributed by Rémi Lapeyre." -msgstr "" - -#: ../../../build/NEWS:6542 -msgid "" -"`bpo-35727 `__: Fix sys.exit() and sys." -"exit(None) exit code propagation when used in multiprocessing.Process." -msgstr "" - -#: ../../../build/NEWS:6545 -msgid "" -"`bpo-32173 `__: * Add `lazycache` " -"function to `__all__`. * Use `dict.clear` to clear the cache. * Refactoring " -"`getline` function and `checkcache` function." -msgstr "" - -#: ../../../build/NEWS:6552 -msgid "" -"`bpo-17422 `__: The language reference " -"now specifies restrictions on class namespaces. Adapted from a patch by " -"Ethan Furman." -msgstr "" - -#: ../../../build/NEWS:6555 -msgid "" -"`bpo-39572 `__: Updated documentation of " -"``total`` flag of ``TypedDict``." -msgstr "" - -#: ../../../build/NEWS:6557 -msgid "" -"`bpo-39654 `__: In pyclbr doc, update " -"'class' to 'module' where appropriate and add readmodule comment. Patch by " -"Hakan Çelik." -msgstr "" - -#: ../../../build/NEWS:6560 -msgid "" -"`bpo-39153 `__: Clarify refcounting " -"semantics for the following functions: - PyObject_SetItem - " -"PyMapping_SetItemString - PyDict_SetItem - PyDict_SetItemString" -msgstr "" - -#: ../../../build/NEWS:6564 -msgid "" -"`bpo-39392 `__: Explain that when " -"filling with turtle, overlap regions may be left unfilled." -msgstr "" - -#: ../../../build/NEWS:6567 -msgid "" -"`bpo-39369 `__: Update mmap readline " -"method description. The fact that the readline method does update the file " -"position should not be ignored since this might give the impression for the " -"programmer that it doesn't update it." -msgstr "" - -#: ../../../build/NEWS:6572 -msgid "" -"`bpo-9056 `__: Include subsection in TOC " -"for PDF version of docs." -msgstr "" - -#: ../../../build/NEWS:6577 -msgid "" -"`bpo-38325 `__: Skip tests on non-BMP " -"characters of test_winconsoleio." -msgstr "" - -#: ../../../build/NEWS:6579 -msgid "" -"`bpo-39502 `__: Skip test_zipfile." -"test_add_file_after_2107() if :func:`time.localtime` fails with :exc:" -"`OverflowError`. It is the case on AIX 6.1 for example." -msgstr "" - -#: ../../../build/NEWS:6586 -msgid "" -"`bpo-39489 `__: Remove ``COUNT_ALLOCS`` " -"special build." -msgstr "" - -#: ../../../build/NEWS:6591 -msgid "" -"`bpo-39553 `__: Delete unused code " -"related to SxS manifests." -msgstr "" - -#: ../../../build/NEWS:6593 -msgid "" -"`bpo-39439 `__: Honor the Python path " -"when a virtualenv is active on Windows." -msgstr "" - -#: ../../../build/NEWS:6595 -msgid "" -"`bpo-39393 `__: Improve the error " -"message when attempting to load a DLL with unresolved dependencies." -msgstr "" - -#: ../../../build/NEWS:6598 -msgid "" -"`bpo-38883 `__: :meth:`~pathlib.Path." -"home()` and :meth:`~pathlib.Path.expanduser()` on Windows now prefer :envvar:" -"`USERPROFILE` and no longer use :envvar:`HOME`, which is not normally set " -"for regular user accounts. This makes them again behave like :func:`os.path." -"expanduser`, which was changed to ignore :envvar:`HOME` in 3.8, see :issue:" -"`36264`." -msgstr "" - -#: ../../../build/NEWS:6605 -msgid "" -"`bpo-39185 `__: The build.bat script has " -"additional options for very-quiet output (-q) and very-verbose output (-vv)" -msgstr "" - -#: ../../../build/NEWS:6611 -msgid "" -"`bpo-39663 `__: Add tests for pyparse " -"find_good_parse_start()." -msgstr "" - -#: ../../../build/NEWS:6613 -msgid "" -"`bpo-39600 `__: In the font " -"configuration window, remove duplicated font names." -msgstr "" - -#: ../../../build/NEWS:6615 -msgid "" -"`bpo-30780 `__: Add remaining " -"configdialog tests for buttons and highlights and keys tabs." -msgstr "" - -#: ../../../build/NEWS:6618 -msgid "" -"`bpo-39388 `__: IDLE Settings Cancel " -"button now cancels pending changes" -msgstr "" - -#: ../../../build/NEWS:6620 -msgid "" -"`bpo-38792 `__: Close an IDLE shell " -"calltip if a :exc:`KeyboardInterrupt` or shell restart occurs. Patch by " -"Zackery Spytz." -msgstr "" - -#: ../../../build/NEWS:6626 -msgid "" -"`bpo-35081 `__: Move the ``bytes_methods." -"h`` header file to the internal C API as ``pycore_bytes_methods.h``: it only " -"contains private symbols (prefixed by ``_Py``), except of the " -"``PyDoc_STRVAR_shared()`` macro." -msgstr "" - -#: ../../../build/NEWS:6630 -msgid "" -"`bpo-35081 `__: Move the ``dtoa.h`` " -"header file to the internal C API as ``pycore_dtoa.h``: it only contains " -"private functions (prefixed by ``_Py``). The :mod:`math` and :mod:`cmath` " -"modules must now be compiled with the ``Py_BUILD_CORE`` macro defined." -msgstr "" - -#: ../../../build/NEWS:6635 -msgid "" -"`bpo-39573 `__: Add :c:func:" -"`Py_SET_SIZE` function to set the size of an object." -msgstr "" - -#: ../../../build/NEWS:6638 -msgid "" -"`bpo-39500 `__: :c:func:" -"`PyUnicode_IsIdentifier` does not call :c:func:`Py_FatalError` anymore if " -"the string is not ready." -msgstr "" - -#: ../../../build/NEWS:6641 -msgid "" -"`bpo-39573 `__: Add :c:func:" -"`Py_SET_TYPE` function to set the type of an object." -msgstr "" - -#: ../../../build/NEWS:6644 -msgid "" -"`bpo-39573 `__: Add a :c:func:" -"`Py_SET_REFCNT` function to set the reference counter of an object." -msgstr "" - -#: ../../../build/NEWS:6647 -msgid "" -"`bpo-39542 `__: Convert :c:func:" -"`PyType_HasFeature`, :c:func:`PyType_Check` and :c:func:`PyType_CheckExact` " -"macros to static inline functions." -msgstr "" - -#: ../../../build/NEWS:6650 -msgid "" -"`bpo-39542 `__: In the limited C API, " -"``PyObject_INIT()`` and ``PyObject_INIT_VAR()`` are now defined as aliases " -"to :c:func:`PyObject_Init` and :c:func:`PyObject_InitVar` to make their " -"implementation opaque. It avoids to leak implementation details in the " -"limited C API. Exclude the following functions from the limited C API: " -"``_Py_NewReference()``, ``_Py_ForgetReference()``, " -"``_PyTraceMalloc_NewReference()`` and ``_Py_GetRefTotal()``." -msgstr "" - -#: ../../../build/NEWS:6658 -msgid "" -"`bpo-39542 `__: Exclude trashcan " -"mechanism from the limited C API: it requires access to PyTypeObject and " -"PyThreadState structure fields, whereas these structures are opaque in the " -"limited C API." -msgstr "" - -#: ../../../build/NEWS:6662 -msgid "" -"`bpo-39511 `__: The :c:func:" -"`PyThreadState_Clear` function now calls the :c:member:`PyThreadState." -"on_delete` callback. Previously, that happened in :c:func:" -"`PyThreadState_Delete`." -msgstr "" - -#: ../../../build/NEWS:6666 -msgid "" -"`bpo-38076 `__: Fix to clear the " -"interpreter state only after clearing module globals to guarantee module " -"state access from C Extensions during runtime destruction" -msgstr "" - -#: ../../../build/NEWS:6670 -msgid "" -"`bpo-39245 `__: The Vectorcall API (PEP " -"590) was made public, adding the functions ``PyObject_Vectorcall``, " -"``PyObject_VectorcallMethod``, ``PyVectorcall_Function``, " -"``PyObject_CallOneArg``, ``PyObject_CallMethodNoArgs``, " -"``PyObject_CallMethodOneArg``, ``PyObject_FastCallDict``, and the flag " -"``Py_TPFLAGS_HAVE_VECTORCALL``." -msgstr "" - -#: ../../../build/NEWS:6678 -msgid "Python 3.9.0 alpha 3" -msgstr "" - -#: ../../../build/NEWS:6680 -msgid "*Release date: 2020-01-24*" -msgstr "" - -#: ../../../build/NEWS:6685 -msgid "" -"`bpo-39427 `__: Document all " -"possibilities for the ``-X`` options in the command line help section. Patch " -"by Pablo Galindo." -msgstr "" - -#: ../../../build/NEWS:6688 -msgid "" -"`bpo-39421 `__: Fix possible crashes " -"when operating with the functions in the :mod:`heapq` module and custom " -"comparison operators." -msgstr "" - -#: ../../../build/NEWS:6691 -msgid "" -"`bpo-39386 `__: Prevent double awaiting " -"of async iterator." -msgstr "" - -#: ../../../build/NEWS:6693 -msgid "" -"`bpo-17005 `__: Add :class:`functools." -"TopologicalSorter` to the :mod:`functools` module to offers functionality to " -"perform topological sorting of graphs. Patch by Pablo Galindo, Tim Peters " -"and Larry Hastings." -msgstr "" - -#: ../../../build/NEWS:6697 -msgid "" -"`bpo-39320 `__: Replace four complex " -"bytecodes for building sequences with three simpler ones." -msgstr "" - -#: ../../../build/NEWS:6700 -msgid "The following four bytecodes have been removed:" -msgstr "" - -#: ../../../build/NEWS:6702 -msgid "BUILD_LIST_UNPACK" -msgstr "" - -#: ../../../build/NEWS:6703 -msgid "BUILD_TUPLE_UNPACK" -msgstr "" - -#: ../../../build/NEWS:6704 -msgid "BUILD_SET_UNPACK" -msgstr "" - -#: ../../../build/NEWS:6705 -msgid "BUILD_TUPLE_UNPACK_WITH_CALL" -msgstr "" - -#: ../../../build/NEWS:6707 -msgid "The following three bytecodes have been added:" -msgstr "" - -#: ../../../build/NEWS:6709 -msgid "LIST_TO_TUPLE" -msgstr "" - -#: ../../../build/NEWS:6710 -msgid "LIST_EXTEND" -msgstr "" - -#: ../../../build/NEWS:6711 -msgid "SET_UPDATE" -msgstr "" - -#: ../../../build/NEWS:6713 -msgid "" -"`bpo-39336 `__: Import loaders which " -"publish immutable module objects can now publish immutable packages in " -"addition to individual modules." -msgstr "" - -#: ../../../build/NEWS:6716 -msgid "" -"`bpo-39322 `__: Added a new function :" -"func:`gc.is_finalized` to check if an object has been finalized by the " -"garbage collector. Patch by Pablo Galindo." -msgstr "" - -#: ../../../build/NEWS:6720 -msgid "" -"`bpo-39048 `__: Improve the displayed " -"error message when incorrect types are passed to ``async with`` statements " -"by looking up the :meth:`__aenter__` special method before the :meth:" -"`__aexit__` special method when entering an asynchronous context manager. " -"Patch by Géry Ogam." -msgstr "" - -#: ../../../build/NEWS:6725 -msgid "" -"`bpo-39235 `__: Fix AST end location for " -"lone generator expression in function call, e.g. f(i for i in a)." -msgstr "" - -#: ../../../build/NEWS:6728 -msgid "" -"`bpo-39209 `__: Correctly handle multi-" -"line tokens in interactive mode. Patch by Pablo Galindo." -msgstr "" - -#: ../../../build/NEWS:6731 -msgid "" -"`bpo-1635741 `__: Port _json extension " -"module to multiphase initialization (:pep:`489`)." -msgstr "" - -#: ../../../build/NEWS:6734 -msgid "" -"`bpo-39216 `__: Fix constant folding " -"optimization for positional only arguments - by Anthony Sottile." -msgstr "" - -#: ../../../build/NEWS:6737 -msgid "" -"`bpo-39215 `__: Fix ``SystemError`` when " -"nested function has annotation on positional-only argument - by Anthony " -"Sottile." -msgstr "" - -#: ../../../build/NEWS:6740 -msgid "" -"`bpo-39200 `__: Correct the error " -"message when calling the :func:`min` or :func:`max` with no arguments. Patch " -"by Dong-hee Na." -msgstr "" - -#: ../../../build/NEWS:6743 -msgid "" -"`bpo-39200 `__: Correct the error " -"message when trying to construct :class:`range` objects with no arguments. " -"Patch by Pablo Galindo." -msgstr "" - -#: ../../../build/NEWS:6746 -msgid "" -"`bpo-39166 `__: Fix incorrect line " -"execution reporting in trace functions when tracing the last iteration of " -"asynchronous for loops. Patch by Pablo Galindo." -msgstr "" - -#: ../../../build/NEWS:6750 -msgid "" -"`bpo-39114 `__: Fix incorrent line " -"execution reporting in trace functions when tracing exception handlers with " -"name binding. Patch by Pablo Galindo." -msgstr "" - -#: ../../../build/NEWS:6753 -msgid "" -"`bpo-39156 `__: Split the COMPARE_OP " -"bytecode instruction into four distinct instructions." -msgstr "" - -#: ../../../build/NEWS:6756 -msgid "COMPARE_OP for rich comparisons" -msgstr "" - -#: ../../../build/NEWS:6757 -msgid "IS_OP for 'is' and 'is not' tests" -msgstr "" - -#: ../../../build/NEWS:6758 -msgid "CONTAINS_OP for 'in' and 'is not' tests" -msgstr "" - -#: ../../../build/NEWS:6759 -msgid "" -"JUMP_IF_NOT_EXC_MATCH for checking exceptions in 'try-except' statements." -msgstr "" - -#: ../../../build/NEWS:6761 -msgid "" -"This improves the clarity of the interpreter and should provide a modest " -"speedup." -msgstr "" - -#: ../../../build/NEWS:6764 -msgid "" -"`bpo-38588 `__: Fix possible crashes in " -"dict and list when calling :c:func:`PyObject_RichCompareBool`." -msgstr "" - -#: ../../../build/NEWS:6767 -msgid "" -"`bpo-13601 `__: By default, ``sys." -"stderr`` is line-buffered now, even if ``stderr`` is redirected to a file. " -"You can still make ``sys.stderr`` unbuffered by passing the :option:`-u` " -"command-line option or setting the :envvar:`PYTHONUNBUFFERED` environment " -"variable." -msgstr "" - -#: ../../../build/NEWS:6772 -msgid "" -"(Contributed by Jendrik Seipp in `bpo-13601 `__.)" -msgstr "" - -#: ../../../build/NEWS:6774 -msgid "" -"`bpo-38610 `__: Fix possible crashes in " -"several list methods by holding strong references to list elements when " -"calling :c:func:`PyObject_RichCompareBool`." -msgstr "" - -#: ../../../build/NEWS:6778 -msgid "" -"`bpo-32021 `__: Include brotli .br " -"encoding in mimetypes encodings_map" -msgstr "" - -#: ../../../build/NEWS:6783 -msgid "" -"`bpo-39430 `__: Fixed race condition in " -"lazy imports in :mod:`tarfile`." -msgstr "" - -#: ../../../build/NEWS:6785 -msgid "" -"`bpo-39413 `__: The :func:`os.unsetenv` " -"function is now also available on Windows." -msgstr "" - -#: ../../../build/NEWS:6788 -msgid "" -"`bpo-39390 `__: Fixed a regression with " -"the `ignore` callback of :func:`shutil.copytree`. The argument types are now " -"str and List[str] again." -msgstr "" - -#: ../../../build/NEWS:6792 -msgid "" -"`bpo-39395 `__: The :func:`os.putenv` " -"and :func:`os.unsetenv` functions are now always available." -msgstr "" - -#: ../../../build/NEWS:6795 -msgid "" -"`bpo-39406 `__: If ``setenv()`` C " -"function is available, :func:`os.putenv` is now implemented with " -"``setenv()`` instead of ``putenv()``, so Python doesn't have to handle the " -"environment variable memory." -msgstr "" - -#: ../../../build/NEWS:6799 -msgid "" -"`bpo-39396 `__: Fix ``math." -"nextafter(-0.0, +0.0)`` on AIX 7.1." -msgstr "" - -#: ../../../build/NEWS:6801 -msgid "" -"`bpo-29435 `__: Allow :func:`tarfile." -"is_tarfile` to be used with file and file-like objects, like :func:`zipfile." -"is_zipfile`. Patch by William Woodruff." -msgstr "" - -#: ../../../build/NEWS:6805 -msgid "" -"`bpo-39377 `__: Removed ``encoding`` " -"option from :func:`json.loads`. It has been deprecated since Python 3.1." -msgstr "" - -#: ../../../build/NEWS:6808 -msgid "" -"`bpo-39389 `__: Write accurate " -"compression level metadata in :mod:`gzip` archives, rather than always " -"signaling maximum compression." -msgstr "" - -#: ../../../build/NEWS:6811 -msgid "" -"`bpo-39366 `__: The previously " -"deprecated ``xpath()`` and ``xgtitle()`` methods of :class:`nntplib.NNTP` " -"have been removed." -msgstr "" - -#: ../../../build/NEWS:6814 -msgid "" -"`bpo-39357 `__: Remove the *buffering* " -"parameter of :class:`bz2.BZ2File`. Since Python 3.0, it was ignored and " -"using it was emitting :exc:`DeprecationWarning`. Pass an open file object, " -"to control how the file is opened. The *compresslevel* parameter becomes " -"keyword-only." -msgstr "" - -#: ../../../build/NEWS:6819 -msgid "" -"`bpo-39353 `__: Deprecate binhex4 and " -"hexbin4 standards. Deprecate the :mod:`binhex` module and the following :mod:" -"`binascii` functions: :func:`~binascii.b2a_hqx`, :func:`~binascii.a2b_hqx`, :" -"func:`~binascii.rlecode_hqx`, :func:`~binascii.rledecode_hqx`, :func:" -"`~binascii.crc_hqx`." -msgstr "" - -#: ../../../build/NEWS:6825 -msgid "" -"`bpo-39351 `__: Remove ``base64." -"encodestring()`` and ``base64.decodestring()``, aliases deprecated since " -"Python 3.1: use :func:`base64.encodebytes` and :func:`base64.decodebytes` " -"instead." -msgstr "" - -#: ../../../build/NEWS:6829 -msgid "" -"`bpo-39350 `__: Remove ``fractions." -"gcd()`` function, deprecated since Python 3.5 (:issue:`22486`): use :func:" -"`math.gcd` instead." -msgstr "" - -#: ../../../build/NEWS:6832 -msgid "" -"`bpo-39329 `__: :class:`~smtplib.LMTP` " -"constructor now has an optional *timeout* parameter. Patch by Dong-hee Na." -msgstr "" - -#: ../../../build/NEWS:6835 -msgid "" -"`bpo-39313 `__: Add a new " -"``exec_function`` option (*--exec-function* in the CLI) to " -"``RefactoringTool`` for making ``exec`` a function. Patch by Batuhan Taskaya." -msgstr "" - -#: ../../../build/NEWS:6839 -msgid "" -"`bpo-39259 `__: :class:`~ftplib.FTP_TLS` " -"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. Patch by Dong-hee Na." -msgstr "" - -#: ../../../build/NEWS:6843 -msgid "" -"`bpo-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. Patch by Dong-hee Na." -msgstr "" - -#: ../../../build/NEWS:6847 -msgid "" -"`bpo-39310 `__: Add :func:`math.ulp`: " -"return the value of the least significant bit of a float." -msgstr "" - -#: ../../../build/NEWS:6850 -msgid "" -"`bpo-39297 `__: Improved performance of " -"importlib.metadata distribution discovery and resilients to inaccessible sys." -"path entries (importlib_metadata v1.4.0)." -msgstr "" - -#: ../../../build/NEWS:6854 -msgid "" -"`bpo-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. Patch by Dong-hee Na." -msgstr "" - -#: ../../../build/NEWS:6858 -msgid "" -"`bpo-38901 `__: When you specify " -"prompt='.' or equivalently python -m venv --prompt . ... the basename of the " -"current directory is used to set the created venv's prompt when it's " -"activated." -msgstr "" - -#: ../../../build/NEWS:6862 -msgid "" -"`bpo-39288 `__: Add :func:`math." -"nextafter`: return the next floating-point value after *x* towards *y*." -msgstr "" - -#: ../../../build/NEWS:6865 -msgid "" -"`bpo-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. Patch by Dong-hee Na." -msgstr "" - -#: ../../../build/NEWS:6869 -msgid "" -"`bpo-39242 `__: Updated the Gmane domain " -"from news.gmane.org to news.gmane.io which is used for examples of :class:" -"`~nntplib.NNTP` news reader server and nntplib tests." -msgstr "" - -#: ../../../build/NEWS:6873 -msgid "" -"`bpo-35292 `__: Proxy the " -"`SimpleHTTPRequestHandler.guess_type` to `mimetypes.guess_type` so the " -"`mimetypes.init` is called lazily to avoid unnecessary costs when :mod:`http." -"server` module is imported." -msgstr "" - -#: ../../../build/NEWS:6877 -msgid "" -"`bpo-39239 `__: The :meth:`select.epoll." -"unregister` method no longer ignores the :data:`~errno.EBADF` error." -msgstr "" - -#: ../../../build/NEWS:6880 -msgid "" -"`bpo-38907 `__: In http.server script, " -"restore binding to IPv4 on Windows." -msgstr "" - -#: ../../../build/NEWS:6882 -msgid "" -"`bpo-39152 `__: Fix ttk.Scale." -"configure([name]) to return configuration tuple for name or all options. " -"Giovanni Lombardo contributed part of the patch." -msgstr "" - -#: ../../../build/NEWS:6885 -msgid "" -"`bpo-39198 `__: If an exception were to " -"be thrown in `Logger.isEnabledFor` (say, by asyncio timeouts or stopit) , " -"the `logging` global lock may not be released appropriately, resulting in " -"deadlock. This change wraps that block of code with `try...finally` to " -"ensure the lock is released." -msgstr "" - -#: ../../../build/NEWS:6890 -msgid "" -"`bpo-39191 `__: Perform a check for " -"running loop before starting a new task in ``loop.run_until_complete()`` to " -"fail fast; it prevents the side effect of new task spawning before exception " -"raising." -msgstr "" - -#: ../../../build/NEWS:6894 -msgid "" -"`bpo-38871 `__: Correctly parenthesize " -"filter-based statements that contain lambda expressions in mod:`lib2to3`. " -"Patch by Dong-hee Na." -msgstr "" - -#: ../../../build/NEWS:6897 -msgid "" -"`bpo-39142 `__: A change was made to " -"logging.config.dictConfig to avoid converting instances of named tuples to " -"ConvertingTuple. It's assumed that named tuples are too specialised to be " -"treated like ordinary tuples; if a user of named tuples requires " -"ConvertingTuple functionality, they will have to implement that themselves " -"in their named tuple class." -msgstr "" - -#: ../../../build/NEWS:6903 -msgid "" -"`bpo-39158 `__: ast.literal_eval() now " -"supports empty sets." -msgstr "" - -#: ../../../build/NEWS:6905 -msgid "" -"`bpo-39129 `__: Fix import path for " -"``asyncio.TimeoutError``" -msgstr "" - -#: ../../../build/NEWS:6907 -msgid "" -"`bpo-39057 `__: :func:`urllib.request." -"proxy_bypass_environment` now ignores leading dots and no longer ignores a " -"trailing newline." -msgstr "" - -#: ../../../build/NEWS:6910 -msgid "" -"`bpo-39056 `__: Fixed handling invalid " -"warning category in the -W option. No longer import the re module if it is " -"not needed." -msgstr "" - -#: ../../../build/NEWS:6913 -msgid "" -"`bpo-39055 `__: :func:`base64.b64decode` " -"with ``validate=True`` raises now a binascii.Error if the input ends with a " -"single ``\\n``." -msgstr "" - -#: ../../../build/NEWS:6916 -msgid "" -"`bpo-21600 `__: Fix :func:`mock.patch." -"stopall` to stop active patches that were created with :func:`mock.patch." -"dict`." -msgstr "" - -#: ../../../build/NEWS:6919 -msgid "" -"`bpo-39019 `__: Implement dummy " -"``__class_getitem__`` for :class:`tempfile.SpooledTemporaryFile`." -msgstr "" - -#: ../../../build/NEWS:6922 -msgid "" -"`bpo-39019 `__: Implement dummy " -"``__class_getitem__`` for ``subprocess.Popen``, ``subprocess." -"CompletedProcess``" -msgstr "" - -#: ../../../build/NEWS:6925 -msgid "" -"`bpo-38914 `__: Adjusted the wording of " -"the warning issued by distutils' ``check`` command when the ``author`` and " -"``maintainer`` fields are supplied but no corresponding e-mail field " -"(``author_email`` or ``maintainer_email``) is found. The wording now " -"reflects the fact that these fields are suggested, but not required. Patch " -"by Juergen Gmach." -msgstr "" - -#: ../../../build/NEWS:6931 -msgid "" -"`bpo-38878 `__: Fixed __subclasshook__ " -"of :class:`os.PathLike` to return a correct result upon inheritence. Patch " -"by Bar Harel." -msgstr "" -"`bpo-38878 `__: Corrigida " -"__subclasshook__ de :class:`os.PathLike` para retornar um resultado correto " -"na herança. Patch por Bar Harel." - -#: ../../../build/NEWS:6934 -msgid "" -"`bpo-38615 `__: :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. Patch by Dong-hee Na." -msgstr "" - -#: ../../../build/NEWS:6941 -msgid "" -"`bpo-35182 `__: Fixed :func:`Popen." -"communicate` subsequent call crash when the child process has already closed " -"any piped standard stream, but still continues to be running. Patch by " -"Andriy Maletsky." -msgstr "" - -#: ../../../build/NEWS:6945 -msgid "" -"`bpo-38630 `__: On Unix, :meth:" -"`subprocess.Popen.send_signal` now polls the process status. Polling reduces " -"the risk of sending a signal to the wrong process if the process completed, " -"the :attr:`subprocess.Popen.returncode` attribute is still ``None``, and the " -"pid has been reassigned (recycled) to a new different process." -msgstr "" - -#: ../../../build/NEWS:6951 -msgid "" -"`bpo-38536 `__: Removes trailing space " -"in formatted currency with `international=True` and a locale with symbol " -"following value. E.g. `locale.currency(12.34, international=True)` returned " -"`'12,34 EUR '` instead of `'12,34 EUR'`." -msgstr "" - -#: ../../../build/NEWS:6956 -msgid "" -"`bpo-38473 `__: Use signature from inner " -"mock for autospecced methods attached with :func:`unittest.mock." -"attach_mock`. Patch by Karthikeyan Singaravelan." -msgstr "" - -#: ../../../build/NEWS:6959 -msgid "" -"`bpo-38361 `__: Fixed an issue where " -"``ident`` could include a leading path separator when :func:`syslog.openlog` " -"was called without arguments." -msgstr "" - -#: ../../../build/NEWS:6962 -msgid "" -"`bpo-38293 `__: Add :func:`copy.copy` " -"and :func:`copy.deepcopy` support to :func:`property` objects." -msgstr "" - -#: ../../../build/NEWS:6965 -msgid "" -"`bpo-37958 `__: Added the pstats.Stats." -"get_profile_dict() method to return the profile data as a StatsProfile " -"instance." -msgstr "" - -#: ../../../build/NEWS:6968 -msgid "" -"`bpo-28367 `__: Termios magic constants " -"for the following baud rates: - B500000 - B576000 - B921600 - " -"B1000000 - B1152000 - B1500000 - B2000000 - B2500000 - B3000000 " -"- B3500000 - B4000000 Patch by Andrey Smirnov" -msgstr "" - -#: ../../../build/NEWS:6976 -msgid "" -"`bpo-39381 `__: Mention in docs that :" -"func:`asyncio.get_event_loop` implicitly creates new event loop only if " -"called from the main thread." -msgstr "" - -#: ../../../build/NEWS:6979 -msgid "" -"`bpo-38918 `__: Add an entry for " -"``__module__`` in the \"function\" & \"method\" sections of the `inspect " -"docs types and members table `_" -msgstr "" - -#: ../../../build/NEWS:6983 -msgid "" -"`bpo-3530 `__: In the :mod:`ast` module " -"documentation, fix a misleading ``NodeTransformer`` example and add advice " -"on when to use the ``fix_missing_locations`` function." -msgstr "" - -#: ../../../build/NEWS:6990 -msgid "" -"`bpo-39395 `__: On non-Windows " -"platforms, the :c:func:`setenv` and :c:func:`unsetenv` functions are now " -"required to build Python." -msgstr "" - -#: ../../../build/NEWS:6993 -msgid "" -"`bpo-39160 `__: Updated the " -"documentation in `./configure --help` to show default values, reference " -"documentation where required and add additional explanation where needed." -msgstr "" - -#: ../../../build/NEWS:6997 -msgid "" -"`bpo-39144 `__: The ctags and etags " -"build targets both include Modules/_ctypes and Python standard library " -"source files." -msgstr "" - -#: ../../../build/NEWS:7003 -msgid "" -"`bpo-39050 `__: Make IDLE Settings " -"dialog Help button work again." -msgstr "" - -#: ../../../build/NEWS:7005 -msgid "" -"`bpo-34118 `__: Tag memoryview, range, " -"and tuple as classes, the same as list, etcetera, in the library manual " -"built-in functions list." -msgstr "" - -#: ../../../build/NEWS:7008 -msgid "" -"`bpo-32989 `__: Add tests for editor " -"newline_and_indent_event method. Remove dead code from pyparse " -"find_good_parse_start method." -msgstr "" - -#: ../../../build/NEWS:7014 -msgid "" -"`bpo-39372 `__: Clean header files of " -"interfaces defined but with no implementation. The public API symbols being " -"removed are: ``_PyBytes_InsertThousandsGroupingLocale``, " -"``_PyBytes_InsertThousandsGrouping``, ``_Py_InitializeFromArgs``, " -"``_Py_InitializeFromWideArgs``, ``_PyFloat_Repr``, ``_PyFloat_Digits``, " -"``_PyFloat_DigitsInit``, ``PyFrame_ExtendStack``, ``_PyAIterWrapper_Type``, " -"``PyNullImporter_Type``, ``PyCmpWrapper_Type``, ``PySortWrapper_Type``, " -"``PyNoArgsFunction``." -msgstr "" - -#: ../../../build/NEWS:7023 -msgid "" -"`bpo-39164 `__: Add a private " -"``_PyErr_GetExcInfo()`` function to retrieve exception information of the " -"specified Python thread state." -msgstr "" - -#: ../../../build/NEWS:7028 -msgid "Python 3.9.0 alpha 2" -msgstr "" - -#: ../../../build/NEWS:7030 -msgid "*Release date: 2019-12-18*" -msgstr "*Data de lançamento: 2019-12-18*" - -#: ../../../build/NEWS:7035 -msgid "" -"`bpo-38945 `__: Newline characters have " -"been escaped when performing uu encoding to prevent them from overflowing " -"into to content section of the encoded file. This prevents malicious or " -"accidental modification of data during the decoding process." -msgstr "" - -#: ../../../build/NEWS:7040 -msgid "" -"`bpo-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 ``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 "" - -#: ../../../build/NEWS:7047 -msgid "" -"`bpo-38804 `__: Fixes a ReDoS " -"vulnerability in :mod:`http.cookiejar`. Patch by Ben Caller." -msgstr "" - -#: ../../../build/NEWS:7053 -msgid "" -"`bpo-39028 `__: Slightly improve the " -"speed of keyword argument parsing with many kwargs by strengthening the " -"assumption that kwargs are interned strings." -msgstr "" - -#: ../../../build/NEWS:7057 -msgid "" -"`bpo-39080 `__: Fix the value of " -"*end_col_offset* for Starred Expression AST nodes when they are among the " -"elements in the *args* attribute of Call AST nodes." -msgstr "" -"`bpo-39080 `__: Corrige o valor de " -"*end_col_offset* para nós AST de expressão de estrela quando estiverem entre " -"os elementos no atributo *args* dos nós de chamada AST." - -#: ../../../build/NEWS:7061 -msgid "" -"`bpo-39031 `__: When parsing an \"elif\" " -"node, lineno and col_offset of the node now point to the \"elif\" keyword " -"and not to its condition, making it consistent with the \"if\" node. Patch " -"by Lysandros Nikolaou." -msgstr "" -"`bpo-39031 `__: Ao analisar um nó " -"*elif*, lineno e col_offset do nó, agora apontam para a keyword *elif* e não " -"para sua condição, tornando-o consistente com o nó *if*. Patch de Lysandros " -"Nikolaou." - -#: ../../../build/NEWS:7065 -msgid "" -"`bpo-20443 `__: In Python 3.9.0a1, sys." -"argv[0] was made an absolute path if a filename was specified on the command " -"line. Revert this change, since most users expect sys.argv to be unmodified." -msgstr "" - -#: ../../../build/NEWS:7069 -msgid "" -"`bpo-39008 `__: :c:func:`PySys_Audit` " -"now requires ``Py_ssize_t`` to be used for size arguments in the format " -"string, regardless of whether ``PY_SSIZE_T_CLEAN`` was defined at include " -"time." -msgstr "" - -#: ../../../build/NEWS:7073 -msgid "" -"`bpo-38673 `__: In REPL mode, don't " -"switch to PS2 if the line starts with comment or whitespace. Based on work " -"by Batuhan Taşkaya." -msgstr "" - -#: ../../../build/NEWS:7076 -msgid "" -"`bpo-38922 `__: Calling ``replace`` on a " -"code object now raises the ``code.__new__`` audit event." -msgstr "" - -#: ../../../build/NEWS:7079 -msgid "" -"`bpo-38920 `__: Add audit hooks for " -"when :func:`sys.excepthook` and :func:`sys.unraisablehook` are invoked." -msgstr "" - -#: ../../../build/NEWS:7082 -msgid "" -"`bpo-38892 `__: Improve documentation " -"for audit events table and functions." -msgstr "" - -#: ../../../build/NEWS:7084 -msgid "" -"`bpo-38852 `__: Set the thread stack " -"size to 8 Mb for debug builds on android platforms." -msgstr "" - -#: ../../../build/NEWS:7087 -msgid "" -"`bpo-38858 `__: Each Python " -"subinterpreter now has its own \"small integer singletons\": numbers in [-5; " -"257] range. It is no longer possible to change the number of small integers " -"at build time by overriding ``NSMALLNEGINTS`` and ``NSMALLPOSINTS`` macros: " -"macros should now be modified manually in ``pycore_pystate.h`` header file." -msgstr "" - -#: ../../../build/NEWS:7093 -msgid "" -"`bpo-36854 `__: The garbage collector " -"state becomes per interpreter (``PyInterpreterState.gc``), rather than being " -"global (``_PyRuntimeState.gc``)." -msgstr "" - -#: ../../../build/NEWS:7097 -msgid "" -"`bpo-38835 `__: The " -"``PyFPE_START_PROTECT()`` and ``PyFPE_END_PROTECT()`` macros are empty: they " -"have been doing nothing for the last year, so stop using them." -msgstr "" - -#: ../../../build/NEWS:7101 -msgid "" -"`bpo-38328 `__: Sped up the creation " -"time of constant :class:`list` and :class:`set` displays. Patch by Brandt " -"Bucher." -msgstr "" - -#: ../../../build/NEWS:7104 -msgid "" -"`bpo-38707 `__: ``MainThread.native_id`` " -"is now correctly reset in child processes spawned using :class:" -"`multiprocessing.Process`, instead of retaining the parent's value." -msgstr "" - -#: ../../../build/NEWS:7108 -msgid "" -"`bpo-38629 `__: Added ``__floor__`` and " -"``__ceil__`` methods to float object. Patch by Batuhan Taşkaya." -msgstr "" - -#: ../../../build/NEWS:7111 -msgid "" -"`bpo-27145 `__: int + int and int - int " -"operators can now return small integer singletons. Patch by hongweipeng." -msgstr "" - -#: ../../../build/NEWS:7114 -msgid "" -"`bpo-38021 `__: Provide a platform tag " -"for AIX that is sufficient for PEP425 binary distribution identification. " -"Patch by Michael Felt." -msgstr "" - -#: ../../../build/NEWS:7117 -msgid "" -"`bpo-35409 `__: Ignore GeneratorExit " -"exceptions when throwing an exception into the aclose coroutine of an " -"asynchronous generator." -msgstr "" - -#: ../../../build/NEWS:7120 -msgid "" -"`bpo-33387 `__: Removed " -"WITH_CLEANUP_START, WITH_CLEANUP_FINISH, BEGIN_FINALLY, END_FINALLY, " -"CALL_FINALLY and POP_FINALLY bytecodes. Replaced with RERAISE and " -"WITH_EXCEPT_START bytecodes. The compiler now generates different code for " -"exceptional and non-exceptional branches for 'with' and 'try-except' " -"statements. For 'try-finally' statements the 'finally' block is replicated " -"for each exit from the 'try' body." -msgstr "" - -#: ../../../build/NEWS:7130 -msgid "" -"`bpo-39033 `__: Fix :exc:`NameError` in :" -"mod:`zipimport`. Patch by Karthikeyan Singaravelan." -msgstr "" - -#: ../../../build/NEWS:7133 -msgid "" -"`bpo-39022 `__: Update importlib." -"metadata to include improvements from importlib_metadata 1.3 including " -"better serialization of EntryPoints and improved documentation for custom " -"finders." -msgstr "" - -#: ../../../build/NEWS:7137 -msgid "" -"`bpo-39006 `__: Fix asyncio when the ssl " -"module is missing: only check for ssl.SSLSocket instance if the ssl module " -"is available." -msgstr "" - -#: ../../../build/NEWS:7140 -msgid "" -"`bpo-38708 `__: Fix a potential " -"IndexError in email parser when parsing an empty msg-id." -msgstr "" - -#: ../../../build/NEWS:7143 -msgid "" -"`bpo-38698 `__: Add a new " -"``InvalidMessageID`` token to email parser to represent invalid Message-ID " -"headers. Also, add defects when there is remaining value after parsing the " -"header." -msgstr "" - -#: ../../../build/NEWS:7147 -msgid "" -"`bpo-38994 `__: Implement " -"``__class_getitem__`` for ``os.PathLike``, ``pathlib.Path``." -msgstr "" - -#: ../../../build/NEWS:7150 -msgid "" -"`bpo-38979 `__: Return class from " -"``ContextVar.__class_getitem__`` to simplify subclassing." -msgstr "" - -#: ../../../build/NEWS:7153 -msgid "" -"`bpo-38978 `__: Implement " -"``__class_getitem__`` on asyncio objects (Future, Task, Queue). Patch by " -"Batuhan Taskaya." -msgstr "" - -#: ../../../build/NEWS:7156 -msgid "" -"`bpo-38916 `__: :class:`array.array`: " -"Remove ``tostring()`` and ``fromstring()`` methods. They were aliases to " -"``tobytes()`` and ``frombytes()``, deprecated since Python 3.2." -msgstr "" - -#: ../../../build/NEWS:7160 -msgid "" -"`bpo-38986 `__: Make repr of C " -"accelerated TaskWakeupMethWrapper the same as of pure Python version." -msgstr "" - -#: ../../../build/NEWS:7163 -msgid "" -"`bpo-38982 `__: Fix asyncio " -"``PidfdChildWatcher``: handle ``waitpid()`` error. If ``waitpid()`` is " -"called elsewhere, ``waitpid()`` call fails with :exc:`ChildProcessError`: " -"use return code 255 in this case, and log a warning. It ensures that the " -"pidfd file descriptor is closed if this error occurs." -msgstr "" - -#: ../../../build/NEWS:7169 -msgid "" -"`bpo-38529 `__: Drop too noisy asyncio " -"warning about deletion of a stream without explicit ``.close()`` call." -msgstr "" - -#: ../../../build/NEWS:7172 -msgid "" -"`bpo-27413 `__: Added ability to pass " -"through ``ensure_ascii`` options to json.dumps in the ``json.tool`` command-" -"line interface." -msgstr "" - -#: ../../../build/NEWS:7175 -msgid "" -"`bpo-38634 `__: The :mod:`readline` " -"module now detects if Python is linked to libedit at runtime on all " -"platforms. Previously, the check was only done on macOS." -msgstr "" - -#: ../../../build/NEWS:7179 -msgid "" -"`bpo-33684 `__: Fix ``json.tool`` failed " -"to read a JSON file with non-ASCII characters when locale encoding is not " -"UTF-8." -msgstr "" - -#: ../../../build/NEWS:7182 -msgid "" -"`bpo-38698 `__: Prevent " -"UnboundLocalError to pop up in parse_message_id." -msgstr "" - -#: ../../../build/NEWS:7184 -msgid "" -"parse_message_id() was improperly using a token defined inside an exception " -"handler, which was raising `UnboundLocalError` on parsing an invalid value. " -"Patch by Claudiu Popa." -msgstr "" - -#: ../../../build/NEWS:7188 -msgid "" -"`bpo-38927 `__: Use ``python -m pip`` " -"instead of ``pip`` to upgrade dependencies in venv." -msgstr "" - -#: ../../../build/NEWS:7191 -msgid "" -"`bpo-26730 `__: Fix " -"``SpooledTemporaryFile.rollover()`` might corrupt the file when it is in " -"text mode. Patch by Serhiy Storchaka." -msgstr "" - -#: ../../../build/NEWS:7194 -msgid "" -"`bpo-38881 `__: random.choices() now " -"raises a ValueError when all the weights are zero." -msgstr "" - -#: ../../../build/NEWS:7197 -msgid "" -"`bpo-38876 `__: Raise pickle." -"UnpicklingError when loading an item from memo for invalid input." -msgstr "" - -#: ../../../build/NEWS:7200 -msgid "" -"The previous code was raising a `KeyError` for both the Python and C " -"implementation. This was caused by the specified index of an invalid input " -"which did not exist in the memo structure, where the pickle stores what " -"objects it has seen. The malformed input would have caused either a `BINGET` " -"or `LONG_BINGET` load from the memo, leading to a `KeyError` as the " -"determined index was bogus. Patch by Claudiu Popa" -msgstr "" - -#: ../../../build/NEWS:7207 -msgid "" -"`bpo-38688 `__: Calling func:`shutil." -"copytree` to copy a directory tree from one directory to another " -"subdirectory resulted in an endless loop and a RecursionError. A fix was " -"added to consume an iterator and create the list of the entries to be " -"copied, avoiding the recursion for newly created directories. Patch by Bruno " -"P. Kinoshita." -msgstr "" - -#: ../../../build/NEWS:7213 -msgid "" -"`bpo-38863 `__: Improve :func:`is_cgi` " -"function in :mod:`http.server`, which enables processing the case that cgi " -"directory is a child of another directory other than root." -msgstr "" - -#: ../../../build/NEWS:7217 -msgid "" -"`bpo-37838 `__: :meth:`typing." -"get_type_hints` properly handles functions decorated with :meth:`functools." -"wraps`." -msgstr "" - -#: ../../../build/NEWS:7220 -msgid "" -"`bpo-38870 `__: Expose :func:`ast." -"unparse` as a function of the :mod:`ast` module that can be used to unparse " -"an :class:`ast.AST` object and produce a string with code that would produce " -"an equivalent :class:`ast.AST` object when parsed. Patch by Pablo Galindo " -"and Batuhan Taskaya." -msgstr "" - -#: ../../../build/NEWS:7225 -msgid "" -"`bpo-38859 `__: AsyncMock now returns " -"StopAsyncIteration on the exhaustion of a side_effects iterable. Since " -"PEP-479 its Impossible to raise a StopIteration exception from a coroutine." -msgstr "" - -#: ../../../build/NEWS:7229 -msgid "" -"`bpo-38857 `__: AsyncMock fix for return " -"values that are awaitable types. This also covers side_effect iterable " -"values that happened to be awaitable, and wraps callables that return an " -"awaitable type. Before these awaitables were being awaited instead of being " -"returned as is." -msgstr "" - -#: ../../../build/NEWS:7234 -msgid "" -"`bpo-38834 `__: :class:`typing." -"TypedDict` subclasses now track which keys are optional using the " -"``__required_keys__`` and ``__optional_keys__`` attributes, to enable " -"runtime validation by downstream projects. Patch by Zac Hatfield-Dodds." -msgstr "" - -#: ../../../build/NEWS:7239 -msgid "" -"`bpo-38821 `__: Fix unhandled exceptions " -"in :mod:`argparse` when internationalizing error messages for arguments with " -"``nargs`` set to special (non-integer) values. Patch by Federico Bond." -msgstr "" - -#: ../../../build/NEWS:7243 -msgid "" -"`bpo-38820 `__: Make Python compatible " -"with OpenSSL 3.0.0. :func:`ssl.SSLSocket.getpeercert` no longer returns IPv6 " -"addresses with a trailing new line." -msgstr "" - -#: ../../../build/NEWS:7247 -msgid "" -"`bpo-38811 `__: Fix an unhandled " -"exception in :mod:`pathlib` when :meth:`os.link` is missing. Patch by Toke " -"Høiland-Jørgensen." -msgstr "" - -#: ../../../build/NEWS:7250 -msgid "" -"`bpo-38686 `__: Added support for " -"multiple ``qop`` values in :class:`urllib.request.AbstractDigestAuthHandler`." -msgstr "" - -#: ../../../build/NEWS:7253 -msgid "" -"`bpo-38712 `__: Add the Linux-specific :" -"func:`signal.pidfd_send_signal` function, which allows sending a signal to a " -"process identified by a file descriptor rather than a pid." -msgstr "" - -#: ../../../build/NEWS:7257 -msgid "" -"`bpo-38348 `__: Add ``-i`` and ``--" -"indent`` (indentation level), and ``--no-type-comments`` (type comments) " -"command line options to ast parsing tool." -msgstr "" - -#: ../../../build/NEWS:7261 -msgid "" -"`bpo-37523 `__: Change :class:`zipfile." -"ZipExtFile` to raise ``ValueError`` when trying to access the underlying " -"file object after it has been closed. This new behavior is consistent with " -"how accessing closed files is handled in other parts of Python." -msgstr "" - -#: ../../../build/NEWS:7266 -msgid "" -"`bpo-38045 `__: Improve the performance " -"of :func:`enum._decompose` in :mod:`enum`. Patch by hongweipeng." -msgstr "" - -#: ../../../build/NEWS:7269 -msgid "" -"`bpo-36820 `__: Break cycle generated " -"when saving an exception in socket.py, codeop.py and dyld.py as they keep " -"alive not only the exception but user objects through the ``__traceback__`` " -"attribute. Patch by Mario Corchero." -msgstr "" - -#: ../../../build/NEWS:7273 -msgid "" -"`bpo-36406 `__: Handle namespace " -"packages in :mod:`doctest`. Patch by Karthikeyan Singaravelan." -msgstr "" - -#: ../../../build/NEWS:7276 -msgid "" -"`bpo-34776 `__: Fix dataclasses to " -"support forward references in type annotations" -msgstr "" - -#: ../../../build/NEWS:7279 -msgid "" -"`bpo-20928 `__: ElementTree supports " -"recursive XInclude processing. Patch by Stefan Behnel." -msgstr "" - -#: ../../../build/NEWS:7282 -msgid "" -"`bpo-29636 `__: Add whitespace options " -"for formatting JSON with the ``json.tool`` CLI. The following mutually " -"exclusive options are now supported: ``--indent`` for setting the indent " -"level in spaces; ``--tab`` for indenting with tabs; ``--no-indent`` for " -"suppressing newlines; and ``--compact`` for suppressing all whitespace. The " -"default behavior remains the same as ``--indent=4``." -msgstr "" - -#: ../../../build/NEWS:7292 -msgid "" -"`bpo-38928 `__: Correct when venv's " -"``upgrade_dependencies()`` and ``--upgrade-deps`` are added." -msgstr "" - -#: ../../../build/NEWS:7295 -msgid "" -"`bpo-38899 `__: Update documentation to " -"state that to activate virtual environments under fish one should use " -"`source`, not `.` as documented at https://fishshell.com/docs/current/" -"commands.html#source." -msgstr "" - -#: ../../../build/NEWS:7299 -msgid "" -"`bpo-22377 `__: Improves documentation " -"of the values that :meth:`datetime.datetime.strptime` accepts for ``%Z``. " -"Patch by Karl Dubost." -msgstr "" - -#: ../../../build/NEWS:7306 -msgid "" -"`bpo-38546 `__: Fix " -"test_ressources_gced_in_workers() of test_concurrent_futures: explicitly " -"stop the manager to prevent leaking a child process running in the " -"background after the test completes." -msgstr "" -"`bpo-38546 `__: Fix " -"test_ressources_gced_in_workers() do test_concurrent_futures: para " -"explicitamente o gerente para prevenir o vazamento de um processo filho em " -"execução em segundo plano após a conclusão do teste. " - -#: ../../../build/NEWS:7310 -msgid "" -"`bpo-38546 `__: Multiprocessing and " -"concurrent.futures tests now stop the resource tracker process when tests " -"complete." -msgstr "" - -#: ../../../build/NEWS:7313 -msgid "" -"`bpo-38614 `__: Replace hardcoded " -"timeout constants in tests with new :mod:`test.support` constants: :data:" -"`~test.support.LOOPBACK_TIMEOUT`, :data:`~test.support.INTERNET_TIMEOUT`, :" -"data:`~test.support.SHORT_TIMEOUT` and :data:`~test.support.LONG_TIMEOUT`. " -"It becomes easier to adjust these four timeout constants for all tests at " -"once, rather than having to adjust every single test file." -msgstr "" - -#: ../../../build/NEWS:7321 -msgid "" -"`bpo-38547 `__: Fix test_pty: if the " -"process is the session leader, closing the master file descriptor raises a " -"SIGHUP signal: simply ignore SIGHUP when running the tests." -msgstr "" - -#: ../../../build/NEWS:7325 -msgid "" -"`bpo-38992 `__: Fix a test for :func:" -"`math.fsum` that was failing due to constant folding." -msgstr "" - -#: ../../../build/NEWS:7328 -msgid "" -"`bpo-38991 `__: :mod:`test.support`: :" -"func:`~test.support.run_python_until_end`, :func:`~test.support." -"assert_python_ok` and :func:`~test.support.assert_python_failure` functions " -"no longer strip whitespaces from stderr. Remove ``test.support." -"strip_python_stderr()`` function." -msgstr "" - -#: ../../../build/NEWS:7335 -msgid "" -"`bpo-38965 `__: Fix test_faulthandler on " -"GCC 10. Use the \"volatile\" keyword in ``faulthandler._stack_overflow()`` " -"to prevent tail call optimization on any compiler, rather than relying on " -"compiler specific pragma." -msgstr "" - -#: ../../../build/NEWS:7339 -msgid "" -"`bpo-38875 `__: test_capi: trashcan " -"tests now require the test \"cpu\" resource." -msgstr "" - -#: ../../../build/NEWS:7341 -msgid "" -"`bpo-38841 `__: Skip asyncio " -"test_create_datagram_endpoint_existing_sock_unix on platforms lacking a " -"functional bind() for named unix domain sockets." -msgstr "" - -#: ../../../build/NEWS:7344 -msgid "" -"`bpo-38692 `__: Skip the test_posix." -"test_pidfd_open() test if ``os.pidfd_open()`` fails with a :exc:" -"`PermissionError`. This situation can happen in a Linux sandbox using a " -"syscall whitelist which doesn't allow the ``pidfd_open()`` syscall yet." -msgstr "" - -#: ../../../build/NEWS:7349 -msgid "" -"`bpo-38839 `__: Fix some unused " -"functions in tests. Patch by Adam Johnson." -msgstr "" - -#: ../../../build/NEWS:7351 -msgid "" -"`bpo-38669 `__: Raise :exc:`TypeError` " -"when passing target as a string with :meth:`unittest.mock.patch.object`." -msgstr "" - -#: ../../../build/NEWS:7354 -msgid "" -"`bpo-37957 `__: test.regrtest now can " -"receive a list of test patterns to ignore (using the -i/--ignore argument) " -"or a file with a list of patterns to ignore (using the --ignore-file " -"argument). Patch by Pablo Galindo." -msgstr "" - -#: ../../../build/NEWS:7361 -msgid "" -"`bpo-37404 `__: :mod:`asyncio` now " -"raises :exc:`TyperError` when calling incompatible methods with an :class:" -"`ssl.SSLSocket` socket. Patch by Ido Michael." -msgstr "" - -#: ../../../build/NEWS:7365 -msgid "" -"`bpo-36500 `__: Added an optional \"regen" -"\" project to the Visual Studio solution that will regenerate all grammar, " -"tokens, and opcodes." -msgstr "" - -#: ../../../build/NEWS:7371 -msgid "" -"`bpo-39007 `__: Add auditing events to " -"functions in :mod:`winreg`." -msgstr "" - -#: ../../../build/NEWS:7373 -msgid "" -"`bpo-33125 `__: Add support for building " -"and releasing Windows ARM64 packages." -msgstr "" - -#: ../../../build/NEWS:7378 -msgid "" -"`bpo-37931 `__: Fixed a crash on OSX " -"dynamic builds that occurred when re-initializing the posix module after a " -"Py_Finalize if the environment had changed since the previous `import " -"posix`. Patch by Benoît Hudson." -msgstr "" - -#: ../../../build/NEWS:7385 -msgid "" -"`bpo-38944 `__: Escape key now closes " -"IDLE completion windows. Patch by Johnny Najera." -msgstr "" - -#: ../../../build/NEWS:7388 -msgid "" -"`bpo-38943 `__: Fix IDLE autocomplete " -"windows not always appearing on some systems. Patch by Johnny Najera." -msgstr "" - -#: ../../../build/NEWS:7391 -msgid "" -"`bpo-38862 `__: 'Strip Trailing " -"Whitespace' on the Format menu removes extra newlines at the end of non-" -"shell files." -msgstr "" - -#: ../../../build/NEWS:7394 -msgid "" -"`bpo-38636 `__: Fix IDLE Format menu tab " -"toggle and file indent width. These functions (default shortcuts Alt-T and " -"Alt-U) were mistakenly disabled in 3.7.5 and 3.8.0." -msgstr "" - -#: ../../../build/NEWS:7401 -msgid "" -"`bpo-38896 `__: Remove " -"``PyUnicode_ClearFreeList()`` function: the Unicode free list has been " -"removed in Python 3.3." -msgstr "" - -#: ../../../build/NEWS:7404 -msgid "" -"`bpo-37340 `__: Remove " -"``PyMethod_ClearFreeList()`` and ``PyCFunction_ClearFreeList()`` functions: " -"the free lists of bound method objects have been removed." -msgstr "" - -#: ../../../build/NEWS:7408 -msgid "" -"`bpo-38835 `__: Exclude " -"``PyFPE_START_PROTECT()`` and ``PyFPE_END_PROTECT()`` macros of ``pyfpe.h`` " -"from ``Py_LIMITED_API`` (stable API)." -msgstr "" - -#: ../../../build/NEWS:7413 -msgid "Python 3.9.0 alpha 1" -msgstr "" - -#: ../../../build/NEWS:7415 -msgid "*Release date: 2019-11-19*" -msgstr "" - -#: ../../../build/NEWS:7420 -msgid "" -"`bpo-38722 `__: :mod:`runpy` now uses :" -"meth:`io.open_code` to open code files. Patch by Jason Killen." -msgstr "" - -#: ../../../build/NEWS:7423 -msgid "" -"`bpo-38622 `__: Add additional audit " -"events for the :mod:`ctypes` module." -msgstr "" - -#: ../../../build/NEWS:7425 -msgid "" -"`bpo-38418 `__: Fixes audit event for :" -"func:`os.system` to be named ``os.system``." -msgstr "" - -#: ../../../build/NEWS:7428 -msgid "" -"`bpo-38243 `__: Escape the server title " -"of :class:`xmlrpc.server.DocXMLRPCServer` when rendering the document page " -"as HTML. (Contributed by Dong-hee Na in :issue:`38243`.)" -msgstr "" - -#: ../../../build/NEWS:7432 -msgid "" -"`bpo-38174 `__: Update vendorized expat " -"library version to 2.2.8, which resolves CVE-2019-15903." -msgstr "" - -#: ../../../build/NEWS:7435 -msgid "" -"`bpo-37764 `__: Fixes email." -"_header_value_parser.get_unstructured going into an infinite loop for a " -"specific case in which the email header does not have trailing whitespace, " -"and the case in which it contains an invalid encoded word. Patch by Ashwin " -"Ramaswami." -msgstr "" - -#: ../../../build/NEWS:7440 -msgid "" -"`bpo-37461 `__: Fix an infinite loop " -"when parsing specially crafted email headers. Patch by Abhilash Raj." -msgstr "" - -#: ../../../build/NEWS:7443 -msgid "" -"`bpo-37363 `__: Adds audit events for " -"the range of supported run commands (see :ref:`using-on-general`)." -msgstr "" - -#: ../../../build/NEWS:7446 -msgid "" -"`bpo-37463 `__: ssl.match_hostname() no " -"longer accepts IPv4 addresses with additional text after the address and " -"only quad-dotted notation without trailing whitespaces. Some inet_aton() " -"implementations ignore whitespace and all data after whitespace, e.g. " -"'127.0.0.1 whatever'." -msgstr "" - -#: ../../../build/NEWS:7451 -msgid "" -"`bpo-37363 `__: Adds audit events for :" -"mod:`ensurepip`, :mod:`ftplib`, :mod:`glob`, :mod:`imaplib`, :mod:" -"`nntplib`, :mod:`pdb`, :mod:`poplib`, :mod:`shutil`, :mod:`smtplib`, :mod:" -"`sqlite3`, :mod:`subprocess`, :mod:`telnetlib`, :mod:`tempfile` and :mod:" -"`webbrowser`, as well as :func:`os.listdir`, :func:`os.scandir` and :func:" -"`breakpoint`." -msgstr "" - -#: ../../../build/NEWS:7457 -msgid "" -"`bpo-37364 `__: :func:`io.open_code` is " -"now used when reading :file:`.pth` files." -msgstr "" - -#: ../../../build/NEWS:7460 -msgid "" -"`bpo-34631 `__: Updated OpenSSL to " -"1.1.1c in Windows installer" -msgstr "" - -#: ../../../build/NEWS:7462 -msgid "" -"`bpo-34155 `__: Fix parsing of invalid " -"email addresses with more than one ``@`` (e.g. a@b@c.com.) to not return the " -"part before 2nd ``@`` as valid email address. Patch by maxking & jpic." -msgstr "" - -#: ../../../build/NEWS:7469 -msgid "" -"`bpo-38631 `__: Replace " -"``Py_FatalError()`` call with a regular :exc:`RuntimeError` exception in :" -"meth:`float.__getformat__`." -msgstr "" - -#: ../../../build/NEWS:7472 -msgid "" -"`bpo-38639 `__: Optimized :func:`math." -"floor()`, :func:`math.ceil()` and :func:`math.trunc()` for floats." -msgstr "" - -#: ../../../build/NEWS:7475 -msgid "" -"`bpo-38640 `__: Fixed a bug in the " -"compiler that was causing to raise in the presence of break statements and " -"continue statements inside always false while loops. Patch by Pablo Galindo." -msgstr "" - -#: ../../../build/NEWS:7479 -msgid "" -"`bpo-38613 `__: Optimized some set " -"operations (e.g. ``|``, ``^``, and ``-``) of ``dict_keys``. ``d.keys() | " -"other`` was slower than ``set(d) | other`` but they are almost same " -"performance for now." -msgstr "" - -#: ../../../build/NEWS:7483 -msgid "" -"`bpo-28029 `__: ``\"\".replace(\"\", s, " -"n)`` now returns ``s`` instead of an empty string for all non-zero ``n``. " -"There are similar changes for :class:`bytes` and :class:`bytearray` objects." -msgstr "" - -#: ../../../build/NEWS:7487 -msgid "" -"`bpo-38535 `__: Fixed line numbers and " -"column offsets for AST nodes for calls without arguments in decorators." -msgstr "" - -#: ../../../build/NEWS:7490 -msgid "" -"`bpo-38525 `__: Fix a segmentation fault " -"when using reverse iterators of empty ``dict`` objects. Patch by Dong-hee Na " -"and Inada Naoki." -msgstr "" - -#: ../../../build/NEWS:7493 -msgid "" -"`bpo-38465 `__: :class:`bytearray`, :" -"class:`~array.array` and :class:`~mmap.mmap` objects allow now to export " -"more than 2**31 buffers at a time." -msgstr "" - -#: ../../../build/NEWS:7497 -msgid "" -"`bpo-38469 `__: Fixed a bug where the " -"scope of named expressions was not being resolved correctly in the presence " -"of the *global* keyword. Patch by Pablo Galindo." -msgstr "" - -#: ../../../build/NEWS:7501 -msgid "" -"`bpo-38437 `__: Activate the " -"``GC_DEBUG`` macro for debug builds of the interpreter (when ``Py_DEBUG`` is " -"set). Patch by Pablo Galindo." -msgstr "" - -#: ../../../build/NEWS:7504 -msgid "" -"`bpo-38379 `__: 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. Patch by Pablo Galindo and Tim Peters." -msgstr "" - -#: ../../../build/NEWS:7510 -msgid "" -"`bpo-38379 `__: When cyclic garbage " -"collection (gc) runs finalizers that resurrect unreachable objects, the " -"current gc run ends, without collecting any cyclic trash. However, the " -"statistics reported by ``collect()`` and ``get_stats()`` claimed that all " -"cyclic trash found was collected, and that the resurrected objects were " -"collected. Changed the stats to report that none were collected." -msgstr "" - -#: ../../../build/NEWS:7517 -msgid "" -"`bpo-38392 `__: In debug mode, :c:func:" -"`PyObject_GC_Track` now calls ``tp_traverse()`` of the object type to ensure " -"that the object is valid: test that objects visited by ``tp_traverse()`` are " -"valid." -msgstr "" - -#: ../../../build/NEWS:7521 -msgid "" -"`bpo-38210 `__: Remove unecessary " -"intersection and update set operation in dictview with empty set. " -"(Contributed by Dong-hee Na in :issue:`38210`.)" -msgstr "" - -#: ../../../build/NEWS:7524 -msgid "" -"`bpo-38402 `__: Check the error from the " -"system's underlying ``crypt`` or ``crypt_r``." -msgstr "" - -#: ../../../build/NEWS:7527 -msgid "" -"`bpo-37474 `__: On FreeBSD, Python no " -"longer calls ``fedisableexcept()`` at startup to control the floating point " -"control mode. The call became useless since FreeBSD 6: it became the default " -"mode." -msgstr "" - -#: ../../../build/NEWS:7531 -msgid "" -"`bpo-38006 `__: Fix a bug due to the " -"interaction of weakrefs and the cyclic garbage collector. We must clear any " -"weakrefs in garbage in order to prevent their callbacks from executing and " -"causing a crash." -msgstr "" - -#: ../../../build/NEWS:7535 -msgid "" -"`bpo-38317 `__: Fix warnings options " -"priority: ``PyConfig.warnoptions`` has the highest priority, as stated in " -"the :pep:`587`." -msgstr "" - -#: ../../../build/NEWS:7538 -msgid "" -"`bpo-38310 `__: Predict " -"``BUILD_MAP_UNPACK_WITH_CALL`` -> ``CALL_FUNCTION_EX`` opcode pairs in the " -"main interpreter loop. Patch by Brandt Bucher." -msgstr "" - -#: ../../../build/NEWS:7541 -msgid "" -"`bpo-36871 `__: Improve error handling " -"for the assert_has_calls and assert_has_awaits methods of mocks. Fixed a bug " -"where any errors encountered while binding the expected calls to the mock's " -"spec were silently swallowed, leading to misleading error output." -msgstr "" - -#: ../../../build/NEWS:7546 -msgid "" -"`bpo-11410 `__: Better control over " -"symbol visibility is provided through use of the visibility attributes " -"available in gcc >= 4.0, provided in a uniform way across POSIX and Windows. " -"The POSIX build files have been updated to compile with -fvisibility=hidden, " -"minimising exported symbols." -msgstr "" - -#: ../../../build/NEWS:7551 -msgid "" -"`bpo-38219 `__: Optimized the :class:" -"`dict` constructor and the :meth:`~dict.update` method for the case when the " -"argument is a dict." -msgstr "" - -#: ../../../build/NEWS:7554 -msgid "" -"`bpo-38236 `__: Python now dumps path " -"configuration if it fails to import the Python codecs of the filesystem and " -"stdio encodings." -msgstr "" - -#: ../../../build/NEWS:7557 -msgid "" -"`bpo-38013 `__: Allow to call " -"``async_generator_athrow().throw(...)`` even for non-started async generator " -"helper. It fixes annoying warning at the end of :func:`asyncio.run` call." -msgstr "" - -#: ../../../build/NEWS:7561 -msgid "" -"`bpo-38124 `__: Fix an off-by-one error " -"in PyState_AddModule that could cause out-of-bounds memory access." -msgstr "" - -#: ../../../build/NEWS:7564 -msgid "" -"`bpo-38116 `__: The select module is now " -"PEP-384 compliant and no longer has static state" -msgstr "" - -#: ../../../build/NEWS:7567 -msgid "" -"`bpo-38113 `__: ast module updated to " -"PEP-384 and all statics removed" -msgstr "" - -#: ../../../build/NEWS:7569 -msgid "" -"`bpo-38076 `__: The struct module is now " -"PEP-384 compatible" -msgstr "" - -#: ../../../build/NEWS:7571 -msgid "" -"`bpo-38075 `__: The random module is now " -"PEP-384 compatible" -msgstr "" - -#: ../../../build/NEWS:7573 -msgid "" -"`bpo-38074 `__: zlib module made PEP-384 " -"compatible" -msgstr "" - -#: ../../../build/NEWS:7575 -msgid "" -"`bpo-38073 `__: Make pwd extension " -"module PEP-384 compatible" -msgstr "" - -#: ../../../build/NEWS:7577 -msgid "" -"`bpo-38072 `__: grp module made PEP-384 " -"compatible" -msgstr "" - -#: ../../../build/NEWS:7579 -msgid "" -"`bpo-38069 `__: Make _posixsubprocess " -"PEP-384 compatible" -msgstr "" - -#: ../../../build/NEWS:7581 -msgid "" -"`bpo-38071 `__: Make termios extension " -"module PEP-384 compatible" -msgstr "" - -#: ../../../build/NEWS:7583 -msgid "" -"`bpo-38005 `__: Fixed comparing and " -"creating of InterpreterID and ChannelID." -msgstr "" - -#: ../../../build/NEWS:7585 -msgid "" -"`bpo-36946 `__: Fix possible signed " -"integer overflow when handling slices. Patch by hongweipeng." -msgstr "" - -#: ../../../build/NEWS:7588 -msgid "" -"`bpo-37994 `__: Fixed silencing " -"arbitrary errors if an attribute lookup fails in several sites. Only " -"AttributeError should be silenced." -msgstr "" - -#: ../../../build/NEWS:7591 -msgid "" -"`bpo-8425 `__: Optimize set " -"difference_update for the case when the other set is much larger than the " -"base set. (Suggested by Evgeny Kapun with code contributed by Michele Orrù)." -msgstr "" - -#: ../../../build/NEWS:7595 -msgid "" -"`bpo-37966 `__: The implementation of :" -"func:`~unicodedata.is_normalized` has been greatly sped up on strings that " -"aren't normalized, by implementing the full normalization-quick-check " -"algorithm from the Unicode standard." -msgstr "" - -#: ../../../build/NEWS:7599 -msgid "" -"`bpo-37947 `__: Adjust correctly the " -"recursion level in the symtable generation for named expressions. Patch by " -"Pablo Galindo." -msgstr "" - -#: ../../../build/NEWS:7602 -msgid "" -"`bpo-37812 `__: The ``CHECK_SMALL_INT`` " -"macro used inside :file:`Object/longobject.c` has been replaced with an " -"explicit ``return`` at each call site." -msgstr "" - -#: ../../../build/NEWS:7606 -msgid "" -"`bpo-37751 `__: Fix :func:`codecs." -"lookup` to normalize the encoding name the same way than :func:`encodings." -"normalize_encoding`, except that :func:`codecs.lookup` also converts the " -"name to lower case." -msgstr "" - -#: ../../../build/NEWS:7610 -msgid "" -"`bpo-37830 `__: Fixed compilation of :" -"keyword:`break` and :keyword:`continue` in the :keyword:`finally` block when " -"the corresponding :keyword:`try` block contains :keyword:`return` with a non-" -"constant value." -msgstr "" - -#: ../../../build/NEWS:7614 -msgid "" -"`bpo-20490 `__: Improve import error " -"message for partially initialized module on circular ``from`` imports - by " -"Anthony Sottile." -msgstr "" - -#: ../../../build/NEWS:7617 -msgid "" -"`bpo-37840 `__: Fix handling of negative " -"indices in :c:member:`~PySequenceMethods.sq_item` of :class:`bytearray`. " -"Patch by Sergey Fedoseev." -msgstr "" - -#: ../../../build/NEWS:7621 -msgid "" -"`bpo-37802 `__: Slightly improve " -"performance of :c:func:`PyLong_FromUnsignedLong`, :c:func:" -"`PyLong_FromUnsignedLongLong` and :c:func:`PyLong_FromSize_t`. Patch by " -"Sergey Fedoseev." -msgstr "" - -#: ../../../build/NEWS:7625 -msgid "" -"`bpo-37409 `__: Ensure explicit relative " -"imports from interactive sessions and scripts (having no parent package) " -"always raise ImportError, rather than treating the current module as the " -"package. Patch by Ben Lewis." -msgstr "" - -#: ../../../build/NEWS:7629 -msgid "" -"`bpo-32912 `__: Reverted :issue:`32912`: " -"emitting :exc:`SyntaxWarning` instead of :exc:`DeprecationWarning` for " -"invalid escape sequences in string and bytes literals." -msgstr "" - -#: ../../../build/NEWS:7633 -msgid "" -"`bpo-37757 `__: :pep:`572`: As described " -"in the PEP, assignment expressions now raise :exc:`SyntaxError` when their " -"interaction with comprehension scoping results in an ambiguous target scope." -msgstr "" - -#: ../../../build/NEWS:7637 -msgid "" -"The ``TargetScopeError`` subclass originally proposed by the PEP has been " -"removed in favour of just raising regular syntax errors for the disallowed " -"cases." -msgstr "" - -#: ../../../build/NEWS:7641 -msgid "" -"`bpo-36279 `__: Fix potential use of " -"uninitialized memory in :func:`os.wait3`." -msgstr "" - -#: ../../../build/NEWS:7643 -msgid "" -"`bpo-36311 `__: Decoding bytes objects " -"larger than 2GiB is faster and no longer fails when a multibyte characters " -"spans a chunk boundary." -msgstr "" - -#: ../../../build/NEWS:7646 -msgid "" -"`bpo-34880 `__: The :keyword:`assert` " -"statement now works properly if the :exc:`AssertionError` exception is being " -"shadowed. Patch by Zackery Spytz." -msgstr "" - -#: ../../../build/NEWS:7649 -msgid "" -"`bpo-37340 `__: Removed object cache " -"(``free_list``) for bound method objects. Temporary bound method objects are " -"less used than before thanks to the ``LOAD_METHOD`` opcode and the " -"``_PyObject_VectorcallMethod`` C API." -msgstr "" - -#: ../../../build/NEWS:7653 -msgid "" -"`bpo-37648 `__: Fixed minor " -"inconsistency in :meth:`list.__contains__`, :meth:`tuple.__contains__` and a " -"few other places. The collection's item is now always at the left and the " -"needle is on the right of ``==``." -msgstr "" - -#: ../../../build/NEWS:7657 -msgid "" -"`bpo-37444 `__: Update differing " -"exception between :meth:`builtins.__import__` and :meth:`importlib." -"__import__`." -msgstr "" - -#: ../../../build/NEWS:7660 -msgid "" -"`bpo-37619 `__: When adding a wrapper " -"descriptor from one class to a different class (for example, setting " -"``__add__ = str.__add__`` on an ``int`` subclass), an exception is correctly " -"raised when the operator is called." -msgstr "" - -#: ../../../build/NEWS:7664 -msgid "" -"`bpo-37593 `__: Swap the positions of " -"the *posonlyargs* and *args* parameters in the constructor of :class:`ast." -"parameters` nodes." -msgstr "" - -#: ../../../build/NEWS:7667 -msgid "" -"`bpo-37543 `__: Optimized pymalloc for " -"non PGO build." -msgstr "" - -#: ../../../build/NEWS:7669 -msgid "" -"`bpo-37537 `__: Compute allocated " -"pymalloc blocks inside _Py_GetAllocatedBlocks(). This slows down " -"_Py_GetAllocatedBlocks() but gives a small speedup to _PyObject_Malloc() and " -"_PyObject_Free()." -msgstr "" - -#: ../../../build/NEWS:7673 -msgid "" -"`bpo-37467 `__: Fix :func:`sys." -"excepthook` and :c:func:`PyErr_Display` if a filename is a bytes string. For " -"example, for a SyntaxError exception where the filename attribute is a bytes " -"string." -msgstr "" - -#: ../../../build/NEWS:7677 -msgid "" -"`bpo-37433 `__: Fix ``SyntaxError`` " -"indicator printing too many spaces for multi-line strings - by Anthony " -"Sottile." -msgstr "" - -#: ../../../build/NEWS:7680 -msgid "" -"`bpo-37417 `__: :meth:`bytearray.extend` " -"now correctly handles errors that arise during iteration. Patch by Brandt " -"Bucher." -msgstr "" - -#: ../../../build/NEWS:7683 -msgid "" -"`bpo-37414 `__: The undocumented ``sys." -"callstats()`` function has been removed. Since Python 3.7, it was deprecated " -"and always returned ``None``. It required a special build option " -"``CALL_PROFILE`` which was already removed in Python 3.7." -msgstr "" - -#: ../../../build/NEWS:7688 -msgid "" -"`bpo-37392 `__: Remove ``sys." -"getcheckinterval()`` and ``sys.setcheckinterval()`` functions. They were " -"deprecated since Python 3.2. Use :func:`sys.getswitchinterval` and :func:" -"`sys.setswitchinterval` instead. Remove also ``check_interval`` field of the " -"``PyInterpreterState`` structure." -msgstr "" - -#: ../../../build/NEWS:7694 -msgid "" -"`bpo-37388 `__: In development mode and " -"in debug build, *encoding* and *errors* arguments are now checked on string " -"encoding and decoding operations. Examples: :func:`open`, :meth:`str.encode` " -"and :meth:`bytes.decode`." -msgstr "" - -#: ../../../build/NEWS:7698 -msgid "" -"By default, for best performances, the *errors* argument is only checked at " -"the first encoding/decoding error, and the *encoding* argument is sometimes " -"ignored for empty strings." -msgstr "" - -#: ../../../build/NEWS:7702 -msgid "" -"`bpo-37348 `__: Optimized decoding short " -"ASCII string with UTF-8 and ascii codecs. ``b\"foo\".decode()`` is about 15% " -"faster. Patch by Inada Naoki." -msgstr "" - -#: ../../../build/NEWS:7705 -msgid "" -"`bpo-24214 `__: Improved support of the " -"surrogatepass error handler in the UTF-8 and UTF-16 incremental decoders." -msgstr "" - -#: ../../../build/NEWS:7708 -msgid "" -"`bpo-37330 `__: :func:`open`, :func:`io." -"open`, :func:`codecs.open` and :class:`fileinput.FileInput` no longer accept " -"``'U'`` (\"universal newline\") in the file mode. This flag was deprecated " -"since Python 3.3." -msgstr "" - -#: ../../../build/NEWS:7712 -msgid "" -"`bpo-35224 `__: Reverse evaluation order " -"of key: value in dict comprehensions as proposed in PEP 572. I.e. in ``{k: v " -"for ...}``, ``k`` will be evaluated before ``v``." -msgstr "" - -#: ../../../build/NEWS:7716 -msgid "" -"`bpo-37316 `__: Fix the :c:func:" -"`PySys_Audit` call in :class:`mmap.mmap`." -msgstr "" - -#: ../../../build/NEWS:7718 -msgid "" -"`bpo-37300 `__: Remove an unnecssary " -"Py_XINCREF in classobject.c." -msgstr "" - -#: ../../../build/NEWS:7720 -msgid "" -"`bpo-37269 `__: Fix a bug in the " -"peephole optimizer that was not treating correctly constant conditions with " -"binary operators. Patch by Pablo Galindo." -msgstr "" - -#: ../../../build/NEWS:7724 -msgid "" -"`bpo-20443 `__: Python now gets the " -"absolute path of the script filename specified on the command line (ex: " -"\"python3 script.py\"): the __file__ attribute of the __main__ module and " -"sys.path[0] become an absolute path, rather than a relative path." -msgstr "" - -#: ../../../build/NEWS:7729 -msgid "" -"`bpo-37257 `__: Python's small object " -"allocator (``obmalloc.c``) now allows (no more than) one empty arena to " -"remain available for immediate reuse, without returning it to the OS. This " -"prevents thrashing in simple loops where an arena could be created and " -"destroyed anew on each iteration." -msgstr "" - -#: ../../../build/NEWS:7734 -msgid "" -"`bpo-37231 `__: The dispatching of type " -"slots to special methods (for example calling ``__mul__`` when doing ``x * " -"y``) has been made faster." -msgstr "" - -#: ../../../build/NEWS:7737 -msgid "" -"`bpo-36974 `__: Implemented separate " -"vectorcall functions for every calling convention of builtin functions and " -"methods. This improves performance for calls." -msgstr "" - -#: ../../../build/NEWS:7741 -msgid "" -"`bpo-37213 `__: Handle correctly " -"negative line offsets in the peephole optimizer. Patch by Pablo Galindo." -msgstr "" - -#: ../../../build/NEWS:7744 -msgid "" -"`bpo-37219 `__: Remove erroneous " -"optimization for empty set differences." -msgstr "" - -#: ../../../build/NEWS:7746 -msgid "" -"`bpo-15913 `__: Implement :c:func:" -"`PyBuffer_SizeFromFormat()` function (previously documented but not " -"implemented): call :func:`struct.calcsize`. Patch by Joannah Nanjekye." -msgstr "" - -#: ../../../build/NEWS:7750 -msgid "" -"`bpo-36922 `__: Slot functions optimize " -"any callable with ``Py_TPFLAGS_METHOD_DESCRIPTOR`` instead of only instances " -"of ``function``." -msgstr "" - -#: ../../../build/NEWS:7754 -msgid "" -"`bpo-36974 `__: The slot " -"``tp_vectorcall_offset`` is inherited unconditionally to support ``super()." -"__call__()`` when the base class uses vectorcall." -msgstr "" - -#: ../../../build/NEWS:7757 -msgid "" -"`bpo-37160 `__: :func:`threading." -"get_native_id` now also supports NetBSD." -msgstr "" - -#: ../../../build/NEWS:7759 -msgid "" -"`bpo-37077 `__: Add :func:`threading." -"get_native_id` support for AIX. Patch by M. Felt" -msgstr "" - -#: ../../../build/NEWS:7762 -msgid "" -"`bpo-36781 `__: :func:`sum` has been " -"optimized for boolean values." -msgstr "" - -#: ../../../build/NEWS:7764 -msgid "" -"`bpo-34556 `__: Add ``--upgrade-deps`` " -"to venv module. Patch by Cooper Ry Lees" -msgstr "" - -#: ../../../build/NEWS:7766 -msgid "" -"`bpo-20523 `__: ``pdb.Pdb`` supports ~/." -"pdbrc in Windows 7. Patch by Tim Hopper and Dan Lidral-Porter." -msgstr "" - -#: ../../../build/NEWS:7769 -msgid "" -"`bpo-35551 `__: Updated encodings: - " -"Removed the \"tis260\" encoding, which was an alias for the nonexistent " -"\"tactis\" codec. - Added \"mac_centeuro\" as an alias for the mac_latin2 " -"encoding." -msgstr "" - -#: ../../../build/NEWS:7773 -msgid "" -"`bpo-19072 `__: The :class:`classmethod` " -"decorator can now wrap other descriptors such as property objects. Adapted " -"from a patch written by Graham Dumpleton." -msgstr "" - -#: ../../../build/NEWS:7777 -msgid "" -"`bpo-27575 `__: Improve speed of " -"dictview intersection by directly using set intersection logic. Patch by " -"David Su." -msgstr "" - -#: ../../../build/NEWS:7780 -msgid "" -"`bpo-30773 `__: Prohibit parallel " -"running of aclose() / asend() / athrow(). Fix ag_running to reflect the " -"actual running status of the AG." -msgstr "" - -#: ../../../build/NEWS:7786 -msgid "" -"`bpo-36589 `__: The :func:`curses." -"update_lines_cols` function now returns ``None`` instead of ``1`` on success." -msgstr "" - -#: ../../../build/NEWS:7789 -msgid "" -"`bpo-38807 `__: Update :exc:`TypeError` " -"messages for :meth:`os.path.join` to include :class:`os.PathLike` objects as " -"acceptable input types." -msgstr "" - -#: ../../../build/NEWS:7792 -msgid "" -"`bpo-38724 `__: Add a repr for " -"``subprocess.Popen`` objects. Patch by Andrey Doroschenko." -msgstr "" - -#: ../../../build/NEWS:7795 -msgid "" -"`bpo-38786 `__: pydoc now recognizes and " -"parses HTTPS URLs. Patch by python273." -msgstr "" - -#: ../../../build/NEWS:7797 -msgid "" -"`bpo-38785 `__: Prevent asyncio from " -"crashing if parent ``__init__`` is not called from a constructor of object " -"derived from ``asyncio.Future``." -msgstr "" - -#: ../../../build/NEWS:7800 -msgid "" -"`bpo-38723 `__: :mod:`pdb` now uses :" -"meth:`io.open_code` to trigger auditing events." -msgstr "" - -#: ../../../build/NEWS:7803 -msgid "" -"`bpo-27805 `__: Allow opening pipes and " -"other non-seekable files in append mode with :func:`open`." -msgstr "" - -#: ../../../build/NEWS:7806 -msgid "" -"`bpo-38438 `__: Simplify the :mod:" -"`argparse` usage message for ``nargs=\"*\"``." -msgstr "" - -#: ../../../build/NEWS:7808 -msgid "" -"`bpo-38761 `__: WeakSet is now " -"registered as a collections.abc.MutableSet." -msgstr "" - -#: ../../../build/NEWS:7810 -msgid "" -"`bpo-38716 `__: logging: change " -"RotatingHandler namer and rotator to class-level attributes. This stops " -"__init__ from setting them to None in the case where a subclass defines them " -"with eponymous methods." -msgstr "" - -#: ../../../build/NEWS:7814 -msgid "" -"`bpo-38713 `__: Add :data:`os.P_PIDFD` " -"constant, which may be passed to :func:`os.waitid` to wait on a Linux " -"process file descriptor." -msgstr "" - -#: ../../../build/NEWS:7817 -msgid "" -"`bpo-38692 `__: Add :class:`asyncio." -"PidfdChildWatcher`, a Linux-specific child watcher implementation that polls " -"process file descriptors." -msgstr "" - -#: ../../../build/NEWS:7820 -msgid "" -"`bpo-38692 `__: Expose the Linux " -"``pidfd_open`` syscall as :func:`os.pidfd_open`." -msgstr "" - -#: ../../../build/NEWS:7823 -msgid "" -"`bpo-38602 `__: Added constants :data:" -"`~fcntl.F_OFD_GETLK`, :data:`~fcntl.F_OFD_SETLK` and :data:`~fcntl." -"F_OFD_SETLKW` to the :mod:`fcntl` module. Patch by Dong-hee Na." -msgstr "" - -#: ../../../build/NEWS:7827 -msgid "" -"`bpo-38334 `__: Fixed seeking backward " -"on an encrypted :class:`zipfile.ZipExtFile`." -msgstr "" - -#: ../../../build/NEWS:7830 -msgid "" -"`bpo-38312 `__: Add :func:`curses." -"get_escdelay`, :func:`curses.set_escdelay`, :func:`curses.get_tabsize`, and :" -"func:`curses.set_tabsize` functions - by Anthony Sottile." -msgstr "" - -#: ../../../build/NEWS:7834 -msgid "" -"`bpo-38586 `__: Now :func:`~logging." -"config.fileConfig` correcty sets the .name of handlers loaded." -msgstr "" - -#: ../../../build/NEWS:7837 -msgid "" -"`bpo-38565 `__: Add new " -"cache_parameters() method for functools.lru_cache() to better support " -"pickling." -msgstr "" - -#: ../../../build/NEWS:7840 -msgid "" -"`bpo-34679 `__: asynci.ProactorEventLoop." -"close() now only calls signal.set_wakeup_fd() in the main thread." -msgstr "" - -#: ../../../build/NEWS:7843 -msgid "" -"`bpo-31202 `__: The case the result of :" -"func:`pathlib.WindowsPath.glob` matches now the case of the pattern for " -"literal parts." -msgstr "" - -#: ../../../build/NEWS:7846 -msgid "" -"`bpo-36321 `__: Remove misspelled " -"attribute. The 3.8 changelog noted that this would be removed in 3.9." -msgstr "" - -#: ../../../build/NEWS:7849 -msgid "" -"`bpo-38521 `__: Fixed erroneous equality " -"comparison in statistics.NormalDist()." -msgstr "" - -#: ../../../build/NEWS:7851 -msgid "" -"`bpo-38493 `__: Added :data:`~os." -"CLD_KILLED` and :data:`~os.CLD_STOPPED` for :attr:`si_code`. Patch by Dong-" -"hee Na." -msgstr "" - -#: ../../../build/NEWS:7854 -msgid "" -"`bpo-38478 `__: Fixed a bug in :meth:" -"`inspect.signature.bind` that was causing it to fail when handling a keyword " -"argument with same name as positional-only parameter. Patch by Pablo Galindo." -msgstr "" - -#: ../../../build/NEWS:7858 -msgid "" -"`bpo-33604 `__: Fixed `hmac.new` and " -"`hmac.HMAC` to raise TypeError instead of ValueError when the digestmod " -"parameter, now required in 3.8, is omitted. Also clarified the hmac module " -"documentation and docstrings." -msgstr "" - -#: ../../../build/NEWS:7862 -msgid "" -"`bpo-38378 `__: Parameters *out* and " -"*in* of :func:`os.sendfile` was renamed to *out_fd* and *in_fd*." -msgstr "" - -#: ../../../build/NEWS:7865 -msgid "" -"`bpo-38417 `__: Added support for " -"setting the umask in the child process to the subprocess module on POSIX " -"systems." -msgstr "" - -#: ../../../build/NEWS:7868 -msgid "" -"`bpo-38449 `__: Revert GH-15522, which " -"introduces a regression in :meth:`mimetypes.guess_type` due to improper " -"handling of filenames as urls." -msgstr "" - -#: ../../../build/NEWS:7872 -msgid "" -"`bpo-38431 `__: Fix ``__repr__`` method " -"for :class:`dataclasses.InitVar` to support typing objects, patch by Samuel " -"Colvin." -msgstr "" - -#: ../../../build/NEWS:7875 -msgid "" -"`bpo-38109 `__: Add missing :data:`stat." -"S_IFDOOR`, :data:`stat.S_IFPORT`, :data:`stat.S_IFWHT`, :func:`stat." -"S_ISDOOR`, :func:`stat.S_ISPORT`, and :func:`stat.S_ISWHT` values to the " -"Python implementation of :mod:`stat`." -msgstr "" - -#: ../../../build/NEWS:7879 -msgid "" -"`bpo-38422 `__: Clarify docstrings of " -"pathlib suffix(es)" -msgstr "" - -#: ../../../build/NEWS:7881 -msgid "" -"`bpo-38405 `__: Nested subclasses of :" -"class:`typing.NamedTuple` are now pickleable." -msgstr "" - -#: ../../../build/NEWS:7884 -msgid "" -"`bpo-38332 `__: Prevent :exc:`KeyError` " -"thrown by :func:`_encoded_words.decode` when given an encoded-word with " -"invalid content-type encoding from propagating all the way to :func:`email." -"message.get`." -msgstr "" - -#: ../../../build/NEWS:7888 -msgid "" -"`bpo-38371 `__: Deprecated the " -"``split()`` method in :class:`_tkinter.TkappType` in favour of the " -"``splitlist()`` method which has more consistent and predicable behavior." -msgstr "" - -#: ../../../build/NEWS:7892 -msgid "" -"`bpo-38341 `__: Add :exc:`smtplib." -"SMTPNotSupportedError` to the :mod:`smtplib` exported names." -msgstr "" - -#: ../../../build/NEWS:7895 -msgid "" -"`bpo-38319 `__: sendfile() used in " -"socket and shutil modules was raising OverflowError for files >= 2GiB on 32-" -"bit architectures. (patch by Giampaolo Rodola)" -msgstr "" - -#: ../../../build/NEWS:7899 -msgid "" -"`bpo-38242 `__: Revert the new asyncio " -"Streams API" -msgstr "" - -#: ../../../build/NEWS:7901 -msgid "" -"`bpo-13153 `__: OS native encoding is " -"now used for converting between Python strings and Tcl objects. This allows " -"to display, copy and paste to clipboard emoji and other non-BMP characters. " -"Converting strings from Tcl to Python and back now never fails (except " -"MemoryError)." -msgstr "" - -#: ../../../build/NEWS:7906 -msgid "" -"`bpo-38019 `__: Correctly handle pause/" -"resume reading of closed asyncio unix pipe." -msgstr "" - -#: ../../../build/NEWS:7909 -msgid "" -"`bpo-38163 `__: Child mocks will now " -"detect their type as either synchronous or asynchronous, asynchronous child " -"mocks will be AsyncMocks and synchronous child mocks will be either " -"MagicMock or Mock (depending on their parent type)." -msgstr "" - -#: ../../../build/NEWS:7914 -msgid "" -"`bpo-38161 `__: Removes _AwaitEvent from " -"AsyncMock." -msgstr "" - -#: ../../../build/NEWS:7916 -msgid "" -"`bpo-38216 `__: Allow the rare code that " -"wants to send invalid http requests from the `http.client` library a way to " -"do so. The fixes for `bpo-30458 `__ led " -"to breakage for some projects that were relying on this ability to test " -"their own behavior in the face of bad requests." -msgstr "" - -#: ../../../build/NEWS:7921 -msgid "" -"`bpo-28286 `__: Deprecate opening :class:" -"`~gzip.GzipFile` for writing implicitly. Always specify the *mode* argument " -"for writing." -msgstr "" - -#: ../../../build/NEWS:7924 -msgid "" -"`bpo-38108 `__: Any synchronous magic " -"methods on an AsyncMock now return a MagicMock. Any asynchronous magic " -"methods on a MagicMock now return an AsyncMock." -msgstr "" - -#: ../../../build/NEWS:7928 -msgid "" -"`bpo-38265 `__: Update the *length* " -"parameter of :func:`os.pread` to accept :c:type:`Py_ssize_t` instead of :c:" -"type:`int`." -msgstr "" - -#: ../../../build/NEWS:7931 -msgid "" -"`bpo-38112 `__: :mod:`compileall` has a " -"higher default recursion limit and new command-line arguments for path " -"manipulation, symlinks handling, and multiple optimization levels." -msgstr "" - -#: ../../../build/NEWS:7935 -msgid "" -"`bpo-38248 `__: asyncio: Fix " -"inconsistent immediate Task cancellation" -msgstr "" - -#: ../../../build/NEWS:7937 -msgid "" -"`bpo-38237 `__: The arguments for the " -"builtin pow function are more descriptive. They can now also be passed in as " -"keywords." -msgstr "" - -#: ../../../build/NEWS:7940 -msgid "" -"`bpo-34002 `__: Improve efficiency in " -"parts of email package by changing while-pop to a for loop, using isdisjoint " -"instead of set intersections." -msgstr "" - -#: ../../../build/NEWS:7943 -msgid "" -"`bpo-38191 `__: Constructors of :class:" -"`~typing.NamedTuple` and :class:`~typing.TypedDict` types now accept " -"arbitrary keyword argument names, including \"cls\", \"self\", \"typename\", " -"\"_typename\", \"fields\" and \"_fields\"." -msgstr "" - -#: ../../../build/NEWS:7948 -msgid "" -"`bpo-38155 `__: Add ``__all__`` to :mod:" -"`datetime`. Patch by Tahia Khan." -msgstr "" - -#: ../../../build/NEWS:7950 -msgid "" -"`bpo-38185 `__: Fixed case-insensitive " -"string comparison in :class:`sqlite3.Row` indexing." -msgstr "" - -#: ../../../build/NEWS:7953 -msgid "" -"`bpo-38136 `__: Changes AsyncMock call " -"count and await count to be two different counters. Now await count only " -"counts when a coroutine has been awaited, not when it has been called, and " -"vice-versa. Update the documentation around this." -msgstr "" - -#: ../../../build/NEWS:7958 -msgid "" -"`bpo-37828 `__: Fix default mock name " -"in :meth:`unittest.mock.Mock.assert_called` exceptions. Patch by Abraham " -"Toriz Cruz." -msgstr "" - -#: ../../../build/NEWS:7962 -msgid "" -"`bpo-38175 `__: Fix a memory leak in " -"comparison of :class:`sqlite3.Row` objects." -msgstr "" - -#: ../../../build/NEWS:7965 -msgid "" -"`bpo-33936 `__: _hashlib no longer calls " -"obsolete OpenSSL initialization function with OpenSSL 1.1.0+." -msgstr "" - -#: ../../../build/NEWS:7968 -msgid "" -"`bpo-34706 `__: Preserve subclassing in " -"inspect.Signature.from_callable." -msgstr "" - -#: ../../../build/NEWS:7970 -msgid "" -"`bpo-38153 `__: Names of hashing " -"algorithms frome OpenSSL are now normalized to follow Python's naming " -"conventions. For example OpenSSL uses sha3-512 instead of sha3_512 or " -"blake2b512 instead of blake2b." -msgstr "" - -#: ../../../build/NEWS:7974 -msgid "" -"`bpo-38115 `__: Fix a bug in dis." -"findlinestarts() where it would return invalid bytecode offsets. Document " -"that a code object's co_lnotab can contain invalid bytecode offsets." -msgstr "" - -#: ../../../build/NEWS:7978 -msgid "" -"`bpo-38148 `__: Add slots to :mod:" -"`asyncio` transport classes, which can reduce memory usage." -msgstr "" - -#: ../../../build/NEWS:7981 -msgid "" -"`bpo-38142 `__: The _hashlib OpenSSL " -"wrapper extension module is now PEP-384 compliant." -msgstr "" - -#: ../../../build/NEWS:7984 -msgid "" -"`bpo-9216 `__: hashlib constructors now " -"support usedforsecurity flag to signal that a hashing algorithm is not used " -"in a security context." -msgstr "" - -#: ../../../build/NEWS:7987 -msgid "" -"`bpo-36991 `__: Fixes a potential " -"incorrect AttributeError exception escaping ZipFile.extract() in some " -"unsupported input error situations." -msgstr "" - -#: ../../../build/NEWS:7990 -msgid "" -"`bpo-38134 `__: Remove obsolete copy of " -"PBKDF2_HMAC_fast. All supported OpenSSL versions contain a fast " -"implementation." -msgstr "" - -#: ../../../build/NEWS:7993 -msgid "" -"`bpo-38132 `__: The OpenSSL hashlib " -"wrapper uses a simpler implementation. Several Macros and pointless caches " -"are gone. The hash name now comes from OpenSSL's EVP. The algorithm name " -"stays the same, except it is now always lower case." -msgstr "" - -#: ../../../build/NEWS:7998 -msgid "" -"`bpo-38008 `__: Fix parent class check " -"in protocols to correctly identify the module that provides a builtin " -"protocol, instead of assuming they all come from the :mod:`collections.abc` " -"module" -msgstr "" - -#: ../../../build/NEWS:8002 -msgid "" -"`bpo-34037 `__: For :mod:`asyncio`, add " -"a new coroutine :meth:`loop.shutdown_default_executor`. The new coroutine " -"provides an API to schedule an executor shutdown that waits on the " -"threadpool to finish closing. Also, :func:`asyncio.run` has been updated to " -"utilize the new coroutine. Patch by Kyle Stanley." -msgstr "" - -#: ../../../build/NEWS:8008 -msgid "" -"`bpo-37405 `__: Fixed regression bug for " -"socket.getsockname() for non-CAN_ISOTP AF_CAN address family sockets by " -"returning a 1-tuple instead of string." -msgstr "" - -#: ../../../build/NEWS:8011 -msgid "" -"`bpo-38121 `__: Update parameter names " -"on functions in importlib.metadata matching the changes in the 0.22 release " -"of importlib_metadata." -msgstr "" - -#: ../../../build/NEWS:8014 -msgid "" -"`bpo-38110 `__: The os.closewalk() " -"implementation now uses the libc fdwalk() API on platforms where it is " -"available." -msgstr "" - -#: ../../../build/NEWS:8017 -msgid "" -"`bpo-38093 `__: Fixes AsyncMock so it " -"doesn't crash when used with AsyncContextManagers or AsyncIterators." -msgstr "" - -#: ../../../build/NEWS:8020 -msgid "" -"`bpo-37488 `__: Add warning to :meth:" -"`datetime.utctimetuple`, :meth:`datetime.utcnow` and :meth:`datetime." -"utcfromtimestamp` ." -msgstr "" - -#: ../../../build/NEWS:8023 -msgid "" -"`bpo-35640 `__: Allow passing a :term:" -"`path-like object` as ``directory`` argument to the :class:`http.server." -"SimpleHTTPRequestHandler` class. Patch by Géry Ogam." -msgstr "" - -#: ../../../build/NEWS:8027 -msgid "" -"`bpo-38086 `__: Update importlib." -"metadata with changes from `importlib_metadata 0.21 `_." -msgstr "" - -#: ../../../build/NEWS:8031 -msgid "" -"`bpo-37251 `__: Remove `__code__` check " -"in AsyncMock that incorrectly evaluated function specs as async objects but " -"failed to evaluate classes with `__await__` but no `__code__` attribute " -"defined as async objects." -msgstr "" - -#: ../../../build/NEWS:8035 -msgid "" -"`bpo-38037 `__: Fix reference counters " -"in the :mod:`signal` module." -msgstr "" - -#: ../../../build/NEWS:8037 -msgid "" -"`bpo-38066 `__: Hide internal asyncio." -"Stream methods: feed_eof(), feed_data(), set_exception() and set_transport()." -msgstr "" - -#: ../../../build/NEWS:8040 -msgid "" -"`bpo-38059 `__: inspect.py now uses sys." -"exit() instead of exit()" -msgstr "" - -#: ../../../build/NEWS:8042 -msgid "" -"`bpo-38049 `__: Added command-line " -"interface for the :mod:`ast` module." -msgstr "" - -#: ../../../build/NEWS:8044 -msgid "" -"`bpo-37953 `__: In :mod:`typing`, " -"improved the ``__hash__`` and ``__eq__`` methods for :class:" -"`ForwardReferences`." -msgstr "" - -#: ../../../build/NEWS:8047 -msgid "" -"`bpo-38026 `__: Fixed :func:`inspect." -"getattr_static` used ``isinstance`` while it should avoid dynamic lookup." -msgstr "" - -#: ../../../build/NEWS:8050 -msgid "" -"`bpo-35923 `__: Update :class:`importlib." -"machinery.BuiltinImporter` to use ``loader._ORIGIN`` instead of a hardcoded " -"value. Patch by Dong-hee Na." -msgstr "" - -#: ../../../build/NEWS:8053 -msgid "" -"`bpo-38010 `__: In ``importlib." -"metadata`` sync with ``importlib_metadata`` 0.20, clarifying behavior of " -"``files()`` and fixing issue where only one requirement was returned for " -"``requires()`` on ``dist-info`` packages." -msgstr "" - -#: ../../../build/NEWS:8057 -msgid "" -"`bpo-38006 `__: weakref." -"WeakValueDictionary defines a local remove() function used as callback for " -"weak references. This function was created with a closure. Modify the " -"implementation to avoid the closure." -msgstr "" - -#: ../../../build/NEWS:8061 -msgid "" -"`bpo-37995 `__: Added the *indent* " -"option to :func:`ast.dump` which allows it to produce a multiline indented " -"output." -msgstr "" - -#: ../../../build/NEWS:8064 -msgid "" -"`bpo-34410 `__: Fixed a crash in the :" -"func:`tee` iterator when re-enter it. RuntimeError is now raised in this " -"case." -msgstr "" - -#: ../../../build/NEWS:8067 -msgid "" -"`bpo-37140 `__: Fix a ctypes regression " -"of Python 3.8. When a ctypes.Structure is passed by copy to a function, " -"ctypes internals created a temporary object which had the side effect of " -"calling the structure finalizer (__del__) twice. The Python semantics " -"requires a finalizer to be called exactly once. Fix ctypes internals to no " -"longer call the finalizer twice." -msgstr "" - -#: ../../../build/NEWS:8073 -msgid "" -"`bpo-37587 `__: ``_json.scanstring`` is " -"now up to 3x faster when there are many backslash escaped characters in the " -"JSON string." -msgstr "" - -#: ../../../build/NEWS:8076 -msgid "" -"`bpo-37834 `__: Prevent shutil.rmtree " -"exception when built on non-Windows system without fd system call support, " -"like older versions of macOS." -msgstr "" - -#: ../../../build/NEWS:8079 -msgid "" -"`bpo-10978 `__: Semaphores and " -"BoundedSemaphores can now release more than one waiting thread at a time." -msgstr "" - -#: ../../../build/NEWS:8082 -msgid "" -"`bpo-37972 `__: Subscripts to the " -"`unittest.mock.call` objects now receive the same chaining mechanism as any " -"other custom attributes, so that the following usage no longer raises a " -"`TypeError`:" -msgstr "" - -#: ../../../build/NEWS:8086 -msgid "call().foo().__getitem__('bar')" -msgstr "" - -#: ../../../build/NEWS:8088 -msgid "Patch by blhsing" -msgstr "" - -#: ../../../build/NEWS:8090 -msgid "" -"`bpo-37965 `__: Fix C compiler warning " -"caused by distutils.ccompiler.CCompiler.has_function." -msgstr "" - -#: ../../../build/NEWS:8093 -msgid "" -"`bpo-37964 `__: Add ``F_GETPATH`` " -"command to :mod:`fcntl`." -msgstr "" - -#: ../../../build/NEWS:8095 -msgid "" -"`bpo-37960 `__: ``repr()`` of buffered " -"and text streams now silences only expected exceptions when get the value of " -"\"name\" and \"mode\" attributes." -msgstr "" - -#: ../../../build/NEWS:8098 -msgid "" -"`bpo-37961 `__: Add a ``total_nframe`` " -"field to the traces collected by the tracemalloc module. This field " -"indicates the original number of frames before it was truncated." -msgstr "" - -#: ../../../build/NEWS:8102 -msgid "" -"`bpo-37951 `__: Most features of the " -"subprocess module now work again in subinterpreters. Only *preexec_fn* is " -"restricted in subinterpreters." -msgstr "" - -#: ../../../build/NEWS:8105 -msgid "" -"`bpo-36205 `__: Fix the rusage " -"implementation of time.process_time() to correctly report the sum of the " -"system and user CPU time." -msgstr "" - -#: ../../../build/NEWS:8108 -msgid "" -"`bpo-37950 `__: Fix :func:`ast.dump` " -"when call with incompletely initialized node." -msgstr "" - -#: ../../../build/NEWS:8111 -msgid "" -"`bpo-34679 `__: Restores instantiation " -"of Windows IOCP event loops from the non-main thread." -msgstr "" - -#: ../../../build/NEWS:8114 -msgid "" -"`bpo-36917 `__: Add default " -"implementation of the :meth:`ast.NodeVisitor.visit_Constant` method which " -"emits a deprecation warning and calls corresponding methody ``visit_Num()``, " -"``visit_Str()``, etc." -msgstr "" - -#: ../../../build/NEWS:8119 -msgid "" -"`bpo-37798 `__: Update test_statistics." -"py to verify that the statistics module works well for both C and Python " -"implementations. Patch by Dong-hee Na" -msgstr "" - -#: ../../../build/NEWS:8122 -msgid "" -"`bpo-26589 `__: Added a new status code " -"to the http module: 451 UNAVAILABLE_FOR_LEGAL_REASONS" -msgstr "" - -#: ../../../build/NEWS:8125 -msgid "" -"`bpo-37915 `__: Fix a segmentation fault " -"that appeared when comparing instances of ``datetime.timezone`` and " -"``datetime.tzinfo`` objects. Patch by Pablo Galindo." -msgstr "" - -#: ../../../build/NEWS:8129 -msgid "" -"`bpo-32554 `__: Deprecate having random." -"seed() call hash on arbitrary types." -msgstr "" - -#: ../../../build/NEWS:8131 -msgid "" -"`bpo-9938 `__: Add optional keyword " -"argument ``exit_on_error`` for :class:`ArgumentParser`." -msgstr "" - -#: ../../../build/NEWS:8134 -msgid "" -"`bpo-37851 `__: The :mod:`faulthandler` " -"module no longer allocates its alternative stack at Python startup. Now the " -"stack is only allocated at the first faulthandler usage." -msgstr "" - -#: ../../../build/NEWS:8138 -msgid "" -"`bpo-32793 `__: Fix a duplicated debug " -"message when :meth:`smtplib.SMTP.connect` is called." -msgstr "" - -#: ../../../build/NEWS:8141 -msgid "" -"`bpo-37885 `__: venv: Don't generate " -"unset variable warning on deactivate." -msgstr "" - -#: ../../../build/NEWS:8143 -msgid "" -"`bpo-37868 `__: Fix dataclasses." -"is_dataclass when given an instance that never raises AttributeError in " -"__getattr__. That is, an object that returns something for " -"__dataclass_fields__ even if it's not a dataclass." -msgstr "" - -#: ../../../build/NEWS:8147 -msgid "" -"`bpo-37811 `__: Fix ``socket`` module's " -"``socket.connect(address)`` function being unable to establish connection in " -"case of interrupted system call. The problem was observed on all OSes which " -"``poll(2)`` system call can take only non-negative integers and -1 as a " -"timeout value." -msgstr "" - -#: ../../../build/NEWS:8152 -msgid "" -"`bpo-37863 `__: Optimizations for " -"Fraction.__hash__ suggested by Tim Peters." -msgstr "" - -#: ../../../build/NEWS:8154 -msgid "" -"`bpo-21131 `__: Fix ``faulthandler." -"register(chain=True)`` stack. faulthandler now allocates a dedicated stack " -"of ``SIGSTKSZ*2`` bytes, instead of just ``SIGSTKSZ`` bytes. Calling the " -"previous signal handler in faulthandler signal handler uses more than " -"``SIGSTKSZ`` bytes of stack memory on some platforms." -msgstr "" - -#: ../../../build/NEWS:8160 -msgid "" -"`bpo-37798 `__: Add C fastpath for " -"statistics.NormalDist.inv_cdf() Patch by Dong-hee Na" -msgstr "" - -#: ../../../build/NEWS:8163 -msgid "" -"`bpo-37804 `__: Remove the deprecated " -"method `threading.Thread.isAlive()`. Patch by Dong-hee Na." -msgstr "" - -#: ../../../build/NEWS:8166 -msgid "" -"`bpo-37819 `__: Add Fraction." -"as_integer_ratio() to match the corresponding methods in bool, int, float, " -"and decimal." -msgstr "" - -#: ../../../build/NEWS:8169 -msgid "" -"`bpo-14465 `__: Add an xml.etree." -"ElementTree.indent() function for pretty-printing XML trees. Contributed by " -"Stefan Behnel." -msgstr "" - -#: ../../../build/NEWS:8172 -msgid "" -"`bpo-37810 `__: Fix :mod:`difflib` ``?`` " -"hint in diff output when dealing with tabs. Patch by Anthony Sottile." -msgstr "" - -#: ../../../build/NEWS:8175 -msgid "" -"`bpo-37772 `__: In ``zipfile.Path``, " -"when adding implicit dirs, ensure that ancestral directories are added and " -"that duplicates are excluded." -msgstr "" - -#: ../../../build/NEWS:8178 -msgid "" -"`bpo-18578 `__: Renamed and documented " -"`test.bytecode_helper` as `test.support.bytecode_helper`. Patch by Joannah " -"Nanjekye." -msgstr "" - -#: ../../../build/NEWS:8181 -msgid "" -"`bpo-37785 `__: Fix xgettext warnings " -"in :mod:`argparse`." -msgstr "" - -#: ../../../build/NEWS:8183 -msgid "" -"`bpo-34488 `__: :meth:`writelines` " -"method of :class:`io.BytesIO` is now slightly faster when many small lines " -"are passed. Patch by Sergey Fedoseev." -msgstr "" - -#: ../../../build/NEWS:8187 -msgid "" -"`bpo-37449 `__: `ensurepip` now uses " -"`importlib.resources.read_binary()` to read data instead of `pkgutil." -"get_data()`. Patch by Joannah Nanjekye." -msgstr "" - -#: ../../../build/NEWS:8190 -msgid "" -"`bpo-28292 `__: Mark calendar.py helper " -"functions as being private. The follows PEP 8 guidance to maintain the " -"style conventions in the module and it addresses a known case of user " -"confusion." -msgstr "" - -#: ../../../build/NEWS:8194 -msgid "" -"`bpo-18049 `__: Add definition of " -"THREAD_STACK_SIZE for AIX in Python/thread_pthread.h The default thread " -"stacksize caused crashes with the default recursion limit Patch by M Felt" -msgstr "" - -#: ../../../build/NEWS:8198 -msgid "" -"`bpo-37742 `__: The 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'." -msgstr "" - -#: ../../../build/NEWS:8204 -msgid "" -"`bpo-37738 `__: Fix the implementation " -"of curses ``addch(str, color_pair)``: pass the color pair to ``setcchar()``, " -"instead of always passing 0 as the color pair." -msgstr "" - -#: ../../../build/NEWS:8208 -msgid "" -"`bpo-37723 `__: Fix performance " -"regression on regular expression parsing with huge character sets. Patch by " -"Yann Vaginay." -msgstr "" - -#: ../../../build/NEWS:8211 -msgid "" -"`bpo-35943 `__: The function :c:func:" -"`PyImport_GetModule` now ensures any module it returns is fully initialized. " -"Patch by Joannah Nanjekye." -msgstr "" - -#: ../../../build/NEWS:8214 -msgid "" -"`bpo-32178 `__: Fix IndexError in :mod:" -"`email` package when trying to parse invalid address fields starting with ``:" -"``." -msgstr "" - -#: ../../../build/NEWS:8217 -msgid "" -"`bpo-37268 `__: The :mod:`parser` module " -"is deprecated and will be removed in future versions of Python." -msgstr "" - -#: ../../../build/NEWS:8220 -msgid "" -"`bpo-11953 `__: Completing WSA* error " -"codes in :mod:`socket`." -msgstr "" - -#: ../../../build/NEWS:8222 -msgid "" -"`bpo-37685 `__: Fixed comparisons of :" -"class:`datetime.timedelta` and :class:`datetime.timezone`." -msgstr "" - -#: ../../../build/NEWS:8225 -msgid "" -"`bpo-37697 `__: Syncronize ``importlib." -"metadata`` with `importlib_metadata 0.19 `_, improving handling of EGG-INFO files " -"and fixing a crash when entry point names contained colons." -msgstr "" - -#: ../../../build/NEWS:8230 -msgid "" -"`bpo-37695 `__: Correct :func:`curses." -"unget_wch` error message. Patch by Anthony Sottile." -msgstr "" - -#: ../../../build/NEWS:8233 -msgid "" -"`bpo-37689 `__: Add :meth:" -"`is_relative_to` in :class:`PurePath` to determine whether or not one path " -"is relative to another." -msgstr "" - -#: ../../../build/NEWS:8236 -msgid "" -"`bpo-29553 `__: Fixed :meth:`argparse." -"ArgumentParser.format_usage` for mutually exclusive groups. Patch by Andrew " -"Nester." -msgstr "" - -#: ../../../build/NEWS:8239 -msgid "" -"`bpo-37691 `__: Let math.dist() accept " -"coordinates as sequences (or iterables) rather than just tuples." -msgstr "" - -#: ../../../build/NEWS:8242 -msgid "" -"`bpo-37685 `__: Fixed ``__eq__``, " -"``__lt__`` etc implementations in some classes. They now return :data:" -"`NotImplemented` for unsupported type of the other operand. This allows the " -"other operand to play role (for example the equality comparison with :data:" -"`~unittest.mock.ANY` will return ``True``)." -msgstr "" - -#: ../../../build/NEWS:8248 -msgid "" -"`bpo-37354 `__: Make Activate.ps1 " -"Powershell script static to allow for signing it." -msgstr "" - -#: ../../../build/NEWS:8251 -msgid "" -"`bpo-37664 `__: Update wheels bundled " -"with ensurepip (pip 19.2.3 and setuptools 41.2.0)" -msgstr "" - -#: ../../../build/NEWS:8254 -msgid "" -"`bpo-37663 `__: Bring consistency to " -"venv shell activation scripts by always using __VENV_PROMPT__." -msgstr "" - -#: ../../../build/NEWS:8257 -msgid "" -"`bpo-37642 `__: Allowed the pure Python " -"implementation of :class:`datetime.timezone` to represent sub-minute offsets " -"close to minimum and maximum boundaries, specifically in the ranges (23:59, " -"24:00) and (-23:59, 24:00). Patch by Ngalim Siregar" -msgstr "" - -#: ../../../build/NEWS:8262 -msgid "" -"`bpo-36161 `__: In :mod:`posix`, use " -"``ttyname_r`` instead of ``ttyname`` for thread safety." -msgstr "" - -#: ../../../build/NEWS:8265 -msgid "" -"`bpo-36324 `__: Make internal attributes " -"for statistics.NormalDist() private." -msgstr "" - -#: ../../../build/NEWS:8267 -msgid "" -"`bpo-37555 `__: Fix `NonCallableMock." -"_call_matcher` returning tuple instead of `_Call` object when `self." -"_spec_signature` exists. Patch by Elizabeth Uselton" -msgstr "" - -#: ../../../build/NEWS:8271 -msgid "" -"`bpo-29446 `__: Make `from tkinter " -"import *` import only the expected objects." -msgstr "" - -#: ../../../build/NEWS:8273 -msgid "" -"`bpo-16970 `__: Adding a value error " -"when an invalid value in passed to nargs Patch by Robert Leenders" -msgstr "" - -#: ../../../build/NEWS:8276 -msgid "" -"`bpo-34443 `__: Exceptions from :mod:" -"`enum` now use the ``__qualname`` of the enum class in the exception message " -"instead of the ``__name__``." -msgstr "" - -#: ../../../build/NEWS:8279 -msgid "" -"`bpo-37491 `__: Fix ``IndexError`` when " -"parsing email headers with unexpectedly ending bare-quoted string value. " -"Patch by Abhilash Raj." -msgstr "" - -#: ../../../build/NEWS:8282 -msgid "" -"`bpo-37587 `__: Make json.loads faster " -"for long strings. (Patch by Marco Paolini)" -msgstr "" - -#: ../../../build/NEWS:8285 -msgid "" -"`bpo-18378 `__: Recognize \"UTF-8\" as a " -"valid value for LC_CTYPE in locale._parse_localename." -msgstr "" - -#: ../../../build/NEWS:8288 -msgid "" -"`bpo-37579 `__: Return :exc:" -"`NotImplemented` in Python implementation of ``__eq__`` for :class:" -"`~datetime.timedelta` and :class:`~datetime.time` when the other object " -"being compared is not of the same type to match C implementation. Patch by " -"Karthikeyan Singaravelan." -msgstr "" - -#: ../../../build/NEWS:8293 -msgid "" -"`bpo-21478 `__: Record calls to parent " -"when autospecced object is attached to a mock using :func:`unittest.mock." -"attach_mock`. Patch by Karthikeyan Singaravelan." -msgstr "" - -#: ../../../build/NEWS:8297 -msgid "" -"`bpo-37531 `__: \"python3 -m test -jN --" -"timeout=TIMEOUT\" now kills a worker process if it runs longer than " -"*TIMEOUT* seconds." -msgstr "" - -#: ../../../build/NEWS:8300 -msgid "" -"`bpo-37482 `__: Fix serialization of " -"display name in originator or destination address fields with both encoded " -"words and special chars." -msgstr "" - -#: ../../../build/NEWS:8303 -msgid "" -"`bpo-36993 `__: Improve error reporting " -"for corrupt zip files with bad zip64 extra data. Patch by Daniel Hillier." -msgstr "" - -#: ../../../build/NEWS:8306 -msgid "" -"`bpo-37502 `__: pickle.loads() no longer " -"raises TypeError when the buffers argument is set to None" -msgstr "" - -#: ../../../build/NEWS:8309 -msgid "" -"`bpo-37520 `__: Correct behavior for " -"zipfile.Path.parent when the path object identifies a subdirectory." -msgstr "" - -#: ../../../build/NEWS:8312 -msgid "" -"`bpo-18374 `__: Fix the ``.col_offset`` " -"attribute of nested :class:`ast.BinOp` instances which had a too large value " -"in some situations." -msgstr "" - -#: ../../../build/NEWS:8315 -msgid "" -"`bpo-37424 `__: Fixes a possible hang " -"when using a timeout on `subprocess.run()` while capturing output. If the " -"child process spawned its own children or otherwise connected its stdout or " -"stderr handles with another process, we could hang after the timeout was " -"reached and our child was killed when attempting to read final output from " -"the pipes." -msgstr "" - -#: ../../../build/NEWS:8321 -msgid "" -"`bpo-37421 `__: Fix :func:" -"`multiprocessing.util.get_temp_dir` finalizer: clear also the 'tempdir' " -"configuration of the current process, so next call to ``get_temp_dir()`` " -"will create a new temporary directory, rather than reusing the removed " -"temporary directory." -msgstr "" - -#: ../../../build/NEWS:8326 -msgid "" -"`bpo-37481 `__: The distutils " -"``bdist_wininst`` command is deprecated in Python 3.8, use ``bdist_wheel`` " -"(wheel packages) instead." -msgstr "" - -#: ../../../build/NEWS:8329 -msgid "" -"`bpo-37479 `__: When `Enum.__str__` is " -"overridden in a derived class, the override will be used by `Enum." -"__format__` regardless of whether mixin classes are present." -msgstr "" - -#: ../../../build/NEWS:8333 -msgid "" -"`bpo-37440 `__: http.client now enables " -"TLS 1.3 post-handshake authentication for default context or if a cert_file " -"is passed to HTTPSConnection." -msgstr "" - -#: ../../../build/NEWS:8336 -msgid "" -"`bpo-37437 `__: Update vendorized expat " -"version to 2.2.7." -msgstr "" - -#: ../../../build/NEWS:8338 -msgid "" -"`bpo-37428 `__: SSLContext." -"post_handshake_auth = True no longer sets SSL_VERIFY_POST_HANDSHAKE verify " -"flag for client connections. Although the option is documented as ignored " -"for clients, OpenSSL implicitly enables cert chain validation when the flag " -"is set." -msgstr "" - -#: ../../../build/NEWS:8343 -msgid "" -"`bpo-37420 `__: :func:`os." -"sched_setaffinity` now correctly handles errors that arise during iteration " -"over its ``mask`` argument. Patch by Brandt Bucher." -msgstr "" - -#: ../../../build/NEWS:8346 -msgid "" -"`bpo-37412 `__: The :func:`os.getcwdb` " -"function now uses the UTF-8 encoding on Windows, rather than the ANSI code " -"page: see :pep:`529` for the rationale. The function is no longer deprecated " -"on Windows." -msgstr "" - -#: ../../../build/NEWS:8350 -msgid "" -"`bpo-37406 `__: The sqlite3 module now " -"raises TypeError, rather than ValueError, if operation argument type is not " -"str: execute(), executemany() and calling a connection." -msgstr "" - -#: ../../../build/NEWS:8354 -msgid "" -"`bpo-29412 `__: Fix IndexError in " -"parsing a header value ending unexpectedly. Patch by Abhilash Raj." -msgstr "" - -#: ../../../build/NEWS:8357 -msgid "" -"`bpo-36546 `__: The *dist* argument for " -"statistics.quantiles() is now positional only. The current name doesn't " -"reflect that the argument can be either a dataset or a distribution. " -"Marking the parameter as positional avoids confusion and makes it possible " -"to change the name later." -msgstr "" - -#: ../../../build/NEWS:8362 -msgid "" -"`bpo-37394 `__: Fix a bug that was " -"causing the :mod:`queue` module to fail if the accelerator module was not " -"available. Patch by Pablo Galindo." -msgstr "" - -#: ../../../build/NEWS:8365 -msgid "" -"`bpo-37376 `__: :mod:`pprint` now has " -"support for :class:`types.SimpleNamespace`. Patch by Carl Bordum Hansen." -msgstr "" - -#: ../../../build/NEWS:8368 -msgid "" -"`bpo-26967 `__: An :class:`~argparse." -"ArgumentParser` with ``allow_abbrev=False`` no longer disables grouping of " -"short flags, such as ``-vv``, but only disables abbreviation of long flags " -"as documented. Patch by Zac Hatfield-Dodds." -msgstr "" - -#: ../../../build/NEWS:8373 -msgid "" -"`bpo-37212 `__: :func:`unittest.mock." -"call` now preserves the order of keyword arguments in repr output. Patch by " -"Karthikeyan Singaravelan." -msgstr "" - -#: ../../../build/NEWS:8376 -msgid "" -"`bpo-37372 `__: Fix error unpickling " -"datetime.time objects from Python 2 with seconds>=24. Patch by Justin " -"Blanchard." -msgstr "" - -#: ../../../build/NEWS:8379 -msgid "" -"`bpo-37345 `__: Add formal support for " -"UDPLITE sockets. Support was present before, but it is now easier to detect " -"support with ``hasattr(socket, 'IPPROTO_UDPLITE')`` and there are constants " -"defined for each of the values needed: :py:obj:`socket.IPPROTO_UDPLITE`, :py:" -"obj:`UDPLITE_SEND_CSCOV`, and :py:obj:`UDPLITE_RECV_CSCOV`. Patch by Gabe " -"Appleton." -msgstr "" - -#: ../../../build/NEWS:8386 -msgid "" -"`bpo-37358 `__: Optimized ``functools." -"partial`` by using vectorcall." -msgstr "" - -#: ../../../build/NEWS:8388 -msgid "" -"`bpo-37347 `__: :meth:`sqlite3." -"Connection.create_aggregate`, :meth:`sqlite3.Connection.create_function`, :" -"meth:`sqlite3.Connection.set_authorizer`, :meth:`sqlite3.Connection." -"set_progress_handler` :meth:`sqlite3.Connection.set_trace_callback` methods " -"lead to segfaults if some of these methods are called twice with an equal " -"object but not the same. Now callbacks are stored more carefully. Patch by " -"Aleksandr Balezin." -msgstr "" - -#: ../../../build/NEWS:8396 -msgid "" -"`bpo-37163 `__: The *obj* argument of :" -"func:`dataclasses.replace` is positional-only now." -msgstr "" - -#: ../../../build/NEWS:8399 -msgid "" -"`bpo-37085 `__: Add the optional Linux " -"SocketCAN Broadcast Manager constants, used as flags to configure the BCM " -"behaviour, in the socket module. Patch by Karl Ding." -msgstr "" - -#: ../../../build/NEWS:8403 -msgid "" -"`bpo-37328 `__: ``HTMLParser.unescape`` " -"is removed. It was undocumented and deprecated since Python 3.4." -msgstr "" - -#: ../../../build/NEWS:8406 -msgid "" -"`bpo-37305 `__: Add .webmanifest -> " -"application/manifest+json to list of recognized file types and content type " -"headers" -msgstr "" - -#: ../../../build/NEWS:8409 -msgid "" -"`bpo-37320 `__: ``aifc.openfp()`` alias " -"to ``aifc.open()``, ``sunau.openfp()`` alias to ``sunau.open()``, and ``wave." -"openfp()`` alias to ``wave.open()`` have been removed. They were deprecated " -"since Python 3.7." -msgstr "" - -#: ../../../build/NEWS:8413 -msgid "" -"`bpo-37315 `__: Deprecated accepting " -"floats with integral value (like ``5.0``) in :func:`math.factorial`." -msgstr "" - -#: ../../../build/NEWS:8416 -msgid "" -"`bpo-37312 `__: ``_dummy_thread`` and " -"``dummy_threading`` modules have been removed. These modules were deprecated " -"since Python 3.7 which requires threading support." -msgstr "" - -#: ../../../build/NEWS:8420 -msgid "" -"`bpo-33972 `__: Email with single part " -"but content-type set to ``multipart/*`` doesn't raise AttributeError anymore." -msgstr "" - -#: ../../../build/NEWS:8423 -msgid "" -"`bpo-37280 `__: Use threadpool for " -"reading from file for sendfile fallback mode." -msgstr "" - -#: ../../../build/NEWS:8426 -msgid "" -"`bpo-37279 `__: Fix asyncio sendfile " -"support when sendfile sends extra data in fallback mode." -msgstr "" - -#: ../../../build/NEWS:8429 -msgid "" -"`bpo-19865 `__: :func:`ctypes." -"create_unicode_buffer()` now also supports non-BMP characters on platforms " -"with 16-bit :c:type:`wchar_t` (for example, Windows and AIX)." -msgstr "" - -#: ../../../build/NEWS:8433 -msgid "" -"`bpo-37266 `__: In a subinterpreter, " -"spawning a daemon thread now raises an exception. Daemon threads were never " -"supported in subinterpreters. Previously, the subinterpreter finalization " -"crashed with a Pyton fatal error if a daemon thread was still running." -msgstr "" - -#: ../../../build/NEWS:8438 -msgid "" -"`bpo-37210 `__: Allow pure Python " -"implementation of :mod:`pickle` to work even when the C :mod:`_pickle` " -"module is unavailable." -msgstr "" - -#: ../../../build/NEWS:8441 -msgid "" -"`bpo-21872 `__: Fix :mod:`lzma`: module " -"decompresses data incompletely. When decompressing a FORMAT_ALONE format " -"file, and it doesn't have the end marker, sometimes the last one to dozens " -"bytes can't be output. Patch by Ma Lin." -msgstr "" - -#: ../../../build/NEWS:8446 -msgid "" -"`bpo-35922 `__: Fix :meth:" -"`RobotFileParser.crawl_delay` and :meth:`RobotFileParser.request_rate` to " -"return ``None`` rather than raise :exc:`AttributeError` when no relevant " -"rule is defined in the robots.txt file. Patch by Rémi Lapeyre." -msgstr "" - -#: ../../../build/NEWS:8451 -msgid "" -"`bpo-35766 `__: Change the format of " -"feature_version to be a (major, minor) tuple." -msgstr "" - -#: ../../../build/NEWS:8454 -msgid "" -"`bpo-36607 `__: Eliminate :exc:" -"`RuntimeError` raised by :func:`asyncio.all_tasks()` if internal tasks weak " -"set is changed by another thread during iteration." -msgstr "" - -#: ../../../build/NEWS:8458 -msgid "" -"`bpo-18748 `__: :class:`_pyio.IOBase` " -"destructor now does nothing if getting the ``closed`` attribute fails to " -"better mimick :class:`_io.IOBase` finalizer." -msgstr "" - -#: ../../../build/NEWS:8462 -msgid "" -"`bpo-36402 `__: Fix a race condition at " -"Python shutdown when waiting for threads. Wait until the Python thread state " -"of all non-daemon threads get deleted (join all non-daemon threads), rather " -"than just wait until non-daemon Python threads complete." -msgstr "" - -#: ../../../build/NEWS:8467 -msgid "" -"`bpo-37206 `__: Default values which " -"cannot be represented as Python objects no longer improperly represented as " -"``None`` in function signatures." -msgstr "" - -#: ../../../build/NEWS:8470 -msgid "" -"`bpo-37111 `__: Added ``encoding`` and " -"``errors`` keyword parameters to ``logging.basicConfig``." -msgstr "" - -#: ../../../build/NEWS:8473 -msgid "" -"`bpo-12144 `__: Ensure cookies with " -"``expires`` attribute are handled in :meth:`CookieJar.make_cookies`." -msgstr "" - -#: ../../../build/NEWS:8476 -msgid "" -"`bpo-34886 `__: Fix an unintended " -"ValueError from :func:`subprocess.run` when checking for conflicting `input` " -"and `stdin` or `capture_output` and `stdout` or `stderr` args when they were " -"explicitly provided but with `None` values within a passed in `**kwargs` " -"dict rather than as passed directly by name. Patch contributed by Rémi " -"Lapeyre." -msgstr "" - -#: ../../../build/NEWS:8482 -msgid "" -"`bpo-37173 `__: The exception message " -"for ``inspect.getfile()`` now correctly reports the passed class rather than " -"the builtins module." -msgstr "" - -#: ../../../build/NEWS:8485 -msgid "" -"`bpo-37178 `__: Give math.perm() a one " -"argument form that means the same as math.factorial()." -msgstr "" - -#: ../../../build/NEWS:8488 -msgid "" -"`bpo-37178 `__: For math.perm(n, k), let " -"k default to n, giving the same result as factorial." -msgstr "" - -#: ../../../build/NEWS:8491 -msgid "" -"`bpo-37165 `__: Converted _collections." -"_count_elements to use the Argument Clinic." -msgstr "" - -#: ../../../build/NEWS:8494 -msgid "" -"`bpo-34767 `__: Do not always create a :" -"class:`collections.deque` in :class:`asyncio.Lock`." -msgstr "" - -#: ../../../build/NEWS:8497 -msgid "" -"`bpo-37158 `__: Speed-up statistics." -"fmean() by switching from a function to a generator." -msgstr "" - -#: ../../../build/NEWS:8500 -msgid "" -"`bpo-34282 `__: Remove ``Enum._convert`` " -"method, deprecated in 3.8." -msgstr "" - -#: ../../../build/NEWS:8502 -msgid "" -"`bpo-37150 `__: `argparse." -"_ActionsContainer.add_argument` now throws error, if someone accidentally " -"pass FileType class object instead of instance of FileType as `type` argument" -msgstr "" - -#: ../../../build/NEWS:8506 -msgid "" -"`bpo-28724 `__: The socket module now " -"has the :func:`socket.send_fds` and :func:`socket.recv.fds` methods. " -"Contributed by Joannah Nanjekye, Shinya Okano and Victor Stinner." -msgstr "" - -#: ../../../build/NEWS:8510 -msgid "" -"`bpo-35621 `__: Support running asyncio " -"subprocesses when execution event loop in a thread on UNIX." -msgstr "" - -#: ../../../build/NEWS:8513 -msgid "" -"`bpo-36520 `__: Lengthy email headers " -"with UTF-8 characters are now properly encoded when they are folded. Patch " -"by Jeffrey Kintscher." -msgstr "" - -#: ../../../build/NEWS:8516 -msgid "" -"`bpo-30835 `__: Fixed a bug in email " -"parsing where a message with invalid bytes in content-transfer-encoding of a " -"multipart message can cause an AttributeError. Patch by Andrew Donnellan." -msgstr "" - -#: ../../../build/NEWS:8520 -msgid "" -"`bpo-31163 `__: pathlib.Path instance's " -"rename and replace methods now return the new Path instance." -msgstr "" - -#: ../../../build/NEWS:8523 -msgid "" -"`bpo-25068 `__: :class:`urllib.request." -"ProxyHandler` now lowercases the keys of the passed dictionary." -msgstr "" - -#: ../../../build/NEWS:8526 -msgid "" -"`bpo-26185 `__: Fix :func:`repr` on " -"empty :class:`ZipInfo` object. Patch by Mickaël Schoentgen." -msgstr "" - -#: ../../../build/NEWS:8529 -msgid "" -"`bpo-21315 `__: Email headers containing " -"RFC2047 encoded words are parsed despite the missing whitespace, and a " -"defect registered. Also missing trailing whitespace after encoded words is " -"now registered as a defect." -msgstr "" - -#: ../../../build/NEWS:8533 -msgid "" -"`bpo-31904 `__: Port test_datetime to " -"VxWorks: skip zoneinfo tests on VxWorks" -msgstr "" - -#: ../../../build/NEWS:8535 -msgid "" -"`bpo-35805 `__: Add parser for Message-" -"ID header and add it to default HeaderRegistry. This should prevent folding " -"of Message-ID using RFC 2048 encoded words." -msgstr "" - -#: ../../../build/NEWS:8539 -msgid "" -"`bpo-36871 `__: Ensure method signature " -"is used instead of constructor signature of a class while asserting mock " -"object against method calls. Patch by Karthikeyan Singaravelan." -msgstr "" - -#: ../../../build/NEWS:8543 -msgid "" -"`bpo-35070 `__: posix.getgrouplist() now " -"works correctly when the user belongs to NGROUPS_MAX supplemental groups. " -"Patch by Jeffrey Kintscher." -msgstr "" - -#: ../../../build/NEWS:8546 -msgid "" -"`bpo-31783 `__: Fix race condition in " -"ThreadPoolExecutor when worker threads are created during interpreter " -"shutdown." -msgstr "" - -#: ../../../build/NEWS:8549 -msgid "" -"`bpo-36582 `__: Fix ``UserString." -"encode()`` to correctly return ``bytes`` rather than a ``UserString`` " -"instance." -msgstr "" - -#: ../../../build/NEWS:8552 -msgid "" -"`bpo-32424 `__: Deprecate xml.etree." -"ElementTree.Element.copy() in favor of copy.copy()." -msgstr "" - -#: ../../../build/NEWS:8555 -msgid "Patch by Gordon P. Hemsley" -msgstr "" - -#: ../../../build/NEWS:8557 -msgid "" -"`bpo-36564 `__: Fix infinite loop in " -"email header folding logic that would be triggered when an email policy's " -"max_line_length is not long enough to include the required markup and any " -"values in the message. Patch by Paul Ganssle" -msgstr "" - -#: ../../../build/NEWS:8562 -msgid "" -"`bpo-36543 `__: Removed methods Element." -"getchildren(), Element.getiterator() and ElementTree.getiterator() and the " -"xml.etree.cElementTree module." -msgstr "" - -#: ../../../build/NEWS:8565 -msgid "" -"`bpo-36409 `__: Remove the old plistlib " -"API deprecated in Python 3.4" -msgstr "" - -#: ../../../build/NEWS:8567 -msgid "" -"`bpo-36302 `__: distutils sorts source " -"file lists so that Extension .so files build more reproducibly by default" -msgstr "" - -#: ../../../build/NEWS:8570 -msgid "" -"`bpo-36250 `__: Ignore ``ValueError`` " -"from ``signal`` with ``interaction`` in non-main thread." -msgstr "" - -#: ../../../build/NEWS:8573 -msgid "" -"`bpo-36046 `__: Added ``user``, " -"``group`` and ``extra_groups`` parameters to the subprocess.Popen " -"constructor. Patch by Patrick McLean." -msgstr "" - -#: ../../../build/NEWS:8576 -msgid "" -"`bpo-32627 `__: Fix compile error when " -"``_uuid`` headers conflicting included." -msgstr "" - -#: ../../../build/NEWS:8578 -msgid "" -"`bpo-35800 `__: Deprecate ``smtpd." -"MailmanProxy`` ready for future removal." -msgstr "" - -#: ../../../build/NEWS:8580 -msgid "" -"`bpo-35168 `__: :attr:`shlex.shlex." -"punctuation_chars` is now a read-only property." -msgstr "" - -#: ../../../build/NEWS:8583 -msgid "" -"`bpo-8538 `__: Add support for boolean " -"actions like ``--foo`` and ``--no-foo`` to argparse. Patch contributed by " -"Rémi Lapeyre." -msgstr "" - -#: ../../../build/NEWS:8586 -msgid "" -"`bpo-20504 `__: Fixes a bug in :mod:" -"`cgi` module when a multipart/form-data request has no `Content-Length` " -"header." -msgstr "" - -#: ../../../build/NEWS:8589 -msgid "" -"`bpo-25988 `__: The abstract base " -"classes in :mod:`collections.abc` no longer are exposed in the regular :mod:" -"`collections` module." -msgstr "" - -#: ../../../build/NEWS:8592 -msgid "" -"`bpo-11122 `__: Distutils won't check " -"for rpmbuild in specified paths only." -msgstr "" - -#: ../../../build/NEWS:8594 -msgid "" -"`bpo-34775 `__: Division handling of " -"PurePath now returns NotImplemented instead of raising a TypeError when " -"passed something other than an instance of str or PurePath. Patch by Roger " -"Aiudi." -msgstr "" - -#: ../../../build/NEWS:8598 -msgid "" -"`bpo-34749 `__: :func:`binascii." -"a2b_base64` is now up to 2 times faster. Patch by Sergey Fedoseev." -msgstr "" - -#: ../../../build/NEWS:8601 -msgid "" -"`bpo-34519 `__: Add additional aliases " -"for HP Roman 8. Patch by Michael Osipov." -msgstr "" - -#: ../../../build/NEWS:8603 -msgid "" -"`bpo-28009 `__: Fix uuid.getnode() on " -"platforms with '.' as MAC Addr delimiter as well fix for MAC Addr format " -"that omits a leading 0 in MAC Addr values. Currently, AIX is the only know " -"platform with these settings. Patch by Michael Felt." -msgstr "" - -#: ../../../build/NEWS:8608 -msgid "" -"`bpo-30618 `__: Add :meth:`~pathlib.Path." -"readlink`. Patch by Girts Folkmanis." -msgstr "" - -#: ../../../build/NEWS:8610 -msgid "" -"`bpo-32498 `__: Made :func:`urllib.parse." -"unquote()` accept bytes in addition to strings. Patch by Stein Karlsen." -msgstr "" - -#: ../../../build/NEWS:8613 -msgid "" -"`bpo-33348 `__: lib2to3 now recognizes " -"expressions after ``*`` and `**` like in ``f(*[] or [])``." -msgstr "" - -#: ../../../build/NEWS:8616 -msgid "" -"`bpo-32689 `__: Update :func:`shutil." -"move` function to allow for Path objects to be used as source argument. " -"Patch by Emily Morehouse and Maxwell \"5.13b\" McKinnon." -msgstr "" - -#: ../../../build/NEWS:8620 -msgid "" -"`bpo-32820 `__: Added __format__ to IPv4 " -"and IPv6 classes. Always outputs a fully zero- padded string. Supports b/x/" -"n modifiers (bin/hex/native format). Native format for IPv4 is bin, native " -"format for IPv6 is hex. Also supports '#' and '_' modifiers." -msgstr "" - -#: ../../../build/NEWS:8625 -msgid "" -"`bpo-27657 `__: Fix urllib.parse." -"urlparse() with numeric paths. A string like \"path:80\" is no longer parsed " -"as a path but as a scheme (\"path\") and a path (\"80\")." -msgstr "" - -#: ../../../build/NEWS:8629 -msgid "" -"`bpo-4963 `__: Fixed non-deterministic " -"behavior related to mimetypes extension mapping and module reinitialization." -msgstr "" - -#: ../../../build/NEWS:8635 -msgid "" -"`bpo-21767 `__: Explicitly mention abc " -"support in functools.singledispatch" -msgstr "" - -#: ../../../build/NEWS:8637 -msgid "" -"`bpo-38816 `__: Provides more details " -"about the interaction between :c:func:`fork` and CPython's runtime, focusing " -"just on the C-API. This includes cautions about where :c:func:`fork` should " -"and shouldn't be called." -msgstr "" - -#: ../../../build/NEWS:8642 -msgid "" -"`bpo-38351 `__: Modernize :mod:`email` " -"examples from %-formatting to f-strings." -msgstr "" - -#: ../../../build/NEWS:8644 -msgid "" -"`bpo-38778 `__: Document the fact that :" -"exc:`RuntimeError` is raised if :meth:`os.fork` is called in a " -"subinterpreter." -msgstr "" - -#: ../../../build/NEWS:8647 -msgid "" -"`bpo-38592 `__: Add Brazilian Portuguese " -"to the language switcher at Python Documentation website." -msgstr "" - -#: ../../../build/NEWS:8650 -msgid "" -"`bpo-38294 `__: Add list of no-longer-" -"escaped chars to re.escape documentation" -msgstr "" - -#: ../../../build/NEWS:8652 -msgid "" -"`bpo-38053 `__: Modernized the plistlib " -"documentation" -msgstr "" - -#: ../../../build/NEWS:8654 -msgid "" -"`bpo-26868 `__: Fix example usage of :c:" -"func:`PyModule_AddObject` to properly handle errors." -msgstr "" - -#: ../../../build/NEWS:8657 -msgid "" -"`bpo-36797 `__: Fix a dead link in the " -"distutils API Reference." -msgstr "" - -#: ../../../build/NEWS:8659 -msgid "" -"`bpo-37977 `__: Warn more strongly and " -"clearly about pickle insecurity" -msgstr "" - -#: ../../../build/NEWS:8661 -msgid "" -"`bpo-37979 `__: Added a link to dateutil." -"parser.isoparse in the datetime.fromisoformat documentation. Patch by Paul " -"Ganssle" -msgstr "" - -#: ../../../build/NEWS:8664 -msgid "" -"`bpo-12707 `__: Deprecate info(), " -"geturl(), getcode() methods in favor of the headers, url, and status " -"properties, respectively, for HTTPResponse and addinfourl. Also deprecate " -"the code attribute of addinfourl in favor of the status attribute. Patch by " -"Ashwin Ramaswami" -msgstr "" - -#: ../../../build/NEWS:8669 -msgid "" -"`bpo-37937 `__: Mention ``frame." -"f_trace`` in :func:`sys.settrace` docs." -msgstr "" - -#: ../../../build/NEWS:8671 -msgid "" -"`bpo-37878 `__: Make :c:func:" -"`PyThreadState_DeleteCurrent` Internal." -msgstr "" - -#: ../../../build/NEWS:8673 -msgid "" -"`bpo-37759 `__: Beginning edits to " -"Whatsnew 3.8" -msgstr "" - -#: ../../../build/NEWS:8675 -msgid "" -"`bpo-37726 `__: Stop recommending getopt " -"in the tutorial for command line argument parsing and promote argparse." -msgstr "" - -#: ../../../build/NEWS:8678 -msgid "" -"`bpo-32910 `__: Remove implementation-" -"specific behaviour of how venv's Deactivate works." -msgstr "" - -#: ../../../build/NEWS:8681 -msgid "" -"`bpo-37256 `__: Fix wording of arguments " -"for :class:`Request` in :mod:`urllib.request`" -msgstr "" - -#: ../../../build/NEWS:8684 -msgid "" -"`bpo-37284 `__: Add a brief note to " -"indicate that any new ``sys.implementation`` required attributes must go " -"through the PEP process." -msgstr "" - -#: ../../../build/NEWS:8688 -msgid "" -"`bpo-30088 `__: Documented that :class:" -"`mailbox.Maildir` constructor doesn't attempt to verify the maildir folder " -"layout correctness. Patch by Sviatoslav Sydorenko." -msgstr "" - -#: ../../../build/NEWS:8692 -msgid "" -"`bpo-37521 `__: Fix `importlib` examples " -"to insert any newly created modules via importlib.util.module_from_spec() " -"immediately into sys.modules instead of after calling loader.exec_module()." -msgstr "" - -#: ../../../build/NEWS:8696 -msgid "Thanks to Benjamin Mintz for finding the bug." -msgstr "" - -#: ../../../build/NEWS:8698 -msgid "" -"`bpo-37456 `__: Slash ('/') is now part " -"of syntax." -msgstr "" - -#: ../../../build/NEWS:8700 -msgid "" -"`bpo-37487 `__: Fix PyList_GetItem index " -"description to include 0." -msgstr "" - -#: ../../../build/NEWS:8702 -msgid "" -"`bpo-37149 `__: Replace the dead link to " -"the Tkinter 8.5 reference by John Shipman, New Mexico Tech, with a link to " -"the archive.org copy." -msgstr "" - -#: ../../../build/NEWS:8705 -msgid "" -"`bpo-37478 `__: Added possible " -"exceptions to the description of os.chdir()." -msgstr "" - -#: ../../../build/NEWS:8707 -msgid "" -"`bpo-34903 `__: Documented that in :meth:" -"`datetime.datetime.strptime()`, the leading zero in some two-digit formats " -"is optional. Patch by Mike Gleen." -msgstr "" - -#: ../../../build/NEWS:8710 -msgid "" -"`bpo-36260 `__: Add decompression " -"pitfalls to zipfile module documentation." -msgstr "" - -#: ../../../build/NEWS:8712 -msgid "" -"`bpo-37004 `__: In the documentation for " -"difflib, a note was added explicitly warning that the results of " -"SequenceMatcher's ratio method may depend on the order of the input strings." -msgstr "" - -#: ../../../build/NEWS:8716 -msgid "" -"`bpo-36960 `__: Restructured the :mod:" -"`datetime` docs in the interest of making them more user-friendly and " -"improving readability. Patch by Brad Solomon." -msgstr "" - -#: ../../../build/NEWS:8719 -msgid "" -"`bpo-36487 `__: Make C-API docs clear " -"about what the \"main\" interpreter is." -msgstr "" - -#: ../../../build/NEWS:8721 -msgid "" -"`bpo-23460 `__: The documentation for " -"decimal string formatting using the `:g` specifier has been updated to " -"reflect the correct exponential notation cutoff point. Original patch " -"contributed by Tuomas Suutari." -msgstr "" - -#: ../../../build/NEWS:8725 -msgid "" -"`bpo-35803 `__: Document and test that " -"``tempfile`` functions may accept a :term:`path-like object` for the ``dir`` " -"argument. Patch by Anthony Sottile." -msgstr "" - -#: ../../../build/NEWS:8729 -msgid "" -"`bpo-33944 `__: Added a note about the " -"intended use of code in .pth files." -msgstr "" - -#: ../../../build/NEWS:8731 -msgid "" -"`bpo-34293 `__: Fix the Doc/Makefile " -"regarding PAPER environment variable and PDF builds" -msgstr "" - -#: ../../../build/NEWS:8734 -msgid "" -"`bpo-25237 `__: Add documentation for " -"tkinter modules" -msgstr "" - -#: ../../../build/NEWS:8739 -msgid "" -"`bpo-38614 `__: Fix test_communicate() " -"of test_asyncio.test_subprocess: use ``support.LONG_TIMEOUT`` (5 minutes), " -"instead of just 1 minute." -msgstr "" - -#: ../../../build/NEWS:8742 -msgid "" -"`bpo-38614 `__: Add timeout constants " -"to :mod:`test.support`: :data:`~test.support.LOOPBACK_TIMEOUT`, :data:`~test." -"support.INTERNET_TIMEOUT`, :data:`~test.support.SHORT_TIMEOUT` and :data:" -"`~test.support.LONG_TIMEOUT`." -msgstr "" - -#: ../../../build/NEWS:8748 -msgid "" -"`bpo-38502 `__: test.regrtest now uses " -"process groups in the multiprocessing mode (-jN command line option) if " -"process groups are available: if :func:`os.setsid` and :func:`os.killpg` " -"functions are available." -msgstr "" - -#: ../../../build/NEWS:8752 -msgid "" -"`bpo-35998 `__: Fix a race condition in " -"test_asyncio.test_start_tls_server_1(). Previously, there was a race " -"condition between the test main() function which replaces the protocol and " -"the test ServerProto protocol which sends ANSWER once it gets HELLO. Now, " -"only the test main() function is responsible to send data, ServerProto no " -"longer sends data." -msgstr "" - -#: ../../../build/NEWS:8758 -msgid "" -"`bpo-38470 `__: Fix ``test_compileall." -"test_compile_dir_maxlevels()`` on Windows without long path support: only " -"create 3 subdirectories instead of between 20 and 100 subdirectories." -msgstr "" - -#: ../../../build/NEWS:8762 -msgid "" -"`bpo-37531 `__: On timeout, regrtest no " -"longer attempts to call ``popen.communicate()`` again: it can hang until all " -"child processes using stdout and stderr pipes completes. Kill the worker " -"process and ignores its output. Change also the faulthandler timeout of the " -"main process from 1 minute to 5 minutes, for Python slowest buildbots." -msgstr "" - -#: ../../../build/NEWS:8768 -msgid "" -"`bpo-38239 `__: Fix test_gdb for Link " -"Time Optimization (LTO) builds." -msgstr "" - -#: ../../../build/NEWS:8770 -msgid "" -"`bpo-38275 `__: test_ssl now handles " -"disabled TLS/SSL versions better. OpenSSL's crypto policy and run-time " -"settings are recognized and tests for disabled versions are skipped. Tests " -"also accept more TLS minimum_versions for platforms that override OpenSSL's " -"default with strict settings." -msgstr "" - -#: ../../../build/NEWS:8775 -msgid "" -"`bpo-38271 `__: The private keys for " -"test_ssl were encrypted with 3DES in traditional PKCS#5 format. 3DES and the " -"digest algorithm of PKCS#5 are blocked by some strict crypto policies. Use " -"PKCS#8 format with AES256 encryption instead." -msgstr "" - -#: ../../../build/NEWS:8780 -msgid "" -"`bpo-38270 `__: test.support now has a " -"helper function to check for availibility of a hash digest function. Several " -"tests are refactored avoid MD5 and use SHA256 instead. Other tests are " -"marked to use MD5 and skipped when MD5 is disabled." -msgstr "" - -#: ../../../build/NEWS:8785 -msgid "" -"`bpo-37123 `__: Multiprocessing test " -"test_mymanager() now also expects -SIGTERM, not only exitcode 0. BaseManager." -"_finalize_manager() sends SIGTERM to the manager process if it takes longer " -"than 1 second to stop, which happens on slow buildbots." -msgstr "" - -#: ../../../build/NEWS:8790 -msgid "" -"`bpo-38212 `__: Multiprocessing tests: " -"increase test_queue_feeder_donot_stop_onexc() timeout from 1 to 60 seconds." -msgstr "" - -#: ../../../build/NEWS:8793 -msgid "" -"`bpo-38117 `__: Test with OpenSSL 1.1.1d" -msgstr "" - -#: ../../../build/NEWS:8795 -msgid "" -"`bpo-38018 `__: Increase code coverage " -"for multiprocessing.shared_memory." -msgstr "" - -#: ../../../build/NEWS:8797 -msgid "" -"`bpo-37805 `__: Add tests for json." -"dump(..., skipkeys=True). Patch by Dong-hee Na." -msgstr "" - -#: ../../../build/NEWS:8800 -msgid "" -"`bpo-37531 `__: Enhance regrtest " -"multiprocess timeout: write a message when killing a worker process, catch " -"popen.kill() and popen.wait() exceptions, put a timeout on the second call " -"to popen.communicate()." -msgstr "" - -#: ../../../build/NEWS:8804 -msgid "" -"`bpo-37876 `__: Add tests for ROT-13 " -"codec." -msgstr "" - -#: ../../../build/NEWS:8806 -msgid "" -"`bpo-36833 `__: Added tests for " -"PyDateTime_xxx_GET_xxx() macros of the C API of the :mod:`datetime` module. " -"Patch by Joannah Nanjekye." -msgstr "" - -#: ../../../build/NEWS:8809 -msgid "" -"`bpo-37558 `__: Fix " -"test_shared_memory_cleaned_after_process_termination name handling" -msgstr "" - -#: ../../../build/NEWS:8812 -msgid "" -"`bpo-37526 `__: Add :func:`test.support." -"catch_threading_exception`: context manager catching :class:`threading." -"Thread` exception using :func:`threading.excepthook`." -msgstr "" - -#: ../../../build/NEWS:8816 -msgid "" -"`bpo-37421 `__: test_concurrent_futures " -"now explicitly stops the ForkServer instance if it's running." -msgstr "" - -#: ../../../build/NEWS:8819 -msgid "" -"`bpo-37421 `__: multiprocessing tests " -"now stop the ForkServer instance if it's running: close the \"alive\" file " -"descriptor to ask the server to stop and then remove its UNIX address." -msgstr "" - -#: ../../../build/NEWS:8823 -msgid "" -"`bpo-37421 `__: test_distutils." -"test_build_ext() is now able to remove the temporary directory on Windows: " -"don't import the newly built C extension (\"xx\") in the current process, " -"but test it in a separated process." -msgstr "" - -#: ../../../build/NEWS:8827 -msgid "" -"`bpo-37421 `__: test_concurrent_futures " -"now cleans up multiprocessing to remove immediately temporary directories " -"created by multiprocessing.util.get_temp_dir()." -msgstr "" - -#: ../../../build/NEWS:8831 -msgid "" -"`bpo-37421 `__: test_winconsoleio " -"doesn't leak a temporary file anymore: use tempfile.TemporaryFile() to " -"remove it when the test completes." -msgstr "" - -#: ../../../build/NEWS:8834 -msgid "" -"`bpo-37421 `__: multiprocessing tests " -"now explicitly call ``_run_finalizers()`` to immediately remove temporary " -"directories created by tests." -msgstr "" - -#: ../../../build/NEWS:8837 -msgid "" -"`bpo-37421 `__: urllib.request tests now " -"call :func:`~urllib.request.urlcleanup` to remove temporary files created by " -"``urlretrieve()`` tests and to clear the ``_opener`` global variable set by " -"``urlopen()`` and functions calling indirectly ``urlopen()``." -msgstr "" - -#: ../../../build/NEWS:8842 -msgid "" -"`bpo-37472 `__: Remove ``Lib/test/" -"outstanding_bugs.py``." -msgstr "" - -#: ../../../build/NEWS:8844 -msgid "" -"`bpo-37199 `__: Fix test failures when " -"IPv6 is unavailable or disabled." -msgstr "" - -#: ../../../build/NEWS:8846 -msgid "" -"`bpo-19696 `__: Replace deprecated " -"method \"random.choose\" with \"random.choice\" in \"test_pkg_import.py\"." -msgstr "" - -#: ../../../build/NEWS:8849 -msgid "" -"`bpo-37335 `__: Remove no longer " -"necessary code from c locale coercion tests" -msgstr "" - -#: ../../../build/NEWS:8851 -msgid "" -"`bpo-37421 `__: Fix test_shutil to no " -"longer leak temporary files." -msgstr "" - -#: ../../../build/NEWS:8853 -msgid "" -"`bpo-37411 `__: Fix test_wsgiref." -"testEnviron() to no longer depend on the environment variables (don't fail " -"if \"X\" variable is set)." -msgstr "" - -#: ../../../build/NEWS:8856 -msgid "" -"`bpo-37400 `__: Fix test_os." -"test_chown(): use os.getgroups() rather than grp.getgrall() to get groups. " -"Rename also the test to test_chown_gid()." -msgstr "" - -#: ../../../build/NEWS:8859 -msgid "" -"`bpo-37359 `__: Add --cleanup option to " -"python3 -m test to remove ``test_python_*`` directories of previous failed " -"jobs. Add \"make cleantest\" to run ``python3 -m test --cleanup``." -msgstr "" - -#: ../../../build/NEWS:8863 -msgid "" -"`bpo-37362 `__: test_gdb no longer fails " -"if it gets an \"unexpected\" message on stderr: it now ignores stderr. The " -"purpose of test_gdb is to test that python-gdb.py commands work as expected, " -"not to test gdb." -msgstr "" - -#: ../../../build/NEWS:8867 -msgid "" -"`bpo-35998 `__: Avoid TimeoutError in " -"test_asyncio: test_start_tls_server_1()" -msgstr "" - -#: ../../../build/NEWS:8869 -msgid "" -"`bpo-37278 `__: Fix test_asyncio " -"ProactorLoopCtrlC: join the thread to prevent leaking a running thread and " -"leaking a reference." -msgstr "" - -#: ../../../build/NEWS:8872 -msgid "" -"`bpo-37261 `__: Fix :func:`test.support." -"catch_unraisable_exception`: its __exit__() method now ignores unraisable " -"exception raised when clearing its ``unraisable`` attribute." -msgstr "" - -#: ../../../build/NEWS:8876 -msgid "" -"`bpo-37069 `__: regrtest now uses :func:" -"`sys.unraisablehook` to mark a test as \"environment altered\" (ENV_CHANGED) " -"if it emits an \"unraisable exception\". Moreover, regrtest logs a warning " -"in this case." -msgstr "" - -#: ../../../build/NEWS:8880 -msgid "" -"Use ``python3 -m test --fail-env-changed`` to catch unraisable exceptions in " -"tests." -msgstr "" - -#: ../../../build/NEWS:8883 -msgid "" -"`bpo-37252 `__: Fix assertions in " -"``test_close`` and ``test_events_mask_overflow`` devpoll tests." -msgstr "" - -#: ../../../build/NEWS:8886 -msgid "" -"`bpo-37169 `__: Rewrite " -"``_PyObject_IsFreed()`` unit tests." -msgstr "" - -#: ../../../build/NEWS:8888 -msgid "" -"`bpo-37153 `__: ``test_venv." -"test_multiprocessing()`` now explicitly calls ``pool.terminate()`` to wait " -"until the pool completes." -msgstr "" - -#: ../../../build/NEWS:8891 -msgid "" -"`bpo-34001 `__: Make test_ssl pass with " -"LibreSSL. LibreSSL handles minimum and maximum TLS version differently than " -"OpenSSL." -msgstr "" - -#: ../../../build/NEWS:8894 -msgid "" -"`bpo-36919 `__: Make " -"``test_source_encoding.test_issue2301`` implementation independent. The test " -"will work now for both CPython and IronPython." -msgstr "" - -#: ../../../build/NEWS:8897 -msgid "" -"`bpo-30202 `__: Update ``test." -"test_importlib.test_abc`` to test ``find_spec()``." -msgstr "" - -#: ../../../build/NEWS:8900 -msgid "" -"`bpo-28009 `__: Modify the test_uuid " -"logic to test when a program is available AND can be used to obtain a " -"MACADDR as basis for an UUID. Patch by M. Felt" -msgstr "" - -#: ../../../build/NEWS:8903 -msgid "" -"`bpo-34596 `__: Fallback to a default " -"reason when :func:`unittest.skip` is uncalled. Patch by Naitree Zhu." -msgstr "" - -#: ../../../build/NEWS:8909 -msgid "" -"`bpo-38809 `__: On Windows, build " -"scripts will now recognize and use python.exe from an active virtual env." -msgstr "" - -#: ../../../build/NEWS:8912 -msgid "" -"`bpo-38684 `__: Fix _hashlib build when " -"Blake2 is disabled, but OpenSSL supports it." -msgstr "" - -#: ../../../build/NEWS:8915 -msgid "" -"`bpo-38468 `__: Misc/python-config.in " -"now uses `getvar()` for all still existing `sysconfig.get_config_var()` " -"calls. Patch by Joannah Nanjekye." -msgstr "" - -#: ../../../build/NEWS:8918 -msgid "" -"`bpo-37415 `__: Fix stdatomic.h header " -"check for ICC compiler: the ICC implementation lacks atomic_uintptr_t type " -"which is needed by Python." -msgstr "" - -#: ../../../build/NEWS:8921 -msgid "" -"`bpo-38301 `__: In Solaris family, we " -"must be sure to use ``-D_REENTRANT``. Patch by Jesús Cea Avión." -msgstr "" - -#: ../../../build/NEWS:8924 -msgid "" -"`bpo-36002 `__: Locate ``llvm-profdata`` " -"and ``llvm-ar`` binaries using ``AC_PATH_TOOL`` rather than " -"``AC_PATH_TARGET_TOOL``." -msgstr "" - -#: ../../../build/NEWS:8927 -msgid "" -"`bpo-37936 `__: The :file:`.gitignore` " -"file systematically keeps \"rooted\", with a non-trailing slash, all the " -"rules that are meant to apply to files in a specific place in the repo. " -"Previously, when the intended file to ignore happened to be at the root of " -"the repo, we'd most often accidentally also ignore files and directories " -"with the same name anywhere in the tree." -msgstr "" - -#: ../../../build/NEWS:8933 -msgid "" -"`bpo-37760 `__: The :file:`Tools/unicode/" -"makeunicodedata.py` script, which is used for converting information from " -"the Unicode Character Database into generated code and data used by the " -"methods of :class:`str` and by the :mod:`unicodedata` module, now handles " -"each character's data as a ``dataclass`` with named attributes, rather than " -"a length-18 list of different fields." -msgstr "" - -#: ../../../build/NEWS:8940 -msgid "" -"`bpo-37936 `__: The :file:`.gitignore` " -"file no longer applies to any files that are in fact tracked in the Git " -"repository. Patch by Greg Price." -msgstr "" - -#: ../../../build/NEWS:8943 -msgid "" -"`bpo-37725 `__: Change \"clean\" " -"makefile target to also clean the program guided optimization (PGO) data. " -"Previously you would have to use \"make clean\" and \"make profile-removal" -"\", or \"make clobber\"." -msgstr "" - -#: ../../../build/NEWS:8947 -msgid "" -"`bpo-37707 `__: Mark some individual " -"tests to skip when --pgo is used. The tests marked increase the PGO task " -"time significantly and likely don't help improve optimization of the final " -"executable." -msgstr "" - -#: ../../../build/NEWS:8951 -msgid "" -"`bpo-36044 `__: Reduce the number of " -"unit tests run for the PGO generation task. This speeds up the task by a " -"factor of about 15x. Running the full unit test suite is slow. This change " -"may result in a slightly less optimized build since not as many code " -"branches will be executed. If you are willing to wait for the much slower " -"build, the old behavior can be restored using './configure [..] PROFILE_TASK=" -"\"-m test --pgo-extended\"'. We make no guarantees as to which PGO task set " -"produces a faster build. Users who care should run their own relevant " -"benchmarks as results can depend on the environment, workload, and compiler " -"tool chain." -msgstr "" - -#: ../../../build/NEWS:8961 -msgid "" -"`bpo-37468 `__: ``make install`` no " -"longer installs ``wininst-*.exe`` files used by distutils bdist_wininst: " -"bdist_wininst only works on Windows." -msgstr "" - -#: ../../../build/NEWS:8964 -msgid "" -"`bpo-37189 `__: Many ``PyRun_XXX()`` " -"functions like :c:func:`PyRun_String` were no longer exported in " -"``libpython38.dll`` by mistake. Export them again to fix the ABI " -"compatibility." -msgstr "" - -#: ../../../build/NEWS:8968 -msgid "" -"`bpo-25361 `__: Enables use of SSE2 " -"instructions in Windows 32-bit build." -msgstr "" - -#: ../../../build/NEWS:8970 -msgid "" -"`bpo-36210 `__: Update optional " -"extension module detection for AIX. ossaudiodev and spwd are not applicable " -"for AIX, and are no longer reported as missing. 3rd-party packaging of " -"ncurses (with ASIS support) conflicts with officially supported AIX curses " -"library, so configure AIX to use libcurses.a. However, skip trying to build " -"_curses_panel." -msgstr "" - -#: ../../../build/NEWS:8976 -msgid "patch by M Felt" -msgstr "" - -#: ../../../build/NEWS:8981 -msgid "" -"`bpo-38589 `__: Fixes HTML Help shortcut " -"when Windows is not installed to C drive" -msgstr "" - -#: ../../../build/NEWS:8984 -msgid "" -"`bpo-38453 `__: Ensure ntpath.realpath() " -"correctly resolves relative paths." -msgstr "" - -#: ../../../build/NEWS:8986 -msgid "" -"`bpo-38519 `__: Restores the internal C " -"headers that were missing from the nuget.org and Microsoft Store packages." -msgstr "" - -#: ../../../build/NEWS:8989 -msgid "" -"`bpo-38492 `__: Remove ``pythonw.exe`` " -"dependency on the Microsoft C++ runtime." -msgstr "" - -#: ../../../build/NEWS:8991 -msgid "" -"`bpo-38344 `__: Fix error message in " -"activate.bat" -msgstr "" - -#: ../../../build/NEWS:8993 -msgid "" -"`bpo-38359 `__: Ensures ``pyw.exe`` " -"launcher reads correct registry key." -msgstr "" - -#: ../../../build/NEWS:8995 -msgid "" -"`bpo-38355 `__: Fixes ``ntpath." -"realpath`` failing on ``sys.executable``." -msgstr "" - -#: ../../../build/NEWS:8997 -msgid "" -"`bpo-38117 `__: Update bundled OpenSSL " -"to 1.1.1d" -msgstr "" - -#: ../../../build/NEWS:8999 -msgid "" -"`bpo-38092 `__: Reduce overhead when " -"using multiprocessing in a Windows virtual environment." -msgstr "" - -#: ../../../build/NEWS:9002 -msgid "" -"`bpo-38133 `__: Allow py.exe launcher to " -"locate installations from the Microsoft Store and improve display of active " -"virtual environments." -msgstr "" - -#: ../../../build/NEWS:9005 -msgid "" -"`bpo-38114 `__: The ``pip.ini`` is no " -"longer included in the Nuget package." -msgstr "" - -#: ../../../build/NEWS:9007 -msgid "" -"`bpo-32592 `__: Set Windows 8 as the " -"minimum required version for API support" -msgstr "" - -#: ../../../build/NEWS:9009 -msgid "" -"`bpo-36634 `__: :func:`os.cpu_count` now " -"returns active processors rather than maximum processors." -msgstr "" - -#: ../../../build/NEWS:9012 -msgid "" -"`bpo-36634 `__: venv activate.bat now " -"works when the existing variables contain double quote characters." -msgstr "" - -#: ../../../build/NEWS:9015 -msgid "" -"`bpo-38081 `__: Prevent error calling :" -"func:`os.path.realpath` on ``'NUL'``." -msgstr "" - -#: ../../../build/NEWS:9017 -msgid "" -"`bpo-38087 `__: Fix case sensitivity in " -"test_pathlib and test_ntpath." -msgstr "" - -#: ../../../build/NEWS:9019 -msgid "" -"`bpo-38088 `__: Fixes distutils not " -"finding vcruntime140.dll with only the v142 toolset installed." -msgstr "" - -#: ../../../build/NEWS:9022 -msgid "" -"`bpo-37283 `__: Ensure command-line and " -"unattend.xml setting override previously detected states in Windows " -"installer." -msgstr "" - -#: ../../../build/NEWS:9025 -msgid "" -"`bpo-38030 `__: Fixes :func:`os.stat` " -"failing for block devices on Windows" -msgstr "" - -#: ../../../build/NEWS:9027 -msgid "" -"`bpo-38020 `__: Fixes potential crash " -"when calling :func:`os.readlink` (or indirectly through :func:`~os.path." -"realpath`) on a file that is not a supported link." -msgstr "" - -#: ../../../build/NEWS:9031 -msgid "" -"`bpo-37705 `__: Improve the " -"implementation of ``winerror_to_errno()``." -msgstr "" - -#: ../../../build/NEWS:9033 -msgid "" -"`bpo-37549 `__: :func:`os.dup` no longer " -"fails for standard streams on Windows 7." -msgstr "" - -#: ../../../build/NEWS:9036 -msgid "" -"`bpo-1311 `__: The ``nul`` file on " -"Windows now returns True from :func:`~os.path.exists` and a valid result " -"from :func:`os.stat` with ``S_IFCHR`` set." -msgstr "" - -#: ../../../build/NEWS:9040 -msgid "" -"`bpo-9949 `__: Enable support for " -"following symlinks in :func:`os.realpath`." -msgstr "" - -#: ../../../build/NEWS:9042 -msgid "" -"`bpo-37834 `__: Treat all name surrogate " -"reparse points on Windows in :func:`os.lstat` and other reparse points as " -"regular files in :func:`os.stat`." -msgstr "" - -#: ../../../build/NEWS:9046 -msgid "" -"`bpo-36266 `__: Add the module name in " -"the formatted error message when DLL load fail happens during module import " -"in ``_PyImport_FindSharedFuncptrWindows()``. Patch by Srinivas Nyayapati." -msgstr "" - -#: ../../../build/NEWS:9050 -msgid "" -"`bpo-25172 `__: Trying to import the :" -"mod:`crypt` module on Windows will result in an :exc:`ImportError` with a " -"message explaining that the module isn't supported on Windows. On other " -"platforms, if the underlying ``_crypt`` module is not available, the " -"ImportError will include a message explaining the problem." -msgstr "" - -#: ../../../build/NEWS:9056 -msgid "" -"`bpo-37778 `__: Fixes the icons used for " -"file associations to the Microsoft Store package." -msgstr "" - -#: ../../../build/NEWS:9059 -msgid "" -"`bpo-37734 `__: Fix use of registry " -"values to launch Python from Microsoft Store app." -msgstr "" - -#: ../../../build/NEWS:9062 -msgid "" -"`bpo-37702 `__: Fix memory leak on " -"Windows in creating an SSLContext object or running urllib.request." -"urlopen('https://...')." -msgstr "" - -#: ../../../build/NEWS:9065 -msgid "" -"`bpo-37672 `__: Switch Windows Store " -"package's pip to use bundled :file:`pip.ini` instead of :envvar:`PIP_USER` " -"variable." -msgstr "" - -#: ../../../build/NEWS:9068 -msgid "" -"`bpo-10945 `__: Officially drop support " -"for creating bdist_wininst installers on non-Windows systems." -msgstr "" - -#: ../../../build/NEWS:9071 -msgid "" -"`bpo-37445 `__: Include the " -"``FORMAT_MESSAGE_IGNORE_INSERTS`` flag in ``FormatMessageW()`` calls." -msgstr "" - -#: ../../../build/NEWS:9074 -msgid "" -"`bpo-37369 `__: Fixes path for :data:" -"`sys.executable` when running from the Microsoft Store." -msgstr "" - -#: ../../../build/NEWS:9077 -msgid "" -"`bpo-37380 `__: Don't collect unfinished " -"processes with ``subprocess._active`` on Windows to cleanup later. Patch by " -"Ruslan Kuprieiev." -msgstr "" - -#: ../../../build/NEWS:9080 -msgid "" -"`bpo-37351 `__: Removes libpython38.a " -"from standard Windows distribution." -msgstr "" - -#: ../../../build/NEWS:9082 -msgid "" -"`bpo-35360 `__: Update Windows builds to " -"use SQLite 3.28.0." -msgstr "" - -#: ../../../build/NEWS:9084 -msgid "" -"`bpo-37267 `__: On Windows, :func:`os." -"dup` no longer creates an inheritable fd when handling a character file." -msgstr "" - -#: ../../../build/NEWS:9087 -msgid "" -"`bpo-36779 `__: Ensure ``time.tzname`` " -"is correct on Windows when the active code page is set to CP_UTF7 or CP_UTF8." -msgstr "" - -#: ../../../build/NEWS:9090 -msgid "" -"`bpo-32587 `__: Make :data:`winreg." -"REG_MULTI_SZ` support zero-length strings." -msgstr "" - -#: ../../../build/NEWS:9092 -msgid "" -"`bpo-28269 `__: Replace use of :c:func:" -"`strcasecmp` for the system function :c:func:`_stricmp`. Patch by Minmin " -"Gong." -msgstr "" - -#: ../../../build/NEWS:9095 -msgid "" -"`bpo-36590 `__: Add native Bluetooth " -"RFCOMM support to socket module." -msgstr "" - -#: ../../../build/NEWS:9100 -msgid "" -"`bpo-38117 `__: Updated OpenSSL to " -"1.1.1d in macOS installer." -msgstr "" - -#: ../../../build/NEWS:9102 -msgid "" -"`bpo-38089 `__: Move Azure Pipelines to " -"latest VM versions and make macOS tests optional" -msgstr "" - -#: ../../../build/NEWS:9105 -msgid "" -"`bpo-18049 `__: Increase the default " -"stack size of threads from 5MB to 16MB on macOS, to match the stack size of " -"the main thread. This avoids crashes on deep recursion in threads." -msgstr "" - -#: ../../../build/NEWS:9109 -msgid "" -"`bpo-34602 `__: Avoid test suite " -"failures on macOS by no longer calling resource.setrlimit to increase the " -"process stack size limit at runtime. The runtime change is no longer needed " -"since the interpreter is being built with a larger default stack size." -msgstr "" - -#: ../../../build/NEWS:9114 -msgid "" -"`bpo-35360 `__: Update macOS installer " -"to use SQLite 3.28.0." -msgstr "" - -#: ../../../build/NEWS:9116 -msgid "" -"`bpo-34631 `__: Updated OpenSSL to " -"1.1.1c in macOS installer." -msgstr "" - -#: ../../../build/NEWS:9121 -msgid "" -"`bpo-26353 `__: Stop adding newline when " -"saving an IDLE shell window." -msgstr "" - -#: ../../../build/NEWS:9123 -msgid "" -"`bpo-4630 `__: Add an option to toggle " -"IDLE's cursor blink for shell, editor, and output windows. See Settings, " -"General, Window Preferences, Cursor Blink. Patch by Zackery Spytz." -msgstr "" - -#: ../../../build/NEWS:9127 -msgid "" -"`bpo-38598 `__: Do not try to compile " -"IDLE shell or output windows" -msgstr "" - -#: ../../../build/NEWS:9129 -msgid "" -"`bpo-36698 `__: IDLE no longer fails " -"when write non-encodable characters to stderr. It now escapes them with a " -"backslash, as the regular Python interpreter. Added the ``errors`` field to " -"the standard streams." -msgstr "" - -#: ../../../build/NEWS:9133 -msgid "" -"`bpo-35379 `__: When exiting IDLE, catch " -"any AttributeError. One happens when EditorWindow.close is called twice. " -"Printing a traceback, when IDLE is run from a terminal, is useless and " -"annoying." -msgstr "" - -#: ../../../build/NEWS:9137 -msgid "" -"`bpo-38183 `__: To avoid problems, " -"test_idle ignores the user config directory. It no longer tries to create or " -"access .idlerc or any files within. Users must run IDLE to discover problems " -"with saving settings." -msgstr "" - -#: ../../../build/NEWS:9141 -msgid "" -"`bpo-38077 `__: IDLE no longer adds " -"'argv' to the user namespace when initializing it. This bug only affected " -"3.7.4 and 3.8.0b2 to 3.8.0b4." -msgstr "" - -#: ../../../build/NEWS:9144 -msgid "" -"`bpo-38041 `__: Shell restart lines now " -"fill the window width, always start with '=', and avoid wrapping " -"unnecessarily. The line will still wrap if the included file name is long " -"relative to the width." -msgstr "" - -#: ../../../build/NEWS:9148 -msgid "" -"`bpo-35771 `__: To avoid occasional " -"spurious test_idle failures on slower machines, increase the ``hover_delay`` " -"in test_tooltip." -msgstr "" - -#: ../../../build/NEWS:9151 -msgid "" -"`bpo-37824 `__: Properly handle user " -"input warnings in IDLE shell. Cease turning SyntaxWarnings into SyntaxErrors." -msgstr "" - -#: ../../../build/NEWS:9154 -msgid "" -"`bpo-37929 `__: IDLE Settings dialog now " -"closes properly when there is no shell window." -msgstr "" - -#: ../../../build/NEWS:9157 -msgid "" -"`bpo-37902 `__: Add mousewheel scrolling " -"for IDLE module, path, and stack browsers. Patch by George Zhang." -msgstr "" - -#: ../../../build/NEWS:9160 -msgid "" -"`bpo-37849 `__: Fixed completions list " -"appearing too high or low when shown above the current line." -msgstr "" - -#: ../../../build/NEWS:9163 -msgid "" -"`bpo-36419 `__: Refactor IDLE " -"autocomplete and improve testing." -msgstr "" - -#: ../../../build/NEWS:9165 -msgid "" -"`bpo-37748 `__: Reorder the Run menu. " -"Put the most common choice, Run Module, at the top." -msgstr "" - -#: ../../../build/NEWS:9168 -msgid "" -"`bpo-37692 `__: Improve highlight config " -"sample with example shell interaction and better labels for shell elements." -msgstr "" - -#: ../../../build/NEWS:9171 -msgid "" -"`bpo-37628 `__: Settings dialog no " -"longer expands with font size." -msgstr "" - -#: ../../../build/NEWS:9173 -msgid "" -"`bpo-37627 `__: Initialize the Customize " -"Run dialog with the command line arguments most recently entered before. " -"The user can optionally edit before submitting them." -msgstr "" - -#: ../../../build/NEWS:9177 -msgid "" -"`bpo-33610 `__: Fix code context not " -"showing the correct context when first toggled on." -msgstr "" - -#: ../../../build/NEWS:9180 -msgid "" -"`bpo-37530 `__: Optimize code context to " -"reduce unneeded background activity. Font and highlight changes now occur " -"along with text changes instead of after a random delay." -msgstr "" - -#: ../../../build/NEWS:9184 -msgid "" -"`bpo-27452 `__: Cleanup ``config.py`` by " -"inlining ``RemoveFile`` and simplifying the handling of ``file`` in " -"``CreateConfigHandlers``." -msgstr "" - -#: ../../../build/NEWS:9187 -msgid "" -"`bpo-37325 `__: Fix tab focus traversal " -"order for help source and custom run dialogs." -msgstr "" - -#: ../../../build/NEWS:9190 -msgid "" -"`bpo-37321 `__: Both subprocess " -"connection error messages now refer to the 'Startup failure' section of the " -"IDLE doc." -msgstr "" - -#: ../../../build/NEWS:9193 -msgid "" -"`bpo-17535 `__: Add optional line " -"numbers for IDLE editor windows. Windows open without line numbers unless " -"set otherwise in the General tab of the configuration dialog." -msgstr "" - -#: ../../../build/NEWS:9197 -msgid "" -"`bpo-26806 `__: To compensate for stack " -"frames added by IDLE and avoid possible problems with low recursion limits, " -"add 30 to limits in the user code execution process. Subtract 30 when " -"reporting recursion limits to make this addition mostly transparent." -msgstr "" - -#: ../../../build/NEWS:9202 -msgid "" -"`bpo-37177 `__: Properly 'attach' search " -"dialogs to their main window so that they behave like other dialogs and do " -"not get hidden behind their main window." -msgstr "" - -#: ../../../build/NEWS:9206 -msgid "" -"`bpo-37039 `__: Adjust \"Zoom Height\" " -"to individual screens by momentarily maximizing the window on first use with " -"a particular screen. Changing screen settings may invalidate the saved " -"height. While a window is maximized, \"Zoom Height\" has no effect." -msgstr "" - -#: ../../../build/NEWS:9211 -msgid "" -"`bpo-35763 `__: Make calltip reminder " -"about '/' meaning positional-only less obtrusive by only adding it when " -"there is room on the first line." -msgstr "" - -#: ../../../build/NEWS:9214 -msgid "" -"`bpo-5680 `__: Add 'Run... Customized' to " -"the Run menu to run a module with customized settings. Any 'command line " -"arguments' entered are added to sys.argv. One can suppress the normal Shell " -"main module restart." -msgstr "" - -#: ../../../build/NEWS:9218 -msgid "" -"`bpo-36390 `__: Gather Format menu " -"functions into format.py. Combine paragraph.py, rstrip.py, and format " -"methods from editor.py." -msgstr "" - -#: ../../../build/NEWS:9224 -msgid "" -"`bpo-38118 `__: Update Valgrind " -"suppression file to ignore a false alarm in :c:func:`PyUnicode_Decode` when " -"using GCC builtin strcmp()." -msgstr "" - -#: ../../../build/NEWS:9227 -msgid "" -"`bpo-38347 `__: pathfix.py: Assume all " -"files that end on '.py' are Python scripts when working recursively." -msgstr "" - -#: ../../../build/NEWS:9230 -msgid "" -"`bpo-37803 `__: pdb's ``--help`` and ``--" -"version`` long options now work." -msgstr "" - -#: ../../../build/NEWS:9232 -msgid "" -"`bpo-37942 `__: Improve ArgumentClinic " -"converter for floats." -msgstr "" - -#: ../../../build/NEWS:9234 -msgid "" -"`bpo-37704 `__: Remove ``Tools/scripts/" -"h2py.py``: use cffi to access a C API in Python." -msgstr "" - -#: ../../../build/NEWS:9237 -msgid "" -"`bpo-37675 `__: 2to3 now works when run " -"from a zipped standard library." -msgstr "" - -#: ../../../build/NEWS:9239 -msgid "" -"`bpo-37034 `__: Argument Clinic now uses " -"the argument name on errors with keyword-only argument instead of their " -"position. Patch contributed by Rémi Lapeyre." -msgstr "" - -#: ../../../build/NEWS:9243 -msgid "" -"`bpo-37064 `__: Add option -k to " -"pathscript.py script: preserve shebang flags. Add option -a to pathscript.py " -"script: add flags." -msgstr "" - -#: ../../../build/NEWS:9249 -msgid "" -"`bpo-37633 `__: Re-export some function " -"compatibility wrappers for macros in ``pythonrun.h``." -msgstr "" - -#: ../../../build/NEWS:9252 -msgid "" -"`bpo-38644 `__: Provide :c:func:" -"`Py_EnterRecursiveCall` and :c:func:`Py_LeaveRecursiveCall` as regular " -"functions for the limited API. Previously, there were defined as macros, but " -"these macros didn't work with the limited API which cannot access " -"``PyThreadState.recursion_depth`` field. Remove ``_Py_CheckRecursionLimit`` " -"from the stable ABI." -msgstr "" - -#: ../../../build/NEWS:9258 -msgid "" -"`bpo-38650 `__: The global variable :c:" -"data:`PyStructSequence_UnnamedField` is now a constant and refers to a " -"constant string." -msgstr "" - -#: ../../../build/NEWS:9261 -msgid "" -"`bpo-38540 `__: Fixed possible leak in :" -"c:func:`PyArg_Parse` and similar functions for format units ``\"es#\"`` and " -"``\"et#\"`` when the macro :c:macro:`PY_SSIZE_T_CLEAN` is not defined." -msgstr "" - -#: ../../../build/NEWS:9265 -msgid "" -"`bpo-38395 `__: Fix a crash in :class:" -"`weakref.proxy` objects due to incorrect lifetime management when calling " -"some associated methods that may delete the last reference to object being " -"referenced by the proxy. Patch by Pablo Galindo." -msgstr "" - -#: ../../../build/NEWS:9270 -msgid "" -"`bpo-36389 `__: The " -"``_PyObject_CheckConsistency()`` function is now also available in release " -"mode. For example, it can be used to debug a crash in the ``visit_decref()`` " -"function of the GC." -msgstr "" - -#: ../../../build/NEWS:9274 -msgid "" -"`bpo-38266 `__: Revert the removal of " -"PyThreadState_DeleteCurrent() with documentation." -msgstr "" - -#: ../../../build/NEWS:9277 -msgid "" -"`bpo-38303 `__: Update audioop extension " -"module to use the stable ABI (PEP-384). Patch by Tyler Kieft." -msgstr "" - -#: ../../../build/NEWS:9280 -msgid "" -"`bpo-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`)." -msgstr "" - -#: ../../../build/NEWS:9284 -msgid "" -"`bpo-38234 `__: Python ignored arguments " -"passed to :c:func:`Py_SetPath`, :c:func:`Py_SetPythonHome` and :c:func:" -"`Py_SetProgramName`: fix Python initialization to use specified arguments." -msgstr "" - -#: ../../../build/NEWS:9288 -msgid "" -"`bpo-38205 `__: The :c:func:" -"`Py_UNREACHABLE` macro now calls :c:func:`Py_FatalError`." -msgstr "" - -#: ../../../build/NEWS:9291 -msgid "" -"`bpo-38140 `__: Make dict and weakref " -"offsets opaque for C heap types by passing the offsets through PyMemberDef" -msgstr "" - -#: ../../../build/NEWS:9294 -msgid "" -"`bpo-15088 `__: The C function " -"``PyGen_NeedsFinalizing`` has been removed. It was not documented, tested or " -"used anywhere within CPython after the implementation of :pep:`442`. Patch " -"by Joannah Nanjekye. (Patch by Joannah Nanjekye)" -msgstr "" - -#: ../../../build/NEWS:9299 -msgid "" -"`bpo-36763 `__: Options added by " -"``PySys_AddXOption()`` are now handled the same way than ``PyConfig." -"xoptions`` and command line ``-X`` options." -msgstr "" - -#: ../../../build/NEWS:9302 -msgid "" -"`bpo-37926 `__: Fix a crash in " -"``PySys_SetArgvEx(0, NULL, 0)``." -msgstr "" - -#: ../../../build/NEWS:9304 -msgid "" -"`bpo-37879 `__: Fix subtype_dealloc to " -"suppress the type decref when the base type is a C heap type" -msgstr "" - -#: ../../../build/NEWS:9307 -msgid "" -"`bpo-37645 `__: Add :c:func:" -"`_PyObject_FunctionStr` to get a user-friendly string representation of a " -"function-like object. Patch by Jeroen Demeyer." -msgstr "" - -#: ../../../build/NEWS:9310 -msgid "" -"`bpo-29548 `__: The functions " -"``PyEval_CallObject``, ``PyEval_CallFunction``, ``PyEval_CallMethod`` and " -"``PyEval_CallObjectWithKeywords`` are deprecated. Use :c:func:" -"`PyObject_Call` and its variants instead." -msgstr "" - -#: ../../../build/NEWS:9314 -msgid "" -"`bpo-37151 `__: ``PyCFunction_Call`` is " -"now a deprecated alias of :c:func:`PyObject_Call`." -msgstr "" - -#: ../../../build/NEWS:9317 -msgid "" -"`bpo-37540 `__: The vectorcall protocol " -"now requires that the caller passes only strings as keyword names." -msgstr "" - -#: ../../../build/NEWS:9320 -msgid "" -"`bpo-37207 `__: The vectorcall protocol " -"is now enabled for ``type`` objects: set ``tp_vectorcall`` to a vectorcall " -"function to be used instead of ``tp_new`` and ``tp_init`` when calling the " -"class itself." -msgstr "" - -#: ../../../build/NEWS:9324 -msgid "" -"`bpo-21120 `__: Exclude Python-ast.h, " -"ast.h and asdl.h from the limited API." -msgstr "" - -#: ../../../build/NEWS:9326 -msgid "" -"`bpo-37483 `__: Add new function " -"``_PyObject_CallOneArg`` for calling an object with one positional argument." -msgstr "" - -#: ../../../build/NEWS:9329 -msgid "" -"`bpo-36763 `__: Add :func:" -"`PyConfig_SetWideStringList` function." -msgstr "" - -#: ../../../build/NEWS:9331 -msgid "" -"`bpo-37337 `__: Add fast functions for " -"calling methods: :c:func:`_PyObject_VectorcallMethod`, :c:func:" -"`_PyObject_CallMethodNoArgs` and :c:func:`_PyObject_CallMethodOneArg`." -msgstr "" - -#: ../../../build/NEWS:9335 -msgid "" -"`bpo-28805 `__: The :const:" -"`METH_FASTCALL` calling convention has been documented." -msgstr "" - -#: ../../../build/NEWS:9338 -msgid "" -"`bpo-37221 `__: The new function :c:func:" -"`PyCode_NewWithPosOnlyArgs` allows to create code objects like :c:func:" -"`PyCode_New`, but with an extra *posonlyargcount* parameter for indicating " -"the number of positonal-only arguments." -msgstr "" - -#: ../../../build/NEWS:9343 -msgid "" -"`bpo-37215 `__: Fix dtrace issue " -"introduce by `bpo-36842 `__" -msgstr "" - -#: ../../../build/NEWS:9345 -msgid "" -"`bpo-37194 `__: Add a new public :c:func:" -"`PyObject_CallNoArgs` function to the C API: call a callable Python object " -"without any arguments. It is the most efficient way to call a callback " -"without any argument. On x86-64, for example, " -"``PyObject_CallFunctionObjArgs(func, NULL)`` allocates 960 bytes on the " -"stack per call, whereas ``PyObject_CallNoArgs(func)`` only allocates 624 " -"bytes per call." -msgstr "" - -#: ../../../build/NEWS:9352 -msgid "" -"`bpo-37170 `__: Fix the cast on error " -"in :c:func:`PyLong_AsUnsignedLongLongMask()`." -msgstr "" - -#: ../../../build/NEWS:9355 -msgid "" -"`bpo-35381 `__: Convert posixmodule.c " -"statically allocated types ``DirEntryType`` and ``ScandirIteratorType`` to " -"heap-allocated types." -msgstr "" - -#: ../../../build/NEWS:9358 -msgid "" -"`bpo-34331 `__: Use singular/plural noun " -"in error message when instantiating an abstract class with non-overriden " -"abstract method(s)." -msgstr "" - -#: ../../../build/NEWS:9363 -msgid "Python 3.8.0 beta 1" -msgstr "" - -#: ../../../build/NEWS:9365 -msgid "*Release date: 2019-06-04*" -msgstr "*Data de lançamento: 2019-06-04*" - -#: ../../../build/NEWS:9370 -msgid "" -"`bpo-35907 `__: CVE-2019-9948: Avoid " -"file reading by disallowing ``local-file://`` and ``local_file://`` URL " -"schemes in ``URLopener().open()`` and ``URLopener().retrieve()`` of :mod:" -"`urllib.request`." -msgstr "" - -#: ../../../build/NEWS:9375 -msgid "" -"`bpo-33529 `__: Prevent fold function " -"used in email header encoding from entering infinite loop when there are too " -"many non-ASCII characters in a header." -msgstr "" - -#: ../../../build/NEWS:9379 -msgid "" -"`bpo-33164 `__: Updated blake2 " -"implementation which uses secure memset implementation provided by platform." -msgstr "" - -#: ../../../build/NEWS:9385 -msgid "" -"`bpo-35814 `__: Allow unpacking in the " -"right hand side of annotated assignments. In particular, ``t: " -"Tuple[int, ...] = x, y, *z`` is now allowed." -msgstr "" - -#: ../../../build/NEWS:9389 -msgid "" -"`bpo-37126 `__: All structseq objects " -"are now tracked by the garbage collector. Patch by Pablo Galindo." -msgstr "" - -#: ../../../build/NEWS:9392 -msgid "" -"`bpo-37122 `__: Make the *co_argcount* " -"attribute of code objects represent the total number of positional arguments " -"(including positional-only arguments). The value of *co_posonlyargcount* can " -"be used to distinguish which arguments are positional only, and the " -"difference (*co_argcount* - *co_posonlyargcount*) is the number of " -"positional-or-keyword arguments. Patch by Pablo Galindo." -msgstr "" - -#: ../../../build/NEWS:9399 -msgid "" -"`bpo-20092 `__: 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." -msgstr "" - -#: ../../../build/NEWS:9404 -msgid "" -"`bpo-37087 `__: Add native thread ID " -"(TID) support to OpenBSD." -msgstr "" - -#: ../../../build/NEWS:9406 -msgid "" -"`bpo-26219 `__: Implemented per opcode " -"cache mechanism and ``LOAD_GLOBAL`` instruction use it. ``LOAD_GLOBAL`` is " -"now about 40% faster. Contributed by Yury Selivanov, and Inada Naoki." -msgstr "" - -#: ../../../build/NEWS:9410 -msgid "" -"`bpo-37072 `__: Fix crash in " -"PyAST_FromNodeObject() when flags is NULL." -msgstr "" - -#: ../../../build/NEWS:9412 -msgid "" -"`bpo-37029 `__: Freeing a great many " -"small objects could take time quadratic in the number of arenas, due to " -"using linear search to keep ``obmalloc.c``'s list of usable arenas sorted by " -"order of number of free memory pools. This is accomplished without search " -"now, leaving the worst-case time linear in the number of arenas. For " -"programs where this quite visibly matters (typically with more than 100 " -"thousand small objects alive simultaneously), this can greatly reduce the " -"time needed to release their memory." -msgstr "" - -#: ../../../build/NEWS:9421 -msgid "" -"`bpo-26423 `__: Fix possible overflow in " -"``wrap_lenfunc()`` when ``sizeof(long) < sizeof(Py_ssize_t)`` (e.g., 64-bit " -"Windows)." -msgstr "" - -#: ../../../build/NEWS:9424 -msgid "" -"`bpo-37050 `__: Improve the AST for " -"\"debug\" f-strings, which use '=' to print out the source of the expression " -"being evaluated. Delete expr_text from the FormattedValue node, and instead " -"use a Constant string node (possibly merged with adjacent constant " -"expressions inside the f-string)." -msgstr "" - -#: ../../../build/NEWS:9429 -msgid "" -"`bpo-22385 `__: The `bytes.hex`, " -"`bytearray.hex`, and `memoryview.hex` methods as well as the `binascii." -"hexlify` and `b2a_hex` functions now have the ability to include an optional " -"separator between hex bytes. This functionality was inspired by " -"MicroPython's hexlify implementation." -msgstr "" - -#: ../../../build/NEWS:9434 -msgid "" -"`bpo-26836 `__: Add :func:`os." -"memfd_create`." -msgstr "" - -#: ../../../build/NEWS:9436 -msgid "" -"`bpo-37032 `__: Added new ``replace()`` " -"method to the code type (:class:`types.CodeType`)." -msgstr "" - -#: ../../../build/NEWS:9439 -msgid "" -"`bpo-37007 `__: Implement :func:`socket." -"if_nameindex()`, :func:`socket.if_nametoindex()`, and :func:`socket." -"if_indextoname()` on Windows." -msgstr "" - -#: ../../../build/NEWS:9443 -msgid "" -"`bpo-36829 `__: :c:func:" -"`PyErr_WriteUnraisable` now creates a traceback object if there is no " -"current traceback. Moreover, call :c:func:`PyErr_NormalizeException` and :c:" -"func:`PyException_SetTraceback` to normalize the exception value. Ignore any " -"error." -msgstr "" - -#: ../../../build/NEWS:9448 -msgid "" -"`bpo-36878 `__: Only accept text after " -"`# type: ignore` if the first character is ASCII. This is to disallow things " -"like `# type: ignoreé`." -msgstr "" - -#: ../../../build/NEWS:9451 -msgid "" -"`bpo-36878 `__: Store text appearing " -"after a `# type: ignore` comment in the AST. For example a type ignore like " -"`# type: ignore[E1000]` will have the string `\"[E1000]\"` stored in its AST " -"node." -msgstr "" - -#: ../../../build/NEWS:9455 -msgid "" -"`bpo-2180 `__: Treat line continuation at " -"EOF as a ``SyntaxError`` by Anthony Sottile." -msgstr "" - -#: ../../../build/NEWS:9458 -msgid "" -"`bpo-36907 `__: Fix a crash when calling " -"a C function with a keyword dict (``f(**kwargs)``) and changing the dict " -"``kwargs`` while that function is running." -msgstr "" - -#: ../../../build/NEWS:9462 -msgid "" -"`bpo-36946 `__: Fix possible signed " -"integer overflow when handling slices." -msgstr "" - -#: ../../../build/NEWS:9464 -msgid "" -"`bpo-36826 `__: Add NamedExpression kind " -"support to ast_unparse.c" -msgstr "" - -#: ../../../build/NEWS:9466 -msgid "" -"`bpo-1875 `__: A :exc:`SyntaxError` is " -"now raised if a code blocks that will be optimized away (e.g. if conditions " -"that are always false) contains syntax errors. Patch by Pablo Galindo." -msgstr "" - -#: ../../../build/NEWS:9470 -msgid "" -"`bpo-36027 `__: Allow computation of " -"modular inverses via three-argument ``pow``: the second argument is now " -"permitted to be negative in the case where the first and third arguments are " -"relatively prime." -msgstr "" - -#: ../../../build/NEWS:9474 -msgid "" -"`bpo-36861 `__: Update the Unicode " -"database to version 12.1.0." -msgstr "" - -#: ../../../build/NEWS:9476 -msgid "" -"`bpo-28866 `__: Avoid caching attributes " -"of classes which type defines mro() to avoid a hard cache invalidation " -"problem." -msgstr "" - -#: ../../../build/NEWS:9479 -msgid "" -"`bpo-36851 `__: The ``FrameType`` stack " -"is now correctly cleaned up if the execution ends with a return and the " -"stack is not empty." -msgstr "" - -#: ../../../build/NEWS:9482 -msgid "" -"`bpo-34616 `__: The ``compile()`` " -"builtin functions now support the ``ast.PyCF_ALLOW_TOP_LEVEL_AWAIT`` flag, " -"which allow to compile sources that contains top-level ``await``, ``async " -"with`` or ``async for``. This is useful to evaluate async-code from with an " -"already async functions; for example in a custom REPL." -msgstr "" - -#: ../../../build/NEWS:9488 -msgid "" -"`bpo-36842 `__: Implement PEP 578, " -"adding sys.audit, io.open_code and related APIs." -msgstr "" - -#: ../../../build/NEWS:9491 -msgid "" -"`bpo-27639 `__: Correct return type for " -"UserList slicing operations. Patch by Michael Blahay, Erick Cervantes, and " -"vaultah" -msgstr "" - -#: ../../../build/NEWS:9494 -msgid "" -"`bpo-36737 `__: Move PyRuntimeState." -"warnings into per-interpreter state (via \"module state\")." -msgstr "" - -#: ../../../build/NEWS:9497 -msgid "" -"`bpo-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`." -msgstr "" - -#: ../../../build/NEWS:9502 -msgid "" -"`bpo-36817 `__: Add a ``=`` feature f-" -"strings for debugging. This can precede ``!s``, ``!r``, or ``!a``. It " -"produces the text of the expression, followed by an equal sign, followed by " -"the repr of the value of the expression. So ``f'{3*9+15=}'`` would be equal " -"to the string ``'3*9+15=42'``. If ``=`` is specified, the default " -"conversion is set to ``!r``, unless a format spec is given, in which case " -"the formatting behavior is unchanged, and __format__ will be used." -msgstr "" - -#: ../../../build/NEWS:9510 -msgid "" -"`bpo-24048 `__: Save the live exception " -"during import.c's ``remove_module()``." -msgstr "" - -#: ../../../build/NEWS:9512 -msgid "" -"`bpo-27987 `__: pymalloc returns memory " -"blocks aligned by 16 bytes, instead of 8 bytes, on 64-bit platforms to " -"conform x86-64 ABI. Recent compilers assume this alignment more often. Patch " -"by Inada Naoki." -msgstr "" - -#: ../../../build/NEWS:9516 -msgid "" -"`bpo-36601 `__: A long-since-meaningless " -"check for ``getpid() == main_pid`` was removed from Python's internal C " -"signal handler." -msgstr "" - -#: ../../../build/NEWS:9519 -msgid "" -"`bpo-36594 `__: Fix incorrect use of ``" -"%p`` in format strings. Patch by Zackery Spytz." -msgstr "" - -#: ../../../build/NEWS:9522 -msgid "" -"`bpo-36045 `__: builtins.help() now " -"prefixes `async` for async functions" -msgstr "" - -#: ../../../build/NEWS:9524 -msgid "" -"`bpo-36084 `__: Add native thread ID " -"(TID) to threading.Thread objects (supported platforms: Windows, FreeBSD, " -"Linux, macOS)" -msgstr "" - -#: ../../../build/NEWS:9527 -msgid "" -"`bpo-36035 `__: Added fix for broken " -"symlinks in combination with pathlib" -msgstr "" - -#: ../../../build/NEWS:9529 -msgid "" -"`bpo-35983 `__: Added new trashcan " -"macros to deal with a double deallocation that could occur when the " -"`tp_dealloc` of a subclass calls the `tp_dealloc` of a base class and that " -"base class uses the trashcan mechanism. Patch by Jeroen Demeyer." -msgstr "" - -#: ../../../build/NEWS:9534 -msgid "" -"`bpo-20602 `__: Do not clear :data:`sys." -"flags` and :data:`sys.float_info` during shutdown. Patch by Zackery Spytz." -msgstr "" - -#: ../../../build/NEWS:9537 -msgid "" -"`bpo-26826 `__: Expose :func:" -"`copy_file_range` as a low level API in the :mod:`os` module." -msgstr "" - -#: ../../../build/NEWS:9540 -msgid "" -"`bpo-32388 `__: Remove cross-version " -"binary compatibility requirement in tp_flags." -msgstr "" - -#: ../../../build/NEWS:9543 -msgid "" -"`bpo-31862 `__: Port binascii to PEP 489 " -"multiphase initialization. Patch by Marcel Plch." -msgstr "" - -#: ../../../build/NEWS:9549 -msgid "" -"`bpo-37128 `__: Added :func:`math.perm`." -msgstr "" - -#: ../../../build/NEWS:9551 -msgid "" -"`bpo-37120 `__: Add SSLContext." -"num_tickets to control the number of TLSv1.3 session tickets." -msgstr "" - -#: ../../../build/NEWS:9554 -msgid "" -"`bpo-12202 `__: Fix the error handling " -"in :meth:`msilib.SummaryInformation.GetProperty`. Patch by Zackery Spytz." -msgstr "" - -#: ../../../build/NEWS:9557 -msgid "" -"`bpo-26835 `__: The fcntl module now " -"contains file sealing constants for sealing of memfds." -msgstr "" - -#: ../../../build/NEWS:9560 -msgid "" -"`bpo-29262 `__: Add ``get_origin()`` and " -"``get_args()`` introspection helpers to ``typing`` module." -msgstr "" - -#: ../../../build/NEWS:9563 -msgid "" -"`bpo-12639 `__: :meth:`msilib.Directory." -"start_component()` no longer fails if *keyfile* is not ``None``." -msgstr "" - -#: ../../../build/NEWS:9566 -msgid "" -"`bpo-36999 `__: Add the ``asyncio.Task." -"get_coro()`` method to publicly expose the tasks's coroutine object." -msgstr "" - -#: ../../../build/NEWS:9569 -msgid "" -"`bpo-35246 `__: Make :func:`asyncio." -"create_subprocess_exec` accept path-like arguments." -msgstr "" - -#: ../../../build/NEWS:9572 -msgid "" -"`bpo-35279 `__: Change default " -"*max_workers* of ``ThreadPoolExecutor`` from ``cpu_count() * 5`` to " -"``min(32, cpu_count() + 4))``. Previous value was unreasonably large on " -"many cores machines." -msgstr "" - -#: ../../../build/NEWS:9576 -msgid "" -"`bpo-37076 `__: :func:`_thread." -"start_new_thread` now logs uncaught exception raised by the function using :" -"func:`sys.unraisablehook`, rather than :func:`sys.excepthook`, so the hook " -"gets access to the function which raised the exception." -msgstr "" - -#: ../../../build/NEWS:9581 -msgid "" -"`bpo-33725 `__: On macOS, the :mod:" -"`multiprocessing` module now uses *spawn* start method by default." -msgstr "" - -#: ../../../build/NEWS:9584 -msgid "" -"`bpo-37054 `__: Fix destructor :class:" -"`_pyio.BytesIO` and :class:`_pyio.TextIOWrapper`: initialize their " -"``_buffer`` attribute as soon as possible (in the class body), because it's " -"used by ``__del__()`` which calls ``close()``." -msgstr "" - -#: ../../../build/NEWS:9589 -msgid "" -"`bpo-37058 `__: PEP 544: Add " -"``Protocol`` and ``@runtime_checkable`` to the ``typing`` module." -msgstr "" - -#: ../../../build/NEWS:9592 -msgid "" -"`bpo-36933 `__: The functions ``sys." -"set_coroutine_wrapper`` and ``sys.get_coroutine_wrapper`` that were " -"deprecated and marked for removal in 3.8 have been removed." -msgstr "" - -#: ../../../build/NEWS:9596 -msgid "" -"`bpo-37047 `__: Handle late binding and " -"attribute access in :class:`unittest.mock.AsyncMock` setup for autospeccing. " -"Document newly implemented async methods in :class:`unittest.mock.MagicMock`." -msgstr "" - -#: ../../../build/NEWS:9600 -msgid "" -"`bpo-37049 `__: PEP 589: Add " -"``TypedDict`` to the ``typing`` module." -msgstr "" - -#: ../../../build/NEWS:9602 -msgid "" -"`bpo-37046 `__: PEP 586: Add ``Literal`` " -"to the ``typing`` module." -msgstr "" - -#: ../../../build/NEWS:9604 -msgid "" -"`bpo-37045 `__: PEP 591: Add ``Final`` " -"qualifier and ``@final`` decorator to the ``typing`` module." -msgstr "" - -#: ../../../build/NEWS:9607 -msgid "" -"`bpo-37035 `__: Don't log OSError based " -"exceptions if a fatal error has occurred in asyncio transport. Peer can " -"generate almost any OSError, user cannot avoid these exceptions by fixing " -"own code. Errors are still propagated to user code, it's just logging them " -"is pointless and pollute asyncio logs." -msgstr "" - -#: ../../../build/NEWS:9613 -msgid "" -"`bpo-37001 `__: :func:`symtable." -"symtable` now accepts the same input types for source code as the built-in :" -"func:`compile` function. Patch by Dino Viehland." -msgstr "" - -#: ../../../build/NEWS:9617 -msgid "" -"`bpo-37028 `__: Implement asyncio REPL" -msgstr "" - -#: ../../../build/NEWS:9619 -msgid "" -"`bpo-37027 `__: Return safe to use proxy " -"socket object from transport.get_extra_info('socket')" -msgstr "" - -#: ../../../build/NEWS:9622 -msgid "" -"`bpo-32528 `__: Make asyncio." -"CancelledError a BaseException." -msgstr "" - -#: ../../../build/NEWS:9624 -msgid "" -"This will address the common mistake many asyncio users make: an \"except " -"Exception\" clause breaking Tasks cancellation." -msgstr "" - -#: ../../../build/NEWS:9627 -msgid "" -"In addition to this change, we stop inheriting asyncio.TimeoutError and " -"asyncio.InvalidStateError from their concurrent.futures.* counterparts. " -"There's no point for these exceptions to share the inheritance chain." -msgstr "" - -#: ../../../build/NEWS:9631 -msgid "" -"`bpo-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." -msgstr "" - -#: ../../../build/NEWS:9635 -msgid "" -"`bpo-36996 `__: Handle :func:`unittest." -"mock.patch` used as a decorator on async functions." -msgstr "" - -#: ../../../build/NEWS:9638 -msgid "" -"`bpo-37008 `__: Add support for calling :" -"func:`next` with the mock resulting from :func:`unittest.mock.mock_open`" -msgstr "" - -#: ../../../build/NEWS:9641 -msgid "" -"`bpo-27737 `__: Allow whitespace only " -"header encoding in ``email.header`` - by Batuhan Taskaya" -msgstr "" - -#: ../../../build/NEWS:9644 -msgid "" -"`bpo-36969 `__: PDB command `args` now " -"display positional only arguments. Patch contributed by Rémi Lapeyre." -msgstr "" - -#: ../../../build/NEWS:9647 -msgid "" -"`bpo-36969 `__: PDB command `args` now " -"display keyword only arguments. Patch contributed by Rémi Lapeyre." -msgstr "" - -#: ../../../build/NEWS:9650 -msgid "" -"`bpo-36983 `__: Add missing names to " -"``typing.__all__``: ``ChainMap``, ``ForwardRef``, ``OrderedDict`` - by " -"Anthony Sottile." -msgstr "" - -#: ../../../build/NEWS:9653 -msgid "" -"`bpo-36972 `__: Add SupportsIndex " -"protocol to the typing module to allow type checking to detect classes that " -"can be passed to `hex()`, `oct()` and `bin()`." -msgstr "" - -#: ../../../build/NEWS:9657 -msgid "" -"`bpo-32972 `__: Implement ``unittest." -"IsolatedAsyncioTestCase`` to help testing asyncio-based code." -msgstr "" - -#: ../../../build/NEWS:9660 -msgid "" -"`bpo-36952 `__: :func:`fileinput.input` " -"and :class:`fileinput.FileInput` **bufsize** argument has been removed (was " -"deprecated and ignored since Python 3.6), and as a result the **mode** and " -"**openhook** arguments have been made keyword-only." -msgstr "" - -#: ../../../build/NEWS:9665 -msgid "" -"`bpo-36952 `__: Starting with Python " -"3.3, importing ABCs from :mod:`collections` is deprecated, and import should " -"be done from :mod:`collections.abc`. Still being able to import from :mod:" -"`collections` was marked for removal in 3.8, but has been delayed to 3.9; " -"documentation and ``DeprecationWarning`` clarified." -msgstr "" - -#: ../../../build/NEWS:9671 -msgid "" -"`bpo-36949 `__: Implement __repr__ for " -"WeakSet objects." -msgstr "" - -#: ../../../build/NEWS:9673 -msgid "" -"`bpo-36948 `__: Fix :exc:`NameError` in :" -"meth:`urllib.request.URLopener.retrieve`. Patch by Karthikeyan Singaravelan." -msgstr "" - -#: ../../../build/NEWS:9677 -msgid "" -"`bpo-33524 `__: Fix the folding of email " -"header when the max_line_length is 0 or None and the header contains non-" -"ascii characters. Contributed by Licht Takeuchi (@Licht-T)." -msgstr "" - -#: ../../../build/NEWS:9681 -msgid "" -"`bpo-24564 `__: :func:`shutil.copystat` " -"now ignores :const:`errno.EINVAL` on :func:`os.setxattr` which may occur " -"when copying files on filesystems without extended attributes support." -msgstr "" - -#: ../../../build/NEWS:9685 -msgid "Original patch by Giampaolo Rodola, updated by Ying Wang." -msgstr "" - -#: ../../../build/NEWS:9687 -msgid "" -"`bpo-36888 `__: Python child processes " -"can now access the status of their parent process using multiprocessing." -"process.parent_process" -msgstr "" - -#: ../../../build/NEWS:9690 -msgid "" -"`bpo-36921 `__: Deprecate ``@coroutine`` " -"for sake of ``async def``." -msgstr "" - -#: ../../../build/NEWS:9692 -msgid "" -"`bpo-25652 `__: Fix bug in ``__rmod__`` " -"of ``UserString`` - by Batuhan Taskaya." -msgstr "" - -#: ../../../build/NEWS:9694 -msgid "" -"`bpo-36916 `__: Remove a message about " -"an unhandled exception in a task when writer.write() is used without await " -"and writer.drain() fails with an exception." -msgstr "" - -#: ../../../build/NEWS:9698 -msgid "" -"`bpo-36889 `__: Introduce :class:" -"`asyncio.Stream` class that merges :class:`asyncio.StreamReader` and :class:" -"`asyncio.StreamWriter` functionality. :class:`asyncio.Stream` can work in " -"readonly, writeonly and readwrite modes. Provide :func:`asyncio.connect`, :" -"func:`asyncio.connect_unix`, :func:`asyncio.connect_read_pipe` and :func:" -"`asyncio.connect_write_pipe` factories to open :class:`asyncio.Stream` " -"connections. Provide :class:`asyncio.StreamServer` and :class:" -"`UnixStreamServer` to serve servers with asyncio.Stream API. Modify :func:" -"`asyncio.create_subprocess_shell` and :func:`asyncio.create_subprocess_exec` " -"to use :class:`asyncio.Stream` instead of deprecated :class:`StreamReader` " -"and :class:`StreamWriter`. Deprecate :class:`asyncio.StreamReader` and :" -"class:`asyncio.StreamWriter`. Deprecate usage of private classes, e.g. :" -"class:`asyncio.FlowControlMixing` and :class:`asyncio.StreamReaderProtocol` " -"outside of asyncio package." -msgstr "" - -#: ../../../build/NEWS:9714 -msgid "" -"`bpo-36845 `__: Added validation of " -"integer prefixes to the construction of IP networks and interfaces in the " -"ipaddress module." -msgstr "" - -#: ../../../build/NEWS:9717 -msgid "" -"`bpo-23378 `__: Add an extend action to " -"argparser." -msgstr "" - -#: ../../../build/NEWS:9719 -msgid "" -"`bpo-36867 `__: Fix a bug making a " -"SharedMemoryManager instance and its parent process use two separate " -"resource_tracker processes." -msgstr "" - -#: ../../../build/NEWS:9722 -msgid "" -"`bpo-23896 `__: Adds a grammar to " -"lib2to3.pygram that contains exec as a function not as statement." -msgstr "" - -#: ../../../build/NEWS:9725 -msgid "" -"`bpo-36895 `__: The function ``time." -"clock()`` was deprecated in 3.3 in favor of ``time.perf_counter()`` and " -"marked for removal in 3.8, it has removed." -msgstr "" - -#: ../../../build/NEWS:9728 -msgid "" -"`bpo-35545 `__: Fix asyncio discarding " -"IPv6 scopes when ensuring hostname resolutions internally" -msgstr "" - -#: ../../../build/NEWS:9731 -msgid "" -"`bpo-36887 `__: Add new function :func:" -"`math.isqrt` to compute integer square roots." -msgstr "" - -#: ../../../build/NEWS:9734 -msgid "" -"`bpo-34632 `__: Introduce the " -"``importlib.metadata`` module with (provisional) support for reading " -"metadata from third-party packages." -msgstr "" - -#: ../../../build/NEWS:9737 -msgid "" -"`bpo-36878 `__: When using " -"`type_comments=True` in `ast.parse`, treat `# type: ignore` followed by a " -"non-alphanumeric character and then arbitrary text as a type ignore, instead " -"of requiring nothing but whitespace or another comment. This is to permit " -"formations such as `# type: ignore[E1000]`." -msgstr "" - -#: ../../../build/NEWS:9742 -msgid "" -"`bpo-36778 `__: ``cp65001`` encoding " -"(Windows code page 65001) becomes an alias to ``utf_8`` encoding." -msgstr "" - -#: ../../../build/NEWS:9745 -msgid "" -"`bpo-36867 `__: The multiprocessing." -"resource_tracker replaces the multiprocessing.semaphore_tracker module. " -"Other than semaphores, resource_tracker also tracks shared_memory segments." -msgstr "" - -#: ../../../build/NEWS:9749 -msgid "" -"`bpo-30262 `__: The ``Cache`` and " -"``Statement`` objects of the :mod:`sqlite3` module are not exposed to the " -"user. Patch by Aviv Palivoda." -msgstr "" - -#: ../../../build/NEWS:9752 -msgid "" -"`bpo-24538 `__: In `shutil.copystat()`, " -"first copy extended file attributes and then file permissions, since " -"extended attributes can only be set on the destination while it is still " -"writeable." -msgstr "" - -#: ../../../build/NEWS:9756 -msgid "" -"`bpo-36829 `__: Add new :func:`sys." -"unraisablehook` function which can be overridden to control how \"unraisable " -"exceptions\" are handled. It is 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 "" - -#: ../../../build/NEWS:9762 -msgid "" -"`bpo-36832 `__: Introducing ``zipfile." -"Path``, a pathlib-compatible wrapper for traversing zip files." -msgstr "" - -#: ../../../build/NEWS:9765 -msgid "" -"`bpo-36814 `__: Fix an issue where os." -"posix_spawnp() would incorrectly raise a TypeError when file_actions is None." -msgstr "" - -#: ../../../build/NEWS:9768 -msgid "" -"`bpo-33110 `__: Handle exceptions raised " -"by functions added by concurrent.futures add_done_callback correctly when " -"the Future has already completed." -msgstr "" - -#: ../../../build/NEWS:9772 -msgid "" -"`bpo-26903 `__: Limit `max_workers` in " -"`ProcessPoolExecutor` to 61 to work around a WaitForMultipleObjects " -"limitation." -msgstr "" - -#: ../../../build/NEWS:9775 -msgid "" -"`bpo-36813 `__: Fix :class:`~logging." -"handlers.QueueListener` to call ``queue.task_done()`` upon stopping. Patch " -"by Bar Harel." -msgstr "" - -#: ../../../build/NEWS:9778 -msgid "" -"`bpo-36806 `__: Forbid creation of " -"asyncio stream objects like StreamReader, StreamWriter, Process, and their " -"protocols outside of asyncio package." -msgstr "" - -#: ../../../build/NEWS:9781 -msgid "" -"`bpo-36802 `__: Provide both sync and " -"async calls for StreamWriter.write() and StreamWriter.close()" -msgstr "" - -#: ../../../build/NEWS:9784 -msgid "" -"`bpo-36801 `__: Properly handle SSL " -"connection closing in asyncio StreamWriter.drain() call." -msgstr "" - -#: ../../../build/NEWS:9787 -msgid "" -"`bpo-36785 `__: Implement PEP 574 " -"(pickle protocol 5 with out-of-band buffers)." -msgstr "" - -#: ../../../build/NEWS:9789 -msgid "" -"`bpo-36772 `__: functools.lru_cache() " -"can now be used as a straight decorator in addition to its existing usage as " -"a function that returns a decorator." -msgstr "" - -#: ../../../build/NEWS:9792 -msgid "" -"`bpo-6584 `__: Add a :exc:`~gzip." -"BadGzipFile` exception to the :mod:`gzip` module." -msgstr "" - -#: ../../../build/NEWS:9795 -msgid "" -"`bpo-36748 `__: Optimized write " -"buffering in C implementation of ``TextIOWrapper``. Writing ASCII string to " -"``TextIOWrapper`` with ascii, latin1, or utf-8 encoding is about 20% " -"faster. Patch by Inada Naoki." -msgstr "" - -#: ../../../build/NEWS:9799 -msgid "" -"`bpo-8138 `__: Don't mark ``wsgiref." -"simple_server.SimpleServer`` as multi-threaded since ``wsgiref.simple_server." -"WSGIServer`` is single-threaded." -msgstr "" - -#: ../../../build/NEWS:9803 -msgid "" -"`bpo-22640 `__: :func:`py_compile." -"compile` now supports silent mode. Patch by Joannah Nanjekye" -msgstr "" - -#: ../../../build/NEWS:9806 -msgid "" -"`bpo-29183 `__: Fix double exceptions " -"in :class:`wsgiref.handlers.BaseHandler` by calling its :meth:`~wsgiref." -"handlers.BaseHandler.close` method only when no exception is raised." -msgstr "" - -#: ../../../build/NEWS:9810 -msgid "" -"`bpo-36548 `__: Improved the repr of " -"regular expression flags." -msgstr "" - -#: ../../../build/NEWS:9812 -msgid "" -"`bpo-36542 `__: The signature of Python " -"functions can now be overridden by specifying the ``__text_signature__`` " -"attribute." -msgstr "" - -#: ../../../build/NEWS:9815 -msgid "" -"`bpo-36533 `__: Reinitialize logging." -"Handler locks in forked child processes instead of attempting to acquire " -"them all in the parent before forking only to be released in the child " -"process. The acquire/release pattern was leading to deadlocks in code that " -"has implemented any form of chained logging handlers that depend upon one " -"another as the lock acquisition order cannot be guaranteed." -msgstr "" - -#: ../../../build/NEWS:9822 -msgid "" -"`bpo-35252 `__: Throw a TypeError " -"instead of an AssertionError when using an invalid type annotation with " -"singledispatch." -msgstr "" - -#: ../../../build/NEWS:9825 -msgid "" -"`bpo-35900 `__: Allow reduction methods " -"to return a 6-item tuple where the 6th item specifies a custom state-setting " -"method that's called instead of the regular ``__setstate__`` method." -msgstr "" - -#: ../../../build/NEWS:9829 -msgid "" -"`bpo-35900 `__: enable custom reduction " -"callback registration for functions and classes in _pickle.c, using the new " -"Pickler's attribute ``reducer_override``" -msgstr "" - -#: ../../../build/NEWS:9833 -msgid "" -"`bpo-36368 `__: Fix a bug crashing " -"SharedMemoryManager instances in interactive sessions after a ctrl-c " -"(KeyboardInterrupt) was sent" -msgstr "" - -#: ../../../build/NEWS:9836 -msgid "" -"`bpo-31904 `__: Fix mmap fail for VxWorks" -msgstr "" - -#: ../../../build/NEWS:9838 -msgid "" -"`bpo-27497 `__: :meth:`csv.DictWriter." -"writeheader` now returns the return value of the underlying :meth:`csv." -"Writer.writerow` method. Patch contributed by Ashish Nitin Patil." -msgstr "" - -#: ../../../build/NEWS:9842 -msgid "" -"`bpo-36239 `__: Parsing .mo files now " -"ignores comments starting and ending with #-#-#-#-#." -msgstr "" - -#: ../../../build/NEWS:9845 -msgid "" -"`bpo-26707 `__: Enable plistlib to read " -"and write binary plist files that were created as a KeyedArchive file. " -"Specifically, this allows the plistlib to process 0x80 tokens as UID objects." -msgstr "" - -#: ../../../build/NEWS:9849 -msgid "" -"`bpo-31904 `__: Add posix module support " -"for VxWorks." -msgstr "" - -#: ../../../build/NEWS:9851 -msgid "" -"`bpo-35125 `__: Asyncio: Remove inner " -"callback on outer cancellation in shield" -msgstr "" - -#: ../../../build/NEWS:9853 -msgid "" -"`bpo-35721 `__: Fix :meth:`asyncio." -"SelectorEventLoop.subprocess_exec()` leaks file descriptors if ``Popen`` " -"fails and called with ``stdin=subprocess.PIPE``. Patch by Niklas Fiekas." -msgstr "" - -#: ../../../build/NEWS:9857 -msgid "" -"`bpo-31855 `__: :func:`unittest.mock." -"mock_open` results now respects the argument of read([size]). Patch " -"contributed by Rémi Lapeyre." -msgstr "" - -#: ../../../build/NEWS:9860 -msgid "" -"`bpo-35431 `__: Implement :func:`math." -"comb` that returns binomial coefficient, that computes the number of ways to " -"choose k items from n items without repetition and without order. Patch by " -"Yash Aggarwal and Keller Fuchs." -msgstr "" - -#: ../../../build/NEWS:9864 -msgid "" -"`bpo-26660 `__: Fixed permission errors " -"in :class:`~tempfile.TemporaryDirectory` clean up. Previously " -"``TemporaryDirectory.cleanup()`` failed when non-writeable or non-searchable " -"files or directories were created inside a temporary directory." -msgstr "" - -#: ../../../build/NEWS:9870 -msgid "" -"`bpo-34271 `__: Add debugging helpers to " -"ssl module. It's now possible to dump key material and to trace TLS " -"protocol. The default and stdlib contexts also support SSLKEYLOGFILE env var." -msgstr "" - -#: ../../../build/NEWS:9874 -msgid "" -"`bpo-26467 `__: Added AsyncMock to " -"support using unittest to mock asyncio coroutines. Patch by Lisa Roach." -msgstr "" - -#: ../../../build/NEWS:9877 -msgid "" -"`bpo-33569 `__: dataclasses.InitVar: " -"Exposes the type used to create the init var." -msgstr "" - -#: ../../../build/NEWS:9880 -msgid "" -"`bpo-34424 `__: Fix serialization of " -"messages containing encoded strings when the policy.linesep is set to a " -"multi-character string. Patch by Jens Troeger." -msgstr "" - -#: ../../../build/NEWS:9884 -msgid "" -"`bpo-34303 `__: Performance of :func:" -"`functools.reduce` is slightly improved. Patch by Sergey Fedoseev." -msgstr "" - -#: ../../../build/NEWS:9887 -msgid "" -"`bpo-33361 `__: Fix a bug in :class:" -"`codecs.StreamRecoder` where seeking might leave old data in a buffer and " -"break subsequent read calls. Patch by Ammar Askar." -msgstr "" - -#: ../../../build/NEWS:9891 -msgid "" -"`bpo-22454 `__: The :mod:`shlex` module " -"now exposes :func:`shlex.join`, the inverse of :func:`shlex.split`. Patch by " -"Bo Bayles." -msgstr "" - -#: ../../../build/NEWS:9894 -msgid "" -"`bpo-31922 `__: :meth:`asyncio." -"AbstractEventLoop.create_datagram_endpoint`: Do not connect UDP socket when " -"broadcast is allowed. This allows to receive replies after a UDP broadcast." -msgstr "" - -#: ../../../build/NEWS:9898 -msgid "" -"`bpo-24882 `__: Change " -"ThreadPoolExecutor to use existing idle threads before spinning up new ones." -msgstr "" - -#: ../../../build/NEWS:9901 -msgid "" -"`bpo-31961 `__: Added support for bytes " -"and path-like objects in :func:`subprocess.Popen` on Windows. The *args* " -"parameter now accepts a :term:`path-like object` if *shell* is ``False`` and " -"a sequence containing bytes and path-like objects. The *executable* " -"parameter now accepts a bytes and :term:`path-like object`. The *cwd* " -"parameter now accepts a bytes object. Based on patch by Anders Lorentsen." -msgstr "" - -#: ../../../build/NEWS:9908 -msgid "" -"`bpo-33123 `__: :class:`pathlib.Path." -"unlink` now accepts a *missing_ok* parameter to avoid a :exc:" -"`FileNotFoundError` from being raised. Patch by Robert Buchholz." -msgstr "" - -#: ../../../build/NEWS:9912 -msgid "" -"`bpo-32941 `__: Allow :class:`mmap.mmap` " -"objects to access the madvise() system call (through :meth:`mmap.mmap." -"madvise`)." -msgstr "" - -#: ../../../build/NEWS:9915 -msgid "" -"`bpo-22102 `__: Added support for ZIP " -"files with disks set to 0. Such files are commonly created by builtin tools " -"on Windows when use ZIP64 extension. Patch by Francisco Facioni." -msgstr "" - -#: ../../../build/NEWS:9919 -msgid "" -"`bpo-32515 `__: trace.py can now run " -"modules via python3 -m trace -t --module module_name" -msgstr "" - -#: ../../../build/NEWS:9922 -msgid "" -"`bpo-32299 `__: Changed :func:`unittest." -"mock.patch.dict` to return the patched dictionary when used as context " -"manager. Patch by Vadim Tsander." -msgstr "" - -#: ../../../build/NEWS:9925 -msgid "" -"`bpo-27141 `__: Added a ``__copy__()`` " -"to ``collections.UserList`` and ``collections.UserDict`` in order to " -"correctly implement shallow copying of the objects. Patch by Bar Harel." -msgstr "" - -#: ../../../build/NEWS:9929 -msgid "" -"`bpo-31829 `__: ``\\r``, ``\\0`` and ``" -"\\x1a`` (end-of-file on Windows) are now escaped in protocol 0 pickles of " -"Unicode strings. This allows to load them without loss from files open in " -"text mode in Python 2." -msgstr "" - -#: ../../../build/NEWS:9933 -msgid "" -"`bpo-23395 `__: ``_thread." -"interrupt_main()`` now avoids setting the Python error status if the " -"``SIGINT`` signal is ignored or not handled by Python." -msgstr "" - -#: ../../../build/NEWS:9939 -msgid "" -"`bpo-36896 `__: Clarify that some types " -"have unstable constructor signature between Python versions." -msgstr "" - -#: ../../../build/NEWS:9942 -msgid "" -"`bpo-36686 `__: Improve documentation of " -"the stdin, stdout, and stderr arguments of the ``asyncio.subprocess_exec`` " -"function to specify which values are supported. Also mention that decoding " -"as text is not supported." -msgstr "" - -#: ../../../build/NEWS:9946 -msgid "" -"Add a few tests to verify that the various values passed to the std* " -"arguments actually work." -msgstr "" - -#: ../../../build/NEWS:9949 -msgid "" -"`bpo-36984 `__: Improve version added " -"references in ``typing`` module - by Anthony Sottile." -msgstr "" - -#: ../../../build/NEWS:9952 -msgid "" -"`bpo-36868 `__: What's new now mentions " -"SSLContext.hostname_checks_common_name instead of SSLContext.host_flags." -msgstr "" - -#: ../../../build/NEWS:9955 -msgid "" -"`bpo-35924 `__: Add a note to the " -"``curses.addstr()`` documentation to warn that multiline strings can cause " -"segfaults because of an ncurses bug." -msgstr "" - -#: ../../../build/NEWS:9958 -msgid "" -"`bpo-36783 `__: Added C API " -"Documentation for Time_FromTimeAndFold and PyDateTime_FromDateAndTimeAndFold " -"as per PEP 495. Patch by Edison Abahurire." -msgstr "" - -#: ../../../build/NEWS:9962 -msgid "" -"`bpo-36797 `__: More of the legacy " -"distutils documentation has been either pruned, or else more clearly marked " -"as being retained solely until the setuptools documentation covers it " -"independently." -msgstr "" - -#: ../../../build/NEWS:9966 -msgid "" -"`bpo-22865 `__: Add detail to the " -"documentation on the `pty.spawn` function." -msgstr "" - -#: ../../../build/NEWS:9968 -msgid "" -"`bpo-35397 `__: Remove deprecation and " -"document urllib.parse.unwrap(). Patch contributed by Rémi Lapeyre." -msgstr "" - -#: ../../../build/NEWS:9971 -msgid "" -"`bpo-32995 `__: Added the context " -"variable in glossary." -msgstr "" - -#: ../../../build/NEWS:9973 -msgid "" -"`bpo-33519 `__: Clarify that `copy()` is " -"not part of the `MutableSequence` ABC." -msgstr "" - -#: ../../../build/NEWS:9975 -msgid "" -"`bpo-33482 `__: Make `codecs." -"StreamRecoder.writelines` take a list of bytes." -msgstr "" - -#: ../../../build/NEWS:9977 -msgid "" -"`bpo-25735 `__: Added documentation for " -"func factorial to indicate that returns integer values" -msgstr "" - -#: ../../../build/NEWS:9980 -msgid "" -"`bpo-20285 `__: Expand object.__doc__ " -"(docstring) to make it clearer. Modify pydoc.py so that help(object) lists " -"object methods (for other classes, help omits methods of the object base " -"class.)" -msgstr "" - -#: ../../../build/NEWS:9987 -msgid "" -"`bpo-37069 `__: Modify test_coroutines, " -"test_cprofile, test_generators, test_raise, test_ssl and test_yield_from to " -"use :func:`test.support.catch_unraisable_exception` rather than :func:`test." -"support.captured_stderr`." -msgstr "" - -#: ../../../build/NEWS:9992 -msgid "" -"`bpo-37098 `__: Fix test_memfd_create on " -"older Linux Kernels." -msgstr "" - -#: ../../../build/NEWS:9994 -msgid "" -"`bpo-37081 `__: Test with OpenSSL 1.1.1c" -msgstr "" - -#: ../../../build/NEWS:9996 -msgid "" -"`bpo-36829 `__: Add :func:`test.support." -"catch_unraisable_exception`: context manager catching unraisable exception " -"using :func:`sys.unraisablehook`." -msgstr "" - -#: ../../../build/NEWS:9999 -msgid "" -"`bpo-36915 `__: The main regrtest " -"process now always removes all temporary directories of worker processes " -"even if they crash or if they are killed on KeyboardInterrupt (CTRL+c)." -msgstr "" - -#: ../../../build/NEWS:10003 -msgid "" -"`bpo-36719 `__: \"python3 -m test -jN ..." -"\" now continues the execution of next tests when a worker process crash " -"(CHILD_ERROR state). Previously, the test suite stopped immediately. Use --" -"failfast to stop at the first error." -msgstr "" - -#: ../../../build/NEWS:10007 -msgid "" -"`bpo-36816 `__: Update Lib/test/" -"selfsigned_pythontestdotnet.pem to match self-signed.pythontest.net's new " -"TLS certificate." -msgstr "" - -#: ../../../build/NEWS:10010 -msgid "" -"`bpo-35925 `__: Skip httplib and nntplib " -"networking tests when they would otherwise fail due to a modern OS or distro " -"with a default OpenSSL policy of rejecting connections to servers with weak " -"certificates." -msgstr "" - -#: ../../../build/NEWS:10014 -msgid "" -"`bpo-36782 `__: Add tests for several C " -"API functions in the :mod:`datetime` module. Patch by Edison Abahurire." -msgstr "" - -#: ../../../build/NEWS:10017 -msgid "" -"`bpo-36342 `__: Fix test_multiprocessing " -"in test_venv if platform lacks functioning sem_open." -msgstr "" - -#: ../../../build/NEWS:10023 -msgid "" -"`bpo-36721 `__: To embed Python into an " -"application, a new ``--embed`` option must be passed to ``python3-config --" -"libs --embed`` to get ``-lpython3.8`` (link the application to libpython). " -"To support both 3.8 and older, try ``python3-config --libs --embed`` first " -"and fallback to ``python3-config --libs`` (without ``--embed``) if the " -"previous command fails." -msgstr "" - -#: ../../../build/NEWS:10029 -msgid "" -"Add a pkg-config ``python-3.8-embed`` module to embed Python into an " -"application: ``pkg-config python-3.8-embed --libs`` includes ``-" -"lpython3.8``. To support both 3.8 and older, try ``pkg-config python-X.Y-" -"embed --libs`` first and fallback to ``pkg-config python-X.Y --libs`` " -"(without ``--embed``) if the previous command fails (replace ``X.Y`` with " -"the Python version)." -msgstr "" -"Adicione um módulo pkg-config ``python-3.8-embed`` para incorporar o Python " -"em uma aplicação: ``pkg-config python-3.8-embed --libs`` inclui ``-" -"lpython3.8``. Para suportar tanto o 3.8 quanto o anterior, tente ``pkg-" -"config python-X.Y-embed --libs`` primeiro e use como fallback ``pkg-config " -"python-X.Y --libs`` (sem ``--embed``) se o comando anterior falhar " -"(substitua ``X.Y`` pela versão do Python)." - -#: ../../../build/NEWS:10036 -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, case handled by the script); this change is backward incompatible " -"on purpose." -msgstr "" - -#: ../../../build/NEWS:10041 -msgid "" -"`bpo-36786 `__: \"make install\" now " -"runs compileall in parallel." -msgstr "" - -#: ../../../build/NEWS:10046 -msgid "" -"`bpo-36965 `__: include of " -"STATUS_CONTROL_C_EXIT without depending on MSC compiler" -msgstr "" - -#: ../../../build/NEWS:10049 -msgid "" -"`bpo-35926 `__: Update to OpenSSL 1.1.1b " -"for Windows." -msgstr "" - -#: ../../../build/NEWS:10051 -msgid "" -"`bpo-29883 `__: Add Windows support for " -"UDP transports for the Proactor Event Loop. Patch by Adam Meily." -msgstr "" - -#: ../../../build/NEWS:10054 -msgid "" -"`bpo-33407 `__: The :c:macro:" -"`Py_DEPRECATED()` macro has been implemented for MSVC." -msgstr "" - -#: ../../../build/NEWS:10060 -msgid "" -"`bpo-36231 `__: Support building Python " -"on macOS without /usr/include installed. As of macOS 10.14, system header " -"files are only available within an SDK provided by either the Command Line " -"Tools or the Xcode app." -msgstr "" - -#: ../../../build/NEWS:10067 -msgid "" -"`bpo-35610 `__: Replace now redundant ." -"context_use_ps1 with .prompt_last_line. This finishes change started in " -"`bpo-31858 `__." -msgstr "" - -#: ../../../build/NEWS:10070 -msgid "" -"`bpo-37038 `__: Make idlelib.run " -"runnable; add test clause." -msgstr "" - -#: ../../../build/NEWS:10072 -msgid "" -"`bpo-36958 `__: Print any argument other " -"than None or int passed to SystemExit or sys.exit()." -msgstr "" - -#: ../../../build/NEWS:10075 -msgid "" -"`bpo-36807 `__: When saving a file, call " -"os.fsync() so bits are flushed to e.g. USB drive." -msgstr "" - -#: ../../../build/NEWS:10078 -msgid "" -"`bpo-32411 `__: In browser.py, remove " -"extraneous sorting by line number since dictionary was created in line " -"number order." -msgstr "" - -#: ../../../build/NEWS:10084 -msgid "" -"`bpo-37053 `__: Handle strings like u" -"\"bar\" correctly in Tools/parser/unparse.py. Patch by Chih-Hsuan Yen." -msgstr "" - -#: ../../../build/NEWS:10090 -msgid "" -"`bpo-36763 `__: Implement the :pep:`587` " -"\"Python Initialization Configuration\"." -msgstr "" - -#: ../../../build/NEWS:10092 -msgid "" -"`bpo-36379 `__: Fix crashes when " -"attempting to use the *modulo* parameter when ``__ipow__`` is implemented in " -"C." -msgstr "" - -#: ../../../build/NEWS:10095 -msgid "" -"`bpo-37107 `__: Update :c:func:" -"`PyObject_CallMethodObjArgs` and ``_PyObject_CallMethodIdObjArgs`` to use " -"``_PyObject_GetMethod`` to avoid creating a bound method object in many " -"cases. Patch by Michael J. Sullivan." -msgstr "" - -#: ../../../build/NEWS:10100 -msgid "" -"`bpo-36974 `__: Implement :pep:`590`: " -"Vectorcall: a fast calling protocol for CPython. This is a new protocol to " -"optimize calls of custom callable objects." -msgstr "" - -#: ../../../build/NEWS:10104 -msgid "" -"`bpo-36763 `__: ``Py_Main()`` now " -"returns the exitcode rather than calling ``Py_Exit(exitcode)`` when calling " -"``PyErr_Print()`` if the current exception type is ``SystemExit``." -msgstr "" - -#: ../../../build/NEWS:10108 -msgid "" -"`bpo-36922 `__: Add new type flag " -"``Py_TPFLAGS_METHOD_DESCRIPTOR`` for objects behaving like unbound methods. " -"These are objects supporting the optimization given by the ``LOAD_METHOD``/" -"``CALL_METHOD`` opcodes. See PEP 590." -msgstr "" - -#: ../../../build/NEWS:10113 -msgid "" -"`bpo-36728 `__: 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." -msgstr "" - -#: ../../../build/NEWS:10119 -msgid "Python 3.8.0 alpha 4" -msgstr "" - -#: ../../../build/NEWS:10121 -msgid "*Release date: 2019-05-06*" -msgstr "*Data de lançamento: 2019-05-06*" - -#: ../../../build/NEWS:10126 -msgid "" -"`bpo-36742 `__: Fixes mishandling of pre-" -"normalization characters in urlsplit()." -msgstr "" - -#: ../../../build/NEWS:10129 -msgid "" -"`bpo-30458 `__: Address CVE-2019-9740 by " -"disallowing URL paths with embedded whitespace or control characters through " -"into the underlying http client request. Such potentially malicious header " -"injection URLs now cause an http.client.InvalidURL exception to be raised." -msgstr "" - -#: ../../../build/NEWS:10134 -msgid "" -"`bpo-35755 `__: :func:`shutil.which` now " -"uses ``os.confstr(\"CS_PATH\")`` if available and if the :envvar:`PATH` " -"environment variable is not set. Remove also the current directory from :" -"data:`posixpath.defpath`. On Unix, :func:`shutil.which` and the :mod:" -"`subprocess` module no longer search the executable in the current directory " -"if the :envvar:`PATH` environment variable is not set." -msgstr "" - -#: ../../../build/NEWS:10144 -msgid "" -"`bpo-36722 `__: In debug build, import " -"now also looks for C extensions compiled in release mode and for C " -"extensions compiled in the stable ABI." -msgstr "" - -#: ../../../build/NEWS:10147 -msgid "" -"`bpo-32849 `__: Fix Python " -"Initialization code on FreeBSD to detect properly when stdin file descriptor " -"(fd 0) is invalid." -msgstr "" - -#: ../../../build/NEWS:10150 -msgid "" -"`bpo-36623 `__: Remove parser headers " -"and related function declarations that lack implementations after the " -"removal of pgen." -msgstr "" - -#: ../../../build/NEWS:10153 -msgid "" -"`bpo-20180 `__: ``dict.pop()`` is now up " -"to 33% faster thanks to Argument Clinic. Patch by Inada Naoki." -msgstr "" - -#: ../../../build/NEWS:10156 -msgid "" -"`bpo-36611 `__: Debug memory allocators: " -"disable serialno field by default from debug hooks on Python memory " -"allocators to reduce the memory footprint by 5%. Enable :mod:`tracemalloc` " -"to get the traceback where a memory block has been allocated when a fatal " -"memory error is logged to decide where to put a breakpoint. Compile Python " -"with ``PYMEM_DEBUG_SERIALNO`` defined to get back the field." -msgstr "" - -#: ../../../build/NEWS:10163 -msgid "" -"`bpo-36588 `__: On AIX, :attr:`sys." -"platform` doesn't contain the major version anymore. Always return " -"``'aix'``, instead of ``'aix3'`` .. ``'aix7'``. Since older Python versions " -"include the version number, it is recommended to always use ``sys.platform." -"startswith('aix')``. Contributed by M. Felt." -msgstr "" - -#: ../../../build/NEWS:10168 -msgid "" -"`bpo-36549 `__: Change str.capitalize to " -"use titlecase for the first character instead of uppercase." -msgstr "" - -#: ../../../build/NEWS:10171 -msgid "" -"`bpo-36540 `__: Implement :pep:`570` " -"(Python positional-only parameters). Patch by Pablo Galindo." -msgstr "" - -#: ../../../build/NEWS:10174 -msgid "" -"`bpo-36475 `__: :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`." -msgstr "" - -#: ../../../build/NEWS:10179 -msgid "" -"`bpo-36504 `__: Fix signed integer " -"overflow in _ctypes.c's ``PyCArrayType_new()``." -msgstr "" - -#: ../../../build/NEWS:10182 -msgid "" -"`bpo-20844 `__: Fix running script with " -"encoding cookie and LF line ending may fail on Windows." -msgstr "" - -#: ../../../build/NEWS:10185 -msgid "" -"`bpo-24214 `__: Fixed support of the " -"surrogatepass error handler in the UTF-8 incremental decoder." -msgstr "" - -#: ../../../build/NEWS:10188 -msgid "" -"`bpo-36452 `__: Changing ``dict`` keys " -"during iteration of the dict itself, ``keys()``, ``values()``, or " -"``items()`` will now be detected in certain corner cases where keys are " -"deleted/added so that the number of keys isn't changed. A `RuntimeError` " -"will be raised after ``len(dict)`` iterations. Contributed by Thomas Perl." -msgstr "" - -#: ../../../build/NEWS:10194 -msgid "" -"`bpo-36459 `__: Fix a possible double " -"``PyMem_FREE()`` due to tokenizer.c's ``tok_nextc()``." -msgstr "" - -#: ../../../build/NEWS:10197 -msgid "" -"`bpo-36433 `__: Fixed TypeError message " -"in classmethoddescr_call." -msgstr "" - -#: ../../../build/NEWS:10199 -msgid "" -"`bpo-36430 `__: Fix a possible reference " -"leak in :func:`itertools.count`." -msgstr "" - -#: ../../../build/NEWS:10201 -msgid "" -"`bpo-36440 `__: Include node names in " -"``ParserError`` messages, instead of numeric IDs. Patch by A. Skrobov." -msgstr "" - -#: ../../../build/NEWS:10204 -msgid "" -"`bpo-36143 `__: Regenerate :mod:" -"`keyword` from the Grammar and Tokens file using pgen. Patch by Pablo " -"Galindo." -msgstr "" - -#: ../../../build/NEWS:10207 -msgid "" -"`bpo-18372 `__: Add missing :c:func:" -"`PyObject_GC_Track` calls in the :mod:`pickle` module. Patch by Zackery " -"Spytz." -msgstr "" - -#: ../../../build/NEWS:10213 -msgid "" -"`bpo-35952 `__: Fix pythoninfo when the " -"compiler is missing." -msgstr "" - -#: ../../../build/NEWS:10215 -msgid "" -"`bpo-28238 `__: The ``.find*()`` methods " -"of xml.etree.ElementTree can now search for wildcards like ``{*}tag`` and " -"``{ns}*`` that match a tag in any namespace or all tags in a namespace. " -"Patch by Stefan Behnel." -msgstr "" - -#: ../../../build/NEWS:10219 -msgid "" -"`bpo-26978 `__: `pathlib.path.link_to()` " -"is now implemented. It creates a hard link pointing to a path." -msgstr "" - -#: ../../../build/NEWS:10222 -msgid "" -"`bpo-1613500 `__: :class:`fileinput." -"FileInput` now uses the input file mode to correctly set the output file " -"mode (previously it was hardcoded to ``'w'``) when ``inplace=True`` is " -"passed to its constructor." -msgstr "" - -#: ../../../build/NEWS:10226 -msgid "" -"`bpo-36734 `__: Fix compilation of " -"``faulthandler.c`` on HP-UX. Initialize ``stack_t current_stack`` to zero " -"using ``memset()``." -msgstr "" - -#: ../../../build/NEWS:10229 -msgid "" -"`bpo-13611 `__: The xml.etree." -"ElementTree packages gained support for C14N 2.0 serialisation. Patch by " -"Stefan Behnel." -msgstr "" - -#: ../../../build/NEWS:10232 -msgid "" -"`bpo-36669 `__: Add missing matrix " -"multiplication operator support to weakref.proxy." -msgstr "" - -#: ../../../build/NEWS:10235 -msgid "" -"`bpo-36676 `__: The XMLParser() in xml." -"etree.ElementTree provides namespace prefix context to the parser target if " -"it defines the callback methods \"start_ns()\" and/or \"end_ns()\". Patch by " -"Stefan Behnel." -msgstr "" - -#: ../../../build/NEWS:10239 -msgid "" -"`bpo-36673 `__: The TreeBuilder and " -"XMLPullParser in xml.etree.ElementTree gained support for parsing comments " -"and processing instructions. Patch by Stefan Behnel." -msgstr "" - -#: ../../../build/NEWS:10243 -msgid "" -"`bpo-36650 `__: The C version of " -"functools.lru_cache() was treating calls with an empty ``**kwargs`` " -"dictionary as being distinct from calls with no keywords at all. This did " -"not result in an incorrect answer, but it did trigger an unexpected cache " -"miss." -msgstr "" - -#: ../../../build/NEWS:10248 -msgid "" -"`bpo-28552 `__: Fix :mod:`distutils." -"sysconfig` if :data:`sys.executable` is ``None`` or an empty string: use :" -"func:`os.getcwd` to initialize ``project_base``. Fix also the distutils " -"build command: don't use :data:`sys.executable` if it is ``None`` or an " -"empty string." -msgstr "" - -#: ../../../build/NEWS:10253 -msgid "" -"`bpo-35755 `__: :func:`shutil.which` " -"and :func:`distutils.spawn.find_executable` now use ``os.confstr(\"CS_PATH" -"\")`` if available instead of :data:`os.defpath`, if the ``PATH`` " -"environment variable is not set. Moreover, don't use ``os.confstr(\"CS_PATH" -"\")`` nor :data:`os.defpath` if the ``PATH`` environment variable is set to " -"an empty string." -msgstr "" - -#: ../../../build/NEWS:10260 -msgid "" -"`bpo-25430 `__: improve performance of " -"``IPNetwork.__contains__()``" -msgstr "" - -#: ../../../build/NEWS:10262 -msgid "" -"`bpo-30485 `__: Path expressions in xml." -"etree.ElementTree can now avoid explicit namespace prefixes for tags (or the " -"\"{namespace}tag\" notation) by passing a default namespace with an empty " -"string prefix." -msgstr "" - -#: ../../../build/NEWS:10266 -msgid "" -"`bpo-36613 `__: Fix :mod:`asyncio` " -"wait() not removing callback if exception" -msgstr "" - -#: ../../../build/NEWS:10268 -msgid "" -"`bpo-36598 `__: Fix ``isinstance`` check " -"for Mock objects with spec when the code is executed under tracing. Patch by " -"Karthikeyan Singaravelan." -msgstr "" - -#: ../../../build/NEWS:10271 -msgid "" -"`bpo-18748 `__: In development mode (:" -"option:`-X` ``dev``) and in debug build, the :class:`io.IOBase` destructor " -"now logs ``close()`` exceptions. These exceptions are silent by default in " -"release mode." -msgstr "" - -#: ../../../build/NEWS:10275 -msgid "" -"`bpo-36575 `__: The ``_lsprof`` module " -"now uses internal timer same to ``time.perf_counter()`` by default. " -"``gettimeofday(2)`` was used on Unix. New timer has better resolution on " -"most Unix platforms and timings are no longer impacted by system clock " -"updates since ``perf_counter()`` is monotonic. Patch by Inada Naoki." -msgstr "" - -#: ../../../build/NEWS:10281 -msgid "" -"`bpo-33461 `__: ``json.loads`` now emits " -"``DeprecationWarning`` when ``encoding`` option is specified. Patch by " -"Matthias Bussonnier." -msgstr "" - -#: ../../../build/NEWS:10284 -msgid "" -"`bpo-36559 `__: The random module now " -"prefers the lean internal _sha512 module over hashlib for seed(version=2) to " -"optimize import time." -msgstr "" - -#: ../../../build/NEWS:10287 -msgid "" -"`bpo-17561 `__: Set backlog=None as the " -"default for socket.create_server." -msgstr "" - -#: ../../../build/NEWS:10289 -msgid "" -"`bpo-34373 `__: Fix :func:`time.mktime` " -"error handling on AIX for year before 1970." -msgstr "" - -#: ../../../build/NEWS:10292 -msgid "" -"`bpo-36232 `__: Improve error message " -"when trying to open existing DBM database that actually doesn't exist. Patch " -"by Marco Rougeth." -msgstr "" - -#: ../../../build/NEWS:10295 -msgid "" -"`bpo-36546 `__: Add statistics." -"quantiles()" -msgstr "" - -#: ../../../build/NEWS:10297 -msgid "" -"`bpo-36050 `__: Optimized ``http.client." -"HTTPResponse.read()`` for large response. Patch by Inada Naoki." -msgstr "" - -#: ../../../build/NEWS:10300 -msgid "" -"`bpo-36522 `__: If *debuglevel* is set " -"to >0 in :mod:`http.client`, print all values for headers with multiple " -"values for the same header name. Patch by Matt Houglum." -msgstr "" - -#: ../../../build/NEWS:10304 -msgid "" -"`bpo-36492 `__: Deprecated passing " -"required arguments like *func* as keyword arguments in functions which " -"should accept arbitrary keyword arguments and pass them to other function. " -"Arbitrary keyword arguments (even with names \"self\" and \"func\") can now " -"be passed to these functions if the required arguments are passed as " -"positional arguments." -msgstr "" - -#: ../../../build/NEWS:10310 -msgid "" -"`bpo-27181 `__: Add statistics." -"geometric_mean()." -msgstr "" - -#: ../../../build/NEWS:10312 -msgid "" -"`bpo-30427 `__: ``os.path.normcase()`` " -"relies on ``os.fspath()`` to check the type of its argument. Redundant " -"checks have been removed from its ``posixpath.normcase()`` and ``ntpath." -"normcase()`` implementations. Patch by Wolfgang Maier." -msgstr "" - -#: ../../../build/NEWS:10317 -msgid "" -"`bpo-36385 `__: Stop rejecting IPv4 " -"octets for being ambiguously octal. Leading zeros are ignored, and no longer " -"are assumed to specify octal octets. Octets are always decimal numbers. " -"Octets must still be no more than three digits, including leading zeroes." -msgstr "" - -#: ../../../build/NEWS:10322 -msgid "" -"`bpo-36434 `__: Errors during writing to " -"a ZIP file no longer prevent to properly close it." -msgstr "" - -#: ../../../build/NEWS:10325 -msgid "" -"`bpo-36407 `__: Fixed wrong indentation " -"writing for CDATA section in xml.dom.minidom. Patch by Vladimir Surjaninov." -msgstr "" - -#: ../../../build/NEWS:10328 -msgid "" -"`bpo-36326 `__: inspect.getdoc() can now " -"find docstrings for member objects when __slots__ is a dictionary." -msgstr "" - -#: ../../../build/NEWS:10331 -msgid "" -"`bpo-36366 `__: Calling ``stop()`` on an " -"unstarted or stopped :func:`unittest.mock.patch` object will now return " -"`None` instead of raising :exc:`RuntimeError`, making the method idempotent. " -"Patch by Karthikeyan Singaravelan." -msgstr "" - -#: ../../../build/NEWS:10336 -msgid "" -"`bpo-36348 `__: The :meth:`imap.IMAP4." -"logout` method no longer ignores silently arbitrary exceptions." -msgstr "" - -#: ../../../build/NEWS:10339 -msgid "" -"`bpo-31904 `__: Add time module support " -"and fix test_time faiures for VxWorks." -msgstr "" - -#: ../../../build/NEWS:10341 -msgid "" -"`bpo-36227 `__: Added support for " -"keyword arguments `default_namespace` and `xml_declaration` in functions " -"ElementTree.tostring() and ElementTree.tostringlist()." -msgstr "" - -#: ../../../build/NEWS:10345 -msgid "" -"`bpo-36004 `__: Added new alternate " -"constructors :meth:`datetime.date.fromisocalendar` and :meth:`datetime." -"datetime.fromisocalendar`, which construct date objects from ISO year, week " -"number and weekday; these are the inverse of each class's ``isocalendar`` " -"method. Patch by Paul Ganssle." -msgstr "" - -#: ../../../build/NEWS:10351 -msgid "" -"`bpo-35936 `__: :mod:`modulefinder` no " -"longer depends on the deprecated :mod:`imp` module, and the initializer for :" -"class:`modulefinder.ModuleFinder` now has immutable default arguments. Patch " -"by Brandt Bucher." -msgstr "" - -#: ../../../build/NEWS:10356 -msgid "" -"`bpo-35376 `__: :mod:`modulefinder` " -"correctly handles modules that have the same name as a bad package. Patch by " -"Brandt Bucher." -msgstr "" - -#: ../../../build/NEWS:10359 -msgid "" -"`bpo-17396 `__: :mod:`modulefinder` no " -"longer crashes when encountering syntax errors in followed imports. Patch by " -"Brandt Bucher." -msgstr "" - -#: ../../../build/NEWS:10362 -msgid "" -"`bpo-35934 `__: 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 Rodola in :issue:`17561`.)" -msgstr "" - -#: ../../../build/NEWS:10368 -msgid "" -"`bpo-23078 `__: Add support for :func:" -"`classmethod` and :func:`staticmethod` to :func:`unittest.mock." -"create_autospec`. Initial patch by Felipe Ochoa." -msgstr "" - -#: ../../../build/NEWS:10371 -msgid "" -"`bpo-35416 `__: Fix potential resource " -"warnings in distutils. Patch by Mickaël Schoentgen." -msgstr "" - -#: ../../../build/NEWS:10374 -msgid "" -"`bpo-25451 `__: Add transparency methods " -"to :class:`tkinter.PhotoImage`. Patch by Zackery Spytz." -msgstr "" - -#: ../../../build/NEWS:10377 -msgid "" -"`bpo-35082 `__: Don't return deleted " -"attributes when calling dir on a :class:`unittest.mock.Mock`." -msgstr "" - -#: ../../../build/NEWS:10380 -msgid "" -"`bpo-34547 `__: :class:`wsgiref.handlers." -"BaseHandler` now handles abrupt client connection terminations gracefully. " -"Patch by Petter Strandmark." -msgstr "" - -#: ../../../build/NEWS:10383 -msgid "" -"`bpo-31658 `__: :func:`xml.sax.parse` " -"now supports :term:`path-like `. Patch by Mickaël " -"Schoentgen." -msgstr "" - -#: ../../../build/NEWS:10386 -msgid "" -"`bpo-34139 `__: Remove stale unix " -"datagram socket before binding" -msgstr "" - -#: ../../../build/NEWS:10388 -msgid "" -"`bpo-33530 `__: Implemented Happy " -"Eyeballs in `asyncio.create_connection()`. Added two new arguments, " -"*happy_eyeballs_delay* and *interleave*, to specify Happy Eyeballs behavior." -msgstr "" - -#: ../../../build/NEWS:10392 -msgid "" -"`bpo-33291 `__: Do not raise " -"AttributeError when calling the inspect functions isgeneratorfunction, " -"iscoroutinefunction, isasyncgenfunction on a method created from an " -"arbitrary callable. Instead, return False." -msgstr "" - -#: ../../../build/NEWS:10396 -msgid "" -"`bpo-31310 `__: Fix the multiprocessing." -"semaphore_tracker so it is reused by child processes" -msgstr "" - -#: ../../../build/NEWS:10399 -msgid "" -"`bpo-31292 `__: Fix ``setup.py check --" -"restructuredtext`` for files containing ``include`` directives." -msgstr "" - -#: ../../../build/NEWS:10405 -msgid "" -"`bpo-36625 `__: Remove obsolete comments " -"from docstrings in fractions.Fraction" -msgstr "" - -#: ../../../build/NEWS:10407 -msgid "" -"`bpo-30840 `__: Document relative imports" -msgstr "" - -#: ../../../build/NEWS:10409 -msgid "" -"`bpo-36523 `__: Add docstring for io." -"IOBase.writelines()." -msgstr "" - -#: ../../../build/NEWS:10411 -msgid "" -"`bpo-36425 `__: New documentation " -"translation: `Simplified Chinese `_." -msgstr "" - -#: ../../../build/NEWS:10414 -msgid "" -"`bpo-36345 `__: Avoid the duplication of " -"code from ``Tools/scripts/serve.py`` in using the :rst:dir:`literalinclude` " -"directive for the basic wsgiref-based web server in the documentation of :" -"mod:`wsgiref`. Contributed by Stéphane Wirtel." -msgstr "" - -#: ../../../build/NEWS:10419 -msgid "" -"`bpo-36345 `__: Using the code of the " -"``Tools/scripts/serve.py`` script as an example in the :mod:`wsgiref` " -"documentation. Contributed by Stéphane Wirtel." -msgstr "" - -#: ../../../build/NEWS:10423 -msgid "" -"`bpo-36157 `__: Added Documention for " -"PyInterpreterState_Main()." -msgstr "" - -#: ../../../build/NEWS:10425 -msgid "" -"`bpo-33043 `__: Updates the docs.python." -"org page with the addition of a 'Contributing to Docs' link at the end of " -"the page (between 'Reporting Bugs' and 'About Documentation'). Updates the " -"'Found a Bug' page with additional links and information in the " -"Documentation Bugs section." -msgstr "" - -#: ../../../build/NEWS:10430 -msgid "" -"`bpo-35581 `__: @typing.type_check_only " -"now allows type stubs to mark functions and classes not available during " -"runtime." -msgstr "" - -#: ../../../build/NEWS:10433 -msgid "" -"`bpo-33832 `__: Add glossary entry for " -"'magic method'." -msgstr "" - -#: ../../../build/NEWS:10435 -msgid "" -"`bpo-32913 `__: Added re.Match.groupdict " -"example to regex HOWTO." -msgstr "" - -#: ../../../build/NEWS:10440 -msgid "" -"`bpo-36719 `__: regrtest now always " -"detects uncollectable objects. Previously, the check was only enabled by ``--" -"findleaks``. The check now also works with ``-jN/--multiprocess N``. ``--" -"findleaks`` becomes a deprecated alias to ``--fail-env-changed``." -msgstr "" - -#: ../../../build/NEWS:10445 -msgid "" -"`bpo-36725 `__: When using " -"multiprocessing mode (-jN), regrtest now better reports errors if a worker " -"process fails, and it exits immediately on a worker thread failure or when " -"interrupted." -msgstr "" - -#: ../../../build/NEWS:10449 -msgid "" -"`bpo-36454 `__: Change test_time." -"test_monotonic() to test only the lower bound of elapsed time after a sleep " -"command rather than the upper bound. This prevents unnecessary test failures " -"on slow buildbots. Patch by Victor Stinner." -msgstr "" - -#: ../../../build/NEWS:10454 -msgid "" -"`bpo-32424 `__: Improve test coverage " -"for xml.etree.ElementTree. Patch by Gordon P. Hemsley." -msgstr "" - -#: ../../../build/NEWS:10457 -msgid "" -"`bpo-32424 `__: Fix typo in " -"test_cyclic_gc() test for xml.etree.ElementTree. Patch by Gordon P. Hemsley." -msgstr "" - -#: ../../../build/NEWS:10460 -msgid "" -"`bpo-36635 `__: Add a new :mod:" -"`_testinternalcapi` module to test the internal C API." -msgstr "" - -#: ../../../build/NEWS:10463 -msgid "" -"`bpo-36629 `__: Fix " -"``test_imap4_host_default_value()`` of ``test_imaplib``: catch also :data:" -"`errno.ENETUNREACH` error." -msgstr "" - -#: ../../../build/NEWS:10466 -msgid "" -"`bpo-36611 `__: Fix ``test_sys." -"test_getallocatedblocks()`` when :mod:`tracemalloc` is enabled." -msgstr "" - -#: ../../../build/NEWS:10469 -msgid "" -"`bpo-36560 `__: Fix reference leak " -"hunting in regrtest: compute also deltas (of reference count, allocated " -"memory blocks, file descriptor count) during warmup, to ensure that " -"everything is initialized before starting to hunt reference leaks." -msgstr "" - -#: ../../../build/NEWS:10474 -msgid "" -"`bpo-36565 `__: Fix reference hunting " -"(``python3 -m test -R 3:3``) when Python has no built-in abc module." -msgstr "" - -#: ../../../build/NEWS:10477 -msgid "" -"`bpo-31904 `__: Port test_resource to " -"VxWorks: skip tests cases setting RLIMIT_FSIZE and RLIMIT_CPU." -msgstr "" - -#: ../../../build/NEWS:10480 -msgid "" -"`bpo-31904 `__: Fix test_tabnanny on " -"VxWorks: adjust ENOENT error message." -msgstr "" - -#: ../../../build/NEWS:10482 -msgid "" -"`bpo-36436 `__: Fix ``_testcapi." -"pymem_buffer_overflow()``: handle memory allocation failure." -msgstr "" - -#: ../../../build/NEWS:10485 -msgid "" -"`bpo-31904 `__: Fix test_utf8_mode on " -"VxWorks: Python always use UTF-8 on VxWorks." -msgstr "" - -#: ../../../build/NEWS:10488 -msgid "" -"`bpo-36341 `__: Fix tests that may fail " -"with PermissionError upon calling bind() on AF_UNIX sockets." -msgstr "" - -#: ../../../build/NEWS:10494 -msgid "" -"`bpo-36747 `__: Remove the stale " -"scriptsinstall Makefile target." -msgstr "" - -#: ../../../build/NEWS:10496 -msgid "" -"`bpo-21536 `__: On Unix, C extensions " -"are no longer linked to libpython except on Android and Cygwin." -msgstr "" - -#: ../../../build/NEWS:10499 -msgid "" -"It is now possible for a statically linked Python to load a C extension " -"built using a shared library Python." -msgstr "" - -#: ../../../build/NEWS:10502 -msgid "" -"When Python is embedded, ``libpython`` must not be loaded with " -"``RTLD_LOCAL``, but ``RTLD_GLOBAL`` instead. Previously, using " -"``RTLD_LOCAL``, it was already not possible to load C extensions which were " -"not linked to ``libpython``, such as C extensions of the standard library " -"built by the ``*shared*`` section of ``Modules/Setup``." -msgstr "" - -#: ../../../build/NEWS:10508 -msgid "distutils, python-config and python-config.py have been modified." -msgstr "" - -#: ../../../build/NEWS:10510 -msgid "" -"`bpo-36707 `__: ``./configure --with-" -"pymalloc`` no longer adds the ``m`` flag to SOABI (sys.implementation." -"cache_tag). Enabling or disabling pymalloc has no impact on the ABI." -msgstr "" - -#: ../../../build/NEWS:10514 -msgid "" -"`bpo-36635 `__: Change " -"``PyAPI_FUNC(type)``, ``PyAPI_DATA(type)`` and ``PyMODINIT_FUNC`` macros of " -"``pyport.h`` when ``Py_BUILD_CORE_MODULE`` is defined. The " -"``Py_BUILD_CORE_MODULE`` define must be now be used to build a C extension " -"as a dynamic library accessing Python internals: export the PyInit_xxx() " -"function in DLL exports on Windows." -msgstr "" - -#: ../../../build/NEWS:10520 -msgid "" -"`bpo-31904 `__: Don't build the " -"``_crypt`` extension on VxWorks." -msgstr "" - -#: ../../../build/NEWS:10522 -msgid "" -"`bpo-36618 `__: Add ``-fmax-type-" -"align=8`` to CFLAGS when clang compiler is detected. The pymalloc memory " -"allocator aligns memory on 8 bytes. On x86-64, clang expects alignment on 16 " -"bytes by default and so uses MOVAPS instruction which can lead to " -"segmentation fault. Instruct clang that Python is limited to alignment on 8 " -"bytes to use MOVUPS instruction instead: slower but don't trigger a SIGSEGV " -"if the memory is not aligned on 16 bytes. Sadly, the flag must be added to " -"``CFLAGS`` and not just ``CFLAGS_NODIST``, since third party C extensions " -"can have the same issue." -msgstr "" - -#: ../../../build/NEWS:10531 -msgid "" -"`bpo-36605 `__: ``make tags`` and ``make " -"TAGS`` now also parse ``Modules/_io/*.c`` and ``Modules/_io/*.h``." -msgstr "" - -#: ../../../build/NEWS:10534 -msgid "" -"`bpo-36465 `__: Release builds and 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 ``./configure --with-trace-refs`` build option." -msgstr "" - -#: ../../../build/NEWS:10541 -msgid "" -"`bpo-36577 `__: setup.py now correctly " -"reports missing OpenSSL headers and libraries again." -msgstr "" - -#: ../../../build/NEWS:10544 -msgid "" -"`bpo-36544 `__: Fix regression " -"introduced in `bpo-36146 `__ refactoring " -"setup.py" -msgstr "" - -#: ../../../build/NEWS:10546 -msgid "" -"`bpo-36508 `__: ``python-config --" -"ldflags`` no longer includes flags of the ``LINKFORSHARED`` variable. The " -"``LINKFORSHARED`` variable must only be used to build executables." -msgstr "" - -#: ../../../build/NEWS:10550 -msgid "" -"`bpo-36503 `__: Remove references to " -"\"aix3\" and \"aix4\". Patch by M. Felt." -msgstr "" - -#: ../../../build/NEWS:10555 -msgid "" -"`bpo-35920 `__: Added platform." -"win32_edition() and platform.win32_is_iot(). Added support for cross-" -"compiling packages for Windows ARM32. Skip tests that are not expected to " -"work on Windows IoT Core ARM32." -msgstr "" - -#: ../../../build/NEWS:10559 -msgid "" -"`bpo-36649 `__: Remove trailing spaces " -"for registry keys when installed via the Store." -msgstr "" - -#: ../../../build/NEWS:10562 -msgid "" -"`bpo-34144 `__: Fixed activate.bat to " -"correctly update codepage when chcp.com returns dots in output. Patch by " -"Lorenz Mende." -msgstr "" - -#: ../../../build/NEWS:10565 -msgid "" -"`bpo-36509 `__: Added preset-iot layout " -"for Windows IoT ARM containers. This layout doesn't contain UI components " -"like tkinter or IDLE. It also doesn't contain files to support on-target " -"builds since Windows ARM32 builds must be cross-compiled when using MSVC." -msgstr "" - -#: ../../../build/NEWS:10570 -msgid "" -"`bpo-35941 `__: enum_certificates " -"function of the ssl module now returns certificates from all available " -"certificate stores inside windows in a query instead of returning only " -"certificates from the system wide certificate store. This includes " -"certificates from these certificate stores: local machine, local machine " -"enterprise, local machine group policy, current user, current user group " -"policy, services, users. ssl.enum_crls() function is changed in the same way " -"to return all certificate revocation lists inside the windows certificate " -"revocation list stores." -msgstr "" - -#: ../../../build/NEWS:10580 -msgid "" -"`bpo-36441 `__: Fixes creating a venv " -"when debug binaries are installed." -msgstr "" - -#: ../../../build/NEWS:10582 -msgid "" -"`bpo-36085 `__: Enable better DLL " -"resolution on Windows by using safe DLL search paths and adding :func:`os." -"add_dll_directory`." -msgstr "" - -#: ../../../build/NEWS:10585 -msgid "" -"`bpo-36010 `__: Add the venv standard " -"library module to the nuget distribution for Windows." -msgstr "" - -#: ../../../build/NEWS:10588 -msgid "" -"`bpo-29515 `__: Add the following socket " -"module constants on Windows: IPPROTO_AH IPPROTO_CBT IPPROTO_DSTOPTS " -"IPPROTO_EGP IPPROTO_ESP IPPROTO_FRAGMENT IPPROTO_GGP IPPROTO_HOPOPTS " -"IPPROTO_ICLFXBM IPPROTO_ICMPV6 IPPROTO_IDP IPPROTO_IGMP IPPROTO_IGP " -"IPPROTO_IPV4 IPPROTO_IPV6 IPPROTO_L2TP IPPROTO_MAX IPPROTO_ND IPPROTO_NONE " -"IPPROTO_PGM IPPROTO_PIM IPPROTO_PUP IPPROTO_RDP IPPROTO_ROUTING IPPROTO_SCTP " -"IPPROTO_ST" -msgstr "" - -#: ../../../build/NEWS:10596 -msgid "" -"`bpo-35947 `__: Added current version of " -"libffi to cpython-source-deps. Change _ctypes to use current version of " -"libffi on Windows." -msgstr "" - -#: ../../../build/NEWS:10599 -msgid "" -"`bpo-34060 `__: Report system load when " -"running test suite on Windows. Patch by Ammar Askar. Based on prior work by " -"Jeremy Kloth." -msgstr "" - -#: ../../../build/NEWS:10602 -msgid "" -"`bpo-31512 `__: With the Windows 10 " -"Creators Update, non-elevated users can now create symlinks as long as the " -"computer has Developer Mode enabled." -msgstr "" - -#: ../../../build/NEWS:10608 -msgid "" -"`bpo-34602 `__: Avoid failures setting " -"macOS stack resource limit with resource.setrlimit. This reverts an earlier " -"fix for `bpo-18075 `__ which forced a " -"non-default stack size when building the interpreter executable on macOS." -msgstr "" - -#: ../../../build/NEWS:10616 -msgid "" -"`bpo-36429 `__: Fix starting IDLE with " -"pyshell. Add idlelib.pyshell alias at top; remove pyshell alias at bottom. " -"Remove obsolete __name__=='__main__' command." -msgstr "" - -#: ../../../build/NEWS:10623 -msgid "" -"`bpo-14546 `__: Fix the argument " -"handling in Tools/scripts/lll.py." -msgstr "" - -#: ../../../build/NEWS:10628 -msgid "" -"`bpo-36763 `__: Fix memory leak in :c:" -"func:`Py_SetStandardStreamEncoding`: release memory if the function is " -"called twice." -msgstr "" - -#: ../../../build/NEWS:10631 -msgid "" -"`bpo-36641 `__: :c:macro:" -"`PyDoc_VAR(name)` and :c:macro:`PyDoc_STRVAR(name,str)` now create ``static " -"const char name[]`` instead of ``static char name[]``. Patch by Inada Naoki." -msgstr "" - -#: ../../../build/NEWS:10635 -msgid "" -"`bpo-36389 `__: Change the value of " -"``CLEANBYTE``, ``DEADDYTE`` and ``FORBIDDENBYTE`` internal constants used by " -"debug hooks on Python memory allocators (:c:func:`PyMem_SetupDebugHooks` " -"function). Byte patterns ``0xCB``, ``0xDB`` and ``0xFB`` have been replaced " -"with ``0xCD``, ``0xDD`` and ``0xFD`` to use the same values than Windows CRT " -"debug ``malloc()`` and ``free()``." -msgstr "" - -#: ../../../build/NEWS:10642 -msgid "" -"`bpo-36443 `__: Since Python 3.7.0, " -"calling :c:func:`Py_DecodeLocale` before :c:func:`Py_Initialize` produces " -"mojibake if the ``LC_CTYPE`` locale is coerced and/or if the UTF-8 Mode is " -"enabled by the user configuration. The LC_CTYPE coercion and UTF-8 Mode are " -"now disabled by default to fix the mojibake issue. They must now be enabled " -"explicitly (opt-in) using the new :c:func:`_Py_PreInitialize` API with " -"``_PyPreConfig``." -msgstr "" - -#: ../../../build/NEWS:10649 -msgid "" -"`bpo-36025 `__: Fixed an accidental " -"change to the datetime C API where the arguments to the :c:func:" -"`PyDate_FromTimestamp` function were incorrectly interpreted as a single " -"timestamp rather than an arguments tuple, which causes existing code to " -"start raising :exc:`TypeError`. The backwards-incompatible change was only " -"present in alpha releases of Python 3.8. Patch by Paul Ganssle." -msgstr "" - -#: ../../../build/NEWS:10656 -msgid "" -"`bpo-35810 `__: Modify ``PyObject_Init`` " -"to correctly increase the refcount of heap- allocated Type objects. Also fix " -"the refcounts of the heap-allocated types that were either doing this " -"manually or not decreasing the type's refcount in tp_dealloc" -msgstr "" - -#: ../../../build/NEWS:10663 -msgid "Python 3.8.0 alpha 3" -msgstr "" - -#: ../../../build/NEWS:10665 -msgid "*Release date: 2019-03-25*" -msgstr "" - -#: ../../../build/NEWS:10670 -msgid "" -"`bpo-36216 `__: Changes urlsplit() to " -"raise ValueError when the URL contains characters that decompose under IDNA " -"encoding (NFKC-normalization) into characters that affect how the URL is " -"parsed." -msgstr "" - -#: ../../../build/NEWS:10674 -msgid "" -"`bpo-35121 `__: Don't send cookies of " -"domain A without Domain attribute to domain B when domain A is a suffix " -"match of domain B while using a cookiejar with :class:`http.cookiejar." -"DefaultCookiePolicy` policy. Patch by Karthikeyan Singaravelan." -msgstr "" - -#: ../../../build/NEWS:10682 -msgid "" -"`bpo-36421 `__: Fix a possible double " -"decref in _ctypes.c's ``PyCArrayType_new()``." -msgstr "" - -#: ../../../build/NEWS:10685 -msgid "" -"`bpo-36412 `__: Fix a possible crash " -"when creating a new dictionary." -msgstr "" - -#: ../../../build/NEWS:10687 -msgid "" -"`bpo-36398 `__: Fix a possible crash in " -"``structseq_repr()``." -msgstr "" - -#: ../../../build/NEWS:10689 -msgid "" -"`bpo-36256 `__: Fix bug in parsermodule " -"when parsing a state in a DFA that has two or more arcs with labels of the " -"same type. Patch by Pablo Galindo." -msgstr "" - -#: ../../../build/NEWS:10692 -msgid "" -"`bpo-36365 `__: repr(structseq) is no " -"longer limited to 512 bytes." -msgstr "" - -#: ../../../build/NEWS:10694 -msgid "" -"`bpo-36374 `__: Fix a possible null " -"pointer dereference in ``merge_consts_recursive()``. Patch by Zackery Spytz." -msgstr "" - -#: ../../../build/NEWS:10697 -msgid "" -"`bpo-36236 `__: At Python " -"initialization, the current directory is no longer prepended to :data:`sys." -"path` if it has been removed." -msgstr "" - -#: ../../../build/NEWS:10700 -msgid "" -"`bpo-36352 `__: Python initialization " -"now fails with an error, rather than silently truncating paths, if a path is " -"too long." -msgstr "" - -#: ../../../build/NEWS:10703 -msgid "" -"`bpo-36301 `__: Python initialization " -"now fails if decoding ``pybuilddir.txt`` configuration file fails at startup." -msgstr "" - -#: ../../../build/NEWS:10706 -msgid "" -"`bpo-36333 `__: Fix leak in " -"_PyRuntimeState_Fini. Contributed by Stéphane Wirtel." -msgstr "" - -#: ../../../build/NEWS:10709 -msgid "" -"`bpo-36332 `__: The builtin :func:" -"`compile` can now handle AST objects that contain assignment expressions. " -"Patch by Pablo Galindo." -msgstr "" - -#: ../../../build/NEWS:10712 -msgid "" -"`bpo-36282 `__: Improved error message " -"for too much positional arguments in some builtin functions." -msgstr "" - -#: ../../../build/NEWS:10715 -msgid "" -"`bpo-30040 `__: New empty dict uses " -"fewer memory for now. It used more memory than empty dict created by ``dict." -"clear()``. And empty dict creation and deletion is about 2x faster. Patch " -"by Inada Naoki." -msgstr "" - -#: ../../../build/NEWS:10719 -msgid "" -"`bpo-36262 `__: Fix an unlikely memory " -"leak on conversion from string to float in the function ``_Py_dg_strtod()`` " -"used by ``float(str)``, ``complex(str)``, :func:`pickle.load`, :func:" -"`marshal.load`, etc." -msgstr "" - -#: ../../../build/NEWS:10723 -msgid "" -"`bpo-36252 `__: Update Unicode databases " -"to version 12.0.0." -msgstr "" - -#: ../../../build/NEWS:10725 -msgid "" -"`bpo-36218 `__: Fix a segfault occurring " -"when sorting a list of heterogeneous values. Patch contributed by Rémi " -"Lapeyre and Elliot Gorokhovsky." -msgstr "" - -#: ../../../build/NEWS:10728 -msgid "" -"`bpo-36188 `__: Cleaned up left-over " -"vestiges of Python 2 unbound method handling in method objects and " -"documentation. Patch by Martijn Pieters" -msgstr "" - -#: ../../../build/NEWS:10731 -msgid "" -"`bpo-36124 `__: Add a new interpreter-" -"specific dict and expose it in the C-API via PyInterpreterState_GetDict(). " -"This parallels PyThreadState_GetDict(). However, extension modules should " -"continue using PyModule_GetState() for their own internal per-interpreter " -"state." -msgstr "" - -#: ../../../build/NEWS:10736 -msgid "" -"`bpo-35975 `__: Add a " -"``feature_version`` flag to ``ast.parse()`` (documented) and ``compile()`` " -"(hidden) that allows tweaking the parser to support older versions of the " -"grammar. In particular, if ``feature_version`` is 5 or 6, the hacks for the " -"``async`` and ``await`` keyword from PEP 492 are reinstated. (For 7 or " -"higher, these are unconditionally treated as keywords, but they are still " -"special tokens rather than ``NAME`` tokens that the parser driver " -"recognizes.)" -msgstr "" - -#: ../../../build/NEWS:10744 -msgid "" -"`bpo-31904 `__: Use UTF-8 as the system " -"encoding on VxWorks." -msgstr "" - -#: ../../../build/NEWS:10746 -msgid "" -"`bpo-36048 `__: The :meth:`~object." -"__index__` special method will be used instead of :meth:`~object.__int__` " -"for implicit conversion of Python numbers to C integers. Using the " -"``__int__()`` method in implicit conversions has been deprecated." -msgstr "" - -#: ../../../build/NEWS:10751 -msgid "" -"`bpo-35808 `__: Retire pgen and use a " -"modified version of pgen2 to generate the parser. Patch by Pablo Galindo." -msgstr "" - -#: ../../../build/NEWS:10757 -msgid "" -"`bpo-36401 `__: The class documentation " -"created by pydoc now has a separate section for readonly properties." -msgstr "" - -#: ../../../build/NEWS:10760 -msgid "" -"`bpo-36320 `__: The typing.NamedTuple() " -"class has deprecated the _field_types attribute in favor of the " -"__annotations__ attribute which carried the same information. Also, both " -"attributes were converted from OrderedDict to a regular dict." -msgstr "" - -#: ../../../build/NEWS:10765 -msgid "" -"`bpo-34745 `__: Fix :mod:`asyncio` ssl " -"memory issues caused by circular references" -msgstr "" - -#: ../../../build/NEWS:10768 -msgid "" -"`bpo-36324 `__: Add method to statistics." -"NormalDist for computing the inverse cumulative normal distribution." -msgstr "" - -#: ../../../build/NEWS:10771 -msgid "" -"`bpo-36321 `__: collections.namedtuple() " -"misspelled the name of an attribute. To be consistent with typing." -"NamedTuple, the attribute name should have been \"_field_defaults\" instead " -"of \"_fields_defaults\". For backwards compatibility, both spellings are " -"now created. The misspelled version may be removed in the future." -msgstr "" - -#: ../../../build/NEWS:10777 -msgid "" -"`bpo-36297 `__: \"unicode_internal\" " -"codec is removed. It was deprecated since Python 3.3. Patch by Inada Naoki." -msgstr "" - -#: ../../../build/NEWS:10780 -msgid "" -"`bpo-36298 `__: Raise " -"ModuleNotFoundError in pyclbr when a module can't be found. Thanks to " -"'mental' for the bug report." -msgstr "" - -#: ../../../build/NEWS:10783 -msgid "" -"`bpo-36268 `__: Switch the default " -"format used for writing tars with mod:`tarfile` to the modern POSIX.1-2001 " -"pax standard, from the vendor-specific GNU. Contributed by C.A.M. Gerlach." -msgstr "" - -#: ../../../build/NEWS:10787 -msgid "" -"`bpo-36285 `__: Fix integer overflows in " -"the array module. Patch by Stephan Hohe." -msgstr "" - -#: ../../../build/NEWS:10790 -msgid "" -"`bpo-31904 `__: Add _signal module " -"support for VxWorks." -msgstr "" - -#: ../../../build/NEWS:10792 -msgid "" -"`bpo-36272 `__: :mod:`logging` does not " -"silently ignore RecursionError anymore. Patch contributed by Rémi Lapeyre." -msgstr "" - -#: ../../../build/NEWS:10795 -msgid "" -"`bpo-36280 `__: Add a kind field to ast." -"Constant. It is 'u' if the literal has a 'u' prefix (i.e. a Python 2 style " -"unicode literal), else None." -msgstr "" - -#: ../../../build/NEWS:10798 -msgid "" -"`bpo-35931 `__: The :mod:`pdb` ``debug`` " -"command now gracefully handles all exceptions." -msgstr "" - -#: ../../../build/NEWS:10801 -msgid "" -"`bpo-36251 `__: Fix format strings used " -"for stderrprinter and re.Match reprs. Patch by Stephan Hohe." -msgstr "" - -#: ../../../build/NEWS:10804 -msgid "" -"`bpo-36235 `__: Fix ``CFLAGS`` in " -"``customize_compiler()`` of ``distutils.sysconfig``: when the ``CFLAGS`` " -"environment variable is defined, don't override ``CFLAGS`` variable with the " -"``OPT`` variable anymore. Initial patch written by David Malcolm." -msgstr "" - -#: ../../../build/NEWS:10809 -msgid "" -"`bpo-35807 `__: Update ensurepip to " -"install pip 19.0.3 and setuptools 40.8.0." -msgstr "" - -#: ../../../build/NEWS:10811 -msgid "" -"`bpo-36139 `__: Release GIL when " -"closing :class:`~mmap.mmap` objects." -msgstr "" - -#: ../../../build/NEWS:10813 -msgid "" -"`bpo-36179 `__: Fix two unlikely " -"reference leaks in _hashopenssl. The leaks only occur in out-of-memory cases." -msgstr "" - -#: ../../../build/NEWS:10816 -msgid "" -"`bpo-36169 `__: Add overlap() method to " -"statistics.NormalDist. Computes the overlapping coefficient for two normal " -"distributions." -msgstr "" - -#: ../../../build/NEWS:10819 -msgid "" -"`bpo-36103 `__: Default buffer size used " -"by ``shutil.copyfileobj()`` is changed from 16 KiB to 64 KiB on non-Windows " -"platform to reduce system call overhead. Contributed by Inada Naoki." -msgstr "" - -#: ../../../build/NEWS:10823 -msgid "" -"`bpo-36130 `__: Fix ``pdb`` with " -"``skip=...`` when stepping into a frame without a ``__name__`` global. " -"Patch by Anthony Sottile." -msgstr "" - -#: ../../../build/NEWS:10826 -msgid "" -"`bpo-35652 `__: shutil." -"copytree(copy_function=...) erroneously pass DirEntry instead of a path " -"string." -msgstr "" - -#: ../../../build/NEWS:10829 -msgid "" -"`bpo-35178 `__: Ensure custom :func:" -"`warnings.formatwarning` function can receive `line` as positional argument. " -"Based on patch by Tashrif Billah." -msgstr "" - -#: ../../../build/NEWS:10832 -msgid "" -"`bpo-36106 `__: Resolve potential name " -"clash with libm's sinpi(). Patch by Dmitrii Pasechnik." -msgstr "" - -#: ../../../build/NEWS:10835 -msgid "" -"`bpo-36091 `__: Clean up reference to " -"async generator in Lib/types. Patch by Henry Chen." -msgstr "" - -#: ../../../build/NEWS:10838 -msgid "" -"`bpo-36043 `__: :class:`FileCookieJar` " -"supports :term:`path-like object`. Contributed by Stéphane Wirtel" -msgstr "" - -#: ../../../build/NEWS:10841 -msgid "" -"`bpo-35899 `__: Enum has been fixed to " -"correctly handle empty strings and strings with non-Latin characters (ie. " -"'α', 'א') without crashing. Original patch contributed by Maxwell. Assisted " -"by Stéphane Wirtel." -msgstr "" - -#: ../../../build/NEWS:10845 -msgid "" -"`bpo-21269 `__: Add ``args`` and " -"``kwargs`` properties to mock call objects. Contributed by Kumar Akshay." -msgstr "" - -#: ../../../build/NEWS:10848 -msgid "" -"`bpo-30670 `__: `pprint.pp` has been " -"added to pretty-print objects with dictionary keys being sorted with their " -"insertion order by default. Parameter *sort_dicts* has been added to `pprint." -"pprint`, `pprint.pformat` and `pprint.PrettyPrinter`. Contributed by Rémi " -"Lapeyre." -msgstr "" - -#: ../../../build/NEWS:10853 -msgid "" -"`bpo-35843 `__: Implement " -"``__getitem__`` for ``_NamespacePath``. Patch by Anthony Sottile." -msgstr "" - -#: ../../../build/NEWS:10856 -msgid "" -"`bpo-35802 `__: Clean up code which " -"checked presence of ``os.stat`` / ``os.lstat`` / ``os.chmod`` which are " -"always present. Patch by Anthony Sottile." -msgstr "" - -#: ../../../build/NEWS:10860 -msgid "" -"`bpo-35715 `__: Librates the return " -"value of a ProcessPoolExecutor _process_worker after it's no longer needed " -"to free memory" -msgstr "" - -#: ../../../build/NEWS:10863 -msgid "" -"`bpo-35493 `__: Use :func:" -"`multiprocessing.connection.wait` instead of polling each 0.2 seconds for " -"worker updates in :class:`multiprocessing.Pool`. Patch by Pablo Galindo." -msgstr "" - -#: ../../../build/NEWS:10867 -msgid "" -"`bpo-35661 `__: Store the venv prompt in " -"pyvenv.cfg." -msgstr "" - -#: ../../../build/NEWS:10869 -msgid "" -"`bpo-35121 `__: Don't set cookie for a " -"request when the request path is a prefix match of the cookie's path " -"attribute but doesn't end with \"/\". Patch by Karthikeyan Singaravelan." -msgstr "" - -#: ../../../build/NEWS:10873 -msgid "" -"`bpo-21478 `__: Calls to a child " -"function created with :func:`unittest.mock.create_autospec` should propagate " -"to the parent. Patch by Karthikeyan Singaravelan." -msgstr "" - -#: ../../../build/NEWS:10877 -msgid "" -"`bpo-35198 `__: Fix C++ extension " -"compilation on AIX" -msgstr "" - -#: ../../../build/NEWS:10882 -msgid "" -"`bpo-36329 `__: Declare the path of the " -"Python binary for the usage of ``Tools/scripts/serve.py`` when executing " -"``make -C Doc/ serve``. Contributed by Stéphane Wirtel" -msgstr "" - -#: ../../../build/NEWS:10886 -msgid "" -"`bpo-36138 `__: Improve documentation " -"about converting datetime.timedelta to scalars." -msgstr "" - -#: ../../../build/NEWS:10889 -msgid "" -"`bpo-21314 `__: A new entry was added to " -"the Core Language Section of the Programming FAQ, which explaines the usage " -"of slash(/) in the signature of a function. Patch by Lysandros Nikolaou" -msgstr "" - -#: ../../../build/NEWS:10896 -msgid "" -"`bpo-36234 `__: test_posix." -"PosixUidGidTests: add tests for invalid uid/gid type (str). Initial patch " -"written by David Malcolm." -msgstr "" - -#: ../../../build/NEWS:10899 -msgid "" -"`bpo-29571 `__: Fix ``test_re." -"test_locale_flag()``: use ``locale.getpreferredencoding()`` rather than " -"``locale.getlocale()`` to get the locale encoding. With some locales, " -"``locale.getlocale()`` returns the wrong encoding." -msgstr "" - -#: ../../../build/NEWS:10904 -msgid "" -"`bpo-36123 `__: Fix race condition in " -"test_socket." -msgstr "" - -#: ../../../build/NEWS:10909 -msgid "" -"`bpo-36356 `__: Fix leaks that led to " -"build failure when configured with address sanitizer." -msgstr "" - -#: ../../../build/NEWS:10912 -msgid "" -"`bpo-36146 `__: Add ``TEST_EXTENSIONS`` " -"constant to ``setup.py`` to allow to not build test extensions like " -"``_testcapi``." -msgstr "" - -#: ../../../build/NEWS:10915 -msgid "" -"`bpo-36146 `__: Fix setup.py on macOS: " -"only add ``/usr/include/ffi`` to include directories of _ctypes, not for all " -"extensions." -msgstr "" - -#: ../../../build/NEWS:10918 -msgid "" -"`bpo-31904 `__: Enable build system to " -"cross-build for VxWorks RTOS." -msgstr "" - -#: ../../../build/NEWS:10923 -msgid "" -"`bpo-36312 `__: Fixed decoders for the " -"following code pages: 50220, 50221, 50222, 50225, 50227, 50229, 57002 " -"through 57011, 65000 and 42." -msgstr "" - -#: ../../../build/NEWS:10926 -msgid "" -"`bpo-36264 `__: Don't honor POSIX " -"``HOME`` in ``os.path.expanduser`` on windows. Patch by Anthony Sottile." -msgstr "" - -#: ../../../build/NEWS:10929 -msgid "" -"`bpo-24643 `__: Fix name collisions due " -"to ``#define timezone _timezone`` in PC/pyconfig.h." -msgstr "" - -#: ../../../build/NEWS:10935 -msgid "" -"`bpo-36405 `__: Use dict unpacking in " -"idlelib." -msgstr "" - -#: ../../../build/NEWS:10937 -msgid "" -"`bpo-36396 `__: Remove fgBg param of " -"idlelib.config.GetHighlight(). This param was only used twice and changed " -"the return type." -msgstr "" - -#: ../../../build/NEWS:10940 -msgid "" -"`bpo-36176 `__: Fix IDLE autocomplete & " -"calltip popup colors. Prevent conflicts with Linux dark themes (and slightly " -"darken calltip background)." -msgstr "" - -#: ../../../build/NEWS:10943 -msgid "" -"`bpo-23205 `__: For the grep module, add " -"tests for findfiles, refactor findfiles to be a module-level function, and " -"refactor findfiles to use os.walk." -msgstr "" - -#: ../../../build/NEWS:10947 -msgid "" -"`bpo-23216 `__: Add docstrings to IDLE " -"search modules." -msgstr "" - -#: ../../../build/NEWS:10949 -msgid "" -"`bpo-36152 `__: Remove colorizer." -"ColorDelegator.close_when_done and the corresponding argument of .close(). " -"In IDLE, both have always been None or False since 2007." -msgstr "" - -#: ../../../build/NEWS:10953 -msgid "" -"`bpo-32129 `__: Avoid blurry IDLE " -"application icon on macOS with Tk 8.6. Patch by Kevin Walzer." -msgstr "" - -#: ../../../build/NEWS:10956 -msgid "" -"`bpo-36096 `__: Refactor class variables " -"to instance variables in colorizer." -msgstr "" - -#: ../../../build/NEWS:10958 -msgid "" -"`bpo-30348 `__: Increase test coverage " -"of idlelib.autocomplete by 30%. Patch by Louie Lu" -msgstr "" - -#: ../../../build/NEWS:10964 -msgid "" -"`bpo-35132 `__: Fix py-list and py-bt " -"commands of python-gdb.py on gdb7." -msgstr "" - -#: ../../../build/NEWS:10966 -msgid "" -"`bpo-32217 `__: Fix freeze script on " -"Windows." -msgstr "" - -#: ../../../build/NEWS:10971 -msgid "" -"`bpo-36381 `__: Raise " -"``DeprecationWarning`` when '#' formats are used for building or parsing " -"values without ``PY_SSIZE_T_CLEAN``." -msgstr "" - -#: ../../../build/NEWS:10974 -msgid "" -"`bpo-36142 `__: The whole coreconfig.h " -"header is now excluded from Py_LIMITED_API. Move functions definitions into " -"a new internal pycore_coreconfig.h header." -msgstr "" - -#: ../../../build/NEWS:10980 -msgid "Python 3.8.0 alpha 2" -msgstr "" - -#: ../../../build/NEWS:10982 -msgid "*Release date: 2019-02-25*" -msgstr "" - -#: ../../../build/NEWS:10987 -msgid "" -"`bpo-36052 `__: Raise a :exc:" -"`SyntaxError` when assigning a value to `__debug__` with the Assignment " -"Operator. Contributed by Stéphane Wirtel and Pablo Galindo." -msgstr "" - -#: ../../../build/NEWS:10991 -msgid "" -"`bpo-36012 `__: Doubled the speed of " -"class variable writes. When a non-dunder attribute was updated, there was " -"an unnecessary call to update slots." -msgstr "" - -#: ../../../build/NEWS:10994 -msgid "" -"`bpo-35942 `__: The error message " -"emitted when returning invalid types from ``__fspath__`` in interfaces that " -"allow passing :class:`~os.PathLike` objects has been improved and now it " -"does explain the origin of the error." -msgstr "" - -#: ../../../build/NEWS:10998 -msgid "" -"`bpo-36016 `__: ``gc.get_objects`` can " -"now receive an optional parameter indicating a generation to get objects " -"from. Patch by Pablo Galindo." -msgstr "" - -#: ../../../build/NEWS:11001 -msgid "" -"`bpo-1054041 `__: When the main " -"interpreter exits due to an uncaught KeyboardInterrupt, the process now " -"exits in the appropriate manner for its parent process to detect that a " -"SIGINT or ^C terminated the process. This allows shells and batch scripts " -"to understand that the user has asked them to stop." -msgstr "" - -#: ../../../build/NEWS:11007 -msgid "" -"`bpo-35992 `__: Fix " -"``__class_getitem__()`` not being called on a class with a custom non-" -"subscriptable metaclass." -msgstr "" - -#: ../../../build/NEWS:11010 -msgid "" -"`bpo-35993 `__: Fix a crash on fork when " -"using subinterpreters. Contributed by Stéphane Wirtel" -msgstr "" - -#: ../../../build/NEWS:11013 -msgid "" -"`bpo-35991 `__: Fix a potential double " -"free in Modules/_randommodule.c." -msgstr "" - -#: ../../../build/NEWS:11015 -msgid "" -"`bpo-35961 `__: Fix a crash in " -"slice_richcompare(): use strong references rather than stolen references for " -"the two temporary internal tuples." -msgstr "" - -#: ../../../build/NEWS:11018 -msgid "" -"`bpo-35911 `__: Enable the creation of " -"cell objects by adding a ``cell.__new__`` method, and expose the type " -"``cell`` in ``Lib/types.py`` under the name CellType. Patch by Pierre Glaser." -msgstr "" - -#: ../../../build/NEWS:11022 -msgid "" -"`bpo-12822 `__: Use monotonic clock for " -"``pthread_cond_timedwait`` when ``pthread_condattr_setclock`` and " -"``CLOCK_MONOTONIC`` are available." -msgstr "" - -#: ../../../build/NEWS:11025 -msgid "" -"`bpo-15248 `__: The compiler emits now " -"syntax warnings in the case when a comma is likely missed before tuple or " -"list." -msgstr "" - -#: ../../../build/NEWS:11028 -msgid "" -"`bpo-35886 `__: The implementation of " -"PyInterpreterState has been moved into the internal header files (guarded by " -"Py_BUILD_CORE)." -msgstr "" - -#: ../../../build/NEWS:11031 -msgid "" -"`bpo-31506 `__: Clarify the errors " -"reported when ``object.__new__`` and ``object.__init__`` receive more than " -"one argument. Contributed by Sanyam Khurana." -msgstr "" - -#: ../../../build/NEWS:11035 -msgid "" -"`bpo-35724 `__: Signal-handling is now " -"guaranteed to happen relative to the main interpreter." -msgstr "" - -#: ../../../build/NEWS:11038 -msgid "" -"`bpo-33608 `__: We added a new internal " -"_Py_AddPendingCall() that operates relative to the provided interpreter. " -"This allows us to use the existing implementation to ask another interpreter " -"to do work that cannot be done in the current interpreter, like decref an " -"object the other interpreter owns. The existing Py_AddPendingCall() only " -"operates relative to the main interpreter." -msgstr "" - -#: ../../../build/NEWS:11045 -msgid "" -"`bpo-33989 `__: Fix a possible crash in :" -"meth:`list.sort` when sorting objects with ``ob_type->tp_richcompare == " -"NULL``. Patch by Zackery Spytz." -msgstr "" - -#: ../../../build/NEWS:11051 -msgid "" -"`bpo-35512 `__: :func:`unittest.mock." -"patch.dict` used as a decorator with string target resolves the target " -"during function call instead of during decorator construction. Patch by " -"Karthikeyan Singaravelan." -msgstr "" - -#: ../../../build/NEWS:11055 -msgid "" -"`bpo-36018 `__: Add statistics." -"NormalDist, a tool for creating and manipulating normal distributions of " -"random variable. Features a composite class that treats the mean and " -"standard deviation of measurement data as single entity." -msgstr "" - -#: ../../../build/NEWS:11060 -msgid "" -"`bpo-35904 `__: Added statistics.fmean() " -"as a faster, floating point variant of the existing mean() function." -msgstr "" - -#: ../../../build/NEWS:11063 -msgid "" -"`bpo-35918 `__: Removed broken " -"``has_key`` method from multiprocessing.managers.SyncManager.dict. " -"Contributed by Rémi Lapeyre." -msgstr "" - -#: ../../../build/NEWS:11066 -msgid "" -"`bpo-18283 `__: Add support for bytes " -"to :func:`shutil.which`." -msgstr "" - -#: ../../../build/NEWS:11068 -msgid "" -"`bpo-35960 `__: Fix :func:`dataclasses." -"field` throwing away empty mapping objects passed as metadata." -msgstr "" - -#: ../../../build/NEWS:11071 -msgid "" -"`bpo-35500 `__: Write expected and " -"actual call parameters on separate lines in :meth:`unittest.mock.Mock." -"assert_called_with` assertion errors. Contributed by Susan Su." -msgstr "" - -#: ../../../build/NEWS:11075 -msgid "" -"`bpo-35931 `__: The :mod:`pdb` ``debug`` " -"command now gracefully handles syntax errors." -msgstr "" - -#: ../../../build/NEWS:11078 -msgid "" -"`bpo-24209 `__: In http.server script, " -"rely on getaddrinfo to bind to preferred address based on the bind " -"parameter. Now default bind or binding to a name may bind to IPv6 or dual-" -"stack, depending on the environment." -msgstr "" - -#: ../../../build/NEWS:11082 -msgid "" -"`bpo-35321 `__: Set ``__spec__.origin`` " -"of ``_frozen_importlib`` to frozen so that it matches the behavior of " -"``_frozen_importlib_external``. Patch by Nina Zakharenko." -msgstr "" - -#: ../../../build/NEWS:11086 -msgid "" -"`bpo-35378 `__: Fix a reference issue " -"inside :class:`multiprocessing.Pool` that caused the pool to remain alive if " -"it was deleted without being closed or terminated explicitly. A new strong " -"reference is added to the pool iterators to link the lifetime of the pool to " -"the lifetime of its iterators so the pool does not get destroyed if a pool " -"iterator is still alive." -msgstr "" - -#: ../../../build/NEWS:11093 -msgid "" -"`bpo-34294 `__: re module, fix wrong " -"capturing groups in rare cases. :func:`re.search`, :func:`re.findall`, :func:" -"`re.sub` and other functions that scan through string looking for a match, " -"should reset capturing groups between two match attempts. Patch by Ma Lin." -msgstr "" - -#: ../../../build/NEWS:11098 -msgid "" -"`bpo-35615 `__: :mod:`weakref`: Fix a " -"RuntimeError when copying a WeakKeyDictionary or a WeakValueDictionary, due " -"to some keys or values disappearing while iterating." -msgstr "" - -#: ../../../build/NEWS:11102 -msgid "" -"`bpo-35606 `__: Implement :func:`math." -"prod` as analogous function to :func:`sum` that returns the product of a " -"'start' value (default: 1) times an iterable of numbers. Patch by Pablo " -"Galindo." -msgstr "" - -#: ../../../build/NEWS:11106 -msgid "" -"`bpo-32417 `__: Performing arithmetic " -"between :class:`datetime.datetime` subclasses and :class:`datetime." -"timedelta` now returns an object of the same type as the :class:`datetime." -"datetime` subclass. As a result, :meth:`datetime.datetime.astimezone` and " -"alternate constructors like :meth:`datetime.datetime.now` and :meth:" -"`datetime.fromtimestamp` called with a ``tz`` argument now *also* retain " -"their subclass." -msgstr "" - -#: ../../../build/NEWS:11113 -msgid "" -"`bpo-35153 `__: Add *headers* optional " -"keyword-only parameter to :class:`xmlrpc.client.ServerProxy`, :class:`xmlrpc." -"client.Transport` and :class:`xmlrpc.client.SafeTransport`. Patch by Cédric " -"Krier." -msgstr "" - -#: ../../../build/NEWS:11117 -msgid "" -"`bpo-34572 `__: Fix C implementation of " -"pickle.loads to use importlib's locking mechanisms, and thereby avoid using " -"partially-loaded modules. Patch by Tim Burgess." -msgstr "" - -#: ../../../build/NEWS:11124 -msgid "" -"`bpo-36083 `__: Fix formatting of --" -"check-hash-based-pycs options in the manpage Synopsis." -msgstr "" - -#: ../../../build/NEWS:11127 -msgid "" -"`bpo-36007 `__: Bump minimum sphinx " -"version to 1.8. Patch by Anthony Sottile." -msgstr "" - -#: ../../../build/NEWS:11129 -msgid "" -"`bpo-22062 `__: Update documentation and " -"docstrings for pathlib. Original patch by Mike Short." -msgstr "" - -#: ../../../build/NEWS:11135 -msgid "" -"`bpo-27313 `__: Avoid test_ttk_guionly " -"ComboboxTest failure with macOS Cocoa Tk." -msgstr "" - -#: ../../../build/NEWS:11138 -msgid "" -"`bpo-36019 `__: Add test.support." -"TEST_HTTP_URL and replace references of http://www.example.com by this new " -"constant. Contributed by Stéphane Wirtel." -msgstr "" - -#: ../../../build/NEWS:11142 -msgid "" -"`bpo-36037 `__: Fix test_ssl for strict " -"OpenSSL configuration like RHEL8 strict crypto policy. Use older TLS version " -"for minimum TLS version of the server SSL context if needed, to test TLS " -"version older than default minimum TLS version." -msgstr "" - -#: ../../../build/NEWS:11147 -msgid "" -"`bpo-35798 `__: Added :func:`test." -"support.check_syntax_warning`." -msgstr "" - -#: ../../../build/NEWS:11149 -msgid "" -"`bpo-35505 `__: Make " -"test_imap4_host_default_value independent on whether the local IMAP server " -"is running." -msgstr "" - -#: ../../../build/NEWS:11152 -msgid "" -"`bpo-35917 `__: multiprocessing: provide " -"unit tests for SyncManager and SharedMemoryManager classes + all the " -"shareable types which are supposed to be supported by them. (patch by " -"Giampaolo Rodola)" -msgstr "" - -#: ../../../build/NEWS:11156 -msgid "" -"`bpo-35704 `__: Skip ``test_shutil." -"test_unpack_archive_xztar`` to prevent a MemoryError on 32-bit AIX when " -"MAXDATA setting is less than 0x20000000." -msgstr "" - -#: ../../../build/NEWS:11159 -msgid "Patch by Michael Felt (aixtools)" -msgstr "" - -#: ../../../build/NEWS:11161 -msgid "" -"`bpo-34720 `__: Assert m_state != NULL " -"to mimic GC traversal functions that do not correctly handle module creation " -"when the module state has not been created." -msgstr "" - -#: ../../../build/NEWS:11168 -msgid "" -"`bpo-35976 `__: Added ARM build support " -"to Windows build files in PCBuild." -msgstr "" - -#: ../../../build/NEWS:11170 -msgid "" -"`bpo-35692 `__: ``pathlib`` no longer " -"raises when checking file and directory existence on drives that are not " -"ready" -msgstr "" - -#: ../../../build/NEWS:11173 -msgid "" -"`bpo-35872 `__: Uses the base Python " -"executable when invoking venv in a virtual environment" -msgstr "" - -#: ../../../build/NEWS:11176 -msgid "" -"`bpo-35873 `__: Prevents venv paths " -"being inherited by child processes" -msgstr "" - -#: ../../../build/NEWS:11178 -msgid "" -"`bpo-35299 `__: Fix sysconfig detection " -"of the source directory and distutils handling of pyconfig.h during PGO " -"profiling" -msgstr "" - -#: ../../../build/NEWS:11184 -msgid "" -"`bpo-24310 `__: IDLE -- Document " -"settings dialog font tab sample." -msgstr "" - -#: ../../../build/NEWS:11186 -msgid "" -"`bpo-35833 `__: Revise IDLE doc for " -"control codes sent to Shell. Add a code example block." -msgstr "" - -#: ../../../build/NEWS:11189 -msgid "" -"`bpo-35689 `__: Add docstrings and " -"unittests for colorizer.py." -msgstr "" - -#: ../../../build/NEWS:11193 -msgid "Python 3.8.0 alpha 1" -msgstr "" - -#: ../../../build/NEWS:11195 -msgid "*Release date: 2019-02-03*" -msgstr "" - -#: ../../../build/NEWS:11200 -msgid "" -"`bpo-35746 `__: [CVE-2019-5010] Fix a " -"NULL pointer deref in ssl module. The cert parser did not handle CRL " -"distribution points with empty DP or URI correctly. A malicious or buggy " -"certificate can result into segfault. Vulnerability (TALOS-2018-0758) " -"reported by Colin Read and Nicolas Edet of Cisco." -msgstr "" - -#: ../../../build/NEWS:11206 -msgid "" -"`bpo-34812 `__: The :option:`-I` command " -"line option (run Python in isolated mode) is now also copied by the :mod:" -"`multiprocessing` and :mod:`distutils` modules when spawning child " -"processes. Previously, only :option:`-E` and :option:`-s` options (enabled " -"by :option:`-I`) were copied." -msgstr "" - -#: ../../../build/NEWS:11212 -msgid "" -"`bpo-34791 `__: The xml.sax and xml.dom." -"domreg no longer use environment variables to override parser " -"implementations when sys.flags.ignore_environment is set by -E or -I " -"arguments." -msgstr "" - -#: ../../../build/NEWS:11216 -msgid "" -"`bpo-17239 `__: The xml.sax and xml.dom." -"minidom parsers no longer processes external entities by default. External " -"DTD and ENTITY declarations no longer load files or create network " -"connections." -msgstr "" - -#: ../../../build/NEWS:11220 -msgid "" -"`bpo-34623 `__: CVE-2018-14647: The C " -"accelerated _elementtree module now initializes hash randomization salt from " -"_Py_HashSecret instead of libexpat's default CSPRNG." -msgstr "" - -#: ../../../build/NEWS:11224 -msgid "" -"`bpo-34405 `__: Updated to OpenSSL " -"1.1.0i for Windows builds." -msgstr "" - -#: ../../../build/NEWS:11226 -msgid "" -"`bpo-33871 `__: Fixed sending the part " -"of the file in :func:`os.sendfile` on macOS. Using the *trailers* argument " -"could cause sending more bytes from the input file than was specified." -msgstr "" - -#: ../../../build/NEWS:11230 -msgid "" -"`bpo-32533 `__: Fixed thread-safety of " -"error handling in _ssl." -msgstr "" - -#: ../../../build/NEWS:11232 ../../../build/NEWS:14731 -msgid "" -"`bpo-33136 `__: Harden ssl module " -"against LibreSSL CVE-2018-8970. X509_VERIFY_PARAM_set1_host() is called with " -"an explicit namelen. A new test ensures that NULL bytes are not allowed." -msgstr "" - -#: ../../../build/NEWS:11236 ../../../build/NEWS:14735 -#: ../../../build/NEWS:19128 -msgid "" -"`bpo-33001 `__: Minimal fix to prevent " -"buffer overrun in os.symlink on Windows" -msgstr "" - -#: ../../../build/NEWS:11238 ../../../build/NEWS:14737 -#: ../../../build/NEWS:19130 -msgid "" -"`bpo-32981 `__: Regexes in difflib and " -"poplib were vulnerable to catastrophic backtracking. These regexes formed " -"potential DOS vectors (REDOS). They have been refactored. This resolves " -"CVE-2018-1060 and CVE-2018-1061. Patch by Jamie Davis." -msgstr "" - -#: ../../../build/NEWS:11243 ../../../build/NEWS:14949 -msgid "" -"`bpo-28414 `__: The ssl module now " -"allows users to perform their own IDN en/decoding when using SNI." -msgstr "" - -#: ../../../build/NEWS:11249 -msgid "" -"`bpo-35877 `__: Make parenthesis " -"optional for named expressions in while statement. Patch by Karthikeyan " -"Singaravelan." -msgstr "" - -#: ../../../build/NEWS:11252 -msgid "" -"`bpo-35814 `__: Allow same right hand " -"side expressions in annotated assignments as in normal ones. In particular, " -"``x: Tuple[int, int] = 1, 2`` (without parentheses on the right) is now " -"allowed." -msgstr "" - -#: ../../../build/NEWS:11256 -msgid "" -"`bpo-35766 `__: Add the option to parse " -"PEP 484 type comments in the ast module. (Off by default.) This is merging " -"the key functionality of the third party fork thereof, [typed_ast](https://" -"github.com/python/typed_ast)." -msgstr "" - -#: ../../../build/NEWS:11261 -msgid "" -"`bpo-35713 `__: Reorganize Python " -"initialization to get working exceptions and sys.stderr earlier." -msgstr "" - -#: ../../../build/NEWS:11264 -msgid "" -"`bpo-33416 `__: Add end line and end " -"column position information to the Python AST nodes. This is a C-level " -"backwards incompatible change." -msgstr "" - -#: ../../../build/NEWS:11267 -msgid "" -"`bpo-35720 `__: Fixed a minor memory " -"leak in pymain_parse_cmdline_impl function in Modules/main.c" -msgstr "" - -#: ../../../build/NEWS:11270 -msgid "" -"`bpo-35634 `__: ``func(**kwargs)`` will " -"now raise an error when ``kwargs`` is a mapping containing multiple entries " -"with the same key. An error was already raised when other keyword arguments " -"are passed before ``**kwargs`` since Python 3.6." -msgstr "" - -#: ../../../build/NEWS:11275 -msgid "" -"`bpo-35623 `__: Fix a crash when sorting " -"very long lists. Patch by Stephan Hohe." -msgstr "" - -#: ../../../build/NEWS:11278 -msgid "" -"`bpo-35214 `__: clang Memory Sanitizer " -"build instrumentation was added to work around false positives from posix, " -"socket, time, test_io, and test_faulthandler." -msgstr "" - -#: ../../../build/NEWS:11282 -msgid "" -"`bpo-35560 `__: Fix an assertion error " -"in :func:`format` in debug build for floating point formatting with \"n\" " -"format, zero padding and small width. Release build is not impacted. Patch " -"by Karthikeyan Singaravelan." -msgstr "" - -#: ../../../build/NEWS:11286 -msgid "" -"`bpo-35552 `__: Format characters ``%s`` " -"and ``%V`` in :c:func:`PyUnicode_FromFormat` and ``%s`` in :c:func:" -"`PyBytes_FromFormat` no longer read memory past the limit if *precision* is " -"specified." -msgstr "" - -#: ../../../build/NEWS:11290 -msgid "" -"`bpo-35504 `__: Fix segfaults and :exc:" -"`SystemError`\\ s when deleting certain attributes. Patch by Zackery Spytz." -msgstr "" - -#: ../../../build/NEWS:11293 -msgid "" -"`bpo-35504 `__: Fixed a SystemError when " -"delete the characters_written attribute of an OSError." -msgstr "" - -#: ../../../build/NEWS:11296 -msgid "" -"`bpo-35494 `__: Improved syntax error " -"messages for unbalanced parentheses in f-string." -msgstr "" - -#: ../../../build/NEWS:11299 -msgid "" -"`bpo-35444 `__: Fixed error handling in " -"pickling methods when fail to look up builtin \"getattr\". Sped up pickling " -"iterators." -msgstr "" - -#: ../../../build/NEWS:11302 -msgid "" -"`bpo-35436 `__: Fix various issues with " -"memory allocation error handling. Patch by Zackery Spytz." -msgstr "" - -#: ../../../build/NEWS:11305 -msgid "" -"`bpo-35423 `__: Separate the signal " -"handling trigger in the eval loop from the \"pending calls\" machinery. " -"There is no semantic change and the difference in performance is " -"insignificant." -msgstr "" - -#: ../../../build/NEWS:11309 -msgid "" -"`bpo-35357 `__: Internal attributes' " -"names of unittest.mock._Call and unittest.mock.MagicProxy (name, parent & " -"from_kall) are now prefixed with _mock_ in order to prevent clashes with " -"widely used object attributes. Fixed minor typo in test function name." -msgstr "" - -#: ../../../build/NEWS:11314 -msgid "" -"`bpo-35372 `__: Fixed the code page " -"decoder for input longer than 2 GiB containing undecodable bytes." -msgstr "" - -#: ../../../build/NEWS:11317 -msgid "" -"`bpo-35336 `__: Fix " -"PYTHONCOERCECLOCALE=1 environment variable: only coerce the C locale if the " -"LC_CTYPE locale is \"C\"." -msgstr "" - -#: ../../../build/NEWS:11320 -msgid "" -"`bpo-31241 `__: The *lineno* and " -"*col_offset* attributes of AST nodes for list comprehensions, generator " -"expressions and tuples are now point to the opening parenthesis or square " -"brace. For tuples without parenthesis they point to the position of the " -"first item." -msgstr "" - -#: ../../../build/NEWS:11325 -msgid "" -"`bpo-33954 `__: For :meth:`str.format`, :" -"meth:`float.__format__` and :meth:`complex.__format__` methods for non-ASCII " -"decimal point when using the \"n\" formatter." -msgstr "" - -#: ../../../build/NEWS:11329 -msgid "" -"`bpo-35269 `__: Fix a possible segfault " -"involving a newly-created coroutine. Patch by Zackery Spytz." -msgstr "" - -#: ../../../build/NEWS:11332 -msgid "" -"`bpo-35224 `__: Implement :pep:`572` " -"(assignment expressions). Patch by Emily Morehouse." -msgstr "" - -#: ../../../build/NEWS:11335 -msgid "" -"`bpo-32492 `__: Speed up :class:" -"`namedtuple` attribute access by 1.6x using a C fast-path for the name " -"descriptors. Patch by Pablo Galindo." -msgstr "" - -#: ../../../build/NEWS:11338 -msgid "" -"`bpo-35214 `__: Fixed an out of bounds " -"memory access when parsing a truncated unicode escape sequence at the end of " -"a string such as ``'\\N'``. It would read one byte beyond the end of the " -"memory allocation." -msgstr "" - -#: ../../../build/NEWS:11342 -msgid "" -"`bpo-35214 `__: The interpreter and " -"extension modules have had annotations added so that they work properly " -"under clang's Memory Sanitizer. A new configure flag --with-memory-" -"sanitizer has been added to make test builds of this nature easier to " -"perform." -msgstr "" - -#: ../../../build/NEWS:11347 -msgid "" -"`bpo-35193 `__: Fix an off by one error " -"in the bytecode peephole optimizer where it could read bytes beyond the end " -"of bounds of an array when removing unreachable code. This bug was present " -"in every release of Python 3.6 and 3.7 until now." -msgstr "" - -#: ../../../build/NEWS:11352 -msgid "" -"`bpo-35169 `__: Improved error messages " -"for forbidden assignments." -msgstr "" - -#: ../../../build/NEWS:11354 -msgid "" -"`bpo-34022 `__: Fix handling of hash-" -"based bytecode files in :mod:`zipimport`. Patch by Elvis Pranskevichus." -msgstr "" - -#: ../../../build/NEWS:11357 -msgid "" -"`bpo-28401 `__: Debug builds will no " -"longer to attempt to import extension modules built for the ABI as they were " -"never compatible to begin with. Patch by Stefano Rivera." -msgstr "" - -#: ../../../build/NEWS:11361 -msgid "" -"`bpo-29341 `__: Clarify in the " -"docstrings of :mod:`os` methods that path-like objects are also accepted as " -"input parameters." -msgstr "" - -#: ../../../build/NEWS:11364 -msgid "" -"`bpo-35050 `__: :mod:`socket`: Fix off-" -"by-one bug in length check for ``AF_ALG`` name and type." -msgstr "" - -#: ../../../build/NEWS:11367 -msgid "" -"`bpo-29743 `__: Raise :exc:`ValueError` " -"instead of :exc:`OverflowError` in case of a negative ``_length_`` in a :" -"class:`ctypes.Array` subclass. Also raise :exc:`TypeError` instead of :exc:" -"`AttributeError` for non-integer ``_length_``. Original patch by Oren Milman." -msgstr "" - -#: ../../../build/NEWS:11372 -msgid "" -"`bpo-16806 `__: Fix ``lineno`` and " -"``col_offset`` for multi-line string tokens." -msgstr "" - -#: ../../../build/NEWS:11374 -msgid "" -"`bpo-35029 `__: :exc:`SyntaxWarning` " -"raised as an exception at code generation time will be now replaced with a :" -"exc:`SyntaxError` for better error reporting." -msgstr "" - -#: ../../../build/NEWS:11378 -msgid "" -"`bpo-34983 `__: Expose :meth:`symtable." -"Symbol.is_nonlocal` in the symtable module. Patch by Pablo Galindo." -msgstr "" - -#: ../../../build/NEWS:11381 -msgid "" -"`bpo-34974 `__: :class:`bytes` and :" -"class:`bytearray` constructors no longer convert unexpected exceptions (e." -"g. :exc:`MemoryError` and :exc:`KeyboardInterrupt`) to :exc:`TypeError`." -msgstr "" - -#: ../../../build/NEWS:11385 -msgid "" -"`bpo-34939 `__: Allow annotated names in " -"module namespace that are declared global before the annotation happens. " -"Patch by Pablo Galindo." -msgstr "" - -#: ../../../build/NEWS:11388 -msgid "" -"`bpo-34973 `__: Fixed crash in :func:" -"`bytes` when the :class:`list` argument is mutated while it is iterated." -msgstr "" - -#: ../../../build/NEWS:11391 -msgid "" -"`bpo-34876 `__: The *lineno* and " -"*col_offset* attributes of the AST for decorated function and class refer " -"now to the position of the corresponding ``def``, ``async def`` and " -"``class`` instead of the position of the first decorator. This leads to more " -"correct line reporting in tracing. This is the only case when the position " -"of child AST nodes can precede the position of the parent AST node." -msgstr "" - -#: ../../../build/NEWS:11398 -msgid "" -"`bpo-34879 `__: Fix a possible null " -"pointer dereference in bytesobject.c. Patch by Zackery Spytz." -msgstr "" - -#: ../../../build/NEWS:11401 -msgid "" -"`bpo-34784 `__: Fix the implementation " -"of PyStructSequence_NewType in order to create heap allocated " -"StructSequences." -msgstr "" - -#: ../../../build/NEWS:11404 -msgid "" -"`bpo-32912 `__: A :exc:`SyntaxWarning` " -"is now emitted instead of a :exc:`DeprecationWarning` for invalid escape " -"sequences in string and bytes literals." -msgstr "" - -#: ../../../build/NEWS:11408 -msgid "" -"`bpo-34854 `__: Fixed a crash in " -"compiling string annotations containing a lambda with a keyword-only " -"argument that doesn't have a default value." -msgstr "" - -#: ../../../build/NEWS:11411 -msgid "" -"`bpo-34850 `__: The compiler now " -"produces a :exc:`SyntaxWarning` when identity checks (``is`` and ``is not``) " -"are used with certain types of literals (e.g. strings, ints). 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." -msgstr "" - -#: ../../../build/NEWS:11417 -msgid "" -"`bpo-34824 `__: Fix a possible null " -"pointer dereference in Modules/_ssl.c. Patch by Zackery Spytz." -msgstr "" - -#: ../../../build/NEWS:11420 -msgid "" -"`bpo-30156 `__: The C function " -"``property_descr_get()`` uses a \"cached\" tuple to optimize function calls. " -"But this tuple can be discovered in debug mode with :func:`sys." -"getobjects()`. Remove the optimization, it's not really worth it and it " -"causes 3 different crashes last years." -msgstr "" - -#: ../../../build/NEWS:11425 -msgid "" -"`bpo-34762 `__: Fix contextvars C API to " -"use PyObject* pointer types." -msgstr "" - -#: ../../../build/NEWS:11427 -msgid "" -"`bpo-34751 `__: The hash function for " -"tuples is now based on xxHash which gives better collision results on " -"(formerly) pathological cases. Additionally, on 64-bit systems it improves " -"tuple hashes in general. Patch by Jeroen Demeyer with substantial " -"contributions by Tim Peters." -msgstr "" - -#: ../../../build/NEWS:11432 -msgid "" -"`bpo-34735 `__: Fix a memory leak in " -"Modules/timemodule.c. Patch by Zackery Spytz." -msgstr "" - -#: ../../../build/NEWS:11435 -msgid "" -"`bpo-34683 `__: Fixed a bug where some " -"SyntaxError error pointed to locations that were off-by-one." -msgstr "" - -#: ../../../build/NEWS:11438 -msgid "" -"`bpo-34651 `__: Only allow the main " -"interpreter to fork. The avoids the possibility of affecting the main " -"interpreter, which is critical to operation of the runtime." -msgstr "" - -#: ../../../build/NEWS:11442 -msgid "" -"`bpo-34653 `__: Remove unused function " -"PyParser_SimpleParseStringFilename." -msgstr "" - -#: ../../../build/NEWS:11444 -msgid "" -"`bpo-32236 `__: Warn that line buffering " -"is not supported if :func:`open` is called with binary mode and " -"``buffering=1``." -msgstr "" - -#: ../../../build/NEWS:11447 -msgid "" -"`bpo-34641 `__: Further restrict the " -"syntax of the left-hand side of keyword arguments in function calls. In " -"particular, ``f((keyword)=arg)`` is now disallowed." -msgstr "" - -#: ../../../build/NEWS:11451 -msgid "" -"`bpo-34637 `__: Make the *start* " -"argument to *sum()* visible as a keyword argument." -msgstr "" - -#: ../../../build/NEWS:11454 -msgid "" -"`bpo-1621 `__: Do not assume signed " -"integer overflow behavior (C undefined behavior) when performing set hash " -"table resizing." -msgstr "" - -#: ../../../build/NEWS:11457 -msgid "" -"`bpo-34588 `__: Fix an off-by-one in the " -"recursive call pruning feature of traceback formatting." -msgstr "" - -#: ../../../build/NEWS:11460 -msgid "" -"`bpo-34485 `__: On Windows, the LC_CTYPE " -"is now set to the user preferred locale at startup. Previously, the LC_CTYPE " -"locale was \"C\" at startup, but changed when calling setlocale(LC_CTYPE, " -"\"\") or setlocale(LC_ALL, \"\")." -msgstr "" - -#: ../../../build/NEWS:11464 -msgid "" -"`bpo-34485 `__: Standard streams like " -"sys.stdout now use the \"surrogateescape\" error handler, instead of \"strict" -"\", on the POSIX locale (when the C locale is not coerced and the UTF-8 Mode " -"is disabled)." -msgstr "" - -#: ../../../build/NEWS:11468 -msgid "" -"`bpo-34485 `__: Fix the error handler of " -"standard streams like sys.stdout: PYTHONIOENCODING=\":\" is now ignored " -"instead of setting the error handler to \"strict\"." -msgstr "" - -#: ../../../build/NEWS:11472 -msgid "" -"`bpo-34485 `__: Python now gets the " -"locale encoding with C code to initialize the encoding of standard streams " -"like sys.stdout. Moreover, the encoding is now initialized to the Python " -"codec name to get a normalized encoding name and to ensure that the codec is " -"loaded. The change avoids importing _bootlocale and _locale modules at " -"startup by default." -msgstr "" - -#: ../../../build/NEWS:11478 -msgid "" -"`bpo-34527 `__: On FreeBSD, " -"Py_DecodeLocale() and Py_EncodeLocale() now also forces the ASCII encoding " -"if the LC_CTYPE locale is \"POSIX\", not only if the LC_CTYPE locale is \"C" -"\"." -msgstr "" - -#: ../../../build/NEWS:11482 -msgid "" -"`bpo-34527 `__: The UTF-8 Mode is now " -"also enabled by the \"POSIX\" locale, not only by the \"C\" locale." -msgstr "" - -#: ../../../build/NEWS:11485 -msgid "" -"`bpo-34403 `__: On HP-UX with C or POSIX " -"locale, sys.getfilesystemencoding() now returns \"ascii\" instead of " -"\"roman8\" (when the UTF-8 Mode is disabled and the C locale is not coerced)." -msgstr "" - -#: ../../../build/NEWS:11489 -msgid "" -"`bpo-34523 `__: The Python filesystem " -"encoding is now read earlier during the Python initialization." -msgstr "" - -#: ../../../build/NEWS:11492 -msgid "" -"`bpo-12458 `__: Tracebacks show now " -"correct line number for subexpressions in multiline expressions. Tracebacks " -"show now the line number of the first line for multiline expressions instead " -"of the line number of the last subexpression." -msgstr "" - -#: ../../../build/NEWS:11497 -msgid "" -"`bpo-34408 `__: Prevent a null pointer " -"dereference and resource leakage in ``PyInterpreterState_New()``." -msgstr "" - -#: ../../../build/NEWS:11500 -msgid "" -"`bpo-34400 `__: Fix undefined behavior " -"in parsetok.c. Patch by Zackery Spytz." -msgstr "" - -#: ../../../build/NEWS:11502 -msgid "" -"`bpo-33073 `__: Added as_integer_ratio " -"to ints to make them more interoperable with floats." -msgstr "" - -#: ../../../build/NEWS:11505 -msgid "" -"`bpo-34377 `__: Update valgrind " -"suppression list to use ``_PyObject_Free``/``_PyObject_Realloc`` instead of " -"``PyObject_Free``/``PyObject_Realloc``." -msgstr "" - -#: ../../../build/NEWS:11509 -msgid "" -"`bpo-34353 `__: Added the \"socket\" " -"option in the `stat.filemode()` Python implementation to match the C " -"implementation." -msgstr "" - -#: ../../../build/NEWS:11512 -msgid "" -"`bpo-34320 `__: Fix ``dict(od)`` didn't " -"copy iteration order of OrderedDict." -msgstr "" - -#: ../../../build/NEWS:11514 -msgid "" -"`bpo-34113 `__: Fixed crash on debug " -"builds when opcode stack was adjusted with negative numbers. Patch by " -"Constantin Petrisor." -msgstr "" - -#: ../../../build/NEWS:11517 -msgid "" -"`bpo-34100 `__: Compiler now merges " -"constants in tuples and frozensets recursively. Code attributes like " -"``co_names`` are merged too." -msgstr "" - -#: ../../../build/NEWS:11520 -msgid "" -"`bpo-34151 `__: Performance of list " -"concatenation, repetition and slicing operations is slightly improved. Patch " -"by Sergey Fedoseev." -msgstr "" - -#: ../../../build/NEWS:11523 -msgid "" -"`bpo-34170 `__: -X dev: it is now " -"possible to override the memory allocator using PYTHONMALLOC even if the " -"developer mode is enabled." -msgstr "" - -#: ../../../build/NEWS:11526 -msgid "" -"`bpo-33237 `__: Improved :exc:" -"`AttributeError` message for partially initialized module." -msgstr "" - -#: ../../../build/NEWS:11529 -msgid "" -"`bpo-34149 `__: Fix min and max " -"functions to get default behavior when key is None." -msgstr "" - -#: ../../../build/NEWS:11532 -msgid "" -"`bpo-34125 `__: Profiling of unbound " -"built-in methods now works when ``**kwargs`` is given." -msgstr "" - -#: ../../../build/NEWS:11535 -msgid "" -"`bpo-34141 `__: Optimized pickling " -"atomic types (None, bool, int, float, bytes, str)." -msgstr "" - -#: ../../../build/NEWS:11538 -msgid "" -"`bpo-34126 `__: Fix crashes when " -"profiling certain invalid calls of unbound methods. Patch by Jeroen Demeyer." -msgstr "" - -#: ../../../build/NEWS:11541 -msgid "" -"`bpo-24618 `__: Fixed reading invalid " -"memory when create the code object with too small varnames tuple or too " -"large argument counts." -msgstr "" - -#: ../../../build/NEWS:11544 -msgid "" -"`bpo-34068 `__: In :meth:`io.IOBase." -"close`, ensure that the :attr:`~io.IOBase.closed` attribute is not set with " -"a live exception. Patch by Zackery Spytz and Serhiy Storchaka." -msgstr "" - -#: ../../../build/NEWS:11548 -msgid "" -"`bpo-34087 `__: Fix buffer overflow " -"while converting unicode to numeric values." -msgstr "" - -#: ../../../build/NEWS:11550 -msgid "" -"`bpo-34080 `__: Fixed a memory leak in " -"the compiler when it raised some uncommon errors during tokenizing." -msgstr "" - -#: ../../../build/NEWS:11553 -msgid "" -"`bpo-34066 `__: Disabled interruption by " -"Ctrl-C between calling ``open()`` and entering a **with** block in ``with " -"open()``." -msgstr "" - -#: ../../../build/NEWS:11556 -msgid "" -"`bpo-34042 `__: Fix dict.copy() to " -"maintain correct total refcount (as reported by sys.gettotalrefcount())." -msgstr "" - -#: ../../../build/NEWS:11559 -msgid "" -"`bpo-33418 `__: Fix potential memory " -"leak in function object when it creates reference cycle." -msgstr "" - -#: ../../../build/NEWS:11562 -msgid "" -"`bpo-33985 `__: Implement contextvars." -"ContextVar.name attribute." -msgstr "" - -#: ../../../build/NEWS:11564 -msgid "" -"`bpo-33956 `__: Update vendored Expat " -"library copy to version 2.2.5." -msgstr "" - -#: ../../../build/NEWS:11566 -msgid "" -"`bpo-24596 `__: Decref the module object " -"in :c:func:`PyRun_SimpleFileExFlags` before calling :c:func:" -"`PyErr_Print()`. Patch by Zackery Spytz." -msgstr "" - -#: ../../../build/NEWS:11569 -msgid "" -"`bpo-33451 `__: Close directly executed " -"pyc files before calling ``PyEval_EvalCode()``." -msgstr "" - -#: ../../../build/NEWS:11572 -msgid "" -"`bpo-1617161 `__: The hash of :class:" -"`BuiltinMethodType` instances (methods of built-in classes) now depends on " -"the hash of the identity of *__self__* instead of its value. The hash and " -"equality of :class:`ModuleType` and :class:`MethodWrapperType` instances " -"(methods of user-defined classes and some methods of built-in classes like " -"``str.__add__``) now depend on the hash and equality of the identity of " -"*__self__* instead of its value. :class:`MethodWrapperType` instances no " -"longer support ordering." -msgstr "" - -#: ../../../build/NEWS:11580 -msgid "" -"`bpo-33824 `__: Fix \"LC_ALL=C python3.7 " -"-V\": reset properly the command line parser when the encoding changes after " -"reading the Python configuration." -msgstr "" - -#: ../../../build/NEWS:11583 ../../../build/NEWS:14229 -msgid "" -"`bpo-33803 `__: Fix a crash in hamt.c " -"caused by enabling GC tracking for an object that hadn't all of its fields " -"set to NULL." -msgstr "" - -#: ../../../build/NEWS:11586 -msgid "" -"`bpo-33738 `__: Seven macro " -"incompatibilities with the Limited API were fixed, and the macros :c:func:" -"`PyIter_Check`, :c:func:`PyIndex_Check` and :c:func:`PyExceptionClass_Name` " -"were added as functions. A script for automatic macro checks was added." -msgstr "" - -#: ../../../build/NEWS:11591 ../../../build/NEWS:18801 -msgid "" -"`bpo-33786 `__: Fix asynchronous " -"generators to handle GeneratorExit in athrow() correctly" -msgstr "" - -#: ../../../build/NEWS:11594 -msgid "" -"`bpo-30167 `__: " -"``PyRun_SimpleFileExFlags`` removes ``__cached__`` from module in addition " -"to ``__file__``." -msgstr "" - -#: ../../../build/NEWS:11597 ../../../build/NEWS:14232 -msgid "" -"`bpo-33706 `__: Fix a crash in Python " -"initialization when parsing the command line options. Thanks Christoph " -"Gohlke for the bug report and the fix!" -msgstr "" - -#: ../../../build/NEWS:11600 -msgid "" -"`bpo-33597 `__: Reduce ``PyGC_Head`` " -"size from 3 words to 2 words." -msgstr "" - -#: ../../../build/NEWS:11602 ../../../build/NEWS:14235 -#: ../../../build/NEWS:18804 -msgid "" -"`bpo-30654 `__: Fixed reset of the " -"SIGINT handler to SIG_DFL on interpreter shutdown even when there was a " -"custom handler set previously. Patch by Philipp Kerling." -msgstr "" - -#: ../../../build/NEWS:11606 ../../../build/NEWS:14341 -#: ../../../build/NEWS:18808 -msgid "" -"`bpo-33622 `__: Fixed a leak when the " -"garbage collector fails to add an object with the ``__del__`` method or " -"referenced by it into the :data:`gc.garbage` list. :c:func:`PyGC_Collect` " -"can now be called when an exception is set and preserves it." -msgstr "" - -#: ../../../build/NEWS:11611 -msgid "" -"`bpo-33462 `__: Make dict and dict views " -"reversible. Patch by Rémi Lapeyre." -msgstr "" - -#: ../../../build/NEWS:11613 -msgid "" -"`bpo-23722 `__: 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." -msgstr "" - -#: ../../../build/NEWS:11618 -msgid "" -"`bpo-33499 `__: Add :envvar:" -"`PYTHONPYCACHEPREFIX` environment variable and :option:`-X` " -"``pycache_prefix`` command-line option to set an alternate root directory " -"for writing module bytecode cache files." -msgstr "" - -#: ../../../build/NEWS:11622 -msgid "" -"`bpo-25711 `__: The :mod:`zipimport` " -"module has been rewritten in pure Python." -msgstr "" - -#: ../../../build/NEWS:11624 ../../../build/NEWS:14346 -msgid "" -"`bpo-33509 `__: Fix module_globals " -"parameter of warnings.warn_explicit(): don't crash if module_globals is not " -"a dict." -msgstr "" - -#: ../../../build/NEWS:11627 ../../../build/NEWS:14239 -#: ../../../build/NEWS:18813 -msgid "" -"`bpo-31849 `__: Fix signed/unsigned " -"comparison warning in pyhash.c." -msgstr "" - -#: ../../../build/NEWS:11629 ../../../build/NEWS:14353 -msgid "" -"`bpo-33475 `__: Fixed miscellaneous bugs " -"in converting annotations to strings and optimized parentheses in the string " -"representation." -msgstr "" - -#: ../../../build/NEWS:11632 -msgid "" -"`bpo-20104 `__: Added support for the " -"`setpgroup`, `resetids`, `setsigmask`, `setsigdef` and `scheduler` " -"parameters of `posix_spawn`. Patch by Pablo Galindo." -msgstr "" - -#: ../../../build/NEWS:11636 ../../../build/NEWS:14356 -#: ../../../build/NEWS:18815 -msgid "" -"`bpo-33391 `__: Fix a leak in " -"set_symmetric_difference()." -msgstr "" - -#: ../../../build/NEWS:11638 ../../../build/NEWS:14554 -msgid "" -"`bpo-33363 `__: Raise a SyntaxError for " -"``async with`` and ``async for`` statements outside of async functions." -msgstr "" - -#: ../../../build/NEWS:11641 ../../../build/NEWS:14358 -#: ../../../build/NEWS:18817 -msgid "" -"`bpo-28055 `__: Fix unaligned accesses " -"in siphash24(). Patch by Rolf Eike Beer." -msgstr "" - -#: ../../../build/NEWS:11643 ../../../build/NEWS:14557 -msgid "" -"`bpo-33128 `__: Fix a bug that causes " -"PathFinder to appear twice on sys.meta_path. Patch by Pablo Galindo Salgado." -msgstr "" - -#: ../../../build/NEWS:11646 -msgid "" -"`bpo-33331 `__: Modules imported last " -"are now cleared first at interpreter shutdown." -msgstr "" - -#: ../../../build/NEWS:11649 ../../../build/NEWS:14560 -msgid "" -"`bpo-33312 `__: Fixed clang ubsan " -"(undefined behavior sanitizer) warnings in dictobject.c by adjusting how the " -"internal struct _dictkeysobject shared keys structure is declared." -msgstr "" - -#: ../../../build/NEWS:11653 -msgid "" -"`bpo-33305 `__: Improved syntax error " -"messages for invalid numerical literals." -msgstr "" - -#: ../../../build/NEWS:11655 -msgid "" -"`bpo-33306 `__: Improved syntax error " -"messages for unbalanced parentheses." -msgstr "" - -#: ../../../build/NEWS:11657 -msgid "" -"`bpo-33234 `__: The list constructor " -"will pre-size and not over-allocate when the input length is known." -msgstr "" - -#: ../../../build/NEWS:11660 -msgid "" -"`bpo-33270 `__: Intern the names for all " -"anonymous code objects. Patch by Zackery Spytz." -msgstr "" - -#: ../../../build/NEWS:11663 -msgid "" -"`bpo-30455 `__: The C and Python code " -"and the documentation related to tokens are now generated from a single " -"source file :file:`Grammar/Tokens`." -msgstr "" - -#: ../../../build/NEWS:11666 -msgid "" -"`bpo-33176 `__: Add a ``toreadonly()`` " -"method to memoryviews." -msgstr "" - -#: ../../../build/NEWS:11668 ../../../build/NEWS:14564 -#: ../../../build/NEWS:18819 -msgid "" -"`bpo-33231 `__: Fix potential memory " -"leak in ``normalizestring()``." -msgstr "" - -#: ../../../build/NEWS:11670 ../../../build/NEWS:14566 -msgid "" -"`bpo-33205 `__: Change dict growth " -"function from ``round_up_to_power_2(used*2+hashtable_size/2)`` to " -"``round_up_to_power_2(used*3)``. Previously, dict is shrinked only when " -"``used == 0``. Now dict has more chance to be shrinked." -msgstr "" - -#: ../../../build/NEWS:11675 ../../../build/NEWS:14571 -#: ../../../build/NEWS:18821 -msgid "" -"`bpo-29922 `__: Improved error messages " -"in 'async with' when ``__aenter__()`` or ``__aexit__()`` return non-" -"awaitable object." -msgstr "" - -#: ../../../build/NEWS:11678 ../../../build/NEWS:14574 -#: ../../../build/NEWS:18824 -msgid "" -"`bpo-33199 `__: Fix ``ma_version_tag`` " -"in dict implementation is uninitialized when copying from key-sharing dict." -msgstr "" - -#: ../../../build/NEWS:11681 ../../../build/NEWS:14745 -msgid "" -"`bpo-33053 `__: When using the -m " -"switch, sys.path[0] is now explicitly expanded as the *starting* working " -"directory, rather than being left as the empty path (which allows imports " -"from the current working directory at the time of the import)" -msgstr "" - -#: ../../../build/NEWS:11686 -msgid "" -"`bpo-33138 `__: Changed standard error " -"message for non-pickleable and non-copyable types. It now says \"cannot " -"pickle\" instead of \"can't pickle\" or \"cannot serialize\"." -msgstr "" - -#: ../../../build/NEWS:11690 ../../../build/NEWS:14750 -msgid "" -"`bpo-33018 `__: Improve consistency of " -"errors raised by ``issubclass()`` when called with a non-class and an " -"abstract base class as the first and second arguments, respectively. Patch " -"by Josh Bronson." -msgstr "" - -#: ../../../build/NEWS:11694 -msgid "" -"`bpo-33083 `__: ``math.factorial`` no " -"longer accepts arguments that are not int-like. Patch by Pablo Galindo." -msgstr "" - -#: ../../../build/NEWS:11697 -msgid "" -"`bpo-33041 `__: Added new opcode :opcode:" -"`END_ASYNC_FOR` and fixes the following issues:" -msgstr "" - -#: ../../../build/NEWS:11700 -msgid "" -"Setting global :exc:`StopAsyncIteration` no longer breaks ``async for`` " -"loops." -msgstr "" - -#: ../../../build/NEWS:11702 -msgid "Jumping into an ``async for`` loop is now disabled." -msgstr "" - -#: ../../../build/NEWS:11703 -msgid "Jumping out of an ``async for`` loop no longer corrupts the stack." -msgstr "" - -#: ../../../build/NEWS:11705 -msgid "" -"`bpo-25750 `__: Fix rare Python crash " -"due to bad refcounting in ``type_getattro()`` if a descriptor deletes itself " -"from the class. Patch by Jeroen Demeyer." -msgstr "" - -#: ../../../build/NEWS:11709 -msgid "" -"`bpo-33041 `__: Fixed bytecode " -"generation for \"async for\" with a complex target. A StopAsyncIteration " -"raised on assigning or unpacking will be now propagated instead of stopping " -"the iteration." -msgstr "" - -#: ../../../build/NEWS:11713 ../../../build/NEWS:14756 -#: ../../../build/NEWS:19138 -msgid "" -"`bpo-33026 `__: Fixed jumping out of " -"\"with\" block by setting f_lineno." -msgstr "" - -#: ../../../build/NEWS:11715 ../../../build/NEWS:14758 -msgid "" -"`bpo-33005 `__: Fix a crash on fork when " -"using a custom memory allocator (ex: using PYTHONMALLOC env var). " -"_PyGILState_Reinit() and _PyInterpreterState_Enable() now use the default " -"RAW memory allocator to allocate a new interpreters mutex on fork." -msgstr "" - -#: ../../../build/NEWS:11720 ../../../build/NEWS:14360 -msgid "" -"`bpo-32911 `__: Due to unexpected " -"compatibility issues discovered during downstream beta testing, reverted :" -"issue:`29463`. ``docstring`` field is removed from Module, ClassDef, " -"FunctionDef, and AsyncFunctionDef ast nodes which was added in 3.7a1. " -"Docstring expression is restored as a first statement in their body. Based " -"on patch by Inada Naoki." -msgstr "" - -#: ../../../build/NEWS:11726 ../../../build/NEWS:14763 -#: ../../../build/NEWS:19140 -msgid "" -"`bpo-17288 `__: Prevent jumps from " -"'return' and 'exception' trace events." -msgstr "" - -#: ../../../build/NEWS:11728 -msgid "" -"`bpo-32946 `__: Importing names from " -"already imported module with \"from ... import ...\" is now 30% faster if " -"the module is not a package." -msgstr "" - -#: ../../../build/NEWS:11731 -msgid "" -"`bpo-32932 `__: Make error message more " -"revealing when there are non-str objects in ``__all__``." -msgstr "" - -#: ../../../build/NEWS:11734 -msgid "" -"`bpo-32925 `__: Optimized iterating and " -"containing test for literal lists consisting of non-constants: ``x in [a, " -"b]`` and ``for x in [a, b]``. The case of all constant elements already was " -"optimized." -msgstr "" - -#: ../../../build/NEWS:11738 ../../../build/NEWS:14955 -#: ../../../build/NEWS:19142 -msgid "" -"`bpo-32889 `__: Update Valgrind " -"suppression list to account for the rename of ``Py_ADDRESS_IN_RANG`` to " -"``address_in_range``." -msgstr "" - -#: ../../../build/NEWS:11741 ../../../build/NEWS:14765 -msgid "" -"`bpo-32836 `__: Don't use temporary " -"variables in cases of list/dict/set comprehensions" -msgstr "" - -#: ../../../build/NEWS:11744 ../../../build/NEWS:14958 -msgid "" -"`bpo-31356 `__: Remove the new API added " -"in `bpo-31356 `__ (gc.ensure_disabled() " -"context manager)." -msgstr "" - -#: ../../../build/NEWS:11747 ../../../build/NEWS:14961 -msgid "" -"`bpo-32305 `__: For namespace packages, " -"ensure that both ``__file__`` and ``__spec__.origin`` are set to None." -msgstr "" - -#: ../../../build/NEWS:11750 ../../../build/NEWS:14964 -msgid "" -"`bpo-32303 `__: Make sure ``__spec__." -"loader`` matches ``__loader__`` for namespace packages." -msgstr "" - -#: ../../../build/NEWS:11753 ../../../build/NEWS:14967 -msgid "" -"`bpo-32711 `__: Fix the warning messages " -"for Python/ast_unparse.c. Patch by Stéphane Wirtel" -msgstr "" - -#: ../../../build/NEWS:11756 ../../../build/NEWS:14970 -#: ../../../build/NEWS:19153 -msgid "" -"`bpo-32583 `__: Fix possible crashing in " -"builtin Unicode decoders caused by write out-of-bound errors when using " -"customized decode error handlers." -msgstr "" - -#: ../../../build/NEWS:11759 -msgid "" -"`bpo-32489 `__: A :keyword:`continue` " -"statement is now allowed in the :keyword:`finally` clause." -msgstr "" - -#: ../../../build/NEWS:11762 -msgid "" -"`bpo-17611 `__: Simplified the " -"interpreter loop by moving the logic of unrolling the stack of blocks into " -"the compiler. The compiler emits now explicit instructions for adjusting the " -"stack of values and calling the cleaning up code for :keyword:`break`, :" -"keyword:`continue` and :keyword:`return`." -msgstr "" - -#: ../../../build/NEWS:11768 -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` and :opcode:`CALL_FINALLY` and :opcode:" -"`POP_FINALLY`. Changed the behavior of :opcode:`END_FINALLY` and :opcode:" -"`WITH_CLEANUP_START`." -msgstr "" - -#: ../../../build/NEWS:11774 -msgid "" -"`bpo-32285 `__: New function unicodedata." -"is_normalized, which can check whether a string is in a specific normal form." -msgstr "" - -#: ../../../build/NEWS:11777 -msgid "" -"`bpo-10544 `__: Yield expressions are " -"now disallowed in comprehensions and generator expressions except the " -"expression for the outermost iterable." -msgstr "" - -#: ../../../build/NEWS:11780 -msgid "" -"`bpo-32117 `__: Iterable unpacking is " -"now allowed without parentheses in yield and return statements, e.g. ``yield " -"1, 2, 3, *rest``. Thanks to David Cuthbert for the change and Jordan Chapman " -"for added tests." -msgstr "" - -#: ../../../build/NEWS:11784 -msgid "" -"`bpo-31902 `__: Fix the ``col_offset`` " -"attribute for ast nodes ``ast.AsyncFor``, ``ast.AsyncFunctionDef``, and " -"``ast.AsyncWith``. Previously, ``col_offset`` pointed to the keyword after " -"``async``." -msgstr "" - -#: ../../../build/NEWS:11788 -msgid "" -"`bpo-25862 `__: Fix assertion failures " -"in the ``tell()`` method of ``io.TextIOWrapper``. Patch by Zackery Spytz." -msgstr "" - -#: ../../../build/NEWS:11791 ../../../build/NEWS:14366 -#: ../../../build/NEWS:18832 -msgid "" -"`bpo-21983 `__: Fix a crash in `ctypes." -"cast()` in case the type argument is a ctypes structured data type. Patch by " -"Eryk Sun and Oren Milman." -msgstr "" - -#: ../../../build/NEWS:11794 -msgid "" -"`bpo-31577 `__: Fix a crash in `os." -"utime()` in case of a bad ns argument. Patch by Oren Milman." -msgstr "" - -#: ../../../build/NEWS:11797 -msgid "" -"`bpo-29832 `__: Remove references to " -"'getsockaddrarg' from various socket error messages. Patch by Oren Milman." -msgstr "" - -#: ../../../build/NEWS:11803 -msgid "" -"`bpo-35845 `__: Add 'order' parameter to " -"memoryview.tobytes()." -msgstr "" - -#: ../../../build/NEWS:11805 -msgid "" -"`bpo-35864 `__: The _asdict() method for " -"collections.namedtuple now returns a regular dict instead of an OrderedDict." -msgstr "" - -#: ../../../build/NEWS:11808 -msgid "" -"`bpo-35537 `__: An ExitStack is now used " -"internally within subprocess.Popen to clean up pipe file handles. No " -"behavior change in normal operation. But if closing one handle were ever to " -"cause an exception, the others will now be closed instead of leaked. (patch " -"by Giampaolo Rodola)" -msgstr "" - -#: ../../../build/NEWS:11813 -msgid "" -"`bpo-35847 `__: RISC-V needed the " -"CTYPES_PASS_BY_REF_HACK. Fixes ctypes Structure test_pass_by_value." -msgstr "" - -#: ../../../build/NEWS:11816 -msgid "" -"`bpo-35813 `__: Shared memory submodule " -"added to multiprocessing to avoid need for serialization between processes" -msgstr "" - -#: ../../../build/NEWS:11819 -msgid "" -"`bpo-35780 `__: Fix lru_cache() errors " -"arising in recursive, reentrant, or multi-threaded code. These errors could " -"result in orphan links and in the cache being trapped in a state with fewer " -"than the specified maximum number of links. Fix handling of negative maxsize " -"which should have been treated as zero. Fix errors in toggling the \"full\" " -"status flag. Fix misordering of links when errors are encountered. Sync-up " -"the C code and pure Python code for the space saving path in functions with " -"a single positional argument. In this common case, the space overhead of an " -"lru cache entry is reduced by almost half. Fix counting of cache misses. In " -"error cases, the miss count was out of sync with the actual number of times " -"the underlying user function was called." -msgstr "" - -#: ../../../build/NEWS:11831 -msgid "" -"`bpo-35537 `__: :func:`os.posix_spawn` " -"and :func:`os.posix_spawnp` now have a *setsid* parameter." -msgstr "" - -#: ../../../build/NEWS:11834 -msgid "" -"`bpo-23846 `__: :class:`asyncio." -"ProactorEventLoop` now catches and logs send errors when the self-pipe is " -"full." -msgstr "" - -#: ../../../build/NEWS:11837 -msgid "" -"`bpo-34323 `__: :mod:`asyncio`: Enhance " -"``IocpProactor.close()`` log: wait 1 second before the first log, then log " -"every second. Log also the number of seconds since ``close()`` was called." -msgstr "" - -#: ../../../build/NEWS:11841 -msgid "" -"`bpo-35674 `__: Add a new :func:`os." -"posix_spawnp` function. Patch by Joannah Nanjekye." -msgstr "" - -#: ../../../build/NEWS:11844 -msgid "" -"`bpo-35733 `__: ``ast." -"Constant(boolean)`` no longer an instance of :class:`ast.Num`. Patch by " -"Anthony Sottile." -msgstr "" - -#: ../../../build/NEWS:11847 -msgid "" -"`bpo-35726 `__: QueueHandler.prepare() " -"now makes a copy of the record before modifying and enqueueing it, to avoid " -"affecting other handlers in the chain." -msgstr "" - -#: ../../../build/NEWS:11851 -msgid "" -"`bpo-35719 `__: Sped up multi-argument :" -"mod:`math` functions atan2(), copysign(), remainder() and hypot() by " -"1.3--2.5 times." -msgstr "" - -#: ../../../build/NEWS:11854 -msgid "" -"`bpo-35717 `__: Fix KeyError exception " -"raised when using enums and compile. Patch contributed by Rémi Lapeyre." -msgstr "" - -#: ../../../build/NEWS:11857 -msgid "" -"`bpo-35699 `__: Fixed detection of " -"Visual Studio Build Tools 2017 in distutils" -msgstr "" - -#: ../../../build/NEWS:11859 -msgid "" -"`bpo-32710 `__: Fix memory leaks in " -"asyncio ProactorEventLoop on overlapped operation failure." -msgstr "" - -#: ../../../build/NEWS:11862 -msgid "" -"`bpo-35702 `__: The :data:`time." -"CLOCK_UPTIME_RAW` constant is now available for macOS 10.12." -msgstr "" - -#: ../../../build/NEWS:11865 -msgid "" -"`bpo-32710 `__: Fix a memory leak in " -"asyncio in the ProactorEventLoop when ``ReadFile()`` or ``WSASend()`` " -"overlapped operation fail immediately: release the internal buffer." -msgstr "" - -#: ../../../build/NEWS:11869 -msgid "" -"`bpo-35682 `__: Fix ``asyncio." -"ProactorEventLoop.sendfile()``: don't attempt to set the result of an " -"internal future if it's already done." -msgstr "" - -#: ../../../build/NEWS:11872 -msgid "" -"`bpo-35283 `__: Add a deprecated warning " -"for the :meth:`threading.Thread.isAlive` method. Patch by Dong-hee Na." -msgstr "" - -#: ../../../build/NEWS:11875 -msgid "" -"`bpo-35664 `__: Improve operator." -"itemgetter() performance by 33% with optimized argument handling and with " -"adding a fast path for the common case of a single non-negative integer " -"index into a tuple (which is the typical use case in the standard library)." -msgstr "" - -#: ../../../build/NEWS:11880 -msgid "" -"`bpo-35643 `__: Fixed a SyntaxWarning: " -"invalid escape sequence in Modules/_sha3/cleanup.py. Patch by Mickaël " -"Schoentgen." -msgstr "" - -#: ../../../build/NEWS:11883 -msgid "" -"`bpo-35619 `__: Improved support of " -"custom data descriptors in :func:`help` and :mod:`pydoc`." -msgstr "" - -#: ../../../build/NEWS:11886 -msgid "" -"`bpo-28503 `__: The `crypt` module now " -"internally uses the `crypt_r()` library function instead of `crypt()` when " -"available." -msgstr "" - -#: ../../../build/NEWS:11889 -msgid "" -"`bpo-35614 `__: Fixed help() on " -"metaclasses. Patch by Sanyam Khurana." -msgstr "" - -#: ../../../build/NEWS:11891 -msgid "" -"`bpo-35568 `__: Expose ``raise(signum)`` " -"as `raise_signal`" -msgstr "" - -#: ../../../build/NEWS:11893 -msgid "" -"`bpo-35588 `__: The floor division and " -"modulo operations and the :func:`divmod` function on :class:`fractions." -"Fraction` types are 2--4x faster. Patch by Stefan Behnel." -msgstr "" - -#: ../../../build/NEWS:11897 -msgid "" -"`bpo-35585 `__: Speed-up building enums " -"by value, e.g. http.HTTPStatus(200)." -msgstr "" - -#: ../../../build/NEWS:11899 -msgid "" -"`bpo-30561 `__: random.gammavariate(1.0, " -"beta) now computes the same result as random.expovariate(1.0 / beta). This " -"synchronizes the two algorithms and eliminates some idiosyncrasies in the " -"old implementation. It does however produce a difference stream of random " -"variables than it used to." -msgstr "" - -#: ../../../build/NEWS:11904 -msgid "" -"`bpo-35537 `__: The :mod:`subprocess` " -"module can now use the :func:`os.posix_spawn` function in some cases for " -"better performance." -msgstr "" - -#: ../../../build/NEWS:11907 -msgid "" -"`bpo-35526 `__: Delaying the 'joke' of " -"barry_as_FLUFL.mandatory to Python version 4.0" -msgstr "" - -#: ../../../build/NEWS:11910 -msgid "" -"`bpo-35523 `__: Remove :mod:`ctypes` " -"callback workaround: no longer create a callback at startup. Avoid SELinux " -"alert on ``import ctypes`` and ``import uuid``." -msgstr "" - -#: ../../../build/NEWS:11914 -msgid "" -"`bpo-31784 `__: :func:`uuid.uuid1` now " -"calls :func:`time.time_ns` rather than ``int(time.time() * 1e9)``." -msgstr "" - -#: ../../../build/NEWS:11917 -msgid "" -"`bpo-35513 `__: :class:`~unittest.runner." -"TextTestRunner` of :mod:`unittest.runner` now uses :func:`time.perf_counter` " -"rather than :func:`time.time` to measure the execution time of a test: :func:" -"`time.time` can go backwards, whereas :func:`time.perf_counter` is monotonic." -msgstr "" - -#: ../../../build/NEWS:11923 -msgid "" -"`bpo-35502 `__: Fixed reference leaks " -"in :class:`xml.etree.ElementTree.TreeBuilder` in case of unfinished building " -"of the tree (in particular when an error was raised during parsing XML)." -msgstr "" - -#: ../../../build/NEWS:11927 -msgid "" -"`bpo-35348 `__: Make :func:`platform." -"architecture` parsing of ``file`` command output more reliable: add the ``-" -"b`` option to the ``file`` command to omit the filename, force the usage of " -"the C locale, and search also the \"shared object\" pattern." -msgstr "" - -#: ../../../build/NEWS:11932 -msgid "" -"`bpo-35491 `__: :mod:`multiprocessing`: " -"Add ``Pool.__repr__()`` and enhance ``BaseProcess.__repr__()`` (add pid and " -"parent pid) to ease debugging. Pool state constant values are now strings " -"instead of integers, for example ``RUN`` value becomes ``'RUN'`` instead of " -"``0``." -msgstr "" - -#: ../../../build/NEWS:11937 -msgid "" -"`bpo-35477 `__: :meth:`multiprocessing." -"Pool.__enter__` now fails if the pool is not running: ``with pool:`` fails " -"if used more than once." -msgstr "" - -#: ../../../build/NEWS:11940 -msgid "" -"`bpo-31446 `__: Copy command line that " -"was passed to CreateProcessW since this function can change the content of " -"the input buffer." -msgstr "" - -#: ../../../build/NEWS:11943 -msgid "" -"`bpo-35471 `__: Python 2.4 dropped MacOS " -"9 support. The macpath module was deprecated in Python 3.7. The module is " -"now removed." -msgstr "" - -#: ../../../build/NEWS:11946 -msgid "" -"`bpo-23057 `__: Unblock Proactor event " -"loop when keyboard interrupt is received on Windows" -msgstr "" - -#: ../../../build/NEWS:11949 -msgid "" -"`bpo-35052 `__: Fix xml.dom.minidom " -"cloneNode() on a document with an entity: pass the correct arguments to the " -"user data handler of an entity." -msgstr "" - -#: ../../../build/NEWS:11952 -msgid "" -"`bpo-20239 `__: Allow repeated " -"assignment deletion of :class:`unittest.mock.Mock` attributes. Patch by " -"Pablo Galindo." -msgstr "" - -#: ../../../build/NEWS:11955 -msgid "" -"`bpo-17185 `__: Set ``__signature__`` on " -"mock for :mod:`inspect` to get signature. Patch by Karthikeyan Singaravelan." -msgstr "" - -#: ../../../build/NEWS:11958 -msgid "" -"`bpo-35445 `__: Memory errors during " -"creating posix.environ no longer ignored." -msgstr "" - -#: ../../../build/NEWS:11960 -msgid "" -"`bpo-35415 `__: Validate fileno= " -"argument to socket.socket()." -msgstr "" - -#: ../../../build/NEWS:11962 -msgid "" -"`bpo-35424 `__: :class:`multiprocessing." -"Pool` destructor now emits :exc:`ResourceWarning` if the pool is still " -"running." -msgstr "" - -#: ../../../build/NEWS:11965 -msgid "" -"`bpo-35330 `__: When a :class:`Mock` " -"instance was used to wrap an object, if `side_effect` is used in one of the " -"mocks of it methods, don't call the original implementation and return the " -"result of using the side effect the same way that it is done with " -"return_value." -msgstr "" - -#: ../../../build/NEWS:11970 -msgid "" -"`bpo-35346 `__: Drop Mac OS 9 and " -"Rhapsody support from the :mod:`platform` module. Rhapsody last release was " -"in 2000. Mac OS 9 last release was in 2001." -msgstr "" - -#: ../../../build/NEWS:11974 -msgid "" -"`bpo-10496 `__: :func:`~distutils.utils." -"check_environ` of :mod:`distutils.utils` now catches :exc:`KeyError` on " -"calling :func:`pwd.getpwuid`: don't create the ``HOME`` environment variable " -"in this case." -msgstr "" - -#: ../../../build/NEWS:11979 -msgid "" -"`bpo-10496 `__: :func:`posixpath." -"expanduser` now returns the input *path* unchanged if the ``HOME`` " -"environment variable is not set and the current user has no home directory " -"(if the current user identifier doesn't exist in the password database). " -"This change fix the :mod:`site` module if the current user doesn't exist in " -"the password database (if the user has no home directory)." -msgstr "" - -#: ../../../build/NEWS:11986 -msgid "" -"`bpo-35389 `__: :func:`platform." -"libc_ver` now uses ``os.confstr('CS_GNU_LIBC_VERSION')`` if available and " -"the *executable* parameter is not set." -msgstr "" - -#: ../../../build/NEWS:11990 -msgid "" -"`bpo-35394 `__: Add empty slots to " -"asyncio abstract protocols." -msgstr "" - -#: ../../../build/NEWS:11992 -msgid "" -"`bpo-35310 `__: Fix a bug in :func:" -"`select.select` where, in some cases, the file descriptor sequences were " -"returned unmodified after a signal interruption, even though the file " -"descriptors might not be ready yet. :func:`select.select` will now always " -"return empty lists if a timeout has occurred. Patch by Oran Avraham." -msgstr "" - -#: ../../../build/NEWS:11998 -msgid "" -"`bpo-35380 `__: Enable TCP_NODELAY on " -"Windows for proactor asyncio event loop." -msgstr "" - -#: ../../../build/NEWS:12000 -msgid "" -"`bpo-35341 `__: Add generic version of " -"``collections.OrderedDict`` to the ``typing`` module. Patch by Ismo Toijala." -msgstr "" - -#: ../../../build/NEWS:12003 -msgid "" -"`bpo-35371 `__: Fixed possible crash in " -"``os.utime()`` on Windows when pass incorrect arguments." -msgstr "" - -#: ../../../build/NEWS:12006 -msgid "" -"`bpo-35346 `__: :func:`platform.uname` " -"now redirects ``stderr`` to :data:`os.devnull` when running external " -"programs like ``cmd /c ver``." -msgstr "" - -#: ../../../build/NEWS:12009 -msgid "" -"`bpo-35066 `__: Previously, calling the " -"strftime() method on a datetime object with a trailing '%' in the format " -"string would result in an exception. However, this only occurred when the " -"datetime C module was being used; the python implementation did not match " -"this behavior. Datetime is now PEP-399 compliant, and will not throw an " -"exception on a trailing '%'." -msgstr "" - -#: ../../../build/NEWS:12015 -msgid "" -"`bpo-35345 `__: The function `platform." -"popen` has been removed, it was deprecated since Python 3.3: use :func:`os." -"popen` instead." -msgstr "" - -#: ../../../build/NEWS:12018 -msgid "" -"`bpo-35344 `__: On macOS, :func:" -"`platform.platform` now uses :func:`platform.mac_ver`, if it returns a non-" -"empty release string, to get the macOS version rather than the darwin " -"version." -msgstr "" - -#: ../../../build/NEWS:12022 -msgid "" -"`bpo-35312 `__: Make ``lib2to3.pgen2." -"parse.ParseError`` round-trip pickle-able. Patch by Anthony Sottile." -msgstr "" - -#: ../../../build/NEWS:12025 -msgid "" -"`bpo-35308 `__: Fix regression in " -"``webbrowser`` where default browsers may be preferred over browsers in the " -"``BROWSER`` environment variable." -msgstr "" - -#: ../../../build/NEWS:12028 -msgid "" -"`bpo-24746 `__: Avoid stripping trailing " -"whitespace in doctest fancy diff. Original patch by R. David Murray & Jairo " -"Trad. Enhanced by Sanyam Khurana." -msgstr "" - -#: ../../../build/NEWS:12032 -msgid "" -"`bpo-28604 `__: :func:`locale." -"localeconv` now sets temporarily the ``LC_CTYPE`` locale to the " -"``LC_MONETARY`` locale if the two locales are different and monetary strings " -"are non-ASCII. This temporary change affects other threads." -msgstr "" - -#: ../../../build/NEWS:12037 -msgid "" -"`bpo-35277 `__: Update ensurepip to " -"install pip 18.1 and setuptools 40.6.2." -msgstr "" - -#: ../../../build/NEWS:12039 -msgid "" -"`bpo-24209 `__: Adds IPv6 support when " -"invoking http.server directly." -msgstr "" - -#: ../../../build/NEWS:12041 -msgid "" -"`bpo-35226 `__: Recursively check " -"arguments when testing for equality of :class:`unittest.mock.call` objects " -"and add note that tracking of parameters used to create ancestors of mocks " -"in ``mock_calls`` is not possible." -msgstr "" - -#: ../../../build/NEWS:12046 -msgid "" -"`bpo-29564 `__: The warnings module now " -"suggests to enable tracemalloc if the source is specified, the tracemalloc " -"module is available, but tracemalloc is not tracing memory allocations." -msgstr "" - -#: ../../../build/NEWS:12050 -msgid "" -"`bpo-35189 `__: Modify the following " -"fnctl function to retry if interrupted by a signal (EINTR): flock, lockf, " -"fnctl" -msgstr "" - -#: ../../../build/NEWS:12053 -msgid "" -"`bpo-30064 `__: Use add_done_callback() " -"in sock_* asyncio API to unsubscribe reader/writer early on calcellation." -msgstr "" - -#: ../../../build/NEWS:12056 -msgid "" -"`bpo-35186 `__: Removed the \"built with" -"\" comment added when ``setup.py upload`` is used with either ``bdist_rpm`` " -"or ``bdist_dumb``." -msgstr "" - -#: ../../../build/NEWS:12059 -msgid "" -"`bpo-35152 `__: Allow sending more than " -"2 GB at once on a multiprocessing connection on non-Windows systems." -msgstr "" - -#: ../../../build/NEWS:12062 -msgid "" -"`bpo-35062 `__: Fix incorrect parsing " -"of :class:`_io.IncrementalNewlineDecoder`'s *translate* argument." -msgstr "" - -#: ../../../build/NEWS:12065 -msgid "" -"`bpo-35065 `__: Remove " -"`StreamReaderProtocol._untrack_reader`. The call to `_untrack_reader` is " -"currently performed too soon, causing the protocol to forget about the " -"reader before `connection_lost` can run and feed the EOF to the reader." -msgstr "" - -#: ../../../build/NEWS:12070 -msgid "" -"`bpo-34160 `__: ElementTree and minidom " -"now preserve the attribute order specified by the user." -msgstr "" - -#: ../../../build/NEWS:12073 -msgid "" -"`bpo-35079 `__: Improve difflib." -"SequenceManager.get_matching_blocks doc by adding 'non-overlapping' and " -"changing '!=' to '<'." -msgstr "" - -#: ../../../build/NEWS:12076 -msgid "" -"`bpo-33710 `__: Deprecated " -"``l*gettext()`` functions and methods in the :mod:`gettext` module. They " -"return encoded bytes instead of Unicode strings and are artifacts from " -"Python 2 times. Also deprecated functions and methods related to setting the " -"charset for ``l*gettext()`` functions and methods." -msgstr "" - -#: ../../../build/NEWS:12082 -msgid "" -"`bpo-35017 `__: :meth:`socketserver." -"BaseServer.serve_forever` now exits immediately if it's :meth:`~socketserver." -"BaseServer.shutdown` method is called while it is polling for new events." -msgstr "" - -#: ../../../build/NEWS:12086 -msgid "" -"`bpo-35024 `__: `importlib` no longer " -"logs `wrote ` redundantly after `(created|could not create) " -"` is already logged. Patch by Quentin Agren." -msgstr "" - -#: ../../../build/NEWS:12090 -msgid "" -"`bpo-35047 `__: ``unittest.mock`` now " -"includes mock calls in exception messages if ``assert_not_called``, " -"``assert_called_once``, or ``assert_called_once_with`` fails. Patch by " -"Petter Strandmark." -msgstr "" - -#: ../../../build/NEWS:12094 -msgid "" -"`bpo-31047 `__: Fix ``ntpath.abspath`` " -"regression where it didn't remove a trailing separator on Windows. Patch by " -"Tim Graham." -msgstr "" - -#: ../../../build/NEWS:12097 -msgid "" -"`bpo-35053 `__: tracemalloc now tries to " -"update the traceback when an object is reused from a \"free list" -"\" (optimization for faster object creation, used by the builtin list type " -"for example)." -msgstr "" - -#: ../../../build/NEWS:12101 -msgid "" -"`bpo-31553 `__: Add the --json-lines " -"option to json.tool. Patch by hongweipeng." -msgstr "" - -#: ../../../build/NEWS:12103 -msgid "" -"`bpo-34794 `__: Fixed a leak in Tkinter " -"when pass the Python wrapper around Tcl_Obj back to Tcl/Tk." -msgstr "" - -#: ../../../build/NEWS:12106 -msgid "" -"`bpo-34909 `__: Enum: fix grandchildren " -"subclassing when parent mixed with concrete data types." -msgstr "" - -#: ../../../build/NEWS:12109 -msgid "" -"`bpo-35022 `__: :class:`unittest.mock." -"MagicMock` now supports the ``__fspath__`` method (from :class:`os." -"PathLike`)." -msgstr "" - -#: ../../../build/NEWS:12112 -msgid "" -"`bpo-35008 `__: Fixed references leaks " -"when call the ``__setstate__()`` method of :class:`xml.etree.ElementTree." -"Element` in the C implementation for already initialized element." -msgstr "" - -#: ../../../build/NEWS:12116 -msgid "" -"`bpo-23420 `__: Verify the value for the " -"parameter '-s' of the cProfile CLI. Patch by Robert Kuska" -msgstr "" - -#: ../../../build/NEWS:12119 -msgid "" -"`bpo-33947 `__: dataclasses now handle " -"recursive reprs without raising RecursionError." -msgstr "" - -#: ../../../build/NEWS:12122 -msgid "" -"`bpo-34890 `__: Make :func:`inspect." -"iscoroutinefunction`, :func:`inspect.isgeneratorfunction` and :func:`inspect." -"isasyncgenfunction` work with :func:`functools.partial`. Patch by Pablo " -"Galindo." -msgstr "" - -#: ../../../build/NEWS:12126 -msgid "" -"`bpo-34521 `__: Use :func:`socket." -"CMSG_SPACE` to calculate ancillary data size instead of :func:`socket." -"CMSG_LEN` in :func:`multiprocessing.reduction.recvfds` as :rfc:`3542` " -"requires the use of the former for portable applications." -msgstr "" - -#: ../../../build/NEWS:12131 -msgid "" -"`bpo-31522 `__: The `mailbox.mbox." -"get_string` function *from_* parameter can now successfully be set to a non-" -"default value." -msgstr "" - -#: ../../../build/NEWS:12134 -msgid "" -"`bpo-34970 `__: Protect tasks weak set " -"manipulation in ``asyncio.all_tasks()``" -msgstr "" - -#: ../../../build/NEWS:12136 -msgid "" -"`bpo-34969 `__: gzip: Add --fast, --best " -"on the gzip CLI, these parameters will be used for the fast compression " -"method (quick) or the best method compress (slower, but smaller file). Also, " -"change the default compression level to 6 (tradeoff)." -msgstr "" - -#: ../../../build/NEWS:12141 -msgid "" -"`bpo-16965 `__: The :term:" -"`2to3` :2to3fixer:`execfile` fixer now opens the file with mode ``'rb'``. " -"Patch by Zackery Spytz." -msgstr "" - -#: ../../../build/NEWS:12144 -msgid "" -"`bpo-34966 `__: :mod:`pydoc` now " -"supports aliases not only to methods defined in the end class, but also to " -"inherited methods. The docstring is not duplicated for aliases." -msgstr "" - -#: ../../../build/NEWS:12148 -msgid "" -"`bpo-34926 `__: :meth:`mimetypes." -"MimeTypes.guess_type` now accepts :term:`path-like object` in addition to " -"url strings. Patch by Mayank Asthana." -msgstr "" - -#: ../../../build/NEWS:12152 -msgid "" -"`bpo-23831 `__: Add ``moveto()`` method " -"to the ``tkinter.Canvas`` widget. Patch by Juliette Monsel." -msgstr "" - -#: ../../../build/NEWS:12155 -msgid "" -"`bpo-34941 `__: Methods ``find()``, " -"``findtext()`` and ``findall()`` of the ``Element`` class in the :mod:`xml." -"etree.ElementTree` module are now able to find children which are instances " -"of ``Element`` subclasses." -msgstr "" - -#: ../../../build/NEWS:12159 -msgid "" -"`bpo-32680 `__: :class:`smtplib.SMTP` " -"objects now always have a `sock` attribute present" -msgstr "" - -#: ../../../build/NEWS:12162 -msgid "" -"`bpo-34769 `__: Fix for async generators " -"not finalizing when event loop is in debug mode and garbage collector runs " -"in another thread." -msgstr "" - -#: ../../../build/NEWS:12165 -msgid "" -"`bpo-34936 `__: Fix ``TclError`` in " -"``tkinter.Spinbox.selection_element()``. Patch by Juliette Monsel." -msgstr "" - -#: ../../../build/NEWS:12168 -msgid "" -"`bpo-34829 `__: Add methods " -"``selection_from``, ``selection_range``, ``selection_present`` and " -"``selection_to`` to the ``tkinter.Spinbox`` for consistency with the " -"``tkinter.Entry`` widget. Patch by Juliette Monsel." -msgstr "" - -#: ../../../build/NEWS:12172 -msgid "" -"`bpo-34911 `__: Added *secure_protocols* " -"argument to *http.cookiejar.DefaultCookiePolicy* to allow for tweaking of " -"protocols and also to add support by default for *wss*, the secure websocket " -"protocol." -msgstr "" - -#: ../../../build/NEWS:12177 -msgid "" -"`bpo-34922 `__: Fixed integer overflow " -"in the :meth:`~hashlib.shake.digest()` and :meth:`~hashlib.shake." -"hexdigest()` methods for the SHAKE algorithm in the :mod:`hashlib` module." -msgstr "" - -#: ../../../build/NEWS:12181 -msgid "" -"`bpo-34925 `__: 25% speedup in argument " -"parsing for the functions in the bisect module." -msgstr "" - -#: ../../../build/NEWS:12184 -msgid "" -"`bpo-34900 `__: Fixed :meth:`unittest." -"TestCase.debug` when used to call test methods with subtests. Patch by " -"Bruno Oliveira." -msgstr "" - -#: ../../../build/NEWS:12187 -msgid "" -"`bpo-34844 `__: logging.Formatter " -"enhancement - Ensure styles and fmt matches in logging.Formatter - Added " -"validate method in each format style class: StrFormatStyle, PercentStyle, " -"StringTemplateStyle. - This method is called in the constructor of logging." -"Formatter class - Also re-raise the KeyError in the format method of each " -"style class, so it would a bit clear that it's an error with the invalid " -"format fields." -msgstr "" - -#: ../../../build/NEWS:12194 -msgid "" -"`bpo-34897 `__: Adjust test.support." -"missing_compiler_executable check so that a nominal command name of \"\" is " -"ignored. Patch by Michael Felt." -msgstr "" - -#: ../../../build/NEWS:12197 -msgid "" -"`bpo-34871 `__: Fix inspect module " -"polluted ``sys.modules`` when parsing ``__text_signature__`` of callable." -msgstr "" - -#: ../../../build/NEWS:12200 -msgid "" -"`bpo-34898 `__: Add `mtime` argument to " -"`gzip.compress` for reproducible output. Patch by Guo Ci Teo." -msgstr "" - -#: ../../../build/NEWS:12203 -msgid "" -"`bpo-28441 `__: On Cygwin and MinGW, " -"ensure that ``sys.executable`` always includes the full filename in the " -"path, including the ``.exe`` suffix (unless it is a symbolic link)." -msgstr "" - -#: ../../../build/NEWS:12207 -msgid "" -"`bpo-34866 `__: Adding " -"``max_num_fields`` to ``cgi.FieldStorage`` to make DOS attacks harder by " -"limiting the number of ``MiniFieldStorage`` objects created by " -"``FieldStorage``." -msgstr "" - -#: ../../../build/NEWS:12211 -msgid "" -"`bpo-34711 `__: http.server ensures it " -"reports HTTPStatus.NOT_FOUND when the local path ends with \"/\" and is not " -"a directory, even if the underlying OS (e.g. AIX) accepts such paths as a " -"valid file reference. Patch by Michael Felt." -msgstr "" - -#: ../../../build/NEWS:12216 -msgid "" -"`bpo-34872 `__: Fix self-cancellation in " -"C implementation of asyncio.Task" -msgstr "" - -#: ../../../build/NEWS:12218 -msgid "" -"`bpo-34849 `__: Don't log waiting for " -"``selector.select`` in asyncio loop iteration. The waiting is pretty normal " -"for any asyncio program, logging its time just adds a noise to logs without " -"any useful information provided." -msgstr "" - -#: ../../../build/NEWS:12223 -msgid "" -"`bpo-34022 `__: The :envvar:" -"`SOURCE_DATE_EPOCH` environment variable no longer overrides the value of " -"the *invalidation_mode* argument to :func:`py_compile.compile`, and " -"determines its default value instead." -msgstr "" - -#: ../../../build/NEWS:12227 -msgid "" -"`bpo-34819 `__: Use a monotonic clock to " -"compute timeouts in :meth:`Executor.map` and :func:`as_completed`, in order " -"to prevent timeouts from deviating when the system clock is adjusted." -msgstr "" - -#: ../../../build/NEWS:12231 -msgid "" -"`bpo-34758 `__: Add .wasm -> application/" -"wasm to list of recognized file types and content type headers" -msgstr "" - -#: ../../../build/NEWS:12234 -msgid "" -"`bpo-34789 `__: :func:`xml.sax." -"make_parser` now accepts any iterable as its *parser_list* argument. Patch " -"by Andrés Delfino." -msgstr "" - -#: ../../../build/NEWS:12237 -msgid "" -"`bpo-34334 `__: In :class:" -"`QueueHandler`, clear `exc_text` from :class:`LogRecord` to prevent " -"traceback from being written twice." -msgstr "" - -#: ../../../build/NEWS:12240 -msgid "" -"`bpo-34687 `__: On Windows, asyncio now " -"uses ProactorEventLoop, instead of SelectorEventLoop, by default." -msgstr "" - -#: ../../../build/NEWS:12243 -msgid "" -"`bpo-5950 `__: Support reading zip files " -"with archive comments in :mod:`zipimport`." -msgstr "" - -#: ../../../build/NEWS:12246 -msgid "" -"`bpo-32892 `__: The parser now " -"represents all constants as :class:`ast.Constant` instead of using specific " -"constant AST types (``Num``, ``Str``, ``Bytes``, ``NameConstant`` and " -"``Ellipsis``). These classes are considered deprecated and will be removed " -"in future Python versions." -msgstr "" - -#: ../../../build/NEWS:12252 -msgid "" -"`bpo-34728 `__: Add deprecation warning " -"when `loop` is used in methods: `asyncio.sleep`, `asyncio.wait` and `asyncio." -"wait_for`." -msgstr "" - -#: ../../../build/NEWS:12255 -msgid "" -"`bpo-34738 `__: ZIP files created by :" -"mod:`distutils` will now include entries for directories." -msgstr "" - -#: ../../../build/NEWS:12258 -msgid "" -"`bpo-34659 `__: Add an optional " -"*initial* argument to itertools.accumulate()." -msgstr "" - -#: ../../../build/NEWS:12260 -msgid "" -"`bpo-29577 `__: Support multiple mixin " -"classes when creating Enums." -msgstr "" - -#: ../../../build/NEWS:12262 -msgid "" -"`bpo-34670 `__: Add SSLContext." -"post_handshake_auth and SSLSocket.verify_client_post_handshake for TLS 1.3's " -"post handshake authentication feature." -msgstr "" - -#: ../../../build/NEWS:12266 -msgid "" -"`bpo-32718 `__: The Activate.ps1 script " -"from venv works with PowerShell Core 6.1 and is now available under all " -"operating systems." -msgstr "" - -#: ../../../build/NEWS:12269 -msgid "" -"`bpo-31177 `__: Fix bug that prevented " -"using :meth:`reset_mock ` on mock instances " -"with deleted attributes" -msgstr "" - -#: ../../../build/NEWS:12272 -msgid "" -"`bpo-34672 `__: Add a workaround, so the " -"``'Z'`` :func:`time.strftime` specifier on the musl C library can work in " -"some cases." -msgstr "" - -#: ../../../build/NEWS:12275 -msgid "" -"`bpo-34666 `__: Implement ``asyncio." -"StreamWriter.awrite`` and ``asyncio.StreamWriter.aclose()`` coroutines. " -"Methods are needed for providing a consistent stream API with control flow " -"switched on by default." -msgstr "" - -#: ../../../build/NEWS:12280 -msgid "" -"`bpo-6721 `__: Acquire the logging " -"module's commonly used internal locks while fork()ing to avoid deadlocks in " -"the child process." -msgstr "" - -#: ../../../build/NEWS:12283 -msgid "" -"`bpo-34658 `__: Fix a rare interpreter " -"unhandled exception state SystemError only seen when using subprocess with a " -"preexec_fn while an after_parent handler has been registered with os." -"register_at_fork and the fork system call fails." -msgstr "" - -#: ../../../build/NEWS:12288 -msgid "" -"`bpo-34652 `__: Ensure :func:`os.lchmod` " -"is never defined on Linux." -msgstr "" - -#: ../../../build/NEWS:12290 -msgid "" -"`bpo-34638 `__: Store a weak reference " -"to stream reader to break strong references loop between reader and " -"protocol. It allows to detect and close the socket if the stream is deleted " -"(garbage collected) without ``close()`` call." -msgstr "" - -#: ../../../build/NEWS:12295 -msgid "" -"`bpo-34536 `__: `Enum._missing_`: raise " -"`ValueError` if None returned and `TypeError` if non-member is returned." -msgstr "" - -#: ../../../build/NEWS:12298 -msgid "" -"`bpo-34636 `__: Speed up re scanning of " -"many non-matching characters for \\s \\w and \\d within bytes objects. " -"(microoptimization)" -msgstr "" - -#: ../../../build/NEWS:12301 -msgid "" -"`bpo-24412 `__: Add :func:`~unittest." -"addModuleCleanup()` and :meth:`~unittest.TestCase.addClassCleanup()` to " -"unittest to support cleanups for :func:`~unittest.setUpModule()` and :meth:" -"`~unittest.TestCase.setUpClass()`. Patch by Lisa Roach." -msgstr "" - -#: ../../../build/NEWS:12306 -msgid "" -"`bpo-34630 `__: Don't log SSL " -"certificate errors in asyncio code (connection error logging is skipped " -"already)." -msgstr "" - -#: ../../../build/NEWS:12309 -msgid "" -"`bpo-32490 `__: Prevent filename " -"duplication in :mod:`subprocess` exception messages. Patch by Zackery Spytz." -msgstr "" - -#: ../../../build/NEWS:12312 -msgid "" -"`bpo-34363 `__: dataclasses.asdict() " -"and .astuple() now handle namedtuples correctly." -msgstr "" - -#: ../../../build/NEWS:12315 -msgid "" -"`bpo-34625 `__: Update vendorized expat " -"library version to 2.2.6." -msgstr "" - -#: ../../../build/NEWS:12317 -msgid "" -"`bpo-32270 `__: The subprocess module no " -"longer mistakenly closes redirected fds even when they were in pass_fds when " -"outside of the default {0, 1, 2} set." -msgstr "" - -#: ../../../build/NEWS:12321 -msgid "" -"`bpo-34622 `__: Create a dedicated " -"``asyncio.CancelledError``, ``asyncio.InvalidStateError`` and ``asyncio." -"TimeoutError`` exception classes. Inherit them from corresponding " -"exceptions from ``concurrent.futures`` package. Extract ``asyncio`` " -"exceptions into a separate file." -msgstr "" - -#: ../../../build/NEWS:12327 -msgid "" -"`bpo-34610 `__: Fixed iterator of :class:" -"`multiprocessing.managers.DictProxy`." -msgstr "" - -#: ../../../build/NEWS:12329 -msgid "" -"`bpo-34421 `__: Fix distutils logging " -"for non-ASCII strings. This caused installation issues on Windows." -msgstr "" - -#: ../../../build/NEWS:12332 -msgid "" -"`bpo-34604 `__: Fix possible mojibake in " -"the error message of `pwd.getpwnam` and `grp.getgrnam` using string " -"representation because of invisible characters or trailing whitespaces. " -"Patch by William Grzybowski." -msgstr "" - -#: ../../../build/NEWS:12336 -msgid "" -"`bpo-30977 `__: Make uuid.UUID use " -"``__slots__`` to reduce its memory footprint. Based on original patch by " -"Wouter Bolsterlee." -msgstr "" - -#: ../../../build/NEWS:12339 -msgid "" -"`bpo-34574 `__: OrderedDict iterators " -"are not exhausted during pickling anymore. Patch by Sergey Fedoseev." -msgstr "" - -#: ../../../build/NEWS:12342 -msgid "" -"`bpo-8110 `__: Refactored :mod:" -"`subprocess` to check for Windows-specific modules rather than ``sys." -"platform == 'win32'``." -msgstr "" - -#: ../../../build/NEWS:12345 -msgid "" -"`bpo-34530 `__: ``distutils.spawn." -"find_executable()`` now falls back on :data:`os.defpath` if the ``PATH`` " -"environment variable is not set." -msgstr "" - -#: ../../../build/NEWS:12348 -msgid "" -"`bpo-34563 `__: On Windows, fix " -"multiprocessing.Connection for very large read: fix _winapi.PeekNamedPipe() " -"and _winapi.ReadFile() for read larger than INT_MAX (usually 2^31-1)." -msgstr "" - -#: ../../../build/NEWS:12352 -msgid "" -"`bpo-34558 `__: Correct typo in Lib/" -"ctypes/_aix.py" -msgstr "" - -#: ../../../build/NEWS:12354 -msgid "" -"`bpo-34282 `__: Move ``Enum._convert`` " -"to ``EnumMeta._convert_`` and fix enum members getting shadowed by parent " -"attributes." -msgstr "" - -#: ../../../build/NEWS:12357 -msgid "" -"`bpo-22872 `__: When the queue is " -"closed, :exc:`ValueError` is now raised by :meth:`multiprocessing.Queue.put` " -"and :meth:`multiprocessing.Queue.get` instead of :exc:`AssertionError` and :" -"exc:`OSError`, respectively. Patch by Zackery Spytz." -msgstr "" - -#: ../../../build/NEWS:12362 -msgid "" -"`bpo-34515 `__: Fix parsing non-ASCII " -"identifiers in :mod:`lib2to3.pgen2.tokenize` (PEP 3131)." -msgstr "" - -#: ../../../build/NEWS:12365 -msgid "" -"`bpo-13312 `__: Avoids a possible " -"integer underflow (undefined behavior) in the time module's year handling " -"code when passed a very low negative year value." -msgstr "" - -#: ../../../build/NEWS:12369 -msgid "" -"`bpo-34472 `__: Improved compatibility " -"for streamed files in :mod:`zipfile`. Previously an optional signature was " -"not being written and certain ZIP applications were not supported. Patch by " -"Silas Sewell." -msgstr "" - -#: ../../../build/NEWS:12373 -msgid "" -"`bpo-34454 `__: Fix the .fromisoformat() " -"methods of datetime types crashing when given unicode with non-UTF-8-" -"encodable code points. Specifically, datetime.fromisoformat() now accepts " -"surrogate unicode code points used as the separator. Report and tests by " -"Alexey Izbyshev, patch by Paul Ganssle." -msgstr "" - -#: ../../../build/NEWS:12378 -msgid "" -"`bpo-6700 `__: Fix inspect.getsourcelines " -"for module level frames/tracebacks. Patch by Vladimir Matveev." -msgstr "" - -#: ../../../build/NEWS:12381 -msgid "" -"`bpo-34171 `__: Running the :mod:`trace` " -"module no longer creates the ``trace.cover`` file." -msgstr "" - -#: ../../../build/NEWS:12384 -msgid "" -"`bpo-34441 `__: Fix crash when an " -"``ABC``-derived class with invalid ``__subclasses__`` is passed as the " -"second argument to :func:`issubclass()`. Patch by Alexey Izbyshev." -msgstr "" - -#: ../../../build/NEWS:12388 -msgid "" -"`bpo-34427 `__: Fix infinite loop in ``a." -"extend(a)`` for ``MutableSequence`` subclasses." -msgstr "" - -#: ../../../build/NEWS:12391 -msgid "" -"`bpo-34412 `__: Make :func:`signal." -"strsignal` work on HP-UX. Patch by Michael Osipov." -msgstr "" - -#: ../../../build/NEWS:12394 -msgid "" -"`bpo-20849 `__: shutil.copytree now " -"accepts a new ``dirs_exist_ok`` keyword argument. Patch by Josh Bronson." -msgstr "" - -#: ../../../build/NEWS:12397 -msgid "" -"`bpo-31715 `__: Associate ``.mjs`` file " -"extension with ``application/javascript`` MIME Type." -msgstr "" - -#: ../../../build/NEWS:12400 -msgid "" -"`bpo-34384 `__: :func:`os.readlink` now " -"accepts :term:`path-like ` and :class:`bytes` objects on " -"Windows." -msgstr "" - -#: ../../../build/NEWS:12403 -msgid "" -"`bpo-22602 `__: The UTF-7 decoder now " -"raises :exc:`UnicodeDecodeError` for ill-formed sequences starting with \"+" -"\" (as specified in RFC 2152). Patch by Zackery Spytz." -msgstr "" - -#: ../../../build/NEWS:12407 -msgid "" -"`bpo-2122 `__: The :meth:`mmap.flush() " -"` method now returns ``None`` on success, raises an " -"exception on error under all platforms." -msgstr "" - -#: ../../../build/NEWS:12410 -msgid "" -"`bpo-34341 `__: Appending to the ZIP " -"archive with the ZIP64 extension no longer grows the size of extra fields of " -"existing entries." -msgstr "" - -#: ../../../build/NEWS:12413 -msgid "" -"`bpo-34333 `__: Fix %-formatting in :" -"meth:`pathlib.PurePath.with_suffix` when formatting an error message." -msgstr "" - -#: ../../../build/NEWS:12416 -msgid "" -"`bpo-18540 `__: The :class:`imaplib." -"IMAP4` and :class:`imaplib.IMAP4_SSL` classes now resolve to the local host " -"IP correctly when the default value of *host* parameter (``''``) is used." -msgstr "" - -#: ../../../build/NEWS:12420 -msgid "" -"`bpo-26502 `__: Implement ``traceback." -"FrameSummary.__len__()`` method to preserve compatibility with the old tuple " -"API." -msgstr "" - -#: ../../../build/NEWS:12423 -msgid "" -"`bpo-34318 `__: :func:`~unittest." -"TestCase.assertRaises`, :func:`~unittest.TestCase.assertRaisesRegex`, :func:" -"`~unittest.TestCase.assertWarns` and :func:`~unittest.TestCase." -"assertWarnsRegex` no longer success if the passed callable is None. They no " -"longer ignore unknown keyword arguments in the context manager mode. A " -"DeprecationWarning was raised in these cases since Python 3.5." -msgstr "" - -#: ../../../build/NEWS:12431 -msgid "" -"`bpo-9372 `__: Deprecate :meth:" -"`__getitem__` methods of :class:`xml.dom.pulldom.DOMEventStream`, :class:" -"`wsgiref.util.FileWrapper` and :class:`fileinput.FileInput`." -msgstr "" - -#: ../../../build/NEWS:12435 -msgid "" -"`bpo-33613 `__: Fix a race condition in " -"``multiprocessing.semaphore_tracker`` when the tracker receives SIGINT " -"before it can register signal handlers for ignoring it." -msgstr "" - -#: ../../../build/NEWS:12439 -msgid "" -"`bpo-34248 `__: Report filename in the " -"exception raised when the database file cannot be opened by :func:`dbm.gnu." -"open` and :func:`dbm.ndbm.open` due to OS-related error. Patch by Zsolt " -"Cserna." -msgstr "" - -#: ../../../build/NEWS:12443 -msgid "" -"`bpo-33089 `__: Add math.dist() to " -"compute the Euclidean distance between two points." -msgstr "" - -#: ../../../build/NEWS:12446 -msgid "" -"`bpo-34246 `__: :meth:`smtplib.SMTP." -"send_message` no longer modifies the content of the *mail_options* argument. " -"Patch by Pablo S. Blum de Aguiar." -msgstr "" - -#: ../../../build/NEWS:12449 -msgid "" -"`bpo-31047 `__: Fix ``ntpath.abspath`` " -"for invalid paths on windows. Patch by Franz Woellert." -msgstr "" - -#: ../../../build/NEWS:12452 -msgid "" -"`bpo-32321 `__: Add pure Python fallback " -"for functools.reduce. Patch by Robert Wright." -msgstr "" - -#: ../../../build/NEWS:12455 -msgid "" -"`bpo-34270 `__: The default asyncio task " -"class now always has a name which can be get or set using two new methods (:" -"meth:`~asyncio.Task.get_name()` and :meth:`~asyncio.Task.set_name`) and is " -"visible in the :func:`repr` output. An initial name can also be set using " -"the new ``name`` keyword argument to :func:`asyncio.create_task` or the :" -"meth:`~asyncio.AbstractEventLoop.create_task` method of the event loop. If " -"no initial name is set, the default Task implementation generates a name " -"like ``Task-1`` using a monotonic counter." -msgstr "" - -#: ../../../build/NEWS:12464 -msgid "" -"`bpo-34263 `__: asyncio's event loop " -"will not pass timeouts longer than one day to epoll/select etc." -msgstr "" - -#: ../../../build/NEWS:12467 -msgid "" -"`bpo-34035 `__: Fix several " -"AttributeError in zipfile seek() methods. Patch by Mickaël Schoentgen." -msgstr "" - -#: ../../../build/NEWS:12470 -msgid "" -"`bpo-32215 `__: Fix performance " -"regression in :mod:`sqlite3` when a DML statement appeared in a different " -"line than the rest of the SQL query." -msgstr "" - -#: ../../../build/NEWS:12473 -msgid "" -"`bpo-34075 `__: Deprecate passing non-" -"ThreadPoolExecutor instances to :meth:`AbstractEventLoop." -"set_default_executor`." -msgstr "" - -#: ../../../build/NEWS:12476 -msgid "" -"`bpo-34251 `__: Restore ``msilib.Win64`` " -"to preserve backwards compatibility since it's already used by :mod:" -"`distutils`' ``bdist_msi`` command." -msgstr "" - -#: ../../../build/NEWS:12479 -msgid "" -"`bpo-19891 `__: Ignore errors caused by " -"missing / non-writable homedir while writing history during exit of an " -"interactive session. Patch by Anthony Sottile." -msgstr "" - -#: ../../../build/NEWS:12483 -msgid "" -"`bpo-33089 `__: Enhanced math.hypot() to " -"support more than two dimensions." -msgstr "" - -#: ../../../build/NEWS:12485 -msgid "" -"`bpo-34228 `__: tracemalloc: " -"PYTHONTRACEMALLOC=0 environment variable and -X tracemalloc=0 command line " -"option are now allowed to disable explicitly tracemalloc at startup." -msgstr "" - -#: ../../../build/NEWS:12489 -msgid "" -"`bpo-13041 `__: Use :func:`shutil." -"get_terminal_size` to calculate the terminal width correctly in the " -"``argparse.HelpFormatter`` class. Initial patch by Zbyszek Jędrzejewski-" -"Szmek." -msgstr "" - -#: ../../../build/NEWS:12493 -msgid "" -"`bpo-34213 `__: Allow frozen dataclasses " -"to have a field named \"object\". Previously this conflicted with an " -"internal use of \"object\"." -msgstr "" - -#: ../../../build/NEWS:12496 -msgid "" -"`bpo-34052 `__: :meth:`sqlite3." -"Connection.create_aggregate`, :meth:`sqlite3.Connection.create_function`, :" -"meth:`sqlite3.Connection.set_authorizer`, :meth:`sqlite3.Connection." -"set_progress_handler` methods raises TypeError when unhashable objects are " -"passed as callable. These methods now don't pass such objects to SQLite API. " -"Previous behavior could lead to segfaults. Patch by Sergey Fedoseev." -msgstr "" - -#: ../../../build/NEWS:12504 -msgid "" -"`bpo-34197 `__: Attributes " -"*skipinitialspace*, *doublequote* and *strict* of the *dialect* attribute of " -"the :mod:`csv` reader are now :class:`bool` instances instead of integers 0 " -"or 1." -msgstr "" - -#: ../../../build/NEWS:12508 -msgid "" -"`bpo-32788 `__: Errors other than :exc:" -"`TypeError` raised in methods ``__adapt__()`` and ``__conform__()`` in the :" -"mod:`sqlite3` module are now propagated to the user." -msgstr "" - -#: ../../../build/NEWS:12512 -msgid "" -"`bpo-21446 `__: The :2to3fixer:`reload` " -"fixer now uses :func:`importlib.reload` instead of deprecated :func:`imp." -"reload`." -msgstr "" - -#: ../../../build/NEWS:12515 -msgid "" -"`bpo-940286 `__: pydoc's ``Helper." -"showtopic()`` method now prints the cross references of a topic correctly." -msgstr "" - -#: ../../../build/NEWS:12518 -msgid "" -"`bpo-34164 `__: :func:`base64.b32decode` " -"could raise UnboundLocalError or OverflowError for incorrect padding. Now " -"it always raises :exc:`base64.Error` in these cases." -msgstr "" - -#: ../../../build/NEWS:12522 -msgid "" -"`bpo-33729 `__: Fixed issues with " -"arguments parsing in :mod:`hashlib`." -msgstr "" - -#: ../../../build/NEWS:12524 -msgid "" -"`bpo-34097 `__: ZipFile can zip files " -"older than 1980-01-01 and newer than 2107-12-31 using a new " -"``strict_timestamps`` parameter at the cost of setting the timestamp to the " -"limit." -msgstr "" - -#: ../../../build/NEWS:12528 -msgid "" -"`bpo-34108 `__: Remove extraneous CR in " -"2to3 refactor." -msgstr "" - -#: ../../../build/NEWS:12530 -msgid "" -"`bpo-34070 `__: Make sure to only check " -"if the handle is a tty, when opening a file with ``buffering=-1``." -msgstr "" - -#: ../../../build/NEWS:12533 -msgid "" -"`bpo-27494 `__: Reverted :issue:`27494`. " -"2to3 rejects now a trailing comma in generator expressions." -msgstr "" - -#: ../../../build/NEWS:12536 -msgid "" -"`bpo-33967 `__: functools.singledispatch " -"now raises TypeError instead of IndexError when no positional arguments are " -"passed." -msgstr "" - -#: ../../../build/NEWS:12539 -msgid "" -"`bpo-34041 `__: Add the parameter " -"*deterministic* to the :meth:`sqlite3.Connection.create_function` method. " -"Patch by Sergey Fedoseev." -msgstr "" - -#: ../../../build/NEWS:12543 -msgid "" -"`bpo-34056 `__: Ensure the loader shim " -"created by ``imp.load_module`` always returns bytes from its ``get_data()`` " -"function. This fixes using ``imp.load_module`` with :pep:`552` hash-based " -"pycs." -msgstr "" - -#: ../../../build/NEWS:12547 -msgid "" -"`bpo-34054 `__: The multiprocessing " -"module now uses the monotonic clock :func:`time.monotonic` instead of the " -"system clock :func:`time.time` to implement timeout." -msgstr "" - -#: ../../../build/NEWS:12551 -msgid "" -"`bpo-34043 `__: Optimize tarfile " -"uncompress performance about 15% when gzip is used." -msgstr "" - -#: ../../../build/NEWS:12554 -msgid "" -"`bpo-34044 `__: ``subprocess.Popen`` now " -"copies the *startupinfo* argument to leave it unchanged: it will modify the " -"copy, so that the same ``STARTUPINFO`` object can be used multiple times." -msgstr "" - -#: ../../../build/NEWS:12558 -msgid "" -"`bpo-34010 `__: Fixed a performance " -"regression for reading streams with tarfile. The buffered read should use a " -"list, instead of appending to a bytes object." -msgstr "" - -#: ../../../build/NEWS:12562 -msgid "" -"`bpo-34019 `__: webbrowser: Correct the " -"arguments passed to Opera Browser when opening a new URL using the " -"``webbrowser`` module. Patch by Bumsik Kim." -msgstr "" - -#: ../../../build/NEWS:12565 -msgid "" -"`bpo-34003 `__: csv.DictReader now " -"creates dicts instead of OrderedDicts. Patch by Michael Selik." -msgstr "" - -#: ../../../build/NEWS:12568 -msgid "" -"`bpo-33978 `__: Closed existing logging " -"handlers before reconfiguration via fileConfig and dictConfig. Patch by " -"Karthikeyan Singaravelan." -msgstr "" - -#: ../../../build/NEWS:12571 -msgid "" -"`bpo-14117 `__: Make minor tweaks to " -"turtledemo. The 'wikipedia' example is now 'rosette', describing what it " -"draws. The 'penrose' print output is reduced. The'1024' output of 'tree' is " -"eliminated." -msgstr "" - -#: ../../../build/NEWS:12575 -msgid "" -"`bpo-33974 `__: Fixed passing lists and " -"tuples of strings containing special characters ``\"``, ``\\``, ``{``, ``}`` " -"and ``\\n`` as options to :mod:`~tkinter.ttk` widgets." -msgstr "" - -#: ../../../build/NEWS:12579 -msgid "" -"`bpo-27500 `__: Fix getaddrinfo to " -"resolve IPv6 addresses correctly." -msgstr "" - -#: ../../../build/NEWS:12581 -msgid "" -"`bpo-24567 `__: Improve random.choices() " -"to handle subnormal input weights that could occasionally trigger an " -"IndexError." -msgstr "" - -#: ../../../build/NEWS:12584 -msgid "" -"`bpo-33871 `__: Fixed integer overflow " -"in :func:`os.readv`, :func:`os.writev`, :func:`os.preadv` and :func:`os." -"pwritev` and in :func:`os.sendfile` with *headers* or *trailers* arguments " -"(on BSD-based OSes and macOS)." -msgstr "" - -#: ../../../build/NEWS:12588 -msgid "" -"`bpo-25007 `__: Add :func:`copy.copy` " -"and :func:`copy.deepcopy` support to zlib compressors and decompressors. " -"Patch by Zackery Spytz." -msgstr "" - -#: ../../../build/NEWS:12591 -msgid "" -"`bpo-33929 `__: multiprocessing: Fix a " -"race condition in Popen of multiprocessing.popen_spawn_win32. The child " -"process now duplicates the read end of pipe instead of \"stealing\" it. " -"Previously, the read end of pipe was \"stolen\" by the child process, but it " -"leaked a handle if the child process had been terminated before it could " -"steal the handle from the parent process." -msgstr "" - -#: ../../../build/NEWS:12598 -msgid "" -"`bpo-33899 `__: Tokenize module now " -"implicitly emits a NEWLINE when provided with input that does not have a " -"trailing new line. This behavior now matches what the C tokenizer does " -"internally. Contributed by Ammar Askar." -msgstr "" - -#: ../../../build/NEWS:12602 -msgid "" -"`bpo-33897 `__: Added a 'force' keyword " -"argument to logging.basicConfig()." -msgstr "" - -#: ../../../build/NEWS:12604 -msgid "" -"`bpo-33695 `__: :func:`shutil.copytree` " -"uses :func:`os.scandir` function and all copy functions depending from it " -"use cached :func:`os.stat` values. The speedup for copying a directory with " -"8000 files is around +9% on Linux, +20% on Windows and + 30% on a Windows " -"SMB share. Also the number of :func:`os.stat` syscalls is reduced by 38% " -"making :func:`shutil.copytree` especially faster on network filesystems. " -"(Contributed by Giampaolo Rodola' in :issue:`33695`.)" -msgstr "" - -#: ../../../build/NEWS:12612 -msgid "" -"`bpo-33916 `__: bz2 and lzma: When " -"Decompressor.__init__() is called twice, free the old lock to not leak " -"memory." -msgstr "" - -#: ../../../build/NEWS:12615 -msgid "" -"`bpo-32568 `__: Make select.epoll() and " -"its documentation consistent regarding *sizehint* and *flags*." -msgstr "" - -#: ../../../build/NEWS:12618 -msgid "" -"`bpo-33833 `__: Fixed bug in asyncio " -"where ProactorSocketTransport logs AssertionError if force closed during " -"write." -msgstr "" - -#: ../../../build/NEWS:12621 -msgid "" -"`bpo-33663 `__: Convert content length " -"to string before putting to header." -msgstr "" - -#: ../../../build/NEWS:12623 -msgid "" -"`bpo-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`, and :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 subclasses :exc:" -"`UnicodeEncodeError` and :exc:`UnicodeDecodeError` for paths that contain " -"characters or bytes unrepresentable at the OS level." -msgstr "" - -#: ../../../build/NEWS:12637 -msgid "" -"`bpo-26544 `__: Fixed implementation of :" -"func:`platform.libc_ver`. It almost always returned version '2.9' for glibc." -msgstr "" - -#: ../../../build/NEWS:12640 -msgid "" -"`bpo-33843 `__: Remove deprecated ``cgi." -"escape``, ``cgi.parse_qs`` and ``cgi.parse_qsl``." -msgstr "" - -#: ../../../build/NEWS:12643 -msgid "" -"`bpo-33842 `__: Remove ``tarfile." -"filemode`` which is deprecated since Python 3.3." -msgstr "" - -#: ../../../build/NEWS:12646 ../../../build/NEWS:14244 -#: ../../../build/NEWS:18838 -msgid "" -"`bpo-30167 `__: Prevent site.main() " -"exception if PYTHONSTARTUP is set. Patch by Steve Weber." -msgstr "" - -#: ../../../build/NEWS:12649 -msgid "" -"`bpo-33805 `__: Improve error message of " -"dataclasses.replace() when an InitVar is not specified" -msgstr "" - -#: ../../../build/NEWS:12652 -msgid "" -"`bpo-33687 `__: Fix the call to ``os." -"chmod()`` for ``uu.decode()`` if a mode is given or decoded. Patch by Timo " -"Furrer." -msgstr "" - -#: ../../../build/NEWS:12655 ../../../build/NEWS:14247 -#: ../../../build/NEWS:18841 -msgid "" -"`bpo-33812 `__: Datetime instance d with " -"non-None tzinfo, but with d.tzinfo.utcoffset(d) returning None is now " -"treated as naive by the astimezone() method." -msgstr "" - -#: ../../../build/NEWS:12659 -msgid "" -"`bpo-32108 `__: In configparser, don't " -"clear section when it is assigned to itself." -msgstr "" - -#: ../../../build/NEWS:12662 -msgid "" -"`bpo-27397 `__: Make email module " -"properly handle invalid-length base64 strings." -msgstr "" - -#: ../../../build/NEWS:12665 -msgid "" -"`bpo-33578 `__: Implement multibyte " -"encoder/decoder state methods" -msgstr "" - -#: ../../../build/NEWS:12667 ../../../build/NEWS:14251 -#: ../../../build/NEWS:18845 -msgid "" -"`bpo-30805 `__: Avoid race condition " -"with debug logging" -msgstr "" - -#: ../../../build/NEWS:12669 -msgid "" -"`bpo-33476 `__: Fix _header_value_parser." -"py when address group is missing final ';'. Contributed by Enrique Perez-" -"Terron" -msgstr "" - -#: ../../../build/NEWS:12672 ../../../build/NEWS:14253 -msgid "" -"`bpo-33694 `__: asyncio: Fix a race " -"condition causing data loss on pause_reading()/resume_reading() when using " -"the ProactorEventLoop." -msgstr "" - -#: ../../../build/NEWS:12675 ../../../build/NEWS:14256 -msgid "" -"`bpo-32493 `__: Correct test for " -"``uuid_enc_be`` availability in ``configure.ac``. Patch by Michael Felt." -msgstr "" - -#: ../../../build/NEWS:12678 ../../../build/NEWS:14259 -msgid "" -"`bpo-33792 `__: Add asyncio." -"WindowsSelectorEventLoopPolicy and asyncio.WindowsProactorEventLoopPolicy." -msgstr "" - -#: ../../../build/NEWS:12681 -msgid "" -"`bpo-33274 `__: W3C DOM Level 1 " -"specifies return value of Element.removeAttributeNode() as \"The Attr node " -"that was removed.\" xml.dom.minidom now complies with this requirement." -msgstr "" - -#: ../../../build/NEWS:12685 ../../../build/NEWS:14262 -msgid "" -"`bpo-33778 `__: Update ``unicodedata``'s " -"database to Unicode version 11.0.0." -msgstr "" - -#: ../../../build/NEWS:12687 -msgid "" -"`bpo-33165 `__: Added a stacklevel " -"parameter to logging calls to allow use of wrapper/helper functions for " -"logging APIs." -msgstr "" - -#: ../../../build/NEWS:12690 ../../../build/NEWS:14264 -msgid "" -"`bpo-33770 `__: improve base64 exception " -"message for encoded inputs of invalid length" -msgstr "" - -#: ../../../build/NEWS:12693 ../../../build/NEWS:14267 -msgid "" -"`bpo-33769 `__: asyncio/start_tls: Fix " -"error message; cancel callbacks in case of an unhandled error; mark " -"SSLTransport as closed if it is aborted." -msgstr "" - -#: ../../../build/NEWS:12696 ../../../build/NEWS:14270 -#: ../../../build/NEWS:18847 -msgid "" -"`bpo-33767 `__: The concatenation (``" -"+``) and repetition (``*``) sequence operations now raise :exc:`TypeError` " -"instead of :exc:`SystemError` when performed on :class:`mmap.mmap` objects. " -"Patch by Zackery Spytz." -msgstr "" - -#: ../../../build/NEWS:12700 ../../../build/NEWS:14274 -msgid "" -"`bpo-33734 `__: asyncio/ssl: Fix " -"AttributeError, increase default handshake timeout" -msgstr "" - -#: ../../../build/NEWS:12703 -msgid "" -"`bpo-31014 `__: Fixed creating a " -"controller for :mod:`webbrowser` when a user specifies a path to an entry in " -"the BROWSER environment variable. Based on patch by John Still." -msgstr "" - -#: ../../../build/NEWS:12707 -msgid "" -"`bpo-2504 `__: Add gettext.pgettext() and " -"variants." -msgstr "" - -#: ../../../build/NEWS:12709 -msgid "" -"`bpo-33197 `__: Add description property " -"for _ParameterKind" -msgstr "" - -#: ../../../build/NEWS:12711 ../../../build/NEWS:14372 -msgid "" -"`bpo-32751 `__: When cancelling the task " -"due to a timeout, :meth:`asyncio.wait_for` will now wait until the " -"cancellation is complete." -msgstr "" - -#: ../../../build/NEWS:12714 ../../../build/NEWS:14375 -#: ../../../build/NEWS:18851 -msgid "" -"`bpo-32684 `__: Fix gather to propagate " -"cancellation of itself even with return_exceptions." -msgstr "" - -#: ../../../build/NEWS:12717 ../../../build/NEWS:14378 -msgid "" -"`bpo-33654 `__: Support protocol type " -"switching in SSLTransport.set_protocol()." -msgstr "" - -#: ../../../build/NEWS:12719 ../../../build/NEWS:14380 -msgid "" -"`bpo-33674 `__: Pause the transport as " -"early as possible to further reduce the risk of data_received() being called " -"before connection_made()." -msgstr "" - -#: ../../../build/NEWS:12722 -msgid "" -"`bpo-33671 `__: :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. 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 512MiB file is about +26% on Linux, +50% " -"on macOS and +40% on Windows. Also, much less CPU cycles are consumed. " -"(Contributed by Giampaolo Rodola' in :issue:`25427`.)" -msgstr "" - -#: ../../../build/NEWS:12732 ../../../build/NEWS:14383 -#: ../../../build/NEWS:18854 -msgid "" -"`bpo-33674 `__: Fix a race condition in " -"SSLProtocol.connection_made() of asyncio.sslproto: start immediately the " -"handshake instead of using call_soon(). Previously, data_received() could be " -"called before the handshake started, causing the handshake to hang or fail." -msgstr "" - -#: ../../../build/NEWS:12737 ../../../build/NEWS:14388 -#: ../../../build/NEWS:18859 -msgid "" -"`bpo-31647 `__: Fixed bug where calling " -"write_eof() on a _SelectorSocketTransport after it's already closed raises " -"AttributeError." -msgstr "" - -#: ../../../build/NEWS:12740 ../../../build/NEWS:14391 -msgid "" -"`bpo-32610 `__: Make asyncio.all_tasks() " -"return only pending tasks." -msgstr "" - -#: ../../../build/NEWS:12742 ../../../build/NEWS:14393 -msgid "" -"`bpo-32410 `__: Avoid blocking on file " -"IO in sendfile fallback code" -msgstr "" - -#: ../../../build/NEWS:12744 ../../../build/NEWS:14395 -#: ../../../build/NEWS:18864 -msgid "" -"`bpo-33469 `__: Fix RuntimeError after " -"closing loop that used run_in_executor" -msgstr "" - -#: ../../../build/NEWS:12746 ../../../build/NEWS:14397 -#: ../../../build/NEWS:18862 -msgid "" -"`bpo-33672 `__: Fix Task.__repr__ crash " -"with Cython's bogus coroutines" -msgstr "" - -#: ../../../build/NEWS:12748 ../../../build/NEWS:14399 -msgid "" -"`bpo-33654 `__: Fix transport." -"set_protocol() to support switching between asyncio.Protocol and asyncio." -"BufferedProtocol. Fix loop.start_tls() to work with asyncio." -"BufferedProtocols." -msgstr "" - -#: ../../../build/NEWS:12752 ../../../build/NEWS:14403 -msgid "" -"`bpo-33652 `__: Pickles of type " -"variables and subscripted generics are now future-proof and compatible with " -"older Python versions." -msgstr "" - -#: ../../../build/NEWS:12755 ../../../build/NEWS:14406 -msgid "" -"`bpo-32493 `__: Fixed :func:`uuid.uuid1` " -"on FreeBSD." -msgstr "" - -#: ../../../build/NEWS:12757 -msgid "" -"`bpo-33238 `__: Add " -"``InvalidStateError`` to :mod:`concurrent.futures`. ``Future.set_result`` " -"and ``Future.set_exception`` now raise ``InvalidStateError`` if the futures " -"are not pending or running. Patch by Jason Haydaman." -msgstr "" - -#: ../../../build/NEWS:12762 ../../../build/NEWS:14408 -msgid "" -"`bpo-33618 `__: Finalize and document " -"preliminary and experimental TLS 1.3 support with OpenSSL 1.1.1" -msgstr "" - -#: ../../../build/NEWS:12765 -msgid "" -"`bpo-33625 `__: Release GIL on `grp." -"getgrnam`, `grp.getgrgid`, `pwd.getpwnam` and `pwd.getpwuid` if reentrant " -"variants of these functions are available. Patch by William Grzybowski." -msgstr "" - -#: ../../../build/NEWS:12769 ../../../build/NEWS:14411 -msgid "" -"`bpo-33623 `__: Fix possible SIGSGV when " -"asyncio.Future is created in __del__" -msgstr "" - -#: ../../../build/NEWS:12771 ../../../build/NEWS:14277 -#: ../../../build/NEWS:18866 -msgid "" -"`bpo-11874 `__: Use a better regex when " -"breaking usage into wrappable parts. Avoids bogus assertion errors from " -"custom metavar strings." -msgstr "" - -#: ../../../build/NEWS:12774 ../../../build/NEWS:14413 -#: ../../../build/NEWS:18869 -msgid "" -"`bpo-30877 `__: Fixed a bug in the " -"Python implementation of the JSON decoder that prevented the cache of parsed " -"strings from clearing after finishing the decoding. Based on patch by c-fos." -msgstr "" - -#: ../../../build/NEWS:12778 -msgid "" -"`bpo-33604 `__: Remove HMAC default to " -"md5 marked for removal in 3.8 (removal originally planned in 3.6, bump to " -"3.8 in gh-7062)." -msgstr "" - -#: ../../../build/NEWS:12781 ../../../build/NEWS:14280 -msgid "" -"`bpo-33582 `__: Emit a deprecation " -"warning for inspect.formatargspec" -msgstr "" - -#: ../../../build/NEWS:12783 -msgid "" -"`bpo-21145 `__: Add ``functools." -"cached_property`` decorator, for computed properties cached for the life of " -"the instance." -msgstr "" - -#: ../../../build/NEWS:12786 ../../../build/NEWS:14417 -msgid "" -"`bpo-33570 `__: Change TLS 1.3 cipher " -"suite settings for compatibility with OpenSSL 1.1.1-pre6 and newer. OpenSSL " -"1.1.1 will have TLS 1.3 ciphers enabled by default." -msgstr "" - -#: ../../../build/NEWS:12790 ../../../build/NEWS:14421 -msgid "" -"`bpo-28556 `__: Do not simplify " -"arguments to `typing.Union`. Now `Union[Manager, Employee]` is not " -"simplified to `Employee` at runtime. Such simplification previously caused " -"several bugs and limited possibilities for introspection." -msgstr "" - -#: ../../../build/NEWS:12795 -msgid "" -"`bpo-12486 `__: :func:`tokenize." -"generate_tokens` is now documented as a public API to tokenize unicode " -"strings. It was previously present but undocumented." -msgstr "" - -#: ../../../build/NEWS:12799 ../../../build/NEWS:14426 -msgid "" -"`bpo-33540 `__: Add a new " -"``block_on_close`` class attribute to ``ForkingMixIn`` and " -"``ThreadingMixIn`` classes of :mod:`socketserver`." -msgstr "" - -#: ../../../build/NEWS:12802 ../../../build/NEWS:14429 -#: ../../../build/NEWS:18873 -msgid "" -"`bpo-33548 `__: tempfile." -"_candidate_tempdir_list should consider common TEMP locations" -msgstr "" - -#: ../../../build/NEWS:12805 ../../../build/NEWS:14432 -msgid "" -"`bpo-33109 `__: argparse subparsers are " -"once again not required by default, reverting the change in behavior " -"introduced by `bpo-26510 `__ in 3.7.0a2." -msgstr "" - -#: ../../../build/NEWS:12808 -msgid "" -"`bpo-33541 `__: Remove unused private " -"method ``_strptime.LocaleTime.__pad`` (a.k.a. ``_LocaleTime__pad``)." -msgstr "" - -#: ../../../build/NEWS:12811 ../../../build/NEWS:14435 -msgid "" -"`bpo-33536 `__: dataclasses." -"make_dataclass now checks for invalid field names and duplicate fields. " -"Also, added a check for invalid field specifications." -msgstr "" - -#: ../../../build/NEWS:12815 ../../../build/NEWS:14439 -#: ../../../build/NEWS:18876 -msgid "" -"`bpo-33542 `__: Prevent ``uuid." -"get_node`` from using a DUID instead of a MAC on Windows. Patch by Zvi Effron" -msgstr "" - -#: ../../../build/NEWS:12818 ../../../build/NEWS:14442 -#: ../../../build/NEWS:18879 -msgid "" -"`bpo-26819 `__: Fix race condition with " -"`ReadTransport.resume_reading` in Windows proactor event loop." -msgstr "" - -#: ../../../build/NEWS:12821 ../../../build/NEWS:14445 -msgid "" -"Fix failure in `typing.get_type_hints()` when ClassVar was provided as a " -"string forward reference." -msgstr "" - -#: ../../../build/NEWS:12824 -msgid "" -"`bpo-33516 `__: :class:`unittest.mock." -"MagicMock` now supports the ``__round__`` magic method." -msgstr "" - -#: ../../../build/NEWS:12827 -msgid "" -"`bpo-28612 `__: Added support for Site " -"Maps to urllib's ``RobotFileParser`` as :meth:`RobotFileParser.site_maps() " -"`. Patch by Lady Red, based on " -"patch by Peter Wirtz." -msgstr "" - -#: ../../../build/NEWS:12832 -msgid "" -"`bpo-28167 `__: Remove platform." -"linux_distribution, which was deprecated since 3.5." -msgstr "" - -#: ../../../build/NEWS:12835 -msgid "" -"`bpo-33504 `__: Switch the default " -"dictionary implementation for :mod:`configparser` from :class:`collections." -"OrderedDict` to the standard :class:`dict` type." -msgstr "" - -#: ../../../build/NEWS:12839 ../../../build/NEWS:14448 -msgid "" -"`bpo-33505 `__: Optimize asyncio." -"ensure_future() by reordering if checks: 1.17x faster." -msgstr "" - -#: ../../../build/NEWS:12842 ../../../build/NEWS:14451 -msgid "" -"`bpo-33497 `__: Add errors param to cgi." -"parse_multipart and make an encoding in FieldStorage use the given errors " -"(needed for Twisted). Patch by Amber Brown." -msgstr "" - -#: ../../../build/NEWS:12846 -msgid "" -"`bpo-29235 `__: The :class:`cProfile." -"Profile` class can now be used as a context manager. Patch by Scott " -"Sanderson." -msgstr "" - -#: ../../../build/NEWS:12849 ../../../build/NEWS:14455 -msgid "" -"`bpo-33495 `__: Change dataclasses." -"Fields repr to use the repr of each of its members, instead of str. This " -"makes it more clear what each field actually represents. This is especially " -"true for the 'type' member." -msgstr "" - -#: ../../../build/NEWS:12853 -msgid "" -"`bpo-26103 `__: Correct ``inspect." -"isdatadescriptor`` to look for ``__set__`` or ``__delete__``. Patch by " -"Aaron Hall." -msgstr "" - -#: ../../../build/NEWS:12856 -msgid "" -"`bpo-29209 `__: Removed the " -"``doctype()`` method and the *html* parameter of the constructor of :class:" -"`~xml.etree.ElementTree.XMLParser`. The ``doctype()`` method defined in a " -"subclass will no longer be called. Deprecated methods ``getchildren()`` and " -"``getiterator()`` in the :mod:`~xml.etree.ElementTree` module emit now a :" -"exc:`DeprecationWarning` instead of :exc:`PendingDeprecationWarning`." -msgstr "" - -#: ../../../build/NEWS:12863 ../../../build/NEWS:14459 -msgid "" -"`bpo-33453 `__: Fix dataclasses to work " -"if using literal string type annotations or if using PEP 563 \"Postponed " -"Evaluation of Annotations\". Only specific string prefixes are detected for " -"both ClassVar (\"ClassVar\" and \"typing.ClassVar\") and InitVar (\"InitVar" -"\" and \"dataclasses.InitVar\")." -msgstr "" - -#: ../../../build/NEWS:12868 ../../../build/NEWS:14464 -#: ../../../build/NEWS:18882 -msgid "" -"`bpo-28556 `__: Minor fixes in typing " -"module: add annotations to ``NamedTuple.__new__``, pass ``*args`` and " -"``**kwds`` in ``Generic.__new__``. Original PRs by Paulius Šarka and Chad " -"Dombrova." -msgstr "" - -#: ../../../build/NEWS:12872 -msgid "" -"`bpo-33365 `__: Print the header values " -"besides the header keys instead just the header keys if *debuglevel* is set " -"to >0 in :mod:`http.client`. Patch by Marco Strigl." -msgstr "" - -#: ../../../build/NEWS:12876 ../../../build/NEWS:14468 -#: ../../../build/NEWS:18886 -msgid "" -"`bpo-20087 `__: Updated alias mapping " -"with glibc 2.27 supported locales." -msgstr "" - -#: ../../../build/NEWS:12878 ../../../build/NEWS:14470 -#: ../../../build/NEWS:18888 -msgid "" -"`bpo-33422 `__: Fix trailing quotation " -"marks getting deleted when looking up byte/string literals on pydoc. Patch " -"by Andrés Delfino." -msgstr "" - -#: ../../../build/NEWS:12881 ../../../build/NEWS:14473 -msgid "" -"`bpo-28167 `__: The function ``platform." -"linux_distribution`` and ``platform.dist`` now trigger a " -"``DeprecationWarning`` and have been marked for removal in Python 3.8" -msgstr "" - -#: ../../../build/NEWS:12885 ../../../build/NEWS:14580 -msgid "" -"`bpo-33281 `__: Fix ctypes.util." -"find_library regression on macOS." -msgstr "" - -#: ../../../build/NEWS:12887 -msgid "" -"`bpo-33311 `__: Text and html output " -"generated by cgitb does not display parentheses if the current call is done " -"directly in the module. Patch by Stéphane Blondon." -msgstr "" - -#: ../../../build/NEWS:12891 -msgid "" -"`bpo-27300 `__: The file classes in " -"*tempfile* now accept an *errors* parameter that complements the already " -"existing *encoding*. Patch by Stephan Hohe." -msgstr "" - -#: ../../../build/NEWS:12894 -msgid "" -"`bpo-32933 `__: :func:`unittest.mock." -"mock_open` now supports iteration over the file contents. Patch by Tony " -"Flury." -msgstr "" - -#: ../../../build/NEWS:12897 -msgid "" -"`bpo-33217 `__: Raise :exc:`TypeError` " -"when looking up non-Enum objects in Enum classes and Enum members." -msgstr "" - -#: ../../../build/NEWS:12900 ../../../build/NEWS:14477 -#: ../../../build/NEWS:18891 -msgid "" -"`bpo-33197 `__: Update error message " -"when constructing invalid inspect.Parameters Patch by Dong-hee Na." -msgstr "" - -#: ../../../build/NEWS:12903 ../../../build/NEWS:14582 -#: ../../../build/NEWS:18894 -msgid "" -"`bpo-33383 `__: Fixed crash in the get() " -"method of the :mod:`dbm.ndbm` database object when it is called with a " -"single argument." -msgstr "" - -#: ../../../build/NEWS:12906 -msgid "" -"`bpo-33375 `__: The warnings module now " -"finds the Python file associated with a warning from the code object, rather " -"than the frame's global namespace. This is consistent with how tracebacks " -"and pdb find filenames, and should work better for dynamically executed code." -msgstr "" - -#: ../../../build/NEWS:12911 -msgid "" -"`bpo-33336 `__: ``imaplib`` now allows " -"``MOVE`` command in ``IMAP4.uid()`` (RFC 6851: IMAP MOVE Extension) and " -"potentially as a name of supported method of ``IMAP4`` object." -msgstr "" - -#: ../../../build/NEWS:12915 -msgid "" -"`bpo-32455 `__: Added *jump* parameter " -"to :func:`dis.stack_effect`." -msgstr "" - -#: ../../../build/NEWS:12917 -msgid "" -"`bpo-27485 `__: Rename and deprecate " -"undocumented functions in :func:`urllib.parse`." -msgstr "" - -#: ../../../build/NEWS:12920 -msgid "" -"`bpo-33332 `__: Add ``signal." -"valid_signals()`` to expose the POSIX sigfillset() functionality." -msgstr "" - -#: ../../../build/NEWS:12923 -msgid "" -"`bpo-33251 `__: `ConfigParser.items()` " -"was fixed so that key-value pairs passed in via `vars` are not included in " -"the resulting output." -msgstr "" - -#: ../../../build/NEWS:12926 ../../../build/NEWS:14585 -#: ../../../build/NEWS:18897 -msgid "" -"`bpo-33329 `__: Fix multiprocessing " -"regression on newer glibcs" -msgstr "" - -#: ../../../build/NEWS:12928 -msgid "" -"`bpo-33334 `__: :func:`dis.stack_effect` " -"now supports all defined opcodes including NOP and EXTENDED_ARG." -msgstr "" - -#: ../../../build/NEWS:12931 ../../../build/NEWS:14587 -#: ../../../build/NEWS:18899 -msgid "" -"`bpo-991266 `__: Fix quoting of the " -"``Comment`` attribute of :class:`http.cookies.SimpleCookie`." -msgstr "" - -#: ../../../build/NEWS:12934 ../../../build/NEWS:14590 -#: ../../../build/NEWS:18902 -msgid "" -"`bpo-33131 `__: Upgrade bundled version " -"of pip to 10.0.1." -msgstr "" - -#: ../../../build/NEWS:12936 ../../../build/NEWS:14592 -#: ../../../build/NEWS:18904 -msgid "" -"`bpo-33308 `__: Fixed a crash in the :" -"mod:`parser` module when converting an ST object to a tree of tuples or " -"lists with ``line_info=False`` and ``col_info=True``." -msgstr "" - -#: ../../../build/NEWS:12940 -msgid "" -"`bpo-23403 `__: lib2to3 now uses pickle " -"protocol 4 for pre-computed grammars." -msgstr "" - -#: ../../../build/NEWS:12942 ../../../build/NEWS:14596 -msgid "" -"`bpo-33266 `__: lib2to3 now recognizes " -"``rf'...'`` strings." -msgstr "" - -#: ../../../build/NEWS:12944 ../../../build/NEWS:14598 -msgid "" -"`bpo-11594 `__: Ensure line-endings are " -"respected when using lib2to3." -msgstr "" - -#: ../../../build/NEWS:12946 ../../../build/NEWS:14600 -msgid "" -"`bpo-33254 `__: Have :func:`importlib." -"resources.contents` and :meth:`importlib.abc.ResourceReader.contents` return " -"an :term:`iterable` instead of an :term:`iterator`." -msgstr "" - -#: ../../../build/NEWS:12950 -msgid "" -"`bpo-33265 `__: ``contextlib.ExitStack`` " -"and ``contextlib.AsyncExitStack`` now use a method instead of a wrapper " -"function for exit callbacks." -msgstr "" - -#: ../../../build/NEWS:12953 ../../../build/NEWS:14480 -#: ../../../build/NEWS:18908 -msgid "" -"`bpo-33263 `__: Fix FD leak in " -"`_SelectorSocketTransport` Patch by Vlad Starostin." -msgstr "" - -#: ../../../build/NEWS:12956 ../../../build/NEWS:14604 -#: ../../../build/NEWS:18911 -msgid "" -"`bpo-33256 `__: Fix display of " -"```` call in the html produced by ``cgitb.html()``. Patch by " -"Stéphane Blondon." -msgstr "" - -#: ../../../build/NEWS:12959 -msgid "" -"`bpo-33144 `__: ``random.Random()`` and " -"its subclassing mechanism got optimized to check only once at class/subclass " -"instantiation time whether its ``getrandbits()`` method can be relied on by " -"other methods, including ``randrange()``, for the generation of arbitrarily " -"large random integers. Patch by Wolfgang Maier." -msgstr "" - -#: ../../../build/NEWS:12965 -msgid "" -"`bpo-33185 `__: Fixed regression when " -"running pydoc with the :option:`-m` switch. (The regression was introduced " -"in 3.7.0b3 by the resolution of :issue:`33053`)" -msgstr "" - -#: ../../../build/NEWS:12969 -msgid "" -"This fix also changed pydoc to add ``os.getcwd()`` to :data:`sys.path` when " -"necessary, rather than adding ``\".\"``." -msgstr "" - -#: ../../../build/NEWS:12972 -msgid "" -"`bpo-29613 `__: Added support for the " -"``SameSite`` cookie flag to the ``http.cookies`` module." -msgstr "" - -#: ../../../build/NEWS:12975 ../../../build/NEWS:14612 -msgid "" -"`bpo-33169 `__: Delete entries of " -"``None`` in :data:`sys.path_importer_cache` when :meth:`importlib.machinery." -"invalidate_caches` is called." -msgstr "" - -#: ../../../build/NEWS:12978 ../../../build/NEWS:14618 -#: ../../../build/NEWS:18914 -msgid "" -"`bpo-33203 `__: ``random.Random." -"choice()`` now raises ``IndexError`` for empty sequences consistently even " -"when called from subclasses without a ``getrandbits()`` implementation." -msgstr "" - -#: ../../../build/NEWS:12982 ../../../build/NEWS:14622 -#: ../../../build/NEWS:18918 -msgid "" -"`bpo-33224 `__: Update difflib.mdiff() " -"for :pep:`479`. Convert an uncaught StopIteration in a generator into a " -"return-statement." -msgstr "" - -#: ../../../build/NEWS:12985 ../../../build/NEWS:14625 -#: ../../../build/NEWS:18921 -msgid "" -"`bpo-33209 `__: End framing at the end " -"of C implementation of :func:`pickle.Pickler.dump`." -msgstr "" - -#: ../../../build/NEWS:12988 -msgid "" -"`bpo-32861 `__: The urllib.robotparser's " -"``__str__`` representation now includes wildcard entries and the \"Crawl-" -"delay\" and \"Request-rate\" fields. Also removes extra newlines that were " -"being appended to the end of the string. Patch by Michael Lazar." -msgstr "" - -#: ../../../build/NEWS:12993 -msgid "" -"`bpo-23403 `__: ``DEFAULT_PROTOCOL`` in :" -"mod:`pickle` was bumped to 4. Protocol 4 is described in :pep:`3154` and " -"available since Python 3.4. It offers better performance and smaller size " -"compared to protocol 3 introduced in Python 3.0." -msgstr "" - -#: ../../../build/NEWS:12998 ../../../build/NEWS:14628 -msgid "" -"`bpo-20104 `__: Improved error handling " -"and fixed a reference leak in :func:`os.posix_spawn()`." -msgstr "" - -#: ../../../build/NEWS:13001 -msgid "" -"`bpo-33106 `__: Deleting a key from a " -"read-only dbm database raises module specific error instead of KeyError." -msgstr "" - -#: ../../../build/NEWS:13004 ../../../build/NEWS:14631 -msgid "" -"`bpo-33175 `__: In dataclasses, Field." -"__set_name__ now looks up the __set_name__ special method on the class, not " -"the instance, of the default value." -msgstr "" - -#: ../../../build/NEWS:13008 -msgid "" -"`bpo-32380 `__: Create functools." -"singledispatchmethod to support generic single dispatch on descriptors and " -"methods." -msgstr "" - -#: ../../../build/NEWS:13011 ../../../build/NEWS:14771 -msgid "" -"`bpo-33141 `__: Have Field objects pass " -"through __set_name__ to their default values, if they have their own " -"__set_name__." -msgstr "" - -#: ../../../build/NEWS:13014 ../../../build/NEWS:14774 -#: ../../../build/NEWS:18928 -msgid "" -"`bpo-33096 `__: Allow ttk.Treeview." -"insert to insert iid that has a false boolean value. Note iid=0 and " -"iid=False would be same. Patch by Garvit Khatri." -msgstr "" - -#: ../../../build/NEWS:13018 ../../../build/NEWS:14778 -msgid "" -"`bpo-32873 `__: Treat type variables and " -"special typing forms as immutable by copy and pickle. This fixes several " -"minor issues and inconsistencies, and improves backwards compatibility with " -"Python 3.6." -msgstr "" - -#: ../../../build/NEWS:13022 ../../../build/NEWS:14782 -msgid "" -"`bpo-33134 `__: When computing " -"dataclass's __hash__, use the lookup table to contain the function which " -"returns the __hash__ value. This is an improvement over looking up a " -"string, and then testing that string to see what to do." -msgstr "" - -#: ../../../build/NEWS:13027 ../../../build/NEWS:14787 -#: ../../../build/NEWS:18932 -msgid "" -"`bpo-33127 `__: The ssl module now " -"compiles with LibreSSL 2.7.1." -msgstr "" - -#: ../../../build/NEWS:13029 ../../../build/NEWS:14789 -msgid "" -"`bpo-32505 `__: Raise TypeError if a " -"member variable of a dataclass is of type Field, but doesn't have a type " -"annotation." -msgstr "" - -#: ../../../build/NEWS:13032 ../../../build/NEWS:14792 -msgid "" -"`bpo-33078 `__: Fix the failure on OSX " -"caused by the tests relying on sem_getvalue" -msgstr "" - -#: ../../../build/NEWS:13035 ../../../build/NEWS:14795 -msgid "" -"`bpo-33116 `__: Add 'Field' to " -"dataclasses.__all__." -msgstr "" - -#: ../../../build/NEWS:13037 ../../../build/NEWS:14797 -msgid "" -"`bpo-32896 `__: Fix an error where " -"subclassing a dataclass with a field that uses a default_factory would " -"generate an incorrect class." -msgstr "" - -#: ../../../build/NEWS:13040 ../../../build/NEWS:14800 -msgid "" -"`bpo-33100 `__: Dataclasses: If a field " -"has a default value that's a MemberDescriptorType, then it's from that field " -"being in __slots__, not an actual default value." -msgstr "" - -#: ../../../build/NEWS:13044 ../../../build/NEWS:14804 -msgid "" -"`bpo-32953 `__: If a non-dataclass " -"inherits from a frozen dataclass, allow attributes to be added to the " -"derived class. Only attributes from the frozen dataclass cannot be assigned " -"to. Require all dataclasses in a hierarchy to be either all frozen or all " -"non-frozen." -msgstr "" - -#: ../../../build/NEWS:13049 ../../../build/NEWS:14635 -msgid "" -"`bpo-33097 `__: Raise RuntimeError when " -"``executor.submit`` is called during interpreter shutdown." -msgstr "" - -#: ../../../build/NEWS:13052 -msgid "" -"`bpo-32968 `__: Modulo and floor " -"division involving Fraction and float should return float." -msgstr "" - -#: ../../../build/NEWS:13055 ../../../build/NEWS:14809 -msgid "" -"`bpo-33061 `__: Add missing ``NoReturn`` " -"to ``__all__`` in typing.py" -msgstr "" - -#: ../../../build/NEWS:13057 ../../../build/NEWS:14811 -msgid "" -"`bpo-33078 `__: Fix the size handling in " -"multiprocessing.Queue when a pickling error occurs." -msgstr "" - -#: ../../../build/NEWS:13060 ../../../build/NEWS:14814 -#: ../../../build/NEWS:19184 -msgid "" -"`bpo-33064 `__: lib2to3 now properly " -"supports trailing commas after ``*args`` and ``**kwargs`` in function " -"signatures." -msgstr "" - -#: ../../../build/NEWS:13063 ../../../build/NEWS:14817 -msgid "" -"`bpo-33056 `__: FIX properly close " -"leaking fds in concurrent.futures.ProcessPoolExecutor." -msgstr "" - -#: ../../../build/NEWS:13066 ../../../build/NEWS:14820 -#: ../../../build/NEWS:18934 -msgid "" -"`bpo-33021 `__: Release the GIL during " -"fstat() calls, avoiding hang of all threads when calling mmap.mmap(), os." -"urandom(), and random.seed(). Patch by Nir Soffer." -msgstr "" - -#: ../../../build/NEWS:13070 ../../../build/NEWS:14824 -#: ../../../build/NEWS:19187 -msgid "" -"`bpo-31804 `__: Avoid failing in " -"multiprocessing.Process if the standard streams are closed or None at exit." -msgstr "" - -#: ../../../build/NEWS:13073 -msgid "" -"`bpo-33034 `__: Providing an explicit " -"error message when casting the port property to anything that is not an " -"integer value using ``urlparse()`` and ``urlsplit()``. Patch by Matt Eaton." -msgstr "" - -#: ../../../build/NEWS:13077 -msgid "" -"`bpo-30249 `__: Improve struct." -"unpack_from() exception messages for problems with the buffer size and " -"offset." -msgstr "" - -#: ../../../build/NEWS:13080 ../../../build/NEWS:14827 -#: ../../../build/NEWS:19190 -msgid "" -"`bpo-33037 `__: Skip sending/receiving " -"data after SSL transport closing." -msgstr "" - -#: ../../../build/NEWS:13082 ../../../build/NEWS:14829 -#: ../../../build/NEWS:18938 -msgid "" -"`bpo-27683 `__: Fix a regression in :mod:" -"`ipaddress` that result of :meth:`hosts` is empty when the network is " -"constructed by a tuple containing an integer mask and only 1 bit left for " -"addresses." -msgstr "" - -#: ../../../build/NEWS:13086 -msgid "" -"`bpo-22674 `__: Add the strsignal() " -"function in the signal module that returns the system description of the " -"given signal, as returned by strsignal(3)." -msgstr "" - -#: ../../../build/NEWS:13089 ../../../build/NEWS:14833 -msgid "" -"`bpo-32999 `__: Fix C implementation of " -"``ABC.__subclasscheck__(cls, subclass)`` crashed when ``subclass`` is not a " -"type object." -msgstr "" - -#: ../../../build/NEWS:13092 ../../../build/NEWS:14836 -#: ../../../build/NEWS:19194 -msgid "" -"`bpo-33009 `__: Fix inspect.signature() " -"for single-parameter partialmethods." -msgstr "" - -#: ../../../build/NEWS:13094 ../../../build/NEWS:14838 -#: ../../../build/NEWS:19196 -msgid "" -"`bpo-32969 `__: Expose several missing " -"constants in zlib and fix corresponding documentation." -msgstr "" - -#: ../../../build/NEWS:13097 ../../../build/NEWS:14841 -msgid "" -"`bpo-32056 `__: Improved exceptions " -"raised for invalid number of channels and sample width when read an audio " -"file in modules :mod:`aifc`, :mod:`wave` and :mod:`sunau`." -msgstr "" - -#: ../../../build/NEWS:13101 -msgid "" -"`bpo-32970 `__: Improved disassembly of " -"the MAKE_FUNCTION instruction." -msgstr "" - -#: ../../../build/NEWS:13103 ../../../build/NEWS:14845 -#: ../../../build/NEWS:18942 -msgid "" -"`bpo-32844 `__: Fix wrong redirection of " -"a low descriptor (0 or 1) to stderr in subprocess if another low descriptor " -"is closed." -msgstr "" - -#: ../../../build/NEWS:13106 ../../../build/NEWS:14976 -msgid "" -"`bpo-32960 `__: For dataclasses, " -"disallow inheriting frozen from non-frozen classes, and also disallow " -"inheriting non-frozen from frozen classes. This restriction will be relaxed " -"at a future date." -msgstr "" - -#: ../../../build/NEWS:13110 ../../../build/NEWS:14980 -#: ../../../build/NEWS:19199 -msgid "" -"`bpo-32713 `__: Fixed tarfile.itn " -"handling of out-of-bounds float values. Patch by Joffrey Fuhrer." -msgstr "" - -#: ../../../build/NEWS:13113 ../../../build/NEWS:14487 -msgid "" -"`bpo-32257 `__: The ssl module now " -"contains OP_NO_RENEGOTIATION constant, available with OpenSSL 1.1.0h or " -"1.1.1." -msgstr "" - -#: ../../../build/NEWS:13116 ../../../build/NEWS:14983 -msgid "" -"`bpo-32951 `__: Direct instantiation of " -"SSLSocket and SSLObject objects is now prohibited. The constructors were " -"never documented, tested, or designed as public constructors. Users were " -"suppose to use ssl.wrap_socket() or SSLContext." -msgstr "" - -#: ../../../build/NEWS:13121 ../../../build/NEWS:14988 -msgid "" -"`bpo-32929 `__: Remove the tri-state " -"parameter \"hash\", and add the boolean \"unsafe_hash\". If unsafe_hash is " -"True, add a __hash__ function, but if a __hash__ exists, raise TypeError. " -"If unsafe_hash is False, add a __hash__ based on the values of eq= and " -"frozen=. The unsafe_hash=False behavior is the same as the old hash=None " -"behavior. unsafe_hash=False is the default, just as hash=None used to be." -msgstr "" - -#: ../../../build/NEWS:13128 ../../../build/NEWS:14995 -msgid "" -"`bpo-32947 `__: Add " -"OP_ENABLE_MIDDLEBOX_COMPAT and test workaround for TLSv1.3 for future " -"compatibility with OpenSSL 1.1.1." -msgstr "" - -#: ../../../build/NEWS:13131 -msgid "" -"`bpo-32146 `__: Document the interaction " -"between frozen executables and the spawn and forkserver start methods in " -"multiprocessing." -msgstr "" - -#: ../../../build/NEWS:13134 ../../../build/NEWS:14998 -#: ../../../build/NEWS:19202 -msgid "" -"`bpo-30622 `__: The ssl module now " -"detects missing NPN support in LibreSSL." -msgstr "" - -#: ../../../build/NEWS:13136 ../../../build/NEWS:15000 -#: ../../../build/NEWS:19204 -msgid "" -"`bpo-32922 `__: dbm.open() now encodes " -"filename with the filesystem encoding rather than default encoding." -msgstr "" - -#: ../../../build/NEWS:13139 -msgid "" -"`bpo-32759 `__: Free unused arenas in " -"multiprocessing.heap." -msgstr "" - -#: ../../../build/NEWS:13141 ../../../build/NEWS:15003 -#: ../../../build/NEWS:19207 -msgid "" -"`bpo-32859 `__: In ``os.dup2``, don't " -"check every call whether the ``dup3`` syscall exists or not." -msgstr "" - -#: ../../../build/NEWS:13144 ../../../build/NEWS:15006 -msgid "" -"`bpo-32556 `__: nt._getfinalpathname, nt." -"_getvolumepathname and nt._getdiskusage now correctly convert from bytes." -msgstr "" - -#: ../../../build/NEWS:13147 ../../../build/NEWS:15012 -#: ../../../build/NEWS:19210 -msgid "" -"`bpo-21060 `__: Rewrite confusing " -"message from setup.py upload from \"No dist file created in earlier command" -"\" to the more helpful \"Must create and upload files in one command\"." -msgstr "" - -#: ../../../build/NEWS:13151 ../../../build/NEWS:14848 -#: ../../../build/NEWS:19214 -msgid "" -"`bpo-32857 `__: In :mod:`tkinter`, " -"``after_cancel(None)`` now raises a :exc:`ValueError` instead of canceling " -"the first scheduled function. Patch by Cheryl Sabella." -msgstr "" - -#: ../../../build/NEWS:13155 ../../../build/NEWS:15016 -#: ../../../build/NEWS:19218 -msgid "" -"`bpo-32852 `__: Make sure sys.argv " -"remains as a list when running trace." -msgstr "" - -#: ../../../build/NEWS:13157 -msgid "" -"`bpo-31333 `__: ``_abc`` module is " -"added. It is a speedup module with C implementations for various functions " -"and methods in ``abc``. Creating an ABC subclass and calling ``isinstance`` " -"or ``issubclass`` with an ABC subclass are up to 1.5x faster. In addition, " -"this makes Python start-up up to 10% faster." -msgstr "" - -#: ../../../build/NEWS:13163 -msgid "" -"Note that the new implementation hides internal registry and caches, " -"previously accessible via private attributes ``_abc_registry``, " -"``_abc_cache``, and ``_abc_negative_cache``. There are three debugging " -"helper methods that can be used instead ``_dump_registry``, " -"``_abc_registry_clear``, and ``_abc_caches_clear``." -msgstr "" - -#: ../../../build/NEWS:13169 ../../../build/NEWS:15028 -#: ../../../build/NEWS:19220 -msgid "" -"`bpo-32841 `__: Fixed `asyncio." -"Condition` issue which silently ignored cancellation after notifying and " -"cancelling a conditional lock. Patch by Bar Harel." -msgstr "" - -#: ../../../build/NEWS:13173 ../../../build/NEWS:15032 -msgid "" -"`bpo-32819 `__: ssl.match_hostname() has " -"been simplified and no longer depends on re and ipaddress module for " -"wildcard and IP addresses. Error reporting for invalid wildcards has been " -"improved." -msgstr "" - -#: ../../../build/NEWS:13177 -msgid "" -"`bpo-19675 `__: ``multiprocessing.Pool`` " -"no longer leaks processes if its initialization fails." -msgstr "" - -#: ../../../build/NEWS:13180 ../../../build/NEWS:15036 -msgid "" -"`bpo-32394 `__: socket: Remove " -"TCP_FASTOPEN,TCP_KEEPCNT,TCP_KEEPIDLE,TCP_KEEPINTVL flags on older version " -"Windows during run-time." -msgstr "" - -#: ../../../build/NEWS:13184 ../../../build/NEWS:15040 -#: ../../../build/NEWS:19224 -msgid "" -"`bpo-31787 `__: Fixed refleaks of " -"``__init__()`` methods in various modules. (Contributed by Oren Milman)" -msgstr "" - -#: ../../../build/NEWS:13187 ../../../build/NEWS:15043 -#: ../../../build/NEWS:19227 -msgid "" -"`bpo-30157 `__: Fixed guessing quote and " -"delimiter in csv.Sniffer.sniff() when only the last field is quoted. Patch " -"by Jake Davis." -msgstr "" - -#: ../../../build/NEWS:13190 -msgid "" -"`bpo-30688 `__: Added support of ``" -"\\N{name}`` escapes in regular expressions. Based on patch by Jonathan " -"Eunice." -msgstr "" - -#: ../../../build/NEWS:13193 ../../../build/NEWS:15046 -msgid "" -"`bpo-32792 `__: collections.ChainMap() " -"preserves the order of the underlying mappings." -msgstr "" - -#: ../../../build/NEWS:13196 ../../../build/NEWS:15049 -msgid "" -"`bpo-32775 `__: :func:`fnmatch." -"translate()` no longer produces patterns which contain set operations. Sets " -"starting with '[' or containing '--', '&&', '~~' or '||' will be interpreted " -"differently in regular expressions in future versions. Currently they emit " -"warnings. fnmatch.translate() now avoids producing patterns containing such " -"sets by accident." -msgstr "" - -#: ../../../build/NEWS:13202 ../../../build/NEWS:15055 -msgid "" -"`bpo-32622 `__: Implement native fast " -"sendfile for Windows proactor event loop." -msgstr "" - -#: ../../../build/NEWS:13204 ../../../build/NEWS:15057 -#: ../../../build/NEWS:19233 -msgid "" -"`bpo-32777 `__: Fix a rare but potential " -"pre-exec child process deadlock in subprocess on POSIX systems when marking " -"file descriptors inheritable on exec in the child process. This bug appears " -"to have been introduced in 3.4." -msgstr "" - -#: ../../../build/NEWS:13209 ../../../build/NEWS:15062 -#: ../../../build/NEWS:19238 -msgid "" -"`bpo-32647 `__: The ctypes module used " -"to depend on indirect linking for dlopen. The shared extension is now " -"explicitly linked against libdl on platforms with dl." -msgstr "" - -#: ../../../build/NEWS:13213 -msgid "" -"`bpo-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." -msgstr "" - -#: ../../../build/NEWS:13217 ../../../build/NEWS:15066 -msgid "" -"`bpo-32741 `__: Implement ``asyncio." -"TimerHandle.when()`` method." -msgstr "" - -#: ../../../build/NEWS:13219 ../../../build/NEWS:15068 -msgid "" -"`bpo-32691 `__: Use mod_spec.parent when " -"running modules with pdb" -msgstr "" - -#: ../../../build/NEWS:13221 ../../../build/NEWS:15070 -#: ../../../build/NEWS:19242 -msgid "" -"`bpo-32734 `__: Fixed ``asyncio.Lock()`` " -"safety issue which allowed acquiring and locking the same lock multiple " -"times, without it being free. Patch by Bar Harel." -msgstr "" - -#: ../../../build/NEWS:13225 ../../../build/NEWS:15074 -#: ../../../build/NEWS:19246 -msgid "" -"`bpo-32727 `__: Do not include name " -"field in SMTP envelope from address. Patch by Stéphane Wirtel" -msgstr "" - -#: ../../../build/NEWS:13228 ../../../build/NEWS:15077 -msgid "" -"`bpo-31453 `__: Add TLSVersion constants " -"and SSLContext.maximum_version / minimum_version attributes. The new API " -"wraps OpenSSL 1.1 https://www.openssl.org/docs/man1.1.0/ssl/" -"SSL_CTX_set_min_proto_version.html feature." -msgstr "" - -#: ../../../build/NEWS:13233 ../../../build/NEWS:15082 -msgid "" -"`bpo-24334 `__: Internal implementation " -"details of ssl module were cleaned up. The SSLSocket has one less layer of " -"indirection. Owner and session information are now handled by the SSLSocket " -"and SSLObject constructor. Channel binding implementation has been " -"simplified." -msgstr "" - -#: ../../../build/NEWS:13238 ../../../build/NEWS:15087 -#: ../../../build/NEWS:19259 -msgid "" -"`bpo-31848 `__: Fix the error handling " -"in Aifc_read.initfp() when the SSND chunk is not found. Patch by Zackery " -"Spytz." -msgstr "" - -#: ../../../build/NEWS:13241 ../../../build/NEWS:15090 -msgid "" -"`bpo-32585 `__: Add Ttk spinbox widget " -"to :mod:`tkinter.ttk`. Patch by Alan D Moore." -msgstr "" - -#: ../../../build/NEWS:13244 -msgid "" -"`bpo-32512 `__: :mod:`profile` CLI " -"accepts `-m module_name` as an alternative to script path." -msgstr "" - -#: ../../../build/NEWS:13247 -msgid "" -"`bpo-8525 `__: help() on a type now " -"displays builtin subclasses. This is intended primarily to help with " -"notification of more specific exception subclasses." -msgstr "" - -#: ../../../build/NEWS:13251 -msgid "Patch by Sanyam Khurana." -msgstr "" - -#: ../../../build/NEWS:13253 -msgid "" -"`bpo-31639 `__: http.server now exposes " -"a ThreadingHTTPServer class and uses it when the module is run with ``-m`` " -"to cope with web browsers pre-opening sockets." -msgstr "" - -#: ../../../build/NEWS:13257 -msgid "" -"`bpo-29877 `__: compileall: import " -"ProcessPoolExecutor only when needed, preventing hangs on low resource " -"platforms" -msgstr "" - -#: ../../../build/NEWS:13260 ../../../build/NEWS:15093 -msgid "" -"`bpo-32221 `__: Various functions " -"returning tuple containing IPv6 addresses now omit ``%scope`` part since the " -"same information is already encoded in *scopeid* tuple item. Especially this " -"speeds up :func:`socket.recvfrom` when it receives multicast packet since " -"useless resolving of network interface name is omitted." -msgstr "" - -#: ../../../build/NEWS:13266 -msgid "" -"`bpo-32147 `__: :func:`binascii." -"unhexlify` is now up to 2 times faster. Patch by Sergey Fedoseev." -msgstr "" - -#: ../../../build/NEWS:13269 ../../../build/NEWS:15099 -msgid "" -"`bpo-30693 `__: The TarFile class now " -"recurses directories in a reproducible way." -msgstr "" - -#: ../../../build/NEWS:13272 ../../../build/NEWS:15102 -msgid "" -"`bpo-30693 `__: The ZipFile class now " -"recurses directories in a reproducible way." -msgstr "" - -#: ../../../build/NEWS:13275 -msgid "" -"`bpo-31680 `__: Added :data:`curses." -"ncurses_version`." -msgstr "" - -#: ../../../build/NEWS:13277 ../../../build/NEWS:14638 -#: ../../../build/NEWS:18945 -msgid "" -"`bpo-31908 `__: Fix output of cover " -"files for ``trace`` module command-line tool. Previously emitted cover files " -"only when ``--missing`` option was used. Patch by Michael Selik." -msgstr "" - -#: ../../../build/NEWS:13281 -msgid "" -"`bpo-31608 `__: Raise a ``TypeError`` " -"instead of crashing if a ``collections.deque`` subclass returns a non-deque " -"from ``__new__``. Patch by Oren Milman." -msgstr "" - -#: ../../../build/NEWS:13285 -msgid "" -"`bpo-31425 `__: Add support for sockets " -"of the AF_QIPCRTR address family, supported by the Linux kernel. This is " -"used to communicate with services, such as GPS or radio, running on Qualcomm " -"devices. Patch by Bjorn Andersson." -msgstr "" - -#: ../../../build/NEWS:13290 -msgid "" -"`bpo-22005 `__: Implemented unpickling " -"instances of :class:`~datetime.datetime`, :class:`~datetime.date` and :class:" -"`~datetime.time` pickled by Python 2. ``encoding='latin1'`` should be used " -"for successful decoding." -msgstr "" - -#: ../../../build/NEWS:13295 ../../../build/NEWS:14856 -msgid "" -"`bpo-27645 `__: :class:`sqlite3." -"Connection` now exposes a :class:`~sqlite3.Connection.backup` method, if the " -"underlying SQLite library is at version 3.6.11 or higher. Patch by Lele " -"Gaifax." -msgstr "" - -#: ../../../build/NEWS:13299 ../../../build/NEWS:14490 -#: ../../../build/NEWS:18952 -msgid "" -"`bpo-16865 `__: Support arrays >=2GiB " -"in :mod:`ctypes`. Patch by Segev Finer." -msgstr "" - -#: ../../../build/NEWS:13301 -msgid "" -"`bpo-31508 `__: Removed support of " -"arguments in `tkinter.ttk.Treeview.selection`. It was deprecated in 3.6. " -"Use specialized methods like `selection_set` for changing the selection." -msgstr "" - -#: ../../../build/NEWS:13305 -msgid "" -"`bpo-29456 `__: Fix bugs in hangul " -"normalization: u1176, u11a7 and u11c3" -msgstr "" - -#: ../../../build/NEWS:13310 -msgid "" -"`bpo-21257 `__: Document :func:`http." -"client.parse_headers`." -msgstr "" - -#: ../../../build/NEWS:13312 -msgid "" -"`bpo-34764 `__: Improve example of " -"iter() with 2nd sentinel argument." -msgstr "" - -#: ../../../build/NEWS:13314 -msgid "" -"`bpo-35564 `__: Explicitly set " -"master_doc variable in conf.py for compliance with Sphinx 2.0" -msgstr "" - -#: ../../../build/NEWS:13317 -msgid "" -"`bpo-35511 `__: Specified that profile." -"Profile class doesn't not support enable or disable methods. Also, " -"elaborated that Profile object as a context manager is only supported in " -"cProfile module." -msgstr "" - -#: ../../../build/NEWS:13321 -msgid "" -"`bpo-10536 `__: Enhance the gettext " -"docs. Patch by Éric Araujo" -msgstr "" - -#: ../../../build/NEWS:13323 -msgid "" -"`bpo-35089 `__: Remove mention of " -"``typing.io`` and ``typing.re``. Their types should be imported from " -"``typing`` directly." -msgstr "" - -#: ../../../build/NEWS:13326 -msgid "" -"`bpo-35038 `__: Fix the documentation " -"about an unexisting `f_restricted` attribute in the frame object. Patch by " -"Stéphane Wirtel" -msgstr "" - -#: ../../../build/NEWS:13329 -msgid "" -"`bpo-35042 `__: Replace PEP XYZ by the " -"pep role and allow to use the direct links to the PEPs." -msgstr "" - -#: ../../../build/NEWS:13332 -msgid "" -"`bpo-35044 `__: Fix the documentation " -"with the role ``exc`` for the appropriated exception. Patch by Stéphane " -"Wirtel" -msgstr "" - -#: ../../../build/NEWS:13335 -msgid "" -"`bpo-35035 `__: Rename documentation " -"for :mod:`email.utils` to ``email.utils.rst``." -msgstr "" - -#: ../../../build/NEWS:13338 -msgid "" -"`bpo-34967 `__: Use app." -"add_object_type() instead of the deprecated Sphinx function app." -"description_unit()" -msgstr "" - -#: ../../../build/NEWS:13341 -msgid "" -"`bpo-34913 `__: Add documentation about " -"the new command line interface of the gzip module." -msgstr "" - -#: ../../../build/NEWS:13344 -msgid "" -"`bpo-32174 `__: chm document displays " -"non-ASCII charaters properly on some MBCS Windows systems." -msgstr "" - -#: ../../../build/NEWS:13347 -msgid "" -"`bpo-11233 `__: Create availability " -"directive for documentation. Original patch by Georg Brandl." -msgstr "" - -#: ../../../build/NEWS:13350 -msgid "" -"`bpo-34790 `__: Document how passing " -"coroutines to asyncio.wait() can be confusing." -msgstr "" - -#: ../../../build/NEWS:13353 -msgid "" -"`bpo-34552 `__: Make clear that ``==`` " -"operator sometimes is equivalent to `is`. The ``<``, ``<=``, ``>`` and " -"``>=`` operators are only defined where they make sense." -msgstr "" - -#: ../../../build/NEWS:13357 -msgid "" -"`bpo-28617 `__: Fixed info in the " -"stdtypes docs concerning the types that support membership tests." -msgstr "" - -#: ../../../build/NEWS:13360 -msgid "" -"`bpo-20177 `__: Migrate datetime.date." -"fromtimestamp to Argument Clinic. Patch by Tim Hoffmann." -msgstr "" - -#: ../../../build/NEWS:13363 -msgid "" -"`bpo-34065 `__: Fix wrongly written " -"basicConfig documentation markup syntax" -msgstr "" - -#: ../../../build/NEWS:13365 -msgid "" -"`bpo-33460 `__: replaced ellipsis with " -"correct error codes in tutorial chapter 3." -msgstr "" - -#: ../../../build/NEWS:13368 -msgid "" -"`bpo-33847 `__: Add '@' operator entry " -"to index." -msgstr "" - -#: ../../../build/NEWS:13370 ../../../build/NEWS:14285 -msgid "" -"`bpo-33409 `__: Clarified the " -"relationship between :pep:`538`'s PYTHONCOERCECLOCALE and PEP 540's " -"PYTHONUTF8 mode." -msgstr "" - -#: ../../../build/NEWS:13373 -msgid "" -"`bpo-33197 `__: Add versionadded tag to " -"the documentation of ParameterKind.description" -msgstr "" - -#: ../../../build/NEWS:13376 -msgid "" -"`bpo-17045 `__: Improve the C-API doc " -"for PyTypeObject. This includes adding several quick-reference tables and a " -"lot of missing slot/typedef entries. The existing entries were also cleaned " -"up with a slightly more consistent format." -msgstr "" - -#: ../../../build/NEWS:13381 ../../../build/NEWS:14288 -msgid "" -"`bpo-33736 `__: Improve the " -"documentation of :func:`asyncio.open_connection`, :func:`asyncio." -"start_server` and their UNIX socket counterparts." -msgstr "" - -#: ../../../build/NEWS:13384 ../../../build/NEWS:14495 -msgid "" -"`bpo-23859 `__: Document that `asyncio." -"wait()` does not cancel its futures on timeout." -msgstr "" - -#: ../../../build/NEWS:13387 ../../../build/NEWS:14498 -msgid "" -"`bpo-32436 `__: Document :pep:`567` " -"changes to asyncio." -msgstr "" - -#: ../../../build/NEWS:13389 ../../../build/NEWS:14500 -msgid "" -"`bpo-33604 `__: Update HMAC md5 default " -"to a DeprecationWarning, bump removal to 3.8." -msgstr "" - -#: ../../../build/NEWS:13392 -msgid "" -"`bpo-33594 `__: Document ``getargspec``, " -"``from_function`` and ``from_builtin`` as deprecated in their respective " -"docstring, and include version since deprecation in DeprecationWarning " -"message." -msgstr "" - -#: ../../../build/NEWS:13396 ../../../build/NEWS:14503 -#: ../../../build/NEWS:18961 -msgid "" -"`bpo-33503 `__: Fix broken pypi link" -msgstr "" - -#: ../../../build/NEWS:13398 ../../../build/NEWS:14505 -#: ../../../build/NEWS:18963 -msgid "" -"`bpo-33421 `__: Add missing " -"documentation for ``typing.AsyncContextManager``." -msgstr "" - -#: ../../../build/NEWS:13400 -msgid "" -"`bpo-33487 `__: BZ2file now emit a " -"DeprecationWarning when buffering=None is passed, the deprecation message " -"and documentation also now explicitly state it is deprecated since 3.0." -msgstr "" - -#: ../../../build/NEWS:13404 ../../../build/NEWS:14645 -#: ../../../build/NEWS:18965 -msgid "" -"`bpo-33378 `__: Add Korean language " -"switcher for https://docs.python.org/3/" -msgstr "" - -#: ../../../build/NEWS:13406 ../../../build/NEWS:14647 -#: ../../../build/NEWS:18967 -msgid "" -"`bpo-33276 `__: Clarify that the " -"``__path__`` attribute on modules cannot be just any value." -msgstr "" - -#: ../../../build/NEWS:13409 ../../../build/NEWS:14650 -#: ../../../build/NEWS:18970 -msgid "" -"`bpo-33201 `__: Modernize documentation " -"for writing C extension types." -msgstr "" - -#: ../../../build/NEWS:13411 ../../../build/NEWS:14652 -#: ../../../build/NEWS:18972 -msgid "" -"`bpo-33195 `__: Deprecate ``Py_UNICODE`` " -"usage in ``c-api/arg`` document. ``Py_UNICODE`` related APIs are deprecated " -"since Python 3.3, but it is missed in the document." -msgstr "" - -#: ../../../build/NEWS:13415 ../../../build/NEWS:14863 -#: ../../../build/NEWS:18976 -msgid "" -"`bpo-33126 `__: Document " -"PyBuffer_ToContiguous()." -msgstr "" - -#: ../../../build/NEWS:13417 ../../../build/NEWS:14865 -#: ../../../build/NEWS:18978 -msgid "" -"`bpo-27212 `__: Modify documentation for " -"the :func:`islice` recipe to consume initial values up to the start index." -msgstr "" - -#: ../../../build/NEWS:13420 ../../../build/NEWS:14868 -#: ../../../build/NEWS:18981 -msgid "" -"`bpo-28247 `__: Update :mod:`zipapp` " -"documentation to describe how to make standalone applications." -msgstr "" - -#: ../../../build/NEWS:13423 ../../../build/NEWS:14871 -#: ../../../build/NEWS:18984 -msgid "" -"`bpo-18802 `__: Documentation changes " -"for ipaddress. Patch by Jon Foster and Berker Peksag." -msgstr "" - -#: ../../../build/NEWS:13426 ../../../build/NEWS:14874 -#: ../../../build/NEWS:18987 -msgid "" -"`bpo-27428 `__: Update documentation to " -"clarify that ``WindowsRegistryFinder`` implements ``MetaPathFinder``. (Patch " -"by Himanshu Lakhara)" -msgstr "" - -#: ../../../build/NEWS:13429 ../../../build/NEWS:15108 -msgid "" -"`bpo-28124 `__: The ssl module function " -"ssl.wrap_socket() has been de-emphasized and deprecated in favor of the more " -"secure and efficient SSLContext.wrap_socket() method." -msgstr "" - -#: ../../../build/NEWS:13433 ../../../build/NEWS:15112 -#: ../../../build/NEWS:19317 -msgid "" -"`bpo-17232 `__: Clarify docs for -O and -" -"OO. Patch by Terry Reedy." -msgstr "" - -#: ../../../build/NEWS:13435 ../../../build/NEWS:15114 -msgid "" -"`bpo-32436 `__: Add documentation for " -"the contextvars module (PEP 567)." -msgstr "" - -#: ../../../build/NEWS:13437 ../../../build/NEWS:15116 -#: ../../../build/NEWS:19319 -msgid "" -"`bpo-32800 `__: Update link to w3c doc " -"for xml default namespaces." -msgstr "" - -#: ../../../build/NEWS:13439 ../../../build/NEWS:15118 -msgid "" -"`bpo-11015 `__: Update :mod:`test." -"support` documentation." -msgstr "" - -#: ../../../build/NEWS:13441 -msgid "" -"`bpo-32613 `__: Update the faq/windows." -"html to use the py command from PEP 397 instead of python." -msgstr "" - -#: ../../../build/NEWS:13444 ../../../build/NEWS:15120 -#: ../../../build/NEWS:19321 -msgid "" -"`bpo-8722 `__: Document :meth:" -"`__getattr__` behavior when property :meth:`get` method raises :exc:" -"`AttributeError`." -msgstr "" - -#: ../../../build/NEWS:13447 ../../../build/NEWS:15123 -#: ../../../build/NEWS:19324 -msgid "" -"`bpo-32614 `__: Modify RE examples in " -"documentation to use raw strings to prevent :exc:`DeprecationWarning` and " -"add text to REGEX HOWTO to highlight the deprecation." -msgstr "" - -#: ../../../build/NEWS:13451 -msgid "" -"`bpo-20709 `__: Remove the paragraph " -"where we explain that os.utime() does not support a directory as path under " -"Windows. Patch by Jan-Philip Gehrcke" -msgstr "" - -#: ../../../build/NEWS:13454 -msgid "" -"`bpo-32722 `__: Remove the bad example " -"in the tutorial of the Generator Expression. Patch by Stéphane Wirtel" -msgstr "" - -#: ../../../build/NEWS:13457 ../../../build/NEWS:15127 -#: ../../../build/NEWS:19328 -msgid "" -"`bpo-31972 `__: Improve docstrings for " -"`pathlib.PurePath` subclasses." -msgstr "" - -#: ../../../build/NEWS:13459 -msgid "" -"`bpo-30607 `__: Use the externalized " -"``python-docs-theme`` package when building the documentation." -msgstr "" - -#: ../../../build/NEWS:13462 ../../../build/NEWS:14656 -#: ../../../build/NEWS:18990 -msgid "" -"`bpo-8243 `__: Add a note about curses." -"addch and curses.addstr exception behavior when writing outside a window, or " -"pad." -msgstr "" - -#: ../../../build/NEWS:13465 ../../../build/NEWS:14659 -msgid "" -"`bpo-32337 `__: Update documentation " -"related with ``dict`` order." -msgstr "" - -#: ../../../build/NEWS:13467 -msgid "" -"`bpo-25041 `__: Document ``AF_PACKET`` " -"in the :mod:`socket` module." -msgstr "" - -#: ../../../build/NEWS:13469 ../../../build/NEWS:14291 -#: ../../../build/NEWS:18993 -msgid "" -"`bpo-31432 `__: Clarify meaning of " -"CERT_NONE, CERT_OPTIONAL, and CERT_REQUIRED flags for ssl.SSLContext." -"verify_mode." -msgstr "" - -#: ../../../build/NEWS:13475 -msgid "" -"`bpo-35772 `__: Fix sparse file tests of " -"test_tarfile on ppc64 with the tmpfs filesystem. Fix the function testing if " -"the filesystem supports sparse files: create a file which contains data and " -"\"holes\", instead of creating a file which contains no data. tmpfs " -"effective block size is a page size (tmpfs lives in the page cache). RHEL " -"uses 64 KiB pages on aarch64, ppc64, ppc64le, only s390x and x86_64 use 4 " -"KiB pages, whereas the test punch holes of 4 KiB." -msgstr "" - -#: ../../../build/NEWS:13483 -msgid "" -"`bpo-35045 `__: Make ssl tests less " -"strict and also accept TLSv1 as system default. The changes unbreaks " -"test_min_max_version on Fedora 29." -msgstr "" - -#: ../../../build/NEWS:13486 -msgid "" -"`bpo-32710 `__: ``test_asyncio/" -"test_sendfile.py`` now resets the event loop policy using :func:" -"`tearDownModule` as done in other tests, to prevent a warning when running " -"tests on Windows." -msgstr "" - -#: ../../../build/NEWS:13490 -msgid "" -"`bpo-33717 `__: test.pythoninfo now logs " -"information of all clocks, not only time.time() and time.perf_counter()." -msgstr "" - -#: ../../../build/NEWS:13493 -msgid "" -"`bpo-35488 `__: Add a test to pathlib's " -"Path.match() to verify it does not support glob-style ** recursive pattern " -"matching." -msgstr "" - -#: ../../../build/NEWS:13496 -msgid "" -"`bpo-31731 `__: Fix a race condition in " -"``check_interrupted_write()`` of test_io: create directly the thread with " -"SIGALRM signal blocked, rather than blocking the signal later from the " -"thread. Previously, it was possible that the thread gets the signal before " -"the signal is blocked." -msgstr "" - -#: ../../../build/NEWS:13501 -msgid "" -"`bpo-35424 `__: Fix " -"test_multiprocessing_main_handling: use :class:`multiprocessing.Pool` with a " -"context manager and then explicitly join the pool." -msgstr "" - -#: ../../../build/NEWS:13505 -msgid "" -"`bpo-35519 `__: Rename :mod:`test." -"bisect` module to :mod:`test.bisect_cmd` to avoid conflict with :mod:" -"`bisect` module when running directly a test like ``./python Lib/test/" -"test_xmlrpc.py``." -msgstr "" - -#: ../../../build/NEWS:13509 -msgid "" -"`bpo-35513 `__: Replace :func:`time." -"time` with :func:`time.monotonic` in tests to measure time delta." -msgstr "" - -#: ../../../build/NEWS:13512 -msgid "" -"`bpo-34279 `__: :func:`test.support." -"run_unittest` no longer raise :exc:`TestDidNotRun` if the test result " -"contains skipped tests. The exception is now only raised if no test have " -"been run and no test have been skipped." -msgstr "" - -#: ../../../build/NEWS:13517 -msgid "" -"`bpo-35412 `__: Add testcase to " -"``test_future4``: check unicode literal." -msgstr "" - -#: ../../../build/NEWS:13519 -msgid "" -"`bpo-26704 `__: Added test demonstrating " -"double-patching of an instance method. Patch by Anthony Sottile." -msgstr "" - -#: ../../../build/NEWS:13522 -msgid "" -"`bpo-33725 `__: " -"test_multiprocessing_fork may crash on recent versions of macOS. Until the " -"issue is resolved, skip the test on macOS." -msgstr "" - -#: ../../../build/NEWS:13525 -msgid "" -"`bpo-35352 `__: Modify test_asyncio to " -"use the certificate set from the test directory." -msgstr "" - -#: ../../../build/NEWS:13528 -msgid "" -"`bpo-35317 `__: Fix ``mktime()`` " -"overflow error in ``test_email``: run " -"``test_localtime_daylight_true_dst_true()`` and " -"``test_localtime_daylight_false_dst_true()`` with a specific timezone." -msgstr "" - -#: ../../../build/NEWS:13532 -msgid "" -"`bpo-21263 `__: After several reports " -"that test_gdb does not work properly on macOS and since gdb is not shipped " -"by default anymore, test_gdb is now skipped on macOS when LLVM Clang has " -"been used to compile Python. Patch by Lysandros Nikolaou" -msgstr "" - -#: ../../../build/NEWS:13537 -msgid "" -"`bpo-34279 `__: regrtest issue a warning " -"when no tests have been executed in a particular test file. Also, a new " -"final result state is issued if no test have been executed across all test " -"files. Patch by Pablo Galindo." -msgstr "" - -#: ../../../build/NEWS:13541 -msgid "" -"`bpo-34962 `__: make docstest in Doc now " -"passes., and is enforced in CI" -msgstr "" - -#: ../../../build/NEWS:13543 -msgid "" -"`bpo-23596 `__: Use argparse for the " -"command line of the gzip module. Patch by Antony Lee" -msgstr "" - -#: ../../../build/NEWS:13546 -msgid "" -"`bpo-34537 `__: Fix ``test_gdb." -"test_strings()`` when ``LC_ALL=C`` and GDB was compiled with Python 3.6 or " -"earlier." -msgstr "" - -#: ../../../build/NEWS:13549 -msgid "" -"`bpo-34587 `__: test_socket: Remove " -"RDSTest.testCongestion(). The test tries to fill the receiver's socket " -"buffer and expects an error. But the RDS protocol doesn't require that. " -"Moreover, the Linux implementation of RDS expects that the producer of the " -"messages reduces its rate, it's not the role of the receiver to trigger an " -"error. The test fails on Fedora 28 by design, so just remove it." -msgstr "" - -#: ../../../build/NEWS:13556 -msgid "" -"`bpo-34661 `__: Fix test_shutil if unzip " -"doesn't support -t." -msgstr "" - -#: ../../../build/NEWS:13558 -msgid "" -"`bpo-34200 `__: Fixed non-deterministic " -"flakiness of test_pkg by not using the scary test.support.module_cleanup() " -"logic to save and restore sys.modules contents between test cases." -msgstr "" - -#: ../../../build/NEWS:13562 -msgid "" -"`bpo-34569 `__: The experimental PEP 554 " -"data channels now correctly pass negative PyLong objects between " -"subinterpreters on 32-bit systems. Patch by Michael Felt." -msgstr "" - -#: ../../../build/NEWS:13566 -msgid "" -"`bpo-34594 `__: Fix usage of hardcoded " -"``errno`` values in the tests." -msgstr "" - -#: ../../../build/NEWS:13568 -msgid "" -"`bpo-34579 `__: Fix test_embed for AIX " -"Patch by Michael Felt" -msgstr "" - -#: ../../../build/NEWS:13570 -msgid "" -"`bpo-34542 `__: Use 3072 RSA keys and " -"SHA-256 signature for test certs and keys." -msgstr "" - -#: ../../../build/NEWS:13573 -msgid "" -"`bpo-11193 `__: Remove special condition " -"for AIX in `test_subprocess.test_undecodable_env`" -msgstr "" - -#: ../../../build/NEWS:13576 -msgid "" -"`bpo-34347 `__: Fix `test_utf8_mode." -"test_cmd_line` for AIX" -msgstr "" - -#: ../../../build/NEWS:13578 -msgid "" -"`bpo-34490 `__: On AIX with AF_UNIX " -"family sockets getsockname() does not provide 'sockname', so skip calls to " -"transport.get_extra_info('sockname')" -msgstr "" - -#: ../../../build/NEWS:13581 -msgid "" -"`bpo-34391 `__: Fix ftplib test for TLS " -"1.3 by reading from data socket." -msgstr "" - -#: ../../../build/NEWS:13583 -msgid "" -"`bpo-11192 `__: Fix `test_socket` on AIX " -"6.1 and later IPv6 zone id supports only supported by inet_pton6_zone() " -"Switch to runtime-based platform.system() to establish current platform " -"rather than build-time based sys.platform()" -msgstr "" - -#: ../../../build/NEWS:13588 -msgid "" -"`bpo-34399 `__: Update all RSA keys and " -"DH params to use at least 2048 bits." -msgstr "" - -#: ../../../build/NEWS:13590 -msgid "" -"`bpo-34373 `__: Fix ``test_mktime`` and " -"``test_pthread_getcpuclickid`` tests for AIX Add range checking for " -"``_PyTime_localtime`` for AIX Patch by Michael Felt" -msgstr "" - -#: ../../../build/NEWS:13594 -msgid "" -"`bpo-11191 `__: Skip the distutils test " -"'test_search_cpp' when using XLC as compiler patch by aixtools (Michael Felt)" -msgstr "" - -#: ../../../build/NEWS:13597 -msgid "Improved an error message when mock assert_has_calls fails." -msgstr "" - -#: ../../../build/NEWS:13599 -msgid "" -"`bpo-33746 `__: Fix test_unittest when " -"run in verbose mode." -msgstr "" - -#: ../../../build/NEWS:13601 -msgid "" -"`bpo-33901 `__: Fix test_dbm_gnu on " -"macOS with gdbm 1.15: add a larger value to make sure that the file size " -"changes." -msgstr "" - -#: ../../../build/NEWS:13604 -msgid "" -"`bpo-33873 `__: Fix a bug in " -"``regrtest`` that caused an extra test to run if --huntrleaks/-R was used. " -"Exit with error in case that invalid parameters are specified to --" -"huntrleaks/-R (at least one warmup run and one repetition must be used)." -msgstr "" - -#: ../../../build/NEWS:13609 -msgid "" -"`bpo-33562 `__: Check that a global " -"asyncio event loop policy is not left behind by any tests." -msgstr "" - -#: ../../../build/NEWS:13612 ../../../build/NEWS:14510 -#: ../../../build/NEWS:18999 -msgid "" -"`bpo-33655 `__: Ignore " -"test_posix_fallocate failures on BSD platforms that might be due to running " -"on ZFS." -msgstr "" - -#: ../../../build/NEWS:13615 -msgid "" -"`bpo-32962 `__: Fixed test_gdb when " -"Python is compiled with flags -mcet -fcf-protection -O0." -msgstr "" - -#: ../../../build/NEWS:13618 ../../../build/NEWS:14664 -msgid "" -"`bpo-33358 `__: Fix ``test_embed." -"test_pre_initialization_sys_options()`` when the interpreter is built with " -"``--enable-shared``." -msgstr "" - -#: ../../../build/NEWS:13621 ../../../build/NEWS:14880 -#: ../../../build/NEWS:19112 -msgid "" -"`bpo-32872 `__: Avoid regrtest " -"compatibility issue with namespace packages." -msgstr "" - -#: ../../../build/NEWS:13623 ../../../build/NEWS:14882 -#: ../../../build/NEWS:19337 -msgid "" -"`bpo-32517 `__: Fix failing " -"``test_asyncio`` on macOS 10.12.2+ due to transport of ``KqueueSelector`` " -"loop was not being closed." -msgstr "" - -#: ../../../build/NEWS:13626 -msgid "" -"`bpo-32663 `__: Making sure the " -"`SMTPUTF8SimTests` class of tests gets run in test_smtplib.py." -msgstr "" - -#: ../../../build/NEWS:13629 -msgid "" -"`bpo-27643 `__: Test_C test case needs " -"\"signed short\" bitfields, but the IBM XLC compiler (on AIX) does not " -"support this Skip the code and test when AIX and XLC are used" -msgstr "" - -#: ../../../build/NEWS:13633 -msgid "Applicable to Python2-2.7 and later" -msgstr "" - -#: ../../../build/NEWS:13635 ../../../build/NEWS:14885 -#: ../../../build/NEWS:19002 -msgid "`bpo-19417 `__: Add test_bdb.py." -msgstr "" - -#: ../../../build/NEWS:13637 ../../../build/NEWS:15132 -msgid "" -"`bpo-31809 `__: Add tests to verify " -"connection with secp ECDH curves." -msgstr "" - -#: ../../../build/NEWS:13642 -msgid "" -"`bpo-34691 `__: The _contextvars module " -"is now built into the core Python library on Windows." -msgstr "" - -#: ../../../build/NEWS:13645 -msgid "" -"`bpo-35683 `__: Improved Azure Pipelines " -"build steps and now verifying layouts correctly" -msgstr "" - -#: ../../../build/NEWS:13648 -msgid "" -"`bpo-35642 `__: Remove asynciomodule.c " -"from pythoncore.vcxproj" -msgstr "" - -#: ../../../build/NEWS:13650 -msgid "" -"`bpo-35550 `__: Fix incorrect Solaris " -"#ifdef checks to look for __sun && __SVR4 instead of sun when compiling." -msgstr "" - -#: ../../../build/NEWS:13653 -msgid "" -"`bpo-35499 `__: ``make profile-opt`` no " -"longer replaces ``CFLAGS_NODIST`` with ``CFLAGS``. It now adds profile-" -"guided optimization (PGO) flags to ``CFLAGS_NODIST``: existing " -"``CFLAGS_NODIST`` flags are kept." -msgstr "" - -#: ../../../build/NEWS:13657 -msgid "" -"`bpo-35257 `__: Avoid leaking the linker " -"flags from Link Time Optimizations (LTO) into distutils when compiling C " -"extensions." -msgstr "" - -#: ../../../build/NEWS:13660 -msgid "" -"`bpo-35351 `__: When building Python " -"with clang and LTO, LTO flags are no longer passed into CFLAGS to build " -"third-party C extensions through distutils." -msgstr "" - -#: ../../../build/NEWS:13664 -msgid "" -"`bpo-35139 `__: Fix a compiler error " -"when statically linking `pyexpat` in `Modules/Setup`." -msgstr "" - -#: ../../../build/NEWS:13667 -msgid "" -"`bpo-35059 `__: PCbuild: Set " -"InlineFunctionExpansion to OnlyExplicitInline (\"/Ob1\" option) in pyproject." -"props in Debug mode to expand functions marked as inline. This change should " -"make Python compiled in Debug mode a little bit faster on Windows." -msgstr "" - -#: ../../../build/NEWS:13672 -msgid "" -"`bpo-35011 `__: Restores the use of " -"pyexpatns.h to isolate our embedded copy of the expat C library so that its " -"symbols do not conflict at link or dynamic loading time with an embedding " -"application or other extension modules with their own version of libexpat." -msgstr "" - -#: ../../../build/NEWS:13677 -msgid "" -"`bpo-28015 `__: Have --with-lto works " -"correctly with clang." -msgstr "" - -#: ../../../build/NEWS:13679 -msgid "" -"`bpo-34765 `__: Update the outdated " -"install-sh file to the latest revision from automake v1.16.1" -msgstr "" - -#: ../../../build/NEWS:13682 -msgid "" -"`bpo-34585 `__: Check for floating-point " -"byte order in configure.ac using compilation tests instead of executing " -"code, so that these checks work in cross-compiled builds." -msgstr "" - -#: ../../../build/NEWS:13686 -msgid "" -"`bpo-34710 `__: Fixed SSL module build " -"with OpenSSL & pedantic CFLAGS." -msgstr "" - -#: ../../../build/NEWS:13688 -msgid "" -"`bpo-34582 `__: Add JUnit XML output for " -"regression tests and update Azure DevOps builds." -msgstr "" - -#: ../../../build/NEWS:13691 -msgid "" -"`bpo-34081 `__: Make Sphinx warnings as " -"errors in the Docs Makefile." -msgstr "" - -#: ../../../build/NEWS:13693 -msgid "" -"`bpo-34555 `__: Fix for case where it " -"was not possible to have both ``HAVE_LINUX_VM_SOCKETS_H`` and " -"``HAVE_SOCKADDR_ALG`` be undefined." -msgstr "" - -#: ../../../build/NEWS:13696 -msgid "" -"`bpo-33015 `__: Fix an undefined " -"behaviour in the pthread implementation of :c:func:" -"`PyThread_start_new_thread`: add a function wrapper to always return " -"``NULL``." -msgstr "" - -#: ../../../build/NEWS:13700 -msgid "" -"`bpo-34245 `__: The Python shared " -"library is now installed with write permission (mode 0755), which is the " -"standard way of installing such libraries." -msgstr "" - -#: ../../../build/NEWS:13704 -msgid "" -"`bpo-34121 `__: Fix detection of C11 " -"atomic support on clang." -msgstr "" - -#: ../../../build/NEWS:13706 -msgid "" -"`bpo-32430 `__: Rename Modules/Setup." -"dist to Modules/Setup, and remove the necessity to copy the former manually " -"to the latter when updating the local source tree." -msgstr "" - -#: ../../../build/NEWS:13710 -msgid "" -"`bpo-30345 `__: Add -g to LDFLAGS when " -"compiling with LTO to get debug symbols." -msgstr "" - -#: ../../../build/NEWS:13712 ../../../build/NEWS:14297 -#: ../../../build/NEWS:19007 -msgid "" -"`bpo-5755 `__: Move ``-Wstrict-" -"prototypes`` option to ``CFLAGS_NODIST`` from ``OPT``. This option emitted " -"annoying warnings when building extension modules written in C++." -msgstr "" - -#: ../../../build/NEWS:13716 ../../../build/NEWS:14519 -#: ../../../build/NEWS:19011 -msgid "" -"`bpo-33614 `__: Ensures module " -"definition files for the stable ABI on Windows are correctly regenerated." -msgstr "" - -#: ../../../build/NEWS:13719 -msgid "" -"`bpo-33648 `__: The --with-c-locale-" -"warning configuration flag has been removed. It has had no effect for about " -"a year." -msgstr "" - -#: ../../../build/NEWS:13722 ../../../build/NEWS:14522 -#: ../../../build/NEWS:19014 -msgid "" -"`bpo-33522 `__: Enable CI builds on " -"Visual Studio Team Services at https://python.visualstudio.com/cpython" -msgstr "" - -#: ../../../build/NEWS:13725 -msgid "" -"`bpo-33512 `__: configure's check for " -"\"long double\" has been simplified" -msgstr "" - -#: ../../../build/NEWS:13727 -msgid "" -"`bpo-33483 `__: C compiler is now " -"correctly detected from the standard environment variables. --without-gcc " -"and --with-icc options have been removed." -msgstr "" - -#: ../../../build/NEWS:13731 ../../../build/NEWS:14670 -#: ../../../build/NEWS:19021 -msgid "" -"`bpo-33394 `__: Enable the verbose build " -"for extension modules, when GNU make is passed macros on the command line." -msgstr "" - -#: ../../../build/NEWS:13734 ../../../build/NEWS:14673 -msgid "" -"`bpo-33393 `__: Update config.guess and " -"config.sub files." -msgstr "" - -#: ../../../build/NEWS:13736 ../../../build/NEWS:14675 -msgid "" -"`bpo-33377 `__: Add new triplets for " -"mips r6 and riscv variants (used in extension suffixes)." -msgstr "" - -#: ../../../build/NEWS:13739 ../../../build/NEWS:14678 -msgid "" -"`bpo-32232 `__: By default, modules " -"configured in `Modules/Setup` are no longer built with `-DPy_BUILD_CORE`. " -"Instead, modules that specifically need that preprocessor definition include " -"it in their individual entries." -msgstr "" - -#: ../../../build/NEWS:13743 ../../../build/NEWS:14682 -msgid "" -"`bpo-33182 `__: The embedding tests can " -"once again be built with clang 6.0" -msgstr "" - -#: ../../../build/NEWS:13745 ../../../build/NEWS:14890 -#: ../../../build/NEWS:19117 -msgid "" -"`bpo-33163 `__: Upgrade pip to 9.0.3 and " -"setuptools to v39.0.1." -msgstr "" - -#: ../../../build/NEWS:13747 -msgid "" -"`bpo-33012 `__: gcc 8 has added a new " -"warning heuristic to detect invalid function casts and a stock python build " -"seems to hit that warning quite often. The most common is the cast of a " -"METH_NOARGS function (that uses just one argument) to a PyCFunction. Fix " -"this by adding a dummy argument to all functions that implement METH_NOARGS." -msgstr "" - -#: ../../../build/NEWS:13753 ../../../build/NEWS:15137 -msgid "" -"`bpo-32898 `__: Fix the python debug " -"build when using COUNT_ALLOCS." -msgstr "" - -#: ../../../build/NEWS:13755 -msgid "" -"`bpo-29442 `__: Replace optparse with " -"argparse in setup.py" -msgstr "" - -#: ../../../build/NEWS:13760 -msgid "" -"`bpo-35890 `__: Fix API calling " -"consistency of GetVersionEx and wcstok." -msgstr "" - -#: ../../../build/NEWS:13762 -msgid "" -"`bpo-32560 `__: The ``py`` launcher now " -"forwards its ``STARTUPINFO`` structure to child processes." -msgstr "" - -#: ../../../build/NEWS:13765 -msgid "" -"`bpo-35854 `__: Fix EnvBuilder and --" -"symlinks in venv on Windows" -msgstr "" - -#: ../../../build/NEWS:13767 -msgid "" -"`bpo-35811 `__: Avoid propagating venv " -"settings when launching via py.exe" -msgstr "" - -#: ../../../build/NEWS:13769 -msgid "" -"`bpo-35797 `__: Fix default executable " -"used by the multiprocessing module" -msgstr "" - -#: ../../../build/NEWS:13771 -msgid "" -"`bpo-35758 `__: Allow building on ARM " -"with MSVC." -msgstr "" - -#: ../../../build/NEWS:13773 -msgid "" -"`bpo-29734 `__: Fix handle leaks in os." -"stat on Windows." -msgstr "" - -#: ../../../build/NEWS:13775 -msgid "" -"`bpo-35596 `__: Use unchecked PYCs for " -"the embeddable distro to avoid zipimport restrictions." -msgstr "" - -#: ../../../build/NEWS:13778 -msgid "" -"`bpo-35596 `__: Fix vcruntime140.dll " -"being added to embeddable distro multiple times." -msgstr "" - -#: ../../../build/NEWS:13781 -msgid "" -"`bpo-35402 `__: Update Windows build to " -"use Tcl and Tk 8.6.9" -msgstr "" - -#: ../../../build/NEWS:13783 -msgid "" -"`bpo-35401 `__: Updates Windows build to " -"OpenSSL 1.1.0j" -msgstr "" - -#: ../../../build/NEWS:13785 -msgid "" -"`bpo-34977 `__: venv on Windows will now " -"use a python.exe redirector rather than copying the actual binaries from the " -"base environment." -msgstr "" - -#: ../../../build/NEWS:13788 -msgid "" -"`bpo-34977 `__: Adds support for " -"building a Windows App Store package" -msgstr "" - -#: ../../../build/NEWS:13790 -msgid "" -"`bpo-35067 `__: Remove _distutils_findvs " -"module and use vswhere.exe instead." -msgstr "" - -#: ../../../build/NEWS:13792 -msgid "" -"`bpo-32557 `__: Allow shutil.disk_usage " -"to take a file path on Windows" -msgstr "" - -#: ../../../build/NEWS:13794 -msgid "" -"`bpo-34770 `__: Fix a possible null " -"pointer dereference in pyshellext.cpp." -msgstr "" - -#: ../../../build/NEWS:13796 -msgid "" -"`bpo-34603 `__: Fix returning structs " -"from functions produced by MSVC" -msgstr "" - -#: ../../../build/NEWS:13798 -msgid "" -"`bpo-34581 `__: Guard MSVC-specific code " -"in socketmodule.c with ``#ifdef _MSC_VER``." -msgstr "" - -#: ../../../build/NEWS:13801 -msgid "" -"`bpo-34532 `__: Fixes exit code of list " -"version arguments for py.exe." -msgstr "" - -#: ../../../build/NEWS:13803 -msgid "" -"`bpo-34062 `__: Fixed the '--list' and " -"'--list-paths' arguments for the py.exe launcher" -msgstr "" - -#: ../../../build/NEWS:13806 -msgid "" -"`bpo-34225 `__: Ensure INCLUDE and LIB " -"directories do not end with a backslash." -msgstr "" - -#: ../../../build/NEWS:13808 -msgid "" -"`bpo-34011 `__: A suite of code has been " -"changed which copied across DLLs and init.tcl from the running Python " -"location into a venv being created. These copies are needed only when " -"running from a Python source build, and the copying code is now only run " -"when that is the case, rather than whenever a venv is created." -msgstr "" - -#: ../../../build/NEWS:13814 -msgid "" -"`bpo-34006 `__: Revert line length limit " -"for Windows help docs. The line-length limit is not needed because the pages " -"appear in a separate app rather than on a browser tab. It can also interact " -"badly with the DPI setting." -msgstr "" - -#: ../../../build/NEWS:13818 -msgid "" -"`bpo-31546 `__: Restore running " -"PyOS_InputHook while waiting for user input at the prompt. The restores " -"integration of interactive GUI windows (such as Matplotlib figures) with the " -"prompt on Windows." -msgstr "" - -#: ../../../build/NEWS:13822 -msgid "" -"`bpo-30237 `__: Output error when " -"ReadConsole is canceled by CancelSynchronousIo instead of crashing." -msgstr "" - -#: ../../../build/NEWS:13825 -msgid "" -"`bpo-33895 `__: GIL is released while " -"calling functions that acquire Windows loader lock." -msgstr "" - -#: ../../../build/NEWS:13828 ../../../build/NEWS:14304 -msgid "" -"`bpo-33720 `__: Reduces maximum marshal " -"recursion depth on release builds." -msgstr "" - -#: ../../../build/NEWS:13830 -msgid "" -"`bpo-29097 `__: Fix bug where :meth:" -"`datetime.fromtimestamp` erroneously throws an :exc:`OSError` on Windows for " -"values between 0 and 86400. Patch by Ammar Askar." -msgstr "" - -#: ../../../build/NEWS:13834 -msgid "" -"`bpo-33316 `__: PyThread_release_lock " -"always fails" -msgstr "" - -#: ../../../build/NEWS:13836 ../../../build/NEWS:14687 -msgid "" -"`bpo-33184 `__: Update Windows installer " -"to use OpenSSL 1.1.0h." -msgstr "" - -#: ../../../build/NEWS:13838 -msgid "" -"`bpo-32890 `__: Fix usage of " -"GetLastError() instead of errno in os.execve() and os.truncate()." -msgstr "" - -#: ../../../build/NEWS:13841 ../../../build/NEWS:14895 -#: ../../../build/NEWS:19358 -msgid "" -"`bpo-33016 `__: Fix potential use of " -"uninitialized memory in nt._getfinalpathname" -msgstr "" - -#: ../../../build/NEWS:13844 ../../../build/NEWS:14898 -#: ../../../build/NEWS:19361 -msgid "" -"`bpo-32903 `__: Fix a memory leak in os." -"chdir() on Windows if the current directory is set to a UNC path." -msgstr "" - -#: ../../../build/NEWS:13847 ../../../build/NEWS:15142 -msgid "" -"`bpo-32901 `__: Update Tcl and Tk " -"versions to 8.6.8" -msgstr "" - -#: ../../../build/NEWS:13849 ../../../build/NEWS:15144 -#: ../../../build/NEWS:19364 -msgid "" -"`bpo-31966 `__: Fixed WindowsConsoleIO." -"write() for writing empty data." -msgstr "" - -#: ../../../build/NEWS:13851 ../../../build/NEWS:15146 -#: ../../../build/NEWS:19366 -msgid "" -"`bpo-32409 `__: Ensures activate.bat can " -"handle Unicode contents." -msgstr "" - -#: ../../../build/NEWS:13853 ../../../build/NEWS:15148 -#: ../../../build/NEWS:19368 -msgid "" -"`bpo-32457 `__: Improves handling of " -"denormalized executable path when launching Python." -msgstr "" - -#: ../../../build/NEWS:13856 ../../../build/NEWS:15151 -#: ../../../build/NEWS:19371 -msgid "" -"`bpo-32370 `__: Use the correct encoding " -"for ipconfig output in the uuid module. Patch by Segev Finer." -msgstr "" - -#: ../../../build/NEWS:13859 ../../../build/NEWS:15154 -#: ../../../build/NEWS:19374 -msgid "" -"`bpo-29248 `__: Fix :func:`os.readlink` " -"on Windows, which was mistakenly treating the ``PrintNameOffset`` field of " -"the reparse data buffer as a number of characters instead of bytes. Patch by " -"Craig Holmquist and SSE4." -msgstr "" - -#: ../../../build/NEWS:13863 -msgid "" -"`bpo-1104 `__: Correctly handle string " -"length in ``msilib.SummaryInfo.GetProperty()`` to prevent it from truncating " -"the last character." -msgstr "" - -#: ../../../build/NEWS:13870 -msgid "" -"`bpo-35401 `__: Update macOS installer " -"to use OpenSSL 1.1.0j." -msgstr "" - -#: ../../../build/NEWS:13872 -msgid "" -"`bpo-35025 `__: Properly guard the use " -"of the ``CLOCK_GETTIME`` et al. macros in ``timemodule`` on macOS." -msgstr "" - -#: ../../../build/NEWS:13875 -msgid "" -"`bpo-24658 `__: On macOS, fix reading " -"from and writing into a file with a size larger than 2 GiB." -msgstr "" - -#: ../../../build/NEWS:13878 -msgid "" -"`bpo-34405 `__: Update to OpenSSL 1.1.0i " -"for macOS installer builds." -msgstr "" - -#: ../../../build/NEWS:13880 -msgid "" -"`bpo-33635 `__: In macOS stat on some " -"file descriptors (/dev/fd/3 f.e) will result in bad file descriptor OSError. " -"Guard against this exception was added in is_dir, is_file and similar " -"methods. DirEntry.is_dir can also throw this exception so " -"_RecursiveWildcardSelector._iterate_directories was also extended with the " -"same error ignoring pattern." -msgstr "" - -#: ../../../build/NEWS:13886 ../../../build/NEWS:14532 -msgid "" -"`bpo-13631 `__: The .editrc file in " -"user's home directory is now processed correctly during the readline " -"initialization through editline emulation on macOS." -msgstr "" - -#: ../../../build/NEWS:13890 ../../../build/NEWS:14692 -msgid "" -"`bpo-33184 `__: Update macOS installer " -"build to use OpenSSL 1.1.0h." -msgstr "" - -#: ../../../build/NEWS:13892 ../../../build/NEWS:14904 -msgid "" -"`bpo-32726 `__: Build and link with " -"private copy of Tcl/Tk 8.6 for the macOS 10.6+ installer. The 10.9+ " -"installer variant already does this. This means that the Python 3.7 " -"provided by the python.org macOS installers no longer need or use any " -"external versions of Tcl/Tk, either system-provided or user-installed, such " -"as ActiveTcl." -msgstr "" - -#: ../../../build/NEWS:13898 ../../../build/NEWS:15161 -msgid "" -"`bpo-32901 `__: Update macOS 10.9+ " -"installer to Tcl/Tk 8.6.8." -msgstr "" - -#: ../../../build/NEWS:13900 -msgid "" -"`bpo-31903 `__: In :mod:`_scproxy`, drop " -"the GIL when calling into ``SystemConfiguration`` to avoid deadlocks." -msgstr "" - -#: ../../../build/NEWS:13906 -msgid "" -"`bpo-35770 `__: IDLE macosx deletes " -"Options => Configure IDLE. It previously deleted Window => Zoom Height by " -"mistake. (Zoom Height is now on the Options menu). On Mac, the settings " -"dialog is accessed via Preferences on the IDLE menu." -msgstr "" - -#: ../../../build/NEWS:13911 -msgid "" -"`bpo-35769 `__: Change IDLE's new file " -"name from 'Untitled' to 'untitled'" -msgstr "" - -#: ../../../build/NEWS:13913 -msgid "" -"`bpo-35660 `__: Fix imports in idlelib." -"window." -msgstr "" - -#: ../../../build/NEWS:13915 -msgid "" -"`bpo-35641 `__: Proper format `calltip` " -"when the function has no docstring." -msgstr "" - -#: ../../../build/NEWS:13917 -msgid "" -"`bpo-33987 `__: Use ttk Frame for ttk " -"widgets." -msgstr "" - -#: ../../../build/NEWS:13919 -msgid "" -"`bpo-34055 `__: Fix erroneous 'smart' " -"indents and newlines in IDLE Shell." -msgstr "" - -#: ../../../build/NEWS:13921 -msgid "" -"`bpo-35591 `__: Find Selection now works " -"when selection not found." -msgstr "" - -#: ../../../build/NEWS:13923 -msgid "" -"`bpo-35196 `__: Speed up squeezer line " -"counting." -msgstr "" - -#: ../../../build/NEWS:13925 -msgid "" -"`bpo-35598 `__: Update config_key: use " -"PEP 8 names and ttk widgets, make some objects global, and add tests." -msgstr "" - -#: ../../../build/NEWS:13928 -msgid "" -"`bpo-28097 `__: Add Previous/Next " -"History entries to Shell menu." -msgstr "" - -#: ../../../build/NEWS:13930 -msgid "" -"`bpo-35208 `__: Squeezer now properly " -"counts wrapped lines before newlines." -msgstr "" - -#: ../../../build/NEWS:13932 -msgid "" -"`bpo-35555 `__: Gray out Code Context " -"menu entry when it's not applicable." -msgstr "" - -#: ../../../build/NEWS:13934 -msgid "" -"`bpo-35521 `__: Document the IDLE editor " -"code context feature. Add some internal references within the IDLE doc." -msgstr "" - -#: ../../../build/NEWS:13937 -msgid "" -"`bpo-22703 `__: The Code Context menu " -"label now toggles between Show/Hide Code Context. The Zoom Height menu now " -"toggles between Zoom/Restore Height. Zoom Height has moved from the Window " -"menu to the Options menu." -msgstr "" - -#: ../../../build/NEWS:13941 -msgid "" -"`bpo-35213 `__: Where appropriate, use " -"'macOS' in idlelib." -msgstr "" - -#: ../../../build/NEWS:13943 -msgid "" -"`bpo-34864 `__: On macOS, warn if the " -"system preference \"Prefer tabs when opening documents\" is set to \"Always" -"\"." -msgstr "" - -#: ../../../build/NEWS:13946 -msgid "" -"`bpo-34864 `__: Document two IDLE on " -"MacOS issues. The System Preferences Dock \"prefer tabs always\" setting " -"disables some IDLE features. Menus are a bit different than as described " -"for Windows and Linux." -msgstr "" - -#: ../../../build/NEWS:13950 -msgid "" -"`bpo-35202 `__: Remove unused imports " -"from lib/idlelib" -msgstr "" - -#: ../../../build/NEWS:13952 -msgid "" -"`bpo-33000 `__: Document that IDLE's " -"shell has no line limit. A program that runs indefinitely can overfill " -"memory." -msgstr "" - -#: ../../../build/NEWS:13955 -msgid "" -"`bpo-23220 `__: Explain how IDLE's Shell " -"displays output." -msgstr "" - -#: ../../../build/NEWS:13957 -msgid "" -"`bpo-35099 `__: Improve the doc about " -"IDLE running user code. The section is renamed from \"IDLE -- console " -"differences\" is renamed \"Running user code\". It mostly covers the " -"implications of using custom sys.stdxxx objects." -msgstr "" - -#: ../../../build/NEWS:13961 -msgid "" -"`bpo-35097 `__: Add IDLE doc subsection " -"explaining editor windows. Topics include opening, title and status bar, ." -"py* extension, and running." -msgstr "" - -#: ../../../build/NEWS:13964 -msgid "" -"`bpo-35093 `__: Document the IDLE " -"document viewer in the IDLE doc. Add a paragraph in \"Help and preferences" -"\", \"Help sources\" subsection." -msgstr "" - -#: ../../../build/NEWS:13967 -msgid "" -"`bpo-35088 `__: Update idlelib.help." -"copy_string docstring. We now use git and backporting instead of hg and " -"forward merging." -msgstr "" - -#: ../../../build/NEWS:13970 -msgid "" -"`bpo-35087 `__: Update idlelib help " -"files for the current doc build. The main change is the elimination of " -"chapter-section numbers." -msgstr "" - -#: ../../../build/NEWS:13973 -msgid "" -"`bpo-34548 `__: Use configured color " -"theme for read-only text views." -msgstr "" - -#: ../../../build/NEWS:13975 -msgid "" -"`bpo-1529353 `__: Enable \"squeezing\" " -"of long outputs in the shell, to avoid performance degradation and to clean " -"up the history without losing it. Squeezed outputs may be copied, viewed in " -"a separate window, and \"unsqueezed\"." -msgstr "" - -#: ../../../build/NEWS:13980 -msgid "" -"`bpo-34047 `__: Fixed mousewheel " -"scrolling direction on macOS." -msgstr "" - -#: ../../../build/NEWS:13982 -msgid "" -"`bpo-34275 `__: Make IDLE calltips " -"always visible on Mac. Some MacOS-tk combinations need .update_idletasks(). " -"Patch by Kevin Walzer." -msgstr "" - -#: ../../../build/NEWS:13985 -msgid "" -"`bpo-34120 `__: Fix unresponsiveness " -"after closing certain windows and dialogs." -msgstr "" - -#: ../../../build/NEWS:13987 -msgid "" -"`bpo-33975 `__: Avoid small type when " -"running htests. Since part of the purpose of human-viewed tests is to " -"determine that widgets look right, it is important that they look the same " -"for testing as when running IDLE." -msgstr "" - -#: ../../../build/NEWS:13991 -msgid "" -"`bpo-33905 `__: Add test for idlelib." -"stackview.StackBrowser." -msgstr "" - -#: ../../../build/NEWS:13993 -msgid "" -"`bpo-33924 `__: Change mainmenu.menudefs " -"key 'windows' to 'window'. Every other menudef key is lowercase version of " -"main menu entry." -msgstr "" - -#: ../../../build/NEWS:13996 -msgid "" -"`bpo-33906 `__: Rename idlelib.windows " -"as window Match Window on the main menu and remove last plural module name." -msgstr "" - -#: ../../../build/NEWS:13999 -msgid "" -"`bpo-33917 `__: Fix and document idlelib/" -"idle_test/template.py. The revised file compiles, runs, and tests OK. " -"idle_test/README.txt explains how to use it to create new IDLE test files." -msgstr "" - -#: ../../../build/NEWS:14003 -msgid "" -"`bpo-33904 `__: IDLE: In rstrip, rename " -"class RstripExtension as Rstrip" -msgstr "" - -#: ../../../build/NEWS:14005 -msgid "" -"`bpo-33907 `__: For consistency and " -"clarity, rename an IDLE module and classes. Module calltips and its class " -"CallTips are now calltip and Calltip. In module calltip_w, class CallTip is " -"now CalltipWindow." -msgstr "" - -#: ../../../build/NEWS:14009 -msgid "" -"`bpo-33856 `__: Add \"help\" in the " -"welcome message of IDLE" -msgstr "" - -#: ../../../build/NEWS:14011 -msgid "" -"`bpo-33839 `__: IDLE: refactor ToolTip " -"and CallTip and add documentation and tests" -msgstr "" - -#: ../../../build/NEWS:14014 -msgid "" -"`bpo-33855 `__: Minimally test all IDLE " -"modules. Add missing files, import module, instantiate classes, and check " -"coverage. Check existing files." -msgstr "" - -#: ../../../build/NEWS:14017 ../../../build/NEWS:14309 -#: ../../../build/NEWS:19037 -msgid "" -"`bpo-33656 `__: On Windows, add API call " -"saying that tk scales for DPI. On Windows 8.1+ or 10, with DPI compatibility " -"properties of the Python binary unchanged, and a monitor resolution greater " -"than 96 DPI, this should make text and lines sharper. It should otherwise " -"have no effect." -msgstr "" - -#: ../../../build/NEWS:14022 ../../../build/NEWS:14314 -#: ../../../build/NEWS:19042 -msgid "" -"`bpo-33768 `__: Clicking on a context " -"line moves that line to the top of the editor window." -msgstr "" - -#: ../../../build/NEWS:14025 ../../../build/NEWS:14317 -#: ../../../build/NEWS:19045 -msgid "" -"`bpo-33763 `__: IDLE: Use read-only text " -"widget for code context instead of label widget." -msgstr "" - -#: ../../../build/NEWS:14028 ../../../build/NEWS:14320 -#: ../../../build/NEWS:19048 -msgid "" -"`bpo-33664 `__: Scroll IDLE editor text " -"by lines. Previously, the mouse wheel and scrollbar slider moved text by a " -"fixed number of pixels, resulting in partial lines at the top of the editor " -"box. The change also applies to the shell and grep output windows, but not " -"to read-only text views." -msgstr "" - -#: ../../../build/NEWS:14033 ../../../build/NEWS:14325 -#: ../../../build/NEWS:19053 -msgid "" -"`bpo-33679 `__: Enable theme-specific " -"color configuration for Code Context. Use the Highlights tab to see the " -"setting for built-in themes or add settings to custom themes." -msgstr "" - -#: ../../../build/NEWS:14037 ../../../build/NEWS:14329 -#: ../../../build/NEWS:19057 -msgid "" -"`bpo-33642 `__: Display up to maxlines " -"non-blank lines for Code Context. If there is no current context, show a " -"single blank line." -msgstr "" - -#: ../../../build/NEWS:14040 ../../../build/NEWS:14539 -#: ../../../build/NEWS:19060 -msgid "" -"`bpo-33628 `__: IDLE: Cleanup " -"codecontext.py and its test." -msgstr "" - -#: ../../../build/NEWS:14042 ../../../build/NEWS:14541 -#: ../../../build/NEWS:19062 -msgid "" -"`bpo-33564 `__: IDLE's code context now " -"recognizes async as a block opener." -msgstr "" - -#: ../../../build/NEWS:14044 ../../../build/NEWS:14697 -#: ../../../build/NEWS:19067 -msgid "" -"`bpo-21474 `__: Update word/identifier " -"definition from ascii to unicode. In text and entry boxes, this affects " -"selection by double-click, movement left/right by control-left/right, and " -"deletion left/right by control-BACKSPACE/DEL." -msgstr "" - -#: ../../../build/NEWS:14049 ../../../build/NEWS:14702 -#: ../../../build/NEWS:19072 -msgid "" -"`bpo-33204 `__: IDLE: consistently color " -"invalid string prefixes. A 'u' string prefix cannot be paired with either " -"'r' or 'f'. Consistently color as much of the prefix, starting at the right, " -"as is valid. Revise and extend colorizer test." -msgstr "" - -#: ../../../build/NEWS:14054 ../../../build/NEWS:14913 -#: ../../../build/NEWS:19391 -msgid "" -"`bpo-32984 `__: Set ``__file__`` while " -"running a startup file. Like Python, IDLE optionally runs one startup file " -"in the Shell window before presenting the first interactive input prompt. " -"For IDLE, ``-s`` runs a file named in environmental variable :envvar:" -"`IDLESTARTUP` or :envvar:`PYTHONSTARTUP`; ``-r file`` runs ``file``. Python " -"sets ``__file__`` to the startup file name before running the file and " -"unsets it before the first prompt. IDLE now does the same when run " -"normally, without the ``-n`` option." -msgstr "" - -#: ../../../build/NEWS:14063 ../../../build/NEWS:14922 -#: ../../../build/NEWS:19400 -msgid "" -"`bpo-32940 `__: Simplify and rename " -"StringTranslatePseudoMapping in pyparse." -msgstr "" - -#: ../../../build/NEWS:14065 ../../../build/NEWS:15166 -#: ../../../build/NEWS:19402 -msgid "" -"`bpo-32916 `__: Change ``str`` to " -"``code`` in pyparse." -msgstr "" - -#: ../../../build/NEWS:14067 ../../../build/NEWS:15168 -#: ../../../build/NEWS:19404 -msgid "" -"`bpo-32905 `__: Remove unused code in " -"pyparse module." -msgstr "" - -#: ../../../build/NEWS:14069 ../../../build/NEWS:15170 -#: ../../../build/NEWS:19406 -msgid "" -"`bpo-32874 `__: Add tests for pyparse." -msgstr "" - -#: ../../../build/NEWS:14071 ../../../build/NEWS:15172 -#: ../../../build/NEWS:19408 -msgid "" -"`bpo-32837 `__: Using the system and " -"place-dependent default encoding for open() is a bad idea for IDLE's system " -"and location-independent files." -msgstr "" - -#: ../../../build/NEWS:14074 ../../../build/NEWS:15175 -#: ../../../build/NEWS:19411 -msgid "" -"`bpo-32826 `__: Add \"encoding=utf-8\" " -"to open() in IDLE's test_help_about. GUI test test_file_buttons() only looks " -"at initial ascii-only lines, but failed on systems where open() defaults to " -"'ascii' because readline() internally reads and decodes far enough ahead to " -"encounter a non-ascii character in CREDITS.txt." -msgstr "" - -#: ../../../build/NEWS:14080 ../../../build/NEWS:14543 -#: ../../../build/NEWS:19077 -msgid "" -"`bpo-32831 `__: Add docstrings and tests " -"for codecontext." -msgstr "" - -#: ../../../build/NEWS:14082 ../../../build/NEWS:15181 -#: ../../../build/NEWS:19417 -msgid "" -"`bpo-32765 `__: Update configdialog " -"General tab docstring to add new widgets to the widget list." -msgstr "" - -#: ../../../build/NEWS:14088 -msgid "" -"`bpo-35884 `__: Add a benchmark script " -"for timing various ways to access variables: ``Tools/scripts/" -"var_access_benchmark.py``." -msgstr "" - -#: ../../../build/NEWS:14091 -msgid "" -"`bpo-34989 `__: python-gdb.py now " -"handles errors on computing the line number of a Python frame." -msgstr "" - -#: ../../../build/NEWS:14094 -msgid "" -"`bpo-20260 `__: Argument Clinic now has " -"non-bitwise unsigned int converters." -msgstr "" - -#: ../../../build/NEWS:14096 -msgid "" -"`bpo-32962 `__: python-gdb now catches " -"``UnicodeDecodeError`` exceptions when calling ``string()``." -msgstr "" - -#: ../../../build/NEWS:14099 -msgid "" -"`bpo-32962 `__: python-gdb now catches " -"ValueError on read_var(): when Python has no debug symbols for example." -msgstr "" - -#: ../../../build/NEWS:14102 ../../../build/NEWS:14710 -#: ../../../build/NEWS:19082 -msgid "" -"`bpo-33189 `__: :program:`pygettext.py` " -"now recognizes only literal strings as docstrings and translatable strings, " -"and rejects bytes literals and f-string expressions." -msgstr "" - -#: ../../../build/NEWS:14106 ../../../build/NEWS:14714 -#: ../../../build/NEWS:19086 -msgid "" -"`bpo-31920 `__: Fixed handling " -"directories as arguments in the ``pygettext`` script. Based on patch by Oleg " -"Krasnikov." -msgstr "" - -#: ../../../build/NEWS:14109 ../../../build/NEWS:14717 -#: ../../../build/NEWS:19089 -msgid "" -"`bpo-29673 `__: Fix pystackv and pystack " -"gdbinit macros." -msgstr "" - -#: ../../../build/NEWS:14111 -msgid "" -"`bpo-25427 `__: Remove the pyvenv script " -"in favor of ``python3 -m venv`` in order to lower confusion as to what " -"Python interpreter a virtual environment will be created for." -msgstr "" - -#: ../../../build/NEWS:14115 ../../../build/NEWS:14927 -#: ../../../build/NEWS:19091 -msgid "" -"`bpo-32885 `__: Add an ``-n`` flag for " -"``Tools/scripts/pathfix.py`` to disable automatic backup creation (files " -"with ``~`` suffix)." -msgstr "" - -#: ../../../build/NEWS:14118 ../../../build/NEWS:15187 -#: ../../../build/NEWS:19427 -msgid "" -"`bpo-32222 `__: Fix pygettext not " -"extracting docstrings for functions with type annotated arguments. Patch by " -"Toby Harradine." -msgstr "" - -#: ../../../build/NEWS:14121 ../../../build/NEWS:14719 -#: ../../../build/NEWS:19094 -msgid "" -"`bpo-31583 `__: Fix 2to3 for using with " -"--add-suffix option but without --output-dir option for relative path to " -"files in current directory." -msgstr "" - -#: ../../../build/NEWS:14127 -msgid "" -"`bpo-35713 `__: 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." -msgstr "" - -#: ../../../build/NEWS:14132 -msgid "" -"`bpo-33817 `__: Fixed :c:func:" -"`_PyBytes_Resize` for empty bytes objects." -msgstr "" - -#: ../../../build/NEWS:14134 -msgid "" -"`bpo-35322 `__: Fix memory leak in :c:" -"func:`PyUnicode_EncodeLocale` and :c:func:`PyUnicode_EncodeFSDefault` on " -"error handling." -msgstr "" - -#: ../../../build/NEWS:14137 -msgid "" -"`bpo-35059 `__: The following C macros " -"have been converted to static inline functions: :c:func:`Py_INCREF`, :c:func:" -"`Py_DECREF`, :c:func:`Py_XINCREF`, :c:func:`Py_XDECREF`, :c:func:" -"`PyObject_INIT`, :c:func:`PyObject_INIT_VAR`." -msgstr "" - -#: ../../../build/NEWS:14142 -msgid "" -"`bpo-35296 `__: ``make install`` now " -"also installs the internal API: ``Include/internal/*.h`` header files." -msgstr "" - -#: ../../../build/NEWS:14145 -msgid "" -"`bpo-35081 `__: Internal APIs surrounded " -"by ``#ifdef Py_BUILD_CORE`` have been moved from ``Include/*.h`` headers to " -"new header files ``Include/internal/pycore_*.h``." -msgstr "" - -#: ../../../build/NEWS:14149 -msgid "" -"`bpo-35259 `__: Conditionally declare :c:" -"func:`Py_FinalizeEx()` (new in 3.6) based on Py_LIMITED_API. Patch by Arthur " -"Neufeld." -msgstr "" - -#: ../../../build/NEWS:14152 -msgid "" -"`bpo-35081 `__: The :c:func:" -"`_PyObject_GC_TRACK` and :c:func:`_PyObject_GC_UNTRACK` macros have been " -"removed from the public C API." -msgstr "" - -#: ../../../build/NEWS:14156 -msgid "" -"`bpo-35134 `__: Creation of a new " -"``Include/cpython/`` subdirectory." -msgstr "" - -#: ../../../build/NEWS:14158 -msgid "" -"`bpo-34725 `__: Adds " -"_Py_SetProgramFullPath so embedders may override sys.executable" -msgstr "" - -#: ../../../build/NEWS:14161 -msgid "" -"`bpo-34910 `__: Ensure that :c:func:" -"`PyObject_Print` always returns ``-1`` on error. Patch by Zackery Spytz." -msgstr "" - -#: ../../../build/NEWS:14164 -msgid "" -"`bpo-34523 `__: Py_DecodeLocale() and " -"Py_EncodeLocale() now use the UTF-8 encoding on Windows if " -"Py_LegacyWindowsFSEncodingFlag is zero." -msgstr "" - -#: ../../../build/NEWS:14167 -msgid "" -"`bpo-34193 `__: Fix pluralization in " -"TypeError messages in getargs.c and typeobject.c: '1 argument' instead of '1 " -"arguments' and '1 element' instead of '1 elements'." -msgstr "" - -#: ../../../build/NEWS:14171 -msgid "" -"`bpo-34127 `__: Return grammatically " -"correct error message based on argument count. Patch by Karthikeyan " -"Singaravelan." -msgstr "" - -#: ../../../build/NEWS:14174 -msgid "" -"`bpo-23927 `__: Fixed :exc:`SystemError` " -"in :c:func:`PyArg_ParseTupleAndKeywords` when the ``w*`` format unit is used " -"for optional parameter." -msgstr "" - -#: ../../../build/NEWS:14178 -msgid "" -"`bpo-32455 `__: Added :c:func:" -"`PyCompile_OpcodeStackEffectWithJump`." -msgstr "" - -#: ../../../build/NEWS:14180 -msgid "" -"`bpo-34008 `__: Py_Main() can again be " -"called after Py_Initialize(), as in Python 3.6." -msgstr "" - -#: ../../../build/NEWS:14183 -msgid "" -"`bpo-32500 `__: Fixed error messages " -"for :c:func:`PySequence_Size`, :c:func:`PySequence_GetItem`, :c:func:" -"`PySequence_SetItem` and :c:func:`PySequence_DelItem` called with a mapping " -"and :c:func:`PyMapping_Size` called with a sequence." -msgstr "" - -#: ../../../build/NEWS:14188 -msgid "" -"`bpo-33818 `__: :c:func:" -"`PyExceptionClass_Name` will now return ``const char *`` instead of ``char " -"*``." -msgstr "" - -#: ../../../build/NEWS:14191 ../../../build/NEWS:14933 -msgid "" -"`bpo-33042 `__: Embedding applications " -"may once again call PySys_ResetWarnOptions, PySys_AddWarnOption, and " -"PySys_AddXOption prior to calling Py_Initialize." -msgstr "" - -#: ../../../build/NEWS:14195 ../../../build/NEWS:14937 -#: ../../../build/NEWS:19100 -msgid "" -"`bpo-32374 `__: Document that m_traverse " -"for multi-phase initialized modules can be called with m_state=NULL, and add " -"a sanity check" -msgstr "" - -#: ../../../build/NEWS:14198 -msgid "" -"`bpo-30863 `__: :c:func:" -"`PyUnicode_AsWideChar` and :c:func:`PyUnicode_AsWideCharString` no longer " -"cache the ``wchar_t*`` representation of string objects." -msgstr "" - -#: ../../../build/NEWS:14204 -msgid "Python 3.7.0 final" -msgstr "" - -#: ../../../build/NEWS:14206 ../../../build/NEWS:18787 -msgid "*Release date: 2018-06-27*" -msgstr "" - -#: ../../../build/NEWS:14211 -msgid "" -"`bpo-33851 `__: Fix :func:`ast." -"get_docstring` for a node that lacks a docstring." -msgstr "" - -#: ../../../build/NEWS:14217 -msgid "" -"`bpo-33932 `__: Calling Py_Initialize() " -"twice does nothing, instead of failing with a fatal error: restore the " -"Python 3.6 behaviour." -msgstr "" - -#: ../../../build/NEWS:14222 -msgid "Python 3.7.0 release candidate 1" -msgstr "" - -#: ../../../build/NEWS:14224 -msgid "*Release date: 2018-06-12*" -msgstr "" - -#: ../../../build/NEWS:14334 -msgid "Python 3.7.0 beta 5" -msgstr "" - -#: ../../../build/NEWS:14336 -msgid "*Release date: 2018-05-30*" -msgstr "" - -#: ../../../build/NEWS:14349 -msgid "" -"`bpo-20104 `__: The new `os.posix_spawn` " -"added in 3.7.0b1 was removed as we are still working on what the API should " -"look like. Expect this in 3.8 instead." -msgstr "" - -#: ../../../build/NEWS:14483 ../../../build/NEWS:18924 -msgid "" -"`bpo-32861 `__: The urllib.robotparser's " -"``__str__`` representation now includes wildcard entries and the \"Crawl-" -"delay\" and \"Request-rate\" fields. Patch by Michael Lazar." -msgstr "" - -#: ../../../build/NEWS:14513 -msgid "" -"`bpo-32604 `__: Remove the " -"_xxsubinterpreters module (meant for testing) and associated helpers. This " -"module was originally added recently in 3.7b1." -msgstr "" - -#: ../../../build/NEWS:14525 ../../../build/NEWS:19017 -msgid "" -"`bpo-33012 `__: Add ``-Wno-cast-function-" -"type`` for gcc 8 for silencing warnings about function casts like casting to " -"PyCFunction in method definition lists." -msgstr "" - -#: ../../../build/NEWS:14547 -msgid "Python 3.7.0 beta 4" -msgstr "" - -#: ../../../build/NEWS:14549 -msgid "*Release date: 2018-05-02*" -msgstr "" - -#: ../../../build/NEWS:14607 -msgid "" -"`bpo-33185 `__: Fixed regression when " -"running pydoc with the :option:`-m` switch. (The regression was introduced " -"in 3.7.0b3 by the resolution of :issue:`33053`) This fix also changed pydoc " -"to add ``os.getcwd()`` to :data:`sys.path` when necessary, rather than " -"adding ``\".\"``." -msgstr "" - -#: ../../../build/NEWS:14615 -msgid "" -"`bpo-33217 `__: Deprecate looking up non-" -"Enum objects in Enum classes and Enum members (will raise :exc:`TypeError` " -"in 3.8+)." -msgstr "" - -#: ../../../build/NEWS:14724 -msgid "Python 3.7.0 beta 3" -msgstr "" - -#: ../../../build/NEWS:14726 -msgid "*Release date: 2018-03-29*" -msgstr "" - -#: ../../../build/NEWS:14754 ../../../build/NEWS:18827 -msgid "" -"`bpo-33041 `__: Fixed jumping when the " -"function contains an ``async for`` loop." -msgstr "" - -#: ../../../build/NEWS:14852 -msgid "" -"`bpo-31639 `__: http.server now exposes " -"a ThreadedHTTPServer class and uses it when the module is run with ``-m`` to " -"cope with web browsers pre-opening sockets." -msgstr "" - -#: ../../../build/NEWS:14942 -msgid "Python 3.7.0 beta 2" -msgstr "" - -#: ../../../build/NEWS:14944 -msgid "*Release date: 2018-02-27*" -msgstr "" - -#: ../../../build/NEWS:15009 -msgid "" -"`bpo-25988 `__: Emit a :exc:" -"`DeprecationWarning` when using or importing an ABC directly from :mod:" -"`collections` rather than from :mod:`collections.abc`." -msgstr "" - -#: ../../../build/NEWS:15018 -msgid "" -"`bpo-31333 `__: ``_abc`` module is " -"added. It is a speedup module with C implementations for various functions " -"and methods in ``abc``. Creating an ABC subclass and calling ``isinstance`` " -"or ``issubclass`` with an ABC subclass are up to 1.5x faster. In addition, " -"this makes Python start-up up to 10% faster. Note that the new " -"implementation hides internal registry and caches, previously accessible via " -"private attributes ``_abc_registry``, ``_abc_cache``, and " -"``_abc_negative_cache``. There are three debugging helper methods that can " -"be used instead ``_dump_registry``, ``_abc_registry_clear``, and " -"``_abc_caches_clear``." -msgstr "" - -#: ../../../build/NEWS:15192 -msgid "Python 3.7.0 beta 1" -msgstr "" - -#: ../../../build/NEWS:15194 -msgid "*Release date: 2018-01-30*" -msgstr "" - -#: ../../../build/NEWS:15199 -msgid "" -"`bpo-32703 `__: Fix coroutine's " -"ResourceWarning when there's an active error set when it's being finalized." -msgstr "" - -#: ../../../build/NEWS:15202 ../../../build/NEWS:19145 -msgid "" -"`bpo-32650 `__: Pdb and other debuggers " -"dependent on bdb.py will correctly step over (next command) native " -"coroutines. Patch by Pablo Galindo." -msgstr "" - -#: ../../../build/NEWS:15205 -msgid "" -"`bpo-28685 `__: Optimize list.sort() and " -"sorted() by using type specialized comparisons when possible." -msgstr "" - -#: ../../../build/NEWS:15208 ../../../build/NEWS:19148 -msgid "" -"`bpo-32685 `__: Improve suggestion when " -"the Python 2 form of print statement is either present on the same line as " -"the header of a compound statement or else terminated by a semi-colon " -"instead of a newline. Patch by Nitish Chandra." -msgstr "" - -#: ../../../build/NEWS:15213 -msgid "" -"`bpo-32697 `__: Python now explicitly " -"preserves the definition order of keyword-only parameters. It's always " -"preserved their order, but this behavior was never guaranteed before; this " -"behavior is now guaranteed and tested." -msgstr "" - -#: ../../../build/NEWS:15218 -msgid "" -"`bpo-32690 `__: The locals() dictionary " -"now displays in the lexical order that variables were defined. Previously, " -"the order was reversed." -msgstr "" - -#: ../../../build/NEWS:15221 -msgid "" -"`bpo-32677 `__: Add ``.isascii()`` " -"method to ``str``, ``bytes`` and ``bytearray``. It can be used to test that " -"string contains only ASCII characters." -msgstr "" - -#: ../../../build/NEWS:15225 -msgid "" -"`bpo-32670 `__: Enforce :pep:`479` for " -"all code. This means that manually raising a StopIteration exception from a " -"generator is prohibited for all code, regardless of whether 'from __future__ " -"import generator_stop' was used or not." -msgstr "" - -#: ../../../build/NEWS:15230 -msgid "" -"`bpo-32591 `__: Added built-in support " -"for tracking the origin of coroutine objects; see sys." -"set_coroutine_origin_tracking_depth and CoroutineType.cr_origin. This " -"replaces the asyncio debug mode's use of coroutine wrapping for native " -"coroutine objects." -msgstr "" - -#: ../../../build/NEWS:15235 -msgid "" -"`bpo-31368 `__: Expose preadv and " -"pwritev system calls in the os module. Patch by Pablo Galindo" -msgstr "" - -#: ../../../build/NEWS:15238 -msgid "" -"`bpo-32544 `__: ``hasattr(obj, name)`` " -"and ``getattr(obj, name, default)`` are about 4 times faster than before " -"when ``name`` is not found and ``obj`` doesn't override ``__getattr__`` or " -"``__getattribute__``." -msgstr "" - -#: ../../../build/NEWS:15242 ../../../build/NEWS:19156 -msgid "" -"`bpo-26163 `__: Improved frozenset() " -"hash to create more distinct hash values when faced with datasets containing " -"many similar values." -msgstr "" - -#: ../../../build/NEWS:15245 -msgid "" -"`bpo-32550 `__: Remove the " -"STORE_ANNOTATION bytecode." -msgstr "" - -#: ../../../build/NEWS:15247 -msgid "" -"`bpo-20104 `__: Expose posix_spawn as a " -"low level API in the os module. (removed before 3.7.0rc1)" -msgstr "" - -#: ../../../build/NEWS:15250 -msgid "" -"`bpo-24340 `__: Fixed estimation of the " -"code stack size." -msgstr "" - -#: ../../../build/NEWS:15252 -msgid "" -"`bpo-32436 `__: Implement :pep:`567` " -"Context Variables." -msgstr "" - -#: ../../../build/NEWS:15254 ../../../build/NEWS:19169 -msgid "" -"`bpo-18533 `__: ``repr()`` on a dict " -"containing its own ``values()`` or ``items()`` no longer raises " -"``RecursionError``; OrderedDict similarly. Instead, use ``...``, as for " -"other recursive structures. Patch by Ben North." -msgstr "" - -#: ../../../build/NEWS:15259 -msgid "" -"`bpo-20891 `__: Py_Initialize() now " -"creates the GIL. The GIL is no longer created \"on demand\" to fix a race " -"condition when PyGILState_Ensure() is called in a non-Python thread." -msgstr "" - -#: ../../../build/NEWS:15263 ../../../build/NEWS:19174 -msgid "" -"`bpo-32028 `__: Leading whitespace is " -"now correctly ignored when generating suggestions for converting Py2 print " -"statements to Py3 builtin print function calls. Patch by Sanyam Khurana." -msgstr "" - -#: ../../../build/NEWS:15267 -msgid "" -"`bpo-31179 `__: Make dict.copy() up to " -"5.5 times faster." -msgstr "" - -#: ../../../build/NEWS:15269 -msgid "" -"`bpo-31113 `__: Get rid of recursion in " -"the compiler for normal control flow." -msgstr "" - -#: ../../../build/NEWS:15274 -msgid "" -"`bpo-25988 `__: Deprecate exposing the " -"contents of collections.abc in the regular collections module." -msgstr "" - -#: ../../../build/NEWS:15277 -msgid "" -"`bpo-31429 `__: The default cipher suite " -"selection of the ssl module now uses a blacklist approach rather than a hard-" -"coded whitelist. Python no longer re-enables ciphers that have been blocked " -"by OpenSSL security update. Default cipher suite selection can be configured " -"on compile time." -msgstr "" - -#: ../../../build/NEWS:15282 -msgid "" -"`bpo-30306 `__: contextlib." -"contextmanager now releases the arguments passed to the underlying generator " -"as soon as the context manager is entered. Previously it would keep them " -"alive for as long as the context manager was alive, even when not being used " -"as a function decorator. Patch by Martin Teichmann." -msgstr "" - -#: ../../../build/NEWS:15288 -msgid "" -"`bpo-21417 `__: Added support for " -"setting the compression level for zipfile.ZipFile." -msgstr "" - -#: ../../../build/NEWS:15291 -msgid "" -"`bpo-32251 `__: Implement asyncio." -"BufferedProtocol (provisional API)." -msgstr "" - -#: ../../../build/NEWS:15293 -msgid "" -"`bpo-32513 `__: In dataclasses, allow " -"easier overriding of dunder methods without specifying decorator parameters." -msgstr "" - -#: ../../../build/NEWS:15296 -msgid "" -"`bpo-32660 `__: :mod:`termios` makes " -"available ``FIONREAD``, ``FIONCLEX``, ``FIOCLEX``, ``FIOASYNC`` and " -"``FIONBIO`` also under Solaris/derivatives." -msgstr "" - -#: ../../../build/NEWS:15299 ../../../build/NEWS:19249 -msgid "" -"`bpo-27931 `__: Fix email address header " -"parsing error when the username is an empty quoted string. Patch by Xiang " -"Zhang." -msgstr "" - -#: ../../../build/NEWS:15302 -msgid "" -"`bpo-32659 `__: Under Solaris and " -"derivatives, :class:`os.stat_result` provides a st_fstype attribute." -msgstr "" - -#: ../../../build/NEWS:15305 -msgid "" -"`bpo-32662 `__: Implement Server." -"start_serving(), Server.serve_forever(), and Server.is_serving() methods. " -"Add 'start_serving' keyword parameter to loop.create_server() and loop." -"create_unix_server()." -msgstr "" - -#: ../../../build/NEWS:15309 -msgid "" -"`bpo-32391 `__: Implement :meth:`asyncio." -"StreamWriter.wait_closed` and :meth:`asyncio.StreamWriter.is_closing` methods" -msgstr "" - -#: ../../../build/NEWS:15312 -msgid "" -"`bpo-32643 `__: Make Task._step, Task." -"_wakeup and Future._schedule_callbacks methods private." -msgstr "" - -#: ../../../build/NEWS:15315 -msgid "" -"`bpo-32630 `__: Refactor decimal module " -"to use contextvars to store decimal context." -msgstr "" - -#: ../../../build/NEWS:15318 -msgid "" -"`bpo-32622 `__: Add :meth:`asyncio." -"AbstractEventLoop.sendfile` method." -msgstr "" - -#: ../../../build/NEWS:15320 ../../../build/NEWS:19252 -msgid "" -"`bpo-32304 `__: distutils' upload " -"command no longer corrupts tar files ending with a CR byte, and no longer " -"tries to convert CR to CRLF in any of the upload text fields." -msgstr "" - -#: ../../../build/NEWS:15324 ../../../build/NEWS:19256 -msgid "" -"`bpo-32502 `__: uuid.uuid1 no longer " -"raises an exception if a 64-bit hardware address is encountered." -msgstr "" - -#: ../../../build/NEWS:15327 -msgid "" -"`bpo-32596 `__: ``concurrent.futures`` " -"imports ``ThreadPoolExecutor`` and ``ProcessPoolExecutor`` lazily (using :" -"pep:`562`). It makes ``import asyncio`` about 15% faster because asyncio " -"uses only ``ThreadPoolExecutor`` by default." -msgstr "" - -#: ../../../build/NEWS:15332 -msgid "" -"`bpo-31801 `__: Add ``_ignore_`` to " -"``Enum`` so temporary variables can be used during class construction " -"without being turned into members." -msgstr "" - -#: ../../../build/NEWS:15335 -msgid "" -"`bpo-32576 `__: Use queue.SimpleQueue() " -"in places where it can be invoked from a weakref callback." -msgstr "" - -#: ../../../build/NEWS:15338 -msgid "" -"`bpo-32574 `__: Fix memory leak in " -"asyncio.Queue, when the queue has limited size and it is full, the " -"cancelation of queue.put() can cause a memory leak. Patch by: José Melero." -msgstr "" - -#: ../../../build/NEWS:15342 ../../../build/NEWS:19266 -msgid "" -"`bpo-32521 `__: The nis module is now " -"compatible with new libnsl and headers location." -msgstr "" - -#: ../../../build/NEWS:15345 -msgid "" -"`bpo-32467 `__: collections.abc." -"ValuesView now inherits from collections.abc.Collection." -msgstr "" - -#: ../../../build/NEWS:15348 ../../../build/NEWS:19269 -msgid "" -"`bpo-32473 `__: Improve ABCMeta." -"_dump_registry() output readability" -msgstr "" - -#: ../../../build/NEWS:15350 -msgid "" -"`bpo-32102 `__: New argument " -"``capture_output`` for subprocess.run" -msgstr "" - -#: ../../../build/NEWS:15352 ../../../build/NEWS:19271 -msgid "" -"`bpo-32521 `__: glibc has removed Sun " -"RPC. Use replacement libtirpc headers and library in nis module." -msgstr "" - -#: ../../../build/NEWS:15355 -msgid "" -"`bpo-32493 `__: UUID module fixes build " -"for FreeBSD/OpenBSD" -msgstr "" - -#: ../../../build/NEWS:15357 -msgid "" -"`bpo-32503 `__: Pickling with protocol 4 " -"no longer creates too small frames." -msgstr "" - -#: ../../../build/NEWS:15359 -msgid "" -"`bpo-29237 `__: Create enum for pstats " -"sorting options" -msgstr "" - -#: ../../../build/NEWS:15361 -msgid "" -"`bpo-32454 `__: Add close(fd) function " -"to the socket module." -msgstr "" - -#: ../../../build/NEWS:15363 -msgid "" -"`bpo-25942 `__: The subprocess module is " -"now more graceful when handling a Ctrl-C KeyboardInterrupt during subprocess." -"call, subprocess.run, or a Popen context manager. It now waits a short " -"amount of time for the child (presumed to have also gotten the SIGINT) to " -"exit, before continuing the KeyboardInterrupt exception handling. This " -"still includes a SIGKILL in the call() and run() APIs, but at least the " -"child had a chance first." -msgstr "" - -#: ../../../build/NEWS:15370 -msgid "" -"`bpo-32433 `__: The hmac module now has " -"hmac.digest(), which provides an optimized HMAC digest." -msgstr "" - -#: ../../../build/NEWS:15373 -msgid "" -"`bpo-28134 `__: Sockets now auto-detect " -"family, type and protocol from file descriptor by default." -msgstr "" - -#: ../../../build/NEWS:15376 -msgid "" -"`bpo-32404 `__: Fix bug where :meth:" -"`datetime.datetime.fromtimestamp` did not call __new__ in :class:`datetime." -"datetime` subclasses." -msgstr "" - -#: ../../../build/NEWS:15379 -msgid "" -"`bpo-32403 `__: Improved speed of :class:" -"`datetime.date` and :class:`datetime.datetime` alternate constructors." -msgstr "" - -#: ../../../build/NEWS:15382 ../../../build/NEWS:19274 -msgid "" -"`bpo-32228 `__: Ensure that " -"``truncate()`` preserves the file position (as reported by ``tell()``) after " -"writes longer than the buffer size." -msgstr "" - -#: ../../../build/NEWS:15385 -msgid "" -"`bpo-32410 `__: Implement ``loop." -"sock_sendfile`` for asyncio event loop." -msgstr "" - -#: ../../../build/NEWS:15387 -msgid "" -"`bpo-22908 `__: Added seek and tell to " -"the ZipExtFile class. This only works if the file object used to open the " -"zipfile is seekable." -msgstr "" - -#: ../../../build/NEWS:15390 -msgid "" -"`bpo-32373 `__: Add socket.getblocking() " -"method." -msgstr "" - -#: ../../../build/NEWS:15392 -msgid "" -"`bpo-32248 `__: Add :mod:`importlib." -"resources` and :class:`importlib.abc.ResourceReader` as the unified API for " -"reading resources contained within packages. Loaders wishing to support " -"resource reading must implement the :meth:`get_resource_reader()` method. " -"File-based and zipimport-based loaders both implement these APIs. :class:" -"`importlib.abc.ResourceLoader` is deprecated in favor of these new APIs." -msgstr "" - -#: ../../../build/NEWS:15400 -msgid "" -"`bpo-32320 `__: collections.namedtuple() " -"now supports default values." -msgstr "" - -#: ../../../build/NEWS:15402 -msgid "" -"`bpo-29302 `__: Add contextlib." -"AsyncExitStack. Patch by Alexander Mohr and Ilya Kulakov." -msgstr "" - -#: ../../../build/NEWS:15405 -msgid "" -"`bpo-31961 `__: *Removed in Python " -"3.7.0b2.* The *args* argument of subprocess.Popen can now be a :term:`path-" -"like object`. If *args* is given as a sequence, it's first element can now " -"be a :term:`path-like object` as well." -msgstr "" - -#: ../../../build/NEWS:15410 ../../../build/NEWS:19302 -msgid "" -"`bpo-31900 `__: The :func:`locale." -"localeconv` function now sets temporarily the ``LC_CTYPE`` locale to the " -"``LC_NUMERIC`` locale to decode ``decimal_point`` and ``thousands_sep`` byte " -"strings 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. Same change for the :meth:`str.format` method when " -"formatting a number (:class:`int`, :class:`float`, :class:`float` and " -"subclasses) with the ``n`` type (ex: ``'{:n}'.format(1234)``)." -msgstr "" - -#: ../../../build/NEWS:15419 -msgid "" -"`bpo-31853 `__: Use super().method " -"instead of socket.method in SSLSocket. They were there most likely for " -"legacy reasons." -msgstr "" - -#: ../../../build/NEWS:15422 -msgid "" -"`bpo-31399 `__: The ssl module now uses " -"OpenSSL's X509_VERIFY_PARAM_set1_host() and X509_VERIFY_PARAM_set1_ip() API " -"to verify hostname and IP addresses. Subject common name fallback can be " -"disabled with SSLContext.hostname_checks_common_name." -msgstr "" - -#: ../../../build/NEWS:15427 -msgid "" -"`bpo-14976 `__: Add a queue.SimpleQueue " -"class, an unbounded FIFO queue with a reentrant C implementation of put()." -msgstr "" - -#: ../../../build/NEWS:15433 -msgid "" -"`bpo-32724 `__: Add references to some " -"commands in the documentation of Pdb. Patch by Stéphane Wirtel" -msgstr "" - -#: ../../../build/NEWS:15436 -msgid "" -"`bpo-32649 `__: Complete the C API " -"documentation, profiling and tracing part with the newly added per-opcode " -"events." -msgstr "" - -#: ../../../build/NEWS:15439 ../../../build/NEWS:19330 -msgid "" -"`bpo-17799 `__: Explain real behaviour " -"of sys.settrace and sys.setprofile and their C-API counterparts regarding " -"which type of events are received in each function. Patch by Pablo Galindo " -"Salgado." -msgstr "" - -#: ../../../build/NEWS:15446 ../../../build/NEWS:19340 -msgid "" -"`bpo-32721 `__: Fix test_hashlib to not " -"fail if the _md5 module is not built." -msgstr "" - -#: ../../../build/NEWS:15448 -msgid "" -"`bpo-28414 `__: Add test cases for IDNA " -"2003 and 2008 host names. IDNA 2003 internationalized host names are working " -"since `bpo-31399 `__ has landed. IDNA " -"2008 are still broken." -msgstr "" - -#: ../../../build/NEWS:15452 -msgid "" -"`bpo-32604 `__: Add a new " -"\"_xxsubinterpreters\" extension module that exposes the existing " -"subinterpreter C-API and a new cross-interpreter data sharing mechanism. The " -"module is primarily intended for more thorough testing of the existing " -"subinterpreter support. Note that the _xxsubinterpreters module has been " -"removed in 3.7.0rc1." -msgstr "" - -#: ../../../build/NEWS:15458 -msgid "" -"`bpo-32602 `__: Add test certs and test " -"for ECDSA cert and EC/RSA dual mode." -msgstr "" - -#: ../../../build/NEWS:15460 -msgid "" -"`bpo-32549 `__: On Travis CI, Python now " -"Compiles and uses a local copy of OpenSSL 1.1.0g for testing." -msgstr "" - -#: ../../../build/NEWS:15466 ../../../build/NEWS:19352 -msgid "" -"`bpo-32635 `__: Fix segfault of the " -"crypt module when libxcrypt is provided instead of libcrypt at the system." -msgstr "" - -#: ../../../build/NEWS:15469 -msgid "" -"`bpo-32598 `__: Use autoconf to detect " -"OpenSSL libs, headers and supported features. The ax_check_openssl M4 macro " -"uses pkg-config to locate OpenSSL and falls back to manual search." -msgstr "" - -#: ../../../build/NEWS:15473 -msgid "" -"`bpo-32593 `__: Drop support of FreeBSD " -"9 and older." -msgstr "" - -#: ../../../build/NEWS:15475 -msgid "" -"`bpo-29708 `__: If the :envvar:" -"`SOURCE_DATE_EPOCH` environment variable is set, :mod:`py_compile` will " -"always create hash-based ``.pyc`` files." -msgstr "" - -#: ../../../build/NEWS:15481 -msgid "" -"`bpo-32588 `__: Create standalone " -"_distutils_findvs module and add missing _queue module to installer." -msgstr "" - -#: ../../../build/NEWS:15484 -msgid "" -"`bpo-29911 `__: Ensure separate Modify " -"and Uninstall buttons are displayed." -msgstr "" - -#: ../../../build/NEWS:15486 -msgid "" -"`bpo-32507 `__: Use app-local UCRT " -"install rather than the proper update for old versions of Windows." -msgstr "" - -#: ../../../build/NEWS:15492 -msgid "" -"`bpo-32726 `__: Provide an additional, " -"more modern macOS installer variant that supports macOS 10.9+ systems in 64-" -"bit mode only. Upgrade the supplied third-party libraries to OpenSSL 1.1.0g " -"and to SQLite 3.22.0. The 10.9+ installer now links with and supplies its " -"own copy of Tcl/Tk 8.6." -msgstr "" - -#: ../../../build/NEWS:15497 -msgid "" -"`bpo-28440 `__: No longer add /Library/" -"Python/3.x/site-packages to sys.path for macOS framework builds to avoid " -"future conflicts." -msgstr "" - -#: ../../../build/NEWS:15503 -msgid "" -"`bpo-32681 `__: Fix uninitialized " -"variable 'res' in the C implementation of os.dup2. Patch by Stéphane Wirtel" -msgstr "" - -#: ../../../build/NEWS:15506 -msgid "" -"`bpo-10381 `__: Add C API access to the " -"``datetime.timezone`` constructor and ``datetime.timzone.UTC`` singleton." -msgstr "" - -#: ../../../build/NEWS:15511 -msgid "Python 3.7.0 alpha 4" -msgstr "" - -#: ../../../build/NEWS:15513 -msgid "*Release date: 2018-01-08*" -msgstr "" - -#: ../../../build/NEWS:15518 -msgid "" -"`bpo-31975 `__: The default warning " -"filter list now starts with a \"default::DeprecationWarning:__main__\" " -"entry, so deprecation warnings are once again shown by default in single-" -"file scripts and at the interactive prompt." -msgstr "" - -#: ../../../build/NEWS:15523 -msgid "" -"`bpo-32226 `__: ``__class_getitem__`` is " -"now an automatic class method." -msgstr "" - -#: ../../../build/NEWS:15525 -msgid "" -"`bpo-32399 `__: Add AIX uuid library " -"support for RFC4122 using uuid_create() in libc.a" -msgstr "" - -#: ../../../build/NEWS:15528 -msgid "" -"`bpo-32390 `__: Fix the compilation " -"failure on AIX after the f_fsid field has been added to the object returned " -"by os.statvfs() (`bpo-32143 `__). " -"Original patch by Michael Felt." -msgstr "" - -#: ../../../build/NEWS:15532 -msgid "" -"`bpo-32379 `__: Make MRO computation " -"faster when a class inherits from a single base." -msgstr "" - -#: ../../../build/NEWS:15535 -msgid "" -"`bpo-32259 `__: The error message of a " -"TypeError raised when unpack non-iterable is now more specific." -msgstr "" - -#: ../../../build/NEWS:15538 ../../../build/NEWS:19159 -msgid "" -"`bpo-27169 `__: The ``__debug__`` " -"constant is now optimized out at compile time. This fixes also `bpo-22091 " -"`__." -msgstr "" - -#: ../../../build/NEWS:15541 -msgid "" -"`bpo-32329 `__: The :option:`-R` option " -"now turns on hash randomization when the :envvar:`PYTHONHASHSEED` " -"environment variable is set to ``0``. Previously, the option was ignored. " -"Moreover, ``sys.flags.hash_randomization`` is now properly set to 0 when " -"hash randomization is turned off by ``PYTHONHASHSEED=0``." -msgstr "" - -#: ../../../build/NEWS:15547 -msgid "" -"`bpo-30416 `__: The optimizer is now " -"protected from spending much time doing complex calculations and consuming " -"much memory for creating large constants in constant folding. Increased " -"limits for constants that can be produced in constant folding." -msgstr "" - -#: ../../../build/NEWS:15552 ../../../build/NEWS:18829 -msgid "" -"`bpo-32282 `__: Fix an unnecessary ifdef " -"in the include of VersionHelpers.h in socketmodule on Windows." -msgstr "" - -#: ../../../build/NEWS:15555 -msgid "" -"`bpo-30579 `__: Implement TracebackType." -"__new__ to allow Python-level creation of traceback objects, and make " -"TracebackType.tb_next mutable." -msgstr "" - -#: ../../../build/NEWS:15558 -msgid "" -"`bpo-32260 `__: Don't byte swap the " -"input keys to the SipHash algorithm on big-endian platforms. This should " -"ensure siphash gives consistent results across platforms." -msgstr "" - -#: ../../../build/NEWS:15562 -msgid "" -"`bpo-31506 `__: Improve the error " -"message logic for object.__new__ and object.__init__. Patch by Sanyam " -"Khurana." -msgstr "" - -#: ../../../build/NEWS:15565 -msgid "" -"`bpo-20361 `__: ``-b`` and ``-bb`` now " -"inject ``'default::BytesWarning'`` and ``error::BytesWarning`` entries into " -"``sys.warnoptions``, ensuring that they take precedence over any other " -"warning filters configured via the ``-W`` option or the ``PYTHONWARNINGS`` " -"environment variable." -msgstr "" - -#: ../../../build/NEWS:15570 -msgid "" -"`bpo-32230 `__: `-X dev` now injects a " -"``'default'`` entry into sys.warnoptions, ensuring that it behaves " -"identically to actually passing ``-Wdefault`` at the command line." -msgstr "" - -#: ../../../build/NEWS:15574 -msgid "" -"`bpo-29240 `__: Add a new UTF-8 mode: " -"implementation of the :pep:`540`." -msgstr "" - -#: ../../../build/NEWS:15576 -msgid "" -"`bpo-32226 `__: :pep:`560`: Add support " -"for ``__mro_entries__`` and ``__class_getitem__``. Implemented by Ivan " -"Levkivskyi." -msgstr "" - -#: ../../../build/NEWS:15579 -msgid "" -"`bpo-32225 `__: :pep:`562`: Add support " -"for module ``__getattr__`` and ``__dir__``. Implemented by Ivan Levkivskyi." -msgstr "" - -#: ../../../build/NEWS:15582 -msgid "" -"`bpo-31901 `__: The `atexit` module now " -"has its callback stored per interpreter." -msgstr "" - -#: ../../../build/NEWS:15585 -msgid "" -"`bpo-31650 `__: Implement :pep:`552` " -"(Deterministic pycs). Python now supports invalidating bytecode cache files " -"bashed on a source content hash rather than source last-modified time." -msgstr "" - -#: ../../../build/NEWS:15589 -msgid "" -"`bpo-29469 `__: Move constant folding " -"from bytecode layer to AST layer. Original patch by Eugene Toder." -msgstr "" - -#: ../../../build/NEWS:15595 -msgid "" -"`bpo-32506 `__: Now that dict is defined " -"as keeping insertion order, drop OrderedDict and just use plain dict." -msgstr "" - -#: ../../../build/NEWS:15598 -msgid "" -"`bpo-32279 `__: Add params to " -"dataclasses.make_dataclasses(): init, repr, eq, order, hash, and frozen. " -"Pass them through to dataclass()." -msgstr "" - -#: ../../../build/NEWS:15601 -msgid "" -"`bpo-32278 `__: Make type information " -"optional on dataclasses.make_dataclass(). If omitted, the string 'typing." -"Any' is used." -msgstr "" - -#: ../../../build/NEWS:15604 -msgid "" -"`bpo-32499 `__: Add dataclasses." -"is_dataclass(obj), which returns True if obj is a dataclass or an instance " -"of one." -msgstr "" - -#: ../../../build/NEWS:15607 -msgid "" -"`bpo-32468 `__: Improve frame repr() to " -"mention filename, code name and current line number." -msgstr "" - -#: ../../../build/NEWS:15610 -msgid "" -"`bpo-23749 `__: asyncio: Implement loop." -"start_tls()" -msgstr "" - -#: ../../../build/NEWS:15612 -msgid "" -"`bpo-32441 `__: Return the new file " -"descriptor (i.e., the second argument) from ``os.dup2``. Previously, " -"``None`` was always returned." -msgstr "" - -#: ../../../build/NEWS:15615 -msgid "" -"`bpo-32422 `__: ``functools.lru_cache`` " -"uses less memory (3 words for each cached key) and takes about 1/3 time for " -"cyclic GC." -msgstr "" - -#: ../../../build/NEWS:15618 -msgid "" -"`bpo-31721 `__: Prevent Python crash " -"from happening when Future._log_traceback is set to True manually. Now it " -"can only be set to False, or a ValueError is raised." -msgstr "" - -#: ../../../build/NEWS:15622 -msgid "" -"`bpo-32415 `__: asyncio: Add Task." -"get_loop() and Future.get_loop()" -msgstr "" - -#: ../../../build/NEWS:15624 ../../../build/NEWS:19277 -msgid "" -"`bpo-26133 `__: Don't unsubscribe " -"signals in asyncio UNIX event loop on interpreter shutdown." -msgstr "" - -#: ../../../build/NEWS:15627 -msgid "" -"`bpo-32363 `__: Make asyncio.Task." -"set_exception() and set_result() raise NotImplementedError. Task._step() and " -"Future.__await__() raise proper exceptions when they are in an invalid " -"state, instead of raising an AssertionError." -msgstr "" - -#: ../../../build/NEWS:15632 -msgid "" -"`bpo-32357 `__: Optimize asyncio." -"iscoroutine() and loop.create_task() for non-native coroutines (e.g. async/" -"await compiled with Cython). 'loop.create_task(python_coroutine)' used to be " -"20% faster than 'loop.create_task(cython_coroutine)'. Now, the latter is as " -"fast." -msgstr "" - -#: ../../../build/NEWS:15637 -msgid "" -"`bpo-32356 `__: asyncio.transport." -"resume_reading() and pause_reading() are now idempotent. New transport." -"is_reading() method is added." -msgstr "" - -#: ../../../build/NEWS:15640 -msgid "" -"`bpo-32355 `__: Optimize asyncio." -"gather(); now up to 15% faster." -msgstr "" - -#: ../../../build/NEWS:15642 -msgid "" -"`bpo-32351 `__: Use fastpath in asyncio." -"sleep if delay<0 (2x boost)" -msgstr "" - -#: ../../../build/NEWS:15644 -msgid "" -"`bpo-32348 `__: Optimize asyncio.Future " -"schedule/add/remove callback. The optimization shows 3-6% performance " -"improvements of async/await code." -msgstr "" - -#: ../../../build/NEWS:15647 -msgid "" -"`bpo-32331 `__: Fix socket.settimeout() " -"and socket.setblocking() to keep socket.type as is. Fix socket.socket() " -"constructor to reset any bit flags applied to socket's type. This change " -"only affects OSes that have SOCK_NONBLOCK and/or SOCK_CLOEXEC." -msgstr "" - -#: ../../../build/NEWS:15652 -msgid "" -"`bpo-32248 `__: Add :class:`importlib." -"abc.ResourceReader` as an ABC for loaders to provide a unified API for " -"reading resources contained within packages. Also add :mod:`importlib." -"resources` as the port of ``importlib_resources``." -msgstr "" - -#: ../../../build/NEWS:15657 -msgid "" -"`bpo-32311 `__: Implement asyncio." -"create_task(coro) shortcut" -msgstr "" - -#: ../../../build/NEWS:15659 -msgid "" -"`bpo-32327 `__: Convert asyncio " -"functions that were documented as coroutines to coroutines. Affected " -"functions: loop.sock_sendall, loop.sock_recv, loop.sock_accept, loop." -"getaddrinfo, loop.getnameinfo." -msgstr "" - -#: ../../../build/NEWS:15663 ../../../build/NEWS:19283 -msgid "" -"`bpo-32323 `__: :func:`urllib.parse." -"urlsplit()` does not convert zone-id (scope) to lower case for scoped IPv6 " -"addresses in hostnames now." -msgstr "" - -#: ../../../build/NEWS:15666 ../../../build/NEWS:19286 -msgid "" -"`bpo-32302 `__: Fix bdist_wininst of " -"distutils for CRT v142: it binary compatible with CRT v140." -msgstr "" - -#: ../../../build/NEWS:15669 -msgid "" -"`bpo-29711 `__: Fix ``stop_serving`` in " -"asyncio proactor loop kill all listening servers" -msgstr "" - -#: ../../../build/NEWS:15672 -msgid "" -"`bpo-32308 `__: :func:`re.sub()` now " -"replaces empty matches adjacent to a previous non-empty match." -msgstr "" - -#: ../../../build/NEWS:15675 -msgid "" -"`bpo-29970 `__: Abort asyncio " -"SSLProtocol connection if handshake not complete within 10s" -msgstr "" - -#: ../../../build/NEWS:15678 -msgid "" -"`bpo-32314 `__: Implement asyncio.run()." -msgstr "" - -#: ../../../build/NEWS:15680 -msgid "" -"`bpo-17852 `__: Revert incorrect fix " -"based on misunderstanding of _Py_PyAtExit() semantics." -msgstr "" - -#: ../../../build/NEWS:15683 -msgid "" -"`bpo-32296 `__: Implement asyncio." -"_get_running_loop() and get_event_loop() in C. This makes them 4x faster." -msgstr "" - -#: ../../../build/NEWS:15686 -msgid "" -"`bpo-32250 `__: Implement ``asyncio." -"current_task()`` and ``asyncio.all_tasks()``. Add helpers intended to be " -"used by alternative task implementations: ``asyncio._register_task``, " -"``asyncio._enter_task``, ``asyncio._leave_task`` and ``asyncio." -"_unregister_task``. Deprecate ``asyncio.Task.current_task()`` and ``asyncio." -"Task.all_tasks()``." -msgstr "" - -#: ../../../build/NEWS:15692 ../../../build/NEWS:19289 -msgid "" -"`bpo-32255 `__: A single empty field is " -"now always quoted when written into a CSV file. This allows to distinguish " -"an empty row from a row consisting of a single empty field. Patch by Licht " -"Takeuchi." -msgstr "" - -#: ../../../build/NEWS:15696 ../../../build/NEWS:19293 -msgid "" -"`bpo-32277 `__: Raise " -"``NotImplementedError`` instead of ``SystemError`` on platforms where " -"``chmod(..., follow_symlinks=False)`` is not supported. Patch by Anthony " -"Sottile." -msgstr "" - -#: ../../../build/NEWS:15700 -msgid "" -"`bpo-30050 `__: New argument " -"warn_on_full_buffer to signal.set_wakeup_fd lets you control whether Python " -"prints a warning on stderr when the wakeup fd buffer overflows." -msgstr "" - -#: ../../../build/NEWS:15704 -msgid "" -"`bpo-29137 `__: The ``fpectl`` library " -"has been removed. It was never enabled by default, never worked correctly on " -"x86-64, and it changed the Python ABI in ways that caused unexpected " -"breakage of C extensions." -msgstr "" - -#: ../../../build/NEWS:15708 -msgid "" -"`bpo-32273 `__: Move asyncio.test_utils " -"to test.test_asyncio." -msgstr "" - -#: ../../../build/NEWS:15710 -msgid "" -"`bpo-32272 `__: Remove asyncio.async() " -"function." -msgstr "" - -#: ../../../build/NEWS:15712 -msgid "" -"`bpo-32269 `__: Add asyncio." -"get_running_loop() function." -msgstr "" - -#: ../../../build/NEWS:15714 -msgid "" -"`bpo-32265 `__: All class and static " -"methods of builtin types now are correctly classified by inspect." -"classify_class_attrs() and grouped in pydoc ouput. Added types." -"ClassMethodDescriptorType for unbound class methods of builtin types." -msgstr "" - -#: ../../../build/NEWS:15719 -msgid "" -"`bpo-32253 `__: Deprecate ``yield from " -"lock``, ``await lock``, ``with (yield from lock)`` and ``with await lock`` " -"for asyncio synchronization primitives." -msgstr "" - -#: ../../../build/NEWS:15723 -msgid "" -"`bpo-22589 `__: Changed MIME type of ." -"bmp from 'image/x-ms-bmp' to 'image/bmp'" -msgstr "" - -#: ../../../build/NEWS:15725 -msgid "" -"`bpo-32193 `__: Convert asyncio to use " -"*async/await* syntax. Old styled ``yield from`` is still supported too." -msgstr "" - -#: ../../../build/NEWS:15728 -msgid "" -"`bpo-32206 `__: Add support to run " -"modules with pdb" -msgstr "" - -#: ../../../build/NEWS:15730 -msgid "" -"`bpo-32227 `__: ``functools." -"singledispatch`` now supports registering implementations using type " -"annotations." -msgstr "" - -#: ../../../build/NEWS:15733 -msgid "" -"`bpo-15873 `__: Added new alternate " -"constructors :meth:`datetime.datetime.fromisoformat`, :meth:`datetime.time." -"fromisoformat` and :meth:`datetime.date.fromisoformat` as the inverse " -"operation of each classes's respective ``isoformat`` methods." -msgstr "" - -#: ../../../build/NEWS:15739 ../../../build/NEWS:19297 -msgid "" -"`bpo-32199 `__: The getnode() ip getter " -"now uses 'ip link' instead of 'ip link list'." -msgstr "" - -#: ../../../build/NEWS:15742 -msgid "" -"`bpo-32143 `__: os.statvfs() includes " -"the f_fsid field from statvfs(2)" -msgstr "" - -#: ../../../build/NEWS:15744 -msgid "" -"`bpo-26439 `__: Fix ctypes.util." -"find_library() for AIX by implementing ctypes._aix.find_library() Patch by: " -"Michael Felt" -msgstr "" - -#: ../../../build/NEWS:15747 -msgid "" -"`bpo-31993 `__: The pickler now uses " -"less memory when serializing large bytes and str objects into a file. " -"Pickles created with protocol 4 will require less memory for unpickling " -"large bytes and str objects." -msgstr "" - -#: ../../../build/NEWS:15751 ../../../build/NEWS:19300 -msgid "" -"`bpo-27456 `__: Ensure TCP_NODELAY is " -"set on Linux. Tests by Victor Stinner." -msgstr "" - -#: ../../../build/NEWS:15753 -msgid "" -"`bpo-31778 `__: ast.literal_eval() is " -"now more strict. Addition and subtraction of arbitrary numbers no longer " -"allowed." -msgstr "" - -#: ../../../build/NEWS:15756 ../../../build/NEWS:19311 -msgid "" -"`bpo-31802 `__: Importing native path " -"module (``posixpath``, ``ntpath``) now works even if the ``os`` module still " -"is not imported." -msgstr "" - -#: ../../../build/NEWS:15759 -msgid "" -"`bpo-30241 `__: Add contextlib." -"AbstractAsyncContextManager. Patch by Jelle Zijlstra." -msgstr "" - -#: ../../../build/NEWS:15762 -msgid "" -"`bpo-31699 `__: Fix deadlocks in :class:" -"`concurrent.futures.ProcessPoolExecutor` when task arguments or results " -"cause pickling or unpickling errors. This should make sure that calls to " -"the :class:`ProcessPoolExecutor` API always eventually return." -msgstr "" - -#: ../../../build/NEWS:15767 -msgid "" -"`bpo-15216 `__: ``TextIOWrapper." -"reconfigure()`` supports changing *encoding*, *errors*, and *newline*." -msgstr "" - -#: ../../../build/NEWS:15773 -msgid "" -"`bpo-32418 `__: Add get_loop() method to " -"Server and AbstractServer classes." -msgstr "" - -#: ../../../build/NEWS:15778 ../../../build/NEWS:19342 -msgid "" -"`bpo-32252 `__: Fix " -"faulthandler_suppress_crash_report() used to prevent core dump files when " -"testing crashes. getrlimit() returns zero on success." -msgstr "" - -#: ../../../build/NEWS:15781 -msgid "" -"`bpo-32002 `__: Adjust C locale coercion " -"testing for the empty locale and POSIX locale cases to more readily adjust " -"to platform dependent behaviour." -msgstr "" - -#: ../../../build/NEWS:15787 -msgid "" -"`bpo-19764 `__: Implement support for " -"`subprocess.Popen(close_fds=True)` on Windows. Patch by Segev Finer." -msgstr "" - -#: ../../../build/NEWS:15793 ../../../build/NEWS:19423 -msgid "" -"`bpo-24960 `__: 2to3 and lib2to3 can now " -"read pickled grammar files using pkgutil.get_data() rather than probing the " -"filesystem. This lets 2to3 and lib2to3 work when run from a zipfile." -msgstr "" - -#: ../../../build/NEWS:15800 -msgid "" -"`bpo-32030 `__: Py_Initialize() doesn't " -"reset the memory allocators to default if the ``PYTHONMALLOC`` environment " -"variable is not set." -msgstr "" - -#: ../../../build/NEWS:15803 ../../../build/NEWS:19433 -msgid "" -"`bpo-29084 `__: Undocumented C API for " -"OrderedDict has been excluded from the limited C API. It was added by " -"mistake and actually never worked in the limited C API." -msgstr "" - -#: ../../../build/NEWS:15807 -msgid "" -"`bpo-32264 `__: Moved the pygetopt.h " -"header into internal/, since it has no public APIs." -msgstr "" - -#: ../../../build/NEWS:15810 -msgid "" -"`bpo-32241 `__: :c:func:" -"`Py_SetProgramName` and :c:func:`Py_SetPythonHome` now take the ``const " -"wchar *`` arguments instead of ``wchar *``." -msgstr "" - -#: ../../../build/NEWS:15815 -msgid "Python 3.7.0 alpha 3" -msgstr "" - -#: ../../../build/NEWS:15817 ../../../build/NEWS:19450 -msgid "*Release date: 2017-12-05*" -msgstr "" - -#: ../../../build/NEWS:15822 ../../../build/NEWS:19455 -msgid "" -"`bpo-32176 `__: co_flags.CO_NOFREE is " -"now always set correctly by the code object constructor based on freevars " -"and cellvars, rather than needing to be set correctly by the caller. This " -"ensures it will be cleared automatically when additional cell references are " -"injected into a modified code object and function." -msgstr "" - -#: ../../../build/NEWS:15828 -msgid "" -"`bpo-10544 `__: Yield expressions are " -"now deprecated in comprehensions and generator expressions. They are still " -"permitted in the definition of the outermost iterable, as that is evaluated " -"directly in the enclosing scope." -msgstr "" - -#: ../../../build/NEWS:15832 ../../../build/NEWS:19178 -msgid "" -"`bpo-32137 `__: The repr of deeply " -"nested dict now raises a RecursionError instead of crashing due to a stack " -"overflow." -msgstr "" - -#: ../../../build/NEWS:15835 -msgid "" -"`bpo-32096 `__: Revert memory allocator " -"changes in the C API: move structures back from _PyRuntime to Objects/" -"obmalloc.c. The memory allocators are once again initialized statically, and " -"so PyMem_RawMalloc() and Py_DecodeLocale() can be called before " -"_PyRuntime_Initialize()." -msgstr "" - -#: ../../../build/NEWS:15840 -msgid "" -"`bpo-32043 `__: Add a new \"developer " -"mode\": new \"-X dev\" command line option to enable debug checks at runtime." -msgstr "" - -#: ../../../build/NEWS:15843 -msgid "" -"`bpo-32023 `__: SyntaxError is now " -"correctly raised when a generator expression without parenthesis is used " -"instead of an inheritance list in a class definition. The duplication of the " -"parentheses can be omitted only on calls." -msgstr "" - -#: ../../../build/NEWS:15848 -msgid "" -"`bpo-32012 `__: SyntaxError is now " -"correctly raised when a generator expression without parenthesis is passed " -"as an argument, but followed by a trailing comma. A generator expression " -"always needs to be directly inside a set of parentheses and cannot have a " -"comma on either side." -msgstr "" - -#: ../../../build/NEWS:15853 -msgid "" -"`bpo-28180 `__: A new internal " -"``_Py_SetLocaleFromEnv(category)`` helper function has been added in order " -"to improve the consistency of behaviour across different ``libc`` " -"implementations (e.g. Android doesn't support setting the locale from the " -"environment by default)." -msgstr "" - -#: ../../../build/NEWS:15858 ../../../build/NEWS:19461 -msgid "" -"`bpo-31949 `__: Fixed several issues in " -"printing tracebacks (PyTraceBack_Print()). Setting sys.tracebacklimit to 0 " -"or less now suppresses printing tracebacks. Setting sys.tracebacklimit to " -"None now causes using the default limit. Setting sys.tracebacklimit to an " -"integer larger than LONG_MAX now means using the limit LONG_MAX rather than " -"the default limit. Fixed integer overflows in the case of more than 2**31 " -"traceback items on Windows. Fixed output errors handling." -msgstr "" - -#: ../../../build/NEWS:15866 ../../../build/NEWS:19469 -msgid "" -"`bpo-30696 `__: Fix the interactive " -"interpreter looping endlessly when no memory." -msgstr "" - -#: ../../../build/NEWS:15869 ../../../build/NEWS:19472 -msgid "" -"`bpo-20047 `__: Bytearray methods " -"partition() and rpartition() now accept only bytes-like objects as " -"separator, as documented. In particular they now raise TypeError rather of " -"returning a bogus result when an integer is passed as a separator." -msgstr "" - -#: ../../../build/NEWS:15874 ../../../build/NEWS:19480 -msgid "" -"`bpo-21720 `__: BytesWarning no longer " -"emitted when the *fromlist* argument of ``__import__()`` or the ``__all__`` " -"attribute of the module contain bytes instances." -msgstr "" - -#: ../../../build/NEWS:15878 -msgid "" -"`bpo-31845 `__: Environment variables " -"are once more read correctly at interpreter startup." -msgstr "" - -#: ../../../build/NEWS:15881 -msgid "" -"`bpo-28936 `__: Ensure that lexically " -"first syntax error involving a parameter and ``global`` or ``nonlocal`` is " -"detected first at a given scope. Patch by Ivan Levkivskyi." -msgstr "" - -#: ../../../build/NEWS:15885 ../../../build/NEWS:19484 -msgid "" -"`bpo-31825 `__: Fixed OverflowError in " -"the 'unicode-escape' codec and in codecs.escape_decode() when decode an " -"escaped non-ascii byte." -msgstr "" - -#: ../../../build/NEWS:15888 -msgid "" -"`bpo-31618 `__: The per-frame tracing " -"logic added in 3.7a1 has been altered so that ``frame->f_lineno`` is updated " -"before either ``\"line\"`` or ``\"opcode\"`` events are emitted. Previously, " -"opcode events were emitted first, and therefore would occasionally see stale " -"line numbers on the frame. The behavior of this feature has changed slightly " -"as a result: when both ``f_trace_lines`` and ``f_trace_opcodes`` are " -"enabled, line events now occur first." -msgstr "" - -#: ../../../build/NEWS:15896 ../../../build/NEWS:19487 -msgid "" -"`bpo-28603 `__: Print the full context/" -"cause chain of exceptions on interpreter exit, even if an exception in the " -"chain is unhashable or compares equal to later ones. Patch by Zane Bitter." -msgstr "" - -#: ../../../build/NEWS:15900 ../../../build/NEWS:19491 -msgid "" -"`bpo-31786 `__: Fix timeout rounding in " -"the select module to round correctly negative timeouts between -1.0 and 0.0. " -"The functions now block waiting for events as expected. Previously, the call " -"was incorrectly non-blocking. Patch by Pablo Galindo." -msgstr "" - -#: ../../../build/NEWS:15905 -msgid "" -"`bpo-31781 `__: Prevent crashes when " -"calling methods of an uninitialized ``zipimport.zipimporter`` object. Patch " -"by Oren Milman." -msgstr "" - -#: ../../../build/NEWS:15908 -msgid "" -"`bpo-30399 `__: Standard repr() of " -"BaseException with a single argument no longer contains redundant trailing " -"comma." -msgstr "" - -#: ../../../build/NEWS:15911 ../../../build/NEWS:19499 -msgid "" -"`bpo-31626 `__: Fixed a bug in debug " -"memory allocator. There was a write to freed memory after shrinking a " -"memory block." -msgstr "" - -#: ../../../build/NEWS:15914 ../../../build/NEWS:19544 -msgid "" -"`bpo-30817 `__: `PyErr_PrintEx()` clears " -"now the ignored exception that may be raised by `_PySys_SetObjectId()`, for " -"example when no memory." -msgstr "" - -#: ../../../build/NEWS:15920 ../../../build/NEWS:19550 -msgid "" -"`bpo-28556 `__: Two minor fixes for " -"``typing`` module: allow shallow copying instances of generic classes, " -"improve interaction of ``__init_subclass__`` with generics. Original PRs by " -"Ivan Levkivskyi." -msgstr "" - -#: ../../../build/NEWS:15924 -msgid "" -"`bpo-32214 `__: PEP 557, Data Classes. " -"Provides a decorator which adds boilerplate methods to classes which use " -"type annotations so specify fields." -msgstr "" - -#: ../../../build/NEWS:15928 ../../../build/NEWS:19554 -msgid "" -"`bpo-27240 `__: The header folding " -"algorithm for the new email policies has been rewritten, which also fixes " -"`bpo-30788 `__, `bpo-31831 `__, and `bpo-32182 `__. In particular, RFC2231 folding is now done correctly." -msgstr "" - -#: ../../../build/NEWS:15932 ../../../build/NEWS:19558 -msgid "" -"`bpo-32186 `__: io.FileIO.readall() and " -"io.FileIO.read() now release the GIL when getting the file size. Fixed hang " -"of all threads with inaccessible NFS server. Patch by Nir Soffer." -msgstr "" - -#: ../../../build/NEWS:15936 -msgid "" -"`bpo-321010 `__: Add :attr:`sys.flags." -"dev_mode` flag" -msgstr "" - -#: ../../../build/NEWS:15938 -msgid "" -"`bpo-32154 `__: The ``asyncio." -"windows_utils.socketpair()`` function has been removed: use directly :func:" -"`socket.socketpair` which is available on all platforms since Python 3.5 " -"(before, it wasn't available on Windows). ``asyncio.windows_utils." -"socketpair()`` was just an alias to ``socket.socketpair`` on Python 3.5 and " -"newer." -msgstr "" - -#: ../../../build/NEWS:15944 -msgid "" -"`bpo-32089 `__: warnings: In development " -"(-X dev) and debug mode (pydebug build), use the \"default\" action for " -"ResourceWarning, rather than the \"always\" action, in the default warnings " -"filters." -msgstr "" - -#: ../../../build/NEWS:15948 -msgid "" -"`bpo-32107 `__: ``uuid.getnode()`` now " -"preferentially returns universally administered MAC addresses if available, " -"over locally administered MAC addresses. This makes a better guarantee for " -"global uniqueness of UUIDs returned from ``uuid.uuid1()``. If only locally " -"administered MAC addresses are available, the first such one found is " -"returned." -msgstr "" - -#: ../../../build/NEWS:15954 -msgid "" -"`bpo-23033 `__: Wildcard is now " -"supported in hostname when it is one and only character in the left most " -"segment of hostname in second argument of :meth:`ssl.match_hostname`. Patch " -"by Mandeep Singh." -msgstr "" - -#: ../../../build/NEWS:15958 ../../../build/NEWS:19562 -msgid "" -"`bpo-12239 `__: Make :meth:`msilib." -"SummaryInformation.GetProperty` return ``None`` when the value of property " -"is ``VT_EMPTY``. Initial patch by Mark Mc Mahon." -msgstr "" - -#: ../../../build/NEWS:15962 -msgid "" -"`bpo-28334 `__: Use :func:`os.path." -"expanduser` to find the ``~/.netrc`` file in :class:`netrc.netrc`. If it " -"does not exist, :exc:`FileNotFoundError` is raised. Patch by Dimitri " -"Merejkowsky." -msgstr "" - -#: ../../../build/NEWS:15966 -msgid "" -"`bpo-32121 `__: Made ``tracemalloc." -"Traceback`` behave more like the traceback module, sorting the frames from " -"oldest to most recent. ``Traceback.format()`` now accepts negative *limit*, " -"truncating the result to the ``abs(limit)`` oldest frames. To get the old " -"behaviour, one can use the new *most_recent_first* argument to ``Traceback." -"format()``. (Patch by Jesse Bakker.)" -msgstr "" - -#: ../../../build/NEWS:15973 ../../../build/NEWS:19566 -msgid "" -"`bpo-31325 `__: Fix wrong usage of :func:" -"`collections.namedtuple` in the :meth:`RobotFileParser.parse() ` method. Initial patch by Robin Wellner." -msgstr "" - -#: ../../../build/NEWS:15977 ../../../build/NEWS:19570 -msgid "" -"`bpo-12382 `__: :func:`msilib." -"OpenDatabase` now raises a better exception message when it couldn't open or " -"create an MSI file. Initial patch by William Tisäter." -msgstr "" - -#: ../../../build/NEWS:15981 -msgid "" -"`bpo-19610 `__: ``setup()`` now warns " -"about invalid types for some fields. The ``distutils.dist.Distribution`` " -"class now warns when ``classifiers``, ``keywords`` and ``platforms`` fields " -"are not specified as a list or a string." -msgstr "" - -#: ../../../build/NEWS:15986 -msgid "" -"`bpo-32071 `__: Added the ``-k`` command-" -"line option to ``python -m unittest`` to run only tests that match the given " -"pattern(s)." -msgstr "" - -#: ../../../build/NEWS:15989 -msgid "" -"`bpo-10049 `__: Added *nullcontext* no-" -"op context manager to contextlib. This provides a simpler and faster " -"alternative to ExitStack() when handling optional context managers." -msgstr "" - -#: ../../../build/NEWS:15993 -msgid "" -"`bpo-28684 `__: The new test.support." -"skip_unless_bind_unix_socket() decorator is used here to skip asyncio tests " -"that fail because the platform lacks a functional bind() function for unix " -"domain sockets (as it is the case for non root users on the recent Android " -"versions that run now SELinux in enforcing mode)." -msgstr "" - -#: ../../../build/NEWS:15999 ../../../build/NEWS:19574 -msgid "" -"`bpo-32110 `__: ``codecs.StreamReader." -"read(n)`` now returns not more than *n* characters/bytes for non-negative " -"*n*. This makes it compatible with ``read()`` methods of other file-like " -"objects." -msgstr "" - -#: ../../../build/NEWS:16003 -msgid "" -"`bpo-27535 `__: The warnings module " -"doesn't leak memory anymore in the hidden warnings registry for the \"ignore" -"\" action of warnings filters. warn_explicit() function doesn't add the " -"warning key to the registry anymore for the \"ignore\" action." -msgstr "" - -#: ../../../build/NEWS:16008 -msgid "" -"`bpo-32088 `__: warnings: When Python " -"is build is debug mode (``Py_DEBUG``), :exc:`DeprecationWarning`, :exc:" -"`PendingDeprecationWarning` and :exc:`ImportWarning` warnings are now " -"displayed by default." -msgstr "" - -#: ../../../build/NEWS:16012 -msgid "" -"`bpo-1647489 `__: Fixed searching " -"regular expression patterns that could match an empty string. Non-empty " -"string can now be correctly found after matching an empty string." -msgstr "" - -#: ../../../build/NEWS:16016 -msgid "" -"`bpo-25054 `__: Added support of " -"splitting on a pattern that could match an empty string." -msgstr "" - -#: ../../../build/NEWS:16019 ../../../build/NEWS:19578 -#: ../../../build/NEWS:24295 -msgid "" -"`bpo-32072 `__: Fixed issues with binary " -"plists: Fixed saving bytearrays. Identical objects will be saved only once. " -"Equal references will be load as identical objects. Added support for saving " -"and loading recursive data structures." -msgstr "" - -#: ../../../build/NEWS:16024 -msgid "" -"`bpo-32069 `__: Drop legacy SSL " -"transport from asyncio, ssl.MemoryBIO is always used anyway." -msgstr "" - -#: ../../../build/NEWS:16027 -msgid "" -"`bpo-32066 `__: asyncio: Support pathlib." -"Path in create_unix_connection; sock arg should be optional" -msgstr "" - -#: ../../../build/NEWS:16030 -msgid "" -"`bpo-32046 `__: Updates 2to3 to convert " -"from operator.isCallable(obj) to callable(obj). Patch by Dong-hee Na." -msgstr "" - -#: ../../../build/NEWS:16033 -msgid "" -"`bpo-32018 `__: inspect.signature should " -"follow :pep:`8`, if the parameter has an annotation and a default value. " -"Patch by Dong-hee Na." -msgstr "" - -#: ../../../build/NEWS:16036 -msgid "" -"`bpo-32025 `__: Add time.thread_time() " -"and time.thread_time_ns()" -msgstr "" - -#: ../../../build/NEWS:16038 -msgid "" -"`bpo-32037 `__: Integers that fit in a " -"signed 32-bit integer will be now pickled with protocol 0 using the INT " -"opcode. This will decrease the size of a pickle, speed up pickling and " -"unpickling, and make these integers be unpickled as int instances in Python " -"2." -msgstr "" - -#: ../../../build/NEWS:16043 ../../../build/NEWS:19583 -msgid "" -"`bpo-32034 `__: Make asyncio." -"IncompleteReadError and LimitOverrunError pickleable." -msgstr "" - -#: ../../../build/NEWS:16046 ../../../build/NEWS:19586 -msgid "" -"`bpo-32015 `__: Fixed the looping of " -"asyncio in the case of reconnection the socket during waiting async read/" -"write from/to the socket." -msgstr "" - -#: ../../../build/NEWS:16049 ../../../build/NEWS:19589 -msgid "" -"`bpo-32011 `__: Restored support of " -"loading marshal files with the TYPE_INT64 code. These files can be produced " -"in Python 2.7." -msgstr "" - -#: ../../../build/NEWS:16052 -msgid "" -"`bpo-28369 `__: Enhance add_reader/" -"writer check that socket is not used by some transport. Before, only cases " -"when add_reader/writer were called with an int FD were supported. Now the " -"check is implemented correctly for all file-like objects." -msgstr "" - -#: ../../../build/NEWS:16057 -msgid "" -"`bpo-31976 `__: Fix race condition when " -"flushing a file is slow, which can cause a segfault if closing the file from " -"another thread." -msgstr "" - -#: ../../../build/NEWS:16060 -msgid "" -"`bpo-31985 `__: Formally deprecated aifc." -"openfp, sunau.openfp, and wave.openfp. Since change " -"7bc817d5ba917528e8bd07ec461c635291e7b06a in 1993, openfp in each of the " -"three modules had been pointing to that module's open function as a matter " -"of backwards compatibility, though it had been both untested and " -"undocumented." -msgstr "" - -#: ../../../build/NEWS:16066 -msgid "" -"`bpo-21862 `__: cProfile command line " -"now accepts `-m module_name` as an alternative to script path. Patch by " -"Sanyam Khurana." -msgstr "" - -#: ../../../build/NEWS:16069 ../../../build/NEWS:19592 -msgid "" -"`bpo-31970 `__: Reduce performance " -"overhead of asyncio debug mode." -msgstr "" - -#: ../../../build/NEWS:16071 -msgid "" -"`bpo-31843 `__: *database* argument of " -"sqlite3.connect() now accepts a :term:`path-like object`, instead of just a " -"string." -msgstr "" - -#: ../../../build/NEWS:16074 -msgid "" -"`bpo-31945 `__: Add Configurable " -"*blocksize* to ``HTTPConnection`` and ``HTTPSConnection`` for improved " -"upload throughput. Patch by Nir Soffer." -msgstr "" - -#: ../../../build/NEWS:16077 -msgid "" -"`bpo-31943 `__: Add a ``cancelled()`` " -"method to :class:`asyncio.Handle`. Patch by Marat Sharafutdinov." -msgstr "" - -#: ../../../build/NEWS:16080 ../../../build/NEWS:19594 -msgid "" -"`bpo-9678 `__: Fixed determining the MAC " -"address in the uuid module: Using ifconfig on NetBSD and OpenBSD. Using arp " -"on Linux, FreeBSD, NetBSD and OpenBSD. Based on patch by Takayuki " -"Shimizukawa." -msgstr "" - -#: ../../../build/NEWS:16084 ../../../build/NEWS:19598 -msgid "" -"`bpo-30057 `__: Fix potential missed " -"signal in signal.signal()." -msgstr "" - -#: ../../../build/NEWS:16086 ../../../build/NEWS:19600 -msgid "" -"`bpo-31933 `__: Fix Blake2 params " -"leaf_size and node_offset on big endian platforms. Patch by Jack O'Connor." -msgstr "" - -#: ../../../build/NEWS:16089 -msgid "" -"`bpo-21423 `__: Add an initializer " -"argument to {Process,Thread}PoolExecutor" -msgstr "" - -#: ../../../build/NEWS:16091 ../../../build/NEWS:19603 -msgid "" -"`bpo-31927 `__: Fixed compilation of the " -"socket module on NetBSD 8. Fixed assertion failure or reading arbitrary " -"data when parse a AF_BLUETOOTH address on NetBSD and DragonFly BSD." -msgstr "" - -#: ../../../build/NEWS:16095 ../../../build/NEWS:19607 -msgid "" -"`bpo-27666 `__: Fixed stack corruption " -"in curses.box() and curses.ungetmouse() when the size of types chtype or " -"mmask_t is less than the size of C long. curses.box() now accepts characters " -"as arguments. Based on patch by Steve Fink." -msgstr "" - -#: ../../../build/NEWS:16100 -msgid "" -"`bpo-31917 `__: Add 3 new clock " -"identifiers: :data:`time.CLOCK_BOOTTIME`, :data:`time.CLOCK_PROF` and :data:" -"`time.CLOCK_UPTIME`." -msgstr "" - -#: ../../../build/NEWS:16103 ../../../build/NEWS:19612 -msgid "" -"`bpo-31897 `__: plistlib now catches " -"more errors when read binary plists and raises InvalidFileException instead " -"of unexpected exceptions." -msgstr "" - -#: ../../../build/NEWS:16106 ../../../build/NEWS:19615 -msgid "" -"`bpo-25720 `__: Fix the method for " -"checking pad state of curses WINDOW. Patch by Masayuki Yamamoto." -msgstr "" - -#: ../../../build/NEWS:16109 ../../../build/NEWS:19618 -msgid "" -"`bpo-31893 `__: Fixed the layout of the " -"kqueue_event structure on OpenBSD and NetBSD. Fixed the comparison of the " -"kqueue_event objects." -msgstr "" - -#: ../../../build/NEWS:16112 ../../../build/NEWS:19621 -msgid "" -"`bpo-31891 `__: Fixed building the " -"curses module on NetBSD." -msgstr "" - -#: ../../../build/NEWS:16114 -msgid "" -"`bpo-31884 `__: added required constants " -"to subprocess module for setting priority on windows" -msgstr "" - -#: ../../../build/NEWS:16117 -msgid "" -"`bpo-28281 `__: Remove year (1-9999) " -"limits on the Calendar.weekday() function. Patch by Mark Gollahon." -msgstr "" - -#: ../../../build/NEWS:16120 -msgid "" -"`bpo-31702 `__: crypt.mksalt() now " -"allows to specify the number of rounds for SHA-256 and SHA-512 hashing." -msgstr "" - -#: ../../../build/NEWS:16123 -msgid "" -"`bpo-30639 `__: :func:`inspect.getfile` " -"no longer computes the repr of unknown objects to display in an error " -"message, to protect against badly behaved custom reprs." -msgstr "" - -#: ../../../build/NEWS:16127 -msgid "" -"`bpo-30768 `__: Fix the pthread" -"+semaphore implementation of PyThread_acquire_lock_timed() when called with " -"timeout > 0 and intr_flag=0: recompute the timeout if sem_timedwait() is " -"interrupted by a signal (EINTR). See also the :pep:`475`." -msgstr "" - -#: ../../../build/NEWS:16132 -msgid "" -"`bpo-31854 `__: Add ``mmap." -"ACCESS_DEFAULT`` constant." -msgstr "" - -#: ../../../build/NEWS:16134 -msgid "" -"`bpo-31834 `__: Use optimized code for " -"BLAKE2 only with SSSE3+. The pure SSE2 implementation is slower than the " -"pure C reference implementation." -msgstr "" - -#: ../../../build/NEWS:16137 -msgid "" -"`bpo-28292 `__: Calendar." -"itermonthdates() will now consistently raise an exception when a date falls " -"outside of the 0001-01-01 through 9999-12-31 range. To support applications " -"that cannot tolerate such exceptions, the new methods itermonthdays3() and " -"itermonthdays4() are added. The new methods return tuples and are not " -"restricted by the range supported by datetime.date." -msgstr "" - -#: ../../../build/NEWS:16144 -msgid "" -"`bpo-28564 `__: The shutil.rmtree() " -"function has been sped up to 20--40%. This was done using the os.scandir() " -"function." -msgstr "" - -#: ../../../build/NEWS:16147 ../../../build/NEWS:19623 -msgid "" -"`bpo-28416 `__: Instances of pickle." -"Pickler subclass with the persistent_id() method and pickle.Unpickler " -"subclass with the persistent_load() method no longer create reference cycles." -msgstr "" - -#: ../../../build/NEWS:16151 -msgid "" -"`bpo-31653 `__: Don't release the GIL if " -"we can acquire a multiprocessing semaphore immediately." -msgstr "" - -#: ../../../build/NEWS:16154 ../../../build/NEWS:19627 -msgid "" -"`bpo-28326 `__: Fix multiprocessing." -"Process when stdout and/or stderr is closed or None." -msgstr "" - -#: ../../../build/NEWS:16157 -msgid "" -"`bpo-20825 `__: Add `subnet_of` and " -"`superset_of` containment tests to :class:`ipaddress.IPv6Network` and :class:" -"`ipaddress.IPv4Network`. Patch by Michel Albert and Cheryl Sabella." -msgstr "" - -#: ../../../build/NEWS:16161 -msgid "" -"`bpo-31827 `__: Remove the os." -"stat_float_times() function. It was introduced in Python 2.3 for backward " -"compatibility with Python 2.2, and was deprecated since Python 3.1." -msgstr "" - -#: ../../../build/NEWS:16165 -msgid "" -"`bpo-31756 `__: Add a ``subprocess." -"Popen(text=False)`` keyword argument to `subprocess` functions to be more " -"explicit about when the library should attempt to decode outputs into text. " -"Patch by Andrew Clegg." -msgstr "" - -#: ../../../build/NEWS:16169 -msgid "" -"`bpo-31819 `__: Add AbstractEventLoop." -"sock_recv_into()." -msgstr "" - -#: ../../../build/NEWS:16171 ../../../build/NEWS:18949 -#: ../../../build/NEWS:19630 -msgid "" -"`bpo-31457 `__: If nested log adapters " -"are used, the inner ``process()`` methods are no longer omitted." -msgstr "" - -#: ../../../build/NEWS:16174 ../../../build/NEWS:19633 -msgid "" -"`bpo-31457 `__: The ``manager`` property " -"on LoggerAdapter objects is now properly settable." -msgstr "" - -#: ../../../build/NEWS:16177 ../../../build/NEWS:19636 -msgid "" -"`bpo-31806 `__: Fix timeout rounding in " -"time.sleep(), threading.Lock.acquire() and socket.socket.settimeout() to " -"round correctly negative timeouts between -1.0 and 0.0. The functions now " -"block waiting for events as expected. Previously, the call was incorrectly " -"non-blocking. Patch by Pablo Galindo." -msgstr "" - -#: ../../../build/NEWS:16183 -msgid "" -"`bpo-31803 `__: time.clock() and time." -"get_clock_info('clock') now emit a DeprecationWarning warning." -msgstr "" - -#: ../../../build/NEWS:16186 -msgid "" -"`bpo-31800 `__: Extended support for " -"parsing UTC offsets. strptime '%z' can now parse the output generated by " -"datetime.isoformat, including seconds and microseconds." -msgstr "" - -#: ../../../build/NEWS:16190 ../../../build/NEWS:19642 -msgid "" -"`bpo-28603 `__: traceback: Fix a " -"TypeError that occurred during printing of exception tracebacks when either " -"the current exception or an exception in its context/cause chain is " -"unhashable. Patch by Zane Bitter." -msgstr "" - -#: ../../../build/NEWS:16194 -msgid "" -"`bpo-30541 `__: Add new function to seal " -"a mock and prevent the automatically creation of child mocks. Patch by Mario " -"Corchero." -msgstr "" - -#: ../../../build/NEWS:16197 -msgid "" -"`bpo-31784 `__: Implement the :pep:" -"`564`, add new 6 new functions with nanosecond resolution to the :mod:`time` " -"module: :func:`~time.clock_gettime_ns`, :func:`~time.clock_settime_ns`, :" -"func:`~time.monotonic_ns`, :func:`~time.perf_counter_ns`, :func:`~time." -"process_time_ns`, :func:`~time.time_ns`." -msgstr "" - -#: ../../../build/NEWS:16203 -msgid "" -"`bpo-30143 `__: 2to3 now generates a " -"code that uses abstract collection classes from collections.abc rather than " -"collections." -msgstr "" - -#: ../../../build/NEWS:16206 ../../../build/NEWS:19648 -msgid "" -"`bpo-31770 `__: Prevent a crash when " -"calling the ``__init__()`` method of a ``sqlite3.Cursor`` object more than " -"once. Patch by Oren Milman." -msgstr "" - -#: ../../../build/NEWS:16209 ../../../build/NEWS:19655 -msgid "" -"`bpo-31764 `__: Prevent a crash in " -"``sqlite3.Cursor.close()`` in case the ``Cursor`` object is uninitialized. " -"Patch by Oren Milman." -msgstr "" - -#: ../../../build/NEWS:16212 ../../../build/NEWS:19658 -msgid "" -"`bpo-31752 `__: Fix possible crash in " -"timedelta constructor called with custom integers." -msgstr "" - -#: ../../../build/NEWS:16215 ../../../build/NEWS:19667 -msgid "" -"`bpo-31620 `__: an empty asyncio.Queue " -"now doesn't leak memory when queue.get pollers timeout" -msgstr "" - -#: ../../../build/NEWS:16218 -msgid "" -"`bpo-31690 `__: Allow the flags re." -"ASCII, re.LOCALE, and re.UNICODE to be used as group flags for regular " -"expressions." -msgstr "" - -#: ../../../build/NEWS:16221 -msgid "" -"`bpo-30349 `__: FutureWarning is now " -"emitted if a regular expression contains character set constructs that will " -"change semantically in the future (nested sets and set operations)." -msgstr "" - -#: ../../../build/NEWS:16225 -msgid "" -"`bpo-31664 `__: Added support for the " -"Blowfish hashing in the crypt module." -msgstr "" - -#: ../../../build/NEWS:16227 ../../../build/NEWS:19670 -msgid "" -"`bpo-31632 `__: Fix method " -"set_protocol() of class _SSLProtocolTransport in asyncio module. This method " -"was previously modifying a wrong reference to the protocol." -msgstr "" - -#: ../../../build/NEWS:16231 ../../../build/NEWS:19681 -msgid "" -"`bpo-15037 `__: Added a workaround for " -"getkey() in curses for ncurses 5.7 and earlier." -msgstr "" - -#: ../../../build/NEWS:16234 -msgid "" -"`bpo-31307 `__: Allow use of bytes " -"objects for arguments to :meth:`configparser.ConfigParser.read`. Patch by " -"Vincent Michel." -msgstr "" - -#: ../../../build/NEWS:16237 ../../../build/NEWS:19701 -msgid "" -"`bpo-31334 `__: Fix ``poll." -"poll([timeout])`` in the ``select`` module for arbitrary negative timeouts " -"on all OSes where it can only be a non-negative integer or -1. Patch by " -"Riccardo Coccioli." -msgstr "" - -#: ../../../build/NEWS:16241 ../../../build/NEWS:19705 -msgid "" -"`bpo-31310 `__: multiprocessing's " -"semaphore tracker should be launched again if crashed." -msgstr "" - -#: ../../../build/NEWS:16244 ../../../build/NEWS:19708 -msgid "" -"`bpo-31308 `__: Make multiprocessing's " -"forkserver process immune to Ctrl-C and other user interruptions. If it " -"crashes, restart it when necessary." -msgstr "" - -#: ../../../build/NEWS:16247 -msgid "" -"`bpo-31245 `__: Added support for " -"AF_UNIX socket in asyncio `create_datagram_endpoint`." -msgstr "" - -#: ../../../build/NEWS:16250 -msgid "" -"`bpo-30553 `__: Add HTTP/2 status code " -"421 (Misdirected Request) to :class:`http.HTTPStatus`. Patch by Vitor " -"Pereira." -msgstr "" - -#: ../../../build/NEWS:16256 ../../../build/NEWS:19714 -msgid "" -"`bpo-32105 `__: Added asyncio." -"BaseEventLoop.connect_accepted_socket versionadded marker." -msgstr "" - -#: ../../../build/NEWS:16262 ../../../build/NEWS:19727 -msgid "" -"`bpo-31380 `__: Skip test_httpservers " -"test_undecodable_file on macOS: fails on APFS." -msgstr "" - -#: ../../../build/NEWS:16265 ../../../build/NEWS:19730 -msgid "" -"`bpo-31705 `__: Skip test_socket." -"test_sha256() on Linux kernel older than 4.5. The test fails with ENOKEY on " -"kernel 3.10 (on ppc64le). A fix was merged into the kernel 4.5." -msgstr "" - -#: ../../../build/NEWS:16269 -msgid "" -"`bpo-32138 `__: Skip on Android " -"test_faulthandler tests that raise SIGSEGV and remove the test.support." -"requires_android_level decorator." -msgstr "" - -#: ../../../build/NEWS:16272 -msgid "" -"`bpo-32136 `__: The runtime embedding " -"tests have been split out from ``Lib/test/test_capi.py`` into a new ``Lib/" -"test/test_embed.py`` file." -msgstr "" - -#: ../../../build/NEWS:16275 -msgid "" -"`bpo-28668 `__: test.support." -"requires_multiprocessing_queue is removed. Skip tests with test.support." -"import_module('multiprocessing.synchronize') instead when the semaphore " -"implementation is broken or missing." -msgstr "" - -#: ../../../build/NEWS:16279 -msgid "" -"`bpo-32126 `__: Skip " -"test_get_event_loop_new_process in test.test_asyncio.test_events when " -"sem_open() is not functional." -msgstr "" - -#: ../../../build/NEWS:16282 ../../../build/NEWS:19734 -msgid "" -"`bpo-31174 `__: Fix test_tools." -"test_unparse: DirectoryTestCase now stores the names sample to always test " -"the same files. It prevents false alarms when hunting reference leaks." -msgstr "" - -#: ../../../build/NEWS:16289 -msgid "" -"`bpo-28538 `__: Revert the previous " -"changes, the if_nameindex structure is defined by Unified Headers." -msgstr "" - -#: ../../../build/NEWS:16292 -msgid "" -"`bpo-28762 `__: Revert the last commit, " -"the F_LOCK macro is defined by Android Unified Headers." -msgstr "" - -#: ../../../build/NEWS:16295 -msgid "" -"`bpo-29040 `__: Support building Android " -"with Unified Headers. The first NDK release to support Unified Headers is " -"android-ndk-r14." -msgstr "" - -#: ../../../build/NEWS:16298 ../../../build/NEWS:19744 -msgid "" -"`bpo-32059 `__: ``detect_modules()`` in " -"``setup.py`` now also searches the sysroot paths when cross-compiling." -msgstr "" - -#: ../../../build/NEWS:16301 ../../../build/NEWS:19747 -msgid "" -"`bpo-31957 `__: Fixes Windows SDK " -"version detection when building for Windows." -msgstr "" - -#: ../../../build/NEWS:16303 ../../../build/NEWS:19749 -msgid "" -"`bpo-31609 `__: Fixes quotes in PCbuild/" -"clean.bat" -msgstr "" - -#: ../../../build/NEWS:16305 ../../../build/NEWS:19751 -msgid "" -"`bpo-31934 `__: Abort the build when " -"building out of a not clean source tree." -msgstr "" - -#: ../../../build/NEWS:16307 ../../../build/NEWS:19753 -msgid "" -"`bpo-31926 `__: Fixed Argument Clinic " -"sometimes causing compilation errors when there was more than one function " -"and/or method in a .c file with the same name." -msgstr "" - -#: ../../../build/NEWS:16311 ../../../build/NEWS:19757 -msgid "" -"`bpo-28791 `__: Update Windows builds to " -"use SQLite 3.21.0." -msgstr "" - -#: ../../../build/NEWS:16313 ../../../build/NEWS:19759 -msgid "" -"`bpo-28791 `__: Update OS X installer to " -"use SQLite 3.21.0." -msgstr "" - -#: ../../../build/NEWS:16315 -msgid "" -"`bpo-28643 `__: Record profile-opt build " -"progress with stamp files." -msgstr "" - -#: ../../../build/NEWS:16317 -msgid "" -"`bpo-31866 `__: Finish removing support " -"for AtheOS." -msgstr "" - -#: ../../../build/NEWS:16322 ../../../build/NEWS:19769 -msgid "" -"`bpo-1102 `__: Return ``None`` when " -"``View.Fetch()`` returns ``ERROR_NO_MORE_ITEMS`` instead of raising " -"``MSIError``. Initial patch by Anthony Tuininga." -msgstr "" - -#: ../../../build/NEWS:16326 ../../../build/NEWS:19773 -msgid "" -"`bpo-31944 `__: Fixes Modify button in " -"Apps and Features dialog." -msgstr "" - -#: ../../../build/NEWS:16328 -msgid "" -"`bpo-20486 `__: Implement the ``Database." -"Close()`` method to help closing MSI database objects." -msgstr "" - -#: ../../../build/NEWS:16331 -msgid "" -"`bpo-31857 `__: Make the behavior of " -"USE_STACKCHECK deterministic in a multi-threaded environment." -msgstr "" - -#: ../../../build/NEWS:16337 ../../../build/NEWS:19778 -msgid "" -"`bpo-31392 `__: Update macOS installer " -"to use OpenSSL 1.0.2m" -msgstr "" - -#: ../../../build/NEWS:16342 ../../../build/NEWS:19783 -msgid "" -"`bpo-32207 `__: Improve tk event " -"exception tracebacks in IDLE. When tk event handling is driven by IDLE's run " -"loop, a confusing and distracting queue.EMPTY traceback context is no longer " -"added to tk event exception tracebacks. The traceback is now the same as " -"when event handling is driven by user code. Patch based on a suggestion by " -"Serhiy Storchaka." -msgstr "" - -#: ../../../build/NEWS:16348 ../../../build/NEWS:19789 -msgid "" -"`bpo-32164 `__: Delete unused file " -"idlelib/tabbedpages.py. Use of TabbedPageSet in configdialog was replaced by " -"ttk.Notebook." -msgstr "" - -#: ../../../build/NEWS:16351 ../../../build/NEWS:19792 -msgid "" -"`bpo-32100 `__: IDLE: Fix old and new " -"bugs in pathbrowser; improve tests. Patch mostly by Cheryl Sabella." -msgstr "" - -#: ../../../build/NEWS:16354 ../../../build/NEWS:19795 -msgid "" -"`bpo-31858 `__: IDLE -- Restrict shell " -"prompt manipulation to the shell. Editor and output windows only see an " -"empty last prompt line. This simplifies the code and fixes a minor bug when " -"newline is inserted. Sys.ps1, if present, is read on Shell start-up, but is " -"not set or changed." -msgstr "" - -#: ../../../build/NEWS:16359 ../../../build/NEWS:19800 -msgid "" -"`bpo-31860 `__: The font sample in the " -"IDLE configuration dialog is now editable. Changes persist while IDLE " -"remains open" -msgstr "" - -#: ../../../build/NEWS:16362 ../../../build/NEWS:19803 -msgid "" -"`bpo-31836 `__: Test_code_module now " -"passes if run after test_idle, which sets ps1. The code module uses sys.ps1 " -"if present or sets it to '>>> ' if not. Test_code_module now properly tests " -"both behaviors. Ditto for ps2." -msgstr "" - -#: ../../../build/NEWS:16366 ../../../build/NEWS:19807 -msgid "" -"`bpo-28603 `__: Fix a TypeError that " -"caused a shell restart when printing a traceback that includes an exception " -"that is unhashable. Patch by Zane Bitter." -msgstr "" - -#: ../../../build/NEWS:16370 -msgid "" -"`bpo-13802 `__: Use non-Latin characters " -"in the IDLE's Font settings sample. Even if one selects a font that defines " -"a limited subset of the unicode Basic Multilingual Plane, tcl/tk will use " -"other fonts that define a character. The expanded example give users of non-" -"Latin characters a better idea of what they might see in IDLE's shell and " -"editors. To make room for the expanded sample, frames on the Font tab are re-" -"arranged. The Font/Tabs help explains a bit about the additions." -msgstr "" - -#: ../../../build/NEWS:16381 -msgid "" -"`bpo-32159 `__: Remove CVS and " -"Subversion tools: remove svneol.py and treesync.py scripts. CPython migrated " -"from CVS to Subversion, to Mercurial, and then to Git. CVS and Subversion " -"are no longer used to develop CPython." -msgstr "" - -#: ../../../build/NEWS:16386 ../../../build/NEWS:19846 -msgid "" -"`bpo-30722 `__: Make redemo work with " -"Python 3.6 and newer versions. Also, remove the ``LOCALE`` option since it " -"doesn't work with string patterns in Python 3. Patch by Christoph Sarnowski." -msgstr "" - -#: ../../../build/NEWS:16393 ../../../build/NEWS:19853 -msgid "" -"`bpo-20891 `__: Fix PyGILState_Ensure(). " -"When PyGILState_Ensure() is called in a non-Python thread before " -"PyEval_InitThreads(), only call PyEval_InitThreads() after calling " -"PyThreadState_New() to fix a crash." -msgstr "" - -#: ../../../build/NEWS:16397 -msgid "" -"`bpo-32125 `__: The " -"``Py_UseClassExceptionsFlag`` flag has been removed. It was deprecated and " -"wasn't used anymore since Python 2.0." -msgstr "" - -#: ../../../build/NEWS:16400 -msgid "" -"`bpo-25612 `__: Move the current " -"exception state from the frame object to the co-routine. This simplifies the " -"interpreter and fixes a couple of obscure bugs caused by having swap " -"exception state when entering or exiting a generator." -msgstr "" - -#: ../../../build/NEWS:16405 -msgid "" -"`bpo-23699 `__: Add " -"Py_RETURN_RICHCOMPARE macro to reduce boilerplate code in rich comparison " -"functions." -msgstr "" - -#: ../../../build/NEWS:16408 ../../../build/NEWS:19860 -msgid "" -"`bpo-30697 `__: The " -"`PyExc_RecursionErrorInst` singleton is removed and " -"`PyErr_NormalizeException()` does not use it anymore. This singleton is " -"persistent and its members being never cleared may cause a segfault during " -"finalization of the interpreter. See also `bpo-22898 `__." -msgstr "" - -#: ../../../build/NEWS:16415 -msgid "Python 3.7.0 alpha 2" -msgstr "" - -#: ../../../build/NEWS:16417 -msgid "*Release date: 2017-10-16*" -msgstr "" - -#: ../../../build/NEWS:16422 -msgid "" -"`bpo-31558 `__: ``gc.freeze()`` is a new " -"API that allows for moving all objects currently tracked by the garbage " -"collector to a permanent generation, effectively removing them from future " -"collection events. This can be used to protect those objects from having " -"their PyGC_Head mutated. In effect, this enables great copy-on-write " -"stability at fork()." -msgstr "" - -#: ../../../build/NEWS:16428 ../../../build/NEWS:19496 -msgid "" -"`bpo-31642 `__: Restored blocking \"from " -"package import module\" by setting sys.modules[\"package.module\"] to None." -msgstr "" - -#: ../../../build/NEWS:16431 -msgid "" -"`bpo-31708 `__: Allow use of " -"asynchronous generator expressions in synchronous functions." -msgstr "" - -#: ../../../build/NEWS:16434 -msgid "" -"`bpo-31709 `__: Drop support of " -"asynchronous __aiter__." -msgstr "" - -#: ../../../build/NEWS:16436 -msgid "" -"`bpo-30404 `__: The -u option now makes " -"the stdout and stderr streams unbuffered rather than line-buffered." -msgstr "" - -#: ../../../build/NEWS:16439 ../../../build/NEWS:19502 -msgid "" -"`bpo-31619 `__: Fixed a ValueError when " -"convert a string with large number of underscores to integer with binary " -"base." -msgstr "" - -#: ../../../build/NEWS:16442 -msgid "" -"`bpo-31602 `__: Fix an assertion failure " -"in `zipimporter.get_source()` in case of a bad `zlib.decompress()`. Patch by " -"Oren Milman." -msgstr "" - -#: ../../../build/NEWS:16445 ../../../build/NEWS:19505 -msgid "" -"`bpo-31592 `__: Fixed an assertion " -"failure in Python parser in case of a bad `unicodedata.normalize()`. Patch " -"by Oren Milman." -msgstr "" - -#: ../../../build/NEWS:16448 ../../../build/NEWS:19508 -msgid "" -"`bpo-31588 `__: Raise a `TypeError` with " -"a helpful error message when class creation fails due to a metaclass with a " -"bad ``__prepare__()`` method. Patch by Oren Milman." -msgstr "" - -#: ../../../build/NEWS:16452 -msgid "" -"`bpo-31574 `__: Importlib was " -"instrumented with two dtrace probes to profile import timing." -msgstr "" - -#: ../../../build/NEWS:16455 ../../../build/NEWS:19512 -msgid "" -"`bpo-31566 `__: Fix an assertion failure " -"in `_warnings.warn()` in case of a bad ``__name__`` global. Patch by Oren " -"Milman." -msgstr "" - -#: ../../../build/NEWS:16458 -msgid "" -"`bpo-31506 `__: Improved the error " -"message logic for object.__new__ and object.__init__." -msgstr "" - -#: ../../../build/NEWS:16461 ../../../build/NEWS:19515 -msgid "" -"`bpo-31505 `__: Fix an assertion failure " -"in `json`, in case `_json.make_encoder()` received a bad `encoder()` " -"argument. Patch by Oren Milman." -msgstr "" - -#: ../../../build/NEWS:16465 ../../../build/NEWS:19519 -msgid "" -"`bpo-31492 `__: Fix assertion failures " -"in case of failing to import from a module with a bad ``__name__`` " -"attribute, and in case of failing to access an attribute of such a module. " -"Patch by Oren Milman." -msgstr "" - -#: ../../../build/NEWS:16469 ../../../build/NEWS:19527 -msgid "" -"`bpo-31478 `__: Fix an assertion failure " -"in `_random.Random.seed()` in case the argument has a bad ``__abs__()`` " -"method. Patch by Oren Milman." -msgstr "" - -#: ../../../build/NEWS:16472 -msgid "" -"`bpo-31336 `__: Speed up class creation " -"by 10-20% by reducing the overhead in the necessary special method lookups. " -"Patch by Stefan Behnel." -msgstr "" - -#: ../../../build/NEWS:16475 -msgid "" -"`bpo-31415 `__: Add ``-X importtime`` " -"option to show how long each import takes. It can be used to optimize " -"application's startup time. Support the :envvar:`PYTHONPROFILEIMPORTTIME` " -"as an equivalent way to enable this." -msgstr "" - -#: ../../../build/NEWS:16479 -msgid "" -"`bpo-31410 `__: Optimized calling " -"wrapper and classmethod descriptors." -msgstr "" - -#: ../../../build/NEWS:16481 -msgid "" -"`bpo-31353 `__: :pep:`553` - Add a new " -"built-in called ``breakpoint()`` which calls ``sys.breakpointhook()``. By " -"default this imports ``pdb`` and calls ``pdb.set_trace()``, but users may " -"override ``sys.breakpointhook()`` to call whatever debugger they want. The " -"original value of the hook is saved in ``sys.__breakpointhook__``." -msgstr "" - -#: ../../../build/NEWS:16487 -msgid "" -"`bpo-17852 `__: Maintain a list of open " -"buffered files, flush them before exiting the interpreter. Based on a patch " -"from Armin Rigo." -msgstr "" - -#: ../../../build/NEWS:16490 ../../../build/NEWS:19530 -msgid "" -"`bpo-31315 `__: Fix an assertion failure " -"in imp.create_dynamic(), when spec.name is not a string. Patch by Oren " -"Milman." -msgstr "" - -#: ../../../build/NEWS:16493 ../../../build/NEWS:19533 -msgid "" -"`bpo-31311 `__: Fix a crash in the " -"``__setstate__()`` method of `ctypes._CData`, in case of a bad ``__dict__``. " -"Patch by Oren Milman." -msgstr "" - -#: ../../../build/NEWS:16496 ../../../build/NEWS:19536 -msgid "" -"`bpo-31293 `__: Fix crashes in true " -"division and multiplication of a timedelta object by a float with a bad " -"as_integer_ratio() method. Patch by Oren Milman." -msgstr "" - -#: ../../../build/NEWS:16500 ../../../build/NEWS:19540 -msgid "" -"`bpo-31285 `__: Fix an assertion failure " -"in `warnings.warn_explicit`, when the return value of the received loader's " -"get_source() has a bad splitlines() method. Patch by Oren Milman." -msgstr "" - -#: ../../../build/NEWS:16504 -msgid "" -"`bpo-30406 `__: Make ``async`` and " -"``await`` proper keywords, as specified in :pep:`492`." -msgstr "" - -#: ../../../build/NEWS:16510 ../../../build/NEWS:19646 -msgid "" -"`bpo-30058 `__: Fixed buffer overflow in " -"select.kqueue.control()." -msgstr "" - -#: ../../../build/NEWS:16512 ../../../build/NEWS:19651 -msgid "" -"`bpo-31672 `__: ``idpattern`` in " -"``string.Template`` matched some non-ASCII characters. Now it uses ``-i`` " -"regular expression local flag to avoid non-ASCII characters." -msgstr "" - -#: ../../../build/NEWS:16516 ../../../build/NEWS:19661 -msgid "" -"`bpo-31701 `__: On Windows, faulthandler." -"enable() now ignores MSC and COM exceptions." -msgstr "" - -#: ../../../build/NEWS:16519 ../../../build/NEWS:19664 -msgid "" -"`bpo-31728 `__: Prevent crashes in " -"`_elementtree` due to unsafe cleanup of `Element.text` and `Element.tail`. " -"Patch by Oren Milman." -msgstr "" - -#: ../../../build/NEWS:16522 -msgid "" -"`bpo-31671 `__: Now ``re.compile()`` " -"converts passed RegexFlag to normal int object before compiling. " -"bm_regex_compile benchmark shows 14% performance improvements." -msgstr "" - -#: ../../../build/NEWS:16526 -msgid "" -"`bpo-30397 `__: The types of compiled " -"regular objects and match objects are now exposed as `re.Pattern` and `re." -"Match`. This adds information in pydoc output for the re module." -msgstr "" - -#: ../../../build/NEWS:16530 ../../../build/NEWS:19674 -msgid "" -"`bpo-31675 `__: Fixed memory leaks in " -"Tkinter's methods splitlist() and split() when pass a string larger than 2 " -"GiB." -msgstr "" - -#: ../../../build/NEWS:16533 ../../../build/NEWS:19677 -msgid "" -"`bpo-31673 `__: Fixed typo in the name " -"of Tkinter's method adderrorinfo()." -msgstr "" - -#: ../../../build/NEWS:16535 -msgid "" -"`bpo-31648 `__: Improvements to path " -"predicates in ElementTree: Allow whitespace around predicate parts, i.e. " -"\"[a = 'text']\" instead of requiring the less readable \"[a='text']\". Add " -"support for text comparison of the current node, like \"[.='text']\". Patch " -"by Stefan Behnel." -msgstr "" - -#: ../../../build/NEWS:16540 ../../../build/NEWS:19679 -msgid "" -"`bpo-30806 `__: Fix the string " -"representation of a netrc object." -msgstr "" - -#: ../../../build/NEWS:16542 -msgid "" -"`bpo-31638 `__: Add optional argument " -"``compressed`` to ``zipapp.create_archive``, and add option ``--compress`` " -"to the command line interface of ``zipapp``." -msgstr "" - -#: ../../../build/NEWS:16546 ../../../build/NEWS:19684 -msgid "" -"`bpo-25351 `__: Avoid venv activate " -"failures with undefined variables" -msgstr "" - -#: ../../../build/NEWS:16548 -msgid "" -"`bpo-20519 `__: Avoid ctypes use (if " -"possible) and improve import time for uuid." -msgstr "" - -#: ../../../build/NEWS:16551 -msgid "" -"`bpo-28293 `__: The regular expression " -"cache is no longer completely dumped when it is full." -msgstr "" - -#: ../../../build/NEWS:16554 -msgid "" -"`bpo-31596 `__: Added " -"pthread_getcpuclockid() to the time module" -msgstr "" - -#: ../../../build/NEWS:16556 -msgid "" -"`bpo-27494 `__: Make 2to3 accept a " -"trailing comma in generator expressions. For example, ``set(x for x in " -"[],)`` is now allowed." -msgstr "" - -#: ../../../build/NEWS:16559 ../../../build/NEWS:19690 -msgid "" -"`bpo-30347 `__: Stop crashes when " -"concurrently iterate over itertools.groupby() iterators." -msgstr "" - -#: ../../../build/NEWS:16562 -msgid "" -"`bpo-30346 `__: An iterator produced by " -"itertools.groupby() iterator now becomes exhausted after advancing the " -"groupby iterator." -msgstr "" - -#: ../../../build/NEWS:16565 -msgid "" -"`bpo-31556 `__: Cancel asyncio.wait_for " -"future faster if timeout <= 0" -msgstr "" - -#: ../../../build/NEWS:16567 -msgid "" -"`bpo-31540 `__: Allow passing a context " -"object in :class:`concurrent.futures.ProcessPoolExecutor` constructor. Also, " -"free job resources in :class:`concurrent.futures.ProcessPoolExecutor` " -"earlier to improve memory usage when a worker waits for new jobs." -msgstr "" - -#: ../../../build/NEWS:16572 ../../../build/NEWS:19693 -msgid "" -"`bpo-31516 `__: ``threading." -"current_thread()`` should not return a dummy thread at shutdown." -msgstr "" - -#: ../../../build/NEWS:16575 -msgid "" -"`bpo-31525 `__: In the sqlite module, " -"require the sqlite3_prepare_v2 API. Thus, the sqlite module now requires " -"sqlite version at least 3.3.9." -msgstr "" - -#: ../../../build/NEWS:16578 -msgid "" -"`bpo-26510 `__: argparse subparsers are " -"now required by default. This matches behaviour in Python 2. For optional " -"subparsers, use the new parameter ``add_subparsers(required=False)``. Patch " -"by Anthony Sottile. (As of 3.7.0rc1, the default was changed to not required " -"as had been the case since Python 3.3.)" -msgstr "" - -#: ../../../build/NEWS:16584 -msgid "" -"`bpo-27541 `__: Reprs of subclasses of " -"some collection and iterator classes (`bytearray`, `array.array`, " -"`collections.deque`, `collections.defaultdict`, `itertools.count`, " -"`itertools.repeat`) now contain actual type name insteads of hardcoded name " -"of the base class." -msgstr "" - -#: ../../../build/NEWS:16589 ../../../build/NEWS:19696 -msgid "" -"`bpo-31351 `__: python -m ensurepip now " -"exits with non-zero exit code if pip bootstrapping has failed." -msgstr "" - -#: ../../../build/NEWS:16592 -msgid "" -"`bpo-31389 `__: ``pdb.set_trace()`` now " -"takes an optional keyword-only argument ``header``. If given, this is " -"printed to the console just before debugging begins." -msgstr "" - -#: ../../../build/NEWS:16599 ../../../build/NEWS:19717 -msgid "" -"`bpo-31537 `__: Fix incorrect usage of " -"``get_history_length`` in readline documentation example code. Patch by Brad " -"Smith." -msgstr "" - -#: ../../../build/NEWS:16602 ../../../build/NEWS:19720 -msgid "" -"`bpo-30085 `__: The operator functions " -"without double underscores are preferred for clarity. The one with " -"underscores are only kept for back-compatibility." -msgstr "" - -#: ../../../build/NEWS:16609 -msgid "" -"`bpo-31696 `__: Improve compiler version " -"information in :data:`sys.version` when Python is built with Clang." -msgstr "" - -#: ../../../build/NEWS:16612 -msgid "" -"`bpo-31625 `__: Stop using ranlib on " -"static libraries. Instead, we assume ar supports the 's' flag." -msgstr "" - -#: ../../../build/NEWS:16615 -msgid "" -"`bpo-31624 `__: Remove support for BSD/" -"OS." -msgstr "" - -#: ../../../build/NEWS:16617 ../../../build/NEWS:19761 -msgid "" -"`bpo-22140 `__: Prevent double " -"substitution of prefix in python-config.sh." -msgstr "" - -#: ../../../build/NEWS:16619 -msgid "" -"`bpo-31569 `__: Correct PCBuild/ case to " -"PCbuild/ in build scripts and documentation." -msgstr "" - -#: ../../../build/NEWS:16622 ../../../build/NEWS:19763 -msgid "" -"`bpo-31536 `__: Avoid wholesale rebuild " -"after `make regen-all` if nothing changed." -msgstr "" - -#: ../../../build/NEWS:16628 ../../../build/NEWS:19819 -msgid "" -"`bpo-31460 `__: Simplify the API of " -"IDLE's Module Browser. Passing a widget instead of an flist with a root " -"widget opens the option of creating a browser frame that is only part of a " -"window. Passing a full file name instead of pieces assumed to come from a ." -"py file opens the possibility of browsing python files that do not end in ." -"py." -msgstr "" - -#: ../../../build/NEWS:16634 ../../../build/NEWS:19825 -msgid "" -"`bpo-31649 `__: IDLE - Make _htest, " -"_utest parameters keyword only." -msgstr "" - -#: ../../../build/NEWS:16636 ../../../build/NEWS:19827 -msgid "" -"`bpo-31559 `__: Remove test order " -"dependence in idle_test.test_browser." -msgstr "" - -#: ../../../build/NEWS:16638 ../../../build/NEWS:19829 -msgid "" -"`bpo-31459 `__: Rename IDLE's module " -"browser from Class Browser to Module Browser. The original module-level " -"class and method browser became a module browser, with the addition of " -"module-level functions, years ago. Nested classes and functions were added " -"yesterday. For back-compatibility, the virtual event <>, which appears on the Keys tab of the Settings dialog, is not " -"changed. Patch by Cheryl Sabella." -msgstr "" - -#: ../../../build/NEWS:16646 ../../../build/NEWS:19837 -msgid "" -"`bpo-31500 `__: Default fonts now are " -"scaled on HiDPI displays." -msgstr "" - -#: ../../../build/NEWS:16648 ../../../build/NEWS:19839 -msgid "" -"`bpo-1612262 `__: IDLE module browser " -"now shows nested classes and functions. Original patches for code and tests " -"by Guilherme Polo and Cheryl Sabella, respectively." -msgstr "" - -#: ../../../build/NEWS:16655 -msgid "" -"`bpo-28280 `__: Make `PyMapping_Keys()`, " -"`PyMapping_Values()` and `PyMapping_Items()` always return a `list` (rather " -"than a `list` or a `tuple`). Patch by Oren Milman." -msgstr "" - -#: ../../../build/NEWS:16659 ../../../build/NEWS:19857 -msgid "" -"`bpo-31532 `__: Fix memory corruption " -"due to allocator mix in getpath.c between Py_GetPath() and Py_SetPath()" -msgstr "" - -#: ../../../build/NEWS:16662 -msgid "" -"`bpo-25658 `__: Implement :pep:`539` for " -"Thread Specific Storage (TSS) API: it is a new Thread Local Storage (TLS) " -"API to CPython which would supersede use of the existing TLS API within the " -"CPython interpreter, while deprecating the existing API. PEP written by Erik " -"M. Bray, patch by Masayuki Yamamoto." -msgstr "" - -#: ../../../build/NEWS:16670 -msgid "Python 3.7.0 alpha 1" -msgstr "" - -#: ../../../build/NEWS:16672 -msgid "*Release date: 2017-09-19*" -msgstr "" - -#: ../../../build/NEWS:16677 ../../../build/NEWS:19895 -msgid "" -"`bpo-29781 `__: SSLObject.version() now " -"correctly returns None when handshake over BIO has not been performed yet." -msgstr "" - -#: ../../../build/NEWS:16680 -msgid "" -"`bpo-29505 `__: Add fuzz tests for " -"float(str), int(str), unicode(str); for oss-fuzz." -msgstr "" - -#: ../../../build/NEWS:16683 ../../../build/NEWS:19898 -#: ../../../build/NEWS:24283 -msgid "" -"`bpo-30947 `__: Upgrade libexpat " -"embedded copy from version 2.2.1 to 2.2.3 to get security fixes." -msgstr "" - -#: ../../../build/NEWS:16686 ../../../build/NEWS:20358 -#: ../../../build/NEWS:24325 -msgid "" -"`bpo-30730 `__: Prevent environment " -"variables injection in subprocess on Windows. Prevent passing other " -"environment variables and command arguments." -msgstr "" - -#: ../../../build/NEWS:16690 ../../../build/NEWS:20362 -#: ../../../build/NEWS:24329 -msgid "" -"`bpo-30694 `__: Upgrade expat copy from " -"2.2.0 to 2.2.1 to get fixes of multiple security vulnerabilities including: " -"CVE-2017-9233 (External entity infinite loop DoS), CVE-2016-9063 (Integer " -"overflow, re-fix), CVE-2016-0718 (Fix regression bugs from 2.2.0's fix to " -"CVE-2016-0718) and CVE-2012-0876 (Counter hash flooding with SipHash). Note: " -"the CVE-2016-5300 (Use os-specific entropy sources like getrandom) doesn't " -"impact Python, since Python already gets entropy from the OS to set the " -"expat secret using ``XML_SetHashSalt()``." -msgstr "" - -#: ../../../build/NEWS:16699 ../../../build/NEWS:20371 -#: ../../../build/NEWS:24338 -msgid "" -"`bpo-30500 `__: Fix urllib.parse." -"splithost() to correctly parse fragments. For example, " -"``splithost('//127.0.0.1#@evil.com/')`` now correctly returns the " -"``127.0.0.1`` host, instead of treating ``@evil.com`` as the host in an " -"authentication (``login@host``)." -msgstr "" - -#: ../../../build/NEWS:16704 ../../../build/NEWS:20460 -#: ../../../build/NEWS:24343 -msgid "" -"`bpo-29591 `__: Update expat copy from " -"2.1.1 to 2.2.0 to get fixes of CVE-2016-0718 and CVE-2016-4472. See https://" -"sourceforge.net/p/expat/bugs/537/ for more information." -msgstr "" - -#: ../../../build/NEWS:16711 ../../../build/NEWS:19523 -msgid "" -"`bpo-31490 `__: Fix an assertion failure " -"in `ctypes` class definition, in case the class has an attribute whose name " -"is specified in ``_anonymous_`` but not in ``_fields_``. Patch by Oren " -"Milman." -msgstr "" - -#: ../../../build/NEWS:16715 ../../../build/NEWS:19904 -msgid "" -"`bpo-31471 `__: Fix an assertion failure " -"in `subprocess.Popen()` on Windows, in case the env argument has a bad " -"keys() method. Patch by Oren Milman." -msgstr "" - -#: ../../../build/NEWS:16718 ../../../build/NEWS:19907 -msgid "" -"`bpo-31418 `__: Fix an assertion failure " -"in `PyErr_WriteUnraisable()` in case of an exception with a bad " -"``__module__`` attribute. Patch by Oren Milman." -msgstr "" - -#: ../../../build/NEWS:16721 ../../../build/NEWS:19910 -msgid "" -"`bpo-31416 `__: Fix assertion failures " -"in case of a bad warnings.filters or warnings.defaultaction. Patch by Oren " -"Milman." -msgstr "" - -#: ../../../build/NEWS:16724 -msgid "" -"`bpo-28411 `__: Change direct usage of " -"PyInterpreterState.modules to PyImport_GetModuleDict(). Also introduce more " -"uniformity in other code that deals with sys.modules. This helps reduce " -"complications when working on sys.modules." -msgstr "" - -#: ../../../build/NEWS:16729 -msgid "" -"`bpo-28411 `__: Switch to the abstract " -"API when dealing with ``PyInterpreterState.modules``. This allows later " -"support for all dict subclasses and other Mapping implementations. Also add " -"a ``PyImport_GetModule()`` function to reduce a bunch of duplicated code." -msgstr "" - -#: ../../../build/NEWS:16734 ../../../build/NEWS:19913 -msgid "" -"`bpo-31411 `__: Raise a TypeError " -"instead of SystemError in case warnings.onceregistry is not a dictionary. " -"Patch by Oren Milman." -msgstr "" - -#: ../../../build/NEWS:16737 -msgid "" -"`bpo-31344 `__: For finer control of " -"tracing behaviour when testing the interpreter, two new frame attributes " -"have been added to control the emission of particular trace events: " -"``f_trace_lines`` (``True`` by default) to turn off per-line trace events; " -"and ``f_trace_opcodes`` (``False`` by default) to turn on per-opcode trace " -"events." -msgstr "" - -#: ../../../build/NEWS:16743 ../../../build/NEWS:19916 -msgid "" -"`bpo-31373 `__: Fix several possible " -"instances of undefined behavior due to floating-point demotions." -msgstr "" - -#: ../../../build/NEWS:16746 ../../../build/NEWS:19919 -msgid "" -"`bpo-30465 `__: Location information " -"(``lineno`` and ``col_offset``) in f-strings is now (mostly) correct. This " -"fixes tools like flake8 from showing warnings on the wrong line (typically " -"the first line of the file)." -msgstr "" - -#: ../../../build/NEWS:16750 -msgid "" -"`bpo-30860 `__: Consolidate CPython's " -"global runtime state under a single struct. This improves discoverability " -"of the runtime state." -msgstr "" - -#: ../../../build/NEWS:16753 -msgid "" -"`bpo-31347 `__: Fix possible undefined " -"behavior in _PyObject_FastCall_Prepend." -msgstr "" - -#: ../../../build/NEWS:16755 ../../../build/NEWS:19923 -msgid "" -"`bpo-31343 `__: Include sys/sysmacros.h " -"for major(), minor(), and makedev(). GNU C libray plans to remove the " -"functions from sys/types.h." -msgstr "" - -#: ../../../build/NEWS:16758 ../../../build/NEWS:19926 -msgid "" -"`bpo-31291 `__: Fix an assertion failure " -"in `zipimport.zipimporter.get_data` on Windows, when the return value of " -"``pathname.replace('/','\\\\')`` isn't a string. Patch by Oren Milman." -msgstr "" - -#: ../../../build/NEWS:16762 ../../../build/NEWS:19930 -msgid "" -"`bpo-31271 `__: Fix an assertion failure " -"in the write() method of `io.TextIOWrapper`, when the encoder doesn't return " -"a bytes object. Patch by Oren Milman." -msgstr "" - -#: ../../../build/NEWS:16766 ../../../build/NEWS:19934 -msgid "" -"`bpo-31243 `__: Fix a crash in some " -"methods of `io.TextIOWrapper`, when the decoder's state is invalid. Patch by " -"Oren Milman." -msgstr "" - -#: ../../../build/NEWS:16769 ../../../build/NEWS:19937 -msgid "" -"`bpo-30721 `__: ``print`` now shows " -"correct usage hint for using Python 2 redirection syntax. Patch by Sanyam " -"Khurana." -msgstr "" - -#: ../../../build/NEWS:16772 ../../../build/NEWS:19940 -msgid "" -"`bpo-31070 `__: Fix a race condition in " -"importlib _get_module_lock()." -msgstr "" - -#: ../../../build/NEWS:16774 -msgid "" -"`bpo-30747 `__: Add a non-dummy " -"implementation of _Py_atomic_store and _Py_atomic_load on MSVC." -msgstr "" - -#: ../../../build/NEWS:16777 ../../../build/NEWS:19942 -#: ../../../build/NEWS:24289 -msgid "" -"`bpo-31095 `__: Fix potential crash " -"during GC caused by ``tp_dealloc`` which doesn't call " -"``PyObject_GC_UnTrack()``." -msgstr "" - -#: ../../../build/NEWS:16780 ../../../build/NEWS:19945 -msgid "" -"`bpo-31071 `__: Avoid masking original " -"TypeError in call with * unpacking when other arguments are passed." -msgstr "" - -#: ../../../build/NEWS:16783 ../../../build/NEWS:19948 -msgid "" -"`bpo-30978 `__: str.format_map() now " -"passes key lookup exceptions through. Previously any exception was replaced " -"with a KeyError exception." -msgstr "" - -#: ../../../build/NEWS:16786 ../../../build/NEWS:19951 -msgid "" -"`bpo-30808 `__: Use _Py_atomic API for " -"concurrency-sensitive signal state." -msgstr "" - -#: ../../../build/NEWS:16788 ../../../build/NEWS:19953 -#: ../../../build/NEWS:24350 -msgid "" -"`bpo-30876 `__: Relative import from " -"unloaded package now reimports the package instead of failing with " -"SystemError. Relative import from non-package now fails with ImportError " -"rather than SystemError." -msgstr "" - -#: ../../../build/NEWS:16792 ../../../build/NEWS:19957 -msgid "" -"`bpo-30703 `__: Improve signal delivery. " -"Avoid using Py_AddPendingCall from signal handler, to avoid calling signal-" -"unsafe functions. The tests I'm adding here fail without the rest of the " -"patch, on Linux and OS X. This means our signal delivery logic had defects " -"(some signals could be lost)." -msgstr "" - -#: ../../../build/NEWS:16797 ../../../build/NEWS:19962 -#: ../../../build/NEWS:24354 -msgid "" -"`bpo-30765 `__: Avoid blocking in " -"pthread_mutex_lock() when PyThread_acquire_lock() is asked not to block." -msgstr "" - -#: ../../../build/NEWS:16800 ../../../build/NEWS:19965 -msgid "" -"`bpo-31161 `__: Make sure the 'Missing " -"parentheses' syntax error message is only applied to SyntaxError, not to " -"subclasses. Patch by Martijn Pieters." -msgstr "" - -#: ../../../build/NEWS:16803 ../../../build/NEWS:19968 -msgid "" -"`bpo-30814 `__: Fixed a race condition " -"when import a submodule from a package." -msgstr "" - -#: ../../../build/NEWS:16805 -msgid "" -"`bpo-30736 `__: The internal unicodedata " -"database has been upgraded to Unicode 10.0." -msgstr "" - -#: ../../../build/NEWS:16808 -msgid "" -"`bpo-30604 `__: Move co_extra_freefuncs " -"from per-thread to per-interpreter to avoid crashes." -msgstr "" - -#: ../../../build/NEWS:16811 ../../../build/NEWS:19970 -msgid "" -"`bpo-30597 `__: ``print`` now shows " -"expected input in custom error message when used as a Python 2 statement. " -"Patch by Sanyam Khurana." -msgstr "" - -#: ../../../build/NEWS:16814 ../../../build/NEWS:20385 -msgid "" -"`bpo-30682 `__: Removed a too-strict " -"assertion that failed for certain f-strings, such as eval(\"f'\\\\\\n'\") " -"and eval(\"f'\\\\\\r'\")." -msgstr "" - -#: ../../../build/NEWS:16817 -msgid "" -"`bpo-30501 `__: The compiler now " -"produces more optimal code for complex condition expressions in the \"if\", " -"\"while\" and \"assert\" statement, the \"if\" expression, and generator " -"expressions and comprehensions." -msgstr "" - -#: ../../../build/NEWS:16821 -msgid "" -"`bpo-28180 `__: Implement :pep:`538` " -"(legacy C locale coercion). This means that when a suitable coercion target " -"locale is available, both the core interpreter and locale-aware C extensions " -"will assume the use of UTF-8 as the default text encoding, rather than ASCII." -msgstr "" - -#: ../../../build/NEWS:16826 -msgid "" -"`bpo-30486 `__: Allows setting cell " -"values for __closure__. Patch by Lisa Roach." -msgstr "" - -#: ../../../build/NEWS:16829 -msgid "" -"`bpo-30537 `__: itertools.islice now " -"accepts integer-like objects (having an __index__ method) as start, stop, " -"and slice arguments" -msgstr "" - -#: ../../../build/NEWS:16832 -msgid "" -"`bpo-25324 `__: Tokens needed for " -"parsing in Python moved to C. ``COMMENT``, ``NL`` and ``ENCODING``. This way " -"the tokens and tok_names in the token module don't get changed when you " -"import the tokenize module." -msgstr "" - -#: ../../../build/NEWS:16836 ../../../build/NEWS:20390 -msgid "" -"`bpo-29104 `__: Fixed parsing " -"backslashes in f-strings." -msgstr "" - -#: ../../../build/NEWS:16838 ../../../build/NEWS:20392 -#: ../../../build/NEWS:24357 -msgid "" -"`bpo-27945 `__: Fixed various segfaults " -"with dict when input collections are mutated during searching, inserting or " -"comparing. Based on patches by Duane Griffin and Tim Mitchell." -msgstr "" - -#: ../../../build/NEWS:16842 ../../../build/NEWS:20396 -#: ../../../build/NEWS:24361 -msgid "" -"`bpo-25794 `__: Fixed type.__setattr__() " -"and type.__delattr__() for non-interned attribute names. Based on patch by " -"Eryk Sun." -msgstr "" - -#: ../../../build/NEWS:16845 ../../../build/NEWS:20399 -msgid "" -"`bpo-30039 `__: If a KeyboardInterrupt " -"happens when the interpreter is in the middle of resuming a chain of nested " -"'yield from' or 'await' calls, it's now correctly delivered to the innermost " -"frame." -msgstr "" - -#: ../../../build/NEWS:16849 -msgid "" -"`bpo-28974 `__: ``object.__format__(x, " -"'')`` is now equivalent to ``str(x)`` rather than ``format(str(self), '')``." -msgstr "" - -#: ../../../build/NEWS:16852 -msgid "" -"`bpo-30024 `__: Circular imports " -"involving absolute imports with binding a submodule to a name are now " -"supported." -msgstr "" - -#: ../../../build/NEWS:16855 ../../../build/NEWS:20403 -msgid "" -"`bpo-12414 `__: sys.getsizeof() on a " -"code object now returns the sizes which includes the code struct and sizes " -"of objects which it references. Patch by Dong-hee Na." -msgstr "" - -#: ../../../build/NEWS:16859 -msgid "" -"`bpo-29839 `__: len() now raises " -"ValueError rather than OverflowError if __len__() returned a large negative " -"integer." -msgstr "" - -#: ../../../build/NEWS:16862 -msgid "" -"`bpo-11913 `__: README.rst is now " -"included in the list of distutils standard READMEs and therefore included in " -"source distributions." -msgstr "" - -#: ../../../build/NEWS:16865 -msgid "" -"`bpo-29914 `__: Fixed default " -"implementations of __reduce__ and __reduce_ex__(). object.__reduce__() no " -"longer takes arguments, object.__reduce_ex__() now requires one argument." -msgstr "" - -#: ../../../build/NEWS:16869 ../../../build/NEWS:20407 -msgid "" -"`bpo-29949 `__: Fix memory usage " -"regression of set and frozenset object." -msgstr "" - -#: ../../../build/NEWS:16871 ../../../build/NEWS:20409 -#: ../../../build/NEWS:24364 -msgid "" -"`bpo-29935 `__: Fixed error messages in " -"the index() method of tuple, list and deque when pass indices of wrong type." -msgstr "" - -#: ../../../build/NEWS:16874 -msgid "" -"`bpo-29816 `__: Shift operation now has " -"less opportunity to raise OverflowError. ValueError always is raised rather " -"than OverflowError for negative counts. Shifting zero with non-negative " -"count always returns zero." -msgstr "" - -#: ../../../build/NEWS:16879 -msgid "" -"`bpo-24821 `__: Fixed the slowing down " -"to 25 times in the searching of some unlucky Unicode characters." -msgstr "" - -#: ../../../build/NEWS:16882 -msgid "" -"`bpo-29102 `__: Add a unique ID to " -"PyInterpreterState. This makes it easier to identify each subinterpreter." -msgstr "" - -#: ../../../build/NEWS:16885 -msgid "" -"`bpo-29894 `__: The deprecation warning " -"is emitted if __complex__ returns an instance of a strict subclass of " -"complex. In a future versions of Python this can be an error." -msgstr "" - -#: ../../../build/NEWS:16889 ../../../build/NEWS:20412 -msgid "" -"`bpo-29859 `__: Show correct error " -"messages when any of the pthread_* calls in thread_pthread.h fails." -msgstr "" - -#: ../../../build/NEWS:16892 -msgid "" -"`bpo-29849 `__: Fix a memory leak when " -"an ImportError is raised during from import." -msgstr "" - -#: ../../../build/NEWS:16895 ../../../build/NEWS:20420 -msgid "" -"`bpo-28856 `__: Fix an oversight that %b " -"format for bytes should support objects follow the buffer protocol." -msgstr "" - -#: ../../../build/NEWS:16898 ../../../build/NEWS:20737 -msgid "" -"`bpo-29723 `__: The ``sys.path[0]`` " -"initialization change for `bpo-29139 `__ " -"caused a regression by revealing an inconsistency in how sys.path is " -"initialized when executing ``__main__`` from a zipfile, directory, or other " -"import location. The interpreter now consistently avoids ever adding the " -"import location's parent directory to ``sys.path``, and ensures no other " -"``sys.path`` entries are inadvertently modified when inserting the import " -"location named on the command line." -msgstr "" - -#: ../../../build/NEWS:16906 -msgid "" -"`bpo-29568 `__: Escaped percent \"%%\" " -"in the format string for classic string formatting no longer allows any " -"characters between two percents." -msgstr "" - -#: ../../../build/NEWS:16909 ../../../build/NEWS:20423 -msgid "" -"`bpo-29714 `__: Fix a regression that " -"bytes format may fail when containing zero bytes inside." -msgstr "" - -#: ../../../build/NEWS:16912 -msgid "" -"`bpo-29695 `__: bool(), float(), list() " -"and tuple() no longer take keyword arguments. The first argument of int() " -"can now be passes only as positional argument." -msgstr "" - -#: ../../../build/NEWS:16916 ../../../build/NEWS:20761 -msgid "" -"`bpo-28893 `__: Set correct __cause__ " -"for errors about invalid awaitables returned from __aiter__ and __anext__." -msgstr "" - -#: ../../../build/NEWS:16919 ../../../build/NEWS:20415 -#: ../../../build/NEWS:24367 -msgid "" -"`bpo-28876 `__: ``bool(range)`` works " -"even if ``len(range)`` raises :exc:`OverflowError`." -msgstr "" - -#: ../../../build/NEWS:16922 ../../../build/NEWS:20764 -msgid "" -"`bpo-29683 `__: Fixes to memory " -"allocation in _PyCode_SetExtra. Patch by Brian Coleman." -msgstr "" - -#: ../../../build/NEWS:16925 ../../../build/NEWS:20767 -msgid "" -"`bpo-29684 `__: Fix minor regression of " -"PyEval_CallObjectWithKeywords. It should raise TypeError when kwargs is not " -"a dict. But it might cause segv when args=NULL and kwargs is not a dict." -msgstr "" - -#: ../../../build/NEWS:16929 ../../../build/NEWS:20771 -#: ../../../build/NEWS:24378 -msgid "" -"`bpo-28598 `__: Support __rmod__ for " -"subclasses of str being called before str.__mod__. Patch by Martijn Pieters." -msgstr "" - -#: ../../../build/NEWS:16932 ../../../build/NEWS:20774 -msgid "" -"`bpo-29607 `__: Fix stack_effect " -"computation for CALL_FUNCTION_EX. Patch by Matthieu Dartiailh." -msgstr "" - -#: ../../../build/NEWS:16935 ../../../build/NEWS:20777 -#: ../../../build/NEWS:24381 -msgid "" -"`bpo-29602 `__: Fix incorrect handling " -"of signed zeros in complex constructor for complex subclasses and for inputs " -"having a __complex__ method. Patch by Serhiy Storchaka." -msgstr "" - -#: ../../../build/NEWS:16939 ../../../build/NEWS:20781 -#: ../../../build/NEWS:24385 -msgid "" -"`bpo-29347 `__: Fixed possibly " -"dereferencing undefined pointers when creating weakref objects." -msgstr "" - -#: ../../../build/NEWS:16942 -msgid "" -"`bpo-29463 `__: Add ``docstring`` field " -"to Module, ClassDef, FunctionDef, and AsyncFunctionDef ast nodes. docstring " -"is not first stmt in their body anymore. It affects ``co_firstlineno`` and " -"``co_lnotab`` of code object for module and class. (Reverted in :issue:" -"`32911`.)" -msgstr "" - -#: ../../../build/NEWS:16947 ../../../build/NEWS:20784 -#: ../../../build/NEWS:24388 -msgid "" -"`bpo-29438 `__: Fixed use-after-free " -"problem in key sharing dict." -msgstr "" - -#: ../../../build/NEWS:16949 -msgid "" -"`bpo-29546 `__: Set the 'path' and " -"'name' attribute on ImportError for ``from ... import ...``." -msgstr "" - -#: ../../../build/NEWS:16952 -msgid "" -"`bpo-29546 `__: Improve from-import " -"error message with location" -msgstr "" - -#: ../../../build/NEWS:16954 ../../../build/NEWS:20426 -#: ../../../build/NEWS:24395 -msgid "" -"`bpo-29478 `__: If max_line_length=None " -"is specified while using the Compat32 policy, it is no longer ignored. " -"Patch by Mircea Cosbuc." -msgstr "" - -#: ../../../build/NEWS:16957 ../../../build/NEWS:20786 -#: ../../../build/NEWS:24390 -msgid "" -"`bpo-29319 `__: Prevent " -"RunMainFromImporter overwriting sys.path[0]." -msgstr "" - -#: ../../../build/NEWS:16959 ../../../build/NEWS:20788 -#: ../../../build/NEWS:24392 -msgid "" -"`bpo-29337 `__: Fixed possible " -"BytesWarning when compare the code objects. Warnings could be emitted at " -"compile time." -msgstr "" - -#: ../../../build/NEWS:16962 ../../../build/NEWS:20791 -msgid "" -"`bpo-29327 `__: Fixed a crash when pass " -"the iterable keyword argument to sorted()." -msgstr "" - -#: ../../../build/NEWS:16965 ../../../build/NEWS:20794 -msgid "" -"`bpo-29034 `__: Fix memory leak and use-" -"after-free in os module (path_converter)." -msgstr "" - -#: ../../../build/NEWS:16968 ../../../build/NEWS:20797 -msgid "" -"`bpo-29159 `__: Fix regression in " -"bytes(x) when x.__index__() raises Exception." -msgstr "" - -#: ../../../build/NEWS:16970 -msgid "" -"`bpo-29049 `__: Call " -"_PyObject_GC_TRACK() lazily when calling Python function. Calling function " -"is up to 5% faster." -msgstr "" - -#: ../../../build/NEWS:16973 -msgid "" -"`bpo-28927 `__: bytes.fromhex() and " -"bytearray.fromhex() now ignore all ASCII whitespace, not only spaces. Patch " -"by Robert Xiao." -msgstr "" - -#: ../../../build/NEWS:16976 ../../../build/NEWS:20799 -#: ../../../build/NEWS:24744 -msgid "" -"`bpo-28932 `__: Do not include if it does not exist." -msgstr "" - -#: ../../../build/NEWS:16978 ../../../build/NEWS:20801 -#: ../../../build/NEWS:24749 -msgid "" -"`bpo-25677 `__: Correct the positioning " -"of the syntax error caret for indented blocks. Based on patch by Michael " -"Layzell." -msgstr "" - -#: ../../../build/NEWS:16981 ../../../build/NEWS:20804 -#: ../../../build/NEWS:24752 -msgid "" -"`bpo-29000 `__: Fixed bytes formatting " -"of octals with zero padding in alternate form." -msgstr "" - -#: ../../../build/NEWS:16984 -msgid "" -"`bpo-18896 `__: Python function can now " -"have more than 255 parameters. collections.namedtuple() now supports tuples " -"with more than 255 elements." -msgstr "" - -#: ../../../build/NEWS:16987 -msgid "" -"`bpo-28596 `__: The preferred encoding " -"is UTF-8 on Android. Patch written by Chi Hsuan Yen." -msgstr "" - -#: ../../../build/NEWS:16990 -msgid "" -"`bpo-22257 `__: Clean up interpreter " -"startup (see :pep:`432`)." -msgstr "" - -#: ../../../build/NEWS:16992 ../../../build/NEWS:20807 -msgid "" -"`bpo-26919 `__: On Android, operating " -"system data is now always encoded/decoded to/from UTF-8, instead of the " -"locale encoding to avoid inconsistencies with os.fsencode() and os." -"fsdecode() which are already using UTF-8." -msgstr "" - -#: ../../../build/NEWS:16996 ../../../build/NEWS:20811 -msgid "" -"`bpo-28991 `__: functools.lru_cache() " -"was susceptible to an obscure reentrancy bug triggerable by a monkey-patched " -"len() function." -msgstr "" - -#: ../../../build/NEWS:16999 ../../../build/NEWS:21085 -msgid "" -"`bpo-28147 `__: Fix a memory leak in " -"split-table dictionaries: setattr() must not convert combined table into " -"split table. Patch written by INADA Naoki." -msgstr "" - -#: ../../../build/NEWS:17002 ../../../build/NEWS:20814 -msgid "" -"`bpo-28739 `__: f-string expressions are " -"no longer accepted as docstrings and by ast.literal_eval() even if they do " -"not include expressions." -msgstr "" - -#: ../../../build/NEWS:17005 ../../../build/NEWS:20817 -#: ../../../build/NEWS:24755 -msgid "" -"`bpo-28512 `__: Fixed setting the offset " -"attribute of SyntaxError by PyErr_SyntaxLocationEx() and " -"PyErr_SyntaxLocationObject()." -msgstr "" - -#: ../../../build/NEWS:17008 ../../../build/NEWS:20820 -msgid "" -"`bpo-28918 `__: Fix the cross " -"compilation of xxlimited when Python has been built with Py_DEBUG defined." -msgstr "" - -#: ../../../build/NEWS:17011 ../../../build/NEWS:21115 -msgid "" -"`bpo-23722 `__: Rather than silently " -"producing a class that doesn't support zero-argument ``super()`` in methods, " -"failing to pass the new ``__classcell__`` namespace entry up to ``type." -"__new__`` now results in a ``DeprecationWarning`` and a class that supports " -"zero-argument ``super()``." -msgstr "" - -#: ../../../build/NEWS:17017 ../../../build/NEWS:21121 -msgid "" -"`bpo-28797 `__: Modifying the class " -"__dict__ inside the __set_name__ method of a descriptor that is used inside " -"that class no longer prevents calling the __set_name__ method of other " -"descriptors." -msgstr "" - -#: ../../../build/NEWS:17021 -msgid "" -"`bpo-28799 `__: Remove the " -"``PyEval_GetCallStats()`` function and deprecate the untested and " -"undocumented ``sys.callstats()`` function. Remove the ``CALL_PROFILE`` " -"special build: use the :func:`sys.setprofile` function, :mod:`cProfile` or :" -"mod:`profile` to profile function calls." -msgstr "" - -#: ../../../build/NEWS:17026 -msgid "" -"`bpo-12844 `__: More than 255 arguments " -"can now be passed to a function." -msgstr "" - -#: ../../../build/NEWS:17028 ../../../build/NEWS:21125 -msgid "" -"`bpo-28782 `__: Fix a bug in the " -"implementation ``yield from`` when checking if the next instruction is " -"YIELD_FROM. Regression introduced by WORDCODE (`bpo-26647 `__)." -msgstr "" - -#: ../../../build/NEWS:17032 -msgid "" -"`bpo-28774 `__: Fix error position of " -"the unicode error in ASCII and Latin1 encoders when a string returned by the " -"error handler contains multiple non-encodable characters (non-ASCII for the " -"ASCII codec, characters out of the U+0000-U+00FF range for Latin1)." -msgstr "" - -#: ../../../build/NEWS:17037 ../../../build/NEWS:20823 -msgid "" -"`bpo-28731 `__: Optimize " -"_PyDict_NewPresized() to create correct size dict. Improve speed of dict " -"literal with constant keys up to 30%." -msgstr "" - -#: ../../../build/NEWS:17040 ../../../build/NEWS:21179 -msgid "" -"`bpo-28532 `__: Show sys.version when -V " -"option is supplied twice." -msgstr "" - -#: ../../../build/NEWS:17042 ../../../build/NEWS:21181 -msgid "" -"`bpo-27100 `__: The with-statement now " -"checks for __enter__ before it checks for __exit__. This gives less " -"confusing error messages when both methods are missing. Patch by Jonathan " -"Ellington." -msgstr "" - -#: ../../../build/NEWS:17046 ../../../build/NEWS:21185 -msgid "" -"`bpo-28746 `__: Fix the " -"set_inheritable() file descriptor method on platforms that do not have the " -"ioctl FIOCLEX and FIONCLEX commands." -msgstr "" - -#: ../../../build/NEWS:17049 ../../../build/NEWS:21188 -msgid "" -"`bpo-26920 `__: Fix not getting the " -"locale's charset upon initializing the interpreter, on platforms that do not " -"have langinfo." -msgstr "" - -#: ../../../build/NEWS:17052 ../../../build/NEWS:21191 -#: ../../../build/NEWS:24761 -msgid "" -"`bpo-28648 `__: Fixed crash in " -"Py_DecodeLocale() in debug build on Mac OS X when decode astral characters. " -"Patch by Xiang Zhang." -msgstr "" - -#: ../../../build/NEWS:17055 ../../../build/NEWS:21197 -msgid "" -"`bpo-28665 `__: Improve speed of the " -"STORE_DEREF opcode by 40%." -msgstr "" - -#: ../../../build/NEWS:17057 ../../../build/NEWS:21194 -#: ../../../build/NEWS:24764 -msgid "" -"`bpo-19398 `__: Extra slash no longer " -"added to sys.path components in case of empty compile-time PYTHONPATH " -"components." -msgstr "" - -#: ../../../build/NEWS:17060 -msgid "" -"`bpo-28621 `__: Sped up converting int " -"to float by reusing faster bits counting implementation. Patch by Adrian " -"Wielgosik." -msgstr "" - -#: ../../../build/NEWS:17063 -msgid "" -"`bpo-28580 `__: Optimize iterating split " -"table values. Patch by Xiang Zhang." -msgstr "" - -#: ../../../build/NEWS:17065 ../../../build/NEWS:21199 -msgid "" -"`bpo-28583 `__: PyDict_SetDefault didn't " -"combine split table when needed. Patch by Xiang Zhang." -msgstr "" - -#: ../../../build/NEWS:17068 ../../../build/NEWS:21293 -msgid "" -"`bpo-28128 `__: Deprecation warning for " -"invalid str and byte escape sequences now prints better information about " -"where the error occurs. Patch by Serhiy Storchaka and Eric Smith." -msgstr "" - -#: ../../../build/NEWS:17072 ../../../build/NEWS:21297 -msgid "" -"`bpo-28509 `__: dict.update() no longer " -"allocate unnecessary large memory." -msgstr "" - -#: ../../../build/NEWS:17074 ../../../build/NEWS:21299 -#: ../../../build/NEWS:24767 -msgid "" -"`bpo-28426 `__: Fixed potential crash in " -"PyUnicode_AsDecodedObject() in debug build." -msgstr "" - -#: ../../../build/NEWS:17077 ../../../build/NEWS:21302 -msgid "" -"`bpo-28517 `__: Fixed of-by-one error in " -"the peephole optimizer that caused keeping unreachable code." -msgstr "" - -#: ../../../build/NEWS:17080 ../../../build/NEWS:21305 -msgid "" -"`bpo-28214 `__: Improved exception " -"reporting for problematic __set_name__ attributes." -msgstr "" - -#: ../../../build/NEWS:17083 ../../../build/NEWS:21308 -#: ../../../build/NEWS:24770 -msgid "" -"`bpo-23782 `__: Fixed possible memory " -"leak in _PyTraceback_Add() and exception loss in PyTraceBack_Here()." -msgstr "" - -#: ../../../build/NEWS:17086 ../../../build/NEWS:21417 -msgid "" -"`bpo-28183 `__: Optimize and cleanup " -"dict iteration." -msgstr "" - -#: ../../../build/NEWS:17088 ../../../build/NEWS:21419 -msgid "" -"`bpo-26081 `__: Added C implementation " -"of asyncio.Future. Original patch by Yury Selivanov." -msgstr "" - -#: ../../../build/NEWS:17091 ../../../build/NEWS:21422 -#: ../../../build/NEWS:24773 -msgid "" -"`bpo-28379 `__: Added sanity checks and " -"tests for PyUnicode_CopyCharacters(). Patch by Xiang Zhang." -msgstr "" - -#: ../../../build/NEWS:17094 ../../../build/NEWS:21425 -#: ../../../build/NEWS:24776 -msgid "" -"`bpo-28376 `__: The type of long range " -"iterator is now registered as Iterator. Patch by Oren Milman." -msgstr "" - -#: ../../../build/NEWS:17097 -msgid "" -"`bpo-28376 `__: Creating instances of " -"range_iterator by calling range_iterator type now is disallowed. Calling " -"iter() on range instance is the only way. Patch by Oren Milman." -msgstr "" - -#: ../../../build/NEWS:17101 ../../../build/NEWS:21434 -#: ../../../build/NEWS:24782 -msgid "" -"`bpo-26906 `__: Resolving special " -"methods of uninitialized type now causes implicit initialization of the type " -"instead of a fail." -msgstr "" - -#: ../../../build/NEWS:17104 ../../../build/NEWS:21437 -#: ../../../build/NEWS:24785 -msgid "" -"`bpo-18287 `__: PyType_Ready() now " -"checks that tp_name is not NULL. Original patch by Niklas Koep." -msgstr "" - -#: ../../../build/NEWS:17107 ../../../build/NEWS:21440 -#: ../../../build/NEWS:24788 -msgid "" -"`bpo-24098 `__: Fixed possible crash " -"when AST is changed in process of compiling it." -msgstr "" - -#: ../../../build/NEWS:17110 ../../../build/NEWS:21443 -msgid "" -"`bpo-28201 `__: Dict reduces possibility " -"of 2nd conflict in hash table when hashes have same lower bits." -msgstr "" - -#: ../../../build/NEWS:17113 ../../../build/NEWS:21446 -#: ../../../build/NEWS:24791 -msgid "" -"`bpo-28350 `__: String constants with " -"null character no longer interned." -msgstr "" - -#: ../../../build/NEWS:17115 ../../../build/NEWS:21448 -#: ../../../build/NEWS:24793 -msgid "" -"`bpo-26617 `__: Fix crash when GC runs " -"during weakref callbacks." -msgstr "" - -#: ../../../build/NEWS:17117 ../../../build/NEWS:21450 -#: ../../../build/NEWS:24795 -msgid "" -"`bpo-27942 `__: String constants now " -"interned recursively in tuples and frozensets." -msgstr "" - -#: ../../../build/NEWS:17120 -msgid "" -"`bpo-28289 `__: ImportError.__init__ now " -"resets not specified attributes." -msgstr "" - -#: ../../../build/NEWS:17122 ../../../build/NEWS:21453 -#: ../../../build/NEWS:24798 -msgid "" -"`bpo-21578 `__: Fixed misleading error " -"message when ImportError called with invalid keyword args." -msgstr "" - -#: ../../../build/NEWS:17125 ../../../build/NEWS:21456 -msgid "" -"`bpo-28203 `__: Fix incorrect type in " -"complex(1.0, {2:3}) error message. Patch by Soumya Sharma." -msgstr "" - -#: ../../../build/NEWS:17128 ../../../build/NEWS:21459 -msgid "" -"`bpo-28086 `__: Single var-positional " -"argument of tuple subtype was passed unscathed to the C-defined function. " -"Now it is converted to exact tuple." -msgstr "" - -#: ../../../build/NEWS:17131 ../../../build/NEWS:21462 -msgid "" -"`bpo-28214 `__: Now __set_name__ is " -"looked up on the class instead of the instance." -msgstr "" - -#: ../../../build/NEWS:17134 ../../../build/NEWS:21465 -#: ../../../build/NEWS:24804 -msgid "" -"`bpo-27955 `__: Fallback on reading /dev/" -"urandom device when the getrandom() syscall fails with EPERM, for example " -"when blocked by SECCOMP." -msgstr "" - -#: ../../../build/NEWS:17137 ../../../build/NEWS:21468 -msgid "" -"`bpo-28192 `__: Don't import readline in " -"isolated mode." -msgstr "" - -#: ../../../build/NEWS:17139 -msgid "" -"`bpo-27441 `__: Remove some redundant " -"assignments to ob_size in longobject.c. Thanks Oren Milman." -msgstr "" - -#: ../../../build/NEWS:17142 -msgid "" -"`bpo-27222 `__: Clean up redundant code " -"in long_rshift function. Thanks Oren Milman." -msgstr "" - -#: ../../../build/NEWS:17145 ../../../build/NEWS:21470 -msgid "Upgrade internal unicode databases to Unicode version 9.0.0." -msgstr "" - -#: ../../../build/NEWS:17147 ../../../build/NEWS:21472 -#: ../../../build/NEWS:24807 -msgid "" -"`bpo-28131 `__: Fix a regression in " -"zipimport's compile_source(). zipimport should use the same optimization " -"level as the interpreter." -msgstr "" - -#: ../../../build/NEWS:17150 ../../../build/NEWS:21475 -msgid "" -"`bpo-28126 `__: Replace Py_MEMCPY with " -"memcpy(). Visual Studio can properly optimize memcpy()." -msgstr "" - -#: ../../../build/NEWS:17153 ../../../build/NEWS:21478 -msgid "" -"`bpo-28120 `__: Fix dict.pop() for " -"splitted dictionary when trying to remove a \"pending key\" (Not yet " -"inserted in split-table). Patch by Xiang Zhang." -msgstr "" - -#: ../../../build/NEWS:17156 ../../../build/NEWS:21481 -msgid "" -"`bpo-26182 `__: Raise DeprecationWarning " -"when async and await keywords are used as variable/attribute/class/function " -"name." -msgstr "" - -#: ../../../build/NEWS:17159 ../../../build/NEWS:21206 -msgid "" -"`bpo-26182 `__: Fix a refleak in code " -"that raises DeprecationWarning." -msgstr "" - -#: ../../../build/NEWS:17161 ../../../build/NEWS:21208 -msgid "" -"`bpo-28721 `__: Fix asynchronous " -"generators aclose() and athrow() to handle StopAsyncIteration propagation " -"properly." -msgstr "" - -#: ../../../build/NEWS:17164 -msgid "" -"`bpo-26110 `__: Speed-up method calls: " -"add LOAD_METHOD and CALL_METHOD opcodes." -msgstr "" - -#: ../../../build/NEWS:17169 ../../../build/NEWS:19976 -msgid "" -"`bpo-31499 `__: xml.etree: Fix a crash " -"when a parser is part of a reference cycle." -msgstr "" - -#: ../../../build/NEWS:17172 ../../../build/NEWS:19699 -msgid "" -"`bpo-31482 `__: ``random.seed()`` now " -"works with bytes in version=1" -msgstr "" - -#: ../../../build/NEWS:17174 ../../../build/NEWS:19979 -msgid "" -"`bpo-28556 `__: typing.get_type_hints " -"now finds the right globalns for classes and modules by default (when no " -"``globalns`` was specified by the caller)." -msgstr "" - -#: ../../../build/NEWS:17177 ../../../build/NEWS:19982 -msgid "" -"`bpo-28556 `__: Speed improvements to " -"the ``typing`` module. Original PRs by Ivan Levkivskyi and Mitar." -msgstr "" - -#: ../../../build/NEWS:17180 ../../../build/NEWS:19985 -msgid "" -"`bpo-31544 `__: The C accelerator module " -"of ElementTree ignored exceptions raised when looking up TreeBuilder target " -"methods in XMLParser()." -msgstr "" - -#: ../../../build/NEWS:17183 ../../../build/NEWS:19988 -msgid "" -"`bpo-31234 `__: socket." -"create_connection() now fixes manually a reference cycle: clear the variable " -"storing the last exception on success." -msgstr "" - -#: ../../../build/NEWS:17186 ../../../build/NEWS:19991 -msgid "" -"`bpo-31457 `__: LoggerAdapter objects " -"can now be nested." -msgstr "" - -#: ../../../build/NEWS:17188 -msgid "" -"`bpo-31431 `__: SSLContext." -"check_hostname now automatically sets SSLContext.verify_mode to ssl." -"CERT_REQUIRED instead of failing with a ValueError." -msgstr "" - -#: ../../../build/NEWS:17192 -msgid "" -"`bpo-31233 `__: socketserver." -"ThreadingMixIn now keeps a list of non-daemonic threads to wait until all " -"these threads complete in server_close()." -msgstr "" - -#: ../../../build/NEWS:17195 -msgid "" -"`bpo-28638 `__: Changed the " -"implementation strategy for collections.namedtuple() to substantially reduce " -"the use of exec() in favor of precomputed methods. As a result, the " -"*verbose* parameter and *_source* attribute are no longer supported. The " -"benefits include 1) having a smaller memory footprint for applications using " -"multiple named tuples, 2) faster creation of the named tuple class (approx " -"4x to 6x depending on how it is measured), and 3) minor speed-ups for " -"instance creation using __new__, _make, and _replace. (The primary patch " -"contributor is Jelle Zijlstra with further improvements by INADA Naoki, " -"Serhiy Storchaka, and Raymond Hettinger.)" -msgstr "" - -#: ../../../build/NEWS:17206 ../../../build/NEWS:19993 -msgid "" -"`bpo-31400 `__: Improves SSL error " -"handling to avoid losing error numbers." -msgstr "" - -#: ../../../build/NEWS:17208 -msgid "" -"`bpo-27629 `__: Make return types of " -"SSLContext.wrap_bio() and SSLContext.wrap_socket() customizable." -msgstr "" - -#: ../../../build/NEWS:17211 ../../../build/NEWS:19995 -msgid "" -"`bpo-28958 `__: ssl.SSLContext() now " -"uses OpenSSL error information when a context cannot be instantiated." -msgstr "" - -#: ../../../build/NEWS:17214 -msgid "" -"`bpo-28182 `__: The SSL module now " -"raises SSLCertVerificationError when OpenSSL fails to verify the peer's " -"certificate. The exception contains more information about the error." -msgstr "" - -#: ../../../build/NEWS:17218 ../../../build/NEWS:19998 -msgid "" -"`bpo-27340 `__: SSLSocket.sendall() now " -"uses memoryview to create slices of data. This fixes support for all bytes-" -"like object. It is also more efficient and avoids costly copies." -msgstr "" - -#: ../../../build/NEWS:17222 -msgid "" -"`bpo-14191 `__: A new function " -"``argparse.ArgumentParser.parse_intermixed_args`` provides the ability to " -"parse command lines where there user intermixes options and positional " -"arguments." -msgstr "" - -#: ../../../build/NEWS:17227 ../../../build/NEWS:20002 -msgid "" -"`bpo-31178 `__: Fix string concatenation " -"bug in rare error path in the subprocess module" -msgstr "" - -#: ../../../build/NEWS:17230 ../../../build/NEWS:20005 -msgid "" -"`bpo-31350 `__: Micro-optimize :func:" -"`asyncio._get_running_loop` to become up to 10% faster." -msgstr "" - -#: ../../../build/NEWS:17233 ../../../build/NEWS:20008 -#: ../../../build/NEWS:24300 -msgid "" -"`bpo-31170 `__: expat: Update libexpat " -"from 2.2.3 to 2.2.4. Fix copying of partial characters for UTF-8 input " -"(libexpat bug 115): https://github.com/libexpat/libexpat/issues/115" -msgstr "" - -#: ../../../build/NEWS:17237 ../../../build/NEWS:20012 -msgid "" -"`bpo-29136 `__: Add TLS 1.3 cipher " -"suites and OP_NO_TLSv1_3." -msgstr "" - -#: ../../../build/NEWS:17239 -msgid "" -"`bpo-1198569 `__: ``string.Template`` " -"subclasses can optionally define ``braceidpattern`` if they want to specify " -"different placeholder patterns inside and outside the braces. If None (the " -"default) it falls back to ``idpattern``." -msgstr "" - -#: ../../../build/NEWS:17244 -msgid "" -"`bpo-31326 `__: concurrent.futures." -"ProcessPoolExecutor.shutdown() now explicitly closes the call queue. " -"Moreover, shutdown(wait=True) now also join the call queue thread, to " -"prevent leaking a dangling thread." -msgstr "" - -#: ../../../build/NEWS:17248 ../../../build/NEWS:20023 -msgid "" -"`bpo-27144 `__: The ``map()`` and " -"``as_completed()`` iterators in ``concurrent.futures`` now avoid keeping a " -"reference to yielded objects." -msgstr "" - -#: ../../../build/NEWS:17251 -msgid "" -"`bpo-31281 `__: Fix ``fileinput." -"FileInput(files, inplace=True)`` when ``files`` contain ``pathlib.Path`` " -"objects." -msgstr "" - -#: ../../../build/NEWS:17254 ../../../build/NEWS:20026 -msgid "" -"`bpo-10746 `__: Fix ctypes producing " -"wrong :pep:`3118` type codes for integer types." -msgstr "" - -#: ../../../build/NEWS:17257 -msgid "" -"`bpo-27584 `__: ``AF_VSOCK`` has been " -"added to the socket interface which allows communication between virtual " -"machines and their host." -msgstr "" - -#: ../../../build/NEWS:17260 ../../../build/NEWS:20029 -msgid "" -"`bpo-22536 `__: The subprocess module " -"now sets the filename when FileNotFoundError is raised on POSIX systems due " -"to the executable or cwd not being found." -msgstr "" - -#: ../../../build/NEWS:17264 -msgid "" -"`bpo-29741 `__: Update some methods in " -"the _pyio module to also accept integer types. Patch by Oren Milman." -msgstr "" - -#: ../../../build/NEWS:17267 ../../../build/NEWS:20033 -msgid "" -"`bpo-31249 `__: concurrent.futures: " -"WorkItem.run() used by ThreadPoolExecutor now breaks a reference cycle " -"between an exception object and the WorkItem object." -msgstr "" - -#: ../../../build/NEWS:17271 ../../../build/NEWS:20037 -msgid "" -"`bpo-31247 `__: xmlrpc.server now " -"explicitly breaks reference cycles when using sys.exc_info() in code " -"handling exceptions." -msgstr "" - -#: ../../../build/NEWS:17274 -msgid "" -"`bpo-23835 `__: configparser: reading " -"defaults in the ``ConfigParser()`` constructor is now using ``read_dict()``, " -"making its behavior consistent with the rest of the parser. Non-string keys " -"and values in the defaults dictionary are now being implicitly converted to " -"strings. Patch by James Tocknell." -msgstr "" - -#: ../../../build/NEWS:17280 ../../../build/NEWS:18954 -msgid "" -"`bpo-31238 `__: pydoc: the stop() method " -"of the private ServerThread class now waits until DocServer." -"serve_until_quit() completes and then explicitly sets its docserver " -"attribute to None to break a reference cycle." -msgstr "" - -#: ../../../build/NEWS:17284 -msgid "" -"`bpo-5001 `__: Many asserts in " -"`multiprocessing` are now more informative, and some error types have been " -"changed to more specific ones." -msgstr "" - -#: ../../../build/NEWS:17287 -msgid "" -"`bpo-31109 `__: Convert zipimport to use " -"Argument Clinic." -msgstr "" - -#: ../../../build/NEWS:17289 ../../../build/NEWS:20040 -msgid "" -"`bpo-30102 `__: The ssl and hashlib " -"modules now call OPENSSL_add_all_algorithms_noconf() on OpenSSL < 1.1.0. The " -"function detects CPU features and enables optimizations on some CPU " -"architectures such as POWER8. Patch is based on research from Gustavo Serra " -"Scalet." -msgstr "" - -#: ../../../build/NEWS:17294 -msgid "" -"`bpo-18966 `__: Non-daemonic threads " -"created by a multiprocessing.Process are now joined on child exit." -msgstr "" - -#: ../../../build/NEWS:17297 -msgid "" -"`bpo-31183 `__: `dis` now works with " -"asynchronous generator and coroutine objects. Patch by George Collins based " -"on diagnosis by Luciano Ramalho." -msgstr "" - -#: ../../../build/NEWS:17300 -msgid "" -"`bpo-5001 `__: There are a number of " -"uninformative asserts in the `multiprocessing` module, as noted in issue " -"5001. This change fixes two of the most potentially problematic ones, since " -"they are in error-reporting code, in the `multiprocessing.managers." -"convert_to_error` function. (It also makes more informative a ValueError " -"message.) The only potentially problematic change is that the AssertionError " -"is now a TypeError; however, this should also help distinguish it from an " -"AssertionError being *reported* by the function/its caller (such as in issue " -"31169). - Patch by Allen W. Smith (drallensmith on github)." -msgstr "" - -#: ../../../build/NEWS:17310 ../../../build/NEWS:20045 -msgid "" -"`bpo-31185 `__: Fixed miscellaneous " -"errors in asyncio speedup module." -msgstr "" - -#: ../../../build/NEWS:17312 -msgid "" -"`bpo-31151 `__: socketserver." -"ForkingMixIn.server_close() now waits until all child processes completed to " -"prevent leaking zombie processes." -msgstr "" - -#: ../../../build/NEWS:17315 -msgid "" -"`bpo-31072 `__: Add an ``include_file`` " -"parameter to ``zipapp.create_archive()``" -msgstr "" - -#: ../../../build/NEWS:17318 -msgid "" -"`bpo-24700 `__: Optimize array.array " -"comparison. It is now from 10x up to 70x faster when comparing arrays " -"holding values of the same integer type." -msgstr "" - -#: ../../../build/NEWS:17321 ../../../build/NEWS:20047 -msgid "" -"`bpo-31135 `__: ttk: fix the destroy() " -"method of LabeledScale and OptionMenu classes. Call the parent destroy() " -"method even if the used attribute doesn't exist. The LabeledScale.destroy() " -"method now also explicitly clears label and scale attributes to help the " -"garbage collector to destroy all widgets." -msgstr "" - -#: ../../../build/NEWS:17327 ../../../build/NEWS:20053 -msgid "" -"`bpo-31107 `__: Fix `copyreg." -"_slotnames()` mangled attribute calculation for classes whose name begins " -"with an underscore. Patch by Shane Harvey." -msgstr "" - -#: ../../../build/NEWS:17330 -msgid "" -"`bpo-31080 `__: Allow `logging.config." -"fileConfig` to accept kwargs and/or args." -msgstr "" - -#: ../../../build/NEWS:17332 -msgid "" -"`bpo-30897 `__: ``pathlib.Path`` objects " -"now include an ``is_mount()`` method (only implemented on POSIX). This is " -"similar to ``os.path.ismount(p)``. Patch by Cooper Ry Lees." -msgstr "" - -#: ../../../build/NEWS:17336 ../../../build/NEWS:20056 -msgid "" -"`bpo-31061 `__: Fixed a crash when using " -"asyncio and threads." -msgstr "" - -#: ../../../build/NEWS:17338 -msgid "" -"`bpo-30987 `__: Added support for CAN " -"ISO-TP protocol in the socket module." -msgstr "" - -#: ../../../build/NEWS:17340 -msgid "" -"`bpo-30522 `__: Added a ``setStream`` " -"method to ``logging.StreamHandler`` to allow the stream to be set after " -"creation." -msgstr "" - -#: ../../../build/NEWS:17343 ../../../build/NEWS:20058 -msgid "" -"`bpo-30502 `__: Fix handling of long " -"oids in ssl. Based on patch by Christian Heimes." -msgstr "" - -#: ../../../build/NEWS:17346 -msgid "" -"`bpo-5288 `__: Support tzinfo objects " -"with sub-minute offsets." -msgstr "" - -#: ../../../build/NEWS:17348 -msgid "" -"`bpo-30919 `__: Fix shared memory " -"performance regression in multiprocessing in 3.x. Shared memory used " -"anonymous memory mappings in 2.x, while 3.x mmaps actual files. Try to be " -"careful to do as little disk I/O as possible." -msgstr "" - -#: ../../../build/NEWS:17352 -msgid "" -"`bpo-26732 `__: Fix too many fds in " -"processes started with the \"forkserver\" method. A child process would " -"inherit as many fds as the number of still-running children." -msgstr "" - -#: ../../../build/NEWS:17356 ../../../build/NEWS:20068 -#: ../../../build/NEWS:24401 -msgid "" -"`bpo-29403 `__: Fix ``unittest.mock``'s " -"autospec to not fail on method-bound builtin functions. Patch by Aaron " -"Gallagher." -msgstr "" - -#: ../../../build/NEWS:17359 ../../../build/NEWS:20071 -#: ../../../build/NEWS:24404 -msgid "" -"`bpo-30961 `__: Fix decrementing a " -"borrowed reference in tracemalloc." -msgstr "" - -#: ../../../build/NEWS:17361 -msgid "" -"`bpo-19896 `__: Fix multiprocessing." -"sharedctypes to recognize typecodes ``'q'`` and ``'Q'``." -msgstr "" - -#: ../../../build/NEWS:17364 -msgid "" -"`bpo-30946 `__: Remove obsolete code in " -"readline module for platforms where GNU readline is older than 2.1 or where " -"select() is not available." -msgstr "" - -#: ../../../build/NEWS:17367 ../../../build/NEWS:20073 -msgid "" -"`bpo-25684 `__: Change ``ttk." -"OptionMenu`` radiobuttons to be unique across instances of ``OptionMenu``." -msgstr "" - -#: ../../../build/NEWS:17370 ../../../build/NEWS:20076 -#: ../../../build/NEWS:24406 -msgid "" -"`bpo-30886 `__: Fix multiprocessing." -"Queue.join_thread(): it now waits until the thread completes, even if the " -"thread was started by the same process which created the queue." -msgstr "" - -#: ../../../build/NEWS:17374 ../../../build/NEWS:20080 -#: ../../../build/NEWS:24410 -msgid "" -"`bpo-29854 `__: Fix segfault in readline " -"when using readline's history-size option. Patch by Nir Soffer." -msgstr "" - -#: ../../../build/NEWS:17377 -msgid "" -"`bpo-30794 `__: Added multiprocessing." -"Process.kill method to terminate using the SIGKILL signal on Unix." -msgstr "" - -#: ../../../build/NEWS:17380 ../../../build/NEWS:20083 -msgid "" -"`bpo-30319 `__: socket.close() now " -"ignores ECONNRESET error." -msgstr "" - -#: ../../../build/NEWS:17382 ../../../build/NEWS:20085 -msgid "" -"`bpo-30828 `__: Fix out of bounds write " -"in `asyncio.CFuture.remove_done_callback()`." -msgstr "" - -#: ../../../build/NEWS:17385 -msgid "" -"`bpo-30302 `__: Use keywords in the " -"``repr`` of ``datetime.timedelta``." -msgstr "" - -#: ../../../build/NEWS:17387 ../../../build/NEWS:20088 -#: ../../../build/NEWS:24413 -msgid "" -"`bpo-30807 `__: signal.setitimer() may " -"disable the timer when passed a tiny value. Tiny values (such as 1e-6) are " -"valid non-zero values for setitimer(), which is specified as taking " -"microsecond-resolution intervals. However, on some platform, our conversion " -"routine could convert 1e-6 into a zero interval, therefore disabling the " -"timer instead of (re-)scheduling it." -msgstr "" - -#: ../../../build/NEWS:17394 ../../../build/NEWS:20095 -#: ../../../build/NEWS:24420 -msgid "" -"`bpo-30441 `__: Fix bug when modifying " -"os.environ while iterating over it" -msgstr "" - -#: ../../../build/NEWS:17396 -msgid "" -"`bpo-29585 `__: Avoid importing " -"``sysconfig`` from ``site`` to improve startup speed. Python startup is " -"about 5% faster on Linux and 30% faster on macOS." -msgstr "" - -#: ../../../build/NEWS:17399 -msgid "" -"`bpo-29293 `__: Add missing parameter \"n" -"\" on multiprocessing.Condition.notify(). The doc claims multiprocessing." -"Condition behaves like threading.Condition, but its notify() method lacked " -"the optional \"n\" argument (to specify the number of sleepers to wake up) " -"that threading.Condition.notify() accepts." -msgstr "" - -#: ../../../build/NEWS:17405 ../../../build/NEWS:20097 -#: ../../../build/NEWS:24422 -msgid "" -"`bpo-30532 `__: Fix email header value " -"parser dropping folding white space in certain cases." -msgstr "" - -#: ../../../build/NEWS:17408 -msgid "" -"`bpo-30596 `__: Add a ``close()`` method " -"to ``multiprocessing.Process``." -msgstr "" - -#: ../../../build/NEWS:17410 ../../../build/NEWS:20019 -msgid "" -"`bpo-9146 `__: Fix a segmentation fault " -"in _hashopenssl when standard hash functions such as md5 are not available " -"in the linked OpenSSL library. As in some special FIPS-140 build " -"environments." -msgstr "" - -#: ../../../build/NEWS:17414 ../../../build/NEWS:20829 -#: ../../../build/NEWS:24425 -msgid "" -"`bpo-29169 `__: Update zlib to 1.2.11." -msgstr "" - -#: ../../../build/NEWS:17416 ../../../build/NEWS:20061 -#: ../../../build/NEWS:24313 -msgid "" -"`bpo-30119 `__: ftplib.FTP.putline() now " -"throws ValueError on commands that contains CR or LF. Patch by Dong-hee Na." -msgstr "" - -#: ../../../build/NEWS:17419 ../../../build/NEWS:20100 -#: ../../../build/NEWS:24427 -msgid "" -"`bpo-30879 `__: os.listdir() and os." -"scandir() now emit bytes names when called with bytes-like argument." -msgstr "" - -#: ../../../build/NEWS:17422 ../../../build/NEWS:20103 -#: ../../../build/NEWS:24430 -msgid "" -"`bpo-30746 `__: Prohibited the '=' " -"character in environment variable names in ``os.putenv()`` and ``os." -"spawn*()``." -msgstr "" - -#: ../../../build/NEWS:17425 -msgid "" -"`bpo-30664 `__: The description of a " -"unittest subtest now preserves the order of keyword arguments of TestCase." -"subTest()." -msgstr "" - -#: ../../../build/NEWS:17428 -msgid "" -"`bpo-21071 `__: struct.Struct.format " -"type is now :class:`str` instead of :class:`bytes`." -msgstr "" - -#: ../../../build/NEWS:17431 ../../../build/NEWS:20014 -msgid "" -"`bpo-29212 `__: Fix concurrent.futures." -"thread.ThreadPoolExecutor threads to have a non repr() based thread name by " -"default when no thread_name_prefix is supplied. They will now identify " -"themselves as \"ThreadPoolExecutor-y_n\"." -msgstr "" - -#: ../../../build/NEWS:17436 ../../../build/NEWS:20106 -#: ../../../build/NEWS:24433 -msgid "" -"`bpo-29755 `__: Fixed the lgettext() " -"family of functions in the gettext module. They now always return bytes." -msgstr "" - -#: ../../../build/NEWS:17439 ../../../build/NEWS:20432 -msgid "" -"`bpo-30616 `__: Functional API of enum " -"allows to create empty enums. Patched by Dong-hee Na" -msgstr "" - -#: ../../../build/NEWS:17442 ../../../build/NEWS:20435 -msgid "" -"`bpo-30038 `__: Fix race condition " -"between signal delivery and wakeup file descriptor. Patch by Nathaniel Smith." -msgstr "" - -#: ../../../build/NEWS:17445 ../../../build/NEWS:20438 -msgid "" -"`bpo-23894 `__: lib2to3 now recognizes " -"``rb'...'`` and ``f'...'`` strings." -msgstr "" - -#: ../../../build/NEWS:17447 -msgid "" -"`bpo-24744 `__: pkgutil.walk_packages " -"function now raises ValueError if *path* is a string. Patch by Sanyam " -"Khurana." -msgstr "" - -#: ../../../build/NEWS:17450 ../../../build/NEWS:24450 -msgid "" -"`bpo-24484 `__: Avoid race condition in " -"multiprocessing cleanup." -msgstr "" - -#: ../../../build/NEWS:17452 -msgid "" -"`bpo-30589 `__: Fix multiprocessing." -"Process.exitcode to return the opposite of the signal number when the " -"process is killed by a signal (instead of 255) when using the \"forkserver\" " -"method." -msgstr "" - -#: ../../../build/NEWS:17456 ../../../build/NEWS:20469 -#: ../../../build/NEWS:24452 -msgid "" -"`bpo-28994 `__: The traceback no longer " -"displayed for SystemExit raised in a callback registered by atexit." -msgstr "" - -#: ../../../build/NEWS:17459 ../../../build/NEWS:20472 -#: ../../../build/NEWS:24455 -msgid "" -"`bpo-30508 `__: Don't log exceptions if " -"Task/Future \"cancel()\" method was called." -msgstr "" - -#: ../../../build/NEWS:17462 -msgid "" -"`bpo-30645 `__: Fix path calculation in " -"`imp.load_package()`, fixing it for cases when a package is only shipped " -"with bytecodes. Patch by Alexandru Ardelean." -msgstr "" - -#: ../../../build/NEWS:17466 -msgid "" -"`bpo-11822 `__: The dis.dis() function " -"now is able to disassemble nested code objects." -msgstr "" - -#: ../../../build/NEWS:17469 -msgid "" -"`bpo-30624 `__: selectors does not take " -"KeyboardInterrupt and SystemExit into account, leaving a fd in a bad state " -"in case of error. Patch by Giampaolo Rodola'." -msgstr "" - -#: ../../../build/NEWS:17473 ../../../build/NEWS:20064 -msgid "" -"`bpo-30595 `__: multiprocessing.Queue." -"get() with a timeout now polls its reader in non-blocking mode if it " -"succeeded to acquire the lock but the acquire took longer than the timeout." -msgstr "" - -#: ../../../build/NEWS:17477 ../../../build/NEWS:20475 -#: ../../../build/NEWS:24458 -msgid "" -"`bpo-28556 `__: Updates to typing " -"module: Add generic AsyncContextManager, add support for ContextManager on " -"all versions. Original PRs by Jelle Zijlstra and Ivan Levkivskyi" -msgstr "" - -#: ../../../build/NEWS:17481 ../../../build/NEWS:20454 -msgid "" -"`bpo-30605 `__: re.compile() no longer " -"raises a BytesWarning when compiling a bytes instance with misplaced inline " -"modifier. Patch by Roy Williams." -msgstr "" - -#: ../../../build/NEWS:17484 ../../../build/NEWS:20479 -#: ../../../build/NEWS:24462 -msgid "" -"`bpo-29870 `__: Fix ssl sockets leaks " -"when connection is aborted in asyncio/ssl implementation. Patch by Michaël " -"Sghaïer." -msgstr "" - -#: ../../../build/NEWS:17487 ../../../build/NEWS:20482 -#: ../../../build/NEWS:24465 -msgid "" -"`bpo-29743 `__: Closing transport during " -"handshake process leaks open socket. Patch by Nikolay Kim" -msgstr "" - -#: ../../../build/NEWS:17490 ../../../build/NEWS:20485 -#: ../../../build/NEWS:24468 -msgid "" -"`bpo-27585 `__: Fix waiter cancellation " -"in asyncio.Lock. Patch by Mathieu Sornay." -msgstr "" - -#: ../../../build/NEWS:17493 -msgid "" -"`bpo-30014 `__: modify() method of " -"poll(), epoll() and devpoll() based classes of selectors module is around " -"10% faster. Patch by Giampaolo Rodola'." -msgstr "" - -#: ../../../build/NEWS:17496 ../../../build/NEWS:20488 -#: ../../../build/NEWS:24471 -msgid "" -"`bpo-30418 `__: On Windows, subprocess." -"Popen.communicate() now also ignore EINVAL on stdin.write() if the child " -"process is still running but closed the pipe." -msgstr "" - -#: ../../../build/NEWS:17500 -msgid "" -"`bpo-30463 `__: Addded empty __slots__ " -"to abc.ABC. This allows subclassers to deny __dict__ and __weakref__ " -"creation. Patch by Aaron Hall." -msgstr "" - -#: ../../../build/NEWS:17503 -msgid "" -"`bpo-30520 `__: Loggers are now " -"pickleable." -msgstr "" - -#: ../../../build/NEWS:17505 ../../../build/NEWS:20499 -msgid "" -"`bpo-30557 `__: faulthandler now " -"correctly filters and displays exception codes on Windows" -msgstr "" - -#: ../../../build/NEWS:17508 -msgid "" -"`bpo-30526 `__: Add TextIOWrapper." -"reconfigure() and a TextIOWrapper.write_through attribute." -msgstr "" - -#: ../../../build/NEWS:17511 -msgid "" -"`bpo-30245 `__: Fix possible overflow " -"when organize struct.pack_into error message. Patch by Yuan Liu." -msgstr "" - -#: ../../../build/NEWS:17514 ../../../build/NEWS:20502 -#: ../../../build/NEWS:24475 -msgid "" -"`bpo-30378 `__: Fix the problem that " -"logging.handlers.SysLogHandler cannot handle IPv6 addresses." -msgstr "" - -#: ../../../build/NEWS:17517 -msgid "" -"`bpo-16500 `__: Allow registering at-" -"fork handlers." -msgstr "" - -#: ../../../build/NEWS:17519 -msgid "" -"`bpo-30470 `__: Deprecate invalid ctypes " -"call protection on Windows. Patch by Mariatta Wijaya." -msgstr "" - -#: ../../../build/NEWS:17522 ../../../build/NEWS:20508 -#: ../../../build/NEWS:24481 -msgid "" -"`bpo-30414 `__: multiprocessing.Queue." -"_feed background running thread do not break from main loop on exception." -msgstr "" - -#: ../../../build/NEWS:17525 ../../../build/NEWS:20511 -#: ../../../build/NEWS:24484 -msgid "" -"`bpo-30003 `__: Fix handling escape " -"characters in HZ codec. Based on patch by Ma Lin." -msgstr "" - -#: ../../../build/NEWS:17528 ../../../build/NEWS:20443 -#: ../../../build/NEWS:24443 -msgid "" -"`bpo-30149 `__: inspect.signature() now " -"supports callables with variable-argument parameters wrapped with " -"partialmethod. Patch by Dong-hee Na." -msgstr "" - -#: ../../../build/NEWS:17532 -msgid "" -"`bpo-30436 `__: importlib.find_spec() " -"raises ModuleNotFoundError instead of AttributeError if the specified parent " -"module is not a package (i.e. lacks a __path__ attribute)." -msgstr "" - -#: ../../../build/NEWS:17536 ../../../build/NEWS:20514 -#: ../../../build/NEWS:24487 -msgid "" -"`bpo-30301 `__: Fix AttributeError when " -"using SimpleQueue.empty() under *spawn* and *forkserver* start methods." -msgstr "" - -#: ../../../build/NEWS:17539 ../../../build/NEWS:20521 -#: ../../../build/NEWS:24494 -msgid "" -"`bpo-30375 `__: Warnings emitted when " -"compile a regular expression now always point to the line in the user code. " -"Previously they could point into inners of the re module if emitted from " -"inside of groups or conditionals." -msgstr "" - -#: ../../../build/NEWS:17543 ../../../build/NEWS:20517 -#: ../../../build/NEWS:24490 -msgid "" -"`bpo-30329 `__: imaplib and poplib now " -"catch the Windows socket WSAEINVAL error (code 10022) on " -"shutdown(SHUT_RDWR): An invalid operation was attempted. This error occurs " -"sometimes on SSL connections." -msgstr "" - -#: ../../../build/NEWS:17547 -msgid "" -"`bpo-29196 `__: Removed previously " -"deprecated in Python 2.4 classes Plist, Dict and _InternalDict in the " -"plistlib module. Dict values in the result of functions readPlist() and " -"readPlistFromBytes() are now normal dicts. You no longer can use attribute " -"access to access items of these dictionaries." -msgstr "" - -#: ../../../build/NEWS:17552 -msgid "" -"`bpo-9850 `__: The :mod:`macpath` is now " -"deprecated and will be removed in Python 3.8." -msgstr "" - -#: ../../../build/NEWS:17555 -msgid "" -"`bpo-30299 `__: Compiling regular " -"expression in debug mode on CPython now displays the compiled bytecode in " -"human readable form." -msgstr "" - -#: ../../../build/NEWS:17558 ../../../build/NEWS:20525 -#: ../../../build/NEWS:24498 -msgid "" -"`bpo-30048 `__: Fixed ``Task.cancel()`` " -"can be ignored when the task is running coroutine and the coroutine returned " -"without any more ``await``." -msgstr "" - -#: ../../../build/NEWS:17561 ../../../build/NEWS:20528 -msgid "" -"`bpo-30266 `__: contextlib." -"AbstractContextManager now supports anti-registration by setting __enter__ = " -"None or __exit__ = None, following the pattern introduced in `bpo-25958 " -"`__. Patch by Jelle Zijlstra." -msgstr "" - -#: ../../../build/NEWS:17565 -msgid "" -"`bpo-30340 `__: Enhanced regular " -"expressions optimization. This increased the performance of matching some " -"patterns up to 25 times." -msgstr "" - -#: ../../../build/NEWS:17568 ../../../build/NEWS:20532 -msgid "" -"`bpo-30298 `__: Weaken the condition of " -"deprecation warnings for inline modifiers. Now allowed several subsequential " -"inline modifiers at the start of the pattern (e.g. ``'(?i)(?s)...'``). In " -"verbose mode whitespaces and comments now are allowed before and between " -"inline modifiers (e.g. ``'(?x) (?i) (?s)...'``)." -msgstr "" - -#: ../../../build/NEWS:17574 -msgid "" -"`bpo-30285 `__: Optimized case-" -"insensitive matching and searching of regular expressions." -msgstr "" - -#: ../../../build/NEWS:17577 ../../../build/NEWS:20538 -#: ../../../build/NEWS:24501 -msgid "" -"`bpo-29990 `__: Fix range checking in " -"GB18030 decoder. Original patch by Ma Lin." -msgstr "" - -#: ../../../build/NEWS:17580 -msgid "" -"`bpo-29979 `__: rewrite cgi." -"parse_multipart, reusing the FieldStorage class and making its results " -"consistent with those of FieldStorage for multipart/form-data requests. " -"Patch by Pierre Quentel." -msgstr "" - -#: ../../../build/NEWS:17584 ../../../build/NEWS:20544 -#: ../../../build/NEWS:24507 -msgid "" -"`bpo-30243 `__: Removed the __init__ " -"methods of _json's scanner and encoder. Misusing them could cause memory " -"leaks or crashes. Now scanner and encoder objects are completely " -"initialized in the __new__ methods." -msgstr "" - -#: ../../../build/NEWS:17588 -msgid "" -"`bpo-30215 `__: Compiled regular " -"expression objects with the re.LOCALE flag no longer depend on the locale at " -"compile time. Only the locale at matching time affects the result of " -"matching." -msgstr "" - -#: ../../../build/NEWS:17592 ../../../build/NEWS:20548 -#: ../../../build/NEWS:24511 -msgid "" -"`bpo-30185 `__: Avoid KeyboardInterrupt " -"tracebacks in forkserver helper process when Ctrl-C is received." -msgstr "" - -#: ../../../build/NEWS:17595 -msgid "" -"`bpo-30103 `__: binascii.b2a_uu() and uu." -"encode() now support using ``'`'`` as zero instead of space." -msgstr "" - -#: ../../../build/NEWS:17598 ../../../build/NEWS:20551 -#: ../../../build/NEWS:24514 -msgid "" -"`bpo-28556 `__: Various updates to " -"typing module: add typing.NoReturn type, use WrapperDescriptorType, minor " -"bug-fixes. Original PRs by Jim Fasarakis-Hilliard and Ivan Levkivskyi." -msgstr "" - -#: ../../../build/NEWS:17602 ../../../build/NEWS:20555 -#: ../../../build/NEWS:24518 -msgid "" -"`bpo-30205 `__: Fix getsockname() for " -"unbound AF_UNIX sockets on Linux." -msgstr "" - -#: ../../../build/NEWS:17604 -msgid "" -"`bpo-30228 `__: The seek() and tell() " -"methods of io.FileIO now set the internal seekable attribute to avoid one " -"syscall on open() (in buffered or text mode)." -msgstr "" - -#: ../../../build/NEWS:17608 -msgid "" -"`bpo-30190 `__: unittest's " -"assertAlmostEqual and assertNotAlmostEqual provide a better message in case " -"of failure which includes the difference between left and right arguments. " -"(patch by Giampaolo Rodola')" -msgstr "" - -#: ../../../build/NEWS:17612 -msgid "" -"`bpo-30101 `__: Add support for curses." -"A_ITALIC." -msgstr "" - -#: ../../../build/NEWS:17614 ../../../build/NEWS:20492 -msgid "" -"`bpo-29822 `__: inspect.isabstract() now " -"works during __init_subclass__. Patch by Nate Soares." -msgstr "" - -#: ../../../build/NEWS:17617 ../../../build/NEWS:20505 -#: ../../../build/NEWS:24478 -msgid "" -"`bpo-29960 `__: Preserve generator state " -"when _random.Random.setstate() raises an exception. Patch by Bryan Olson." -msgstr "" - -#: ../../../build/NEWS:17620 ../../../build/NEWS:20557 -#: ../../../build/NEWS:24520 -msgid "" -"`bpo-30070 `__: Fixed leaks and crashes " -"in errors handling in the parser module." -msgstr "" - -#: ../../../build/NEWS:17623 -msgid "" -"`bpo-22352 `__: Column widths in the " -"output of dis.dis() are now adjusted for large line numbers and instruction " -"offsets." -msgstr "" - -#: ../../../build/NEWS:17626 ../../../build/NEWS:20560 -#: ../../../build/NEWS:24523 -msgid "" -"`bpo-30061 `__: Fixed crashes in IOBase " -"methods __next__() and readlines() when readline() or __next__() " -"respectively return non-sizeable object. Fixed possible other errors caused " -"by not checking results of PyObject_Size(), PySequence_Size(), or " -"PyMapping_Size()." -msgstr "" - -#: ../../../build/NEWS:17631 -msgid "" -"`bpo-30218 `__: Fix PathLike support for " -"shutil.unpack_archive. Patch by Jelle Zijlstra." -msgstr "" - -#: ../../../build/NEWS:17634 -msgid "" -"`bpo-10076 `__: Compiled regular " -"expression and match objects in the re module now support copy.copy() and " -"copy.deepcopy() (they are considered atomic)." -msgstr "" - -#: ../../../build/NEWS:17637 ../../../build/NEWS:20569 -#: ../../../build/NEWS:24528 -msgid "" -"`bpo-30068 `__: _io._IOBase.readlines " -"will check if it's closed first when hint is present." -msgstr "" - -#: ../../../build/NEWS:17640 ../../../build/NEWS:20572 -#: ../../../build/NEWS:24531 -msgid "" -"`bpo-29694 `__: Fixed race condition in " -"pathlib mkdir with flags parents=True. Patch by Armin Rigo." -msgstr "" - -#: ../../../build/NEWS:17643 ../../../build/NEWS:20575 -#: ../../../build/NEWS:24534 -msgid "" -"`bpo-29692 `__: Fixed arbitrary " -"unchaining of RuntimeError exceptions in contextlib.contextmanager. Patch " -"by Siddharth Velankar." -msgstr "" - -#: ../../../build/NEWS:17646 -msgid "" -"`bpo-26187 `__: Test that sqlite3 trace " -"callback is not called multiple times when schema is changing. Indirectly " -"fixed by switching to use sqlite3_prepare_v2() in `bpo-9303 `__. Patch by Aviv Palivoda." -msgstr "" - -#: ../../../build/NEWS:17650 ../../../build/NEWS:20565 -msgid "" -"`bpo-30017 `__: Allowed calling the " -"close() method of the zip entry writer object multiple times. Writing to a " -"closed writer now always produces a ValueError." -msgstr "" - -#: ../../../build/NEWS:17654 ../../../build/NEWS:20578 -#: ../../../build/NEWS:24537 -msgid "" -"`bpo-29998 `__: Pickling and copying " -"ImportError now preserves name and path attributes." -msgstr "" - -#: ../../../build/NEWS:17657 -msgid "" -"`bpo-29995 `__: re.escape() now escapes " -"only regex special characters." -msgstr "" - -#: ../../../build/NEWS:17659 -msgid "" -"`bpo-29962 `__: Add math.remainder " -"operation, implementing remainder as specified in IEEE 754." -msgstr "" - -#: ../../../build/NEWS:17662 -msgid "" -"`bpo-29649 `__: Improve struct." -"pack_into() exception messages for problems with the buffer size and " -"offset. Patch by Andrew Nester." -msgstr "" - -#: ../../../build/NEWS:17665 -msgid "" -"`bpo-29654 `__: Support If-Modified-" -"Since HTTP header (browser cache). Patch by Pierre Quentel." -msgstr "" - -#: ../../../build/NEWS:17668 ../../../build/NEWS:20451 -#: ../../../build/NEWS:24447 -msgid "" -"`bpo-29931 `__: Fixed comparison check " -"for ipaddress.ip_interface objects. Patch by Sanjay Sundaresan." -msgstr "" - -#: ../../../build/NEWS:17671 ../../../build/NEWS:20581 -msgid "" -"`bpo-29953 `__: Fixed memory leaks in " -"the replace() method of datetime and time objects when pass out of bound " -"fold argument." -msgstr "" - -#: ../../../build/NEWS:17674 ../../../build/NEWS:20584 -#: ../../../build/NEWS:24540 -msgid "" -"`bpo-29942 `__: Fix a crash in itertools." -"chain.from_iterable when encountering long runs of empty iterables." -msgstr "" - -#: ../../../build/NEWS:17677 -msgid "" -"`bpo-10030 `__: Sped up reading " -"encrypted ZIP files by 2 times." -msgstr "" - -#: ../../../build/NEWS:17679 -msgid "" -"`bpo-29204 `__: Element.getiterator() " -"and the html parameter of XMLParser() were deprecated only in the " -"documentation (since Python 3.2 and 3.4 correspondingly). Now using them " -"emits a deprecation warning." -msgstr "" - -#: ../../../build/NEWS:17683 ../../../build/NEWS:20587 -#: ../../../build/NEWS:24543 -msgid "" -"`bpo-27863 `__: Fixed multiple crashes " -"in ElementTree caused by race conditions and wrong types." -msgstr "" - -#: ../../../build/NEWS:17686 -msgid "" -"`bpo-25996 `__: Added support of file " -"descriptors in os.scandir() on Unix. os.fwalk() is sped up by 2 times by " -"using os.scandir()." -msgstr "" - -#: ../../../build/NEWS:17689 ../../../build/NEWS:20590 -#: ../../../build/NEWS:24546 -msgid "" -"`bpo-28699 `__: Fixed a bug in pools in " -"multiprocessing.pool that raising an exception at the very first of an " -"iterable may swallow the exception or make the program hang. Patch by Davin " -"Potts and Xiang Zhang." -msgstr "" - -#: ../../../build/NEWS:17693 ../../../build/NEWS:20440 -#: ../../../build/NEWS:24440 -msgid "" -"`bpo-23890 `__: unittest.TestCase." -"assertRaises() now manually breaks a reference cycle to not keep objects " -"alive longer than expected." -msgstr "" - -#: ../../../build/NEWS:17696 -msgid "" -"`bpo-29901 `__: The zipapp module now " -"supports general path-like objects, not just pathlib.Path." -msgstr "" - -#: ../../../build/NEWS:17699 ../../../build/NEWS:20594 -#: ../../../build/NEWS:24550 -msgid "" -"`bpo-25803 `__: Avoid incorrect errors " -"raised by Path.mkdir(exist_ok=True) when the OS gives priority to errors " -"such as EACCES over EEXIST." -msgstr "" - -#: ../../../build/NEWS:17702 ../../../build/NEWS:20597 -#: ../../../build/NEWS:24553 -msgid "" -"`bpo-29861 `__: Release references to " -"tasks, their arguments and their results as soon as they are finished in " -"multiprocessing.Pool." -msgstr "" - -#: ../../../build/NEWS:17705 -msgid "" -"`bpo-19930 `__: The mode argument of os." -"makedirs() no longer affects the file permission bits of newly-created " -"intermediate-level directories." -msgstr "" - -#: ../../../build/NEWS:17708 ../../../build/NEWS:20600 -#: ../../../build/NEWS:24556 -msgid "" -"`bpo-29884 `__: faulthandler: Restore " -"the old sigaltstack during teardown. Patch by Christophe Zeitouny." -msgstr "" - -#: ../../../build/NEWS:17711 ../../../build/NEWS:20603 -#: ../../../build/NEWS:24559 -msgid "" -"`bpo-25455 `__: Fixed crashes in repr of " -"recursive buffered file-like objects." -msgstr "" - -#: ../../../build/NEWS:17713 ../../../build/NEWS:20605 -#: ../../../build/NEWS:24561 -msgid "" -"`bpo-29800 `__: Fix crashes in partial." -"__repr__ if the keys of partial.keywords are not strings. Patch by Michael " -"Seifert." -msgstr "" - -#: ../../../build/NEWS:17716 ../../../build/NEWS:20611 -#: ../../../build/NEWS:24567 -msgid "" -"`bpo-8256 `__: Fixed possible failing or " -"crashing input() if attributes \"encoding\" or \"errors\" of sys.stdin or " -"sys.stdout are not set or are not strings." -msgstr "" - -#: ../../../build/NEWS:17720 -msgid "" -"`bpo-28692 `__: Using non-integer value " -"for selecting a plural form in gettext is now deprecated." -msgstr "" - -#: ../../../build/NEWS:17723 -msgid "" -"`bpo-26121 `__: Use C library " -"implementation for math functions erf() and erfc()." -msgstr "" - -#: ../../../build/NEWS:17726 -msgid "" -"`bpo-29619 `__: os.stat() and os." -"DirEntry.inode() now convert inode (st_ino) using unsigned integers." -msgstr "" - -#: ../../../build/NEWS:17729 -msgid "" -"`bpo-28298 `__: Fix a bug that prevented " -"array 'Q', 'L' and 'I' from accepting big intables (objects that have " -"__int__) as elements." -msgstr "" - -#: ../../../build/NEWS:17732 -msgid "" -"`bpo-29645 `__: Speed up importing the " -"webbrowser module. webbrowser.register() is now thread-safe." -msgstr "" - -#: ../../../build/NEWS:17735 ../../../build/NEWS:20619 -msgid "" -"`bpo-28231 `__: The zipfile module now " -"accepts path-like objects for external paths." -msgstr "" - -#: ../../../build/NEWS:17738 ../../../build/NEWS:20622 -msgid "" -"`bpo-26915 `__: index() and count() " -"methods of collections.abc.Sequence now check identity before checking " -"equality when do comparisons." -msgstr "" - -#: ../../../build/NEWS:17741 -msgid "" -"`bpo-28682 `__: Added support for bytes " -"paths in os.fwalk()." -msgstr "" - -#: ../../../build/NEWS:17743 -msgid "" -"`bpo-29728 `__: Add new :data:`socket." -"TCP_NOTSENT_LOWAT` (Linux 3.12) constant. Patch by Nathaniel J. Smith." -msgstr "" - -#: ../../../build/NEWS:17746 ../../../build/NEWS:20831 -msgid "" -"`bpo-29623 `__: Allow use of path-like " -"object as a single argument in ConfigParser.read(). Patch by David Ellis." -msgstr "" - -#: ../../../build/NEWS:17749 -msgid "" -"`bpo-9303 `__: Migrate sqlite3 module to " -"_v2 API. Patch by Aviv Palivoda." -msgstr "" - -#: ../../../build/NEWS:17751 ../../../build/NEWS:20834 -msgid "" -"`bpo-28963 `__: Fix out of bound " -"iteration in asyncio.Future.remove_done_callback implemented in C." -msgstr "" - -#: ../../../build/NEWS:17754 ../../../build/NEWS:20837 -#: ../../../build/NEWS:24579 -msgid "" -"`bpo-29704 `__: asyncio.subprocess." -"SubprocessStreamProtocol no longer closes before all pipes are closed." -msgstr "" - -#: ../../../build/NEWS:17757 ../../../build/NEWS:20840 -msgid "" -"`bpo-29271 `__: Fix Task.current_task " -"and Task.all_tasks implemented in C to accept None argument as their pure " -"Python implementation." -msgstr "" - -#: ../../../build/NEWS:17760 ../../../build/NEWS:20843 -#: ../../../build/NEWS:24582 -msgid "" -"`bpo-29703 `__: Fix asyncio to support " -"instantiation of new event loops in child processes." -msgstr "" - -#: ../../../build/NEWS:17763 ../../../build/NEWS:20625 -#: ../../../build/NEWS:24575 -msgid "" -"`bpo-29615 `__: SimpleXMLRPCDispatcher " -"no longer chains KeyError (or any other exception) to exception(s) raised in " -"the dispatched methods. Patch by Petr Motejlek." -msgstr "" - -#: ../../../build/NEWS:17767 -msgid "" -"`bpo-7769 `__: Method register_function() " -"of xmlrpc.server.SimpleXMLRPCDispatcher and its subclasses can now be used " -"as a decorator." -msgstr "" - -#: ../../../build/NEWS:17771 ../../../build/NEWS:20846 -#: ../../../build/NEWS:24585 -msgid "" -"`bpo-29376 `__: Fix assertion error in " -"threading._DummyThread.is_alive()." -msgstr "" - -#: ../../../build/NEWS:17773 ../../../build/NEWS:20848 -msgid "" -"`bpo-28624 `__: Add a test that checks " -"that cwd parameter of Popen() accepts PathLike objects. Patch by Sayan " -"Chowdhury." -msgstr "" - -#: ../../../build/NEWS:17776 ../../../build/NEWS:20851 -msgid "" -"`bpo-28518 `__: Start a transaction " -"implicitly before a DML statement. Patch by Aviv Palivoda." -msgstr "" - -#: ../../../build/NEWS:17779 ../../../build/NEWS:20608 -#: ../../../build/NEWS:24564 -msgid "" -"`bpo-29742 `__: get_extra_info() raises " -"exception if get called on closed ssl transport. Patch by Nikolay Kim." -msgstr "" - -#: ../../../build/NEWS:17782 -msgid "" -"`bpo-16285 `__: urllib.parse.quote is " -"now based on RFC 3986 and hence includes '~' in the set of characters that " -"is not quoted by default. Patch by Christian Theune and Ratnadeep Debnath." -msgstr "" - -#: ../../../build/NEWS:17786 ../../../build/NEWS:20854 -#: ../../../build/NEWS:24593 -msgid "" -"`bpo-29532 `__: Altering a kwarg " -"dictionary passed to functools.partial() no longer affects a partial object " -"after creation." -msgstr "" - -#: ../../../build/NEWS:17789 ../../../build/NEWS:20857 -#: ../../../build/NEWS:24587 -msgid "" -"`bpo-29110 `__: Fix file object leak in " -"aifc.open() when file is given as a filesystem path and is not in valid AIFF " -"format. Patch by Anthony Zhang." -msgstr "" - -#: ../../../build/NEWS:17792 -msgid "" -"`bpo-22807 `__: Add uuid.SafeUUID and " -"uuid.UUID.is_safe to relay information from the platform about whether " -"generated UUIDs are generated with a multiprocessing safe method." -msgstr "" - -#: ../../../build/NEWS:17796 -msgid "" -"`bpo-29576 `__: Improve some " -"deprecations in importlib. Some deprecated methods now emit " -"DeprecationWarnings and have better descriptive messages." -msgstr "" - -#: ../../../build/NEWS:17799 -msgid "" -"`bpo-29534 `__: Fixed different " -"behaviour of Decimal.from_float() for _decimal and _pydecimal. Thanks Andrew " -"Nester." -msgstr "" - -#: ../../../build/NEWS:17802 -msgid "" -"`bpo-10379 `__: locale.format_string now " -"supports the 'monetary' keyword argument, and locale.format is deprecated." -msgstr "" - -#: ../../../build/NEWS:17805 -msgid "" -"`bpo-29851 `__: importlib.reload() now " -"raises ModuleNotFoundError if the module lacks a spec." -msgstr "" - -#: ../../../build/NEWS:17808 ../../../build/NEWS:20860 -#: ../../../build/NEWS:24596 -msgid "" -"`bpo-28556 `__: Various updates to " -"typing module: typing.Counter, typing.ChainMap, improved ABC caching, etc. " -"Original PRs by Jelle Zijlstra, Ivan Levkivskyi, Manuel Krebber, and Łukasz " -"Langa." -msgstr "" - -#: ../../../build/NEWS:17812 ../../../build/NEWS:20864 -#: ../../../build/NEWS:24600 -msgid "" -"`bpo-29100 `__: Fix datetime." -"fromtimestamp() regression introduced in Python 3.6.0: check minimum and " -"maximum years." -msgstr "" - -#: ../../../build/NEWS:17815 ../../../build/NEWS:20870 -#: ../../../build/NEWS:24606 -msgid "" -"`bpo-29416 `__: Prevent infinite loop in " -"pathlib.Path.mkdir" -msgstr "" - -#: ../../../build/NEWS:17817 ../../../build/NEWS:20872 -#: ../../../build/NEWS:24608 -msgid "" -"`bpo-29444 `__: Fixed out-of-bounds " -"buffer access in the group() method of the match object. Based on patch by " -"WGH." -msgstr "" - -#: ../../../build/NEWS:17820 -msgid "" -"`bpo-29377 `__: Add " -"WrapperDescriptorType, MethodWrapperType, and MethodDescriptorType built-in " -"types to types module. Original patch by Manuel Krebber." -msgstr "" - -#: ../../../build/NEWS:17824 -msgid "" -"`bpo-29218 `__: Unused install_misc " -"command is now removed. It has been documented as unused since 2000. Patch " -"by Eric N. Vander Weele." -msgstr "" - -#: ../../../build/NEWS:17827 -msgid "" -"`bpo-29368 `__: The extend() method is " -"now called instead of the append() method when unpickle collections.deque " -"and other list-like objects. This can speed up unpickling to 2 times." -msgstr "" - -#: ../../../build/NEWS:17831 -msgid "" -"`bpo-29338 `__: The help of a builtin or " -"extension class now includes the constructor signature if __text_signature__ " -"is provided for the class." -msgstr "" - -#: ../../../build/NEWS:17834 ../../../build/NEWS:20875 -#: ../../../build/NEWS:24611 -msgid "" -"`bpo-29335 `__: Fix subprocess.Popen." -"wait() when the child process has exited to a stopped instead of terminated " -"state (ex: when under ptrace)." -msgstr "" - -#: ../../../build/NEWS:17837 ../../../build/NEWS:20878 -#: ../../../build/NEWS:24614 -msgid "" -"`bpo-29290 `__: Fix a regression in " -"argparse that help messages would wrap at non-breaking spaces." -msgstr "" - -#: ../../../build/NEWS:17840 ../../../build/NEWS:20881 -#: ../../../build/NEWS:24617 -msgid "" -"`bpo-28735 `__: Fixed the comparison of " -"mock.MagickMock with mock.ANY." -msgstr "" - -#: ../../../build/NEWS:17842 -msgid "" -"`bpo-29197 `__: Removed deprecated " -"function ntpath.splitunc()." -msgstr "" - -#: ../../../build/NEWS:17844 -msgid "" -"`bpo-29210 `__: Removed support of " -"deprecated argument \"exclude\" in tarfile.TarFile.add()." -msgstr "" - -#: ../../../build/NEWS:17847 ../../../build/NEWS:20886 -#: ../../../build/NEWS:24621 -msgid "" -"`bpo-29219 `__: Fixed infinite recursion " -"in the repr of uninitialized ctypes.CDLL instances." -msgstr "" - -#: ../../../build/NEWS:17850 -msgid "" -"`bpo-29192 `__: Removed deprecated " -"features in the http.cookies module." -msgstr "" - -#: ../../../build/NEWS:17852 -msgid "" -"`bpo-29193 `__: A format string argument " -"for string.Formatter.format() is now positional-only." -msgstr "" - -#: ../../../build/NEWS:17855 -msgid "" -"`bpo-29195 `__: Removed support of " -"deprecated undocumented keyword arguments in methods of regular expression " -"objects." -msgstr "" - -#: ../../../build/NEWS:17858 ../../../build/NEWS:20891 -#: ../../../build/NEWS:24624 -msgid "" -"`bpo-28969 `__: Fixed race condition in " -"C implementation of functools.lru_cache. KeyError could be raised when " -"cached function with full cache was simultaneously called from different " -"threads with the same uncached arguments." -msgstr "" - -#: ../../../build/NEWS:17863 -msgid "" -"`bpo-20804 `__: The unittest.mock." -"sentinel attributes now preserve their identity when they are copied or " -"pickled." -msgstr "" - -#: ../../../build/NEWS:17866 ../../../build/NEWS:20896 -#: ../../../build/NEWS:24629 -msgid "" -"`bpo-29142 `__: In urllib.request, " -"suffixes in no_proxy environment variable with leading dots could match " -"related hostnames again (e.g. .b.c matches a.b.c). Patch by Milan Oberkirch." -msgstr "" - -#: ../../../build/NEWS:17870 ../../../build/NEWS:20900 -#: ../../../build/NEWS:24590 -msgid "" -"`bpo-28961 `__: Fix unittest.mock._Call " -"helper: don't ignore the name parameter anymore. Patch written by Jiajun " -"Huang." -msgstr "" - -#: ../../../build/NEWS:17873 ../../../build/NEWS:20907 -#: ../../../build/NEWS:24873 -msgid "" -"`bpo-15812 `__: inspect.getframeinfo() " -"now correctly shows the first line of a context. Patch by Sam Breese." -msgstr "" - -#: ../../../build/NEWS:17876 -msgid "" -"`bpo-28985 `__: Update authorizer " -"constants in sqlite3 module. Patch by Dingyuan Wang." -msgstr "" - -#: ../../../build/NEWS:17879 ../../../build/NEWS:20919 -msgid "" -"`bpo-29079 `__: Prevent infinite loop in " -"pathlib.resolve() on Windows" -msgstr "" - -#: ../../../build/NEWS:17881 ../../../build/NEWS:20921 -#: ../../../build/NEWS:24879 -msgid "" -"`bpo-13051 `__: Fixed recursion errors " -"in large or resized curses.textpad.Textbox. Based on patch by Tycho " -"Andersen." -msgstr "" - -#: ../../../build/NEWS:17884 ../../../build/NEWS:20928 -#: ../../../build/NEWS:24886 -msgid "" -"`bpo-9770 `__: curses.ascii predicates " -"now work correctly with negative integers." -msgstr "" - -#: ../../../build/NEWS:17887 ../../../build/NEWS:20931 -#: ../../../build/NEWS:24889 -msgid "" -"`bpo-28427 `__: old keys should not " -"remove new values from WeakValueDictionary when collecting from another " -"thread." -msgstr "" - -#: ../../../build/NEWS:17890 ../../../build/NEWS:20934 -#: ../../../build/NEWS:24892 -msgid "" -"`bpo-28923 `__: Remove editor artifacts " -"from Tix.py." -msgstr "" - -#: ../../../build/NEWS:17892 ../../../build/NEWS:20939 -#: ../../../build/NEWS:24894 -msgid "" -"`bpo-28871 `__: Fixed a crash when " -"deallocate deep ElementTree." -msgstr "" - -#: ../../../build/NEWS:17894 ../../../build/NEWS:20941 -#: ../../../build/NEWS:24896 -msgid "" -"`bpo-19542 `__: Fix bugs in " -"WeakValueDictionary.setdefault() and WeakValueDictionary.pop() when a GC " -"collection happens in another thread." -msgstr "" - -#: ../../../build/NEWS:17897 ../../../build/NEWS:20944 -msgid "" -"`bpo-20191 `__: Fixed a crash in " -"resource.prlimit() when passing a sequence that doesn't own its elements as " -"limits." -msgstr "" - -#: ../../../build/NEWS:17900 -msgid "" -"`bpo-16255 `__: subprocess.Popen uses /" -"system/bin/sh on Android as the shell, instead of /bin/sh." -msgstr "" - -#: ../../../build/NEWS:17903 ../../../build/NEWS:20947 -#: ../../../build/NEWS:24902 -msgid "" -"`bpo-28779 `__: multiprocessing." -"set_forkserver_preload() would crash the forkserver process if a preloaded " -"module instantiated some multiprocessing objects such as locks." -msgstr "" - -#: ../../../build/NEWS:17907 ../../../build/NEWS:20954 -msgid "" -"`bpo-26937 `__: The chown() method of " -"the tarfile.TarFile class does not fail now when the grp module cannot be " -"imported, as for example on Android platforms." -msgstr "" - -#: ../../../build/NEWS:17911 -msgid "" -"`bpo-28847 `__: 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 if the index file is missed " -"and recreated in the 'r' and 'w' modes (will be an error in future Python " -"releases)." -msgstr "" - -#: ../../../build/NEWS:17916 -msgid "" -"`bpo-27030 `__: Unknown escapes " -"consisting of ``'\\'`` and an ASCII letter in re.sub() replacement templates " -"regular expressions now are errors." -msgstr "" - -#: ../../../build/NEWS:17919 ../../../build/NEWS:21135 -msgid "" -"`bpo-28835 `__: Fix a regression " -"introduced in warnings.catch_warnings(): call warnings.showwarning() if it " -"was overridden inside the context manager." -msgstr "" - -#: ../../../build/NEWS:17922 ../../../build/NEWS:21138 -msgid "" -"`bpo-27172 `__: To assist with upgrades " -"from 2.7, the previously documented deprecation of ``inspect." -"getfullargspec()`` has been reversed. This decision may be revisited again " -"after the Python 2.7 branch is no longer officially supported." -msgstr "" - -#: ../../../build/NEWS:17927 -msgid "" -"`bpo-28740 `__: Add sys." -"getandroidapilevel(): return the build time API version of Android as an " -"integer. Function only available on Android." -msgstr "" - -#: ../../../build/NEWS:17930 ../../../build/NEWS:21143 -msgid "" -"`bpo-26273 `__: Add new :data:`socket." -"TCP_CONGESTION` (Linux 2.6.13) and :data:`socket.TCP_USER_TIMEOUT` (Linux " -"2.6.37) constants. Patch written by Omar Sandoval." -msgstr "" - -#: ../../../build/NEWS:17934 ../../../build/NEWS:21214 -msgid "" -"`bpo-28752 `__: Restored the " -"__reduce__() methods of datetime objects." -msgstr "" - -#: ../../../build/NEWS:17936 ../../../build/NEWS:21216 -msgid "" -"`bpo-28727 `__: Regular expression " -"patterns, _sre.SRE_Pattern objects created by re.compile(), become " -"comparable (only x==y and x!=y operators). This change should fix the " -"`bpo-18383 `__: don't duplicate warning " -"filters when the warnings module is reloaded (thing usually only done in " -"unit tests)." -msgstr "" - -#: ../../../build/NEWS:17941 -msgid "" -"`bpo-20572 `__: Remove the subprocess." -"Popen.wait endtime parameter. It was deprecated in 3.4 and undocumented " -"prior to that." -msgstr "" - -#: ../../../build/NEWS:17944 ../../../build/NEWS:21224 -#: ../../../build/NEWS:24909 -msgid "" -"`bpo-25659 `__: In ctypes, prevent a " -"crash calling the from_buffer() and from_buffer_copy() methods on abstract " -"classes like Array." -msgstr "" - -#: ../../../build/NEWS:17947 -msgid "" -"`bpo-28548 `__: In the \"http.server\" " -"module, parse the protocol version if possible, to avoid using HTTP 0.9 in " -"some error responses." -msgstr "" - -#: ../../../build/NEWS:17950 ../../../build/NEWS:21227 -msgid "" -"`bpo-19717 `__: Makes Path.resolve() " -"succeed on paths that do not exist. Patch by Vajrasky Kok" -msgstr "" - -#: ../../../build/NEWS:17953 ../../../build/NEWS:21230 -msgid "" -"`bpo-28563 `__: Fixed possible DoS and " -"arbitrary code execution when handle plural form selections in the gettext " -"module. The expression parser now supports exact syntax supported by GNU " -"gettext." -msgstr "" - -#: ../../../build/NEWS:17957 ../../../build/NEWS:21234 -#: ../../../build/NEWS:24918 -msgid "" -"`bpo-28387 `__: Fixed possible crash in " -"_io.TextIOWrapper deallocator when the garbage collector is invoked in other " -"thread. Based on patch by Sebastian Cufre." -msgstr "" - -#: ../../../build/NEWS:17961 ../../../build/NEWS:21317 -#: ../../../build/NEWS:24922 -msgid "" -"`bpo-27517 `__: LZMA compressor and " -"decompressor no longer raise exceptions if given empty data twice. Patch by " -"Benjamin Fogle." -msgstr "" - -#: ../../../build/NEWS:17964 ../../../build/NEWS:21320 -#: ../../../build/NEWS:24925 -msgid "" -"`bpo-28549 `__: Fixed segfault in " -"curses's addch() with ncurses6." -msgstr "" - -#: ../../../build/NEWS:17966 ../../../build/NEWS:21322 -#: ../../../build/NEWS:24927 -msgid "" -"`bpo-28449 `__: tarfile.open() with mode " -"\"r\" or \"r:\" now tries to open a tar file with compression before trying " -"to open it without compression. Otherwise it had 50% chance failed with " -"ignore_zeros=True." -msgstr "" - -#: ../../../build/NEWS:17970 ../../../build/NEWS:21326 -#: ../../../build/NEWS:24931 -msgid "" -"`bpo-23262 `__: The webbrowser module " -"now supports Firefox 36+ and derived browsers. Based on patch by Oleg " -"Broytman." -msgstr "" - -#: ../../../build/NEWS:17973 -msgid "" -"`bpo-24241 `__: The webbrowser in an X " -"environment now prefers using the default browser directly. Also, the " -"webbrowser register() function now has a documented 'preferred' argument, to " -"specify browsers to be returned by get() with no arguments. Patch by David " -"Steele" -msgstr "" - -#: ../../../build/NEWS:17978 ../../../build/NEWS:21329 -#: ../../../build/NEWS:24934 -msgid "" -"`bpo-27939 `__: Fixed bugs in tkinter." -"ttk.LabeledScale and tkinter.Scale caused by representing the scale as float " -"value internally in Tk. tkinter.IntVar now works if float value is set to " -"underlying Tk variable." -msgstr "" - -#: ../../../build/NEWS:17982 -msgid "" -"`bpo-28255 `__: calendar.TextCalendar." -"prweek() no longer prints a space after a weeks's calendar. calendar." -"TextCalendar.pryear() no longer prints redundant newline after a year's " -"calendar. Based on patch by Xiang Zhang." -msgstr "" - -#: ../../../build/NEWS:17986 -msgid "" -"`bpo-28255 `__: calendar.TextCalendar." -"prmonth() no longer prints a space at the start of new line after printing a " -"month's calendar. Patch by Xiang Zhang." -msgstr "" - -#: ../../../build/NEWS:17990 ../../../build/NEWS:21340 -#: ../../../build/NEWS:24942 -msgid "" -"`bpo-20491 `__: The textwrap.TextWrapper " -"class now honors non-breaking spaces. Based on patch by Kaarle Ritvanen." -msgstr "" - -#: ../../../build/NEWS:17993 ../../../build/NEWS:21343 -#: ../../../build/NEWS:24945 -msgid "" -"`bpo-28353 `__: os.fwalk() no longer " -"fails on broken links." -msgstr "" - -#: ../../../build/NEWS:17995 ../../../build/NEWS:21345 -msgid "" -"`bpo-28430 `__: Fix iterator of C " -"implemented asyncio.Future doesn't accept non-None value is passed to it." -"send(val)." -msgstr "" - -#: ../../../build/NEWS:17998 ../../../build/NEWS:21348 -msgid "" -"`bpo-27025 `__: Generated names for " -"Tkinter widgets now start by the \"!\" prefix for readability." -msgstr "" - -#: ../../../build/NEWS:18001 ../../../build/NEWS:21351 -#: ../../../build/NEWS:24947 -msgid "" -"`bpo-25464 `__: Fixed HList." -"header_exists() in tkinter.tix module by addin a workaround to Tix library " -"bug." -msgstr "" - -#: ../../../build/NEWS:18004 ../../../build/NEWS:21354 -msgid "" -"`bpo-28488 `__: shutil.make_archive() no " -"longer adds entry \"./\" to ZIP archive." -msgstr "" - -#: ../../../build/NEWS:18006 ../../../build/NEWS:21356 -msgid "" -"`bpo-25953 `__: re.sub() now raises an " -"error for invalid numerical group reference in replacement template even if " -"the pattern is not found in the string. Error message for invalid group " -"reference now includes the group index and the position of the reference. " -"Based on patch by SilentGhost." -msgstr "" - -#: ../../../build/NEWS:18011 -msgid "" -"`bpo-28469 `__: timeit now uses the " -"sequence 1, 2, 5, 10, 20, 50,... instead of 1, 10, 100,... for autoranging." -msgstr "" - -#: ../../../build/NEWS:18014 -msgid "" -"`bpo-28115 `__: Command-line interface " -"of the zipfile module now uses argparse. Added support of long options." -msgstr "" - -#: ../../../build/NEWS:18017 ../../../build/NEWS:21361 -msgid "" -"`bpo-18219 `__: Optimize csv.DictWriter " -"for large number of columns. Patch by Mariatta Wijaya." -msgstr "" - -#: ../../../build/NEWS:18020 ../../../build/NEWS:21364 -msgid "" -"`bpo-28448 `__: Fix C implemented " -"asyncio.Future didn't work on Windows." -msgstr "" - -#: ../../../build/NEWS:18022 -msgid "" -"`bpo-23214 `__: In the \"io\" module, " -"the argument to BufferedReader and BytesIO's read1() methods is now optional " -"and can be -1, matching the BufferedIOBase specification." -msgstr "" - -#: ../../../build/NEWS:18026 ../../../build/NEWS:21366 -msgid "" -"`bpo-28480 `__: Fix error building " -"socket module when multithreading is disabled." -msgstr "" - -#: ../../../build/NEWS:18029 -msgid "" -"`bpo-28240 `__: timeit: remove ``-c/--" -"clock`` and ``-t/--time`` command line options which were deprecated since " -"Python 3.3." -msgstr "" - -#: ../../../build/NEWS:18032 -msgid "" -"`bpo-28240 `__: timeit now repeats the " -"benchmarks 5 times instead of only 3 to make benchmarks more reliable." -msgstr "" - -#: ../../../build/NEWS:18035 -msgid "" -"`bpo-28240 `__: timeit autorange now " -"uses a single loop iteration if the benchmark takes less than 10 seconds, " -"instead of 10 iterations. \"python3 -m timeit -s 'import time' 'time." -"sleep(1)'\" now takes 4 seconds instead of 40 seconds." -msgstr "" - -#: ../../../build/NEWS:18040 -msgid "" -"Distutils.sdist now looks for README and setup.py files with case " -"sensitivity. This behavior matches that found in Setuptools 6.0 and later. " -"See `setuptools 100 `_ for " -"rationale." -msgstr "" - -#: ../../../build/NEWS:18045 -msgid "" -"`bpo-24452 `__: Make webbrowser support " -"Chrome on Mac OS X. Patch by Ned Batchelder." -msgstr "" - -#: ../../../build/NEWS:18048 ../../../build/NEWS:21371 -#: ../../../build/NEWS:24954 -msgid "" -"`bpo-20766 `__: Fix references leaked by " -"pdb in the handling of SIGINT handlers." -msgstr "" - -#: ../../../build/NEWS:18051 ../../../build/NEWS:21487 -msgid "" -"`bpo-27998 `__: Fixed bytes path support " -"in os.scandir() on Windows. Patch by Eryk Sun." -msgstr "" - -#: ../../../build/NEWS:18054 ../../../build/NEWS:21490 -msgid "" -"`bpo-28317 `__: The disassembler now " -"decodes FORMAT_VALUE argument." -msgstr "" - -#: ../../../build/NEWS:18056 ../../../build/NEWS:21496 -msgid "" -"`bpo-28380 `__: unittest.mock Mock " -"autospec functions now properly support assert_called, assert_not_called, " -"and assert_called_once." -msgstr "" - -#: ../../../build/NEWS:18059 ../../../build/NEWS:21501 -msgid "" -"`bpo-28229 `__: lzma module now supports " -"pathlib." -msgstr "" - -#: ../../../build/NEWS:18061 ../../../build/NEWS:21503 -#: ../../../build/NEWS:24961 -msgid "" -"`bpo-28321 `__: Fixed writing non-BMP " -"characters with binary format in plistlib." -msgstr "" - -#: ../../../build/NEWS:18064 ../../../build/NEWS:21506 -msgid "" -"`bpo-28225 `__: bz2 module now supports " -"pathlib. Initial patch by Ethan Furman." -msgstr "" - -#: ../../../build/NEWS:18067 ../../../build/NEWS:21509 -msgid "" -"`bpo-28227 `__: gzip now supports " -"pathlib. Patch by Ethan Furman." -msgstr "" - -#: ../../../build/NEWS:18069 -msgid "" -"`bpo-28332 `__: Deprecated silent " -"truncations in socket.htons and socket.ntohs. Original patch by Oren Milman." -msgstr "" - -#: ../../../build/NEWS:18072 ../../../build/NEWS:21511 -msgid "" -"`bpo-27358 `__: Optimized merging var-" -"keyword arguments and improved error message when passing a non-mapping as a " -"var-keyword argument." -msgstr "" - -#: ../../../build/NEWS:18075 ../../../build/NEWS:21514 -msgid "" -"`bpo-28257 `__: Improved error message " -"when passing a non-iterable as a var-positional argument. Added opcode " -"BUILD_TUPLE_UNPACK_WITH_CALL." -msgstr "" - -#: ../../../build/NEWS:18078 ../../../build/NEWS:21517 -#: ../../../build/NEWS:24964 -msgid "" -"`bpo-28322 `__: Fixed possible crashes " -"when unpickle itertools objects from incorrect pickle data. Based on patch " -"by John Leitch." -msgstr "" - -#: ../../../build/NEWS:18081 ../../../build/NEWS:21520 -msgid "" -"`bpo-28228 `__: imghdr now supports " -"pathlib." -msgstr "" - -#: ../../../build/NEWS:18083 ../../../build/NEWS:21522 -msgid "" -"`bpo-28226 `__: compileall now supports " -"pathlib." -msgstr "" - -#: ../../../build/NEWS:18085 ../../../build/NEWS:21524 -msgid "" -"`bpo-28314 `__: Fix function declaration " -"(C flags) for the getiterator() method of xml.etree.ElementTree.Element." -msgstr "" - -#: ../../../build/NEWS:18088 ../../../build/NEWS:21527 -msgid "" -"`bpo-28148 `__: Stop using localtime() " -"and gmtime() in the time module. Introduced platform independent " -"_PyTime_localtime API that is similar to POSIX localtime_r, but available on " -"all platforms. Patch by Ed Schouten." -msgstr "" - -#: ../../../build/NEWS:18092 ../../../build/NEWS:21531 -#: ../../../build/NEWS:24973 -msgid "" -"`bpo-28253 `__: Fixed calendar functions " -"for extreme months: 0001-01 and 9999-12. Methods itermonthdays() and " -"itermonthdays2() are reimplemented so that they don't call itermonthdates() " -"which can cause datetime.date under/overflow." -msgstr "" - -#: ../../../build/NEWS:18097 ../../../build/NEWS:21536 -#: ../../../build/NEWS:24978 -msgid "" -"`bpo-28275 `__: Fixed possible use after " -"free in the decompress() methods of the LZMADecompressor and BZ2Decompressor " -"classes. Original patch by John Leitch." -msgstr "" - -#: ../../../build/NEWS:18101 ../../../build/NEWS:21540 -#: ../../../build/NEWS:24982 -msgid "" -"`bpo-27897 `__: Fixed possible crash in " -"sqlite3.Connection.create_collation() if pass invalid string-like object as " -"a name. Patch by Xiang Zhang." -msgstr "" - -#: ../../../build/NEWS:18104 ../../../build/NEWS:21543 -msgid "" -"`bpo-18844 `__: random.choices() now has " -"k as a keyword-only argument to improve the readability of common cases and " -"come into line with the signature used in other languages." -msgstr "" - -#: ../../../build/NEWS:18108 ../../../build/NEWS:21547 -#: ../../../build/NEWS:24985 -msgid "" -"`bpo-18893 `__: Fix invalid exception " -"handling in Lib/ctypes/macholib/dyld.py. Patch by Madison May." -msgstr "" - -#: ../../../build/NEWS:18111 ../../../build/NEWS:21550 -msgid "" -"`bpo-27611 `__: Fixed support of default " -"root window in the tkinter.tix module. Added the master parameter in the " -"DisplayStyle constructor." -msgstr "" - -#: ../../../build/NEWS:18114 ../../../build/NEWS:21553 -#: ../../../build/NEWS:24990 -msgid "" -"`bpo-27348 `__: In the traceback module, " -"restore the formatting of exception messages like \"Exception: None\". This " -"fixes a regression introduced in 3.5a2." -msgstr "" - -#: ../../../build/NEWS:18118 ../../../build/NEWS:21557 -#: ../../../build/NEWS:24994 -msgid "" -"`bpo-25651 `__: Allow falsy values to be " -"used for msg parameter of subTest()." -msgstr "" - -#: ../../../build/NEWS:18120 ../../../build/NEWS:21559 -msgid "" -"`bpo-27778 `__: Fix a memory leak in os." -"getrandom() when the getrandom() is interrupted by a signal and a signal " -"handler raises a Python exception." -msgstr "" - -#: ../../../build/NEWS:18123 ../../../build/NEWS:21562 -msgid "" -"`bpo-28200 `__: Fix memory leak on " -"Windows in the os module (fix path_converter() function)." -msgstr "" - -#: ../../../build/NEWS:18126 ../../../build/NEWS:21565 -msgid "" -"`bpo-25400 `__: RobotFileParser now " -"correctly returns default values for crawl_delay and request_rate. Initial " -"patch by Peter Wirtz." -msgstr "" - -#: ../../../build/NEWS:18129 ../../../build/NEWS:21568 -#: ../../../build/NEWS:24996 -msgid "" -"`bpo-27932 `__: Prevent memory leak in " -"win32_ver()." -msgstr "" - -#: ../../../build/NEWS:18131 ../../../build/NEWS:21570 -#: ../../../build/NEWS:24998 -msgid "Fix UnboundLocalError in socket._sendfile_use_sendfile." -msgstr "" - -#: ../../../build/NEWS:18133 ../../../build/NEWS:21572 -#: ../../../build/NEWS:25000 -msgid "" -"`bpo-28075 `__: Check for " -"ERROR_ACCESS_DENIED in Windows implementation of os.stat(). Patch by Eryk " -"Sun." -msgstr "" - -#: ../../../build/NEWS:18136 ../../../build/NEWS:21575 -msgid "" -"`bpo-22493 `__: Warning message emitted " -"by using inline flags in the middle of regular expression now contains a " -"(truncated) regex pattern. Patch by Tim Graham." -msgstr "" - -#: ../../../build/NEWS:18140 ../../../build/NEWS:21579 -#: ../../../build/NEWS:25003 -msgid "" -"`bpo-25270 `__: Prevent codecs." -"escape_encode() from raising SystemError when an empty bytestring is passed." -msgstr "" - -#: ../../../build/NEWS:18143 ../../../build/NEWS:21582 -#: ../../../build/NEWS:25006 -msgid "" -"`bpo-28181 `__: Get antigravity over " -"HTTPS. Patch by Kaartic Sivaraam." -msgstr "" - -#: ../../../build/NEWS:18145 ../../../build/NEWS:21584 -#: ../../../build/NEWS:25008 -msgid "" -"`bpo-25895 `__: Enable WebSocket URL " -"schemes in urllib.parse.urljoin. Patch by Gergely Imreh and Markus " -"Holtermann." -msgstr "" - -#: ../../../build/NEWS:18148 ../../../build/NEWS:21587 -msgid "" -"`bpo-28114 `__: Fix a crash in " -"parse_envlist() when env contains byte strings. Patch by Eryk Sun." -msgstr "" - -#: ../../../build/NEWS:18151 ../../../build/NEWS:21590 -#: ../../../build/NEWS:25011 -msgid "" -"`bpo-27599 `__: Fixed buffer overrun in " -"binascii.b2a_qp() and binascii.a2b_qp()." -msgstr "" - -#: ../../../build/NEWS:18154 ../../../build/NEWS:21593 -#: ../../../build/NEWS:25212 -msgid "" -"`bpo-27906 `__: Fix socket accept " -"exhaustion during high TCP traffic. Patch by Kevin Conway." -msgstr "" - -#: ../../../build/NEWS:18157 ../../../build/NEWS:21596 -#: ../../../build/NEWS:25215 -msgid "" -"`bpo-28174 `__: Handle when SO_REUSEPORT " -"isn't properly supported. Patch by Seth Michael Larson." -msgstr "" - -#: ../../../build/NEWS:18160 ../../../build/NEWS:21599 -#: ../../../build/NEWS:25218 -msgid "" -"`bpo-26654 `__: Inspect functools." -"partial in asyncio.Handle.__repr__. Patch by iceboy." -msgstr "" - -#: ../../../build/NEWS:18163 ../../../build/NEWS:21602 -#: ../../../build/NEWS:25221 -msgid "" -"`bpo-26909 `__: Fix slow pipes IO in " -"asyncio. Patch by INADA Naoki." -msgstr "" - -#: ../../../build/NEWS:18165 ../../../build/NEWS:21604 -#: ../../../build/NEWS:25223 -msgid "" -"`bpo-28176 `__: Fix callbacks race in " -"asyncio.SelectorLoop.sock_connect." -msgstr "" - -#: ../../../build/NEWS:18167 ../../../build/NEWS:21606 -#: ../../../build/NEWS:25225 -msgid "" -"`bpo-27759 `__: Fix selectors " -"incorrectly retain invalid file descriptors. Patch by Mark Williams." -msgstr "" - -#: ../../../build/NEWS:18170 -msgid "" -"`bpo-28325 `__: Remove vestigial MacOS 9 " -"macurl2path module and its tests." -msgstr "" - -#: ../../../build/NEWS:18172 ../../../build/NEWS:21609 -#: ../../../build/NEWS:25228 -msgid "" -"`bpo-28368 `__: Refuse monitoring " -"processes if the child watcher has no loop attached. Patch by Vincent Michel." -msgstr "" - -#: ../../../build/NEWS:18175 ../../../build/NEWS:21612 -#: ../../../build/NEWS:25231 -msgid "" -"`bpo-28369 `__: Raise RuntimeError when " -"transport's FD is used with add_reader, add_writer, etc." -msgstr "" - -#: ../../../build/NEWS:18178 ../../../build/NEWS:21615 -#: ../../../build/NEWS:25234 -msgid "" -"`bpo-28370 `__: Speedup asyncio." -"StreamReader.readexactly. Patch by Коренберг Марк." -msgstr "" - -#: ../../../build/NEWS:18181 ../../../build/NEWS:21618 -#: ../../../build/NEWS:25237 -msgid "" -"`bpo-28371 `__: Deprecate passing " -"asyncio.Handles to run_in_executor." -msgstr "" - -#: ../../../build/NEWS:18183 ../../../build/NEWS:21620 -#: ../../../build/NEWS:25239 -msgid "" -"`bpo-28372 `__: Fix asyncio to support " -"formatting of non-python coroutines." -msgstr "" - -#: ../../../build/NEWS:18185 ../../../build/NEWS:21622 -#: ../../../build/NEWS:25241 -msgid "" -"`bpo-28399 `__: Remove UNIX socket from " -"FS before binding. Patch by Коренберг Марк." -msgstr "" - -#: ../../../build/NEWS:18188 ../../../build/NEWS:21625 -#: ../../../build/NEWS:25244 -msgid "" -"`bpo-27972 `__: Prohibit Tasks to await " -"on themselves." -msgstr "" - -#: ../../../build/NEWS:18190 ../../../build/NEWS:21147 -msgid "" -"`bpo-24142 `__: Reading a corrupt config " -"file left configparser in an invalid state. Original patch by Florian Höch." -msgstr "" - -#: ../../../build/NEWS:18193 ../../../build/NEWS:20495 -msgid "" -"`bpo-29581 `__: ABCMeta.__new__ now " -"accepts ``**kwargs``, allowing abstract base classes to use keyword " -"parameters in __init_subclass__. Patch by Nate Soares." -msgstr "" - -#: ../../../build/NEWS:18197 ../../../build/NEWS:19686 -msgid "" -"`bpo-25532 `__: inspect.unwrap() will " -"now only try to unwrap an object sys.getrecursionlimit() times, to protect " -"against objects which create a new object on every attribute access." -msgstr "" - -#: ../../../build/NEWS:18201 ../../../build/NEWS:20629 -msgid "" -"`bpo-30177 `__: path." -"resolve(strict=False) no longer cuts the path after the first element not " -"present in the filesystem. Patch by Antoine Pietri." -msgstr "" - -#: ../../../build/NEWS:18207 ../../../build/NEWS:20112 -msgid "" -"`bpo-31294 `__: Fix incomplete code " -"snippet in the ZeroMQSocketListener and ZeroMQSocketHandler examples and " -"adapt them to Python 3." -msgstr "" - -#: ../../../build/NEWS:18210 ../../../build/NEWS:20115 -msgid "" -"`bpo-21649 `__: Add RFC 7525 and Mozilla " -"server side TLS links to SSL documentation." -msgstr "" - -#: ../../../build/NEWS:18213 -msgid "" -"`bpo-31128 `__: Allow the pydoc server " -"to bind to arbitrary hostnames." -msgstr "" - -#: ../../../build/NEWS:18215 ../../../build/NEWS:20118 -msgid "" -"`bpo-30803 `__: Clarify doc on truth " -"value testing. Original patch by Peter Thomassen." -msgstr "" - -#: ../../../build/NEWS:18218 ../../../build/NEWS:20684 -#: ../../../build/NEWS:24636 -msgid "" -"`bpo-30176 `__: Add missing attribute " -"related constants in curses documentation." -msgstr "" - -#: ../../../build/NEWS:18221 ../../../build/NEWS:20687 -msgid "" -"`bpo-30052 `__: the link targets for :" -"func:`bytes` and :func:`bytearray` are now their respective type " -"definitions, rather than the corresponding builtin function entries. Use :" -"ref:`bytes ` and :ref:`bytearray ` to reference " -"the latter. In order to ensure this and future cross-reference updates are " -"applied automatically, the daily documentation builds now disable the " -"default output caching features in Sphinx." -msgstr "" - -#: ../../../build/NEWS:18229 ../../../build/NEWS:20695 -#: ../../../build/NEWS:24639 -msgid "" -"`bpo-26985 `__: Add missing info of code " -"object in inspect documentation." -msgstr "" - -#: ../../../build/NEWS:18231 -msgid "" -"`bpo-19824 `__: Improve the " -"documentation for, and links to, template strings by emphasizing their " -"utility for internationalization, and by clarifying some usage constraints. " -"(See also: `bpo-20314 `__, `bpo-12518 " -"`__)" -msgstr "" - -#: ../../../build/NEWS:18235 ../../../build/NEWS:21004 -#: ../../../build/NEWS:24641 -msgid "" -"`bpo-28929 `__: Link the documentation " -"to its source file on GitHub." -msgstr "" - -#: ../../../build/NEWS:18237 ../../../build/NEWS:21006 -#: ../../../build/NEWS:24643 -msgid "" -"`bpo-25008 `__: Document smtpd.py as " -"effectively deprecated and add a pointer to aiosmtpd, a third-party asyncio-" -"based replacement." -msgstr "" - -#: ../../../build/NEWS:18240 ../../../build/NEWS:21009 -#: ../../../build/NEWS:24646 -msgid "" -"`bpo-26355 `__: Add canonical header " -"link on each page to corresponding major version of the documentation. Patch " -"by Matthias Bussonnier." -msgstr "" - -#: ../../../build/NEWS:18243 ../../../build/NEWS:21012 -#: ../../../build/NEWS:24649 -msgid "" -"`bpo-29349 `__: Fix Python 2 syntax in " -"code for building the documentation." -msgstr "" - -#: ../../../build/NEWS:18245 -msgid "" -"`bpo-23722 `__: The data model reference " -"and the porting section in the 3.6 What's New guide now cover the additional " -"``__classcell__`` handling needed for custom metaclasses to fully support :" -"pep:`487` and zero-argument ``super()``." -msgstr "" - -#: ../../../build/NEWS:18250 ../../../build/NEWS:21263 -#: ../../../build/NEWS:25312 -msgid "" -"`bpo-28513 `__: Documented command-line " -"interface of zipfile." -msgstr "" - -#: ../../../build/NEWS:18255 -msgid "" -"`bpo-29639 `__: test.support.HOST is now " -"\"localhost\", a new HOSTv4 constant has been added for your ``127.0.0.1`` " -"needs, similar to the existing HOSTv6 constant." -msgstr "" - -#: ../../../build/NEWS:18259 ../../../build/NEWS:20124 -msgid "" -"`bpo-31320 `__: Silence traceback in " -"test_ssl" -msgstr "" - -#: ../../../build/NEWS:18261 -msgid "" -"`bpo-31346 `__: Prefer " -"PROTOCOL_TLS_CLIENT and PROTOCOL_TLS_SERVER protocols for SSLContext." -msgstr "" - -#: ../../../build/NEWS:18264 ../../../build/NEWS:20126 -msgid "" -"`bpo-25674 `__: Remove sha256.tbs-" -"internet.com ssl test" -msgstr "" - -#: ../../../build/NEWS:18266 ../../../build/NEWS:20128 -msgid "" -"`bpo-30715 `__: Address ALPN callback " -"changes for OpenSSL 1.1.0f. The latest version behaves like OpenSSL 1.0.2 " -"and no longer aborts handshake." -msgstr "" - -#: ../../../build/NEWS:18269 ../../../build/NEWS:20131 -msgid "" -"`bpo-30822 `__: regrtest: Exclude tzdata " -"from regrtest --all. When running the test suite using --use=all / -u all, " -"exclude tzdata since it makes test_datetime too slow (15-20 min on some " -"buildbots) which then times out on some buildbots. Fix also regrtest command " -"line parser to allow passing -u extralargefile to run test_zipfile64." -msgstr "" - -#: ../../../build/NEWS:18275 ../../../build/NEWS:19738 -msgid "" -"`bpo-30695 `__: Add the " -"`set_nomemory(start, stop)` and `remove_mem_hooks()` functions to the " -"_testcapi module." -msgstr "" - -#: ../../../build/NEWS:18278 ../../../build/NEWS:20706 -#: ../../../build/NEWS:24668 -msgid "" -"`bpo-30357 `__: test_thread: setUp() now " -"uses support.threading_setup() and support.threading_cleanup() to wait until " -"threads complete to avoid random side effects on following tests. Initial " -"patch written by Grzegorz Grzywacz." -msgstr "" - -#: ../../../build/NEWS:18283 ../../../build/NEWS:20711 -#: ../../../build/NEWS:24677 -msgid "" -"`bpo-30197 `__: Enhanced functions " -"swap_attr() and swap_item() in the test.support module. They now work when " -"delete replaced attribute or item inside the with statement. The old value " -"of the attribute or item (or None if it doesn't exist) now will be assigned " -"to the target of the \"as\" clause, if there is one." -msgstr "" - -#: ../../../build/NEWS:18289 -msgid "" -"`bpo-24932 `__: Use proper command line " -"parsing in _testembed" -msgstr "" - -#: ../../../build/NEWS:18291 ../../../build/NEWS:21027 -msgid "" -"`bpo-28950 `__: Disallow -j0 to be " -"combined with -T/-l in regrtest command line arguments." -msgstr "" - -#: ../../../build/NEWS:18294 ../../../build/NEWS:21030 -msgid "" -"`bpo-28683 `__: Fix the tests that " -"bind() a unix socket and raise PermissionError on Android for a non-root " -"user." -msgstr "" - -#: ../../../build/NEWS:18297 -msgid "" -"`bpo-26936 `__: Fix the test_socket " -"failures on Android - getservbyname(), getservbyport() and getaddrinfo() are " -"broken on some Android API levels." -msgstr "" - -#: ../../../build/NEWS:18300 ../../../build/NEWS:21268 -#: ../../../build/NEWS:25320 -msgid "" -"`bpo-28666 `__: Now test.support.rmtree " -"is able to remove unwritable or unreadable directories." -msgstr "" - -#: ../../../build/NEWS:18303 ../../../build/NEWS:21271 -#: ../../../build/NEWS:25323 -msgid "" -"`bpo-23839 `__: Various caches now are " -"cleared before running every test file." -msgstr "" - -#: ../../../build/NEWS:18305 ../../../build/NEWS:21403 -msgid "" -"`bpo-26944 `__: Fix test_posix for " -"Android where 'id -G' is entirely wrong or missing the effective gid." -msgstr "" - -#: ../../../build/NEWS:18308 ../../../build/NEWS:21406 -#: ../../../build/NEWS:25325 -msgid "" -"`bpo-28409 `__: regrtest: fix the parser " -"of command line arguments." -msgstr "" - -#: ../../../build/NEWS:18310 ../../../build/NEWS:21674 -msgid "" -"`bpo-28217 `__: Adds _testconsole module " -"to test console input." -msgstr "" - -#: ../../../build/NEWS:18312 ../../../build/NEWS:21033 -msgid "" -"`bpo-26939 `__: Add the support." -"setswitchinterval() function to fix test_functools hanging on the Android " -"armv7 qemu emulator." -msgstr "" - -#: ../../../build/NEWS:18318 -msgid "" -"`bpo-31354 `__: Allow --with-lto to be " -"used on all builds, not just `make profile-opt`." -msgstr "" - -#: ../../../build/NEWS:18321 -msgid "" -"`bpo-31370 `__: Remove support for " -"building --without-threads. This option is not really useful anymore in the " -"21st century. Removing lots of conditional paths allows us to simplify the " -"code base, including in difficult to maintain low-level internal code." -msgstr "" - -#: ../../../build/NEWS:18326 -msgid "" -"`bpo-31341 `__: Per :pep:`11`, support " -"for the IRIX operating system was removed." -msgstr "" - -#: ../../../build/NEWS:18329 ../../../build/NEWS:20140 -msgid "" -"`bpo-30854 `__: Fix compile error when " -"compiling --without-threads. Patch by Masayuki Yamamoto." -msgstr "" - -#: ../../../build/NEWS:18332 ../../../build/NEWS:20720 -#: ../../../build/NEWS:24705 -msgid "" -"`bpo-30687 `__: Locate msbuild.exe on " -"Windows when building rather than vcvarsall.bat" -msgstr "" - -#: ../../../build/NEWS:18335 -msgid "" -"`bpo-20210 `__: Support the *disabled* " -"marker in Setup files. Extension modules listed after this marker are not " -"built at all, neither by the Makefile nor by setup.py." -msgstr "" - -#: ../../../build/NEWS:18339 ../../../build/NEWS:20664 -msgid "" -"`bpo-29941 `__: Add ``--with-" -"assertions`` configure flag to explicitly enable C ``assert()`` checks. " -"Defaults to off. ``--with-pydebug`` implies ``--with-assertions``." -msgstr "" - -#: ../../../build/NEWS:18343 ../../../build/NEWS:20668 -msgid "" -"`bpo-28787 `__: Fix out-of-tree builds " -"of Python when configured with ``--with--dtrace``." -msgstr "" - -#: ../../../build/NEWS:18346 ../../../build/NEWS:20671 -#: ../../../build/NEWS:24692 -msgid "" -"`bpo-29243 `__: Prevent unnecessary " -"rebuilding of Python during ``make test``, ``make install`` and some other " -"make targets when configured with ``--enable-optimizations``." -msgstr "" - -#: ../../../build/NEWS:18350 ../../../build/NEWS:20675 -#: ../../../build/NEWS:24696 -msgid "" -"`bpo-23404 `__: Don't regenerate " -"generated files based on file modification time anymore: the action is now " -"explicit. Replace ``make touch`` with ``make regen-all``." -msgstr "" - -#: ../../../build/NEWS:18354 ../../../build/NEWS:20679 -#: ../../../build/NEWS:24700 -msgid "" -"`bpo-29643 `__: Fix ``--enable-" -"optimization`` didn't work." -msgstr "" - -#: ../../../build/NEWS:18356 ../../../build/NEWS:21039 -msgid "" -"`bpo-27593 `__: sys.version and the " -"platform module python_build(), python_branch(), and python_revision() " -"functions now use git information rather than hg when building from a repo." -msgstr "" - -#: ../../../build/NEWS:18360 ../../../build/NEWS:21043 -msgid "" -"`bpo-29572 `__: Update Windows build and " -"OS X installers to use OpenSSL 1.0.2k." -msgstr "" - -#: ../../../build/NEWS:18362 -msgid "" -"`bpo-27659 `__: Prohibit implicit C " -"function declarations: use ``-Werror=implicit-function-declaration`` when " -"possible (GCC and Clang, but it depends on the compiler version). Patch " -"written by Chi Hsuan Yen." -msgstr "" - -#: ../../../build/NEWS:18366 -msgid "" -"`bpo-29384 `__: Remove old Be OS helper " -"scripts." -msgstr "" - -#: ../../../build/NEWS:18368 ../../../build/NEWS:21045 -msgid "" -"`bpo-26851 `__: Set Android compilation " -"and link flags." -msgstr "" - -#: ../../../build/NEWS:18370 ../../../build/NEWS:21047 -msgid "" -"`bpo-28768 `__: Fix implicit declaration " -"of function _setmode. Patch by Masayuki Yamamoto" -msgstr "" - -#: ../../../build/NEWS:18373 ../../../build/NEWS:21050 -#: ../../../build/NEWS:25363 -msgid "" -"`bpo-29080 `__: Removes hard dependency " -"on hg.exe from PCBuild/build.bat" -msgstr "" - -#: ../../../build/NEWS:18375 ../../../build/NEWS:21052 -#: ../../../build/NEWS:25365 -msgid "" -"`bpo-23903 `__: Added missed names to PC/" -"python3.def." -msgstr "" - -#: ../../../build/NEWS:18377 ../../../build/NEWS:21054 -msgid "" -"`bpo-28762 `__: lockf() is available on " -"Android API level 24, but the F_LOCK macro is not defined in android-ndk-r13." -msgstr "" - -#: ../../../build/NEWS:18380 ../../../build/NEWS:21057 -msgid "" -"`bpo-28538 `__: Fix the compilation " -"error that occurs because if_nameindex() is available on Android API level " -"24, but the if_nameindex structure is not defined." -msgstr "" - -#: ../../../build/NEWS:18384 ../../../build/NEWS:21061 -msgid "" -"`bpo-20211 `__: Do not add the directory " -"for installing C header files and the directory for installing object code " -"libraries to the cross compilation search paths. Original patch by Thomas " -"Petazzoni." -msgstr "" - -#: ../../../build/NEWS:18388 ../../../build/NEWS:21065 -msgid "" -"`bpo-28849 `__: Do not define sys." -"implementation._multiarch on Android." -msgstr "" - -#: ../../../build/NEWS:18390 ../../../build/NEWS:21276 -#: ../../../build/NEWS:25367 -msgid "" -"`bpo-10656 `__: Fix out-of-tree building " -"on AIX. Patch by Tristan Carel and Michael Haubenwallner." -msgstr "" - -#: ../../../build/NEWS:18393 ../../../build/NEWS:21279 -#: ../../../build/NEWS:25370 -msgid "" -"`bpo-26359 `__: Rename --with-" -"optimiations to --enable-optimizations." -msgstr "" - -#: ../../../build/NEWS:18395 ../../../build/NEWS:21394 -#: ../../../build/NEWS:25372 -msgid "" -"`bpo-28444 `__: Fix missing extensions " -"modules when cross compiling." -msgstr "" - -#: ../../../build/NEWS:18397 ../../../build/NEWS:21396 -msgid "" -"`bpo-28208 `__: Update Windows build and " -"OS X installers to use SQLite 3.14.2." -msgstr "" - -#: ../../../build/NEWS:18399 ../../../build/NEWS:21398 -#: ../../../build/NEWS:25374 -msgid "" -"`bpo-28248 `__: Update Windows build and " -"OS X installers to use OpenSSL 1.0.2j." -msgstr "" - -#: ../../../build/NEWS:18401 -msgid "" -"`bpo-21124 `__: Fix building the _struct " -"module on Cygwin by passing ``NULL`` instead of ``&PyType_Type`` to " -"PyVarObject_HEAD_INIT. Patch by Masayuki Yamamoto." -msgstr "" - -#: ../../../build/NEWS:18405 -msgid "" -"`bpo-13756 `__: Fix building extensions " -"modules on Cygwin. Patch by Roumen Petrov, based on original patch by Jason " -"Tishler." -msgstr "" - -#: ../../../build/NEWS:18408 -msgid "" -"`bpo-21085 `__: Add configure check for " -"siginfo_t.si_band, which Cygwin does not provide. Patch by Masayuki Yamamoto " -"with review and rebase by Erik Bray." -msgstr "" - -#: ../../../build/NEWS:18412 ../../../build/NEWS:21663 -#: ../../../build/NEWS:25376 -msgid "" -"`bpo-28258 `__: Fixed build with " -"Estonian locale (python-config and distclean targets in Makefile). Patch by " -"Arfrever Frehtes Taifersar Arahesis." -msgstr "" - -#: ../../../build/NEWS:18415 ../../../build/NEWS:21666 -#: ../../../build/NEWS:25379 -msgid "" -"`bpo-26661 `__: setup.py now detects " -"system libffi with multiarch wrapper." -msgstr "" - -#: ../../../build/NEWS:18417 -msgid "" -"`bpo-27979 `__: A full copy of libffi is " -"no longer bundled for use when building _ctypes on non-OSX UNIX platforms. " -"An installed copy of libffi is now required when building _ctypes on such " -"platforms." -msgstr "" - -#: ../../../build/NEWS:18421 ../../../build/NEWS:21668 -#: ../../../build/NEWS:25384 -msgid "" -"`bpo-15819 `__: Remove redundant include " -"search directory option for building outside the source tree." -msgstr "" - -#: ../../../build/NEWS:18424 ../../../build/NEWS:21281 -#: ../../../build/NEWS:25421 -msgid "" -"`bpo-28676 `__: Prevent missing " -"'getentropy' declaration warning on macOS. Patch by Gareth Rees." -msgstr "" - -#: ../../../build/NEWS:18430 -msgid "" -"`bpo-31392 `__: Update Windows build to " -"use OpenSSL 1.1.0f" -msgstr "" - -#: ../../../build/NEWS:18432 ../../../build/NEWS:20146 -msgid "" -"`bpo-30389 `__: Adds detection of Visual " -"Studio 2017 to distutils on Windows." -msgstr "" - -#: ../../../build/NEWS:18434 -msgid "" -"`bpo-31358 `__: zlib is no longer " -"bundled in the CPython source, instead it is downloaded on demand just like " -"bz2, lzma, OpenSSL, Tcl/Tk, and SQLite." -msgstr "" - -#: ../../../build/NEWS:18437 ../../../build/NEWS:20148 -msgid "" -"`bpo-31340 `__: Change to building with " -"MSVC v141 (included with Visual Studio 2017)" -msgstr "" - -#: ../../../build/NEWS:18440 ../../../build/NEWS:20151 -msgid "" -"`bpo-30581 `__: os.cpu_count() now " -"returns the correct number of processors on Windows when the number of " -"logical processors is greater than 64." -msgstr "" - -#: ../../../build/NEWS:18443 -msgid "" -"`bpo-30916 `__: Pre-build OpenSSL, Tcl " -"and Tk and include the binaries in the build." -msgstr "" - -#: ../../../build/NEWS:18446 ../../../build/NEWS:20154 -msgid "" -"`bpo-30731 `__: Add a missing xmlns to " -"python.manifest so that it matches the schema." -msgstr "" - -#: ../../../build/NEWS:18449 -msgid "" -"`bpo-30291 `__: Allow requiring 64-bit " -"interpreters from py.exe using -64 suffix. Contributed by Steve (Gadget) " -"Barnes." -msgstr "" - -#: ../../../build/NEWS:18452 -msgid "" -"`bpo-30362 `__: Adds list options (-0, " -"-0p) to py.exe launcher. Contributed by Steve Barnes." -msgstr "" - -#: ../../../build/NEWS:18455 -msgid "" -"`bpo-23451 `__: Fix socket deprecation " -"warnings in socketmodule.c. Patch by Segev Finer." -msgstr "" - -#: ../../../build/NEWS:18458 ../../../build/NEWS:20723 -msgid "" -"`bpo-30450 `__: The build process on " -"Windows no longer depends on Subversion, instead pulling external code from " -"GitHub via a Python script. If Python 3.6 is not found on the system (via " -"``py -3.6``), NuGet is used to download a copy of 32-bit Python." -msgstr "" - -#: ../../../build/NEWS:18463 -msgid "" -"`bpo-29579 `__: Removes readme.txt from " -"the installer." -msgstr "" - -#: ../../../build/NEWS:18465 ../../../build/NEWS:20980 -msgid "" -"`bpo-25778 `__: winreg does not truncate " -"string correctly (Patch by Eryk Sun)" -msgstr "" - -#: ../../../build/NEWS:18467 -msgid "" -"`bpo-28896 `__: Deprecate " -"WindowsRegistryFinder and disable it by default" -msgstr "" - -#: ../../../build/NEWS:18469 ../../../build/NEWS:21389 -msgid "" -"`bpo-28522 `__: Fixes mishandled buffer " -"reallocation in getpathp.c" -msgstr "" - -#: ../../../build/NEWS:18471 ../../../build/NEWS:21630 -msgid "" -"`bpo-28402 `__: Adds signed catalog " -"files for stdlib on Windows." -msgstr "" - -#: ../../../build/NEWS:18473 ../../../build/NEWS:21632 -msgid "" -"`bpo-28333 `__: Enables Unicode for ps1/" -"ps2 and input() prompts. (Patch by Eryk Sun)" -msgstr "" - -#: ../../../build/NEWS:18476 ../../../build/NEWS:21635 -#: ../../../build/NEWS:25348 -msgid "" -"`bpo-28251 `__: Improvements to help " -"manuals on Windows." -msgstr "" - -#: ../../../build/NEWS:18478 ../../../build/NEWS:21637 -#: ../../../build/NEWS:25350 -msgid "" -"`bpo-28110 `__: launcher.msi has " -"different product codes between 32-bit and 64-bit" -msgstr "" - -#: ../../../build/NEWS:18481 ../../../build/NEWS:21640 -msgid "" -"`bpo-28161 `__: Opening CON for write " -"access fails" -msgstr "" - -#: ../../../build/NEWS:18483 ../../../build/NEWS:21642 -msgid "" -"`bpo-28162 `__: WindowsConsoleIO " -"readall() fails if first line starts with Ctrl+Z" -msgstr "" - -#: ../../../build/NEWS:18486 ../../../build/NEWS:21645 -msgid "" -"`bpo-28163 `__: WindowsConsoleIO " -"fileno() passes wrong flags to _open_osfhandle" -msgstr "" - -#: ../../../build/NEWS:18488 ../../../build/NEWS:21647 -msgid "" -"`bpo-28164 `__: _PyIO_get_console_type " -"fails for various paths" -msgstr "" - -#: ../../../build/NEWS:18490 ../../../build/NEWS:21649 -msgid "" -"`bpo-28137 `__: Renames Windows path " -"file to ._pth" -msgstr "" - -#: ../../../build/NEWS:18492 ../../../build/NEWS:21651 -msgid "" -"`bpo-28138 `__: Windows ._pth file " -"should allow import site" -msgstr "" - -#: ../../../build/NEWS:18497 ../../../build/NEWS:20160 -msgid "" -"`bpo-31493 `__: IDLE code context -- fix " -"code update and font update timers. Canceling timers prevents a warning " -"message when test_idle completes." -msgstr "" - -#: ../../../build/NEWS:18500 ../../../build/NEWS:20163 -msgid "" -"`bpo-31488 `__: IDLE - Update non-key " -"options in former extension classes. When applying configdialog changes, " -"call .reload for each feature class. Change ParenMatch so updated options " -"affect existing instances attached to existing editor windows." -msgstr "" - -#: ../../../build/NEWS:18505 ../../../build/NEWS:20168 -msgid "" -"`bpo-31477 `__: IDLE - Improve rstrip " -"entry in doc. Strip trailing whitespace strips more than blank spaces. " -"Multiline string literals are not skipped." -msgstr "" - -#: ../../../build/NEWS:18508 ../../../build/NEWS:20171 -msgid "" -"`bpo-31480 `__: IDLE - make tests pass " -"with zzdummy extension disabled by default." -msgstr "" - -#: ../../../build/NEWS:18511 ../../../build/NEWS:20174 -msgid "" -"`bpo-31421 `__: Document how IDLE runs " -"tkinter programs. IDLE calls tcl/tk update in the background in order to " -"make live interaction and experimentation with tkinter applications much " -"easier." -msgstr "" - -#: ../../../build/NEWS:18515 ../../../build/NEWS:20178 -msgid "" -"`bpo-31414 `__: IDLE -- fix tk entry box " -"tests by deleting first. Adding to an int entry is not the same as deleting " -"and inserting because int('') will fail." -msgstr "" - -#: ../../../build/NEWS:18519 ../../../build/NEWS:20182 -msgid "" -"`bpo-31051 `__: Rearrange IDLE " -"configdialog GenPage into Window, Editor, and Help sections." -msgstr "" - -#: ../../../build/NEWS:18522 ../../../build/NEWS:20185 -msgid "" -"`bpo-30617 `__: IDLE - Add docstrings " -"and tests for outwin subclass of editor. Move some data and functions from " -"the class to module level. Patch by Cheryl Sabella." -msgstr "" - -#: ../../../build/NEWS:18526 ../../../build/NEWS:20189 -msgid "" -"`bpo-31287 `__: IDLE - Do not modify " -"tkinter.message in test_configdialog." -msgstr "" - -#: ../../../build/NEWS:18528 ../../../build/NEWS:20191 -msgid "" -"`bpo-27099 `__: Convert IDLE's built-in " -"'extensions' to regular features. About 10 IDLE features were implemented as " -"supposedly optional extensions. Their different behavior could be confusing " -"or worse for users and not good for maintenance. Hence the conversion. The " -"main difference for users is that user configurable key bindings for builtin " -"features are now handled uniformly. Now, editing a binding in a keyset only " -"affects its value in the keyset. All bindings are defined together in the " -"system-specific default keysets in config-extensions.def. All custom keysets " -"are saved as a whole in config-extension.cfg. All take effect as soon as " -"one clicks Apply or Ok. The affected events are '<>', '<>', '<>', '<>', '<>', '<>', '<>', and " -"'<>'. Any (global) customizations made before 3.6.3 will not " -"affect their keyset-specific customization after 3.6.3. and vice versa. " -"Initial patch by Charles Wohlganger." -msgstr "" - -#: ../../../build/NEWS:18544 ../../../build/NEWS:20207 -msgid "" -"`bpo-31206 `__: IDLE: Factor " -"HighPage(Frame) class from ConfigDialog. Patch by Cheryl Sabella." -msgstr "" - -#: ../../../build/NEWS:18547 ../../../build/NEWS:20210 -msgid "" -"`bpo-31001 `__: Add tests for " -"configdialog highlight tab. Patch by Cheryl Sabella." -msgstr "" - -#: ../../../build/NEWS:18550 ../../../build/NEWS:20213 -msgid "" -"`bpo-31205 `__: IDLE: Factor " -"KeysPage(Frame) class from ConfigDialog. The slightly modified tests " -"continue to pass. Patch by Cheryl Sabella." -msgstr "" - -#: ../../../build/NEWS:18553 ../../../build/NEWS:20216 -msgid "" -"`bpo-31130 `__: IDLE -- stop leaks in " -"test_configdialog. Initial patch by Victor Stinner." -msgstr "" - -#: ../../../build/NEWS:18556 ../../../build/NEWS:20219 -msgid "" -"`bpo-31002 `__: Add tests for " -"configdialog keys tab. Patch by Cheryl Sabella." -msgstr "" - -#: ../../../build/NEWS:18558 ../../../build/NEWS:20221 -msgid "" -"`bpo-19903 `__: IDLE: Calltips use " -"`inspect.signature` instead of `inspect.getfullargspec`. This improves " -"calltips for builtins converted to use Argument Clinic. Patch by Louie Lu." -msgstr "" - -#: ../../../build/NEWS:18562 ../../../build/NEWS:20225 -msgid "" -"`bpo-31083 `__: IDLE - Add an outline of " -"a TabPage class in configdialog. Update existing classes to match outline. " -"Initial patch by Cheryl Sabella." -msgstr "" - -#: ../../../build/NEWS:18565 ../../../build/NEWS:20228 -msgid "" -"`bpo-31050 `__: Factor GenPage(Frame) " -"class from ConfigDialog. The slightly modified tests continue to pass. Patch " -"by Cheryl Sabella." -msgstr "" - -#: ../../../build/NEWS:18568 ../../../build/NEWS:20231 -msgid "" -"`bpo-31004 `__: IDLE - Factor " -"FontPage(Frame) class from ConfigDialog. Slightly modified tests continue to " -"pass. Fix General tests. Patch mostly by Cheryl Sabella." -msgstr "" - -#: ../../../build/NEWS:18572 ../../../build/NEWS:20235 -msgid "" -"`bpo-30781 `__: IDLE - Use ttk widgets " -"in ConfigDialog. Patches by Terry Jan Reedy and Cheryl Sabella." -msgstr "" - -#: ../../../build/NEWS:18575 ../../../build/NEWS:20238 -msgid "" -"`bpo-31060 `__: IDLE - Finish " -"rearranging methods of ConfigDialog Grouping methods pertaining to each tab " -"and the buttons will aid writing tests and improving the tabs and will " -"enable splitting the groups into classes." -msgstr "" - -#: ../../../build/NEWS:18579 ../../../build/NEWS:20242 -msgid "" -"`bpo-30853 `__: IDLE -- Factor a " -"VarTrace class out of ConfigDialog. Instance tracers manages pairs " -"consisting of a tk variable and a callback function. When tracing is turned " -"on, setting the variable calls the function. Test coverage for the new " -"class is 100%." -msgstr "" - -#: ../../../build/NEWS:18584 ../../../build/NEWS:20247 -msgid "" -"`bpo-31003 `__: IDLE: Add more tests for " -"General tab." -msgstr "" - -#: ../../../build/NEWS:18586 ../../../build/NEWS:20249 -msgid "" -"`bpo-30993 `__: IDLE - Improve " -"configdialog font page and tests. In configdialog: Document causal pathways " -"in create_font_tab docstring. Simplify some attribute names. Move " -"set_samples calls to var_changed_font (idea from Cheryl Sabella). Move " -"related functions to positions after the create widgets function. In " -"test_configdialog: Fix test_font_set so not order dependent. Fix renamed " -"test_indent_scale so it tests the widget. Adjust tests for movement of " -"set_samples call. Add tests for load functions. Put all font tests in one " -"class and tab indent tests in another. Except for two lines, these tests " -"completely cover the related functions." -msgstr "" - -#: ../../../build/NEWS:18597 ../../../build/NEWS:20260 -msgid "" -"`bpo-30981 `__: IDLE -- Add more " -"configdialog font page tests." -msgstr "" - -#: ../../../build/NEWS:18599 ../../../build/NEWS:20262 -msgid "" -"`bpo-28523 `__: IDLE: replace 'colour' " -"with 'color' in configdialog." -msgstr "" - -#: ../../../build/NEWS:18601 ../../../build/NEWS:20264 -msgid "" -"`bpo-30917 `__: Add tests for idlelib." -"config.IdleConf. Increase coverage from 46% to 96%. Patch by Louie Lu." -msgstr "" - -#: ../../../build/NEWS:18604 ../../../build/NEWS:20267 -msgid "" -"`bpo-30934 `__: Document coverage " -"details for idlelib tests. Add section to idlelib/idle-test/README.txt. " -"Include check that branches are taken both ways. Exclude IDLE-specific code " -"that does not run during unit tests." -msgstr "" - -#: ../../../build/NEWS:18608 ../../../build/NEWS:20271 -msgid "" -"`bpo-30913 `__: IDLE: Document " -"ConfigDialog tk Vars, methods, and widgets in docstrings This will " -"facilitate improving the dialog and splitting up the class. Original patch " -"by Cheryl Sabella." -msgstr "" - -#: ../../../build/NEWS:18612 ../../../build/NEWS:20275 -msgid "" -"`bpo-30899 `__: IDLE: Add tests for " -"ConfigParser subclasses in config. Patch by Louie Lu." -msgstr "" - -#: ../../../build/NEWS:18615 ../../../build/NEWS:20278 -msgid "" -"`bpo-30881 `__: IDLE: Add docstrings to " -"browser.py. Patch by Cheryl Sabella." -msgstr "" - -#: ../../../build/NEWS:18617 ../../../build/NEWS:20280 -msgid "" -"`bpo-30851 `__: IDLE: Remove unused " -"variables in configdialog. One is a duplicate, one is set but cannot be " -"altered by users. Patch by Cheryl Sabella." -msgstr "" - -#: ../../../build/NEWS:18621 ../../../build/NEWS:20284 -msgid "" -"`bpo-30870 `__: IDLE: In Settings " -"dialog, select font with Up, Down keys as well as mouse. Initial patch by " -"Louie Lu." -msgstr "" - -#: ../../../build/NEWS:18624 ../../../build/NEWS:20287 -msgid "" -"`bpo-8231 `__: IDLE: call config.IdleConf." -"GetUserCfgDir only once." -msgstr "" - -#: ../../../build/NEWS:18626 ../../../build/NEWS:20289 -msgid "" -"`bpo-30779 `__: IDLE: Factor " -"ConfigChanges class from configdialog, put in config; test. * In config, put " -"dump test code in a function; run it and unittest in 'if __name__ == " -"'__main__'. * Add class config.ConfigChanges based on changes_class_v4.py on " -"bpo issue. * Add class test_config.ChangesTest, partly using " -"configdialog_tests_v1.py. * Revise configdialog to use ConfigChanges; see " -"tracker msg297804. * Revise test_configdialog to match configdialog changes. " -"* Remove configdialog functions unused or moved to ConfigChanges. Cheryl " -"Sabella contributed parts of the patch." -msgstr "" - -#: ../../../build/NEWS:18636 ../../../build/NEWS:20299 -msgid "" -"`bpo-30777 `__: IDLE: configdialog - Add " -"docstrings and fix comments. Patch by Cheryl Sabella." -msgstr "" - -#: ../../../build/NEWS:18639 ../../../build/NEWS:20302 -msgid "" -"`bpo-30495 `__: IDLE: Improve textview " -"with docstrings, PEP8 names, and more tests. Patch by Cheryl Sabella." -msgstr "" - -#: ../../../build/NEWS:18642 ../../../build/NEWS:20305 -msgid "" -"`bpo-30723 `__: IDLE: Make several " -"improvements to parenmatch. Add 'parens' style to highlight both opener and " -"closer. Make 'default' style, which is not default, a synonym for 'opener'. " -"Make time-delay work the same with all styles. Add help for config dialog " -"extensions tab, including help for parenmatch. Add new tests. Original " -"patch by Charles Wohlganger." -msgstr "" - -#: ../../../build/NEWS:18648 ../../../build/NEWS:20311 -msgid "" -"`bpo-30674 `__: IDLE: add docstrings to " -"grep module. Patch by Cheryl Sabella" -msgstr "" - -#: ../../../build/NEWS:18650 ../../../build/NEWS:20313 -msgid "" -"`bpo-21519 `__: IDLE's basic custom key " -"entry dialog now detects duplicates properly. Original patch by Saimadhav " -"Heblikar." -msgstr "" - -#: ../../../build/NEWS:18653 ../../../build/NEWS:20316 -msgid "" -"`bpo-29910 `__: IDLE no longer deletes a " -"character after commenting out a region by a key shortcut. Add ``return " -"'break'`` for this and other potential conflicts between IDLE and default " -"key bindings." -msgstr "" - -#: ../../../build/NEWS:18657 ../../../build/NEWS:20320 -msgid "" -"`bpo-30728 `__: Review and change " -"idlelib.configdialog names. Lowercase method and attribute names. Replace " -"'colour' with 'color', expand overly cryptic names, delete unneeded " -"underscores. Replace ``import *`` with specific imports. Patches by Cheryl " -"Sabella." -msgstr "" - -#: ../../../build/NEWS:18662 ../../../build/NEWS:20325 -msgid "" -"`bpo-6739 `__: IDLE: Verify user-entered " -"key sequences by trying to bind them with tk. Add tests for all 3 validation " -"functions. Original patch by G Polo. Tests added by Cheryl Sabella." -msgstr "" - -#: ../../../build/NEWS:18666 ../../../build/NEWS:20635 -msgid "" -"`bpo-15786 `__: Fix several problems " -"with IDLE's autocompletion box. The following should now work: clicking on " -"selection box items; using the scrollbar; selecting an item by hitting " -"Return. Hangs on MacOSX should no longer happen. Patch by Louie Lu." -msgstr "" - -#: ../../../build/NEWS:18671 ../../../build/NEWS:20640 -msgid "" -"`bpo-25514 `__: Add doc subsubsection " -"about IDLE failure to start. Popup no-connection message directs users to " -"this section." -msgstr "" - -#: ../../../build/NEWS:18674 ../../../build/NEWS:20643 -msgid "" -"`bpo-30642 `__: Fix reference leaks in " -"IDLE tests. Patches by Louie Lu and Terry Jan Reedy." -msgstr "" - -#: ../../../build/NEWS:18677 ../../../build/NEWS:20646 -msgid "" -"`bpo-30495 `__: Add docstrings for " -"textview.py and use PEP8 names. Patches by Cheryl Sabella and Terry Jan " -"Reedy." -msgstr "" - -#: ../../../build/NEWS:18680 ../../../build/NEWS:20649 -msgid "" -"`bpo-30290 `__: Help-about: use pep8 " -"names and add tests. Increase coverage to 100%. Patches by Louie Lu, Cheryl " -"Sabella, and Terry Jan Reedy." -msgstr "" - -#: ../../../build/NEWS:18683 ../../../build/NEWS:20652 -msgid "" -"`bpo-30303 `__: Add _utest option to " -"textview; add new tests. Increase coverage to 100%. Patches by Louie Lu and " -"Terry Jan Reedy." -msgstr "" - -#: ../../../build/NEWS:18686 ../../../build/NEWS:20961 -msgid "" -"`bpo-29071 `__: IDLE colors f-string " -"prefixes (but not invalid ur prefixes)." -msgstr "" - -#: ../../../build/NEWS:18688 ../../../build/NEWS:20963 -msgid "" -"`bpo-28572 `__: Add 10% to coverage of " -"IDLE's test_configdialog. Update and augment description of the " -"configuration system." -msgstr "" - -#: ../../../build/NEWS:18694 ../../../build/NEWS:20332 -msgid "" -"`bpo-30983 `__: gdb integration commands " -"(py-bt, etc.) work on optimized shared builds now, too. :pep:`523` " -"introduced _PyEval_EvalFrameDefault which inlines PyEval_EvalFrameEx on non-" -"debug shared builds. This broke the ability to use py-bt, py-up, and a few " -"other Python-specific gdb integrations. The problem is fixed by only looking " -"for _PyEval_EvalFrameDefault frames in python-gdb.py. Original patch by " -"Bruno \"Polaco\" Penteado." -msgstr "" - -#: ../../../build/NEWS:18702 -msgid "" -"`bpo-29748 `__: Added the slice index " -"converter in Argument Clinic." -msgstr "" - -#: ../../../build/NEWS:18704 -msgid "" -"`bpo-24037 `__: Argument Clinic now uses " -"the converter `bool(accept={int})` rather than `int` for semantical " -"booleans. This avoids repeating the default value for Python and C and will " -"help in converting to `bool` in future." -msgstr "" - -#: ../../../build/NEWS:18709 ../../../build/NEWS:20700 -msgid "" -"`bpo-29367 `__: python-gdb.py now " -"supports also ``method-wrapper`` (``wrapperobject``) objects." -msgstr "" - -#: ../../../build/NEWS:18712 ../../../build/NEWS:21168 -msgid "" -"`bpo-28023 `__: Fix python-gdb.py didn't " -"support new dict implementation." -msgstr "" - -#: ../../../build/NEWS:18714 -msgid "" -"`bpo-15369 `__: The pybench and pystone " -"microbenchmark have been removed from Tools. Please use the new Python " -"benchmark suite https://github.com/python/performance which is more reliable " -"and includes a portable version of pybench working on Python 2 and Python 3." -msgstr "" - -#: ../../../build/NEWS:18719 -msgid "" -"`bpo-28102 `__: The zipfile module CLI " -"now prints usage to stderr. Patch by Stephen J. Turnbull." -msgstr "" - -#: ../../../build/NEWS:18725 -msgid "" -"`bpo-31338 `__: Added the " -"``Py_UNREACHABLE()`` macro for code paths which are never expected to be " -"reached. This and a few other useful macros are now documented in the C API " -"manual." -msgstr "" - -#: ../../../build/NEWS:18729 -msgid "" -"`bpo-30832 `__: Remove own " -"implementation for thread-local storage. CPython has provided the own " -"implementation for thread-local storage (TLS) on Python/thread.c, it's used " -"in the case which a platform has not supplied native TLS. However, " -"currently all supported platforms (Windows and pthreads) have provided " -"native TLS and defined the Py_HAVE_NATIVE_TLS macro with unconditional in " -"any case." -msgstr "" - -#: ../../../build/NEWS:18736 -msgid "" -"`bpo-30708 `__: " -"PyUnicode_AsWideCharString() now raises a ValueError if the second argument " -"is NULL and the wchar_t\\* string contains null characters." -msgstr "" - -#: ../../../build/NEWS:18739 -msgid "" -"`bpo-16500 `__: Deprecate " -"PyOS_AfterFork() and add PyOS_BeforeFork(), PyOS_AfterFork_Parent() and " -"PyOS_AfterFork_Child()." -msgstr "" - -#: ../../../build/NEWS:18742 -msgid "" -"`bpo-6532 `__: The type of results of " -"PyThread_start_new_thread() and PyThread_get_thread_ident(), and the id " -"parameter of PyThreadState_SetAsyncExc() changed from \"long\" to \"unsigned " -"long\"." -msgstr "" - -#: ../../../build/NEWS:18746 -msgid "" -"`bpo-27867 `__: Function " -"PySlice_GetIndicesEx() is deprecated and replaced with a macro if " -"Py_LIMITED_API is not set or set to the value between 0x03050400 and " -"0x03060000 (not including) or 0x03060100 or higher. Added functions " -"PySlice_Unpack() and PySlice_AdjustIndices()." -msgstr "" - -#: ../../../build/NEWS:18751 ../../../build/NEWS:20991 -#: ../../../build/NEWS:24718 -msgid "" -"`bpo-29083 `__: Fixed the declaration of " -"some public API functions. PyArg_VaParse() and " -"PyArg_VaParseTupleAndKeywords() were not available in limited API. " -"PyArg_ValidateKeywordArguments(), PyArg_UnpackTuple() and Py_BuildValue() " -"were not available in limited API of version < 3.3 when PY_SSIZE_T_CLEAN is " -"defined." -msgstr "" - -#: ../../../build/NEWS:18757 -msgid "" -"`bpo-28769 `__: The result of " -"PyUnicode_AsUTF8AndSize() and PyUnicode_AsUTF8() is now of type ``const char " -"*`` rather of ``char *``." -msgstr "" - -#: ../../../build/NEWS:18760 ../../../build/NEWS:20997 -msgid "" -"`bpo-29058 `__: All stable API " -"extensions added after Python 3.2 are now available only when Py_LIMITED_API " -"is set to the PY_VERSION_HEX value of the minimum Python version supporting " -"this API." -msgstr "" - -#: ../../../build/NEWS:18764 -msgid "" -"`bpo-28822 `__: The index parameters " -"*start* and *end* of PyUnicode_FindChar() are now adjusted to behave like " -"``str[start:end]``." -msgstr "" - -#: ../../../build/NEWS:18767 ../../../build/NEWS:21155 -#: ../../../build/NEWS:25303 -msgid "" -"`bpo-28808 `__: " -"PyUnicode_CompareWithASCIIString() now never raises exceptions." -msgstr "" - -#: ../../../build/NEWS:18769 -msgid "" -"`bpo-28761 `__: The fields name and doc " -"of structures PyMemberDef, PyGetSetDef, PyStructSequence_Field, " -"PyStructSequence_Desc, and wrapperbase are now of type ``const char *`` " -"rather of ``char *``." -msgstr "" - -#: ../../../build/NEWS:18773 -msgid "" -"`bpo-28748 `__: Private variable " -"_Py_PackageContext is now of type ``const char *`` rather of ``char *``." -msgstr "" - -#: ../../../build/NEWS:18776 -msgid "" -"`bpo-19569 `__: Compiler warnings are " -"now emitted if use most of deprecated functions." -msgstr "" - -#: ../../../build/NEWS:18779 ../../../build/NEWS:21656 -msgid "" -"`bpo-28426 `__: Deprecated undocumented " -"functions PyUnicode_AsEncodedObject(), PyUnicode_AsDecodedObject(), " -"PyUnicode_AsDecodedUnicode() and PyUnicode_AsEncodedUnicode()." -msgstr "" - -#: ../../../build/NEWS:18785 -msgid "Python 3.6.6 final" -msgstr "" - -#: ../../../build/NEWS:18789 -msgid "There were no new changes in version 3.6.6." -msgstr "" - -#: ../../../build/NEWS:18794 -msgid "Python 3.6.6 release candidate 1" -msgstr "" - -#: ../../../build/NEWS:18796 -msgid "*Release date: 2018-06-11*" -msgstr "" - -#: ../../../build/NEWS:19027 -msgid "" -"`bpo-33184 `__: Update Windows installer " -"to OpenSSL 1.0.2o." -msgstr "" - -#: ../../../build/NEWS:19032 -msgid "" -"`bpo-33184 `__: Update macOS installer " -"build to use OpenSSL 1.0.2o." -msgstr "" - -#: ../../../build/NEWS:19064 -msgid "" -"`bpo-29706 `__: IDLE now colors async " -"and await as keywords in 3.6. They become full keywords in 3.7." -msgstr "" - -#: ../../../build/NEWS:19105 -msgid "Python 3.6.5 final" -msgstr "" - -#: ../../../build/NEWS:19107 -msgid "*Release date: 2018-03-28*" -msgstr "" - -#: ../../../build/NEWS:19121 -msgid "Python 3.6.5 release candidate 1" -msgstr "" - -#: ../../../build/NEWS:19123 -msgid "*Release date: 2018-03-13*" -msgstr "" - -#: ../../../build/NEWS:19162 -msgid "" -"`bpo-32329 `__: ``sys.flags." -"hash_randomization`` is now properly set to 0 when hash randomization is " -"turned off by ``PYTHONHASHSEED=0``." -msgstr "" - -#: ../../../build/NEWS:19165 -msgid "" -"`bpo-30416 `__: The optimizer is now " -"protected from spending much time doing complex calculations and consuming " -"much memory for creating large constants in constant folding." -msgstr "" - -#: ../../../build/NEWS:19192 -msgid "" -"`bpo-30353 `__: Fix ctypes pass-by-value " -"for structs on 64-bit Cygwin/MinGW." -msgstr "" - -#: ../../../build/NEWS:19230 -msgid "" -"`bpo-32394 `__: socket: Remove " -"TCP_FASTOPEN, TCP_KEEPCNT flags on older version Windows during run-time." -msgstr "" - -#: ../../../build/NEWS:19262 -msgid "" -"`bpo-32555 `__: On FreeBSD and Solaris, " -"os.strerror() now always decode the byte string from the current locale " -"encoding, rather than using ASCII/surrogateescape in some cases." -msgstr "" - -#: ../../../build/NEWS:19280 -msgid "" -"`bpo-32185 `__: The SSL module no longer " -"sends IP addresses in SNI TLS extension on platforms with OpenSSL 1.0.2+ or " -"inet_pton." -msgstr "" - -#: ../../../build/NEWS:19345 -msgid "" -"`bpo-31518 `__: Debian Unstable has " -"disabled TLS 1.0 and 1.1 for SSLv23_METHOD(). Change TLS/SSL protocol of " -"some tests to PROTOCOL_TLS or PROTOCOL_TLSv1_2 to make them pass on Debian." -msgstr "" - -#: ../../../build/NEWS:19378 -msgid "" -"`bpo-32588 `__: Create standalone " -"_distutils_findvs module." -msgstr "" - -#: ../../../build/NEWS:19383 -msgid "" -"`bpo-32726 `__: Provide an additional, " -"more modern macOS installer variant that supports macOS 10.9+ systems in 64-" -"bit mode only. Upgrade the supplied third-party libraries to OpenSSL 1.0.2n, " -"XZ 5.2.3, and SQLite 3.22.0. The 10.9+ installer now links with and supplies " -"its own copy of Tcl/Tk 8.6.8." -msgstr "" - -#: ../../../build/NEWS:19439 -msgid "Python 3.6.4 final" -msgstr "" - -#: ../../../build/NEWS:19441 -msgid "*Release date: 2017-12-18*" -msgstr "" - -#: ../../../build/NEWS:19443 -msgid "There were no new code changes in version 3.6.4 since v3.6.4rc1." -msgstr "" - -#: ../../../build/NEWS:19448 -msgid "Python 3.6.4 release candidate 1" -msgstr "" - -#: ../../../build/NEWS:19477 -msgid "" -"`bpo-31852 `__: Fix a segmentation fault " -"caused by a combination of the async soft keyword and continuation lines." -msgstr "" - -#: ../../../build/NEWS:19811 -msgid "" -"`bpo-13802 `__: Use non-Latin characters " -"in the IDLE's Font settings sample. Even if one selects a font that defines " -"a limited subset of the unicode Basic Multilingual Plane, tcl/tk will use " -"other fonts that define a character. The expanded example give users of non-" -"Latin characters a better idea of what they might see in IDLE's shell and " -"editors. To make room for the expanded sample, frames on the Font tab are re-" -"arranged. The Font/Tabs help explains a bit about the additions." -msgstr "" - -#: ../../../build/NEWS:19867 -msgid "Python 3.6.3 final" -msgstr "" - -#: ../../../build/NEWS:19869 -msgid "*Release date: 2017-10-03*" -msgstr "" - -#: ../../../build/NEWS:19874 -msgid "" -"`bpo-31641 `__: Re-allow arbitrary " -"iterables in `concurrent.futures.as_completed()`. Fixes regression in " -"3.6.3rc1." -msgstr "" - -#: ../../../build/NEWS:19880 -msgid "" -"`bpo-31662 `__: Fix typos in Windows " -"``uploadrelease.bat`` script. Fix Windows Doc build issues in ``Doc/make." -"bat``." -msgstr "" - -#: ../../../build/NEWS:19883 -msgid "" -"`bpo-31423 `__: Fix building the PDF " -"documentation with newer versions of Sphinx." -msgstr "" - -#: ../../../build/NEWS:19888 -msgid "Python 3.6.3 release candidate 1" -msgstr "" - -#: ../../../build/NEWS:19890 -msgid "*Release date: 2017-09-18*" -msgstr "" - -#: ../../../build/NEWS:20342 -msgid "Python 3.6.2 final" -msgstr "" - -#: ../../../build/NEWS:20344 -msgid "*Release date: 2017-07-17*" -msgstr "" - -#: ../../../build/NEWS:20346 ../../../build/NEWS:21073 -msgid "No changes since release candidate 2" -msgstr "" - -#: ../../../build/NEWS:20351 -msgid "Python 3.6.2 release candidate 2" -msgstr "" - -#: ../../../build/NEWS:20353 -msgid "*Release date: 2017-07-07*" -msgstr "" - -#: ../../../build/NEWS:20378 -msgid "Python 3.6.2 release candidate 1" -msgstr "" - -#: ../../../build/NEWS:20380 -msgid "*Release date: 2017-06-17*" -msgstr "" - -#: ../../../build/NEWS:20388 -msgid "" -"`bpo-30604 `__: Move co_extra_freefuncs " -"to not be per-thread to avoid crashes" -msgstr "" - -#: ../../../build/NEWS:20418 ../../../build/NEWS:24370 -msgid "" -"`bpo-29600 `__: Fix wrapping coroutine " -"return values in StopIteration." -msgstr "" - -#: ../../../build/NEWS:20447 ../../../build/NEWS:24436 -msgid "" -"`bpo-30645 `__: Fix path calculation in " -"imp.load_package(), fixing it for cases when a package is only shipped with " -"bytecodes. Patch by Alexandru Ardelean." -msgstr "" - -#: ../../../build/NEWS:20467 -msgid "" -"`bpo-24484 `__: Avoid race condition in " -"multiprocessing cleanup (#2159)" -msgstr "" - -#: ../../../build/NEWS:20541 ../../../build/NEWS:24504 -msgid "" -"`bpo-26293 `__: Change resulted because " -"of zipfile breakage. (See also: `bpo-29094 `__)" -msgstr "" - -#: ../../../build/NEWS:20615 ../../../build/NEWS:24571 -msgid "" -"`bpo-28298 `__: Fix a bug that prevented " -"array 'Q', 'L' and 'I' from accepting big intables (objects that have " -"__int__) as elements. Patch by Oren Milman." -msgstr "" - -#: ../../../build/NEWS:20658 -msgid "" -"`bpo-27867 `__: Function " -"PySlice_GetIndicesEx() no longer replaced with a macro if Py_LIMITED_API is " -"not set." -msgstr "" - -#: ../../../build/NEWS:20730 -msgid "Python 3.6.1 final" -msgstr "" - -#: ../../../build/NEWS:20732 -msgid "*Release date: 2017-03-21*" -msgstr "*Data de lançamento: 2017-03-21*" - -#: ../../../build/NEWS:20748 -msgid "" -"`bpo-27593 `__: fix format of git " -"information used in sys.version" -msgstr "" - -#: ../../../build/NEWS:20750 -msgid "Fix incompatible comment in python.h" -msgstr "Corrigir comentário incompatível em python.h" - -#: ../../../build/NEWS:20754 -msgid "Python 3.6.1 release candidate 1" -msgstr "" - -#: ../../../build/NEWS:20756 -msgid "*Release date: 2017-03-04*" -msgstr "*Data de lançamento: 2017-03-04*" - -#: ../../../build/NEWS:20867 ../../../build/NEWS:24603 -msgid "" -"`bpo-29519 `__: Fix weakref spewing " -"exceptions during interpreter shutdown when used with a rare combination of " -"multiprocessing and custom codecs." -msgstr "" - -#: ../../../build/NEWS:20883 -msgid "" -"`bpo-29316 `__: Restore the provisional " -"status of typing module, add corresponding note to documentation. Patch by " -"Ivan L." -msgstr "" - -#: ../../../build/NEWS:20889 ../../../build/NEWS:24619 -msgid "" -"`bpo-29011 `__: Fix an important " -"omission by adding Deque to the typing module." -msgstr "" - -#: ../../../build/NEWS:20903 -msgid "" -"`bpo-29203 `__: functools.lru_cache() " -"now respects :pep:`468` and preserves the order of keyword arguments. " -"f(a=1, b=2) is now cached separately from f(b=2, a=1) since both calls could " -"potentially give different results." -msgstr "" - -#: ../../../build/NEWS:20910 ../../../build/NEWS:24876 -msgid "" -"`bpo-29094 `__: Offsets in a ZIP file " -"created with extern file object and modes \"w\" and \"x\" now are relative " -"to the start of the file." -msgstr "" - -#: ../../../build/NEWS:20913 -msgid "" -"`bpo-29085 `__: Allow random.Random." -"seed() to use high quality OS randomness rather than the pid and time." -msgstr "" - -#: ../../../build/NEWS:20916 -msgid "" -"`bpo-29061 `__: Fixed bug in secrets." -"randbelow() which would hang when given a negative input. Patch by Brendan " -"Donegan." -msgstr "" - -#: ../../../build/NEWS:20924 ../../../build/NEWS:24882 -msgid "" -"`bpo-29119 `__: Fix weakrefs in the pure " -"python version of collections.OrderedDict move_to_end() method. Contributed " -"by Andra Bogildea." -msgstr "" - -#: ../../../build/NEWS:20936 -msgid "" -"`bpo-29055 `__: Neaten-up empty " -"population error on random.choice() by suppressing the upstream exception." -msgstr "" - -#: ../../../build/NEWS:20951 ../../../build/NEWS:24906 -msgid "" -"`bpo-28847 `__: dbm.dumb now supports " -"reading read-only files and no longer writes the index file when it is not " -"changed." -msgstr "" - -#: ../../../build/NEWS:20969 -msgid "" -"`bpo-29579 `__: Removes readme.txt from " -"the installer" -msgstr "" - -#: ../../../build/NEWS:20971 -msgid "" -"`bpo-29326 `__: Ignores blank lines in ." -"_pth files (Patch by Alexey Izbyshev)" -msgstr "" - -#: ../../../build/NEWS:20973 -msgid "" -"`bpo-28164 `__: Correctly handle special " -"console filenames (patch by Eryk Sun)" -msgstr "" - -#: ../../../build/NEWS:20975 -msgid "" -"`bpo-29409 `__: Implement :pep:`529` for " -"io.FileIO (Patch by Eryk Sun)" -msgstr "" - -#: ../../../build/NEWS:20977 ../../../build/NEWS:24708 -msgid "" -"`bpo-29392 `__: Prevent crash when " -"passing invalid arguments into msvcrt module." -msgstr "" - -#: ../../../build/NEWS:20982 -msgid "" -"`bpo-28896 `__: Deprecate " -"WindowsRegistryFinder and disable it by default." -msgstr "" - -#: ../../../build/NEWS:20987 -msgid "" -"`bpo-27867 `__: Function " -"PySlice_GetIndicesEx() is replaced with a macro if Py_LIMITED_API is not set " -"or set to the value between 0x03050400 and 0x03060000 (not including) or " -"0x03060100 or higher." -msgstr "" - -#: ../../../build/NEWS:21017 ../../../build/NEWS:24673 -msgid "" -"`bpo-28087 `__: Skip test_asyncore and " -"test_eintr poll failures on macOS. Skip some tests of select.poll when " -"running on macOS due to unresolved issues with the underlying system poll " -"function on some macOS versions." -msgstr "" - -#: ../../../build/NEWS:21021 ../../../build/NEWS:24683 -msgid "" -"`bpo-29571 `__: to match the behaviour " -"of the ``re.LOCALE`` flag, test_re.test_locale_flag now uses ``locale." -"getpreferredencoding(False)`` to determine the candidate encoding for the " -"test regex (allowing it to correctly skip the test when the default locale " -"encoding is a multi-byte encoding)" -msgstr "" - -#: ../../../build/NEWS:21069 -msgid "Python 3.6.0 final" -msgstr "" - -#: ../../../build/NEWS:21071 -msgid "*Release date: 2016-12-23*" -msgstr "" - -#: ../../../build/NEWS:21078 -msgid "Python 3.6.0 release candidate 2" -msgstr "" - -#: ../../../build/NEWS:21080 -msgid "*Release date: 2016-12-16*" -msgstr "" - -#: ../../../build/NEWS:21088 -msgid "" -"`bpo-28990 `__: Fix asyncio SSL hanging " -"if connection is closed before handshake is completed. (Patch by HoHo-Ho)" -msgstr "" - -#: ../../../build/NEWS:21094 -msgid "" -"`bpo-28770 `__: Fix python-gdb.py for " -"fastcalls." -msgstr "" - -#: ../../../build/NEWS:21099 -msgid "" -"`bpo-28896 `__: Deprecate " -"WindowsRegistryFinder." -msgstr "" - -#: ../../../build/NEWS:21104 -msgid "" -"`bpo-28898 `__: Prevent gdb build errors " -"due to HAVE_LONG_LONG redefinition." -msgstr "" - -#: ../../../build/NEWS:21108 -msgid "Python 3.6.0 release candidate 1" -msgstr "" - -#: ../../../build/NEWS:21110 -msgid "*Release date: 2016-12-06*" -msgstr "" - -#: ../../../build/NEWS:21132 -msgid "" -"`bpo-27030 `__: Unknown escapes in re." -"sub() replacement template are allowed again. But they still are deprecated " -"and will be disabled in 3.7." -msgstr "" - -#: ../../../build/NEWS:21150 -msgid "" -"`bpo-28843 `__: Fix asyncio C Task to " -"handle exceptions __traceback__." -msgstr "" - -#: ../../../build/NEWS:21160 -msgid "" -"`bpo-23722 `__: The data model reference " -"and the porting section in the What's New guide now cover the additional " -"``__classcell__`` handling needed for custom metaclasses to fully support :" -"pep:`487` and zero-argument ``super()``." -msgstr "" - -#: ../../../build/NEWS:21172 -msgid "Python 3.6.0 beta 4" -msgstr "" - -#: ../../../build/NEWS:21174 -msgid "*Release date: 2016-11-21*" -msgstr "" - -#: ../../../build/NEWS:21202 -msgid "" -"`bpo-27243 `__: Change " -"PendingDeprecationWarning -> DeprecationWarning. As it was agreed in the " -"issue, __aiter__ returning an awaitable should result in " -"PendingDeprecationWarning in 3.5 and in DeprecationWarning in 3.6." -msgstr "" - -#: ../../../build/NEWS:21221 -msgid "" -"`bpo-20572 `__: The subprocess.Popen." -"wait method's undocumented endtime parameter now raises a DeprecationWarning." -msgstr "" - -#: ../../../build/NEWS:21238 -msgid "" -"`bpo-28600 `__: Optimize loop.call_soon." -msgstr "" - -#: ../../../build/NEWS:21240 ../../../build/NEWS:25254 -msgid "" -"`bpo-28613 `__: Fix get_event_loop() " -"return the current loop if called from coroutines/callbacks." -msgstr "" - -#: ../../../build/NEWS:21243 -msgid "" -"`bpo-28634 `__: Fix asyncio.isfuture() " -"to support unittest.Mock." -msgstr "" - -#: ../../../build/NEWS:21245 -msgid "" -"`bpo-26081 `__: Fix refleak in _asyncio." -"Future.__iter__().throw." -msgstr "" - -#: ../../../build/NEWS:21247 ../../../build/NEWS:25257 -msgid "" -"`bpo-28639 `__: Fix inspect.isawaitable " -"to always return bool Patch by Justin Mayfield." -msgstr "" - -#: ../../../build/NEWS:21250 ../../../build/NEWS:25260 -msgid "" -"`bpo-28652 `__: Make loop methods reject " -"socket kinds they do not support." -msgstr "" - -#: ../../../build/NEWS:21252 ../../../build/NEWS:25262 -msgid "" -"`bpo-28653 `__: Fix a refleak in " -"functools.lru_cache." -msgstr "" - -#: ../../../build/NEWS:21254 ../../../build/NEWS:25264 -msgid "" -"`bpo-28703 `__: Fix asyncio." -"iscoroutinefunction to handle Mock objects." -msgstr "" - -#: ../../../build/NEWS:21256 -msgid "" -"`bpo-28704 `__: Fix create_unix_server " -"to support Path-like objects (PEP 519)." -msgstr "" - -#: ../../../build/NEWS:21258 -msgid "" -"`bpo-28720 `__: Add collections.abc." -"AsyncGenerator." -msgstr "" - -#: ../../../build/NEWS:21286 -msgid "Python 3.6.0 beta 3" -msgstr "" - -#: ../../../build/NEWS:21288 -msgid "*Release date: 2016-10-31*" -msgstr "" - -#: ../../../build/NEWS:21311 -msgid "" -"`bpo-28471 `__: Fix \"Python memory " -"allocator called without holding the GIL\" crash in socket.setblocking." -msgstr "" - -#: ../../../build/NEWS:21333 -msgid "" -"`bpo-18844 `__: The various ways of " -"specifying weights for random.choices() now produce the same result " -"sequences." -msgstr "" - -#: ../../../build/NEWS:21336 ../../../build/NEWS:24938 -msgid "" -"`bpo-28255 `__: calendar.TextCalendar()." -"prmonth() no longer prints a space at the start of new line after printing a " -"month's calendar. Patch by Xiang Zhang." -msgstr "" - -#: ../../../build/NEWS:21369 ../../../build/NEWS:24952 -msgid "" -"`bpo-24452 `__: Make webbrowser support " -"Chrome on Mac OS X." -msgstr "" - -#: ../../../build/NEWS:21374 -msgid "" -"`bpo-28492 `__: Fix how StopIteration " -"exception is raised in _asyncio.Future." -msgstr "" - -#: ../../../build/NEWS:21376 -msgid "" -"`bpo-28500 `__: Fix asyncio to handle " -"async gens GC from another thread." -msgstr "" - -#: ../../../build/NEWS:21378 ../../../build/NEWS:25246 -msgid "" -"`bpo-26923 `__: Fix asyncio.Gather to " -"refuse being cancelled once all children are done. Patch by Johannes Ebke." -msgstr "" - -#: ../../../build/NEWS:21381 ../../../build/NEWS:25249 -msgid "" -"`bpo-26796 `__: Don't configure the " -"number of workers for default threadpool executor. Initial patch by Hans " -"Lawrenz." -msgstr "" - -#: ../../../build/NEWS:21384 -msgid "" -"`bpo-28544 `__: Implement asyncio.Task " -"in C." -msgstr "" - -#: ../../../build/NEWS:21410 -msgid "Python 3.6.0 beta 2" -msgstr "" - -#: ../../../build/NEWS:21412 -msgid "*Release date: 2016-10-10*" -msgstr "" - -#: ../../../build/NEWS:21428 -msgid "" -"`bpo-28376 `__: Creating instances of " -"range_iterator by calling range_iterator type now is deprecated. Patch by " -"Oren Milman." -msgstr "" - -#: ../../../build/NEWS:21431 ../../../build/NEWS:24779 -msgid "" -"`bpo-28376 `__: The constructor of " -"range_iterator now checks that step is not 0. Patch by Oren Milman." -msgstr "" - -#: ../../../build/NEWS:21492 ../../../build/NEWS:24957 -msgid "" -"`bpo-26293 `__: Fixed writing ZIP files " -"that starts not from the start of the file. Offsets in ZIP file now are " -"relative to the start of the archive in conforming to the specification." -msgstr "" - -#: ../../../build/NEWS:21499 -msgid "" -"`bpo-27181 `__: remove statistics." -"geometric_mean and defer until 3.7." -msgstr "" - -#: ../../../build/NEWS:21678 -msgid "Python 3.6.0 beta 1" -msgstr "" - -#: ../../../build/NEWS:21680 -msgid "*Release date: 2016-09-12*" -msgstr "" - -#: ../../../build/NEWS:21685 -msgid "" -"`bpo-23722 `__: The __class__ cell used " -"by zero-argument super() is now initialized from type.__new__ rather than " -"__build_class__, so class methods relying on that will now work correctly " -"when called from metaclass methods during class creation. Patch by Martin " -"Teichmann." -msgstr "" - -#: ../../../build/NEWS:21690 ../../../build/NEWS:24810 -msgid "" -"`bpo-25221 `__: Fix corrupted result " -"from PyLong_FromLong(0) when Python is compiled with NSMALLPOSINTS = 0." -msgstr "" - -#: ../../../build/NEWS:21693 -msgid "" -"`bpo-27080 `__: Implement formatting " -"support for :pep:`515`. Initial patch by Chris Angelico." -msgstr "" - -#: ../../../build/NEWS:21696 -msgid "" -"`bpo-27199 `__: In tarfile, expose " -"copyfileobj bufsize to improve throughput. Patch by Jason Fried." -msgstr "" - -#: ../../../build/NEWS:21699 -msgid "" -"`bpo-27948 `__: In f-strings, only allow " -"backslashes inside the braces (where the expressions are). This is a " -"breaking change from the 3.6 alpha releases, where backslashes are allowed " -"anywhere in an f-string. Also, require that expressions inside f-strings be " -"enclosed within literal braces, and not escapes like ``f'\\x7b\"hi\"\\x7d'``." -msgstr "" - -#: ../../../build/NEWS:21705 -msgid "" -"`bpo-28046 `__: Remove platform-specific " -"directories from sys.path." -msgstr "" - -#: ../../../build/NEWS:21707 -msgid "" -"`bpo-28071 `__: Add early-out for " -"differencing from an empty set." -msgstr "" - -#: ../../../build/NEWS:21709 ../../../build/NEWS:24813 -msgid "" -"`bpo-25758 `__: Prevents zipimport from " -"unnecessarily encoding a filename (patch by Eryk Sun)" -msgstr "" - -#: ../../../build/NEWS:21712 -msgid "" -"`bpo-25856 `__: The __module__ attribute " -"of extension classes and functions now is interned. This leads to more " -"compact pickle data with protocol 4." -msgstr "" - -#: ../../../build/NEWS:21715 -msgid "" -"`bpo-27213 `__: Rework CALL_FUNCTION* " -"opcodes to produce shorter and more efficient bytecode. Patch by Demur " -"Rumed, design by Serhiy Storchaka, reviewed by Serhiy Storchaka and Victor " -"Stinner." -msgstr "" - -#: ../../../build/NEWS:21719 -msgid "" -"`bpo-26331 `__: Implement tokenizing " -"support for :pep:`515`. Patch by Georg Brandl." -msgstr "" - -#: ../../../build/NEWS:21722 -msgid "" -"`bpo-27999 `__: Make \"global after use" -"\" a SyntaxError, and ditto for nonlocal. Patch by Ivan Levkivskyi." -msgstr "" - -#: ../../../build/NEWS:21725 -msgid "" -"`bpo-28003 `__: Implement :pep:`525` -- " -"Asynchronous Generators." -msgstr "" - -#: ../../../build/NEWS:21727 -msgid "" -"`bpo-27985 `__: Implement :pep:`526` -- " -"Syntax for Variable Annotations. Patch by Ivan Levkivskyi." -msgstr "" - -#: ../../../build/NEWS:21730 -msgid "" -"`bpo-26058 `__: Add a new private " -"version to the builtin dict type, incremented at each dictionary creation " -"and at each dictionary change. Implementation of the PEP 509." -msgstr "" - -#: ../../../build/NEWS:21734 -msgid "" -"`bpo-27364 `__: A backslash-character " -"pair that is not a valid escape sequence now generates a " -"DeprecationWarning. Patch by Emanuel Barry." -msgstr "" - -#: ../../../build/NEWS:21737 -msgid "" -"`bpo-27350 `__: `dict` implementation is " -"changed like PyPy. It is more compact and preserves insertion order. " -"(Concept developed by Raymond Hettinger and patch by Inada Naoki.)" -msgstr "" - -#: ../../../build/NEWS:21741 -msgid "" -"`bpo-27911 `__: Remove unnecessary error " -"checks in ``exec_builtin_or_dynamic()``." -msgstr "" - -#: ../../../build/NEWS:21744 -msgid "" -"`bpo-27078 `__: Added BUILD_STRING " -"opcode. Optimized f-strings evaluation." -msgstr "" - -#: ../../../build/NEWS:21746 -msgid "" -"`bpo-17884 `__: Python now requires " -"systems with inttypes.h and stdint.h" -msgstr "" - -#: ../../../build/NEWS:21748 -msgid "" -"`bpo-27961 `__: Require platforms to " -"support ``long long``. Python hasn't compiled without ``long long`` for " -"years, so this is basically a formality." -msgstr "" - -#: ../../../build/NEWS:21752 -msgid "" -"`bpo-27355 `__: Removed support for " -"Windows CE. It was never finished, and Windows CE is no longer a relevant " -"platform for Python." -msgstr "" - -#: ../../../build/NEWS:21755 -msgid "Implement :pep:`523`." -msgstr "" - -#: ../../../build/NEWS:21757 -msgid "" -"`bpo-27870 `__: A left shift of zero by " -"a large integer no longer attempts to allocate large amounts of memory." -msgstr "" - -#: ../../../build/NEWS:21760 -msgid "" -"`bpo-25402 `__: In int-to-decimal-string " -"conversion, improve the estimate of the intermediate memory required, and " -"remove an unnecessarily strict overflow check. Patch by Serhiy Storchaka." -msgstr "" - -#: ../../../build/NEWS:21764 -msgid "" -"`bpo-27214 `__: In long_invert, be more " -"careful about modifying object returned by long_add, and remove an " -"unnecessary check for small longs. Thanks Oren Milman for analysis and patch." -msgstr "" - -#: ../../../build/NEWS:21768 -msgid "" -"`bpo-27506 `__: Support passing the " -"bytes/bytearray.translate() \"delete\" argument by keyword." -msgstr "" - -#: ../../../build/NEWS:21771 ../../../build/NEWS:24819 -msgid "" -"`bpo-27812 `__: Properly clear out a " -"generator's frame's backreference to the generator to prevent crashes in " -"frame.clear()." -msgstr "" - -#: ../../../build/NEWS:21774 ../../../build/NEWS:24822 -msgid "" -"`bpo-27811 `__: Fix a crash when a " -"coroutine that has not been awaited is finalized with warnings-as-errors " -"enabled." -msgstr "" - -#: ../../../build/NEWS:21777 ../../../build/NEWS:24825 -msgid "" -"`bpo-27587 `__: Fix another issue found " -"by PVS-Studio: Null pointer check after use of 'def' in " -"_PyState_AddModule(). Initial patch by Christian Heimes." -msgstr "" - -#: ../../../build/NEWS:21780 -msgid "" -"`bpo-27792 `__: The modulo operation " -"applied to ``bool`` and other ``int`` subclasses now always returns an " -"``int``. Previously the return type depended on the input values. Patch by " -"Xiang Zhang." -msgstr "" - -#: ../../../build/NEWS:21784 -msgid "" -"`bpo-26984 `__: int() now always returns " -"an instance of exact int." -msgstr "" - -#: ../../../build/NEWS:21786 -msgid "" -"`bpo-25604 `__: Fix a minor bug in " -"integer true division; this bug could potentially have caused off-by-one-ulp " -"results on platforms with unreliable ldexp implementations." -msgstr "" - -#: ../../../build/NEWS:21790 -msgid "" -"`bpo-24254 `__: Make class definition " -"namespace ordered by default." -msgstr "" - -#: ../../../build/NEWS:21792 -msgid "" -"`bpo-27662 `__: Fix an overflow check in " -"``List_New``: the original code was checking against ``Py_SIZE_MAX`` instead " -"of the correct upper bound of ``Py_SSIZE_T_MAX``. Patch by Xiang Zhang." -msgstr "" - -#: ../../../build/NEWS:21796 ../../../build/NEWS:24831 -msgid "" -"`bpo-27782 `__: Multi-phase extension " -"module import now correctly allows the ``m_methods`` field to be used to add " -"module level functions to instances of non-module types returned from " -"``Py_create_mod``. Patch by Xiang Zhang." -msgstr "" - -#: ../../../build/NEWS:21800 ../../../build/NEWS:24835 -msgid "" -"`bpo-27936 `__: The round() function " -"accepted a second None argument for some types but not for others. Fixed " -"the inconsistency by accepting None for all numeric types." -msgstr "" - -#: ../../../build/NEWS:21804 ../../../build/NEWS:24839 -msgid "" -"`bpo-27487 `__: Warn if a submodule " -"argument to \"python -m\" or runpy.run_module() is found in sys.modules " -"after parent packages are imported, but before the submodule is executed." -msgstr "" - -#: ../../../build/NEWS:21808 -msgid "" -"`bpo-27157 `__: Make only type() itself " -"accept the one-argument form. Patch by Eryk Sun and Emanuel Barry." -msgstr "" - -#: ../../../build/NEWS:21811 ../../../build/NEWS:24843 -msgid "" -"`bpo-27558 `__: Fix a SystemError in the " -"implementation of \"raise\" statement. In a brand new thread, raise a " -"RuntimeError since there is no active exception to reraise. Patch written by " -"Xiang Zhang." -msgstr "" - -#: ../../../build/NEWS:21815 -msgid "" -"`bpo-28008 `__: Implement :pep:`530` -- " -"asynchronous comprehensions." -msgstr "" - -#: ../../../build/NEWS:21817 ../../../build/NEWS:24868 -msgid "" -"`bpo-27942 `__: Fix memory leak in " -"codeobject.c" -msgstr "" - -#: ../../../build/NEWS:21822 ../../../build/NEWS:24912 -msgid "" -"`bpo-28732 `__: Fix crash in os.spawnv() " -"with no elements in args" -msgstr "" - -#: ../../../build/NEWS:21824 ../../../build/NEWS:24914 -msgid "" -"`bpo-28485 `__: Always raise ValueError " -"for negative compileall.compile_dir(workers=...) parameter, even when " -"multithreading is unavailable." -msgstr "" - -#: ../../../build/NEWS:21828 -msgid "" -"`bpo-28037 `__: Use " -"sqlite3_get_autocommit() instead of setting Connection->inTransaction " -"manually." -msgstr "" - -#: ../../../build/NEWS:21831 -msgid "" -"`bpo-25283 `__: Attributes tm_gmtoff and " -"tm_zone are now available on all platforms in the return values of time." -"localtime() and time.gmtime()." -msgstr "" - -#: ../../../build/NEWS:21834 -msgid "" -"`bpo-24454 `__: Regular expression match " -"object groups are now accessible using __getitem__. \"mo[x]\" is equivalent " -"to \"mo.group(x)\"." -msgstr "" - -#: ../../../build/NEWS:21837 -msgid "" -"`bpo-10740 `__: sqlite3 no longer " -"implicitly commit an open transaction before DDL statements." -msgstr "" - -#: ../../../build/NEWS:21840 -msgid "" -"`bpo-17941 `__: Add a *module* parameter " -"to collections.namedtuple()." -msgstr "" - -#: ../../../build/NEWS:21842 -msgid "" -"`bpo-22493 `__: Inline flags now should " -"be used only at the start of the regular expression. Deprecation warning is " -"emitted if uses them in the middle of the regular expression." -msgstr "" - -#: ../../../build/NEWS:21846 -msgid "" -"`bpo-26885 `__: xmlrpc now supports " -"unmarshalling additional data types used by Apache XML-RPC implementation " -"for numerics and None." -msgstr "" - -#: ../../../build/NEWS:21849 -msgid "" -"`bpo-28070 `__: Fixed parsing inline " -"verbose flag in regular expressions." -msgstr "" - -#: ../../../build/NEWS:21851 -msgid "" -"`bpo-19500 `__: Add client-side SSL " -"session resumption to the ssl module." -msgstr "" - -#: ../../../build/NEWS:21853 -msgid "" -"`bpo-28022 `__: Deprecate ssl-related " -"arguments in favor of SSLContext. The deprecation include manual creation of " -"SSLSocket and certfile/keyfile (or similar) in ftplib, httplib, imaplib, " -"smtplib, poplib and urllib." -msgstr "" - -#: ../../../build/NEWS:21857 -msgid "" -"`bpo-28043 `__: SSLContext has improved " -"default settings: OP_NO_SSLv2, OP_NO_SSLv3, OP_NO_COMPRESSION, " -"OP_CIPHER_SERVER_PREFERENCE, OP_SINGLE_DH_USE, OP_SINGLE_ECDH_USE and HIGH " -"ciphers without MD5." -msgstr "" - -#: ../../../build/NEWS:21861 -msgid "" -"`bpo-24693 `__: Changed some " -"RuntimeError's in the zipfile module to more appropriate types. Improved " -"some error messages and debugging output." -msgstr "" - -#: ../../../build/NEWS:21864 -msgid "" -"`bpo-17909 `__: ``json.load`` and ``json." -"loads`` now support binary input encoded as UTF-8, UTF-16 or UTF-32. Patch " -"by Serhiy Storchaka." -msgstr "" - -#: ../../../build/NEWS:21867 -msgid "" -"`bpo-27137 `__: the pure Python fallback " -"implementation of ``functools.partial`` now matches the behaviour of its " -"accelerated C counterpart for subclassing, pickling and text representation " -"purposes. Patch by Emanuel Barry and Serhiy Storchaka." -msgstr "" - -#: ../../../build/NEWS:21872 ../../../build/NEWS:24967 -msgid "" -"Fix possible integer overflows and crashes in the mmap module with unusual " -"usage patterns." -msgstr "" - -#: ../../../build/NEWS:21875 ../../../build/NEWS:24970 -msgid "" -"`bpo-1703178 `__: Fix the ability to " -"pass the --link-objects option to the distutils build_ext command." -msgstr "" - -#: ../../../build/NEWS:21878 ../../../build/NEWS:25017 -msgid "" -"`bpo-28019 `__: itertools.count() no " -"longer rounds non-integer step in range between 1.0 and 2.0 to 1." -msgstr "" - -#: ../../../build/NEWS:21881 -msgid "" -"`bpo-18401 `__: Pdb now supports the " -"'readrc' keyword argument to control whether .pdbrc files should be read. " -"Patch by Martin Matusiak and Sam Kimbrel." -msgstr "" - -#: ../../../build/NEWS:21885 ../../../build/NEWS:25020 -msgid "" -"`bpo-25969 `__: Update the lib2to3 " -"grammar to handle the unpacking generalizations added in 3.5." -msgstr "" - -#: ../../../build/NEWS:21888 ../../../build/NEWS:25023 -msgid "" -"`bpo-14977 `__: mailcap now respects the " -"order of the lines in the mailcap files (\"first match\"), as required by " -"RFC 1542. Patch by Michael Lazar." -msgstr "" - -#: ../../../build/NEWS:21891 -msgid "" -"`bpo-28082 `__: Convert re flag " -"constants to IntFlag." -msgstr "" - -#: ../../../build/NEWS:21893 -msgid "" -"`bpo-28025 `__: Convert all ssl module " -"constants to IntEnum and IntFlags. SSLContext properties now return flags " -"and enums." -msgstr "" - -#: ../../../build/NEWS:21896 -msgid "" -"`bpo-23591 `__: Add Flag, IntFlag, and " -"auto() to enum module." -msgstr "" - -#: ../../../build/NEWS:21898 -msgid "" -"`bpo-433028 `__: Added support of " -"modifier spans in regular expressions." -msgstr "" - -#: ../../../build/NEWS:21900 ../../../build/NEWS:25026 -msgid "" -"`bpo-24594 `__: Validates persist " -"parameter when opening MSI database" -msgstr "" - -#: ../../../build/NEWS:21902 ../../../build/NEWS:25028 -msgid "" -"`bpo-17582 `__: xml.etree.ElementTree " -"nows preserves whitespaces in attributes (Patch by Duane Griffin. Reviewed " -"and approved by Stefan Behnel.)" -msgstr "" - -#: ../../../build/NEWS:21905 ../../../build/NEWS:25031 -msgid "" -"`bpo-28047 `__: Fixed calculation of " -"line length used for the base64 CTE in the new email policies." -msgstr "" - -#: ../../../build/NEWS:21908 -msgid "" -"`bpo-27576 `__: Fix call order in " -"OrderedDict.__init__()." -msgstr "" - -#: ../../../build/NEWS:21910 -msgid "email.generator.DecodedGenerator now supports the policy keyword." -msgstr "" - -#: ../../../build/NEWS:21912 -msgid "" -"`bpo-28027 `__: Remove undocumented " -"modules from ``Lib/plat-*``: IN, CDROM, DLFCN, TYPES, CDIO, and STROPTS." -msgstr "" - -#: ../../../build/NEWS:21915 ../../../build/NEWS:25034 -msgid "" -"`bpo-27445 `__: Don't pass str(_charset) " -"to MIMEText.set_payload(). Patch by Claude Paroz." -msgstr "" - -#: ../../../build/NEWS:21918 -msgid "" -"`bpo-24277 `__: The new email API is no " -"longer provisional, and the docs have been reorganized and rewritten to " -"emphasize the new API." -msgstr "" - -#: ../../../build/NEWS:21921 ../../../build/NEWS:25037 -msgid "" -"`bpo-22450 `__: urllib now includes an " -"``Accept: */*`` header among the default headers. This makes the results of " -"REST API requests more consistent and predictable especially when proxy " -"servers are involved." -msgstr "" - -#: ../../../build/NEWS:21925 ../../../build/NEWS:25041 -msgid "" -"lib2to3.pgen3.driver.load_grammar() now creates a stable cache file between " -"runs given the same Grammar.txt input regardless of the hash randomization " -"setting." -msgstr "" - -#: ../../../build/NEWS:21929 -msgid "" -"`bpo-28005 `__: Allow ImportErrors in " -"encoding implementation to propagate." -msgstr "" - -#: ../../../build/NEWS:21931 -msgid "" -"`bpo-26667 `__: Support path-like " -"objects in importlib.util." -msgstr "" - -#: ../../../build/NEWS:21933 ../../../build/NEWS:25045 -msgid "" -"`bpo-27570 `__: Avoid zero-length " -"memcpy() etc calls with null source pointers in the \"ctypes\" and \"array\" " -"modules." -msgstr "" - -#: ../../../build/NEWS:21936 ../../../build/NEWS:25048 -msgid "" -"`bpo-22233 `__: Break email header lines " -"*only* on the RFC specified CR and LF characters, not on arbitrary unicode " -"line breaks. This also fixes a bug in HTTP header parsing." -msgstr "" - -#: ../../../build/NEWS:21940 -msgid "" -"`bpo-27331 `__: The email.mime classes " -"now all accept an optional policy keyword." -msgstr "" - -#: ../../../build/NEWS:21943 ../../../build/NEWS:25052 -msgid "" -"`bpo-27988 `__: Fix email " -"iter_attachments incorrect mutation of payload list." -msgstr "" - -#: ../../../build/NEWS:21945 -msgid "" -"`bpo-16113 `__: Add SHA-3 and SHAKE " -"support to hashlib module." -msgstr "" - -#: ../../../build/NEWS:21947 -msgid "Eliminate a tautological-pointer-compare warning in _scproxy.c." -msgstr "" - -#: ../../../build/NEWS:21949 -msgid "" -"`bpo-27776 `__: The :func:`os.urandom` " -"function does now block on Linux 3.17 and newer until the system urandom " -"entropy pool is initialized to increase the security. This change is part of " -"the :pep:`524`." -msgstr "" - -#: ../../../build/NEWS:21953 -msgid "" -"`bpo-27778 `__: Expose the Linux " -"``getrandom()`` syscall as a new :func:`os.getrandom` function. This change " -"is part of the :pep:`524`." -msgstr "" - -#: ../../../build/NEWS:21956 ../../../build/NEWS:25054 -msgid "" -"`bpo-27691 `__: Fix ssl module's parsing " -"of GEN_RID subject alternative name fields in X.509 certs." -msgstr "" - -#: ../../../build/NEWS:21959 -msgid "" -"`bpo-18844 `__: Add random.choices()." -msgstr "" - -#: ../../../build/NEWS:21961 -msgid "" -"`bpo-25761 `__: Improved error reporting " -"about truncated pickle data in C implementation of unpickler. " -"UnpicklingError is now raised instead of AttributeError and ValueError in " -"some cases." -msgstr "" - -#: ../../../build/NEWS:21965 -msgid "" -"`bpo-26798 `__: Add BLAKE2 (blake2b and " -"blake2s) to hashlib." -msgstr "" - -#: ../../../build/NEWS:21967 -msgid "" -"`bpo-26032 `__: Optimized globbing in " -"pathlib by using os.scandir(); it is now about 1.5--4 times faster." -msgstr "" - -#: ../../../build/NEWS:21970 -msgid "" -"`bpo-25596 `__: Optimized glob() and " -"iglob() functions in the glob module; they are now about 3--6 times faster." -msgstr "" - -#: ../../../build/NEWS:21973 -msgid "" -"`bpo-27928 `__: Add scrypt (password-" -"based key derivation function) to hashlib module (requires OpenSSL 1.1.0)." -msgstr "" - -#: ../../../build/NEWS:21976 ../../../build/NEWS:25057 -msgid "" -"`bpo-27850 `__: Remove 3DES from ssl " -"module's default cipher list to counter measure sweet32 attack " -"(CVE-2016-2183)." -msgstr "" - -#: ../../../build/NEWS:21979 ../../../build/NEWS:25060 -msgid "" -"`bpo-27766 `__: Add ChaCha20 Poly1305 to " -"ssl module's default cipher list. (Required OpenSSL 1.1.0 or LibreSSL)." -msgstr "" - -#: ../../../build/NEWS:21982 -msgid "" -"`bpo-25387 `__: Check return value of " -"winsound.MessageBeep." -msgstr "" - -#: ../../../build/NEWS:21984 -msgid "" -"`bpo-27866 `__: Add SSLContext." -"get_ciphers() method to get a list of all enabled ciphers." -msgstr "" - -#: ../../../build/NEWS:21987 -msgid "" -"`bpo-27744 `__: Add AF_ALG (Linux Kernel " -"crypto) to socket module." -msgstr "" - -#: ../../../build/NEWS:21989 ../../../build/NEWS:25063 -msgid "" -"`bpo-26470 `__: Port ssl and hashlib " -"module to OpenSSL 1.1.0." -msgstr "" - -#: ../../../build/NEWS:21991 -msgid "" -"`bpo-11620 `__: Fix support for " -"SND_MEMORY in winsound.PlaySound. Based on a patch by Tim Lesher." -msgstr "" - -#: ../../../build/NEWS:21994 -msgid "" -"`bpo-11734 `__: Add support for IEEE 754 " -"half-precision floats to the struct module. Based on a patch by Eli Stevens." -msgstr "" - -#: ../../../build/NEWS:21997 -msgid "" -"`bpo-27919 `__: Deprecated " -"``extra_path`` distribution option in distutils packaging." -msgstr "" - -#: ../../../build/NEWS:22000 -msgid "" -"`bpo-23229 `__: Add new ``cmath`` " -"constants: ``cmath.inf`` and ``cmath.nan`` to match ``math.inf`` and ``math." -"nan``, and also ``cmath.infj`` and ``cmath.nanj`` to match the format used " -"by complex repr." -msgstr "" - -#: ../../../build/NEWS:22004 -msgid "" -"`bpo-27842 `__: The csv.DictReader now " -"returns rows of type OrderedDict. (Contributed by Steve Holden.)" -msgstr "" - -#: ../../../build/NEWS:22007 ../../../build/NEWS:25065 -msgid "" -"Remove support for passing a file descriptor to os.access. It never worked " -"but previously didn't raise." -msgstr "" - -#: ../../../build/NEWS:22010 ../../../build/NEWS:25068 -msgid "" -"`bpo-12885 `__: Fix error when distutils " -"encounters symlink." -msgstr "" - -#: ../../../build/NEWS:22012 ../../../build/NEWS:25070 -msgid "" -"`bpo-27881 `__: Fixed possible bugs when " -"setting sqlite3.Connection.isolation_level. Based on patch by Xiang Zhang." -msgstr "" - -#: ../../../build/NEWS:22015 ../../../build/NEWS:25073 -msgid "" -"`bpo-27861 `__: Fixed a crash in sqlite3." -"Connection.cursor() when a factory creates not a cursor. Patch by Xiang " -"Zhang." -msgstr "" - -#: ../../../build/NEWS:22018 ../../../build/NEWS:25076 -msgid "" -"`bpo-19884 `__: Avoid spurious output on " -"OS X with Gnu Readline." -msgstr "" - -#: ../../../build/NEWS:22020 ../../../build/NEWS:25078 -msgid "" -"`bpo-27706 `__: Restore deterministic " -"behavior of random.Random().seed() for string seeds using seeding version " -"1. Allows sequences of calls to random() to exactly match those obtained in " -"Python 2. Patch by Nofar Schnider." -msgstr "" - -#: ../../../build/NEWS:22025 ../../../build/NEWS:25083 -msgid "" -"`bpo-10513 `__: Fix a regression in " -"Connection.commit(). Statements should not be reset after a commit." -msgstr "" - -#: ../../../build/NEWS:22028 -msgid "" -"`bpo-12319 `__: Chunked transfer " -"encoding support added to http.client.HTTPConnection requests. The urllib." -"request.AbstractHTTPHandler class does not enforce a Content-Length header " -"any more. If a HTTP request has a file or iterable body, but no Content-" -"Length header, the library now falls back to use chunked transfer-encoding." -msgstr "" - -#: ../../../build/NEWS:22035 -msgid "" -"A new version of typing.py from https://github.com/python/typing: - " -"Collection (only for 3.6) (`bpo-27598 `__) - Add FrozenSet to __all__ (upstream #261) - fix crash in " -"_get_type_vars() (upstream #259) - Remove the dict constraint in ForwardRef." -"_eval_type (upstream #252)" -msgstr "" - -#: ../../../build/NEWS:22040 -msgid "" -"`bpo-27832 `__: Make ``_normalize`` " -"parameter to ``Fraction`` constructor keyword-only, so that ``Fraction(2, 3, " -"4)`` now raises ``TypeError``." -msgstr "" - -#: ../../../build/NEWS:22043 ../../../build/NEWS:25091 -msgid "" -"`bpo-27539 `__: Fix unnormalised " -"``Fraction.__pow__`` result in the case of negative exponent and negative " -"base." -msgstr "" - -#: ../../../build/NEWS:22046 ../../../build/NEWS:25094 -msgid "" -"`bpo-21718 `__: cursor.description is " -"now available for queries using CTEs." -msgstr "" - -#: ../../../build/NEWS:22048 -msgid "" -"`bpo-27819 `__: In distutils sdists, " -"simply produce the \"gztar\" (gzipped tar format) distributions on all " -"platforms unless \"formats\" is supplied." -msgstr "" - -#: ../../../build/NEWS:22051 ../../../build/NEWS:25096 -msgid "" -"`bpo-2466 `__: posixpath.ismount now " -"correctly recognizes mount points which the user does not have permission to " -"access." -msgstr "" - -#: ../../../build/NEWS:22054 -msgid "" -"`bpo-9998 `__: On Linux, ctypes.util." -"find_library now looks in LD_LIBRARY_PATH for shared libraries." -msgstr "" - -#: ../../../build/NEWS:22057 -msgid "" -"`bpo-27573 `__: exit message for code." -"interact is now configurable." -msgstr "" - -#: ../../../build/NEWS:22059 ../../../build/NEWS:25204 -msgid "" -"`bpo-27930 `__: Improved behaviour of " -"logging.handlers.QueueListener. Thanks to Paulo Andrade and Petr Viktorin " -"for the analysis and patch." -msgstr "" - -#: ../../../build/NEWS:22062 -msgid "" -"`bpo-6766 `__: Distributed reference " -"counting added to multiprocessing to support nesting of shared values / " -"proxy objects." -msgstr "" - -#: ../../../build/NEWS:22065 ../../../build/NEWS:25207 -msgid "" -"`bpo-21201 `__: Improves readability of " -"multiprocessing error message. Thanks to Wojciech Walczak for patch." -msgstr "" - -#: ../../../build/NEWS:22068 -msgid "asyncio: Add set_protocol / get_protocol to Transports." -msgstr "" - -#: ../../../build/NEWS:22070 ../../../build/NEWS:25210 -msgid "" -"`bpo-27456 `__: asyncio: Set TCP_NODELAY " -"by default." -msgstr "" - -#: ../../../build/NEWS:22075 ../../../build/NEWS:25275 -msgid "" -"`bpo-15308 `__: Add 'interrupt " -"execution' (^C) to Shell menu. Patch by Roger Serwy, updated by Bayard " -"Randel." -msgstr "" - -#: ../../../build/NEWS:22078 ../../../build/NEWS:25278 -msgid "" -"`bpo-27922 `__: Stop IDLE tests from " -"'flashing' gui widgets on the screen." -msgstr "" - -#: ../../../build/NEWS:22080 -msgid "" -"`bpo-27891 `__: Consistently group and " -"sort imports within idlelib modules." -msgstr "" - -#: ../../../build/NEWS:22082 -msgid "" -"`bpo-17642 `__: add larger font sizes " -"for classroom projection." -msgstr "" - -#: ../../../build/NEWS:22084 ../../../build/NEWS:25280 -msgid "Add version to title of IDLE help window." -msgstr "" - -#: ../../../build/NEWS:22086 ../../../build/NEWS:25282 -msgid "" -"`bpo-25564 `__: In section on IDLE -- " -"console differences, mention that using exec means that __builtins__ is " -"defined for each statement." -msgstr "" - -#: ../../../build/NEWS:22089 -msgid "" -"`bpo-27821 `__: Fix 3.6.0a3 regression " -"that prevented custom key sets from being selected when no custom theme was " -"defined." -msgstr "" - -#: ../../../build/NEWS:22095 -msgid "" -"`bpo-26900 `__: Excluded underscored " -"names and other private API from limited API." -msgstr "" - -#: ../../../build/NEWS:22098 -msgid "" -"`bpo-26027 `__: Add support for path-" -"like objects in PyUnicode_FSConverter() & PyUnicode_FSDecoder()." -msgstr "" - -#: ../../../build/NEWS:22104 -msgid "" -"`bpo-27427 `__: Additional tests for the " -"math module. Patch by Francisco Couzo." -msgstr "" - -#: ../../../build/NEWS:22106 -msgid "" -"`bpo-27953 `__: Skip math and cmath " -"tests that fail on OS X 10.4 due to a poor libm implementation of tan." -msgstr "" - -#: ../../../build/NEWS:22109 -msgid "" -"`bpo-26040 `__: Improve test_math and " -"test_cmath coverage and rigour. Patch by Jeff Allen." -msgstr "" - -#: ../../../build/NEWS:22112 ../../../build/NEWS:25327 -msgid "" -"`bpo-27787 `__: Call gc.collect() before " -"checking each test for \"dangling threads\", since the dangling threads are " -"weak references." -msgstr "" - -#: ../../../build/NEWS:22118 ../../../build/NEWS:25387 -msgid "" -"`bpo-27566 `__: Fix clean target in " -"freeze makefile (patch by Lisa Roach)" -msgstr "" - -#: ../../../build/NEWS:22120 ../../../build/NEWS:25389 -msgid "" -"`bpo-27705 `__: Update message in " -"validate_ucrtbase.py" -msgstr "" - -#: ../../../build/NEWS:22122 -msgid "" -"`bpo-27976 `__: Deprecate building " -"_ctypes with the bundled copy of libffi on non-OSX UNIX platforms." -msgstr "" - -#: ../../../build/NEWS:22125 -msgid "" -"`bpo-27983 `__: Cause lack of llvm-" -"profdata tool when using clang as required for PGO linking to be a configure " -"time error rather than make time when ``--with-optimizations`` is enabled. " -"Also improve our ability to find the llvm-profdata tool on MacOS and some " -"Linuxes." -msgstr "" - -#: ../../../build/NEWS:22130 -msgid "" -"`bpo-21590 `__: Support for DTrace and " -"SystemTap probes." -msgstr "" - -#: ../../../build/NEWS:22132 ../../../build/NEWS:25396 -msgid "" -"`bpo-26307 `__: The profile-opt build " -"now applies PGO to the built-in modules." -msgstr "" - -#: ../../../build/NEWS:22134 -msgid "" -"`bpo-26359 `__: Add the --with-" -"optimizations flag to turn on LTO and PGO build support when available." -msgstr "" - -#: ../../../build/NEWS:22137 -msgid "" -"`bpo-27917 `__: Set platform triplets " -"for Android builds." -msgstr "" - -#: ../../../build/NEWS:22139 -msgid "" -"`bpo-25825 `__: Update references to the " -"$(LIBPL) installation path on AIX. This path was changed in 3.2a4." -msgstr "" - -#: ../../../build/NEWS:22142 -msgid "Update OS X installer to use SQLite 3.14.1 and XZ 5.2.2." -msgstr "" - -#: ../../../build/NEWS:22144 -msgid "" -"`bpo-21122 `__: Fix LTO builds on OS X." -msgstr "" - -#: ../../../build/NEWS:22146 -msgid "" -"`bpo-17128 `__: Build OS X installer " -"with a private copy of OpenSSL. Also provide a sample Install Certificates " -"command script to install a set of root certificates from the third-party " -"certifi module." -msgstr "" - -#: ../../../build/NEWS:22153 ../../../build/NEWS:25336 -msgid "" -"`bpo-27952 `__: Get Tools/scripts/fixcid." -"py working with Python 3 and the current \"re\" module, avoid invalid Python " -"backslash escapes, and fix a bug parsing escaped C quote signs." -msgstr "" - -#: ../../../build/NEWS:22160 -msgid "" -"`bpo-28065 `__: Update xz dependency to " -"5.2.2 and build it from source." -msgstr "" - -#: ../../../build/NEWS:22162 ../../../build/NEWS:25353 -msgid "" -"`bpo-25144 `__: Ensures TargetDir is set " -"before continuing with custom install." -msgstr "" - -#: ../../../build/NEWS:22164 -msgid "" -"`bpo-1602 `__: Windows console doesn't " -"input or print Unicode (PEP 528)" -msgstr "" - -#: ../../../build/NEWS:22166 -msgid "" -"`bpo-27781 `__: Change file system " -"encoding on Windows to UTF-8 (PEP 529)" -msgstr "" - -#: ../../../build/NEWS:22168 -msgid "" -"`bpo-27731 `__: Opt-out of MAX_PATH on " -"Windows 10" -msgstr "" - -#: ../../../build/NEWS:22170 -msgid "" -"`bpo-6135 `__: Adds encoding and errors " -"parameters to subprocess." -msgstr "" - -#: ../../../build/NEWS:22172 -msgid "" -"`bpo-27959 `__: Adds oem encoding, alias " -"ansi to mbcs, move aliasmbcs to codec lookup." -msgstr "" - -#: ../../../build/NEWS:22175 -msgid "" -"`bpo-27982 `__: The functions of the " -"winsound module now accept keyword arguments." -msgstr "" - -#: ../../../build/NEWS:22178 -msgid "" -"`bpo-20366 `__: Build full text search " -"support into SQLite on Windows." -msgstr "" - -#: ../../../build/NEWS:22180 -msgid "" -"`bpo-27756 `__: Adds new icons for " -"Python files and processes on Windows. Designs by Cherry Wang." -msgstr "" - -#: ../../../build/NEWS:22183 -msgid "" -"`bpo-27883 `__: Update sqlite to " -"3.14.1.0 on Windows." -msgstr "" - -#: ../../../build/NEWS:22187 -msgid "Python 3.6.0 alpha 4" -msgstr "" - -#: ../../../build/NEWS:22189 -msgid "*Release date: 2016-08-15*" -msgstr "" - -#: ../../../build/NEWS:22194 -msgid "" -"`bpo-27704 `__: Optimized creating bytes " -"and bytearray from byte-like objects and iterables. Speed up to 3 times for " -"short objects. Original patch by Naoki Inada." -msgstr "" - -#: ../../../build/NEWS:22198 -msgid "" -"`bpo-26823 `__: Large sections of " -"repeated lines in tracebacks are now abbreviated as \"[Previous line " -"repeated {count} more times]\" by the builtin traceback rendering. Patch by " -"Emanuel Barry." -msgstr "" - -#: ../../../build/NEWS:22202 -msgid "" -"`bpo-27574 `__: Decreased an overhead of " -"parsing keyword arguments in functions implemented with using Argument " -"Clinic." -msgstr "" - -#: ../../../build/NEWS:22205 -msgid "" -"`bpo-22557 `__: Now importing already " -"imported modules is up to 2.5 times faster." -msgstr "" - -#: ../../../build/NEWS:22208 -msgid "" -"`bpo-17596 `__: Include to " -"help with Min GW building." -msgstr "" - -#: ../../../build/NEWS:22210 -msgid "" -"`bpo-17599 `__: On Windows, rename the " -"privately defined REPARSE_DATA_BUFFER structure to avoid conflicting with " -"the definition from Min GW." -msgstr "" - -#: ../../../build/NEWS:22213 ../../../build/NEWS:24859 -msgid "" -"`bpo-27507 `__: Add integer overflow " -"check in bytearray.extend(). Patch by Xiang Zhang." -msgstr "" - -#: ../../../build/NEWS:22216 ../../../build/NEWS:24862 -msgid "" -"`bpo-27581 `__: Don't rely on wrapping " -"for overflow check in PySequence_Tuple(). Patch by Xiang Zhang." -msgstr "" - -#: ../../../build/NEWS:22219 -msgid "" -"`bpo-1621 `__: Avoid signed integer " -"overflow in list and tuple operations. Patch by Xiang Zhang." -msgstr "" - -#: ../../../build/NEWS:22222 -msgid "" -"`bpo-27419 `__: Standard __import__() no " -"longer look up \"__import__\" in globals or builtins for importing " -"submodules or \"from import\". Fixed a crash if raise a warning about " -"unabling to resolve package from __spec__ or __package__." -msgstr "" - -#: ../../../build/NEWS:22227 ../../../build/NEWS:24851 -msgid "" -"`bpo-27083 `__: Respect the PYTHONCASEOK " -"environment variable under Windows." -msgstr "" - -#: ../../../build/NEWS:22229 ../../../build/NEWS:24853 -msgid "" -"`bpo-27514 `__: Make having too many " -"statically nested blocks a SyntaxError instead of SystemError." -msgstr "" - -#: ../../../build/NEWS:22232 -msgid "" -"`bpo-27366 `__: Implemented :pep:`487` " -"(Simpler customization of class creation). Upon subclassing, the " -"__init_subclass__ classmethod is called on the base class. Descriptors are " -"initialized with __set_name__ after class creation." -msgstr "" - -#: ../../../build/NEWS:22240 -msgid "" -"`bpo-26027 `__: Add :pep:`519`/" -"__fspath__() support to the os and os.path modules. Includes code from Jelle " -"Zijlstra. (See also: `bpo-27524 `__)" -msgstr "" - -#: ../../../build/NEWS:22243 -msgid "" -"`bpo-27598 `__: Add Collections to " -"collections.abc. Patch by Ivan Levkivskyi, docs by Neil Girdhar." -msgstr "" - -#: ../../../build/NEWS:22246 -msgid "" -"`bpo-25958 `__: Support \"anti-" -"registration\" of special methods from various ABCs, like __hash__, __iter__ " -"or __len__. All these (and several more) can be set to None in an " -"implementation class and the behavior will be as if the method is not " -"defined at all. (Previously, this mechanism existed only for __hash__, to " -"make mutable classes unhashable.) Code contributed by Andrew Barnert and " -"Ivan Levkivskyi." -msgstr "" - -#: ../../../build/NEWS:22253 -msgid "" -"`bpo-16764 `__: Support keyword " -"arguments to zlib.decompress(). Patch by Xiang Zhang." -msgstr "" - -#: ../../../build/NEWS:22256 -msgid "" -"`bpo-27736 `__: Prevent segfault after " -"interpreter re-initialization due to ref count problem introduced in code " -"for `bpo-27038 `__ in 3.6.0a3. Patch by " -"Xiang Zhang." -msgstr "" - -#: ../../../build/NEWS:22260 -msgid "" -"`bpo-25628 `__: The *verbose* and " -"*rename* parameters for collections.namedtuple are now keyword-only." -msgstr "" - -#: ../../../build/NEWS:22263 -msgid "" -"`bpo-12345 `__: Add mathematical " -"constant tau to math and cmath. See also :pep:`628`." -msgstr "" - -#: ../../../build/NEWS:22266 -msgid "" -"`bpo-26823 `__: traceback.StackSummary." -"format now abbreviates large sections of repeated lines as \"[Previous line " -"repeated {count} more times]\" (this change then further affects other " -"traceback display operations in the module). Patch by Emanuel Barry." -msgstr "" - -#: ../../../build/NEWS:22271 -msgid "" -"`bpo-27664 `__: Add to concurrent." -"futures.thread.ThreadPoolExecutor() the ability to specify a thread name " -"prefix." -msgstr "" - -#: ../../../build/NEWS:22274 -msgid "" -"`bpo-27181 `__: Add geometric_mean and " -"harmonic_mean to statistics module." -msgstr "" - -#: ../../../build/NEWS:22276 -msgid "" -"`bpo-27573 `__: code.interact now prints " -"an message when exiting." -msgstr "" - -#: ../../../build/NEWS:22278 -msgid "" -"`bpo-6422 `__: Add autorange method to " -"timeit.Timer objects." -msgstr "" - -#: ../../../build/NEWS:22280 ../../../build/NEWS:25099 -msgid "" -"`bpo-27773 `__: Correct some memory " -"management errors server_hostname in _ssl.wrap_socket()." -msgstr "" - -#: ../../../build/NEWS:22283 -msgid "" -"`bpo-26750 `__: unittest.mock." -"create_autospec() now works properly for subclasses of property() and other " -"data descriptors. Removes the never publicly used, never documented " -"unittest.mock.DescriptorTypes tuple." -msgstr "" - -#: ../../../build/NEWS:22287 -msgid "" -"`bpo-26754 `__: Undocumented support of " -"general bytes-like objects as path in compile() and similar functions is now " -"deprecated." -msgstr "" - -#: ../../../build/NEWS:22290 -msgid "" -"`bpo-26800 `__: Undocumented support of " -"general bytes-like objects as paths in os functions is now deprecated." -msgstr "" - -#: ../../../build/NEWS:22293 -msgid "" -"`bpo-26981 `__: Add _order_ " -"compatibility shim to enum.Enum for Python 2/3 code bases." -msgstr "" - -#: ../../../build/NEWS:22296 -msgid "" -"`bpo-27661 `__: Added tzinfo keyword " -"argument to datetime.combine." -msgstr "" - -#: ../../../build/NEWS:22298 ../../../build/NEWS:25105 -msgid "" -"In the curses module, raise an error if window.getstr() or window.instr() is " -"passed a negative value." -msgstr "" - -#: ../../../build/NEWS:22301 ../../../build/NEWS:25108 -msgid "" -"`bpo-27783 `__: Fix possible usage of " -"uninitialized memory in operator.methodcaller." -msgstr "" - -#: ../../../build/NEWS:22304 ../../../build/NEWS:25111 -msgid "" -"`bpo-27774 `__: Fix possible Py_DECREF " -"on unowned object in _sre." -msgstr "" - -#: ../../../build/NEWS:22306 ../../../build/NEWS:25113 -msgid "" -"`bpo-27760 `__: Fix possible integer " -"overflow in binascii.b2a_qp." -msgstr "" - -#: ../../../build/NEWS:22308 ../../../build/NEWS:25115 -msgid "" -"`bpo-27758 `__: Fix possible integer " -"overflow in the _csv module for large record lengths." -msgstr "" - -#: ../../../build/NEWS:22311 ../../../build/NEWS:25118 -msgid "" -"`bpo-27568 `__: Prevent HTTPoxy attack " -"(CVE-2016-1000110). Ignore the HTTP_PROXY variable when REQUEST_METHOD " -"environment is set, which indicates that the script is in CGI mode." -msgstr "" - -#: ../../../build/NEWS:22315 -msgid "" -"`bpo-7063 `__: Remove dead code from the " -"\"array\" module's slice handling. Patch by Chuck." -msgstr "" - -#: ../../../build/NEWS:22318 ../../../build/NEWS:25122 -msgid "" -"`bpo-27656 `__: Do not assume sched.h " -"defines any SCHED_* constants." -msgstr "" - -#: ../../../build/NEWS:22320 ../../../build/NEWS:25124 -msgid "" -"`bpo-27130 `__: In the \"zlib\" module, " -"fix handling of large buffers (typically 4 GiB) when compressing and " -"decompressing. Previously, inputs were limited to 4 GiB, and compression " -"and decompression operations did not properly handle results of 4 GiB." -msgstr "" - -#: ../../../build/NEWS:22325 -msgid "" -"`bpo-24773 `__: Implemented :pep:`495` " -"(Local Time Disambiguation)." -msgstr "" - -#: ../../../build/NEWS:22327 -msgid "" -"Expose the EPOLLEXCLUSIVE constant (when it is defined) in the select module." -msgstr "" - -#: ../../../build/NEWS:22330 -msgid "" -"`bpo-27567 `__: Expose the EPOLLRDHUP " -"and POLLRDHUP constants in the select module." -msgstr "" - -#: ../../../build/NEWS:22333 -msgid "" -"`bpo-1621 `__: Avoid signed int negation " -"overflow in the \"audioop\" module." -msgstr "" - -#: ../../../build/NEWS:22335 ../../../build/NEWS:25129 -msgid "" -"`bpo-27533 `__: Release GIL in nt._isdir" -msgstr "" - -#: ../../../build/NEWS:22337 ../../../build/NEWS:25131 -msgid "" -"`bpo-17711 `__: Fixed unpickling by the " -"persistent ID with protocol 0. Original patch by Alexandre Vassalotti." -msgstr "" - -#: ../../../build/NEWS:22340 ../../../build/NEWS:25134 -msgid "" -"`bpo-27522 `__: Avoid an unintentional " -"reference cycle in email.feedparser." -msgstr "" - -#: ../../../build/NEWS:22342 -msgid "" -"`bpo-27512 `__: Fix a segfault when os." -"fspath() called an __fspath__() method that raised an exception. Patch by " -"Xiang Zhang." -msgstr "" - -#: ../../../build/NEWS:22348 ../../../build/NEWS:25285 -msgid "" -"`bpo-27714 `__: text_textview and " -"test_autocomplete now pass when re-run in the same process. This occurs " -"when test_idle fails when run with the -w option but without -jn. Fix " -"warning from test_config." -msgstr "" - -#: ../../../build/NEWS:22352 -msgid "" -"`bpo-27621 `__: Put query response " -"validation error messages in the query box itself instead of in a separate " -"messagebox. Redo tests to match. Add Mac OSX refinements. Original patch by " -"Mark Roseman." -msgstr "" - -#: ../../../build/NEWS:22356 -msgid "" -"`bpo-27620 `__: Escape key now closes " -"Query box as cancelled." -msgstr "" - -#: ../../../build/NEWS:22358 -msgid "" -"`bpo-27609 `__: IDLE: tab after initial " -"whitespace should tab, not autocomplete. This fixes problem with writing " -"docstrings at least twice indented." -msgstr "" - -#: ../../../build/NEWS:22362 -msgid "" -"`bpo-27609 `__: Explicitly return None " -"when there are also non-None returns. In a few cases, reverse a condition " -"and eliminate a return." -msgstr "" - -#: ../../../build/NEWS:22365 ../../../build/NEWS:25289 -msgid "" -"`bpo-25507 `__: IDLE no longer runs " -"buggy code because of its tkinter imports. Users must include the same " -"imports required to run directly in Python." -msgstr "" - -#: ../../../build/NEWS:22368 ../../../build/NEWS:22561 -msgid "" -"`bpo-27173 `__: Add 'IDLE Modern Unix' " -"to the built-in key sets. Make the default key set depend on the platform. " -"Add tests for the changes to the config module." -msgstr "" - -#: ../../../build/NEWS:22372 ../../../build/NEWS:22568 -#: ../../../build/NEWS:25292 -msgid "" -"`bpo-27452 `__: add line counter and crc " -"to IDLE configHandler test dump." -msgstr "" - -#: ../../../build/NEWS:22377 -msgid "" -"`bpo-25805 `__: Skip a test in " -"test_pkgutil as needed that doesn't work when ``__name__ == __main__``. " -"Patch by SilentGhost." -msgstr "" - -#: ../../../build/NEWS:22380 -msgid "" -"`bpo-27472 `__: Add test.support." -"unix_shell as the path to the default shell." -msgstr "" - -#: ../../../build/NEWS:22382 ../../../build/NEWS:25330 -msgid "" -"`bpo-27369 `__: In test_pyexpat, avoid " -"testing an error message detail that changed in Expat 2.2.0." -msgstr "" - -#: ../../../build/NEWS:22385 -msgid "" -"`bpo-27594 `__: Prevent assertion error " -"when running test_ast with coverage enabled: ensure code object has a valid " -"first line number. Patch suggested by Ivan Levkivskyi." -msgstr "" - -#: ../../../build/NEWS:22392 -msgid "" -"`bpo-27647 `__: Update bundled Tcl/Tk to " -"8.6.6." -msgstr "" - -#: ../../../build/NEWS:22394 -msgid "" -"`bpo-27610 `__: Adds :pep:`514` metadata " -"to Windows installer" -msgstr "" - -#: ../../../build/NEWS:22396 ../../../build/NEWS:25355 -msgid "" -"`bpo-27469 `__: Adds a shell extension " -"to the launcher so that drag and drop works correctly." -msgstr "" - -#: ../../../build/NEWS:22399 -msgid "" -"`bpo-27309 `__: Enables proper Windows " -"styles in python[w].exe manifest." -msgstr "" - -#: ../../../build/NEWS:22404 ../../../build/NEWS:25400 -msgid "" -"`bpo-27713 `__: Suppress spurious build " -"warnings when updating importlib's bootstrap files. Patch by Xiang Zhang" -msgstr "" - -#: ../../../build/NEWS:22407 -msgid "" -"`bpo-25825 `__: Correct the references " -"to Modules/python.exp, which is required on AIX. The references were " -"accidentally changed in 3.5.0a1." -msgstr "" - -#: ../../../build/NEWS:22410 ../../../build/NEWS:25408 -msgid "" -"`bpo-27453 `__: CPP invocation in " -"configure must use CPPFLAGS. Patch by Chi Hsuan Yen." -msgstr "" - -#: ../../../build/NEWS:22413 ../../../build/NEWS:25411 -msgid "" -"`bpo-27641 `__: The configure script now " -"inserts comments into the makefile to prevent the pgen and _freeze_importlib " -"executables from being cross-compiled." -msgstr "" - -#: ../../../build/NEWS:22417 ../../../build/NEWS:25415 -msgid "" -"`bpo-26662 `__: Set PYTHON_FOR_GEN in " -"configure as the Python program to be used for file generation during the " -"build." -msgstr "" - -#: ../../../build/NEWS:22420 ../../../build/NEWS:25418 -msgid "" -"`bpo-10910 `__: Avoid C++ compilation " -"errors on FreeBSD and OS X. Also update FreedBSD version checks for the " -"original ctype UTF-8 workaround." -msgstr "" - -#: ../../../build/NEWS:22425 -msgid "Python 3.6.0 alpha 3" -msgstr "" - -#: ../../../build/NEWS:22427 -msgid "*Release date: 2016-07-11*" -msgstr "" - -#: ../../../build/NEWS:22432 ../../../build/NEWS:24856 -msgid "" -"`bpo-27473 `__: Fixed possible integer " -"overflow in bytes and bytearray concatenations. Patch by Xiang Zhang." -msgstr "" - -#: ../../../build/NEWS:22435 -msgid "" -"`bpo-23034 `__: 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." -msgstr "" - -#: ../../../build/NEWS:22440 ../../../build/NEWS:24865 -msgid "" -"`bpo-27443 `__: __length_hint__() of " -"bytearray iterators no longer return a negative integer for a resized " -"bytearray." -msgstr "" - -#: ../../../build/NEWS:22443 -msgid "" -"`bpo-27007 `__: The fromhex() class " -"methods of bytes and bytearray subclasses now return an instance of " -"corresponding subclass." -msgstr "" - -#: ../../../build/NEWS:22449 ../../../build/NEWS:25136 -msgid "" -"`bpo-26844 `__: Fix error message for " -"imp.find_module() to refer to 'path' instead of 'name'. Patch by Lev Maximov." -msgstr "" - -#: ../../../build/NEWS:22452 ../../../build/NEWS:25139 -msgid "" -"`bpo-23804 `__: Fix SSL zero-length " -"recv() calls to not block and not raise an error about unclean EOF." -msgstr "" - -#: ../../../build/NEWS:22455 ../../../build/NEWS:25142 -msgid "" -"`bpo-27466 `__: Change time format " -"returned by http.cookie.time2netscape, confirming the netscape cookie format " -"and making it consistent with documentation." -msgstr "" - -#: ../../../build/NEWS:22459 -msgid "" -"`bpo-21708 `__: Deprecated dbm.dumb " -"behavior that differs from common dbm behavior: creating a database in 'r' " -"and 'w' modes and modifying a database in 'r' mode." -msgstr "" - -#: ../../../build/NEWS:22463 -msgid "" -"`bpo-26721 `__: Change the socketserver." -"StreamRequestHandler.wfile attribute to implement BufferedIOBase. In " -"particular, the write() method no longer does partial writes." -msgstr "" - -#: ../../../build/NEWS:22467 -msgid "" -"`bpo-22115 `__: Added methods trace_add, " -"trace_remove and trace_info in the tkinter.Variable class. They replace old " -"methods trace_variable, trace, trace_vdelete and trace_vinfo that use " -"obsolete Tcl commands and might not work in future versions of Tcl. Fixed " -"old tracing methods: trace_vdelete() with wrong mode no longer break " -"tracing, trace_vinfo() now always returns a list of pairs of strings, " -"tracing in the \"u\" mode now works." -msgstr "" - -#: ../../../build/NEWS:22475 -msgid "" -"`bpo-26243 `__: Only the level argument " -"to zlib.compress() is keyword argument now. The first argument is " -"positional-only." -msgstr "" - -#: ../../../build/NEWS:22478 -msgid "" -"`bpo-27038 `__: Expose the DirEntry type " -"as os.DirEntry. Code patch by Jelle Zijlstra." -msgstr "" - -#: ../../../build/NEWS:22481 -msgid "" -"`bpo-27186 `__: Update os.fspath()/" -"PyOS_FSPath() to check the return value of __fspath__() to be either str or " -"bytes." -msgstr "" - -#: ../../../build/NEWS:22484 -msgid "" -"`bpo-18726 `__: All optional parameters " -"of the dump(), dumps(), load() and loads() functions and JSONEncoder and " -"JSONDecoder class constructors in the json module are now keyword-only." -msgstr "" - -#: ../../../build/NEWS:22488 -msgid "" -"`bpo-27319 `__: Methods selection_set(), " -"selection_add(), selection_remove() and selection_toggle() of ttk.TreeView " -"now allow passing multiple items as multiple arguments instead of passing " -"them as a tuple. Deprecated undocumented ability of calling the selection() " -"method with arguments." -msgstr "" - -#: ../../../build/NEWS:22493 ../../../build/NEWS:25156 -msgid "" -"`bpo-27079 `__: Fixed curses.ascii " -"functions isblank(), iscntrl() and ispunct()." -msgstr "" - -#: ../../../build/NEWS:22496 -msgid "" -"`bpo-27294 `__: Numerical state in the " -"repr for Tkinter event objects is now represented as a combination of known " -"flags." -msgstr "" - -#: ../../../build/NEWS:22499 -msgid "" -"`bpo-27177 `__: Match objects in the re " -"module now support index-like objects as group indices. Based on patches by " -"Jeroen Demeyer and Xiang Zhang." -msgstr "" - -#: ../../../build/NEWS:22502 ../../../build/NEWS:25159 -msgid "" -"`bpo-26754 `__: Some functions " -"(compile() etc) accepted a filename argument encoded as an iterable of " -"integers. Now only strings and byte-like objects are accepted." -msgstr "" - -#: ../../../build/NEWS:22506 -msgid "" -"`bpo-26536 `__: socket.ioctl now " -"supports SIO_LOOPBACK_FAST_PATH. Patch by Daniel Stokes." -msgstr "" - -#: ../../../build/NEWS:22509 ../../../build/NEWS:25163 -msgid "" -"`bpo-27048 `__: Prevents distutils " -"failing on Windows when environment variables contain non-ASCII characters" -msgstr "" - -#: ../../../build/NEWS:22512 ../../../build/NEWS:25166 -msgid "" -"`bpo-27330 `__: Fixed possible leaks in " -"the ctypes module." -msgstr "" - -#: ../../../build/NEWS:22514 ../../../build/NEWS:25168 -msgid "" -"`bpo-27238 `__: Got rid of bare excepts " -"in the turtle module. Original patch by Jelle Zijlstra." -msgstr "" - -#: ../../../build/NEWS:22517 ../../../build/NEWS:25171 -msgid "" -"`bpo-27122 `__: When an exception is " -"raised within the context being managed by a contextlib.ExitStack() and one " -"of the exit stack generators catches and raises it in a chain, do not re-" -"raise the original exception when exiting, let the new chained one through. " -"This avoids the :pep:`479` bug described in issue25782." -msgstr "" - -#: ../../../build/NEWS:22526 ../../../build/NEWS:25180 -msgid "" -"`bpo-27278 `__: Fix os.urandom() " -"implementation using getrandom() on Linux. Truncate size to INT_MAX and loop " -"until we collected enough random bytes, instead of casting a directly " -"Py_ssize_t to int." -msgstr "" - -#: ../../../build/NEWS:22533 -msgid "" -"`bpo-16864 `__: sqlite3.Cursor.lastrowid " -"now supports REPLACE statement. Initial patch by Alex LordThorsen." -msgstr "" - -#: ../../../build/NEWS:22536 ../../../build/NEWS:25187 -msgid "" -"`bpo-26386 `__: Fixed ttk.TreeView " -"selection operations with item id's containing spaces." -msgstr "" - -#: ../../../build/NEWS:22539 -msgid "" -"`bpo-8637 `__: Honor a pager set by the " -"env var MANPAGER (in preference to one set by the env var PAGER)." -msgstr "" - -#: ../../../build/NEWS:22545 ../../../build/NEWS:25193 -msgid "" -"`bpo-22636 `__: Avoid shell injection " -"problems with ctypes.util.find_library()." -msgstr "" - -#: ../../../build/NEWS:22550 ../../../build/NEWS:25198 -msgid "" -"`bpo-16182 `__: Fix various functions in " -"the \"readline\" module to use the locale encoding, and fix get_begidx() and " -"get_endidx() to return code point indexes." -msgstr "" - -#: ../../../build/NEWS:22554 ../../../build/NEWS:25202 -msgid "" -"`bpo-27392 `__: Add loop." -"connect_accepted_socket(). Patch by Jim Fulton." -msgstr "" - -#: ../../../build/NEWS:22559 -msgid "" -"`bpo-27477 `__: IDLE search dialogs now " -"use ttk widgets." -msgstr "" - -#: ../../../build/NEWS:22565 -msgid "" -"`bpo-27452 `__: make command line \"idle-" -"test> python test_help.py\" work. __file__ is relative when python is " -"started in the file's directory." -msgstr "" - -#: ../../../build/NEWS:22570 -msgid "" -"`bpo-27380 `__: IDLE: add query.py with " -"base Query dialog and ttk widgets. Module had subclasses SectionName, " -"ModuleName, and HelpSource, which are used to get information from users by " -"configdialog and file =>Load Module. Each subclass has itw own validity " -"checks. Using ModuleName allows users to edit bad module names instead of " -"starting over. Add tests and delete the two files combined into the new one." -msgstr "" - -#: ../../../build/NEWS:22577 -msgid "" -"`bpo-27372 `__: Test_idle no longer " -"changes the locale." -msgstr "" - -#: ../../../build/NEWS:22579 ../../../build/NEWS:25294 -msgid "" -"`bpo-27365 `__: Allow non-ascii chars in " -"IDLE NEWS.txt, for contributor names." -msgstr "" - -#: ../../../build/NEWS:22581 ../../../build/NEWS:25296 -msgid "" -"`bpo-27245 `__: IDLE: Cleanly delete " -"custom themes and key bindings. Previously, when IDLE was started from a " -"console or by import, a cascade of warnings was emitted. Patch by Serhiy " -"Storchaka." -msgstr "" - -#: ../../../build/NEWS:22585 -msgid "" -"`bpo-24137 `__: Run IDLE, test_idle, and " -"htest with tkinter default root disabled. Fix code and tests that fail with " -"this restriction. Fix htests to not create a second and redundant root and " -"mainloop." -msgstr "" - -#: ../../../build/NEWS:22589 -msgid "" -"`bpo-27310 `__: Fix IDLE.app failure to " -"launch on OS X due to vestigial import." -msgstr "" - -#: ../../../build/NEWS:22594 -msgid "" -"`bpo-26754 `__: PyUnicode_FSDecoder() " -"accepted a filename argument encoded as an iterable of integers. Now only " -"strings and byte-like objects are accepted." -msgstr "" - -#: ../../../build/NEWS:22601 ../../../build/NEWS:25381 -msgid "" -"`bpo-28066 `__: Fix the logic that " -"searches build directories for generated include files when building outside " -"the source tree." -msgstr "" - -#: ../../../build/NEWS:22604 -msgid "" -"`bpo-27442 `__: Expose the Android API " -"level that python was built against, in sysconfig.get_config_vars() as " -"'ANDROID_API_LEVEL'." -msgstr "" - -#: ../../../build/NEWS:22607 -msgid "" -"`bpo-27434 `__: The interpreter that " -"runs the cross-build, found in PATH, must now be of the same feature version " -"(e.g. 3.6) as the source being built." -msgstr "" - -#: ../../../build/NEWS:22610 ../../../build/NEWS:25433 -msgid "" -"`bpo-26930 `__: Update Windows builds to " -"use OpenSSL 1.0.2h." -msgstr "" - -#: ../../../build/NEWS:22612 -msgid "" -"`bpo-23968 `__: Rename the platform " -"directory from plat-$(MACHDEP) to plat-$(PLATFORM_TRIPLET). Rename the " -"config directory (LIBPL) from config-$(LDVERSION) to config-$(LDVERSION)-" -"$(PLATFORM_TRIPLET). Install the platform specific _sysconfigdata module " -"into the platform directory and rename it to include the ABIFLAGS." -msgstr "" - -#: ../../../build/NEWS:22618 -msgid "Don't use largefile support for GNU/Hurd." -msgstr "" - -#: ../../../build/NEWS:22623 ../../../build/NEWS:25340 -msgid "" -"`bpo-27332 `__: Fixed the type of the " -"first argument of module-level functions generated by Argument Clinic. " -"Patch by Petr Viktorin." -msgstr "" - -#: ../../../build/NEWS:22626 ../../../build/NEWS:25343 -msgid "" -"`bpo-27418 `__: Fixed Tools/importbench/" -"importbench.py." -msgstr "" - -#: ../../../build/NEWS:22631 ../../../build/NEWS:26062 -msgid "" -"`bpo-19489 `__: Moved the search box " -"from the sidebar to the header and footer of each page. Patch by Ammar Askar." -msgstr "" - -#: ../../../build/NEWS:22634 -msgid "" -"`bpo-27285 `__: Update documentation to " -"reflect the deprecation of ``pyvenv`` and normalize on the term \"virtual " -"environment\". Patch by Steve Piercy." -msgstr "" - -#: ../../../build/NEWS:22640 -msgid "" -"`bpo-27027 `__: Added test.support." -"is_android that is True when this is an Android build." -msgstr "" - -#: ../../../build/NEWS:22645 -msgid "Python 3.6.0 alpha 2" -msgstr "" - -#: ../../../build/NEWS:22647 -msgid "*Release date: 2016-06-13*" -msgstr "" - -#: ../../../build/NEWS:22652 -msgid "" -"`bpo-27095 `__: Simplified MAKE_FUNCTION " -"and removed MAKE_CLOSURE opcodes. Patch by Demur Rumed." -msgstr "" - -#: ../../../build/NEWS:22655 -msgid "" -"`bpo-27190 `__: Raise NotSupportedError " -"if sqlite3 is older than 3.3.1. Patch by Dave Sawyer." -msgstr "" - -#: ../../../build/NEWS:22658 -msgid "" -"`bpo-27286 `__: Fixed compiling " -"BUILD_MAP_UNPACK_WITH_CALL opcode. Calling function with generalized " -"unpacking (PEP 448) and conflicting keyword names could cause undefined " -"behavior." -msgstr "" - -#: ../../../build/NEWS:22662 -msgid "" -"`bpo-27140 `__: Added " -"BUILD_CONST_KEY_MAP opcode." -msgstr "" - -#: ../../../build/NEWS:22664 -msgid "" -"`bpo-27186 `__: Add support for os." -"PathLike objects to open() (part of :pep:`519`)." -msgstr "" - -#: ../../../build/NEWS:22667 ../../../build/NEWS:25454 -msgid "" -"`bpo-27066 `__: Fixed SystemError if a " -"custom opener (for open()) returns a negative number without setting an " -"exception." -msgstr "" - -#: ../../../build/NEWS:22670 -msgid "" -"`bpo-26983 `__: float() now always " -"return an instance of exact float. The deprecation warning is emitted if " -"__float__ returns an instance of a strict subclass of float. In a future " -"versions of Python this can be an error." -msgstr "" - -#: ../../../build/NEWS:22675 -msgid "" -"`bpo-27097 `__: Python interpreter is " -"now about 7% faster due to optimized instruction decoding. Based on patch " -"by Demur Rumed." -msgstr "" - -#: ../../../build/NEWS:22678 -msgid "" -"`bpo-26647 `__: Python interpreter now " -"uses 16-bit wordcode instead of bytecode. Patch by Demur Rumed." -msgstr "" - -#: ../../../build/NEWS:22681 -msgid "" -"`bpo-23275 `__: Allow assigning to an " -"empty target list in round brackets: () = iterable." -msgstr "" - -#: ../../../build/NEWS:22684 ../../../build/NEWS:25576 -msgid "" -"`bpo-27243 `__: Update the __aiter__ " -"protocol: instead of returning an awaitable that resolves to an asynchronous " -"iterator, the asynchronous iterator should be returned directly. Doing the " -"former will trigger a PendingDeprecationWarning." -msgstr "" - -#: ../../../build/NEWS:22692 -msgid "" -"Comment out socket (SO_REUSEPORT) and posix (O_SHLOCK, O_EXLOCK) constants " -"exposed on the API which are not implemented on GNU/Hurd. They would not " -"work at runtime anyway." -msgstr "" - -#: ../../../build/NEWS:22696 -msgid "" -"`bpo-27025 `__: Generated names for " -"Tkinter widgets are now more meaningful and recognizable." -msgstr "" - -#: ../../../build/NEWS:22699 -msgid "" -"`bpo-25455 `__: Fixed crashes in repr of " -"recursive ElementTree.Element and functools.partial objects." -msgstr "" - -#: ../../../build/NEWS:22702 -msgid "" -"`bpo-27294 `__: Improved repr for " -"Tkinter event objects." -msgstr "" - -#: ../../../build/NEWS:22704 -msgid "" -"`bpo-20508 `__: Improve exception " -"message of IPv{4,6}Network.__getitem__. Patch by Gareth Rees." -msgstr "" - -#: ../../../build/NEWS:22710 ../../../build/NEWS:25584 -msgid "" -"`bpo-26556 `__: Update expat to 2.1.1, " -"fixes CVE-2015-1283." -msgstr "" - -#: ../../../build/NEWS:22712 -msgid "" -"Fix TLS stripping vulnerability in smtplib, CVE-2016-0772. Reported by Team " -"Oststrom." -msgstr "" - -#: ../../../build/NEWS:22718 ../../../build/NEWS:25592 -msgid "" -"`bpo-21386 `__: Implement missing " -"IPv4Address.is_global property. It was documented since 07a5610bae9d. " -"Initial patch by Roger Luethi." -msgstr "" - -#: ../../../build/NEWS:22721 -msgid "" -"`bpo-27029 `__: Removed deprecated " -"support of universal newlines mode from ZipFile.open()." -msgstr "" - -#: ../../../build/NEWS:22724 -msgid "" -"`bpo-27030 `__: Unknown escapes " -"consisting of ``'\\'`` and an ASCII letter in regular expressions now are " -"errors. The re.LOCALE flag now can be used only with bytes patterns." -msgstr "" - -#: ../../../build/NEWS:22728 -msgid "" -"`bpo-27186 `__: Add os.PathLike support " -"to DirEntry (part of :pep:`519`). Initial patch by Jelle Zijlstra." -msgstr "" - -#: ../../../build/NEWS:22731 ../../../build/NEWS:25595 -msgid "" -"`bpo-20900 `__: distutils register " -"command now decodes HTTP responses correctly. Initial patch by ingrid." -msgstr "" - -#: ../../../build/NEWS:22734 -msgid "" -"`bpo-27186 `__: Add os.PathLike support " -"to pathlib, removing its provisional status (part of PEP 519). Initial patch " -"by Dusty Phillips." -msgstr "" - -#: ../../../build/NEWS:22737 -msgid "" -"`bpo-27186 `__: Add support for os." -"PathLike objects to os.fsencode() and os.fsdecode() (part of :pep:`519`)." -msgstr "" - -#: ../../../build/NEWS:22740 -msgid "" -"`bpo-27186 `__: Introduce os.PathLike " -"and os.fspath() (part of :pep:`519`)." -msgstr "" - -#: ../../../build/NEWS:22742 ../../../build/NEWS:25598 -msgid "" -"A new version of typing.py provides several new classes and features: " -"@overload outside stubs, Reversible, DefaultDict, Text, ContextManager, " -"Type[], NewType(), TYPE_CHECKING, and numerous bug fixes (note that some of " -"the new features are not yet implemented in mypy or other static analyzers). " -"Also classes for :pep:`492` (Awaitable, AsyncIterable, AsyncIterator) have " -"been added (in fact they made it into 3.5.1 but were never mentioned)." -msgstr "" - -#: ../../../build/NEWS:22750 ../../../build/NEWS:25606 -msgid "" -"`bpo-25738 `__: Stop http.server." -"BaseHTTPRequestHandler.send_error() from sending a message body for 205 " -"Reset Content. Also, don't send Content header fields in responses that " -"don't have a body. Patch by Susumu Koshiba." -msgstr "" - -#: ../../../build/NEWS:22755 ../../../build/NEWS:25611 -msgid "" -"`bpo-21313 `__: Fix the \"platform\" " -"module to tolerate when sys.version contains truncated build information." -msgstr "" - -#: ../../../build/NEWS:22761 ../../../build/NEWS:25617 -msgid "" -"`bpo-26839 `__: On Linux, :func:`os." -"urandom` now calls ``getrandom()`` with ``GRND_NONBLOCK`` to fall back on " -"reading ``/dev/urandom`` if the urandom entropy pool is not initialized yet. " -"Patch written by Colm Buckley." -msgstr "" - -#: ../../../build/NEWS:22768 -msgid "" -"`bpo-23883 `__: Added missing APIs to " -"__all__ to match the documented APIs for the following modules: cgi, " -"mailbox, mimetypes, plistlib and smtpd. Patches by Jacek Kołodziej." -msgstr "" - -#: ../../../build/NEWS:22772 ../../../build/NEWS:25624 -msgid "" -"`bpo-27164 `__: In the zlib module, " -"allow decompressing raw Deflate streams with a predefined zdict. Based on " -"patch by Xiang Zhang." -msgstr "" - -#: ../../../build/NEWS:22775 ../../../build/NEWS:25627 -msgid "" -"`bpo-24291 `__: Fix wsgiref." -"simple_server.WSGIRequestHandler to completely write data to the client. " -"Previously it could do partial writes and truncate data. Also, wsgiref." -"handler.ServerHandler can now handle stdout doing partial writes, but this " -"is deprecated." -msgstr "" - -#: ../../../build/NEWS:22780 -msgid "" -"`bpo-21272 `__: Use _sysconfigdata.py to " -"initialize distutils.sysconfig." -msgstr "" - -#: ../../../build/NEWS:22782 -msgid "" -"`bpo-19611 `__: :mod:`inspect` now " -"reports the implicit ``.0`` parameters generated by the compiler for " -"comprehension and generator expression scopes as if they were positional-" -"only parameters called ``implicit0``. Patch by Jelle Zijlstra." -msgstr "" - -#: ../../../build/NEWS:22787 ../../../build/NEWS:25632 -msgid "" -"`bpo-26809 `__: Add ``__all__`` to :mod:" -"`string`. Patch by Emanuel Barry." -msgstr "" - -#: ../../../build/NEWS:22789 ../../../build/NEWS:25634 -msgid "" -"`bpo-26373 `__: subprocess.Popen." -"communicate now correctly ignores BrokenPipeError when the child process " -"dies before .communicate() is called in more/all circumstances." -msgstr "" - -#: ../../../build/NEWS:22793 -msgid "" -"signal, socket, and ssl module IntEnum constant name lookups now return a " -"consistent name for values having multiple names. Ex: signal.Signals(6) now " -"refers to itself as signal.SIGALRM rather than flipping between that and " -"signal.SIGIOT based on the interpreter's hash randomization seed." -msgstr "" - -#: ../../../build/NEWS:22798 -msgid "" -"`bpo-27167 `__: Clarify the subprocess." -"CalledProcessError error message text when the child process died due to a " -"signal." -msgstr "" - -#: ../../../build/NEWS:22801 -msgid "" -"`bpo-25931 `__: Don't define " -"socketserver.Forking* names on platforms such as Windows that do not support " -"os.fork()." -msgstr "" - -#: ../../../build/NEWS:22804 ../../../build/NEWS:25638 -msgid "" -"`bpo-21776 `__: distutils.upload now " -"correctly handles HTTPError. Initial patch by Claudiu Popa." -msgstr "" - -#: ../../../build/NEWS:22807 -msgid "" -"`bpo-26526 `__: Replace custom parse " -"tree validation in the parser module with a simple DFA validator." -msgstr "" - -#: ../../../build/NEWS:22810 ../../../build/NEWS:25641 -msgid "" -"`bpo-27114 `__: Fix SSLContext." -"_load_windows_store_certs fails with PermissionError" -msgstr "" - -#: ../../../build/NEWS:22813 ../../../build/NEWS:25644 -msgid "" -"`bpo-18383 `__: Avoid creating duplicate " -"filters when using filterwarnings and simplefilter. Based on patch by Alex " -"Shkop." -msgstr "" - -#: ../../../build/NEWS:22816 -msgid "" -"`bpo-23026 `__: winreg.QueryValueEx() " -"now return an integer for REG_QWORD type." -msgstr "" - -#: ../../../build/NEWS:22818 -msgid "" -"`bpo-26741 `__: subprocess.Popen " -"destructor now emits a ResourceWarning warning if the child process is still " -"running." -msgstr "" - -#: ../../../build/NEWS:22821 -msgid "" -"`bpo-27056 `__: Optimize pickle.load() " -"and pickle.loads(), up to 10% faster to deserialize a lot of small objects." -msgstr "" - -#: ../../../build/NEWS:22824 -msgid "" -"`bpo-21271 `__: New keyword only " -"parameters in reset_mock call." -msgstr "" - -#: ../../../build/NEWS:22829 ../../../build/NEWS:26009 -msgid "" -"`bpo-5124 `__: Paste with text selected " -"now replaces the selection on X11. This matches how paste works on Windows, " -"Mac, most modern Linux apps, and ttk widgets. Original patch by Serhiy " -"Storchaka." -msgstr "" - -#: ../../../build/NEWS:22833 -msgid "" -"`bpo-24750 `__: Switch all scrollbars in " -"IDLE to ttk versions. Where needed, minimal tests are added to cover changes." -msgstr "" - -#: ../../../build/NEWS:22836 -msgid "" -"`bpo-24759 `__: IDLE requires tk 8.5 and " -"availability ttk widgets. Delete now unneeded tk version tests and code for " -"older versions. Add test for IDLE syntax colorizer." -msgstr "" - -#: ../../../build/NEWS:22840 -msgid "" -"`bpo-27239 `__: idlelib.macosx.isXyzTk " -"functions initialize as needed." -msgstr "" - -#: ../../../build/NEWS:22842 -msgid "" -"`bpo-27262 `__: move Aqua unbinding " -"code, which enable context menus, to macosx." -msgstr "" - -#: ../../../build/NEWS:22845 ../../../build/NEWS:26013 -msgid "" -"`bpo-24759 `__: Make clear in idlelib." -"idle_test.__init__ that the directory is a private implementation of test." -"test_idle and tool for maintainers." -msgstr "" - -#: ../../../build/NEWS:22848 ../../../build/NEWS:26016 -msgid "" -"`bpo-27196 `__: Stop 'ThemeChanged' " -"warnings when running IDLE tests. These persisted after other warnings were " -"suppressed in #20567. Apply Serhiy Storchaka's update_idletasks solution to " -"four test files. Record this additional advice in idle_test/README.txt" -msgstr "" - -#: ../../../build/NEWS:22853 ../../../build/NEWS:26021 -msgid "" -"`bpo-20567 `__: Revise idle_test/README." -"txt with advice about avoiding tk warning messages from tests. Apply advice " -"to several IDLE tests." -msgstr "" - -#: ../../../build/NEWS:22856 -msgid "" -"`bpo-24225 `__: Update idlelib/README." -"txt with new file names and event handlers." -msgstr "" - -#: ../../../build/NEWS:22859 -msgid "" -"`bpo-27156 `__: Remove obsolete code not " -"used by IDLE." -msgstr "" - -#: ../../../build/NEWS:22861 ../../../build/NEWS:26024 -msgid "" -"`bpo-27117 `__: Make colorizer htest and " -"turtledemo work with dark themes. Move code for configuring text widget " -"colors to a new function." -msgstr "" - -#: ../../../build/NEWS:22864 -msgid "" -"`bpo-24225 `__: Rename many `idlelib/*." -"py` and `idle_test/test_*.py` files. Edit files to replace old names with " -"new names when the old name referred to the module rather than the class it " -"contained. See the issue and IDLE section in What's New in 3.6 for more." -msgstr "" - -#: ../../../build/NEWS:22869 ../../../build/NEWS:26027 -msgid "" -"`bpo-26673 `__: When tk reports font " -"size as 0, change to size 10. Such fonts on Linux prevented the " -"configuration dialog from opening." -msgstr "" - -#: ../../../build/NEWS:22872 ../../../build/NEWS:26030 -msgid "" -"`bpo-21939 `__: Add test for IDLE's " -"percolator. Original patch by Saimadhav Heblikar." -msgstr "" - -#: ../../../build/NEWS:22875 ../../../build/NEWS:26033 -msgid "" -"`bpo-21676 `__: Add test for IDLE's " -"replace dialog. Original patch by Saimadhav Heblikar." -msgstr "" - -#: ../../../build/NEWS:22878 ../../../build/NEWS:26036 -msgid "" -"`bpo-18410 `__: Add test for IDLE's " -"search dialog. Original patch by Westley Martínez." -msgstr "" - -#: ../../../build/NEWS:22881 -msgid "" -"`bpo-21703 `__: Add test for undo " -"delegator. Patch mostly by Saimadhav Heblikar ." -msgstr "" - -#: ../../../build/NEWS:22884 ../../../build/NEWS:26042 -msgid "" -"`bpo-27044 `__: Add ConfigDialog." -"remove_var_callbacks to stop memory leaks." -msgstr "" - -#: ../../../build/NEWS:22886 ../../../build/NEWS:26044 -msgid "" -"`bpo-23977 `__: Add more asserts to " -"test_delegator." -msgstr "" - -#: ../../../build/NEWS:22891 -msgid "" -"`bpo-16484 `__: Change the default " -"PYTHONDOCS URL to \"https:\", and fix the resulting links to use lowercase. " -"Patch by Sean Rodman, test by Kaushik Nadikuditi." -msgstr "" - -#: ../../../build/NEWS:22895 ../../../build/NEWS:26065 -msgid "" -"`bpo-24136 `__: Document the new :pep:" -"`448` unpacking syntax of 3.5." -msgstr "" - -#: ../../../build/NEWS:22897 ../../../build/NEWS:26626 -msgid "" -"`bpo-22558 `__: Add remaining doc links " -"to source code for Python-coded modules. Patch by Yoni Lavi." -msgstr "" - -#: ../../../build/NEWS:22903 -msgid "" -"`bpo-25285 `__: regrtest now uses " -"subprocesses when the -j1 command line option is used: each test file runs " -"in a fresh child process. Before, the -j1 option was ignored." -msgstr "" - -#: ../../../build/NEWS:22907 -msgid "" -"`bpo-25285 `__: Tools/buildbot/test.bat " -"script now uses -j1 by default to run each test file in fresh child process." -msgstr "" - -#: ../../../build/NEWS:22913 -msgid "" -"`bpo-27064 `__: The py.exe launcher now " -"defaults to Python 3. The Windows launcher ``py.exe`` no longer prefers an " -"installed Python 2 version over Python 3 by default when used interactively." -msgstr "" - -#: ../../../build/NEWS:22920 ../../../build/NEWS:26116 -msgid "" -"`bpo-27229 `__: Fix the cross-compiling " -"pgen rule for in-tree builds. Patch by Xavier de Gaye." -msgstr "" - -#: ../../../build/NEWS:22923 ../../../build/NEWS:26153 -msgid "" -"`bpo-26930 `__: Update OS X 10.5+ 32-bit-" -"only installer to build and link with OpenSSL 1.0.2h." -msgstr "" - -#: ../../../build/NEWS:22929 ../../../build/NEWS:26199 -msgid "" -"`bpo-17500 `__: Remove unused and " -"outdated icons. (See also: https://github.com/python/pythondotorg/issues/945)" -msgstr "" - -#: ../../../build/NEWS:22935 -msgid "" -"`bpo-27186 `__: Add the PyOS_FSPath() " -"function (part of :pep:`519`)." -msgstr "" - -#: ../../../build/NEWS:22937 -msgid "" -"`bpo-26282 `__: " -"PyArg_ParseTupleAndKeywords() now supports positional-only parameters." -msgstr "" - -#: ../../../build/NEWS:22943 -msgid "" -"`bpo-26282 `__: Argument Clinic now " -"supports positional-only and keyword parameters in the same function." -msgstr "" - -#: ../../../build/NEWS:22948 -msgid "Python 3.6.0 alpha 1" -msgstr "" - -#: ../../../build/NEWS:22950 -msgid "*Release date: 2016-05-16*" -msgstr "" - -#: ../../../build/NEWS:22955 ../../../build/NEWS:25457 -msgid "" -"`bpo-20041 `__: Fixed TypeError when " -"frame.f_trace is set to None. Patch by Xavier de Gaye." -msgstr "" - -#: ../../../build/NEWS:22958 ../../../build/NEWS:25460 -msgid "" -"`bpo-26168 `__: Fixed possible refleaks " -"in failing Py_BuildValue() with the \"N\" format unit." -msgstr "" - -#: ../../../build/NEWS:22961 ../../../build/NEWS:25463 -msgid "" -"`bpo-26991 `__: Fix possible refleak " -"when creating a function with annotations." -msgstr "" - -#: ../../../build/NEWS:22963 -msgid "" -"`bpo-27039 `__: Fixed bytearray.remove() " -"for values greater than 127. Based on patch by Joe Jevnik." -msgstr "" - -#: ../../../build/NEWS:22966 ../../../build/NEWS:25468 -msgid "" -"`bpo-23640 `__: int.from_bytes() no " -"longer bypasses constructors for subclasses." -msgstr "" - -#: ../../../build/NEWS:22969 -msgid "" -"`bpo-27005 `__: Optimized the float." -"fromhex() class method for exact float. It is now 2 times faster." -msgstr "" - -#: ../../../build/NEWS:22972 -msgid "" -"`bpo-18531 `__: Single var-keyword " -"argument of dict subtype was passed unscathed to the C-defined function. " -"Now it is converted to exact dict." -msgstr "" - -#: ../../../build/NEWS:22975 ../../../build/NEWS:25471 -msgid "" -"`bpo-26811 `__: gc.get_objects() no " -"longer contains a broken tuple with NULL pointer." -msgstr "" - -#: ../../../build/NEWS:22978 ../../../build/NEWS:25474 -msgid "" -"`bpo-20120 `__: Use RawConfigParser for ." -"pypirc parsing, removing support for interpolation unintentionally added " -"with move to Python 3. Behavior no longer does any interpolation in .pypirc " -"files, matching behavior in Python 2.7 and Setuptools 19.0." -msgstr "" - -#: ../../../build/NEWS:22983 -msgid "" -"`bpo-26249 `__: Memory functions of the :" -"c:func:`PyMem_Malloc` domain (:c:data:`PYMEM_DOMAIN_MEM`) now use the :ref:" -"`pymalloc allocator ` rather than system :c:func:`malloc`. " -"Applications calling :c:func:`PyMem_Malloc` without holding the GIL can now " -"crash: use ``PYTHONMALLOC=debug`` environment variable to validate the usage " -"of memory allocators in your application." -msgstr "" - -#: ../../../build/NEWS:22990 -msgid "" -"`bpo-26802 `__: Optimize function calls " -"only using unpacking like ``func(*tuple)`` (no other positional argument, no " -"keyword): avoid copying the tuple. Patch written by Joe Jevnik." -msgstr "" - -#: ../../../build/NEWS:22994 ../../../build/NEWS:25479 -msgid "" -"`bpo-26659 `__: Make the builtin slice " -"type support cycle collection." -msgstr "" - -#: ../../../build/NEWS:22996 ../../../build/NEWS:25481 -msgid "" -"`bpo-26718 `__: super.__init__ no longer " -"leaks memory if called multiple times. NOTE: A direct call of super.__init__ " -"is not endorsed!" -msgstr "" - -#: ../../../build/NEWS:22999 ../../../build/NEWS:25511 -msgid "" -"`bpo-27138 `__: Fix the doc comment for " -"FileFinder.find_spec()." -msgstr "" - -#: ../../../build/NEWS:23001 ../../../build/NEWS:25555 -msgid "" -"`bpo-27147 `__: Mention :pep:`420` in " -"the importlib docs." -msgstr "" - -#: ../../../build/NEWS:23003 ../../../build/NEWS:25484 -msgid "" -"`bpo-25339 `__: PYTHONIOENCODING now has " -"priority over locale in setting the error handler for stdin and stdout." -msgstr "" - -#: ../../../build/NEWS:23006 ../../../build/NEWS:25487 -msgid "" -"`bpo-26494 `__: Fixed crash on iterating " -"exhausting iterators. Affected classes are generic sequence iterators, " -"iterators of str, bytes, bytearray, list, tuple, set, frozenset, dict, " -"OrderedDict, corresponding views and os.scandir() iterator." -msgstr "" - -#: ../../../build/NEWS:23011 -msgid "" -"`bpo-26574 `__: Optimize ``bytes." -"replace(b'', b'.')`` and ``bytearray.replace(b'', b'.')``. Patch written by " -"Josh Snider." -msgstr "" - -#: ../../../build/NEWS:23014 ../../../build/NEWS:25492 -msgid "" -"`bpo-26581 `__: If coding cookie is " -"specified multiple times on a line in Python source code file, only the " -"first one is taken to account." -msgstr "" - -#: ../../../build/NEWS:23017 -msgid "" -"`bpo-19711 `__: Add tests for reloading " -"namespace packages." -msgstr "" - -#: ../../../build/NEWS:23019 -msgid "" -"`bpo-21099 `__: Switch applicable " -"importlib tests to use :pep:`451` API." -msgstr "" - -#: ../../../build/NEWS:23021 -msgid "" -"`bpo-26563 `__: Debug hooks on Python " -"memory allocators now raise a fatal error if functions of the :c:func:" -"`PyMem_Malloc` family are called without holding the GIL." -msgstr "" - -#: ../../../build/NEWS:23025 -msgid "" -"`bpo-26564 `__: 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 "" - -#: ../../../build/NEWS:23029 -msgid "" -"`bpo-26558 `__: The debug hooks on " -"Python memory allocator :c:func:`PyObject_Malloc` now detect when functions " -"are called without holding the GIL." -msgstr "" - -#: ../../../build/NEWS:23033 -msgid "" -"`bpo-26516 `__: Add :envvar:" -"`PYTHONMALLOC` environment variable to set the Python memory allocators and/" -"or install debug hooks." -msgstr "" - -#: ../../../build/NEWS:23036 -msgid "" -"`bpo-26516 `__: The :c:func:" -"`PyMem_SetupDebugHooks` function can now also be used on Python compiled in " -"release mode." -msgstr "" - -#: ../../../build/NEWS:23039 -msgid "" -"`bpo-26516 `__: The :envvar:" -"`PYTHONMALLOCSTATS` environment variable can now also be used on Python " -"compiled in release mode. It now has no effect if set to an empty string." -msgstr "" - -#: ../../../build/NEWS:23043 -msgid "" -"`bpo-26516 `__: In debug mode, debug " -"hooks are now also installed on Python memory allocators when Python is " -"configured without pymalloc." -msgstr "" - -#: ../../../build/NEWS:23046 ../../../build/NEWS:25495 -msgid "" -"`bpo-26464 `__: Fix str.translate() when " -"string is ASCII and first replacements removes character, but next " -"replacement uses a non-ASCII character or a string longer than 1 character. " -"Regression introduced in Python 3.5.0." -msgstr "" - -#: ../../../build/NEWS:23050 ../../../build/NEWS:25499 -msgid "" -"`bpo-22836 `__: Ensure exception reports " -"from PyErr_Display() and PyErr_WriteUnraisable() are sensible even when " -"formatting them produces secondary errors. This affects the reports " -"produced by sys.__excepthook__() and when __del__() raises an exception." -msgstr "" - -#: ../../../build/NEWS:23055 ../../../build/NEWS:25504 -msgid "" -"`bpo-26302 `__: Correct behavior to " -"reject comma as a legal character for cookie names." -msgstr "" - -#: ../../../build/NEWS:23058 -msgid "" -"`bpo-26136 `__: Upgrade the warning when " -"a generator raises StopIteration from PendingDeprecationWarning to " -"DeprecationWarning. Patch by Anish Shah." -msgstr "" - -#: ../../../build/NEWS:23061 -msgid "" -"`bpo-26204 `__: The compiler now ignores " -"all constant statements: bytes, str, int, float, complex, name constants " -"(None, False, True), Ellipsis and ast.Constant; not only str and int. For " -"example, ``1.0`` is now ignored in ``def f(): 1.0``." -msgstr "" - -#: ../../../build/NEWS:23066 ../../../build/NEWS:25507 -msgid "" -"`bpo-4806 `__: Avoid masking the original " -"TypeError exception when using star (``*``) unpacking in function calls. " -"Based on patch by Hagen Fürstenau and Daniel Urban." -msgstr "" - -#: ../../../build/NEWS:23070 -msgid "" -"`bpo-26146 `__: Add a new kind of AST " -"node: ``ast.Constant``. It can be used by external AST optimizers, but the " -"compiler does not emit directly such node." -msgstr "" - -#: ../../../build/NEWS:23074 -msgid "" -"`bpo-23601 `__: Sped-up allocation of " -"dict key objects by using Python's small object allocator. (Contributed by " -"Julian Taylor.)" -msgstr "" - -#: ../../../build/NEWS:23077 -msgid "" -"`bpo-18018 `__: Import raises " -"ImportError instead of SystemError if a relative import is attempted without " -"a known parent package." -msgstr "" - -#: ../../../build/NEWS:23080 -msgid "" -"`bpo-25843 `__: When compiling code, " -"don't merge constants if they are equal but have a different types. For " -"example, ``f1, f2 = lambda: 1, lambda: 1.0`` is now correctly compiled to " -"two different functions: ``f1()`` returns ``1`` (``int``) and ``f2()`` " -"returns ``1.0`` (``float``), even if ``1`` and ``1.0`` are equal." -msgstr "" - -#: ../../../build/NEWS:23086 -msgid "" -"`bpo-26107 `__: The format of the " -"``co_lnotab`` attribute of code objects changes to support negative line " -"number delta." -msgstr "" - -#: ../../../build/NEWS:23089 ../../../build/NEWS:25513 -msgid "" -"`bpo-26154 `__: Add a new private " -"_PyThreadState_UncheckedGet() function to get the current Python thread " -"state, but don't issue a fatal error if it is NULL. This new function must " -"be used instead of accessing directly the _PyThreadState_Current variable. " -"The variable is no more exposed since Python 3.5.1 to hide the exact " -"implementation of atomic C types, to avoid compiler issues." -msgstr "" - -#: ../../../build/NEWS:23096 -msgid "" -"`bpo-25791 `__: If __package__ != " -"__spec__.parent or if neither __package__ or __spec__ are defined then " -"ImportWarning is raised." -msgstr "" - -#: ../../../build/NEWS:23099 ../../../build/NEWS:25530 -msgid "" -"`bpo-22995 `__: [UPDATE] Comment out the " -"one of the pickleability tests in _PyObject_GetState() due to regressions " -"observed in Cython-based projects." -msgstr "" - -#: ../../../build/NEWS:23102 ../../../build/NEWS:25533 -msgid "" -"`bpo-25961 `__: Disallowed null " -"characters in the type name." -msgstr "" - -#: ../../../build/NEWS:23104 ../../../build/NEWS:25535 -msgid "" -"`bpo-25973 `__: Fix segfault when an " -"invalid nonlocal statement binds a name starting with two underscores." -msgstr "" - -#: ../../../build/NEWS:23107 ../../../build/NEWS:25538 -msgid "" -"`bpo-22995 `__: Instances of extension " -"types with a state that aren't subclasses of list or dict and haven't " -"implemented any pickle-related methods (__reduce__, __reduce_ex__, " -"__getnewargs__, __getnewargs_ex__, or __getstate__), can no longer be " -"pickled. Including memoryview." -msgstr "" - -#: ../../../build/NEWS:23112 ../../../build/NEWS:25543 -msgid "" -"`bpo-20440 `__: Massive replacing unsafe " -"attribute setting code with special macro Py_SETREF." -msgstr "" - -#: ../../../build/NEWS:23115 ../../../build/NEWS:25546 -msgid "" -"`bpo-25766 `__: Special method " -"__bytes__() now works in str subclasses." -msgstr "" - -#: ../../../build/NEWS:23117 ../../../build/NEWS:25548 -msgid "" -"`bpo-25421 `__: __sizeof__ methods of " -"builtin types now use dynamic basic size. This allows sys.getsize() to work " -"correctly with their subclasses with __slots__ defined." -msgstr "" - -#: ../../../build/NEWS:23121 ../../../build/NEWS:25552 -#: ../../../build/NEWS:26211 -msgid "" -"`bpo-25709 `__: Fixed problem with in-" -"place string concatenation and utf-8 cache." -msgstr "" - -#: ../../../build/NEWS:23124 -msgid "" -"`bpo-5319 `__: New Py_FinalizeEx() API " -"allowing Python to set an exit status of 120 on failure to flush buffered " -"streams." -msgstr "" - -#: ../../../build/NEWS:23127 -msgid "" -"`bpo-25485 `__: telnetlib.Telnet is now " -"a context manager." -msgstr "" - -#: ../../../build/NEWS:23129 ../../../build/NEWS:25557 -msgid "" -"`bpo-24097 `__: Fixed crash in object." -"__reduce__() if slot name is freed inside __getattr__." -msgstr "" - -#: ../../../build/NEWS:23132 ../../../build/NEWS:25560 -msgid "" -"`bpo-24731 `__: Fixed crash on " -"converting objects with special methods __bytes__, __trunc__, and __float__ " -"returning instances of subclasses of bytes, int, and float to subclasses of " -"bytes, int, and float correspondingly." -msgstr "" - -#: ../../../build/NEWS:23137 ../../../build/NEWS:26229 -msgid "" -"`bpo-25630 `__: Fix a possible segfault " -"during argument parsing in functions that accept filesystem paths." -msgstr "" - -#: ../../../build/NEWS:23140 ../../../build/NEWS:26232 -msgid "" -"`bpo-23564 `__: Fixed a partially broken " -"sanity check in the _posixsubprocess internals regarding how fds_to_pass " -"were passed to the child. The bug had no actual impact as subprocess.py " -"already avoided it." -msgstr "" - -#: ../../../build/NEWS:23144 ../../../build/NEWS:26236 -msgid "" -"`bpo-25388 `__: Fixed tokenizer crash " -"when processing undecodable source code with a null byte." -msgstr "" - -#: ../../../build/NEWS:23147 ../../../build/NEWS:26239 -msgid "" -"`bpo-25462 `__: The hash of the key now " -"is calculated only once in most operations in C implementation of " -"OrderedDict." -msgstr "" - -#: ../../../build/NEWS:23150 ../../../build/NEWS:26242 -msgid "" -"`bpo-22995 `__: Default implementation " -"of __reduce__ and __reduce_ex__ now rejects builtin types with not defined " -"__new__." -msgstr "" - -#: ../../../build/NEWS:23153 ../../../build/NEWS:26248 -msgid "" -"`bpo-24802 `__: Avoid buffer overreads " -"when int(), float(), compile(), exec() and eval() are passed bytes-like " -"objects. These objects are not necessarily terminated by a null byte, but " -"the functions assumed they were." -msgstr "" - -#: ../../../build/NEWS:23158 ../../../build/NEWS:26245 -msgid "" -"`bpo-25555 `__: Fix parser and AST: fill " -"lineno and col_offset of \"arg\" node when compiling AST from Python objects." -msgstr "" - -#: ../../../build/NEWS:23161 ../../../build/NEWS:26253 -msgid "" -"`bpo-24726 `__: Fixed a crash and " -"leaking NULL in repr() of OrderedDict that was mutated by direct calls of " -"dict methods." -msgstr "" - -#: ../../../build/NEWS:23164 ../../../build/NEWS:26256 -msgid "" -"`bpo-25449 `__: Iterating OrderedDict " -"with keys with unstable hash now raises KeyError in C implementations as " -"well as in Python implementation." -msgstr "" - -#: ../../../build/NEWS:23167 ../../../build/NEWS:26259 -msgid "" -"`bpo-25395 `__: Fixed crash when highly " -"nested OrderedDict structures were garbage collected." -msgstr "" - -#: ../../../build/NEWS:23170 -msgid "" -"`bpo-25401 `__: Optimize bytes.fromhex() " -"and bytearray.fromhex(): they are now between 2x and 3.5x faster." -msgstr "" - -#: ../../../build/NEWS:23173 -msgid "" -"`bpo-25399 `__: Optimize bytearray % " -"args using the new private _PyBytesWriter API. Formatting is now between 2.5 " -"and 5 times faster." -msgstr "" - -#: ../../../build/NEWS:23176 ../../../build/NEWS:26262 -msgid "" -"`bpo-25274 `__: sys.setrecursionlimit() " -"now raises a RecursionError if the new recursion limit is too low depending " -"at the current recursion depth. Modify also the \"lower-water mark\" formula " -"to make it monotonic. This mark is used to decide when the overflowed flag " -"of the thread state is reset." -msgstr "" - -#: ../../../build/NEWS:23181 ../../../build/NEWS:26267 -msgid "" -"`bpo-24402 `__: Fix input() to prompt to " -"the redirected stdout when sys.stdout.fileno() fails." -msgstr "" - -#: ../../../build/NEWS:23184 -msgid "" -"`bpo-25349 `__: Optimize bytes % args " -"using the new private _PyBytesWriter API. Formatting is now up to 2 times " -"faster." -msgstr "" - -#: ../../../build/NEWS:23187 ../../../build/NEWS:26270 -msgid "" -"`bpo-24806 `__: Prevent builtin types " -"that are not allowed to be subclassed from being subclassed through multiple " -"inheritance." -msgstr "" - -#: ../../../build/NEWS:23190 -msgid "" -"`bpo-25301 `__: The UTF-8 decoder is now " -"up to 15 times as fast for error handlers: ``ignore``, ``replace`` and " -"``surrogateescape``." -msgstr "" - -#: ../../../build/NEWS:23193 ../../../build/NEWS:26273 -msgid "" -"`bpo-24848 `__: Fixed a number of bugs " -"in UTF-7 decoding of misformed data." -msgstr "" - -#: ../../../build/NEWS:23195 -msgid "" -"`bpo-25267 `__: The UTF-8 encoder is now " -"up to 75 times as fast for error handlers: ``ignore``, ``replace``, " -"``surrogateescape``, ``surrogatepass``. Patch co-written with Serhiy " -"Storchaka." -msgstr "" - -#: ../../../build/NEWS:23199 ../../../build/NEWS:26275 -msgid "" -"`bpo-25280 `__: Import trace messages " -"emitted in verbose (-v) mode are no longer formatted twice." -msgstr "" - -#: ../../../build/NEWS:23202 -msgid "" -"`bpo-25227 `__: Optimize ASCII and " -"latin1 encoders with the ``surrogateescape`` error handler: the encoders are " -"now up to 3 times as fast. Initial patch written by Serhiy Storchaka." -msgstr "" - -#: ../../../build/NEWS:23206 ../../../build/NEWS:26278 -msgid "" -"`bpo-25003 `__: On Solaris 11.3 or " -"newer, os.urandom() now uses the getrandom() function instead of the " -"getentropy() function. The getentropy() function is blocking to generate " -"very good quality entropy, os.urandom() doesn't need such high-quality " -"entropy." -msgstr "" - -#: ../../../build/NEWS:23211 -msgid "" -"`bpo-9232 `__: Modify Python's grammar to " -"allow trailing commas in the argument list of a function declaration. For " -"example, \"def f(\\*, a = 3,): pass\" is now legal. Patch from Mark " -"Dickinson." -msgstr "" - -#: ../../../build/NEWS:23215 -msgid "" -"`bpo-24965 `__: Implement :pep:`498` " -"\"Literal String Interpolation\". This allows you to embed expressions " -"inside f-strings, which are converted to normal strings at run time. Given " -"x=3, then f'value={x}' == 'value=3'. Patch by Eric V. Smith." -msgstr "" - -#: ../../../build/NEWS:23220 ../../../build/NEWS:25565 -msgid "" -"`bpo-26478 `__: Fix semantic bugs when " -"using binary operators with dictionary views and tuples." -msgstr "" - -#: ../../../build/NEWS:23223 ../../../build/NEWS:25568 -msgid "" -"`bpo-26171 `__: Fix possible integer " -"overflow and heap corruption in zipimporter.get_data()." -msgstr "" - -#: ../../../build/NEWS:23226 ../../../build/NEWS:25571 -msgid "" -"`bpo-25660 `__: Fix TAB key behaviour in " -"REPL with readline." -msgstr "" - -#: ../../../build/NEWS:23228 -msgid "" -"`bpo-26288 `__: Optimize PyLong_AsDouble." -msgstr "" - -#: ../../../build/NEWS:23230 -msgid "" -"`bpo-26289 `__: Optimize floor and " -"modulo division for single-digit longs. Microbenchmarks show 2-2.5x " -"improvement. Built-in 'divmod' function is now also ~10% faster. (See also: " -"`bpo-26315 `__)" -msgstr "" - -#: ../../../build/NEWS:23234 ../../../build/NEWS:25573 -msgid "" -"`bpo-25887 `__: Raise a RuntimeError " -"when a coroutine object is awaited more than once." -msgstr "" - -#: ../../../build/NEWS:23240 ../../../build/NEWS:25647 -msgid "" -"`bpo-27057 `__: Fix os.set_inheritable() " -"on Android, ioctl() is blocked by SELinux and fails with EACCESS. The " -"function now falls back to fcntl(). Patch written by Michał Bednarski." -msgstr "" - -#: ../../../build/NEWS:23244 ../../../build/NEWS:25651 -msgid "" -"`bpo-27014 `__: Fix infinite recursion " -"using typing.py. Thanks to Kalle Tuure!" -msgstr "" - -#: ../../../build/NEWS:23246 -msgid "" -"`bpo-27031 `__: Removed dummy methods in " -"Tkinter widget classes: tk_menuBar() and tk_bindForTraversal()." -msgstr "" - -#: ../../../build/NEWS:23249 ../../../build/NEWS:25653 -msgid "" -"`bpo-14132 `__: Fix urllib.request " -"redirect handling when the target only has a query string. Original fix by " -"Ján Janech." -msgstr "" - -#: ../../../build/NEWS:23252 ../../../build/NEWS:25656 -msgid "" -"`bpo-17214 `__: The \"urllib.request\" " -"module now percent-encodes non-ASCII bytes found in redirect target URLs. " -"Some servers send Location header fields with non-ASCII bytes, but \"http." -"client\" requires the request target to be ASCII-encodable, otherwise a " -"UnicodeEncodeError is raised. Based on patch by Christian Heimes." -msgstr "" - -#: ../../../build/NEWS:23258 -msgid "" -"`bpo-27033 `__: The default value of the " -"decode_data parameter for smtpd.SMTPChannel and smtpd.SMTPServer " -"constructors is changed to False." -msgstr "" - -#: ../../../build/NEWS:23261 -msgid "" -"`bpo-27034 `__: Removed deprecated class " -"asynchat.fifo." -msgstr "" - -#: ../../../build/NEWS:23263 -msgid "" -"`bpo-26870 `__: Added readline." -"set_auto_history(), which can stop entries being automatically added to the " -"history list. Based on patch by Tyler Crompton." -msgstr "" - -#: ../../../build/NEWS:23267 -msgid "" -"`bpo-26039 `__: zipfile.ZipFile.open() " -"can now be used to write data into a ZIP file, as well as for extracting " -"data. Patch by Thomas Kluyver." -msgstr "" - -#: ../../../build/NEWS:23270 ../../../build/NEWS:25662 -msgid "" -"`bpo-26892 `__: Honor debuglevel flag in " -"urllib.request.HTTPHandler. Patch contributed by Chi Hsuan Yen." -msgstr "" - -#: ../../../build/NEWS:23273 ../../../build/NEWS:25665 -msgid "" -"`bpo-22274 `__: In the subprocess " -"module, allow stderr to be redirected to stdout even when stdout is not " -"redirected. Patch by Akira Li." -msgstr "" - -#: ../../../build/NEWS:23276 ../../../build/NEWS:25668 -msgid "" -"`bpo-26807 `__: mock_open 'files' no " -"longer error on readline at end of file. Patch from Yolanda Robla." -msgstr "" - -#: ../../../build/NEWS:23279 ../../../build/NEWS:25671 -msgid "" -"`bpo-25745 `__: Fixed leaking a userptr " -"in curses panel destructor." -msgstr "" - -#: ../../../build/NEWS:23281 ../../../build/NEWS:25673 -msgid "" -"`bpo-26977 `__: Removed unnecessary, and " -"ignored, call to sum of squares helper in statistics.pvariance." -msgstr "" - -#: ../../../build/NEWS:23284 -msgid "" -"`bpo-26002 `__: Use bisect in statistics." -"median instead of a linear search. Patch by Upendra Kuma." -msgstr "" - -#: ../../../build/NEWS:23287 -msgid "" -"`bpo-25974 `__: Make use of new Decimal." -"as_integer_ratio() method in statistics module. Patch by Stefan Krah." -msgstr "" - -#: ../../../build/NEWS:23290 -msgid "" -"`bpo-26996 `__: Add secrets module as " -"described in :pep:`506`." -msgstr "" - -#: ../../../build/NEWS:23292 ../../../build/NEWS:25676 -msgid "" -"`bpo-26881 `__: The modulefinder module " -"now supports extended opcode arguments." -msgstr "" - -#: ../../../build/NEWS:23294 ../../../build/NEWS:25678 -msgid "" -"`bpo-23815 `__: Fixed crashes related to " -"directly created instances of types in _tkinter and curses.panel modules." -msgstr "" - -#: ../../../build/NEWS:23297 ../../../build/NEWS:25681 -msgid "" -"`bpo-17765 `__: weakref.ref() no longer " -"silently ignores keyword arguments. Patch by Georg Brandl." -msgstr "" - -#: ../../../build/NEWS:23300 ../../../build/NEWS:25684 -msgid "" -"`bpo-26873 `__: xmlrpc now raises " -"ResponseError on unsupported type tags instead of silently return incorrect " -"result." -msgstr "" - -#: ../../../build/NEWS:23303 -msgid "" -"`bpo-26915 `__: The __contains__ methods " -"in the collections ABCs now check for identity before checking equality. " -"This better matches the behavior of the concrete classes, allows sensible " -"handling of NaNs, and makes it easier to reason about container invariants." -msgstr "" - -#: ../../../build/NEWS:23308 ../../../build/NEWS:25687 -msgid "" -"`bpo-26711 `__: Fixed the comparison of " -"plistlib.Data with other types." -msgstr "" - -#: ../../../build/NEWS:23310 ../../../build/NEWS:25689 -msgid "" -"`bpo-24114 `__: Fix an uninitialized " -"variable in `ctypes.util`. The bug only occurs on SunOS when the ctypes " -"implementation searches for the `crle` program. Patch by Xiang Zhang. " -"Tested on SunOS by Kees Bos." -msgstr "" - -#: ../../../build/NEWS:23314 ../../../build/NEWS:25693 -msgid "" -"`bpo-26864 `__: In urllib.request, " -"change the proxy bypass host checking against no_proxy to be case-" -"insensitive, and to not match unrelated host names that happen to have a " -"bypassed hostname as a suffix. Patch by Xiang Zhang." -msgstr "" - -#: ../../../build/NEWS:23319 -msgid "" -"`bpo-24902 `__: Print server URL on http." -"server startup. Initial patch by Felix Kaiser." -msgstr "" - -#: ../../../build/NEWS:23322 -msgid "" -"`bpo-25788 `__: fileinput.hook_encoded() " -"now supports an \"errors\" argument for passing to open. Original patch by " -"Joseph Hackman." -msgstr "" - -#: ../../../build/NEWS:23325 ../../../build/NEWS:25698 -msgid "" -"`bpo-26634 `__: recursive_repr() now " -"sets __qualname__ of wrapper. Patch by Xiang Zhang." -msgstr "" - -#: ../../../build/NEWS:23328 ../../../build/NEWS:25701 -msgid "" -"`bpo-26804 `__: urllib.request will " -"prefer lower_case proxy environment variables over UPPER_CASE or Mixed_Case " -"ones. Patch contributed by Hans-Peter Jansen." -msgstr "" - -#: ../../../build/NEWS:23332 ../../../build/NEWS:25705 -msgid "" -"`bpo-26837 `__: assertSequenceEqual() " -"now correctly outputs non-stringified differing items (like bytes in the -b " -"mode). This affects assertListEqual() and assertTupleEqual()." -msgstr "" - -#: ../../../build/NEWS:23336 ../../../build/NEWS:25709 -msgid "" -"`bpo-26041 `__: Remove \"will be removed " -"in Python 3.7\" from deprecation messages of platform.dist() and platform." -"linux_distribution(). Patch by Kumaripaba Miyurusara Athukorala." -msgstr "" - -#: ../../../build/NEWS:23340 ../../../build/NEWS:25713 -msgid "" -"`bpo-26822 `__: itemgetter, attrgetter " -"and methodcaller objects no longer silently ignore keyword arguments." -msgstr "" - -#: ../../../build/NEWS:23343 ../../../build/NEWS:25716 -msgid "" -"`bpo-26733 `__: Disassembling a class " -"now disassembles class and static methods. Patch by Xiang Zhang." -msgstr "" - -#: ../../../build/NEWS:23346 ../../../build/NEWS:25719 -msgid "" -"`bpo-26801 `__: Fix error handling in :" -"func:`shutil.get_terminal_size`, catch :exc:`AttributeError` instead of :exc:" -"`NameError`. Patch written by Emanuel Barry." -msgstr "" - -#: ../../../build/NEWS:23350 ../../../build/NEWS:25723 -msgid "" -"`bpo-24838 `__: tarfile's ustar and gnu " -"formats now correctly calculate name and link field limits for multibyte " -"character encodings like utf-8." -msgstr "" - -#: ../../../build/NEWS:23356 ../../../build/NEWS:25729 -msgid "" -"`bpo-26657 `__: Fix directory traversal " -"vulnerability with http.server on Windows. This fixes a regression that was " -"introduced in 3.3.4rc1 and 3.4.0rc1. Based on patch by Philipp Hagemeister." -msgstr "" - -#: ../../../build/NEWS:23363 ../../../build/NEWS:25736 -msgid "" -"`bpo-26717 `__: Stop encoding Latin-1-" -"ized WSGI paths with UTF-8. Patch by Anthony Sottile." -msgstr "" - -#: ../../../build/NEWS:23366 -msgid "" -"`bpo-26782 `__: Add STARTUPINFO to " -"subprocess.__all__ on Windows." -msgstr "" - -#: ../../../build/NEWS:23368 -msgid "" -"`bpo-26404 `__: Add context manager to " -"socketserver. Patch by Aviv Palivoda." -msgstr "" - -#: ../../../build/NEWS:23370 ../../../build/NEWS:25739 -msgid "" -"`bpo-26735 `__: Fix :func:`os.urandom` " -"on Solaris 11.3 and newer when reading more than 1,024 bytes: call " -"``getrandom()`` multiple times with a limit of 1024 bytes per call." -msgstr "" - -#: ../../../build/NEWS:23374 -msgid "" -"`bpo-26585 `__: Eliminate http.server." -"_quote_html() and use html.escape(quote=False). Patch by Xiang Zhang." -msgstr "" - -#: ../../../build/NEWS:23377 -msgid "" -"`bpo-26685 `__: Raise OSError if closing " -"a socket fails." -msgstr "" - -#: ../../../build/NEWS:23379 ../../../build/NEWS:25743 -msgid "" -"`bpo-16329 `__: Add .webm to mimetypes." -"types_map. Patch by Giampaolo Rodola'." -msgstr "" - -#: ../../../build/NEWS:23381 ../../../build/NEWS:25745 -msgid "" -"`bpo-13952 `__: Add .csv to mimetypes." -"types_map. Patch by Geoff Wilson." -msgstr "" - -#: ../../../build/NEWS:23383 -msgid "" -"`bpo-26587 `__: the site module now " -"allows .pth files to specify files to be added to sys.path (e.g. zip files)." -msgstr "" - -#: ../../../build/NEWS:23386 -msgid "" -"`bpo-25609 `__: Introduce contextlib." -"AbstractContextManager and typing.ContextManager." -msgstr "" - -#: ../../../build/NEWS:23389 ../../../build/NEWS:25747 -msgid "" -"`bpo-26709 `__: Fixed Y2038 problem in " -"loading binary PLists." -msgstr "" - -#: ../../../build/NEWS:23391 ../../../build/NEWS:25749 -msgid "" -"`bpo-23735 `__: Handle terminal resizing " -"with Readline 6.3+ by installing our own SIGWINCH handler. Patch by Eric " -"Price." -msgstr "" - -#: ../../../build/NEWS:23394 -msgid "" -"`bpo-25951 `__: Change SSLSocket." -"sendall() to return None, as explicitly documented for plain socket " -"objects. Patch by Aviv Palivoda." -msgstr "" - -#: ../../../build/NEWS:23397 ../../../build/NEWS:25752 -msgid "" -"`bpo-26586 `__: In http.server, respond " -"with \"413 Request header fields too large\" if there are too many header " -"fields to parse, rather than killing the connection and raising an unhandled " -"exception. Patch by Xiang Zhang." -msgstr "" - -#: ../../../build/NEWS:23401 -msgid "" -"`bpo-26676 `__: Added missing " -"XMLPullParser to ElementTree.__all__." -msgstr "" - -#: ../../../build/NEWS:23403 ../../../build/NEWS:25756 -msgid "" -"`bpo-22854 `__: Change BufferedReader." -"writable() and BufferedWriter.readable() to always return False." -msgstr "" - -#: ../../../build/NEWS:23406 -msgid "" -"`bpo-26492 `__: Exhausted iterator of " -"array.array now conforms with the behavior of iterators of other mutable " -"sequences: it lefts exhausted even if iterated array is extended." -msgstr "" - -#: ../../../build/NEWS:23410 -msgid "" -"`bpo-26641 `__: doctest.DocFileTest and " -"doctest.testfile() now support packages (module splitted into multiple " -"directories) for the package parameter." -msgstr "" - -#: ../../../build/NEWS:23413 ../../../build/NEWS:25759 -msgid "" -"`bpo-25195 `__: Fix a regression in mock." -"MagicMock. _Call is a subclass of tuple (changeset 3603bae63c13 only works " -"for classes) so we need to implement __ne__ ourselves. Patch by Andrew " -"Plummer." -msgstr "" - -#: ../../../build/NEWS:23417 ../../../build/NEWS:25763 -msgid "" -"`bpo-26644 `__: Raise ValueError rather " -"than SystemError when a negative length is passed to SSLSocket.recv() or " -"read()." -msgstr "" - -#: ../../../build/NEWS:23420 ../../../build/NEWS:25766 -msgid "" -"`bpo-23804 `__: Fix SSL recv(0) and " -"read(0) methods to return zero bytes instead of up to 1024." -msgstr "" - -#: ../../../build/NEWS:23423 ../../../build/NEWS:25769 -msgid "" -"`bpo-26616 `__: Fixed a bug in datetime." -"astimezone() method." -msgstr "" - -#: ../../../build/NEWS:23425 -msgid "" -"`bpo-26637 `__: The :mod:`importlib` " -"module now emits an :exc:`ImportError` rather than a :exc:`TypeError` if :" -"func:`__import__` is tried during the Python shutdown process but :data:`sys." -"path` is already cleared (set to ``None``)." -msgstr "" - -#: ../../../build/NEWS:23430 -msgid "" -"`bpo-21925 `__: :func:`warnings." -"formatwarning` now catches exceptions when calling :func:`linecache.getline` " -"and :func:`tracemalloc.get_object_traceback` to be able to log :exc:" -"`ResourceWarning` emitted late during the Python shutdown process." -msgstr "" - -#: ../../../build/NEWS:23435 -msgid "" -"`bpo-23848 `__: On Windows, faulthandler." -"enable() now also installs an exception handler to dump the traceback of all " -"Python threads on any Windows exception, not only on UNIX signals (SIGSEGV, " -"SIGFPE, SIGABRT)." -msgstr "" - -#: ../../../build/NEWS:23439 -msgid "" -"`bpo-26530 `__: Add C functions :c:func:" -"`_PyTraceMalloc_Track` and :c:func:`_PyTraceMalloc_Untrack` to track memory " -"blocks using the :mod:`tracemalloc` module. Add :c:func:" -"`_PyTraceMalloc_GetTraceback` to get the traceback of an object." -msgstr "" - -#: ../../../build/NEWS:23444 -msgid "" -"`bpo-26588 `__: The _tracemalloc now " -"supports tracing memory allocations of multiple address spaces (domains)." -msgstr "" - -#: ../../../build/NEWS:23447 ../../../build/NEWS:25775 -msgid "" -"`bpo-24266 `__: Ctrl+C during Readline " -"history search now cancels the search mode when compiled with Readline 7." -msgstr "" - -#: ../../../build/NEWS:23450 -msgid "" -"`bpo-26590 `__: Implement a safe " -"finalizer for the _socket.socket type. It now releases the GIL to close the " -"socket." -msgstr "" - -#: ../../../build/NEWS:23453 -msgid "" -"`bpo-18787 `__: spwd.getspnam() now " -"raises a PermissionError if the user doesn't have privileges." -msgstr "" - -#: ../../../build/NEWS:23456 ../../../build/NEWS:25778 -msgid "" -"`bpo-26560 `__: Avoid potential " -"ValueError in BaseHandler.start_response. Initial patch by Peter Inglesby." -msgstr "" - -#: ../../../build/NEWS:23459 -msgid "" -"`bpo-26567 `__: Add a new function :c:" -"func:`PyErr_ResourceWarning` function to pass the destroyed object. Add a " -"*source* attribute to :class:`warnings.WarningMessage`. Add warnings." -"_showwarnmsg() which uses tracemalloc to get the traceback where source " -"object was allocated." -msgstr "" - -#: ../../../build/NEWS:23467 ../../../build/NEWS:25784 -msgid "" -"`bpo-26313 `__: ssl.py " -"_load_windows_store_certs fails if windows cert store is empty. Patch by " -"Baji." -msgstr "" - -#: ../../../build/NEWS:23473 ../../../build/NEWS:25790 -msgid "" -"`bpo-26569 `__: Fix :func:`pyclbr." -"readmodule` and :func:`pyclbr.readmodule_ex` to support importing packages." -msgstr "" - -#: ../../../build/NEWS:23476 ../../../build/NEWS:25793 -msgid "" -"`bpo-26499 `__: Account for remaining " -"Content-Length in HTTPResponse.readline() and read1(). Based on patch by " -"Silent Ghost. Also document that HTTPResponse now supports these methods." -msgstr "" - -#: ../../../build/NEWS:23480 ../../../build/NEWS:25797 -msgid "" -"`bpo-25320 `__: Handle sockets in " -"directories unittest discovery is scanning. Patch from Victor van den Elzen." -msgstr "" - -#: ../../../build/NEWS:23483 ../../../build/NEWS:25800 -msgid "" -"`bpo-16181 `__: cookiejar.http2time() " -"now returns None if year is higher than datetime.MAXYEAR." -msgstr "" - -#: ../../../build/NEWS:23486 ../../../build/NEWS:25803 -msgid "" -"`bpo-26513 `__: Fixes platform module " -"detection of Windows Server" -msgstr "" - -#: ../../../build/NEWS:23488 ../../../build/NEWS:25805 -msgid "" -"`bpo-23718 `__: Fixed parsing time in " -"week 0 before Jan 1. Original patch by Tamás Bence Gedai." -msgstr "" - -#: ../../../build/NEWS:23491 -msgid "" -"`bpo-26323 `__: Add Mock.assert_called() " -"and Mock.assert_called_once() methods to unittest.mock. Patch written by " -"Amit Saha." -msgstr "" - -#: ../../../build/NEWS:23494 ../../../build/NEWS:25808 -msgid "" -"`bpo-20589 `__: Invoking Path.owner() " -"and Path.group() on Windows now raise NotImplementedError instead of " -"ImportError." -msgstr "" - -#: ../../../build/NEWS:23497 ../../../build/NEWS:25811 -msgid "" -"`bpo-26177 `__: Fixed the keys() method " -"for Canvas and Scrollbar widgets." -msgstr "" - -#: ../../../build/NEWS:23499 -msgid "" -"`bpo-15068 `__: Got rid of excessive " -"buffering in fileinput. The bufsize parameter is now deprecated and ignored." -msgstr "" - -#: ../../../build/NEWS:23502 -msgid "" -"`bpo-19475 `__: Added an optional " -"argument timespec to the datetime isoformat() method to choose the precision " -"of the time component." -msgstr "" - -#: ../../../build/NEWS:23505 ../../../build/NEWS:25816 -msgid "" -"`bpo-2202 `__: Fix UnboundLocalError in " -"AbstractDigestAuthHandler.get_algorithm_impls. Initial patch by Mathieu " -"Dupuy." -msgstr "" - -#: ../../../build/NEWS:23509 -msgid "" -"`bpo-26167 `__: Minimized overhead in " -"copy.copy() and copy.deepcopy(). Optimized copying and deepcopying " -"bytearrays, NotImplemented, slices, short lists, tuples, dicts, sets." -msgstr "" - -#: ../../../build/NEWS:23513 ../../../build/NEWS:25820 -msgid "" -"`bpo-25718 `__: Fixed pickling and " -"copying the accumulate() iterator with total is None." -msgstr "" - -#: ../../../build/NEWS:23516 ../../../build/NEWS:25823 -msgid "" -"`bpo-26475 `__: Fixed debugging output " -"for regular expressions with the (?x) flag." -msgstr "" - -#: ../../../build/NEWS:23519 -msgid "" -"`bpo-26482 `__: Allowed pickling " -"recursive dequeues." -msgstr "" - -#: ../../../build/NEWS:23521 -msgid "" -"`bpo-26335 `__: Make mmap.write() return " -"the number of bytes written like other write methods. Patch by Jakub " -"Stasiak." -msgstr "" - -#: ../../../build/NEWS:23524 ../../../build/NEWS:25826 -msgid "" -"`bpo-26457 `__: Fixed the subnets() " -"methods in IP network classes for the case when resulting prefix length is " -"equal to maximal prefix length. Based on patch by Xiang Zhang." -msgstr "" - -#: ../../../build/NEWS:23528 ../../../build/NEWS:25830 -msgid "" -"`bpo-26385 `__: Remove the file if the " -"internal open() call in NamedTemporaryFile() fails. Patch by Silent Ghost." -msgstr "" - -#: ../../../build/NEWS:23531 ../../../build/NEWS:25833 -msgid "" -"`bpo-26402 `__: Fix XML-RPC client to " -"retry when the server shuts down a persistent connection. This was a " -"regression related to the new http.client.RemoteDisconnected exception in " -"3.5.0a4." -msgstr "" - -#: ../../../build/NEWS:23535 ../../../build/NEWS:25837 -msgid "" -"`bpo-25913 `__: Leading ``<~`` is " -"optional now in base64.a85decode() with adobe=True. Patch by Swati Jaiswal." -msgstr "" - -#: ../../../build/NEWS:23538 ../../../build/NEWS:25840 -msgid "" -"`bpo-26186 `__: Remove an invalid type " -"check in importlib.util.LazyLoader." -msgstr "" - -#: ../../../build/NEWS:23540 -msgid "" -"`bpo-26367 `__: importlib.__import__() " -"raises ImportError like builtins.__import__() when ``level`` is specified " -"but without an accompanying package specified." -msgstr "" - -#: ../../../build/NEWS:23544 ../../../build/NEWS:25846 -msgid "" -"`bpo-26309 `__: In the \"socketserver\" " -"module, shut down the request (closing the connected socket) when " -"verify_request() returns false. Patch by Aviv Palivoda." -msgstr "" - -#: ../../../build/NEWS:23548 -msgid "" -"`bpo-23430 `__: Change the socketserver " -"module to only catch exceptions raised from a request handler that are " -"derived from Exception (instead of BaseException). Therefore SystemExit and " -"KeyboardInterrupt no longer trigger the handle_error() method, and will now " -"to stop a single-threaded server." -msgstr "" - -#: ../../../build/NEWS:23557 ../../../build/NEWS:25853 -msgid "" -"`bpo-25939 `__: On Windows open the cert " -"store readonly in ssl.enum_certificates." -msgstr "" - -#: ../../../build/NEWS:23563 ../../../build/NEWS:25859 -msgid "" -"`bpo-25995 `__: os.walk() no longer uses " -"FDs proportional to the tree depth." -msgstr "" - -#: ../../../build/NEWS:23565 -msgid "" -"`bpo-25994 `__: Added the close() method " -"and the support of the context manager protocol for the os.scandir() " -"iterator." -msgstr "" - -#: ../../../build/NEWS:23568 -msgid "" -"`bpo-23992 `__: multiprocessing: make " -"MapResult not fail-fast upon exception." -msgstr "" - -#: ../../../build/NEWS:23570 -msgid "" -"`bpo-26243 `__: Support keyword " -"arguments to zlib.compress(). Patch by Aviv Palivoda." -msgstr "" - -#: ../../../build/NEWS:23573 ../../../build/NEWS:25861 -msgid "" -"`bpo-26117 `__: The os.scandir() " -"iterator now closes file descriptor not only when the iteration is finished, " -"but when it was failed with error." -msgstr "" - -#: ../../../build/NEWS:23576 -msgid "" -"`bpo-25949 `__: __dict__ for an " -"OrderedDict instance is now created only when needed." -msgstr "" - -#: ../../../build/NEWS:23579 ../../../build/NEWS:25864 -msgid "" -"`bpo-25911 `__: Restored support of " -"bytes paths in os.walk() on Windows." -msgstr "" - -#: ../../../build/NEWS:23581 ../../../build/NEWS:25866 -msgid "" -"`bpo-26045 `__: Add UTF-8 suggestion to " -"error message when posting a non-Latin-1 string with http.client." -msgstr "" - -#: ../../../build/NEWS:23584 -msgid "" -"`bpo-26039 `__: Added zipfile.ZipInfo." -"from_file() and zipinfo.ZipInfo.is_dir(). Patch by Thomas Kluyver." -msgstr "" - -#: ../../../build/NEWS:23587 ../../../build/NEWS:25869 -msgid "" -"`bpo-12923 `__: Reset FancyURLopener's " -"redirect counter even if there is an exception. Based on patches by Brian " -"Brazil and Daniel Rocco." -msgstr "" - -#: ../../../build/NEWS:23590 ../../../build/NEWS:25872 -msgid "" -"`bpo-25945 `__: Fixed a crash when " -"unpickle the functools.partial object with wrong state. Fixed a leak in " -"failed functools.partial constructor. \"args\" and \"keywords\" attributes " -"of functools.partial have now always types tuple and dict correspondingly." -msgstr "" - -#: ../../../build/NEWS:23595 ../../../build/NEWS:25877 -msgid "" -"`bpo-26202 `__: copy.deepcopy() now " -"correctly copies range() objects with non-atomic attributes." -msgstr "" - -#: ../../../build/NEWS:23598 ../../../build/NEWS:25880 -msgid "" -"`bpo-23076 `__: Path.glob() now raises a " -"ValueError if it's called with an invalid pattern. Patch by Thomas Nyberg." -msgstr "" - -#: ../../../build/NEWS:23601 ../../../build/NEWS:25883 -msgid "" -"`bpo-19883 `__: Fixed possible integer " -"overflows in zipimport." -msgstr "" - -#: ../../../build/NEWS:23603 ../../../build/NEWS:25885 -msgid "" -"`bpo-26227 `__: On Windows, " -"getnameinfo(), gethostbyaddr() and gethostbyname_ex() functions of the " -"socket module now decode the hostname from the ANSI code page rather than " -"UTF-8." -msgstr "" - -#: ../../../build/NEWS:23607 -msgid "" -"`bpo-26099 `__: The site module now " -"writes an error into stderr if sitecustomize module can be imported but " -"executing the module raise an ImportError. Same change for usercustomize." -msgstr "" - -#: ../../../build/NEWS:23611 ../../../build/NEWS:25889 -msgid "" -"`bpo-26147 `__: xmlrpc now works with " -"strings not encodable with used non-UTF-8 encoding." -msgstr "" - -#: ../../../build/NEWS:23614 ../../../build/NEWS:25892 -msgid "" -"`bpo-25935 `__: Garbage collector now " -"breaks reference loops with OrderedDict." -msgstr "" - -#: ../../../build/NEWS:23616 ../../../build/NEWS:25894 -msgid "" -"`bpo-16620 `__: Fixed AttributeError in " -"msilib.Directory.glob()." -msgstr "" - -#: ../../../build/NEWS:23618 ../../../build/NEWS:25896 -msgid "" -"`bpo-26013 `__: Added compatibility with " -"broken protocol 2 pickles created in old Python 3 versions (3.4.3 and lower)." -msgstr "" - -#: ../../../build/NEWS:23621 -msgid "" -"`bpo-26129 `__: Deprecated accepting non-" -"integers in grp.getgrgid()." -msgstr "" - -#: ../../../build/NEWS:23623 ../../../build/NEWS:25899 -msgid "" -"`bpo-25850 `__: Use cross-compilation by " -"default for 64-bit Windows." -msgstr "" - -#: ../../../build/NEWS:23625 -msgid "" -"`bpo-25822 `__: Add docstrings to the " -"fields of urllib.parse results. Patch contributed by Swati Jaiswal." -msgstr "" - -#: ../../../build/NEWS:23628 -msgid "" -"`bpo-22642 `__: Convert trace module " -"option parsing mechanism to argparse. Patch contributed by SilentGhost." -msgstr "" - -#: ../../../build/NEWS:23631 ../../../build/NEWS:25903 -msgid "" -"`bpo-24705 `__: Fix sysconfig." -"_parse_makefile not expanding ${} vars appearing before $() vars." -msgstr "" - -#: ../../../build/NEWS:23634 -msgid "" -"`bpo-26069 `__: Remove the deprecated " -"apis in the trace module." -msgstr "" - -#: ../../../build/NEWS:23636 ../../../build/NEWS:25906 -msgid "" -"`bpo-22138 `__: Fix mock.patch behavior " -"when patching descriptors. Restore original values after patching. Patch " -"contributed by Sean McCully." -msgstr "" - -#: ../../../build/NEWS:23639 ../../../build/NEWS:25909 -msgid "" -"`bpo-25672 `__: In the ssl module, " -"enable the SSL_MODE_RELEASE_BUFFERS mode option if it is safe to do so." -msgstr "" - -#: ../../../build/NEWS:23642 ../../../build/NEWS:25912 -msgid "" -"`bpo-26012 `__: Don't traverse into " -"symlinks for ``**`` pattern in pathlib.Path.[r]glob()." -msgstr "" - -#: ../../../build/NEWS:23645 ../../../build/NEWS:25915 -msgid "" -"`bpo-24120 `__: Ignore PermissionError " -"when traversing a tree with pathlib.Path.[r]glob(). Patch by Ulrich Petri." -msgstr "" - -#: ../../../build/NEWS:23648 -msgid "" -"`bpo-21815 `__: Accept ] characters in " -"the data portion of imap responses, in order to handle the flags with square " -"brackets accepted and produced by servers such as gmail." -msgstr "" - -#: ../../../build/NEWS:23652 ../../../build/NEWS:25918 -msgid "" -"`bpo-25447 `__: fileinput now uses sys." -"stdin as-is if it does not have a buffer attribute (restores backward " -"compatibility)." -msgstr "" - -#: ../../../build/NEWS:23655 -msgid "" -"`bpo-25971 `__: Optimized creating " -"Fractions from floats by 2 times and from Decimals by 3 times." -msgstr "" - -#: ../../../build/NEWS:23658 -msgid "" -"`bpo-25802 `__: Document as deprecated " -"the remaining implementations of importlib.abc.Loader.load_module()." -msgstr "" - -#: ../../../build/NEWS:23661 -msgid "" -"`bpo-25928 `__: Add Decimal." -"as_integer_ratio()." -msgstr "" - -#: ../../../build/NEWS:23663 ../../../build/NEWS:25921 -msgid "" -"`bpo-25447 `__: Copying the lru_cache() " -"wrapper object now always works, independently from the type of the wrapped " -"object (by returning the original object unchanged)." -msgstr "" - -#: ../../../build/NEWS:23667 -msgid "" -"`bpo-25768 `__: Have the functions in " -"compileall return booleans instead of ints and add proper documentation and " -"tests for the return values." -msgstr "" - -#: ../../../build/NEWS:23670 ../../../build/NEWS:25925 -msgid "" -"`bpo-24103 `__: Fixed possible use after " -"free in ElementTree.XMLPullParser." -msgstr "" - -#: ../../../build/NEWS:23672 ../../../build/NEWS:25927 -msgid "" -"`bpo-25860 `__: os.fwalk() no longer " -"skips remaining directories when error occurs. Original patch by Samson Lee." -msgstr "" - -#: ../../../build/NEWS:23675 ../../../build/NEWS:25930 -msgid "" -"`bpo-25914 `__: Fixed and simplified " -"OrderedDict.__sizeof__." -msgstr "" - -#: ../../../build/NEWS:23677 -msgid "" -"`bpo-25869 `__: Optimized deepcopying " -"ElementTree; it is now 20 times faster." -msgstr "" - -#: ../../../build/NEWS:23679 -msgid "" -"`bpo-25873 `__: Optimized iterating " -"ElementTree. Iterating elements Element.iter() is now 40% faster, iterating " -"text Element.itertext() is now up to 2.5 times faster." -msgstr "" - -#: ../../../build/NEWS:23683 ../../../build/NEWS:25932 -msgid "" -"`bpo-25902 `__: Fixed various refcount " -"issues in ElementTree iteration." -msgstr "" - -#: ../../../build/NEWS:23685 -msgid "" -"`bpo-22227 `__: The TarFile iterator is " -"reimplemented using generator. This implementation is simpler that using " -"class." -msgstr "" - -#: ../../../build/NEWS:23688 -msgid "" -"`bpo-25638 `__: Optimized ElementTree." -"iterparse(); it is now 2x faster. Optimized ElementTree parsing; it is now " -"10% faster." -msgstr "" - -#: ../../../build/NEWS:23691 -msgid "" -"`bpo-25761 `__: Improved detecting " -"errors in broken pickle data." -msgstr "" - -#: ../../../build/NEWS:23693 ../../../build/NEWS:25934 -msgid "" -"`bpo-25717 `__: Restore the previous " -"behaviour of tolerating most fstat() errors when opening files. This was a " -"regression in 3.5a1, and stopped anonymous temporary files from working in " -"special cases." -msgstr "" - -#: ../../../build/NEWS:23697 ../../../build/NEWS:25938 -msgid "" -"`bpo-24903 `__: Fix regression in number " -"of arguments compileall accepts when '-d' is specified. The check on the " -"number of arguments has been dropped completely as it never worked correctly " -"anyway." -msgstr "" - -#: ../../../build/NEWS:23701 ../../../build/NEWS:25942 -msgid "" -"`bpo-25764 `__: In the subprocess " -"module, preserve any exception caused by fork() failure when preexec_fn is " -"used." -msgstr "" - -#: ../../../build/NEWS:23704 -msgid "" -"`bpo-25771 `__: Tweak the exception " -"message for importlib.util.resolve_name() when 'package' isn't specified but " -"necessary." -msgstr "" - -#: ../../../build/NEWS:23707 ../../../build/NEWS:25945 -msgid "" -"`bpo-6478 `__: _strptime's regexp cache " -"now is reset after changing timezone with time.tzset()." -msgstr "" - -#: ../../../build/NEWS:23710 ../../../build/NEWS:25948 -msgid "" -"`bpo-14285 `__: When executing a package " -"with the \"python -m package\" option, and package initialization fails, a " -"proper traceback is now reported. The \"runpy\" module now lets exceptions " -"from package initialization pass back to the caller, rather than raising " -"ImportError." -msgstr "" - -#: ../../../build/NEWS:23715 ../../../build/NEWS:25953 -msgid "" -"`bpo-19771 `__: Also in runpy and the \"-" -"m\" option, omit the irrelevant message \". . . is a package and cannot be " -"directly executed\" if the package could not even be initialized (e.g. due " -"to a bad ``*.pyc`` file)." -msgstr "" - -#: ../../../build/NEWS:23719 ../../../build/NEWS:25957 -msgid "" -"`bpo-25177 `__: Fixed problem with the " -"mean of very small and very large numbers. As a side effect, statistics.mean " -"and statistics.variance should be significantly faster." -msgstr "" - -#: ../../../build/NEWS:23723 ../../../build/NEWS:25961 -msgid "" -"`bpo-25718 `__: Fixed copying object " -"with state with boolean value is false." -msgstr "" - -#: ../../../build/NEWS:23725 ../../../build/NEWS:25963 -msgid "" -"`bpo-10131 `__: Fixed deep copying of " -"minidom documents. Based on patch by Marian Ganisin." -msgstr "" - -#: ../../../build/NEWS:23728 -msgid "" -"`bpo-7990 `__: dir() on ElementTree." -"Element now lists properties: \"tag\", \"text\", \"tail\" and \"attrib\". " -"Original patch by Santoso Wijaya." -msgstr "" - -#: ../../../build/NEWS:23731 ../../../build/NEWS:25966 -msgid "" -"`bpo-25725 `__: Fixed a reference leak " -"in pickle.loads() when unpickling invalid data including tuple instructions." -msgstr "" - -#: ../../../build/NEWS:23734 ../../../build/NEWS:25969 -msgid "" -"`bpo-25663 `__: In the Readline " -"completer, avoid listing duplicate global names, and search the global " -"namespace before searching builtins." -msgstr "" - -#: ../../../build/NEWS:23737 ../../../build/NEWS:25972 -msgid "" -"`bpo-25688 `__: Fixed file leak in " -"ElementTree.iterparse() raising an error." -msgstr "" - -#: ../../../build/NEWS:23739 ../../../build/NEWS:25974 -msgid "" -"`bpo-23914 `__: Fixed SystemError raised " -"by unpickler on broken pickle data." -msgstr "" - -#: ../../../build/NEWS:23741 ../../../build/NEWS:25976 -msgid "" -"`bpo-25691 `__: Fixed crash on deleting " -"ElementTree.Element attributes." -msgstr "" - -#: ../../../build/NEWS:23743 ../../../build/NEWS:25978 -msgid "" -"`bpo-25624 `__: ZipFile now always " -"writes a ZIP_STORED header for directory entries. Patch by Dingyuan Wang." -msgstr "" - -#: ../../../build/NEWS:23746 ../../../build/NEWS:26297 -msgid "" -"`bpo-25626 `__: Change three zlib " -"functions to accept sizes that fit in Py_ssize_t, but internally cap those " -"sizes to UINT_MAX. This resolves a regression in 3.5 where GzipFile.read() " -"failed to read chunks larger than 2 or 4 GiB. The change affects the zlib." -"Decompress.decompress() max_length parameter, the zlib.decompress() bufsize " -"parameter, and the zlib.Decompress.flush() length parameter." -msgstr "" - -#: ../../../build/NEWS:23753 ../../../build/NEWS:26304 -msgid "" -"`bpo-25583 `__: Avoid incorrect errors " -"raised by os.makedirs(exist_ok=True) when the OS gives priority to errors " -"such as EACCES over EEXIST." -msgstr "" - -#: ../../../build/NEWS:23756 ../../../build/NEWS:26307 -msgid "" -"`bpo-25593 `__: Change semantics of " -"EventLoop.stop() in asyncio." -msgstr "" - -#: ../../../build/NEWS:23758 ../../../build/NEWS:26309 -msgid "" -"`bpo-6973 `__: When we know a subprocess." -"Popen process has died, do not allow the send_signal(), terminate(), or " -"kill() methods to do anything as they could potentially signal a different " -"process." -msgstr "" - -#: ../../../build/NEWS:23762 -msgid "" -"`bpo-23883 `__: Added missing APIs to " -"__all__ to match the documented APIs for the following modules: calendar, " -"csv, enum, fileinput, ftplib, logging, optparse, tarfile, threading and " -"wave. Also added a test.support.check__all__() helper. Patches by Jacek " -"Kołodziej, Mauro S. M. Rodrigues and Joel Taddei." -msgstr "" - -#: ../../../build/NEWS:23768 -msgid "" -"`bpo-25590 `__: In the Readline " -"completer, only call getattr() once per attribute. Also complete names of " -"attributes such as properties and slots which are listed by dir() but not " -"yet created on an instance." -msgstr "" - -#: ../../../build/NEWS:23772 ../../../build/NEWS:26316 -msgid "" -"`bpo-25498 `__: Fix a crash when garbage-" -"collecting ctypes objects created by wrapping a memoryview. This was a " -"regression made in 3.5a1. Based on patch by Eryksun." -msgstr "" - -#: ../../../build/NEWS:23776 ../../../build/NEWS:26320 -msgid "" -"`bpo-25584 `__: Added \"escape\" to the " -"__all__ list in the glob module." -msgstr "" - -#: ../../../build/NEWS:23778 ../../../build/NEWS:26322 -msgid "" -"`bpo-25584 `__: Fixed recursive glob() " -"with patterns starting with ``**``." -msgstr "" - -#: ../../../build/NEWS:23780 ../../../build/NEWS:26324 -msgid "" -"`bpo-25446 `__: Fix regression in " -"smtplib's AUTH LOGIN support." -msgstr "" - -#: ../../../build/NEWS:23782 ../../../build/NEWS:26326 -msgid "" -"`bpo-18010 `__: Fix the pydoc web " -"server's module search function to handle exceptions from importing packages." -msgstr "" - -#: ../../../build/NEWS:23785 ../../../build/NEWS:26329 -msgid "" -"`bpo-25554 `__: Got rid of circular " -"references in regular expression parsing." -msgstr "" - -#: ../../../build/NEWS:23787 -msgid "" -"`bpo-18973 `__: Command-line interface " -"of the calendar module now uses argparse instead of optparse." -msgstr "" - -#: ../../../build/NEWS:23790 ../../../build/NEWS:26331 -msgid "" -"`bpo-25510 `__: fileinput.FileInput." -"readline() now returns b'' instead of '' at the end if the FileInput was " -"opened with binary mode. Patch by Ryosuke Ito." -msgstr "" - -#: ../../../build/NEWS:23794 ../../../build/NEWS:26335 -msgid "" -"`bpo-25503 `__: Fixed inspect.getdoc() " -"for inherited docstrings of properties. Original patch by John Mark " -"Vandenberg." -msgstr "" - -#: ../../../build/NEWS:23797 ../../../build/NEWS:26338 -msgid "" -"`bpo-25515 `__: Always use os.urandom as " -"a source of randomness in uuid.uuid4." -msgstr "" - -#: ../../../build/NEWS:23799 ../../../build/NEWS:26340 -msgid "" -"`bpo-21827 `__: Fixed textwrap.dedent() " -"for the case when largest common whitespace is a substring of smallest " -"leading whitespace. Based on patch by Robert Li." -msgstr "" - -#: ../../../build/NEWS:23803 ../../../build/NEWS:26344 -msgid "" -"`bpo-25447 `__: The lru_cache() wrapper " -"objects now can be copied and pickled (by returning the original object " -"unchanged)." -msgstr "" - -#: ../../../build/NEWS:23806 ../../../build/NEWS:26347 -msgid "" -"`bpo-25390 `__: typing: Don't crash on " -"Union[str, Pattern]." -msgstr "" - -#: ../../../build/NEWS:23808 ../../../build/NEWS:26349 -msgid "" -"`bpo-25441 `__: asyncio: Raise error " -"from drain() when socket is closed." -msgstr "" - -#: ../../../build/NEWS:23810 ../../../build/NEWS:26351 -msgid "" -"`bpo-25410 `__: Cleaned up and fixed " -"minor bugs in C implementation of OrderedDict." -msgstr "" - -#: ../../../build/NEWS:23813 ../../../build/NEWS:26354 -msgid "" -"`bpo-25411 `__: Improved Unicode support " -"in SMTPHandler through better use of the email package. Thanks to user " -"simon04 for the patch." -msgstr "" - -#: ../../../build/NEWS:23816 -msgid "" -"Move the imp module from a PendingDeprecationWarning to DeprecationWarning." -msgstr "" - -#: ../../../build/NEWS:23819 ../../../build/NEWS:26357 -msgid "" -"`bpo-25407 `__: Remove mentions of the " -"formatter module being removed in Python 3.6." -msgstr "" - -#: ../../../build/NEWS:23822 ../../../build/NEWS:26360 -msgid "" -"`bpo-25406 `__: Fixed a bug in C " -"implementation of OrderedDict.move_to_end() that caused segmentation fault " -"or hang in iterating after moving several items to the start of ordered dict." -msgstr "" - -#: ../../../build/NEWS:23826 -msgid "" -"`bpo-25382 `__: pickletools.dis() now " -"outputs implicit memo index for the MEMOIZE opcode." -msgstr "" - -#: ../../../build/NEWS:23829 -msgid "" -"`bpo-25357 `__: Add an optional newline " -"parameter to binascii.b2a_base64(). base64.b64encode() uses it to avoid a " -"memory copy." -msgstr "" - -#: ../../../build/NEWS:23832 -msgid "" -"`bpo-24164 `__: Objects that need " -"calling ``__new__`` with keyword arguments, can now be pickled using pickle " -"protocols older than protocol version 4." -msgstr "" - -#: ../../../build/NEWS:23835 ../../../build/NEWS:26364 -msgid "" -"`bpo-25364 `__: zipfile now works in " -"threads disabled builds." -msgstr "" - -#: ../../../build/NEWS:23837 ../../../build/NEWS:26366 -msgid "" -"`bpo-25328 `__: smtpd's SMTPChannel now " -"correctly raises a ValueError if both decode_data and enable_SMTPUTF8 are " -"set to true." -msgstr "" - -#: ../../../build/NEWS:23840 -msgid "" -"`bpo-16099 `__: RobotFileParser now " -"supports Crawl-delay and Request-rate extensions. Patch by Nikolay " -"Bogoychev." -msgstr "" - -#: ../../../build/NEWS:23843 ../../../build/NEWS:26369 -msgid "" -"`bpo-25316 `__: distutils raises OSError " -"instead of DistutilsPlatformError when MSVC is not installed." -msgstr "" - -#: ../../../build/NEWS:23846 ../../../build/NEWS:26372 -msgid "" -"`bpo-25380 `__: Fixed protocol for the " -"STACK_GLOBAL opcode in pickletools.opcodes." -msgstr "" - -#: ../../../build/NEWS:23849 ../../../build/NEWS:26375 -msgid "" -"`bpo-23972 `__: Updates asyncio datagram " -"create method allowing reuseport and reuseaddr socket options to be set " -"prior to binding the socket. Mirroring the existing asyncio create_server " -"method the reuseaddr option for datagram sockets defaults to True if the O/S " -"is 'posix' (except if the platform is Cygwin). Patch by Chris Laws." -msgstr "" - -#: ../../../build/NEWS:23855 ../../../build/NEWS:26381 -msgid "" -"`bpo-25304 `__: Add asyncio." -"run_coroutine_threadsafe(). This lets you submit a coroutine to a loop from " -"another thread, returning a concurrent.futures.Future. By Vincent Michel." -msgstr "" - -#: ../../../build/NEWS:23859 ../../../build/NEWS:26385 -msgid "" -"`bpo-25232 `__: Fix CGIRequestHandler to " -"split the query from the URL at the first question mark (?) rather than the " -"last. Patch from Xiang Zhang." -msgstr "" - -#: ../../../build/NEWS:23862 ../../../build/NEWS:26388 -msgid "" -"`bpo-24657 `__: Prevent " -"CGIRequestHandler from collapsing slashes in the query part of the URL as if " -"it were a path. Patch from Xiang Zhang." -msgstr "" - -#: ../../../build/NEWS:23865 -msgid "" -"`bpo-25287 `__: Don't add crypt." -"METHOD_CRYPT to crypt.methods if it's not supported. Check if it is " -"supported, it may not be supported on OpenBSD for example." -msgstr "" - -#: ../../../build/NEWS:23869 ../../../build/NEWS:26416 -msgid "" -"`bpo-23600 `__: Default implementation " -"of tzinfo.fromutc() was returning wrong results in some cases." -msgstr "" - -#: ../../../build/NEWS:23872 ../../../build/NEWS:26413 -msgid "" -"`bpo-25203 `__: Failed readline." -"set_completer_delims() no longer left the module in inconsistent state." -msgstr "" - -#: ../../../build/NEWS:23875 -msgid "" -"`bpo-25011 `__: rlcompleter now omits " -"private and special attribute names unless the prefix starts with " -"underscores." -msgstr "" - -#: ../../../build/NEWS:23878 -msgid "" -"`bpo-25209 `__: rlcompleter now can add " -"a space or a colon after completed keyword." -msgstr "" - -#: ../../../build/NEWS:23881 -msgid "" -"`bpo-22241 `__: timezone.utc name is now " -"plain 'UTC', not 'UTC-00:00'." -msgstr "" - -#: ../../../build/NEWS:23883 -msgid "" -"`bpo-23517 `__: fromtimestamp() and " -"utcfromtimestamp() methods of datetime.datetime now round microseconds to " -"nearest with ties going to nearest even integer (ROUND_HALF_EVEN), as " -"round(float), instead of rounding towards -Infinity (ROUND_FLOOR)." -msgstr "" - -#: ../../../build/NEWS:23888 -msgid "" -"`bpo-23552 `__: Timeit now warns when " -"there is substantial (4x) variance between best and worst times. Patch from " -"Serhiy Storchaka." -msgstr "" - -#: ../../../build/NEWS:23891 -msgid "" -"`bpo-24633 `__: site-packages/README -> " -"README.txt." -msgstr "" - -#: ../../../build/NEWS:23893 -msgid "" -"`bpo-24879 `__: help() and pydoc can now " -"list named tuple fields in the order they were defined rather than " -"alphabetically. The ordering is determined by the _fields attribute if " -"present." -msgstr "" - -#: ../../../build/NEWS:23897 -msgid "" -"`bpo-24874 `__: Improve speed of " -"itertools.cycle() and make its pickle more compact." -msgstr "" - -#: ../../../build/NEWS:23900 -msgid "" -"Fix crash in itertools.cycle.__setstate__() when the first argument wasn't a " -"list." -msgstr "" - -#: ../../../build/NEWS:23903 -msgid "" -"`bpo-20059 `__: urllib.parse raises " -"ValueError on all invalid ports. Patch by Martin Panter." -msgstr "" - -#: ../../../build/NEWS:23906 -msgid "" -"`bpo-24360 `__: Improve __repr__ of " -"argparse.Namespace() for invalid identifiers. Patch by Matthias Bussonnier." -msgstr "" - -#: ../../../build/NEWS:23909 -msgid "" -"`bpo-23426 `__: run_setup was broken in " -"distutils. Patch from Alexander Belopolsky." -msgstr "" - -#: ../../../build/NEWS:23912 -msgid "" -"`bpo-13938 `__: 2to3 converts " -"StringTypes to a tuple. Patch from Mark Hammond." -msgstr "" - -#: ../../../build/NEWS:23914 -msgid "" -"`bpo-2091 `__: open() accepted a 'U' mode " -"string containing '+', but 'U' can only be used with 'r'. Patch from Jeff " -"Balogh and John O'Connor." -msgstr "" - -#: ../../../build/NEWS:23917 -msgid "" -"`bpo-8585 `__: improved tests for " -"zipimporter2. Patch from Mark Lawrence." -msgstr "" - -#: ../../../build/NEWS:23919 ../../../build/NEWS:26958 -msgid "" -"`bpo-18622 `__: unittest.mock." -"mock_open().reset_mock would recurse infinitely. Patch from Nicola Palumbo " -"and Laurent De Buyst." -msgstr "" - -#: ../../../build/NEWS:23922 -msgid "" -"`bpo-24426 `__: Fast searching " -"optimization in regular expressions now works for patterns that starts with " -"capturing groups. Fast searching optimization now can't be disabled at " -"compile time." -msgstr "" - -#: ../../../build/NEWS:23926 ../../../build/NEWS:26961 -msgid "" -"`bpo-23661 `__: unittest.mock " -"side_effects can now be exceptions again. This was a regression vs Python " -"3.4. Patch from Ignacio Rossi" -msgstr "" - -#: ../../../build/NEWS:23929 -msgid "" -"`bpo-13248 `__: Remove deprecated " -"inspect.getmoduleinfo function." -msgstr "" - -#: ../../../build/NEWS:23931 ../../../build/NEWS:26490 -msgid "" -"`bpo-25578 `__: Fix (another) memory " -"leak in SSLSocket.getpeercer()." -msgstr "" - -#: ../../../build/NEWS:23933 ../../../build/NEWS:26492 -msgid "" -"`bpo-25530 `__: Disable the vulnerable " -"SSLv3 protocol by default when creating ssl.SSLContext." -msgstr "" - -#: ../../../build/NEWS:23936 ../../../build/NEWS:26495 -msgid "" -"`bpo-25569 `__: Fix memory leak in " -"SSLSocket.getpeercert()." -msgstr "" - -#: ../../../build/NEWS:23938 ../../../build/NEWS:26497 -msgid "" -"`bpo-25471 `__: Sockets returned from " -"accept() shouldn't appear to be nonblocking." -msgstr "" - -#: ../../../build/NEWS:23941 ../../../build/NEWS:26500 -msgid "" -"`bpo-25319 `__: When threading.Event is " -"reinitialized, the underlying condition should use a regular lock rather " -"than a recursive lock." -msgstr "" - -#: ../../../build/NEWS:23944 ../../../build/NEWS:25981 -msgid "" -"Skip getaddrinfo if host is already resolved. Patch by A. Jesse Jiryu Davis." -msgstr "" - -#: ../../../build/NEWS:23947 ../../../build/NEWS:25984 -msgid "" -"`bpo-26050 `__: Add asyncio.StreamReader." -"readuntil() method. Patch by Марк Коренберг." -msgstr "" - -#: ../../../build/NEWS:23950 ../../../build/NEWS:25987 -msgid "" -"`bpo-25924 `__: Avoid unnecessary " -"serialization of getaddrinfo(3) calls on OS X versions 10.5 or higher. " -"Original patch by A. Jesse Jiryu Davis." -msgstr "" - -#: ../../../build/NEWS:23953 ../../../build/NEWS:25990 -msgid "" -"`bpo-26406 `__: Avoid unnecessary " -"serialization of getaddrinfo(3) calls on current versions of OpenBSD and " -"NetBSD. Patch by A. Jesse Jiryu Davis." -msgstr "" - -#: ../../../build/NEWS:23956 ../../../build/NEWS:25993 -msgid "" -"`bpo-26848 `__: Fix asyncio/subprocess." -"communicate() to handle empty input. Patch by Jack O'Connor." -msgstr "" - -#: ../../../build/NEWS:23959 ../../../build/NEWS:25996 -msgid "" -"`bpo-27040 `__: Add loop." -"get_exception_handler method" -msgstr "" - -#: ../../../build/NEWS:23961 ../../../build/NEWS:25998 -msgid "" -"`bpo-27041 `__: asyncio: Add loop." -"create_future method" -msgstr "" - -#: ../../../build/NEWS:23966 ../../../build/NEWS:26046 -msgid "" -"`bpo-20640 `__: Add tests for idlelib." -"configHelpSourceEdit. Patch by Saimadhav Heblikar." -msgstr "" - -#: ../../../build/NEWS:23969 ../../../build/NEWS:26049 -msgid "" -"In the 'IDLE-console differences' section of the IDLE doc, clarify how " -"running with IDLE affects sys.modules and the standard streams." -msgstr "" - -#: ../../../build/NEWS:23972 ../../../build/NEWS:26052 -msgid "" -"`bpo-25507 `__: fix incorrect change in " -"IOBinding that prevented printing. Augment IOBinding htest to include all " -"major IOBinding functions." -msgstr "" - -#: ../../../build/NEWS:23975 ../../../build/NEWS:26055 -msgid "" -"`bpo-25905 `__: Revert unwanted " -"conversion of ' to ’ RIGHT SINGLE QUOTATION MARK in README.txt and open this " -"and NEWS.txt with 'ascii'. Re-encode CREDITS.txt to utf-8 and open it with " -"'utf-8'." -msgstr "" - -#: ../../../build/NEWS:23979 ../../../build/NEWS:26529 -msgid "" -"`bpo-15348 `__: Stop the debugger engine " -"(normally in a user process) before closing the debugger window (running in " -"the IDLE process). This prevents the RuntimeErrors that were being caught " -"and ignored." -msgstr "" - -#: ../../../build/NEWS:23983 ../../../build/NEWS:26533 -msgid "" -"`bpo-24455 `__: Prevent IDLE from " -"hanging when a) closing the shell while the debugger is active (15347); b) " -"closing the debugger with the [X] button (15348); and c) activating the " -"debugger when already active (24455). The patch by Mark Roseman does this by " -"making two changes. 1. Suspend and resume the gui.interaction method with " -"the tcl vwait mechanism intended for this purpose (instead of root.mainloop " -"& .quit). 2. In gui.run, allow any existing interaction to terminate first." -msgstr "" - -#: ../../../build/NEWS:23991 ../../../build/NEWS:26541 -msgid "" -"Change 'The program' to 'Your program' in an IDLE 'kill program?' message to " -"make it clearer that the program referred to is the currently running user " -"program, not IDLE itself." -msgstr "" - -#: ../../../build/NEWS:23995 ../../../build/NEWS:26545 -msgid "" -"`bpo-24750 `__: Improve the appearance " -"of the IDLE editor window status bar. Patch by Mark Roseman." -msgstr "" - -#: ../../../build/NEWS:23998 ../../../build/NEWS:26548 -msgid "" -"`bpo-25313 `__: Change the handling of " -"new built-in text color themes to better address the compatibility problem " -"introduced by the addition of IDLE Dark. Consistently use the revised " -"idleConf.CurrentTheme everywhere in idlelib." -msgstr "" - -#: ../../../build/NEWS:24002 ../../../build/NEWS:26552 -msgid "" -"`bpo-24782 `__: Extension configuration " -"is now a tab in the IDLE Preferences dialog rather than a separate dialog. " -"The former tabs are now a sorted list. Patch by Mark Roseman." -msgstr "" - -#: ../../../build/NEWS:24006 ../../../build/NEWS:26556 -msgid "" -"`bpo-22726 `__: Re-activate the config " -"dialog help button with some content about the other buttons and the new " -"IDLE Dark theme." -msgstr "" - -#: ../../../build/NEWS:24009 ../../../build/NEWS:26559 -msgid "" -"`bpo-24820 `__: IDLE now has an 'IDLE " -"Dark' built-in text color theme. It is more or less IDLE Classic inverted, " -"with a cobalt blue background. Strings, comments, keywords, ... are still " -"green, red, orange, ... . To use it with IDLEs released before November " -"2015, hit the 'Save as New Custom Theme' button and enter a new name, such " -"as 'Custom Dark'. The custom theme will work with any IDLE release, and can " -"be modified." -msgstr "" - -#: ../../../build/NEWS:24016 ../../../build/NEWS:26566 -msgid "" -"`bpo-25224 `__: README.txt is now an " -"idlelib index for IDLE developers and curious users. The previous user " -"content is now in the IDLE doc chapter. 'IDLE' now means 'Integrated " -"Development and Learning Environment'." -msgstr "" - -#: ../../../build/NEWS:24020 ../../../build/NEWS:26570 -msgid "" -"`bpo-24820 `__: Users can now set " -"breakpoint colors in Settings -> Custom Highlighting. Original patch by Mark " -"Roseman." -msgstr "" - -#: ../../../build/NEWS:24023 ../../../build/NEWS:26573 -msgid "" -"`bpo-24972 `__: Inactive selection " -"background now matches active selection background, as configured by users, " -"on all systems. Found items are now always highlighted on Windows. Initial " -"patch by Mark Roseman." -msgstr "" - -#: ../../../build/NEWS:24027 ../../../build/NEWS:26577 -msgid "" -"`bpo-24570 `__: Idle: make calltip and " -"completion boxes appear on Macs affected by a tk regression. Initial patch " -"by Mark Roseman." -msgstr "" - -#: ../../../build/NEWS:24030 ../../../build/NEWS:26580 -msgid "" -"`bpo-24988 `__: Idle ScrolledList " -"context menus (used in debugger) now work on Mac Aqua. Patch by Mark Roseman." -msgstr "" - -#: ../../../build/NEWS:24033 ../../../build/NEWS:26583 -msgid "" -"`bpo-24801 `__: Make right-click for " -"context menu work on Mac Aqua. Patch by Mark Roseman." -msgstr "" - -#: ../../../build/NEWS:24036 ../../../build/NEWS:26586 -msgid "" -"`bpo-25173 `__: Associate tkinter " -"messageboxes with a specific widget. For Mac OSX, make them a 'sheet'. " -"Patch by Mark Roseman." -msgstr "" - -#: ../../../build/NEWS:24039 ../../../build/NEWS:26589 -msgid "" -"`bpo-25198 `__: Enhance the initial html " -"viewer now used for Idle Help. Properly indent fixed-pitch text (patch by " -"Mark Roseman). Give code snippet a very Sphinx-like light blueish-gray " -"background. Re-use initial width and height set by users for shell and " -"editor. When the Table of Contents (TOC) menu is used, put the section " -"header at the top of the screen." -msgstr "" - -#: ../../../build/NEWS:24046 ../../../build/NEWS:26596 -msgid "" -"`bpo-25225 `__: Condense and rewrite " -"Idle doc section on text colors." -msgstr "" - -#: ../../../build/NEWS:24048 ../../../build/NEWS:26598 -msgid "" -"`bpo-21995 `__: Explain some differences " -"between IDLE and console Python." -msgstr "" - -#: ../../../build/NEWS:24050 ../../../build/NEWS:26600 -msgid "" -"`bpo-22820 `__: Explain need for *print* " -"when running file from Idle editor." -msgstr "" - -#: ../../../build/NEWS:24052 ../../../build/NEWS:26602 -msgid "" -"`bpo-25224 `__: Doc: augment Idle " -"feature list and no-subprocess section." -msgstr "" - -#: ../../../build/NEWS:24054 ../../../build/NEWS:26604 -msgid "" -"`bpo-25219 `__: Update doc for Idle " -"command line options. Some were missing and notes were not correct." -msgstr "" - -#: ../../../build/NEWS:24057 ../../../build/NEWS:26607 -msgid "" -"`bpo-24861 `__: Most of idlelib is " -"private and subject to change. Use idleib.idle.* to start Idle. See idlelib." -"__init__.__doc__." -msgstr "" - -#: ../../../build/NEWS:24060 ../../../build/NEWS:26610 -msgid "" -"`bpo-25199 `__: Idle: add " -"synchronization comments for future maintainers." -msgstr "" - -#: ../../../build/NEWS:24062 -msgid "" -"`bpo-16893 `__: Replace help.txt with " -"help.html for Idle doc display. The new idlelib/help.html is rstripped Doc/" -"build/html/library/idle.html. It looks better than help.txt and will better " -"document Idle as released. The tkinter html viewer that works for this file " -"was written by Rose Roseman. The now unused EditorWindow.HelpDialog class " -"and helt.txt file are deprecated." -msgstr "" - -#: ../../../build/NEWS:24069 ../../../build/NEWS:26619 -msgid "" -"`bpo-24199 `__: Deprecate unused idlelib." -"idlever with possible removal in 3.6." -msgstr "" - -#: ../../../build/NEWS:24071 ../../../build/NEWS:26621 -msgid "" -"`bpo-24790 `__: Remove extraneous code " -"(which also create 2 & 3 conflicts)." -msgstr "" - -#: ../../../build/NEWS:24076 ../../../build/NEWS:26067 -msgid "" -"`bpo-26736 `__: Used HTTPS for external " -"links in the documentation if possible." -msgstr "" - -#: ../../../build/NEWS:24078 ../../../build/NEWS:26069 -msgid "" -"`bpo-6953 `__: Rework the Readline module " -"documentation to group related functions together, and add more details such " -"as what underlying Readline functions and variables are accessed." -msgstr "" - -#: ../../../build/NEWS:24082 ../../../build/NEWS:26073 -msgid "" -"`bpo-23606 `__: Adds note to ctypes " -"documentation regarding cdll.msvcrt." -msgstr "" - -#: ../../../build/NEWS:24084 ../../../build/NEWS:26636 -msgid "" -"`bpo-24952 `__: Clarify the default size " -"argument of stack_size() in the \"threading\" and \"_thread\" modules. Patch " -"from Mattip." -msgstr "" - -#: ../../../build/NEWS:24087 ../../../build/NEWS:26078 -msgid "" -"`bpo-26014 `__: Update 3.x packaging " -"documentation: * \"See also\" links to the new docs are now provided in the " -"legacy pages * links to setuptools documentation have been updated" -msgstr "" - -#: ../../../build/NEWS:24094 ../../../build/NEWS:26085 -msgid "" -"`bpo-21916 `__: Added tests for the " -"turtle module. Patch by ingrid, Gregory Loyse and Jelle Zijlstra." -msgstr "" - -#: ../../../build/NEWS:24097 -msgid "" -"`bpo-26295 `__: When using \"python3 -m " -"test --testdir=TESTDIR\", regrtest doesn't add \"test.\" prefix to test " -"module names." -msgstr "" - -#: ../../../build/NEWS:24100 ../../../build/NEWS:26088 -msgid "" -"`bpo-26523 `__: The multiprocessing " -"thread pool (multiprocessing.dummy.Pool) was untested." -msgstr "" - -#: ../../../build/NEWS:24103 ../../../build/NEWS:26091 -msgid "" -"`bpo-26015 `__: Added new tests for " -"pickling iterators of mutable sequences." -msgstr "" - -#: ../../../build/NEWS:24105 ../../../build/NEWS:26093 -msgid "" -"`bpo-26325 `__: Added test.support." -"check_no_resource_warning() to check that no ResourceWarning is emitted." -msgstr "" - -#: ../../../build/NEWS:24108 -msgid "" -"`bpo-25940 `__: Changed test_ssl to use " -"its internal local server more. This avoids relying on svn.python.org, " -"which recently changed root certificate." -msgstr "" - -#: ../../../build/NEWS:24111 ../../../build/NEWS:26099 -msgid "" -"`bpo-25616 `__: Tests for OrderedDict " -"are extracted from test_collections into separate file test_ordered_dict." -msgstr "" - -#: ../../../build/NEWS:24114 ../../../build/NEWS:26650 -msgid "" -"`bpo-25449 `__: Added tests for " -"OrderedDict subclasses." -msgstr "" - -#: ../../../build/NEWS:24116 -msgid "" -"`bpo-25188 `__: Add -P/--pgo to test." -"regrtest to suppress error output when running the test suite for the " -"purposes of a PGO build. Initial patch by Alecsandru Patrascu." -msgstr "" - -#: ../../../build/NEWS:24120 -msgid "" -"`bpo-22806 `__: Add ``python -m test --" -"list-tests`` command to list tests." -msgstr "" - -#: ../../../build/NEWS:24122 -msgid "" -"`bpo-18174 `__: ``python -m test --" -"huntrleaks ...`` now also checks for leak of file descriptors. Patch written " -"by Richard Oudkerk." -msgstr "" - -#: ../../../build/NEWS:24125 -msgid "" -"`bpo-25260 `__: Fix ``python -m test --" -"coverage`` on Windows. Remove the list of ignored directories." -msgstr "" - -#: ../../../build/NEWS:24128 ../../../build/NEWS:26657 -msgid "" -"``PCbuild\\rt.bat`` now accepts an unlimited number of arguments to pass " -"along to regrtest.py. Previously there was a limit of 9." -msgstr "" - -#: ../../../build/NEWS:24131 ../../../build/NEWS:26102 -msgid "" -"`bpo-26583 `__: Skip " -"test_timestamp_overflow in test_import if bytecode files cannot be written." -msgstr "" - -#: ../../../build/NEWS:24137 -msgid "" -"`bpo-21277 `__: Don't try to link " -"_ctypes with a ffi_convenience library." -msgstr "" - -#: ../../../build/NEWS:24139 ../../../build/NEWS:26108 -msgid "" -"`bpo-26884 `__: Fix linking extension " -"modules for cross builds. Patch by Xavier de Gaye." -msgstr "" - -#: ../../../build/NEWS:24142 -msgid "" -"`bpo-26932 `__: Fixed support of RTLD_* " -"constants defined as enum values, not via macros (in particular on " -"Android). Patch by Chi Hsuan Yen." -msgstr "" - -#: ../../../build/NEWS:24145 ../../../build/NEWS:26111 -msgid "" -"`bpo-22359 `__: Disable the rules for " -"running _freeze_importlib and pgen when cross-compiling. The output of " -"these programs is normally saved with the source code anyway, and is still " -"regenerated when doing a native build. Patch by Xavier de Gaye." -msgstr "" - -#: ../../../build/NEWS:24150 -msgid "" -"`bpo-21668 `__: Link audioop, _datetime, " -"_ctypes_test modules to libm, except on Mac OS X. Patch written by Chi Hsuan " -"Yen." -msgstr "" - -#: ../../../build/NEWS:24153 ../../../build/NEWS:26122 -msgid "" -"`bpo-25702 `__: A --with-lto configure " -"option has been added that will enable link time optimizations at build time " -"during a make profile-opt. Some compilers and toolchains are known to not " -"produce stable code when using LTO, be sure to test things thoroughly before " -"relying on it. It can provide a few % speed up over profile-opt alone." -msgstr "" - -#: ../../../build/NEWS:24159 ../../../build/NEWS:26128 -msgid "" -"`bpo-26624 `__: Adds validation of " -"ucrtbase[d].dll version with warning for old versions." -msgstr "" - -#: ../../../build/NEWS:24162 ../../../build/NEWS:26131 -msgid "" -"`bpo-17603 `__: Avoid error about " -"nonexistent fileblocks.o file by using a lower-level check for st_blocks in " -"struct stat." -msgstr "" - -#: ../../../build/NEWS:24165 ../../../build/NEWS:26134 -msgid "" -"`bpo-26079 `__: Fixing the build output " -"folder for tix-8.4.3.6. Patch by Bjoern Thiel." -msgstr "" - -#: ../../../build/NEWS:24168 ../../../build/NEWS:26137 -msgid "" -"`bpo-26465 `__: Update Windows builds to " -"use OpenSSL 1.0.2g." -msgstr "" - -#: ../../../build/NEWS:24170 -msgid "" -"`bpo-25348 `__: Added ``--pgo`` and ``--" -"pgo-job`` arguments to ``PCbuild\\build.bat`` for building with Profile-" -"Guided Optimization. The old ``PCbuild\\build_pgo.bat`` script is removed." -msgstr "" - -#: ../../../build/NEWS:24174 ../../../build/NEWS:26148 -msgid "" -"`bpo-25827 `__: Add support for building " -"with ICC to ``configure``, including a new ``--with-icc`` flag." -msgstr "" - -#: ../../../build/NEWS:24177 ../../../build/NEWS:26151 -msgid "" -"`bpo-25696 `__: Fix installation of " -"Python on UNIX with make -j9." -msgstr "" - -#: ../../../build/NEWS:24179 ../../../build/NEWS:26668 -msgid "" -"`bpo-24986 `__: It is now possible to " -"build Python on Windows without errors when external libraries are not " -"available." -msgstr "" - -#: ../../../build/NEWS:24182 ../../../build/NEWS:26139 -msgid "" -"`bpo-24421 `__: Compile Modules/_math.c " -"once, before building extensions. Previously it could fail to compile " -"properly if the math and cmath builds were concurrent." -msgstr "" - -#: ../../../build/NEWS:24186 -msgid "" -"`bpo-26465 `__: Update OS X 10.5+ 32-bit-" -"only installer to build and link with OpenSSL 1.0.2g." -msgstr "" - -#: ../../../build/NEWS:24189 ../../../build/NEWS:26156 -msgid "" -"`bpo-26268 `__: Update Windows builds to " -"use OpenSSL 1.0.2f." -msgstr "" - -#: ../../../build/NEWS:24191 ../../../build/NEWS:26158 -msgid "" -"`bpo-25136 `__: Support Apple Xcode 7's " -"new textual SDK stub libraries." -msgstr "" - -#: ../../../build/NEWS:24193 ../../../build/NEWS:26160 -msgid "" -"`bpo-24324 `__: Do not enable " -"unreachable code warnings when using gcc as the option does not work " -"correctly in older versions of gcc and has been silently removed as of " -"gcc-4.5." -msgstr "" - -#: ../../../build/NEWS:24200 ../../../build/NEWS:26167 -msgid "" -"`bpo-27053 `__: Updates make_zip.py to " -"correctly generate library ZIP file." -msgstr "" - -#: ../../../build/NEWS:24202 ../../../build/NEWS:26169 -msgid "" -"`bpo-26268 `__: Update the prepare_ssl." -"py script to handle OpenSSL releases that don't include the contents of the " -"include directory (that is, 1.0.2e and later)." -msgstr "" - -#: ../../../build/NEWS:24206 ../../../build/NEWS:26173 -msgid "" -"`bpo-26071 `__: bdist_wininst created " -"binaries fail to start and find 32bit Python" -msgstr "" - -#: ../../../build/NEWS:24209 ../../../build/NEWS:26176 -msgid "" -"`bpo-26073 `__: Update the list of magic " -"numbers in launcher" -msgstr "" - -#: ../../../build/NEWS:24211 ../../../build/NEWS:26178 -msgid "" -"`bpo-26065 `__: Excludes venv from " -"library when generating embeddable distro." -msgstr "" - -#: ../../../build/NEWS:24213 ../../../build/NEWS:26707 -msgid "" -"`bpo-25022 `__: Removed very outdated PC/" -"example_nt/ directory." -msgstr "" - -#: ../../../build/NEWS:24218 ../../../build/NEWS:26183 -msgid "" -"`bpo-26799 `__: Fix python-gdb.py: don't " -"get C types once when the Python code is loaded, but get C types on demand. " -"The C types can change if python-gdb.py is loaded before the Python " -"executable. Patch written by Thomas Ilsche." -msgstr "" - -#: ../../../build/NEWS:24223 ../../../build/NEWS:26188 -msgid "" -"`bpo-26271 `__: Fix the Freeze tool to " -"properly use flags passed through configure. Patch by Daniel Shaulov." -msgstr "" - -#: ../../../build/NEWS:24226 ../../../build/NEWS:26191 -msgid "" -"`bpo-26489 `__: Add dictionary unpacking " -"support to Tools/parser/unparse.py. Patch by Guo Ci Teo." -msgstr "" - -#: ../../../build/NEWS:24229 ../../../build/NEWS:26194 -msgid "" -"`bpo-26316 `__: Fix variable name typo " -"in Argument Clinic." -msgstr "" - -#: ../../../build/NEWS:24231 ../../../build/NEWS:26712 -msgid "" -"`bpo-25440 `__: Fix output of python-" -"config --extension-suffix." -msgstr "" - -#: ../../../build/NEWS:24233 -msgid "" -"`bpo-25154 `__: The pyvenv script has " -"been deprecated in favour of `python3 -m venv`." -msgstr "" - -#: ../../../build/NEWS:24239 -msgid "" -"`bpo-26312 `__: SystemError is now " -"raised in all programming bugs with using PyArg_ParseTupleAndKeywords(). " -"RuntimeError did raised before in some programming bugs." -msgstr "" - -#: ../../../build/NEWS:24243 -msgid "" -"`bpo-26198 `__: ValueError is now raised " -"instead of TypeError on buffer overflow in parsing \"es#\" and \"et#\" " -"format units. SystemError is now raised instead of TypeError on " -"programmatical error in parsing format string." -msgstr "" - -#: ../../../build/NEWS:24250 -msgid "Python 3.5.5 final" -msgstr "" - -#: ../../../build/NEWS:24252 -msgid "*Release date: 2018-02-04*" -msgstr "" - -#: ../../../build/NEWS:24254 -msgid "There were no new changes in version 3.5.5." -msgstr "" - -#: ../../../build/NEWS:24259 -msgid "Python 3.5.5 release candidate 1" -msgstr "" - -#: ../../../build/NEWS:24261 -msgid "*Release date: 2018-01-23*" -msgstr "" - -#: ../../../build/NEWS:24266 -msgid "" -"`bpo-32551 `__: The ``sys.path[0]`` " -"initialization change for `bpo-29139 `__ " -"caused a regression by revealing an inconsistency in how sys.path is " -"initialized when executing ``__main__`` from a zipfile, directory, or other " -"import location. This is considered a potential security issue, as it may " -"lead to privileged processes unexpectedly loading code from user controlled " -"directories in situations where that was not previously the case. The " -"interpreter now consistently avoids ever adding the import location's parent " -"directory to ``sys.path``, and ensures no other ``sys.path`` entries are " -"inadvertently modified when inserting the import location named on the " -"command line. (Originally reported as `bpo-29723 `__ against Python 3.6rc1, but it was missed at the time that the " -"then upcoming Python 3.5.4 release would also be affected)" -msgstr "" - -#: ../../../build/NEWS:24279 -msgid "" -"`bpo-30657 `__: Fixed possible integer " -"overflow in PyBytes_DecodeEscape, CVE-2017-1000158. Original patch by Jay " -"Bosamiya; rebased to Python 3 by Miro Hrončok." -msgstr "" - -#: ../../../build/NEWS:24306 -msgid "Python 3.5.4 final" -msgstr "" - -#: ../../../build/NEWS:24308 -msgid "*Release date: 2017-08-07*" -msgstr "" - -#: ../../../build/NEWS:24318 -msgid "Python 3.5.4 release candidate 1" -msgstr "" - -#: ../../../build/NEWS:24320 -msgid "*Release date: 2017-07-23*" -msgstr "" - -#: ../../../build/NEWS:24372 -msgid "" -"`bpo-29537 `__: Restore runtime " -"compatibility with bytecode files generated by CPython 3.5.0 to 3.5.2, and " -"adjust the eval loop to avoid the problems that could be caused by the " -"malformed variant of the BUILD_MAP_UNPACK_WITH_CALL opcode that they may " -"contain. Patch by Petr Viktorin, Serhiy Storchaka, and Nick Coghlan." -msgstr "" - -#: ../../../build/NEWS:24654 -msgid "" -"`bpo-30822 `__: Fix regrtest command " -"line parser to allow passing -u extralargefile to run test_zipfile64." -msgstr "" - -#: ../../../build/NEWS:24657 -msgid "" -"`bpo-30383 `__: regrtest: Enhance " -"regrtest and backport features from the master branch. Add options: --" -"coverage, --testdir, --list-tests (list test files, don't run them), --list-" -"cases (list test identifiers, don't run them, :issue:`30523`), --matchfile " -"(load a list of test filters from a text file, :issue:`30540`), --slowest " -"(alias to --slow). Enhance output: add timestamp, test result, currently " -"running tests, \"Tests result: xxx\" summary with total duration, etc. Fix " -"reference leak hunting in regrtest, --huntrleaks: regrtest now warms up " -"caches, create explicitly all internal singletons which are created on " -"demand to prevent false positives when checking for reference leaks. (:issue:" -"`30675`)." -msgstr "" - -#: ../../../build/NEWS:24714 -msgid "" -"`bpo-27867 `__: Function " -"PySlice_GetIndicesEx() is replaced with a macro if Py_LIMITED_API is set to " -"the value between 0x03050400 and 0x03060000 (not including) or 0x03060100 or " -"higher." -msgstr "" - -#: ../../../build/NEWS:24726 -msgid "Python 3.5.3 final" -msgstr "" - -#: ../../../build/NEWS:24728 -msgid "*Release date: 2017-01-17*" -msgstr "" - -#: ../../../build/NEWS:24730 -msgid "There were no code changes between 3.5.3rc1 and 3.5.3 final." -msgstr "" - -#: ../../../build/NEWS:24735 -msgid "Python 3.5.3 release candidate 1" -msgstr "" - -#: ../../../build/NEWS:24737 -msgid "*Release date: 2017-01-02*" -msgstr "" - -#: ../../../build/NEWS:24742 -msgid "" -"`bpo-29073 `__: bytearray formatting no " -"longer truncates on first null byte." -msgstr "" - -#: ../../../build/NEWS:24746 -msgid "" -"`bpo-28147 `__: Fix a memory leak in " -"split-table dictionaries: setattr() must not convert combined table into " -"split table." -msgstr "" - -#: ../../../build/NEWS:24758 -msgid "" -"`bpo-28991 `__: functools.lru_cache() " -"was susceptible to an obscure reentrancy bug caused by a monkey-patched " -"len() function." -msgstr "" - -#: ../../../build/NEWS:24801 -msgid "" -"`bpo-28203 `__: Fix incorrect type in " -"error message from ``complex(1.0, {2:3})``. Patch by Soumya Sharma." -msgstr "" - -#: ../../../build/NEWS:24816 -msgid "" -"`bpo-28189 `__: dictitems_contains no " -"longer swallows compare errors. (Patch by Xiang Zhang)" -msgstr "" - -#: ../../../build/NEWS:24828 -msgid "" -"`bpo-26020 `__: set literal evaluation " -"order did not match documented behaviour." -msgstr "" - -#: ../../../build/NEWS:24847 -msgid "" -"`bpo-27419 `__: Standard __import__() no " -"longer look up \"__import__\" in globals or builtins for importing " -"submodules or \"from import\". Fixed handling an error of non-string " -"package name." -msgstr "" - -#: ../../../build/NEWS:24899 -msgid "" -"`bpo-20191 `__: Fixed a crash in " -"resource.prlimit() when pass a sequence that doesn't own its elements as " -"limits." -msgstr "" - -#: ../../../build/NEWS:24950 -msgid "" -"`bpo-28488 `__: shutil.make_archive() no " -"longer add entry \"./\" to ZIP archive." -msgstr "" - -#: ../../../build/NEWS:24988 -msgid "" -"`bpo-27611 `__: Fixed support of default " -"root window in the tkinter.tix module." -msgstr "" - -#: ../../../build/NEWS:25014 -msgid "" -"`bpo-19003 `__: m email.generator now " -"replaces only ``\\r`` and/or ``\\n`` line endings, per the RFC, instead of " -"all unicode line endings." -msgstr "" - -#: ../../../build/NEWS:25086 -msgid "" -"A new version of typing.py from https://github.com/python/typing: Collection " -"(only for 3.6) (`bpo-27598 `__). Add " -"FrozenSet to __all__ (upstream #261). Fix crash in _get_type_vars() " -"(upstream #259). Remove the dict constraint in ForwardRef._eval_type " -"(upstream #252)." -msgstr "" - -#: ../../../build/NEWS:25102 -msgid "" -"`bpo-26750 `__: unittest.mock." -"create_autospec() now works properly for subclasses of property() and other " -"data descriptors." -msgstr "" - -#: ../../../build/NEWS:25146 -msgid "" -"`bpo-26664 `__: Fix activate.fish by " -"removing mis-use of ``$``." -msgstr "" - -#: ../../../build/NEWS:25148 -msgid "" -"`bpo-22115 `__: Fixed tracing Tkinter " -"variables: trace_vdelete() with wrong mode no longer break tracing, " -"trace_vinfo() now always returns a list of pairs of strings, tracing in the " -"\"u\" mode now works." -msgstr "" - -#: ../../../build/NEWS:25152 -msgid "" -"Fix a scoping issue in importlib.util.LazyLoader which triggered an " -"UnboundLocalError when lazy-loading a module that was already put into sys." -"modules." -msgstr "" - -#: ../../../build/NEWS:25252 -msgid "" -"`bpo-28600 `__: Optimize loop." -"call_soon()." -msgstr "" - -#: ../../../build/NEWS:25266 -msgid "" -"`bpo-24142 `__: Reading a corrupt config " -"file left the parser in an invalid state. Original patch by Florian Höch." -msgstr "" - -#: ../../../build/NEWS:25269 -msgid "" -"`bpo-28990 `__: Fix SSL hanging if " -"connection is closed before handshake completed. (Patch by HoHo-Ho)" -msgstr "" - -#: ../../../build/NEWS:25305 -msgid "" -"`bpo-26754 `__: PyUnicode_FSDecoder() " -"accepted a filename argument encoded as an iterable of integers. Now only " -"strings and bytes-like objects are accepted." -msgstr "" - -#: ../../../build/NEWS:25317 -msgid "" -"`bpo-28950 `__: Disallow -j0 to be " -"combined with -T/-l/-M in regrtest command line arguments." -msgstr "" - -#: ../../../build/NEWS:25358 -msgid "" -"`bpo-27309 `__: Enabled proper Windows " -"styles in python[w].exe manifest." -msgstr "" - -#: ../../../build/NEWS:25391 -msgid "" -"`bpo-27983 `__: Cause lack of llvm-" -"profdata tool when using clang as required for PGO linking to be a configure " -"time error rather than make time when --with-optimizations is enabled. Also " -"improve our ability to find the llvm-profdata tool on MacOS and some Linuxes." -msgstr "" - -#: ../../../build/NEWS:25398 -msgid "" -"`bpo-26359 `__: Add the --with-" -"optimizations configure flag." -msgstr "" - -#: ../../../build/NEWS:25403 -msgid "" -"`bpo-25825 `__: Correct the references " -"to Modules/python.exp and ld_so_aix, which are required on AIX. This " -"updates references to an installation path that was changed in 3.2a4, and " -"undoes changed references to the build tree that were made in 3.5.0a1." -msgstr "" - -#: ../../../build/NEWS:25426 -msgid "Python 3.5.2 final" -msgstr "" - -#: ../../../build/NEWS:25428 -msgid "*Release date: 2016-06-26*" -msgstr "" - -#: ../../../build/NEWS:25438 -msgid "" -"`bpo-26867 `__: Ubuntu's openssl " -"OP_NO_SSLv3 is forced on by default; fix test." -msgstr "" - -#: ../../../build/NEWS:25443 -msgid "" -"`bpo-27365 `__: Allow non-ascii in " -"idlelib/NEWS.txt - minimal part for 3.5.2." -msgstr "" - -#: ../../../build/NEWS:25447 -msgid "Python 3.5.2 release candidate 1" -msgstr "" - -#: ../../../build/NEWS:25449 -msgid "*Release date: 2016-06-12*" -msgstr "" - -#: ../../../build/NEWS:25465 -msgid "" -"`bpo-27039 `__: Fixed bytearray.remove() " -"for values greater than 127. Patch by Joe Jevnik." -msgstr "" - -#: ../../../build/NEWS:25520 -msgid "" -"`bpo-26194 `__: Deque.insert() gave odd " -"results for bounded deques that had reached their maximum size. Now an " -"IndexError will be raised when attempting to insert into a full deque." -msgstr "" - -#: ../../../build/NEWS:25524 -msgid "" -"`bpo-25843 `__: When compiling code, " -"don't merge constants if they are equal but have a different types. For " -"example, ``f1, f2 = lambda: 1, lambda: 1.0`` is now correctly compiled to " -"two different functions: ``f1()`` returns ``1`` (``int``) and ``f2()`` " -"returns ``1.0`` (``int``), even if ``1`` and ``1.0`` are equal." -msgstr "" - -#: ../../../build/NEWS:25586 -msgid "" -"Fix TLS stripping vulnerability in smtplib, CVE-2016-0772. Reported by Team " -"Oststrom" -msgstr "" - -#: ../../../build/NEWS:25771 -msgid "" -"`bpo-21925 `__: :func:`warnings." -"formatwarning` now catches exceptions on ``linecache.getline(...)`` to be " -"able to log :exc:`ResourceWarning` emitted late during the Python shutdown " -"process." -msgstr "" - -#: ../../../build/NEWS:25813 -msgid "" -"`bpo-15068 `__: Got rid of excessive " -"buffering in the fileinput module. The bufsize parameter is no longer used." -msgstr "" - -#: ../../../build/NEWS:25842 -msgid "" -"`bpo-26367 `__: importlib.__import__() " -"raises SystemError like builtins.__import__() when ``level`` is specified " -"but without an accompanying package specified." -msgstr "" - -#: ../../../build/NEWS:25901 -msgid "" -"`bpo-17633 `__: Improve zipimport's " -"support for namespace packages." -msgstr "" - -#: ../../../build/NEWS:26000 -msgid "" -"`bpo-27223 `__: asyncio: Fix _read_ready " -"and _write_ready to respect _conn_lost. Patch by Łukasz Langa." -msgstr "" - -#: ../../../build/NEWS:26003 -msgid "" -"`bpo-22970 `__: asyncio: Fix " -"inconsistency cancelling Condition.wait. Patch by David Coles." -msgstr "" - -#: ../../../build/NEWS:26039 -msgid "" -"`bpo-21703 `__: Add test for IDLE's undo " -"delegator. Original patch by Saimadhav Heblikar ." -msgstr "" - -#: ../../../build/NEWS:26075 -msgid "" -"`bpo-25500 `__: Fix documentation to not " -"claim that __import__ is searched for in the global scope." -msgstr "" - -#: ../../../build/NEWS:26096 -msgid "" -"`bpo-25940 `__: Changed test_ssl to use " -"self-signed.pythontest.net. This avoids relying on svn.python.org, which " -"recently changed root certificate." -msgstr "" - -#: ../../../build/NEWS:26119 -msgid "" -"`bpo-21668 `__: Link audioop, _datetime, " -"_ctypes_test modules to libm, except on Mac OS X. Patch written by Xavier de " -"Gaye." -msgstr "" - -#: ../../../build/NEWS:26143 -msgid "" -"`bpo-25348 `__: Added ``--pgo`` and ``--" -"pgo-job`` arguments to ``PCbuild\\build.bat`` for building with Profile-" -"Guided Optimization. The old ``PCbuild\\build_pgo.bat`` script is now " -"deprecated, and simply calls ``PCbuild\\build.bat --pgo %*``." -msgstr "" - -#: ../../../build/NEWS:26204 -msgid "Python 3.5.1 final" -msgstr "" - -#: ../../../build/NEWS:26206 -msgid "*Release date: 2015-12-06*" -msgstr "" - -#: ../../../build/NEWS:26217 -msgid "" -"`bpo-25715 `__: Python 3.5.1 installer " -"shows wrong upgrade path and incorrect logic for launcher detection." -msgstr "" - -#: ../../../build/NEWS:26222 -msgid "Python 3.5.1 release candidate 1" -msgstr "" - -#: ../../../build/NEWS:26224 -msgid "*Release date: 2015-11-22*" -msgstr "" - -#: ../../../build/NEWS:26283 -msgid "" -"`bpo-25182 `__: The stdprinter (used as " -"sys.stderr before the io module is imported at startup) now uses the " -"backslashreplace error handler." -msgstr "" - -#: ../../../build/NEWS:26286 -msgid "" -"`bpo-25131 `__: Make the line number and " -"column offset of set/dict literals and comprehensions correspond to the " -"opening brace." -msgstr "" - -#: ../../../build/NEWS:26289 -msgid "" -"`bpo-25150 `__: Hide the private " -"_Py_atomic_xxx symbols from the public Python.h header to fix a compilation " -"error with OpenMP. PyThreadState_GET() becomes an alias to " -"PyThreadState_Get() to avoid ABI incompatibilities." -msgstr "" - -#: ../../../build/NEWS:26313 -msgid "" -"`bpo-25590 `__: In the Readline " -"completer, only call getattr() once per attribute." -msgstr "" - -#: ../../../build/NEWS:26391 -msgid "" -"`bpo-24483 `__: C implementation of " -"functools.lru_cache() now calculates key's hash only once." -msgstr "" - -#: ../../../build/NEWS:26394 -msgid "" -"`bpo-22958 `__: Constructor and update " -"method of weakref.WeakValueDictionary now accept the self and the dict " -"keyword arguments." -msgstr "" - -#: ../../../build/NEWS:26397 -msgid "" -"`bpo-22609 `__: Constructor of " -"collections.UserDict now accepts the self keyword argument." -msgstr "" - -#: ../../../build/NEWS:26400 -msgid "" -"`bpo-25111 `__: Fixed comparison of " -"traceback.FrameSummary." -msgstr "" - -#: ../../../build/NEWS:26402 -msgid "" -"`bpo-25262 `__: Added support for " -"BINBYTES8 opcode in Python implementation of unpickler. Highest 32 bits of " -"64-bit size for BINUNICODE8 and BINBYTES8 opcodes no longer silently ignored " -"on 32-bit platforms in C implementation." -msgstr "" - -#: ../../../build/NEWS:26407 -msgid "" -"`bpo-25034 `__: Fix string.Formatter " -"problem with auto-numbering and nested format_specs. Patch by Anthon van der " -"Neut." -msgstr "" - -#: ../../../build/NEWS:26410 -msgid "" -"`bpo-25233 `__: Rewrite the guts of " -"asyncio.Queue and asyncio.Semaphore to be more understandable and correct." -msgstr "" - -#: ../../../build/NEWS:26419 -msgid "" -"`bpo-23329 `__: Allow the ssl module to " -"be built with older versions of LibreSSL." -msgstr "" - -#: ../../../build/NEWS:26422 -msgid "Prevent overflow in _Unpickler_Read." -msgstr "" - -#: ../../../build/NEWS:26424 -msgid "" -"`bpo-25047 `__: The XML encoding " -"declaration written by Element Tree now respects the letter case given by " -"the user. This restores the ability to write encoding names in uppercase " -"like \"UTF-8\", which worked in Python 2." -msgstr "" - -#: ../../../build/NEWS:26428 -msgid "" -"`bpo-25135 `__: Make deque_clear() safer " -"by emptying the deque before clearing. This helps avoid possible reentrancy " -"issues." -msgstr "" - -#: ../../../build/NEWS:26431 -msgid "" -"`bpo-19143 `__: platform module now " -"reads Windows version from kernel32.dll to avoid compatibility shims." -msgstr "" - -#: ../../../build/NEWS:26434 -msgid "" -"`bpo-25092 `__: Fix datetime.strftime() " -"failure when errno was already set to EINVAL." -msgstr "" - -#: ../../../build/NEWS:26437 -msgid "" -"`bpo-23517 `__: Fix rounding in " -"fromtimestamp() and utcfromtimestamp() methods of datetime.datetime: " -"microseconds are now rounded to nearest with ties going to nearest even " -"integer (ROUND_HALF_EVEN), instead of being rounding towards minus infinity " -"(ROUND_FLOOR). It's important that these methods use the same rounding mode " -"than datetime.timedelta to keep the property: (datetime(1970,1,1) + " -"timedelta(seconds=t)) == datetime.utcfromtimestamp(t). It also the rounding " -"mode used by round(float) for example." -msgstr "" - -#: ../../../build/NEWS:26446 -msgid "" -"`bpo-25155 `__: Fix datetime.datetime." -"now() and datetime.datetime.utcnow() on Windows to support date after year " -"2038. It was a regression introduced in Python 3.5.0." -msgstr "" - -#: ../../../build/NEWS:26450 -msgid "" -"`bpo-25108 `__: Omitted internal frames " -"in traceback functions print_stack(), format_stack(), and extract_stack() " -"called without arguments." -msgstr "" - -#: ../../../build/NEWS:26453 -msgid "" -"`bpo-25118 `__: Fix a regression of " -"Python 3.5.0 in os.waitpid() on Windows." -msgstr "" - -#: ../../../build/NEWS:26455 -msgid "" -"`bpo-24684 `__: socket.socket." -"getaddrinfo() now calls PyUnicode_AsEncodedString() instead of calling the " -"encode() method of the host, to handle correctly custom string with an " -"encode() method which doesn't return a byte string. The encoder of the IDNA " -"codec is now called directly instead of calling the encode() method of the " -"string." -msgstr "" - -#: ../../../build/NEWS:26461 -msgid "" -"`bpo-25060 `__: Correctly compute stack " -"usage of the BUILD_MAP opcode." -msgstr "" - -#: ../../../build/NEWS:26463 -msgid "" -"`bpo-24857 `__: Comparing call_args to a " -"long sequence now correctly returns a boolean result instead of raising an " -"exception. Patch by A Kaptur." -msgstr "" - -#: ../../../build/NEWS:26466 -msgid "" -"`bpo-23144 `__: Make sure that " -"HTMLParser.feed() returns all the data, even when convert_charrefs is True." -msgstr "" - -#: ../../../build/NEWS:26469 -msgid "" -"`bpo-24982 `__: shutil.make_archive() " -"with the \"zip\" format now adds entries for directories (including empty " -"directories) in ZIP file." -msgstr "" - -#: ../../../build/NEWS:26472 -msgid "" -"`bpo-25019 `__: Fixed a crash caused by " -"setting non-string key of expat parser. Based on patch by John Leitch." -msgstr "" - -#: ../../../build/NEWS:26475 -msgid "" -"`bpo-16180 `__: Exit pdb if file has " -"syntax error, instead of trapping user in an infinite loop. Patch by Xavier " -"de Gaye." -msgstr "" - -#: ../../../build/NEWS:26478 -msgid "" -"`bpo-24891 `__: Fix a race condition at " -"Python startup if the file descriptor of stdin (0), stdout (1) or stderr (2) " -"is closed while Python is creating sys.stdin, sys.stdout and sys.stderr " -"objects. These attributes are now set to None if the creation of the object " -"failed, instead of raising an OSError exception. Initial patch written by " -"Marco Paolini." -msgstr "" - -#: ../../../build/NEWS:26484 -msgid "" -"`bpo-24992 `__: Fix error handling and a " -"race condition (related to garbage collection) in collections.OrderedDict " -"constructor." -msgstr "" - -#: ../../../build/NEWS:26487 -msgid "" -"`bpo-24881 `__: Fixed setting binary " -"mode in Python implementation of FileIO on Windows and Cygwin. Patch from " -"Akira Li." -msgstr "" - -#: ../../../build/NEWS:26503 -msgid "" -"`bpo-21112 `__: Fix regression in " -"unittest.expectedFailure on subclasses. Patch from Berker Peksag." -msgstr "" - -#: ../../../build/NEWS:26506 -msgid "" -"`bpo-24764 `__: cgi.FieldStorage." -"read_multi() now ignores the Content-Length header in part headers. Patch " -"written by Peter Landry and reviewed by Pierre Quentel." -msgstr "" - -#: ../../../build/NEWS:26510 ../../../build/NEWS:26775 -msgid "" -"`bpo-24913 `__: Fix overrun error in " -"deque.index(). Found by John Leitch and Bryce Darling." -msgstr "" - -#: ../../../build/NEWS:26513 -msgid "" -"`bpo-24774 `__: Fix docstring in http." -"server.test. Patch from Chiu-Hsiang Hsu." -msgstr "" - -#: ../../../build/NEWS:26515 -msgid "" -"`bpo-21159 `__: Improve message in " -"configparser.InterpolationMissingOptionError. Patch from Łukasz Langa." -msgstr "" - -#: ../../../build/NEWS:26518 -msgid "" -"`bpo-20362 `__: Honour TestCase." -"longMessage correctly in assertRegex. Patch from Ilia Kurenkov." -msgstr "" - -#: ../../../build/NEWS:26521 -msgid "" -"`bpo-23572 `__: Fixed functools." -"singledispatch on classes with falsy metaclasses. Patch by Ethan Furman." -msgstr "" - -#: ../../../build/NEWS:26524 -msgid "asyncio: ensure_future() now accepts awaitable objects." -msgstr "" - -#: ../../../build/NEWS:26612 -msgid "" -"`bpo-16893 `__: Replace help.txt with " -"help.html for Idle doc display. The new idlelib/help.html is rstripped Doc/" -"build/html/library/idle.html. It looks better than help.txt and will better " -"document Idle as released. The tkinter html viewer that works for this file " -"was written by Mark Roseman. The now unused EditorWindow.HelpDialog class " -"and helt.txt file are deprecated." -msgstr "" - -#: ../../../build/NEWS:26629 -msgid "" -"`bpo-12067 `__: Rewrite Comparisons " -"section in the Expressions chapter of the language reference. Some of the " -"details of comparing mixed types were incorrect or ambiguous. NotImplemented " -"is only relevant at a lower level than the Expressions chapter. Added " -"details of comparing range() objects, and default behaviour and consistency " -"suggestions for user-defined classes. Patch from Andy Maier." -msgstr "" - -#: ../../../build/NEWS:26639 -msgid "" -"`bpo-23725 `__: Overhaul tempfile docs. " -"Note deprecated status of mktemp. Patch from Zbigniew Jędrzejewski-Szmek." -msgstr "" - -#: ../../../build/NEWS:26642 -msgid "" -"`bpo-24808 `__: Update the types of some " -"PyTypeObject fields. Patch by Joseph Weston." -msgstr "" - -#: ../../../build/NEWS:26645 -msgid "" -"`bpo-22812 `__: Fix unittest discovery " -"examples. Patch from Pam McA'Nulty." -msgstr "" - -#: ../../../build/NEWS:26652 -msgid "" -"`bpo-25099 `__: Make test_compileall not " -"fail when an entry on sys.path cannot be written to (commonly seen in " -"administrative installs on Windows)." -msgstr "" - -#: ../../../build/NEWS:26655 -msgid "" -"`bpo-23919 `__: Prevents assert dialogs " -"appearing in the test suite." -msgstr "" - -#: ../../../build/NEWS:26663 -msgid "" -"`bpo-24915 `__: Add LLVM support for PGO " -"builds and use the test suite to generate the profile data. Initial patch by " -"Alecsandru Patrascu of Intel." -msgstr "" - -#: ../../../build/NEWS:26666 -msgid "" -"`bpo-24910 `__: Windows MSIs now have " -"unique display names." -msgstr "" - -#: ../../../build/NEWS:26674 -msgid "" -"`bpo-25450 `__: Updates shortcuts to " -"start Python in installation directory." -msgstr "" - -#: ../../../build/NEWS:26676 -msgid "" -"`bpo-25164 `__: Changes default all-" -"users install directory to match per-user directory." -msgstr "" - -#: ../../../build/NEWS:26679 -msgid "" -"`bpo-25143 `__: Improves installer error " -"messages for unsupported platforms." -msgstr "" - -#: ../../../build/NEWS:26681 -msgid "" -"`bpo-25163 `__: Display correct " -"directory in installer when using non-default settings." -msgstr "" - -#: ../../../build/NEWS:26684 -msgid "" -"`bpo-25361 `__: Disables use of SSE2 " -"instructions in Windows 32-bit build" -msgstr "" - -#: ../../../build/NEWS:26686 -msgid "" -"`bpo-25089 `__: Adds logging to " -"installer for case where launcher is not selected on upgrade." -msgstr "" - -#: ../../../build/NEWS:26689 -msgid "" -"`bpo-25165 `__: Windows uninstallation " -"should not remove launcher if other versions remain" -msgstr "" - -#: ../../../build/NEWS:26692 -msgid "" -"`bpo-25112 `__: py.exe launcher is " -"missing icons" -msgstr "" - -#: ../../../build/NEWS:26694 -msgid "" -"`bpo-25102 `__: Windows installer does " -"not precompile for -O or -OO." -msgstr "" - -#: ../../../build/NEWS:26696 -msgid "" -"`bpo-25081 `__: Makes Back button in " -"installer go back to upgrade page when upgrading." -msgstr "" - -#: ../../../build/NEWS:26699 -msgid "" -"`bpo-25091 `__: Increases font size of " -"the installer." -msgstr "" - -#: ../../../build/NEWS:26701 -msgid "" -"`bpo-25126 `__: Clarifies that the non-" -"web installer will download some components." -msgstr "" - -#: ../../../build/NEWS:26704 -msgid "" -"`bpo-25213 `__: Restores " -"requestedExecutionLevel to manifest to disable UAC virtualization." -msgstr "" - -#: ../../../build/NEWS:26716 -msgid "Python 3.5.0 final" -msgstr "" - -#: ../../../build/NEWS:26718 -msgid "*Release date: 2015-09-13*" -msgstr "" - -#: ../../../build/NEWS:26723 -msgid "" -"`bpo-25071 `__: Windows installer should " -"not require TargetDir parameter when installing quietly." -msgstr "" - -#: ../../../build/NEWS:26728 -msgid "Python 3.5.0 release candidate 4" -msgstr "" - -#: ../../../build/NEWS:26730 -msgid "*Release date: 2015-09-09*" -msgstr "" - -#: ../../../build/NEWS:26735 -msgid "" -"`bpo-25029 `__: Fixes MemoryError in " -"test_strptime." -msgstr "" - -#: ../../../build/NEWS:26740 -msgid "" -"`bpo-25027 `__: Reverts partial-static " -"build options and adds vcruntime140.dll to Windows installation." -msgstr "" - -#: ../../../build/NEWS:26745 -msgid "Python 3.5.0 release candidate 3" -msgstr "" - -#: ../../../build/NEWS:26747 -msgid "*Release date: 2015-09-07*" -msgstr "" - -#: ../../../build/NEWS:26752 -msgid "" -"`bpo-24305 `__: Prevent import subsystem " -"stack frames from being counted by the warnings.warn(stacklevel=) parameter." -msgstr "" - -#: ../../../build/NEWS:26755 -msgid "" -"`bpo-24912 `__: Prevent __class__ " -"assignment to immutable built-in objects." -msgstr "" - -#: ../../../build/NEWS:26757 -msgid "" -"`bpo-24975 `__: Fix AST compilation for :" -"pep:`448` syntax." -msgstr "" - -#: ../../../build/NEWS:26762 -msgid "" -"`bpo-24917 `__: time_strftime() buffer " -"over-read." -msgstr "" - -#: ../../../build/NEWS:26764 -msgid "" -"`bpo-24748 `__: To resolve a " -"compatibility problem found with py2exe and pywin32, imp.load_dynamic() once " -"again ignores previously loaded modules to support Python modules replacing " -"themselves with extension modules. Patch by Petr Viktorin." -msgstr "" - -#: ../../../build/NEWS:26769 -msgid "" -"`bpo-24635 `__: Fixed a bug in typing.py " -"where isinstance([], typing.Iterable) would return True once, then False on " -"subsequent calls." -msgstr "" - -#: ../../../build/NEWS:26772 -msgid "" -"`bpo-24989 `__: Fixed buffer overread in " -"BytesIO.readline() if a position is set beyond size. Based on patch by John " -"Leitch." -msgstr "" - -#: ../../../build/NEWS:26780 -msgid "Python 3.5.0 release candidate 2" -msgstr "" - -#: ../../../build/NEWS:26782 -msgid "*Release date: 2015-08-25*" -msgstr "" - -#: ../../../build/NEWS:26787 -msgid "" -"`bpo-24769 `__: Interpreter now starts " -"properly when dynamic loading is disabled. Patch by Petr Viktorin." -msgstr "" - -#: ../../../build/NEWS:26790 -msgid "" -"`bpo-21167 `__: NAN operations are now " -"handled correctly when python is compiled with ICC even if -fp-model strict " -"is not specified." -msgstr "" - -#: ../../../build/NEWS:26793 -msgid "" -"`bpo-24492 `__: A \"package\" lacking a " -"__name__ attribute when trying to perform a ``from .. import ...`` statement " -"will trigger an ImportError instead of an AttributeError." -msgstr "" - -#: ../../../build/NEWS:26800 -msgid "" -"`bpo-24847 `__: Removes vcruntime140.dll " -"dependency from Tcl/Tk." -msgstr "" - -#: ../../../build/NEWS:26802 -msgid "" -"`bpo-24839 `__: platform._syscmd_ver " -"raises DeprecationWarning" -msgstr "" - -#: ../../../build/NEWS:26804 -msgid "" -"`bpo-24867 `__: Fix Task.get_stack() for " -"'async def' coroutines" -msgstr "" - -#: ../../../build/NEWS:26808 -msgid "Python 3.5.0 release candidate 1" -msgstr "" - -#: ../../../build/NEWS:26810 -msgid "*Release date: 2015-08-09*" -msgstr "" - -#: ../../../build/NEWS:26815 -msgid "" -"`bpo-24667 `__: Resize odict in all " -"cases that the underlying dict resizes." -msgstr "" - -#: ../../../build/NEWS:26820 -msgid "" -"`bpo-24824 `__: Signatures of codecs." -"encode() and codecs.decode() now are compatible with pydoc." -msgstr "" - -#: ../../../build/NEWS:26823 -msgid "" -"`bpo-24634 `__: Importing uuid should " -"not try to load libc on Windows" -msgstr "" - -#: ../../../build/NEWS:26825 -msgid "" -"`bpo-24798 `__: _msvccompiler.py doesn't " -"properly support manifests" -msgstr "" - -#: ../../../build/NEWS:26827 -msgid "" -"`bpo-4395 `__: Better testing and " -"documentation of binary operators. Patch by Martin Panter." -msgstr "" - -#: ../../../build/NEWS:26830 -msgid "" -"`bpo-23973 `__: Update typing.py from " -"GitHub repo." -msgstr "" - -#: ../../../build/NEWS:26832 -msgid "" -"`bpo-23004 `__: mock_open() now reads " -"binary data correctly when the type of read_data is bytes. Initial patch by " -"Aaron Hill." -msgstr "" - -#: ../../../build/NEWS:26835 -msgid "" -"`bpo-23888 `__: Handle fractional time " -"in cookie expiry. Patch by ssh." -msgstr "" - -#: ../../../build/NEWS:26837 -msgid "" -"`bpo-23652 `__: Make it possible to " -"compile the select module against the libc headers from the Linux Standard " -"Base, which do not include some EPOLL macros. Patch by Matt Frank." -msgstr "" - -#: ../../../build/NEWS:26841 -msgid "" -"`bpo-22932 `__: Fix timezones in email." -"utils.formatdate. Patch from Dmitry Shachnev." -msgstr "" - -#: ../../../build/NEWS:26844 -msgid "" -"`bpo-23779 `__: imaplib raises TypeError " -"if authenticator tries to abort. Patch from Craig Holmquist." -msgstr "" - -#: ../../../build/NEWS:26847 -msgid "" -"`bpo-23319 `__: Fix ctypes." -"BigEndianStructure, swap correctly bytes. Patch written by Matthieu Gautier." -msgstr "" - -#: ../../../build/NEWS:26850 -msgid "" -"`bpo-23254 `__: Document how to close " -"the TCPServer listening socket. Patch from Martin Panter." -msgstr "" - -#: ../../../build/NEWS:26853 -msgid "" -"`bpo-19450 `__: Update Windows and OS X " -"installer builds to use SQLite 3.8.11." -msgstr "" - -#: ../../../build/NEWS:26855 -msgid "" -"`bpo-17527 `__: Add PATCH to wsgiref." -"validator. Patch from Luca Sbardella." -msgstr "" - -#: ../../../build/NEWS:26857 -msgid "" -"`bpo-24791 `__: Fix grammar regression " -"for call syntax: 'g(\\*a or b)'." -msgstr "" - -#: ../../../build/NEWS:26862 -msgid "" -"`bpo-23672 `__: Allow Idle to edit and " -"run files with astral chars in name. Patch by Mohd Sanad Zaki Rizvi." -msgstr "" - -#: ../../../build/NEWS:26865 -msgid "" -"`bpo-24745 `__: Idle editor default " -"font. Switch from Courier to platform-sensitive TkFixedFont. This should " -"not affect current customized font selections. If there is a problem, edit " -"$HOME/.idlerc/config-main.cfg and remove 'fontxxx' entries from [Editor " -"Window]. Patch by Mark Roseman." -msgstr "" - -#: ../../../build/NEWS:26871 -msgid "" -"`bpo-21192 `__: Idle editor. When a file " -"is run, put its name in the restart bar. Do not print false prompts. " -"Original patch by Adnan Umer." -msgstr "" - -#: ../../../build/NEWS:26874 -msgid "" -"`bpo-13884 `__: Idle menus. Remove " -"tearoff lines. Patch by Roger Serwy." -msgstr "" - -#: ../../../build/NEWS:26879 -msgid "" -"`bpo-24129 `__: Clarify the reference " -"documentation for name resolution. This includes removing the assumption " -"that readers will be familiar with the name resolution scheme Python used " -"prior to the introduction of lexical scoping for function namespaces. Patch " -"by Ivan Levkivskyi." -msgstr "" - -#: ../../../build/NEWS:26884 -msgid "" -"`bpo-20769 `__: Improve reload() docs. " -"Patch by Dorian Pula." -msgstr "" - -#: ../../../build/NEWS:26886 -msgid "" -"`bpo-23589 `__: Remove duplicate " -"sentence from the FAQ. Patch by Yongzhi Pan." -msgstr "" - -#: ../../../build/NEWS:26888 -msgid "" -"`bpo-24729 `__: Correct IO tutorial to " -"match implementation regarding encoding parameter to open function." -msgstr "" - -#: ../../../build/NEWS:26894 -msgid "" -"`bpo-24751 `__: When running regrtest " -"with the ``-w`` command line option, a test run is no longer marked as a " -"failure if all tests succeed when re-run." -msgstr "" - -#: ../../../build/NEWS:26900 -msgid "Python 3.5.0 beta 4" -msgstr "" - -#: ../../../build/NEWS:26902 -msgid "*Release date: 2015-07-26*" -msgstr "" - -#: ../../../build/NEWS:26907 -msgid "" -"`bpo-23573 `__: Restored optimization of " -"bytes.rfind() and bytearray.rfind() for single-byte argument on Linux." -msgstr "" - -#: ../../../build/NEWS:26910 -msgid "" -"`bpo-24569 `__: Make :pep:`448` " -"dictionary evaluation more consistent." -msgstr "" - -#: ../../../build/NEWS:26912 -msgid "" -"`bpo-24583 `__: Fix crash when set is " -"mutated while being updated." -msgstr "" - -#: ../../../build/NEWS:26914 -msgid "" -"`bpo-24407 `__: Fix crash when dict is " -"mutated while being updated." -msgstr "" - -#: ../../../build/NEWS:26916 -msgid "" -"`bpo-24619 `__: New approach for " -"tokenizing async/await. As a consequence, it is now possible to have one-" -"line 'async def foo(): await ..' functions." -msgstr "" - -#: ../../../build/NEWS:26919 -msgid "" -"`bpo-24687 `__: Plug refleak on " -"SyntaxError in function parameters annotations." -msgstr "" - -#: ../../../build/NEWS:26921 -msgid "" -"`bpo-15944 `__: memoryview: Allow " -"arbitrary formats when casting to bytes. Patch by Martin Panter." -msgstr "" - -#: ../../../build/NEWS:26927 -msgid "" -"`bpo-23441 `__: rcompleter now prints a " -"tab character instead of displaying possible completions for an empty word. " -"Initial patch by Martin Sekera." -msgstr "" - -#: ../../../build/NEWS:26930 -msgid "" -"`bpo-24683 `__: Fixed crashes in _json " -"functions called with arguments of inappropriate type." -msgstr "" - -#: ../../../build/NEWS:26933 -msgid "" -"`bpo-21697 `__: shutil.copytree() now " -"correctly handles symbolic links that point to directories. Patch by " -"Eduardo Seabra and Thomas Kluyver." -msgstr "" - -#: ../../../build/NEWS:26936 -msgid "" -"`bpo-14373 `__: Fixed segmentation fault " -"when gc.collect() is called during constructing lru_cache (C implementation)." -msgstr "" - -#: ../../../build/NEWS:26939 -msgid "" -"`bpo-24695 `__: Fix a regression in " -"traceback.print_exception(). If exc_traceback is None we shouldn't print a " -"traceback header like described in the documentation." -msgstr "" - -#: ../../../build/NEWS:26943 -msgid "" -"`bpo-24620 `__: Random.setstate() now " -"validates the value of state last element." -msgstr "" - -#: ../../../build/NEWS:26946 -msgid "" -"`bpo-22485 `__: Fixed an issue that " -"caused `inspect.getsource` to return incorrect results on nested functions." -msgstr "" - -#: ../../../build/NEWS:26949 -msgid "" -"`bpo-22153 `__: Improve unittest docs. " -"Patch from Martin Panter and evilzero." -msgstr "" - -#: ../../../build/NEWS:26951 -msgid "" -"`bpo-24580 `__: Symbolic group " -"references to open group in re patterns now are explicitly forbidden as well " -"as numeric group references." -msgstr "" - -#: ../../../build/NEWS:26954 -msgid "" -"`bpo-24206 `__: Fixed __eq__ and __ne__ " -"methods of inspect classes." -msgstr "" - -#: ../../../build/NEWS:26956 -msgid "" -"`bpo-24631 `__: Fixed regression in the " -"timeit module with multiline setup." -msgstr "" - -#: ../../../build/NEWS:26964 -msgid "" -"`bpo-24608 `__: chunk.Chunk.read() now " -"always returns bytes, not str." -msgstr "" - -#: ../../../build/NEWS:26966 -msgid "" -"`bpo-18684 `__: Fixed reading out of the " -"buffer in the re module." -msgstr "" - -#: ../../../build/NEWS:26968 -msgid "" -"`bpo-24259 `__: tarfile now raises a " -"ReadError if an archive is truncated inside a data segment." -msgstr "" - -#: ../../../build/NEWS:26971 -msgid "" -"`bpo-15014 `__: SMTP.auth() and SMTP." -"login() now support RFC 4954's optional initial-response argument to the " -"SMTP AUTH command." -msgstr "" - -#: ../../../build/NEWS:26974 -msgid "" -"`bpo-24669 `__: Fix inspect.getsource() " -"for 'async def' functions. Patch by Kai Groner." -msgstr "" - -#: ../../../build/NEWS:26977 -msgid "" -"`bpo-24688 `__: ast.get_docstring() for " -"'async def' functions." -msgstr "" - -#: ../../../build/NEWS:26982 -msgid "" -"`bpo-24603 `__: Update Windows builds " -"and OS X 10.5 installer to use OpenSSL 1.0.2d." -msgstr "" - -#: ../../../build/NEWS:26987 -msgid "Python 3.5.0 beta 3" -msgstr "" - -#: ../../../build/NEWS:26989 -msgid "*Release date: 2015-07-05*" -msgstr "" - -#: ../../../build/NEWS:26994 -msgid "" -"`bpo-24467 `__: Fixed possible buffer " -"over-read in bytearray. The bytearray object now always allocates place for " -"trailing null byte and it's buffer now is always null-terminated." -msgstr "" - -#: ../../../build/NEWS:26998 -msgid "Upgrade to Unicode 8.0.0." -msgstr "" - -#: ../../../build/NEWS:27000 -msgid "" -"`bpo-24345 `__: Add Py_tp_finalize slot " -"for the stable ABI." -msgstr "" - -#: ../../../build/NEWS:27002 -msgid "" -"`bpo-24400 `__: Introduce a distinct " -"type for :pep:`492` coroutines; add types.CoroutineType, inspect." -"getcoroutinestate, inspect.getcoroutinelocals; coroutines no longer use " -"CO_GENERATOR flag; sys.set_coroutine_wrapper works only for 'async def' " -"coroutines; inspect.iscoroutine no longer uses collections.abc.Coroutine, " -"it's intended to test for pure 'async def' coroutines only; add new opcode: " -"GET_YIELD_FROM_ITER; fix generators wrapper used in types.coroutine to be " -"instance of collections.abc.Generator; collections.abc.Awaitable and " -"collections.abc.Coroutine can no longer be used to detect generator-based " -"coroutines--use inspect.isawaitable instead." -msgstr "" - -#: ../../../build/NEWS:27013 -msgid "" -"`bpo-24450 `__: Add gi_yieldfrom to " -"generators and cr_await to coroutines. Contributed by Benno Leslie and Yury " -"Selivanov." -msgstr "" - -#: ../../../build/NEWS:27016 -msgid "" -"`bpo-19235 `__: Add new RecursionError " -"exception. Patch by Georg Brandl." -msgstr "" - -#: ../../../build/NEWS:27021 -msgid "" -"`bpo-21750 `__: mock_open.read_data can " -"now be read from each instance, as it could in Python 3.3." -msgstr "" - -#: ../../../build/NEWS:27024 -msgid "" -"`bpo-24552 `__: Fix use after free in an " -"error case of the _pickle module." -msgstr "" - -#: ../../../build/NEWS:27026 -msgid "" -"`bpo-24514 `__: tarfile now tolerates " -"number fields consisting of only whitespace." -msgstr "" - -#: ../../../build/NEWS:27029 -msgid "" -"`bpo-19176 `__: Fixed doctype() related " -"bugs in C implementation of ElementTree. A deprecation warning no longer " -"issued by XMLParser subclass with default doctype() method. Direct call of " -"doctype() now issues a warning. Parser's doctype() now is not called if " -"target's doctype() is called. Based on patch by Martin Panter." -msgstr "" - -#: ../../../build/NEWS:27035 -msgid "" -"`bpo-20387 `__: Restore semantic round-" -"trip correctness in tokenize/untokenize for tab-indented blocks." -msgstr "" - -#: ../../../build/NEWS:27038 -msgid "" -"`bpo-24456 `__: Fixed possible buffer " -"over-read in adpcm2lin() and lin2adpcm() functions of the audioop module." -msgstr "" - -#: ../../../build/NEWS:27041 -msgid "" -"`bpo-24336 `__: The contextmanager " -"decorator now works with functions with keyword arguments called \"func\" " -"and \"self\". Patch by Martin Panter." -msgstr "" - -#: ../../../build/NEWS:27044 -msgid "" -"`bpo-24522 `__: Fix possible integer " -"overflow in json accelerator module." -msgstr "" - -#: ../../../build/NEWS:27046 -msgid "" -"`bpo-24489 `__: ensure a previously set " -"C errno doesn't disturb cmath.polar()." -msgstr "" - -#: ../../../build/NEWS:27048 -msgid "" -"`bpo-24408 `__: Fixed AttributeError in " -"measure() and metrics() methods of tkinter.Font." -msgstr "" - -#: ../../../build/NEWS:27051 -msgid "" -"`bpo-14373 `__: C implementation of " -"functools.lru_cache() now can be used with methods." -msgstr "" - -#: ../../../build/NEWS:27054 -msgid "" -"`bpo-24347 `__: Set KeyError if " -"PyDict_GetItemWithError returns NULL." -msgstr "" - -#: ../../../build/NEWS:27056 -msgid "" -"`bpo-24348 `__: Drop superfluous incref/" -"decref." -msgstr "" - -#: ../../../build/NEWS:27058 -msgid "" -"`bpo-24359 `__: Check for changed " -"OrderedDict size during iteration." -msgstr "" - -#: ../../../build/NEWS:27060 -msgid "" -"`bpo-24368 `__: Support keyword " -"arguments in OrderedDict methods." -msgstr "" - -#: ../../../build/NEWS:27062 -msgid "" -"`bpo-24362 `__: Simplify the C " -"OrderedDict fast nodes resize logic." -msgstr "" - -#: ../../../build/NEWS:27064 -msgid "" -"`bpo-24377 `__: Fix a ref leak in " -"OrderedDict.__repr__." -msgstr "" - -#: ../../../build/NEWS:27066 -msgid "" -"`bpo-24369 `__: Defend against key-" -"changes during iteration." -msgstr "" - -#: ../../../build/NEWS:27071 -msgid "" -"`bpo-24373 `__: _testmultiphase and " -"xxlimited now use tp_traverse and tp_finalize to avoid reference leaks " -"encountered when combining tp_dealloc with PyType_FromSpec (see `bpo-16690 " -"`__ for details)" -msgstr "" - -#: ../../../build/NEWS:27078 -msgid "" -"`bpo-24458 `__: Update documentation to " -"cover multi-phase initialization for extension modules (PEP 489). Patch by " -"Petr Viktorin." -msgstr "" - -#: ../../../build/NEWS:27081 -msgid "" -"`bpo-24351 `__: Clarify what is meant by " -"\"identifier\" in the context of string.Template instances." -msgstr "" - -#: ../../../build/NEWS:27087 -msgid "" -"`bpo-24432 `__: Update Windows builds " -"and OS X 10.5 installer to use OpenSSL 1.0.2c." -msgstr "" - -#: ../../../build/NEWS:27092 -msgid "Python 3.5.0 beta 2" -msgstr "" - -#: ../../../build/NEWS:27094 -msgid "*Release date: 2015-05-31*" -msgstr "" - -#: ../../../build/NEWS:27099 -msgid "" -"`bpo-24284 `__: The startswith and " -"endswith methods of the str class no longer return True when finding the " -"empty string and the indexes are completely out of range." -msgstr "" - -#: ../../../build/NEWS:27103 -msgid "" -"`bpo-24115 `__: Update uses of " -"PyObject_IsTrue(), PyObject_Not(), PyObject_IsInstance(), " -"PyObject_RichCompareBool() and _PyDict_Contains() to check for and handle " -"errors correctly." -msgstr "" - -#: ../../../build/NEWS:27107 -msgid "" -"`bpo-24328 `__: Fix importing one " -"character extension modules." -msgstr "" - -#: ../../../build/NEWS:27109 -msgid "" -"`bpo-11205 `__: In dictionary displays, " -"evaluate the key before the value." -msgstr "" - -#: ../../../build/NEWS:27111 -msgid "" -"`bpo-24285 `__: Fixed regression that " -"prevented importing extension modules from inside packages. Patch by Petr " -"Viktorin." -msgstr "" - -#: ../../../build/NEWS:27117 -msgid "" -"`bpo-23247 `__: Fix a crash in the " -"StreamWriter.reset() of CJK codecs." -msgstr "" - -#: ../../../build/NEWS:27119 -msgid "" -"`bpo-24270 `__: Add math.isclose() and " -"cmath.isclose() functions as per :pep:`485`. Contributed by Chris Barker and " -"Tal Einat." -msgstr "" - -#: ../../../build/NEWS:27122 -msgid "" -"`bpo-5633 `__: Fixed timeit when the " -"statement is a string and the setup is not." -msgstr "" - -#: ../../../build/NEWS:27125 -msgid "" -"`bpo-24326 `__: Fixed audioop.ratecv() " -"with non-default weightB argument. Original patch by David Moore." -msgstr "" - -#: ../../../build/NEWS:27128 -msgid "" -"`bpo-16991 `__: Add a C implementation " -"of OrderedDict." -msgstr "" - -#: ../../../build/NEWS:27130 -msgid "" -"`bpo-23934 `__: Fix inspect.signature to " -"fail correctly for builtin types lacking signature information. Initial " -"patch by James Powell." -msgstr "" - -#: ../../../build/NEWS:27135 -msgid "Python 3.5.0 beta 1" -msgstr "" - -#: ../../../build/NEWS:27137 -msgid "*Release date: 2015-05-24*" -msgstr "" - -#: ../../../build/NEWS:27142 -msgid "" -"`bpo-24276 `__: Fixed optimization of " -"property descriptor getter." -msgstr "" - -#: ../../../build/NEWS:27144 -msgid "" -"`bpo-24268 `__: PEP 489: Multi-phase " -"extension module initialization. Patch by Petr Viktorin." -msgstr "" - -#: ../../../build/NEWS:27147 -msgid "" -"`bpo-23955 `__: Add pyvenv.cfg option to " -"suppress registry/environment lookup for generating sys.path on Windows." -msgstr "" - -#: ../../../build/NEWS:27150 -msgid "" -"`bpo-24257 `__: Fixed system error in " -"the comparison of faked types.SimpleNamespace." -msgstr "" - -#: ../../../build/NEWS:27153 -msgid "" -"`bpo-22939 `__: Fixed integer overflow " -"in iterator object. Patch by Clement Rouault." -msgstr "" - -#: ../../../build/NEWS:27156 -msgid "" -"`bpo-23985 `__: Fix a possible buffer " -"overrun when deleting a slice from the front of a bytearray and then " -"appending some other bytes data." -msgstr "" - -#: ../../../build/NEWS:27159 -msgid "" -"`bpo-24102 `__: Fixed exception type " -"checking in standard error handlers." -msgstr "" - -#: ../../../build/NEWS:27161 -msgid "" -"`bpo-15027 `__: The UTF-32 encoder is " -"now 3x to 7x faster." -msgstr "" - -#: ../../../build/NEWS:27163 -msgid "" -"`bpo-23290 `__: Optimize set_merge() for " -"cases where the target is empty. (Contributed by Serhiy Storchaka.)" -msgstr "" - -#: ../../../build/NEWS:27166 -msgid "" -"`bpo-2292 `__: PEP 448: Additional " -"Unpacking Generalizations." -msgstr "" - -#: ../../../build/NEWS:27168 -msgid "" -"`bpo-24096 `__: Make warnings." -"warn_explicit more robust against mutation of the warnings.filters list." -msgstr "" - -#: ../../../build/NEWS:27171 -msgid "" -"`bpo-23996 `__: Avoid a crash when a " -"delegated generator raises an unnormalized StopIteration exception. Patch " -"by Stefan Behnel." -msgstr "" - -#: ../../../build/NEWS:27174 -msgid "" -"`bpo-23910 `__: Optimize property() " -"getter calls. Patch by Joe Jevnik." -msgstr "" - -#: ../../../build/NEWS:27176 -msgid "" -"`bpo-23911 `__: Move path-based " -"importlib bootstrap code to a separate frozen module." -msgstr "" - -#: ../../../build/NEWS:27179 -msgid "" -"`bpo-24192 `__: Fix namespace package " -"imports." -msgstr "" - -#: ../../../build/NEWS:27181 -msgid "" -"`bpo-24022 `__: Fix tokenizer crash when " -"processing undecodable source code." -msgstr "" - -#: ../../../build/NEWS:27183 -msgid "" -"`bpo-9951 `__: Added a hex() method to " -"bytes, bytearray, and memoryview." -msgstr "" - -#: ../../../build/NEWS:27185 -msgid "" -"`bpo-22906 `__: PEP 479: Change " -"StopIteration handling inside generators." -msgstr "" - -#: ../../../build/NEWS:27187 -msgid "" -"`bpo-24017 `__: PEP 492: Coroutines with " -"async and await syntax." -msgstr "" - -#: ../../../build/NEWS:27192 -msgid "" -"`bpo-14373 `__: Added C implementation " -"of functools.lru_cache(). Based on patches by Matt Joiner and Alexey " -"Kachayev." -msgstr "" - -#: ../../../build/NEWS:27195 -msgid "" -"`bpo-24230 `__: The tempfile module now " -"accepts bytes for prefix, suffix and dir parameters and returns bytes in " -"such situations (matching the os module APIs)." -msgstr "" - -#: ../../../build/NEWS:27199 -msgid "" -"`bpo-22189 `__: collections.UserString " -"now supports __getnewargs__(), __rmod__(), casefold(), format_map(), " -"isprintable(), and maketrans(). Patch by Joe Jevnik." -msgstr "" - -#: ../../../build/NEWS:27203 -msgid "" -"`bpo-24244 `__: Prevents termination " -"when an invalid format string is encountered on Windows in strftime." -msgstr "" - -#: ../../../build/NEWS:27206 -msgid "" -"`bpo-23973 `__: PEP 484: Add the typing " -"module." -msgstr "" - -#: ../../../build/NEWS:27208 -msgid "" -"`bpo-23086 `__: The collections.abc." -"Sequence() abstract base class added *start* and *stop* parameters to the " -"index() mixin. Patch by Devin Jeanpierre." -msgstr "" - -#: ../../../build/NEWS:27212 -msgid "" -"`bpo-20035 `__: Replaced the ``tkinter." -"_fix`` module used for setting up the Tcl/Tk environment on Windows with a " -"private function in the ``_tkinter`` module that makes no permanent changes " -"to the environment." -msgstr "" - -#: ../../../build/NEWS:27216 -msgid "" -"`bpo-24257 `__: Fixed segmentation fault " -"in sqlite3.Row constructor with faked cursor type." -msgstr "" - -#: ../../../build/NEWS:27219 -msgid "" -"`bpo-15836 `__: assertRaises(), " -"assertRaisesRegex(), assertWarns() and assertWarnsRegex() assertments now " -"check the type of the first argument to prevent possible user error. Based " -"on patch by Daniel Wagner-Hall." -msgstr "" - -#: ../../../build/NEWS:27223 -msgid "" -"`bpo-9858 `__: Add missing method stubs " -"to _io.RawIOBase. Patch by Laura Rupprecht." -msgstr "" - -#: ../../../build/NEWS:27226 -msgid "" -"`bpo-22955 `__: attrgetter, itemgetter " -"and methodcaller objects in the operator module now support pickling. Added " -"readable and evaluable repr for these objects. Based on patch by Josh " -"Rosenberg." -msgstr "" - -#: ../../../build/NEWS:27230 -msgid "" -"`bpo-22107 `__: tempfile.gettempdir() " -"and tempfile.mkdtemp() now try again when a directory with the chosen name " -"already exists on Windows as well as on Unix. tempfile.mkstemp() now fails " -"early if parent directory is not valid (not exists or is a file) on Windows." -msgstr "" - -#: ../../../build/NEWS:27235 -msgid "" -"`bpo-23780 `__: Improved error message " -"in os.path.join() with single argument." -msgstr "" - -#: ../../../build/NEWS:27237 -msgid "" -"`bpo-6598 `__: Increased time precision " -"and random number range in email.utils.make_msgid() to strengthen the " -"uniqueness of the message ID." -msgstr "" - -#: ../../../build/NEWS:27240 -msgid "" -"`bpo-24091 `__: Fixed various crashes in " -"corner cases in C implementation of ElementTree." -msgstr "" - -#: ../../../build/NEWS:27243 -msgid "" -"`bpo-21931 `__: msilib.FCICreate() now " -"raises TypeError in the case of a bad argument instead of a ValueError with " -"a bogus FCI error number. Patch by Jeffrey Armstrong." -msgstr "" - -#: ../../../build/NEWS:27247 -msgid "" -"`bpo-13866 `__: *quote_via* argument " -"added to urllib.parse.urlencode." -msgstr "" - -#: ../../../build/NEWS:27249 -msgid "" -"`bpo-20098 `__: New mangle_from policy " -"option for email, default True for compat32, but False for all other " -"policies." -msgstr "" - -#: ../../../build/NEWS:27252 -msgid "" -"`bpo-24211 `__: The email library now " -"supports RFC 6532: it can generate headers using utf-8 instead of encoded " -"words." -msgstr "" - -#: ../../../build/NEWS:27255 -msgid "" -"`bpo-16314 `__: Added support for the " -"LZMA compression in distutils." -msgstr "" - -#: ../../../build/NEWS:27257 -msgid "" -"`bpo-21804 `__: poplib now supports RFC " -"6856 (UTF8)." -msgstr "" - -#: ../../../build/NEWS:27259 -msgid "" -"`bpo-18682 `__: Optimized pprint " -"functions for builtin scalar types." -msgstr "" - -#: ../../../build/NEWS:27261 -msgid "" -"`bpo-22027 `__: smtplib now supports RFC " -"6531 (SMTPUTF8)." -msgstr "" - -#: ../../../build/NEWS:27263 -msgid "" -"`bpo-23488 `__: Random generator objects " -"now consume 2x less memory on 64-bit." -msgstr "" - -#: ../../../build/NEWS:27265 -msgid "" -"`bpo-1322 `__: platform.dist() and " -"platform.linux_distribution() functions are now deprecated. Initial patch " -"by Vajrasky Kok." -msgstr "" - -#: ../../../build/NEWS:27268 -msgid "" -"`bpo-22486 `__: Added the math.gcd() " -"function. The fractions.gcd() function now is deprecated. Based on patch " -"by Mark Dickinson." -msgstr "" - -#: ../../../build/NEWS:27271 -msgid "" -"`bpo-24064 `__: Property() docstrings " -"are now writeable. (Patch by Berker Peksag.)" -msgstr "" - -#: ../../../build/NEWS:27274 -msgid "" -"`bpo-22681 `__: Added support for the " -"koi8_t encoding." -msgstr "" - -#: ../../../build/NEWS:27276 -msgid "" -"`bpo-22682 `__: Added support for the " -"kz1048 encoding." -msgstr "" - -#: ../../../build/NEWS:27278 -msgid "" -"`bpo-23796 `__: peek and read1 methods " -"of BufferedReader now raise ValueError if they called on a closed object. " -"Patch by John Hergenroeder." -msgstr "" - -#: ../../../build/NEWS:27281 -msgid "" -"`bpo-21795 `__: smtpd now supports the " -"8BITMIME extension whenever the new *decode_data* constructor argument is " -"set to False." -msgstr "" - -#: ../../../build/NEWS:27284 -msgid "" -"`bpo-24155 `__: optimize heapq.heapify() " -"for better cache performance when heapifying large lists." -msgstr "" - -#: ../../../build/NEWS:27287 -msgid "" -"`bpo-21800 `__: imaplib now supports RFC " -"5161 (enable), RFC 6855 (utf8/internationalized email) and automatically " -"encodes non-ASCII usernames and passwords to UTF8." -msgstr "" - -#: ../../../build/NEWS:27291 -msgid "" -"`bpo-20274 `__: When calling a _sqlite." -"Connection, it now complains if passed any keyword arguments. Previously it " -"silently ignored them." -msgstr "" - -#: ../../../build/NEWS:27294 -msgid "" -"`bpo-20274 `__: Remove ignored and " -"erroneous \"kwargs\" parameters from three METH_VARARGS methods on _sqlite." -"Connection." -msgstr "" - -#: ../../../build/NEWS:27297 -msgid "" -"`bpo-24134 `__: assertRaises(), " -"assertRaisesRegex(), assertWarns() and assertWarnsRegex() checks now emits a " -"deprecation warning when callable is None or keyword arguments except msg is " -"passed in the context manager mode." -msgstr "" - -#: ../../../build/NEWS:27302 -msgid "" -"`bpo-24018 `__: Add a collections.abc." -"Generator abstract base class. Contributed by Stefan Behnel." -msgstr "" - -#: ../../../build/NEWS:27305 -msgid "" -"`bpo-23880 `__: Tkinter's getint() and " -"getdouble() now support Tcl_Obj. Tkinter's getdouble() now supports any " -"numbers (in particular int)." -msgstr "" - -#: ../../../build/NEWS:27308 -msgid "" -"`bpo-22619 `__: Added negative limit " -"support in the traceback module. Based on patch by Dmitry Kazakov." -msgstr "" - -#: ../../../build/NEWS:27311 -msgid "" -"`bpo-24094 `__: Fix possible crash in " -"json.encode with poorly behaved dict subclasses." -msgstr "" - -#: ../../../build/NEWS:27314 -msgid "" -"`bpo-9246 `__: On POSIX, os.getcwd() now " -"supports paths longer than 1025 bytes. Patch written by William Orr." -msgstr "" - -#: ../../../build/NEWS:27317 -msgid "" -"`bpo-17445 `__: add difflib.diff_bytes() " -"to support comparison of byte strings (fixes a regression from Python 2)." -msgstr "" - -#: ../../../build/NEWS:27320 -msgid "" -"`bpo-23917 `__: Fall back to sequential " -"compilation when ProcessPoolExecutor doesn't exist. Patch by Claudiu Popa." -msgstr "" - -#: ../../../build/NEWS:27323 -msgid "" -"`bpo-23008 `__: Fixed resolving " -"attributes with boolean value is False in pydoc." -msgstr "" - -#: ../../../build/NEWS:27326 -msgid "" -"Fix asyncio issue 235: LifoQueue and PriorityQueue's put didn't increment " -"unfinished tasks (this bug was introduced when JoinableQueue was merged with " -"Queue)." -msgstr "" - -#: ../../../build/NEWS:27330 -msgid "" -"`bpo-23908 `__: os functions now reject " -"paths with embedded null character on Windows instead of silently truncating " -"them." -msgstr "" - -#: ../../../build/NEWS:27333 -msgid "" -"`bpo-23728 `__: binascii.crc_hqx() could " -"return an integer outside of the range 0-0xffff for empty data." -msgstr "" - -#: ../../../build/NEWS:27336 -msgid "" -"`bpo-23887 `__: urllib.error.HTTPError " -"now has a proper repr() representation. Patch by Berker Peksag." -msgstr "" - -#: ../../../build/NEWS:27339 -msgid "" -"asyncio: New event loop APIs: set_task_factory() and get_task_factory()." -msgstr "" - -#: ../../../build/NEWS:27341 -msgid "asyncio: async() function is deprecated in favour of ensure_future()." -msgstr "" - -#: ../../../build/NEWS:27343 -msgid "" -"`bpo-24178 `__: asyncio.Lock, Condition, " -"Semaphore, and BoundedSemaphore support new 'async with' syntax. " -"Contributed by Yury Selivanov." -msgstr "" - -#: ../../../build/NEWS:27346 -msgid "" -"`bpo-24179 `__: Support 'async for' for " -"asyncio.StreamReader. Contributed by Yury Selivanov." -msgstr "" - -#: ../../../build/NEWS:27349 -msgid "" -"`bpo-24184 `__: Add AsyncIterator and " -"AsyncIterable ABCs to collections.abc. Contributed by Yury Selivanov." -msgstr "" - -#: ../../../build/NEWS:27352 -msgid "" -"`bpo-22547 `__: Implement informative " -"__repr__ for inspect.BoundArguments. Contributed by Yury Selivanov." -msgstr "" - -#: ../../../build/NEWS:27355 -msgid "" -"`bpo-24190 `__: Implement inspect." -"BoundArgument.apply_defaults() method. Contributed by Yury Selivanov." -msgstr "" - -#: ../../../build/NEWS:27358 -msgid "" -"`bpo-20691 `__: Add 'follow_wrapped' " -"argument to inspect.Signature.from_callable() and inspect.signature(). " -"Contributed by Yury Selivanov." -msgstr "" - -#: ../../../build/NEWS:27362 -msgid "" -"`bpo-24248 `__: Deprecate inspect." -"Signature.from_function() and inspect.Signature.from_builtin()." -msgstr "" - -#: ../../../build/NEWS:27365 -msgid "" -"`bpo-23898 `__: Fix inspect." -"classify_class_attrs() to support attributes with overloaded __eq__ and " -"__bool__. Patch by Mike Bayer." -msgstr "" - -#: ../../../build/NEWS:27368 -msgid "" -"`bpo-24298 `__: Fix inspect.signature() " -"to correctly unwrap wrappers around bound methods." -msgstr "" - -#: ../../../build/NEWS:27374 -msgid "" -"`bpo-23184 `__: remove unused names and " -"imports in idlelib. Initial patch by Al Sweigart." -msgstr "" - -#: ../../../build/NEWS:27380 -msgid "" -"`bpo-21520 `__: test_zipfile no longer " -"fails if the word 'bad' appears anywhere in the name of the current " -"directory." -msgstr "" - -#: ../../../build/NEWS:27383 -msgid "" -"`bpo-9517 `__: Move script_helper into " -"the support package. Patch by Christie Wilson." -msgstr "" - -#: ../../../build/NEWS:27389 -msgid "" -"`bpo-22155 `__: Add File Handlers " -"subsection with createfilehandler to tkinter doc. Remove obsolete example " -"from FAQ. Patch by Martin Panter." -msgstr "" - -#: ../../../build/NEWS:27392 -msgid "" -"`bpo-24029 `__: Document the name " -"binding behavior for submodule imports." -msgstr "" - -#: ../../../build/NEWS:27394 -msgid "" -"`bpo-24077 `__: Fix typo in man page for " -"-I command option: -s, not -S" -msgstr "" - -#: ../../../build/NEWS:27399 -msgid "" -"`bpo-24000 `__: Improved Argument " -"Clinic's mapping of converters to legacy \"format units\". Updated the " -"documentation to match." -msgstr "" - -#: ../../../build/NEWS:27402 -msgid "" -"`bpo-24001 `__: Argument Clinic " -"converters now use accept={type} instead of types={'type'} to specify the " -"types the converter accepts." -msgstr "" - -#: ../../../build/NEWS:27405 -msgid "" -"`bpo-23330 `__: h2py now supports " -"arbitrary filenames in #include." -msgstr "" - -#: ../../../build/NEWS:27407 -msgid "" -"`bpo-24031 `__: make patchcheck now " -"supports git checkouts, too." -msgstr "" - -#: ../../../build/NEWS:27411 -msgid "Python 3.5.0 alpha 4" -msgstr "" - -#: ../../../build/NEWS:27413 -msgid "*Release date: 2015-04-19*" -msgstr "" - -#: ../../../build/NEWS:27418 -msgid "" -"`bpo-22980 `__: Under Linux, GNU/" -"KFreeBSD and the Hurd, C extensions now include the architecture triplet in " -"the extension name, to make it easy to test builds for different ABIs in the " -"same working tree. Under OS X, the extension name now includes :pep:`3149`-" -"style information." -msgstr "" - -#: ../../../build/NEWS:27423 -msgid "" -"`bpo-22631 `__: Added Linux-specific " -"socket constant CAN_RAW_FD_FRAMES. Patch courtesy of Joe Jevnik." -msgstr "" - -#: ../../../build/NEWS:27426 -msgid "" -"`bpo-23731 `__: Implement :pep:`488`: " -"removal of .pyo files." -msgstr "" - -#: ../../../build/NEWS:27428 -msgid "" -"`bpo-23726 `__: Don't enable GC for user " -"subclasses of non-GC types that don't add any new fields. Patch by Eugene " -"Toder." -msgstr "" - -#: ../../../build/NEWS:27431 -msgid "" -"`bpo-23309 `__: Avoid a deadlock at " -"shutdown if a daemon thread is aborted while it is holding a lock to a " -"buffered I/O object, and the main thread tries to use the same I/O object " -"(typically stdout or stderr). A fatal error is emitted instead." -msgstr "" - -#: ../../../build/NEWS:27436 -msgid "" -"`bpo-22977 `__: Fixed formatting Windows " -"error messages on Wine. Patch by Martin Panter." -msgstr "" - -#: ../../../build/NEWS:27439 -msgid "" -"`bpo-23466 `__: %c, %o, %x, and %X in " -"bytes formatting now raise TypeError on non-integer input." -msgstr "" - -#: ../../../build/NEWS:27442 -msgid "" -"`bpo-24044 `__: Fix possible null " -"pointer dereference in list.sort in out of memory conditions." -msgstr "" - -#: ../../../build/NEWS:27445 -msgid "" -"`bpo-21354 `__: PyCFunction_New function " -"is exposed by python DLL again." -msgstr "" - -#: ../../../build/NEWS:27450 -msgid "" -"`bpo-23840 `__: tokenize.open() now " -"closes the temporary binary file on error to fix a resource warning." -msgstr "" - -#: ../../../build/NEWS:27453 -msgid "" -"`bpo-16914 `__: new debuglevel 2 in " -"smtplib adds timestamps to debug output." -msgstr "" - -#: ../../../build/NEWS:27455 -msgid "" -"`bpo-7159 `__: urllib.request now " -"supports sending auth credentials automatically after the first 401. This " -"enhancement is a superset of the enhancement from `bpo-19494 `__ and supersedes that change." -msgstr "" - -#: ../../../build/NEWS:27459 -msgid "" -"`bpo-23703 `__: Fix a regression in " -"urljoin() introduced in 901e4e52b20a. Patch by Demian Brecht." -msgstr "" - -#: ../../../build/NEWS:27462 -msgid "" -"`bpo-4254 `__: Adds _curses." -"update_lines_cols(). Patch by Arnon Yaari" -msgstr "" - -#: ../../../build/NEWS:27464 -msgid "" -"`bpo-19933 `__: Provide default argument " -"for ndigits in round. Patch by Vajrasky Kok." -msgstr "" - -#: ../../../build/NEWS:27467 -msgid "" -"`bpo-23193 `__: Add a numeric_owner " -"parameter to tarfile.TarFile.extract and tarfile.TarFile.extractall. Patch " -"by Michael Vogt and Eric Smith." -msgstr "" - -#: ../../../build/NEWS:27470 -msgid "" -"`bpo-23342 `__: Add a subprocess.run() " -"function than returns a CalledProcess instance for a more consistent API " -"than the existing call* functions." -msgstr "" - -#: ../../../build/NEWS:27473 -msgid "" -"`bpo-21217 `__: inspect.getsourcelines() " -"now tries to compute the start and end lines from the code object, fixing an " -"issue when a lambda function is used as decorator argument. Patch by Thomas " -"Ballinger and Allison Kaptur." -msgstr "" - -#: ../../../build/NEWS:27477 -msgid "" -"`bpo-24521 `__: Fix possible integer " -"overflows in the pickle module." -msgstr "" - -#: ../../../build/NEWS:27479 -msgid "" -"`bpo-22931 `__: Allow '[' and ']' in " -"cookie values." -msgstr "" - -#: ../../../build/NEWS:27481 -msgid "The keywords attribute of functools.partial is now always a dictionary." -msgstr "" - -#: ../../../build/NEWS:27483 -msgid "" -"`bpo-23811 `__: Add missing newline to " -"the PyCompileError error message. Patch by Alex Shkop." -msgstr "" - -#: ../../../build/NEWS:27486 -msgid "" -"`bpo-21116 `__: Avoid blowing memory " -"when allocating a multiprocessing shared array that's larger than 50% of the " -"available RAM. Patch by Médéric Boquien." -msgstr "" - -#: ../../../build/NEWS:27490 -msgid "" -"`bpo-22982 `__: Improve BOM handling " -"when seeking to multiple positions of a writable text file." -msgstr "" - -#: ../../../build/NEWS:27493 -msgid "" -"`bpo-23464 `__: Removed deprecated " -"asyncio JoinableQueue." -msgstr "" - -#: ../../../build/NEWS:27495 -msgid "" -"`bpo-23529 `__: Limit the size of " -"decompressed data when reading from GzipFile, BZ2File or LZMAFile. This " -"defeats denial of service attacks using compressed bombs (i.e. compressed " -"payloads which decompress to a huge size). Patch by Martin Panter and " -"Nikolaus Rath." -msgstr "" - -#: ../../../build/NEWS:27500 -msgid "" -"`bpo-21859 `__: Added Python " -"implementation of io.FileIO." -msgstr "" - -#: ../../../build/NEWS:27502 -msgid "" -"`bpo-23865 `__: close() methods in " -"multiple modules now are idempotent and more robust at shutdown. If they " -"need to release multiple resources, all are released even if errors occur." -msgstr "" - -#: ../../../build/NEWS:27506 -msgid "" -"`bpo-23400 `__: Raise same exception on " -"both Python 2 and 3 if sem_open is not available. Patch by Davin Potts." -msgstr "" - -#: ../../../build/NEWS:27509 -msgid "" -"`bpo-10838 `__: The subprocess now " -"module includes SubprocessError and TimeoutError in its list of exported " -"names for the users wild enough to use ``from subprocess import *``." -msgstr "" - -#: ../../../build/NEWS:27513 -msgid "" -"`bpo-23411 `__: Added DefragResult, " -"ParseResult, SplitResult, DefragResultBytes, ParseResultBytes, and " -"SplitResultBytes to urllib.parse.__all__. Patch by Martin Panter." -msgstr "" - -#: ../../../build/NEWS:27517 -msgid "" -"`bpo-23881 `__: urllib.request." -"ftpwrapper constructor now closes the socket if the FTP connection failed to " -"fix a ResourceWarning." -msgstr "" - -#: ../../../build/NEWS:27520 -msgid "" -"`bpo-23853 `__: :meth:`socket.socket." -"sendall` does no more reset the socket timeout each time data is sent " -"successfully. The socket timeout is now the maximum total duration to send " -"all data." -msgstr "" - -#: ../../../build/NEWS:27524 -msgid "" -"`bpo-22721 `__: An order of multiline " -"pprint output of set or dict containing orderable and non-orderable elements " -"no longer depends on iteration order of set or dict." -msgstr "" - -#: ../../../build/NEWS:27528 -msgid "" -"`bpo-15133 `__: _tkinter.tkapp." -"getboolean() now supports Tcl_Obj and always returns bool. tkinter." -"BooleanVar now validates input values (accepted bool, int, str, and " -"Tcl_Obj). tkinter.BooleanVar.get() now always returns bool." -msgstr "" - -#: ../../../build/NEWS:27533 -msgid "" -"`bpo-10590 `__: xml.sax.parseString() " -"now supports string argument." -msgstr "" - -#: ../../../build/NEWS:27535 -msgid "" -"`bpo-23338 `__: Fixed formatting ctypes " -"error messages on Cygwin. Patch by Makoto Kato." -msgstr "" - -#: ../../../build/NEWS:27538 -msgid "" -"`bpo-15582 `__: inspect.getdoc() now " -"follows inheritance chains." -msgstr "" - -#: ../../../build/NEWS:27540 -msgid "" -"`bpo-2175 `__: SAX parsers now support a " -"character stream of InputSource object." -msgstr "" - -#: ../../../build/NEWS:27543 -msgid "" -"`bpo-16840 `__: Tkinter now supports 64-" -"bit integers added in Tcl 8.4 and arbitrary precision integers added in Tcl " -"8.5." -msgstr "" - -#: ../../../build/NEWS:27546 -msgid "" -"`bpo-23834 `__: Fix socket.sendto(), use " -"the C Py_ssize_t type to store the result of sendto() instead of the C int " -"type." -msgstr "" - -#: ../../../build/NEWS:27549 -msgid "" -"`bpo-23618 `__: :meth:`socket.socket." -"connect` now waits until the connection completes instead of raising :exc:" -"`InterruptedError` if the connection is interrupted by signals, signal " -"handlers don't raise an exception and the socket is blocking or has a " -"timeout. :meth:`socket.socket.connect` still raise :exc:`InterruptedError` " -"for non-blocking sockets." -msgstr "" - -#: ../../../build/NEWS:27555 -msgid "" -"`bpo-21526 `__: Tkinter now supports new " -"boolean type in Tcl 8.5." -msgstr "" - -#: ../../../build/NEWS:27557 -msgid "" -"`bpo-23836 `__: Fix the faulthandler " -"module to handle reentrant calls to its signal handlers." -msgstr "" - -#: ../../../build/NEWS:27560 -msgid "" -"`bpo-23838 `__: linecache now clears the " -"cache and returns an empty result on MemoryError." -msgstr "" - -#: ../../../build/NEWS:27563 -msgid "" -"`bpo-10395 `__: Added os.path." -"commonpath(). Implemented in posixpath and ntpath. Based on patch by Rafik " -"Draoui." -msgstr "" - -#: ../../../build/NEWS:27566 -msgid "" -"`bpo-23611 `__: Serializing more " -"\"lookupable\" objects (such as unbound methods or nested classes) now are " -"supported with pickle protocols < 4." -msgstr "" - -#: ../../../build/NEWS:27569 -msgid "" -"`bpo-13583 `__: sqlite3.Row now supports " -"slice indexing." -msgstr "" - -#: ../../../build/NEWS:27571 -msgid "" -"`bpo-18473 `__: Fixed 2to3 and 3to2 " -"compatible pickle mappings. Fixed ambiguous reverse mappings. Added many " -"new mappings. Import mapping is no longer applied to modules already mapped " -"with full name mapping." -msgstr "" - -#: ../../../build/NEWS:27575 -msgid "" -"`bpo-23485 `__: select.select() is now " -"retried automatically with the recomputed timeout when interrupted by a " -"signal, except if the signal handler raises an exception. This change is " -"part of the :pep:`475`." -msgstr "" - -#: ../../../build/NEWS:27579 -msgid "" -"`bpo-23752 `__: When built from an " -"existing file descriptor, io.FileIO() now only calls fstat() once. Before " -"fstat() was called twice, which was not necessary." -msgstr "" - -#: ../../../build/NEWS:27583 -msgid "" -"`bpo-23704 `__: collections.deque() " -"objects now support __add__, __mul__, and __imul__()." -msgstr "" - -#: ../../../build/NEWS:27586 -msgid "" -"`bpo-23171 `__: csv.Writer.writerow() " -"now supports arbitrary iterables." -msgstr "" - -#: ../../../build/NEWS:27588 -msgid "" -"`bpo-23745 `__: The new email header " -"parser now handles duplicate MIME parameter names without error, similar to " -"how get_param behaves." -msgstr "" - -#: ../../../build/NEWS:27591 -msgid "" -"`bpo-22117 `__: Fix os.utime(), it now " -"rounds the timestamp towards minus infinity (-inf) instead of rounding " -"towards zero." -msgstr "" - -#: ../../../build/NEWS:27594 -msgid "" -"`bpo-23310 `__: Fix MagicMock's " -"initializer to work with __methods__, just like configure_mock(). Patch by " -"Kasia Jachim." -msgstr "" - -#: ../../../build/NEWS:27600 -msgid "" -"`bpo-23817 `__: FreeBSD now uses \"1.0\" " -"in the SOVERSION as other operating systems, instead of just \"1\"." -msgstr "" - -#: ../../../build/NEWS:27603 -msgid "" -"`bpo-23501 `__: Argument Clinic now " -"generates code into separate files by default." -msgstr "" - -#: ../../../build/NEWS:27609 -msgid "" -"`bpo-23799 `__: Added test.support." -"start_threads() for running and cleaning up multiple threads." -msgstr "" - -#: ../../../build/NEWS:27612 -msgid "" -"`bpo-22390 `__: test.regrtest now emits " -"a warning if temporary files or directories are left after running a test." -msgstr "" - -#: ../../../build/NEWS:27618 -msgid "" -"`bpo-18128 `__: pygettext now uses " -"standard +NNNN format in the POT-Creation-Date header." -msgstr "" - -#: ../../../build/NEWS:27621 -msgid "" -"`bpo-23935 `__: Argument Clinic's " -"understanding of format units accepting bytes, bytearrays, and buffers is " -"now consistent with both the documentation and the implementation." -msgstr "" - -#: ../../../build/NEWS:27625 -msgid "" -"`bpo-23944 `__: Argument Clinic now " -"wraps long impl prototypes at column 78." -msgstr "" - -#: ../../../build/NEWS:27627 -msgid "" -"`bpo-20586 `__: Argument Clinic now " -"ensures that functions without docstrings have signatures." -msgstr "" - -#: ../../../build/NEWS:27630 -msgid "" -"`bpo-23492 `__: Argument Clinic now " -"generates argument parsing code with PyArg_Parse instead of PyArg_ParseTuple " -"if possible." -msgstr "" - -#: ../../../build/NEWS:27633 -msgid "" -"`bpo-23500 `__: Argument Clinic is now " -"smarter about generating the \"#ifndef\" (empty) definition of the methoddef " -"macro: it's only generated once, even if Argument Clinic processes the same " -"symbol multiple times, and it's emitted at the end of all processing rather " -"than immediately after the first use." -msgstr "" - -#: ../../../build/NEWS:27642 -msgid "" -"`bpo-23998 `__: PyImport_ReInitLock() " -"now checks for lock allocation error" -msgstr "" - -#: ../../../build/NEWS:27646 -msgid "Python 3.5.0 alpha 3" -msgstr "" - -#: ../../../build/NEWS:27648 -msgid "*Release date: 2015-03-28*" -msgstr "" - -#: ../../../build/NEWS:27653 -msgid "" -"`bpo-23573 `__: Increased performance of " -"string search operations (str.find, str.index, str.count, the in operator, " -"str.split, str.partition) with arguments of different kinds (UCS1, UCS2, " -"UCS4)." -msgstr "" - -#: ../../../build/NEWS:27657 -msgid "" -"`bpo-23753 `__: Python doesn't support " -"anymore platforms without stat() or fstat(), these functions are always " -"required." -msgstr "" - -#: ../../../build/NEWS:27660 -msgid "" -"`bpo-23681 `__: The -b option now " -"affects comparisons of bytes with int." -msgstr "" - -#: ../../../build/NEWS:27662 -msgid "" -"`bpo-23632 `__: Memoryviews now allow " -"tuple indexing (including for multi-dimensional memoryviews)." -msgstr "" - -#: ../../../build/NEWS:27665 -msgid "" -"`bpo-23192 `__: Fixed generator " -"lambdas. Patch by Bruno Cauet." -msgstr "" - -#: ../../../build/NEWS:27667 -msgid "" -"`bpo-23629 `__: Fix the default " -"__sizeof__ implementation for variable-sized objects." -msgstr "" - -#: ../../../build/NEWS:27673 -msgid "" -"`bpo-14260 `__: The groupindex attribute " -"of regular expression pattern object now is non-modifiable mapping." -msgstr "" - -#: ../../../build/NEWS:27676 -msgid "" -"`bpo-23792 `__: Ignore KeyboardInterrupt " -"when the pydoc pager is active. This mimics the behavior of the standard " -"unix pagers, and prevents pipepager from shutting down while the pager " -"itself is still running." -msgstr "" - -#: ../../../build/NEWS:27680 -msgid "" -"`bpo-23775 `__: pprint() of OrderedDict " -"now outputs the same representation as repr()." -msgstr "" - -#: ../../../build/NEWS:27683 -msgid "" -"`bpo-23765 `__: Removed IsBadStringPtr " -"calls in ctypes" -msgstr "" - -#: ../../../build/NEWS:27685 -msgid "" -"`bpo-22364 `__: Improved some re error " -"messages using regex for hints." -msgstr "" - -#: ../../../build/NEWS:27687 -msgid "" -"`bpo-23742 `__: ntpath.expandvars() no " -"longer loses unbalanced single quotes." -msgstr "" - -#: ../../../build/NEWS:27689 -msgid "" -"`bpo-21717 `__: The zipfile.ZipFile.open " -"function now supports 'x' (exclusive creation) mode." -msgstr "" - -#: ../../../build/NEWS:27692 -msgid "" -"`bpo-21802 `__: The reader in " -"BufferedRWPair now is closed even when closing writer failed in " -"BufferedRWPair.close()." -msgstr "" - -#: ../../../build/NEWS:27695 -msgid "" -"`bpo-23622 `__: Unknown escapes in " -"regular expressions that consist of ``'\\'`` and ASCII letter now raise a " -"deprecation warning and will be forbidden in Python 3.6." -msgstr "" - -#: ../../../build/NEWS:27699 -msgid "" -"`bpo-23671 `__: string.Template now " -"allows specifying the \"self\" parameter as a keyword argument. string." -"Formatter now allows specifying the \"self\" and the \"format_string\" " -"parameters as keyword arguments." -msgstr "" - -#: ../../../build/NEWS:27703 -msgid "" -"`bpo-23502 `__: The pprint module now " -"supports mapping proxies." -msgstr "" - -#: ../../../build/NEWS:27705 -msgid "" -"`bpo-17530 `__: pprint now wraps long " -"bytes objects and bytearrays." -msgstr "" - -#: ../../../build/NEWS:27707 -msgid "" -"`bpo-22687 `__: Fixed some corner cases " -"in breaking words in tetxtwrap. Got rid of quadratic complexity in breaking " -"long words." -msgstr "" - -#: ../../../build/NEWS:27710 -msgid "" -"`bpo-4727 `__: The copy module now uses " -"pickle protocol 4 (PEP 3154) and supports copying of instances of classes " -"whose __new__ method takes keyword-only arguments." -msgstr "" - -#: ../../../build/NEWS:27714 -msgid "" -"`bpo-23491 `__: Added a zipapp module to " -"support creating executable zip file archives of Python code. Registered \"." -"pyz\" and \".pyzw\" extensions on Windows for these archives (PEP 441)." -msgstr "" - -#: ../../../build/NEWS:27718 -msgid "" -"`bpo-23657 `__: Avoid explicit checks " -"for str in zipapp, adding support for pathlib.Path objects as arguments." -msgstr "" - -#: ../../../build/NEWS:27721 -msgid "" -"`bpo-23688 `__: Added support of " -"arbitrary bytes-like objects and avoided unnecessary copying of memoryview " -"in gzip.GzipFile.write(). Original patch by Wolfgang Maier." -msgstr "" - -#: ../../../build/NEWS:27725 -msgid "" -"`bpo-23252 `__: Added support for " -"writing ZIP files to unseekable streams." -msgstr "" - -#: ../../../build/NEWS:27727 -msgid "" -"`bpo-23647 `__: Increase imaplib's " -"MAXLINE to accommodate modern mailbox sizes." -msgstr "" - -#: ../../../build/NEWS:27729 -msgid "" -"`bpo-23539 `__: If body is None, http." -"client.HTTPConnection.request now sets Content-Length to 0 for PUT, POST, " -"and PATCH headers to avoid 411 errors from some web servers." -msgstr "" - -#: ../../../build/NEWS:27733 -msgid "" -"`bpo-22351 `__: The nntplib.NNTP " -"constructor no longer leaves the connection and socket open until the " -"garbage collector cleans them up. Patch by Martin Panter." -msgstr "" - -#: ../../../build/NEWS:27737 -msgid "" -"`bpo-23704 `__: collections.deque() " -"objects now support methods for index(), insert(), and copy(). This allows " -"deques to be registered as a MutableSequence and it improves their " -"substitutability for lists." -msgstr "" - -#: ../../../build/NEWS:27741 -msgid "" -"`bpo-23715 `__: :func:`signal." -"sigwaitinfo` and :func:`signal.sigtimedwait` are now retried when " -"interrupted by a signal not in the *sigset* parameter, if the signal handler " -"does not raise an exception. signal.sigtimedwait() recomputes the timeout " -"with a monotonic clock when it is retried." -msgstr "" - -#: ../../../build/NEWS:27746 -msgid "" -"`bpo-23001 `__: Few functions in modules " -"mmap, ossaudiodev, socket, ssl, and codecs, that accepted only read-only " -"bytes-like object now accept writable bytes-like object too." -msgstr "" - -#: ../../../build/NEWS:27750 -msgid "" -"`bpo-23646 `__: If time.sleep() is " -"interrupted by a signal, the sleep is now retried with the recomputed delay, " -"except if the signal handler raises an exception (PEP 475)." -msgstr "" - -#: ../../../build/NEWS:27754 -msgid "" -"`bpo-23136 `__: _strptime now uniformly " -"handles all days in week 0, including Dec 30 of previous year. Based on " -"patch by Jim Carroll." -msgstr "" - -#: ../../../build/NEWS:27757 -msgid "" -"`bpo-23700 `__: Iterator of " -"NamedTemporaryFile now keeps a reference to NamedTemporaryFile instance. " -"Patch by Bohuslav Kabrda." -msgstr "" - -#: ../../../build/NEWS:27760 -msgid "" -"`bpo-22903 `__: The fake test case " -"created by unittest.loader when it fails importing a test module is now " -"picklable." -msgstr "" - -#: ../../../build/NEWS:27763 -msgid "" -"`bpo-22181 `__: On Linux, os.urandom() " -"now uses the new getrandom() syscall if available, syscall introduced in the " -"Linux kernel 3.17. It is more reliable and more secure, because it avoids " -"the need of a file descriptor and waits until the kernel has enough entropy." -msgstr "" - -#: ../../../build/NEWS:27768 -msgid "" -"`bpo-2211 `__: Updated the implementation " -"of the http.cookies.Morsel class. Setting attributes key, value and " -"coded_value directly now is deprecated. update() and setdefault() now " -"transform and check keys. Comparing for equality now takes into account " -"attributes key, value and coded_value. copy() now returns a Morsel, not a " -"dict. repr() now contains all attributes. Optimized checking keys and " -"quoting values. Added new tests. Original patch by Demian Brecht." -msgstr "" - -#: ../../../build/NEWS:27776 -msgid "" -"`bpo-18983 `__: Allow selection of " -"output units in timeit. Patch by Julian Gindi." -msgstr "" - -#: ../../../build/NEWS:27779 -msgid "" -"`bpo-23631 `__: Fix traceback." -"format_list when a traceback has been mutated." -msgstr "" - -#: ../../../build/NEWS:27781 -msgid "" -"`bpo-23568 `__: Add rdivmod support to " -"MagicMock() objects. Patch by Håkan Lövdahl." -msgstr "" - -#: ../../../build/NEWS:27784 -msgid "" -"`bpo-2052 `__: Add charset parameter to " -"HtmlDiff.make_file()." -msgstr "" - -#: ../../../build/NEWS:27786 -msgid "" -"`bpo-23668 `__: Support os.truncate and " -"os.ftruncate on Windows." -msgstr "" - -#: ../../../build/NEWS:27788 -msgid "" -"`bpo-23138 `__: Fixed parsing cookies " -"with absent keys or values in cookiejar. Patch by Demian Brecht." -msgstr "" - -#: ../../../build/NEWS:27791 -msgid "" -"`bpo-23051 `__: multiprocessing.Pool " -"methods imap() and imap_unordered() now handle exceptions raised by an " -"iterator. Patch by Alon Diamant and Davin Potts." -msgstr "" - -#: ../../../build/NEWS:27795 -msgid "" -"`bpo-23581 `__: Add matmul support to " -"MagicMock. Patch by Håkan Lövdahl." -msgstr "" - -#: ../../../build/NEWS:27797 -msgid "" -"`bpo-23566 `__: enable(), register(), " -"dump_traceback() and dump_traceback_later() functions of faulthandler now " -"accept file descriptors. Patch by Wei Wu." -msgstr "" - -#: ../../../build/NEWS:27801 -msgid "" -"`bpo-22928 `__: Disabled HTTP header " -"injections in http.client. Original patch by Demian Brecht." -msgstr "" - -#: ../../../build/NEWS:27804 -msgid "" -"`bpo-23615 `__: Modules bz2, tarfile and " -"tokenize now can be reloaded with imp.reload(). Patch by Thomas Kluyver." -msgstr "" - -#: ../../../build/NEWS:27807 -msgid "" -"`bpo-23605 `__: os.walk() now calls os." -"scandir() instead of os.listdir(). The usage of os.scandir() reduces the " -"number of calls to os.stat(). Initial patch written by Ben Hoyt." -msgstr "" - -#: ../../../build/NEWS:27814 -msgid "" -"`bpo-23585 `__: make patchcheck will " -"ensure the interpreter is built." -msgstr "" - -#: ../../../build/NEWS:27819 -msgid "" -"`bpo-23583 `__: Added tests for standard " -"IO streams in IDLE." -msgstr "" - -#: ../../../build/NEWS:27821 -msgid "" -"`bpo-22289 `__: Prevent test_urllib2net " -"failures due to ftp connection timeout." -msgstr "" - -#: ../../../build/NEWS:27826 -msgid "" -"`bpo-22826 `__: The result of open() in " -"Tools/freeze/bkfile.py is now better compatible with regular files (in " -"particular it now supports the context management protocol)." -msgstr "" - -#: ../../../build/NEWS:27832 -msgid "Python 3.5.0 alpha 2" -msgstr "" - -#: ../../../build/NEWS:27834 -msgid "*Release date: 2015-03-09*" -msgstr "" - -#: ../../../build/NEWS:27839 -msgid "" -"`bpo-23571 `__: PyObject_Call() and " -"PyCFunction_Call() now raise a SystemError if a function returns a result " -"and raises an exception. The SystemError is chained to the previous " -"exception." -msgstr "" - -#: ../../../build/NEWS:27846 -msgid "" -"`bpo-22524 `__: New os.scandir() " -"function, part of the :pep:`471`: \"os.scandir() function -- a better and " -"faster directory iterator\". Patch written by Ben Hoyt." -msgstr "" - -#: ../../../build/NEWS:27850 -msgid "" -"`bpo-23103 `__: Reduced the memory " -"consumption of IPv4Address and IPv6Address." -msgstr "" - -#: ../../../build/NEWS:27852 -msgid "" -"`bpo-21793 `__: BaseHTTPRequestHandler " -"again logs response code as numeric, not as stringified enum. Patch by " -"Demian Brecht." -msgstr "" - -#: ../../../build/NEWS:27855 -msgid "" -"`bpo-23476 `__: In the ssl module, " -"enable OpenSSL's X509_V_FLAG_TRUSTED_FIRST flag on certificate stores when " -"it is available." -msgstr "" - -#: ../../../build/NEWS:27858 -msgid "" -"`bpo-23576 `__: Avoid stalling in SSL " -"reads when EOF has been reached in the SSL layer but the underlying " -"connection hasn't been closed." -msgstr "" - -#: ../../../build/NEWS:27861 -msgid "" -"`bpo-23504 `__: Added an __all__ to the " -"types module." -msgstr "" - -#: ../../../build/NEWS:27863 -msgid "" -"`bpo-23563 `__: Optimized utility " -"functions in urllib.parse." -msgstr "" - -#: ../../../build/NEWS:27865 -msgid "" -"`bpo-7830 `__: Flatten nested functools." -"partial." -msgstr "" - -#: ../../../build/NEWS:27867 -msgid "" -"`bpo-20204 `__: Added the __module__ " -"attribute to _tkinter classes." -msgstr "" - -#: ../../../build/NEWS:27869 -msgid "" -"`bpo-19980 `__: Improved help() for non-" -"recognized strings. help('') now shows the help on str. help('help') now " -"shows the help on help(). Original patch by Mark Lawrence." -msgstr "" - -#: ../../../build/NEWS:27873 -msgid "" -"`bpo-23521 `__: Corrected pure python " -"implementation of timedelta division. Eliminated OverflowError from " -"``timedelta * float`` for some floats; Corrected rounding in timedelta true " -"division." -msgstr "" - -#: ../../../build/NEWS:27877 -msgid "" -"`bpo-21619 `__: Popen objects no longer " -"leave a zombie after exit in the with statement if the pipe was broken. " -"Patch by Martin Panter." -msgstr "" - -#: ../../../build/NEWS:27880 -msgid "" -"`bpo-22936 `__: Make it possible to show " -"local variables in tracebacks for both the traceback module and unittest." -msgstr "" - -#: ../../../build/NEWS:27883 -msgid "" -"`bpo-15955 `__: Add an option to limit " -"the output size in bz2.decompress(). Patch by Nikolaus Rath." -msgstr "" - -#: ../../../build/NEWS:27886 -msgid "" -"`bpo-6639 `__: Module-level turtle " -"functions no longer raise TclError after closing the window." -msgstr "" - -#: ../../../build/NEWS:27889 -msgid "" -"`bpo-814253 `__: Group references and " -"conditional group references now work in lookbehind assertions in regular " -"expressions. (See also: `bpo-9179 `__)" -msgstr "" - -#: ../../../build/NEWS:27892 -msgid "" -"`bpo-23215 `__: Multibyte codecs with " -"custom error handlers that ignores errors consumed too much memory and " -"raised SystemError or MemoryError. Original patch by Aleksi Torhamo." -msgstr "" - -#: ../../../build/NEWS:27896 -msgid "" -"`bpo-5700 `__: io.FileIO() called flush() " -"after closing the file. flush() was not called in close() if closefd=False." -msgstr "" - -#: ../../../build/NEWS:27899 -msgid "" -"`bpo-23374 `__: Fixed pydoc failure with " -"non-ASCII files when stdout encoding differs from file system encoding (e.g. " -"on Mac OS)." -msgstr "" - -#: ../../../build/NEWS:27902 -msgid "" -"`bpo-23481 `__: Remove RC4 from the SSL " -"module's default cipher list." -msgstr "" - -#: ../../../build/NEWS:27904 -msgid "" -"`bpo-21548 `__: Fix pydoc.synopsis() and " -"pydoc.apropos() on modules with empty docstrings." -msgstr "" - -#: ../../../build/NEWS:27907 -msgid "" -"`bpo-22885 `__: Fixed arbitrary code " -"execution vulnerability in the dbm.dumb module. Original patch by Claudiu " -"Popa." -msgstr "" - -#: ../../../build/NEWS:27910 -msgid "" -"`bpo-23239 `__: ssl.match_hostname() now " -"supports matching of IP addresses." -msgstr "" - -#: ../../../build/NEWS:27912 -msgid "" -"`bpo-23146 `__: Fix mishandling of " -"absolute Windows paths with forward slashes in pathlib." -msgstr "" - -#: ../../../build/NEWS:27915 -msgid "" -"`bpo-23096 `__: Pickle representation of " -"floats with protocol 0 now is the same for both Python and C implementations." -msgstr "" - -#: ../../../build/NEWS:27918 -msgid "" -"`bpo-19105 `__: pprint now more " -"efficiently uses free space at the right." -msgstr "" - -#: ../../../build/NEWS:27920 -msgid "" -"`bpo-14910 `__: Add allow_abbrev " -"parameter to argparse.ArgumentParser. Patch by Jonathan Paugh, Steven " -"Bethard, paul j3 and Daniel Eriksson." -msgstr "" - -#: ../../../build/NEWS:27923 -msgid "" -"`bpo-21717 `__: tarfile.open() now " -"supports 'x' (exclusive creation) mode." -msgstr "" - -#: ../../../build/NEWS:27925 -msgid "" -"`bpo-23344 `__: marshal.dumps() is now " -"20-25% faster on average." -msgstr "" - -#: ../../../build/NEWS:27927 -msgid "" -"`bpo-20416 `__: marshal.dumps() with " -"protocols 3 and 4 is now 40-50% faster on average." -msgstr "" - -#: ../../../build/NEWS:27930 -msgid "" -"`bpo-23421 `__: Fixed compression in " -"tarfile CLI. Patch by wdv4758h." -msgstr "" - -#: ../../../build/NEWS:27932 -msgid "" -"`bpo-23367 `__: Fix possible overflows " -"in the unicodedata module." -msgstr "" - -#: ../../../build/NEWS:27934 -msgid "" -"`bpo-23361 `__: Fix possible overflow in " -"Windows subprocess creation code." -msgstr "" - -#: ../../../build/NEWS:27936 -msgid "" -"logging.handlers.QueueListener now takes a respect_handler_level keyword " -"argument which, if set to True, will pass messages to handlers taking " -"handler levels into account." -msgstr "" - -#: ../../../build/NEWS:27940 -msgid "" -"`bpo-19705 `__: turtledemo now has a " -"visual sorting algorithm demo. Original patch from Jason Yeo." -msgstr "" - -#: ../../../build/NEWS:27943 -msgid "" -"`bpo-23801 `__: Fix issue where cgi." -"FieldStorage did not always ignore the entire preamble to a multipart body." -msgstr "" - -#: ../../../build/NEWS:27949 -msgid "" -"`bpo-23445 `__: pydebug builds now use " -"\"gcc -Og\" where possible, to make the resulting executable faster." -msgstr "" - -#: ../../../build/NEWS:27952 -msgid "" -"`bpo-23686 `__: Update OS X 10.5 " -"installer build to use OpenSSL 1.0.2a." -msgstr "" - -#: ../../../build/NEWS:27957 -msgid "" -"`bpo-20204 `__: Deprecation warning is " -"now raised for builtin types without the __module__ attribute." -msgstr "" - -#: ../../../build/NEWS:27963 -msgid "" -"`bpo-23465 `__: Implement :pep:`486` - " -"Make the Python Launcher aware of virtual environments. Patch by Paul Moore." -msgstr "" - -#: ../../../build/NEWS:27966 -msgid "" -"`bpo-23437 `__: Make user scripts " -"directory versioned on Windows. Patch by Paul Moore." -msgstr "" - -#: ../../../build/NEWS:27971 -msgid "Python 3.5.0 alpha 1" -msgstr "" - -#: ../../../build/NEWS:27973 -msgid "*Release date: 2015-02-08*" -msgstr "" - -#: ../../../build/NEWS:27978 -msgid "" -"`bpo-23285 `__: PEP 475 - EINTR handling." -msgstr "" - -#: ../../../build/NEWS:27980 -msgid "" -"`bpo-22735 `__: Fix many edge cases " -"(including crashes) involving custom mro() implementations." -msgstr "" - -#: ../../../build/NEWS:27983 -msgid "" -"`bpo-22896 `__: Avoid using " -"PyObject_AsCharBuffer(), PyObject_AsReadBuffer() and " -"PyObject_AsWriteBuffer()." -msgstr "" - -#: ../../../build/NEWS:27986 -msgid "" -"`bpo-21295 `__: Revert some changes " -"(`bpo-16795 `__) to AST line numbers and " -"column offsets that constituted a regression." -msgstr "" - -#: ../../../build/NEWS:27989 -msgid "" -"`bpo-22986 `__: Allow changing an " -"object's __class__ between a dynamic type and static type in some cases." -msgstr "" - -#: ../../../build/NEWS:27992 -msgid "" -"`bpo-15859 `__: " -"PyUnicode_EncodeFSDefault(), PyUnicode_EncodeMBCS() and " -"PyUnicode_EncodeCodePage() now raise an exception if the object is not a " -"Unicode object. For PyUnicode_EncodeFSDefault(), it was already the case on " -"platforms other than Windows. Patch written by Campbell Barton." -msgstr "" - -#: ../../../build/NEWS:27997 -msgid "" -"`bpo-21408 `__: The default __ne__() now " -"returns NotImplemented if __eq__() returned NotImplemented. Original patch " -"by Martin Panter." -msgstr "" - -#: ../../../build/NEWS:28000 -msgid "" -"`bpo-23321 `__: Fixed a crash in str." -"decode() when error handler returned replacement string longer than " -"malformed input data." -msgstr "" - -#: ../../../build/NEWS:28003 -msgid "" -"`bpo-22286 `__: The \"backslashreplace\" " -"error handlers now works with decoding and translating." -msgstr "" - -#: ../../../build/NEWS:28006 -msgid "" -"`bpo-23253 `__: Delay-load " -"ShellExecute[AW] in os.startfile for reduced startup overhead on Windows." -msgstr "" - -#: ../../../build/NEWS:28009 -msgid "" -"`bpo-22038 `__: pyatomic.h now uses " -"stdatomic.h or GCC built-in functions for atomic memory access if available. " -"Patch written by Vitor de Lima and Gustavo Temple." -msgstr "" - -#: ../../../build/NEWS:28013 -msgid "" -"`bpo-20284 `__: %-interpolation (aka " -"printf) formatting added for bytes and bytearray." -msgstr "" - -#: ../../../build/NEWS:28016 -msgid "" -"`bpo-23048 `__: Fix jumping out of an " -"infinite while loop in the pdb." -msgstr "" - -#: ../../../build/NEWS:28018 -msgid "" -"`bpo-20335 `__: bytes constructor now " -"raises TypeError when encoding or errors is specified with non-string " -"argument. Based on patch by Renaud Blanch." -msgstr "" - -#: ../../../build/NEWS:28021 -msgid "" -"`bpo-22834 `__: If the current working " -"directory ends up being set to a non-existent directory then import will no " -"longer raise FileNotFoundError." -msgstr "" - -#: ../../../build/NEWS:28024 -msgid "" -"`bpo-22869 `__: Move the interpreter " -"startup & shutdown code to a new dedicated pylifecycle.c module" -msgstr "" - -#: ../../../build/NEWS:28027 -msgid "" -"`bpo-22847 `__: Improve method cache " -"efficiency." -msgstr "" - -#: ../../../build/NEWS:28029 -msgid "" -"`bpo-22335 `__: Fix crash when trying to " -"enlarge a bytearray to 0x7fffffff bytes on a 32-bit platform." -msgstr "" - -#: ../../../build/NEWS:28032 -msgid "" -"`bpo-22653 `__: Fix an assertion failure " -"in debug mode when doing a reentrant dict insertion in debug mode." -msgstr "" - -#: ../../../build/NEWS:28035 -msgid "" -"`bpo-22643 `__: Fix integer overflow in " -"Unicode case operations (upper, lower, title, swapcase, casefold)." -msgstr "" - -#: ../../../build/NEWS:28038 -msgid "" -"`bpo-17636 `__: Circular imports " -"involving relative imports are now supported." -msgstr "" - -#: ../../../build/NEWS:28040 -msgid "" -"`bpo-22604 `__: Fix assertion error in " -"debug mode when dividing a complex number by (nan+0j)." -msgstr "" - -#: ../../../build/NEWS:28043 -msgid "" -"`bpo-21052 `__: Do not raise " -"ImportWarning when sys.path_hooks or sys.meta_path are set to None." -msgstr "" - -#: ../../../build/NEWS:28046 -msgid "" -"`bpo-16518 `__: Use 'bytes-like object " -"required' in error messages that previously used the far more cryptic \"'x' " -"does not support the buffer protocol." -msgstr "" - -#: ../../../build/NEWS:28050 -msgid "" -"`bpo-22470 `__: Fixed integer overflow " -"issues in \"backslashreplace\", \"xmlcharrefreplace\", and \"surrogatepass\" " -"error handlers." -msgstr "" - -#: ../../../build/NEWS:28053 -msgid "" -"`bpo-22540 `__: speed up " -"`PyObject_IsInstance` and `PyObject_IsSubclass` in the common case that the " -"second argument has metaclass `type`." -msgstr "" - -#: ../../../build/NEWS:28056 -msgid "" -"`bpo-18711 `__: Add a new " -"`PyErr_FormatV` function, similar to `PyErr_Format` but accepting a " -"`va_list` argument." -msgstr "" - -#: ../../../build/NEWS:28059 -msgid "" -"`bpo-22520 `__: Fix overflow checking " -"when generating the repr of a unicode object." -msgstr "" - -#: ../../../build/NEWS:28062 -msgid "" -"`bpo-22519 `__: Fix overflow checking in " -"PyBytes_Repr." -msgstr "" - -#: ../../../build/NEWS:28064 -msgid "" -"`bpo-22518 `__: Fix integer overflow " -"issues in latin-1 encoding." -msgstr "" - -#: ../../../build/NEWS:28066 -msgid "" -"`bpo-16324 `__: _charset parameter of " -"MIMEText now also accepts email.charset.Charset instances. Initial patch by " -"Claude Paroz." -msgstr "" - -#: ../../../build/NEWS:28069 -msgid "" -"`bpo-1764286 `__: Fix inspect." -"getsource() to support decorated functions. Patch by Claudiu Popa." -msgstr "" - -#: ../../../build/NEWS:28072 -msgid "" -"`bpo-18554 `__: os.__all__ includes " -"posix functions." -msgstr "" - -#: ../../../build/NEWS:28074 -msgid "" -"`bpo-21391 `__: Use os.path.abspath in " -"the shutil module." -msgstr "" - -#: ../../../build/NEWS:28076 -msgid "" -"`bpo-11471 `__: avoid generating a " -"JUMP_FORWARD instruction at the end of an if-block if there is no else-" -"clause. Original patch by Eugene Toder." -msgstr "" - -#: ../../../build/NEWS:28079 -msgid "" -"`bpo-22215 `__: Now ValueError is raised " -"instead of TypeError when str or bytes argument contains not permitted null " -"character or byte." -msgstr "" - -#: ../../../build/NEWS:28082 -msgid "" -"`bpo-22258 `__: Fix the internal " -"function set_inheritable() on Illumos. This platform exposes the function " -"``ioctl(FIOCLEX)``, but calling it fails with errno is ENOTTY: " -"\"Inappropriate ioctl for device\". set_inheritable() now falls back to the " -"slower ``fcntl()`` (``F_GETFD`` and then ``F_SETFD``)." -msgstr "" - -#: ../../../build/NEWS:28088 -msgid "" -"`bpo-21389 `__: Displaying the " -"__qualname__ of the underlying function in the repr of a bound method." -msgstr "" - -#: ../../../build/NEWS:28091 -msgid "" -"`bpo-22206 `__: Using pthread, " -"PyThread_create_key() now sets errno to ENOMEM and returns -1 (error) on " -"integer overflow." -msgstr "" - -#: ../../../build/NEWS:28094 -msgid "" -"`bpo-20184 `__: Argument Clinic based " -"signature introspection added for 30 of the builtin functions." -msgstr "" - -#: ../../../build/NEWS:28097 -msgid "" -"`bpo-22116 `__: C functions and methods " -"(of the 'builtin_function_or_method' type) can now be weakref'ed. Patch by " -"Wei Wu." -msgstr "" - -#: ../../../build/NEWS:28100 -msgid "" -"`bpo-22077 `__: Improve index error " -"messages for bytearrays, bytes, lists, and tuples by adding 'or slices'. " -"Added ', not ' for bytearrays. Original patch by Claudiu Popa." -msgstr "" - -#: ../../../build/NEWS:28104 -msgid "" -"`bpo-20179 `__: Apply Argument Clinic to " -"bytes and bytearray. Patch by Tal Einat." -msgstr "" - -#: ../../../build/NEWS:28107 -msgid "" -"`bpo-22082 `__: Clear interned strings " -"in slotdefs." -msgstr "" - -#: ../../../build/NEWS:28109 -msgid "Upgrade Unicode database to Unicode 7.0.0." -msgstr "" - -#: ../../../build/NEWS:28111 -msgid "" -"`bpo-21897 `__: Fix a crash with the " -"f_locals attribute with closure variables when frame.clear() has been called." -msgstr "" - -#: ../../../build/NEWS:28114 -msgid "" -"`bpo-21205 `__: Add a new " -"``__qualname__`` attribute to generator, the qualified name, and use it in " -"the representation of a generator (``repr(gen)``). The default name of the " -"generator (``__name__`` attribute) is now get from the function instead of " -"the code. Use ``gen.gi_code.co_name`` to get the name of the code." -msgstr "" - -#: ../../../build/NEWS:28120 -msgid "" -"`bpo-21669 `__: With the aid of " -"heuristics in SyntaxError.__init__, the parser now attempts to generate more " -"meaningful (or at least more search engine friendly) error messages when " -"\"exec\" and \"print\" are used as statements." -msgstr "" - -#: ../../../build/NEWS:28124 -msgid "" -"`bpo-21642 `__: In the conditional if-" -"else expression, allow an integer written with no space between itself and " -"the ``else`` keyword (e.g. ``True if 42else False``) to be valid syntax." -msgstr "" - -#: ../../../build/NEWS:28128 -msgid "" -"`bpo-21523 `__: Fix over-pessimistic " -"computation of the stack effect of some opcodes in the compiler. This also " -"fixes a quadratic compilation time issue noticeable when compiling code with " -"a large number of \"and\" and \"or\" operators." -msgstr "" - -#: ../../../build/NEWS:28133 -msgid "" -"`bpo-21418 `__: Fix a crash in the " -"builtin function super() when called without argument and without current " -"frame (ex: embedded Python)." -msgstr "" - -#: ../../../build/NEWS:28136 -msgid "" -"`bpo-21425 `__: Fix flushing of standard " -"streams in the interactive interpreter." -msgstr "" - -#: ../../../build/NEWS:28139 -msgid "" -"`bpo-21435 `__: In rare cases, when " -"running finalizers on objects in cyclic trash a bad pointer dereference " -"could occur due to a subtle flaw in internal iteration logic." -msgstr "" - -#: ../../../build/NEWS:28143 -msgid "" -"`bpo-21377 `__: PyBytes_Concat() now " -"tries to concatenate in-place when the first argument has a reference count " -"of 1. Patch by Nikolaus Rath." -msgstr "" - -#: ../../../build/NEWS:28146 -msgid "" -"`bpo-20355 `__: -W command line options " -"now have higher priority than the PYTHONWARNINGS environment variable. " -"Patch by Arfrever." -msgstr "" - -#: ../../../build/NEWS:28149 -msgid "" -"`bpo-21274 `__: Define PATH_MAX for GNU/" -"Hurd in Python/pythonrun.c." -msgstr "" - -#: ../../../build/NEWS:28151 -msgid "" -"`bpo-20904 `__: Support setting FPU " -"precision on m68k." -msgstr "" - -#: ../../../build/NEWS:28153 -msgid "" -"`bpo-21209 `__: Fix sending tuples to " -"custom generator objects with the yield from syntax." -msgstr "" - -#: ../../../build/NEWS:28156 -msgid "" -"`bpo-21193 `__: pow(a, b, c) now raises " -"ValueError rather than TypeError when b is negative. Patch by Josh Rosenberg." -msgstr "" - -#: ../../../build/NEWS:28159 -msgid "" -"`bpo-21176 `__: PEP 465: Add the '@' " -"operator for matrix multiplication." -msgstr "" - -#: ../../../build/NEWS:28161 -msgid "" -"`bpo-21134 `__: Fix segfault when str is " -"called on an uninitialized UnicodeEncodeError, UnicodeDecodeError, or " -"UnicodeTranslateError object." -msgstr "" - -#: ../../../build/NEWS:28164 -msgid "" -"`bpo-19537 `__: Fix PyUnicode_DATA() " -"alignment under m68k. Patch by Andreas Schwab." -msgstr "" - -#: ../../../build/NEWS:28167 -msgid "" -"`bpo-20929 `__: Add a type cast to avoid " -"shifting a negative number." -msgstr "" - -#: ../../../build/NEWS:28169 -msgid "" -"`bpo-20731 `__: Properly position in " -"source code files even if they are opened in text mode. Patch by Serhiy " -"Storchaka." -msgstr "" - -#: ../../../build/NEWS:28172 -msgid "" -"`bpo-20637 `__: Key-sharing now also " -"works for instance dictionaries of subclasses. Patch by Peter Ingebretson." -msgstr "" - -#: ../../../build/NEWS:28175 -msgid "" -"`bpo-8297 `__: Attributes missing from " -"modules now include the module name in the error text. Original patch by " -"ysj.ray." -msgstr "" - -#: ../../../build/NEWS:28178 -msgid "" -"`bpo-19995 `__: %c, %o, %x, and %X now " -"raise TypeError on non-integer input." -msgstr "" - -#: ../../../build/NEWS:28180 -msgid "" -"`bpo-19655 `__: The ASDL parser - used " -"by the build process to generate code for managing the Python AST in C - was " -"rewritten. The new parser is self contained and does not require to carry " -"long the spark.py parser-generator library; spark.py was removed from the " -"source base." -msgstr "" - -#: ../../../build/NEWS:28185 -msgid "" -"`bpo-12546 `__: Allow ``\\x00`` to be " -"used as a fill character when using str, int, float, and complex __format__ " -"methods." -msgstr "" - -#: ../../../build/NEWS:28188 -msgid "" -"`bpo-20480 `__: Add ipaddress." -"reverse_pointer. Patch by Leon Weber." -msgstr "" - -#: ../../../build/NEWS:28190 -msgid "" -"`bpo-13598 `__: Modify string.Formatter " -"to support auto-numbering of replacement fields. It now matches the behavior " -"of str.format() in this regard. Patches by Phil Elson and Ramchandra Apte." -msgstr "" - -#: ../../../build/NEWS:28194 -msgid "" -"`bpo-8931 `__: Make alternate formatting " -"('#') for type 'c' raise an exception. In versions prior to 3.5, '#' with " -"'c' had no effect. Now specifying it is an error. Patch by Torsten " -"Landschoff." -msgstr "" - -#: ../../../build/NEWS:28198 -msgid "" -"`bpo-23165 `__: Perform overflow checks " -"before allocating memory in the _Py_char2wchar function." -msgstr "" - -#: ../../../build/NEWS:28204 -msgid "" -"`bpo-23399 `__: pyvenv creates relative " -"symlinks where possible." -msgstr "" - -#: ../../../build/NEWS:28206 -msgid "" -"`bpo-20289 `__: cgi.FieldStorage() now " -"supports the context management protocol." -msgstr "" - -#: ../../../build/NEWS:28209 -msgid "" -"`bpo-13128 `__: Print response headers " -"for CONNECT requests when debuglevel > 0. Patch by Demian Brecht." -msgstr "" - -#: ../../../build/NEWS:28212 -msgid "" -"`bpo-15381 `__: Optimized io.BytesIO to " -"make less allocations and copyings." -msgstr "" - -#: ../../../build/NEWS:28214 -msgid "" -"`bpo-22818 `__: Splitting on a pattern " -"that could match an empty string now raises a warning. Patterns that can " -"only match empty strings are now rejected." -msgstr "" - -#: ../../../build/NEWS:28218 -msgid "" -"`bpo-23099 `__: Closing io.BytesIO with " -"exported buffer is rejected now to prevent corrupting exported buffer." -msgstr "" - -#: ../../../build/NEWS:28221 -msgid "" -"`bpo-23326 `__: Removed __ne__ " -"implementations. Since fixing default __ne__ implementation in `bpo-21408 " -"`__ they are redundant." -msgstr "" - -#: ../../../build/NEWS:28224 -msgid "" -"`bpo-23363 `__: Fix possible overflow in " -"itertools.permutations." -msgstr "" - -#: ../../../build/NEWS:28226 -msgid "" -"`bpo-23364 `__: Fix possible overflow in " -"itertools.product." -msgstr "" - -#: ../../../build/NEWS:28228 -msgid "" -"`bpo-23366 `__: Fixed possible integer " -"overflow in itertools.combinations." -msgstr "" - -#: ../../../build/NEWS:28230 -msgid "" -"`bpo-23369 `__: Fixed possible integer " -"overflow in _json.encode_basestring_ascii." -msgstr "" - -#: ../../../build/NEWS:28233 -msgid "" -"`bpo-23353 `__: Fix the exception " -"handling of generators in PyEval_EvalFrameEx(). At entry, save or swap the " -"exception state even if PyEval_EvalFrameEx() is called with throwflag=0. At " -"exit, the exception state is now always restored or swapped, not only if why " -"is WHY_YIELD or WHY_RETURN. Patch co-written with Antoine Pitrou." -msgstr "" - -#: ../../../build/NEWS:28239 -msgid "" -"`bpo-14099 `__: Restored support of " -"writing ZIP files to tellable but non-seekable streams." -msgstr "" - -#: ../../../build/NEWS:28242 -msgid "" -"`bpo-14099 `__: Writing to ZipFile and " -"reading multiple ZipExtFiles is threadsafe now." -msgstr "" - -#: ../../../build/NEWS:28245 -msgid "" -"`bpo-19361 `__: JSON decoder now raises " -"JSONDecodeError instead of ValueError." -msgstr "" - -#: ../../../build/NEWS:28247 -msgid "" -"`bpo-18518 `__: timeit now rejects " -"statements which can't be compiled outside a function or a loop (e.g. " -"\"return\" or \"break\")." -msgstr "" - -#: ../../../build/NEWS:28250 -msgid "" -"`bpo-23094 `__: Fixed readline with " -"frames in Python implementation of pickle." -msgstr "" - -#: ../../../build/NEWS:28252 -msgid "" -"`bpo-23268 `__: Fixed bugs in the " -"comparison of ipaddress classes." -msgstr "" - -#: ../../../build/NEWS:28254 -msgid "" -"`bpo-21408 `__: Removed incorrect " -"implementations of __ne__() which didn't returned NotImplemented if __eq__() " -"returned NotImplemented. The default __ne__() now works correctly." -msgstr "" - -#: ../../../build/NEWS:28258 -msgid "" -"`bpo-19996 `__: :class:`email.feedparser." -"FeedParser` now handles (malformed) headers with no key rather than assuming " -"the body has started." -msgstr "" - -#: ../../../build/NEWS:28261 -msgid "" -"`bpo-20188 `__: Support Application-" -"Layer Protocol Negotiation (ALPN) in the ssl module." -msgstr "" - -#: ../../../build/NEWS:28264 -msgid "" -"`bpo-23133 `__: Pickling of ipaddress " -"objects now produces more compact and portable representation." -msgstr "" - -#: ../../../build/NEWS:28267 -msgid "" -"`bpo-23248 `__: Update ssl error codes " -"from latest OpenSSL git master." -msgstr "" - -#: ../../../build/NEWS:28269 -msgid "" -"`bpo-23266 `__: Much faster " -"implementation of ipaddress.collapse_addresses() when there are many non-" -"consecutive addresses." -msgstr "" - -#: ../../../build/NEWS:28272 -msgid "" -"`bpo-23098 `__: 64-bit dev_t is now " -"supported in the os module." -msgstr "" - -#: ../../../build/NEWS:28274 -msgid "" -"`bpo-21817 `__: When an exception is " -"raised in a task submitted to a ProcessPoolExecutor, the remote traceback is " -"now displayed in the parent process. Patch by Claudiu Popa." -msgstr "" - -#: ../../../build/NEWS:28278 -msgid "" -"`bpo-15955 `__: Add an option to limit " -"output size when decompressing LZMA data. Patch by Nikolaus Rath and Martin " -"Panter." -msgstr "" - -#: ../../../build/NEWS:28281 -msgid "" -"`bpo-23250 `__: In the http.cookies " -"module, capitalize \"HttpOnly\" and \"Secure\" as they are written in the " -"standard." -msgstr "" - -#: ../../../build/NEWS:28284 -msgid "" -"`bpo-23063 `__: In the distutils' check " -"command, fix parsing of reST with code or code-block directives." -msgstr "" - -#: ../../../build/NEWS:28287 -msgid "" -"`bpo-23209 `__: selectors.BaseSelector." -"get_key() now raises a RuntimeError if the selector is closed. And selectors." -"BaseSelector.close() now clears its internal reference to the selector " -"mapping to break a reference cycle. Initial patch written by Martin Richard. " -"(See also: `bpo-23225 `__)" -msgstr "" - -#: ../../../build/NEWS:28292 -msgid "" -"`bpo-17911 `__: Provide a way to seed " -"the linecache for a PEP-302 module without actually loading the code." -msgstr "" - -#: ../../../build/NEWS:28295 -msgid "" -"`bpo-17911 `__: Provide a new object API " -"for traceback, including the ability to not lookup lines at all until the " -"traceback is actually rendered, without any trace of the original objects " -"being kept alive." -msgstr "" - -#: ../../../build/NEWS:28299 -msgid "" -"`bpo-19777 `__: Provide a home() " -"classmethod on Path objects. Contributed by Victor Salgado and Mayank " -"Tripathi." -msgstr "" - -#: ../../../build/NEWS:28302 -msgid "" -"`bpo-23206 `__: Make ``json.dumps(..., " -"ensure_ascii=False)`` as fast as the default case of ``ensure_ascii=True``. " -"Patch by Naoki Inada." -msgstr "" - -#: ../../../build/NEWS:28305 -msgid "" -"`bpo-23185 `__: Add math.inf and math." -"nan constants." -msgstr "" - -#: ../../../build/NEWS:28307 -msgid "" -"`bpo-23186 `__: Add ssl.SSLObject." -"shared_ciphers() and ssl.SSLSocket.shared_ciphers() to fetch the client's " -"list ciphers sent at handshake." -msgstr "" - -#: ../../../build/NEWS:28311 -msgid "" -"`bpo-23143 `__: Remove compatibility " -"with OpenSSLs older than 0.9.8." -msgstr "" - -#: ../../../build/NEWS:28313 -msgid "" -"`bpo-23132 `__: Improve performance and " -"introspection support of comparison methods created by functool." -"total_ordering." -msgstr "" - -#: ../../../build/NEWS:28316 -msgid "" -"`bpo-19776 `__: Add an expanduser() " -"method on Path objects." -msgstr "" - -#: ../../../build/NEWS:28318 -msgid "" -"`bpo-23112 `__: Fix SimpleHTTPServer to " -"correctly carry the query string and fragment when it redirects to add a " -"trailing slash." -msgstr "" - -#: ../../../build/NEWS:28321 -msgid "" -"`bpo-21793 `__: Added http.HTTPStatus " -"enums (i.e. HTTPStatus.OK, HTTPStatus.NOT_FOUND). Patch by Demian Brecht." -msgstr "" - -#: ../../../build/NEWS:28324 -msgid "" -"`bpo-23093 `__: In the io, module allow " -"more operations to work on detached streams." -msgstr "" - -#: ../../../build/NEWS:28327 -msgid "" -"`bpo-23111 `__: In the ftplib, make ssl." -"PROTOCOL_SSLv23 the default protocol version." -msgstr "" - -#: ../../../build/NEWS:28330 -msgid "" -"`bpo-22585 `__: On OpenBSD 5.6 and " -"newer, os.urandom() now calls getentropy(), instead of reading /dev/urandom, " -"to get pseudo-random bytes." -msgstr "" - -#: ../../../build/NEWS:28333 -msgid "" -"`bpo-19104 `__: pprint now produces " -"evaluable output for wrapped strings." -msgstr "" - -#: ../../../build/NEWS:28335 -msgid "" -"`bpo-23071 `__: Added missing names to " -"codecs.__all__. Patch by Martin Panter." -msgstr "" - -#: ../../../build/NEWS:28337 -msgid "" -"`bpo-22783 `__: Pickling now uses the " -"NEWOBJ opcode instead of the NEWOBJ_EX opcode if possible." -msgstr "" - -#: ../../../build/NEWS:28340 -msgid "" -"`bpo-15513 `__: Added a __sizeof__ " -"implementation for pickle classes." -msgstr "" - -#: ../../../build/NEWS:28342 -msgid "" -"`bpo-19858 `__: pickletools.optimize() " -"now aware of the MEMOIZE opcode, can produce more compact result and no " -"longer produces invalid output if input data contains MEMOIZE opcodes " -"together with PUT or BINPUT opcodes." -msgstr "" - -#: ../../../build/NEWS:28346 -msgid "" -"`bpo-22095 `__: Fixed HTTPConnection." -"set_tunnel with default port. The port value in the host header was set to " -"\"None\". Patch by Demian Brecht." -msgstr "" - -#: ../../../build/NEWS:28349 -msgid "" -"`bpo-23016 `__: A warning no longer " -"produces an AttributeError when the program is run with pythonw.exe." -msgstr "" - -#: ../../../build/NEWS:28352 -msgid "" -"`bpo-21775 `__: shutil.copytree(): fix " -"crash when copying to VFAT. An exception handler assumed that OSError " -"objects always have a 'winerror' attribute. That is not the case, so the " -"exception handler itself raised AttributeError when run on Linux (and, " -"presumably, any other non-Windows OS). Patch by Greg Ward." -msgstr "" - -#: ../../../build/NEWS:28358 -msgid "" -"`bpo-1218234 `__: Fix inspect." -"getsource() to load updated source of reloaded module. Initial patch by " -"Berker Peksag." -msgstr "" - -#: ../../../build/NEWS:28361 -msgid "" -"`bpo-21740 `__: Support wrapped " -"callables in doctest. Patch by Claudiu Popa." -msgstr "" - -#: ../../../build/NEWS:28363 -msgid "" -"`bpo-23009 `__: Make sure selectors." -"EpollSelector.select() works when no FD is registered." -msgstr "" - -#: ../../../build/NEWS:28366 -msgid "" -"`bpo-22959 `__: In the constructor of " -"http.client.HTTPSConnection, prefer the context's check_hostname attribute " -"over the *check_hostname* parameter." -msgstr "" - -#: ../../../build/NEWS:28369 -msgid "" -"`bpo-22696 `__: Add function :func:`sys." -"is_finalizing` to know about interpreter shutdown." -msgstr "" - -#: ../../../build/NEWS:28372 -msgid "" -"`bpo-16043 `__: Add a default limit for " -"the amount of data xmlrpclib.gzip_decode will return. This resolves " -"CVE-2013-1753." -msgstr "" - -#: ../../../build/NEWS:28375 -msgid "" -"`bpo-14099 `__: ZipFile.open() no longer " -"reopen the underlying file. Objects returned by ZipFile.open() can now " -"operate independently of the ZipFile even if the ZipFile was created by " -"passing in a file-like object as the first argument to the constructor." -msgstr "" - -#: ../../../build/NEWS:28380 -msgid "" -"`bpo-22966 `__: Fix __pycache__ pyc file " -"name clobber when pyc_compile is asked to compile a source file containing " -"multiple dots in the source file name." -msgstr "" - -#: ../../../build/NEWS:28383 -msgid "" -"`bpo-21971 `__: Update turtledemo doc " -"and add module to the index." -msgstr "" - -#: ../../../build/NEWS:28385 -msgid "" -"`bpo-21032 `__: Fixed socket leak if " -"HTTPConnection.getresponse() fails. Original patch by Martin Panter." -msgstr "" - -#: ../../../build/NEWS:28388 -msgid "" -"`bpo-22407 `__: Deprecated the use of re." -"LOCALE flag with str patterns or re.ASCII. It was newer worked." -msgstr "" - -#: ../../../build/NEWS:28391 -msgid "" -"`bpo-22902 `__: The \"ip\" command is " -"now used on Linux to determine MAC address in uuid.getnode(). Pach by Bruno " -"Cauet." -msgstr "" - -#: ../../../build/NEWS:28394 -msgid "" -"`bpo-22960 `__: Add a context argument " -"to xmlrpclib.ServerProxy constructor." -msgstr "" - -#: ../../../build/NEWS:28396 -msgid "" -"`bpo-22389 `__: Add contextlib." -"redirect_stderr()." -msgstr "" - -#: ../../../build/NEWS:28398 -msgid "" -"`bpo-21356 `__: Make ssl.RAND_egd() " -"optional to support LibreSSL. The availability of the function is checked " -"during the compilation. Patch written by Bernard Spil." -msgstr "" - -#: ../../../build/NEWS:28402 -msgid "" -"`bpo-22915 `__: SAX parser now supports " -"files opened with file descriptor or bytes path." -msgstr "" - -#: ../../../build/NEWS:28405 -msgid "" -"`bpo-22609 `__: Constructors and update " -"methods of mapping classes in the collections module now accept the self " -"keyword argument." -msgstr "" - -#: ../../../build/NEWS:28408 -msgid "" -"`bpo-22940 `__: Add readline." -"append_history_file." -msgstr "" - -#: ../../../build/NEWS:28410 -msgid "" -"`bpo-19676 `__: Added the \"namereplace" -"\" error handler." -msgstr "" - -#: ../../../build/NEWS:28412 -msgid "" -"`bpo-22788 `__: Add *context* parameter " -"to logging.handlers.HTTPHandler." -msgstr "" - -#: ../../../build/NEWS:28414 -msgid "" -"`bpo-22921 `__: Allow SSLContext to take " -"the *hostname* parameter even if OpenSSL doesn't support SNI." -msgstr "" - -#: ../../../build/NEWS:28417 -msgid "" -"`bpo-22894 `__: TestCase.subTest() would " -"cause the test suite to be stopped when in failfast mode, even in the " -"absence of failures." -msgstr "" - -#: ../../../build/NEWS:28420 -msgid "" -"`bpo-22796 `__: HTTP cookie parsing is " -"now stricter, in order to protect against potential injection attacks." -msgstr "" - -#: ../../../build/NEWS:28423 -msgid "" -"`bpo-22370 `__: Windows detection in " -"pathlib is now more robust." -msgstr "" - -#: ../../../build/NEWS:28425 -msgid "" -"`bpo-22841 `__: Reject coroutines in " -"asyncio add_signal_handler(). Patch by Ludovic.Gasc." -msgstr "" - -#: ../../../build/NEWS:28428 -msgid "" -"`bpo-19494 `__: Added urllib.request." -"HTTPBasicPriorAuthHandler. Patch by Matej Cepl." -msgstr "" - -#: ../../../build/NEWS:28431 -msgid "" -"`bpo-22578 `__: Added attributes to the " -"re.error class." -msgstr "" - -#: ../../../build/NEWS:28433 -msgid "" -"`bpo-22849 `__: Fix possible double free " -"in the io.TextIOWrapper constructor." -msgstr "" - -#: ../../../build/NEWS:28435 -msgid "" -"`bpo-12728 `__: Different Unicode " -"characters having the same uppercase but different lowercase are now matched " -"in case-insensitive regular expressions." -msgstr "" - -#: ../../../build/NEWS:28439 -msgid "" -"`bpo-22821 `__: Fixed fcntl() with " -"integer argument on 64-bit big-endian platforms." -msgstr "" - -#: ../../../build/NEWS:28442 -msgid "" -"`bpo-21650 `__: Add an `--sort-keys` " -"option to json.tool CLI." -msgstr "" - -#: ../../../build/NEWS:28444 -msgid "" -"`bpo-22824 `__: Updated reprlib output " -"format for sets to use set literals. Patch contributed by Berker Peksag." -msgstr "" - -#: ../../../build/NEWS:28447 -msgid "" -"`bpo-22824 `__: Updated reprlib output " -"format for arrays to display empty arrays without an unnecessary empty " -"list. Suggested by Serhiy Storchaka." -msgstr "" - -#: ../../../build/NEWS:28450 -msgid "" -"`bpo-22406 `__: Fixed the uu_codec codec " -"incorrectly ported to 3.x. Based on patch by Martin Panter." -msgstr "" - -#: ../../../build/NEWS:28453 -msgid "" -"`bpo-17293 `__: uuid.getnode() now " -"determines MAC address on AIX using netstat. Based on patch by Aivars " -"Kalvāns." -msgstr "" - -#: ../../../build/NEWS:28456 -msgid "" -"`bpo-22769 `__: Fixed ttk.Treeview." -"tag_has() when called without arguments." -msgstr "" - -#: ../../../build/NEWS:28458 -msgid "" -"`bpo-22417 `__: Verify certificates by " -"default in httplib (PEP 476)." -msgstr "" - -#: ../../../build/NEWS:28460 -msgid "" -"`bpo-22775 `__: Fixed unpickling of http." -"cookies.SimpleCookie with protocol 2 and above. Patch by Tim Graham." -msgstr "" - -#: ../../../build/NEWS:28463 -msgid "" -"`bpo-22776 `__: Brought excluded code " -"into the scope of a try block in SysLogHandler.emit()." -msgstr "" - -#: ../../../build/NEWS:28466 -msgid "" -"`bpo-22665 `__: Add missing " -"get_terminal_size and SameFileError to shutil.__all__." -msgstr "" - -#: ../../../build/NEWS:28469 -msgid "" -"`bpo-6623 `__: Remove deprecated Netrc " -"class in the ftplib module. Patch by Matt Chaput." -msgstr "" - -#: ../../../build/NEWS:28472 -msgid "" -"`bpo-17381 `__: Fixed handling of case-" -"insensitive ranges in regular expressions." -msgstr "" - -#: ../../../build/NEWS:28475 -msgid "" -"`bpo-22410 `__: Module level functions " -"in the re module now cache compiled locale-dependent regular expressions " -"taking into account the locale." -msgstr "" - -#: ../../../build/NEWS:28478 -msgid "" -"`bpo-22759 `__: Query methods on pathlib." -"Path() (exists(), is_dir(), etc.) now return False when the underlying stat " -"call raises NotADirectoryError." -msgstr "" - -#: ../../../build/NEWS:28481 -msgid "" -"`bpo-8876 `__: distutils now falls back " -"to copying files when hard linking doesn't work. This allows use with " -"special filesystems such as VirtualBox shared folders." -msgstr "" - -#: ../../../build/NEWS:28485 -msgid "" -"`bpo-22217 `__: Implemented reprs of " -"classes in the zipfile module." -msgstr "" - -#: ../../../build/NEWS:28487 -msgid "" -"`bpo-22457 `__: Honour load_tests in the " -"start_dir of discovery." -msgstr "" - -#: ../../../build/NEWS:28489 -msgid "" -"`bpo-18216 `__: gettext now raises an " -"error when a .mo file has an unsupported major version number. Patch by " -"Aaron Hill." -msgstr "" - -#: ../../../build/NEWS:28492 -msgid "" -"`bpo-13918 `__: Provide a locale." -"delocalize() function which can remove locale-specific number formatting " -"from a string representing a number, without then converting it to a " -"specific type. Patch by Cédric Krier." -msgstr "" - -#: ../../../build/NEWS:28496 -msgid "" -"`bpo-22676 `__: Make the pickling of " -"global objects which don't have a __module__ attribute less slow." -msgstr "" - -#: ../../../build/NEWS:28499 -msgid "" -"`bpo-18853 `__: Fixed ResourceWarning in " -"shlex.__nain__." -msgstr "" - -#: ../../../build/NEWS:28501 -msgid "" -"`bpo-9351 `__: Defaults set with " -"set_defaults on an argparse subparser are no longer ignored when also set on " -"the parent parser." -msgstr "" - -#: ../../../build/NEWS:28504 -msgid "" -"`bpo-7559 `__: unittest test loading " -"ImportErrors are reported as import errors with their import exception " -"rather than as attribute errors after the import has already failed." -msgstr "" - -#: ../../../build/NEWS:28508 -msgid "" -"`bpo-19746 `__: Make it possible to " -"examine the errors from unittest discovery without executing the test suite. " -"The new `errors` attribute on TestLoader exposes these non-fatal errors " -"encountered during discovery." -msgstr "" - -#: ../../../build/NEWS:28512 -msgid "" -"`bpo-21991 `__: Make email." -"headerregistry's header 'params' attributes be read-only " -"(MappingProxyType). Previously the dictionary was modifiable but a new one " -"was created on each access of the attribute." -msgstr "" - -#: ../../../build/NEWS:28516 -msgid "" -"`bpo-22638 `__: SSLv3 is now disabled " -"throughout the standard library. It can still be enabled by instantiating a " -"SSLContext manually." -msgstr "" - -#: ../../../build/NEWS:28519 -msgid "" -"`bpo-22641 `__: In asyncio, the default " -"SSL context for client connections is now created using ssl." -"create_default_context(), for stronger security." -msgstr "" - -#: ../../../build/NEWS:28522 -msgid "" -"`bpo-17401 `__: Include closefd in io." -"FileIO repr." -msgstr "" - -#: ../../../build/NEWS:28524 -msgid "" -"`bpo-21338 `__: Add silent mode for " -"compileall. quiet parameters of compile_{dir, file, path} functions now have " -"a multilevel value. Also, -q option of the CLI now have a multilevel value. " -"Patch by Thomas Kluyver." -msgstr "" - -#: ../../../build/NEWS:28528 -msgid "" -"`bpo-20152 `__: Convert the array and " -"cmath modules to Argument Clinic." -msgstr "" - -#: ../../../build/NEWS:28530 -msgid "" -"`bpo-18643 `__: Add socket.socketpair() " -"on Windows." -msgstr "" - -#: ../../../build/NEWS:28532 -msgid "" -"`bpo-22435 `__: Fix a file descriptor " -"leak when socketserver bind fails." -msgstr "" - -#: ../../../build/NEWS:28534 -msgid "" -"`bpo-13096 `__: Fixed segfault in CTypes " -"POINTER handling of large values." -msgstr "" - -#: ../../../build/NEWS:28536 -msgid "" -"`bpo-11694 `__: Raise ConversionError in " -"xdrlib as documented. Patch by Filip Gruszczyński and Claudiu Popa." -msgstr "" - -#: ../../../build/NEWS:28539 -msgid "" -"`bpo-19380 `__: Optimized parsing of " -"regular expressions." -msgstr "" - -#: ../../../build/NEWS:28541 -msgid "" -"`bpo-1519638 `__: Now unmatched groups " -"are replaced with empty strings in re.sub() and re.subn()." -msgstr "" - -#: ../../../build/NEWS:28544 -msgid "" -"`bpo-18615 `__: sndhdr.what/whathdr now " -"return a namedtuple." -msgstr "" - -#: ../../../build/NEWS:28546 -msgid "" -"`bpo-22462 `__: Fix pyexpat's creation " -"of a dummy frame to make it appear in exception tracebacks." -msgstr "" - -#: ../../../build/NEWS:28549 -msgid "" -"`bpo-21965 `__: Add support for in-" -"memory SSL to the ssl module. Patch by Geert Jansen." -msgstr "" - -#: ../../../build/NEWS:28552 -msgid "" -"`bpo-21173 `__: Fix len() on a " -"WeakKeyDictionary when .clear() was called with an iterator alive." -msgstr "" - -#: ../../../build/NEWS:28555 -msgid "" -"`bpo-11866 `__: Eliminated race " -"condition in the computation of names for new threads." -msgstr "" - -#: ../../../build/NEWS:28558 -msgid "" -"`bpo-21905 `__: Avoid RuntimeError in " -"pickle.whichmodule() when sys.modules is mutated while iterating. Patch by " -"Olivier Grisel." -msgstr "" - -#: ../../../build/NEWS:28561 -msgid "" -"`bpo-11271 `__: concurrent.futures." -"Executor.map() now takes a *chunksize* argument to allow batching of tasks " -"in child processes and improve performance of ProcessPoolExecutor. Patch by " -"Dan O'Reilly." -msgstr "" - -#: ../../../build/NEWS:28565 -msgid "" -"`bpo-21883 `__: os.path.join() and os." -"path.relpath() now raise a TypeError with more helpful error message for " -"unsupported or mismatched types of arguments." -msgstr "" - -#: ../../../build/NEWS:28569 -msgid "" -"`bpo-22219 `__: The zipfile module CLI " -"now adds entries for directories (including empty directories) in ZIP file." -msgstr "" - -#: ../../../build/NEWS:28572 -msgid "" -"`bpo-22449 `__: In the ssl.SSLContext." -"load_default_certs, consult the environmental variables SSL_CERT_DIR and " -"SSL_CERT_FILE on Windows." -msgstr "" - -#: ../../../build/NEWS:28575 -msgid "" -"`bpo-22508 `__: The email.__version__ " -"variable has been removed; the email code is no longer shipped separately " -"from the stdlib, and __version__ hasn't been updated in several releases." -msgstr "" - -#: ../../../build/NEWS:28579 -msgid "" -"`bpo-20076 `__: Added non derived UTF-8 " -"aliases to locale aliases table." -msgstr "" - -#: ../../../build/NEWS:28581 -msgid "" -"`bpo-20079 `__: Added locales supported " -"in glibc 2.18 to locale alias table." -msgstr "" - -#: ../../../build/NEWS:28583 -msgid "" -"`bpo-20218 `__: Added convenience " -"methods read_text/write_text and read_bytes/ write_bytes to pathlib.Path " -"objects." -msgstr "" - -#: ../../../build/NEWS:28586 -msgid "" -"`bpo-22396 `__: On 32-bit AIX platform, " -"don't expose os.posix_fadvise() nor os.posix_fallocate() because their " -"prototypes in system headers are wrong." -msgstr "" - -#: ../../../build/NEWS:28589 -msgid "" -"`bpo-22517 `__: When an io." -"BufferedRWPair object is deallocated, clear its weakrefs." -msgstr "" - -#: ../../../build/NEWS:28592 -msgid "" -"`bpo-22437 `__: Number of capturing " -"groups in regular expression is no longer limited by 100." -msgstr "" - -#: ../../../build/NEWS:28595 -msgid "" -"`bpo-17442 `__: InteractiveInterpreter " -"now displays the full chained traceback in its showtraceback method, to " -"match the built in interactive interpreter." -msgstr "" - -#: ../../../build/NEWS:28599 -msgid "" -"`bpo-23392 `__: Added tests for marshal " -"C API that works with FILE*." -msgstr "" - -#: ../../../build/NEWS:28601 -msgid "" -"`bpo-10510 `__: distutils register and " -"upload methods now use HTML standards compliant CRLF line endings." -msgstr "" - -#: ../../../build/NEWS:28604 -msgid "" -"`bpo-9850 `__: Fixed macpath.join() for " -"empty first component. Patch by Oleg Oshmyan." -msgstr "" - -#: ../../../build/NEWS:28607 -msgid "" -"`bpo-5309 `__: distutils' build and " -"build_ext commands now accept a ``-j`` option to enable parallel building of " -"extension modules." -msgstr "" - -#: ../../../build/NEWS:28610 -msgid "" -"`bpo-22448 `__: Improve canceled timer " -"handles cleanup to prevent unbound memory usage. Patch by Joshua Moore-Oliva." -msgstr "" - -#: ../../../build/NEWS:28613 -msgid "" -"`bpo-22427 `__: TemporaryDirectory no " -"longer attempts to clean up twice when used in the with statement in " -"generator." -msgstr "" - -#: ../../../build/NEWS:28616 -msgid "" -"`bpo-22362 `__: Forbidden ambiguous " -"octal escapes out of range 0-0o377 in regular expressions." -msgstr "" - -#: ../../../build/NEWS:28619 -msgid "" -"`bpo-20912 `__: Now directories added to " -"ZIP file have correct Unix and MS-DOS directory attributes." -msgstr "" - -#: ../../../build/NEWS:28622 -msgid "" -"`bpo-21866 `__: ZipFile.close() no " -"longer writes ZIP64 central directory records if allowZip64 is false." -msgstr "" - -#: ../../../build/NEWS:28625 -msgid "" -"`bpo-22278 `__: Fix urljoin problem with " -"relative urls, a regression observed after changes to issue22118 were " -"submitted." -msgstr "" - -#: ../../../build/NEWS:28628 -msgid "" -"`bpo-22415 `__: Fixed debugging output " -"of the GROUPREF_EXISTS opcode in the re module. Removed trailing spaces in " -"debugging output." -msgstr "" - -#: ../../../build/NEWS:28631 -msgid "" -"`bpo-22423 `__: Unhandled exception in " -"thread no longer causes unhandled AttributeError when sys.stderr is None." -msgstr "" - -#: ../../../build/NEWS:28634 -msgid "" -"`bpo-21332 `__: Ensure that " -"``bufsize=1`` in subprocess.Popen() selects line buffering, rather than " -"block buffering. Patch by Akira Li." -msgstr "" - -#: ../../../build/NEWS:28637 -msgid "" -"`bpo-21091 `__: Fix API bug: email." -"message.EmailMessage.is_attachment is now a method." -msgstr "" - -#: ../../../build/NEWS:28640 -msgid "" -"`bpo-21079 `__: Fix email.message." -"EmailMessage.is_attachment to return the correct result when the header has " -"parameters as well as a value." -msgstr "" - -#: ../../../build/NEWS:28643 -msgid "" -"`bpo-22247 `__: Add NNTPError to nntplib." -"__all__." -msgstr "" - -#: ../../../build/NEWS:28645 -msgid "" -"`bpo-22366 `__: urllib.request.urlopen " -"will accept a context object (SSLContext) as an argument which will then be " -"used for HTTPS connection. Patch by Alex Gaynor." -msgstr "" - -#: ../../../build/NEWS:28649 -msgid "" -"`bpo-4180 `__: The warnings registries " -"are now reset when the filters are modified." -msgstr "" - -#: ../../../build/NEWS:28652 -msgid "" -"`bpo-22419 `__: Limit the length of " -"incoming HTTP request in wsgiref server to 65536 bytes and send a 414 error " -"code for higher lengths. Patch contributed by Devin Cook." -msgstr "" - -#: ../../../build/NEWS:28656 -msgid "" -"Lax cookie parsing in http.cookies could be a security issue when combined " -"with non-standard cookie handling in some web browsers. Reported by Sergey " -"Bobrov." -msgstr "" - -#: ../../../build/NEWS:28660 -msgid "" -"`bpo-20537 `__: logging methods now " -"accept an exception instance as well as a Boolean value or exception tuple. " -"Thanks to Yury Selivanov for the patch." -msgstr "" - -#: ../../../build/NEWS:28663 -msgid "" -"`bpo-22384 `__: An exception in Tkinter " -"callback no longer crashes the program when it is run with pythonw.exe." -msgstr "" - -#: ../../../build/NEWS:28666 -msgid "" -"`bpo-22168 `__: Prevent turtle " -"AttributeError with non-default Canvas on OS X." -msgstr "" - -#: ../../../build/NEWS:28668 -msgid "" -"`bpo-21147 `__: sqlite3 now raises an " -"exception if the request contains a null character instead of truncating " -"it. Based on patch by Victor Stinner." -msgstr "" - -#: ../../../build/NEWS:28671 -msgid "" -"`bpo-13968 `__: The glob module now " -"supports recursive search in subdirectories using the ``**`` pattern." -msgstr "" - -#: ../../../build/NEWS:28674 -msgid "" -"`bpo-21951 `__: Fixed a crash in Tkinter " -"on AIX when called Tcl command with empty string or tuple argument." -msgstr "" - -#: ../../../build/NEWS:28677 -msgid "" -"`bpo-21951 `__: Tkinter now most likely " -"raises MemoryError instead of crash if the memory allocation fails." -msgstr "" - -#: ../../../build/NEWS:28680 -msgid "" -"`bpo-22338 `__: Fix a crash in the json " -"module on memory allocation failure." -msgstr "" - -#: ../../../build/NEWS:28682 -msgid "" -"`bpo-12410 `__: imaplib.IMAP4 now " -"supports the context management protocol. Original patch by Tarek Ziadé." -msgstr "" - -#: ../../../build/NEWS:28685 -msgid "" -"`bpo-21270 `__: We now override tuple " -"methods in mock.call objects so that they can be used as normal call " -"attributes." -msgstr "" - -#: ../../../build/NEWS:28688 -msgid "" -"`bpo-16662 `__: load_tests() is now " -"unconditionally run when it is present in a package's __init__.py. " -"TestLoader.loadTestsFromModule() still accepts use_load_tests, but it is " -"deprecated and ignored. A new keyword-only attribute `pattern` is added and " -"documented. Patch given by Robert Collins, tweaked by Barry Warsaw." -msgstr "" - -#: ../../../build/NEWS:28694 -msgid "" -"`bpo-22226 `__: First letter no longer " -"is stripped from the \"status\" key in the result of Treeview.heading()." -msgstr "" - -#: ../../../build/NEWS:28697 -msgid "" -"`bpo-19524 `__: Fixed resource leak in " -"the HTTP connection when an invalid response is received. Patch by Martin " -"Panter." -msgstr "" - -#: ../../../build/NEWS:28700 -msgid "" -"`bpo-20421 `__: Add a .version() method " -"to SSL sockets exposing the actual protocol version in use." -msgstr "" - -#: ../../../build/NEWS:28703 -msgid "" -"`bpo-19546 `__: configparser exceptions " -"no longer expose implementation details. Chained KeyErrors are removed, " -"which leads to cleaner tracebacks. Patch by Claudiu Popa." -msgstr "" - -#: ../../../build/NEWS:28707 -msgid "" -"`bpo-22051 `__: turtledemo no longer " -"reloads examples to re-run them. Initialization of variables and gui setup " -"should be done in main(), which is called each time a demo is run, but not " -"on import." -msgstr "" - -#: ../../../build/NEWS:28711 -msgid "" -"`bpo-21933 `__: Turtledemo users can " -"change the code font size with a menu selection or control(command) '-' or " -"'+' or control-mousewheel. Original patch by Lita Cho." -msgstr "" - -#: ../../../build/NEWS:28715 -msgid "" -"`bpo-21597 `__: The separator between " -"the turtledemo text pane and the drawing canvas can now be grabbed and " -"dragged with a mouse. The code text pane can be widened to easily view or " -"copy the full width of the text. The canvas can be widened on small " -"screens. Original patches by Jan Kanis and Lita Cho." -msgstr "" - -#: ../../../build/NEWS:28721 -msgid "" -"`bpo-18132 `__: Turtledemo buttons no " -"longer disappear when the window is shrunk. Original patches by Jan Kanis " -"and Lita Cho." -msgstr "" - -#: ../../../build/NEWS:28724 -msgid "" -"`bpo-22043 `__: time.monotonic() is now " -"always available. ``threading.Lock.acquire()``, ``threading.RLock." -"acquire()`` and socket operations now use a monotonic clock, instead of the " -"system clock, when a timeout is used." -msgstr "" - -#: ../../../build/NEWS:28729 -msgid "" -"`bpo-21527 `__: Add a default number of " -"workers to ThreadPoolExecutor equal to 5 times the number of CPUs. Patch by " -"Claudiu Popa." -msgstr "" - -#: ../../../build/NEWS:28732 -msgid "" -"`bpo-22216 `__: smtplib now resets its " -"state more completely after a quit. The most obvious consequence of the " -"previous behavior was a STARTTLS failure during a connect/starttls/quit/" -"connect/starttls sequence." -msgstr "" - -#: ../../../build/NEWS:28736 -msgid "" -"`bpo-22098 `__: ctypes' " -"BigEndianStructure and LittleEndianStructure now define an empty __slots__ " -"so that subclasses don't always get an instance dict. Patch by Claudiu Popa." -msgstr "" - -#: ../../../build/NEWS:28740 -msgid "" -"`bpo-22185 `__: Fix an occasional " -"RuntimeError in threading.Condition.wait() caused by mutation of the waiters " -"queue without holding the lock. Patch by Doug Zongker." -msgstr "" - -#: ../../../build/NEWS:28744 -msgid "" -"`bpo-22287 `__: On UNIX, " -"_PyTime_gettimeofday() now uses clock_gettime(CLOCK_REALTIME) if available. " -"As a side effect, Python now depends on the librt library on Solaris and on " -"Linux (only with glibc older than 2.17)." -msgstr "" - -#: ../../../build/NEWS:28749 -msgid "" -"`bpo-22182 `__: Use e.args to unpack " -"exceptions correctly in distutils.file_util.move_file. Patch by Claudiu Popa." -msgstr "" - -#: ../../../build/NEWS:28752 -msgid "" -"The webbrowser module now uses subprocess's start_new_session=True rather " -"than a potentially risky preexec_fn=os.setsid call." -msgstr "" - -#: ../../../build/NEWS:28755 -msgid "" -"`bpo-22042 `__: signal.set_wakeup_fd(fd) " -"now raises an exception if the file descriptor is in blocking mode." -msgstr "" - -#: ../../../build/NEWS:28758 -msgid "" -"`bpo-16808 `__: inspect.stack() now " -"returns a named tuple instead of a tuple. Patch by Daniel Shahaf." -msgstr "" - -#: ../../../build/NEWS:28761 -msgid "" -"`bpo-22236 `__: Fixed Tkinter images " -"copying operations in NoDefaultRoot mode." -msgstr "" - -#: ../../../build/NEWS:28763 -msgid "" -"`bpo-2527 `__: Add a *globals* argument " -"to timeit functions, in order to override the globals namespace in which the " -"timed code is executed. Patch by Ben Roberts." -msgstr "" - -#: ../../../build/NEWS:28767 -msgid "" -"`bpo-22118 `__: Switch urllib.parse to " -"use RFC 3986 semantics for the resolution of relative URLs, rather than RFCs " -"1808 and 2396. Patch by Demian Brecht." -msgstr "" - -#: ../../../build/NEWS:28771 -msgid "" -"`bpo-21549 `__: Added the \"members\" " -"parameter to TarFile.list()." -msgstr "" - -#: ../../../build/NEWS:28773 -msgid "" -"`bpo-19628 `__: Allow compileall " -"recursion depth to be specified with a -r option." -msgstr "" - -#: ../../../build/NEWS:28776 -msgid "" -"`bpo-15696 `__: Add a __sizeof__ " -"implementation for mmap objects on Windows." -msgstr "" - -#: ../../../build/NEWS:28778 -msgid "" -"`bpo-22068 `__: Avoided reference loops " -"with Variables and Fonts in Tkinter." -msgstr "" - -#: ../../../build/NEWS:28780 -msgid "" -"`bpo-22165 `__: SimpleHTTPRequestHandler " -"now supports undecodable file names." -msgstr "" - -#: ../../../build/NEWS:28782 -msgid "" -"`bpo-15381 `__: Optimized line reading " -"in io.BytesIO." -msgstr "" - -#: ../../../build/NEWS:28784 -msgid "" -"`bpo-8797 `__: Raise HTTPError on failed " -"Basic Authentication immediately. Initial patch by Sam Bull." -msgstr "" - -#: ../../../build/NEWS:28787 -msgid "" -"`bpo-20729 `__: Restored the use of lazy " -"iterkeys()/itervalues()/iteritems() in the mailbox module." -msgstr "" - -#: ../../../build/NEWS:28790 -msgid "" -"`bpo-21448 `__: Changed FeedParser " -"feed() to avoid O(N**2) behavior when parsing long line. Original patch by " -"Raymond Hettinger." -msgstr "" - -#: ../../../build/NEWS:28793 -msgid "" -"`bpo-22184 `__: The functools LRU Cache " -"decorator factory now gives an earlier and clearer error message when the " -"user forgets the required parameters." -msgstr "" - -#: ../../../build/NEWS:28796 -msgid "" -"`bpo-17923 `__: glob() patterns ending " -"with a slash no longer match non-dirs on AIX. Based on patch by Delhallt." -msgstr "" - -#: ../../../build/NEWS:28799 -msgid "" -"`bpo-21725 `__: Added support for RFC " -"6531 (SMTPUTF8) in smtpd." -msgstr "" - -#: ../../../build/NEWS:28801 -msgid "" -"`bpo-22176 `__: Update the ctypes " -"module's libffi to v3.1. This release adds support for the Linux AArch64 " -"and POWERPC ELF ABIv2 little endian architectures." -msgstr "" - -#: ../../../build/NEWS:28805 -msgid "" -"`bpo-5411 `__: Added support for the " -"\"xztar\" format in the shutil module." -msgstr "" - -#: ../../../build/NEWS:28807 -msgid "" -"`bpo-21121 `__: Don't force 3rd party C " -"extensions to be built with -Werror=declaration-after-statement." -msgstr "" - -#: ../../../build/NEWS:28810 -msgid "" -"`bpo-21975 `__: Fixed crash when using " -"uninitialized sqlite3.Row (in particular when unpickling pickled sqlite3." -"Row). sqlite3.Row is now initialized in the __new__() method." -msgstr "" - -#: ../../../build/NEWS:28814 -msgid "" -"`bpo-20170 `__: Convert posixmodule to " -"use Argument Clinic." -msgstr "" - -#: ../../../build/NEWS:28816 -msgid "" -"`bpo-21539 `__: Add an *exists_ok* " -"argument to `Pathlib.mkdir()` to mimic `mkdir -p` and `os.makedirs()` " -"functionality. When true, ignore FileExistsErrors. Patch by Berker Peksag." -msgstr "" - -#: ../../../build/NEWS:28820 -msgid "" -"`bpo-22127 `__: Bypass IDNA for pure-" -"ASCII host names in the socket module (in particular for numeric IPs)." -msgstr "" - -#: ../../../build/NEWS:28823 -msgid "" -"`bpo-21047 `__: set the default value " -"for the *convert_charrefs* argument of HTMLParser to True. Patch by Berker " -"Peksag." -msgstr "" - -#: ../../../build/NEWS:28826 -msgid "Add an __all__ to html.entities." -msgstr "" - -#: ../../../build/NEWS:28828 -msgid "" -"`bpo-15114 `__: the strict mode and " -"argument of HTMLParser, HTMLParser.error, and the HTMLParserError exception " -"have been removed." -msgstr "" - -#: ../../../build/NEWS:28831 -msgid "" -"`bpo-22085 `__: Dropped support of Tk " -"8.3 in Tkinter." -msgstr "" - -#: ../../../build/NEWS:28833 -msgid "" -"`bpo-21580 `__: Now Tkinter correctly " -"handles bytes arguments passed to Tk. In particular this allows initializing " -"images from binary data." -msgstr "" - -#: ../../../build/NEWS:28836 -msgid "" -"`bpo-22003 `__: When initialized from a " -"bytes object, io.BytesIO() now defers making a copy until it is mutated, " -"improving performance and memory use on some use cases. Patch by David " -"Wilson." -msgstr "" - -#: ../../../build/NEWS:28840 -msgid "" -"`bpo-22018 `__: On Windows, signal." -"set_wakeup_fd() now also supports sockets. A side effect is that Python " -"depends to the WinSock library." -msgstr "" - -#: ../../../build/NEWS:28843 -msgid "" -"`bpo-22054 `__: Add os.get_blocking() " -"and os.set_blocking() functions to get and set the blocking mode of a file " -"descriptor (False if the O_NONBLOCK flag is set, True otherwise). These " -"functions are not available on Windows." -msgstr "" - -#: ../../../build/NEWS:28848 -msgid "" -"`bpo-17172 `__: Make turtledemo start as " -"active on OS X even when run with subprocess. Patch by Lita Cho." -msgstr "" - -#: ../../../build/NEWS:28851 -msgid "" -"`bpo-21704 `__: Fix build error for " -"_multiprocessing when semaphores are not available. Patch by Arfrever " -"Frehtes Taifersar Arahesis." -msgstr "" - -#: ../../../build/NEWS:28854 -msgid "" -"`bpo-20173 `__: Convert sha1, sha256, " -"sha512 and md5 to ArgumentClinic. Patch by Vajrasky Kok." -msgstr "" - -#: ../../../build/NEWS:28857 -msgid "" -"Fix repr(_socket.socket) on Windows 64-bit: don't fail with OverflowError on " -"closed socket. repr(socket.socket) already works fine." -msgstr "" - -#: ../../../build/NEWS:28860 -msgid "" -"`bpo-22033 `__: Reprs of most Python " -"implemented classes now contain actual class name instead of hardcoded one." -msgstr "" - -#: ../../../build/NEWS:28863 -msgid "" -"`bpo-21947 `__: The dis module can now " -"disassemble generator-iterator objects based on their gi_code attribute. " -"Patch by Clement Rouault." -msgstr "" - -#: ../../../build/NEWS:28866 -msgid "" -"`bpo-16133 `__: The asynchat.async_chat." -"handle_read() method now ignores BlockingIOError exceptions." -msgstr "" - -#: ../../../build/NEWS:28869 -msgid "" -"`bpo-22044 `__: Fixed premature DECREF " -"in call_tzinfo_method. Patch by Tom Flanagan." -msgstr "" - -#: ../../../build/NEWS:28872 -msgid "" -"`bpo-19884 `__: readline: Disable the " -"meta modifier key if stdout is not a terminal to not write the ANSI sequence " -"``\"\\033[1034h\"`` into stdout. This sequence is used on some terminal (ex: " -"TERM=xterm-256color\") to enable support of 8 bit characters." -msgstr "" - -#: ../../../build/NEWS:28877 -msgid "" -"`bpo-4350 `__: Removed a number of out-of-" -"dated and non-working for a long time Tkinter methods." -msgstr "" - -#: ../../../build/NEWS:28880 -msgid "" -"`bpo-6167 `__: Scrollbar.activate() now " -"returns the name of active element if the argument is not specified. " -"Scrollbar.set() now always accepts only 2 arguments." -msgstr "" - -#: ../../../build/NEWS:28884 -msgid "" -"`bpo-15275 `__: Clean up and speed up " -"the ntpath module." -msgstr "" - -#: ../../../build/NEWS:28886 -msgid "" -"`bpo-21888 `__: plistlib's load() and " -"loads() now work if the fmt parameter is specified." -msgstr "" - -#: ../../../build/NEWS:28889 -msgid "" -"`bpo-22032 `__: __qualname__ instead of " -"__name__ is now always used to format fully qualified class names of Python " -"implemented classes." -msgstr "" - -#: ../../../build/NEWS:28892 -msgid "" -"`bpo-22031 `__: Reprs now always use " -"hexadecimal format with the \"0x\" prefix when contain an id in form \" at " -"0x...\"." -msgstr "" - -#: ../../../build/NEWS:28895 -msgid "" -"`bpo-22018 `__: signal.set_wakeup_fd() " -"now raises an OSError instead of a ValueError on ``fstat()`` failure." -msgstr "" - -#: ../../../build/NEWS:28898 -msgid "" -"`bpo-21044 `__: tarfile.open() now " -"handles fileobj with an integer 'name' attribute. Based on patch by Antoine " -"Pietri." -msgstr "" - -#: ../../../build/NEWS:28901 -msgid "" -"`bpo-21966 `__: Respect -q command-line " -"option when code module is ran." -msgstr "" - -#: ../../../build/NEWS:28903 -msgid "" -"`bpo-19076 `__: Don't pass the redundant " -"'file' argument to self.error()." -msgstr "" - -#: ../../../build/NEWS:28905 -msgid "" -"`bpo-16382 `__: Improve exception " -"message of warnings.warn() for bad category. Initial patch by Phil Elson." -msgstr "" - -#: ../../../build/NEWS:28908 -msgid "" -"`bpo-21932 `__: os.read() now uses a :c:" -"func:`Py_ssize_t` type instead of :c:type:`int` for the size to support " -"reading more than 2 GB at once. On Windows, the size is truncated to " -"INT_MAX. As any call to os.read(), the OS may read less bytes than the " -"number of requested bytes." -msgstr "" - -#: ../../../build/NEWS:28913 -msgid "" -"`bpo-21942 `__: Fixed source file " -"viewing in pydoc's server mode on Windows." -msgstr "" - -#: ../../../build/NEWS:28915 -msgid "" -"`bpo-11259 `__: asynchat.async_chat()." -"set_terminator() now raises a ValueError if the number of received bytes is " -"negative." -msgstr "" - -#: ../../../build/NEWS:28918 -msgid "" -"`bpo-12523 `__: asynchat.async_chat." -"push() now raises a TypeError if it doesn't get a bytes string" -msgstr "" - -#: ../../../build/NEWS:28921 -msgid "" -"`bpo-21707 `__: Add missing " -"kwonlyargcount argument to ModuleFinder.replace_paths_in_code()." -msgstr "" - -#: ../../../build/NEWS:28924 -msgid "" -"`bpo-20639 `__: calling Path." -"with_suffix('') allows removing the suffix again. Patch by July Tikhonov." -msgstr "" - -#: ../../../build/NEWS:28927 -msgid "" -"`bpo-21714 `__: Disallow the " -"construction of invalid paths using Path.with_name(). Original patch by " -"Antony Lee." -msgstr "" - -#: ../../../build/NEWS:28930 -msgid "" -"`bpo-15014 `__: Added 'auth' method to " -"smtplib to make implementing auth mechanisms simpler, and used it internally " -"in the login method." -msgstr "" - -#: ../../../build/NEWS:28933 -msgid "" -"`bpo-21151 `__: Fixed a segfault in the " -"winreg module when ``None`` is passed as a ``REG_BINARY`` value to " -"SetValueEx. Patch by John Ehresman." -msgstr "" - -#: ../../../build/NEWS:28936 -msgid "" -"`bpo-21090 `__: io.FileIO.readall() does " -"not ignore I/O errors anymore. Before, it ignored I/O errors if at least the " -"first C call read() succeed." -msgstr "" - -#: ../../../build/NEWS:28939 -msgid "" -"`bpo-5800 `__: headers parameter of " -"wsgiref.headers.Headers is now optional. Initial patch by Pablo Torres " -"Navarrete and SilentGhost." -msgstr "" - -#: ../../../build/NEWS:28942 -msgid "" -"`bpo-21781 `__: ssl.RAND_add() now " -"supports strings longer than 2 GB." -msgstr "" - -#: ../../../build/NEWS:28944 -msgid "" -"`bpo-21679 `__: Prevent extraneous " -"fstat() calls during open(). Patch by Bohuslav Kabrda." -msgstr "" - -#: ../../../build/NEWS:28947 -msgid "" -"`bpo-21863 `__: cProfile now displays " -"the module name of C extension functions, in addition to their own name." -msgstr "" - -#: ../../../build/NEWS:28950 -msgid "" -"`bpo-11453 `__: asyncore: emit a " -"ResourceWarning when an unclosed file_wrapper object is destroyed. The " -"destructor now closes the file if needed. The close() method can now be " -"called twice: the second call does nothing." -msgstr "" - -#: ../../../build/NEWS:28954 -msgid "" -"`bpo-21858 `__: Better handling of " -"Python exceptions in the sqlite3 module." -msgstr "" - -#: ../../../build/NEWS:28956 -msgid "" -"`bpo-21476 `__: Make sure the email." -"parser.BytesParser TextIOWrapper is discarded after parsing, so the input " -"file isn't unexpectedly closed." -msgstr "" - -#: ../../../build/NEWS:28959 -msgid "" -"`bpo-20295 `__: imghdr now recognizes " -"OpenEXR format images." -msgstr "" - -#: ../../../build/NEWS:28961 -msgid "" -"`bpo-21729 `__: Used the \"with\" " -"statement in the dbm.dumb module to ensure files closing. Patch by Claudiu " -"Popa." -msgstr "" - -#: ../../../build/NEWS:28964 -msgid "" -"`bpo-21491 `__: socketserver: Fix a race " -"condition in child processes reaping." -msgstr "" - -#: ../../../build/NEWS:28966 -msgid "" -"`bpo-21719 `__: Added the " -"``st_file_attributes`` field to os.stat_result on Windows." -msgstr "" - -#: ../../../build/NEWS:28969 -msgid "" -"`bpo-21832 `__: Require named tuple " -"inputs to be exact strings." -msgstr "" - -#: ../../../build/NEWS:28971 -msgid "" -"`bpo-21722 `__: The distutils \"upload\" " -"command now exits with a non-zero return code when uploading fails. Patch " -"by Martin Dengler." -msgstr "" - -#: ../../../build/NEWS:28974 -msgid "" -"`bpo-21723 `__: asyncio.Queue: support " -"any type of number (ex: float) for the maximum size. Patch written by " -"Vajrasky Kok." -msgstr "" - -#: ../../../build/NEWS:28977 -msgid "" -"`bpo-21711 `__: support for \"site-python" -"\" directories has now been removed from the site module (it was deprecated " -"in 3.4)." -msgstr "" - -#: ../../../build/NEWS:28980 -msgid "" -"`bpo-17552 `__: new socket.sendfile() " -"method allowing a file to be sent over a socket by using high-performance os." -"sendfile() on UNIX. Patch by Giampaolo Rodola'." -msgstr "" - -#: ../../../build/NEWS:28984 -msgid "" -"`bpo-18039 `__: dbm.dump.open() now " -"always creates a new database when the flag has the value 'n'. Patch by " -"Claudiu Popa." -msgstr "" - -#: ../../../build/NEWS:28987 -msgid "" -"`bpo-21326 `__: Add a new is_closed() " -"method to asyncio.BaseEventLoop. run_forever() and run_until_complete() " -"methods of asyncio.BaseEventLoop now raise an exception if the event loop " -"was closed." -msgstr "" - -#: ../../../build/NEWS:28991 -msgid "" -"`bpo-21766 `__: Prevent a security hole " -"in CGIHTTPServer by URL unquoting paths before checking for a CGI script at " -"that path." -msgstr "" - -#: ../../../build/NEWS:28994 -msgid "" -"`bpo-21310 `__: Fixed possible resource " -"leak in failed open()." -msgstr "" - -#: ../../../build/NEWS:28996 -msgid "" -"`bpo-21256 `__: Printout of keyword args " -"should be in deterministic order in a mock function call. This will help to " -"write better doctests." -msgstr "" - -#: ../../../build/NEWS:28999 -msgid "" -"`bpo-21677 `__: Fixed chaining " -"nonnormalized exceptions in io close() methods." -msgstr "" - -#: ../../../build/NEWS:29001 -msgid "" -"`bpo-11709 `__: Fix the pydoc.help " -"function to not fail when sys.stdin is not a valid file." -msgstr "" - -#: ../../../build/NEWS:29004 -msgid "" -"`bpo-21515 `__: tempfile.TemporaryFile " -"now uses os.O_TMPFILE flag is available." -msgstr "" - -#: ../../../build/NEWS:29006 -msgid "" -"`bpo-13223 `__: Fix pydoc.writedoc so " -"that the HTML documentation for methods that use 'self' in the example code " -"is generated correctly." -msgstr "" - -#: ../../../build/NEWS:29009 -msgid "" -"`bpo-21463 `__: In urllib.request, fix " -"pruning of the FTP cache." -msgstr "" - -#: ../../../build/NEWS:29011 -msgid "" -"`bpo-21618 `__: The subprocess module " -"could fail to close open fds that were inherited by the calling process and " -"already higher than POSIX resource limits would otherwise allow. On systems " -"with a functioning /proc/self/fd or /dev/fd interface the max is now ignored " -"and all fds are closed." -msgstr "" - -#: ../../../build/NEWS:29016 -msgid "" -"`bpo-20383 `__: Introduce importlib.util." -"module_from_spec() as the preferred way to create a new module." -msgstr "" - -#: ../../../build/NEWS:29019 -msgid "" -"`bpo-21552 `__: Fixed possible integer " -"overflow of too long string lengths in the tkinter module on 64-bit " -"platforms." -msgstr "" - -#: ../../../build/NEWS:29022 -msgid "" -"`bpo-14315 `__: The zipfile module now " -"ignores extra fields in the central directory that are too short to be " -"parsed instead of letting a struct.unpack error bubble up as this \"bad data" -"\" appears in many real world zip files in the wild and is ignored by other " -"zip tools." -msgstr "" - -#: ../../../build/NEWS:29027 -msgid "" -"`bpo-13742 `__: Added \"key\" and " -"\"reverse\" parameters to heapq.merge(). (First draft of patch contributed " -"by Simon Sapin.)" -msgstr "" - -#: ../../../build/NEWS:29030 -msgid "" -"`bpo-21402 `__: tkinter.ttk now works " -"when default root window is not set." -msgstr "" - -#: ../../../build/NEWS:29032 -msgid "" -"`bpo-3015 `__: _tkinter.create() now " -"creates tkapp object with wantobject=1 by default." -msgstr "" - -#: ../../../build/NEWS:29035 -msgid "" -"`bpo-10203 `__: sqlite3.Row now truly " -"supports sequence protocol. In particular it supports reverse() and " -"negative indices. Original patch by Claudiu Popa." -msgstr "" - -#: ../../../build/NEWS:29039 -msgid "" -"`bpo-18807 `__: If copying (no symlinks) " -"specified for a venv, then the python interpreter aliases (python, python3) " -"are now created by copying rather than symlinking." -msgstr "" - -#: ../../../build/NEWS:29043 -msgid "" -"`bpo-20197 `__: Added support for the " -"WebP image type in the imghdr module. Patch by Fabrice Aneche and Claudiu " -"Popa." -msgstr "" - -#: ../../../build/NEWS:29046 -msgid "" -"`bpo-21513 `__: Speedup some properties " -"of IP addresses (IPv4Address, IPv6Address) such as .is_private or ." -"is_multicast." -msgstr "" - -#: ../../../build/NEWS:29049 -msgid "" -"`bpo-21137 `__: Improve the repr for " -"threading.Lock() and its variants by showing the \"locked\" or \"unlocked\" " -"status. Patch by Berker Peksag." -msgstr "" - -#: ../../../build/NEWS:29052 -msgid "" -"`bpo-21538 `__: The plistlib module now " -"supports loading of binary plist files when reference or offset size is not " -"a power of two." -msgstr "" - -#: ../../../build/NEWS:29055 -msgid "" -"`bpo-21455 `__: Add a default backlog to " -"socket.listen()." -msgstr "" - -#: ../../../build/NEWS:29057 -msgid "" -"`bpo-21525 `__: Most Tkinter methods " -"which accepted tuples now accept lists too." -msgstr "" - -#: ../../../build/NEWS:29060 -msgid "" -"`bpo-22166 `__: With the assistance of a " -"new internal _codecs._forget_codec helping function, test_codecs now clears " -"the encoding caches to avoid the appearance of a reference leak" -msgstr "" - -#: ../../../build/NEWS:29064 -msgid "" -"`bpo-22236 `__: Tkinter tests now don't " -"reuse default root window. New root window is created for every test class." -msgstr "" - -#: ../../../build/NEWS:29067 -msgid "" -"`bpo-10744 `__: Fix :pep:`3118` format " -"strings on ctypes objects with a nontrivial shape." -msgstr "" - -#: ../../../build/NEWS:29070 -msgid "" -"`bpo-20826 `__: Optimize ipaddress." -"collapse_addresses()." -msgstr "" - -#: ../../../build/NEWS:29072 -msgid "" -"`bpo-21487 `__: Optimize ipaddress." -"summarize_address_range() and ipaddress.{IPv4Network,IPv6Network}.subnets()." -msgstr "" - -#: ../../../build/NEWS:29075 -msgid "" -"`bpo-21486 `__: Optimize parsing of " -"netmasks in ipaddress.IPv4Network and ipaddress.IPv6Network." -msgstr "" - -#: ../../../build/NEWS:29078 -msgid "" -"`bpo-13916 `__: Disallowed the " -"surrogatepass error handler for non UTF-\\* encodings." -msgstr "" - -#: ../../../build/NEWS:29081 -msgid "" -"`bpo-20998 `__: Fixed re.fullmatch() of " -"repeated single character pattern with ignore case. Original patch by " -"Matthew Barnett." -msgstr "" - -#: ../../../build/NEWS:29084 -msgid "" -"`bpo-21075 `__: fileinput.FileInput now " -"reads bytes from standard stream if binary mode is specified. Patch by Sam " -"Kimbrel." -msgstr "" - -#: ../../../build/NEWS:29087 -msgid "" -"`bpo-19775 `__: Add a samefile() method " -"to pathlib Path objects. Initial patch by Vajrasky Kok." -msgstr "" - -#: ../../../build/NEWS:29090 -msgid "" -"`bpo-21226 `__: Set up modules properly " -"in PyImport_ExecCodeModuleObject (and friends)." -msgstr "" - -#: ../../../build/NEWS:29093 -msgid "" -"`bpo-21398 `__: Fix a unicode error in " -"the pydoc pager when the documentation contains characters not encodable to " -"the stdout encoding." -msgstr "" - -#: ../../../build/NEWS:29096 -msgid "" -"`bpo-16531 `__: ipaddress.IPv4Network " -"and ipaddress.IPv6Network now accept an (address, netmask) tuple argument, " -"so as to easily construct network objects from existing addresses." -msgstr "" - -#: ../../../build/NEWS:29100 -msgid "" -"`bpo-21156 `__: importlib.abc." -"InspectLoader.source_to_code() is now a staticmethod." -msgstr "" - -#: ../../../build/NEWS:29103 -msgid "" -"`bpo-21424 `__: Simplified and optimized " -"heaqp.nlargest() and nmsmallest() to make fewer tuple comparisons." -msgstr "" - -#: ../../../build/NEWS:29106 -msgid "" -"`bpo-21396 `__: Fix TextIOWrapper(..., " -"write_through=True) to not force a flush() on the underlying binary stream. " -"Patch by akira." -msgstr "" - -#: ../../../build/NEWS:29109 -msgid "" -"`bpo-18314 `__: Unlink now removes " -"junctions on Windows. Patch by Kim Gräsman" -msgstr "" - -#: ../../../build/NEWS:29111 -msgid "" -"`bpo-21088 `__: Bugfix for curses.window." -"addch() regression in 3.4.0. In porting to Argument Clinic, the first two " -"arguments were reversed." -msgstr "" - -#: ../../../build/NEWS:29114 -msgid "" -"`bpo-21407 `__: _decimal: The module now " -"supports function signatures." -msgstr "" - -#: ../../../build/NEWS:29116 -msgid "" -"`bpo-10650 `__: Remove the non-standard " -"'watchexp' parameter from the Decimal.quantize() method in the Python " -"version. It had never been present in the C version." -msgstr "" - -#: ../../../build/NEWS:29120 -msgid "" -"`bpo-21469 `__: Reduced the risk of " -"false positives in robotparser by checking to make sure that robots.txt has " -"been read or does not exist prior to returning True in can_fetch()." -msgstr "" - -#: ../../../build/NEWS:29124 -msgid "" -"`bpo-19414 `__: Have the OrderedDict " -"mark deleted links as unusable. This gives an early failure if the link is " -"deleted during iteration." -msgstr "" - -#: ../../../build/NEWS:29127 -msgid "" -"`bpo-21421 `__: Add __slots__ to the " -"MappingViews ABC. Patch by Josh Rosenberg." -msgstr "" - -#: ../../../build/NEWS:29129 -msgid "" -"`bpo-21101 `__: Eliminate double hashing " -"in the C speed-up code for collections.Counter()." -msgstr "" - -#: ../../../build/NEWS:29132 -msgid "" -"`bpo-21321 `__: itertools.islice() now " -"releases the reference to the source iterator when the slice is exhausted. " -"Patch by Anton Afanasyev." -msgstr "" - -#: ../../../build/NEWS:29135 -msgid "" -"`bpo-21057 `__: TextIOWrapper now allows " -"the underlying binary stream's read() or read1() method to return an " -"arbitrary bytes-like object (such as a memoryview). Patch by Nikolaus Rath." -msgstr "" - -#: ../../../build/NEWS:29139 -msgid "" -"`bpo-20951 `__: SSLSocket.send() now " -"raises either SSLWantReadError or SSLWantWriteError on a non-blocking socket " -"if the operation would block. Previously, it would return 0. Patch by " -"Nikolaus Rath." -msgstr "" - -#: ../../../build/NEWS:29143 -msgid "" -"`bpo-13248 `__: removed previously " -"deprecated asyncore.dispatcher __getattr__ cheap inheritance hack." -msgstr "" - -#: ../../../build/NEWS:29146 -msgid "" -"`bpo-9815 `__: assertRaises now tries to " -"clear references to local variables in the exception's traceback." -msgstr "" - -#: ../../../build/NEWS:29149 -msgid "" -"`bpo-19940 `__: ssl." -"cert_time_to_seconds() now interprets the given time string in the UTC " -"timezone (as specified in RFC 5280), not the local timezone." -msgstr "" - -#: ../../../build/NEWS:29152 -msgid "" -"`bpo-13204 `__: Calling sys.flags." -"__new__ would crash the interpreter, now it raises a TypeError." -msgstr "" - -#: ../../../build/NEWS:29155 -msgid "" -"`bpo-19385 `__: Make operations on a " -"closed dbm.dumb database always raise the same exception." -msgstr "" - -#: ../../../build/NEWS:29158 -msgid "" -"`bpo-21207 `__: Detect when the os." -"urandom cached fd has been closed or replaced, and open it anew." -msgstr "" - -#: ../../../build/NEWS:29161 -msgid "" -"`bpo-21291 `__: subprocess's Popen." -"wait() is now thread safe so that multiple threads may be calling wait() or " -"poll() on a Popen instance at the same time without losing the Popen." -"returncode value." -msgstr "" - -#: ../../../build/NEWS:29165 -msgid "" -"`bpo-21127 `__: Path objects can now be " -"instantiated from str subclass instances (such as ``numpy.str_``)." -msgstr "" - -#: ../../../build/NEWS:29168 -msgid "" -"`bpo-15002 `__: urllib.response object " -"to use _TemporaryFileWrapper (and _TemporaryFileCloser) facility. Provides a " -"better way to handle file descriptor close. Patch contributed by Christian " -"Theune." -msgstr "" - -#: ../../../build/NEWS:29172 -msgid "" -"`bpo-12220 `__: mindom now raises a " -"custom ValueError indicating it doesn't support spaces in URIs instead of " -"letting a 'split' ValueError bubble up." -msgstr "" - -#: ../../../build/NEWS:29175 -msgid "" -"`bpo-21068 `__: The ssl.PROTOCOL* " -"constants are now enum members." -msgstr "" - -#: ../../../build/NEWS:29177 -msgid "" -"`bpo-21276 `__: posixmodule: Don't " -"define USE_XATTRS on KFreeBSD and the Hurd." -msgstr "" - -#: ../../../build/NEWS:29179 -msgid "" -"`bpo-21262 `__: New method " -"assert_not_called for Mock. It raises AssertionError if the mock has been " -"called." -msgstr "" - -#: ../../../build/NEWS:29182 -msgid "" -"`bpo-21238 `__: New keyword argument " -"`unsafe` to Mock. It raises `AttributeError` incase of an attribute " -"startswith assert or assret." -msgstr "" - -#: ../../../build/NEWS:29185 -msgid "" -"`bpo-20896 `__: ssl." -"get_server_certificate() now uses PROTOCOL_SSLv23, not PROTOCOL_SSLv3, for " -"maximum compatibility." -msgstr "" - -#: ../../../build/NEWS:29188 -msgid "" -"`bpo-21239 `__: patch.stopall() didn't " -"work deterministically when the same name was patched more than once." -msgstr "" - -#: ../../../build/NEWS:29191 -msgid "" -"`bpo-21203 `__: Updated fileConfig and " -"dictConfig to remove inconsistencies. Thanks to Jure Koren for the patch." -msgstr "" - -#: ../../../build/NEWS:29194 -msgid "" -"`bpo-21222 `__: Passing name keyword " -"argument to mock.create_autospec now works." -msgstr "" - -#: ../../../build/NEWS:29197 -msgid "" -"`bpo-21197 `__: Add lib64 -> lib symlink " -"in venvs on 64-bit non-OS X POSIX." -msgstr "" - -#: ../../../build/NEWS:29199 -msgid "" -"`bpo-17498 `__: Some SMTP servers " -"disconnect after certain errors, violating strict RFC conformance. Instead " -"of losing the error code when we issue the subsequent RSET, smtplib now " -"returns the error code and defers raising the SMTPServerDisconnected error " -"until the next command is issued." -msgstr "" - -#: ../../../build/NEWS:29204 -msgid "" -"`bpo-17826 `__: setting an iterable " -"side_effect on a mock function created by create_autospec now works. Patch " -"by Kushal Das." -msgstr "" - -#: ../../../build/NEWS:29207 -msgid "" -"`bpo-7776 `__: Fix ``Host:`` header and " -"reconnection when using http.client.HTTPConnection.set_tunnel(). Patch by " -"Nikolaus Rath." -msgstr "" - -#: ../../../build/NEWS:29210 -msgid "" -"`bpo-20968 `__: unittest.mock.MagicMock " -"now supports division. Patch by Johannes Baiter." -msgstr "" - -#: ../../../build/NEWS:29213 -msgid "" -"`bpo-21529 `__: Fix arbitrary memory " -"access in JSONDecoder.raw_decode with a negative second parameter. Bug " -"reported by Guido Vranken. (See also: CVE-2014-4616)" -msgstr "" - -#: ../../../build/NEWS:29217 -msgid "" -"`bpo-21169 `__: getpass now handles non-" -"ascii characters that the input stream encoding cannot encode by re-encoding " -"using the replace error handler." -msgstr "" - -#: ../../../build/NEWS:29220 -msgid "" -"`bpo-21171 `__: Fixed undocumented " -"filter API of the rot13 codec. Patch by Berker Peksag." -msgstr "" - -#: ../../../build/NEWS:29223 -msgid "" -"`bpo-20539 `__: Improved math.factorial " -"error message for large positive inputs and changed exception type " -"(OverflowError -> ValueError) for large negative inputs." -msgstr "" - -#: ../../../build/NEWS:29227 -msgid "" -"`bpo-21172 `__: isinstance check relaxed " -"from dict to collections.Mapping." -msgstr "" - -#: ../../../build/NEWS:29229 -msgid "" -"`bpo-21155 `__: asyncio.EventLoop." -"create_unix_server() now raises a ValueError if path and sock are specified " -"at the same time." -msgstr "" - -#: ../../../build/NEWS:29232 -msgid "" -"`bpo-21136 `__: Avoid unnecessary " -"normalization of Fractions resulting from power and other operations. Patch " -"by Raymond Hettinger." -msgstr "" - -#: ../../../build/NEWS:29235 -msgid "" -"`bpo-17621 `__: Introduce importlib.util." -"LazyLoader." -msgstr "" - -#: ../../../build/NEWS:29237 -msgid "" -"`bpo-21076 `__: signal module constants " -"were turned into enums. Patch by Giampaolo Rodola'." -msgstr "" - -#: ../../../build/NEWS:29240 -msgid "" -"`bpo-20636 `__: Improved the repr of " -"Tkinter widgets." -msgstr "" - -#: ../../../build/NEWS:29242 -msgid "" -"`bpo-19505 `__: The items, keys, and " -"values views of OrderedDict now support reverse iteration using reversed()." -msgstr "" - -#: ../../../build/NEWS:29245 -msgid "" -"`bpo-21149 `__: Improved thread-safety " -"in logging cleanup during interpreter shutdown. Thanks to Devin Jeanpierre " -"for the patch." -msgstr "" - -#: ../../../build/NEWS:29248 -msgid "" -"`bpo-21058 `__: Fix a leak of file " -"descriptor in :func:`tempfile.NamedTemporaryFile`, close the file descriptor " -"if :func:`io.open` fails" -msgstr "" - -#: ../../../build/NEWS:29252 -msgid "" -"`bpo-21200 `__: Return None from pkgutil." -"get_loader() when __spec__ is missing." -msgstr "" - -#: ../../../build/NEWS:29254 -msgid "" -"`bpo-21013 `__: Enhance ssl." -"create_default_context() when used for server side sockets to provide better " -"security by default." -msgstr "" - -#: ../../../build/NEWS:29257 -msgid "" -"`bpo-20145 `__: `assertRaisesRegex` and " -"`assertWarnsRegex` now raise a TypeError if the second argument is not a " -"string or compiled regex." -msgstr "" - -#: ../../../build/NEWS:29260 -msgid "" -"`bpo-20633 `__: Replace relative import " -"by absolute import." -msgstr "" - -#: ../../../build/NEWS:29262 -msgid "" -"`bpo-20980 `__: Stop wrapping exception " -"when using ThreadPool." -msgstr "" - -#: ../../../build/NEWS:29264 -msgid "" -"`bpo-21082 `__: In os.makedirs, do not " -"set the process-wide umask. Note this changes behavior of makedirs when " -"exist_ok=True." -msgstr "" - -#: ../../../build/NEWS:29267 -msgid "" -"`bpo-20990 `__: Fix issues found by " -"pyflakes for multiprocessing." -msgstr "" - -#: ../../../build/NEWS:29269 -msgid "" -"`bpo-21015 `__: SSL contexts will now " -"automatically select an elliptic curve for ECDH key exchange on OpenSSL " -"1.0.2 and later, and otherwise default to \"prime256v1\"." -msgstr "" - -#: ../../../build/NEWS:29273 -msgid "" -"`bpo-21000 `__: Improve the command-line " -"interface of json.tool." -msgstr "" - -#: ../../../build/NEWS:29275 -msgid "" -"`bpo-20995 `__: Enhance default ciphers " -"used by the ssl module to enable better security and prioritize perfect " -"forward secrecy." -msgstr "" - -#: ../../../build/NEWS:29278 -msgid "" -"`bpo-20884 `__: Don't assume that " -"__file__ is defined on importlib.__init__." -msgstr "" - -#: ../../../build/NEWS:29280 -msgid "" -"`bpo-21499 `__: Ignore __builtins__ in " -"several test_importlib.test_api tests." -msgstr "" - -#: ../../../build/NEWS:29282 -msgid "" -"`bpo-20627 `__: xmlrpc.client." -"ServerProxy is now a context manager." -msgstr "" - -#: ../../../build/NEWS:29284 -msgid "" -"`bpo-19165 `__: The formatter module now " -"raises DeprecationWarning instead of PendingDeprecationWarning." -msgstr "" - -#: ../../../build/NEWS:29287 -msgid "" -"`bpo-13936 `__: Remove the ability of " -"datetime.time instances to be considered false in boolean contexts." -msgstr "" - -#: ../../../build/NEWS:29290 -msgid "" -"`bpo-18931 `__: selectors module now " -"supports /dev/poll on Solaris. Patch by Giampaolo Rodola'." -msgstr "" - -#: ../../../build/NEWS:29293 -msgid "" -"`bpo-19977 `__: When the ``LC_TYPE`` " -"locale is the POSIX locale (``C`` locale), :py:data:`sys.stdin` and :py:data:" -"`sys.stdout` are now using the ``surrogateescape`` error handler, instead of " -"the ``strict`` error handler." -msgstr "" - -#: ../../../build/NEWS:29298 -msgid "" -"`bpo-20574 `__: Implement incremental " -"decoder for cp65001 code (Windows code page 65001, Microsoft UTF-8)." -msgstr "" - -#: ../../../build/NEWS:29301 -msgid "" -"`bpo-20879 `__: Delay the initialization " -"of encoding and decoding tables for base32, ascii85 and base85 codecs in the " -"base64 module, and delay the initialization of the unquote_to_bytes() table " -"of the urllib.parse module, to not waste memory if these modules are not " -"used." -msgstr "" - -#: ../../../build/NEWS:29306 -msgid "" -"`bpo-19157 `__: Include the broadcast " -"address in the usuable hosts for IPv6 in ipaddress." -msgstr "" - -#: ../../../build/NEWS:29309 -msgid "" -"`bpo-11599 `__: When an external command " -"(e.g. compiler) fails, distutils now prints out the whole command line " -"(instead of just the command name) if the environment variable " -"DISTUTILS_DEBUG is set." -msgstr "" - -#: ../../../build/NEWS:29313 -msgid "" -"`bpo-4931 `__: distutils should not " -"produce unhelpful \"error: None\" messages anymore. distutils.util." -"grok_environment_error is kept but doc-deprecated." -msgstr "" - -#: ../../../build/NEWS:29316 -msgid "" -"`bpo-20875 `__: Prevent possible gzip " -"\"'read' is not defined\" NameError. Patch by Claudiu Popa." -msgstr "" - -#: ../../../build/NEWS:29319 -msgid "" -"`bpo-11558 `__: ``email.message.Message." -"attach`` now returns a more useful error message if ``attach`` is called on " -"a message for which ``is_multipart`` is False." -msgstr "" - -#: ../../../build/NEWS:29323 -msgid "" -"`bpo-20283 `__: RE pattern methods now " -"accept the string keyword parameters as documented. The pattern and source " -"keyword parameters are left as deprecated aliases." -msgstr "" - -#: ../../../build/NEWS:29327 -msgid "" -"`bpo-20778 `__: Fix modulefinder to work " -"with bytecode-only modules." -msgstr "" - -#: ../../../build/NEWS:29329 -msgid "" -"`bpo-20791 `__: copy.copy() now doesn't " -"make a copy when the input is a bytes object. Initial patch by Peter Otten." -msgstr "" - -#: ../../../build/NEWS:29332 -msgid "" -"`bpo-19748 `__: On AIX, time.mktime() " -"now raises an OverflowError for year outsize range [1902; 2037]." -msgstr "" - -#: ../../../build/NEWS:29335 -msgid "" -"`bpo-19573 `__: inspect.signature: Use " -"enum for parameter kind constants." -msgstr "" - -#: ../../../build/NEWS:29337 -msgid "" -"`bpo-20726 `__: inspect.signature: Make " -"Signature and Parameter picklable." -msgstr "" - -#: ../../../build/NEWS:29339 -msgid "" -"`bpo-17373 `__: Add inspect.Signature." -"from_callable method." -msgstr "" - -#: ../../../build/NEWS:29341 -msgid "" -"`bpo-20378 `__: Improve repr of inspect." -"Signature and inspect.Parameter." -msgstr "" - -#: ../../../build/NEWS:29343 -msgid "" -"`bpo-20816 `__: Fix inspect." -"getcallargs() to raise correct TypeError for missing keyword-only arguments. " -"Patch by Jeremiah Lowin." -msgstr "" - -#: ../../../build/NEWS:29346 -msgid "" -"`bpo-20817 `__: Fix inspect." -"getcallargs() to fail correctly if more than 3 arguments are missing. Patch " -"by Jeremiah Lowin." -msgstr "" - -#: ../../../build/NEWS:29349 -msgid "" -"`bpo-6676 `__: Ensure a meaningful " -"exception is raised when attempting to parse more than one XML document per " -"pyexpat xmlparser instance. (Original patches by Hirokazu Yamamoto and " -"Amaury Forgeot d'Arc, with suggested wording by David Gutteridge)" -msgstr "" - -#: ../../../build/NEWS:29354 -msgid "" -"`bpo-21117 `__: Fix inspect.signature to " -"better support functools.partial. Due to the specifics of functools.partial " -"implementation, positional-or-keyword arguments passed as keyword arguments " -"become keyword-only." -msgstr "" - -#: ../../../build/NEWS:29359 -msgid "" -"`bpo-20334 `__: inspect.Signature and " -"inspect.Parameter are now hashable. Thanks to Antony Lee for bug reports and " -"suggestions." -msgstr "" - -#: ../../../build/NEWS:29362 -msgid "" -"`bpo-15916 `__: doctest.DocTestSuite " -"returns an empty unittest.TestSuite instead of raising ValueError if it " -"finds no tests" -msgstr "" - -#: ../../../build/NEWS:29365 -msgid "" -"`bpo-21209 `__: Fix asyncio.tasks." -"CoroWrapper to workaround a bug in yield-from implementation in CPythons " -"prior to 3.4.1." -msgstr "" - -#: ../../../build/NEWS:29368 -msgid "" -"asyncio: Add gi_{frame,running,code} properties to CoroWrapper (upstream " -"`bpo-163 `__)." -msgstr "" - -#: ../../../build/NEWS:29371 -msgid "" -"`bpo-21311 `__: Avoid exception in " -"_osx_support with non-standard compiler configurations. Patch by John " -"Szakmeister." -msgstr "" - -#: ../../../build/NEWS:29374 -msgid "" -"`bpo-11571 `__: Ensure that the turtle " -"window becomes the topmost window when launched on OS X." -msgstr "" - -#: ../../../build/NEWS:29377 -msgid "" -"`bpo-21801 `__: Validate that " -"__signature__ is None or an instance of Signature." -msgstr "" - -#: ../../../build/NEWS:29380 -msgid "" -"`bpo-21923 `__: Prevent AttributeError " -"in distutils.sysconfig.customize_compiler due to possible uninitialized " -"_config_vars." -msgstr "" - -#: ../../../build/NEWS:29384 -msgid "" -"`bpo-21323 `__: Fix http.server to again " -"handle scripts in CGI subdirectories, broken by the fix for security " -"`bpo-19435 `__. Patch by Zach Byrne." -msgstr "" - -#: ../../../build/NEWS:29387 -msgid "" -"`bpo-22733 `__: Fix ffi_prep_args not " -"zero-extending argument values correctly on 64-bit Windows." -msgstr "" - -#: ../../../build/NEWS:29390 -msgid "" -"`bpo-23302 `__: Default to TCP_NODELAY=1 " -"upon establishing an HTTPConnection. Removed use of hard-coded MSS as it's " -"an optimization that's no longer needed with Nagle disabled." -msgstr "" - -#: ../../../build/NEWS:29397 -msgid "" -"`bpo-20577 `__: Configuration of the max " -"line length for the FormatParagraph extension has been moved from the " -"General tab of the Idle preferences dialog to the FormatParagraph tab of the " -"Config Extensions dialog. Patch by Tal Einat." -msgstr "" - -#: ../../../build/NEWS:29402 -msgid "" -"`bpo-16893 `__: Update Idle doc chapter " -"to match current Idle and add new information." -msgstr "" - -#: ../../../build/NEWS:29405 -msgid "" -"`bpo-3068 `__: Add Idle extension " -"configuration dialog to Options menu. Changes are written to HOME/.idlerc/" -"config-extensions.cfg. Original patch by Tal Einat." -msgstr "" - -#: ../../../build/NEWS:29409 -msgid "" -"`bpo-16233 `__: A module browser (File : " -"Class Browser, Alt+C) requires an editor window with a filename. When Class " -"Browser is requested otherwise, from a shell, output window, or 'Untitled' " -"editor, Idle no longer displays an error box. It now pops up an Open Module " -"box (Alt+M). If a valid name is entered and a module is opened, a " -"corresponding browser is also opened." -msgstr "" - -#: ../../../build/NEWS:29415 -msgid "" -"`bpo-4832 `__: Save As to type Python " -"files automatically adds .py to the name you enter (even if your system does " -"not display it). Some systems automatically add .txt when type is Text " -"files." -msgstr "" - -#: ../../../build/NEWS:29419 -msgid "" -"`bpo-21986 `__: Code objects are not " -"normally pickled by the pickle module. To match this, they are no longer " -"pickled when running under Idle." -msgstr "" - -#: ../../../build/NEWS:29422 -msgid "" -"`bpo-17390 `__: Adjust Editor window " -"title; remove 'Python', move version to end." -msgstr "" - -#: ../../../build/NEWS:29425 -msgid "" -"`bpo-14105 `__: Idle debugger " -"breakpoints no longer disappear when inserting or deleting lines." -msgstr "" - -#: ../../../build/NEWS:29428 -msgid "" -"`bpo-17172 `__: Turtledemo can now be " -"run from Idle. Currently, the entry is on the Help menu, but it may move to " -"Run. Patch by Ramchandra Apt and Lita Cho." -msgstr "" - -#: ../../../build/NEWS:29432 -msgid "" -"`bpo-21765 `__: Add support for non-" -"ascii identifiers to HyperParser." -msgstr "" - -#: ../../../build/NEWS:29434 -msgid "" -"`bpo-21940 `__: Add unittest for " -"WidgetRedirector. Initial patch by Saimadhav Heblikar." -msgstr "" - -#: ../../../build/NEWS:29437 -msgid "" -"`bpo-18592 `__: Add unittest for " -"SearchDialogBase. Patch by Phil Webster." -msgstr "" - -#: ../../../build/NEWS:29439 -msgid "" -"`bpo-21694 `__: Add unittest for " -"ParenMatch. Patch by Saimadhav Heblikar." -msgstr "" - -#: ../../../build/NEWS:29441 -msgid "" -"`bpo-21686 `__: add unittest for " -"HyperParser. Original patch by Saimadhav Heblikar." -msgstr "" - -#: ../../../build/NEWS:29444 -msgid "" -"`bpo-12387 `__: Add missing " -"upper(lower)case versions of default Windows key bindings for Idle so Caps " -"Lock does not disable them. Patch by Roger Serwy." -msgstr "" - -#: ../../../build/NEWS:29448 -msgid "" -"`bpo-21695 `__: Closing a Find-in-files " -"output window while the search is still in progress no longer closes Idle." -msgstr "" - -#: ../../../build/NEWS:29451 -msgid "" -"`bpo-18910 `__: Add unittest for " -"textView. Patch by Phil Webster." -msgstr "" - -#: ../../../build/NEWS:29453 -msgid "" -"`bpo-18292 `__: Add unittest for " -"AutoExpand. Patch by Saihadhav Heblikar." -msgstr "" - -#: ../../../build/NEWS:29455 -msgid "" -"`bpo-18409 `__: Add unittest for " -"AutoComplete. Patch by Phil Webster." -msgstr "" - -#: ../../../build/NEWS:29457 -msgid "" -"`bpo-21477 `__: htest.py - Improve " -"framework, complete set of tests. Patches by Saimadhav Heblikar" -msgstr "" - -#: ../../../build/NEWS:29460 -msgid "" -"`bpo-18104 `__: Add idlelib/idle_test/" -"htest.py with a few sample tests to begin consolidating and improving human-" -"validated tests of Idle. Change other files as needed to work with htest. " -"Running the module as __main__ runs all tests." -msgstr "" - -#: ../../../build/NEWS:29465 -msgid "" -"`bpo-21139 `__: Change default paragraph " -"width to 72, the :pep:`8` recommendation." -msgstr "" - -#: ../../../build/NEWS:29468 -msgid "" -"`bpo-21284 `__: Paragraph reformat test " -"passes after user changes reformat width." -msgstr "" - -#: ../../../build/NEWS:29471 -msgid "" -"`bpo-17654 `__: Ensure IDLE menus are " -"customized properly on OS X for non-framework builds and for all variants of " -"Tk." -msgstr "" - -#: ../../../build/NEWS:29474 -msgid "" -"`bpo-23180 `__: Rename IDLE \"Windows\" " -"menu item to \"Window\". Patch by Al Sweigart." -msgstr "" - -#: ../../../build/NEWS:29480 -msgid "" -"`bpo-15506 `__: Use standard " -"PKG_PROG_PKG_CONFIG autoconf macro in the configure script." -msgstr "" - -#: ../../../build/NEWS:29483 -msgid "" -"`bpo-22935 `__: Allow the ssl module to " -"be compiled if openssl doesn't support SSL 3." -msgstr "" - -#: ../../../build/NEWS:29486 -msgid "" -"`bpo-22592 `__: Drop support of the " -"Borland C compiler to build Python. The distutils module still supports it " -"to build extensions." -msgstr "" - -#: ../../../build/NEWS:29489 -msgid "" -"`bpo-22591 `__: Drop support of MS-DOS, " -"especially of the DJGPP compiler (MS-DOS port of GCC)." -msgstr "" - -#: ../../../build/NEWS:29492 -msgid "" -"`bpo-16537 `__: Check whether self." -"extensions is empty in setup.py. Patch by Jonathan Hosmer." -msgstr "" - -#: ../../../build/NEWS:29495 -msgid "" -"`bpo-22359 `__: Remove incorrect uses of " -"recursive make. Patch by Jonas Wagner." -msgstr "" - -#: ../../../build/NEWS:29498 -msgid "" -"`bpo-21958 `__: Define HAVE_ROUND when " -"building with Visual Studio 2013 and above. Patch by Zachary Turner." -msgstr "" - -#: ../../../build/NEWS:29501 -msgid "" -"`bpo-18093 `__: the programs that embed " -"the CPython runtime are now in a separate \"Programs\" directory, rather " -"than being kept in the Modules directory." -msgstr "" - -#: ../../../build/NEWS:29505 -msgid "" -"`bpo-15759 `__: \"make suspicious\", " -"\"make linkcheck\" and \"make doctest\" in Doc/ now display special message " -"when and only when there are failures." -msgstr "" - -#: ../../../build/NEWS:29508 -msgid "" -"`bpo-21141 `__: The Windows build " -"process no longer attempts to find Perl, instead relying on OpenSSL source " -"being configured and ready to build. The ``PCbuild\\build_ssl.py`` script " -"has been re-written and re-named to ``PCbuild\\prepare_ssl.py``, and takes " -"care of configuring OpenSSL source for both 32 and 64 bit platforms. " -"OpenSSL sources obtained from svn.python.org will always be pre-configured " -"and ready to build." -msgstr "" - -#: ../../../build/NEWS:29515 -msgid "" -"`bpo-21037 `__: Add a build option to " -"enable AddressSanitizer support." -msgstr "" - -#: ../../../build/NEWS:29517 -msgid "" -"`bpo-19962 `__: The Windows build " -"process now creates \"python.bat\" in the root of the source tree, which " -"passes all arguments through to the most recently built interpreter." -msgstr "" - -#: ../../../build/NEWS:29521 -msgid "" -"`bpo-21285 `__: Refactor and fix curses " -"configure check to always search in a ncursesw directory." -msgstr "" - -#: ../../../build/NEWS:29524 -msgid "" -"`bpo-15234 `__: For BerkeleyDB and " -"Sqlite, only add the found library and include directories if they aren't " -"already being searched. This avoids an explicit runtime library dependency." -msgstr "" - -#: ../../../build/NEWS:29528 -msgid "" -"`bpo-17861 `__: Tools/scripts/" -"generate_opcode_h.py automatically regenerates Include/opcode.h from Lib/" -"opcode.py if the latter gets any change." -msgstr "" - -#: ../../../build/NEWS:29531 -msgid "" -"`bpo-20644 `__: OS X installer build " -"support for documentation build changes in 3.4.1: assume externally supplied " -"sphinx-build is available in /usr/bin." -msgstr "" - -#: ../../../build/NEWS:29534 -msgid "" -"`bpo-20022 `__: Eliminate use of " -"deprecated bundlebuilder in OS X builds." -msgstr "" - -#: ../../../build/NEWS:29536 -msgid "" -"`bpo-15968 `__: Incorporated Tcl, Tk, " -"and Tix builds into the Windows build solution." -msgstr "" - -#: ../../../build/NEWS:29539 -msgid "" -"`bpo-17095 `__: Fix Modules/Setup " -"*shared* support." -msgstr "" - -#: ../../../build/NEWS:29541 -msgid "" -"`bpo-21811 `__: Anticipated fixes to " -"support OS X versions > 10.9." -msgstr "" - -#: ../../../build/NEWS:29543 -msgid "" -"`bpo-21166 `__: Prevent possible " -"segfaults and other random failures of python --generate-posix-vars in " -"pybuilddir.txt build target." -msgstr "" - -#: ../../../build/NEWS:29546 -msgid "" -"`bpo-18096 `__: Fix library order " -"returned by python-config." -msgstr "" - -#: ../../../build/NEWS:29548 -msgid "" -"`bpo-17219 `__: Add library build dir " -"for Python extension cross-builds." -msgstr "" - -#: ../../../build/NEWS:29550 -msgid "" -"`bpo-22919 `__: Windows build updated to " -"support VC 14.0 (Visual Studio 2015), which will be used for the official " -"release." -msgstr "" - -#: ../../../build/NEWS:29553 -msgid "" -"`bpo-21236 `__: Build _msi.pyd with " -"cabinet.lib instead of fci.lib" -msgstr "" - -#: ../../../build/NEWS:29555 -msgid "" -"`bpo-17128 `__: Use private version of " -"OpenSSL for OS X 10.5+ installer." -msgstr "" - -#: ../../../build/NEWS:29560 -msgid "" -"`bpo-14203 `__: Remove obsolete support " -"for view==NULL in PyBuffer_FillInfo(), bytearray_getbuffer(), " -"bytesiobuf_getbuffer() and array_buffer_getbuf(). All functions now raise " -"BufferError in that case." -msgstr "" - -#: ../../../build/NEWS:29564 -msgid "" -"`bpo-22445 `__: PyBuffer_IsContiguous() " -"now implements precise contiguity tests, compatible with NumPy's " -"NPY_RELAXED_STRIDES_CHECKING compilation flag. Previously the function " -"reported false negatives for corner cases." -msgstr "" - -#: ../../../build/NEWS:29568 -msgid "" -"`bpo-22079 `__: PyType_Ready() now " -"checks that statically allocated type has no dynamically allocated bases." -msgstr "" - -#: ../../../build/NEWS:29571 -msgid "" -"`bpo-22453 `__: Removed non-documented " -"macro PyObject_REPR()." -msgstr "" - -#: ../../../build/NEWS:29573 -msgid "" -"`bpo-18395 `__: Rename " -"``_Py_char2wchar()`` to :c:func:`Py_DecodeLocale`, rename " -"``_Py_wchar2char()`` to :c:func:`Py_EncodeLocale`, and document these " -"functions." -msgstr "" - -#: ../../../build/NEWS:29577 -msgid "" -"`bpo-21233 `__: Add new C functions: " -"PyMem_RawCalloc(), PyMem_Calloc(), PyObject_Calloc(), _PyObject_GC_Calloc(). " -"bytes(int) is now using ``calloc()`` instead of ``malloc()`` for large " -"objects which is faster and use less memory." -msgstr "" - -#: ../../../build/NEWS:29582 -msgid "" -"`bpo-20942 `__: " -"PyImport_ImportFrozenModuleObject() no longer sets __file__ to match what " -"importlib does; this affects _frozen_importlib as well as any module loaded " -"using imp.init_frozen()." -msgstr "" - -#: ../../../build/NEWS:29589 -msgid "" -"`bpo-19548 `__: Update the codecs module " -"documentation to better cover the distinction between text encodings and " -"other codecs, together with other clarifications. Patch by Martin Panter." -msgstr "" - -#: ../../../build/NEWS:29593 -msgid "" -"`bpo-22394 `__: Doc/Makefile now " -"supports ``make venv PYTHON=../python`` to create a venv for generating the " -"documentation, e.g., ``make html PYTHON=venv/bin/python3``." -msgstr "" - -#: ../../../build/NEWS:29597 -msgid "" -"`bpo-21514 `__: The documentation of the " -"json module now refers to new JSON RFC 7159 instead of obsoleted RFC 4627." -msgstr "" - -#: ../../../build/NEWS:29600 -msgid "" -"`bpo-21777 `__: The binary sequence " -"methods on bytes and bytearray are now documented explicitly, rather than " -"assuming users will be able to derive the expected behaviour from the " -"behaviour of the corresponding str methods." -msgstr "" - -#: ../../../build/NEWS:29605 -msgid "" -"`bpo-6916 `__: undocument deprecated " -"asynchat.fifo class." -msgstr "" - -#: ../../../build/NEWS:29607 -msgid "" -"`bpo-17386 `__: Expanded functionality " -"of the ``Doc/make.bat`` script to make it much more comparable to ``Doc/" -"Makefile``." -msgstr "" - -#: ../../../build/NEWS:29610 -msgid "" -"`bpo-21312 `__: Update the thread_foobar." -"h template file to include newer threading APIs. Patch by Jack McCracken." -msgstr "" - -#: ../../../build/NEWS:29613 -msgid "" -"`bpo-21043 `__: Remove the " -"recommendation for specific CA organizations and to mention the ability to " -"load the OS certificates." -msgstr "" - -#: ../../../build/NEWS:29616 -msgid "" -"`bpo-20765 `__: Add missing " -"documentation for PurePath.with_name() and PurePath.with_suffix()." -msgstr "" - -#: ../../../build/NEWS:29619 -msgid "" -"`bpo-19407 `__: New package installation " -"and distribution guides based on the Python Packaging Authority tools. " -"Existing guides have been retained as legacy links from the distutils docs, " -"as they still contain some required reference material for tool developers " -"that isn't recorded anywhere else." -msgstr "" - -#: ../../../build/NEWS:29624 -msgid "" -"`bpo-19697 `__: Document cases where " -"__main__.__spec__ is None." -msgstr "" - -#: ../../../build/NEWS:29629 -msgid "" -"`bpo-18982 `__: Add tests for CLI of the " -"calendar module." -msgstr "" - -#: ../../../build/NEWS:29631 -msgid "" -"`bpo-19548 `__: Added some additional " -"checks to test_codecs to ensure that statements in the updated documentation " -"remain accurate. Patch by Martin Panter." -msgstr "" - -#: ../../../build/NEWS:29635 -msgid "" -"`bpo-22838 `__: All test_re tests now " -"work with unittest test discovery." -msgstr "" - -#: ../../../build/NEWS:29637 -msgid "" -"`bpo-22173 `__: Update lib2to3 tests to " -"use unittest test discovery." -msgstr "" - -#: ../../../build/NEWS:29639 -msgid "" -"`bpo-16000 `__: Convert test_curses to " -"use unittest." -msgstr "" - -#: ../../../build/NEWS:29641 -msgid "" -"`bpo-21456 `__: Skip two tests in " -"test_urllib2net.py if _ssl module not present. Patch by Remi Pointel." -msgstr "" - -#: ../../../build/NEWS:29644 -msgid "" -"`bpo-20746 `__: Fix test_pdb to run in " -"refleak mode (-R). Patch by Xavier de Gaye." -msgstr "" - -#: ../../../build/NEWS:29647 -msgid "" -"`bpo-22060 `__: test_ctypes has been " -"somewhat cleaned up and simplified; it now uses unittest test discovery to " -"find its tests." -msgstr "" - -#: ../../../build/NEWS:29650 -msgid "" -"`bpo-22104 `__: regrtest.py no longer " -"holds a reference to the suite of tests loaded from test modules that don't " -"define test_main()." -msgstr "" - -#: ../../../build/NEWS:29653 -msgid "" -"`bpo-22111 `__: Assorted cleanups in " -"test_imaplib. Patch by Milan Oberkirch." -msgstr "" - -#: ../../../build/NEWS:29655 -msgid "" -"`bpo-22002 `__: Added " -"``load_package_tests`` function to test.support and used it to implement/" -"augment test discovery in test_asyncio, test_email, test_importlib, " -"test_json, and test_tools." -msgstr "" - -#: ../../../build/NEWS:29659 -msgid "" -"`bpo-21976 `__: Fix test_ssl to accept " -"LibreSSL version strings. Thanks to William Orr." -msgstr "" - -#: ../../../build/NEWS:29662 -msgid "" -"`bpo-21918 `__: Converted test_tools " -"from a module to a package containing separate test files for each tested " -"script." -msgstr "" - -#: ../../../build/NEWS:29665 -msgid "" -"`bpo-9554 `__: Use modern unittest " -"features in test_argparse. Initial patch by Denver Coneybeare and Radu " -"Voicilas." -msgstr "" - -#: ../../../build/NEWS:29668 -msgid "" -"`bpo-20155 `__: Changed HTTP method " -"names in failing tests in test_httpservers so that packet filtering software " -"(specifically Windows Base Filtering Engine) does not interfere with the " -"transaction semantics expected by the tests." -msgstr "" - -#: ../../../build/NEWS:29673 -msgid "" -"`bpo-19493 `__: Refactored the ctypes " -"test package to skip tests explicitly rather than silently." -msgstr "" - -#: ../../../build/NEWS:29676 -msgid "" -"`bpo-18492 `__: All resources are now " -"allowed when tests are not run by regrtest.py." -msgstr "" - -#: ../../../build/NEWS:29679 -msgid "" -"`bpo-21634 `__: Fix pystone micro-" -"benchmark: use floor division instead of true division to benchmark integers " -"instead of floating point numbers. Set pystone version to 1.2. Patch written " -"by Lennart Regebro." -msgstr "" - -#: ../../../build/NEWS:29683 -msgid "" -"`bpo-21605 `__: Added tests for Tkinter " -"images." -msgstr "" - -#: ../../../build/NEWS:29685 -msgid "" -"`bpo-21493 `__: Added test for ntpath." -"expanduser(). Original patch by Claudiu Popa." -msgstr "" - -#: ../../../build/NEWS:29688 -msgid "" -"`bpo-19925 `__: Added tests for the spwd " -"module. Original patch by Vajrasky Kok." -msgstr "" - -#: ../../../build/NEWS:29691 -msgid "" -"`bpo-21522 `__: Added Tkinter tests for " -"Listbox.itemconfigure(), PanedWindow.paneconfigure(), and Menu." -"entryconfigure()." -msgstr "" - -#: ../../../build/NEWS:29694 -msgid "" -"`bpo-17756 `__: Fix test_code test when " -"run from the installed location." -msgstr "" - -#: ../../../build/NEWS:29696 -msgid "" -"`bpo-17752 `__: Fix distutils tests when " -"run from the installed location." -msgstr "" - -#: ../../../build/NEWS:29698 -msgid "" -"`bpo-18604 `__: Consolidated checks for " -"GUI availability. All platforms now at least check whether Tk can be " -"instantiated when the GUI resource is requested." -msgstr "" - -#: ../../../build/NEWS:29702 -msgid "" -"`bpo-21275 `__: Fix a socket test on " -"KFreeBSD." -msgstr "" - -#: ../../../build/NEWS:29704 -msgid "" -"`bpo-21223 `__: Pass test_site/" -"test_startup_imports when some of the extensions are built as builtins." -msgstr "" - -#: ../../../build/NEWS:29707 -msgid "" -"`bpo-20635 `__: Added tests for Tk " -"geometry managers." -msgstr "" - -#: ../../../build/NEWS:29709 -msgid "Add test case for freeze." -msgstr "" - -#: ../../../build/NEWS:29711 -msgid "" -"`bpo-20743 `__: Fix a reference leak in " -"test_tcl." -msgstr "" - -#: ../../../build/NEWS:29713 -msgid "" -"`bpo-21097 `__: Move test_namespace_pkgs " -"into test_importlib." -msgstr "" - -#: ../../../build/NEWS:29715 -msgid "" -"`bpo-21503 `__: Use test_both() " -"consistently in test_importlib." -msgstr "" - -#: ../../../build/NEWS:29717 -msgid "" -"`bpo-20939 `__: Avoid various network " -"test failures due to new redirect of http://www.python.org/ to https://www." -"python.org: use http://www.example.com instead." -msgstr "" - -#: ../../../build/NEWS:29721 -msgid "" -"`bpo-20668 `__: asyncio tests no longer " -"rely on tests.txt file. (Patch by Vajrasky Kok)" -msgstr "" - -#: ../../../build/NEWS:29724 -msgid "" -"`bpo-21093 `__: Prevent failures of " -"ctypes test_macholib on OS X if a copy of libz exists in $HOME/lib or /usr/" -"local/lib." -msgstr "" - -#: ../../../build/NEWS:29727 -msgid "" -"`bpo-22770 `__: Prevent some Tk " -"segfaults on OS X when running gui tests." -msgstr "" - -#: ../../../build/NEWS:29729 -msgid "" -"`bpo-23211 `__: Workaround test_logging " -"failure on some OS X 10.6 systems." -msgstr "" - -#: ../../../build/NEWS:29731 -msgid "" -"`bpo-23345 `__: Prevent test_ssl " -"failures with large OpenSSL patch level values (like 0.9.8zc)." -msgstr "" - -#: ../../../build/NEWS:29737 -msgid "" -"`bpo-22314 `__: pydoc now works when the " -"LINES environment variable is set." -msgstr "" -"`bpo-22314 `__: O pydoc agora funciona " -"quando a variável de ambiente LINES está definida." - -#: ../../../build/NEWS:29739 -msgid "" -"`bpo-22615 `__: Argument Clinic now " -"supports the \"type\" argument for the int converter. This permits using the " -"int converter with enums and typedefs." -msgstr "" -"`bpo-22615 `__: Argument Clinic agora " -"suporta o argumento \"type\" para o conversor int. Isso permite o uso do " -"conversor int com enumerações e typedefs." - -#: ../../../build/NEWS:29742 -msgid "" -"`bpo-20076 `__: The makelocalealias.py " -"script no longer ignores UTF-8 mapping." -msgstr "" -"`bpo-20076 `__: O script makelocalealias." -"py não ignora mais o mapeamento UTF-8." - -#: ../../../build/NEWS:29744 -msgid "" -"`bpo-20079 `__: The makelocalealias.py " -"script now can parse the SUPPORTED file from glibc sources and supports " -"command line options for source paths." -msgstr "" -"`bpo-20079 `__: O script makelocalealias." -"py agora pode analisar o arquivo SUPPORTED a partir de fontes glibc e " -"suporta opções de linha de comando para caminhos de fontes." - -#: ../../../build/NEWS:29747 -msgid "" -"`bpo-22201 `__: Command-line interface " -"of the zipfile module now correctly extracts ZIP files with directory " -"entries. Patch by Ryan Wilson." -msgstr "" -"`bpo-22201 `__: A interface de linha de " -"comando do módulo zipfile agora extrai corretamente arquivos ZIP com " -"entradas de diretório. Patch de Ryan Wilson." - -#: ../../../build/NEWS:29750 -msgid "" -"`bpo-22120 `__: For functions using an " -"unsigned integer return converter, Argument Clinic now generates a cast to " -"that type for the comparison to -1 in the generated code. (This suppresses " -"a compilation warning.)" -msgstr "" -"`bpo-22120 `__: Para funções que usam um " -"conversor de retorno inteiro não assinado, a Argument Clinic agora gera uma " -"conversão para esse tipo para a comparação com -1 no código gerado. (Isso " -"suprime um aviso de compilação.)" - -#: ../../../build/NEWS:29754 -msgid "" -"`bpo-18974 `__: Tools/scripts/diff.py " -"now uses argparse instead of optparse." -msgstr "" -"`bpo-18974 `__: Tools/scripts/diff.py " -"agora usa argparse em vez de optparse." - -#: ../../../build/NEWS:29756 -msgid "" -"`bpo-21906 `__: Make Tools/scripts/" -"md5sum.py work in Python 3. Patch by Zachary Ware." -msgstr "" -"`bpo-21906 `__: Faz Tools/scripts/md5sum." -"py funcionar no Python 3. Patch de Zachary Ware." - -#: ../../../build/NEWS:29759 -msgid "" -"`bpo-21629 `__: Fix Argument Clinic's " -"\"--converters\" feature." -msgstr "" -"`bpo-21629 `__: Corrige o recurso \"--" -"converters\" do Argument Clinic." - -#: ../../../build/NEWS:29761 -msgid "Add support for ``yield from`` to 2to3." -msgstr "Adiciona suporte a ``yield from`` para 2to3." - -#: ../../../build/NEWS:29763 -msgid "Add support for the :pep:`465` matrix multiplication operator to 2to3." -msgstr "" -"Adiciona suporte ao operador de multiplicação de matriz :pep:`465` para 2to3." - -#: ../../../build/NEWS:29765 -msgid "" -"`bpo-16047 `__: Fix module exception " -"list and __file__ handling in freeze. Patch by Meador Inge." -msgstr "" -"`bpo-16047 `__: Corrige a lista de " -"exceções de módulos e manipulação de __file__ no freeze. Patch de Meador " -"Inge." - -#: ../../../build/NEWS:29768 -msgid "" -"`bpo-11824 `__: Consider ABI tags in " -"freeze. Patch by Meador Inge." -msgstr "" -"`bpo-11824 `__: Considera as tags ABI em " -"freeze. Patch de Meador Inge." - -#: ../../../build/NEWS:29770 -msgid "" -"`bpo-20535 `__: PYTHONWARNING no longer " -"affects the run_tests.py script. Patch by Arfrever Frehtes Taifersar " -"Arahesis." -msgstr "" -"`bpo-20535 `__: PYTHONWARNING não mais " -"afeta o script run_tests.py. Patch de Arfrever Frehtes Taifersar Arahesis." - -#: ../../../build/NEWS:29776 -msgid "" -"`bpo-23260 `__: Update Windows installer" -msgstr "" -"`bpo-23260 `__: Atualiza o instalador do " -"Windows" - -#: ../../../build/NEWS:29778 -msgid "" -"The bundled version of Tcl/Tk has been updated to 8.6.3. The most visible " -"result of this change is the addition of new native file dialogs when " -"running on Windows Vista or newer. See Tcl/Tk's TIP 432 for more " -"information. Also, this version of Tcl/Tk includes support for Windows 10." -msgstr "" -"A versão do pacote Tcl/Tk foi atualizada para 8.6.3. O resultado mais " -"visível dessa alteração é a adição de novas caixas de diálogo de arquivo " -"nativo ao executar no Windows Vista ou mais recente. Consulte o TIP 432 da " -"Tcl/Tk para obter mais informações. Além disso, esta versão do Tcl/Tk inclui " -"suporte ao Windows 10." - -#: ../../../build/NEWS:29784 -msgid "" -"`bpo-17896 `__: The Windows build " -"scripts now expect external library sources to be in ``PCbuild\\.." -"\\externals`` rather than ``PCbuild\\..\\..``." -msgstr "" -"`bpo-17896 `__: Os scripts de compilação " -"do Windows agora esperam que as fontes externas da biblioteca estejam em " -"``PCbuild\\..\\externals`` em vez de ``PCbuild\\..\\..``." - -#: ../../../build/NEWS:29787 -msgid "" -"`bpo-17717 `__: The Windows build " -"scripts now use a copy of NASM pulled from svn.python.org to build OpenSSL." -msgstr "" -"`bpo-17717 `__: Os scripts de compilação " -"do Windows agora usam uma cópia do NASM extraída do svn.python.org para " -"compilar OpenSSL." - -#: ../../../build/NEWS:29790 -msgid "" -"`bpo-21907 `__: Improved the batch " -"scripts provided for building Python." -msgstr "" -"`bpo-21907 `__: Foram aprimorados os " -"scripts em lote fornecidos para a compilação do Python." - -#: ../../../build/NEWS:29792 -msgid "" -"`bpo-22644 `__: The bundled version of " -"OpenSSL has been updated to 1.0.1j." -msgstr "" -"`bpo-22644 `__: A versão empacotada do " -"OpenSSL foi atualizada para 1.0.1j." - -#: ../../../build/NEWS:29794 -msgid "" -"`bpo-10747 `__: Use versioned labels in " -"the Windows start menu. Patch by Olive Kilburn." -msgstr "" -"`bpo-10747 `__: Usa rótulos com versão " -"no menu Iniciar do Windows. Patch de Olive Kilburn." - -#: ../../../build/NEWS:29797 -msgid "" -"`bpo-22980 `__: .pyd files with a " -"version and platform tag (for example, \".cp35-win32.pyd\") will now be " -"loaded in preference to those without tags." -msgstr "" -"`bpo-22980 `__: Os arquivos .pyd com uma " -"tag de versão e plataforma (por exemplo, \".cp35-win32.pyd\") agora serão " -"carregados preferencialmente àqueles sem tags." - -#: ../../../build/NEWS:29801 -msgid "**(For information about older versions, consult the HISTORY file.)**" -msgstr "" -"**(Para informações sobre versões mais antigas, consulte o arquivo " -"HISTORY.)**" diff --git a/whatsnew/index.po b/whatsnew/index.po index 5270206d7..4ca77a85f 100644 --- a/whatsnew/index.po +++ b/whatsnew/index.po @@ -1,28 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, 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.10\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-06-29 12:56+0000\n" -"PO-Revision-Date: 2021-06-29 13:04+0000\n" -"Last-Translator: André Girol , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" +"POT-Creation-Date: 2025-09-22 21:19+0000\n" +"PO-Revision-Date: 2025-09-22 15:59+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-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" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" #: ../../whatsnew/index.rst:5 msgid "What's New in Python" @@ -34,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:34 msgid ""